@greenpandastudios/aug-cli 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +13 -0
- package/THIRD_PARTY_NOTICES.md +18 -0
- package/bin/aug.mjs +3 -0
- package/docs/api/crypto.md +351 -0
- package/docs/api/io.md +207 -0
- package/docs/api/json.md +21 -0
- package/docs/api/memory.md +109 -0
- package/docs/api/time.md +54 -0
- package/docs/api/web.md +184 -0
- package/docs/assets/benchmarks/execution.svg +2978 -0
- package/docs/assets/benchmarks/http.svg +1674 -0
- package/docs/assets/benchmarks/improvements.svg +2315 -0
- package/docs/assets/benchmarks/memory.svg +1891 -0
- package/docs/benchmark-baseline.json +1087 -0
- package/docs/benchmark-results.json +91123 -0
- package/docs/benchmarks.json +38 -0
- package/docs/compatibility.md +42 -0
- package/docs/concurrency-implementation.md +18 -0
- package/docs/diagnostics.md +97 -0
- package/docs/docker.md +35 -0
- package/docs/example-projects.json +26 -0
- package/docs/examples/approved-design/counters.md +253 -0
- package/docs/examples/approved-design/dependencies/august/0.19.0/io/contracts.md +395 -0
- package/docs/examples/approved-design/domain/app.md +165 -0
- package/docs/examples/approved-design/domain/export.md +83 -0
- package/docs/examples/approved-design/domain/models.md +80 -0
- package/docs/examples/approved-design/domain/numbers.md +248 -0
- package/docs/examples/approved-design/index.md +39 -0
- package/docs/examples/approved-design/main-yaml.md +24 -0
- package/docs/examples/approved-design/main.md +215 -0
- package/docs/examples/benchmark/index.md +33 -0
- package/docs/examples/benchmark/main-yaml.md +17 -0
- package/docs/examples/benchmark/main.md +117 -0
- package/docs/examples/cli-args/index.md +32 -0
- package/docs/examples/cli-args/main.md +107 -0
- package/docs/examples/collections/index.md +32 -0
- package/docs/examples/collections/main.md +118 -0
- package/docs/examples/collections-benchmark/index.md +34 -0
- package/docs/examples/collections-benchmark/main.md +115 -0
- package/docs/examples/cpu-benchmark/index.md +34 -0
- package/docs/examples/cpu-benchmark/main.md +90 -0
- package/docs/examples/developer-workflow/calculator.md +357 -0
- package/docs/examples/developer-workflow/dependencies/august/0.19.0/io/contracts.md +395 -0
- package/docs/examples/developer-workflow/index.md +37 -0
- package/docs/examples/developer-workflow/logging/console.md +124 -0
- package/docs/examples/developer-workflow/logging/export.md +70 -0
- package/docs/examples/developer-workflow/logging/logger.md +111 -0
- package/docs/examples/developer-workflow/main.md +172 -0
- package/docs/examples/drop/index.md +33 -0
- package/docs/examples/drop/main.md +85 -0
- package/docs/examples/drop/resource.md +95 -0
- package/docs/examples/errors/errors.md +85 -0
- package/docs/examples/errors/index.md +33 -0
- package/docs/examples/errors/main.md +92 -0
- package/docs/examples/ffi/index.md +33 -0
- package/docs/examples/ffi/main.md +75 -0
- package/docs/examples/ffi/native.md +93 -0
- package/docs/examples/generic-di/dependencies/august/0.19.0/io/contracts.md +395 -0
- package/docs/examples/generic-di/index.md +33 -0
- package/docs/examples/generic-di/main.md +111 -0
- package/docs/examples/generic-di/types.md +180 -0
- package/docs/examples/generics/index.md +33 -0
- package/docs/examples/generics/main.md +120 -0
- package/docs/examples/generics/types.md +189 -0
- package/docs/examples/hello/app/export.md +67 -0
- package/docs/examples/hello/app/greeter.md +190 -0
- package/docs/examples/hello/dependencies/august/0.19.0/io/contracts.md +395 -0
- package/docs/examples/hello/index.md +37 -0
- package/docs/examples/hello/logging/console.md +121 -0
- package/docs/examples/hello/logging/export.md +71 -0
- package/docs/examples/hello/logging/logger.md +120 -0
- package/docs/examples/hello/main.md +115 -0
- package/docs/examples/http-benchmark/index.md +35 -0
- package/docs/examples/http-benchmark/main.md +79 -0
- package/docs/examples/http-benchmark/routes.md +88 -0
- package/docs/examples/index.md +60 -0
- package/docs/examples/interceptors/app.md +250 -0
- package/docs/examples/interceptors/dependencies/august/0.19.0/io/contracts.md +395 -0
- package/docs/examples/interceptors/index.md +35 -0
- package/docs/examples/interceptors/interceptors.md +284 -0
- package/docs/examples/interceptors/logging.md +155 -0
- package/docs/examples/interceptors/main.md +162 -0
- package/docs/examples/json-benchmark/data.md +71 -0
- package/docs/examples/json-benchmark/dependencies/august/0.19.0/json/contracts.md +103 -0
- package/docs/examples/json-benchmark/index.md +35 -0
- package/docs/examples/json-benchmark/main.md +131 -0
- package/docs/examples/new-syntax/console.md +118 -0
- package/docs/examples/new-syntax/dependencies/august/0.19.0/io/contracts.md +395 -0
- package/docs/examples/new-syntax/greeter.md +145 -0
- package/docs/examples/new-syntax/index.md +36 -0
- package/docs/examples/new-syntax/logger.md +111 -0
- package/docs/examples/new-syntax/main.md +135 -0
- package/docs/examples/new-syntax/math.md +79 -0
- package/docs/examples/oidc-login/client/contracts.md +151 -0
- package/docs/examples/oidc-login/client/endpoints.md +263 -0
- package/docs/examples/oidc-login/client/export.md +107 -0
- package/docs/examples/oidc-login/client/login.md +515 -0
- package/docs/examples/oidc-login/client/logout.md +249 -0
- package/docs/examples/oidc-login/client/protocol.md +595 -0
- package/docs/examples/oidc-login/client/session.md +297 -0
- package/docs/examples/oidc-login/client/views.md +144 -0
- package/docs/examples/oidc-login/common/export.md +115 -0
- package/docs/examples/oidc-login/common/headers.md +162 -0
- package/docs/examples/oidc-login/common/keys.md +336 -0
- package/docs/examples/oidc-login/common/settings.md +116 -0
- package/docs/examples/oidc-login/common/views.md +103 -0
- package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/contracts.md +925 -0
- package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/jose.md +434 -0
- package/docs/examples/oidc-login/dependencies/august/0.19.0/json/contracts.md +103 -0
- package/docs/examples/oidc-login/dependencies/august/0.19.0/memory/store.md +374 -0
- package/docs/examples/oidc-login/dependencies/august/0.19.0/time/contracts.md +150 -0
- package/docs/examples/oidc-login/dependencies/august/0.19.0/web/contracts.md +532 -0
- package/docs/examples/oidc-login/index.md +57 -0
- package/docs/examples/oidc-login/main-yaml.md +28 -0
- package/docs/examples/oidc-login/main.md +283 -0
- package/docs/examples/oidc-login/provider/authorization.md +457 -0
- package/docs/examples/oidc-login/provider/contracts.md +267 -0
- package/docs/examples/oidc-login/provider/credentials.md +148 -0
- package/docs/examples/oidc-login/provider/discovery.md +215 -0
- package/docs/examples/oidc-login/provider/export.md +131 -0
- package/docs/examples/oidc-login/provider/token.md +364 -0
- package/docs/examples/oidc-login/provider/userinfo.md +228 -0
- package/docs/examples/oidc-login/provider/views.md +137 -0
- package/docs/examples/ownership/counter.md +140 -0
- package/docs/examples/ownership/index.md +33 -0
- package/docs/examples/ownership/main.md +90 -0
- package/docs/examples/ownership-transfer/dependencies/august/0.19.0/io/contracts.md +395 -0
- package/docs/examples/ownership-transfer/index.md +33 -0
- package/docs/examples/ownership-transfer/main.md +125 -0
- package/docs/examples/ownership-transfer/resource.md +150 -0
- package/docs/examples/packages-app/dependencies/packages/@example/aug-math/0.1.0/arithmetic.md +117 -0
- package/docs/examples/packages-app/index.md +34 -0
- package/docs/examples/packages-app/main-yaml.md +18 -0
- package/docs/examples/packages-app/main.md +80 -0
- package/docs/examples/packages-math/aug-package-json.md +24 -0
- package/docs/examples/packages-math/index.md +36 -0
- package/docs/examples/packages-math/package-json.md +25 -0
- package/docs/examples/packages-math/src/arithmetic.md +121 -0
- package/docs/examples/packages-math/src/export.md +63 -0
- package/docs/examples/startup-benchmark/index.md +34 -0
- package/docs/examples/startup-benchmark/main.md +68 -0
- package/docs/examples/visibility/counter.md +142 -0
- package/docs/examples/visibility/index.md +33 -0
- package/docs/examples/visibility/main.md +96 -0
- package/docs/examples.json +47 -0
- package/docs/getting-started.md +5 -0
- package/docs/grammar.md +136 -0
- package/docs/implementation-map.md +106 -0
- package/docs/index.md +46 -0
- package/docs/language-conformance.md +30 -0
- package/docs/language-constructs.md +1461 -0
- package/docs/language-design-audit.md +147 -0
- package/docs/maintaining-docs.md +43 -0
- package/docs/packages.md +184 -0
- package/docs/performance.md +535 -0
- package/docs/production-readiness.md +39 -0
- package/docs/reference.md +361 -0
- package/docs/release-review.md +23 -0
- package/docs/releasing.md +79 -0
- package/docs/roadmap.md +13 -0
- package/docs/specifications.md +86 -0
- package/docs/testing.md +120 -0
- package/docs/tooling.md +197 -0
- package/docs/web-implementation-plan.md +39 -0
- package/docs/web-library-gaps.md +27 -0
- package/docs/web.md +197 -0
- package/examples/approved-design/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
- package/examples/approved-design/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
- package/examples/approved-design/.aug-spec/manifest.json +14 -0
- package/examples/approved-design/counters.aug +22 -0
- package/examples/approved-design/counters.aug.md +177 -0
- package/examples/approved-design/domain/app.aug +12 -0
- package/examples/approved-design/domain/app.aug.md +97 -0
- package/examples/approved-design/domain/export.aug +5 -0
- package/examples/approved-design/domain/export.aug.md +25 -0
- package/examples/approved-design/domain/models.aug +2 -0
- package/examples/approved-design/domain/models.aug.md +30 -0
- package/examples/approved-design/domain/numbers.aug +29 -0
- package/examples/approved-design/domain/numbers.aug.md +141 -0
- package/examples/approved-design/main.aug +26 -0
- package/examples/approved-design/main.aug.md +108 -0
- package/examples/approved-design/main.yaml +8 -0
- package/examples/benchmark/.aug-spec/manifest.json +7 -0
- package/examples/benchmark/main.aug +17 -0
- package/examples/benchmark/main.aug.md +43 -0
- package/examples/benchmark/main.yaml +1 -0
- package/examples/cli-args/.aug-spec/manifest.json +7 -0
- package/examples/cli-args/main.aug +15 -0
- package/examples/cli-args/main.aug.md +38 -0
- package/examples/collections/.aug-spec/manifest.json +7 -0
- package/examples/collections/main.aug +18 -0
- package/examples/collections/main.aug.md +43 -0
- package/examples/developer-workflow/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
- package/examples/developer-workflow/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
- package/examples/developer-workflow/.aug-spec/manifest.json +13 -0
- package/examples/developer-workflow/calculator.aug +55 -0
- package/examples/developer-workflow/calculator.aug.md +228 -0
- package/examples/developer-workflow/logging/console.aug +8 -0
- package/examples/developer-workflow/logging/console.aug.md +67 -0
- package/examples/developer-workflow/logging/export.aug +2 -0
- package/examples/developer-workflow/logging/export.aug.md +19 -0
- package/examples/developer-workflow/logging/logger.aug +6 -0
- package/examples/developer-workflow/logging/logger.aug.md +57 -0
- package/examples/developer-workflow/main.aug +25 -0
- package/examples/developer-workflow/main.aug.md +79 -0
- package/examples/drop/.aug-spec/manifest.json +8 -0
- package/examples/drop/main.aug +3 -0
- package/examples/drop/main.aug.md +35 -0
- package/examples/drop/resource.aug +8 -0
- package/examples/drop/resource.aug.md +44 -0
- package/examples/errors/.aug-spec/manifest.json +8 -0
- package/examples/errors/errors.aug +6 -0
- package/examples/errors/errors.aug.md +33 -0
- package/examples/errors/main.aug +7 -0
- package/examples/errors/main.aug.md +36 -0
- package/examples/ffi/.aug-spec/manifest.json +8 -0
- package/examples/ffi/main.aug +2 -0
- package/examples/ffi/main.aug.md +27 -0
- package/examples/ffi/native.aug +6 -0
- package/examples/ffi/native.aug.md +43 -0
- package/examples/generic-di/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
- package/examples/generic-di/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
- package/examples/generic-di/.aug-spec/manifest.json +10 -0
- package/examples/generic-di/main.aug +9 -0
- package/examples/generic-di/main.aug.md +49 -0
- package/examples/generic-di/types.aug +17 -0
- package/examples/generic-di/types.aug.md +124 -0
- package/examples/generics/.aug-spec/manifest.json +8 -0
- package/examples/generics/main.aug +9 -0
- package/examples/generics/main.aug.md +58 -0
- package/examples/generics/types.aug +19 -0
- package/examples/generics/types.aug.md +132 -0
- package/examples/hello/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
- package/examples/hello/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
- package/examples/hello/.aug-spec/manifest.json +14 -0
- package/examples/hello/app/export.aug +1 -0
- package/examples/hello/app/export.aug.md +17 -0
- package/examples/hello/app/greeter.aug +22 -0
- package/examples/hello/app/greeter.aug.md +109 -0
- package/examples/hello/logging/console.aug +7 -0
- package/examples/hello/logging/console.aug.md +65 -0
- package/examples/hello/logging/export.aug +2 -0
- package/examples/hello/logging/export.aug.md +19 -0
- package/examples/hello/logging/logger.aug +9 -0
- package/examples/hello/logging/logger.aug.md +59 -0
- package/examples/hello/main.aug +9 -0
- package/examples/hello/main.aug.md +49 -0
- package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
- package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
- package/examples/interceptors/.aug-spec/manifest.json +12 -0
- package/examples/interceptors/app.aug +28 -0
- package/examples/interceptors/app.aug.md +162 -0
- package/examples/interceptors/interceptors.aug +40 -0
- package/examples/interceptors/interceptors.aug.md +180 -0
- package/examples/interceptors/logging.aug +12 -0
- package/examples/interceptors/logging.aug.md +96 -0
- package/examples/interceptors/main.aug +22 -0
- package/examples/interceptors/main.aug.md +76 -0
- package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
- package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
- package/examples/new-syntax/.aug-spec/manifest.json +13 -0
- package/examples/new-syntax/console.aug +7 -0
- package/examples/new-syntax/console.aug.md +63 -0
- package/examples/new-syntax/greeter.aug +10 -0
- package/examples/new-syntax/greeter.aug.md +89 -0
- package/examples/new-syntax/logger.aug +6 -0
- package/examples/new-syntax/logger.aug.md +57 -0
- package/examples/new-syntax/main.aug +12 -0
- package/examples/new-syntax/main.aug.md +64 -0
- package/examples/new-syntax/math.aug +3 -0
- package/examples/new-syntax/math.aug.md +29 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/contracts.aug +73 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/contracts.aug.md +791 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/jose.aug +68 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/jose.aug.md +266 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/json/contracts.aug +6 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/json/contracts.aug.md +55 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/memory/store.aug +45 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/memory/store.aug.md +250 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/time/contracts.aug +11 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/time/contracts.aug.md +96 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/web/contracts.aug +58 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/web/contracts.aug.md +420 -0
- package/examples/oidc-login/.aug-spec/manifest.json +40 -0
- package/examples/oidc-login/README.md +29 -0
- package/examples/oidc-login/client/contracts.aug +7 -0
- package/examples/oidc-login/client/contracts.aug.md +80 -0
- package/examples/oidc-login/client/endpoints.aug +21 -0
- package/examples/oidc-login/client/endpoints.aug.md +161 -0
- package/examples/oidc-login/client/export.aug +7 -0
- package/examples/oidc-login/client/export.aug.md +29 -0
- package/examples/oidc-login/client/login.aug +58 -0
- package/examples/oidc-login/client/login.aug.md +331 -0
- package/examples/oidc-login/client/logout.aug +18 -0
- package/examples/oidc-login/client/logout.aug.md +150 -0
- package/examples/oidc-login/client/protocol.aug +106 -0
- package/examples/oidc-login/client/protocol.aug.md +326 -0
- package/examples/oidc-login/client/session.aug +34 -0
- package/examples/oidc-login/client/session.aug.md +155 -0
- package/examples/oidc-login/client/views.aug +21 -0
- package/examples/oidc-login/client/views.aug.md +68 -0
- package/examples/oidc-login/common/export.aug +9 -0
- package/examples/oidc-login/common/export.aug.md +33 -0
- package/examples/oidc-login/common/headers.aug +11 -0
- package/examples/oidc-login/common/headers.aug.md +79 -0
- package/examples/oidc-login/common/keys.aug +37 -0
- package/examples/oidc-login/common/keys.aug.md +207 -0
- package/examples/oidc-login/common/settings.aug +4 -0
- package/examples/oidc-login/common/settings.aug.md +47 -0
- package/examples/oidc-login/common/views.aug +16 -0
- package/examples/oidc-login/common/views.aug.md +34 -0
- package/examples/oidc-login/main.aug +39 -0
- package/examples/oidc-login/main.aug.md +166 -0
- package/examples/oidc-login/main.yaml +12 -0
- package/examples/oidc-login/provider/authorization.aug +59 -0
- package/examples/oidc-login/provider/authorization.aug.md +264 -0
- package/examples/oidc-login/provider/contracts.aug +15 -0
- package/examples/oidc-login/provider/contracts.aug.md +193 -0
- package/examples/oidc-login/provider/credentials.aug +10 -0
- package/examples/oidc-login/provider/credentials.aug.md +64 -0
- package/examples/oidc-login/provider/discovery.aug +13 -0
- package/examples/oidc-login/provider/discovery.aug.md +133 -0
- package/examples/oidc-login/provider/export.aug +13 -0
- package/examples/oidc-login/provider/export.aug.md +41 -0
- package/examples/oidc-login/provider/token.aug +37 -0
- package/examples/oidc-login/provider/token.aug.md +223 -0
- package/examples/oidc-login/provider/userinfo.aug +26 -0
- package/examples/oidc-login/provider/userinfo.aug.md +104 -0
- package/examples/oidc-login/provider/views.aug +18 -0
- package/examples/oidc-login/provider/views.aug.md +63 -0
- package/examples/ownership/.aug-spec/manifest.json +8 -0
- package/examples/ownership/counter.aug +14 -0
- package/examples/ownership/counter.aug.md +85 -0
- package/examples/ownership/main.aug +4 -0
- package/examples/ownership/main.aug.md +38 -0
- package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
- package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
- package/examples/ownership-transfer/.aug-spec/manifest.json +10 -0
- package/examples/ownership-transfer/main.aug +9 -0
- package/examples/ownership-transfer/main.aug.md +63 -0
- package/examples/ownership-transfer/resource.aug +16 -0
- package/examples/ownership-transfer/resource.aug.md +89 -0
- package/examples/packages/README.md +15 -0
- package/examples/packages/app/.aug-spec/manifest.json +9 -0
- package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug +9 -0
- package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug.md +63 -0
- package/examples/packages/app/main.aug +2 -0
- package/examples/packages/app/main.aug.md +33 -0
- package/examples/packages/app/main.yaml +2 -0
- package/examples/packages/math/.aug-spec/manifest.json +8 -0
- package/examples/packages/math/README.md +3 -0
- package/examples/packages/math/aug-package.json +8 -0
- package/examples/packages/math/package.json +9 -0
- package/examples/packages/math/src/arithmetic.aug +8 -0
- package/examples/packages/math/src/arithmetic.aug.md +63 -0
- package/examples/packages/math/src/export.aug +1 -0
- package/examples/packages/math/src/export.aug.md +17 -0
- package/examples/visibility/.aug-spec/manifest.json +8 -0
- package/examples/visibility/counter.aug +14 -0
- package/examples/visibility/counter.aug.md +87 -0
- package/examples/visibility/main.aug +7 -0
- package/examples/visibility/main.aug.md +39 -0
- package/package.json +50 -0
- package/runtime/aug_crypto.c +121 -0
- package/runtime/aug_html.c +93 -0
- package/runtime/aug_http.c +829 -0
- package/runtime/aug_json.c +165 -0
- package/runtime/aug_runtime.c +792 -0
- package/runtime/aug_runtime.h +245 -0
- package/runtime/aug_tasks.c +172 -0
- package/runtime/aug_time.c +5 -0
- package/runtime/aug_values.c +80 -0
- package/scripts/bootstrap-native.mjs +121 -0
- package/scripts/native-dependencies.lock.json +65 -0
- package/scripts/native-home.mjs +11 -0
- package/src/actions.js +109 -0
- package/src/ast.js +19 -0
- package/src/builtins.js +93 -0
- package/src/checker.js +2896 -0
- package/src/cli.js +344 -0
- package/src/codegen.js +1159 -0
- package/src/config.js +149 -0
- package/src/continuation.js +110 -0
- package/src/di.js +24 -0
- package/src/documentation.js +27 -0
- package/src/editor.js +782 -0
- package/src/effects.js +29 -0
- package/src/fixes.js +222 -0
- package/src/formatter.js +296 -0
- package/src/freshness.js +154 -0
- package/src/help.js +212 -0
- package/src/html.js +27 -0
- package/src/http-policies.js +90 -0
- package/src/inference.js +16 -0
- package/src/interceptors.js +70 -0
- package/src/javadoc.js +67 -0
- package/src/lexer.js +199 -0
- package/src/libraries.js +31 -0
- package/src/lsp.js +180 -0
- package/src/native.js +144 -0
- package/src/navigation.js +162 -0
- package/src/openapi.js +220 -0
- package/src/ownership.js +232 -0
- package/src/package-manager.js +299 -0
- package/src/parser.js +1155 -0
- package/src/policies.js +130 -0
- package/src/project-init.js +19 -0
- package/src/project.js +292 -0
- package/src/schemas.js +62 -0
- package/src/semantic.js +255 -0
- package/src/spec.js +738 -0
- package/src/testing.js +186 -0
- package/src/types.js +10 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
|
+
|
|
3
|
+
# `export.aug` specification
|
|
4
|
+
|
|
5
|
+
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
6
|
+
|
|
7
|
+
## In this file
|
|
8
|
+
|
|
9
|
+
- Export `Logger` from this folder.
|
|
10
|
+
- Export `ConsoleLogger` from this folder.
|
|
11
|
+
|
|
12
|
+
## Folder exports
|
|
13
|
+
|
|
14
|
+
- Export the declaration `Logger` from [`logger.aug`](logger.aug.md#symbol-Logger).
|
|
15
|
+
- Export the declaration `ConsoleLogger` from [`console.aug`](console.aug.md#symbol-ConsoleLogger).
|
|
16
|
+
|
|
17
|
+
## Shared language rules
|
|
18
|
+
|
|
19
|
+
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
|
+
|
|
3
|
+
# `logger.aug` specification
|
|
4
|
+
|
|
5
|
+
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
6
|
+
|
|
7
|
+
## In this file
|
|
8
|
+
|
|
9
|
+
- [`Logger`](logger.aug.md#symbol-Logger) is an interface.
|
|
10
|
+
|
|
11
|
+
<a id="symbol-Logger"></a>
|
|
12
|
+
|
|
13
|
+
## `Logger`
|
|
14
|
+
|
|
15
|
+
[source](logger.aug#L3)
|
|
16
|
+
|
|
17
|
+
Interface.
|
|
18
|
+
|
|
19
|
+
**Author documentation**
|
|
20
|
+
|
|
21
|
+
Receives a message describing an application operation.
|
|
22
|
+
|
|
23
|
+
<a id="symbol-Logger.log"></a>
|
|
24
|
+
|
|
25
|
+
### `Logger.log`
|
|
26
|
+
|
|
27
|
+
[source](logger.aug#L5)
|
|
28
|
+
|
|
29
|
+
**Inputs**
|
|
30
|
+
|
|
31
|
+
- `console` ([`Console`](../.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console)) — injected; callers omit it.
|
|
32
|
+
- `message` (`string`) — required labeled input.
|
|
33
|
+
|
|
34
|
+
Returns: no value.
|
|
35
|
+
|
|
36
|
+
Capabilities: [`Console.write`](../.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write).
|
|
37
|
+
|
|
38
|
+
Interface contract. A selected implementation supplies the behavior.
|
|
39
|
+
|
|
40
|
+
**Author documentation**
|
|
41
|
+
|
|
42
|
+
**Parameters**
|
|
43
|
+
- `message`: Text to write.
|
|
44
|
+
|
|
45
|
+
## Dependencies used by this file
|
|
46
|
+
|
|
47
|
+
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
48
|
+
|
|
49
|
+
### [`Console`](../.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console)
|
|
50
|
+
|
|
51
|
+
Capability interface from `august.io`.
|
|
52
|
+
|
|
53
|
+
- [`Console.write`](../.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write)<`T`> (`value`: `T`) → `void`.
|
|
54
|
+
|
|
55
|
+
## Shared language rules
|
|
56
|
+
|
|
57
|
+
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import Console and SystemConsole from august.io
|
|
2
|
+
implement Console with SystemConsole
|
|
3
|
+
import Logger and ConsoleLogger from logging
|
|
4
|
+
import Arithmetic and Calculator and load from calculator
|
|
5
|
+
implement Logger with ConsoleLogger
|
|
6
|
+
try {
|
|
7
|
+
List<int> numbers = [1, 2]
|
|
8
|
+
Tuple<int,string> pair = (1, "apple")
|
|
9
|
+
Set<int> unique = {1, 2, 1}
|
|
10
|
+
Map<int,string> fruit = {1: "apples", 2: "pears"}
|
|
11
|
+
calculator = Calculator()
|
|
12
|
+
print(value=calculator.add(right=numbers.get(index=1), left=numbers.get(index=0)))
|
|
13
|
+
print(value=pair.get(index=1))
|
|
14
|
+
print(value=unique.length())
|
|
15
|
+
print(value=fruit.get(key=2))
|
|
16
|
+
try {
|
|
17
|
+
print(value=load(fail=true))
|
|
18
|
+
}
|
|
19
|
+
catch FileError error {
|
|
20
|
+
print(value="load failed as expected")
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
catch IndexError error {
|
|
24
|
+
print(value="unexpected index failure")
|
|
25
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
|
+
|
|
3
|
+
# `main.aug` specification
|
|
4
|
+
|
|
5
|
+
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
6
|
+
|
|
7
|
+
## In this file
|
|
8
|
+
|
|
9
|
+
- Register 2 dependency providers before startup.
|
|
10
|
+
- Run startup operations with checked error recovery.
|
|
11
|
+
|
|
12
|
+
## Dependency providers
|
|
13
|
+
|
|
14
|
+
Register these providers before startup. Their declaration order does not set initialization order; shared instances initialize in dependency order.
|
|
15
|
+
|
|
16
|
+
- Provide [`SystemConsole`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-SystemConsole) when `Console` is requested. Reuse one instance.
|
|
17
|
+
- Provide [`ConsoleLogger`](logging/console.aug.md#symbol-ConsoleLogger) when `Logger` is requested. Reuse one instance.
|
|
18
|
+
|
|
19
|
+
## Startup, in source order
|
|
20
|
+
|
|
21
|
+
- Try these operations:
|
|
22
|
+
- Set `numbers` of type `List<int>` to a list containing `1`, `2`.
|
|
23
|
+
- Set `pair` of type `Tuple<int,string>` to a tuple containing `1`, `"apple"`.
|
|
24
|
+
- Set `unique` of type `Set<int>` to a set containing `1`, `2`, `1`.
|
|
25
|
+
- Set `fruit` of type `Map<int,string>` to a map with `1` mapped to `"apples"`; `2` mapped to `"pears"`.
|
|
26
|
+
- Set `calculator` to call [`Calculator`](calculator.aug.md#symbol-Calculator); inject `_logger` from `Logger`.
|
|
27
|
+
- Call `print` with `value` = call [`Calculator.add`](calculator.aug.md#symbol-Calculator.add) on `calculator` with `right` = call `get` on `numbers` with `index` = `1`; `left` = call `get` on `numbers` with `index` = `0`; inject `console` from `Console`.
|
|
28
|
+
- Call `print` with `value` = call `get` on `pair` with `index` = `1`.
|
|
29
|
+
- Call `print` with `value` = call `length` on `unique`.
|
|
30
|
+
- Call `print` with `value` = call `get` on `fruit` with `key` = `2`.
|
|
31
|
+
- Try these operations:
|
|
32
|
+
- Call `print` with `value` = call [`load`](calculator.aug.md#symbol-load) with `fail` = `true`.
|
|
33
|
+
- If they fail with `FileError`, name the failure `error` and recover:
|
|
34
|
+
- Call `print` with `value` = `"load failed as expected"`.
|
|
35
|
+
- If they fail with `IndexError`, name the failure `error` and recover:
|
|
36
|
+
- Call `print` with `value` = `"unexpected index failure"`.
|
|
37
|
+
|
|
38
|
+
## Dependencies used by this file
|
|
39
|
+
|
|
40
|
+
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
41
|
+
|
|
42
|
+
### [`SystemConsole`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-SystemConsole)
|
|
43
|
+
|
|
44
|
+
Class from `august.io`.
|
|
45
|
+
|
|
46
|
+
Used as a type or provider.
|
|
47
|
+
|
|
48
|
+
### [`Calculator`](calculator.aug.md#symbol-Calculator)
|
|
49
|
+
|
|
50
|
+
Class from `calculator`.
|
|
51
|
+
|
|
52
|
+
- Construct with no caller inputs → [`Calculator`](calculator.aug.md#symbol-Calculator).
|
|
53
|
+
- [`Calculator.add`](calculator.aug.md#symbol-Calculator.add) (`left`: `int`, `right`: `int`) → `int`; inject `console`: [`Console`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console); uses [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write).
|
|
54
|
+
|
|
55
|
+
### [`load`](calculator.aug.md#symbol-load)
|
|
56
|
+
|
|
57
|
+
Function from `calculator`.
|
|
58
|
+
|
|
59
|
+
- [`load`](calculator.aug.md#symbol-load) (`fail`: `bool`) → `string`; can fail with `FileError`.
|
|
60
|
+
|
|
61
|
+
### [`ConsoleLogger`](logging/console.aug.md#symbol-ConsoleLogger)
|
|
62
|
+
|
|
63
|
+
Class from `logging`.
|
|
64
|
+
|
|
65
|
+
Used as a type or provider.
|
|
66
|
+
|
|
67
|
+
## Built-in operations used by this file
|
|
68
|
+
|
|
69
|
+
- `List<int>.get` (`index`: `int`) → `int`: Read a zero-based position. An invalid index raises checked IndexError. Reference results grant reading. Can fail with `IndexError`.
|
|
70
|
+
- `Map<int, string>.get` (`key`: `int`) → `optional string`: Read a value by key; an absent key returns null. contains distinguishes an absent key from a stored null.
|
|
71
|
+
- `Set<int>.length` (no inputs) → `int`: Read the number of elements.
|
|
72
|
+
- `Tuple<int, string>.get` (`index`: `int`) → `string`: Read a statically checked constant position. Prefer tuple destructuring when reading several positions.
|
|
73
|
+
- `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
|
|
74
|
+
|
|
75
|
+
[Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
|
76
|
+
|
|
77
|
+
## Shared language rules
|
|
78
|
+
|
|
79
|
+
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
|
+
|
|
3
|
+
# `main.aug` specification
|
|
4
|
+
|
|
5
|
+
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
6
|
+
|
|
7
|
+
## In this file
|
|
8
|
+
|
|
9
|
+
- Run 2 other startup steps in source order.
|
|
10
|
+
|
|
11
|
+
## Startup, in source order
|
|
12
|
+
|
|
13
|
+
- Set `resource` of type [`Resource`](resource.aug.md#symbol-Resource) to call [`Resource`](resource.aug.md#symbol-Resource).
|
|
14
|
+
- This variable owns the value.
|
|
15
|
+
- Call `print` with `value` = `"using resource"`.
|
|
16
|
+
|
|
17
|
+
## Dependencies used by this file
|
|
18
|
+
|
|
19
|
+
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
20
|
+
|
|
21
|
+
### [`Resource`](resource.aug.md#symbol-Resource)
|
|
22
|
+
|
|
23
|
+
Class from `resource`.
|
|
24
|
+
|
|
25
|
+
- Construct with no caller inputs → [`Resource`](resource.aug.md#symbol-Resource).
|
|
26
|
+
|
|
27
|
+
## Built-in operations used by this file
|
|
28
|
+
|
|
29
|
+
- `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
|
|
30
|
+
|
|
31
|
+
[Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
|
32
|
+
|
|
33
|
+
## Shared language rules
|
|
34
|
+
|
|
35
|
+
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
|
+
|
|
3
|
+
# `resource.aug` specification
|
|
4
|
+
|
|
5
|
+
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
6
|
+
|
|
7
|
+
## In this file
|
|
8
|
+
|
|
9
|
+
- [`Resource`](resource.aug.md#symbol-Resource) is a class implementing `IResource`.
|
|
10
|
+
- [`IResource`](resource.aug.md#symbol-IResource) is an interface.
|
|
11
|
+
|
|
12
|
+
<a id="symbol-Resource"></a>
|
|
13
|
+
|
|
14
|
+
## `Resource`
|
|
15
|
+
|
|
16
|
+
[source](resource.aug#L1)
|
|
17
|
+
|
|
18
|
+
Behavioral class.
|
|
19
|
+
|
|
20
|
+
Satisfies [`IResource`](resource.aug.md#symbol-IResource).
|
|
21
|
+
|
|
22
|
+
<a id="symbol-Resource.drop"></a>
|
|
23
|
+
|
|
24
|
+
### `Resource.drop`
|
|
25
|
+
|
|
26
|
+
[source](resource.aug#L2)
|
|
27
|
+
|
|
28
|
+
Returns: no value.
|
|
29
|
+
|
|
30
|
+
**What it does**
|
|
31
|
+
|
|
32
|
+
- Continue without another operation.
|
|
33
|
+
|
|
34
|
+
<a id="symbol-IResource"></a>
|
|
35
|
+
|
|
36
|
+
## `IResource`
|
|
37
|
+
|
|
38
|
+
[source](resource.aug#L6)
|
|
39
|
+
|
|
40
|
+
Interface.
|
|
41
|
+
|
|
42
|
+
## Shared language rules
|
|
43
|
+
|
|
44
|
+
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
|
+
|
|
3
|
+
# `errors.aug` specification
|
|
4
|
+
|
|
5
|
+
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
6
|
+
|
|
7
|
+
## In this file
|
|
8
|
+
|
|
9
|
+
- [`load`](errors.aug.md#symbol-load) is a function returning `string`.
|
|
10
|
+
|
|
11
|
+
<a id="symbol-load"></a>
|
|
12
|
+
|
|
13
|
+
## `load`
|
|
14
|
+
|
|
15
|
+
[source](errors.aug#L1)
|
|
16
|
+
|
|
17
|
+
**Inputs**
|
|
18
|
+
|
|
19
|
+
- `fail` (`bool`) — required labeled input.
|
|
20
|
+
|
|
21
|
+
Returns: `string`.
|
|
22
|
+
|
|
23
|
+
Can fail with `FileError`. Callers must catch or propagate these errors.
|
|
24
|
+
|
|
25
|
+
**What it does**
|
|
26
|
+
|
|
27
|
+
- If `fail` is true:
|
|
28
|
+
- Fail with call `FileError`. Transfer control to a matching catch or propagate the failure.
|
|
29
|
+
- Return `"loaded"`.
|
|
30
|
+
|
|
31
|
+
## Shared language rules
|
|
32
|
+
|
|
33
|
+
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
|
+
|
|
3
|
+
# `main.aug` specification
|
|
4
|
+
|
|
5
|
+
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
6
|
+
|
|
7
|
+
## In this file
|
|
8
|
+
|
|
9
|
+
- Run startup operations with checked error recovery.
|
|
10
|
+
|
|
11
|
+
## Startup, in source order
|
|
12
|
+
|
|
13
|
+
- Try these operations:
|
|
14
|
+
- Call `print` with `value` = call [`load`](errors.aug.md#symbol-load) with `fail` = `true`.
|
|
15
|
+
- If they fail with `FileError`, name the failure `error` and recover:
|
|
16
|
+
- Call `print` with `value` = `"caught FileError"`.
|
|
17
|
+
|
|
18
|
+
## Dependencies used by this file
|
|
19
|
+
|
|
20
|
+
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
21
|
+
|
|
22
|
+
### [`load`](errors.aug.md#symbol-load)
|
|
23
|
+
|
|
24
|
+
Function from `errors`.
|
|
25
|
+
|
|
26
|
+
- [`load`](errors.aug.md#symbol-load) (`fail`: `bool`) → `string`; can fail with `FileError`.
|
|
27
|
+
|
|
28
|
+
## Built-in operations used by this file
|
|
29
|
+
|
|
30
|
+
- `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
|
|
31
|
+
|
|
32
|
+
[Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
|
33
|
+
|
|
34
|
+
## Shared language rules
|
|
35
|
+
|
|
36
|
+
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
|
+
|
|
3
|
+
# `main.aug` specification
|
|
4
|
+
|
|
5
|
+
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
6
|
+
|
|
7
|
+
## In this file
|
|
8
|
+
|
|
9
|
+
- Run 1 other startup step in source order.
|
|
10
|
+
|
|
11
|
+
## Startup, in source order
|
|
12
|
+
|
|
13
|
+
- Call [`announce`](native.aug.md#symbol-announce).
|
|
14
|
+
|
|
15
|
+
## Dependencies used by this file
|
|
16
|
+
|
|
17
|
+
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
18
|
+
|
|
19
|
+
### [`announce`](native.aug.md#symbol-announce)
|
|
20
|
+
|
|
21
|
+
Function from `native`.
|
|
22
|
+
|
|
23
|
+
- [`announce`](native.aug.md#symbol-announce) (no caller inputs) → `void`; uses `C.puts`.
|
|
24
|
+
|
|
25
|
+
## Shared language rules
|
|
26
|
+
|
|
27
|
+
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
|
+
|
|
3
|
+
# `native.aug` specification
|
|
4
|
+
|
|
5
|
+
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
6
|
+
|
|
7
|
+
## In this file
|
|
8
|
+
|
|
9
|
+
- [`puts`](native.aug.md#symbol-puts) is a function returning `c_int`.
|
|
10
|
+
- [`announce`](native.aug.md#symbol-announce) is a function.
|
|
11
|
+
|
|
12
|
+
<a id="symbol-puts"></a>
|
|
13
|
+
|
|
14
|
+
## `puts`
|
|
15
|
+
|
|
16
|
+
[source](native.aug#L1)
|
|
17
|
+
|
|
18
|
+
**Inputs**
|
|
19
|
+
|
|
20
|
+
- `message` (`string`) — required labeled input.
|
|
21
|
+
|
|
22
|
+
Returns: `c_int`.
|
|
23
|
+
|
|
24
|
+
Native C operation. Its declared inputs, result, effects, and errors are the visible contract. The C implementation is outside this specification.
|
|
25
|
+
|
|
26
|
+
<a id="symbol-announce"></a>
|
|
27
|
+
|
|
28
|
+
## `announce`
|
|
29
|
+
|
|
30
|
+
[source](native.aug#L2)
|
|
31
|
+
|
|
32
|
+
Returns: no value.
|
|
33
|
+
|
|
34
|
+
Capabilities: `C.puts`.
|
|
35
|
+
|
|
36
|
+
**What it does**
|
|
37
|
+
|
|
38
|
+
- Enter an unsafe boundary. Native calls use their declared contracts; their foreign implementation is outside this specification:
|
|
39
|
+
- Call [`puts`](native.aug.md#symbol-puts) with `message` = `"hello from C FFI"`.
|
|
40
|
+
|
|
41
|
+
## Shared language rules
|
|
42
|
+
|
|
43
|
+
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// Generated by aug spec. This is a copy of the installed dependency source.
|
|
2
|
+
/** Permission to write to a console, provided by an explicitly selected adapter. */
|
|
3
|
+
capability Console:
|
|
4
|
+
/** Write one line of text. @param value Text to display. */
|
|
5
|
+
write<T>(T value) uses Console.write
|
|
6
|
+
|
|
7
|
+
/** The native standard-output adapter. Construction performs no output. */
|
|
8
|
+
SystemConsole() implements Console:
|
|
9
|
+
write<T>(T value):
|
|
10
|
+
print(value=value)
|
|
11
|
+
|
|
12
|
+
/** Read UTF-8 text through an explicitly selected filesystem adapter. */
|
|
13
|
+
capability FileReader:
|
|
14
|
+
/** Read text. @param path File path. @throws FileError The file could not be read. */
|
|
15
|
+
read(string path) returns string uses FileReader.read unless FileError
|
|
16
|
+
|
|
17
|
+
/** Write UTF-8 text through an explicitly selected filesystem adapter. */
|
|
18
|
+
capability FileWriter:
|
|
19
|
+
/** Write text. @param path File path. @param content Text. @throws FileError Writing failed. */
|
|
20
|
+
write(string path, string content) uses FileWriter.write unless FileError
|
|
21
|
+
|
|
22
|
+
/** Native files. Operations are explicit; construction opens no files. */
|
|
23
|
+
LocalFiles() implements FileReader, FileWriter:
|
|
24
|
+
read(string path) returns string unless FileError:
|
|
25
|
+
return read_file(path=path)
|
|
26
|
+
write(string path, string content) unless FileError:
|
|
27
|
+
write_file(path=path, content=content)
|
|
28
|
+
|
|
29
|
+
/** Read command-line input through an explicit dependency. */
|
|
30
|
+
capability Arguments:
|
|
31
|
+
read() returns List<string> uses Arguments.read
|
|
32
|
+
|
|
33
|
+
/** Native command-line arguments. */
|
|
34
|
+
ProcessArguments() implements Arguments:
|
|
35
|
+
read() returns List<string>:
|
|
36
|
+
return arguments()
|