Pat Shaughnessy
Ranked 5 in Phase 2 with a weighted final score of 435

About the author

I write a blog about Ruby development at, and just self-published an eBook called Ruby Under a Microscope. When I'm not at the keyboard, I enjoy spending time with my wife and two kids. I'm also a fluent Spanish speaker and travel frequently to Spain to visit my wife's family.

Aside from learning some new things and seeing some great presentations, my real goal at EuRuKo is to meet people. I've crossed paths with so many European Rubyists on Twitter and in other places - meeting some of them in person would be fantastic.

Functional Programming and Ruby


While Ruby is object oriented and imperative, it does have some features that allow for functional programming. In this talk we’ll compare Haskell, a functional programming language, with Ruby while exploring these common functional patterns: higher order functions, lazy evaluation, and memoization.

Along the way we’ll explore how Ruby works internally, find out whether it’s a true functional language, and zoom in to take a close look at Ruby 2.0’s implementation of the new “Enumerator::Lazy” feature.

Previous Next


  • 415fe6ee69c09802ce8329e2b1a1c5e6?d=retro Vassilis Rizopoulos suggested 8 months ago

    You seem to be taking the one-or-the-other approach between OO and FP, which would be against the grain of recent times (what with hybrid paradigm languages like Scala etc.). But we can debate the futility of labeling something "better" in the conference!

  • The proposal author responded 8 months ago

    @John - Yea I won't have time to go very deep into Ruby internals, but I will quickly explain how the lazy enumeration feature works in 2.0. The point of looking at Ruby internals in this talk is mostly to explore whether or not Ruby is a functional language..

    @Punchy - Yes, I will talk about this - both by directly explaining what FP is what its benefits are, and through example. Of course, all of this is debatable; OO and FP are very different paradigms and not everyone agrees on which is better (to say the least!), or on whether they are compatible.

    Thanks for the suggestions, guys!

  • 1bb0c9acde5c36e515da3d0da95ea748?d=retro John Pagonis suggested 8 months ago

    You say "we’ll explore how Ruby works internally", which parts do you intent to cover in 30mins+15mins QA?

  • Profile_image?user_id=92271117&size=bigger Punchy suggested 9 months ago

    Will the presentation cover why Ruby needs a "functional programming" aspect? I.e. what are the benefits of using the functional programming paradigm with Ruby?