Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!ira.uka.de!fauern!forwiss.uni-passau.de!unipas.fmi.uni-passau.de!stabl From: stabl@unipas.fmi.uni-passau.de (Robert Stabl) Newsgroups: comp.lang.functional Subject: Re: Extensional functions in SML? Message-ID: Date: 21 Sep 90 00:55:07 GMT References: <1990Sep20.074513.19190@d.cs.okstate.edu> Sender: usenet@forwiss.uni-passau.de (USENET News System) Organization: Dept. of Comp. Sci., University of Passau, (West-)Germany Lines: 27 In-Reply-To: norman@d.cs.okstate.edu's message of 20 Sep 90 07:45:13 GMT >>>>> In article <1990Sep20.074513.19190@d.cs.okstate.edu>, norman@d.cs.okstate.edu (Norman Graham) writes: [SML functions deleted] Norman> The choice of names in this example may confuse some novice functional Norman> programmers. First, the function 'update' really doesn't update Norman> anything: It merely creates a new function value that is a little more Norman> defined than the function value passed to it. Second, the three Norman> 'val f = ...' expressions are not destructively updating f: Each f Norman> is a _different_ name--you might as well have called them f1, f2, and f3. Norman is right, the function names were misleading (esp. the name f). But, I wanted to show that (higher-order) functional programming can be used to define databases, not implementing them by arrays, lists, or any other standard method. Fur further details I strongly recommend the following report: Stefan Sokolowski: "Applicative High-Order Programming, or Standard ML in the Battlefield", University of Passau, MIP-8908, February 1989. This report contains many, many examples concerning high-order functions, polymorphism, data types, implementation issues (type inference, interpretation, and compilation), structures, functors, signatures, "the art of applicative programming", and so on. The report results from an one-semester course on applicative high-order programming in 1988. -- >>>>>>>>>> Robert Stabl <<<>>> stabl@unipas.fmi.uni-passau.de <<<<<<<<<<