Dear mentors,
Since 2002 lina is a stable Forth compiler under x86 linux (And compatible compilers available for OSX, win32 ). From the beginning it has been fully documented using texinfo, plus a man-page, that documents the options and a judicious excerpt.

lina page
http://home.hccnet.nl/a.w.m.van.der.horst/lina.html
Tutorial
https://forth.hcc.nl/w/Ciforth/Ciforth?setlang=en

Now I'm planning to supply some actually useful packages as .deb in debian made with this compiler. (In fact flashers for microcontrollers in behalf of i.a. http://home.hccnet.nl/anij/nof/noforth.html)
The first thing is probably find a mentor for lina itself.

The compiler is hardly mainstream:
1. It is written in assembler.
2. It is at the same time an interactive system, a scripter and a compiler.
3. It is totally self contained, doesn't link to any library.
4. It has its own library, but that is a source library.
5. It uses the library and the executable for configuration, no shell
variables. You configure it by copying bin+lib to a project directory and change those (and yes,they are small).

Making it is simple:
fasm lina64.fas lina64

I aspire lina to be in main of debian.

I see the guidelines:
"
For the mainsection, Debian Policy requires it
to be fully compliant with the Debian Free Software
Guidelines(DFSG(http://www.debian.org/social_contract#guidelines
) ) and
not to require a package outside of main for compilation or execution. This is the desired case.
"

Not so simple is building it with gas, and ld.

Question 1: Am I obliged to supply a .s file and linking prescripts?
(Because fasm is not in main)
The problem is: ld is not stable w.r.t. linking pure assembler files.
Or is it sufficient to supply .s and let the builder figure out
how to make an executable? 1]
I could supply an assembler file that can be build using the build-in
assembler of lina. Does that count as "not require a package outside of main for compilation", the situation being about the same like the GNU c-compiler?
OR:
If I got a sponsor, I need only supply an upstream package and the sponsor
takes care of the rest? He will prompt me for any changes to be made in
order to comply?

Question 2: Are there any mentors that would even consider a compiler that is in competition with GCC, rather than a second generation compiler like Python Perl and the rest, that depend on GCC? Irrespective of merits? (On the upside, dear mentor, this will be some of the simplest packages you will ever encounter. ).

For those who wonder:

Yes, I know there is an official GNU Forth compiler gforth. An important difference is that a package built with lina requires lina for building only, not for running. An alternative build with lina for e.g. ``factor'' 2] is as simple as the factor build in C, one executable, one man-page.

lina scripts have been proposed in a webserver. A sub ms startup time
 makes some applications practical.

http://lina.minimaltype.com

Groetjes Albert

--
Suffering is the prerogative of the strong, the weak -- perish.
Albert van der Horst

1] My actual build system is assembler-blind, and word-size agnostic
so no sweat for gas, nasm or fas formats that are actually intermediate
files.

2]

---------~
$ cat factor.frt
WANT SQRT

: main 1 ARG[] EVALUATE  DUP . ": " TYPE
   DUP SQRT 1+ 2 DO
      BEGIN DUP I MOD 0= WHILE I . I / REPEAT
   LOOP . CR ;
~$ lina -c factor.frt
~$ time ./factor 111
111 : 3 37

real    0m0.001s
user    0m0.000s
sys     0m0.000s

---------

Reply via email to