oneseven 16 hours ago

What I really want to see from a "*-programming-language" post on HN is _why_. Why Lily?

  • andyferris 16 hours ago

    The README on gitlab at least has a sentence or two on that: https://gitlab.com/FascinatedBox/lily

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

    • keyle 15 hours ago

      Why do you think that's the future?

      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.

      • Syzygies 6 hours ago

        > Isn't a waste to essentially reinterpret an entire program that may be run 5000 times a day?

        This is a dated prejudice that I shared.

        To get started coding with AI I made a dozen language comparison project for a toy math problem. F# floored me with how fast it was, nearly edging out C and Rust on my leaderboard, twice as fast as OCaml, and faster than various compiled languages.

        Compiling could in principle be fastest, if we had compilers that profiled hours of execution before optimizing code, and only then for "stable" problems. No one writes a compiler like this. In practice, Just In Time interpreters are getting all the love, and it shows. They adapt to the computation. My dated prejudice did not allow for this.

      • nine_k 14 hours ago

        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.

    • bonesss 8 hours ago

      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.

      The .Net VM now supports AOT compilation.

      The future is now-ish :)

    • nofriend 15 hours ago

      a statically typed aot compiled scripting language is... not

      • satvikpendem 11 hours ago

        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.

      • nine_k 14 hours ago

        "Scripting" is a role: an embedded, human-friendly, compact language, also suitable for interactive work / REPL.

        (Laugh all you want, but Haskell has a rather nice REPL, and can work as a scripting language.)

      • LoganDark 14 hours ago

        Luau gets pretty close to statically typed and AOT compiled now. It's still 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.

        • mastermage 10 hours ago

          +1 for Luau which is just realy good.

  • EagnaIonat 10 hours ago

    > why

    Building a program language is like poetry. Everyone does it at some point, just most of us know never to share it.

    • saghm 7 hours ago

      That just moves the question to "why is this one being shared" then. I don't think "because the authors didn't know better than to avoid sharing it like 'most of us'" is a particularly good answer.

  • poulpy123 6 hours ago

    99.9% of the time it will be "just because"

  • paulddraper 15 hours ago

    From the link:

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

    • andsoitis 15 hours ago

      That’s what. Not why.

      • nine_k 14 hours ago

        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.

        • dismalaf 13 hours ago

          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.

          • paulddraper an hour ago

            Tell me more about Ruby generics….

          • nine_k 12 hours ago

            Is Ruby easy to embed in a C program?

            • debugnik 10 hours ago

              RPG Maker used to embed Ruby before it was cool (and before they switched to JS for web support).

            • bandrami 12 hours ago

              That was originally the point of Ruby

            • dismalaf 12 hours ago

              Yes -> https://mruby.org

              It's also incredibly easy to extend the main Ruby implementation with C, C++, Odin, Zig, Rust, Fortran, etc... Literally a few lines.

              • vidarh 7 hours ago

                The main Ruby implementation is also fairly easy to embed. It's just not easy to embed multiple MRI ruby instances in a single application, and it's also a lot bigger than mruby.

      • paulddraper 14 hours ago

        The reason it exists is to provide those features when programming computers.

pansa2 14 hours ago

> statically-typed

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

roxolotl 14 hours ago

I’m a sucker for little embeddable languages but I’m even more of a sucker for rpn. Wonderful little example shows how simple of a math scheme it is.

  • zombot 12 hours ago

    And not only math. See Forth as a reference.

lagniappe 8 hours ago

One thing I very much appreciate in new-lang posts is seeing a code example above-the-fold, front and center. Kudos to the authors.

aiexplorations 11 hours ago

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.

  • Rochus 7 hours ago

    Well, it's like a few people still make music, even if there is Suno ;-)

oncallthrow 8 hours ago

Why not just use Ok/Error which is an accepted idiom and shorter than Success/Failure?

I see this so often in new languages, making poor choices seemingly only to distinguish themselves from existing languages

publicdebates 4 hours ago

It uses refcounting, and GC for cycles. Sounds good. Why don't more Lua-likes?

boxed 9 hours ago

> for v in values: {

Both colon and {... why? And it seems very mixed in the example.

  • OJFord 8 hours ago

    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.

worldsavior 2 hours ago

Yet another programming language. Why not invest the time into fixing other languages? Is it really so important to have _that_ keyword and not having _that_ `;`? There are enough languages for probably all tasks.

7e 13 hours ago

Has anyone yet designed a language with the explicit goal of being cheapest/easiest to use by an AI coding agent?

  • nextaccountic 11 hours ago

    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)

    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

    • ngrilly 5 hours ago

      > Nerd: A language for LLMs, not humans

      Interesting take, because I think precisely the opposite. Coding agents let us produce a lot of code, code that we need to read and review. That means we need languages optimized for code generation by AI, and code review by humans.

  • poulpy123 6 hours ago

    I see tons one them regularly here. And it's probably useless because LLM need a ton of training data