Abstract:
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.
Abstract:
Systems and methods facilitate data augmentation in a computer environment. Data collections of various forms are altered out of band with at least one augmentor specifying alterations thereto. The alterations are applied to an associated collection of data such as programmatic code. In this manner, data can be modified, extended and/or removed from the collection to enable specialization and/or personalization, among other things.
Abstract:
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.
Abstract:
Techniques and tools are described for flattening nested streams. For example, a stream flattening tool processes nested streams on a stack to traverse the nested streams. The tool produces a flattened stream that enumerates the elements of the nested streams. In one embodiment, the tool initially pushes a stack frame onto the stack for a stream representing all of the nested streams. As the tool iterates across the “active” stream having the frame on the top of the stack, the tool may encounter and produce elements in the “active” stream. Or, the tool may encounter a nested stream and push a stack frame for the nested stream onto the stack, then continuing by iterating across the new active stream. The tool pops the stack frame for the active stream from the stack when the end of the stream is reached, or potentially earlier if handling a nested tail stream.
Abstract:
Personal data mining mechanisms and methods are employed to identify relevant information that otherwise would likely remain undiscovered. Users supply personal data that can be analyzed in conjunction with data associated with a plurality of other users to provide useful information that can improve business operations and/or quality of life. Personal data can be mined alone or in conjunction with third party data to identify correlations amongst the data and associated users. Applications or services can interact with such data and present it to users in a myriad of manners, for instance as notifications of opportunities.
Abstract:
The claimed subject matter provides a system and/or a method that facilitates querying data utilizing an explicit representation of an embedded language. An IEnumberable component can receive a data operation that can be employed on a collection of data utilizing at least one of an IEnumerable interface and an IEnumerable interface. A mirror component can provide a generic interface to query the collection of data by representing the collection of data as an expression tree utilizing at least one function that mirrors the at least one IEnumerable interface and the IEnumerable interface.
Abstract:
Syntax for creating object instances utilizing expressions instead of statements. A syntax component facilitates extension of conventional object-creation-expression syntax. An initializer component provides for initialization of a newly-created entity via object and collection initializers. The initializer component provides initialization of the newly-created entity utilizing an object initializer where the object initializer specifies values for one or more fields or properties of the newly-created entity which is an object, and consists of a sequence of member initializers enclosed by tokens and separated by commas. The initializer component can also provides initialization of the newly-created entity utilizing a collection initializer when the underlying object implements a certain interface or implements a certain pattern. An overloading constructor can be called as part of the initialization process. In another aspect, code inferencing is disclosed whereby given a type, the corresponding code can be inferred by the compiler and inserted for compiling by a compiler.
Abstract:
Providing for task-related electronic feedback based on user interaction with a communication network is described herein. By way of example, user interactions the network or a network interface can be monitored to identify user activities performed in conjunction with a task. A rating for performance of the task can be obtained via comparison of user activities with benchmark performance activities. Based on the rating and user-benchmark comparison, inefficiencies can be identified, along with corrective actions for such activities. The corrective actions can then be output to coach the user on techniques for improving performance of the task. Accordingly, by employing corrective feedback based on monitored user activity, personal training can be automated, potentially reducing time and cost of such training.
Abstract:
A unique formatting scheme for object-relational mapping allows disparate applications that adopt the scheme to seamlessly access data in disparate relational databases. The formatting scheme contemplates a common format that conveys the mapping information through (i) attributes embedded with code objects, and (ii) an external mapping source. Adoption of the common format can result in several advantages for network-based client-server operations: (i) Software developers can continue programming in their existing languages. (ii) Data servers from various vendors can also continue to be developed and managed in the vendors' core programming languages. (iii) Vendors that employ client applications which have adopted the common format can consistently use various data warehouses without incurring customization costs.
Abstract:
Systems and methods that enhance a programming language by introducing null unification on a type level in addition to a value level, for static types of both reference and value types T. An operator that adds a level of nullability (and removes such nullability) is introduced without a mention of the actual type, to steer overloading in a precise manner.