Skip to content

Releases: GuiltyDolphin/angle

Angle 0.8.0

21 Nov 17:54
Compare
Choose a tag to compare
Bug fixes
  • Variables escaping scope in try...catch statements.
  • Line numbers in exceptions.
  • read returning wrong value.
New features
  • REPL will only print the first few (and last) elements of long lists and strings.
  • Adds local built-in function for accessing local variables with string names.
  • Allows additional scope capturing with closures.

Angle 0.7.0

21 Nov 17:42
Compare
Choose a tag to compare
Bug fixes
  • Including files.
  • Comparison operators.
  • Syntax generation for try...catch.
New features
  • Improves benchmarks.
  • Adds a divideByZero exception.
  • Improves code-base.
  • Improves error messages.
  • Adds support for nonlocal assignment.

Angle 0.6.0

21 Nov 17:40
Compare
Choose a tag to compare
  • Indexing works more like Haskell's tail and init functions.
  • Allows whitespace to be used in more places.
  • Improves file including.

Angle 0.5.0

21 Nov 17:39
Compare
Choose a tag to compare
Parameter constraints:
  • Can now be used with catch arguments.
  • Can now be passed additional arguments.
  • Can call functions as constraints outside of arguments.
Closures:
  • New implementation of closures for capturing scope.
Error system:
  • New nonEnum exception.
  • Error messages now state the keyword that can be used to catch the
    exception.
  • Fixes an issue with line numbering.
Built-ins:
  • New built-ins:
    • Variable: _it which contains value of last expression.
    • Variable: as_class, a boolean that is true if the current call
      context is a constraint.
Operators:
  • New exponentiation operator.

Angle 0.4.0

21 Nov 17:38
Compare
Choose a tag to compare
  • Adds list expansion in operations.
  • Adds support for including source from other files.
  • Implements addition on strings.
  • Adds support for multiple catch terms.

Angle 0.3.0

21 Nov 17:37
Compare
Choose a tag to compare
  • Adds support for file IO.
  • Adds support for user exception handling.
  • Improves existing functionality.
  • Adds support for shell interaction.

Angle 0.2.0

21 Nov 17:36
Compare
Choose a tag to compare

Major components implemented:

  • Scanner - implements basic parsing functionality.
  • Types - language representation in Haskell.
  • Lexer, Tokenizer, Parser - converts from source to AST.
  • Fundamental language structures such as loops and data structures.
  • Implements a basic error system.