Replies: 2 comments
-
|
Improving this right now! See: https://github.com/TypeSharp/Typesharp/pull/14 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
First Update (insights on the future etc)
As many of you might know, i've been fairly busy this spring, due to things going on in my life. However with this, I have been able to work and nibble at TypeSharp, strengthening and finalizing how I want the syntax to be, which can be seen on the documentation repo. With this being said, it means I will be able to have a working beta out (probably) in late May, early June. Here's the things that I currently have to work on and finalize:
The Parser: Over the past few weeks, I have managed to come up with a basic idea and implementation on how the parser should be; and over the next few weeks I would like to refactor it and put more thought into it, because we'll be using it from this point forward. For instance, once the tokenizer completes, all tokens are immediately passed to the parser without any context of the origin of the tokens.
In order to speed up, and provide better error handling, the parser should either: separately parse each file or parse all at once with context. I haven't decided on how I want to approach this yet, and will be making another issue on it in the future when I have a better idea on how I want to do it.
The AST: The AST in TypeSharp is currently MESSY and I plan to change it. Simply put, I rushed implementation because I wanted to get my hands on something that worked rather than something that was efficient. Currently the AST looks a bit like this:
This AST is not well thought out, and should be properly implemented. Implementation I plan to change over the next few weeks to be something like the following:
With this, I plan to improve the implementation of AST and heavily refactor it as I'm not happy with the design of TypeSharp OP's (Operations).
And if I have time, The Error Module: The error module in Typesharp has only basic implementation and needs to be completed, and I'm leaving this here as I would like to complete it before I get a beta out to insiders, however it will probably not work out this way, and insiders will have to work with a compiler that doesn't throw detailed errors.... and panics.... nice!
Overall I've been having fun, and I've been working on T# to help me learn more about the lower level of how a computer works. If you have any suggestions for T# or ideas please reply on this discussion!
Beta Was this translation helpful? Give feedback.
All reactions