DEV Community

loading...

Want to help development of a programming language?

fennecdjay profile image Jérémie Astor Updated on ・1 min read

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?

Discussion (12)

pic
Editor guide
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 Author

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 Author

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 Author

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 Author • 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 Author • 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.