@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
|
@@ -10,9 +10,17 @@ outline: [2, 3]
|
|
|
10
10
|
|
|
11
11
|
# A small tested application
|
|
12
12
|
|
|
13
|
-
A calculator
|
|
13
|
+
A calculator logs each addition. Its nearby tests replace the logger and verify both labeled inputs and fresh setup.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Open a file to read its source beside the explanation produced by `aug spec`. **Indentation** and **Braces** display the same checked program; your choice carries across file pages.
|
|
16
|
+
|
|
17
|
+
## Follow the program
|
|
18
|
+
|
|
19
|
+
Read [`main.aug`](main.md). Startup supplies providers, uses collections, invokes the calculator, and catches a simulated load failure.
|
|
20
|
+
|
|
21
|
+
Read [`calculator.aug`](calculator.md). Read the arithmetic contract, the injected logger, and the same-file cases together. The private silent adapter keeps tests independent of output.
|
|
22
|
+
|
|
23
|
+
Read [`logging/logger.aug`](logging/logger.md). This is the contract used by both the production logger and the test adapter.
|
|
16
24
|
|
|
17
25
|
## Project files
|
|
18
26
|
|
|
@@ -25,13 +33,14 @@ Read a file below to see its highlighted source and the Markdown produced by `au
|
|
|
25
33
|
|
|
26
34
|
## Try this project
|
|
27
35
|
|
|
28
|
-
|
|
36
|
+
[Download this project](/downloads/developer-workflow.zip), then extract the archive in an empty working folder. It contains the checked source, configuration, and generated specs. [Install August](../../getting-started.md) once, then run these commands. Native libraries are prepared automatically when needed:
|
|
29
37
|
|
|
30
38
|
```sh
|
|
31
|
-
|
|
32
|
-
aug
|
|
33
|
-
aug
|
|
34
|
-
aug
|
|
39
|
+
cd developer-workflow
|
|
40
|
+
aug check .
|
|
41
|
+
aug spec .
|
|
42
|
+
aug test .
|
|
43
|
+
aug run .
|
|
35
44
|
```
|
|
36
45
|
|
|
37
46
|
[Browse all examples](../index.md)
|
|
@@ -32,20 +32,22 @@ pageClass: aug-example-page
|
|
|
32
32
|
::: code-group
|
|
33
33
|
|
|
34
34
|
```aug [Indentation]
|
|
35
|
+
// aug-spec: "console.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
35
36
|
import Console from august.io
|
|
36
37
|
import Logger from logger
|
|
37
38
|
/** Writes application messages to standard output. */
|
|
38
39
|
ConsoleLogger() implements Logger:
|
|
39
|
-
log(resolve Console console, string message)
|
|
40
|
+
log(resolve Console console, string message):
|
|
40
41
|
console.write(value=message)
|
|
41
42
|
```
|
|
42
43
|
|
|
43
44
|
```aug [Braces]
|
|
45
|
+
// aug-spec: "console.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
44
46
|
import Console from august.io
|
|
45
47
|
import Logger from logger
|
|
46
48
|
/** Writes application messages to standard output. */
|
|
47
49
|
ConsoleLogger() implements Logger {
|
|
48
|
-
log(resolve Console console, string message)
|
|
50
|
+
log(resolve Console console, string message) {
|
|
49
51
|
console.write(value=message)
|
|
50
52
|
}
|
|
51
53
|
}
|
|
@@ -59,65 +61,17 @@ ConsoleLogger() implements Logger {
|
|
|
59
61
|
|
|
60
62
|
## Compiled specification {#specification}
|
|
61
63
|
|
|
62
|
-
|
|
64
|
+
### `ConsoleLogger` · class · [source](console.md#code) {#symbol-ConsoleLogger}
|
|
63
65
|
|
|
64
|
-
|
|
66
|
+
Writes application messages to standard output. It implements [`Logger`](logger.md#symbol-Logger).
|
|
65
67
|
|
|
66
|
-
|
|
68
|
+
#### `ConsoleLogger.log` · [source](console.md#code) {#symbol-ConsoleLogger.log}
|
|
67
69
|
|
|
68
|
-
|
|
70
|
+
It takes `message` as a string (Text to write). It gets `console` ([`Console`](../dependencies/august/0.21.0/io/contracts.md#symbol-Console)) from dependency injection. It passes `message` to [`console.write`](../dependencies/august/0.21.0/io/contracts.md#symbol-Console.write).
|
|
69
71
|
|
|
70
|
-
|
|
72
|
+
### Dependencies
|
|
71
73
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
Satisfies [`Logger`](logger.md#symbol-Logger).
|
|
75
|
-
|
|
76
|
-
**Author documentation**
|
|
77
|
-
|
|
78
|
-
Writes application messages to standard output.
|
|
79
|
-
|
|
80
|
-
#### `ConsoleLogger.log` {#symbol-ConsoleLogger.log}
|
|
81
|
-
|
|
82
|
-
[source](console.md#code)
|
|
83
|
-
|
|
84
|
-
**Inputs**
|
|
85
|
-
|
|
86
|
-
- `console` ([`Console`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console)) — injected; callers omit it.
|
|
87
|
-
- `message` (`string`) — required labeled input.
|
|
88
|
-
|
|
89
|
-
Returns: no value.
|
|
90
|
-
|
|
91
|
-
Capabilities: [`Console.write`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console.write).
|
|
92
|
-
|
|
93
|
-
**What it does**
|
|
94
|
-
|
|
95
|
-
- Call [`Console.write`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console.write) on `console` with `value` = `message`.
|
|
96
|
-
|
|
97
|
-
**Author documentation**
|
|
98
|
-
|
|
99
|
-
**Parameters**
|
|
100
|
-
- `message`: Text to write.
|
|
101
|
-
|
|
102
|
-
### Dependencies used by this file
|
|
103
|
-
|
|
104
|
-
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
105
|
-
|
|
106
|
-
#### [`Console`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console)
|
|
107
|
-
|
|
108
|
-
Capability interface from `august.io`.
|
|
109
|
-
|
|
110
|
-
- [`Console.write`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console.write)<`T`> (`value`: `T`) → `void`.
|
|
111
|
-
|
|
112
|
-
#### [`Logger`](logger.md#symbol-Logger)
|
|
113
|
-
|
|
114
|
-
Interface from `logger`.
|
|
115
|
-
|
|
116
|
-
Used as a type or provider.
|
|
117
|
-
|
|
118
|
-
### Shared language rules
|
|
119
|
-
|
|
120
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
74
|
+
It uses [`Console`](../dependencies/august/0.21.0/io/contracts.md#symbol-Console) ([`write`](../dependencies/august/0.21.0/io/contracts.md#symbol-Console.write)) from `august.io`. It uses [`Logger`](logger.md#symbol-Logger) from `logger`.
|
|
121
75
|
|
|
122
76
|
::::
|
|
123
77
|
|
|
@@ -32,11 +32,13 @@ pageClass: aug-example-page
|
|
|
32
32
|
::: code-group
|
|
33
33
|
|
|
34
34
|
```aug [Indentation]
|
|
35
|
+
// aug-spec: "export.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
35
36
|
export Logger from logger
|
|
36
37
|
export ConsoleLogger from console
|
|
37
38
|
```
|
|
38
39
|
|
|
39
40
|
```aug [Braces]
|
|
41
|
+
// aug-spec: "export.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
40
42
|
export Logger from logger
|
|
41
43
|
export ConsoleLogger from console
|
|
42
44
|
```
|
|
@@ -49,21 +51,9 @@ export ConsoleLogger from console
|
|
|
49
51
|
|
|
50
52
|
## Compiled specification {#specification}
|
|
51
53
|
|
|
52
|
-
|
|
54
|
+
### Exports
|
|
53
55
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
- Export `Logger` from this folder.
|
|
57
|
-
- Export `ConsoleLogger` from this folder.
|
|
58
|
-
|
|
59
|
-
### Folder exports
|
|
60
|
-
|
|
61
|
-
- Export the declaration `Logger` from [`logger.aug`](logger.md#symbol-Logger).
|
|
62
|
-
- Export the declaration `ConsoleLogger` from [`console.aug`](console.md#symbol-ConsoleLogger).
|
|
63
|
-
|
|
64
|
-
### Shared language rules
|
|
65
|
-
|
|
66
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
56
|
+
Export the declaration `Logger` from [`logger.aug`](logger.md#symbol-Logger). Export the declaration `ConsoleLogger` from [`console.aug`](console.md#symbol-ConsoleLogger).
|
|
67
57
|
|
|
68
58
|
::::
|
|
69
59
|
|
|
@@ -32,6 +32,7 @@ pageClass: aug-example-page
|
|
|
32
32
|
::: code-group
|
|
33
33
|
|
|
34
34
|
```aug [Indentation]
|
|
35
|
+
// aug-spec: "logger.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
35
36
|
import Console from august.io
|
|
36
37
|
/** Receives a message describing an application operation. */
|
|
37
38
|
interface Logger:
|
|
@@ -40,6 +41,7 @@ interface Logger:
|
|
|
40
41
|
```
|
|
41
42
|
|
|
42
43
|
```aug [Braces]
|
|
44
|
+
// aug-spec: "logger.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
43
45
|
import Console from august.io
|
|
44
46
|
/** Receives a message describing an application operation. */
|
|
45
47
|
interface Logger {
|
|
@@ -56,55 +58,17 @@ interface Logger {
|
|
|
56
58
|
|
|
57
59
|
## Compiled specification {#specification}
|
|
58
60
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
### In this file
|
|
62
|
-
|
|
63
|
-
- [`Logger`](logger.md#symbol-Logger) is an interface.
|
|
64
|
-
|
|
65
|
-
### `Logger` {#symbol-Logger}
|
|
66
|
-
|
|
67
|
-
[source](logger.md#code)
|
|
68
|
-
|
|
69
|
-
Interface.
|
|
70
|
-
|
|
71
|
-
**Author documentation**
|
|
61
|
+
### `Logger` · interface · [source](logger.md#code) {#symbol-Logger}
|
|
72
62
|
|
|
73
63
|
Receives a message describing an application operation.
|
|
74
64
|
|
|
75
|
-
#### `Logger.log` {#symbol-Logger.log}
|
|
76
|
-
|
|
77
|
-
[source](logger.md#code)
|
|
78
|
-
|
|
79
|
-
**Inputs**
|
|
80
|
-
|
|
81
|
-
- `console` ([`Console`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console)) — injected; callers omit it.
|
|
82
|
-
- `message` (`string`) — required labeled input.
|
|
83
|
-
|
|
84
|
-
Returns: no value.
|
|
85
|
-
|
|
86
|
-
Capabilities: [`Console.write`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console.write).
|
|
87
|
-
|
|
88
|
-
Interface contract. A selected implementation supplies the behavior.
|
|
89
|
-
|
|
90
|
-
**Author documentation**
|
|
91
|
-
|
|
92
|
-
**Parameters**
|
|
93
|
-
- `message`: Text to write.
|
|
94
|
-
|
|
95
|
-
### Dependencies used by this file
|
|
96
|
-
|
|
97
|
-
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
98
|
-
|
|
99
|
-
#### [`Console`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console)
|
|
100
|
-
|
|
101
|
-
Capability interface from `august.io`.
|
|
65
|
+
#### `Logger.log` · [source](logger.md#code) {#symbol-Logger.log}
|
|
102
66
|
|
|
103
|
-
- [`Console.write`](../dependencies/august/0.
|
|
67
|
+
It takes `message` as a string (Text to write). It gets `console` ([`Console`](../dependencies/august/0.21.0/io/contracts.md#symbol-Console)) from dependency injection. It can call [`Console.write`](../dependencies/august/0.21.0/io/contracts.md#symbol-Console.write).
|
|
104
68
|
|
|
105
|
-
###
|
|
69
|
+
### Dependencies
|
|
106
70
|
|
|
107
|
-
|
|
71
|
+
It uses [`Console`](../dependencies/august/0.21.0/io/contracts.md#symbol-Console) ([`write`](../dependencies/august/0.21.0/io/contracts.md#symbol-Console.write)) from `august.io`.
|
|
108
72
|
|
|
109
73
|
::::
|
|
110
74
|
|
|
@@ -32,6 +32,7 @@ pageClass: aug-example-page
|
|
|
32
32
|
::: code-group
|
|
33
33
|
|
|
34
34
|
```aug [Indentation]
|
|
35
|
+
// aug-spec: "main.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
35
36
|
import Console and SystemConsole from august.io
|
|
36
37
|
implement Console with SystemConsole
|
|
37
38
|
import Logger and ConsoleLogger from logging
|
|
@@ -43,7 +44,9 @@ try:
|
|
|
43
44
|
Set<int> unique = {1, 2, 1}
|
|
44
45
|
Map<int,string> fruit = {1: "apples", 2: "pears"}
|
|
45
46
|
calculator = Calculator()
|
|
46
|
-
print(
|
|
47
|
+
print(
|
|
48
|
+
value=calculator.add(right=numbers.get(index=1), left=numbers.get(index=0))
|
|
49
|
+
)
|
|
47
50
|
print(value=pair.get(index=1))
|
|
48
51
|
print(value=unique.length())
|
|
49
52
|
print(value=fruit.get(key=2))
|
|
@@ -56,6 +59,7 @@ catch IndexError error:
|
|
|
56
59
|
```
|
|
57
60
|
|
|
58
61
|
```aug [Braces]
|
|
62
|
+
// aug-spec: "main.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
59
63
|
import Console and SystemConsole from august.io
|
|
60
64
|
implement Console with SystemConsole
|
|
61
65
|
import Logger and ConsoleLogger from logging
|
|
@@ -67,7 +71,9 @@ try {
|
|
|
67
71
|
Set<int> unique = {1, 2, 1}
|
|
68
72
|
Map<int,string> fruit = {1: "apples", 2: "pears"}
|
|
69
73
|
calculator = Calculator()
|
|
70
|
-
print(
|
|
74
|
+
print(
|
|
75
|
+
value=calculator.add(right=numbers.get(index=1), left=numbers.get(index=0))
|
|
76
|
+
)
|
|
71
77
|
print(value=pair.get(index=1))
|
|
72
78
|
print(value=unique.length())
|
|
73
79
|
print(value=fruit.get(key=2))
|
|
@@ -91,81 +97,23 @@ catch IndexError error {
|
|
|
91
97
|
|
|
92
98
|
## Compiled specification {#specification}
|
|
93
99
|
|
|
94
|
-
|
|
100
|
+
### Providers
|
|
95
101
|
|
|
96
|
-
|
|
102
|
+
`Console` is provided by [`SystemConsole`](dependencies/august/0.21.0/io/contracts.md#symbol-SystemConsole). The same instance is shared. `Logger` is provided by [`ConsoleLogger`](logging/console.md#symbol-ConsoleLogger). The same instance is shared.
|
|
97
103
|
|
|
98
|
-
|
|
99
|
-
- Run startup operations with checked error recovery.
|
|
104
|
+
### Startup
|
|
100
105
|
|
|
101
|
-
|
|
106
|
+
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"`.
|
|
102
107
|
|
|
103
|
-
|
|
108
|
+
It sets `calculator` to a [`Calculator`](calculator.md#symbol-Calculator) using injected `Logger` for `_logger`. It prints [`calculator.add`](calculator.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`.
|
|
104
109
|
|
|
105
|
-
|
|
106
|
-
- Provide [`ConsoleLogger`](logging/console.md#symbol-ConsoleLogger) when `Logger` is requested. Reuse one instance.
|
|
110
|
+
It prints the value under `2` in `fruit`. It prints [`load`](calculator.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"`.
|
|
107
111
|
|
|
108
|
-
###
|
|
112
|
+
### Dependencies
|
|
109
113
|
|
|
110
|
-
-
|
|
111
|
-
- Set `numbers` of type `List<int>` to a list containing `1`, `2`.
|
|
112
|
-
- Set `pair` of type `Tuple<int,string>` to a tuple containing `1`, `"apple"`.
|
|
113
|
-
- Set `unique` of type `Set<int>` to a set containing `1`, `2`, `1`.
|
|
114
|
-
- Set `fruit` of type `Map<int,string>` to a map with `1` mapped to `"apples"`; `2` mapped to `"pears"`.
|
|
115
|
-
- Set `calculator` to call [`Calculator`](calculator.md#symbol-Calculator); inject `_logger` from `Logger`.
|
|
116
|
-
- Call `print` with `value` = call [`Calculator.add`](calculator.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`.
|
|
117
|
-
- Call `print` with `value` = call `get` on `pair` with `index` = `1`.
|
|
118
|
-
- Call `print` with `value` = call `length` on `unique`.
|
|
119
|
-
- Call `print` with `value` = call `get` on `fruit` with `key` = `2`.
|
|
120
|
-
- Try these operations:
|
|
121
|
-
- Call `print` with `value` = call [`load`](calculator.md#symbol-load) with `fail` = `true`.
|
|
122
|
-
- If they fail with `FileError`, name the failure `error` and recover:
|
|
123
|
-
- Call `print` with `value` = `"load failed as expected"`.
|
|
124
|
-
- If they fail with `IndexError`, name the failure `error` and recover:
|
|
125
|
-
- Call `print` with `value` = `"unexpected index failure"`.
|
|
114
|
+
It uses [`SystemConsole`](dependencies/august/0.21.0/io/contracts.md#symbol-SystemConsole) from `august.io`. It uses [`Calculator`](calculator.md#symbol-Calculator) ([`add`](calculator.md#symbol-Calculator.add)) and [`load`](calculator.md#symbol-load) from `calculator`. It uses [`ConsoleLogger`](logging/console.md#symbol-ConsoleLogger) from `logging`.
|
|
126
115
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
130
|
-
|
|
131
|
-
#### [`SystemConsole`](dependencies/august/0.19.0/io/contracts.md#symbol-SystemConsole)
|
|
132
|
-
|
|
133
|
-
Class from `august.io`.
|
|
134
|
-
|
|
135
|
-
Used as a type or provider.
|
|
136
|
-
|
|
137
|
-
#### [`Calculator`](calculator.md#symbol-Calculator)
|
|
138
|
-
|
|
139
|
-
Class from `calculator`.
|
|
140
|
-
|
|
141
|
-
- Construct with no caller inputs → [`Calculator`](calculator.md#symbol-Calculator).
|
|
142
|
-
- [`Calculator.add`](calculator.md#symbol-Calculator.add) (`left`: `int`, `right`: `int`) → `int`; inject `console`: [`Console`](dependencies/august/0.19.0/io/contracts.md#symbol-Console); uses [`Console.write`](dependencies/august/0.19.0/io/contracts.md#symbol-Console.write).
|
|
143
|
-
|
|
144
|
-
#### [`load`](calculator.md#symbol-load)
|
|
145
|
-
|
|
146
|
-
Function from `calculator`.
|
|
147
|
-
|
|
148
|
-
- [`load`](calculator.md#symbol-load) (`fail`: `bool`) → `string`; can fail with `FileError`.
|
|
149
|
-
|
|
150
|
-
#### [`ConsoleLogger`](logging/console.md#symbol-ConsoleLogger)
|
|
151
|
-
|
|
152
|
-
Class from `logging`.
|
|
153
|
-
|
|
154
|
-
Used as a type or provider.
|
|
155
|
-
|
|
156
|
-
### Built-in operations used by this file
|
|
157
|
-
|
|
158
|
-
- `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`.
|
|
159
|
-
- `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.
|
|
160
|
-
- `Set<int>.length` (no inputs) → `int`: Read the number of elements.
|
|
161
|
-
- `Tuple<int, string>.get` (`index`: `int`) → `string`: Read a statically checked constant position. Prefer tuple destructuring when reading several positions.
|
|
162
|
-
- `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
|
|
163
|
-
|
|
164
|
-
[Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
|
165
|
-
|
|
166
|
-
### Shared language rules
|
|
167
|
-
|
|
168
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
116
|
+
Built-in operations follow the [language reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
|
169
117
|
|
|
170
118
|
::::
|
|
171
119
|
|
|
@@ -12,7 +12,7 @@ outline: [2, 3]
|
|
|
12
12
|
|
|
13
13
|
Release an owned resource when its lifetime ends.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Open a file to read its source beside the explanation produced by `aug spec`. **Indentation** and **Braces** display the same checked program; your choice carries across file pages.
|
|
16
16
|
|
|
17
17
|
## Project files
|
|
18
18
|
|
|
@@ -22,12 +22,13 @@ Read a file below to see its highlighted source and the Markdown produced by `au
|
|
|
22
22
|
|
|
23
23
|
## Try this project
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
[Download this project](/downloads/drop.zip), then extract the archive in an empty working folder. It contains the checked source, configuration, and generated specs. [Install August](../../getting-started.md) once, then run these commands. Native libraries are prepared automatically when needed:
|
|
26
26
|
|
|
27
27
|
```sh
|
|
28
|
-
|
|
29
|
-
aug
|
|
30
|
-
aug
|
|
28
|
+
cd drop
|
|
29
|
+
aug check .
|
|
30
|
+
aug spec .
|
|
31
|
+
aug run .
|
|
31
32
|
```
|
|
32
33
|
|
|
33
34
|
[Browse all examples](../index.md)
|
|
@@ -29,12 +29,14 @@ pageClass: aug-example-page
|
|
|
29
29
|
::: code-group
|
|
30
30
|
|
|
31
31
|
```aug [Indentation]
|
|
32
|
+
// aug-spec: "main.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
32
33
|
import Resource from resource
|
|
33
34
|
own Resource resource = Resource()
|
|
34
35
|
print(value="using resource")
|
|
35
36
|
```
|
|
36
37
|
|
|
37
38
|
```aug [Braces]
|
|
39
|
+
// aug-spec: "main.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
38
40
|
import Resource from resource
|
|
39
41
|
own Resource resource = Resource()
|
|
40
42
|
print(value="using resource")
|
|
@@ -48,37 +50,15 @@ print(value="using resource")
|
|
|
48
50
|
|
|
49
51
|
## Compiled specification {#specification}
|
|
50
52
|
|
|
51
|
-
|
|
53
|
+
### Startup
|
|
52
54
|
|
|
53
|
-
|
|
55
|
+
It sets `resource` of type [`Resource`](resource.md#symbol-Resource) to a [`Resource`](resource.md#symbol-Resource). `resource` of type [`Resource`](resource.md#symbol-Resource) owns this value. It prints `"using resource"`.
|
|
54
56
|
|
|
55
|
-
|
|
57
|
+
### Dependencies
|
|
56
58
|
|
|
57
|
-
|
|
59
|
+
It uses [`Resource`](resource.md#symbol-Resource) from `resource`.
|
|
58
60
|
|
|
59
|
-
-
|
|
60
|
-
- This variable owns the value.
|
|
61
|
-
- Call `print` with `value` = `"using resource"`.
|
|
62
|
-
|
|
63
|
-
### Dependencies used by this file
|
|
64
|
-
|
|
65
|
-
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
66
|
-
|
|
67
|
-
#### [`Resource`](resource.md#symbol-Resource)
|
|
68
|
-
|
|
69
|
-
Class from `resource`.
|
|
70
|
-
|
|
71
|
-
- Construct with no caller inputs → [`Resource`](resource.md#symbol-Resource).
|
|
72
|
-
|
|
73
|
-
### Built-in operations used by this file
|
|
74
|
-
|
|
75
|
-
- `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
|
|
76
|
-
|
|
77
|
-
[Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
|
78
|
-
|
|
79
|
-
### Shared language rules
|
|
80
|
-
|
|
81
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
61
|
+
Built-in operations follow the [language reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
|
82
62
|
|
|
83
63
|
::::
|
|
84
64
|
|
|
@@ -29,6 +29,7 @@ pageClass: aug-example-page
|
|
|
29
29
|
::: code-group
|
|
30
30
|
|
|
31
31
|
```aug [Indentation]
|
|
32
|
+
// aug-spec: "resource.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
32
33
|
Resource() implements IResource:
|
|
33
34
|
drop():
|
|
34
35
|
pass
|
|
@@ -37,6 +38,7 @@ interface IResource:
|
|
|
37
38
|
```
|
|
38
39
|
|
|
39
40
|
```aug [Braces]
|
|
41
|
+
// aug-spec: "resource.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
40
42
|
Resource() implements IResource {
|
|
41
43
|
drop() {
|
|
42
44
|
pass
|
|
@@ -55,40 +57,15 @@ interface IResource {
|
|
|
55
57
|
|
|
56
58
|
## Compiled specification {#specification}
|
|
57
59
|
|
|
58
|
-
|
|
60
|
+
### `Resource` · class · [source](resource.md#code) {#symbol-Resource}
|
|
59
61
|
|
|
60
|
-
|
|
62
|
+
It implements [`IResource`](resource.md#symbol-IResource).
|
|
61
63
|
|
|
62
|
-
|
|
63
|
-
- [`IResource`](resource.md#symbol-IResource) is an interface.
|
|
64
|
+
#### `Resource.drop` · [source](resource.md#code) {#symbol-Resource.drop}
|
|
64
65
|
|
|
65
|
-
|
|
66
|
+
It continues without an operation.
|
|
66
67
|
|
|
67
|
-
[source](resource.md#code)
|
|
68
|
-
|
|
69
|
-
Behavioral class.
|
|
70
|
-
|
|
71
|
-
Satisfies [`IResource`](resource.md#symbol-IResource).
|
|
72
|
-
|
|
73
|
-
#### `Resource.drop` {#symbol-Resource.drop}
|
|
74
|
-
|
|
75
|
-
[source](resource.md#code)
|
|
76
|
-
|
|
77
|
-
Returns: no value.
|
|
78
|
-
|
|
79
|
-
**What it does**
|
|
80
|
-
|
|
81
|
-
- Continue without another operation.
|
|
82
|
-
|
|
83
|
-
### `IResource` {#symbol-IResource}
|
|
84
|
-
|
|
85
|
-
[source](resource.md#code)
|
|
86
|
-
|
|
87
|
-
Interface.
|
|
88
|
-
|
|
89
|
-
### Shared language rules
|
|
90
|
-
|
|
91
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
68
|
+
### `IResource` · interface · [source](resource.md#code) {#symbol-IResource}
|
|
92
69
|
|
|
93
70
|
::::
|
|
94
71
|
|
|
@@ -29,14 +29,16 @@ pageClass: aug-example-page
|
|
|
29
29
|
::: code-group
|
|
30
30
|
|
|
31
31
|
```aug [Indentation]
|
|
32
|
-
|
|
32
|
+
// aug-spec: "errors.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
33
|
+
load(bool fail):
|
|
33
34
|
if fail:
|
|
34
35
|
throw FileError()
|
|
35
36
|
return "loaded"
|
|
36
37
|
```
|
|
37
38
|
|
|
38
39
|
```aug [Braces]
|
|
39
|
-
|
|
40
|
+
// aug-spec: "errors.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
41
|
+
load(bool fail) {
|
|
40
42
|
if fail {
|
|
41
43
|
throw FileError()
|
|
42
44
|
}
|
|
@@ -52,33 +54,11 @@ load(bool fail) returns string unless FileError {
|
|
|
52
54
|
|
|
53
55
|
## Compiled specification {#specification}
|
|
54
56
|
|
|
55
|
-
|
|
57
|
+
### `load` · [source](errors.md#code) {#symbol-load}
|
|
56
58
|
|
|
57
|
-
|
|
59
|
+
It takes `fail` as a boolean. Failures can raise `FileError`.
|
|
58
60
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
### `load` {#symbol-load}
|
|
62
|
-
|
|
63
|
-
[source](errors.md#code)
|
|
64
|
-
|
|
65
|
-
**Inputs**
|
|
66
|
-
|
|
67
|
-
- `fail` (`bool`) — required labeled input.
|
|
68
|
-
|
|
69
|
-
Returns: `string`.
|
|
70
|
-
|
|
71
|
-
Can fail with `FileError`. Callers must catch or propagate these errors.
|
|
72
|
-
|
|
73
|
-
**What it does**
|
|
74
|
-
|
|
75
|
-
- If `fail` is true:
|
|
76
|
-
- Fail with call `FileError`. Transfer control to a matching catch or propagate the failure.
|
|
77
|
-
- Return `"loaded"`.
|
|
78
|
-
|
|
79
|
-
### Shared language rules
|
|
80
|
-
|
|
81
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
61
|
+
It checks that `fail` is false. It raises a `FileError` at the first failed check. It returns `"loaded"`.
|
|
82
62
|
|
|
83
63
|
::::
|
|
84
64
|
|
|
@@ -12,7 +12,7 @@ outline: [2, 3]
|
|
|
12
12
|
|
|
13
13
|
Declare errors with unless, catch them, and run cleanup.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Open a file to read its source beside the explanation produced by `aug spec`. **Indentation** and **Braces** display the same checked program; your choice carries across file pages.
|
|
16
16
|
|
|
17
17
|
## Project files
|
|
18
18
|
|
|
@@ -22,12 +22,13 @@ Read a file below to see its highlighted source and the Markdown produced by `au
|
|
|
22
22
|
|
|
23
23
|
## Try this project
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
[Download this project](/downloads/errors.zip), then extract the archive in an empty working folder. It contains the checked source, configuration, and generated specs. [Install August](../../getting-started.md) once, then run these commands. Native libraries are prepared automatically when needed:
|
|
26
26
|
|
|
27
27
|
```sh
|
|
28
|
-
|
|
29
|
-
aug
|
|
30
|
-
aug
|
|
28
|
+
cd errors
|
|
29
|
+
aug check .
|
|
30
|
+
aug spec .
|
|
31
|
+
aug run .
|
|
31
32
|
```
|
|
32
33
|
|
|
33
34
|
[Browse all examples](../index.md)
|