Otus Lisp

@otus_lisp
12 Followers
0 Following
12 Posts

A purely functional, multi-platform Lisp dialect with built-in FFI, regular expressions and infix math notation support.

It implements an extended subset of R⁷RS Scheme and some SRFIs. It's tiny (~ 64KB), embeddable, and incredibly beautiful.

githubhttps://github.com/yuriy-chumak/ol
homehttp://yuriy-chumak.github.io/ol/
older postshttps://twitter.com/otus_lisp

#Ol #Scheme #Lisp

Finally! All the issues with FFI are resolved. We have a green table with no red Xs.

Time to test all the examples, some third-party programs and libraries, and... we'll be ready for the next release!

Sorry for the three-month delay. But the proven support for an extended list of platforms was worth it.

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

#Lisp #Scheme

The Ol test matrix largely upgraded. It's now available online. Tiers of hardware platforms support introduced. It helps us create a truly high-quality product.

#Ol 2.7 expects to be very important version.
https://github.com/yuriy-chumak/ol

#Lisp #Scheme

As a part of preparation the next version (#Ol 2.7), the automated testing script has been updated. We now have a new test matrix not even for x86, but also for mips and arm64, including big-endian architectures!

Github actions will be updated soon.

#Lisp #Scheme

Large RESOURCE-SAVING update to #Ol! Backport of the owl-lisp i/o scheduler.
Already in the master branch. Coming soon in the new 2.6 version.

1000 working threads: 93,3% CPU reduced to ✨0%.
New features and code comparison are shown in the "now-before" picture.
This is a really long-awaited feature. Finally.

The code, as usual - https://github.com/yuriy-chumak/ol/tree/master/examples/sleeper

Stay with us!

ol/examples/sleeper at master · yuriy-chumak/ol

Otus Lisp (Ol in short) is a purely* functional dialect of Lisp. - yuriy-chumak/ol

GitHub

#Ol #Lisp #Scheme #R7RS

We have become more Ubuntu (Mint, Pop!_OS, etc.) friendly. We launched our own PPA!

https://launchpad.net/~yuriy-chumak/+archive/ubuntu/ol

Otus Lisp (Ol) : Yuriy Chumak

Otus Lisp (Ol in short) is a purely functional dialect of Lisp. It implements an extended subset of R7RS Scheme includes, but is not limited to, some of the SRFIs. It's tiny (~42kb), embeddable and cross-platform; provides a portable, high-level way to call code written in other languages. You can use Ol in GNU/Linux, Windows, Unixes (macOS, Solaris, kinds of BSD), Android, webOS, Minoca and lot of other operation systems based on various hardware architectures (x86/x86_64, arm, aarch64, pp...

Launchpad

#lisp #Scheme

#Ol's reference docs are always up to date because it's not just a text, but code examples that auto tested every time they're pushed to github (and while being writing).
And, as a bonus, it helps to avoid regressions.

The Ol's reference: https://github.com/yuriy-chumak/ol/tree/master/doc/reference

ol/doc/reference at master · yuriy-chumak/ol

Otus Lisp (Ol in short) is a purely* functional dialect of Lisp. - yuriy-chumak/ol

GitHub

#Lisp #Scheme #r7rs

#Ol received an automatic one-liner!
Just do `(write (read))` on any Ol library and you'll clear the source code of comments and unnecessary whitespaces.

Yeah, really. Just read it and then just write!

That's it for speeding up reading! And for "portable" Ol!

#lisp #Scheme

Continue upgrading #GTK-3 #Ol support. Reworking examples and adding basic docs.

I'm thinking about GTK-4 - is it worth to add support into basic library, or move it into external one (like newton-dynamics, ol-algebra, etc.) package? Hmm..

https://github.com/yuriy-chumak/ol/tree/master/examples/GTK

ol/examples/GTK at master · yuriy-chumak/ol

Otus Lisp (Ol in short) is a purely* functional dialect of Lisp. - yuriy-chumak/ol

GitHub

#lisp #Scheme #r7rs

A new high-level #Ol interface to #GTK-3 started. No more hard to read c-like calls with long lines, just a clear lisp.

Native calls are still available, sure.
https://github.com/yuriy-chumak/ol/blob/master/samples/GTK/1.0.%20Hello%20World.lisp

Comparison of the same "hello world"s. Left side is "before", right is "after":

[i'm still thinking about final form of calling object methods - ((window 'add) widget) or (window 'add widget).]

ol/samples/GTK/1.0. Hello World.lisp at master · yuriy-chumak/ol

Otus Lisp (Ol in short) is a purely* functional dialect of Lisp. - yuriy-chumak/ol

GitHub

#Lisp #Scheme #r7rs

#Ol has a great feature - infix notation.
This makes math coding as easy and natural as other commonly used languages.

In my experience, prefix math notation is the most difficult part of any Lisp (in the sense of ease usage, not in the sense of mind-bending abstractions).

https://github.com/yuriy-chumak/ol/blob/master/doc/reference/infix-notation.md

ol/doc/reference/infix-notation.md at master · yuriy-chumak/ol

Otus Lisp (Ol in short) is a purely* functional dialect of Lisp. - yuriy-chumak/ol

GitHub