Hi List, recently I found out about Femto, a minimal Emacs implementation in less than 2k lines of C (including ncurses, though):
,---- | git clone https://github.com/hughbarney/femto.git `---- ,---- | Femto is an extended version of Atto Emacs. | | In Defining Atto as the lowest functional Emacs I have had to | consider the essential feature set that makes Emacs, 'Emacs'. [...] `---- ,---- | Goals of Femto Emacs | | * To extend Atto Emacs with filename completion, dired, buffer | menu and the ability to run a shell command. | * Provide a rich level of functionality in the smallest amount of | code | * Femto Emacs will eventually have it own lisp extension | languauge. | * Be easy to understand without extensive study (to encourage | further experimentation). `---- There is already a project underway using FemTo-Lisp as extension language ,---- | git clone https://github.com/FemtoEmacs/Femto-Emacs.git `---- but I thought this would be a perfect use case for an 'AW-style' FFI library making use of 'native'. Then, PicoLisp could have its own (Window/Buffer)-Editor, not just the LineEditor, with all the core Editor-Functions just wrappers around Femto's C-functions. But lacking C skills have me stuck in the very beginning: how to turn this C application into a shared library for 'native', does it even make sense? I guess I should: 1. create a shared library for all .c files in the repo except main.c 2. create the application (main.o) linking the shared library? But then, the shared library by itself does not make much sense, it would need the running C Application to do some useful work (?) So the queston seems rather how to embed PicoLisp in this C Application, and make Femto extensible in PicoLisp (like Emacs is extensible in Emacs Lisp) by having FFI wrappers for all core editor functions? The ,---- | /home/tj/gitclone/Femto-Emacs/femtolisp `---- subdirectory makes the general "Lisp integration task" look rather complicated, but maybe there is (like so often) a really simple solution with PicoLisp? -- cheers, Thorsten -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe