zlacker

Lily Programming Language

submitted by Fascin+(OP) on 2026-02-01 21:53:12 | 24 points 14 comments
[view article] [source] [links] [go to bottom]
replies(3): >>onesev+fEb >>pansa2+KRb >>roxolo+qUb
1. onesev+fEb[view] [source] 2026-02-05 01:41:27
>>Fascin+(OP)
What I really want to see from a "*-programming-language" post on HN is _why_. Why Lily?
replies(3): >>andyfe+bGb >>pauldd+ZJb >>keyche+3Rb
◧◩
2. andyfe+bGb[view] [source] [discussion] 2026-02-05 01:56:58
>>onesev+fEb
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.

replies(2): >>keyle+cMb >>nofrie+wOb
◧◩
3. pauldd+ZJb[view] [source] [discussion] 2026-02-05 02:29:23
>>onesev+fEb
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).

replies(1): >>andsoi+OMb
◧◩◪
4. keyle+cMb[view] [source] [discussion] 2026-02-05 02:48:04
>>andyfe+bGb
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.

replies(1): >>nine_k+fQb
◧◩◪
5. andsoi+OMb[view] [source] [discussion] 2026-02-05 02:53:05
>>pauldd+ZJb
That’s what. Not why.
replies(2): >>pauldd+jPb >>nine_k+gRb
◧◩◪
6. nofrie+wOb[view] [source] [discussion] 2026-02-05 03:10:14
>>andyfe+bGb
a statically typed aot compiled scripting language is... not
replies(2): >>nine_k+0Rb >>LoganD+gTb
◧◩◪◨
7. pauldd+jPb[view] [source] [discussion] 2026-02-05 03:16:41
>>andsoi+OMb
The reason it exists is to provide those features when programming computers.
◧◩◪◨
8. nine_k+fQb[view] [source] [discussion] 2026-02-05 03:24:25
>>keyle+cMb
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.

◧◩◪◨
9. nine_k+0Rb[view] [source] [discussion] 2026-02-05 03:30:32
>>nofrie+wOb
"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.)

◧◩
10. keyche+3Rb[view] [source] [discussion] 2026-02-05 03:30:55
>>onesev+fEb
I am curious as well. some past readme has Why sections and I am not sure why they are removed/changed

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

◧◩◪◨
11. nine_k+gRb[view] [source] [discussion] 2026-02-05 03:32:44
>>andsoi+OMb
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.
12. pansa2+KRb[view] [source] 2026-02-05 03:36:20
>>Fascin+(OP)
> 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.

◧◩◪◨
13. LoganD+gTb[view] [source] [discussion] 2026-02-05 03:51:57
>>nofrie+wOb
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.

14. roxolo+qUb[view] [source] 2026-02-05 04:01:50
>>Fascin+(OP)
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.
[go to top]