Live data from Hacker News

Facebook open sources Haxl

code.facebook.com

61–70 of 80 posts

Re: Facebook open sources Haxl

#62
post #48

http://hackage.haskell.org/package/haxl Why do Haskell libraries on Hackage doesn't come even with a single example, getting started, how to use, quick start, nothing, really, just function declarations? This scares Haskell newbies.

You mean "this library" not "Haskell libraries". Some libraries have real documentation (either on hackage or off) to go with the API reference. http://hackage.haskell.org/package/pipes-4.1.2/docs/Pipes-Tu... http://hackage.haskell.org/package/aeson-0.7.0.6/docs/Data-A...

The point is valid though. The lack of documentation/examples on most package pages made my learning experience a real hassle.

Re: Facebook open sources Haxl

#63
post #6

I'm an engineer on the Haxl project and am really excited to launch this today. Ask me anything!

Are you employing the ideas behind reactive programming? And can you explain the types of monads you used for what problem and why? I am writing a paper on Functional Reactive Programming and Haxl really made me curious. The paper (currently in german, but I'll translate it) proposes a new Hypothesis that tries to shred FRP in general, by showing a novel way that solves some of the problems automatically that naturally occur with FRP.

I am really interested in seeing how you solve problems for distributed systems with Haxl and how query sharding is handled etc..

I've wasted a whole day looking for Haxl online a few weeks ago, just to find out that it wasn't released yet. The release really makes me happy :)

Re: Facebook open sources Haxl

#64
post #62

Earlier quoted context omitted.

You mean "this library" not "Haskell libraries". Some libraries have real documentation (either on hackage or off) to go with the API reference. http://hackage.haskell.org/package/pipes-4.1.2/docs/Pipes-Tu... http://hackage.haskell.org/package/aeson-0.7.0.6/docs/Data-A...

The point is valid though. The lack of documentation/examples on most package pages made my learning experience a real hassle.

In many cases a few examples and type signatures are enough for the intermediate Haskell user. Virtually all packages for Haskell are free software though, so you can of course contribute documentation if you feel there ain't enough, because obviously if the current Haskell users don't need more docs they won't write it.

Re: Facebook open sources Haxl

#65

This is a fascinating project. Haxl is the brainchild of former Glasgow Haskell Compiler lead* Simon Marlow. The tl;dr of Haxl: what if you could describe accessing a data store (a la SQL) and have the compiler and library work together to "figure out" the most efficient way to perform queries, including performing multiple queries in parallel? That's what Haxl does, it allows you to specify the "shape" of your query…

Isn't that what an SQL query planner does?

Re: Facebook open sources Haxl

#66

This is a fascinating project. Haxl is the brainchild of former Glasgow Haskell Compiler lead* Simon Marlow. The tl;dr of Haxl: what if you could describe accessing a data store (a la SQL) and have the compiler and library work together to "figure out" the most efficient way to perform queries, including performing multiple queries in parallel? That's what Haxl does, it allows you to specify the "shape" of your query…

I feel like I'm missing something.

I haven't used databases much, but don't most SQL implementations already "figure out" the most efficient way to perform queries? Can't most implementations already perform queries in parallel?

Re: Facebook open sources Haxl

#67

This is a fascinating project. Haxl is the brainchild of former Glasgow Haskell Compiler lead* Simon Marlow. The tl;dr of Haxl: what if you could describe accessing a data store (a la SQL) and have the compiler and library work together to "figure out" the most efficient way to perform queries, including performing multiple queries in parallel? That's what Haxl does, it allows you to specify the "shape" of your query…

I feel like I'm missing something. I haven't used databases much, but don't most SQL implementations already "figure out" the most efficient way to perform queries? Can't most implementations already perform queries in parallel?

Yes, but this is designed for non-SQL datastores, and arbitrary application code connecting portions of "data acquisition" and "data operation". Imagine if instead of an ORM, you had a single system that weaved together your application code and the database queries, and ensured that where they could execute in parallel, they did.

Re: Facebook open sources Haxl

#68
post #65

This is a fascinating project. Haxl is the brainchild of former Glasgow Haskell Compiler lead* Simon Marlow. The tl;dr of Haxl: what if you could describe accessing a data store (a la SQL) and have the compiler and library work together to "figure out" the most efficient way to perform queries, including performing multiple queries in parallel? That's what Haxl does, it allows you to specify the "shape" of your query…

Isn't that what an SQL query planner does?

Yes, but this is for non-SQL systems, and it does quite a bit more. It's more like an ORM in this respect, because it weaves together the query planning and processing part which handles retrieving data, and the execution of operating on that data.

Re: Facebook open sources Haxl

#69
post #48

http://hackage.haskell.org/package/haxl Why do Haskell libraries on Hackage doesn't come even with a single example, getting started, how to use, quick start, nothing, really, just function declarations? This scares Haskell newbies.

It's definitely suboptimal, especially for newbies. The standard response (which I agree with completely) is that the types make API documentation so much more valuable that it's less commonly a concern for advanced users. So there's a bit of a squeaky wheel problem compared with, for instance, Ruby where docs are completely required to understand most libraries even slightly.

Re: Facebook open sources Haxl

#70

Earlier quoted context omitted.

I feel like I'm missing something. I haven't used databases much, but don't most SQL implementations already "figure out" the most efficient way to perform queries? Can't most implementations already perform queries in parallel?

Yes, but this is designed for non-SQL datastores, and arbitrary application code connecting portions of "data acquisition" and "data operation". Imagine if instead of an ORM, you had a single system that weaved together your application code and the database queries, and ensured that where they could execute in parallel, they did.

That makes sense. Thanks
Post reply on HN