Is there any example of Smalltalk being used as a query language?
What I am looking for is: a system or an application where the Smalltalk nature of the application is hidden or irrelevant to the end-user and portions of the language is exposed only for querying the object model underneath (be it application objects, document objects, a simulation or similar). For example a user interface where user defines queries in Smalltalk – either as the predicate portion of the query or the predicate + some other information entered through other user interface elements. The application then wraps it into blocks and applies appropriate filtering functions such as select: or detect: depending on the goal of the query.
Analogy would be SQL interface, however that would require relationship model to gain real benefits from it. I'm looking for a language use where the queried model is just a ad-hoc object graph.
@JavierBurroni suggest "GemStone/S 64 Bit Programming Guide chapter 6" (actually Chapter 7 in the 2012 edition) as an example. Which is nicely explained, but still typical smalltalk use within the Smalltalk environment by the Smalltalk developers.
Is there a such thing?