Re: Gordon programming language

2021-10-24 Thread Walter Bright via Digitalmars-d-announce
The Emperor would shoot you for interrupting his wedding with this news! Fire 
when Gordon's in range!


Re: Gordon programming language

2021-10-24 Thread Tero Hänninen via Digitalmars-d-announce

On Sunday, 24 October 2021 at 11:33:51 UTC, Basile B. wrote:
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.


Oh yeah, this. Needs to happen, yes. I'm not much of a debugger 
guy myself having never used a debugger in my entire life so that 
side would be just for others but the other benefits attract me 
too. Thanks for bringing them up.


Re: Gordon programming language

2021-10-24 Thread Basile B. via Digitalmars-d-announce

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!  :)





Re: Gordon programming language

2021-10-24 Thread Imperatorn via Digitalmars-d-announce

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.


[...]


Cool! I'll check it out 


Gordon programming language

2021-10-24 Thread Tero Hänninen via Digitalmars-d-announce

Hello,

decided I'd post about my primarily D-influenced programming 
language here.


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.


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.


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!  :)