[comp.lang.scheme] ALLOY, parallel and higher level

mitsolid@acf5.NYU.EDU (Thanasis Mitsolides) (03/07/91)

This is to announce the availability of
 the interpreter, manual and examples for the programming language ALLOY.
ALLOY is high level, parallel, flexible and more than reasonably efficient.
ALLOY combines serial/parallel ev., eager/lazy ev., single/multiple solutions
 and parallel object oriented programming in a remarkably simple framework.

Example programs ready for execution include:
 1) factorial, partition sort, FP 			(highly parallel)
 2) fibonacci sequence, prime numbers 			(eager or lazy)
 3) systolic sort, hamming network			(clear flow of data)
 4) list member, tree leave, list permutation, n queens (multiple solutions)
 5) queue, stack, faa, semaphores, dinning philosophers	(objects)
 6) prolog package, prolog/parlog programming styles 	(flexibility)

Part of ALLOY is explained in:
[MH90]    Thanasis  Mitsolides  and  Malcolm  Harrison.   Generators  and  the
          replicator control  structure in the parallel  environment of ALLOY.
          In ACM  SIGPLAN '90  Conference on  Programming Language  Design and
          Implementation, pages 189--196, White Plains, New York, June 1990.

The abstract of the ALLOY manual is appended at the end of this message.
The sources, manual, example programs and benchmarks of ALLOY are available
for anonymous FTP from cs.nyu.edu (128.122.140.24)

I hope you will find ALLOY interesting.
I will be glad to answer your comments!
Thank you,

Thanasis


===============================================================================
				ABSTRACT

       ALLOY is a higher level parallel  programming language appropriate
     for programming  massively parallel computing systems.   It is based
     on  a combination  of  ideas from  functional,  object oriented  and
     logic programming languages.
       The result being a language that can  directly support functional,
     object  oriented  and logic  programming  styles  in a  unified  and
     controlled framework.   Evaluating modes support serial  or parallel
     execution,  eager or  lazy evaluation,  non-determinism or  multiple
     solutions etc.   ALLOY is  simple as it only requires  31 primitives
     in all (half of which for Object Oriented Programming support).
       This article, starts with  a formal definition of the  small ALLOY
     kernel  proceeds with the  definition of  some useful libraries  and
     concludes  with examples  which demonstrate  its expressiveness  and
     clarity.
       Programming language ALLOY is located  on system spunky.cs.nyu.edu
     directory  ~mitsolid/alloy.   This article can  be found in dvi  and
     ascii  form  on subdirectory  doc,  The  examples presented  can  be
     found  in subdirectory progs.   The  interpreter is executable  file
     alloy.   All the above and the sources of the  ALLOY interpreter are
     available   for   anonymous  ftp  on  system  cs.nyu.edu   directory 
     pub/local/alloy.

-------------------------------------------------------------------------------
Internet: mitsolid@cs.nyu.edu	             (mitsolid%cs.nyu.edu@relay.cs.net)
UUCP    : ...!uunet!cmcl2!cs!mitsolid
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Internet: mitsolid@cs.nyu.edu	             (mitsolid%cs.nyu.edu@relay.cs.net)
UUCP    : ...!uunet!cmcl2!cs!mitsolid
-------------------------------------------------------------------------------


-- 
-------------------------------------------------------------------------------
Internet: mitsolid@cs.nyu.edu	             (mitsolid%cs.nyu.edu@relay.cs.net)
UUCP    : ...!uunet!cmcl2!cs!mitsolid
-------------------------------------------------------------------------------