作者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/cn.aspx?n=bbs/PLT/M.1443371181.A.60F.html
1F:推 suhorng: It's Oleg!!!! 09/29 13:36