Skip to content

mrG7/escher

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Escher in language

Escher: A language for programming in pure metaphors

Escher is a simple syntax for representing generic labeled graphs called circuits, much like XML is a (not-so-simple) syntax for representing generic labeled trees.

Escher graphs can also be interpreted as executable circuits of independent processing units. In this way, Escher circuits (used as code) can manipulate Escher circuits (representing data), thus achieving linguistic uniformity between algorithm and data.

In contrast, the standard language for manipulating XML—JavaScript—being designed after-the-fact, constitutes an altogether unrelated semantic and syntax compared to XML.

The analogy between Escher programs manipulating Escher circuits and JavaScript programs manipulating XML is not co-incidental. The Escher Runtime is, in fact, our proposal for a new “headless browser”, which we sometimes also call the “backend browser”, because with Escher one is able to manipulate entire data centers the way one manipulates the DOM of a webpage.

Escher was designed to enable a new programming paradigm for software that needs to control large heterogenous distributed systems consisting of failing components and connections.

With Escher, one views the entire technology stack of a typical Internet company (backend services, mobile apps, outsourced cloud apps, and so on) within a single program.

Sponsors and credits

About

Escher: A language for programming in metaphors http://escher.io

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.5%
  • Other 0.5%