4 ms·
s7.c is a 98,182 line C file. So um. Yeah. Good luck wrapping your head around that. Eesh.
by masukomi 6y ago
s7.c is a 98,182 line C file.
So um. Yeah. Good luck wrapping your head around that. Eesh.
- bigbubba 6y agoI though for sure s7.c was an amalgamation file like sqlite3.c, but evidently it's not. Eesh indeed.
- iainctduncan 6y agoThis is on purpose so that embedding is simple. And embedding is really really simple. I use it extensively, and have only had to look at s7.h and the docs file.
- kazinator 6y agoBecause plonking ten .c files into a project is that much more complicated than one? That's where the complexity of embedding lies?
- iainctduncan 6y agoI get what you are saying... but S7 is so simple to embed that yes, that would make a (minor) difference. It is really, really easy to embed. Like, takes 10 minutes to get going level of simple. So having to do nothing other than include one header and link one object file (or add to the build) is nice. I don't really have a strong opinion one way or the other on the all-in-one-file issue, but as someone who uses it in an embedded context all the time, I'd have to say the fact that it's all in one makes zero negative difference to my work. And it's really nice to be able to just leave s7.h open and grep over it to figure out how to do just about anything. This simplicity can not be said about Chicken, Racket, or Gambit, mind you. (Guile though, also has a low barrier, I really like Guile too...)