p.enthalabs

CJIT: C, Just in Time

dyne.org · Read Story HN original

Comments

It links to the system SDL, on Linux at least.
Looks interesting and fun, but in no instance of any C compiler I've come across is the "classic example" of "hello, world" using `fprintf(stderr, ...)`

To each their own I guess.

Give io buffering an inch and it will take a mile
Did you use Codex 5.4 for the web design? :p I think Codex tends to do very similar designs, could be completely mistaken tho
Looks like a generic static site generator page to me. I'd be surprised if dyne folks used a closed system like Codex specifically.
The source for the site is here: https://github.com/dyne/cjit/tree/main/docs. It's a VitePress site with a custom theme. Glancing through the code, I don't see any obvious signs of LLM coding. It also definitely wasn't created with Codex specifically, because according to the commit history, the first version of the site was in late 2024, months before Codex even released.
Sweet project! I will give this a go today :)
I’m not surprised by it, but I am confused as I do not see anything that reminds me of TempleOS, HolyC, or Davis. If anything, this is just pushing the tcc —run functionality one step further.
The site visually feels "compressed" due to the font used? It's a bit jarring. The tutorial link in the header nav doesn't go anywhere.
Cool idea.

I was wondering why the release explicitly is `cjit-x86_64-ubuntu-24.04` instead of generic linux, but it does in fact appear to not work on Arch:

`tcc: error: file '/lib/x86_64-linux-gnu/libgcc_s.so.1' not found`

I'm guessing that's due to a `dlopen` since it's not listed by `ldd`

The TUI demos work great, but I couldn't get the SDL examples to resolve all the missing symbols after trying for a bit.

Pair this with Fil-C(https://fil-c.org/) and now you have C but as a truly bonafide scripting language.
Inspired by Terry. But does it glow?
Much more interesting is Mir: https://github.com/vnmakarov/mir

It has all the tools for custom JIT including a nice C compiler.

> CJIT is not a tracing or adaptive JIT in the VM sense. It does not interpret first and optimize hot paths later.

> CJIT uses TinyCC to compile C quickly, often in memory, and can execute the resulting code immediately.

Wait, what's the difference between this and just using tinycc directly?

   cat program.c | tcc -run -
[delayed]