e8a92a18b4
Implement functions for concatenating strings
2022-11-20 21:44:00 +01:00
f9878b43d8
Implement comparison operators
2022-11-20 13:47:38 +01:00
f0811ba8fe
Implement global "gc" function
...
To dump the current GC state and do a manual collection
2022-11-19 22:21:32 +01:00
97d79754dd
Implement while
2022-11-08 22:03:05 +01:00
0836b8c97c
Implement global functions not, len and type
2022-10-31 15:29:01 +01:00
154cc42740
globals: Fix math operations returning argument list on single arg
2022-10-30 23:08:41 +01:00
363334967a
Implement tostring and use it in print
2022-10-30 22:51:51 +01:00
fa4ed7bf83
Abstract away stdout
...
Instead of using stdout directly, we're now using a configurable
apfl_format_writer.
2022-10-30 21:21:40 +01:00
8ca24bcd49
Implement subfunctions and argument matching
...
A function can now have multiple subfunctions with their own parameter
list. These parameters are now no longer constrained to variables and
blanks only, but can also be consts and list destructurings (predicates
are also already compiled but don't get evaluated yet). The first
subfunction that matches the argument list gets evaluated.
2022-08-13 00:50:26 +02:00
41d0ee6132
bytecode: Add a function to dump bytecode
...
This also exposes it as a global function and removes the debug statements
in the compiler.
2022-07-28 20:49:29 +02:00
7c63a6b189
globals: Add if, ==, dump and basic math ops
2022-07-12 23:24:19 +02:00
4f9a33628c
Implement first global function "print"
...
This introduces the globals and moves some previously non-public functions
into apfl.h.
2022-07-12 22:13:07 +02:00