Reserved space.
- Janet was upgraded to 1.25.1
- Zig was upgraded to 0.10.0
- Janet was upgraded to 1.23.0
- Janet was upgraded to 1.20.0
- Zig was upgraded to 0.9.0
All changes are most probably breaking.
- Janet was upgraded to 1.19.0.
- Major overhaul of C API.
- Module example is fully automated and native to jpm.
- Functions were moved into structs to be "methods":
continue
into FibercontinueSignal
into Fiberstep
into Fiberstackstrace
into Fiberpcall
into Functioncall
into FunctiontryInit
into TryStatetry
into TryStaterestore
into TryState
wrap
function overhaul:- All the functions which are applicable to data structures are moved into
these structures, for example
wrapTable
is moved intoTable.wrap()
. - All the named wrap functions are now with a signature
wrap(comptime T: type, value: T) Janet
so you can use it likewrap(i32, 3)
. wrapNumberSafe
is renamed tonumberSafe
.
- All the functions which are applicable to data structures are moved into
these structures, for example
unwrap
function overhaul:- All the functions except for abstract have changed their signature to
unwrap(janet: Janet, comptime T: type) !T
so you can use it liketry Janet.unwrap(i32)
.
- All the functions except for abstract have changed their signature to
string
function and corresponding for keyword and symbol are moved into their data structures into functionsinit
.stringv
function and corresponding for keyword and symbol are moved into Janet into functionsstring
,keyword
andsymbol
.symbolGen
function is moved intoSymbol.gen
.abstract
function is moved intoAbstract.init
andAbstract.initVoid
.- Introduce new
Environment
struct which is same asTable
but only allows operations specific to environment manipulation. - More data structures now have
init
orinitN
functions whereinitN
initializes with supplied data for collection data structures. Signal
return value is transformed intoSignal.Error!void
whereSignal.Error
is anything butok
signal.- Functions such as
pcall
only take[]const Janet
instead of both pointer and argument length. doString
anddoBytes
functions always returnJanet
value instead of accepting a pointer*Janet
as an argument.printf
->print
,eprintf
->eprint
.registerAbstractType
is removed in favor of justregister
.- Marshal/unmarshal type-specific functions live inside
MarshalContext
. getType
andoptType
functions are reworked to receive type as the very first argument.- "View" functions are moved inside
Janet
struct and now return a corresponding view data structure instead of getting the view from parameters by reference. getAbstractType
is moved insideJanet
.in
,get
,next
,getIndex
functions have their return type changedJanet
->?Janet
.JanetType
is nowJanet.Type
.fixarity
renamed tofixArity
.