Re: Practicality of functional and logic languages?

aet@mundil.cs.mu.OZ.AU (Albert Edward THOMPSON)
Fri, 15 Jan 1993 01:32:44 GMT

          From comp.compilers

Related articles
[3 earlier articles]
Re: Practicality of functional and logic languages? maniattb@cs.rpi.edu (1993-01-12)
Re: Practicality of functional and logic languages? torbenm@diku.dk (1993-01-13)
Re: Practicality of functional and logic languages? hdev@dutiai.twi.tudelft.nl (1993-01-13)
Practicality of functional and logic languages? lock@karlsruhe.gmd.de (1993-01-14)
Re: Practicality of functional and logic languages? nickh@CS.CMU.EDU (1993-01-14)
Re: Practicality of functional and logic languages? joe@erix.ericsson.se (1993-01-14)
Re: Practicality of functional and logic languages? aet@mundil.cs.mu.OZ.AU (1993-01-15)
Re: Practicality of functional and logic languages? johnson@cs.uiuc.edu (1993-01-15)
Re: Practicality of functional and logic languages? glew@pdx007.intel.com (1993-02-03)
| List of all articles for this month |

Newsgroups: comp.compilers
From: aet@mundil.cs.mu.OZ.AU (Albert Edward THOMPSON)
Organization: Computer Science, University of Melbourne, Australia
Date: Fri, 15 Jan 1993 01:32:44 GMT
References: 93-01-059 93-01-080
Keywords: functional, architecture

maniattb@cs.rpi.edu (Bill Maniatty) writes:
>Has there been research in creating architectural
>support for functional programming languages?


Yes, research has been done. Some years ago, a machine was built
specifically to support the functional language Hope. There is also more
recent work using Haskell. I can dig up references if you are interested.


>Most machines have the internal concept of state, which is not assumed in
>functional programming languages (particularly those which enforce a
>single asssignment rule). Just how well could the functional programming
>paradigm be expressed at the machine level?


Hmm... Well functional languages rely upon very smart compilers which
compile from stateless expressions down to stateful low-level code. Do
you mean can we have functional machine architectures? Well.. Umm...
Hmm... I suppose you could have demand-driven machines based on
asynchronous logic and things like that. i think the concept of state has
to come in somewhere. how would you do garbage collection for instancer?


>What about the power of the functional programming paradigm? Is there an
>important class of problem which cannot be done by Functional Programming?


I wonder that myself, too. Functional languages presently are not good at
handling non-determinism in a pure way (i.e. referentially transparent
way). This is an active area of research. Of course, there are IMpure
functional languages that have exception handling etc. Look at ML. It
would be nice to have a collection of programs without good realizations
in pure functional languages. Anyone have some?


>Could you write an Operating System using Functional Programming
>techniques for example?


Yep. It's been done. However a non-deterministic primitive is usually
included. Either something like `amb' where `amb x y' can return either x
or y nondeterministically, or something like a stream merge that merges
items on a `first-come-first-serve' basis. Another alternative is to use
timestamps: This keeps everything purely functional.


(BTW, `pure' and `referentialy transparent' are just pompous terms used by
functional dudes. Essentially all it means it that an expression always
deonotes the same thing. This is not true in C for instance because of
side-effects. e.g. In C random number generator, `random()' denotes
different numbers at each call.)


bert.
--
bert thompson aet@munagin.ee.mu.oz.au.
SITEE school of information technology and electrical engineering
university of melbourne
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.