-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature parity with TypeScript? #62
Comments
Certainly generics is a top priority to be implemented in Typed Lua, but I do not totally exclude the idea of creating specific class and module systems for Typed Lua in the future. |
We listed the class system as a Google Summer of Code project for 2016, and if there are no takers it is certainly something that we are interested in doing ourselves. Having a class system will make implementing generics much easier: a big problem with the current way of defining classes would be inferring generic types for classes. |
@kevinclancy is currently doing classes and generics: https://github.com/kevinclancy/typedlua |
@kevinclancy's take on a class system is pretty good! Is any of this stuff being maintained anymore? Very interested in using typed Lua classes! |
@tommitytom we are migrating to a new project. Please check out our new github link: https://github.com/titan-lang |
@andremm Please consider making the new repo a standalone repo and not a fork. Forked repos have limited functionality. |
@orthoxerox Interesting! Didn't know that. What kind of limitations are they subject to? |
@hishamhm well, their code cannot be searched via GitHub. I am not sure if there are other limitations, but this one is annoying enough. |
@orthoxerox we just created a new repo with Typed Lua history instead of creating a fork of it. |
So it would appear 'titan-lang' is no longer an optional type system for lua, that compiles to lua, but now something that intends to compile to C? This seems like a completely different project all together! I presume you're aware of other similar projects, such as Ravi and Terra? What is the overall goal of titan? |
We wanted to simplify the type system of Typed Lua, and get a faster typechecker that is both easier to use and easier to add important features that are missing from the master branch, the class and generics system. But the simplifications lead to a system that, while still looking like Lua, also looks like it is relatively straightforward to generate code (the abstraction level is around the same of Go). This is letting us bring more help from Lablua onboard, as they are interested in having a "faster Lua". We still intend to have generating plain Lua code as a valid use case, just the source language will be neither a superset nor a subset of Lua, but a sister language. Compared to Ravi, the type system is more fully-featured, and is not just for optimizing number chrunching code. Compared to Terra, the language is higher-level, and uses the Lua garbage collector (Terra has manual memory management, and is about the same level as C). |
Hmm this is interesting. I can only presume Lablua have used luajit, which is pretty damn fast.. I'm presuming the issue with luajit is the lack of support on certain platforms? |
What does TypeScript bring to JavaScript's table that Typed Lua doesn't to Lua's?
Does this leave only generics to be implemented?
The text was updated successfully, but these errors were encountered: