Re: [racket-users] Re: FUSE filesystem package
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
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
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
> > > 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
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.
[racket-users] Re: FUSE filesystem package
On October 12, 2016 at 12:15:38 PM, Dupéron Georges (jahvascriptman...@gmail.com) wrote: This is great! Thumbs up, and thanks for writing this library. I have a couple of filesystems in my "TODO" list, hopefully this package will motivate me to actually write them one of these days :) . Awesome! A nice feature would be some simpler API for creating filesystems which work by virtually moving or changing the attributes of (or concatenating + splitting, or otherwise transforming) files stored in an existing directory. This is a common use case in FUSE, I believe. 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... -- 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.
[racket-users] Re: FUSE filesystem package
This is great! Thumbs up, and thanks for writing this library. I have a couple of filesystems in my "TODO" list, hopefully this package will motivate me to actually write them one of these days :) . A nice feature would be some simpler API for creating filesystems which work by virtually moving or changing the attributes of (or concatenating + splitting, or otherwise transforming) files stored in an existing directory. This is a common use case in FUSE, I believe. PS: is the documentation for use-once/c somewhere? -- 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.