Haxe and Programming for Many Machines

The title sounds obvious. We always program for a machine! A program won’t run itself!

» Read More


Common Lisp Local Project Development with Quicklisp

Probably the cleanest way to do it: (pushnew (truename "/projects/app/") ql:*local-project-directories* ) (ql:register-local-projects) (ql:quickload :app) From Use Quicklisp to load personal projects from arbitrary locations. Alternatively, you can create a symlink in ~/quicklisp/local-projects/. » Read More


The Common Lisp Condition System

» Read More


Predictable Performance of OCaml's Module System

OCaml’s module system can be a powerful tool for building generic code and structuring systems. Functors are functions from modules to modules and they serve an important role for the power of module system. However, I want to know if functors (and the module system) can be optimized away by the OCaml compiler. » Read More


Going through the OCaml compiler pipeline (manually)

Modern compilers usually composed by multiple stages: parsers, optimizers, linkers, and assemblers. Let’s go through it one by one to have a better understanding of the OCaml compiler. » Read More


The journey of g0v.social

Slides for g0v summit 2020.

» Read More


A Taste of OCaml's Predictable Performance

eqaf, a constant-time compare function implementation in OCaml, is a great case to demonstrate the predictable performance of OCaml’s compiler. Why? » Read More


在 iPad 上布置軟體開發環境

五月買了 iPad Pro巧控鍵盤 後,大部分的需求 iPad Pro 都能直接滿足,除了寫程式以外。摸索了一陣子之後總算找到順手又省錢的寫程式方式了,這篇簡單記錄一下。

» Read More


Concurrency in Clojure, Racket, and Gerbil Scheme

» Read More


On Communication

Reading List.

» Read More