vladimirvivien / automi

A stream processing API for Go (alpha)
Apache License 2.0
789 stars 62 forks source link

Dodo bird dead ? #28

Closed joeblew99 closed 7 years ago

joeblew99 commented 7 years ago

This looks very nice. The abstracts are really useful as well as the plugin model.

So did this die due to technical dead end or just other things tempting you ?

jaihindhreddy commented 7 years ago

@joeblew99 While it seemed good upon first glance, I don't think this sort of a thing is well suited to the Go language, especially that it doesn't have generics, it uses the empty interface everywhere losing all the compile time checks and perhaps some performance too. Recently i've been dabbling a little with Haskell and in my humble opinion, this seems to kind of force a functional paradigm onto the Go runtime.

vladimirvivien commented 7 years ago

@joeblew99 Nope, not dead. It's open source and it's spare time effort at this point. Refactor is happening on branch big-refactor - https://github.com/vladimirvivien/automi/blob/big-refactor/docs/automi.md

vladimirvivien commented 7 years ago

@jaihindhreddy, Yes Generic probably would help if Go did have that functionality. But since Go does not generic, I use empty interface{}. The empty interface is not necessary to use the API as it is the internal representation of the data flowing through the pipeline. Users are able to specify data types of their choosing and specify functions to operate on the data.