History of Nife releases :
2015-08-10 - Nife 0.55 is released.
* Changing the log file contents to be able to use it for debugging.
The log file is in the subdirectory .nife. His name is the type
.nife_PID.log, PID being its number of pid.
We can display the content in real time with tail -f.
The .nifeNS_pid.log and .nifeRPC_PID.log files are those of the
server networks and its bodies.
Log files are deleted at the end of the Nife session unless an error
* Added "savelog function to save the logs before going out.
* Added shell script command, NifeDebugTerms, to facilitate
establishment and closing of the display terminals for the logs.
* Added the possibility, in graphic mode, to open or close
terminals with keys 'home' and 'end'. These functionalities are
based on performance in the window manager of the above script.
* Reorganization of system functions in the function stack.
* Improved tasks and consoles.
* Added the ability to execute external command interactively, with the
character ! at the beginning of the line.
2014-08-31 - Nife 0.51 is released.
* Finalising the version 1.0 of the functions dump and restore with the
definition of the NBLF, Nife Binary Linkable Format.
* Modify some labels to clarify the perception of internal mechanisms.
* Some modifications to avoid unnecessary warnings at compilation.
* Temporary suspension of some functions related to the dynamic aspect
of the language because, used improperly, it could be dangerous.
These functions will be include again, but with more explanations and
2014-06-27 - Nife 0.49 is released.
* Add DEC, HEX, OCT and BIN functions to define the print mode for the
integers. The default is decimal.
* Modify signals comportment to accept interrupt from terminal to stop
execution in the main (interactive) task.
* Fixed an error in the case of the end: label is before the onerr: one.
* Fixed a bug when a signal "segmentation violation" is catched.
* Add some help facilities suggested by Alain Empain, until his tools
are efficient in Nife.
* Beginning the functions dump and restore with definition of the NBLF,
Nife Binary Linkable Format (just for a Request for Comments ;-).
* The installation has been tested by Gaetan Angely on three ARM SBCs:
Raspberry Pi, Beaglebone Black, ODROID-U3 with Arch Linux ARM.
All information about Arch Linux ARM at http://archlinuxarm.org/.
He have compared with two Intel processors and have published a
benchmak on the two mailing lists.
2014-05-10 - Nife 0.47 is released.
* Beginning an I2C interface for Linux systems, inspired by the Linux
* The I2C interface has been developped and tested by P. Foubet
with his students Elodie Kerfourn and Aymeric Diankouika. They
connected a Raspberry Pi with an Arduino board through the I2C bus
and wrote a Nife program to highlight the data exchange between the
* The installation has been tested by Bernard Bonno on a Raspberry Pi
board Model A with Porteus ARM (based on a Slackware ARM 14.0).
2013-09-25 - Nife 0.44 is released.
* Fixed a bug causing a "segmentation violation" during compilation
of the Nife code on some systems as Raspberry Pi A and B and others.
This bug was reported by Bernard Bonno during tests on a Raspberry Pi
Model A with 256 Mo of memory.
* The installation has been tested by Bernard Bonno on a PC i484
with a Linux Porteus 2.0.
All information about Porteus at http://www.porteus.org/.
2013-09-09 - Nife 0.43 is released.
* Establishment of a sub-directory .nife to facilitate debugging and
store temporary files.
* Update some functions dependant on working directory.
* Fixed some bugs in the gplot tools due to new versions of gnuplot.
* The installation has been tested by Patrick Foubet on a Raspberry Pi
board Model B with standard Raspbian (Squeeze).
All information about the board at http://www.raspberrypi.org/faqs.
2012-10-23 - Nife 0.405 is released.
* Fixed a bug in the data transfer protocol STSP.
* Adding Dt indicators in the list giving by ?n function.
* Fixed a bug in the netDt> function.
* The installation has been tested by Patrick Foubet on a Beaglebone
board (Linux beaglebone 3.2.5+ #1 ... armv7l GNU/Linux) lended by the
school ESME Sudria for preparing a course on Linux drivers.
All information about the board at http://beagleboard.org/bone.
2012-09-01 - Nife 0.401 is released.
* Beginning the multi-threading mechanisms based on POSIX thread.
* Adding programmation tools end: and goto_end.
* Increasing error tracking :
- giving the file name and the line number,
- stopping compilation at first error,
- allowing load in load.
- adding functions ?err, noerr, messerr, ?lasterr and onerr: label.
* Dynamic code tools :
- "load to load a file in a user function,
- "exec to compile some code in a user function,
- functions ' and ` to specify names to be executed latter.
* Limit for all names at 24 characters.
* Modifying install variables functions to work in user functions.
* Adding the free-context loop with do mechanisms :
- do_next to bypass a loop in free-context,
- do_leave and *do_leave to leave one or many loops in free-context,
* Updating the sh command to use the SHELL environment variable.
2012-07-05 - Nife 0.341 is released.
* Adding more fonctions to deal with devices with Comedilib :
- write fonction available,
- define a default set of parameters to simplify programs.
* Update documentation for theses new commands.
2012-06-10 - Nife 0.323 is released.
* Continuing distributed systems tools elaborated with Thomas Pabst :
- Adding netCompile to load a Nife file on a remote Nife using NetKey.
If this file contains a call of one or more functions, they will be
executed, and the result will be send on the Net using NetKey.
- Adding NetErr to get the Net Error value.
* Adding the ex directory in src with some program examples :
- gp.nif, an example for gplot functions,
- rpc.nif and rpc2.nif for Nife RPC example.
2012-06-06 - Nife 0.320 is released.
* Beginning of the gplot module for use of gnuplot (www.gnuplot.info).
* adding theses functions :
- gplot and gplotM (multiple) to create gplots,
- gplotCmd to append text to the plot command,
- ?gp to list the gplots,
- del_gplot to delete a gplot,
- gplotAdd and gplotRepl (with replacement) to add values to plots,
- gplotClear to clear a display panel.
* The installation has been tested by Bruno Guilbert on a Fox board G20
(Debian debarm 2.6.38 with CPU Atmel AT91SAM9G20 based on ARM926EJ-S)
with the students TRSE2 of Ingesup-Paris :
All information about the board at www.acmesystems.it.
2012-05-22 - Nife 0.317 is released.
* Adding ndepth giving network stack depth using NetKey,
* Definition of principles for Nife RPC (remote procedure call).
* Adding netExec to execute a function on a remote Nife using NetKey.
* The installation has been tested by Dr Alain Empain (ulg.ac.be) on
Ubuntu Lucid 10.O4 (Linux 2.6.38-15 - x86_64)
* The installation has been tested by Paul Bartoldi (unige.ch) on
Ubuntu 12.O4 LTS (Linux 3.0.0-12 - x86_32)
2012-05-11 - Nife 0.315 is released.
* Beginning of distributed systems tools elaborated with Thomas Pabst :
- automatic evaluation of the dt values at network connection,
- adding netDt> to get the clock difference value beetween "network"
and Nife system.
* The installation has been tested on
Debian Wheezy Testing (Linux 3.2.0-2 - x86_32)
2012-05-04 - Nife 0.311 is released.
* Modifying errors traps to get a better bug resolution.
* The installation has been tested by Bernard Perrin (csem.ch) on
MacOS X Snow Leopard 10.6.8 (Darwin Kernel Vers 10.8.0 - x86_32)
2012-03-16 - Nife 0.307 is released.
* Adding auto-convergent loop : do ... loop
* Adding standards loop : do ... +loop
* Possibility to test the loop level and use indexes I, J and K.
* Adding del_ofunc to delete, by name, the oldest function,
* Adding del_afunc to delete all functions beginning by a prefix,
* Adding "exec to execute a user function giving her name on the
* Adding "Var to create a variable giving her name on the character
* Rename functions sub in -sub and *sub in *-sub to adopt a
more logical notation.
2012-03-08 - Nife 0.303 is released.
* This release is specially dedicated to my wife Christine.
* Now you can use nife with redirection or pîpe :
nife < fic.nif or cat fic.nif | nife
Thank you to Denis Bodor for the idea !
2012-02-22 - Nife 0.302 is released.
* Christophe Ondrejec has validate the site nife-project.org
* Updating README, NEWS and all informations files.
* The installation has been tested on :
- Debian Lenny (Linux 2.6.26-2 - x86_32)
- Debian Squeeze (Linux 2.6.32-5 - x86_64)
- Mac OS X (Darwin Kernel Version 8.11.1 - x86_32)
- Open BSD (Version 5.0 GENERIC#43 - x86_32)
- Solaris 11 (SunOS v 5.11 - x86_32)
- Fedora Core 15 (Linux 2.6.38-6 - x86_32)
- Open Suze 12.1 (Linux 3.1.0-1 - x86_64)
* Adding a benchmark test.
2012-02-13 - Nife 0.300 is released (internal).
* Upgrading for working on both 32 or 64 bits.
* Upgrading SCS (Sister Chip Signature) to accept data from machine
differents on code or addresses but using compatible datas.
* Integration of the GNU Autotools to generate the packages.
2011-11-13 - Nife 0.212 is released.
* Network tools with STSP (stack to stack protocol) v0.5 :
ie WITH ScS (Sister chip signature) v 1.
* correction of function trot.
* new function transp to transpose matrix.
2011-11-09 - Nife 0.209 is released.
* Network tools with STSP (stack to stack protocol) v.0 :
ie without ScS (Sister chip signature).
2011-10-31 - Nife 0.204 is released.
2011-10-26 - Nife 0.200 is released.
2011-09-18 - Nife 0.113 the first public release on Sourceforge.net.