[Seminar] "Marco: Safe, Expressive Macros for Any Language"
소프트웨어무결점연구센터에서 다음과 같이 세미나를 개최합니다. 관심있는 분들의 많은 참여 부탁드립니다.연사와 별도로 약속을 가지고 싶으신 분은 연락주시기 바랍니다.
ROSAEC center will host the following seminar, welcoming everyone who is interested. If you want to set-up a separate meeting with the speaker, please let us know.
Macros improve expressiveness, concision, abstraction, and language interoperability without changing the programming language itself. They are indispensable for building increasingly prevalent multilingual applications. Unfortunately, existing macro systems are well-encapsulated but unsafe (e.g., the C preprocessor) or are safe but tightly-integrated with the language implementation (e.g., Scheme macros). This talk presents Marco, the first macro system that seeks both encapsulation and safety. Marco is based on the observation that the macro system need not know all the syntactic and semantic rules of the target language but must only directly enforce some rules, such as variable name binding. Using this observation, Marco off-loads most rule checking to unmodified target-language compilers and interpreters and thus becomes language-scalable. We describe the Marco language, its language-independent safety analysis, and how it uses two example target-language analysis plug-ins, one for C++ and one for SQL. This approach opens the door to safe and expressive macros for any language.
Byeongcheol Lee received a Ph.D. degree in Computer Science and an M.A. degree in Computer Sciences from the University of Texas at Austin in 2011 and 2006. Prior to joining the University of Texas at Austin, he received a B.E. in Electronic and Electrical Engineering and another B.E. in Computer Science Engineering from POSTECH in 2004. His honors include four POSTECH Honor Scholarships (2003-2004), an IT Scholarship (2004), a Verizon Fellowship (2005), a Samsung Scholarship (2006), and a Graduate Dean's Prestigious Scholarship (2008). His research interests are language interoperability, dynamic analysis, dynamic optimization, and programming tools. For more information, please visit http://rsl.gist.ac.kr/~bclee.
Contact: Kwangkeun Yi(이광근 교수), x1857(02 880 1857)