Skip to content

Releases: bksaiki/Minim

Minim v0.3.5

27 Feb 01:16
Compare
Choose a tag to compare

This release is likely the last for the current variant of Minim. Development will shift to a new bootstrapped / compiled version of Minim. The default variant of Minim can now be built with the Boehm-Demers-Weiser conservative garbage collector. Most of the development for this release pertains to the new bootstrap interpreter.

What's Changed

Full Changelog: v0.3.4...v0.3.5

Minim 0.3.4

06 May 06:19
Compare
Choose a tag to compare

Summary

Added:

  • primitive record procedures
    • records are now primitive types
    • most record manipulation done through macros
  • additional sequence manipulation
    • sequences are no longer primitives
    • implemented using records
      Internals:
  • simpler garbage collector
  • separate expander pass
  • module vs. module instantiation
    • one module per file during runtime
    • module instance every time a file is imported
  • compiler to pseudoassembly
    • translation to flat syntax
    • optimization passes
    • register allocation
  • partial support for native function calling (more to come!!!)

Feature List (by PR)

Full Changelog: v0.3.3...v0.3.4

Minim 0.3.3

11 Dec 06:24
Compare
Choose a tag to compare

This release of Minim mostly makes internal improvements:

  • syntax objects are now just wrappers around basic Minim objects
  • symbols are interned by default so symbol table lookup can be done via pointer comparison.
  • tail calling is now implemented via longjump.
  • symbol table and hash table implemented with linked list buckets

What's Changed (by PR)

Full Changelog: v0.3.2...v0.3.3

Minim 0.3.2

19 Sep 02:39
c8102a0
Compare
Choose a tag to compare

This release of Minim overhauls the macro system to adhere more closely to the R6RS standard and adds new features: control constructs like call/cc and case-lambda, file ports, records, and an expanded list library.

Minim 0.3.1

15 Aug 03:17
Compare
Choose a tag to compare

This release of Minim features an expansion of the standard library using the macro system introduced in the last version. Primarily, v0.3.1 introduces modules - each file can export and import symbols to and from other files, and moves many existing procedures to the standard library. In addition, support for characters is now available as well as addition string procedures.

Minim 0.3.0

28 Jul 04:15
b7442f3
Compare
Choose a tag to compare

This is the first official (beta) release of the Minim language after 10 months of development. The language features 168 procedures, constants, etc including most essential math, string, list, vector, and hash table functions as well as basic syntax macros. Features may be altered or removed entirely in future versions.