1. A method comprising: receiving from a user interface, by a computing device, a request for execution of at least one lambda function in an operation of a geospatial application, the geospatial application having lambda functions for operating on one or more entities of an ad hoc geospatial directory accessible by the computing device, the lambda functions having strongly typed definitions according to a prescribed symbol manipulation language that is a non-Turing complete language, that does not permit partial functions, and that is independent of any attribute of any computing system; optimizing execution by the computing device of the operation on the ad hoc geospatial directory; and the computing device returning to the user interface a response to the request based on the optimizing execution of the operation, the response including a data structure including at least one of the lambda functions for a corresponding at least one of generating a query of the ad hoc geospatial directory, modifying a state of at least a first of the entities, or accessing the first of the entities, wherein the optimizing includes: receiving a plurality of requests for execution of respective operations of the geospatial application, joining the requests into at least one locally-executable request and at least one remotely-executable request, sending the remotely-executable request to a second computing device; receiving from the second computing device a remote result responsive to the remotely-executable request, executing the locally-executable request for generation of a local result, and generating the responses for the respective requests based on selective partitioning of the local result and the remote result.