upvote
1. Teal has been around since before LLMs were good at coding [0].

2. I don't see anything wrong with coding for purely artistic purposes?

3. Presumably a static type checker would be quite helpful for LLMs, since it would help them catch lots of their mistakes.

[0]: https://github.com/teal-language/tl/blob/main/CHANGELOG.md#0...

reply
I ported a mod I made to Teal when adding a feature was taking me way too long in regular Lua to get working correctly (I freely admit that I'm seriously crippled in my ability to write correct algorithms without being able to define types that I can enforce). This was before I had ever tried to use an LLM to code before.

Now that LLMs are a common thing for coding, modding communities (which in practice have a large number of people using Lua since quite a lot of the most widely modded games use Lua for mods) are having to adapt a bit to handle the influx of a huge number of mods from people who have never programmed before, which I tend to view as a good thing in the long run, but right now LLMs seem to be rather abysmal at writing reasonable Lua. There's a meme (in the original sense of the word) that you can tell when a mod is LLM generated because it will use pcall in ridiculous ways, seemingly because it's a lot quicker to abuse it as a retroactive control flow mechanism than to go back and add proper checks up front (and probably restructure the code in the process). Teal doesn't fully solve the underlying issue of LLMs apparently being very poorly trained on Lua but it does at least give a pretty good way of statically enforcing what the actual types it should be using are.

reply
Not all programming languages are equal. Some are easier to review, some are faster, different ecosystems, different target architectures, many reasons.

That's like someone saying "What is the purpose of x64 in the new age of C?" back in 1999.

reply
What is your purpose in the new age of AI?
reply
Probably half ass web platforms nobody uses.
reply
so true
reply
What is the purpose of gcc in the new age of AI? Can't you ask your agent to build a compiler if you want to run Hello World?
reply
Can't you ask your agent to spit out binary in the first place?
reply
deleted
reply
What difference does AI make? Teal simply gives you the option to add static types to your Lua code, to enable additional compile-time correctness checks.

Surely that’s useful, no matter whether you’re writing the code yourself or having an agent do it.

reply
Right? It's not like as soon as LLM coding became a common thing everyone who was using TypeScript threw it out and went back to vanilla JS.
reply
Not everyone uses AI though. Some do, some don't. I don't.

Though, I am not really in the lua camp either. But I had to comment on the "only AI counts" transfigurative statement.

reply
AI works much better when it gets immediate feedback from a good type checker
reply
The main thing is getting feedback. I've been doing some intense agent iteration on Lua projects, and so long as the error output is clear and it's easy for the harness to restart/inspect/stream logs it seems to do very well with Lua

In fact, I'd say it's more "fun" watching an agent work on something in Lua as the iteration loop is tighter: more restarts, more feedback, instant running. When I deal with typed languages (in my case, Swift) the feedback loop is dragged-out by the compile time which makes the whole process feel slower

reply
If the agent is at least reasonably good at your language, the errors that are getting caught at compile time in a language with reasonably expressive types like Swift should be actually catching and eliminating bugs without having the run anything. It seems like the ceiling of how long an iteration takes would be lower, but the floor would be a lot higher, and then you're making a bet that the number of iterations needed won't be so high that it takes more time overall to get things working, which doesn't strike me as obviously true (and that's not getting into how fast the final product will be when the agent is finished, although both Lua and Swift seem like they're most heavily used in domains where you don't really have an alternative choice, so it's not easy to really compare these anyhow)
reply
> In fact, I'd say it's more "fun" watching an agent work on something in Lua as the iteration loop is tighter: more restarts, more feedback, instant running. When I deal with typed languages (in my case, Swift) the feedback loop is dragged-out by the compile time which makes the whole process feel slower

Ideally you'd want both. In this case though, if you're paying per token you'd prefer the typed language, since compiler invocations are presumably less expensive. So the interactive compilation strategy where it has to continually consume compiler output and run inference on it is going to be more expensive than letting the compiler do what it's good at. (I wonder at what point that math would invert and what would happen if it did.)

That's why something like Teal is perfect for AI, to answer the original question of "why this when there's AI now?" You'd want to add types to Lua to check what you can beforehand precisely because it helps give you the best of both worlds.

reply
Programming languages are useful?
reply
Controversial opinion, but new programming languages are desperately needed, _especially_ in the age of LLMs. Simply put, not all languages provide equal expressiveness, even if they're all Turing complete.
reply
Not only that, but the most important thing that a programming language does from an expressiveness perspective is define what your can't do. I often like to say that when there are an infinite number of programs you could write, programming is the act of narrowing that space until you're left with one program that you did write. Bugs are deviations from the one you were targeting, and a programming language can dramatically improve the process by eliminating a lot of the ones you don't want up front (ideally ones that might be easy to accidentally hit instead of your target)
reply
This is why I think the "AI will just write machine code, so programming languages are done" opinion is wrong.
reply
Having never heard someone claim that before, I honestly would have assumed someone saying that was joking, because it doesn't sound like it would work well at all!
reply
Elon Musk has predicted code will be obsolete by the end of this year, and the AI will just be writing binaries directly better than any compiler. I'll leave it to you to decide if he was serious :P

https://x.com/XFreeze/status/2021699619927781842

reply
that's not controversial to me. Programming languages that prioritize LLM creation/editing/reasons over it, while making it easy for humans to review and edit, but not being the primary author of the literal code.
reply
Teal isn't particularly new. First commit is Jan 2019
reply
one needs an internet connection and a huge amount of energy to run, the other doesnt
reply
I agree with this sentiment.

LLMs are already so incredibly capable and will only get better and faster with time.

Learning a new programming language just feels redundant now.

reply
Learning a new programming language and getting good at it is extermely satisfying. I get no satisfaction out of AI writing code I dont understand, its quite the opposite actually.

It will be people who understand things and experiment still that will succeed in the world of AI. People who are meat proxies are screwed its already making you lazy and probably giving your brain a disease we haven't named yet, a type 2 diabetes-esque of the brain.

reply
vibes2wasm
reply