# Joy in Euphoria

## raybaquirin — 2005-01-05 03:03:09

    Hi,

    I've been lurking on the list a while, and was inspired by some posts

    late last year to try my hand at coding a Joy interpreter.  The result

    is joie (Joy in Euphoria), available from the user contributions

    section of the website http://rapideuphoria.com .  It's far from

    complete but I could use some feedback before I sit down and code

    another 2000 lines (about half of that is whitespace and comments,

    actually).

    I've had to make changes to inilib.joy to get it to load.  That

    probably means there's something wrong in some primitive

    implementation.  There's probably a ton of bugs lurking there

    somewhere -- I haven't done a lot of testing.

    I hope you'll all try joie and experience Euphoria.

    Joy to the world!

    Ray

## phimvt@lurac.latrobe.edu.au — 2005-01-10 07:23:21

    Hello Ray,

       Well done. I had heard the name Euphoria, but never knew

    what it was. I must say that your JOy interpreter does look

    very nice, and certainly more readable than my version in C.

    Also pleased to hear that John Cowan is lending a hand.

       At the moment I cannot look at it in sufficient detail

    to give you any useful comments. At any rate, keep it up,

    and best wishes.

       Thanks

       - Manfred

     On Wed, 5 Jan 2005, raybaquirin wrote:

    > Hi,

    >

    > I've been lurking on the list a while, and was inspired by some posts

    > late last year to try my hand at coding a Joy interpreter.  The result

    > is joie (Joy in Euphoria), available from the user contributions

    > section of the website http://rapideuphoria.com .  It's far from

    > complete but I could use some feedback before I sit down and code

    > another 2000 lines (about half of that is whitespace and comments,

    > actually).

    >

    > I've had to make changes to inilib.joy to get it to load.  That

    > probably means there's something wrong in some primitive

    > implementation.  There's probably a ton of bugs lurking there

    > somewhere -- I haven't done a lot of testing.

    >

    > I hope you'll all try joie and experience Euphoria.

    >

    > Joy to the world!

    >

    > Ray

## John Cowan — 2005-01-10 21:20:09

    phimvt@... scripsit:

     >

    >

    > Hello Ray,

    >

    >    Well done. I had heard the name Euphoria, but never knew

    > what it was. I must say that your JOy interpreter does look

    > very nice, and certainly more readable than my version in C.

    > Also pleased to hear that John Cowan is lending a hand.

     I'm not, actually: joie was influenced by my Scheme implementation of

    Joy.  Some day I need to get back to that and generate a C version,

    which will be even more unreadable than joy1 but will have much cleaner

    source code.

    --

    There are three kinds of people in the world:   John Cowan

    those who can count,                            http://www.reutershealth.com

    and those who can't.                            jcowan@...

## raybaquirin — 2005-01-13 01:53:30

    Hi, Manfred,

    Thank you!

    I think my scanning code is quite ugly; it's good to know that it's at

    least readable.

    Version 2.5 of Euphoria comes with the source code for a Euphoria

    interpreter in Euphoria.  The code is very much in the style of a

    Crenshaw compiler (I only came upon Crenshaw's online book after I had

    coded most of joie).

    I've done some testing, and think that that code could be "repurposed"

    into a Joy interpreter.  That would be for a later version of joie, as

    my priority now is to get the base libraries loading (and fix some

    bugs too, of course).

    Thanks again,

    Ray

     --- In concatenative@yahoogroups.com, phimvt@l... wrote:

    >

    > Hello Ray,

    >

    >    Well done. I had heard the name Euphoria, but never knew

    > what it was. I must say that your JOy interpreter does look

    > very nice, and certainly more readable than my version in C.

    > Also pleased to hear that John Cowan is lending a hand.

    >

    >    At the moment I cannot look at it in sufficient detail

    > to give you any useful comments. At any rate, keep it up,

    > and best wishes.

    >

    >    Thanks

    >

    >    - Manfred

    >

    > On Wed, 5 Jan 2005, raybaquirin wrote:

    >

    > > Hi,

    > >

    > > I've been lurking on the list a while, and was inspired by some posts

    > > late last year to try my hand at coding a Joy interpreter.  The result

    > > is joie (Joy in Euphoria), available from the user contributions

    > > section of the website http://rapideuphoria.com .  It's far from

    > > complete but I could use some feedback before I sit down and code

    > > another 2000 lines (about half of that is whitespace and comments,

    > > actually).

    > >

    > > I've had to make changes to inilib.joy to get it to load.  That

    > > probably means there's something wrong in some primitive

    > > implementation.  There's probably a ton of bugs lurking there

    > > somewhere -- I haven't done a lot of testing.

    > >

    > > I hope you'll all try joie and experience Euphoria.

    > >

    > > Joy to the world!

    > >

    > > Ray

