From: Zdzislaw Meglicki
Subject: starlisp-dho-7-5-v1 - compilation
Date: 
Message-ID: <1ev2t0INN9p5@manuel.anu.edu.au>
I've been just exploring the latest starlisp-dho-7-5-v1 and, 
much to my surprise, it compiled a parallel function for me.
I thought that it doesn't have a compiler yet. How am I to understand
what is happening here:


> (defun add-mult!! (a b c)
	(*!! (+!! a b) c))
ADD-MULT!!
> (compile 'add-mult!!)
ADD-MULT!!
> (describe 'add-mult!!)
ADD-MULT!! is a symbol. Its home package is *LISP5.
Its global function definition is #<Compiled-Function ADD-MULT!! 197754E>.
#<Compiled-Function ADD-MULT!! 197754E> is a compiled function.
Its argument list is (A B C).
The code for this function is 92 bytes long.
The function definition for ADD-MULT!! is at top level.
It has the following property list elements:
  For indicator LUCID-COMMON-LISP:SOURCE-CODE the value #<Interpreted-Function
(LUCID-COMMON-LISP:NAMED-LAMBDA ADD-MULT!! (A B C) (BLOCK ADD-MULT!! (*!! # C)))
196DE2E>.
>
-- 
   Zdzislaw Gustav Meglicki, ······@arp.anu.edu.au,
   Automated Reasoning Program - CISR, and Plasma Theory Group - RSPhysS,
   The Australian National University, G.P.O. Box 4, Canberra, A.C.T., 2601, 
   Australia, fax: (Australia)-6-249-0747, tel: (Australia)-6-249-0158
From: Barry Margolin
Subject: Re: starlisp-dho-7-5-v1 - compilation
Date: 
Message-ID: <1f01kpINN9hi@early-bird.think.com>
In article <············@manuel.anu.edu.au> ······@arp.anu.edu.au (Zdzislaw Meglicki) writes:
>I've been just exploring the latest starlisp-dho-7-5-v1 and, 
>much to my surprise, it compiled a parallel function for me.
>I thought that it doesn't have a compiler yet. How am I to understand
>what is happening here:

When we refer to the "*Lisp compiler", we're talking about a module that
optimizes the parallel code in ways specific to the Connection Machine.  We
do this by patching the CL compiler to make it pass the code through the
*Lisp transformer.  Your example just compiled the sequential front-end
code, using the unmodified Common Lisp compiler, and the resulting code
contains full calls to CM functions.
-- 
Barry Margolin
System Manager, Thinking Machines Corp.

······@think.com          {uunet,harvard}!think!barmar