<a href="/tags/schemacs/" rel="tag">#Schemacs</a> minor milestone reached<p>With <a href="https://codeberg.org/ramin_hal9001/schemacs/pulls/50" rel="nofollow">pull request #50</a> the Schemacs Elisp interpreter is now able to load all of two very important Emacs Lisp source files:</p><p><a href="https://cgit.git.savannah.gnu.org/cgit/emacs.git/tree/lisp/emacs-lisp/byte-run.el" rel="nofollow">./lisp/emacs-lisp/byte-run.el</a> and<br><a href="https://cgit.git.savannah.gnu.org/cgit/emacs.git/tree/lisp/subr.el" rel="nofollow">./lisp/subr.el</a></p><p>…which are two files that define most of what you could call the the Emacs Lisp “core” language (by which I mean macros like defun and lambda).</p><p>With these files now loaded, I can proceed to the next task, which is implementing enough of the C-level built-in functions in Scheme to be able to run <a href="https://cgit.git.savannah.gnu.org/cgit/emacs.git/tree/lisp/emacs-lisp/cl-lib.el" rel="nofollow">./lisp/emacs-lisp/cl-lib.el</a>, which is in-turn one of the dependencies for running the Emacs Regression Tests (ERT) suite.</p><p>Once ERT is up and running, it will be much easier for anyone to contribute code to this project as you will just be able to pick a failing regression test and write whatever code is necessary to make it pass.</p><p><a href="/tags/tech/" rel="tag">#tech</a> <a href="/tags/software/" rel="tag">#software</a> <a href="/tags/emacs/" rel="tag">#Emacs</a> <a href="/tags/emacslisp/" rel="tag">#EmacsLisp</a> <a href="/tags/lisp/" rel="tag">#Lisp</a> <a href="/tags/scheme/" rel="tag">#Scheme</a> <a href="/tags/schemelang/" rel="tag">#SchemeLang</a> <a href="/tags/r7rs/" rel="tag">#R7RS</a> <a href="/tags/foss/" rel="tag">#FOSS</a> <a href="/tags/freesoftware/" rel="tag">#FreeSoftware</a></p>
schemelang
I am presenting for <a href="/tags/emacsconf2024/" rel="tag">#EmacsConf2024</a><p>The presentation is live now, and I am available for questions in the “Big Blue Button” chat room. Feel free to ask me questions here on ActivityPub.</p><p>Stream URL: <a href="https://live0.emacsconf.org/dev.webm" rel="nofollow"><span class="invisible">https://</span>live0.emacsconf.org/dev.webm</a><br>Presentation page: <a href="https://emacsconf.org/2024/talks/gypsum/" rel="nofollow" class="ellipsis" title="emacsconf.org/2024/talks/gypsum/"><span class="invisible">https://</span><span class="ellipsis">emacsconf.org/2024/talks/gypsu</span><span class="invisible">m/</span></a><br>Chat room: <a href="https://bbb.emacsverse.org/rooms/uqn-ewi-54c-roh/join" rel="nofollow" class="ellipsis" title="bbb.emacsverse.org/rooms/uqn-ewi-54c-roh/join"><span class="invisible">https://</span><span class="ellipsis">bbb.emacsverse.org/rooms/uqn-e</span><span class="invisible">wi-54c-roh/join</span></a></p><p>The project is an implementation of <a href="/tags/emacslisp/" rel="tag">#EmacsLisp</a> written in portable <a href="/tags/r7rs/" rel="tag">#R7RS</a> standard <a href="/tags/scheme/" rel="tag">#Scheme</a> programming language. The reference implementation is written in <a href="/tags/guilescheme/" rel="tag">#GuileScheme</a></p><p><a href="/tags/tech/" rel="tag">#tech</a> <a href="/tags/software/" rel="tag">#software</a> <a href="/tags/emacs/" rel="tag">#Emacs</a> <a href="/tags/emacsconf/" rel="tag">#EmacsConf</a> <a href="/tags/schemelang/" rel="tag">#SchemeLang</a> <a href="/tags/guile/" rel="tag">#Guile</a></p>
Edited 1y ago