Skip to content

v1.1

Compare
Choose a tag to compare
@TheRealMichaelWang TheRealMichaelWang released this 20 Jun 02:57
· 117 commits to main since this release
1b0e70b

Many important bug fixes were made in this release. In addition, many amenities have been added to SuperForth:

New Features:

  • Added Runtime Type Information
    • Supports Type-Safe downcasting (parent to child type).
    • Supports Runtime "Type Checking" (ie fallible<T> is error<any>)
    • Enables sum-types, and "enums".
  • Call stack trace backs are displayed upon a runtime error.
  • Implicit return nothing's.
  • Syntactic Sugar for procedures and code blocks
    • The fast return (=>) keyword, (ie proc(int a, int b) => a - b).
    • Code blocks with one statement don't need encapsulating brackets (ie while(true) continue;).
    • For loops (in sum, glorified while loops after abstraction).
  • Rewrote and reorganized the standard library
    • Added some common data structures (list, linked list, and hashmap).
    • Added the fallible<T> sum type for error handling and basic tuple types (pair<A, B>, triple<A, B, C>)
    • Added some basic sorting algorithms(bubble and quicksort)
  • A Compiler (emits C from cish IL)
    • Can emit Vex/PROS compatible C-code as well

Bug Fixes:

  • Fixed many type checking bugs.
    • A runtime downcasting substitution issue (#39).
    • Record instantization issue with type arguments (#35).
    • Fixed many runtime type signature atomization issues.
    • Fixed garbage collector issues with the reset stack (#27, #21).

Full Changelog: 1.0...1.1

What the following files are:

File Description Target Architecture Build Date
superforth.exe A cygwin gcc build of the interpreter for windows x64 6/19
superforth-msvc-x64 A MSVC build of the interpreter x64 6/19
superforth-msvc-x86 A MSVC build of the interpreter x86 6/19
capote.exe A cygwin gcc build of the compiler for windows x64 6/19
stdlib.zip A zip of the stdlib. Works with both compiler and interpeter. N/A N/A
stdheader.c A file required for the compiler. N/A N/A