Forth.Net.Program 2.0.5

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global Forth.Net.Program --version 2.0.5                
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local Forth.Net.Program --version 2.0.5                
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Forth.Net.Program&version=2.0.5                
nuke :add-package Forth.Net.Program --version 2.0.5                

Forth.Net

An implementation of the Forth programming language for the .Net Framework. You can use it as a C# library, interactively with a CLI or compile the code to a compact binary format.

Installation

dotnet tool install -g forth.net.program

Usage

# Start the CLI.
nforth

# Interpret some files and exit.
nforth Test1.fth Test2.fth -e bye

# Compile files to binary
nforth Test1.fth Test2.fth -e 's\" myfile.io" save'

Notes

  • You save the user portion of the dictionary with S" myfile.io" save. You load it with S" myfile.io" load.
  • You save the whole dictionary, system included, with S" myfile.io" savesys. You load it with S" myfile.io" loadsys.
  • Calling into .NET APIs is achieved with these simple words. (fyi just static methods with string or numbers for now).
: escape s" System.Uri, System" s" EscapeDataString" .net ;
: sqrt   s" System.Math"        s" Sqrt"             .net ;
  • Calling from .NET to Forth is achieved using the public APIs on the Vm class. Look at the Program folder for a simple example.
  • Type debug if curious.
  • Type nforth --help for less used options.
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
2.0.10 1,906 2/22/2022
2.0.9 1,830 2/22/2022
2.0.8 1,780 2/21/2022
2.0.7 1,823 2/21/2022
2.0.6 1,704 2/21/2022
2.0.5 1,510 2/19/2022
2.0.4 1,786 2/18/2022
2.0.3 1,772 2/18/2022
2.0.2 1,886 2/18/2022
2.0.1 1,790 2/18/2022
2.0.0 1,818 2/18/2022