Getx is a DWIM-ish mechanism - or query language of sorts - to query hierarchical data structures. Or, CL:GETF on steroids! Github link.


 (getx:? data &rest indicators) 


The function GETX:? performs a getx query. The first argument is the data-structure to be queried, while the remaining arguments, called indicators, specify the query. For example:

> (defparameter *data* '(:foo 1 :bar 2 :zap (:zonk 400 :zupp 500)))
> (getx:? *data* :zap :zonk)
=> 400

GETX:? can perform complex queries against plists, hash-tables, objects, assoc-lists, etc. It is a normal function, with no macrology involved.

Convenience library, Unlicense