Comments (7)
@teto I don't think I have said it publicly it anywhere, but my intention is to port LuaRocks to Teal. I understand it is a significant undertaking, but having control of both sides of the equation should allow me to tailor one to the other more easily (i.e. add any missing features to Teal that prove important for the porting).
For that reason I have somewhat halted new-feature development on LuaRocks and I've been focusing on feature work for Teal.
It makes things more complex while not providing enough typechecking
I'm curious: what are the things you found missing? I'd appreciate more feedback on your impressions!
from luarocks.
thanks for the update. Is there a working teal codebase already ? I am a bit anxious because it feels like you do a lot and creating a new language while rewriting luarocks looks too much for amy human being.
Adding luacats comments wouldn't change the codebase, just making typecheck on current codebase easier so it might still be worth it.
I'm curious: what are the things you found missing? I'd appreciate more feedback on your impressions!
I really wish I could provide good feedback but my experience was short (not because I disliked teal but I wanted a quick feel for it) and I dont remember it much. What I remember is the generation of types, committing them, the addition of a new layer of tools like a teal lsp, compiler, this all felt like a lot of complexity for little typesafety (granted I come from a haskell background). Not even getting sum types was sad. I felt like emmylua/luacats could get me the same without the whole machinery, remaining in native lua.
For a point of comparison I tried fennel and got the same feeling. Recently I tried luau https://luau-lang.org/ and it felt more approachable. Also it has a company behind it and is already used widely so I feel more confident using it.
@lewis6991 tried to rewrite packer.nvim in teal but eventually gave up. He might have some more elaborate feedback too (sry to drag you into this xD).
Once again thanks for everything you do.
from luarocks.
I was notified that https://luals.github.io/wiki/annotations/ forked emmylua (a priori not active anymore) and that neovim was using this new system (called "luacats"). I believe some people would be interested in lending a hand (https://github.com/nvim-neorocks/rocks.nvim folks mostly). @hishamhm what do you think ?
from luarocks.
@teto have a look at Teal of which @hishamhm happens to be the author
from luarocks.
@Tieske I already had a look at teal but the tradeoff complexity vs advantages was not worth it for me. It makes things more complex while not providing enough typechecking. I tested luau a bit https://luau-lang.org/ that worked better for me.
Anyway I dont think any of these propositions is in scope because too complex (rewrite luarocks in rust at this stage), the advantage of emmylua/luacats is that the conversion of the database is backwards compatible AND incremental, the types live in comments. The only downside I see is the churn, which is ok since luarocks doesn't have a crazy activity.
from luarocks.
@teto Thanks for reporting on your experiences!
thanks for the update. Is there a working teal codebase already ?
Not yet!
I am a bit anxious because it feels like you do a lot and creating a new language while rewriting luarocks looks too much for amy human being.
I appreciate your concern. :) It's not meant to be a massive rewrite but more of a transition, and I hope to get some help!
In any case, I'm going to close this particular issue since adopting emmylua is not the way I'm going to go. But thanks again!!
from luarocks.
@lewis6991 tried to rewrite packer.nvim in teal but eventually gave up. He might have some more elaborate feedback too (sry to drag you into this xD).
I succeeded, unfortunately Teal didn't gain enough momentum (feature wise or adoption), the tooling was basically non-existent, and it didn't check as much as LuaLS (specifically nil
), so I decided to port everything back to Lua and adopt LuaCATs annotations instead.
There were other reasons I could expand upon, but that's the crux of it.
from luarocks.
Related Issues (20)
- Luarocks 3.9.2 fails to install binary rock HOT 1
- Luarocks can't install any packages on MINGW64 HOT 10
- Not importing modules HOT 4
- Linkage error on windows with mingw32 compiler (when compiling C source libraries) HOT 5
- `build.install_command = "..."` does not execute on windows
- using `--lua-version=5.1` on windows still uses `5.4` HOT 6
- luarocks/cmd.lua:738: attempt to concatenate a table value (field 'root_dir') HOT 2
- luarocks pack creates macosx-x86_64.rock entry on m1 mac HOT 2
- install a luarock in Debian wsl2 HOT 2
- 3.10.0 release build paralyzation issue HOT 4
- `sudo luarocks install` right after `configure && make && sudo make install` targets the local project dir HOT 3
- Feature Request: Userspace local directory restructure? HOT 1
- I can't build mime during luasocket installing HOT 4
- Invalid Debian Installation HOT 1
- Support applying patches created with `diff -Naur`
- Bug: Adding entries to .gitignore ... HOT 1
- when using luarocks3.11 config,it goes wrong HOT 1
- Could this third-party toolkit be any harder on windows? I've never done anything this hard
- Error: LuaRocks 3.11.0 bug - win32-x86_64 (fs_use_modules = true) (binary) - when installing a package that transitively depends on LuaFileSystem HOT 3
- cannot force reinstall package on v3.11.0
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from luarocks.