Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Rework how nested definitions are handled (fix #501 & #487) #540
Sorry for the big PR if you intend to review, the work behind that kinda grow organically from a small change :) Reworking those commits would be very complicated.
This PR solves the problem of nested definitions, i.e.:
The main change is this PR is very structural:
(to normalize definitions they are now like "tree nodes", i.e. the normalizer visits each definition and its subdefinitions to prepare it for the resolver)
That means a bit more job in definition sources, less in resolvers and compiler. The code is simpler and handles all edge cases the same way \o/