Cognition is an idea of a computing system with several requirements and restrictions in mind:

Usage no npm install needed!

<script type="module">
  import cogniCogniCognition from 'https://cdn.skypack.dev/@cogni-cogni/cognition';



Cognition is an idea of a computing system with several requirements and restrictions in mind:

  • Data should be traceable i.e. every number, boolean or any other value could be traced back to its source and question "why" could be asked about every decision made.
  • Data should be contextual i.e. data has its metadata, reflecting where it came from, how it was obtained, how much should we trust it, when it should be invalidated etc.
  • Data should be owned. Cognition runs on user's machines, including desktop and server, communicating between instances.
  • Data should be controlled. User controls computation and storage process in every aspect.
  • Computation should be visible. Cognition should find a way to display computation process and its result within a context, visualising them ad hoc.

Cognition is an approach to computation and data retrieval through trial and error, not a tool.


Cognition source code is using several specific terms and sometimes I get lost in them. That's why I prefer to write them down.

Common terms

  • container type is a class derived from CValue, the basic value container.
  • contained value is a value wrapped in container type instance, enhanced with metadata; contained value is a most basic Cognition abstraction.
  • scope (initally named context) is a computational context where all the magic happens, scope may have related parent scope. Index stores contained values in its cache from where it takes them for new contained values creation.

Index methods

  • container is how you get contained value from scope, providing container type and, optionally, condition to filter cached values.
  • raw is same but for it also extracts raw value from container for you.

Next steps

  • Basic UI
    • ✅ online REPL
    • suggestions and scope possibilities
    • REPL history
  • Charts
  • Telegram Bot integration


cognition was conceived in October, 2013 and first lines of CoffeeScript code were written.

In 2019 and 2020 I'm spending some more time building it.


Human scale computing



Version History

2020-11-01 v0.1

Basic context, iterables and generators prototype.

2020-11-01 v0.1.1

Contexts are now scopes.