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/.

<span title='2021-05-01 00:00:00 +0800 CST'>May 1, 2021</span>&nbsp;·&nbsp;poga

The Common Lisp Condition System

...

<span title='2021-04-25 00:00:00 +0800 CST'>April 25, 2021</span>&nbsp;·&nbsp;poga

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.

<span title='2020-12-19 00:00:00 +0800 CST'>December 19, 2020</span>&nbsp;·&nbsp;poga

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.

<span title='2020-11-30 00:00:00 +0800 CST'>November 30, 2020</span>&nbsp;·&nbsp;poga

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?

<span title='2020-11-21 00:00:00 +0800 CST'>November 21, 2020</span>&nbsp;·&nbsp;poga

在 iPad 上布置軟體開發環境

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

<span title='2020-08-01 00:00:00 +0800 CST'>August 1, 2020</span>&nbsp;·&nbsp;poga

Concurrency in Clojure, Racket, and Gerbil Scheme

<span title='2020-06-07 00:00:00 +0800 CST'>June 7, 2020</span>&nbsp;·&nbsp;poga

Domain Modeling Made Functional

Notes on the book Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F#. ...

<span title='2020-04-10 00:00:00 +0800 CST'>April 10, 2020</span>&nbsp;·&nbsp;poga

Zero Trust Network

Notes on the book Zero Trust Network. ...

<span title='2020-04-09 00:00:00 +0800 CST'>April 9, 2020</span>&nbsp;·&nbsp;poga

OCaml Quickstart

OCaml is a great language. However, the tooling for newbies is kinda confusing. Here’s a guide to setup a working OCaml development environment in neovim on MacOS. ...

<span title='2020-03-17 00:00:00 +0800 CST'>March 17, 2020</span>&nbsp;·&nbsp;poga