Skip to main content

Creating

Project description

i2

Core tools for minting code.

Documentation here.

What's mint?

Mint stands for "Meta-INTerface".

Minting is core technique of i2i: It can be seen as the encapsulation of a construct’s interface into a (data) structure that contains everything one needs to know about the construct to perform a specific action with or on the construct.

A little note on the use of “encapsulation”. The term is widely used in computer science, and is typically tied to object oriented programming. Wikipedia provides two definitions:

  • A language mechanism for restricting direct access to some of the object's components.
  • A language construct that facilitates the bundling of data with the methods (or other functions) operating on that data.

Though both these definitions apply to minting, the original sense of the word “encapsulate” is even more relevant (from google definitions):

  • express the essential features of (something) succinctly
  • enclose (something) in or as if in a capsule

Indeed, minting is the process of enclosing a construct into a “mint” (for “Meta INTerface”) that will express the features of the construct that are essential to the task at hand. The mint provides a declarative layer of the construct that allows one to write code that operates with this layer, which is designed to be (as) consistent (as possible) from one system/language to another.

For example, whether a (non-anonymous) function was written in C, Python, or JavaScript, it will at least have a name, and it’s arguments will (most often) have names, and may have types. Similarly with “data objects”: The data of both JavaScript and Python objects can be represented by a tree whose leaves are base types, which can in turn be represented by a C struct.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

i2-0.1.36.tar.gz (185.8 kB view details)

Uploaded Source

Built Distribution

i2-0.1.36-py3-none-any.whl (197.4 kB view details)

Uploaded Python 3

File details

Details for the file i2-0.1.36.tar.gz.

File metadata

  • Download URL: i2-0.1.36.tar.gz
  • Upload date:
  • Size: 185.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.15

File hashes

Hashes for i2-0.1.36.tar.gz
Algorithm Hash digest
SHA256 156102ac4b86a99a0ecf22ae602b1970fa7d35092ab9f0528d6e0898502124d4
MD5 c2e357cebeb3eb3f9a9102bfb834573c
BLAKE2b-256 9d0c9ddad14debe7d09bd9baabd141bb9403153b2ff0ff47197ae5b2b7440f81

See more details on using hashes here.

File details

Details for the file i2-0.1.36-py3-none-any.whl.

File metadata

  • Download URL: i2-0.1.36-py3-none-any.whl
  • Upload date:
  • Size: 197.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.15

File hashes

Hashes for i2-0.1.36-py3-none-any.whl
Algorithm Hash digest
SHA256 2d0483ec790d906c29ff80e9ea87d6f301c3345ec0cadac1f3e2f7124460e0db
MD5 a266ff0bb945bdac96cb0a9e57bd05e3
BLAKE2b-256 af6826689f62ada28d55b63a55f9d6b8142932c03f58c5fecab70c71f44d36f3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page