Skip to content

Releases: loscoala/goforth

v0.7.0

Choose a tag to compare

@loscoala loscoala released this 21 Jul 20:46
1a56819
  • Rewrite of compile and run code: Use os.CreateTemp if no flag is provided.
  • You can now leave the file extension for local files.
  • Allow newline character in strings and sv:each added.
  • Word alloc is now inline and string iterator added.
  • go update to 1.26
  • csv class added
  • Generate getter and setter for classes
  • The size argument of class properties are now optional
  • Use the more idiomatic way of init structs
  • Compiler: Optimize floats as well

v0.6.1

Choose a tag to compare

@loscoala loscoala released this 17 Mar 16:35
0e95030

Improvements:

  • go 1.25
  • Reset the state of labels before each compile
  • Use of $HOME/.config as compile directory and stdlib folder
  • DEC bytecode added
  • syscall 8 "read" added
  • OOP with classes using the "class" word added (including inheritance)
  • Macros and bytecode vm for macros using the "inline" word added
  • stdlib now contains classes like list, array etc.
  • Code optimization added for ADI, MLI, SBI, DVI
  • while!, for! as macro added
  • shell macro syntax added. like | cmd arg1 arg2 arg3 ... $$

v0.5.0

Choose a tag to compare

@loscoala loscoala released this 18 Feb 13:35
d890b53

Improvements:

  • "find" added in REPL. Example: "find swap" lists all words with "swap" in its definition.
  • find and % is now a alphabetically sorted list
  • VM: INC added
  • auto allocated strings added. Examples a( Hello) returns an address and also a" ...". The memory is automatically resized.
  • metaword template name file added. You can now enclose code with <?fs ...?> in any file.
  • compile time word char x added, which replaces x by its ASCII value.
  • ParseFile loads files over http(s). Example: use exampledomain/myfile.fs
  • VM (C): custom syscalls added
  • use stdin, stdout and stderr for system and shell
  • when local variables are shadowed, a warning is shown

v0.4.0

Choose a tag to compare

@loscoala loscoala released this 01 Oct 21:36

Improvements:

  • string append added
  • depth added and $ rewritten
  • use cc instead of gcc
  • Tested on Linux, OpenBSD, FreeBSD, Windows 10

v0.3.0

Choose a tag to compare

@loscoala loscoala released this 07 Aug 10:16

Improvements:

  • call external programs with "sh" and "shell"
  • added alternative string syntax .( and )
  • added compare word
  • file and file-exist? added
  • vm.c now uses dynamically allocated memory
  • Added fvm_setstring in vm.c
  • Added argc and argv
  • __END__ added
  • added allot and alloc

v0.2.0

Choose a tag to compare

@loscoala loscoala released this 06 Jun 11:28

Alternative string syntax .( ... ) and s( ... ) added.
New "shell" and "system" word added.
New "-compile" flag added.

Refactor of vm.c as union instead of plain int64_t stack.

v0.1.0

Choose a tag to compare

@loscoala loscoala released this 23 Mar 08:51

This is the first release.

The core features are implemented.

What's left to do:

  • Clean up core.fs
  • Improved documentation
  • Minor improvements