Skip to content

Releases: acook/blacklight

v0.2.0

10 Mar 12:50
Compare
Choose a tag to compare
v0.2.0 Pre-release
Pre-release

What's Changed

  • better error messages by @acook in #23
  • Standardize Refl Output by @acook in #26
  • Use atomic instead of mutex for Stack ID creation by @acook in #27
  • Bugfix: Passing mutex by reference by @acook in #28
  • Multiple iterative improvements to error messages
  • Started colorizing refl output for better clarity
  • Added exit instruction
  • Rename compile to t-to-b
  • Remove current v-to-b instruction for now
  • Improved disassembler
  • Syntax highlighting for VS Code
  • Compiled with Go 1.22.1

Full Changelog: v0.1.1...v0.2.0

WIP: Internal Errors

04 Aug 13:00
Compare
Choose a tag to compare
WIP: Internal Errors Pre-release
Pre-release

This is a mid-development release demonstrating greatly improved error messages for the compilation step, source maps which show the offset of the erroneous token in the original file.

This build also uses a much newer version of Go, which results in much smaller and faster binaries.

The attached zip file contains executables for macOS, Linux, Windows, and LinuxARM.

blacklight v0.1.0

09 Nov 12:13
Compare
Choose a tag to compare
blacklight v0.1.0 Pre-release
Pre-release

This version of blacklight introduces O objects, C chars, file IO, better syntax for WVs, and overall improved handling of vector types.

Additions

  • Objects
  • Object WV slot evaluation
  • Object delegation
  • File Descriptor IO (stdin, stdout, stderr)
  • File IO
  • Arbitrary WV nesting
  • call op for evaling arbitrary WVs
  • C (char) datatype
  • C's can be app'd into CVs
  • q-to-cv op
  • Stack ID assignments are now threadsafe
  • WV and CV now supports all basic V ops

Breaking Changes

  • Square-bracket WV notation (formerly delimited by dots)
  • n-to-s became n-to-cv
  • not returns nil for all non-true items (formerly panicked on non-T types)
  • rmo op has no return value (formerly returned value removed)

Internal

  • ops_stack type used internally for WV nesting
  • Removed many type assertions, should greatly increase execution speed
  • object-stack tracks self, but not currently directly exposed

Updates

  • Most documentation moved to GitHub wiki
  • Project tracking moved to Trello
  • Contributing guidelines

Known Issues

  • WV manipulations are not reflected in calls
  • v-new does not produce valid WVs

blacklight v0.0.1

02 Nov 09:02
Compare
Choose a tag to compare
blacklight v0.0.1 Pre-release
Pre-release

This is the first official release of blacklight a programming language for fun and profit.

Here is some of what it includes:

  • Over 50 operations
  • 15 example scripts
  • Threading with OS threads: bkg, work, and co operations
  • Multiple datatypes: integers (N), stacks (S), queues (Q), vectors (V), strings (CV), words (W), and word vectors (WV)
  • Thread-safe data structures
  • Stack roles: meta-stack ($stack), system-stack (@stack and ^stack), and user-stack (the S datatype)
  • Dynamic stack operations and ability to promote user-stacks to system-stacks
  • Communication between threads using the Q datatype
  • Printing to stdout with the print operation

What's missing?

  • The object (O) datatype and their operations
  • File and Socket IO
  • Character datatypes and escapes (most notably single quotes)
  • Any real commandline tools (blacklight runs files, that's it)