Back to the talks Previous by time: Making Org-Babel reactive Next by time: Emacs as a fully-fledged reference manager Track: Development - Watch

One year progress update Schemacs (formerly Gypsum)

Ramin Honary (he/him) - Pronunciation: "Rah-mean" (hard-H) "Ho-na-ree", Mastodon (preferred): ; blog: https://tilde.town/~ramin_hal9001; Codeberg: https://codeberg.org/ramin_hal9001/schemacs - SourceHut: https://sr.ht/~ramin_hal9001

The following image shows where the talk is in the schedule for Sat 2025-12-06. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.

Schedule for SaturdaySaturday 9:00- 9:10 Saturday opening remarkssat-open 9:10- 9:20 Making Org-Babel reactiveorg-babel 9:30- 9:50 Emacs as a fully-fledged reference managerreference10:10-10:30 org-gmail: A deep integration of Gmail into your Org Modegmail10:40-10:50 Studying foreign languages with Emacs, Org Mode and gptellanguages11:10-11:30 LaTeX export in org-mode: the overhaullatex 1:00- 1:20 An enhanced bibliography in org-mode for scientific research and self-directed learningbibliography 1:40- 1:50 Basic Calc functionality for engineering or electronicscalc 2:00- 2:10 How Emacs became my authoring playground—no Lisp requiredauthoring 2:30- 2:50 Blee-LCNT: An Emacs-centered content production and self-publication frameworkblee-lcnt 3:10- 3:20 GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existencegreader 3:30- 3:40 Org-mode GTD vs N-angulator GTDn-angulator 4:00- 4:10 Saturday closing remarkssat-close 9:30- 9:45 One year progress update Schemacs (formerly Gypsum)schemacs10:05-10:25 Juicemacs: Exploring Speculative JIT Compilation for ELisp in Javajuicemacs10:35-10:55 Swanky Python: Interactive development for Pythonswanky11:05-11:25 Interactive Python programming in Emacspython 1:00- 1:20 Emacs, editors, and LLM driven workflowsllm 1:40- 2:00 emacs-claude-code: Intelligent Claude Integration for Emacsclaude-code 2:10- 2:30 Emacs and private AI: a great matchprivate-ai 2:50- 3:10 Common Lisp images communicating like-a-human through shared Emacs slime and eevcommonlisp9 AM10 AM11 AM12 PM1 PM2 PM3 PM4 PM5 PM

Format: 15-min talk ; Q&A: BigBlueButton conference room https://media.emacsconf.org/2025/current/bbb-schemacs.html
Discuss on IRC: #emacsconf
Status: Waiting for video from speaker

Times in different time zones:
Saturday, Dec 6 2025, ~9:30 AM - 9:45 AM EST (US/Eastern)
which is the same as:
Saturday, Dec 6 2025, ~8:30 AM - 8:45 AM CST (US/Central)
Saturday, Dec 6 2025, ~7:30 AM - 7:45 AM MST (US/Mountain)
Saturday, Dec 6 2025, ~6:30 AM - 6:45 AM PST (US/Pacific)
Saturday, Dec 6 2025, ~2:30 PM - 2:45 PM UTC
Saturday, Dec 6 2025, ~3:30 PM - 3:45 PM CET (Europe/Paris)
Saturday, Dec 6 2025, ~4:30 PM - 4:45 PM EET (Europe/Athens)
Saturday, Dec 6 2025, ~8:00 PM - 8:15 PM IST (Asia/Kolkata)
Saturday, Dec 6 2025, ~10:30 PM - 10:45 PM +08 (Asia/Singapore)
Saturday, Dec 6 2025, ~11:30 PM - 11:45 PM JST (Asia/Tokyo)
Find out how to watch and participate

Description

During EmacsConf 2024 last year I presented my work on a clone of GNU Emacs written in Scheme which also clones the Emacs Lisp programming language. In this talk, I will briefly present an overview of the project similar to the talk I gave last year, and then discuss the progress that I have made on this project in the past year.

To quote the description from the presentation I gave last year:

Unlike other editors which only clone the Emacs keybindings (Edwin, Jed, jEdit, Jove, Lem, MG, Yi, Zile), I hope my Emacs clone will also fully clone the Emacs Lisp programming language well enough that many of the packages in ELPA, Non-GNU ELPA, and perhaps even MELPA, can be used in [Schemacs, formerly "Gypsum"] without any modification. I would also like to talk a little bit about how I am implementing it (the software architecture), and invite others to contribute.

I think my project is of interest to many Emacs users because, firstly, I have personally spoken with a relatively large number of people who have expressed interest in making Emacs programmable in Scheme. Secondly, there is a good amount of prior art for Scheme implementations of Emacs. There are even builds of Emacs that link to Guile which provides a "scheme-eval" built-in function that translates between Elisp data types and Scheme data types. The Guile compiler itself ships with an Emacs Lisp compiler as well, although it does not provide enough of Emacs's built-in functions to be of much use.

The progress I have made so far:

  • Ported all Guile-specific parts of the Emacs Lisp interpreter to fully standards-compliant R7RS Scheme code. The interpreter now runs on a few different Scheme implementations, not just Guile. The GUI remains Guile-only for now.

  • Implemented a new R7RS-compliant lexer and parser which constructs an Abstract Syntax Tree (AST) data structure, making it easier to find the source of errors and produce informative back traces.

  • Implemented enough of the Emacs Lisp interpreter to be able to load the "subr.el" source file, this defines what you might call the "core" of the Emacs Lisp language, including macros such as "defun" and "lambda."

My primary goal continues to be to make it as easy as possible for other people to contribute to this project. Pretty soon it should be possible to run the Emacs Regression Test suite (ERT) in the cloned Emacs Lisp interpreter. Once this is done, we can run the same test code used during the building and testing GNU Emacs to test Schemacs. Hopefilly then, anyone will be able to select a failing test, write code to make the test pass, and submit a patch.

About the speaker:

I am Ramin Honary, I am have been professional software engineer for 17 years and I have always had a passion for functional programming languages, especially Haskell and the Lisp family of languages.

Questions or comments? Please e-mail emacsconf-org-private@gnu.org

Back to the talks Previous by time: Making Org-Babel reactive Next by time: Emacs as a fully-fledged reference manager Track: Development - Watch