作者CindyLinz (Cindy Wang)
看板PLT
標題[情報] Functional Thursday #30
時間Mon Sep 28 00:26:17 2015
這週四 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://webptt.com/m.aspx?n=bbs/PLT/M.1443371181.A.60F.html
1F:推 suhorng: It's Oleg!!!! 09/29 13:36