ANNOUNCE: Joy in Scheme version 0.3
John Cowan — 2003-05-14 19:58:56
Okay, another day, another version.
This one implements modules. The syntax is:
(joy-module module1
private
(joy-define foo bar baz)
public
(joy-define abc foo)
(joy-define def foo)
exported
(joy-define xyz abc))
The module name is the first argument. Private means the definition is
obscured; public means the definition is qualified by the module name;
exported means the definition is unqualified. You can have multiple
instances of private, public, and exported. The default is public if
nothing is specified.
I have also defined cond and step, with a still-buggy definition of map.
Still waiting for comment and/or bug reports and/or fixes.
--
John Cowan
jcowan@... www.reutershealth.com www.ccil.org/~cowan
"It's the old, old story. Droid meets droid. Droid becomes chameleon.
Droid loses chameleon, chameleon becomes blob, droid gets blob back
again. It's a classic tale." (Kryten, Red Dwarf)
John Hodge — 2003-05-14 20:35:45
[snip]
John Cowan writes:
> Still waiting for comment and/or bug reports and/or fixes.
I'll be looking at it closely tonight. Try to get back to you
tonight also.
--Hodge
John Hodge — 2003-05-14 20:39:49
--- In
concatenative@yahoogroups.com, John Cowan <cowan@c...> wrote:
> Okay, another day, another version.
Is this at the same location as version 2? Same filename?
--Hodge
Heiko.Kuhrt@t-online.de — 2003-05-14 23:11:18
Am Mittwoch Mai 14 2003 21:58 schrieb John Cowan:
> I have also defined cond and step, with a still-buggy definition of
> map. Still waiting for comment and/or bug reports and/or fixes.
Hello John,
I think it works very well!
----- The following I had to insert in order to run it on stklos-scheme:
(define hashtable (make-hash-table))
(define (getprop key hash default) (hash-table-get hashtable key
default))
(define (putprop key hash value) (hash-table-put! hashtable key
value))
(joy-prim-void (include s) (load s )) ; SYSTEM-DEPENDENT ;;filename.stk
------
;;; And this is my first lib for joy.ss
(display "This is test.stk")
(joy-define newword 1 +)
(joy-define abort 1 0 /)
(joy-define joy-newline "\n" putchars)
(joy-define putln putchars "\n" putchars)
(joy-define putline putchars joy-newline)
(joy-define newputline joy-newline putline)
(joy-define someerror ;"ERROR: " swoncat
newputline putln abort)
(joy-define unpair uncons first)
(joy-define swonsd [swons] dip)
(joy-define swons2 swapd swons swonsd)
,, so far everything perfectly ok
(joy-define joy-reverse () swap (swons) step)
(joy-define unzip reverse [ [] [] ]dip [unpair swons2] step)
(joy (1 2 3 4) () step) ; I think here is something wrong? But it late
over here, I'm going to sleep now.
-Heiko
John Cowan — 2003-05-15 02:12:20
John Hodge — 2003-05-15 13:42:18
--- In
concatenative@yahoogroups.com, John Cowan <cowan@c...> wrote:
> John Hodge scripsit:
>
> > Is this at the same location as version 2? Same filename?
>
> Yes, always.
>
I couldn't find any errors running it in Chez Scheme. When I tried
to compile it with Bigloo, there seemed to be some minor snag with
the macro expansions. I haven't had time to track down what is
causing these, and I will be away from my PC for 4 or 5 days
(vacation). I'll look into this further when I get back (although,
at the rate you are progressing, it may all be done by then).
--Hodge
John Cowan — 2003-05-16 03:40:43
John Hodge scripsit:
> I couldn't find any errors running it in Chez Scheme. When I tried
> to compile it with Bigloo, there seemed to be some minor snag with
> the macro expansions. I haven't had time to track down what is
> causing these, and I will be away from my PC for 4 or 5 days
> (vacation). I'll look into this further when I get back (although,
> at the rate you are progressing, it may all be done by then).
Maybe, maybe not. :-)
I ran it successfully under the Chicken interpreter, but I haven't had a
chance to try the Chicken compiler yet (which uses C as intermediate).
--
John Cowan
http://www.ccil.org/~cowan jcowan@...
Please leave your values Check your assumptions. In fact,
at the front desk. check your assumptions at the door.
--sign in Paris hotel --Cordelia Vorkosigan
John Cowan — 2003-05-16 12:40:27
Heiko.Kuhrt@... scripsit:
> Am Mittwoch Mai 14 2003 21:58 schrieb John Cowan:
> > I have also defined cond and step, with a still-buggy definition of
> > map. Still waiting for comment and/or bug reports and/or fixes.
>
>
> Hello John,
> I think it works very well!
Thanks. It wouldn't surprise me if there were bugs in "step" (or any
other primitive, for that matter).
--
De plichten van een docent zijn divers, John Cowan
die van het gehoor ook.
jcowan@...
--Edsger Dijkstra
http://www.ccil.org/~cowan
Steven Shaw — 2003-05-17 04:16:17
Seems to work under PLT-Scheme. Slightly modified Heiko's changes for
stklos-scheme:
(define hashtable (make-hash-table))
(define (getprop key hash default)
(hash-table-get hashtable key (lambda () default)))
(define (putprop key hash value)
(hash-table-put! hashtable key value))
Thanks!
Steve.