Loon: A functional lang with invisible types, safe ownership, and alg. effects

loonlang.com

28 points

surprisetalk

a day ago


5 comments

luckymate 4 minutes ago

I think I am in love. Clojure + Rust, everything is typed, but I don't need to annotate. And algebraic effects that I really wanted to explore in Ocaml, but now can do it in language with way easier syntax. I might be missing bit of Clojure dynamic nature, but it looks like a bunch of really interesting ideas in one language.

xigoi 4 minutes ago

Looks great! However, the website is really slow. Every page takes several seconds to load and trying to open the reference freezes my browser.

phpnode an hour ago

The pattern matching example has a type Shape which is never referenced and this seems to conflict with the idea that you never write a type, am I missing something obvious?

  • KPGv2 26 minutes ago

    I think they mean you never write types for your variables or functions. They don't mean you can't create types. That's the reference to Hindley–Milner type system and type inference. You don't have to say

    x : Nat x = 5

    You just say x = 5

    I personally don't like that you don't seem to be able to manually describe the type for a fn/var, because it's very useful when prototyping to write stubs where you provide the typedef but then the actual variable/function is just marked as "todo"

weitendorf an hour ago

Very cool! I’ve been flirting with the idea of biting the bullet and moving more towards language extensions around protobuf/grpc vs just tools so it’s really great to see projects on the other side of that kind of decision shipping and what choices they made

Why the square brackets in particular? Notation is such an annoying part of this stuff, I’m actually leaning towards pushing a lot of structure to the filesystem