ekmett / machines

Networks of composable stream transducers
Other
339 stars 46 forks source link

Lacking Documentation #1

Open ekmett opened 12 years ago

ekmett commented 12 years ago

We have haddock coverage now. Examples would help, though.

haf commented 11 years ago

Are there any more examples somewhere? Just the most basic things would make a lot of difference.

ekmett commented 11 years ago

Paul Chiusano And Runar Bjarnason have written a number of examples for the scala version of machines. the Haskell version has yet to pick up nice examples admittedly, but most of them should transcode cleanly.

haf commented 11 years ago

Actually I'm interested in the F# version, but I will accept examples in any language ;). I have tried googling, but my fu is not with me today...

ekmett commented 11 years ago

My first reaction: "There's an F# version?" ;)

ekmett commented 11 years ago

There should be a link to @runarorama 's slides in the README. @pchiusano gave a talk at NEScala 2013 that is also relevant and IIRC was recorded.

haf commented 11 years ago

@ekmett I have already read the slides; but they seem to just be a type declaration per slide. It was probably easier to follow with speech attached.

The F# version is done by @pocketberserker. =)

I was also able to locate a few of your gists with more type declarations in them, and the wikipedia entry on Mealy machines...

My aim is to use machines to read data from the network into record type, from a given binary format. I want to have one step that does the read :: unit -> async<chunk> (because the CLR maps that to aio / IO Completion ports), and another step that yields when we have sizeof<FetchRequestPartitionData> / sizeof<chunk> chunks as a FetchResponsePartitionData.

But I'm at a loss on how to get started.

rodlogic commented 11 years ago

fwiw, the lack of documentation was also show stopper for me. The current level of docs assume someone very well versed in haskell and underlying patterns.

ekmett commented 11 years ago

The current state of the documentation is very much an artifact of machines being a work-in-progress, while we try to find a better point in the design space, than a finished product.

haf commented 11 years ago

Fair enough. I find them very interesting anyway! :+1:

If someone knows how to explain their current implementation I'd be all ears; e.g. if that presentation video can be found somewhere...

ekmett commented 11 years ago

http://m.youtube.com/#/watch?v=8fC2V9HX_m8&desktop_uri=%2Fwatch%3Fv%3D8fC2V9HX_m8 is the link for me, but I'm on my iPad, YMMV.

haf commented 10 years ago

Link doesn't work... Has there been any documentation efforts the last 8 months?

acowley commented 10 years ago

I'll try to take a whack at it in the new year. I have a fork full of all kinds of experiments which I need to pare down. My large code base that depends on it needs a refactoring, so I'll see what parts of machines I'm using at that point, and fill in the documentation then.

ekmett commented 10 years ago

@haf pretty much nothing.

@acowley has been going nuts in his own (not-so) little fork.

We need to figure out how much of that makes sense to merge in, and how much can be handled as an add-on library.

haf commented 10 years ago

For the moment I would be happy with a longer list of links for the underlying concepts. I tried going to the hackage page for this library and clicking through to the documentation for all the type classes that are being used (Arrow, Category, Profunctor and so on), but that search is not very directed.

I understand the core concept that you create a machine which is a deferred execution plan which you can later run. I understand the above concepts are useful for composing and constructing the machines. What I don't get is the very starting point, the most basic concepts that can be used without all the other 'features' by the side.

dhaya commented 10 years ago

@haf This seems to be the talk hinted above: http://functionaltalks.org/2013/08/25/paul-chiusano-advanced-stream-processing-in-scala/

YoEight commented 9 years ago

For what it worth, I find the documentation 'good enough'. Having examples is a different matter