Releases: skx/critical
release-0.7
- Updated how comments are handled (beginning with "#" or "//").
- Continue execution after encountering bare literals.
- Quote the return value from
repeat
andfor
- Test case coverage has been returned to 100%.
release-0.6
This release adds the power-operator (**
), and updates the API of the interpreter to allow the execution of a script multiple times.
No real changes other than the return value(s) of the constructor changing.
release-0.5
This release updates the error-handling enough that all the sample code works, and we could reinstate the failure-case for invocations of unknown words.
The new env
word was added, to retrieve the value of an environmental variable, and test-cases were added to our environment package - which were missing - now the coverage of the whole codebase is 100%.
release-0.4
exit
no longer callsos.Exit
.- Instead it returns an error-code that can be caught by applications which embed this application.
- The addition of two new primitives to
expr
:%
for modulus.!=
for numeric inequality-testing.
- 100% test coverage of the core packages.
- As updated in #22.
- Added complete example of embedding the interpreter inside a host-application.
- As implemented in #24.
release-0.3
This release updates the lexer a little, to revert a change which broke comments in some circumstances.
Beyond that I've added a bunch of examples beneath examples/, in addition to the two main samples which were already highlighted in the README file:
release-0.2
This release features a small number of fixes and improvements:
- Correctly handle the count of arguments in user-defined functions.
- Correctly handle
return
statements even withinif
- Updated the standard library to add some new
proc
edures, available to all scripts by default:min(a, b)
max(a, b)
loop(var, min, max, body)
- Allow escaping
$
inside strings, via double-quoting:puts "$$a is $a"
release-0.1
This is our initial release! As per the README.md file we've got a working set of core primitives:
append
,break
,continue
,decr
,eval
,exit
,expr
,for
,if
,incr
,proc
,puts
,return
,set
, &while
.
We also have 100% test-coverage of the core packages which are used to implement the interpreter, and a decent range of sample code both demonstrating and using the language.
Future releases might extend the primitives, add more facilities, or cleanup areas of the implementation but this is a good base upon which to build.