2.3.7
Major changes
- fasl format made 32-/64-bit cross-independent,
- unicode support updated to the 14.0.0.
- new language entity type
constructor
,- constructors run by fasl decoder automatically, you don't need to run them by yourself,
- new async/await interface:
(otus async)
,- new
async
,await
, andactor
functions, (interact ...)
is deprecated, use(await (mail ...))
instead,
- new
- new r7rs
cons*
introduced instead of deprecatedilist
, - command line updated:
- 'version' option update,
- OL_HOME and --home= supports ':' as path delimiter,
- ",save" repl command added
- no ffi restoration supported, use with care!,
- new experimental
vm:set!
virtual machine command, (define-values)
inside lambda, begin, etc.,- GC improvements,
- new REPL ",disassembly" command,
- new simple http server:
echo ,load "http/server"| ol
, runtime-error
is no more silent in async functions,raise
andraise-continuable
introduced,with-exception-handler
implementation,- ff's
(get ...)
speedup, - linux/x64 ffi vararg support,
- new function
idf
(IDentity Function), #i
and#e
r7rs numeric prefixes added,(owl parse)
upgrade:lazy+
andlazy*
provided,- pinned objects system became a flexible,
- ffi support vectors as ptr, not only lists,
- experimental standalone
olvm
binary- installer produces
ol
andolvm
binaries both,
- installer produces
- added
suffix
modifier to thedefine-library
, - s-exp parser update, 10% speedup,
- new
(file sexp)
library added - etc.
Precompiled Binaries and Installation Packages
Installation package for Windows binaries can be found in section "Assets".
Precompiled Android (arm64-v8a, armeabi-v7a, x86, x86_64) binaries can be found in section "Assets".
Installation packages for
- CentOS: 7 (i686, x86_64), 6 (x86_64),
- Debian: 8.0 (i386, amd64), 7.0 (i386, amd64)
- openSUSE: Tumbleweed (i586), Factory PowerPC (ppc64), 13.2 (i586, x86_64), 31.1 (i586, x86_64)
- RHEL: 7 (ppc64, x86_64), 6 (i686, x86_64), 5 (i386, x86_64)
- ScientificLinux: 7 (x86_64), 6 (i386, x86_64)
- SLE: 11 SP4 (i586), 10 SDK (i586, x86_64)
- Ubuntu: 16.04 (i386, amd64), 14.04 (i386, arm64, amd64), 12.04 (i386, amd64)
- Univention: 4.0 (i386, amd64)
- PowerKVM: 3.1 (ppc64le)
available at openSUSE Build Service
Installation packages for
- Windows: attached below.
- Android: attached below.
Release Notes
- math improvements,
- inexact numbers made endiannes independent,
- etc.
- fasl decoder updated,
- (owl fasl) -> (otus fasl),
- fasl ignores data after the end of decoded stream,
- a lot of new autotests,
- some olvm codes changed,
- big-/little- endian works,
- lot of libraries updates,
- more scheme compliance,
exit
andemergency-exit
fixed and added as part of (scheme base) library,(get-environment-variables)
is workable now,- added
(scheme srfi-27)
, nice interface to sources of random bits, - r7rs
current-input-port
,current-output-port
, andcurrent-error-port
, (owl interop)
->(owl async)
,vector-fold
added,- more rosettacode examples,
- more gtk+ samples,
- added negation of complex numbers
- deprecated (gl:get-/set-userdata) cleanup,
- ffi: fft-any type processing improved,
- new
write-bytevector
andwrite-bytestream
functions, - sockets async by default,
- new
3d-game-shaders-for-beginners
examples, - utf8-decode became a lazy,
- more deprecations:
CLOS1
,CLOC1
,OCLOSE
,CLOSE1
, - wasm build update
(lib gl1)
->(lib gl-1)
,(lib gl2)
->(lib gl-2)
,(lib gl3)
->(lib gl-3)
,(lib gl-2)
supports geometry shaders,libsoil
update,- fix
bytestream->file
and introducebytestream->port
, - new datum #vptr,
- M1 support added,
- new
vptr->string
function, - new
(lib kore)
library with samples, - new library
(lang embed)
, - ffi test output makes 32- and 64-bit equal,
- flexible void** marshaling (supported strings as part of void** array),
- new string chars:
\v
(11, vertical tab),\f
(12, line feed), (ff-union a b collide)
->(ff-union collide a b ...)
,string-ci*
functions moved to(scheme char)
, REPL size reduced,- unicode update:
char-alphabetic?
,char-numeric?
,char-whitespace?
, (string-copy)
added,(lib leveldb)
draft,set-ref!
opcode changed from 10 to 109 (part of set-ref), code cleanup,vm:makeb
->vm:alloc
,make-promise
added,case-apply
draft function,vm:maxvalue
->vm:vmax
,vm:valuewidth
->vm:vsize
,- added srfi-11,
- new function
ff-replace
, - OpenGL 1.0 interface update,
- fix: (vm-cast 'any-number' type-rational) is working for any number,
vector-foldr
added,- 8bit cpu (LogicWire) example,
- empty symbol ('||) is allowed,
- scheme
digit-value
function, - async-linked now can be anonymous
- ’(owl lazy)’: new
lfind
function, verbose-ol-error
moved to the own library (lang error),- parser update:
rest-of-line
function available publicly, - NeXTSTEP
.plist
parser added, - added
(deserialize-parser file)
function, - fix:
abs
accepts inexact numbers, - new function
ff-for-each
. just it. - macOS
sendfile
fix, - reduced gc start count by 1 (important spedup),
- fix for macOS crash (invalid IP after GC for some rare conditions),
- etc.