Live data from Hacker News

Coalton: How to Have Our (Typed) Cake and (Safely) Eat It Too, in Common Lisp

coalton-lang.github.io

21–30 of 31 posts

Re: Coalton: How to Have Our (Typed) Cake and (Safely) Eat It Too, in Common Lisp

#21

Not really related to the type system and bridging, but can the compiled code run in real-time without interference by the garbage collector? Can you define an entire thread running statically typed code which never gets interrupted by the garbage collector? C# definitely can't do the latter. Or am I confusing "statically typed" and "no GC"? Sadly a lot of even statically-typed languages lack support for transparentl…

They’re different concepts. Statically typed doesn’t mean that lifetimes are determined statically.

Re: Coalton: How to Have Our (Typed) Cake and (Safely) Eat It Too, in Common Lisp

#22

So, why is it named "Coalton"?

According to the OP, it's from http://mlton.org/ (see https://coalton-lang.github.io/20211010-introducing-coalton/... )

Ah, thanks, I missed that. So "Coalton" from "CLTon", presumably "Common Lisp" + "MLTon"; that just leaves the question of where "MLTon" comes from. "ML" from ML, yes, but whence the "Ton"?

Re: Coalton: How to Have Our (Typed) Cake and (Safely) Eat It Too, in Common Lisp

#23

Earlier quoted context omitted.

According to the OP, it's from http://mlton.org/ (see https://coalton-lang.github.io/20211010-introducing-coalton/... )

Ah, thanks, I missed that. So "Coalton" from "CLTon", presumably "Common Lisp" + "MLTon"; that just leaves the question of where "MLTon" comes from. "ML" from ML, yes, but whence the "Ton"?

MLton is like a person’s name, pronounced “Milton”.

Re: Coalton: How to Have Our (Typed) Cake and (Safely) Eat It Too, in Common Lisp

#24

Not really related to the type system and bridging, but can the compiled code run in real-time without interference by the garbage collector? Can you define an entire thread running statically typed code which never gets interrupted by the garbage collector? C# definitely can't do the latter. Or am I confusing "statically typed" and "no GC"? Sadly a lot of even statically-typed languages lack support for transparentl…

"Statically typed" means roughly that variables have known types at compile time, for whatever the word "type" means in your chosen language. "No GC" means, well, that there is no runtime entity that manages memory cleanup for you. They are totally unrelated.

Re: Coalton: How to Have Our (Typed) Cake and (Safely) Eat It Too, in Common Lisp

#27

I am honestly curious: what makes CL so fitting for this domain?

the article has interesting details: the tldr is that they do quantum computing programming, for which they say CL is great and they have a huge CL code base to work with.

Re: Coalton: How to Have Our (Typed) Cake and (Safely) Eat It Too, in Common Lisp

#28

Earlier quoted context omitted.

Ah, thanks, I missed that. So "Coalton" from "CLTon", presumably "Common Lisp" + "MLTon"; that just leaves the question of where "MLTon" comes from. "ML" from ML, yes, but whence the "Ton"?

MLton is like a person’s name, pronounced “Milton”.

I see, thanks!

Re: Coalton: How to Have Our (Typed) Cake and (Safely) Eat It Too, in Common Lisp

#29

Earlier quoted context omitted.

what is your view on Clojure.spec?

I’m not the person you’re asking, but speaking as someone who: 1. Learned to program in dynamic languages; 2. Learned FP in Clojure; 3. Writes [mostly, wherever possible] FP code in TypeScript for the last several years… … I wish Clojure.spec was this or something a lot like it instead. It’s cool that Clojure tried a novel approach to defining interface boundaries in a dynamic language. Other approaches (TS, Python,…

Ever try PureScript?

Re: Coalton: How to Have Our (Typed) Cake and (Safely) Eat It Too, in Common Lisp

#30

Earlier quoted context omitted.

I’m not the person you’re asking, but speaking as someone who: 1. Learned to program in dynamic languages; 2. Learned FP in Clojure; 3. Writes [mostly, wherever possible] FP code in TypeScript for the last several years… … I wish Clojure.spec was this or something a lot like it instead. It’s cool that Clojure tried a novel approach to defining interface boundaries in a dynamic language. Other approaches (TS, Python,…

Ever try PureScript?

I have not, but a big part of the appeal of Coulton to me is that it’s a lisp.

I think if I were looking at an ML language I’d be more inclined toward F#.

Post reply on HN