Re: [Chicken-users] dynamic scoping

2013-06-27 Thread Felix
From: John Cowan co...@mercury.ccil.org Subject: Re: [Chicken-users] dynamic scoping Date: Wed, 26 Jun 2013 20:17:38 -0400 Dan Leslie scripsit: The related SRFI is withdrawn, is it safe to assume that fluid-let will be available outside of Chicken? The implementation of fluid-let

[Chicken-users] dynamic scoping

2013-06-26 Thread Daniel Ajoy
add binds a to 1 at the moment of definition. #;48 (define a 1) #;49 (define (add x) (+ x a) ) #;50 (add 10) 11 #;51 (let ((a 100) ) (add 10) ) 11 Is there a way to give a different value of a to add, so that, something like this happens: (let ((a 100) ) (add 10) ) 110 Daniel

Re: [Chicken-users] dynamic scoping

2013-06-26 Thread Evan Hanson
Have a look at parameter objects. http://api.call-cc.org/doc/chicken/parameters Evan ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users

Re: [Chicken-users] dynamic scoping

2013-06-26 Thread Dan Leslie
By using parameters; see also: http://api.call-cc.org/doc/chicken/parameters/make-parameter http://api.call-cc.org/doc/miscmacros/define-parameter http://api.call-cc.org/doc/chicken/special-forms/parameterize -Dan On 6/26/2013 2:47 PM, Daniel Ajoy wrote: add binds a to 1 at the moment of

Re: [Chicken-users] dynamic scoping

2013-06-26 Thread Patrick Useldinger
On 26/06/2013 23:47, Daniel Ajoy wrote: add binds a to 1 at the moment of definition. #;48 (define a 1) #;49 (define (add x) (+ x a) ) #;50 (add 10) 11 #;51 (let ((a 100) ) (add 10) ) 11 Is there a way to give a different value of a to add, so that, something like this happens: (let ((a 100)

Re: [Chicken-users] dynamic scoping

2013-06-26 Thread Kon Lovett
See http://api.call-cc.org/doc/chicken/special-forms#def:fluid-let #;1 (define a 1) #;2 (define (add x) (+ x a) ) #;3 (let ((a 100) ) (add 10) ) 11 #;4 (fluid-let ((a 100) ) (add 10) ) 110 On Jun 26, 2013, at 2:47 PM, Daniel Ajoy da.a...@gmail.com wrote: add binds a to 1 at the moment of

Re: [Chicken-users] dynamic scoping

2013-06-26 Thread Dan Leslie
Oh you just had to be different. ;) The related SRFI is withdrawn, is it safe to assume that fluid-let will be available outside of Chicken? -Dan On 6/26/2013 2:56 PM, Kon Lovett wrote: See http://api.call-cc.org/doc/chicken/special-forms#def:fluid-let #;1 (define a 1) #;2 (define (add x)

Re: [Chicken-users] dynamic scoping

2013-06-26 Thread Kon Lovett
Sadly, John Cowan's fine table of SRFI support by implementation doesn't cover SRFI 15. In practice real dynamic variables - parameters - are the way to go for library or other distributed code. they are in R7RS! On Jun 26, 2013, at 3:01 PM, Dan Leslie d...@ironoxide.ca wrote: Oh you just

Re: [Chicken-users] dynamic scoping

2013-06-26 Thread John Cowan
Dan Leslie scripsit: The related SRFI is withdrawn, is it safe to assume that fluid-let will be available outside of Chicken? The implementation of fluid-let is trivial, provided you don't have more than one thread to deal with. That's why they were withdrawn, bad behavior when multiple

Re: [Chicken-users] dynamic scoping

2013-06-26 Thread John Cowan
Kon Lovett scripsit: Sadly, John Cowan's fine table of SRFI support by implementation doesn't cover SRFI 15. When I did it, I wasn't dealing with withdrawn SRFIs. As I just said, fluid-let's definition is highly portable in a single-threaded context. In practice real dynamic variables -