pulumi/docs
joeduffy e864aa302f Mu languages, take three
This documents our latest thinking on Mu languages.  At a high level,
there are three classes of language at play:

1. Mu Metadata Languages (MuML): these are the high-level language
   subsets that a programmer uses to specify Mu modules, etc.  Examples
   include MuJS, MuPy, MuRu, and MyGo, each representing a deterministic
   subset of JavaScript, Python, Ruby, and Go, respectively.

2. Mu Intermediate Language (MuIL): this is the intermediate form that
   all of the above compile down to.  It is capable of representing
   computations like functions, conditionals, and basic expressions like
   string concatenation, etc.  This is fully statically analyzable and
   can be used to create deterministic plans and topology graphs.

3. Mu Graph Language (MuGL): this is the "final" form in which any Mu
   service topology is represented.  It never contains computations and
   is merely a metadata description of services-as-nodes, dependencies-as-
   edges, and all known properties.  In the planning form, it may contain
   "holes" because output properties aren't known until execution has
   occurred, while in the actual applied form, those holes have been
   plugged.  MuGLs can be diffed, and a MuGL can be generated from an
   existing live environment (for bootstrapping and/or drift analysis).

There are several TODOs in here, but this is braindump of where we're at.
2016-12-22 15:40:35 -08:00
..
architecture.md Clean up workspace file naming 2016-11-29 20:07:27 -08:00
deps.md Articulate how dependency versioning works 2016-11-22 13:22:29 -08:00
language.md Add two follow-ups we need to think about, typing-wise 2016-12-12 09:26:06 -08:00
language2.md Flesh out details on basic stuff 2016-12-16 13:35:59 -08:00
languages.md Mu languages, take three 2016-12-22 15:40:35 -08:00
metadata.md Rename macro to func; rename mu/func to mu/lambda 2016-12-14 16:44:31 -08:00
security.md Add a note on AWS IAM mapping 2016-11-06 10:02:06 -08:00
targets.md Rename macro to func; rename mu/func to mu/lambda 2016-12-14 16:44:31 -08:00
x-cloud.md Sketch out some cross-cloud abstraction thinking 2016-11-23 16:20:40 -08:00