Closed paulp closed 8 years ago
Your comments would be greatly appreciated.
Before I say anything else. I think there are some awesome idea's in here.
I like (at least I think so, my brain is completely there yet) your encoding of a typed object. At a first glance Metadata
with its keys and attributes seem a complex form of the concrete class with those members. The difference is that allows you add keys (properties, members, ...) without opening up the class.
The type system interface clearly captures what is needed. I definitely like the three methods:
def resolve(path: Path): Key
def metadata(key: Key): Metadata
def lookup(key: Key): Data
Their signatures clearly communicate the relations.
All in all I think it's an awesome base to start from.
Closing for the other one.
Running the metadata example: