Sharp
Sharp copied to clipboard
Platform runtime revision | v0.3.0 r8
Compiler is now 50% done!
Compiler expression dev paused to include a built-in dependency injection system (this will be a major feature + selling point of the language.
Compiler dev resumed dependency injection framework is finished
Nearly finished with the compiler, In the final stages of compilation. Code generation will be the only thing left after that!!
The compilation portion is finished!! (For the most part) There are lots of unfinished parts in the compiler but the foundation and skeleton is there. Moving on to the code generation/Optimization part and will fix bugs and gaps in logic on an as-needed basis
All expressions can now be generated to the VM machine code (for the most part). Now will be running tests on all expressions and moving on to the final code generation stage which is processing for loops, if statements, etc.
Compiler is 70 - 80% done
Hi @AndroDevcd I'm interested to know about the development status of the compiler, if contibution is opened or not
Hi @AndroDevcd I'm interested to know about the development status of the compiler, if contibution is opened or not
Hey @knavels ! First off thanks for being interested in the status and contributing to the language :). Currently unfortunately due to the overall complexity of the compiler, this PR and the language is not open for contributions. However, shortly after this PR is merged and I deploy the next version Sharp v0.3.0 r8. I am planning on ramping up community efforts for the project.
As for the status of the overall project, here's a snapshot of where things are:
- Currently, this PR serves as the first official "stable" progr. language release. Over the years it's been ridden with frustrating nasty bugs and a lack of features. This PR solves a lot of those issues as well as adds a ton of features to the language.
- As of today 8/22/2022 11PM CST I am very close to the end of development with the compiler. I am currently building out the code generator to actually convert the sharp code to my VM's machine language. Once that is done here's a rough but non-exhaustive list of what else needs to be done:
- Finish code generator to support all statements (should be finished by the end of this week)
- Finish adding support for closures in the compiler (this is relatively trivial to finish up few days tops)
- Plug any additional logic gaps and holes in the compiler (this will consist of resolving all the TODO's in the code)
- Add support for code obfuscation complexity (? not sure)
- Add in support for file caching (this will be very challenging)
- File caching should speed up the overall compilation time by at minimum 50% as currently, it takes a min. of 5.5s to compile everything
- Add in support for running the compiler in "watch mode" which allows live updating of your compiled code. Basically, as you write code your sharp exe file will be updated in real-time so you don't have to keep recompiling everything.
- Run tests on the compiled code on the runtime system.
- Add support for optimizing sharp code. (very challenging may take up to 1-2months to complete)
- Rewrite entire standard library (this sounds like a big lift but is INFINITELY easier than all the things listed above combined) this will be the final thing needed to complete this PR.
So in short although I am close to the "end" of compiler development. There's clearly a bit of work left to be done. I'm hoping that by this December to have all this done. That way I can start back on youtube and give an update on everything. I also have plans for creating a discord server and more! So definitely lots of good things coming in the near future!!
@AndroDevcd I'm glad that this project is under development, this area (Compilers and Programming languages) has been always my passion and favorite and I can't describe by words, but I wish all goes as you've planned. also looking forward to have you back on youtube
@knavels I'm right there with you it's my passion as well, also thanks for the well wishes. See you on the youtube channel in a few months!
First ever hello world ran in the language with the new system!!! Its been a long time coming. Time to test everything and get it ready to be released!