@greenpandastudios/aug-cli 0.19.0 → 0.21.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/README.md +9 -6
- package/THIRD_PARTY_NOTICES.md +4 -0
- package/bin/aug.mjs +12 -2
- package/docs/about.md +27 -0
- package/docs/api/crypto.md +103 -69
- package/docs/api/io.md +35 -33
- package/docs/api/json.md +3 -3
- package/docs/api/memory.md +23 -19
- package/docs/api/time.md +10 -9
- package/docs/api/web.md +33 -38
- package/docs/assets/benchmarks/execution.svg +774 -637
- package/docs/assets/benchmarks/http.svg +278 -249
- package/docs/assets/benchmarks/improvements.svg +66 -66
- package/docs/assets/benchmarks/kernels-mobile.svg +1 -0
- package/docs/assets/benchmarks/kernels.svg +1 -0
- package/docs/assets/benchmarks/memory.svg +153 -153
- package/docs/benchmark-results.json +227089 -90363
- package/docs/compatibility.md +8 -8
- package/docs/contributing-benchmarks.md +68 -0
- package/docs/dev-containers.md +88 -0
- package/docs/dgx-consumers.json +122 -0
- package/docs/dgx-gyms.json +784 -0
- package/docs/dgx-kernels.json +1170 -0
- package/docs/dgx-performance.json +227849 -0
- package/docs/dgx-spark.md +64 -0
- package/docs/diagnostics.md +15 -5
- package/docs/docker.md +173 -12
- package/docs/editor.md +35 -0
- package/docs/example-projects.json +238 -24
- package/docs/examples/approved-design/counters.md +34 -126
- package/docs/examples/approved-design/dependencies/august/0.21.0/io/contracts.md +178 -0
- package/docs/examples/approved-design/domain/app.md +13 -77
- package/docs/examples/approved-design/domain/export.md +5 -19
- package/docs/examples/approved-design/domain/models.md +4 -23
- package/docs/examples/approved-design/domain/numbers.md +24 -114
- package/docs/examples/approved-design/index.md +16 -7
- package/docs/examples/approved-design/main.md +19 -96
- package/docs/examples/benchmark/index.md +6 -5
- package/docs/examples/benchmark/main.md +7 -35
- package/docs/examples/calls-benchmark/index.md +36 -0
- package/docs/examples/calls-benchmark/main.md +78 -0
- package/docs/examples/calls-benchmark/operations.md +60 -0
- package/docs/examples/cli-args/index.md +6 -5
- package/docs/examples/cli-args/main.md +6 -31
- package/docs/examples/collections/index.md +6 -5
- package/docs/examples/collections/main.md +7 -35
- package/docs/examples/collections-benchmark/index.md +6 -5
- package/docs/examples/collections-benchmark/main.md +7 -35
- package/docs/examples/cpu-benchmark/index.md +6 -5
- package/docs/examples/cpu-benchmark/main.md +5 -24
- package/docs/examples/developer-workflow/calculator.md +39 -186
- package/docs/examples/developer-workflow/dependencies/august/0.21.0/io/contracts.md +178 -0
- package/docs/examples/developer-workflow/index.md +16 -7
- package/docs/examples/developer-workflow/logging/console.md +10 -56
- package/docs/examples/developer-workflow/logging/export.md +4 -14
- package/docs/examples/developer-workflow/logging/logger.md +7 -43
- package/docs/examples/developer-workflow/main.md +17 -69
- package/docs/examples/drop/index.md +6 -5
- package/docs/examples/drop/main.md +7 -27
- package/docs/examples/drop/resource.md +7 -30
- package/docs/examples/errors/errors.md +7 -27
- package/docs/examples/errors/index.md +6 -5
- package/docs/examples/errors/main.md +7 -28
- package/docs/examples/errors-benchmark/index.md +36 -0
- package/docs/examples/errors-benchmark/main.md +92 -0
- package/docs/examples/errors-benchmark/operations.md +65 -0
- package/docs/examples/ffi/index.md +6 -5
- package/docs/examples/ffi/main.md +6 -20
- package/docs/examples/ffi/native.md +8 -34
- package/docs/examples/float-benchmark/index.md +35 -0
- package/docs/examples/float-benchmark/main.md +75 -0
- package/docs/examples/generic-di/dependencies/august/0.21.0/io/contracts.md +178 -0
- package/docs/examples/generic-di/index.md +6 -5
- package/docs/examples/generic-di/main.md +9 -39
- package/docs/examples/generic-di/types.md +23 -92
- package/docs/examples/generics/index.md +6 -5
- package/docs/examples/generics/main.md +10 -47
- package/docs/examples/generics/types.md +25 -100
- package/docs/examples/hello/app/export.md +4 -12
- package/docs/examples/hello/app/greeter.md +13 -91
- package/docs/examples/hello/dependencies/august/0.21.0/io/contracts.md +178 -0
- package/docs/examples/hello/index.md +17 -6
- package/docs/examples/hello/logging/console.md +10 -54
- package/docs/examples/hello/logging/export.md +4 -14
- package/docs/examples/hello/logging/logger.md +7 -45
- package/docs/examples/hello/main.md +9 -39
- package/docs/examples/http-benchmark/index.md +6 -5
- package/docs/examples/http-benchmark/main.md +6 -20
- package/docs/examples/http-benchmark/routes.md +9 -31
- package/docs/examples/index.md +63 -29
- package/docs/examples/interceptors/app.md +20 -139
- package/docs/examples/interceptors/dependencies/august/0.21.0/io/contracts.md +178 -0
- package/docs/examples/interceptors/index.md +6 -5
- package/docs/examples/interceptors/interceptors.md +24 -148
- package/docs/examples/interceptors/logging.md +13 -76
- package/docs/examples/interceptors/main.md +10 -65
- package/docs/examples/json-benchmark/data.md +4 -20
- package/docs/examples/json-benchmark/dependencies/packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +67 -0
- package/docs/examples/json-benchmark/index.md +7 -5
- package/docs/examples/json-benchmark/main-yaml.md +20 -0
- package/docs/examples/json-benchmark/main.md +10 -49
- package/docs/examples/list-benchmark/index.md +35 -0
- package/docs/examples/list-benchmark/main.md +78 -0
- package/docs/examples/map-churn-benchmark/index.md +35 -0
- package/docs/examples/map-churn-benchmark/main.md +106 -0
- package/docs/examples/native-blake3/dependencies/packages/@greenpandastudios/aug-blake3/0.1.3/api.md +104 -0
- package/docs/examples/native-blake3/dependencies/packages/@greenpandastudios/aug-blake3/0.1.3/contracts.md +54 -0
- package/docs/examples/native-blake3/dependencies/packages/@greenpandastudios/aug-blake3/0.1.3/native.abi-json.md +48 -0
- package/docs/examples/native-blake3/hashing.md +93 -0
- package/docs/examples/native-blake3/index.md +38 -0
- package/docs/examples/native-blake3/main.md +73 -0
- package/docs/examples/native-pytorch/dependencies/packages/@greenpandastudios/aug-pytorch/0.1.4/api.md +406 -0
- package/docs/examples/native-pytorch/dependencies/packages/@greenpandastudios/aug-pytorch/0.1.4/bindings.md +51 -0
- package/docs/examples/native-pytorch/dependencies/packages/@greenpandastudios/aug-pytorch/0.1.4/contracts.md +63 -0
- package/docs/examples/native-pytorch/dependencies/packages/@greenpandastudios/aug-pytorch/0.1.4/native.abi-json.md +161 -0
- package/docs/examples/native-pytorch/index.md +38 -0
- package/docs/examples/native-pytorch/main.md +73 -0
- package/docs/examples/native-pytorch/tensors.md +123 -0
- package/docs/examples/native-sqlite/database.md +116 -0
- package/docs/examples/native-sqlite/dependencies/packages/@greenpandastudios/aug-sqlite/0.1.3/api.md +284 -0
- package/docs/examples/native-sqlite/dependencies/packages/@greenpandastudios/aug-sqlite/0.1.3/bindings.md +51 -0
- package/docs/examples/native-sqlite/dependencies/packages/@greenpandastudios/aug-sqlite/0.1.3/contracts.md +75 -0
- package/docs/examples/native-sqlite/dependencies/packages/@greenpandastudios/aug-sqlite/0.1.3/native.abi-json.md +119 -0
- package/docs/examples/native-sqlite/index.md +38 -0
- package/docs/examples/native-sqlite/main.md +73 -0
- package/docs/examples/native-zlib/compression.md +99 -0
- package/docs/examples/native-zlib/dependencies/packages/@greenpandastudios/aug-zlib/0.1.3/api.md +153 -0
- package/docs/examples/native-zlib/dependencies/packages/@greenpandastudios/aug-zlib/0.1.3/contracts.md +54 -0
- package/docs/examples/native-zlib/dependencies/packages/@greenpandastudios/aug-zlib/0.1.3/native.abi-json.md +76 -0
- package/docs/examples/native-zlib/index.md +38 -0
- package/docs/examples/native-zlib/main.md +78 -0
- package/docs/examples/new-syntax/console.md +10 -52
- package/docs/examples/new-syntax/dependencies/august/0.21.0/io/contracts.md +178 -0
- package/docs/examples/new-syntax/greeter.md +13 -71
- package/docs/examples/new-syntax/index.md +6 -5
- package/docs/examples/new-syntax/logger.md +7 -43
- package/docs/examples/new-syntax/main.md +10 -53
- package/docs/examples/new-syntax/math.md +6 -24
- package/docs/examples/oidc-login/client/contracts.md +10 -61
- package/docs/examples/oidc-login/client/endpoints.md +32 -154
- package/docs/examples/oidc-login/client/export.md +5 -23
- package/docs/examples/oidc-login/client/login.md +234 -344
- package/docs/examples/oidc-login/client/logout.md +38 -143
- package/docs/examples/oidc-login/client/protocol.md +183 -304
- package/docs/examples/oidc-login/client/session.md +41 -149
- package/docs/examples/oidc-login/client/views.md +13 -58
- package/docs/examples/oidc-login/common/export.md +6 -26
- package/docs/examples/oidc-login/common/headers.md +42 -72
- package/docs/examples/oidc-login/common/keys.md +40 -164
- package/docs/examples/oidc-login/common/settings.md +24 -40
- package/docs/examples/oidc-login/common/views.md +7 -28
- package/docs/examples/oidc-login/dependencies/packages/@git/url_0eb7c89453c87681ed15/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/store.md +205 -0
- package/docs/examples/oidc-login/dependencies/packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +67 -0
- package/docs/examples/oidc-login/dependencies/packages/@git/url_897efafd565158fc4908/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +267 -0
- package/docs/examples/oidc-login/dependencies/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/contracts.md +415 -0
- package/docs/examples/oidc-login/dependencies/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/jose.md +271 -0
- package/docs/examples/oidc-login/dependencies/packages/@git/url_c092cd151499c4e1d8a1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +89 -0
- package/docs/examples/oidc-login/index.md +8 -7
- package/docs/examples/oidc-login/main-yaml.md +7 -0
- package/docs/examples/oidc-login/main.md +26 -153
- package/docs/examples/oidc-login/provider/authorization.md +232 -275
- package/docs/examples/oidc-login/provider/contracts.md +24 -146
- package/docs/examples/oidc-login/provider/credentials.md +24 -57
- package/docs/examples/oidc-login/provider/discovery.md +48 -122
- package/docs/examples/oidc-login/provider/export.md +11 -37
- package/docs/examples/oidc-login/provider/token.md +159 -237
- package/docs/examples/oidc-login/provider/userinfo.md +47 -102
- package/docs/examples/oidc-login/provider/views.md +13 -53
- package/docs/examples/ownership/counter.md +17 -63
- package/docs/examples/ownership/index.md +6 -5
- package/docs/examples/ownership/main.md +7 -30
- package/docs/examples/ownership-transfer/dependencies/august/0.21.0/io/contracts.md +178 -0
- package/docs/examples/ownership-transfer/index.md +6 -5
- package/docs/examples/ownership-transfer/main.md +10 -52
- package/docs/examples/ownership-transfer/resource.md +15 -67
- package/docs/examples/packages-app/dependencies/packages/@example/aug-math/0.1.0/arithmetic.md +12 -50
- package/docs/examples/packages-app/index.md +7 -6
- package/docs/examples/packages-app/main.md +7 -25
- package/docs/examples/packages-math/aug-package-json.md +1 -1
- package/docs/examples/packages-math/index.md +7 -6
- package/docs/examples/packages-math/src/arithmetic.md +12 -50
- package/docs/examples/packages-math/src/export.md +4 -12
- package/docs/examples/records-benchmark/data.md +55 -0
- package/docs/examples/records-benchmark/index.md +36 -0
- package/docs/examples/records-benchmark/main.md +85 -0
- package/docs/examples/startup-benchmark/index.md +6 -5
- package/docs/examples/startup-benchmark/main.md +5 -17
- package/docs/examples/strings-benchmark/index.md +35 -0
- package/docs/examples/strings-benchmark/main.md +76 -0
- package/docs/examples/tasks-benchmark/index.md +36 -0
- package/docs/examples/tasks-benchmark/main.md +89 -0
- package/docs/examples/tasks-benchmark/operations.md +58 -0
- package/docs/examples/visibility/counter.md +19 -67
- package/docs/examples/visibility/index.md +6 -5
- package/docs/examples/visibility/main.md +7 -31
- package/docs/examples/weather-api/forecasts.md +168 -0
- package/docs/examples/weather-api/index.md +42 -0
- package/docs/examples/weather-api/main-yaml.md +21 -0
- package/docs/examples/weather-api/main.md +65 -0
- package/docs/examples.json +10 -0
- package/docs/getting-started.md +105 -2
- package/docs/grammar.md +7 -5
- package/docs/guides/change-a-module.md +64 -0
- package/docs/guides/index.md +27 -0
- package/docs/gym-results.json +784 -0
- package/docs/implementation-map.md +6 -0
- package/docs/index.md +51 -29
- package/docs/kernel-results.json +1170 -0
- package/docs/language-conformance.md +7 -1
- package/docs/language-constructs.md +30 -22
- package/docs/language-design-audit.md +1 -1
- package/docs/learn/data-and-errors.md +77 -0
- package/docs/learn/index.md +30 -0
- package/docs/learn/modules-and-dependencies.md +73 -0
- package/docs/learn/state-and-tests.md +71 -0
- package/docs/learn/values-and-functions.md +62 -0
- package/docs/lesson-failures.json +8 -0
- package/docs/maintaining-docs.md +16 -4
- package/docs/native-implementation.md +276 -0
- package/docs/native-interop-llvm-plan.md +342 -0
- package/docs/native-package-examples.md +684 -0
- package/docs/native-packages.md +179 -0
- package/docs/packages.md +72 -126
- package/docs/performance.md +61 -68
- package/docs/production-readiness.md +16 -5
- package/docs/public/downloads/approved-design.zip +0 -0
- package/docs/public/downloads/benchmark.zip +0 -0
- package/docs/public/downloads/calls-benchmark.zip +0 -0
- package/docs/public/downloads/cli-args.zip +0 -0
- package/docs/public/downloads/collections-benchmark.zip +0 -0
- package/docs/public/downloads/collections.zip +0 -0
- package/docs/public/downloads/cpu-benchmark.zip +0 -0
- package/docs/public/downloads/developer-workflow.zip +0 -0
- package/docs/public/downloads/drop.zip +0 -0
- package/docs/public/downloads/errors-benchmark.zip +0 -0
- package/docs/public/downloads/errors.zip +0 -0
- package/docs/public/downloads/ffi.zip +0 -0
- package/docs/public/downloads/float-benchmark.zip +0 -0
- package/docs/public/downloads/generic-di.zip +0 -0
- package/docs/public/downloads/generics.zip +0 -0
- package/docs/public/downloads/hello.zip +0 -0
- package/docs/public/downloads/http-benchmark.zip +0 -0
- package/docs/public/downloads/interceptors.zip +0 -0
- package/docs/public/downloads/json-benchmark.zip +0 -0
- package/docs/public/downloads/list-benchmark.zip +0 -0
- package/docs/public/downloads/map-churn-benchmark.zip +0 -0
- package/docs/public/downloads/native-blake3.zip +0 -0
- package/docs/public/downloads/native-pytorch.zip +0 -0
- package/docs/public/downloads/native-sqlite.zip +0 -0
- package/docs/public/downloads/native-zlib.zip +0 -0
- package/docs/public/downloads/new-syntax.zip +0 -0
- package/docs/public/downloads/oidc-login.zip +0 -0
- package/docs/public/downloads/ownership-transfer.zip +0 -0
- package/docs/public/downloads/ownership.zip +0 -0
- package/docs/public/downloads/packages-app.zip +0 -0
- package/docs/public/downloads/packages-math.zip +0 -0
- package/docs/public/downloads/records-benchmark.zip +0 -0
- package/docs/public/downloads/startup-benchmark.zip +0 -0
- package/docs/public/downloads/strings-benchmark.zip +0 -0
- package/docs/public/downloads/tasks-benchmark.zip +0 -0
- package/docs/public/downloads/visibility.zip +0 -0
- package/docs/public/downloads/weather-api.zip +0 -0
- package/docs/qualification-results.md +66 -0
- package/docs/reference.md +47 -17
- package/docs/releasing.md +105 -16
- package/docs/research/code-to-natural-language.md +108 -0
- package/docs/research/ecosystem-workflow.md +41 -0
- package/docs/research/libtorch-native-qualification.md +115 -0
- package/docs/research/native-interop-llvm.md +197 -0
- package/docs/research/qualification-methods.md +15 -0
- package/docs/research/wiki-editorial-design.md +71 -0
- package/docs/roadmap.md +2 -1
- package/docs/safety-gyms.md +41 -0
- package/docs/specifications.md +27 -11
- package/docs/testing.md +19 -5
- package/docs/tooling.md +36 -22
- package/docs/weather-api.md +65 -0
- package/docs/web-library-gaps.md +1 -1
- package/docs/web.md +54 -18
- package/docs/writing-docs.md +49 -0
- package/examples/{hello/.aug-spec/august/0.19.0 → approved-design/.aug-spec/august/0.21.0}/io/contracts.aug +4 -3
- package/examples/approved-design/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
- package/examples/approved-design/.aug-spec/manifest.json +3 -3
- package/examples/approved-design/counters.aug +5 -4
- package/examples/approved-design/counters.aug.md +25 -132
- package/examples/approved-design/domain/app.aug +2 -1
- package/examples/approved-design/domain/app.aug.md +10 -80
- package/examples/approved-design/domain/export.aug +1 -0
- package/examples/approved-design/domain/export.aug.md +4 -20
- package/examples/approved-design/domain/models.aug +1 -0
- package/examples/approved-design/domain/models.aug.md +3 -25
- package/examples/approved-design/domain/numbers.aug +3 -2
- package/examples/approved-design/domain/numbers.aug.md +19 -116
- package/examples/approved-design/main.aug +1 -0
- package/examples/approved-design/main.aug.md +12 -95
- package/examples/benchmark/.aug-spec/manifest.json +1 -1
- package/examples/benchmark/main.aug +1 -0
- package/examples/benchmark/main.aug.md +6 -36
- package/examples/cli-args/.aug-spec/manifest.json +1 -1
- package/examples/cli-args/main.aug +1 -0
- package/examples/cli-args/main.aug.md +5 -32
- package/examples/collections/.aug-spec/manifest.json +1 -1
- package/examples/collections/main.aug +1 -0
- package/examples/collections/main.aug.md +6 -36
- package/examples/{generic-di/.aug-spec/august/0.19.0 → developer-workflow/.aug-spec/august/0.21.0}/io/contracts.aug +4 -3
- package/examples/developer-workflow/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
- package/examples/developer-workflow/.aug-spec/manifest.json +3 -3
- package/examples/developer-workflow/calculator.aug +3 -2
- package/examples/developer-workflow/calculator.aug.md +28 -189
- package/examples/developer-workflow/logging/console.aug +2 -1
- package/examples/developer-workflow/logging/console.aug.md +7 -57
- package/examples/developer-workflow/logging/export.aug +1 -0
- package/examples/developer-workflow/logging/export.aug.md +3 -15
- package/examples/developer-workflow/logging/logger.aug +1 -0
- package/examples/developer-workflow/logging/logger.aug.md +6 -46
- package/examples/developer-workflow/main.aug +1 -0
- package/examples/developer-workflow/main.aug.md +10 -68
- package/examples/drop/.aug-spec/manifest.json +1 -1
- package/examples/drop/main.aug +1 -0
- package/examples/drop/main.aug.md +6 -28
- package/examples/drop/resource.aug +1 -0
- package/examples/drop/resource.aug.md +6 -34
- package/examples/errors/.aug-spec/manifest.json +1 -1
- package/examples/errors/errors.aug +2 -1
- package/examples/errors/errors.aug.md +4 -27
- package/examples/errors/main.aug +1 -0
- package/examples/errors/main.aug.md +6 -29
- package/examples/ffi/.aug-spec/manifest.json +1 -1
- package/examples/ffi/main.aug +1 -0
- package/examples/ffi/main.aug.md +5 -21
- package/examples/ffi/native.aug +2 -1
- package/examples/ffi/native.aug.md +5 -35
- package/examples/{approved-design/.aug-spec/august/0.19.0 → generic-di/.aug-spec/august/0.21.0}/io/contracts.aug +4 -3
- package/examples/generic-di/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
- package/examples/generic-di/.aug-spec/manifest.json +3 -3
- package/examples/generic-di/main.aug +1 -0
- package/examples/generic-di/main.aug.md +8 -40
- package/examples/generic-di/types.aug +3 -2
- package/examples/generic-di/types.aug.md +18 -97
- package/examples/generics/.aug-spec/manifest.json +1 -1
- package/examples/generics/main.aug +1 -0
- package/examples/generics/main.aug.md +9 -48
- package/examples/generics/types.aug +4 -3
- package/examples/generics/types.aug.md +18 -104
- package/examples/{developer-workflow/.aug-spec/august/0.19.0 → hello/.aug-spec/august/0.21.0}/io/contracts.aug +4 -3
- package/examples/hello/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
- package/examples/hello/.aug-spec/manifest.json +3 -3
- package/examples/hello/app/export.aug +1 -0
- package/examples/hello/app/export.aug.md +3 -13
- package/examples/hello/app/greeter.aug +2 -1
- package/examples/hello/app/greeter.aug.md +10 -94
- package/examples/hello/logging/console.aug +2 -1
- package/examples/hello/logging/console.aug.md +7 -55
- package/examples/hello/logging/export.aug +1 -0
- package/examples/hello/logging/export.aug.md +3 -15
- package/examples/hello/logging/logger.aug +1 -0
- package/examples/hello/logging/logger.aug.md +6 -48
- package/examples/hello/main.aug +1 -0
- package/examples/hello/main.aug.md +8 -40
- package/examples/interceptors/.aug-spec/august/0.21.0/io/contracts.aug +37 -0
- package/examples/interceptors/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
- package/examples/interceptors/.aug-spec/manifest.json +3 -3
- package/examples/interceptors/app.aug +3 -2
- package/examples/interceptors/app.aug.md +15 -141
- package/examples/interceptors/interceptors.aug +3 -2
- package/examples/interceptors/interceptors.aug.md +19 -152
- package/examples/interceptors/logging.aug +2 -1
- package/examples/interceptors/logging.aug.md +10 -79
- package/examples/interceptors/main.aug +1 -0
- package/examples/interceptors/main.aug.md +9 -66
- package/examples/native-blake3/.aug-spec/manifest.json +16 -0
- package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.1/native.abi.json +29 -0
- package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.3/api.aug +14 -0
- package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.3/api.aug.md +34 -0
- package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.3/contracts.aug +4 -0
- package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.3/contracts.aug.md +8 -0
- package/examples/native-blake3/.aug-spec/packages/@greenpandastudios/aug-blake3/0.1.3/native.abi.json +29 -0
- package/examples/native-blake3/AGENTS.md +5 -0
- package/examples/native-blake3/aug.lock.json +253 -0
- package/examples/native-blake3/hashing.aug +11 -0
- package/examples/native-blake3/hashing.aug.md +25 -0
- package/examples/native-blake3/main.aug +8 -0
- package/examples/native-blake3/main.aug.md +13 -0
- package/examples/native-pytorch/.aug-spec/manifest.json +18 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.1/native.abi.json +142 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.3/native.abi.json +142 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/api.aug +101 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/api.aug.md +160 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/bindings.aug +3 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/bindings.aug.md +8 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/contracts.aug +6 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/contracts.aug.md +13 -0
- package/examples/native-pytorch/.aug-spec/packages/@greenpandastudios/aug-pytorch/0.1.4/native.abi.json +142 -0
- package/examples/native-pytorch/AGENTS.md +5 -0
- package/examples/native-pytorch/aug.lock.json +309 -0
- package/examples/native-pytorch/main.aug +8 -0
- package/examples/native-pytorch/main.aug.md +13 -0
- package/examples/native-pytorch/tensors.aug +23 -0
- package/examples/native-pytorch/tensors.aug.md +35 -0
- package/examples/native-sqlite/.aug-spec/manifest.json +18 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.2/native.abi.json +100 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/api.aug +48 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/api.aug.md +91 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/bindings.aug +3 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/bindings.aug.md +8 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/contracts.aug +8 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/contracts.aug.md +22 -0
- package/examples/native-sqlite/.aug-spec/packages/@greenpandastudios/aug-sqlite/0.1.3/native.abi.json +100 -0
- package/examples/native-sqlite/AGENTS.md +5 -0
- package/examples/native-sqlite/aug.lock.json +236 -0
- package/examples/native-sqlite/database.aug +15 -0
- package/examples/native-sqlite/database.aug.md +27 -0
- package/examples/native-sqlite/main.aug +8 -0
- package/examples/native-sqlite/main.aug.md +13 -0
- package/examples/native-zlib/.aug-spec/manifest.json +16 -0
- package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.1/native.abi.json +57 -0
- package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.3/api.aug +29 -0
- package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.3/api.aug.md +54 -0
- package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.3/contracts.aug +4 -0
- package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.3/contracts.aug.md +8 -0
- package/examples/native-zlib/.aug-spec/packages/@greenpandastudios/aug-zlib/0.1.3/native.abi.json +57 -0
- package/examples/native-zlib/AGENTS.md +5 -0
- package/examples/native-zlib/aug.lock.json +236 -0
- package/examples/native-zlib/compression.aug +15 -0
- package/examples/native-zlib/compression.aug.md +27 -0
- package/examples/native-zlib/main.aug +10 -0
- package/examples/native-zlib/main.aug.md +13 -0
- package/examples/new-syntax/.aug-spec/august/0.21.0/io/contracts.aug +37 -0
- package/examples/new-syntax/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
- package/examples/new-syntax/.aug-spec/manifest.json +3 -3
- package/examples/new-syntax/console.aug +2 -1
- package/examples/new-syntax/console.aug.md +7 -53
- package/examples/new-syntax/greeter.aug +2 -1
- package/examples/new-syntax/greeter.aug.md +10 -74
- package/examples/new-syntax/logger.aug +1 -0
- package/examples/new-syntax/logger.aug.md +6 -46
- package/examples/new-syntax/main.aug +1 -0
- package/examples/new-syntax/main.aug.md +9 -54
- package/examples/new-syntax/math.aug +2 -1
- package/examples/new-syntax/math.aug.md +3 -24
- package/examples/oidc-login/.aug-spec/manifest.json +13 -13
- package/examples/oidc-login/.aug-spec/packages/@git/url_0eb7c89453c87681ed15/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/store.aug.md +71 -0
- package/examples/oidc-login/.aug-spec/packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.aug.md +17 -0
- package/examples/oidc-login/.aug-spec/packages/@git/url_897efafd565158fc4908/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.aug.md +125 -0
- package/examples/oidc-login/.aug-spec/{august/0.19.0/crypto → packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40}/contracts.aug +12 -11
- package/examples/oidc-login/.aug-spec/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/contracts.aug.md +244 -0
- package/examples/oidc-login/.aug-spec/{august/0.19.0/crypto → packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40}/jose.aug +6 -5
- package/examples/oidc-login/.aug-spec/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/jose.aug.md +71 -0
- package/examples/oidc-login/.aug-spec/packages/@git/url_c092cd151499c4e1d8a1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.aug.md +30 -0
- package/examples/oidc-login/aug.lock.json +100 -0
- package/examples/oidc-login/client/contracts.aug +1 -0
- package/examples/oidc-login/client/contracts.aug.md +9 -66
- package/examples/oidc-login/client/endpoints.aug +6 -5
- package/examples/oidc-login/client/endpoints.aug.md +13 -145
- package/examples/oidc-login/client/export.aug +1 -0
- package/examples/oidc-login/client/export.aug.md +4 -24
- package/examples/oidc-login/client/login.aug +7 -6
- package/examples/oidc-login/client/login.aug.md +25 -303
- package/examples/oidc-login/client/logout.aug +5 -4
- package/examples/oidc-login/client/logout.aug.md +13 -135
- package/examples/oidc-login/client/protocol.aug +7 -6
- package/examples/oidc-login/client/protocol.aug.md +36 -283
- package/examples/oidc-login/client/session.aug +5 -4
- package/examples/oidc-login/client/session.aug.md +12 -139
- package/examples/oidc-login/client/views.aug +3 -2
- package/examples/oidc-login/client/views.aug.md +8 -57
- package/examples/oidc-login/common/export.aug +1 -0
- package/examples/oidc-login/common/export.aug.md +5 -27
- package/examples/oidc-login/common/headers.aug +4 -3
- package/examples/oidc-login/common/headers.aug.md +9 -67
- package/examples/oidc-login/common/keys.aug +6 -5
- package/examples/oidc-login/common/keys.aug.md +29 -165
- package/examples/oidc-login/common/settings.aug +2 -1
- package/examples/oidc-login/common/settings.aug.md +5 -39
- package/examples/oidc-login/common/views.aug +2 -1
- package/examples/oidc-login/common/views.aug.md +4 -28
- package/examples/oidc-login/main.aug +6 -16
- package/examples/oidc-login/main.aug.md +17 -146
- package/examples/oidc-login/main.yaml +7 -0
- package/examples/oidc-login/provider/authorization.aug +7 -6
- package/examples/oidc-login/provider/authorization.aug.md +23 -238
- package/examples/oidc-login/provider/contracts.aug +1 -0
- package/examples/oidc-login/provider/contracts.aug.md +23 -158
- package/examples/oidc-login/provider/credentials.aug +3 -2
- package/examples/oidc-login/provider/credentials.aug.md +9 -53
- package/examples/oidc-login/provider/discovery.aug +4 -3
- package/examples/oidc-login/provider/discovery.aug.md +11 -118
- package/examples/oidc-login/provider/export.aug +1 -0
- package/examples/oidc-login/provider/export.aug.md +6 -34
- package/examples/oidc-login/provider/token.aug +6 -5
- package/examples/oidc-login/provider/token.aug.md +16 -204
- package/examples/oidc-login/provider/userinfo.aug +4 -3
- package/examples/oidc-login/provider/userinfo.aug.md +10 -92
- package/examples/oidc-login/provider/views.aug +3 -2
- package/examples/oidc-login/provider/views.aug.md +8 -52
- package/examples/ownership/.aug-spec/manifest.json +1 -1
- package/examples/ownership/counter.aug +3 -2
- package/examples/ownership/counter.aug.md +12 -66
- package/examples/ownership/main.aug +1 -0
- package/examples/ownership/main.aug.md +6 -31
- package/examples/ownership-transfer/.aug-spec/august/0.21.0/io/contracts.aug +37 -0
- package/examples/ownership-transfer/.aug-spec/august/0.21.0/io/contracts.aug.md +82 -0
- package/examples/ownership-transfer/.aug-spec/manifest.json +3 -3
- package/examples/ownership-transfer/main.aug +1 -0
- package/examples/ownership-transfer/main.aug.md +9 -53
- package/examples/ownership-transfer/resource.aug +2 -1
- package/examples/ownership-transfer/resource.aug.md +12 -71
- package/examples/packages/app/.aug-spec/manifest.json +1 -1
- package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug +2 -1
- package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug.md +9 -51
- package/examples/packages/app/main.aug +1 -0
- package/examples/packages/app/main.aug.md +6 -26
- package/examples/packages/math/.aug-spec/manifest.json +1 -1
- package/examples/packages/math/aug-package.json +1 -1
- package/examples/packages/math/src/arithmetic.aug +2 -1
- package/examples/packages/math/src/arithmetic.aug.md +9 -51
- package/examples/packages/math/src/export.aug +1 -0
- package/examples/packages/math/src/export.aug.md +3 -13
- package/examples/visibility/.aug-spec/manifest.json +1 -1
- package/examples/visibility/counter.aug +4 -3
- package/examples/visibility/counter.aug.md +12 -68
- package/examples/visibility/main.aug +1 -0
- package/examples/visibility/main.aug.md +6 -32
- package/examples/weather-api/.aug-spec/manifest.json +8 -0
- package/examples/weather-api/AGENTS.md +17 -0
- package/examples/weather-api/README.md +19 -0
- package/examples/weather-api/forecasts.aug +47 -0
- package/examples/weather-api/forecasts.aug.md +32 -0
- package/examples/weather-api/main.aug +4 -0
- package/examples/weather-api/main.aug.md +15 -0
- package/examples/weather-api/main.yaml +5 -0
- package/examples/weather-api/weather.http +5 -0
- package/native/compiler-packs.json +43 -0
- package/package.json +4 -4
- package/runtime/aug_http.c +48 -21
- package/runtime/aug_http_ir.c +30 -0
- package/runtime/aug_http_ir.h +18 -0
- package/runtime/aug_ir.c +209 -0
- package/runtime/aug_ir.h +89 -0
- package/runtime/aug_json.c +6 -1
- package/runtime/aug_runtime.c +82 -16
- package/runtime/aug_runtime.h +16 -2
- package/runtime/aug_tasks.c +38 -7
- package/runtime/aug_values.c +12 -6
- package/scripts/bootstrap-native.mjs +184 -106
- package/scripts/native-setup.mjs +98 -0
- package/scripts/native-toolchain.mjs +28 -0
- package/src/ast.js +1 -1
- package/src/builtins.js +1 -1
- package/src/checker.js +369 -100
- package/src/cli.js +198 -26
- package/src/codegen.js +32 -7
- package/src/compiler-packs.js +66 -0
- package/src/config.js +3 -3
- package/src/contracts.js +10 -0
- package/src/editor.js +86 -22
- package/src/fixes.js +90 -2
- package/src/formatter.js +23 -10
- package/src/git-http.js +137 -0
- package/src/git-packages.js +118 -0
- package/src/help.js +33 -24
- package/src/http-contracts.js +14 -0
- package/src/http-policies.js +5 -5
- package/src/ir-types.js +5 -0
- package/src/ir-verify.js +277 -0
- package/src/ir.js +962 -0
- package/src/libraries.js +1 -1
- package/src/llvm-debug.js +101 -0
- package/src/llvm-native.js +152 -0
- package/src/llvm-platform.js +20 -0
- package/src/llvm.js +781 -0
- package/src/lsp.js +14 -5
- package/src/native-artifacts.js +207 -0
- package/src/native-bindings.js +189 -0
- package/src/native-contracts.js +295 -0
- package/src/native-declarations.js +68 -0
- package/src/native-facts.js +63 -0
- package/src/native.js +19 -13
- package/src/navigation.js +4 -2
- package/src/openapi.js +5 -4
- package/src/package-locking.js +88 -0
- package/src/package-manager.js +267 -68
- package/src/parser.js +32 -6
- package/src/policies.js +3 -3
- package/src/project-init.js +78 -4
- package/src/project.js +11 -9
- package/src/runtime-abi.js +23 -0
- package/src/runtime-adapters.js +18 -0
- package/src/schemas.js +24 -17
- package/src/semantic.js +54 -5
- package/src/snippets.js +60 -0
- package/src/spec-hints.js +56 -0
- package/src/spec-tree.js +241 -0
- package/src/spec.js +669 -305
- package/docs/examples/approved-design/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/developer-workflow/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/generic-di/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/hello/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/interceptors/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/json-benchmark/dependencies/august/0.19.0/json/contracts.md +0 -103
- package/docs/examples/new-syntax/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/contracts.md +0 -925
- package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/jose.md +0 -434
- package/docs/examples/oidc-login/dependencies/august/0.19.0/json/contracts.md +0 -103
- package/docs/examples/oidc-login/dependencies/august/0.19.0/memory/store.md +0 -374
- package/docs/examples/oidc-login/dependencies/august/0.19.0/time/contracts.md +0 -150
- package/docs/examples/oidc-login/dependencies/august/0.19.0/web/contracts.md +0 -532
- package/docs/examples/ownership-transfer/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/examples/approved-design/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/developer-workflow/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/generic-di/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/hello/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug +0 -36
- package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug +0 -36
- package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/contracts.aug.md +0 -791
- package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/jose.aug.md +0 -266
- package/examples/oidc-login/.aug-spec/august/0.19.0/json/contracts.aug.md +0 -55
- package/examples/oidc-login/.aug-spec/august/0.19.0/memory/store.aug.md +0 -250
- package/examples/oidc-login/.aug-spec/august/0.19.0/time/contracts.aug.md +0 -96
- package/examples/oidc-login/.aug-spec/august/0.19.0/web/contracts.aug.md +0 -420
- package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug +0 -36
- package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- /package/examples/oidc-login/.aug-spec/{august/0.19.0/memory → packages/@git/url_0eb7c89453c87681ed15/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301}/store.aug +0 -0
- /package/examples/oidc-login/.aug-spec/{august/0.19.0/json → packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301}/contracts.aug +0 -0
- /package/examples/oidc-login/.aug-spec/{august/0.19.0/web → packages/@git/url_897efafd565158fc4908/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301}/contracts.aug +0 -0
- /package/examples/oidc-login/.aug-spec/{august/0.19.0/time → packages/@git/url_c092cd151499c4e1d8a1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301}/contracts.aug +0 -0
|
@@ -1,228 +1,67 @@
|
|
|
1
1
|
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
2
|
|
|
3
|
-
# `calculator.aug`
|
|
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
|
-
- [`Arithmetic`](calculator.aug.md#symbol-Arithmetic) is an interface.
|
|
10
|
-
- [`Calculator`](calculator.aug.md#symbol-Calculator) is a class implementing `Arithmetic`.
|
|
11
|
-
- [`load`](calculator.aug.md#symbol-load) is a function returning `string`.
|
|
12
|
-
- [`_SilentLogger`](calculator.aug.md#symbol-_SilentLogger) is a class implementing `Logger`.
|
|
13
|
-
- [`test Calculator calculator`](calculator.aug.md#symbol-test%20Calculator%20calculator) is a same-file test suite.
|
|
3
|
+
# `calculator.aug`
|
|
14
4
|
|
|
15
5
|
<a id="symbol-Arithmetic"></a>
|
|
16
|
-
|
|
17
|
-
## `Arithmetic`
|
|
18
|
-
|
|
19
|
-
[source](calculator.aug#L4)
|
|
20
|
-
|
|
21
|
-
Interface.
|
|
22
|
-
|
|
23
|
-
**Author documentation**
|
|
6
|
+
## `Arithmetic` · interface · [source](calculator.aug#L5)
|
|
24
7
|
|
|
25
8
|
Adds two integers.
|
|
26
9
|
|
|
27
10
|
<a id="symbol-Arithmetic.add"></a>
|
|
11
|
+
### `Arithmetic.add` · [source](calculator.aug#L6)
|
|
28
12
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
[source](calculator.aug#L5)
|
|
32
|
-
|
|
33
|
-
**Inputs**
|
|
34
|
-
|
|
35
|
-
- `console` ([`Console`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console)) — injected; callers omit it.
|
|
36
|
-
- `left` (`int`) — required labeled input.
|
|
37
|
-
- `right` (`int`) — required labeled input.
|
|
38
|
-
|
|
39
|
-
Returns: `int`.
|
|
40
|
-
|
|
41
|
-
Capabilities: [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write).
|
|
42
|
-
|
|
43
|
-
Interface contract. A selected implementation supplies the behavior.
|
|
13
|
+
It takes `left` and `right` as integers. It gets `console` ([`Console`](.aug-spec/august/0.21.0/io/contracts.aug.md#symbol-Console)) from dependency injection. It returns `int`. It can call [`Console.write`](.aug-spec/august/0.21.0/io/contracts.aug.md#symbol-Console.write).
|
|
44
14
|
|
|
45
15
|
<a id="symbol-Calculator"></a>
|
|
16
|
+
## `Calculator` · class · [source](calculator.aug#L9)
|
|
46
17
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
[source](calculator.aug#L8)
|
|
50
|
-
|
|
51
|
-
Behavioral class.
|
|
52
|
-
|
|
53
|
-
Satisfies [`Arithmetic`](calculator.aug.md#symbol-Arithmetic).
|
|
54
|
-
|
|
55
|
-
**Author documentation**
|
|
56
|
-
|
|
57
|
-
Uses the selected logger to describe each addition.
|
|
58
|
-
|
|
59
|
-
**Inputs**
|
|
60
|
-
|
|
61
|
-
- `logger` ([`Logger`](logging/logger.aug.md#symbol-Logger)) — injected; callers omit it — stored as `_logger` (private) and read-only after initialization.
|
|
18
|
+
Uses the selected logger to describe each addition. It implements [`Arithmetic`](calculator.aug.md#symbol-Arithmetic). The `_logger` dependency is injected as [`Logger`](logging/logger.aug.md#symbol-Logger) and stored read-only and privately.
|
|
62
19
|
|
|
63
20
|
<a id="symbol-Calculator.add"></a>
|
|
21
|
+
### `Calculator.add` · [source](calculator.aug#L16)
|
|
64
22
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
[source](calculator.aug#L15)
|
|
68
|
-
|
|
69
|
-
**Inputs**
|
|
70
|
-
|
|
71
|
-
- `console` ([`Console`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console)) — injected; callers omit it.
|
|
72
|
-
- `left` (`int`) — required labeled input.
|
|
73
|
-
- `right` (`int`) — required labeled input.
|
|
74
|
-
|
|
75
|
-
Returns: `int`.
|
|
76
|
-
|
|
77
|
-
Capabilities: [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write).
|
|
78
|
-
|
|
79
|
-
**What it does**
|
|
80
|
-
|
|
81
|
-
- Call [`Logger.log`](logging/logger.aug.md#symbol-Logger.log) on `_logger` with `message` = `"adding integers"`; inject `console` from `console`.
|
|
82
|
-
- Return `left` plus `right`.
|
|
23
|
+
Adds left and right, logging the operation. It takes `left` as an integer (First integer) and `right` as an integer (Second integer). It gets `console` ([`Console`](.aug-spec/august/0.21.0/io/contracts.aug.md#symbol-Console)) from dependency injection. It returns `int` — Sum of the two integers.
|
|
83
24
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
Adds left and right, logging the operation.
|
|
87
|
-
|
|
88
|
-
**Returns** Sum of the two integers.
|
|
89
|
-
|
|
90
|
-
**Parameters**
|
|
91
|
-
- `left`: First integer.
|
|
92
|
-
- `right`: Second integer.
|
|
25
|
+
It passes `"adding integers"` to [`_logger.log`](logging/logger.aug.md#symbol-Logger.log), using injected `console`. It returns `left` plus `right`.
|
|
93
26
|
|
|
94
27
|
<a id="symbol-load"></a>
|
|
28
|
+
## `load` · [source](calculator.aug#L26)
|
|
95
29
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
[source](calculator.aug#L25)
|
|
99
|
-
|
|
100
|
-
**Inputs**
|
|
101
|
-
|
|
102
|
-
- `fail` (`bool`) — required labeled input.
|
|
103
|
-
|
|
104
|
-
Returns: `string`.
|
|
105
|
-
|
|
106
|
-
Can fail with `FileError`. Callers must catch or propagate these errors.
|
|
107
|
-
|
|
108
|
-
**What it does**
|
|
30
|
+
Demonstrates a checked failure instead of a successful result. It takes `fail` as a boolean (Whether to simulate a failed load). Failures can raise `FileError` (when fail is true).
|
|
109
31
|
|
|
110
|
-
|
|
111
|
-
- Fail with call `FileError`. Transfer control to a matching catch or propagate the failure.
|
|
112
|
-
- Return `"loaded"`.
|
|
113
|
-
|
|
114
|
-
**Author documentation**
|
|
115
|
-
|
|
116
|
-
Demonstrates a checked failure instead of a successful result.
|
|
117
|
-
|
|
118
|
-
**Parameters**
|
|
119
|
-
- `fail`: Whether to simulate a failed load.
|
|
120
|
-
|
|
121
|
-
**Throws**
|
|
122
|
-
- `FileError`: When fail is true.
|
|
32
|
+
It checks that `fail` is false. It raises a `FileError` at the first failed check. It returns `"loaded"`.
|
|
123
33
|
|
|
124
34
|
<a id="symbol-_SilentLogger"></a>
|
|
35
|
+
## `_SilentLogger` · class · [source](calculator.aug#L33)
|
|
125
36
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
[source](calculator.aug#L32)
|
|
129
|
-
|
|
130
|
-
Behavioral class, private to this file.
|
|
131
|
-
|
|
132
|
-
Satisfies [`Logger`](logging/logger.aug.md#symbol-Logger).
|
|
133
|
-
|
|
134
|
-
**Author documentation**
|
|
135
|
-
|
|
136
|
-
Test adapter: keeps calculator tests independent of console output.
|
|
37
|
+
Test adapter: keeps calculator tests independent of console output. It implements [`Logger`](logging/logger.aug.md#symbol-Logger). It is private to this file.
|
|
137
38
|
|
|
138
39
|
<a id="symbol-_SilentLogger.log"></a>
|
|
40
|
+
### `_SilentLogger.log` · [source](calculator.aug#L34)
|
|
139
41
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
[source](calculator.aug#L33)
|
|
143
|
-
|
|
144
|
-
**Inputs**
|
|
145
|
-
|
|
146
|
-
- `console` ([`Console`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console)) — injected; callers omit it.
|
|
147
|
-
- `message` (`string`) — required labeled input.
|
|
148
|
-
|
|
149
|
-
Returns: no value.
|
|
150
|
-
|
|
151
|
-
Capabilities: [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write).
|
|
152
|
-
|
|
153
|
-
**What it does**
|
|
154
|
-
|
|
155
|
-
- Continue without another operation.
|
|
156
|
-
|
|
157
|
-
**Author documentation**
|
|
158
|
-
|
|
159
|
-
**Parameters**
|
|
160
|
-
- `message`: Text to write.
|
|
42
|
+
It takes `message` as a string (Text to write). It gets `console` ([`Console`](.aug-spec/august/0.21.0/io/contracts.aug.md#symbol-Console)) from dependency injection. It continues without an operation.
|
|
161
43
|
|
|
162
44
|
<a id="symbol-test Calculator calculator"></a>
|
|
45
|
+
## `test Calculator calculator` · [source](calculator.aug#L38)
|
|
163
46
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
[source](calculator.aug#L37)
|
|
167
|
-
|
|
168
|
-
Same-file class tests for [`Calculator`](calculator.aug.md#symbol-Calculator). Each case gets isolated setup and dependency bindings.
|
|
169
|
-
|
|
170
|
-
### Group `addition`
|
|
171
|
-
|
|
172
|
-
**Setup before each case**
|
|
173
|
-
|
|
174
|
-
- Provide [`SystemConsole`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-SystemConsole) when `Console` is requested. Use a fresh instance when this provider retains state; otherwise reuse one instance.
|
|
175
|
-
- Provide [`_SilentLogger`](calculator.aug.md#symbol-_SilentLogger) when `Logger` is requested. Use a fresh instance when this provider retains state; otherwise reuse one instance.
|
|
176
|
-
- Set `calculator` to call [`Calculator`](calculator.aug.md#symbol-Calculator); inject `_logger` from `Logger`.
|
|
177
|
-
- Set `values` of type `List<int>` to a list containing `1`, `2`.
|
|
178
|
-
|
|
179
|
-
#### `adds labeled inputs`
|
|
180
|
-
|
|
181
|
-
[source](calculator.aug#L43)
|
|
182
|
-
|
|
183
|
-
- Call `assert` with (call [`Calculator.add`](calculator.aug.md#symbol-Calculator.add) on `calculator` with `right` = `2`; `left` = `1`; inject `console` from `Console` equals `3`).
|
|
184
|
-
- Grant exclusive mutable access to `values` for this block, then end the borrow:
|
|
185
|
-
- Call `append` on `values` with `value` = `3`.
|
|
186
|
-
- Call `assert` with (call `length` on `values` equals `3`).
|
|
187
|
-
|
|
188
|
-
#### `starts with fresh setup`
|
|
189
|
-
|
|
190
|
-
[source](calculator.aug#L50)
|
|
191
|
-
|
|
192
|
-
- Call `assert` with (call `length` on `values` equals `2`).
|
|
193
|
-
- Call `assert` with (call [`Calculator.add`](calculator.aug.md#symbol-Calculator.add) on `calculator` with `left` = call `get` on `values` with `index` = `0`; `right` = call `get` on `values` with `index` = `1`; inject `console` from `Console` equals `3`).
|
|
194
|
-
|
|
195
|
-
## Dependencies used by this file
|
|
196
|
-
|
|
197
|
-
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
198
|
-
|
|
199
|
-
### [`Console`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console)
|
|
200
|
-
|
|
201
|
-
Capability interface from `august.io`.
|
|
202
|
-
|
|
203
|
-
- [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write)<`T`> (`value`: `T`) → `void`.
|
|
204
|
-
|
|
205
|
-
### [`SystemConsole`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-SystemConsole)
|
|
47
|
+
Tests [`Calculator`](calculator.aug.md#symbol-Calculator). Each case gets fresh setup and dependencies.
|
|
206
48
|
|
|
207
|
-
|
|
49
|
+
### `addition`
|
|
208
50
|
|
|
209
|
-
|
|
51
|
+
Setup for each case: `Console` is provided by [`SystemConsole`](.aug-spec/august/0.21.0/io/contracts.aug.md#symbol-SystemConsole). Stateless instances are reused; stateful instances are created for each resolve. `Logger` is provided by [`_SilentLogger`](calculator.aug.md#symbol-_SilentLogger). Stateless instances are reused; stateful instances are created for each resolve.
|
|
210
52
|
|
|
211
|
-
|
|
53
|
+
It sets `calculator` to a [`Calculator`](calculator.aug.md#symbol-Calculator) using injected `Logger` for `_logger`. It sets `values` of type `List<int>` to a list containing `1`, `2`.
|
|
212
54
|
|
|
213
|
-
|
|
55
|
+
#### `adds labeled inputs` · [source](calculator.aug#L44)
|
|
214
56
|
|
|
215
|
-
|
|
57
|
+
The test requires [`calculator.add`](calculator.aug.md#symbol-Calculator.add) with `right` `2` and `left` `1` using injected `Console` for `console` equals `3`. With temporary permission to change `values`, it appends `3` to `values`. The test requires the number of elements in `values` equals `3`.
|
|
216
58
|
|
|
217
|
-
|
|
59
|
+
#### `starts with fresh setup` · [source](calculator.aug#L51)
|
|
218
60
|
|
|
219
|
-
|
|
220
|
-
- `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`.
|
|
221
|
-
- `List<int>.length` (no inputs) → `int`: Read the number of elements.
|
|
222
|
-
- `assert` (`condition`: `bool`) → `void`: Assert a bool in a test case or its setup. Catching an assertion failure cannot make the case pass; every case must execute an assertion.
|
|
61
|
+
The test requires the number of elements in `values` equals `2`. The test requires [`calculator.add`](calculator.aug.md#symbol-Calculator.add) with `left` from the item at index `0` in `values` and `right` from the item at index `1` in `values` using injected `Console` for `console` equals `3`.
|
|
223
62
|
|
|
224
|
-
|
|
63
|
+
## Dependencies
|
|
225
64
|
|
|
226
|
-
|
|
65
|
+
It uses [`Console`](.aug-spec/august/0.21.0/io/contracts.aug.md#symbol-Console) ([`write`](.aug-spec/august/0.21.0/io/contracts.aug.md#symbol-Console.write)) and [`SystemConsole`](.aug-spec/august/0.21.0/io/contracts.aug.md#symbol-SystemConsole) from `august.io`. It uses [`Logger`](logging/logger.aug.md#symbol-Logger) ([`log`](logging/logger.aug.md#symbol-Logger.log)) from `logging`.
|
|
227
66
|
|
|
228
|
-
|
|
67
|
+
Built-in operations follow the [language reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
// aug-spec: "console.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
1
2
|
import Console from august.io
|
|
2
3
|
import Logger from logger
|
|
3
4
|
/** Writes application messages to standard output. */
|
|
4
5
|
ConsoleLogger() implements Logger {
|
|
5
|
-
log(resolve Console console, string message)
|
|
6
|
+
log(resolve Console console, string message) {
|
|
6
7
|
console.write(value=message)
|
|
7
8
|
}
|
|
8
9
|
}
|
|
@@ -1,67 +1,17 @@
|
|
|
1
1
|
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
2
|
|
|
3
|
-
# `console.aug`
|
|
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
|
-
- [`ConsoleLogger`](console.aug.md#symbol-ConsoleLogger) is a class implementing `Logger`.
|
|
3
|
+
# `console.aug`
|
|
10
4
|
|
|
11
5
|
<a id="symbol-ConsoleLogger"></a>
|
|
6
|
+
## `ConsoleLogger` · class · [source](console.aug#L5)
|
|
12
7
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
[source](console.aug#L4)
|
|
16
|
-
|
|
17
|
-
Behavioral class.
|
|
18
|
-
|
|
19
|
-
Satisfies [`Logger`](logger.aug.md#symbol-Logger).
|
|
20
|
-
|
|
21
|
-
**Author documentation**
|
|
22
|
-
|
|
23
|
-
Writes application messages to standard output.
|
|
8
|
+
Writes application messages to standard output. It implements [`Logger`](logger.aug.md#symbol-Logger).
|
|
24
9
|
|
|
25
10
|
<a id="symbol-ConsoleLogger.log"></a>
|
|
11
|
+
### `ConsoleLogger.log` · [source](console.aug#L6)
|
|
26
12
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
[source](console.aug#L5)
|
|
30
|
-
|
|
31
|
-
**Inputs**
|
|
32
|
-
|
|
33
|
-
- `console` ([`Console`](../.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console)) — injected; callers omit it.
|
|
34
|
-
- `message` (`string`) — required labeled input.
|
|
35
|
-
|
|
36
|
-
Returns: no value.
|
|
37
|
-
|
|
38
|
-
Capabilities: [`Console.write`](../.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write).
|
|
39
|
-
|
|
40
|
-
**What it does**
|
|
41
|
-
|
|
42
|
-
- Call [`Console.write`](../.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write) on `console` with `value` = `message`.
|
|
43
|
-
|
|
44
|
-
**Author documentation**
|
|
45
|
-
|
|
46
|
-
**Parameters**
|
|
47
|
-
- `message`: Text to write.
|
|
48
|
-
|
|
49
|
-
## Dependencies used by this file
|
|
50
|
-
|
|
51
|
-
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
52
|
-
|
|
53
|
-
### [`Console`](../.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console)
|
|
54
|
-
|
|
55
|
-
Capability interface from `august.io`.
|
|
56
|
-
|
|
57
|
-
- [`Console.write`](../.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write)<`T`> (`value`: `T`) → `void`.
|
|
58
|
-
|
|
59
|
-
### [`Logger`](logger.aug.md#symbol-Logger)
|
|
60
|
-
|
|
61
|
-
Interface from `logger`.
|
|
62
|
-
|
|
63
|
-
Used as a type or provider.
|
|
13
|
+
It takes `message` as a string (Text to write). It gets `console` ([`Console`](../.aug-spec/august/0.21.0/io/contracts.aug.md#symbol-Console)) from dependency injection. It passes `message` to [`console.write`](../.aug-spec/august/0.21.0/io/contracts.aug.md#symbol-Console.write).
|
|
64
14
|
|
|
65
|
-
##
|
|
15
|
+
## Dependencies
|
|
66
16
|
|
|
67
|
-
|
|
17
|
+
It uses [`Console`](../.aug-spec/august/0.21.0/io/contracts.aug.md#symbol-Console) ([`write`](../.aug-spec/august/0.21.0/io/contracts.aug.md#symbol-Console.write)) from `august.io`. It uses [`Logger`](logger.aug.md#symbol-Logger) from `logger`.
|
|
@@ -1,19 +1,7 @@
|
|
|
1
1
|
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
2
|
|
|
3
|
-
# `export.aug`
|
|
3
|
+
# `export.aug`
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Exports
|
|
6
6
|
|
|
7
|
-
|
|
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.
|
|
7
|
+
Export the declaration `Logger` from [`logger.aug`](logger.aug.md#symbol-Logger). Export the declaration `ConsoleLogger` from [`console.aug`](console.aug.md#symbol-ConsoleLogger).
|
|
@@ -1,57 +1,17 @@
|
|
|
1
1
|
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
2
|
|
|
3
|
-
# `logger.aug`
|
|
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.
|
|
3
|
+
# `logger.aug`
|
|
10
4
|
|
|
11
5
|
<a id="symbol-Logger"></a>
|
|
12
|
-
|
|
13
|
-
## `Logger`
|
|
14
|
-
|
|
15
|
-
[source](logger.aug#L3)
|
|
16
|
-
|
|
17
|
-
Interface.
|
|
18
|
-
|
|
19
|
-
**Author documentation**
|
|
6
|
+
## `Logger` · interface · [source](logger.aug#L4)
|
|
20
7
|
|
|
21
8
|
Receives a message describing an application operation.
|
|
22
9
|
|
|
23
10
|
<a id="symbol-Logger.log"></a>
|
|
11
|
+
### `Logger.log` · [source](logger.aug#L6)
|
|
24
12
|
|
|
25
|
-
|
|
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`.
|
|
13
|
+
It takes `message` as a string (Text to write). It gets `console` ([`Console`](../.aug-spec/august/0.21.0/io/contracts.aug.md#symbol-Console)) from dependency injection. It can call [`Console.write`](../.aug-spec/august/0.21.0/io/contracts.aug.md#symbol-Console.write).
|
|
54
14
|
|
|
55
|
-
##
|
|
15
|
+
## Dependencies
|
|
56
16
|
|
|
57
|
-
|
|
17
|
+
It uses [`Console`](../.aug-spec/august/0.21.0/io/contracts.aug.md#symbol-Console) ([`write`](../.aug-spec/august/0.21.0/io/contracts.aug.md#symbol-Console.write)) from `august.io`.
|
|
@@ -1,79 +1,21 @@
|
|
|
1
1
|
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
2
|
|
|
3
|
-
# `main.aug`
|
|
3
|
+
# `main.aug`
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Providers
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
`Console` is provided by [`SystemConsole`](.aug-spec/august/0.21.0/io/contracts.aug.md#symbol-SystemConsole). The same instance is shared. `Logger` is provided by [`ConsoleLogger`](logging/console.aug.md#symbol-ConsoleLogger). The same instance is shared.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
- Run startup operations with checked error recovery.
|
|
9
|
+
## Startup
|
|
11
10
|
|
|
12
|
-
|
|
11
|
+
It sets `numbers` of type `List<int>` to a list containing `1`, `2`. It sets `pair` of type `Tuple<int,string>` to a tuple containing `1`, `"apple"`. It sets `unique` of type `Set<int>` to a set containing `1`, `2`, `1`. It sets `fruit` of type `Map<int,string>` to a map with `1` mapped to `"apples"`; `2` mapped to `"pears"`.
|
|
13
12
|
|
|
14
|
-
|
|
13
|
+
It sets `calculator` to a [`Calculator`](calculator.aug.md#symbol-Calculator) using injected `Logger` for `_logger`. It prints [`calculator.add`](calculator.aug.md#symbol-Calculator.add) with `right` from the item at index `1` in `numbers` and `left` from the item at index `0` in `numbers` using injected `Console` for `console`. It prints `pair.get` with `index` `1`. It prints the number of elements in `unique`.
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
- Provide [`ConsoleLogger`](logging/console.aug.md#symbol-ConsoleLogger) when `Logger` is requested. Reuse one instance.
|
|
15
|
+
It prints the value under `2` in `fruit`. It prints [`load`](calculator.aug.md#symbol-load) with `fail` `true`. If this work raises `FileError`, it prints `"load failed as expected"`. If this work raises `IndexError`, it prints `"unexpected index failure"`.
|
|
18
16
|
|
|
19
|
-
##
|
|
17
|
+
## Dependencies
|
|
20
18
|
|
|
21
|
-
-
|
|
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"`.
|
|
19
|
+
It uses [`SystemConsole`](.aug-spec/august/0.21.0/io/contracts.aug.md#symbol-SystemConsole) from `august.io`. It uses [`Calculator`](calculator.aug.md#symbol-Calculator) ([`add`](calculator.aug.md#symbol-Calculator.add)) and [`load`](calculator.aug.md#symbol-load) from `calculator`. It uses [`ConsoleLogger`](logging/console.aug.md#symbol-ConsoleLogger) from `logging`.
|
|
37
20
|
|
|
38
|
-
|
|
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.
|
|
21
|
+
Built-in operations follow the [language reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
package/examples/drop/main.aug
CHANGED
|
@@ -1,35 +1,13 @@
|
|
|
1
1
|
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
2
|
|
|
3
|
-
# `main.aug`
|
|
3
|
+
# `main.aug`
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Startup
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
It sets `resource` of type [`Resource`](resource.aug.md#symbol-Resource) to a [`Resource`](resource.aug.md#symbol-Resource). `resource` of type [`Resource`](resource.aug.md#symbol-Resource) owns this value. It prints `"using resource"`.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
## Dependencies
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
It uses [`Resource`](resource.aug.md#symbol-Resource) from `resource`.
|
|
12
12
|
|
|
13
|
-
-
|
|
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.
|
|
13
|
+
Built-in operations follow the [language reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
|
@@ -1,44 +1,16 @@
|
|
|
1
1
|
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
2
|
|
|
3
|
-
# `resource.aug`
|
|
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.
|
|
3
|
+
# `resource.aug`
|
|
11
4
|
|
|
12
5
|
<a id="symbol-Resource"></a>
|
|
6
|
+
## `Resource` · class · [source](resource.aug#L2)
|
|
13
7
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
[source](resource.aug#L1)
|
|
17
|
-
|
|
18
|
-
Behavioral class.
|
|
19
|
-
|
|
20
|
-
Satisfies [`IResource`](resource.aug.md#symbol-IResource).
|
|
8
|
+
It implements [`IResource`](resource.aug.md#symbol-IResource).
|
|
21
9
|
|
|
22
10
|
<a id="symbol-Resource.drop"></a>
|
|
11
|
+
### `Resource.drop` · [source](resource.aug#L3)
|
|
23
12
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
[source](resource.aug#L2)
|
|
27
|
-
|
|
28
|
-
Returns: no value.
|
|
29
|
-
|
|
30
|
-
**What it does**
|
|
31
|
-
|
|
32
|
-
- Continue without another operation.
|
|
13
|
+
It continues without an operation.
|
|
33
14
|
|
|
34
15
|
<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.
|
|
16
|
+
## `IResource` · interface · [source](resource.aug#L7)
|