Releases: OJarrisonn/vaca
Releases · OJarrisonn/vaca
Alpha v0.5.7
Vaca v0.5.7
Changelog
- Improved error report
- Added support for user defined macros using
[( -> )
syntax - Added support for partial resolution of macros
- Added pipe forward
|>
macro andformat
function - Proper treatment for NaN
- Added back
;env
in repl to show all defined symbols
Unfinished Added Features
- Don't cares
- Library importing
Technical Changes
- Using mold as unix linker
- Using linked lists as type for handling arrays rather than vectors
Alpha v0.5.3
Vaca v0.5.3
Fixes
- Negative numbers were interpreted as symbols
Changelog
- Symbols can't start with
-
- Extended math library with: power, b-root ($a ^ (1/b)$), modulus, integer division, max, min
- Extended array library with: scan, nth, append, prepend, concat
- Extended io library with: parse-int, parse-float
- Temprary removed
;env
repl meta command - Project folder restructure (for future vaca-core release)
- All values are now better reference counted
Alpha v0.3.0
Vaca v0.3.0
Fixes
- Recursion always lead to stackoverflow due to if's not being lazy
- Repl didn't permit inline navigation
Changelog
- Repl is the default mode when no subcommand informed
- Native defined macros
- Improved repl experience with history, history navigation and inline navigation
- Array
map
andreduce
implemented - Partial resolution of functions
.leite
are now.casco
files- Redefined project milestones [wip]
Alpha 0.1.0
Vaca v0.1.0
Features
- Variable declaration using
#()
, giving a name and a value - Function creation using
<( -> )
, passing args names before->
and passing the body after it - Basic data types: integer, float, bool, char, string
- Array type
- Nil type
- Basic standard library with:
- if
- basic arithmetic (+, -, *, /)
- relational operators (<, >, <=, >=)
- boolean
and
andor
(&, |)
- Command line interface
repl
: starts a repl interactive environmentrun <file>
: reads a.vaca
or a.leite
file and executes itbuild <input> [output]
: reads a.vaca
file and compiles it to a.leite
file (if no output provided, the output name will be the same as the input, just replacing the extension)
Known issues
- recursion leads to stack overflow
- poor error messages