0.3.0 • Published 3 years ago

@cogni-cogni/cognition v0.3.0

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

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.

Glossary

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

History

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.

References

Human scale computing

https://ciic.s23m.com/2017/01/20/human-scale-computing/

https://twitter.com/bruno_gelb/status/1251366889848295425

Version History

2020-11-01 v0.1

Basic context, iterables and generators prototype.

2020-11-01 v0.1.1

Contexts are now scopes.