f
Forth package manager for theForthNet
- raw LICENSE
- raw README.md
- raw api.4th
- raw compat-common.4th
- raw compat-gforth.4th
- raw compat-vfx.4th
- raw f.4th
- raw package.4th
- raw versions.4th
- raw vt100.4th
f
Forth package manager for theForthNet
Installation
Download the zipfile, extract it and use fget to install the package itself. It will be the only package with a cumbersome installation ;)
Step by step:
- Download the package:
wget https://theforth.net/package/f/current.zip
- Extract the archive:
unzip current.zip
- Use gforth to install f via fget:
gforth compat-gforth.4th f.4th
- Inside Gforth:
fget f x.x.x
- Delete the extracted archive:
rm -Rf f
From now on you can interface with f just by including forth-packages/f/x.x.x/f.4th
.
As f is now a plain package, updating it to the latest version is as easy as typing fget f x.x.x
.
Usage / Words
fall ( -- )
list all packages
fsearch ( <parse-needle> -- )
list all packages which contain needle in their name or description
finfo ( <parse-name> -- )
display information about a package
Example display the readme of the latest version of stringstack:
finfo stringstack
fget ( <parse-name> <parse-version> -- )
download a package into fdirectory
Example download the most recent version of euler303:
fget euler303 x.x.x
Example download a specific version:
fget euler303 1.0.0
finclude ( <parse-name> <parse-version> -- )
include the main file of a package (if one is defined)
Example include a specific version of the stringstack:
finclude stringstack 1.0.3
Limitation currently finclude does not support the N.M.x-numbering sceme, please use the fget-ed version explicitly
Read more about the version numbering scheme in the package-guidlines
Configuration
fdirectory ( 2variable )
Holds the prefix-path for packages.
Defaults to default-fdirectory ( -- c-addr n ) which yields ./forth-packages/
.
Normally each project contains its own dependencies in the folder ./forth-packages
.
This makes it very easy to handle and ship a project/package, as everything is contained inside the project folder.
It will also allow easy inclusion of the packages as there is no path-magic involved.
If you feel the need to centralize all packages or use another path layout, modify fdirectory like so:
s" /home/fiz/forth/packages" fdirectory 2!