Nife version Beta
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 3.8 KiB

10 years ago
2 years ago
10 years ago
10 years ago
2 years ago
10 years ago
2 years ago
10 years ago
10 years ago
7 years ago
10 years ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. nife - Networking Industrial Forth-like Environment.
  2. Overview
  3. Nife is a programming language based on the principles set of Forth
  4. defined by Charles H. Moore in the 1960s. It does not include the
  5. full functionality of Forth, that is the reason why it is considered
  6. as a "Forth-like" language.
  7. His ambition is to offer people who are not computer scientists, and
  8. need to make measurements, control of remote devices to monitor industrial
  9. processes, handling of large collections of data, make calculations, of
  10. filtering, statistics, can easily make their needs in a Linux environment
  11. at low cost.
  12. The simplicity of this language that anyone can understand how it works
  13. in a few minutes and totally control a few hours to a week at most.
  14. It can also be used more modestly as a super calculator, just to make its
  15. accounts or calculations of matrix inversion. The public concerned is
  16. very large.
  17. It keeps the forth the following characteristics:
  18. - Mode operation interpretation: as a shell.
  19. - Loading source files and compilation and execution.
  20. - Using stacks (digital, logical and characters) requiring the use of
  21. notation called "reverse-Polish."
  22. - How to write new features.
  23. It adds the following possibilities:
  24. - A true "context-free" language to compile code on the fly.
  25. - Installation compatible on all Unix-like systems including Linux.
  26. - Ease of interfacing to additional commands in a program Nife use many
  27. free tools available in a Linux environment (eg xgraph).
  28. - Integration of a consistent mathematical library to easily perform
  29. calculations on a large number of data.
  30. - Ability to easily add other functions to the base library.
  31. - Automatic recognition of cards or devices compatible with the library
  32. COMEDI (http://www.comedi.org) to make data acquisition, signal
  33. processing, automatic pilot. This is one of its sides "industrial".
  34. - Variable definition of variable geometry (which may in turn contain
  35. a scalar, an array of numeric values, a boolean, a string ...) and
  36. can also become executable variables (ie referring to the code that
  37. will be called when using the variable). This aspect gives the term
  38. Nife dynamic language with all that this implies (code compact and
  39. fast, scalable performance).
  40. - Management of multi-tasking with the command task that can initiate
  41. parallel execution of functions, control (whether it is complete,
  42. refer to the consoles, delete, etc.).
  43. - Nife programs can communicate with each other via the communication
  44. tools offered by traditional Unix, internally (within the same system)
  45. or external interface based on TCP/IP. For this, it has its own
  46. protocol STSP (stack to stack protocol) for exchanging data directly
  47. from a numerical stack to an other one. This is one of its aspects
  48. "Networking".
  49. - The possible opening towards the use of other devices through the
  50. integration of specific drivers.
  51. How to compile and install nife
  52. Download the nife source code, then:
  53. tar zxvf nife-x.y.z.tar.gz
  54. cd nife-x.y.z
  55. ./configure
  56. make
  57. WARNING !!
  58. make install is not preconized in beta version !!
  59. You can use it by positionning in the source directory and call the
  60. command :
  61. cd src
  62. ./nife
  63. You can also lauch the benchmark test :
  64. ./test.sh
  65. Web Page
  66. https://www.seriane.org/nife/
  67. Bug Reports
  68. For general bug reports, send a description of the problem to
  69. nife@seriane.fr.
  70. Current Status
  71. nife is still in beta version.
  72. Patrick Foubet (nife@seriane.fr)