Patrick Foubet 29a18f3ffb | 1 week ago | |
---|---|---|
src | 1 week ago | |
AUTHORS | 8 years ago | |
COPYING | 10 years ago | |
ChangeLog | 2 years ago | |
INSTALL | 10 years ago | |
Makefile.am | 10 years ago | |
Makefile.in | 2 years ago | |
NEWS | 2 years ago | |
README | 1 week ago | |
README.md | 1 week ago | |
aclocal.m4 | 2 years ago | |
compile | 1 week ago | |
config.h.in | 10 years ago | |
configure | 2 years ago | |
configure.ac | 1 week ago | |
depcomp | 10 years ago | |
install-sh | 10 years ago | |
missing | 2 years ago |
nife - Networking Industrial Forth-like Environment.
Overview
Nife is a programming language based on the principles set of Forth
defined by Charles H. Moore in the 1960s. It does not include the
full functionality of Forth, that is the reason why it is considered
as a "Forth-like" language.
His ambition is to offer people who are not computer scientists, and
need to make measurements, control of remote devices to monitor industrial
processes, handling of large collections of data, make calculations, of
filtering, statistics, can easily make their needs in a Linux environment
at low cost.
The simplicity of this language that anyone can understand how it works
in a few minutes and totally control a few hours to a week at most.
It can also be used more modestly as a super calculator, just to make its
accounts or calculations of matrix inversion. The public concerned is
very large.
It keeps the forth the following characteristics:
- Mode operation interpretation: as a shell.
- Loading source files and compilation and execution.
- Using stacks (digital, logical and characters) requiring the use of
notation called "reverse-Polish."
- How to write new features.
It adds the following possibilities:
- A true "context-free" language to compile code on the fly.
- Installation compatible on all Unix-like systems including Linux.
- Ease of interfacing to additional commands in a program Nife use many
free tools available in a Linux environment (eg xgraph).
- Integration of a consistent mathematical library to easily perform
calculations on a large number of data.
- Ability to easily add other functions to the base library.
- Automatic recognition of cards or devices compatible with the library
COMEDI (http://www.comedi.org) to make data acquisition, signal
processing, automatic pilot. This is one of its sides "industrial".
- Variable definition of variable geometry (which may in turn contain
a scalar, an array of numeric values, a boolean, a string ...) and
can also become executable variables (ie referring to the code that
will be called when using the variable). This aspect gives the term
Nife dynamic language with all that this implies (code compact and
fast, scalable performance).
- Management of multi-tasking with the command task that can initiate
parallel execution of functions, control (whether it is complete,
refer to the consoles, delete, etc.).
- Nife programs can communicate with each other via the communication
tools offered by traditional Unix, internally (within the same system)
or external interface based on TCP/IP. For this, it has its own
protocol STSP (stack to stack protocol) for exchanging data directly
from a numerical stack to an other one. This is one of its aspects
"Networking".
- The possible opening towards the use of other devices through the
integration of specific drivers.
How to compile and install nife
Download the nife source code with git,
$ git clone https://githell.e2li.org/Patrick/Nife_v0.git
$ cd Nife_v0
or donwload a tar.gz file and
$ tar zxvf nife-x.y.z.tar.gz
$ cd nife-x.y.z
then:
$ ./configure
$ make
WARNING !!
make install is not preconized in beta version !!
You can use it by positionning in the source directory and call the
command :
$ cd src
$ ./nife
You can also lauch the benchmark test :
$ ./test.sh
Web Page
https://www.seriane.org/nife/
Bug Reports
For general bug reports, send a description of the problem to
nife@seriane.org.
Current Status
nife is still in beta version.
Patrick Foubet (nife@seriane.org)