Skip to content

Releases: OJarrisonn/vaca

Alpha v0.5.7

24 Jan 13:22
Compare
Choose a tag to compare
Alpha v0.5.7 Pre-release
Pre-release

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 and format 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

20 Jan 15:31
Compare
Choose a tag to compare
Alpha v0.5.3 Pre-release
Pre-release

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

19 Jan 20:22
Compare
Choose a tag to compare
Alpha v0.3.0 Pre-release
Pre-release

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 and reduce implemented
  • Partial resolution of functions
  • .leite are now .casco files
  • Redefined project milestones [wip]

Alpha 0.1.0

18 Jan 00:55
Compare
Choose a tag to compare
Alpha 0.1.0 Pre-release
Pre-release

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
    • print
    • basic arithmetic (+, -, *, /)
    • relational operators (<, >, <=, >=)
    • boolean and and or (&, |)
  • Command line interface
    • repl: starts a repl interactive environment
    • run <file>: reads a .vaca or a .leite file and executes it
    • build <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