摘要:
Described is a data model used in a continuation based runtime that executes activities. The data model provides for declaring parameters to define data flow direction (in, out or both in and out) with respect to activities. The model further allows for the declaring of variables to provide for data storing and sharing between activities that are in scope, based on a tree relationship between activities. In one aspect, an activity tree includes a topmost parent composite activity and at least one child activity of that topmost parent composite activity. Variables are associated with one or more composite activities of the tree, and the ancestral relationships between composite activities and (non-composite) child activities determine the in-scope access to variables. Arguments such as binding expressions may bind variables to an activity's parameters.
摘要:
The subject disclosure pertains to lambda expressions and the employment of such expressions in imperative and/or object-oriented computer programming languages. Lambda expressions can be employed in conjunction with methods (e.g., arguments, assignment ) to provide a more concise and functional manner of code specification. Further, lambda expressions can participate in type inference and checking as well as overload resolution, among other things.
摘要:
The subject disclosure relates to an extensible syntax for a scripting language that allows data intensive applications to be written in a compact, human friendly, textual format, and also according to self-defined syntax within the data intensive applications so that a single compilation unit of a program can support multiple syntaxes. An extensible syntax is provided for M that allows alternate syntaxes to be defined in line and then used in the program so as to accommodate user-defined syntaxes and other pre-existing domain specific languages. In one embodiment, the alternate syntaxes can be defined at pre-designated functional points in the program.
摘要:
Embodiments of tree-based directed graph programming structures for a declarative programming language are provided. In various embodiments, complex graph structured data, referred to as "DGraphs" herein in one non-limiting implementation, is authored using a compact, human friendly syntax without the use of explicit identifiers. In one non-limiting aspect, the syntax includes support for conformance relationships, also referred to as factored relationships. In another non-limiting aspect, the semistructured graph data is a tree-based representation and the syntax includes lexical resolution of references or lexical scoping, and/or non local initialization.
摘要:
Device linking is described. In one or more implementations, data is maintained at a network service that describes characteristics of a plurality of devices that are associated with a user account of the network service. A communication is formed to be received by one of the plurality of devices that includes a portion of the data that pertains to another one of the plurality of devices and that is suitable by the receiving device to discover the other one of the plurality of devices to initiate a local network connection between the devices.
摘要:
An efficient, logical and expressive type system is provided for flexibly defining types of a declarative programming language so that efficient and structurally compact data intensive applications can be generated. The type system supports the combination of refinement types and type membership expressions, as well as a top type that encompasses all valid values as members. With the type system, types can be expressed as intersections and/or unions of other types. Thus, types can be efficiently represented for a full range of types of data as may be found in real world data stores.
摘要:
A common data type structure can be used to correlate access requests between applications that implement data in accordance with different types or type structures. In one implementation, a common data structure includes schemes for operations, sequences, records, and atoms (i.e., undefined). The system can then map any type structure to the schemes of the common data structure. In operation, a request for data by an application can involve identifying one or more proxies used by an application to map the data to the common data structure. The proxies map the data to the common data structure based on the shape of the data (to the extent it can be identified). The proxies then can return one or more data structures that comprise the identified mapping information. The application can then perform operations directly on the received data structures.
摘要:
Component domains used to define a binding between various components associated with the component domain. The component domain tracks the various services to be imported by each component, and tracks the various services exported by each component. At runtime, rather than at compile time, the various interrelations between the components are bound using the service import and export data. Accordingly, depending on the components available and their characteristics, the bindings may differ. This permits applications to be much more flexible. In one implementation, the binding is performed iteratively. For example, if after one iteration of binding service imports to service exports, some components may expand the services that they export, or the services that they desire to import.
摘要:
Embodiments provide an architecture to enable composite, autonomous composite applications and services to be built and deployed. In addition, an infrastructure is provided to enable communication between and amongst distributed applications and services. In one or more embodiments, an example architecture includes or otherwise leverages five logical modules including connectivity services, process services, identity services, lifecycle services and tools.