BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Presentations Functional Design Patterns

Functional Design Patterns

Bookmarks
42:15

Summary

Stuart Sierra discusses several design patterns implemented in functional languages, in particular Clojure: State/Event, Consequences, Accumulator, MapReduce, Reduce/Combine, Recursive Expansion, etc.

Bio

Stuart Sierra is a developer at Relevance, Inc., a member of Clojure/core, and the co-author of Practical Clojure (Apress, 2010) and a forthcoming ClojureScript book from O’Reilly. He has been involved with open-source technologies including Clojure, ClojureScript, Ruby, Rails, Hadoop, and Solr.

About the conference

Strange Loop is a multi-disciplinary conference that aims to bring together the developers and thinkers building tomorrow's technology in fields such as emerging languages, alternative databases, concurrency, distributed systems, mobile development, and the web. Strange Loop was created in 2009 by software developer Alex Miller and is now run by a team of St. Louis-based friends and developers under Strange Loop LLC, a for-profit but not particularly profitable venture.

Recorded at:

Apr 03, 2013

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • This talk is worth writting into a book!

    by Colbert Philippe,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    It would be nice to write based on this talk.

  • Function Composition as Meta Pattern

    by Faisal Waris,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    In functional programming, many situations can be gracefully handled by using function composition combined with partial application.

    In fact function composition is at the very heart of defining monadic computations.

    In languages such as Haskell function composition almost becomes 2nd nature.

  • Video can't be played after several minutes in mainlang China

    by jiyin yiyonh,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    真的对这个话题很感兴趣, 可是视频无论我怎么做, 过个几分钟就会停住, 再不能继续播放, 手动下载 mp3 结果也类似.
    能给点 CDN 之类的方案不?

  • recursive consequences typo?

    by Jean Perrot,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Excellent talk, thank you!
    Around 11:40 - shouldn't this be more like:


    (defn recursive-consequences [current-state event]
    (reduce (fn [state event]
    (recursive-consequences
    (update-state state event) event))
    current-state
    (consequences current-state event)))

    ?
    [that still doesn't seem quite right, but has a fighting chance...]

  • Re: Video can't be played after several minutes in mainlang China

    by roan osullivan,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    你是被”防火長城“阻断了吗?

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT