« Home

Rakka 使用初體驗 [GMYW]

最近發現 racket 生態系裡面出現一個 Rakka 程式庫,它似乎把 Erlang 大部分一階抽象都做出來了,這是我個人想像很久的寫法,所以我當然很有興趣去嘗試。我的第一個實驗是針對的 sauron 內部程式庫 collector 進行重構。collector 原本就是模仿 Erlang 的訊息傳遞方式來抽象,使用 rakka 之後,我直接把這些抽象邏輯寫成 GenServer 的形式。結果發現效果非常不錯

  1. 程式碼數量減少:collector 的程式碼量變成原來的大約三分之二。
  2. 維護性提升:整體結構變得更好維護。

所以之後遇到類似的需求,我就會考慮使用 rakka 處理,我就不用再寫處理訊息傳遞風格的樣板式重複程式碼了。而且它還實現了 EPMD protocol,可以跟其他 node 互動。