The state of low-level system programming
erik-poupaert.blogspot.com
The state of low-level system programming
1–10 of 62 posts
Re: The state of low-level system programming
#2Rust issue: https://github.com/mozilla/rust/issues/3608
Go issue: http://code.google.com/p/go/issues/detail?id=2790
I wonder who will get there first.
Re: The state of low-level system programming
#3Re: The state of low-level system programming
#4Re: The state of low-level system programming
#5C code can call into rust: http://static.rust-lang.org/doc/rust.html#extern-functions
From the Rust doc linked: "The primary motivation of extern functions is to create callbacks for foreign functions that expect to receive function pointers."
Re: The state of low-level system programming
#6C code can call into rust: http://static.rust-lang.org/doc/rust.html#extern-functions
Re: The state of low-level system programming
#7there's also ats [ http://www.ats-lang.org/ ]. somewhere on my long-term todo list is to write a library of efficient data strucures in ats, to take advantage of some of its safety guarantees.
Re: The state of low-level system programming
#8Re: The state of low-level system programming
#9C code can call into rust: http://static.rust-lang.org/doc/rust.html#extern-functions
True, and so can C call back into go code with cgo. The problem is that it still requires that the main function be in a Rust/Go binary. A program written in C can't currently call into a library written in one of these two languages since the runtimes don't work unless they control the main entry point. From the Rust doc linked: "The primary motivation of extern functions is to create callbacks for foreign functions…
Re: The state of low-level system programming
#10For transparent access to compiled C libraries, external C functions need to be declared in a 'vapi' file and although these were already provided for a large part of the GNOME ecosystem, documentation on vapi syntax was nearly non-existent. Object-orientation and standard libraries are integrated with Gnome's GObject system and Glib libraries which I found unfamiliar and usually better documented in C at the time.