在捷運站看到不少人 cosplay 去動漫節呢

年輕真好

😳

啊啦

五年前自組的桌機變得有點難開機

電源開關要按很多下

雙北自組桌機維修有推薦的地方嗎?

「早餐店帥哥美女」是不是一種共同富裕的概念

.NET MAUI 放置好一陣子了

要學一大堆才能寫出東西

真懷念 VB6 無腦拉 GUI 的時代

我開暖氣

又開暖暖燈

這天氣對南部人真不友善 🙄

今天寫 .NET 遇到一個問題

原本在 PostgreSQL 沒問題的 conn.BeginTransactionAsync() 寫法在 SQL Server 會造成後面的查詢噴例外

查了一下改用 TransactionScope 就解決了

最後三天要工作了

還好前面七天有放空

原本想寫的 side project 只寫了大約 5%

想要開一間軟體公司

大家好好地把型別定義起來

結果沒賺錢倒閉

不管住哪社區群組都是管委會跟住戶在吵架

現在還有一堆人在群組借車位

🙄

現代電子書閱讀器翻頁的速度比我想像快耶

但是 HyRead Gaze X Plus 要價 16,800 我還是猶豫了

已經離開三樓 🤔

好啦準備出發

去三創、光華走走

不知道有沒有開

有沒有 programmer 共生公寓

可以一起接案

結果都在戰程式語言

回到 HN 的那篇回應。作者對 forth 應該有一定的瞭解,也提供 C 語言與虛擬碼的實作片斷,可惜對於一些 forth 的關鍵特性沒有太多著墨,程式碼也不夠完整到可以直接執行。這次定下來的方向是以那篇回應為基礎框架,補充一些我覺得重要的說明,並且把程式碼補足到可以實際運作就好。

全文以一個簡單的計算機作為起點,透過幾次小幅度擴充發展出具體而微的程式語言解譯器。我個人還蠻喜歡這種作法的。整個實作可以分成五個階段:
1. RPN 計算機
2. 解譯器
3. 編譯器
4. 流程控制
5. 最佳化

這次主要指示想補充一些實作 forth 時需要注意的地方而已,因此最佳化的部分就跳過了。

實作 RPN 計算機並不難,方法也很多,所以這裡的重點會著重在建構手法,只要一開始就當作 forth 在實作,後面每個階段都只需要堆疊一點程式碼就能增加新功能。從目前準備好的程式碼來看,每次核心變更大概都不超過 20 行,只要這麼一點調整就能獲得編譯器的開發工具應該不多。雖然最後還不算是完整的 forth,但是作為 forth 發展手法的展示來說應該是足夠了。

顯示討論串

今年的作文題目是年假前決定的,準備寫一點實作 forth 的介紹。起初是上個月在 HN 看到的一篇回應:

news.ycombinator.com/item?id=1

沒想到有人用幾個回應建構出一個 forth 的雛形,看了有點手癢;再來就是黃大一博士的消息,想起小時候看的 F83 入門有點懷念。所以就這麼定下來了。過去嘗試幾次整理實作 forth 的文章,但一直都沒有成功寫完過... 就像實作 monad 的文章一樣,我一直覺得玩 forth 的人不管實作過幾套 forth,至少也該寫過一篇 forth 實作的文章才算圓滿XD

用傳統方法來實作 forth 其實是一種有趣的體驗。哪怕這輩子根本不會再有機會使用 forth,也絕對值得走上一遭,親自體驗一下為什麼玩 forth 的人老是在說這東西不是程式語言,老是排斥用高階語言實作 forth... 以及為什麼玩 forth 的人到最後變得只會實作 forth。

#forth #自己満足

顯示較舊嘟文
g0v.social

去中心化社群架設的去中心化社群網站。宇宙小酒館。請遵守社群守則 https://g0v.social/about/more Our mantra: https://devpoga.org/blog/2023-01-22_mantra_g0v_social/