I was impressed that it fired right up from a make and I had a c interpreter shell less than 10 seconds after checking the project out. If 68k of LOC is a small project, what are your large ones? Do you still use PicoC ? What other systems has it been integrated into? What is the largest codebase it has executed? Can it interpret itself?
Only about 4,500 lines of that code is the actual C interpreter. The rest is support code, tests, platform-specific code etc..
I’m not using picoc myself right now but I do have a rocketry project in the pipeline I might use it for. I’ve used it in UAV projects in the past.
It’s been used by other people for a wide variety of things in the past. A lot of people embed it into their programs as a scripting language. It’s ideal for that since it’s small and portable and presents little surface area to integrate. Other people use it in embedded projects - robotics etc.. It’s been used in some commercial robotics systems too.
It can’t interpret itself since it doesn’t implement the full C standard. Keep in mind here that the aim of the project was to make a very small C implementation, not a complete one. It doesn’t implement things like struct bitfields, it doesn’t have a full C preprocessor and it doesn’t run particularly fast. It’s good for what it does though - running simple C scripts with a minimum of fuss.
[…] and it doesn’t run particularly fast.
If one were to embed it as scripting language in another program, how does it compare in speed to LuaJIT?
The abstracts are here[1] – it’s sort of hard to tell which talks you’ll like a priori without them.
[1] http://bangbangcon.com/speakers.html
I’ve been interested in this for a while but didn’t know the name for it. Thanks.