From acf5!mitsolid@cmcl2.NYU.EDU Fri Mar 22 03:21:49 1991 From: acf5!mitsolid@cmcl2.NYU.EDU (Thanasis Mitsolides) Newsgroups: comp.lang.lisp,comp.lang.prolog,comp.parallel,comp.lang.icon Subject: ALLOY: parallel and higher level. Keywords: parallel eager lazy multiple solutions object oriented functional Date: 7 Mar 91 15:24:55 GMT Followup-To: comp.lang.lisp Organization: New York University 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 ------------------------------------------------------------------------------- -- =========================== MODERATOR ============================== Steve Stevenson {steve,fpst}@hubcap.clemson.edu Department of Computer Science, comp.parallel Clemson University, Clemson, SC 29634-1906 (803)656-5880.mabell