## raybaquirin — 2005-01-13 03:33:28

    Hi, John,

    There's a Euphoria-to-C translator, and when joie is further along, I

     want to run it through the translator and see what I get.  It would

    be another way to get a Joy in C.

    Ray

     --- In concatenative@yahoogroups.com, John Cowan <cowan@c...> wrote:

    > phimvt@l... scripsit:

    > >

    > >

    > > Hello Ray,

    > >

    > >    Well done. I had heard the name Euphoria, but never knew

    > > what it was. I must say that your JOy interpreter does look

    > > very nice, and certainly more readable than my version in C.

    > > Also pleased to hear that John Cowan is lending a hand.

    >

    > I'm not, actually: joie was influenced by my Scheme implementation of

    > Joy.  Some day I need to get back to that and generate a C version,

    > which will be even more unreadable than joy1 but will have much cleaner

    > source code.

    >

    > --

    > There are three kinds of people in the world:   John Cowan

    > those who can count,

    http://www.reutershealth.com

    > and those who can't.                            jcowan@r...

## John Cowan — 2005-01-13 03:41:13

    raybaquirin scripsit:

     > There's a Euphoria-to-C translator, and when joie is further along, I

    >  want to run it through the translator and see what I get.  It would

    > be another way to get a Joy in C.

     Excellent!

    --

    At the end of the Metatarsal Age, the dinosaurs         John Cowan

    abruptly vanished. The theory that a single             jcowan@...

    catastrophic event may have been responsible            www.reutershealth.com

    has been strengthened by the recent discovery of        www.ccil.org/~cowan

    a worldwide layer of whipped cream marking the

    Creosote-Tutelary boundary.             --Science Made Stupid

## phimvt@lurac.latrobe.edu.au — 2005-01-17 06:00:26

    On Thu, 13 Jan 2005, raybaquirin wrote:

    [..]

    > Version 2.5 of Euphoria comes with the source code for a Euphoria

    > interpreter in Euphoria.  The code is very much in the style of a

    > Crenshaw compiler (I only came upon Crenshaw's online book after I had

    > coded most of joie).

    Thanks for the reference to the Crenshaw book. I had not seen it

    before, but it looks quite nice. One or two centuries ago ( I cannot

    remember), when I started on Pascal, I learnt a lot from Wirth's

    PLZERO (PL0) compiler in his book "Algorithms + Data Structure =

    Programs" (the early version of that book). If you are learning

    about simple compilers, that would be a good one. You will also

    find several at different levels of difficulty on my Pascal page:

    "Symbolic Processing in Pascal". The lates ones cover about the

    same level as Crenshaw.

    I applaud your decision to heed Wirth's advice: If at all possible

    (especially if one has a choice about the syntax to be implemented),

    use recursive descent (LLR) parsing and translating. Once one has

    understood the basic idea, it is easy and does not require any

    special tools. Somebody wrote: "An experienced compiler writer

    can write recursive descent as fast as he can write a grammar."

    When I first read that I could not believe it, but I soon saw

    that it is true.

    Best wishes for the implementation.

      - Manfred