www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - dfuse 0.3.0 - D Language bindings for Fuse

reply "David Soria Parra" <davidsp fb.com> writes:
Hi,

We are happy to announce the release of 'dfuse', a high level D 
language binding
for fuse (http://fuse.sourceforge.net). It supports libfuse >= 
2.8 and works on
both Linux and MacOS (osxfuse). You can find the project at:

     https://github.com/facebook/dfuse

We at Facebook have been working on dfuse for the last weeks and 
are actively
using it in production. While the interface is still limited, we 
hope to work
towards a full featured fuse binding.

If you want to get involved, feel free to sent pull requests, 
submit issues and
direct any questions about dfuse to the D mailinglist or ping 
'dsop' on IRC.

- David Soria Parra
Jul 30 2014
next sibling parent "w0rp" <devw0rp gmail.com> writes:
On Wednesday, 30 July 2014 at 17:05:25 UTC, David Soria Parra 
wrote:
 Hi,

 We are happy to announce the release of 'dfuse', a high level D 
 language binding
 for fuse (http://fuse.sourceforge.net). It supports libfuse >= 
 2.8 and works on
 both Linux and MacOS (osxfuse). You can find the project at:

     https://github.com/facebook/dfuse

 We at Facebook have been working on dfuse for the last weeks 
 and are actively
 using it in production. While the interface is still limited, 
 we hope to work
 towards a full featured fuse binding.

 If you want to get involved, feel free to sent pull requests, 
 submit issues and
 direct any questions about dfuse to the D mailinglist or ping 
 'dsop' on IRC.

 - David Soria Parra
Awesome. Thank you and the guys at Facebook for writing this. I was working on my own fuse bindings so I could try writing my own adb filesystem for fun, but now this is out I'll just use this and submit bug reports or pull requests when I notice any issues.
Jul 30 2014
prev sibling next sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 7/30/14, 10:05 AM, David Soria Parra wrote:
 Hi,

 We are happy to announce the release of 'dfuse', a high level D language
 binding
 for fuse (http://fuse.sourceforge.net). It supports libfuse >= 2.8 and
 works on
 both Linux and MacOS (osxfuse). You can find the project at:

      https://github.com/facebook/dfuse

 We at Facebook have been working on dfuse for the last weeks and are
 actively
 using it in production. While the interface is still limited, we hope to
 work
 towards a full featured fuse binding.

 If you want to get involved, feel free to sent pull requests, submit
 issues and
 direct any questions about dfuse to the D mailinglist or ping 'dsop' on
 IRC.

 - David Soria Parra
https://www.facebook.com/dlang.org/posts/893875583959457 http://www.reddit.com/r/programming/comments/2c5n5r/facebook_is_open_sourcing_dfuse_d_language/ https://twitter.com/D_Programming/status/494531403376492545 Andrei
Jul 30 2014
prev sibling next sibling parent "Dicebot" <public dicebot.lv> writes:
Great to see more D contributions from Facebook ^_^
Jul 30 2014
prev sibling parent reply Johannes Pfau <nospam example.com> writes:
Am Wed, 30 Jul 2014 17:05:20 +0000
schrieb "David Soria Parra" <davidsp fb.com>:

 Hi,
 
 We are happy to announce the release of 'dfuse', a high level D 
 language binding
 for fuse (http://fuse.sourceforge.net). It supports libfuse >= 
 2.8 and works on
 both Linux and MacOS (osxfuse). You can find the project at:
 
      https://github.com/facebook/dfuse
 
 We at Facebook have been working on dfuse for the last weeks and 
 are actively
 using it in production. While the interface is still limited, we 
 hope to work
 towards a full featured fuse binding.
 
 If you want to get involved, feel free to sent pull requests, 
 submit issues and
 direct any questions about dfuse to the D mailinglist or ping 
 'dsop' on IRC.
 
 - David Soria Parra
Awesome! Will this be added to code.dlang.org? There's a question on reddit regarding performance. I'd guess performance should be quite good in general, but the simple example throws/allocates* Exceptions on missing files. Does this perform well enough? * I guess in this case you could 'cache' the exception in a global variable, but druntime still allocates the stack trace (only once though). Druntime uses some tricks to avoid these allocations for OutOfMemory errors and this trick should probably work for dfuse as well, but I still wonder if it isn't easier to simply return a result code from getattr and readdir.
Jul 31 2014
next sibling parent reply =?ISO-8859-1?Q?S=F6nke_Ludwig?= <sludwig rejectedsoftware.com> writes:
Am 31.07.2014 16:00, schrieb Johannes Pfau:
 Am Wed, 30 Jul 2014 17:05:20 +0000
 schrieb "David Soria Parra" <davidsp fb.com>:

 Hi,

 We are happy to announce the release of 'dfuse', a high level D
 language binding
 for fuse (http://fuse.sourceforge.net). It supports libfuse >=
 2.8 and works on
 both Linux and MacOS (osxfuse). You can find the project at:

       https://github.com/facebook/dfuse

 We at Facebook have been working on dfuse for the last weeks and
 are actively
 using it in production. While the interface is still limited, we
 hope to work
 towards a full featured fuse binding.

 If you want to get involved, feel free to sent pull requests,
 submit issues and
 direct any questions about dfuse to the D mailinglist or ping
 'dsop' on IRC.

 - David Soria Parra
Awesome! Will this be added to code.dlang.org?
Funnily, a FUSE bindings package was added just some days ago: http://code.dlang.org/packages/fuse Initially, I thought that would be the same package, but it's not.
Jul 31 2014
parent "David Soria Parra" <davidsp fb.com> writes:
On Thursday, 31 July 2014 at 14:32:21 UTC, Sönke Ludwig wrote:
 Am 31.07.2014 16:00, schrieb Johannes Pfau:
 Am Wed, 30 Jul 2014 17:05:20 +0000
 schrieb "David Soria Parra" <davidsp fb.com>:


 Awesome!

 Will this be added to code.dlang.org?
Funnily, a FUSE bindings package was added just some days ago: http://code.dlang.org/packages/fuse Initially, I thought that would be the same package, but it's not.
Interesting. When we started with dfuse the mentioned fuse library was in a not good enough state. Still while it seems to offer all the functionality of the high level fuse API, it doesn't do conversions to D types such as const(char)[] and still passes around pointers. My overall goal is to use D's types and strength to make an easier interface.
Jul 31 2014
prev sibling parent "David Soria Parra" <davidsp fb.com> writes:
On Thursday, 31 July 2014 at 14:02:28 UTC, Johannes Pfau wrote:
 Awesome!

 Will this be added to code.dlang.org?
 There's a question on reddit regarding performance. I'd guess
 performance should be quite good in general, but the simple 
 example
 throws/allocates* Exceptions on missing files. Does this 
 perform well
 enough?

 * I guess in this case you could 'cache' the exception in a
   global variable, but druntime still allocates the stack trace 
 (only
   once though). Druntime uses some tricks to avoid these 
 allocations
   for OutOfMemory errors and this trick should probably work 
 for dfuse
   as well, but I still wonder if it isn't easier to simply 
 return a
   result code from getattr and readdir.
Hi Johannes, the choice of using throw for exception was mostly to follow the python-fuse bindings which we initially used for a prototype. I agree that we could instead return a value for performance considerations. However there is a balance of how many errors you expect and, as far as I am concerned, the more convenient way of reporting errors using exceptions up the callstack.
Jul 31 2014