diff --git a/README.md b/README.md index 76b2ef7..bad6909 100644 --- a/README.md +++ b/README.md @@ -138,7 +138,7 @@ eval @inspect(sixSoles()) [ [Goto The Playground](https://inet.xieyuheng.com/playground/aW1wb3J0IHsgTGlzdCB9IGZyb20gImh0dHBzOi8vY29kZS1vZi1pbmV0LWpzLnhpZXl1aGVuZy5jb20vZG9jcy9zdGQvZGF0YXR5cGUvTGlzdC5pIgoKLy8gQ29uY2F0ZW5hdGlvbiBvZiBsaXN0cyBpcyBwZXJmb3JtZWQgaW4gbGluZWFyIHRpbWUKLy8gd2l0aCByZXNwZWN0IHRvIGl0cyBmaXJzdCBhcmd1bWVudC4KLy8gQ29uc3RhbnQgdGltZSBjb25jYXRlbmF0aW9uIGlzIHBvc3NpYmxlCi8vIHdpdGggZGlmZmVyZW5jZS1saXN0czogdGhlIGlkZWEgY29uc2lzdHMgaW4KLy8gcGx1Z2dpbmcgdGhlIGZyb250IG9mIHRoZSBzZWNvbmQgYXJndW1lbnQKLy8gYXQgdGhlIGJhY2sgb2YgdGhlIGZpcnN0IG9uZS4KCnR5cGUgRGlmZkxpc3QoRWxlbWVudDogQFR5cGUpCgpub2RlIGRpZmYoCiAgZnJvbnQ6IExpc3QoJ0EpLAogIC0tLS0tLS0KICBiYWNrOiBMaXN0KCdBKSwKICB2YWx1ZSE6IERpZmZMaXN0KCdBKSwKKQoKbm9kZSBkaWZmQXBwZW5kKAogIHRhcmdldCE6IERpZmZMaXN0KCdBKSwKICByZXN0OiBEaWZmTGlzdCgnQSkKICAtLS0tLS0tLQogIHJlc3VsdDogRGlmZkxpc3QoJ0EpCikKCm5vZGUgZGlmZk9wZW4oCiAgdGFyZ2V0ITogRGlmZkxpc3QoJ0EpLAogIG5ld0JhY2s6IExpc3QoJ0EpCiAgLS0tLS0tLS0tLQogIG9sZEJhY2s6IExpc3QoJ0EpCikKCnJ1bGUgZGlmZkFwcGVuZCh0YXJnZXQhLCByZXN0LCByZXN1bHQpCiAgICAgZGlmZihmcm9udCwgYmFjaywgdmFsdWUhKSB7CiAgbGV0IG5ld0JhY2ssIHZhbHVlID0gZGlmZihmcm9udCkKICBAY29ubmVjdCh2YWx1ZSwgcmVzdWx0KQogIGRpZmZPcGVuKHJlc3QsIG5ld0JhY2ssIGJhY2spCn0KCnJ1bGUgZGlmZk9wZW4odGFyZ2V0ISwgbmV3QmFjaywgb2xkQmFjaykKICAgICBkaWZmKGZyb250LCBiYWNrLCB2YWx1ZSEpIHsKICBAY29ubmVjdChiYWNrLCBuZXdCYWNrKQogIEBjb25uZWN0KGZyb250LCBvbGRCYWNrKQp9CgovLyBURVNUCgppbXBvcnQgeyBjb25zIH0gZnJvbSAiaHR0cHM6Ly9jb2RlLW9mLWluZXQtanMueGlleXVoZW5nLmNvbS9kb2NzL3N0ZC9kYXRhdHlwZS9MaXN0LmkiCgp0eXBlIFRyaXZpYWwKCm5vZGUgc29sZSgtLSB2YWx1ZSE6IFRyaXZpYWwpCgpmdW5jdGlvbiB0d29Ud29Tb2xlcygpOiBEaWZmTGlzdChUcml2aWFsKSB7CiAgbGV0IGZyb250LCBiYWNrLCB2YWx1ZTEgPSBkaWZmKCkKICBAY29ubmVjdChmcm9udCwgY29ucyhzb2xlKCksIGNvbnMoc29sZSgpLCBiYWNrKSkpCiAgbGV0IGZyb250LCBiYWNrLCB2YWx1ZTIgPSBkaWZmKCkKICBAY29ubmVjdChmcm9udCwgY29ucyhzb2xlKCksIGNvbnMoc29sZSgpLCBiYWNrKSkpCiAgcmV0dXJuIGRpZmZBcHBlbmQodmFsdWUxLCB2YWx1ZTIpCn0KCmV2YWwgQGluc3BlY3QoQHJ1bih0d29Ud29Tb2xlcygpKSkKZXZhbCBAaW5zcGVjdCh0d29Ud29Tb2xlcygpKQ) ] ```inet -import { List } from "https://code-of-inet-js.xieyuheng.com/examples/datatype/List.i" +import { List } from "https://code-of-inet-js.xieyuheng.com/examples/datatypes/List.i" // Concatenation of lists is performed in linear time // with respect to its first argument. @@ -185,7 +185,7 @@ rule diffOpen(target!, newBack, oldBack) // TEST -import { cons } from "https://code-of-inet-js.xieyuheng.com/examples/datatype/List.i" +import { cons } from "https://code-of-inet-js.xieyuheng.com/examples/datatypes/List.i" type Trivial diff --git a/docs/articles/programming-with-interaction-nets.md b/docs/articles/programming-with-interaction-nets.md index 17150c2..18d5eda 100644 --- a/docs/articles/programming-with-interaction-nets.md +++ b/docs/articles/programming-with-interaction-nets.md @@ -683,7 +683,7 @@ to import definitions from other module. import { Nat, zero, add1, add, one, two, three, -} from "https://code-of-inet-js.xieyuheng.com/examples/datatype/Nat.i" +} from "https://code-of-inet-js.xieyuheng.com/examples/datatypes/Nat.i" node natErase( target!: Nat @@ -794,7 +794,7 @@ rule append(target!, rest, result) cons(head, tail, value!) { cons(head, append(tail, rest), result) } -import { Nat, zero } from "https://code-of-inet-js.xieyuheng.com/examples/datatype/Nat.i" +import { Nat, zero } from "https://code-of-inet-js.xieyuheng.com/examples/datatypes/Nat.i" function sixZeros(): List(Nat) { return append( @@ -836,7 +836,7 @@ the relationship between all nodes is symmetric. [Goto the playground of `DiffList` and `(diffAppend)`](https://inet.xieyuheng.com/playground/aW1wb3J0IHsgTGlzdCB9IGZyb20gImh0dHBzOi8vY29kZS1vZi1pbmV0LWpzLmZpZGIuYXBwL3N0ZC9kYXRhdHlwZS9MaXN0LmkiCgp0eXBlIERpZmZMaXN0KEVsZW1lbnQ6IEBUeXBlKQoKbm9kZSBkaWZmKAogIGZyb250OiBMaXN0KCdBKSwKICAtLS0tLS0tCiAgYmFjazogTGlzdCgnQSksCiAgdmFsdWUhOiBEaWZmTGlzdCgnQSksCikKCm5vZGUgZGlmZkFwcGVuZCgKICB0YXJnZXQhOiBEaWZmTGlzdCgnQSksCiAgcmVzdDogRGlmZkxpc3QoJ0EpCiAgLS0tLS0tLS0KICByZXN1bHQ6IERpZmZMaXN0KCdBKQopCgpub2RlIGRpZmZPcGVuKAogIHRhcmdldCE6IERpZmZMaXN0KCdBKSwKICBuZXdCYWNrOiBMaXN0KCdBKQogIC0tLS0tLS0tLS0KICBvbGRCYWNrOiBMaXN0KCdBKQopCgpydWxlIGRpZmZBcHBlbmQodGFyZ2V0ISwgcmVzdCwgcmVzdWx0KQogICAgIGRpZmYoZnJvbnQsIGJhY2ssIHZhbHVlISkgewogIGxldCBuZXdCYWNrLCB2YWx1ZSA9IGRpZmYoZnJvbnQpCiAgQGNvbm5lY3QodmFsdWUsIHJlc3VsdCkKICBkaWZmT3BlbihyZXN0LCBuZXdCYWNrLCBiYWNrKQp9CgpydWxlIGRpZmZPcGVuKHRhcmdldCEsIG5ld0JhY2ssIG9sZEJhY2spCiAgICAgZGlmZihmcm9udCwgYmFjaywgdmFsdWUhKSB7CiAgQGNvbm5lY3QoYmFjaywgbmV3QmFjaykKICBAY29ubmVjdChmcm9udCwgb2xkQmFjaykKfQoKaW1wb3J0IHsgTmF0LCB6ZXJvIH0gZnJvbSAiaHR0cHM6Ly9jb2RlLW9mLWluZXQtanMuZmlkYi5hcHAvc3RkL2RhdGF0eXBlL05hdC5pIgppbXBvcnQgeyBjb25zIH0gZnJvbSAiaHR0cHM6Ly9jb2RlLW9mLWluZXQtanMuZmlkYi5hcHAvc3RkL2RhdGF0eXBlL0xpc3QuaSIKCmZ1bmN0aW9uIHR3b1R3b1plcm9zKCk6IERpZmZMaXN0KE5hdCkgewogIGxldCBmcm9udCwgYmFjaywgdmFsdWUxID0gZGlmZigpCiAgQGNvbm5lY3QoZnJvbnQsIGNvbnMoemVybygpLCBjb25zKHplcm8oKSwgYmFjaykpKQogIGxldCBmcm9udCwgYmFjaywgdmFsdWUyID0gZGlmZigpCiAgQGNvbm5lY3QoZnJvbnQsIGNvbnMoemVybygpLCBjb25zKHplcm8oKSwgYmFjaykpKQogIHJldHVybiBkaWZmQXBwZW5kKHZhbHVlMSwgdmFsdWUyKQp9CgpldmFsIHR3b1R3b1plcm9zKCk) ``` -import { List } from "https://code-of-inet-js.xieyuheng.com/examples/datatype/List.i" +import { List } from "https://code-of-inet-js.xieyuheng.com/examples/datatypes/List.i" type DiffList(Element: @Type) @@ -874,8 +874,8 @@ rule diffOpen(target!, newBack, oldBack) @connect(front, oldBack) } -import { Nat, zero } from "https://code-of-inet-js.xieyuheng.com/examples/datatype/Nat.i" -import { cons } from "https://code-of-inet-js.xieyuheng.com/examples/datatype/List.i" +import { Nat, zero } from "https://code-of-inet-js.xieyuheng.com/examples/datatypes/Nat.i" +import { cons } from "https://code-of-inet-js.xieyuheng.com/examples/datatypes/List.i" function twoTwoZeros(): DiffList(Nat) { let front, back, value1 = diff() diff --git "a/docs/articles/\345\217\215\345\272\224\347\275\221\347\274\226\347\250\213.md" "b/docs/articles/\345\217\215\345\272\224\347\275\221\347\274\226\347\250\213.md" index fb7ea75..5230256 100644 --- "a/docs/articles/\345\217\215\345\272\224\347\275\221\347\274\226\347\250\213.md" +++ "b/docs/articles/\345\217\215\345\272\224\347\275\221\347\274\226\347\250\213.md" @@ -659,7 +659,7 @@ eval max(two(), three()) import { Nat, zero, add1, add, one, two, three, -} from "https://code-of-inet-js.xieyuheng.com/examples/datatype/Nat.i" +} from "https://code-of-inet-js.xieyuheng.com/examples/datatypes/Nat.i" node natErase( target!: Nat @@ -768,7 +768,7 @@ rule append(target!, rest, result) cons(head, tail, value!) { cons(head, append(tail, rest), result) } -import { Nat, zero } from "https://code-of-inet-js.xieyuheng.com/examples/datatype/Nat.i" +import { Nat, zero } from "https://code-of-inet-js.xieyuheng.com/examples/datatypes/Nat.i" function sixZeros(): List(Nat) { return append( @@ -806,7 +806,7 @@ eval sixZeros() [去 `DiffList` 与 `(diffAppend)` 的演算场](https://inet.xieyuheng.com/playground/aW1wb3J0IHsgTGlzdCB9IGZyb20gImh0dHBzOi8vY29kZS1vZi1pbmV0LWpzLmZpZGIuYXBwL3N0ZC9kYXRhdHlwZS9MaXN0LmkiCgp0eXBlIERpZmZMaXN0KEVsZW1lbnQ6IEBUeXBlKQoKbm9kZSBkaWZmKAogIGZyb250OiBMaXN0KCdBKSwKICAtLS0tLS0tCiAgYmFjazogTGlzdCgnQSksCiAgdmFsdWUhOiBEaWZmTGlzdCgnQSksCikKCm5vZGUgZGlmZkFwcGVuZCgKICB0YXJnZXQhOiBEaWZmTGlzdCgnQSksCiAgcmVzdDogRGlmZkxpc3QoJ0EpCiAgLS0tLS0tLS0KICByZXN1bHQ6IERpZmZMaXN0KCdBKQopCgpub2RlIGRpZmZPcGVuKAogIHRhcmdldCE6IERpZmZMaXN0KCdBKSwKICBuZXdCYWNrOiBMaXN0KCdBKQogIC0tLS0tLS0tLS0KICBvbGRCYWNrOiBMaXN0KCdBKQopCgpydWxlIGRpZmZBcHBlbmQodGFyZ2V0ISwgcmVzdCwgcmVzdWx0KQogICAgIGRpZmYoZnJvbnQsIGJhY2ssIHZhbHVlISkgewogIGxldCBuZXdCYWNrLCB2YWx1ZSA9IGRpZmYoZnJvbnQpCiAgQGNvbm5lY3QodmFsdWUsIHJlc3VsdCkKICBkaWZmT3BlbihyZXN0LCBuZXdCYWNrLCBiYWNrKQp9CgpydWxlIGRpZmZPcGVuKHRhcmdldCEsIG5ld0JhY2ssIG9sZEJhY2spCiAgICAgZGlmZihmcm9udCwgYmFjaywgdmFsdWUhKSB7CiAgQGNvbm5lY3QoYmFjaywgbmV3QmFjaykKICBAY29ubmVjdChmcm9udCwgb2xkQmFjaykKfQoKaW1wb3J0IHsgTmF0LCB6ZXJvIH0gZnJvbSAiaHR0cHM6Ly9jb2RlLW9mLWluZXQtanMuZmlkYi5hcHAvc3RkL2RhdGF0eXBlL05hdC5pIgppbXBvcnQgeyBjb25zIH0gZnJvbSAiaHR0cHM6Ly9jb2RlLW9mLWluZXQtanMuZmlkYi5hcHAvc3RkL2RhdGF0eXBlL0xpc3QuaSIKCmZ1bmN0aW9uIHR3b1R3b1plcm9zKCk6IERpZmZMaXN0KE5hdCkgewogIGxldCBmcm9udCwgYmFjaywgdmFsdWUxID0gZGlmZigpCiAgQGNvbm5lY3QoZnJvbnQsIGNvbnMoemVybygpLCBjb25zKHplcm8oKSwgYmFjaykpKQogIGxldCBmcm9udCwgYmFjaywgdmFsdWUyID0gZGlmZigpCiAgQGNvbm5lY3QoZnJvbnQsIGNvbnMoemVybygpLCBjb25zKHplcm8oKSwgYmFjaykpKQogIHJldHVybiBkaWZmQXBwZW5kKHZhbHVlMSwgdmFsdWUyKQp9CgpldmFsIHR3b1R3b1plcm9zKCk) ``` -import { List } from "https://code-of-inet-js.xieyuheng.com/examples/datatype/List.i" +import { List } from "https://code-of-inet-js.xieyuheng.com/examples/datatypes/List.i" type DiffList(Element: @Type) @@ -844,8 +844,8 @@ rule diffOpen(target!, newBack, oldBack) @connect(front, oldBack) } -import { Nat, zero } from "https://code-of-inet-js.xieyuheng.com/examples/datatype/Nat.i" -import { cons } from "https://code-of-inet-js.xieyuheng.com/examples/datatype/List.i" +import { Nat, zero } from "https://code-of-inet-js.xieyuheng.com/examples/datatypes/Nat.i" +import { cons } from "https://code-of-inet-js.xieyuheng.com/examples/datatypes/List.i" function twoTwoZeros(): DiffList(Nat) { let front, back, value1 = diff() diff --git a/examples/datatype/Bin.i b/examples/datatypes/Bin.i similarity index 100% rename from examples/datatype/Bin.i rename to examples/datatypes/Bin.i diff --git a/examples/datatype/Bin.test.i b/examples/datatypes/Bin.test.i similarity index 100% rename from examples/datatype/Bin.test.i rename to examples/datatypes/Bin.test.i diff --git a/examples/datatype/Bin.test.i.out b/examples/datatypes/Bin.test.i.out similarity index 100% rename from examples/datatype/Bin.test.i.out rename to examples/datatypes/Bin.test.i.out diff --git a/examples/datatype/DiffList.i b/examples/datatypes/DiffList.i similarity index 100% rename from examples/datatype/DiffList.i rename to examples/datatypes/DiffList.i diff --git a/examples/datatype/DiffList.test.i b/examples/datatypes/DiffList.test.i similarity index 100% rename from examples/datatype/DiffList.test.i rename to examples/datatypes/DiffList.test.i diff --git a/examples/datatype/DiffList.test.i.out b/examples/datatypes/DiffList.test.i.out similarity index 100% rename from examples/datatype/DiffList.test.i.out rename to examples/datatypes/DiffList.test.i.out diff --git a/examples/datatype/List.i b/examples/datatypes/List.i similarity index 100% rename from examples/datatype/List.i rename to examples/datatypes/List.i diff --git a/examples/datatype/List.test.i b/examples/datatypes/List.test.i similarity index 100% rename from examples/datatype/List.test.i rename to examples/datatypes/List.test.i diff --git a/examples/datatype/List.test.i.out b/examples/datatypes/List.test.i.out similarity index 100% rename from examples/datatype/List.test.i.out rename to examples/datatypes/List.test.i.out diff --git a/examples/datatype/Nat.i b/examples/datatypes/Nat.i similarity index 100% rename from examples/datatype/Nat.i rename to examples/datatypes/Nat.i diff --git a/examples/datatype/Nat.test.i b/examples/datatypes/Nat.test.i similarity index 100% rename from examples/datatype/Nat.test.i rename to examples/datatypes/Nat.test.i diff --git a/examples/datatype/Nat.test.i.out b/examples/datatypes/Nat.test.i.out similarity index 100% rename from examples/datatype/Nat.test.i.out rename to examples/datatypes/Nat.test.i.out diff --git a/examples/datatype/Pair.i b/examples/datatypes/Pair.i similarity index 100% rename from examples/datatype/Pair.i rename to examples/datatypes/Pair.i diff --git a/examples/datatype/Pair.i.out b/examples/datatypes/Pair.i.out similarity index 100% rename from examples/datatype/Pair.i.out rename to examples/datatypes/Pair.i.out diff --git a/examples/datatype/Trivial.i b/examples/datatypes/Trivial.i similarity index 100% rename from examples/datatype/Trivial.i rename to examples/datatypes/Trivial.i diff --git a/examples/tests/module/import.i b/examples/tests/module/import.i index e7e3433..5f59626 100644 --- a/examples/tests/module/import.i +++ b/examples/tests/module/import.i @@ -1,3 +1,3 @@ -import { zero, one, add } from "../../datatype/Nat.i" +import { zero, one, add } from "../../datatypes/Nat.i" eval @inspect(@run(@inspect(add(one(), zero())))) diff --git a/examples/tests/module/require-already-defined.error.i b/examples/tests/module/require-already-defined.error.i index 5ad9b01..7f87627 100644 --- a/examples/tests/module/require-already-defined.error.i +++ b/examples/tests/module/require-already-defined.error.i @@ -1,3 +1,3 @@ type Nat -require "../../datatype/Nat.i" +require "../../datatypes/Nat.i" diff --git a/examples/tests/module/require-already-defined.error.i.err b/examples/tests/module/require-already-defined.error.i.err index ece3425..c51ae86 100644 --- a/examples/tests/module/require-already-defined.error.i.err +++ b/examples/tests/module/require-already-defined.error.i.err @@ -6,5 +6,5 @@ 1 |type Nat 2 | - 3 |require "../../datatype/Nat.i" + 3 |require "../../datatypes/Nat.i" 4 | diff --git a/examples/tests/module/require.i b/examples/tests/module/require.i index dd87700..c62c41b 100644 --- a/examples/tests/module/require.i +++ b/examples/tests/module/require.i @@ -1,3 +1,3 @@ -require "../../datatype/Nat.i" +require "../../datatypes/Nat.i" eval @inspect(@run(@inspect(add(one(), zero())))) diff --git a/examples/tests/statement/rule-for-non-own-node.error.i b/examples/tests/statement/rule-for-non-own-node.error.i index 072aba8..fbe18cd 100644 --- a/examples/tests/statement/rule-for-non-own-node.error.i +++ b/examples/tests/statement/rule-for-non-own-node.error.i @@ -1,4 +1,4 @@ -import { Nat, zero, add1, add } from "../../datatype/Nat.i" +import { Nat, zero, add1, add } from "../../datatypes/Nat.i" rule add(target!, addend, result) zero(value!) { @connect(addend, result) diff --git a/examples/tests/statement/rule-for-non-own-node.error.i.err b/examples/tests/statement/rule-for-non-own-node.error.i.err index 7b15523..10a4e6e 100644 --- a/examples/tests/statement/rule-for-non-own-node.error.i.err +++ b/examples/tests/statement/rule-for-non-own-node.error.i.err @@ -1,12 +1,12 @@ [checkRuleIsAboutOwnNode] To define a rule, one of the node must be owned by this module. loading module url: examples/tests/statement/rule-for-non-own-node.error.i - first node module url: examples/datatype/Nat.i - second node module url: examples/datatype/Nat.i + first node module url: examples/datatypes/Nat.i + second node module url: examples/datatypes/Nat.i [execute] I fail to execute a statement. - 1 |import { Nat, zero, add1, add } from "../../datatype/Nat.i" + 1 |import { Nat, zero, add1, add } from "../../datatypes/Nat.i" 2 | 3 |rule add(target!, addend, result) zero(value!) { 4 | @connect(addend, result) diff --git a/src/command-line/commands/Format.ts b/src/command-line/commands/Format.ts index 6ace13b..99c1847 100644 --- a/src/command-line/commands/Format.ts +++ b/src/command-line/commands/Format.ts @@ -27,7 +27,7 @@ export class Format extends Command { return [ `Format a file:`, ``, - blue(` ${runner.name} ${this.name} examples/datatype/Nat.test.i`), + blue(` ${runner.name} ${this.name} examples/datatypes/Nat.test.i`), ``, ].join("\n") } diff --git a/src/command-line/commands/Parse.ts b/src/command-line/commands/Parse.ts index 7ddaafa..660cbd8 100644 --- a/src/command-line/commands/Parse.ts +++ b/src/command-line/commands/Parse.ts @@ -26,7 +26,7 @@ export class Parse extends Command { return [ `Parse a file:`, ``, - blue(` ${runner.name} ${this.name} examples/datatype/Nat.test.i`), + blue(` ${runner.name} ${this.name} examples/datatypes/Nat.test.i`), ``, ].join("\n") } diff --git a/src/command-line/commands/Run.ts b/src/command-line/commands/Run.ts index 27e0746..033d221 100644 --- a/src/command-line/commands/Run.ts +++ b/src/command-line/commands/Run.ts @@ -26,11 +26,11 @@ export class Run extends Command { return [ `Run a file:`, ``, - blue(` ${runner.name} ${this.name} examples/datatype/Nat.test.i`), + blue(` ${runner.name} ${this.name} examples/datatypes/Nat.test.i`), ``, `Run a URL:`, ``, - blue(` ${runner.name} ${this.name} https://code-of-inet.xieyuheng.com/examples/datatype/Nat.test.i`), + blue(` ${runner.name} ${this.name} https://code-of-inet.xieyuheng.com/examples/datatypes/Nat.test.i`), ``, ].join("\n")