[CM] S7 questions and libc issue

bil at ccrma.Stanford.EDU bil at ccrma.Stanford.EDU
Wed May 11 13:29:23 PDT 2022


That's an interesting project!  To answer some of
your questions:

I think tcc can build s7 statically in linux.  Here's an example
in Ubuntu:

tcc -o s7 s7.c -I. -lm -DWITH_MAIN
s7
s7: 9-May-2022

> (+ 1 2)
3

The -DWITH_MAIN switch includes a minimal repl, so you don't need
repl.c or libc_s7.so.  The other choice is nrepl.scm but that
requires the notcurses-core library.

I notice you're using musl -- I think s7 works with it, but there was
some header problem in libgsl -- I did not pursue it.  I haven't
tried tcc with musl in linux.

On your chart, the s7 entries looks accurate to me.  s7 has the full
numeric tower (including multiprecision support for all types via
gmp, mpfr, and mpc).  s7 macros are "low-level" -- CL-style
define-macro.  s7 has full tail recursion optimization, unless
I inadvertently missed some case.  You can define arbitrary types
via "setters", but the optimizer is not very smart about them
yet.



More information about the Cmdist mailing list