精華區beta PLT 關於我們 聯絡資訊
這週四 10.1 晚上 19:30 http://www.meetup.com/Functional-Thursday/events/225176689/ 主題: Embedding and optimizing domain-specific languages in the typed final style [英文] 講者: Oleg Kiselyov http://okmij.org/ftp/ ( 這個是別人對 Oleg 的印象圖 XD http://tinyurl.com/a77e6yu ) ( When Oleg shows a newbie how to solve a problem ) 以下是講者所提供的演講主題內容介紹~~ ^^ Typed final (aka, ``tagless-final'') style is a general method of embedding (typed, higher-order) domain-specific languages (DSL) in a typed functional language such as Haskell, OCaml, Scala and Coq. Once written, a DSL expression may be interpreted many times. Evaluator, compiler, partial evaluator, pretty-printer are all interpreters. At any time one may add more interpreters, and even more expression forms to the DSL while re-using the previous interpreters as they were. Only well-typed DSL terms are representable. Therefore, the type checker of the host language checks -- and even infers for us -- DSL types. It was recently discovered how to transform, simplify, and generally, optimize DSLs embedded in this style. The optimization rules are reusable, modular, composable, and type- and scope-preserving by construction. Using a familiar example of combinational circuits, this mini-tutorial will give an idea of the general framework for embedding and optimizing DSLs. The typed-final style has been successfully used in Haskell, OCaml, Scala and even to some extent in Java. The tutorial thus should be applicable across the modern functional programming languages. We'll use Haskell in this tutorial. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 112.121.78.5 ※ 文章網址: https://www.ptt.cc/bbs/PLT/M.1443371181.A.60F.html
suhorng: It's Oleg!!!! 09/29 13:36