Otus Lisp

A purely functional dialect of Lisp.

An extended subset of the R7RS Scheme with FFI and some SRFI. Tiny (~ 64KB), embeddable and cross-platform.

Otus Lispotus_lisp
2024-10-24

Large RESOURCE-SAVING update to ! 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 - github.com/yuriy-chumak/ol/tre

Stay with us!

Otus Lispotus_lisp
2024-07-18

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

launchpad.net/~yuriy-chumak/+a

Otus Lispotus_lisp
2024-04-13

'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: github.com/yuriy-chumak/ol/tre

Otus Lispotus_lisp
2024-03-17

@sri GTK-4 is planned.

Otus Lispotus_lisp
2024-03-16

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!

Otus Lispotus_lisp
2024-03-13

Continue upgrading -3 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..

github.com/yuriy-chumak/ol/tre

Otus Lispotus_lisp
2024-03-05

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

Native calls are still available, sure.
github.com/yuriy-chumak/ol/blo

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).]

Otus Lispotus_lisp
2024-02-09

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

github.com/yuriy-chumak/ol/blo

Otus Lispotus_lisp
2024-02-09

Made a multi-platform test (PI calculation) using void-linux toolset.

It can be seen that works (at least) with long number math under arm, aarch64, x86, x86_64, mips, ppc, ppc64.

Only ppc-LE has not been tested because I can't find how to emulate it :(

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst