veganism.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
Veganism Social is a welcoming space on the internet for vegans to connect and engage with the broader decentralized social media community.

Administered by:

Server stats:

293
active users

#lisp

32 posts29 participants2 posts today

🌘 編譯 Lisp:Lambda Lifting
➤ Python 實踐 Lisp 編譯的 Lambda Lifting 藝術
bernsteinbear.com/blog/compili
本文作者 Max Bernstein 分享了他使用 Python 重寫 Lisp 編譯器中 Lambda Lifting 階段的經驗。他詳細說明瞭如何追蹤變數綁定、自由變數,並將 Lambda 表達式轉換為可執行的程式碼物件,最終生成 Closure。作者強調了測試的重要性,並透過範例程式碼與測試案例,展示了從基本資料型別、變數、if 語句到 lambda 和 let 的處理過程。
+ 看到用 Python 重寫 C 版本,而且程式碼更簡潔,真是太棒了!作者的解釋和範例都很清晰,對理解 Lambda Lifting 的過程非常有幫助。
+ 這個關於 Lambda Lifting 的教學太有價值了!作者對於處理變數綁定和自由變數的細節解釋得很透徹,特別是 lambda 轉換成 clo
#編譯器 #Lisp #Lambda Lifting #Python

Max Bernstein · Compiling a Lisp: Closure conversion
More from Max B

So, ever felt that unease about unnecessary parentheses in Lisps in where they seemed obvious? Never liked indentation-based syntaxes, because they require tedious indentation management? Always wanted to stay in #Lisp land, without adding some preprocessors and unnecessary #compilation steps? I've got you covered with these ten lines of a #CommonLisp reader macro:

(defun slash-reader (stream char arg)
(declare (ignorable char arg))
(let ((eof-val (gensym "EOF")))
(loop for form = (handler-case
(read stream nil eof-val)
(reader-error ()
(unread-char #\) stream)
eof-val))
until (equal eof-val form)
collect form)))

(set-dispatch-macro-character
#\# #\/ #'slash-reader)

(defun memqual-string (item strs)
(member item strs
:test #/ lambda (a b) #/ ignore-errors #/ string-equal a b))

;; (DEFUN MEMQUAL-STRING (ITEM STRS)
;; (MEMBER ITEM STRS
;; :TEST (LAMBDA (A B) (IGNORE-ERRORS (STRING-EQUAL A B)))))

messing with McCLIM again.

I'm thinking of turning my org-mode app into a stand alone application using McCLIM

I made a system to keep track of media that I watched. I figure I could change into an application instead.

How I got the list of watch items is in one big table in sqlite.
#lisp

Replied in thread

@rafa thanks for your shoutout ❤️ your kind words are much appreciated, lots of hours of work and love went into creating and perfecting #sss and hacking in #guix , #guile #scheme and #emacs #lisp to achieve it. Let me know if I can help you somewhere and contributions, improvements to the project are always welcome 👍 enjoy this journey, and with some time Emacs might start feeling like and extension to you, with the REPL too 😊 #hyprland is nice indeed