Remix.run Logo
Owl Lisp – A functional Scheme for world domination(gitlab.com)
52 points by Lyngbakr 18 hours ago | 5 comments
foundry27 13 hours ago | parent | next [-]

The big-picture view is here: https://gitlab.com/owl-lisp/owl/-/blob/master/doc/manual.md

Key points include:

- 100% immutable datastructures

- Immutability is leveraged to make a lot of core operations concurrent

- Continuation-based threading model and Actor-based concurrency

- Fun little VM implemented behind the scenes

That being said, the documentation strongly contradicts the title!

> The goal has not at any point been to become an ultimate Lisp and take over the world

rurban an hour ago | parent | prev | next [-]

tests/theorem-rand.scm is beautiful!

e.g.

      theorem vec-zip
         ∀ v ∊ (Vector-of Short)
            (vector-zip + v v) = (vector-map (λ (x) (* x 2)) v)
ianbicking 15 hours ago | parent | prev | next [-]

The repo doesn't say much... I thought maybe the docs would justify "world domination" in some fashion, but they are rather dry: https://haltp.org/posts/owl.html

Is there something that describes what is notable about this Lisp dialect?

vincent-manis 11 hours ago | parent [-]

I haven't looked at it, but it's purely functional (so no destructive operations such as set!). It can't be called Scheme, because it's a subset of RnRS Scheme; that's why Racket isn't called PLT-Scheme any more. I can imagine this as a teaching tool (though the FAQ says the error messages aren't good), or perhaps usable as an extension language.

I'm going to look at it as a scripting tool that compiles to C.

I used to work for a company whose internal communication often claimed “world domination” as its ultimate goal. I just looked at revenue estimates for its market sector, this company isn't in the top 5, and is far behind the leader. Let's just leave Owl's world domination goal as aspirational.

tmtvl 4 hours ago | parent | prev [-]

I wonder why it's called 'Owl Lisp' instead of 'Owl Scheme'. Could make a funny parallel to Chicken Scheme.