Gordon programming language

Basile B. b2.temp at gmx.com
Sun Oct 24 11:33:51 UTC 2021


On Sunday, 24 October 2021 at 10:13:14 UTC, Tero Hänninen wrote:
> Hello,
>
> decided I'd post about my primarily D-influenced programming 
> language here.
>

Nice work.

> It's data oriented, compact and despite D's influence, has a 
> very different personality with no emphasis on metaprogramming 
> – albeit having simple polymorphism and even compile time 
> execution. Stability is something I care about deeply so you 
> can expect few to no deprecations over time after some initial 
> instability perhaps.
>
> Feature set is not large and I'm not willing to add a whole lot 
> of "cool" convenience features besides what there already is, 
> and there is no support for either OO or functional style 
> programming.  However, I'm rather open to adding features that 
> unlock great performance benefits, such as intrinsics support.

Support for LLVM intrinsics should be indeed of a great value 
added.
That could work by adding a new attribute with a string exp to 
recognize it.
without that the oprations that are done in the FPU can only be 
based on assembly and less inlinable.

> The module system is similar to Rust and works nicely with 
> conditional compilation in that you can exclude entire modules 
> and directories and, unlike in Rust, use conditional symbols 
> that are automatically visible to all submodules.
>
> The compiler frontend is about 34k lines of code, self hosting 
> and very fast.  LLVM is the backend, but with the MIR used in 
> the compiler, it's fairly straight forward to bolt on other 
> backends.

Congrats for reaching self-hosting.

Once thing I notice is that there does not seem to be a way to 
generate debug info. You really should support them (LLVM C api 
has a whole header with everything you need to achieve that), 
because not only this allows to debug the compiler more easily 
but also can be used to easily instrument code in a generic way. 
With debug info, you can of course debug but also profile 
(valgrind --tool=calgrind), find leaks (valgrind), cover (kcov), 
etc.

> Compiler source code:
> https://github.com/tjhann/gordon
>
> Website:
> https://tjhann.github.io/gordon-web/
>
> I don't know how to make websites... and I want a much lighter 
> background actually.
>
> Take a look!  :)




More information about the Digitalmars-d-announce mailing list