Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • Can this trans-compile to C? (And vice versa?)
  • So you want to generate C code instead of ByteCodes.... and then compile the C? I suppose, if you broke out the runtime memory management (and a few other things) into a library. But I am not sure why you would....

    If you want pure speed, then you would rather have it generate machine instructions instead of higher-level ByteCode ops. But you would not be using a scripting language if you want pure speed.

    Perhaps if you only want a double-arglist variant of C (you must call it scC!) then you could write a front end processor! And by you, I mean not me :-)

    by SA9G
  • congrats, but Tcl is enough for me.
  • The dual in/out parameter idea is interesting. Looking forward to trying it.
  • Combining mark-sweep with refcounting is bold. Most small VMs just pick one.
  • If by "bold" you mean daft, then you are right :-)

    Mark/Sweep GC is easy, well contained, and simple to test. RefCounting affects everything, obviously does not work for circular refs, and is an incredible pain to test/debug. While RefCounting gives you generally continuous smooth performance, it can stop the world if a particularly large/complex data structure is being collected. So all in all, I would skip RefCounting next time. (scScript does have a compile option to turn it off.)

    by SA9G
  • Honestly I didn't understand anything from the page, why C that is bytecode compiled, don't we suffer making C just to have the speed? Examples? What showing the bytecode means?
  • I wanted to write a love note to C... and if you hate it, it is all my fault.
    by SA9G
  • i haven't looked at the code yet but i love the website. just how open source project websites should be! ♥
  • It looks interesting.

    Isn't the same kind of thing available from LLVM?

      clang -emit-llvm -c main.c -o - | lli
  • People should really put a few examples on their webpage when they introduce a language, like a hello world, making a http request, writing a ping/pong server, etc.
  • Yes! That is why the 3rd line says: "...or to see sample code (Intro 1)." You just had to click on "Intro 1".
    by SA9G