- 29 Mar, 2020 1 commit
-
-
Eric Myhre authored
I *think* the notes on Maybes are now oscillating increasingly closely around a consistent centroid. But getting here has been a one heck of a noodle-scratcher.
-
- 27 Feb, 2020 1 commit
-
-
Eric Myhre authored
Previously it was in the 'impl/typed' package, next to the runtime-wrapper implementation of the interface. This was strange. Not only should those two things be separated just on principle, this was also causing more import cycle problems down the road: for example, the traversal package needs to consider the *interface* for a schema-typed node in order to gracefully handle some features... and if this also brings in a *concrete* dependency on the runtime-wrapper implementation of typed nodes, not only is that incorrect bloat, it becomes a show stopper because (currently, at least) that implementation also in turn transitively imports the ipldfree package for some of its scalars. Ouchouch. So. Now the interface lives over in the 'schema' package, with all the other interfaces for that feature set. Where it probably always should have been. ('typed.Maybe' also became known as 'schema.Maybe', which... does not roll off the tongue as nicely. But this is a minor concern and we might reconsider the naming and appearance of that thing later anyway.)
-
- 17 Oct, 2019 1 commit
-
-
Eric Myhre authored
This introduces several new methods to the type generator. The new comment at the top of 'gen.go' explains the direction. There are several (sizable impact) TODOs in the methods for structs; this is because some other research I've been doing on performance is going to result in a re-think of how we regard pointers, and a *lot* of the struct code is going to get a shakeup shortly. Should be coming up in about two commits or so. (The 'Maybe' structs getting their first mention here will have something to do with it!) Some more file split-ups to keep node interface generation separate from native-typed API generation will be coming up next commit. You can also see here some TODOs regarding the future possibility of "validate" methods. This is something I want to pursue, but the implementation work will be nontrivial -- those TODOs will probably stay there a good while. Signed-off-by: Eric Myhre <hash@exultant.us>
-