The Interpreter Pattern Revisited

preview_player
Показать описание
Rúnar Bjarnason calls the Interpreter Pattern "a classic object-oriented design pattern that has been overlooked by far too many for far too long. In this talk we will give this unsung hero the accolades it deserves."

He brings us back to 1994, when the so-called "Gang of Four" published a book called Design Patterns: Elements of Reusable Object-Oriented Software, revisiting the often buried chapter on the Interpreter Pattern, and arguing that it is the most useful pattern in the entire book.

Рекомендации по теме
Комментарии
Автор

I literally pulled my GoF book off the shelf when you said and went to page 243 and followed along. I knew I needed this pattern, just didn't realize it was in GoF. Thanks for the video!

petrasoftresearch
Автор

thank you, Runar!  This is a very HEALING idea that Monads was used by the GoF.  Wonderfully fun for developers who have already learned the power of pure functional programming.  But usually it is a subtle and sometimes religious argument.   Here your audience gets the delightful irony of your discovery.  (I laughed out loud)  NOW create a presentation for the uninitiated that object-oriented and functional are just two edges of the same sword.

robbyriverside
Автор

At 25:44 - It says " Suspend[ F[ _ ], A ]( s: F[ Exp[F, A] ] ) ". Shouldn't that be " Suspend[ F[ _ ], A ]( s: F[ Free[F, A] ] ) ". The "Exp" was from the previous example.

JohnMichaelReed
Автор

Excellent master class as well as FP Red Book, many thanks!

butcherless
Автор

Also, 25:36 - is should be " Not[A](a: A) " instead of " Not(a: A) " - the latter does not compile.

Also, way back at the beginning, the parameters for scalaz state machine (where you define "Exp.interpret") are backwards - it is (String => (String, Boolean)), not (String => (Boolean, String)).

JohnMichaelReed
Автор

Awesome! Very thoughtful!, Is there any place where I can find the slides?

mohance
Автор

This guy says some useful stuff but is trying too hard to be funny. Its super distracting.

funkmaster