Owl Lisp – A functional Scheme for world domination

  • 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

  • I knew that name (author, and lisp) was familiar: https://issues.chromium.org/issues/40054453

  • Or, consider Yuriy's fork, *Otus* Lisp

    https://github.com/yuriy-chumak/ol

    [more features, works in browsers vis webassembly too]

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

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

  • 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?

  • "Scheme for world domination", yet it has no Windows builds ;-)

    Also, from the examples it looks like it requires (or at least recommends) an APL keyboard, or around a dozen macros for characters like λ, ∀, ∊, etc.

    Still, this has to be one of the most practically useful Scheme (or Lisp) implementations that I've seen in a while.... Although it probably needs some getting used to for a Schemer who is used to having set! and friends....

  • I thought the project was dead.

  • > $ echo '(λ (args) (print "Hello, world!"))' | ol -x c | gcc -x c -o hello - && ./hello

    This is frightening, yet awesome.

  • Im curious, how many people comenting here program in lisp/scheme?