Re: [racket-users] Functions in a terminal port

2019-01-03 Thread Joao Pedro Abreu De Souza
I test, works VERY good. :)

Thanks. For now, I will use only the charterm-screen-size function, because
until I use more the charterm-insert-line
is simpler to cut the output to serve only some number of lines. I will use
charterm-insert-line in the future.

Em qui, 3 de jan de 2019 às 15:58, Joao Pedro Abreu De Souza <
jp_ab...@id.uff.br> escreveu:

> Thanks, Neil. I will test today later. :)
>
> Em qui, 3 de jan de 2019 04:35, Neil Van Dyke  escreveu:
>
>> If you're on a Unix, like GNU/Linux or a BSD, you could use the
>> `charterm` package:
>>
>> #lang racket/base
>> (require charterm)
>> (with-charterm
>>   (let-values (((w h) (charterm-screen-size)))
>> (charterm-clear-screen)
>> (charterm-display "Width: " w " Height: " h " ")
>> (charterm-cursor 1 2)))
>>
>> `charterm` can probably also do the other things you mentioned.  See the
>> demo program that the documentation mentions.
>>
>> https://www.neilvandyke.org/racket/charterm/
>>
>> You mentioned `less`.  If you want to be able to scroll backwards
>> vertically one line at a time, like `less` can, without redrawing the
>> screen, then you might want to use `charterm-insert-line`. (This will
>> probably work for any terminal you have today.  It probably won't work
>> on terminal emulators that are set to strict "VT-100" emulation, but it
>> should work with later VT model emulation and "ANSI".)
>>
>> I haven't been developing `charterm` since I originally wrote it, so
>> some things are relatively over-engineered, while other things are
>> missing or could be improved.  If `charterm` doesn't do what you want, I
>> see two other interesting packages to look at:
>>
>> https://pkgs.racket-lang.org/package/termios
>> https://pkgs.racket-lang.org/package/ansi
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Long live SDRAW.LISP -- in Racket pict!

2019-01-03 Thread Jack Rosenthal
Thanks Jens Axel!

I think your metapict library is very cool --- I will have to play with
it a bit more in the future. I linked your code in my GitHub README as a
potential alternative.

I made substantial improvements to my code, and it's a Racket package
now (raco pkg install sdraw), complete with documentation:
http://docs.racket-lang.org/sdraw/

I'd be interested if anyone has any suggestions to improve the
interface... I think there are currently a lot of options, and it may be
a bit confusing.

Thanks,

Jack

-- 
Jack M. Rosenthal
http://jack.rosenth.al

There's only two hard problems in computer science: cache invalidation,
naming things, and off-by-one errors.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


signature.asc
Description: PGP signature


Re: [racket-users] Re: Redex: making a #lang with native lambda, app, etc.

2019-01-03 Thread William J. Bowman
Joey,

An early version of Cur did this (which worked well for an initial model, but 
was terrible for performance and debugging).
I don't have anything written up, but you can try reading the code and pinging 
me with questions:
  
https://github.com/wilbowma/cur/blob/9e575a8c220c0cf399ec3f90e6994f1098b35fb2/cur-lib/cur/curnel/redex-impl/lang.rkt#L2

Basically, each macro (`#%lambda`, `#%app`, ...) wrapped the surface syntax with
`(reflect (term (eval ...)))`, where `eval` runs the Redex reduction relation
and `reflect` tries to prettify Redex quoted terms as surface syntax (and
usually fails; most of the output was still quoted).

It also has implementations of `provide`, `require`, and `module+` which thread
state through modules that `eval` and the type system require.

Hope it helps!

--
William J. Bowman

