Skip to content

Instantly share code, notes, and snippets.

@xaviervia
Created February 18, 2017 20:53
Show Gist options
  • Save xaviervia/05c38cfb7ce26b809b0a4f7f93c4c9ce to your computer and use it in GitHub Desktop.
Save xaviervia/05c38cfb7ce26b809b0a4f7f93c4c9ce to your computer and use it in GitHub Desktop.
2017-02-18
  • Blockchain of blockchains with RSA public keys for resource registry (domain + intents/messages accepted)
  • Go down from HTTP/WS to have a simpler/more essential protocol for communication. Protocol not based on simple human analogies (verb, noun)
  • Protocol is (hopefully) implementation of Real OOP.
  • External resources in the language are represented with URLs
  • Discovery/caching decisions (URL resolution) is delegated to the runtime
  • Runtime should eventually be a hypervisor that only manages resource allocation. Or dedicated hardware, programs for FPGA. High level functional language for FPGA programming.
  • Language is expressed in an AST. AST can be formatted in different transport encodings (JSON for example).
  • Language is just representation of category theory operations between the resources, assuming they fulfillthe expected types.
  • Language is lazy and asynchonous by default. Tagline: "sync is just async that works very fast"
  • Under the hood, operations are Real OOP (messages)
  • Even if everything is actually local, the language and module system are modelled to be "internet native". The language is a "systems language", much like Erlang/Rust, but where the "system" is the internet. Purely functional, strongly typed systems programming language.
@xaviervia
Copy link
Author

same program

> a (-> c x)) : aX

-> http://dormammu.com/Monoid : a
http://dormammu.com/Data : Data

-> Monoid : b

> a y : aY

-> c : y

-> Data : c

<- (+ bXY (> b -> z))

+ aX aY : aXY

> b (< aXY) : bXY

@xaviervia
Copy link
Author

> a (-> c x)) : aX

-> http://dormammu.com/Monoid : a
-> http://dormammu.com/Monoid : b
http://dormammu.com/Data : Data

> a y : aY

-> c : y

-> Data : c

<- (+ bXY (> b -> z))

+ aX aY : aXY

> b (< aXY) : bXY

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment