iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
Software Development

在 Neovim 中探索 Fennel 與函數式編程 系列

在 AI 時代,開發者需要思考新的開發範式:『AI 幫助我們快速生成 code ,但除錯與驗證仍需要開發者積極介入。』本系列文將從 Neovim + Fennel 切入,帶著讀者來進入「互動式開發」與「函數式編程」的新世界。

內容包含:
* Fennel 語言:語法、常用函式庫。
* Lisp 思維:S-expression 編輯、互動式開發 。
* 函數式編程:純函數、map/filter/reduce 等實務技巧。
* Neovim Plugin 開發:從簡單腳本到完整的 plugin。

讓我們在 AI 時代,一起探索更聰明、更優雅的程式開發之道。

參賽天數 23 天 | 共 23 篇文章 | 3 人訂閱 訂閱系列文 RSS系列文
DAY 1

序: AI 加速編碼後,你該學什麼?

Emacs 是一台 Lisp 機器,但偽裝成文字編輯器。 (Emacs 社群諺語) 身為一位 Clojure Programmer,我一直有個遺憾:Cloj...

2025-09-01 ‧ 由 Laurence Chen 分享
DAY 2

Fennel 簡史與開發環境

來聊聊 Fennel 的歷史吧,這是個跟創新有關的故事。 從個人到社群:Fennel 的誕生 這邊要談四位重要的人物,沒有他們就不會有這個系列文: Thiag...

2025-09-02 ‧ 由 Laurence Chen 分享
DAY 3

Fennel 語言速成—Lisp 語法

二十多年前,那時的電腦書書名很喜歡命名為《24 小時 C++》。當然,正如太陽餅裡不會有太陽、老婆餅裡不會有老婆,《24 小時 C++》很可能 24 小時都還讀...

2025-09-03 ‧ 由 Laurence Chen 分享
DAY 4

Fennel 語言速成—核心語法

那我們究竟如何用 Fennel 來做事呢?就像所有的高階語言一樣,我們至少需要: 函數 區域變數 數字與字串 容器 迴圈 迭代 條件判斷 函數 (fn pr...

2025-09-04 ‧ 由 Laurence Chen 分享
DAY 5

Fennel 語言速成—Lua

昨天已經討論過了 Fennel 的核心語法,那些已經可以寫一些純粹的資料轉換了。另一方面,真實世界的軟體開發,有很大一部分都是跟函式庫有關,所以我們接下來就要談...

2025-09-05 ‧ 由 Laurence Chen 分享
DAY 6

Fennel 語言速成—LuaRocks

在 day05 ,我們示範了如何用 require 來使用 Lua 的標準函式庫 io,你可能會想問,那如果是第三方模組呢? 這會需要先在電腦上安裝第三方模組,...

2025-09-06 ‧ 由 Laurence Chen 分享
DAY 7

Fennel 語言速成—nfnl 函式庫

在 Fennel 的官方文件裡,有一段話: There's also a Cljlib library, that implements a lot of f...

2025-09-07 ‧ 由 Laurence Chen 分享
DAY 8

Lisp 深入淺出—互動式開發

之前在 day02 ,我們就先介紹過了 Lisp 、互動式開發還有 S 表達式編輯。接下來,我們要來更加深入探討 Lisp ,而本日的重點先放在互動式開發。 互...

2025-09-08 ‧ 由 Laurence Chen 分享
DAY 9

Lisp 深入淺出—S 表達式編輯

很多開發者開始認真寫 Lisp 不久,就深深感受到編輯括弧的不便。首先第一個問題:「這麼多括弧,該怎麼排版呢?」 不暪各位說,很多年我剛開始寫 Lisp 時,我...

2025-09-09 ‧ 由 Laurence Chen 分享
DAY 10

Lisp 深入淺出—Macro

對於 Lisp ,我有個看法繼承自 Clojure 社群: 開發應用軟體,要儘量少用 Lisp Macro 。 如果是 Common Lisp 社群的話,很...

2025-09-10 ‧ 由 Laurence Chen 分享