On Wed, Jan 02, 2019 at 05:47:25PM -0800, Joey Eremondi wrote:
> Thanks for the response!
> 
> That's not quite what I want. That will quote lambdas and applications into 
> my redex models, but I also want it to reduce them by my reduction relation.
> 
> The link I posted discussed how to do that, but only when you write 
> programs in the syntax of the model.
> 
> Sorry for not being clear about the top-interaction. There's nothing 
> specific about top-interaction, I'm having the same problem with 
> module-begin.
> I'm trying to get them both to evaluate the terms using my redex model.
> 
> The local-expand function in the article you give looks promising, but I'm 
> still figuring out how exactly to use it, particularly with the list of 
> expressions for module-begin.
> 
> 
> On Monday, December 31, 2018 at 8:47:49 PM UTC-8, Sorawee Porncharoenwase 
> wrote:
> >
> > I'm a novice too, but here's my attempt to help.
> >  
> >
> >> I'd like to use (define-syntax) to make lambda, #%app, etc. all expand 
> >> into terms in my model.
> >>
> >
> > This works for me.  Is this what you want?
> >
> > #lang racket/base
> >
> > (require redex)
> >
> > (define-language L
> >   (term ::=
> > (TermLambda var term)
> > var
> > (TermApp term term)))
> >
> > (define-syntax-rule (lambda (x) b)
> >   (term (TermLambda x b)))
> >
> > (default-language L)
> >
> > (lambda (y) y)
> > ;; => '(TermLambda y y)
> >
> > (term (substitute ,(lambda (y) y) y z))
> > ;; => '(TermLambda z z)
> >
> >  
> >
> >> But the problem I'm running into is that #%top-interaction applies (term) 
> >> to its argument, which means that  'lambda' and other macros get quoted 
> >> and 
> >> not expanded.
> >>
> >
> > I don't totally understand how #%top-interaction is relevant here. It only 
> > comes up when you use the REPL, and even then I think it shouldn't do 
> > something like that. What are you trying to do in the REPL? And can't you 
> > redefine #%top-interaction so that it doesn't do what you don't want it to 
> > do?
> >  
> >
> >> Is there a way to make sure that the macros are expanded *before* they 
> >> are passed to term, so that (term) receives valid syntax trees for my 
> >> model, instead of quoted lambdas and apps?
> >>
> >
> > See 
> > https://lexi-lambda.github.io/blog/2018/10/06/macroexpand-anywhere-with-local-apply-transformer/.
> >  
> > You can also just use the gist here: 
> > https://gist.github.com/lexi-lambda/65d69043023b519694f50dfca2dc7d33
> >  
> >
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to racket-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Re: Redex: making a #lang with native lambda, app, etc.

2019-01-03 Thread Shu-Hung You
Deferring everything to runtime could avoid macros as much as
possible. You can implement input parsing as a function and use the
macro only to glue things together.

#lang racket/base

(require (for-syntax racket/base)
 syntax/parse/define
 redex/reduction-semantics)

