I've used it a tiny bit as part of ROOT (and its predecessor cint a bit more). It pretty much works as advertised, there's not a whole lot to get excited about IMHO. It certainly doesn't make ROOT any less miserable to use.
Hi, I'm the author of picoc. It's not self-hosting, no. It's meant to be small rather than a feature-complete implementation of C so it's unlikely it will ever be self-hosting.
It doesn't sound like they were rebuking you. It's pretty common to link to a previous discussion for people interested, especially if the current one doesn't take off or if the previous one contains some information worth repeating or avoiding.
Author here. I tried to make it small enough to run on tiny microcontrollers like the arduino but unfortunately C seems just a bit too complicated for that.
I actually was working on my own sub-sub-subset of C for a tiny scripting language (for the aforementioned project) and I was often referring back to how you wrote picoc.
TCC isn't a JIT-compiler, the script-option compiles all and then runs it on the fly. This allows C-files to be executable by themselves with a shebang-line.
It's also usable as a dynamic load library. It's still not a JIT, but a program can use it to run code directly without having to fork/exec/spawn anything.
Maybe it's a weird fetish of mine, but I always enjoy a good embeddable, scripting engine. It kind of brings me joy and hope. Can't say why. The more engines, the merrier.
As a student interested in language design and VM programming, this is wonderful. Clean, easy to read code, as well as what seems to be a really well-thought out language. Thanks for this!
what problem does this solve that is not already solved by the n scripting engines that are already out there? When would I use this in lieu of Rhino / JS on the JVM, for example?
Pet peeve of mine: people publish projects and don't position what they've built in the universe of existing things. Readers without context won't know what to do with it. A simple FAQ would be really helpful.
28 comments
[ 2.6 ms ] story [ 73.9 ms ] threadI was wondering if anyone had tried to use cling in any project? It uses llvm's own parser/jit.
Still, I'm happy to see it since I've somehow missed all the previous times.
It doesn't sound like they were rebuking you. It's pretty common to link to a previous discussion for people interested, especially if the current one doesn't take off or if the previous one contains some information worth repeating or avoiding.
I actually was working on my own sub-sub-subset of C for a tiny scripting language (for the aforementioned project) and I was often referring back to how you wrote picoc.
https://github.com/munificent/vigil
"It goes without saying that any function that throws an exception which isn't caught is wrong and must be punished."
Pet peeve of mine: people publish projects and don't position what they've built in the universe of existing things. Readers without context won't know what to do with it. A simple FAQ would be really helpful.
https://code.google.com/p/picoc/
This isn't it (among other things, it isn't self-hosted).
Enlightment uses its own Scripting Languagew throught the EFL.