The "Entrelacs project" aims to develop a revolutionary computing environment: the EntrelacsSystem where the "arrow" supersedes the "bit" as the fundamental smallest piece of information. By "arrow", ones mean an immutable and uniquely defined link between two said "arrows".
Entrelacs proposes to represent the whole digitized Knowledge as persistent redundancy-free structures uniquely built from arrow. Entrelacs credo might be everything is arrow.
This new approach encompasses existing solutions like semantic planar graph, relational data bases or object oriented models. Here is a few reasons why. Please also see this little IntroductionToEntrelacs for a more subjective reading.
- homoiconicity : There is no more ["edge" vs "node"] antagonism, nor all derived antagonisms: ["function" vs "data"], ["entity" vs. "relation"], ["term" vs "rule"], ["variable" vs "value"]. Entrelacs theory is built upon an unique concept, that is the arrow.
- pure relationism : Relations are first order and only citizens from which one can constructively build higher order relations.
- scale invariance Whatever its complexity or abstraction level, Knowledge consists in a structure of arrows without distinguish between small and big data nor between data and meta-data. A character string, a full featured office suite, a meta-model definition, some "hello world" code: all of them are represented as arrows.
- ultimate expressiveness At any time, any piece information can be used in an upper context as either a thing to be "tagged"/"refered" or a "tag"/"reference". Resulting tagged-to-tag relations can be abstracted in turn. There is no limit to how subtile and deep statments can be made.
- introspectability These new system properties gives an algorithm the ability to elaborate about every aspect of the system knowledge and behaviour, like an human being usually does.
- redundancy free storage : One postulates there is never more than one copy of each definable arrow in the whole system storage space. Each stored arrow is like mapped to its corresponding pure mathematical object.
- auto-indexation : The system can retrieve arrows connectivity, i.e. whose arrows are linked to a given arrow. It means any piece of information automatically forms an index to all related information within the system.
- orthogonal and incremental fined-grained persistence : The system handles structured knowledge at the finest granularity possible. Thanks to this, the system features incremental and orthogonal persistence. It means nor the application developper nor the user have to take care of data saving into files and disks. The whole machine state is preserved from power outage in a transparent (no human guidance), continuous and seamless way.
- persistent data structures : Structures of arrows are natural persistent data structure. The system never writes over existing information as long as it hasn't been forgotten. Whatever the job to be done, the system can be asked to elaborate on past data and roll back in previous state.
- seamless garbage collection : The system automatically retrieves resources used by dismissed knowledge. No human guidance is required because arrows made this process very easy.
- memoization : The system might easily memorize and get back partial evaluations as arrow structures. It forms the basis of a generalized memoization. Think it as an universal cache of all computed results so the system would never repeat twice the same work.
- virtualize/abstract anything : Whatever the system, every time a piece of code or a statement is evalued, this evaluation takes place in a stack of abstract machines starting from a top level native runtime environment. But only arrows make it easy to handle and change this chain of machines and get new behaviour from existing code. Entrelacs allows new forms of code reuse.
- upward security Because arrows make is so easy, the system can put any untrusted agent into an hosted fake system without the agent knowing whether it runs in the top-level system or not.
Some related concepts and technologies
- The ArrowParadigm
- http://en.wikipedia.org/wiki/Reflection_(computer_science)
- http://en.wikipedia.org/wiki/Homoiconicity
- http://en.wikipedia.org/wiki/Orthogonal_persistence
- http://en.wikipedia.org/wiki/Purely_functional
- http://en.wikipedia.org/wiki/Persistent_data_structure
- http://en.wikipedia.org/wiki/Scale_invariance
- http://en.wikipedia.org/wiki/Memoization
Some opposed concepts and technologies
- http://en.wikipedia.org/wiki/File_system
- http://en.wikipedia.org/wiki/Object_database
- http://en.wikipedia.org/wiki/Navigational_Database
- http://en.wikipedia.org/wiki/Relational_database
- http://en.wikipedia.org/wiki/Relational_model
- http://en.wikipedia.org/wiki/Operating_system
In a near future, the EntrelacsSystem could happily stands for a single replacement to most middlewares within a single computer: interpreters, data base managers, file systems, applicative frameworks, and such. It may even evolve as an autonomous operating system on top of a dedicated hardware. For now, the current prototype is designed as a network (HTTP based) software server on top of a GNU/Linux OS. For a better introduction of the project technical aspects, see DesignIntroduction.
Contact: SylvainGarden