Skip to content

Releases: ArkScript-lang/Ark

ArkScript v3.0.6-b

09 Oct 14:47
Compare
Choose a tag to compare

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

07 Oct 08:57
Compare
Choose a tag to compare

3.0.6

Added

  • function arity handling in the VM, can be disabled with the option -fno-function-arity-check
  • sliceStr in lib/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 string
  • reverseStr in lib/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 in lib/Split.ark (works only with single character separators)
  • fixing import bug

ArkScript v3.0.5

04 Oct 18:45
Compare
Choose a tag to compare

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 return nil if the stack is empty, otherwise it results in a vector 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

01 Sep 09:45
Compare
Choose a tag to compare

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 if ARK_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 returns nil if the conversion failed
  • print 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

23 Aug 21:20
Compare
Choose a tag to compare

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 of nil when using (type nil)
  • uniformised names of builtins: pascal case (impacted functions are firstOf, headOf and tailOf, as well as hasField)
  • 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

22 Aug 16:43
Compare
Choose a tag to compare

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

25 Jul 16:48
Compare
Choose a tag to compare
adding syntax highlighting for nano