KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am developing a complex data structure in Clojure with multiple sub-structures. I know that I will want to extend this structure over time, and may at times want to change the internal structure without breaking different users of the data structure (for example I may want to change a vector into a hashmap, add some kind of indexing structure for performance reasons, or incorporate a Java type) My current thinking is: Define a protocol for the overall structure with various accessor methods Create a mini-library of functions that navigate the data structure e.g. (query-substructure-abc param1 param2) Implement the data structure using defrecord or deftype, with the protocol methods defined to use the mini-library I think this will work, though I'm worried it is starting to look like rather a lot of "glue" code. Also it probably also reflects my greater familiarity with object-oriented approaches. What is the recommended way to do this in Clojure?
Tags (comma-separated)
Save Edits
Cancel