[comp.lang.icon] SPLASH: A Systems Programming Language for Software Hackers

Paul_Abrahams%Wayne-MTS@UM.CC.UMICH.EDU (04/10/90)

 
In answer to a recent inquiry in this forum, here's the abstract of the talk
that I've been giving on SPLASH.  My apologies if you've received this twice;
I thought I transmitted it once before but I never got a copy back.   Many of
the ideas in SPLASH are derived from Icon.  The main differences are that
SPLASH is strongly typed and that it is designed to be compiled rather than
interpreted.  (That helps in providing operator overloading - a recent topic
of discussion in this forum.)  I'll be happy to answer any questions about
SPLASH either by email or otherwise.
 
==================================================================
 
SPLASH: A Systems Programming Language for Software Hackers
 
SPLASH is a programming language for programmers who delight in
their tools.  SPLASH supports programming at a high level of
expression, yet it enables its user to understand how the code he
writes is really executed and to maintain precise control, where
it is wanted, over what the computer is actually doing.  Its
high-level facilities include the ability to define container
types and iterators; generators that provide most of the
facilities of coroutines but at far less cost; tuple types;
inheritance of operations and polymorphism in the object-oriented
style; and a great many syntactic niceties that encourage
elegance and transparency of expression.  Although the ideas in
SPLASH are not radically new, they are combined and integrated in
a new way.  Major sources of inspiration for SPLASH are Icon,
C++, and SEDL, a Software Engineering Design Language developed
at IBM that is an extension of Ada.  Although SPLASH has not yet
been implemented, the ideas in it are of interest independently
of any particular implementation.  The talk will describe the
features of SPLASH and give some examples of its use. 
 
 
 
Paul Abrahams
214 River Road
Deerfield  MA  01342
(413) 774-5500
Abrahams%wayne-mts@um.cc.umich.edu