|
|
|
|
|
by pansa2
235 days ago
|
|
> I do remember him using the visitor pattern to implement part of the parser I think. I thought that was kind of an odd choice, especially since it seemed like he was really just trying to avoid Java boilerplate. It's used to allow writing a "resolver" and an "interpreter" that both know how to handle every type of node in the AST. It's almost a functional approach, and I actually think it might increase boilerplate because Java is more designed around the object-oriented approach of adding `resolve` and `interpret` methods directly to each node type. The two approaches result in very different code organisation, though - maybe the visitor approach was easier to explain in prose. |
|
I wonder if he wrote today if he would have used a Record and done the more straightforward implementation.