BSONqs.TaggedType

Type class which represents a tagged dictionary

Tagged dictionaries are used to represent complex Julia types. Using a struct instead of an actual Dictionary requires less memory allocation and allows us to use multiple dispatch on the resulting tree structure.

It inherits abstract dict just for show.

BSONqs.@memoiseMacro

Cache the result of a calculation for a given input

BSONqs.@prememoiseMacro

Cache the input parameter to calculation as its output

Assumes the object is changed inplace. Allows objects to reference themselves.