Announcement: Dynace ported to Haiku

@blake1024 as mentioned in the beginning, this was only from a quick look at the build system, I’m no developer, so I’m not diving into deep into code if there is no reason to dive in there.
Thanks for taking the time to make this Haiku compatible! :ok_hand:

2 Likes

Thanks @blake1024 for Dynace! I am a programming language nerd. (I am one of those guys that tinker with Lisp and Forth and more.) And I always thought “C with classes but not like C++ would be really great!” I will investigate Dynace further. I don’t understand yet, how it is technically done. Even if I should stay finally with C++, it’s food for my language-nerdiness.

@PeterW I too am a language nerd. I’ve also played with Forth. Lisp is my favorite language. I just wish I had opportunity to use it. If you look at my github repos (github.com/blakemcbride) you’ll see some interesting Lisp stuff. In fact, to some degree, Dynace was my attempt at bringing some of the benefits of Lisp and Smalltalk to C.

If I remember correctly, the manual explains what is going on. It’s not too different from C++'s vtables. In fact, I generally cache the method lookups but provide a C++ vtable-like implementation as one of the compile-time options. It’s a hair faster but takes up a lot of memory.

2 Likes

The idea here likely was beeing able to call into C++ libraries from dynace, because Haiku is almost exclusively written in C++.

Dynace can be compiled as C++ so it would link naturally.

Here is an example: Numba, a transpiler from Python to C: https://numba.pydata.org

This is not perfect, of course, don’t expect it to generate clean and very readable code. But at least the code will do the same thing as the original.

Numba is more of a JIT compiler for Python, not a transpiler.