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-entry
instead of manually starting thread controller, or if you don't read any input. write
function made r7rs-compliant, now you canread
thewrite
output 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-xxx
renamed toformat-xxx
for 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) mail
now 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
olp
target added, newstandalone
example 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
box
andunbox
moved 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
socket
syscall upgraded (now with protocol selection)(file xml)
,(file json
) updated- build process updated (no more xxd required, for example)
stat
syscall can be overriden likeopen
orwrite
- new
each
function - 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-error
now can have only 1 parameterhttp/server
: added mime types, unicode fix, etc.write
speedup- 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
- ...