Is Lily intended to be (or could it be used as) a statically-typed alternative to Lua?
Personally I'm happy with dynamic typing for scripting - but I suspect many people would welcome a statically-typed option, and there don't seem to be many available.
F# and C# are typed scripting languages. F# is quite similar to python in script form (.fsx), and has OCamls expressiveness, exhaustive pattern matching, and type inference. That results in highly expressive, terse, and ergonomic domain code.
Isn't it a waste to run a test suite for a program that would run 1M times a day in production?
The key adjective here is successfully run. You want to detect any errors as early as possible. Ideally even at the early stages of writing the script, when a typechecker is already able to point at certain errors, and thus help avoid missteps in further design.
I script with Rust via cargo-script, it works great. Scripting is a task for when you want to achieve something in one file instead of a full blown application. It is not about the language, you can script in C or assembly if you so chose.
The why: because Lua, Python, JavaScript, Janet, etc lack many or all these features. And each of these features is known to make life easier for a human programmer.
Looking through that list of features, Ruby (the dynamic language I know best) has all but 1 built-in (and the other can be added with Gems). I'm guessing Python probably has them all too (but I don't know Python that well). They're pretty common. So the why still isn't clear.
I would like to understand the motivations for building another programming language when in fact, firstly, a lot of code is being written by Claude and the like, and secondly, the existing languages and low level options like C, Assembly have become more accessible now thanks to AI coding tools.
I have no knowledge of lily, but a good reason could be for example that you can do `: print(v)`, but need braces for a multi-line block. Or that braces are the difference between creating a new scope and not. It's not necessarily just syntax for the sake of it.
January 2026 might be the month of langs created to be used by AI. Usually the chief concern is saving on tokens, prompted by context window anxiety. (This completely disregards the fact that agents thrash the context window by doing wrong things, then attempting to fix them; or by reading unrelated stuff; or by calling unhelpful tools; etc)
Not a language, but we are having very good success using https://brannn.github.io/simplex/ for autonomous one-shot workflows. It seems to be a very high-fidelity input for LLMs.
> Embed/extend in C
Is Lily intended to be (or could it be used as) a statically-typed alternative to Lua?
Personally I'm happy with dynamic typing for scripting - but I suspect many people would welcome a statically-typed option, and there don't seem to be many available.
this have "Why" section https://gitlab.com/FascinatedBox/lily/-/blob/d3ace2907747106...
this have "How Lily stands out from other languages:" section https://gitlab.com/FascinatedBox/lily/-/blob/785a88534cced53...
> An interpreted language with a focus on expressiveness and type safety
Personally I think typed scripting languages could be the future. They should support AOT compilation where necessary.
The .Net VM now supports AOT compilation.
The future is now-ish :)
Isn't a waste to essentially reinterpret an entire program that may be run 5000 times a day?
AOT compilation, how is that different than make && run?
At some point, you have a compiled language, if it's quick to compile, you're doing the AOT yourself, the scripting is an illusion. Pun intended.
The key adjective here is successfully run. You want to detect any errors as early as possible. Ideally even at the early stages of writing the script, when a typechecker is already able to point at certain errors, and thus help avoid missteps in further design.
(Laugh all you want, but Haskell has a rather nice REPL, and can work as a scripting language.)
Even C or Rust can be a scripting language. You just integrate the toolchain to your app, same as every other scripting language.
Building a program language is like poetry. Everyone does it at some point, just most of us know never to share it.
> Key features of Lily:
> Built-in template mode
> Embed/extend in C
> Single-inheritance classes
> Exceptions
> Generics
> Algebraic data types (with Option and Result predefined).
It's also incredibly easy to extend the main Ruby implementation with C, C++, Odin, Zig, Rust, Fortran, etc... Literally a few lines.
I see this so often in new languages, making poor choices seemingly only to distinguish themselves from existing languages
Both colon and {... why? And it seems very mixed in the example.
https://news.ycombinator.com/item?id=46450217 Nerd: A language for LLMs, not humans (1 Jan 2026)
https://news.ycombinator.com/item?id=46571166 Show HN: GlyphLang – An AI-first programming language (11 Jan 2026)
https://news.ycombinator.com/item?id=46583581 Show HN: B-IR – An LLM-optimized programming language (12 Jan 2026)
https://news.ycombinator.com/item?id=46684958 Nanolang: A tiny experimental language designed to be targeted by coding LLMs (19 Jan 2026)
See also
https://news.ycombinator.com/item?id=46582728 Which programming languages are most token-efficient? - where someone said "Someone has made a programming language called Sui, which is said to be designed for LLMs." https://github.com/TakatoHonda/sui-lang
And many other threads I didn't find right now