diff --git a/docs/aura.md b/docs/aura.md new file mode 100644 index 0000000..e88a6a8 --- /dev/null +++ b/docs/aura.md @@ -0,0 +1,8 @@ +# Aura Docs + +- [Data](./data.md) +- [Call](./call.md) +- [Control Flow](./flow.md) +- [Types](./type.md) +- [Tags](./tags.md) +- [Targets](./targets.md) \ No newline at end of file diff --git a/docs/call.md b/docs/call.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/data.md b/docs/data.md new file mode 100644 index 0000000..d7f668f --- /dev/null +++ b/docs/data.md @@ -0,0 +1,23 @@ +# Aura: Data + +The way Aura treats data and memory depends on the target, but doesn't affect the result of the computation. + +## AuraVM + +WIP + +## C + +When targeting C there are three possibilities: + +- Data is used only once, so it's moved +- Data is shared by reference when passed as arguments to calls +- Data is copied when passed as argument to data constructors + +## JS + +WIP + +## Immutability + +The important thing to notice is: data is always immutable. So everytime you pass data to somewhere else, the original data is preserved \ No newline at end of file diff --git a/docs/flow.md b/docs/flow.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/tags.md b/docs/tags.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/targets.md b/docs/targets.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/type.md b/docs/type.md new file mode 100644 index 0000000..e69de29