@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,395 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "august/0.19.0/io/contracts.aug · Function and constructor middleware"
|
|
3
|
-
generated: true
|
|
4
|
-
source: "examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug"
|
|
5
|
-
editLink: false
|
|
6
|
-
prev: false
|
|
7
|
-
next: false
|
|
8
|
-
outline: [2, 3]
|
|
9
|
-
search: false
|
|
10
|
-
pageClass: aug-example-page
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# `august/0.19.0/io/contracts.aug`
|
|
14
|
-
|
|
15
|
-
[Function and constructor middleware](../../../../index.md) · Dependency source and specification
|
|
16
|
-
|
|
17
|
-
This is the exact dependency version used by this example.
|
|
18
|
-
|
|
19
|
-
::::: example-compare
|
|
20
|
-
|
|
21
|
-
:::: example-code
|
|
22
|
-
|
|
23
|
-
## Code {#code}
|
|
24
|
-
|
|
25
|
-
::: code-group
|
|
26
|
-
|
|
27
|
-
```aug [Indentation]
|
|
28
|
-
/** Permission to write to a console, provided by an explicitly selected adapter. */
|
|
29
|
-
capability Console:
|
|
30
|
-
/** Write one line of text. @param value Text to display. */
|
|
31
|
-
write<T>(T value) uses Console.write
|
|
32
|
-
/** The native standard-output adapter. Construction performs no output. */
|
|
33
|
-
SystemConsole() implements Console:
|
|
34
|
-
write<T>(T value):
|
|
35
|
-
print(value=value)
|
|
36
|
-
/** Read UTF-8 text through an explicitly selected filesystem adapter. */
|
|
37
|
-
capability FileReader:
|
|
38
|
-
/** Read text. @param path File path. @throws FileError The file could not be read. */
|
|
39
|
-
read(string path) returns string uses FileReader.read unless FileError
|
|
40
|
-
/** Write UTF-8 text through an explicitly selected filesystem adapter. */
|
|
41
|
-
capability FileWriter:
|
|
42
|
-
/** Write text. @param path File path. @param content Text. @throws FileError Writing failed. */
|
|
43
|
-
write(string path, string content) uses FileWriter.write unless FileError
|
|
44
|
-
/** Native files. Operations are explicit; construction opens no files. */
|
|
45
|
-
LocalFiles() implements FileReader, FileWriter:
|
|
46
|
-
read(string path) returns string unless FileError:
|
|
47
|
-
return read_file(path=path)
|
|
48
|
-
write(string path, string content) unless FileError:
|
|
49
|
-
write_file(path=path, content=content)
|
|
50
|
-
/** Read command-line input through an explicit dependency. */
|
|
51
|
-
capability Arguments:
|
|
52
|
-
read() returns List<string> uses Arguments.read
|
|
53
|
-
/** Native command-line arguments. */
|
|
54
|
-
ProcessArguments() implements Arguments:
|
|
55
|
-
read() returns List<string>:
|
|
56
|
-
return arguments()
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
```aug [Braces]
|
|
60
|
-
/** Permission to write to a console, provided by an explicitly selected adapter. */
|
|
61
|
-
capability Console {
|
|
62
|
-
/** Write one line of text. @param value Text to display. */
|
|
63
|
-
write<T>(T value) uses Console.write
|
|
64
|
-
}
|
|
65
|
-
/** The native standard-output adapter. Construction performs no output. */
|
|
66
|
-
SystemConsole() implements Console {
|
|
67
|
-
write<T>(T value) {
|
|
68
|
-
print(value=value)
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
/** Read UTF-8 text through an explicitly selected filesystem adapter. */
|
|
72
|
-
capability FileReader {
|
|
73
|
-
/** Read text. @param path File path. @throws FileError The file could not be read. */
|
|
74
|
-
read(string path) returns string uses FileReader.read unless FileError
|
|
75
|
-
}
|
|
76
|
-
/** Write UTF-8 text through an explicitly selected filesystem adapter. */
|
|
77
|
-
capability FileWriter {
|
|
78
|
-
/** Write text. @param path File path. @param content Text. @throws FileError Writing failed. */
|
|
79
|
-
write(string path, string content) uses FileWriter.write unless FileError
|
|
80
|
-
}
|
|
81
|
-
/** Native files. Operations are explicit; construction opens no files. */
|
|
82
|
-
LocalFiles() implements FileReader, FileWriter {
|
|
83
|
-
read(string path) returns string unless FileError {
|
|
84
|
-
return read_file(path=path)
|
|
85
|
-
}
|
|
86
|
-
write(string path, string content) unless FileError {
|
|
87
|
-
write_file(path=path, content=content)
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
/** Read command-line input through an explicit dependency. */
|
|
91
|
-
capability Arguments {
|
|
92
|
-
read() returns List<string> uses Arguments.read
|
|
93
|
-
}
|
|
94
|
-
/** Native command-line arguments. */
|
|
95
|
-
ProcessArguments() implements Arguments {
|
|
96
|
-
read() returns List<string> {
|
|
97
|
-
return arguments()
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
:::
|
|
103
|
-
|
|
104
|
-
::::
|
|
105
|
-
|
|
106
|
-
:::: example-spec
|
|
107
|
-
|
|
108
|
-
## Compiled specification {#specification}
|
|
109
|
-
|
|
110
|
-
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
111
|
-
|
|
112
|
-
### In this file
|
|
113
|
-
|
|
114
|
-
- [`Console`](contracts.md#symbol-Console) is a capability interface.
|
|
115
|
-
- [`SystemConsole`](contracts.md#symbol-SystemConsole) is a class implementing `Console`.
|
|
116
|
-
- [`FileReader`](contracts.md#symbol-FileReader) is a capability interface.
|
|
117
|
-
- [`FileWriter`](contracts.md#symbol-FileWriter) is a capability interface.
|
|
118
|
-
- [`LocalFiles`](contracts.md#symbol-LocalFiles) is a class implementing `FileReader`, `FileWriter`.
|
|
119
|
-
- [`Arguments`](contracts.md#symbol-Arguments) is a capability interface.
|
|
120
|
-
- [`ProcessArguments`](contracts.md#symbol-ProcessArguments) is a class implementing `Arguments`.
|
|
121
|
-
|
|
122
|
-
### `Console` {#symbol-Console}
|
|
123
|
-
|
|
124
|
-
[source](contracts.md#code)
|
|
125
|
-
|
|
126
|
-
Capability interface.
|
|
127
|
-
|
|
128
|
-
**Author documentation**
|
|
129
|
-
|
|
130
|
-
Permission to write to a console, provided by an explicitly selected adapter.
|
|
131
|
-
|
|
132
|
-
#### `Console.write` {#symbol-Console.write}
|
|
133
|
-
|
|
134
|
-
[source](contracts.md#code)
|
|
135
|
-
|
|
136
|
-
Type parameters: `T`.
|
|
137
|
-
|
|
138
|
-
**Inputs**
|
|
139
|
-
|
|
140
|
-
- `value` (`T`) — required labeled input.
|
|
141
|
-
|
|
142
|
-
Returns: no value.
|
|
143
|
-
|
|
144
|
-
Capabilities: [`Console.write`](contracts.md#symbol-Console.write).
|
|
145
|
-
|
|
146
|
-
Interface contract. A selected implementation supplies the behavior.
|
|
147
|
-
|
|
148
|
-
**Author documentation**
|
|
149
|
-
|
|
150
|
-
Write one line of text.
|
|
151
|
-
|
|
152
|
-
**Parameters**
|
|
153
|
-
- `value`: Text to display.
|
|
154
|
-
|
|
155
|
-
### `SystemConsole` {#symbol-SystemConsole}
|
|
156
|
-
|
|
157
|
-
[source](contracts.md#code)
|
|
158
|
-
|
|
159
|
-
Behavioral class.
|
|
160
|
-
|
|
161
|
-
Satisfies [`Console`](contracts.md#symbol-Console).
|
|
162
|
-
|
|
163
|
-
**Author documentation**
|
|
164
|
-
|
|
165
|
-
The native standard-output adapter. Construction performs no output.
|
|
166
|
-
|
|
167
|
-
#### `SystemConsole.write` {#symbol-SystemConsole.write}
|
|
168
|
-
|
|
169
|
-
[source](contracts.md#code)
|
|
170
|
-
|
|
171
|
-
Type parameters: `T`.
|
|
172
|
-
|
|
173
|
-
**Inputs**
|
|
174
|
-
|
|
175
|
-
- `value` (`T`) — required labeled input.
|
|
176
|
-
|
|
177
|
-
Returns: no value.
|
|
178
|
-
|
|
179
|
-
Capabilities: [`Console.write`](contracts.md#symbol-Console.write).
|
|
180
|
-
|
|
181
|
-
**What it does**
|
|
182
|
-
|
|
183
|
-
- Call `print` with `value` = `value`.
|
|
184
|
-
|
|
185
|
-
**Author documentation**
|
|
186
|
-
|
|
187
|
-
Write one line of text.
|
|
188
|
-
|
|
189
|
-
**Parameters**
|
|
190
|
-
- `value`: Text to display.
|
|
191
|
-
|
|
192
|
-
### `FileReader` {#symbol-FileReader}
|
|
193
|
-
|
|
194
|
-
[source](contracts.md#code)
|
|
195
|
-
|
|
196
|
-
Capability interface.
|
|
197
|
-
|
|
198
|
-
**Author documentation**
|
|
199
|
-
|
|
200
|
-
Read UTF-8 text through an explicitly selected filesystem adapter.
|
|
201
|
-
|
|
202
|
-
#### `FileReader.read` {#symbol-FileReader.read}
|
|
203
|
-
|
|
204
|
-
[source](contracts.md#code)
|
|
205
|
-
|
|
206
|
-
**Inputs**
|
|
207
|
-
|
|
208
|
-
- `path` (`string`) — required labeled input.
|
|
209
|
-
|
|
210
|
-
Returns: `string`.
|
|
211
|
-
|
|
212
|
-
Capabilities: [`FileReader.read`](contracts.md#symbol-FileReader.read).
|
|
213
|
-
|
|
214
|
-
Can fail with `FileError`. Callers must catch or propagate these errors.
|
|
215
|
-
|
|
216
|
-
Interface contract. A selected implementation supplies the behavior.
|
|
217
|
-
|
|
218
|
-
**Author documentation**
|
|
219
|
-
|
|
220
|
-
Read text.
|
|
221
|
-
|
|
222
|
-
**Parameters**
|
|
223
|
-
- `path`: File path.
|
|
224
|
-
|
|
225
|
-
**Throws**
|
|
226
|
-
- `FileError`: The file could not be read.
|
|
227
|
-
|
|
228
|
-
### `FileWriter` {#symbol-FileWriter}
|
|
229
|
-
|
|
230
|
-
[source](contracts.md#code)
|
|
231
|
-
|
|
232
|
-
Capability interface.
|
|
233
|
-
|
|
234
|
-
**Author documentation**
|
|
235
|
-
|
|
236
|
-
Write UTF-8 text through an explicitly selected filesystem adapter.
|
|
237
|
-
|
|
238
|
-
#### `FileWriter.write` {#symbol-FileWriter.write}
|
|
239
|
-
|
|
240
|
-
[source](contracts.md#code)
|
|
241
|
-
|
|
242
|
-
**Inputs**
|
|
243
|
-
|
|
244
|
-
- `path` (`string`) — required labeled input.
|
|
245
|
-
- `content` (`string`) — required labeled input.
|
|
246
|
-
|
|
247
|
-
Returns: no value.
|
|
248
|
-
|
|
249
|
-
Capabilities: [`FileWriter.write`](contracts.md#symbol-FileWriter.write).
|
|
250
|
-
|
|
251
|
-
Can fail with `FileError`. Callers must catch or propagate these errors.
|
|
252
|
-
|
|
253
|
-
Interface contract. A selected implementation supplies the behavior.
|
|
254
|
-
|
|
255
|
-
**Author documentation**
|
|
256
|
-
|
|
257
|
-
Write text.
|
|
258
|
-
|
|
259
|
-
**Parameters**
|
|
260
|
-
- `path`: File path.
|
|
261
|
-
- `content`: Text.
|
|
262
|
-
|
|
263
|
-
**Throws**
|
|
264
|
-
- `FileError`: Writing failed.
|
|
265
|
-
|
|
266
|
-
### `LocalFiles` {#symbol-LocalFiles}
|
|
267
|
-
|
|
268
|
-
[source](contracts.md#code)
|
|
269
|
-
|
|
270
|
-
Behavioral class.
|
|
271
|
-
|
|
272
|
-
Satisfies [`FileReader`](contracts.md#symbol-FileReader), [`FileWriter`](contracts.md#symbol-FileWriter).
|
|
273
|
-
|
|
274
|
-
**Author documentation**
|
|
275
|
-
|
|
276
|
-
Native files. Operations are explicit; construction opens no files.
|
|
277
|
-
|
|
278
|
-
#### `LocalFiles.read` {#symbol-LocalFiles.read}
|
|
279
|
-
|
|
280
|
-
[source](contracts.md#code)
|
|
281
|
-
|
|
282
|
-
**Inputs**
|
|
283
|
-
|
|
284
|
-
- `path` (`string`) — required labeled input.
|
|
285
|
-
|
|
286
|
-
Returns: `string`.
|
|
287
|
-
|
|
288
|
-
Capabilities: [`FileReader.read`](contracts.md#symbol-FileReader.read).
|
|
289
|
-
|
|
290
|
-
Can fail with `FileError`. Callers must catch or propagate these errors.
|
|
291
|
-
|
|
292
|
-
**What it does**
|
|
293
|
-
|
|
294
|
-
- Return call `read_file` with `path` = `path`.
|
|
295
|
-
|
|
296
|
-
**Author documentation**
|
|
297
|
-
|
|
298
|
-
Read text.
|
|
299
|
-
|
|
300
|
-
**Parameters**
|
|
301
|
-
- `path`: File path.
|
|
302
|
-
|
|
303
|
-
**Throws**
|
|
304
|
-
- `FileError`: The file could not be read.
|
|
305
|
-
|
|
306
|
-
#### `LocalFiles.write` {#symbol-LocalFiles.write}
|
|
307
|
-
|
|
308
|
-
[source](contracts.md#code)
|
|
309
|
-
|
|
310
|
-
**Inputs**
|
|
311
|
-
|
|
312
|
-
- `path` (`string`) — required labeled input.
|
|
313
|
-
- `content` (`string`) — required labeled input.
|
|
314
|
-
|
|
315
|
-
Returns: no value.
|
|
316
|
-
|
|
317
|
-
Capabilities: [`FileWriter.write`](contracts.md#symbol-FileWriter.write).
|
|
318
|
-
|
|
319
|
-
Can fail with `FileError`. Callers must catch or propagate these errors.
|
|
320
|
-
|
|
321
|
-
**What it does**
|
|
322
|
-
|
|
323
|
-
- Call `write_file` with `path` = `path`; `content` = `content`.
|
|
324
|
-
|
|
325
|
-
**Author documentation**
|
|
326
|
-
|
|
327
|
-
Write text.
|
|
328
|
-
|
|
329
|
-
**Parameters**
|
|
330
|
-
- `path`: File path.
|
|
331
|
-
- `content`: Text.
|
|
332
|
-
|
|
333
|
-
**Throws**
|
|
334
|
-
- `FileError`: Writing failed.
|
|
335
|
-
|
|
336
|
-
### `Arguments` {#symbol-Arguments}
|
|
337
|
-
|
|
338
|
-
[source](contracts.md#code)
|
|
339
|
-
|
|
340
|
-
Capability interface.
|
|
341
|
-
|
|
342
|
-
**Author documentation**
|
|
343
|
-
|
|
344
|
-
Read command-line input through an explicit dependency.
|
|
345
|
-
|
|
346
|
-
#### `Arguments.read` {#symbol-Arguments.read}
|
|
347
|
-
|
|
348
|
-
[source](contracts.md#code)
|
|
349
|
-
|
|
350
|
-
Returns: `List<string>`.
|
|
351
|
-
|
|
352
|
-
Capabilities: [`Arguments.read`](contracts.md#symbol-Arguments.read).
|
|
353
|
-
|
|
354
|
-
Interface contract. A selected implementation supplies the behavior.
|
|
355
|
-
|
|
356
|
-
### `ProcessArguments` {#symbol-ProcessArguments}
|
|
357
|
-
|
|
358
|
-
[source](contracts.md#code)
|
|
359
|
-
|
|
360
|
-
Behavioral class.
|
|
361
|
-
|
|
362
|
-
Satisfies [`Arguments`](contracts.md#symbol-Arguments).
|
|
363
|
-
|
|
364
|
-
**Author documentation**
|
|
365
|
-
|
|
366
|
-
Native command-line arguments.
|
|
367
|
-
|
|
368
|
-
#### `ProcessArguments.read` {#symbol-ProcessArguments.read}
|
|
369
|
-
|
|
370
|
-
[source](contracts.md#code)
|
|
371
|
-
|
|
372
|
-
Returns: `List<string>`.
|
|
373
|
-
|
|
374
|
-
Capabilities: [`Arguments.read`](contracts.md#symbol-Arguments.read).
|
|
375
|
-
|
|
376
|
-
**What it does**
|
|
377
|
-
|
|
378
|
-
- Return call `arguments`.
|
|
379
|
-
|
|
380
|
-
### Built-in operations used by this file
|
|
381
|
-
|
|
382
|
-
- `arguments` (no inputs) → `List<string>`: Composition arguments. Other callables receive the Arguments capability.
|
|
383
|
-
- `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
|
|
384
|
-
- `read_file` (`path`: `string`) → `string`: Root-only UTF-8 text input. Other callables receive FileReader. Invalid Unicode and NUL raise FileError. Can fail with `FileError`.
|
|
385
|
-
- `write_file` (`path`: `string`, `content`: `string`) → `void`: Root-only UTF-8 text output. Other callables receive FileWriter. Can fail with `FileError`.
|
|
386
|
-
|
|
387
|
-
[Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
|
388
|
-
|
|
389
|
-
### Shared language rules
|
|
390
|
-
|
|
391
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
392
|
-
|
|
393
|
-
::::
|
|
394
|
-
|
|
395
|
-
:::::
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "august/0.19.0/json/contracts.aug · JSON benchmark"
|
|
3
|
-
generated: true
|
|
4
|
-
source: "benchmarks/json/.aug-spec/august/0.19.0/json/contracts.aug"
|
|
5
|
-
editLink: false
|
|
6
|
-
prev: false
|
|
7
|
-
next: false
|
|
8
|
-
outline: [2, 3]
|
|
9
|
-
search: false
|
|
10
|
-
pageClass: aug-example-page
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# `august/0.19.0/json/contracts.aug`
|
|
14
|
-
|
|
15
|
-
[JSON benchmark](../../../../index.md) · Dependency source and specification
|
|
16
|
-
|
|
17
|
-
This is the exact dependency version used by this example.
|
|
18
|
-
|
|
19
|
-
::::: example-compare
|
|
20
|
-
|
|
21
|
-
:::: example-code
|
|
22
|
-
|
|
23
|
-
## Code {#code}
|
|
24
|
-
|
|
25
|
-
::: code-group
|
|
26
|
-
|
|
27
|
-
```aug [Indentation]
|
|
28
|
-
extern C value pure _aug_json_parse(string input) returns Json unless JsonError
|
|
29
|
-
/** Parse strict UTF-8 JSON. Duplicate keys, invalid Unicode, oversized integers, and nesting beyond 64 levels raise JsonError. */
|
|
30
|
-
parse(string input) returns Json unless JsonError:
|
|
31
|
-
unsafe:
|
|
32
|
-
return _aug_json_parse(input)
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
```aug [Braces]
|
|
36
|
-
extern C value pure _aug_json_parse(string input) returns Json unless JsonError
|
|
37
|
-
/** Parse strict UTF-8 JSON. Duplicate keys, invalid Unicode, oversized integers, and nesting beyond 64 levels raise JsonError. */
|
|
38
|
-
parse(string input) returns Json unless JsonError {
|
|
39
|
-
unsafe {
|
|
40
|
-
return _aug_json_parse(input)
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
:::
|
|
46
|
-
|
|
47
|
-
::::
|
|
48
|
-
|
|
49
|
-
:::: example-spec
|
|
50
|
-
|
|
51
|
-
## Compiled specification {#specification}
|
|
52
|
-
|
|
53
|
-
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
54
|
-
|
|
55
|
-
### In this file
|
|
56
|
-
|
|
57
|
-
- [`_aug_json_parse`](contracts.md#symbol-_aug_json_parse) is a function returning `Json`.
|
|
58
|
-
- [`parse`](contracts.md#symbol-parse) is a function returning `Json`.
|
|
59
|
-
|
|
60
|
-
### `parse` {#symbol-parse}
|
|
61
|
-
|
|
62
|
-
[source](contracts.md#code)
|
|
63
|
-
|
|
64
|
-
**Inputs**
|
|
65
|
-
|
|
66
|
-
- `input` (`string`) — required labeled input.
|
|
67
|
-
|
|
68
|
-
Returns: `Json`.
|
|
69
|
-
|
|
70
|
-
Can fail with `JsonError`. Callers must catch or propagate these errors.
|
|
71
|
-
|
|
72
|
-
**What it does**
|
|
73
|
-
|
|
74
|
-
- Enter an unsafe boundary. Native calls use their declared contracts; their foreign implementation is outside this specification:
|
|
75
|
-
- Return call [`_aug_json_parse`](contracts.md#symbol-_aug_json_parse) with `input` = `input`.
|
|
76
|
-
|
|
77
|
-
**Author documentation**
|
|
78
|
-
|
|
79
|
-
Parse strict UTF-8 JSON. Duplicate keys, invalid Unicode, oversized integers, and nesting beyond 64 levels raise JsonError.
|
|
80
|
-
|
|
81
|
-
### `_aug_json_parse` {#symbol-_aug_json_parse}
|
|
82
|
-
|
|
83
|
-
[source](contracts.md#code)
|
|
84
|
-
|
|
85
|
-
Private to its defining scope.
|
|
86
|
-
|
|
87
|
-
**Inputs**
|
|
88
|
-
|
|
89
|
-
- `input` (`string`) — required labeled input.
|
|
90
|
-
|
|
91
|
-
Returns: `Json`.
|
|
92
|
-
|
|
93
|
-
Can fail with `JsonError`. Callers must catch or propagate these errors.
|
|
94
|
-
|
|
95
|
-
Native C operation. Its declared inputs, result, effects, and errors are the visible contract. The C implementation is outside this specification.
|
|
96
|
-
|
|
97
|
-
### Shared language rules
|
|
98
|
-
|
|
99
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
100
|
-
|
|
101
|
-
::::
|
|
102
|
-
|
|
103
|
-
:::::
|