Release 2.6
Breaking changes
- removed deprecated libraries
(scheme srfi-Nnn), use(srfi Nnn)instead, - i/o scheduler enabled by default for reads, so manual embed code needs to do
(start-io-scheduler)before(fork-symbol-interner ...). nothing changed if you usemake-entryinstead of manually starting thread controller, or if you don't read any input. writefunction made r7rs-compliant, now you canreadthewriteoutput and have same result.- note: this can be used for libraries code minification (the
(write (read))removes comments and extra spaces)
- note: this can be used for libraries code minification (the
(owl format)moved to(otus format), because rewritten. this is for internal usage, but you must be warnedrender-xxxrenamed toformat-xxxfor symbols, strings, numbers, etc.
Just a reminder: in 2.4 -> 2.5 the system was renamed to execvp, and new system was introduced.
Major changes
- new i/o scheduler backported from owl-lisp (thx to Aki Helin).
- new functions
wait,wait-read,bell,call, and smarterwait-mail(part of new i/o scheduler) mailnow returns #false if mail is not delivered- printing regex is printing regex now (instead of #)
- tarvenv and tarfolders introduced (will be enabled by default in next ol version)
- the ol binary can now be standalone and include all required libraries along with the "autorun" script (new
olptarget added, newstandaloneexample added)
- the ol binary can now be standalone and include all required libraries along with the "autorun" script (new
- Unicode support updated to v.16.0.0
- "no more zombies" (c)
- ol (but not olvm) can handle pipes now
- win32 stdin goes really asynchronous (do not block background threads once user started typing in the windows terminal, grrrrr, i hate ms devs)
- regex library updated (added /|/ symbol,
\\, g// returns string for strings, etc.) =goes universal: can compare strings, vectors, etc.- new
#\comma,#\backslash,#\semicolon,#\formfeed,#\vtab, etc. constants #ff(...)notation added#u8(...)notation added- new function
write-simple
Minor changes
boxandunboxmoved to language core- 32-bit linux fix for large files
- new OLVM_OWNLOGGER config define
- wine HAS_ -> HAVE_ vars update
- win32 waitpid, execvp, http/server, makefile fixes
socketsyscall upgraded (now with protocol selection)(file xml),(file json) updated- build process updated (no more xxd required, for example)
statsyscall can be overriden likeopenorwrite- new
eachfunction - olvm internal: IHALT -> IEXIT
- fix for long port numbers
- write strings fixed (for "\")
- write and write-simple updated with proper #ff()
- new
(file html)library runtime-errornow can have only 1 parameterhttp/server: added mime types, unicode fix, etc.writespeedup- dlopen/dlsym moved to base library
- http library support websockets now (usage example)
- ... fixes, cleanups, notes, etc.
Complete log can be found in commit history.
Precompiled Binaries and Installation Packages
Repos packaging status (I'm working with updates):
PPA for the Ubuntu family (Mint, Pop!_OS, Xubuntu, etc.)
$ sudo add-apt-repository ppa:yuriy-chumak/ol
$ sudo apt update
$ sudo apt install ol
RH
CentOS 6
cd /etc/yum.repos.d/
wget https://download.opensuse.org/repositories/home:yuriy-chumak/CentOS_6/home:yuriy-chumak.repo
yum install ol
CentOS 7
cd /etc/yum.repos.d/
wget https://download.opensuse.org/repositories/home:yuriy-chumak/CentOS_7/home:yuriy-chumak.repo
yum install ol
RHEL
cd /etc/yum.repos.d/
wget https://download.opensuse.org/repositories/home:yuriy-chumak/RHEL_7/home:yuriy-chumak.repo
yum install ol
Windows
32-bit and 64-bit portable binaries are attached below as ol.win32.portable.zip and ol.win64.portable.zip.
These are standalone executables with the ol libraries integrated. Just extract it to the any PATH-accessible folder and use freely.
The usual installation wizard is also present below in Assets.
Additional Changes
- ...