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