🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.functional
Article #902

Re: Help needed with behaviour of SML

#902
From: Dave Berry
Date: Mon, 06 May 1991 16:06
33 lines
2377 bytes
In article <KERS.91May2084808@cdollin.hpl.hp.com> kers@hplb.hpl.hp.com (Chris Dollin) writes:
>
>SML is an interactive incremental development language.  This means that
>when you find an error in a function definition, all you need to do is to
>redefine the function and ....

ML was developed as a language for manipulating values interactively.
The original ML let you manipulate theorems.  Later versions let you
manipulate any values, such as windows or trees.  ALthough ML also lets
you test code incrementally, I've always felt that this was a secondary
goal (I may be wrong, of course; I can't read the designers' minds).

Code development in ML is a big improvement over a batch language, even
with a raw environment.  You can test any function interactively, and you
can redefine leaf functions easily.  Redefining non-leaf functions isn't
as convenient if you're just presented with the raw language, but it's
fairly easy to write decent programming environments to do everything
automatically.  Even a make system is a great help.  A good environment
would just recompile and re-link the changed module, without recompiling
all intermediate modules (there is at least one firm developing such an
environment).

If I were designing an ML-like language, I would probably ban redeclaration
altogether.  I'd add a renaming scheme to the module system to take care
of name clashes, and force people to use references if they wanted to
change the value bound to a variable.  (I'd also add automatic dereferencing
to prevent this becoming cumbersome).

Dave.
--
 Dave Berry, LFCS, Edinburgh Uni.      db%lfcs.ed.ac.uk@nsfnet-relay.ac.uk

  "So they gave him a general anaesthetic and cleaned him with Swarfega."
Technical Details
Message-ID: <10144@skye.cs.ed.ac.uk>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!wuarchive!uunet!mcsun!ukc!edcastle!cs.ed.ac.uk!db
References: <9104262016.AA28063@enuxha.eas.asu.edu> <TMB.91Apr26222738@volterra.ai.mit.edu> <20644@ogicse.ogi.edu> <KERS.91May2084808@cdollin.hpl.hp.com>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!wuarchive!uunet!mcsun!ukc!edcastle!cs.ed.ac.uk!db
From: db@cs.ed.ac.uk (Dave Berry)
Newsgroups: comp.lang.functional
Subject: Re: Help needed with behaviour of SML
Message-ID: <10144@skye.cs.ed.ac.uk>
Date: 6 May 91 16:06:49 GMT
References: <9104262016.AA28063@enuxha.eas.asu.edu> <TMB.91Apr26222738@volterra.ai.mit.edu> <20644@ogicse.ogi.edu> <KERS.91May2084808@cdollin.hpl.hp.com>
Sender: nnews@cs.ed.ac.uk
Reply-To: db@lfcs.ed.ac.uk (Dave Berry)
Organization: Laboratory for the Foundations of Computer Science, Edinburgh U
Lines: 33