(provide (rename-out
  [my-module-begin #%module-begin]))

(define-simple-macro (my-module-begin form ...)
  (#%module-begin (handle-expression 'form) ...))

And the function handle-expression can parse the quoted expression
into the syntax of your model, invoke Redex and print the result:

(define (handle-expression expr)
  (define t (parse-input expr))
  (define results (apply-reduction-relation* R t))
  (write (car results)))

(define (parse-input expr)
  )

(where parse-input is a normal function that turns λ into TermLambda
and inserts TermApp when appropriate.)

On Wed, Jan 2, 2019 at 7:47 PM Joey Eremondi  wrote:
>
> Thanks for the response!
>
> That's not quite what I want. That will quote lambdas and applications into 
> my redex models, but I also want it to reduce them by my reduction relation.
>
> The link I posted discussed how to do that, but only when you write programs 
> in the syntax of the model.
>
> Sorry for not being clear about the top-interaction. There's nothing specific 
> about top-interaction, I'm having the same problem with module-begin.
> I'm trying to get them both to evaluate the terms using my redex model.
>
> The local-expand function in the article you give looks promising, but I'm 
> still figuring out how exactly to use it, particularly with the list of 
> expressions for module-begin.
>
>
> On Monday, December 31, 2018 at 8:47:49 PM UTC-8, Sorawee Porncharoenwase 
> wrote:
>>
>> I'm a novice too, but here's my attempt to help.
>>
>>>
>>> I'd like to use (define-syntax) to make lambda, #%app, etc. all expand into 
>>> terms in my model.
>>
>>
>> This works for me.  Is this what you want?
>>
>> #lang racket/base
>>
>> (require redex)
>>
>> (define-language L
>>   (term ::=
>> (TermLambda var term)
>> var
>> (TermApp term term)))
>>
>> (define-syntax-rule (lambda (x) b)
>>   (term (TermLambda x b)))
>>
>> (default-language L)
>>
>> (lambda (y) y)
>> ;; => '(TermLambda y y)
>>
>> (term (substitute ,(lambda (y) y) y z))
>> ;; => '(TermLambda z z)
>>
>>
>>>
>>> But the problem I'm running into is that #%top-interaction applies (term) 
>>> to its argument, which means that  'lambda' and other macros get quoted and 
>>> not expanded.
>>
>>
>> I don't totally understand how #%top-interaction is relevant here. It only 
>> comes up when you use the REPL, and even then I think it shouldn't do 
>> something like that. What are you trying to do in the REPL? And can't you 
>> redefine #%top-interaction so that it doesn't do what you don't want it to 
>> do?
>>
>>>
>>> Is there a way to make sure that the macros are expanded *before* they are 
>>> passed to term, so that (term) receives valid syntax trees for my model, 
>>> instead of quoted lambdas and apps?
>>
>>
>> See 
>> https://lexi-lambda.github.io/blog/2018/10/06/macroexpand-anywhere-with-local-apply-transformer/.
>>  You can also just use the gist here: 
>> https://gist.github.com/lexi-lambda/65d69043023b519694f50dfca2dc7d33
>>
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to racket-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Functions in a terminal port

2019-01-03 Thread Joao Pedro Abreu De Souza
Thanks, Neil. I will test today later. :)

Em qui, 3 de jan de 2019 04:35, Neil Van Dyke  If you're on a Unix, like GNU/Linux or a BSD, you could use the
> `charterm` package:
>
> #lang racket/base
> (require charterm)
> (with-charterm
>   (let-values (((w h) (charterm-screen-size)))
> (charterm-clear-screen)
> (charterm-display "Width: " w " Height: " h " ")
> (charterm-cursor 1 2)))
>
> `charterm` can probably also do the other things you mentioned.  See the
> demo program that the documentation mentions.
>
> https://www.neilvandyke.org/racket/charterm/
>
> You mentioned `less`.  If you want to be able to scroll backwards
> vertically one line at a time, like `less` can, without redrawing the
> screen, then you might want to use `charterm-insert-line`. (This will
> probably work for any terminal you have today.  It probably won't work
> on terminal emulators that are set to strict "VT-100" emulation, but it
> should work with later VT model emulation and "ANSI".)
>
> I haven't been developing `charterm` since I originally wrote it, so
> some things are relatively over-engineered, while other things are
> missing or could be improved.  If `charterm` doesn't do what you want, I
> see two other interesting packages to look at:
>
> https://pkgs.racket-lang.org/package/termios
> https://pkgs.racket-lang.org/package/ansi
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] triggering servlet on GET parameters

2019-01-03 Thread David Storrs
Stephen, you might also find this useful as a reference to crib from:
http://matt.might.net/articles/low-level-web-in-racket/

On Thu, Jan 3, 2019 at 11:10 AM Jay McCarthy  wrote:

> Use normal racket/base and web-server/servlet-env ‘s serve/servlet
>
> On Thu, Jan 3, 2019 at 10:53 AM David Storrs 
> wrote:
>
>>
>>
>> On Wed, Jan 2, 2019 at 7:12 PM Jay McCarthy 
>> wrote:
>>
>>> You need to stop using `web-server/insta`
>>
>>
>> What would you recommend he use instead of web-server/insta?
>>
>>
>>> so you can customize more.
>>> Then, you need to intercept ALL requests with your servlet. Then, your
>>> servlet just needs to call (next-dispatcher) and the static file
>>> handler will kick in, because it comes after servlets.
>>>
>>> Jay
>>>
>>> On Wed, Jan 2, 2019 at 7:08 PM Stephen De Gabrielle
>>>  wrote:
>>> >
>>> > Hi,
>>> >
>>> > I'm fooling around with #lang web-server/insta, and I can serve .html
>>> files by setting (static-files-path page-root), but I'd like to trigger my
>>> servlet if there is a '?action=edit' parameter set.
>>> >
>>> > e.g
>>> > https://localhost/start.html just serves the file (I can do this!)
>>> > https://localhost/start.html?action=edit  calls my servlet (I can't
>>> work out how to do this :( )
>>> >
>>> > (There is a lot of documentation but I'm a beginner with webdev so
>>> don't know where to look)
>>> >
>>> > Kind regards
>>> >
>>> > Stephen
>>> >
>>> > PS the project is a scribble based wiki. If you create a new page you
>>> enter raw scribble/manual in a form (my servlet) and it gets saved in a
>>> folder and transformed into html that is served directly by
>>> (static-files-path page-root), the conversion from raw scribble goes like
>>> this:
>>> > (require raco/all-tools)
>>> > (define raco-scribble-spec (hash-ref (all-tools) "scribble"))
>>> > ;;scribble-to-html : source target body
>>> > ;; generate html file from scribble file
>>> > (define (scribble-to-html source target) ;-> list of strings
>>> >   (parameterize ([current-command-line-arguments (vector "--html"
>>> source)]
>>> >  [current-directory target])
>>> > (dynamic-require (cadr raco-scribble-spec) #f)))
>>> >
>>> >
>>> > --
>>> > You received this message because you are subscribed to the Google
>>> Groups "Racket Users" group.
>>> > To unsubscribe from this group and stop receiving emails from it, send
>>> an email to racket-users+unsubscr...@googlegroups.com.
>>> > For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>
>>> --
>>> -=[ Jay McCarthy   http://jeapostrophe.github.io]=-
>>> -=[ Associate ProfessorPLT @ CS @ UMass Lowell ]=-
>>> -=[ Moses 1:33: And worlds without number have I created; ]=-
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Racket Users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to racket-users+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> --
> -=[ Jay McCarthy   http://jeapostrophe.github.io]=-
> -=[ Associate ProfessorPLT @ CS @ UMass Lowell ]=-
> -=[ Moses 1:33: And worlds without number have I created; ]=-
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] triggering servlet on GET parameters

2019-01-03 Thread Jay McCarthy
Use normal racket/base and web-server/servlet-env ‘s serve/servlet

On Thu, Jan 3, 2019 at 10:53 AM David Storrs  wrote:

>
>
> On Wed, Jan 2, 2019 at 7:12 PM Jay McCarthy 
> wrote:
>
>> You need to stop using `web-server/insta`
>
>
> What would you recommend he use instead of web-server/insta?
>
>
>> so you can customize more.
>> Then, you need to intercept ALL requests with your servlet. Then, your
>> servlet just needs to call (next-dispatcher) and the static file
>> handler will kick in, because it comes after servlets.
>>
>> Jay
>>
>> On Wed, Jan 2, 2019 at 7:08 PM Stephen De Gabrielle
>>  wrote:
>> >
>> > Hi,
>> >
>> > I'm fooling around with #lang web-server/insta, and I can serve .html
>> files by setting (static-files-path page-root), but I'd like to trigger my
>> servlet if there is a '?action=edit' parameter set.
>> >
>> > e.g
>> > https://localhost/start.html just serves the file (I can do this!)
>> > https://localhost/start.html?action=edit  calls my servlet (I can't
>> work out how to do this :( )
>> >
>> > (There is a lot of documentation but I'm a beginner with webdev so
>> don't know where to look)
>> >
>> > Kind regards
>> >
>> > Stephen
>> >
>> > PS the project is a scribble based wiki. If you create a new page you
>> enter raw scribble/manual in a form (my servlet) and it gets saved in a
>> folder and transformed into html that is served directly by
>> (static-files-path page-root), the conversion from raw scribble goes like
>> this:
>> > (require raco/all-tools)
>> > (define raco-scribble-spec (hash-ref (all-tools) "scribble"))
>> > ;;scribble-to-html : source target body
>> > ;; generate html file from scribble file
>> > (define (scribble-to-html source target) ;-> list of strings
>> >   (parameterize ([current-command-line-arguments (vector "--html"
>> source)]
>> >  [current-directory target])
>> > (dynamic-require (cadr raco-scribble-spec) #f)))
>> >
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> Groups "Racket Users" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> an email to racket-users+unsubscr...@googlegroups.com.
>> > For more options, visit https://groups.google.com/d/optout.
>>
>>
>>
>> --
>> -=[ Jay McCarthy   http://jeapostrophe.github.io]=-
>> -=[ Associate ProfessorPLT @ CS @ UMass Lowell ]=-
>> -=[ Moses 1:33: And worlds without number have I created; ]=-
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Racket Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to racket-users+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
> --
-=[ Jay McCarthy   http://jeapostrophe.github.io]=-
-=[ Associate ProfessorPLT @ CS @ UMass Lowell ]=-
-=[ Moses 1:33: And worlds without number have I created; ]=-

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] triggering servlet on GET parameters

2019-01-03 Thread David Storrs
On Wed, Jan 2, 2019 at 7:12 PM Jay McCarthy  wrote:

> You need to stop using `web-server/insta`


What would you recommend he use instead of web-server/insta?


> so you can customize more.
> Then, you need to intercept ALL requests with your servlet. Then, your
> servlet just needs to call (next-dispatcher) and the static file
> handler will kick in, because it comes after servlets.
>
> Jay
>
> On Wed, Jan 2, 2019 at 7:08 PM Stephen De Gabrielle
>  wrote:
> >
> > Hi,
> >
> > I'm fooling around with #lang web-server/insta, and I can serve .html
> files by setting (static-files-path page-root), but I'd like to trigger my
> servlet if there is a '?action=edit' parameter set.
> >
> > e.g
> > https://localhost/start.html just serves the file (I can do this!)
> > https://localhost/start.html?action=edit  calls my servlet (I can't
> work out how to do this :( )
> >
> > (There is a lot of documentation but I'm a beginner with webdev so don't
> know where to look)
> >
> > Kind regards
> >
> > Stephen
> >
> > PS the project is a scribble based wiki. If you create a new page you
> enter raw scribble/manual in a form (my servlet) and it gets saved in a
> folder and transformed into html that is served directly by
> (static-files-path page-root), the conversion from raw scribble goes like
> this:
> > (require raco/all-tools)
> > (define raco-scribble-spec (hash-ref (all-tools) "scribble"))
> > ;;scribble-to-html : source target body
> > ;; generate html file from scribble file
> > (define (scribble-to-html source target) ;-> list of strings
> >   (parameterize ([current-command-line-arguments (vector "--html"
> source)]
> >  [current-directory target])
> > (dynamic-require (cadr raco-scribble-spec) #f)))
> >
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups "Racket Users" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> an email to racket-users+unsubscr...@googlegroups.com.
> > For more options, visit https://groups.google.com/d/optout.
>
>
>
> --
> -=[ Jay McCarthy   http://jeapostrophe.github.io]=-
> -=[ Associate ProfessorPLT @ CS @ UMass Lowell ]=-
> -=[ Moses 1:33: And worlds without number have I created; ]=-
>
> --
> You received this message because you are subscribed to the Google Groups
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to racket-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Experiences with Racket on RISC-V?

2019-01-03 Thread 'Paulo Matos' via Racket Users
Hi,

Thanks for CCing me on this. I have been involved in the RISC-V
community for awhile and I am interested in getting Racket on RISC-V. I
have started porting Chez to RISC-V as a side project as currently I
have no clients paying me to do so. Therefore, as you would expect, it's
going slow. The good news is that the little porting I did is online[1]
and I am accepting PRs. :)

If I can help with anything else please let me know. Things are slow on
my side until the 7th as I am on holiday but I will read all the racket
related messages by then and reply if I see I have anything to add.

Paulo Matos

[1]  https://github.com/LinkiTools/ChezScheme-RISCV/

On 03/01/2019 02:59, Neil Van Dyke wrote:
> (CC-ing Paulo Matos.)
> 
> I expect RISC-V to be a top architecture platform for systems
> researchers doing open science, including some language/compilers
> researchers.  And for CS students in systems classes.
> 
> RISC-V is also looking to be important for a more open hardware platform
> for some industry, and for nations and user bases who care about that.
> 
> This is a good, accessible overview of RISC-V, by Krste Asanovic:
> https://www.youtube.com/watch?v=QTYiH1Y5UV0
> 
> I'd love to see Racket started towards RISC-V, by being tested working
> well on the current RISC-V boards (and on a good open source emulator).
> 
> 
> BTW, a second-priority, open-ish target architecture that might be also
> be on the horizon for Racket is Power9.  Were Racket to also go there, I
> think it would make sense for IBM / Red Hat to fund that, somehow.  (If
> someone wanted to do this unfunded, you could use an emulator, and ask
> raptorcs.com to kindly let you have remote access to a Talos II.  But
> IBM doesn't need charity. :)  Power9 would not be done to the exclusion
> of RISC-V, but be complementary.
> 
> (I also still use amd64/x86, arm, and (openwrt) mips, of course.  No
> slights to those.)
> 
> 
> David Thrane Christiansen wrote on 1/2/19 7:38 PM:
>> Hi all,
>>
>> I'm just wondering if anyone here has experience running Racket on
>> Debian on RISC-V, either positive or negative. There is a Debian
>> package, at least, but language implementations are often one of the
>> more challenging things to make reliable on a new architecture.
>>
>> In case it matters, the GUI part is not relevant for what I'm
>> interested in.
>>
>> Thanks!
>>
>> David
>>

-- 
Paulo Matos

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.