Get the latest tech news

The Expression Problem and its solutions (2016)


craft of programming is almost universally concerned with different types of data and operations/algorithms that act on this data [1]. Therefore, it's hardly surprising that designing abstractions for data types and operations has been on the mind of software engineers and programming-language designers since...

In that email, Wadler points to the paper"Synthesizing Object-Oriented and Functional Design to Promote Re-Use" by Krishnamurthi, Felleisen and Friedman as an earlier work describing the problem and proposed solutions. We kinda added a new type FunctionCall and can now visit it without changing existing code (assuming the virtual inheritance was built into the design from the start to anticipate this approach). Protocols leverage the host platform's (which in Clojure's case is mostly Java) ability to provide quick virtual dispatch, so using them is a very efficient way to implement runtime polymorphism.

Get the Android app

Or read this on Hacker News

Read more on:

Photo of solutions

solutions

Photo of Expression Problem

Expression Problem

Related news:

News photo

A general Fortran code for solutions of problems in space mechanics [pdf]

News photo

Displays, imaging and sensing: New blue fluorophore breaks efficiency records in both solids and solutions

News photo

Bitcoin's Security Budget Issue: Problems, Solutions and Myths Debunked