摘要:
An efficient, logical and expressive 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. A bidirectional type checking algorithm is provided for the type system including synthesis and checking steps to statically verify types of code based on the type system.
摘要:
Example embodiments of the present invention provide a mechanism for allowing developers to define new interfaces and insert custom translational code that implements these new interfaces for legacy components that otherwise cannot communicate in a web service environment. These new interfaces are then exposed to the web service client in such a way that abstracts the web service client from the legacy components interfaces. The objects that implement the new interfaces are referred to herein as “service surrogates” and the new interfaces will be commonly referred to as a, “surrogate interfaces.” These surrogate interfaces may be initialized along with an instance of the service surrogate upon startup of an application that offers the services. In addition, a dynamic web service can simultaneously run along with the service surrogate for those services that may not need the features offered by the service surrogates.
摘要:
The setting up of a circular log implementation to be able to detect amnesia in a circular log, and to the determination of whether or not amnesia has occurred in such a circular log. Upon detecting a checkpoint trigger, information is preserved sufficient to detect whether or not the removed records ever existed in the circular log. If a request for information from a record were subsequently to be received by the circular log implementation, and if the record was not actually in the circular log, the preserved information could then be consulted to see if it indicates that the record had once existed in the circular log. If the information indicates that the record had once existed in the circular log, then amnesia has not occurred. If the information does not indicate that the record had once existed in the circular log, then amnesia has occurred. Accordingly, amnesia detection is made possible even in a complicated circular log implementation.
摘要:
Computing responses to semantic queries. A method includes accessing a plurality of objects that represent source code for an input program. The source code is transformed into a plurality of immutable objects that are structured such that the immutable objects can be used to derive any response as defined by the semantic rules about the source code. A query is received from a requestor requesting a semantic characteristic of the input program. The semantic characteristic is calculated. The semantic characteristic is returned to the requestor. The semantic characteristic is cached in a cache. Information describing a dependency between the cached semantic characteristic and one or more of the objects in the plurality of objects is stored.
摘要:
A common intermediate representation for a data scripting language is provided for efficient representation and direct specification of programming constructs in memory. The common intermediate representation of data scripts allows data intensive applications to be created and analyzed in a machine accessible format, and the elements of the common intermediate representation can be stored independent of underlying storage specifics. Stored elements of the common intermediate representation of code are thus available for fast loading in memory when desired by other applications and programs by mapping the stored elements to the in memory intermediate representation.
摘要:
An efficient, logical and expressive 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. Various embodiments verify the validity of subtyping relationships by translating to first-order logic, and invoking a general-purpose theorem prover with the first-order logic as input. In contrast to treating formulas as types, types are translated into formulas of standard first-order logic. Moreover, to represent data structures of the programming language as first-order logic, universal and existential quantifiers of first-order logic, and function symbols in terms, are exploited. Data intensive applications can be generated, verified, and deployed with greater speed and scale.
摘要:
The setting up of a circular log implementation to be able to detect amnesia in a circular log, and to the determination of whether or not amnesia has occurred in such a circular log. Upon detecting a checkpoint trigger, information is preserved sufficient to detect whether or not the removed records ever existed in the circular log. If a request for information from a record were subsequently to be received by the circular log implementation, and if the record was not actually in the circular log, the preserved information could then be consulted to see if it indicates that the record had once existed in the circular log. If the information indicates that the record had once existed in the circular log, then amnesia has not occurred. If the information does not indicate that the record had once existed in the circular log, then amnesia has occurred. Accordingly, amnesia detection is made possible even in a complicated circular log implementation.
摘要:
A signaling system of the present invention provides a synchronized approach to delivering, reporting, and/or otherwise processing status changes in a software dependency chain. In a first phase, the signaling system identifies all dependencies between software components, and further sets a binary indicator of each node in a first representation. After identifying any changes in a source node, the system (e.g., a value is updated), the system updates each binary indicator to a second setting. In a second phase, the system initiates all listeners in the dependency chain in an essentially progressive order from source node, to intermediate node, and end-node, etc. Once all listeners have had a chance to perform one or more processes based on the updated value, the system can discard the dependency graph, allowing a new dependency graph to be built for subsequent value changes.
摘要:
A common intermediate representation for a data scripting language is provided for efficient representation and direct specification of programming constructs in memory. The common intermediate representation of data scripts allows data intensive applications to be created and analyzed in a machine accessible format, and the elements of the common intermediate representation can be stored independent of underlying storage specifics. Stored elements of the common intermediate representation of code are thus available for fast loading in memory when desired by other applications and programs by mapping the stored elements to the in memory intermediate representation.
摘要:
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.