Git Product home page Git Product logo

Comments (7)

hishamhm avatar hishamhm commented on June 11, 2024 1

@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.

teto avatar teto commented on June 11, 2024 1

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.

teto avatar teto commented on June 11, 2024

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.

Tieske avatar Tieske commented on June 11, 2024

@teto have a look at Teal of which @hishamhm happens to be the author

from luarocks.

teto avatar teto commented on June 11, 2024

@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.

hishamhm avatar hishamhm commented on June 11, 2024

@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 avatar lewis6991 commented on June 11, 2024

@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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.