Run out of challenges?
Need a ridiculously ambitious goal?
How about working with me on the Leaf language? Compiling, standard libraries, documentation, packaging, ecosystem, community, or just playing around... there's something for everybody.
Any skill level is welcome, and I'll spend time with any contributor, but be aware, the current prognosis for the learning curve is steep, more like a cliff. ⛰
I love what I've seen of the syntax so far. I'll try to keep an eye on it. Thanks for mentioning this project.
Good to see this. I'm in for learning new things. I have a beginner's and very basic understanding knowledge in Lex & Automata. I hope I can contribute something to the project.
Requirements are a Linux or OSX machine*. The first thing to do is to follow the BUILD.md file and get the libraries built, and then Leaf. Reporting all the stuff the doesn't work, or isn't clear is helpful.
There isn't much work to be done in parsing at the moment... not saying it couldn't be improved though. It's a custom recursive descent parser. It has two stages, context sensitive tree lexing then AST construction.
*For the pinnacle of adventure there's the option of getting it running on Windows. Likely a painful task.
What are the current challenges to getting it running on Windows?
The biggest challenge is the build process. There are several libraries that need to be installed, and the build scripts would need to be tweaked to work on Windows. From what I've seen there's nothing in the list that isn't available on windows. I'm just personally not familiar with building such things on windows anymore (something like Cygwin might be a good first step, using it's packaging before doing fully native).
The next challenge would be calling convention. This affects when native libraries are called. The essentials are probably fine, so like 95% will work without this. I don't anticipate this to be too difficult, it mainly requires deciphering docs, and compiling C code into LLVM-IR to reverse engineer.
this should be fun
I am ready to work on language
Great! Look at my other comment, the first step is getting it built. This has many steps, but should be straight-forward -- of course, provide feedback for bits that are wrong/out-dated (things change).
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.