Andrei Alexandrescu:
http://www.reddit.com/r/programming/comments/2aruaf/dconf_2014_keynote_high_performance_code_using_d/


Despite Walter is used to "pipeline programming", so the next step is to also handle failures and off-band messages in a functional way (without exceptions and global error values) with two "parallel pipelines", here named "Railway-Oriented Programming". This is one of the simplest introductions (and he can skip the slides 19-53) that I have found of this topic (that in the Haskell community is explained on the base of monads):

http://www.slideshare.net/ScottWlaschin/railway-oriented-programming

In Bugzilla there are already requests for some Railway-Oriented Programming:

https://issues.dlang.org/show_bug.cgi?id=6840
https://issues.dlang.org/show_bug.cgi?id=6843

I think no language extensions are needed for such kind of programming, but of course built-in tuple syntax and basic forms of pattern matching in switch (https://d.puremagic.com/issues/show_bug.cgi?id=596 ) improve the syntax and make the code more handy, handy enough to push more D programmers in using it.

For some examples of those things in a system language, this page shows some little examples of functional syntax for Rust:
http://science.raphael.poss.name/rust-for-functional-programmers.html

Bye,
bearophile

Reply via email to