ocaml

  • 27th December 2014

Js_of_ocaml和Emscripten

在线编译器

使用了Js_of_ocaml和emscripten这两个工具把Caml Featherweight移植到了浏览器里:http://maskray.me/portfolio/caml-featherweight/。

…

Read more →
  • 24th December 2014

ML编译器Caml Featherweight——概览

索引

代码

编译器的设计和实现大量参考了 @Zinc 和Caml Light 0.75,因此取名Caml Featherweight了……实现方面更接近于 @Zinc ,Caml Light有些晦涩复杂的地方我换成自己乱想的实现了。

tl;dr的话可以直接读源码:https://github.com/MaskRay/CamlFeatherweight

…

Read more →
  • 24th December 2014

ML编译器Caml Featherweight——pretty printer

Read more →
  • 24th December 2014

ML编译器Caml Featherweight——垃圾收集

Read more →
  • 24th December 2014

ML编译器Caml Featherweight——设计

编译器的设计

编译器的设计和实现大量参考了 @Zinc。

…

Read more →
  • 24th December 2014

ML编译器Caml Featherweight——数据表示

Read more →
  • 24th December 2014

ML编译器Caml Featherweight——编译

Read more →
  • 24th December 2014

ML编译器Caml Featherweight——抽象机器

Read more →
  • 6th November 2014

Hackerrank FP Compilers题目

Read more →
  • 11th February 2012

Haskell学习笔记

机缘巧合,写了两个用到Parsec的Haskell程序。一个是Untyped lambda calculus,另一个是 po2db。adam8157对神器Pandoc大为赞赏,这也是Parsec的应用。Parsec 也有不少其他语言的复刻版,不过不少语言都缺乏Haskell自定义中缀操作符的功能,实现一个parser所写出来的代码可能会冗长很多。

…

Read more →