Hacker News new | ask | show | jobs
by a0 3493 days ago
This is an absolutely amazing work that targets several pain points of elegant and efficient (literally costless) stream processing. It seems to me that conceptually template metaprogramming as found in D is the closest practical incarnation of this idea, what do you think?
2 comments

How do D templates compare to staging in MetaOCaml? I had always thought D templates only expanded during compile time, like C++'s.
MetaOCaml is about run-time meta-programming. There's your key difference.
Is Scala not practical?

Julia's generated functions are also capable of similar designs.

Both Scala and OCaml are very practical languages, I was referring to the actual multi-stage streams implemented in the proposed library. What I think is interesting is the fact that D arrived to a similar conceptual model from a more _practical_ perspective by extending the applications of templates.
I guess the question is rather whether MetaOCaml or the Scala-Virtualized compiler fork + the LMS framework code are practical.

I am not so sure, but I have also not looked into it too deeply. But in the end it doesn't matter as long as it is just a maturity issue. After all I guess the stream library in the submission is to be seen as a motivation for making MPS more mainstream.