Releases: ArkScript-lang/Ark
Releases · ArkScript-lang/Ark
ArkScript v3.0.6-b
3.0.6-b
Added
- adding
lib/Functional.ark
to store(compose f g)
Changed
- the VM now deletes all scopes except the global one in case of failure, when the persisting flag is set
- fixing plugin importation
ArkScript v3.0.6
3.0.6
Added
- function arity handling in the VM, can be disabled with the option
-fno-function-arity-check
sliceStr
inlib/Slice.ark
, taking a string, a starting index (can't be less than 0), and the length (can't be less than 1), returning a portion of the given stringreverseStr
inlib/Reverse.ark
taking a string and returning it in reverse
Changed
- updated the include module, which was randomly adding
/
before the path of the files - dispatched the unit tests in multiple files
- now using a separated class to hold the description values for the VM
- updated assertions in
split
inlib/Split.ark
(works only with single character separators) - fixing import bug
ArkScript v3.0.5
3.0.5
Added
- the parser can now recognize expressions like
((f f) x)
- we can now create
Ark::Value
with floats
Changed
- the
init()
internal method of the VM shouldn't stop when a binded function isn't used in the code, just ignore it - the compiler shouldn't crash on a bad code block
- better line counter in lexer
- the VM shouldn't try to run a non-existing bytecode file if the compilation fails (when calling
doFile()
) VM.call
should returnnil
if the stack is empty, otherwise it results in avector subscript out of range
and that's bad- the SFML plugin was updated to run on Windows
Shipping with the compiled modules this time
ArkScript v3.0.4
Change log
3.0.4
Added
- with the option
-L|--lib
we can set the path to the ArkScript standard library - we can now load C++ lambdas into the ArkVM, as well as C++ functions
- adding function
sleep
, taking a duration in milliseconds - adding function
system
, taking a command from a string ; can be deleted ifARK_ENABLE_SYSTEM
is set to 0 in the CMakeLists
Changed
- updating CMakeLists.txt to avoid building unuseful stuff from google benchmark
toNumber
doesn't raise an unrecoverable error but returnsnil
if the conversion failedprint
no longer add a space between each element- updating the way the builtins are handled (in VM/FFI) to make it easier to add functions
Removed
doc
folder, now everything is on the wiki
ArkScript v3.0.3
3.0.3
Added
- should be able to compare lists
- chained operators:
(+ 1 2 3)
is automatically expanded (at compile time) into(+ (+ 1 2) 3)
by the compiler
Changed
- some functions playing with list should also be able to play with Strings:
headof
,tailof
,firstof
,len
,empty?
,@
firstof
should segfault when the list/String is empty- fixing type of
nil
to be"Nil"
instead ofnil
when using(type nil)
- uniformised names of builtins: pascal case (impacted functions are
firstOf
,headOf
andtailOf
, as well ashasField
) - fixing bug with
writeFile
when sending a mode: the mode was also the content of the file, it no longer is
ArkScript v3.0.2
Windows version built with Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Linux version built with g++-8 (Ubuntu 8.3.0-6ubuntu1~18.04.1) 8.3.0
ArkScript v3.0.1
adding syntax highlighting for nano