Clean on FreeBSD using Linux ELF?

William Wanders wwanders@sci.kun.nl
Sun, 7 Dec 1997 10:03:14 +0100 (MET)


> >It would certainly be nice to have native Clean compiler for FreeBSD.
> >And for that matter also for NetBSD, BSDI, SGI, HPUX, SCO ISC and so on.
> 
> Hmm...  I'm not sure, but isn't Clean still compiled first to pABC code?
> I was under the impression that this was a more-or-less common abstract 
> assembly language.
> In that case, there might be native pABC assemblers, and one could get by 
> with just porting the Stdio components ...  
Nope, the only ABC compilers (maybe transducer is a better term here)
that I known of are from Clean team itself. Basicly Clean is compiled
into ABC code, which is for all platforms the same. After that the
ABC code is compiled into the appropriate assembly form for the used
architecture. ABC code is the generic intermediate language between
the high level language Clean and the architecture dependant
assembly language and object code.

   +-------+        +-----+      +-----------------+      +------------+
   | Clean +->cocl->+ ABC +->cg->+ Native Assembly +->ld->+ Native Code|
   +-------+        +-----+      +-----------------+  |   +------------+
                                                      |
                                                 +----+-----+
                                                 |  Native  |
                                                 |   libs   |
                                                 |  Native  |
                                                 |startup.o |
                                                 +----------+

There were some plans to make a JavaVM architecture backend support.
But the JavaVM architecture is quite different from anay real
architectures and a straithforward transformation of ABC (actually
the rewrite rules from which the ABC code is generated) into JavaVM
proved to be quite inefficient (read slow).

William Wanders