# Fw: ANNOUNCE: enhancements to JOY

## Stefano Lanzavecchia — 2001-06-26 07:40:02

    In case you missed this in comp.lang.functional:

    "Mattias Waldau" <mattias@...> wrote in message

    news:<m31yoft8i2.fsf@...>...

     > manfred@... (Manfred Von Thun) writes:

    > > I am pleased to announce John Cowan's substantial enhancements to

    > > the prototype C implementation of Joy, a purely functional language.

    >

    > I looked at it, and had some questions.

    >

    > Please shortly explain:

    > 1. How does it differ from FORTH?

    > 2. How is it functional? Is it it FORTH without variables?

    > 3. Is it typed?

    >

    > --

    > Mattias Waldau, http://www.abc.se/~m10217/

## Manfred von Thun — 2001-06-26 07:51:10

    On Tue, 26 Jun 2001, Stefano Lanzavecchia wrote:

     > In case you missed this in comp.lang.functional:

     Thank you, Stefano. Yes, I missed it.

     > "Mattias Waldau" <mattias@...> wrote in message

    > news:<m31yoft8i2.fsf@...>...

     Sorry, Mattias. I missed it, so here is my reply:

     > > manfred@... (Manfred Von Thun) writes:

    > > > I am pleased to announce John Cowan's substantial enhancements to

    > > > the prototype C implementation of Joy, a purely functional language.

    > >

    > > I looked at it, and had some questions.

    > >

    > > Please shortly explain:

    > > 1. How does it differ from FORTH?

     In many many ways. Whereas Forth exposes much of the underlying

    implementation, Joy hides most of it. Whereas Forth is similar

    to an assembler + some high level constructs, Joy is only high

    level.

     > > 2. How is it functional? Is it it FORTH without variables?

     It is like the purely functional subset of Lisp, Scheme, ML, or

    like Haskell (which is purely functional all the way). Indeed,

    there are no assignment statements, no assignable variables.

    There are not even any formal parameters that are given values

    at the point of call, and in this respect it resembles (some style

    of programming in) Forth. But no, it is not Forth without variables,

    it is too different.

     > > 3. Is it typed?

     Only weakly and dynamically, like Lisp and Scheme, and unlike

    ML and Haskell which have polymorphic typing at compile time.

     > > Mattias Waldau, http://www.abc.se/~m10217/

     Hope this helps, Mattias.

      - Manfred

## Jack Waugh — 2001-06-26 18:23:03

    The announcement in comp.lang.functional (archived, by the way, at

    http://groups.google.com/groups?

    q=Joy&hl=en&group=comp.lang.functional&safe=off&rnum=1&ic=1&selm=9g9sp

    u%247c0%241%40latcs1.cs.latrobe.EDU.AU if you can get all that into

    your browser) promises "Files as a datatype, together with some

    common functions for manipulating files and doing I/O."  Are the

    files now gone from function arguments and results (other than any

    files that might happen to occupy positions in the stack)?