3 ms·
I feel like one of the major benefits of using Scheme is how easy it is to interoperate with just about any environment. Want to embed Scheme in your C applicat
by Zambyte 2y ago
I feel like one of the major benefits of using Scheme is how easy it is to interoperate with just about any environment. Want to embed Scheme in your C application? Take your pick from GNU Guile, Chibi, Gambit, or Chicken. How about the JVM? Kawa is solid, option. .NET? IronScheme has got you covered. Javascript? There is LIPS or BiwaScheme.
- interpunct 2y agoI agree. I recently started using an R4RS Scheme called "STk", the precursor to STklos, which I modded into a build system (replacing Make and Sh, for the most part) and a graphics DSL front-end to C. The author wrote a demo app web browser with Scheme as a scripting language, as was the original plan with Mozilla, and Tk as the GUI. Writing extensions in C is a breeze too, as it supports dynamic loading: https://github.com/egallesio/STk https://github.com/egallesio/STk I like Common Lisp too, although not as much as Scheme day-to-day--it is nice now to have both. I was thinking about adding a TinyCLOS using Common Lisp. Pseudo Scheme transpiles source to CL, so I might be able to do it with CLOS underlying it instead of how TinyCLOS does it. Jonathan Rees, the original author, has a Pseudo Scheme repo up on Github, with a branch that uses ASDF (which I am testing with SBCL). https://github.com/jar398/pseudoscheme https://github.com/jar398/pseudoscheme Thanks for your comment, and thanks to the maintainers of both of the linked Scheme implementations.
- fourthark 2y ago> Pseudoscheme consists primarily of a Scheme to Common Lisp translator that is written in Scheme. To obtain a version of the translator that runs in Common Lisp, it is applied to itself. Yes!
- vindarel 2y agoIn the CL world: to embed CL in your C app: ECL; interface with the JVM: ABCL and LispWorks; for .NET: Bike (https://github.com/Lovesan/bike/ https://github.com/Lovesan/bike/). JS: JSCL and Valtan (might need more love).
- lispm 2y agoCLASP in C and C++ via LLVM. LispWorks and Allegro CL as shared libraries in various environments. LispWorks in iOS and Android Apps. SBCL, I think, now possibly works also as a shared library.