3 ms·
I've always seen the visitor pattern as a poor-mans pattern matching. How do you solve the same thing with callbacks?
by vips7L 10mo ago
I've always seen the visitor pattern as a poor-mans pattern matching. How do you solve the same thing with callbacks?
- zelphirkalt 10mo agoInstead of defining a Visitor interface and then making objects to implement the interface and then passing those objects to whatever traverses a graph or iterates through something, you pass the function, that will be called, by whatever traverses a graph or iterates through something.
- vips7L 10mo agoKind of like how sum types and matching are implemented in library code? Example from D here: Fahrenheit toFahrenheit(Temperature t) { return Fahrenheit( t.match!( (Fahrenheit f) => f.degrees, (Celsius c) => c.degrees * 9.0/5 + 32, (Kelvin k) => k.degrees * 9.0/5 - 459.4 ) ); }