摘要:
Parsing technology is applied to observable collections. More specifically, a parser, such as combinator parser, can be employed to perform syntactic analysis over one or more observable collections. Further, multiple observable collections can be combined into a single collection and time can be captured by annotating collection items or generating time items.
摘要:
Monadic types are preserved for query operators to further query operator compositionality utilizing operators defined over a monad. Query operators that are defined over a monad and are suited to return non-monadic types are constructed or altered to return a monadic type. For instance, aggregate query operators defined over a local or remote sequence monad can be generated that return a monadic type.
摘要:
A method for processing a computer action using a processor. The method includes receiving a first request to perform a first computer action, performing the first computer action and producing a first class representation of the first computer action.
摘要:
Methods and devices are provided for defining push-based standard sequence operators based on respective duals of corresponding pull-based standard sequence operators. A push-based application program interface (API) may be defined based on mathematical duals of a corresponding pull-based API. The push-based API may include a library of routines, which further may include push-based standard sequence operators defined based on deriving mathematical duals of corresponding pull-based standard sequence operators. A protocol for processing a push-based collection may be defined as a mathematical dual of a protocol for processing a pull-based collection. In various embodiments, mathematical duality with respect to synchronous, pull-based, collections may be exploited to define operators for processing asynchronous push-based collections.
摘要:
Architecture that a mathematical duality established herein between an asynchronous observable design pattern and a synchronous iterator design pattern. This provides a mechanism for processing multiple observable collection and asynchronous values associated with those collections, including situations where a single observable collection is directed to multiple subscribers or multiple observable collections are directed to a single subscriber. Operators are presented that facilitate multi-collection processing based on this proven duality. As a result of this duality concurrent asynchronous and event-driven programs can be elegantly formulated. Consequently, asynchronous and event-based programming can now be unified into single conceptual framework, based on sound mathematical principles such as monads and duality.
摘要:
Parse tables or like representations are augmented with extension points to enable call out to arbitrary code. Such parse tables can be automatically generated from a specification including fixed information along with information about extensibility points provided. The extensibility points enable incorporation of dynamic data into a fixed parse table. In one instance, this allows a parser to determine if a character is acceptable at the time of execution rather than when the parse table was defined.
摘要:
Various technologies and techniques are disclosed for enabling code to be executed on one or more execution contexts based upon declarative annotations contained in the code or other locations. An annotation associated with a region of code is located. The annotation specifies information about an execution context where the region of code should be executed. A caller proxy is generated that is responsible for calling a callee adapter to execute the region of code. The callee adapter is generated that is responsible for receiving a call from the caller proxy and for dispatching a call to the region of code at the execution context. At runtime, the caller proxy receives a request to call the region of code and sends an execution request to the callee adapter. The callee adapter receives the execution request and dispatches a call to an executable version of the region of code.
摘要:
A multidimensional object, such as a language-integrated query (LINQ) object, can be generated based upon a grouping set operator and zero or more key selectors. The object can be utilized to query over a non-relational data source. The object can include a sequence of functions corresponding to each grouping related to the grouping set operator in order to provide multidimensional grouping representation. Furthermore, the object includes nested structures for optimized execution of the grouping set operator.
摘要:
An outer event stream can be modeled to represent duration for an event with an inner event stream. The inner event stream can be generated to represent duration of at least one event from the outer event stream. By modeling the outer event stream to include duration, coincidence between two or more events can be determined. More specifically, the modeling of the outer event stream enables use of operators to identify coincidence between events from event streams.
摘要:
Mapping is performed between operations of an abstract asynchronous programming model and a concrete asynchronous programming model. In other words, differences between asynchronous programming models are bridged to enable interaction.