# Network of Functions

+2

Document the world's entities like we document the functions of code, and build their network.

YAML Idea

How the world works can be understood by viewing at all things as functions, and building their network. For example, a shop nearby takes in electricity, people's work, monetary inputs from customers, etc., and returns products to customers, and a number of other "side effects". A shop outside, thus, is a function with I/O.

The same applies to companies. A company takes something in (e.g., natural resources), and returns something else (e.g., products, or their parts).

This is also true to schools, hospitals, etc. A hospital takes in sick people, and returns healthy people.

There are many other examples of functions, e.g., a mobile phone takes in electric power, and input, voice gestures, microwave radiation, etc., and returns things like differences in pixel luminosities, frequencies of speaker vibrations, other electromagnetic impulses and so on., even based on the input of code.

The very surface of a stone nearby you takes in photons of one type of characteristics, and returns photons of different type of characteristics.

Anything that interacts can be thought of as a function.

The idea would be to document the world, as if the world were to be build out of functions.

Hopefully, this would help us really understand how the world works, and what is possible, in terms of abstract state spaces. This is actually related closely to the previous idea of Technology Maps ™ on Halfbakery, and inspired by thinking that in fact, the idea of "Function Networks" (FNs) is much broader than the idea of "Neural Networks" (NNs), in a sense that the NNs are composed of narrower set of possible functions. For example, mostly linear functions, and with a couple of non-linear ones as activation functions, and thinking of -- what if we would simply allow all the functions, in the most general sense, and built a network of them.

In fact, this extends quite broadly, and branches very fast, because -- every website, every protein, every lab and institution is a function too, and this type of documentation of the world would best be done by a collaborative effort, perhaps starting with the cooperative open project by world's nations, open knowledge organizations, and largest search engines, taking into account the fact, that openness needs to be with wise constraints.

We had some progress with websites in fact, in a sense, that recently websites had increasingly taken on to implement their APIs to document themselves.

However, most of the world remains remains undocumented.

I like this idea. Could be combined with business cloud. One of my ideas:

So, thinking along these lines, I tried to abstract the things that we collect here at 0oo. Basically:

1. Category: Function class, e.g., Goal, Category, Question
2. Method: Function prototype, e.g., Idea, Invention, Transformation
3. System: Function instance, e.g., Plan, Project, Agent, Organization, Team, Person, Equipment, Tool, Resource, Instrument
4. Task: Function call, e.g., Task, Request, Order.
5. Place: Function parameter, e.g., Location, Address, Account.
6. Result: Function response, e.g., System Log, Event, Report, Executed task, Operation, Work result, Demo, Transfer, Transaction, Log, Blog post, Press release, Product, Service deployed.

I'm thinking of the following aspects of functions:

1. Category: Function class
types: concept, question
2. Method: Function prototype
types: principle, invention
3. System: Function instance
types: org (like in "organization"), person (like in "individual"), system (an automat: a machine or a "coordinated system," often "cyborg", for example a company (an org) may own a supermarket (an automat))
4. Task: Function call
types: order (like in "service order"), task (like in "work to do"), call (like in "system call")
5. Place: Function parameter
types: url, geo, act (like in "bank account")
6. Result: Function response
types: log (like in SysLog), report (like in "human work task result", e.g. Blog Post, Press Release), op (like in "system operation task result",
properties: resource_id (if operation is like a "product or service deployment"), cause everything of the above can be a result.

It seems, that this corresponds well to the established concepts in CS:

1. TYPES
2. OPERATORS (i.e., functions)
3. PROCESSES
4. OPERATIONS
5. OPERANDS (i.e., parameters)
6. VALUES


Apparently, OPERAND and VALUE, i.e., the 5th and 6th merge into one, as they are very similar.