Skip to content

[In Chinese] Functional Thursday #44

Photo of CindyLinz
Hosted By
CindyLinz and Greg W.
[In Chinese] Functional Thursday #44

Details

[19:30 ~ 19:45] 自由交流

[19:45 ~ 20:25] 藉設計實作元件圖設計程式, 示範 eDSL 與應用 monad 的設計與實作
by CindyLinz

前一陣子我作了一個用 declarative style description 來設計元件圖的工具程式, 事後覺得我設計實作的過程還蠻值得分享的 :p

首先我會先簡單介紹這個工具是什麼, 並且我希望它有怎樣的特質, 然後我設計一個可以符合這些特性的 eDSL (embeded domain specific language).

接下來實作的部分, 會從完全是應用的角度來看待 monad (完全不用數學!), 並且實作出符合自己需求的 monad. 純從實用/工程的觀點來體會為什麼有人也稱 monad 為「programmable semicolons」

為了講解方便, 這個程式依講的方式重寫過.. 講的過程會從簡單到複雜, 漸近式地逐步修改程式碼加進想要的效果~

我寫出這個工具以後回顧自己的程式碼, 發現我寫出了自己以前學 Haskell 時讀別人 library 原始碼, 一段我當時覺得很詭異很難理解的程式結構. 可是當自己從需求出發, 雖然沒有先預想到要寫出這種東西, 但是就很自然地寫出剛好一樣結構的東西了... 所以我猜, 這一個角度可能是一個好理解的角度, 而且這個方向剛好可以實用~~ 可以請大家一起來驗證一下它是不是真的好理解的角度 ^^ [20:25 ~ ] lightning talk & 自由交流

也歡迎大家來

https://funth.hackpad.com/Functional-Thursday-Topics-sGic3s4ncNn

填填看想投稿/想要聽的主題唷!

Photo of Functional Thursday group
Functional Thursday
See more events
Mozilla Space
台北市信義區信義路五段 106 號 4 樓 A-1 · Taipei