Re: [racket-users] Re: FUSE filesystem package

2016-10-12 Thread Scott Moore
Good catch! Thanks Robby.
On October 12, 2016 at 4:03:36 PM, Robby Findler (ro...@eecs.northwestern.edu) 
wrote:

Looks like the code has a race-condition. You could either define it  
away (using thread-cells (ie once per thread)) or add some  
syncronization.  

Robby  


On Wed, Oct 12, 2016 at 4:53 PM, Scott Moore  wrote:  
> On October 12, 2016 at 2:35:37 PM, Vincent St-Amour  
> (stamo...@eecs.northwestern.edu) wrote:  
>  
> On Wed, 12 Oct 2016 16:31:46 -0500,  
> Scott Moore wrote:  
>>  
>> PS: is the documentation for use-once/c somewhere?  
>>  
>> I’ll add it to the docs when I get a chance. You can see the definition  
>> here:  
>>  
>> https://github.com/thinkmoore/racket-fuse/blob/master/private/filesystem.rkt#L132
>>   
>>  
>> use-once/c is a combinator that takes a procedure contract and makes it  
>> so that the contracted procedure can only be applied once. Ideally, I’d  
>> enforce the stronger property that you can use only one of the response  
>> or error callback for each procedure, but that would have been a bit  
>> trickier due to the need to attach the contract to two values at once.  
>> use-once/c is a nod to at least making sure you didn’t reuse them  
>> between operations...  
>  
> Any connection to Jesse's affine contracts?  
>  
> http://planet.racket-lang.org/package-source/tov/affine-contracts.plt/2/2/planet-docs/manual/index.html
>   
>  
> Vincent  
>  
> Neat! Hadn’t seen those before. My implementation is basically exactly  
> makeAffineFunContract from the paper but as a combinator instead of a new ->  
> contract.  
>  
> --  
> 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: FUSE filesystem package

2016-10-12 Thread Robby Findler
Looks like the code has a race-condition. You could either define it
away (using thread-cells (ie once per thread)) or add some
syncronization.

Robby


On Wed, Oct 12, 2016 at 4:53 PM, Scott Moore  wrote:
> On October 12, 2016 at 2:35:37 PM, Vincent St-Amour
> (stamo...@eecs.northwestern.edu) wrote:
>
> On Wed, 12 Oct 2016 16:31:46 -0500,
> Scott Moore wrote:
>>
>> PS: is the documentation for use-once/c somewhere?
>>
>> I’ll add it to the docs when I get a chance. You can see the definition
>> here:
>>
>> https://github.com/thinkmoore/racket-fuse/blob/master/private/filesystem.rkt#L132
>>
>> use-once/c is a combinator that takes a procedure contract and makes it
>> so that the contracted procedure can only be applied once. Ideally, I’d
>> enforce the stronger property that you can use only one of the response
>> or error callback for each procedure, but that would have been a bit
>> trickier due to the need to attach the contract to two values at once.
>> use-once/c is a nod to at least making sure you didn’t reuse them
>> between operations...
>
> Any connection to Jesse's affine contracts?
>
> http://planet.racket-lang.org/package-source/tov/affine-contracts.plt/2/2/planet-docs/manual/index.html
>
> Vincent
>
> Neat! Hadn’t seen those before. My implementation is basically exactly
> makeAffineFunContract from the paper but as a combinator instead of a new ->
> contract.
>
> --
> 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: FUSE filesystem package

2016-10-12 Thread Scott Moore
On October 12, 2016 at 2:35:37 PM, Vincent St-Amour 
(stamo...@eecs.northwestern.edu) wrote:
On Wed, 12 Oct 2016 16:31:46 -0500, 
Scott Moore wrote: 
> 
> PS: is the documentation for use-once/c somewhere? 
> 
> I’ll add it to the docs when I get a chance. You can see the definition 
> here: 
> https://github.com/thinkmoore/racket-fuse/blob/master/private/filesystem.rkt#L132
>  
> 
> use-once/c is a combinator that takes a procedure contract and makes it 
> so that the contracted procedure can only be applied once. Ideally, I’d 
> enforce the stronger property that you can use only one of the response 
> or error callback for each procedure, but that would have been a bit 
> trickier due to the need to attach the contract to two values at once. 
> use-once/c is a nod to at least making sure you didn’t reuse them 
> between operations... 

Any connection to Jesse's affine contracts? 

http://planet.racket-lang.org/package-source/tov/affine-contracts.plt/2/2/planet-docs/manual/index.html
 

Vincent 
Neat! Hadn’t seen those before. My implementation is basically exactly 
makeAffineFunContract from the paper but as a combinator instead of a new -> 
contract.

-- 
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: FUSE filesystem package

2016-10-12 Thread Ben Greenman
>
>
> Any connection to Jesse's affine contracts?
>
> http://planet.racket-lang.org/package-source/tov/affine-
> contracts.plt/2/2/planet-docs/manual/index.html


Whoa, I didn't know those existed. Cool!

-- 
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: FUSE filesystem package

2016-10-12 Thread Vincent St-Amour
On Wed, 12 Oct 2016 16:31:46 -0500,
Scott Moore wrote:
> 
> PS: is the documentation for use-once/c somewhere?
> 
> I’ll add it to the docs when I get a chance. You can see the definition
> here:
> https://github.com/thinkmoore/racket-fuse/blob/master/private/filesystem.rkt#L132
> 
> use-once/c is a combinator that takes a procedure contract and makes it
> so that the contracted procedure can only be applied once. Ideally, I’d
> enforce the stronger property that you can use only one of the response
> or error callback for each procedure, but that would have been a bit
> trickier due to the need to attach the contract to two values at once.
> use-once/c is a nod to at least making sure you didn’t reuse them
> between operations...

Any connection to Jesse's affine contracts?

http://planet.racket-lang.org/package-source/tov/affine-contracts.plt/2/2/planet-docs/manual/index.html

Vincent

-- 
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.