System and method for structuring information
The present invention provides a novel computer system that synthesizes object programming, functional programming, data-flow programming, mathematical logic and cognitive modeling. The synthesis allows a system to exist which provides for close alignment among the manner in which a user interacts with a system, how that interaction is logically parsed, how set-theoretic composition of the logic results, how that set-theoretic algorithm builds functional reactive flows and how those flows are structured for display to a user.
1 . A distributed computer system for providing reactive transformation of information, the system comprising:
a server, having a
a server memory configured to store information from an information source;
a server processor configured to perform a function on the stored information to create transformed information; and
a communications device configured to transmit the transformed information;
a client, having a
a client communications device configured to receive the transformed information from the server;
a client memory configured to store received transformed information;
a client processor configured to perform a function on the transformed information to create further transformed information; and
a display configured to display a representation of the further transformed information;
wherein functions performed by the processors are performed using incremental computing and functional programming.
2 . The system of claim 1 , wherein the system further comprises a first signal to relate stored information with transformed information.
3 . The system of claim 2 , wherein the system further comprises a second signal to relate transformed information with further transformed information.
4 . The system of claim 1 , wherein the processors transform information by using mathematical functions and avoiding state data.
5 . The system of claim 1 , wherein the client accepts a query.
6 . The system of claim 5 , the system further comprising a user interface coupled to the client, wherein the user interface can accept the query.
7 . The system of claim 5 , wherein the processors transform information and further transform information in relation to the query.
8 . The system of claim 6 , wherein further transformed information is only processed if it is dependent on the query or the transformation of information.
9 . The system of claim 1 , wherein changes to stored information will force the processors to reperform functions on all transformed information and further transformed information dependent on the stored information.
10 . The system of claim 1 , further comprising a server-client boundary.
11 . The system of claim 10 , wherein the server-client boundary is determined based on the factors selected from the group consisting of bandwidth, latency, computing power, memory, and security.
12 . A method to manage and display information flow, the method comprising:
using a server processor to perform functions on a stored information to create transformed information;
using a client processor to perform functions on the transformed information to create further transformed information;
using a first signal to represent the relationship between stored information and transformed information;
using a second signal to represent the relationship between transformed information and further transformed information;
using a client processor to create and display results in the context of methods;
wherein
the server and client processors use functional computing, the transformed information and further transformed information is incrementally computed.
13 . The method of claim 12 , further comprising:
receiving a query;
responding to the query comprising:
creating a third signal representing an expression based on the query;
determining if the expression has been responded to;
determining if the expression is a function application where the expression has not been responded to;
determining if the expression is a lambda expression where the expression is a function application,
performing a beta reduction where the expression is a lambda expression;
evaluating at least one input to the expression by performing the at least one function on the stored information to create the transform of information.
14 . The method of claim 12 , further comprising:
using the first signal to update transformed information when stored information changes; and
updating the first signal.
15 . The method of claim 14 , further comprising:
using the second signal to update further transformed information when transformed information changes; and
updating the second signal.
16 . A distributed system for providing reactive transformation of information, the system comprising:
a server, comprising:
a memory configured to store information from a plurality of information sources;
a processor configured to transform stored information from at least one of the information sources by applying a first function; and
a communication device configured to transmit the transformed information;
a client, comprising:
a communications device configured to receive the transformed information;
a processor configured to further transform at least some of the transformed information by applying a second function; and
a display configured to display a representation of the further transformed information to a user,
wherein at least one of the first and second functions is applied based on a user query and the server processor is configured to automatically update the transformed information by again applying the first function when the information from the at least one information source changes.
17 . The system of claim 16 , wherein the server memory is further configured to store a dependency record of the information upon which the transformed information depends.
18 . The system of claim 17 , wherein the server processor is further configured to automatically update the transformed information by again applying the first function only when the dependency record indicates information upon which the transformed information depends has changed.
19 . The system of claim 16 , wherein the first function comprises a computation tree constructed from a plurality of template functions based on the user query.
20 . The system of claim 19 , wherein the computation tree is partially constructed by the client processor.
21 . The system of claim 16 , wherein the server and the client are the same physical computer.
22 . The system of claim 12 , wherein the display contains information about functional relationships from information the first signal and ontological references.
23 . The system of claim 16 , wherein the display of the computation tree provides affordances to allow modification of ontological context.
24 . The system of claim 16 , wherein the display of the computation tree provides affordances to allow modification of the functional array.