Periodic reminder: Don’t compile to C.
-
-
(By error reporting I mean “DWARF debugging info”, sorry.)
-
It's possible to generate the right debugging info. If it weren't, you'd have a bad time with the preprocessor.
- 4 more replies
New conversation -
-
-
If you generate C you can ensure it doesn't have any UB (assuming no interfacing with unsafe arbitrary C code), & can even do GC if you want (but GC is uhg).
-
It’s a big pain, though. Signed integer overflow, float<->int casting UB, etc. are all things people often don’t want in their language and makes the generated C really ugly. And you can’t do *good* GC. :) You need stack and register maps, which are impossible in C.
- 14 more replies
New conversation -
-
-
I haven't done it, but I always figured the Chicken GC design (alloca everything, call ever-inwards, minor GC = copy live allocas off stack and longjmp to discard the rest) was pretty decent when it comes to doing it atop C. Guess it depends what you mean by "proper".
-
It’s really clever, but I worry about cache effects. Same problem with SML/NJ’s heap-allocated activation records from what I understand
- 3 more replies
New conversation -
-
-
What is your suggested alternative for hobby/research projects?
-
Honestly, I might use
@sunfishcode’s Cretonne/Cranelift for new projects: https://github.com/CraneStation/cranelift … If I need optimizations, though…well, I’d probably just end up using LLVM. - 2 more replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.