These are public posts tagged with #lisp. You can interact with them if you have an account anywhere in the fediverse.
編譯 Lisp:Lambda Lifting
➤ Python 實踐 Lisp 編譯的 Lambda Lifting 藝術
✤ https://bernsteinbear.com/blog/compiling-a-lisp-12/
本文作者 Max Bernstein 分享了他使用 Python 重寫 Lisp 編譯器中 Lambda Lifting 階段的經驗。他詳細說明瞭如何追蹤變數綁定、自由變數,並將 Lambda 表達式轉換為可執行的程式碼物件,最終生成 Closure。作者強調了測試的重要性,並透過範例程式碼與測試案例,展示了從基本資料型別、變數、if 語句到 lambda 和 let 的處理過程。
+ 看到用 Python 重寫 C 版本,而且程式碼更簡潔,真是太棒了!作者的解釋和範例都很清晰,對理解 Lambda Lifting 的過程非常有幫助。
+ 這個關於 Lambda Lifting 的教學太有價值了!作者對於處理變數綁定和自由變數的細節解釋得很透徹,特別是 lambda 轉換成 clo
#編譯器 #Lisp #Lambda Lifting #Python
first – previous
Max Bernstein@interlisp I've been using the SEdit structure editor of Medley Interlisp for the past couple of years and I'm now more fluent with keyboard and mouse gestures, which work very well together to efficiently manipulate Lisp code.
The lack of support for cursor keys and keyboard navigation doesn't get in the way of editing. In addition to quick mouse gestures, the most common cases of cursor movement are handled by other keys such as )
for moving outside and Backspace
for moving inside a list.
Lem news: new webview frontend and nightly AppImage builds for Linux x86-64
General-purpose editor/IDE with high expansibility…
GitHubhttps://toobnix.org/w/9BR6mZAhRv5iJNS6P5fnNv
#bookstodon #snowCrash #scifi #bookreview sharpsign off the cuff and tired #lisp what are the odds I won't talk about lisp. #peertube #live
sharpsign
@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
Can you get a job where you just hack on Emacs lisp all the time?
I've been doing nothing useful at all for the 1st 3 hours of this holy Saturday, but I've had 5 (6?) cups of coffee and have fiddled around with my Emacs config non-stop, and I feel insanely happy. Emacs and elisp is the best programming environment I've ever used.
An introduction to the usage and design of SEdit, the structure editor for Lisp code of Medley Interlisp:
https://files.interlisp.org/medley/docs/internal/sedit/old/intro.tedit.pdf
For more details on the usage and internals of SEdit see (especially code-editing.tedit.pdf):
Learn C with a Lisp - One reason Forth remains popular is that it is very simple to create, but also ver... - https://hackaday.com/2025/08/09/learn-c-with-a-lisp/ #softwaredevelopment #lisp #c
One reason Forth remains popular is that it is very…
Hackaday 函數單元格與值單元格:函數單元格與值單元格分離的技術問題
➤ 剖析 Common Lisp 的雙命名空間設計與其技術淵源
✤ https://dreamsongs.com/Separation.html
這篇文章深入探討了 Common Lisp 中函數單元格(function cells)與值單元格(value cells)分離所衍生的技術問題。作者詳細闡述了 Lisp 語言演進過程中,從早期的單一命名空間(Lisp1)轉向雙命名空間(Lisp2)的決策,以及這對程式設計產生的影響。文中定義了關鍵術語,例如函數、非函數、識別符、符號、變數、綁定、詞法變數、特殊變數、環境、子環境和命名空間,並具體說明瞭值命名空間和函數命名空間的差異及用途。作者藉由回顧 Lisp 1.5 的歷史,解釋了雙命名空間的起源,特別是編譯器和解釋器在處理變數時的不同機制,進而為理解 Common Lisp 的設計選擇提供了背景。
+ 這篇論文對於理解 Lisp 的底層機制非常有幫助,特別是關於函數和值的命名空間是如何區分的,對於 Lisp 開發者來說是必
#Lisp #編譯器 #命名空間 #程式語言設計
Lurk:用於 zk-SNARKs 的圖靈完備程式語言
➤ 探索 zk-SNARKs 的 Lisp 世界:Lurk 語言的技術剖析
✤ https://github.com/lurk-lab/lurk
本文介紹 Lurk,一款為 zk-SNARKs 量身打造的圖靈完備程式語言。Lurk 是 Lisp 的一個變種,繼承了 Scheme 和 Common Lisp 的特性,其獨特之處在於其程式碼的正確執行可以直接透過 SNARKs 來證明。這種證明不僅簡潔且驗證快速,還能確保資訊的安全性。此外,Lurk 作為 Lisp 的一部分,能將程式碼視為資料進行評估,並採用 SNARKs 相容的 Poseidon hash 來建構資料,使其具備內容定址的特性。目前 Lurk 尚處於發展階段(版本 0.5),強調其性能上的重大進步,並邀請使用者進行實驗,但尚未建議用於關鍵系統。
+ 這個語言聽起來很有趣,能將程式執行證明化,在密碼學和區塊鏈領域應用潛力巨大。
+ 雖然強調了性能提升,但作為一個仍在發展中的語言,用於關鍵系統可能還需要更多
#zk-SNARKs #程式語言 #Lisp #圖靈完備
Lurk is a Turing-complete programming language for…
GitHubGIMP Script-Fu ООП. Небольшой рефакторинг объектной системы. Изюминка всего проекта
Библиотека функций к Script-fu В принципе реализация представленная в файле obj4.scm и описанная ранее, меня вполне устраивала. Я реализовал там всё что хотел от объектной системы: определения классов и обобщённых функций, множественное наследование, статические поля класса. Но вот какое-то маленькое зёрнышко сомнения, мешало мене оставить этот проект. А всё ли я сделал для ускорения работы системы? И дело даже не в том, что какие то нехорошие люди из проекта GIMPа обрезали возможность для Script-fu загружать расширения, что не даёт возможности быстро рассчитать хеш-код символов(а то и вовсе заменить хеш-таблицы сишной реализацией). Нет. Для себя я спокойно перекомпилирую Script-fu и буду пользоваться всеми преимуществами предоставляемыми настоящей tinyscheme. Но что же можно сделать ещё, чтобы улучшить скорость работы ОО системы? А может и не только скорость.
Библиотека функций к Script-fu Введение В принципе…
ХабрWhy doesn't #FSharp have macros?!
I'm writing boilerplate which is a perfect fit at the moment. In #lisp, this would have been trivial, and I'd been done a long time ago.
Now I have to write *a lot* of noisy code, obstructing the main logic, increasing maintenance cost and potentially introducing bugs.
A plea to PL designers: Give users power! We're not always incredibly stupid trying to shoot ourselves in the foot!
@alcinnz #clojure. Had a lot of fun coding backend and frontend in the same language, saved a lot of time in implementation & struggling with newer syntax. #Lisp made functional programming digestible for me. Implemented my own web framework piecing together different libraries with a new glue. All of which I wouldn't have done with Python or Go. 10/10