emptybits 10 hours ago

I'm grateful for the author's "other options that were considered" section with eight alternatives to S7. But Embeddable Common Lisp (ECL) is the only one listed that he doesn't write a few sentences about, to contrast its pros and cons versus S7. I'd love to hear more.

  • iainctduncan 21 minutes ago

    OP: it was a two factor decision.

    The first is that it seemed at the time that Scheme was going to be easier to work with, and that has proven true. It's a lot easier to do music theory hacking and integrate with Max using a lisp 1. Being able to seamlessly change whatever the first form is (function, hash-table, list, vector) with no change to the code has turned out to be really really nice in my work.

    The second was that when I started I new little about Schemes and Lisps and it seemed when going through the docs like ECL at that time was going to be a bigger lift to get going.

  • teunispeters 2 hours ago

    clang and ECL both seem interesting, as long as LGPL license is ok. They both are complex to embed though - neither are well tuned to be embedded in other applications. (I've been exploring on MacOS). Julia could be interesting too under same questions (and a better license for commercial products) but similarly has a fair bit of glue code needed - especially if you want to restrict (say) filesystem access.

    • iainctduncan 19 minutes ago

      Oh right, that was a thing too. LGPL would have complicated some plans. Forgot that details.

iainctduncan 19 minutes ago

Author here! Funny to see this arise now, I shared links to the project a number of times but never got much interest here. For what it's worth, I would (and should!) update that page, but the choice of s7 has worked out really well. I now also use it in a WASM context, which is great. The fact that I can easily use the same scheme implementation anywhere I can run ANSI C has proven to be a real advantage.

Happy to answer other questions.

For people interested, I will update that page today with thoughts five years on.

TLDR: still really happy with the choice!

sjamaan 2 hours ago

S7 is very cool indeed. It also comes as a single C file, which makes it easy to embed.

As a CHICKEN maintainer, I'd love to hear what the author was missing in the FFI part of the manual.

  • iainctduncan 18 minutes ago

    Hmm, it's been a while. It was partly the fact that it was not as simple as s7, and also was complicated a bit by the compiled-to-C nature of Chicken. I did really like what I saw in Chicken though.

bigfishrunning 2 hours ago

I have found S7 scheme to be a delight to use as a configuration/extension language. I find it much more intuitive then something like Lua or even embedded python. Because of its heritage, most of the s7 scheme uses I've seen online are music related, but it really shines outside of that field as well.

  • iainctduncan 4 minutes ago

    yes, it really is. In my music pedagogy project I use it as the domain layer via WASM sitting between JS and C/C++ audio worker. It's been great that way.

HexDecOctBin 2 hours ago

Is there a SLIME-equivalent to achieve REPL driven programming for applications with s7 embedded in them?

rurban 5 days ago

(2020)

  • dang 11 hours ago

    Added. Thanks!