DEV Community

Jérémie Astor
Jérémie Astor

Posted on • Updated on

Want to help development of a programming language?

It's been a few years since I started developing my own programming language, because I loved chuck, but I felt it lacked at least generics and function pointers and performance was quite poor . As of today, Gwion is doing well in terms of features (even more than what I intented to have at first) and performance.

This niche project, IMHO, deserves some attention, and probably a community.

To prevent bus factor, I'm now searching people who would like to contribute. There is much left to do in the documentation area, but I'd also greatly appreciate discussion on its evolution.

Furthermore, there is this event coming, which I'd really like to be a part of, but I need teammates.

Thank you for reading this far (I know my english can be confusing at times).

What do you think? Would you join?

Top comments (10)

Collapse
 
pranav2612000 profile image
Pranav Joglekar

Hey. I am interested. I've always wanted to work on developing a language, and I think this is the perfect opportunity.

Collapse
 
fennecdjay profile image
Jérémie Astor

Great! I'll do a file exposing directory hierachy this week-end (I can't today, I play in a small venue 😄).
Let me know everything you need to get started!
Also, what medium do you think is needed to communicate development plan?
Looking forward to read you.

Collapse
 
pranav2612000 profile image
Pranav Joglekar

Any medium works for me.

Thread Thread
 
fennecdjay profile image
Jérémie Astor

I'm a bit busy this week, but I just pushed a doxygen documentation for the util directory. I hope it helps.
I'll do the same for [ast] and core gwion source.
Did you manage to build the language?

Thread Thread
 
pranav2612000 profile image
Pranav Joglekar

Not yet. I'll finish building this weekend.

Thread Thread
 
fennecdjay profile image
Jérémie Astor

Fine. Let me know, I'll help.

Thread Thread
 
pranav2612000 profile image
Pranav Joglekar

Hey! I am having trouble figuring out how to run programs. Could you help me out?

Thread Thread
 
fennecdjay profile image
Jérémie Astor • Edited

Sure, and with pleasure.
Assuming you followed the build instructions and are in the source directory,

./gwion example/array_lit.gw

Will run example/array_lit.gw.

You can also try saving a hello_world in, say, hello.gw and run

./gwion hello.gw

Just to be sure, here is an example hello_world in gwion:

<<< "Hello, World!" >>>;

Running this should ouput `Hello, World!" in the terminal.

Let me know 😄


I'm ok to answer on DEV, put I think this is the natural use case for github issues.

Thread Thread
 
pranav2612000 profile image
Pranav Joglekar

Sure! Let's move this conversation there! Thanks.

Collapse
 
fennecdjay profile image
Jérémie Astor • Edited

Great!
I'd especially appreciate feedback/discussion from another language designer 😄


Example of syntax discussion

This morning I finally changed my auto-loop to be a foreach-loop

#! declare an array
int array[12];

#! old syntax
for(auto a :  array) {
  ...
}

#! new syntax
foreach(a :  array) {
  ...
}

I think given foreach ubiquity among programming language, this fits better mine. (it also simplifies lexer and parser).
But I'm still wondering if it could accept some iterator:

foreach(a : array : 2) #! iterate every 2 variables 
  ...
foreach(a : array : -1) #! iterate from the end of the array

Hoping to read you soon.
Cheers!


EDIT:

I'll try to update projects and create issue this week-end.