@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,26 +1,240 @@
|
|
|
1
1
|
[
|
|
2
|
-
{
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
{
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
{
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
{
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
2
|
+
{
|
|
3
|
+
"path": "examples/native-pytorch",
|
|
4
|
+
"title": "CPU tensors with PyTorch",
|
|
5
|
+
"group": "Native libraries (LLVM preview)",
|
|
6
|
+
"description": "Import real LibTorch from its public August package, add CPU tensors, and verify the elements and sum. Owned tensors are released when their scope ends."
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"path": "examples/native-sqlite",
|
|
10
|
+
"title": "A database with SQLite",
|
|
11
|
+
"group": "Native libraries (LLVM preview)",
|
|
12
|
+
"description": "Create an in-memory database, insert a labeled bound value, and query it through the real SQLite implementation. Mutation requires a borrow; scope exit closes the database."
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"path": "examples/native-zlib",
|
|
16
|
+
"title": "Compression with zlib",
|
|
17
|
+
"group": "Native libraries (LLVM preview)",
|
|
18
|
+
"description": "Compress a buffer with zlib and verify the restored bytes. A fixed output limit bounds decompression."
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"path": "examples/native-blake3",
|
|
22
|
+
"title": "Hashing with Rust BLAKE3",
|
|
23
|
+
"group": "Native libraries (LLVM preview)",
|
|
24
|
+
"description": "Import a Rust implementation through an ordinary August package and verify a published BLAKE3 hash vector."
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"path": "examples/hello",
|
|
28
|
+
"title": "Hello world with dependencies",
|
|
29
|
+
"group": "Start here",
|
|
30
|
+
"description": "The application prints a greeting through an injected logger. Its entry point selects the providers, and each folder exposes a small public surface.",
|
|
31
|
+
"walkthrough": [
|
|
32
|
+
{
|
|
33
|
+
"file": "main.aug",
|
|
34
|
+
"explanation": "Startup binds the console, logger, and application, then resolves the greeter and calls it."
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"file": "app/greeter.aug",
|
|
38
|
+
"explanation": "The greeter receives its logger in the header and delegates the greeting to it. The interface states the console effect."
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"file": "logging/export.aug",
|
|
42
|
+
"explanation": "This is the logging folder's public surface. Callers can import the exported contract and provider."
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"file": "logging/logger.aug",
|
|
46
|
+
"explanation": "The contract describes the log operation and its output capability; the console provider implements it."
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"path": "examples/weather-api",
|
|
52
|
+
"title": "Weather API",
|
|
53
|
+
"group": "Web applications",
|
|
54
|
+
"description": "Serve five simulated forecasts as typed JSON. The record, endpoint, and tests share a file; main.aug starts the listener and main.yaml enables OpenAPI.",
|
|
55
|
+
"walkthrough": [
|
|
56
|
+
{
|
|
57
|
+
"file": "main.aug",
|
|
58
|
+
"explanation": "Import the forecast endpoint and serve it on port 8787."
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"file": "forecasts.aug",
|
|
62
|
+
"explanation": "Read the response record, five fixed forecasts, and cases that exercise the endpoint pipeline."
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"path": "examples/new-syntax",
|
|
68
|
+
"title": "Labeled calls and injection",
|
|
69
|
+
"group": "Start here",
|
|
70
|
+
"description": "Constructor injection, named inputs, ordinary functions, and same-file tests."
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"path": "examples/developer-workflow",
|
|
74
|
+
"title": "A small tested application",
|
|
75
|
+
"group": "Start here",
|
|
76
|
+
"description": "A calculator logs each addition. Its nearby tests replace the logger and verify both labeled inputs and fresh setup.",
|
|
77
|
+
"walkthrough": [
|
|
78
|
+
{
|
|
79
|
+
"file": "main.aug",
|
|
80
|
+
"explanation": "Startup supplies providers, uses collections, invokes the calculator, and catches a simulated load failure."
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"file": "calculator.aug",
|
|
84
|
+
"explanation": "Read the arithmetic contract, the injected logger, and the same-file cases together. The private silent adapter keeps tests independent of output."
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"file": "logging/logger.aug",
|
|
88
|
+
"explanation": "This is the contract used by both the production logger and the test adapter."
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"path": "examples/cli-args",
|
|
94
|
+
"title": "Command-line arguments",
|
|
95
|
+
"group": "Start here",
|
|
96
|
+
"description": "Read arguments, inspect collections, and return a process exit status."
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"path": "examples/collections",
|
|
100
|
+
"title": "Lists, tuples, sets, and maps",
|
|
101
|
+
"group": "Values and errors",
|
|
102
|
+
"description": "Create typed collections and update them through checked mutable access."
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"path": "examples/generics",
|
|
106
|
+
"title": "Generic contracts",
|
|
107
|
+
"group": "Values and errors",
|
|
108
|
+
"description": "Write reusable records, interfaces, classes, and functions with type parameters."
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"path": "examples/generic-di",
|
|
112
|
+
"title": "Generic dependency injection",
|
|
113
|
+
"group": "Values and errors",
|
|
114
|
+
"description": "Bind a generic interface and resolve a class that uses it."
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"path": "examples/errors",
|
|
118
|
+
"title": "Checked failures",
|
|
119
|
+
"group": "Values and errors",
|
|
120
|
+
"description": "Declare errors with unless, catch them, and run cleanup."
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"path": "examples/ownership",
|
|
124
|
+
"title": "Read access and mutable borrows",
|
|
125
|
+
"group": "State and lifetime",
|
|
126
|
+
"description": "Share a reference for reading and grant explicit access for mutation."
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"path": "examples/ownership-transfer",
|
|
130
|
+
"title": "Move ownership",
|
|
131
|
+
"group": "State and lifetime",
|
|
132
|
+
"description": "Transfer an owned resource between labeled calls."
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"path": "examples/drop",
|
|
136
|
+
"title": "Resource cleanup",
|
|
137
|
+
"group": "State and lifetime",
|
|
138
|
+
"description": "Release an owned resource when its lifetime ends."
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"path": "examples/visibility",
|
|
142
|
+
"title": "Private state and helpers",
|
|
143
|
+
"group": "State and lifetime",
|
|
144
|
+
"description": "Keep underscore-prefixed implementation details inside their scope."
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"path": "examples/approved-design",
|
|
148
|
+
"title": "Modules and composition",
|
|
149
|
+
"group": "Modules and packages",
|
|
150
|
+
"description": "Startup combines narrow domain exports with a scoped counter provider. Records and validation keep data and checked failures visible.",
|
|
151
|
+
"walkthrough": [
|
|
152
|
+
{
|
|
153
|
+
"file": "main.aug",
|
|
154
|
+
"explanation": "Follow the domain imports, provider choices, explicit scope, and checked failure before opening the implementation files."
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"file": "domain/export.aug",
|
|
158
|
+
"explanation": "The export file gives callers the folder's deliberate public API."
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"file": "domain/numbers.aug",
|
|
162
|
+
"explanation": "The validation interceptor rejects a negative input. Tests cover successful doubling and recovery from that failure."
|
|
163
|
+
}
|
|
164
|
+
]
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"path": "examples/interceptors",
|
|
168
|
+
"title": "Function and constructor middleware",
|
|
169
|
+
"group": "Modules and packages",
|
|
170
|
+
"description": "Layer interceptors, map inputs, and keep logging dependencies explicit."
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"path": "examples/packages/math",
|
|
174
|
+
"title": "Create a package",
|
|
175
|
+
"group": "Modules and packages",
|
|
176
|
+
"description": "Publish a small arithmetic library through export.aug and test its public surface."
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"path": "examples/packages/app",
|
|
180
|
+
"title": "Use a package",
|
|
181
|
+
"group": "Modules and packages",
|
|
182
|
+
"description": "Install the neighboring arithmetic package and import it through a local alias."
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"path": "examples/ffi",
|
|
186
|
+
"title": "A native C boundary",
|
|
187
|
+
"group": "Native applications",
|
|
188
|
+
"description": "Declare a C operation and call it inside an unsafe block."
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"path": "examples/benchmark",
|
|
192
|
+
"title": "A finite benchmark",
|
|
193
|
+
"group": "Native applications",
|
|
194
|
+
"description": "Measure a deterministic arithmetic workload with aug bench."
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"path": "examples/oidc-login",
|
|
198
|
+
"title": "OpenID Connect login application",
|
|
199
|
+
"group": "Web applications",
|
|
200
|
+
"description": "One executable hosts a login page, an OpenID Connect provider and client, session JWTs, and logout. Accounts, keys, and sessions are held in memory for this development demonstration."
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"path": "benchmarks/startup",
|
|
204
|
+
"title": "Startup benchmark",
|
|
205
|
+
"group": "Measured programs",
|
|
206
|
+
"description": "The small program used to measure process startup."
|
|
207
|
+
},
|
|
208
|
+
{"path":"benchmarks/float","title":"Floating-point benchmark","group":"Measured programs","description":"Accumulate exact binary fractions and check the final value."},
|
|
209
|
+
{"path":"benchmarks/calls","title":"Function-call benchmark","group":"Measured programs","description":"Call a labeled function repeatedly with a dependent integer result."},
|
|
210
|
+
{"path":"benchmarks/list","title":"List traversal benchmark","group":"Measured programs","description":"Grow a list and sum its snapshot values."},
|
|
211
|
+
{"path":"benchmarks/strings","title":"String processing benchmark","group":"Measured programs","description":"Split text into parts and sum their byte lengths."},
|
|
212
|
+
{"path":"benchmarks/map-churn","title":"Map deletion benchmark","group":"Measured programs","description":"Delete, replace and reinsert entries, then check values and insertion order."},
|
|
213
|
+
{"path":"benchmarks/errors","title":"Checked-error benchmark","group":"Measured programs","description":"Interleave successful calls and caught checked failures."},
|
|
214
|
+
{"path":"benchmarks/records","title":"Record allocation benchmark","group":"Measured programs","description":"Retain immutable records and sum their fields."},
|
|
215
|
+
{"path":"benchmarks/tasks","title":"Task scheduling benchmark","group":"Measured programs","description":"Start and join two tasks in each bounded scope."},
|
|
216
|
+
{
|
|
217
|
+
"path": "benchmarks/cpu",
|
|
218
|
+
"title": "CPU benchmark",
|
|
219
|
+
"group": "Measured programs",
|
|
220
|
+
"description": "Two million dependent integer steps with a checked result."
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"path": "benchmarks/collections",
|
|
224
|
+
"title": "Map and Set benchmark",
|
|
225
|
+
"group": "Measured programs",
|
|
226
|
+
"description": "Insert, find, and iterate over 20,000 collection entries."
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"path": "benchmarks/json",
|
|
230
|
+
"title": "JSON benchmark",
|
|
231
|
+
"group": "Measured programs",
|
|
232
|
+
"description": "Parse, decode, and serialize a typed record 5,000 times."
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"path": "benchmarks/http",
|
|
236
|
+
"title": "HTTP benchmark",
|
|
237
|
+
"group": "Measured programs",
|
|
238
|
+
"description": "Serve the typed JSON endpoint used in the throughput measurements."
|
|
239
|
+
}
|
|
26
240
|
]
|
|
@@ -33,23 +33,24 @@ pageClass: aug-example-page
|
|
|
33
33
|
::: code-group
|
|
34
34
|
|
|
35
35
|
```aug [Indentation]
|
|
36
|
+
// aug-spec: "counters.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
36
37
|
/** Reading state has no mutation effect. */
|
|
37
38
|
interface State:
|
|
38
39
|
read() returns int
|
|
39
40
|
_Initial() implements State:
|
|
40
|
-
read()
|
|
41
|
+
read():
|
|
41
42
|
return 0
|
|
42
43
|
_Updated(int count) implements State:
|
|
43
|
-
read()
|
|
44
|
+
read():
|
|
44
45
|
return count
|
|
45
46
|
/** A mutable counter with an explicit transition contract. */
|
|
46
47
|
interface Counter:
|
|
47
48
|
increment() changes self
|
|
48
49
|
value() returns int
|
|
49
50
|
_Counter(resolve mutable State initial to _state) implements Counter:
|
|
50
|
-
increment()
|
|
51
|
+
increment():
|
|
51
52
|
_state to _Updated(count=_state.read() + 1)
|
|
52
|
-
value()
|
|
53
|
+
value():
|
|
53
54
|
return _state.read()
|
|
54
55
|
/** The complete counter composition; its mutable state belongs to each scope. */
|
|
55
56
|
composition Counters:
|
|
@@ -58,17 +59,18 @@ composition Counters:
|
|
|
58
59
|
```
|
|
59
60
|
|
|
60
61
|
```aug [Braces]
|
|
62
|
+
// aug-spec: "counters.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
61
63
|
/** Reading state has no mutation effect. */
|
|
62
64
|
interface State {
|
|
63
65
|
read() returns int
|
|
64
66
|
}
|
|
65
67
|
_Initial() implements State {
|
|
66
|
-
read()
|
|
68
|
+
read() {
|
|
67
69
|
return 0
|
|
68
70
|
}
|
|
69
71
|
}
|
|
70
72
|
_Updated(int count) implements State {
|
|
71
|
-
read()
|
|
73
|
+
read() {
|
|
72
74
|
return count
|
|
73
75
|
}
|
|
74
76
|
}
|
|
@@ -78,10 +80,10 @@ interface Counter {
|
|
|
78
80
|
value() returns int
|
|
79
81
|
}
|
|
80
82
|
_Counter(resolve mutable State initial to _state) implements Counter {
|
|
81
|
-
increment()
|
|
83
|
+
increment() {
|
|
82
84
|
_state to _Updated(count=_state.read() + 1)
|
|
83
85
|
}
|
|
84
|
-
value()
|
|
86
|
+
value() {
|
|
85
87
|
return _state.read()
|
|
86
88
|
}
|
|
87
89
|
}
|
|
@@ -100,153 +102,59 @@ composition Counters {
|
|
|
100
102
|
|
|
101
103
|
## Compiled specification {#specification}
|
|
102
104
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
### In this file
|
|
106
|
-
|
|
107
|
-
- [`State`](counters.md#symbol-State) is an interface.
|
|
108
|
-
- [`_Initial`](counters.md#symbol-_Initial) is a class implementing `State`.
|
|
109
|
-
- [`_Updated`](counters.md#symbol-_Updated) is a class implementing `State`.
|
|
110
|
-
- [`Counter`](counters.md#symbol-Counter) is an interface.
|
|
111
|
-
- [`_Counter`](counters.md#symbol-_Counter) is a class implementing `Counter`.
|
|
112
|
-
- [`Counters`](counters.md#symbol-Counters) declares 2 providers.
|
|
113
|
-
|
|
114
|
-
### `State` {#symbol-State}
|
|
115
|
-
|
|
116
|
-
[source](counters.md#code)
|
|
117
|
-
|
|
118
|
-
Interface.
|
|
119
|
-
|
|
120
|
-
**Author documentation**
|
|
105
|
+
### `State` · interface · [source](counters.md#code) {#symbol-State}
|
|
121
106
|
|
|
122
107
|
Reading state has no mutation effect.
|
|
123
108
|
|
|
124
|
-
#### `State.read` {#symbol-State.read}
|
|
125
|
-
|
|
126
|
-
[source](counters.md#code)
|
|
127
|
-
|
|
128
|
-
Returns: `int`.
|
|
129
|
-
|
|
130
|
-
Interface contract. A selected implementation supplies the behavior.
|
|
131
|
-
|
|
132
|
-
### `Counter` {#symbol-Counter}
|
|
133
|
-
|
|
134
|
-
[source](counters.md#code)
|
|
109
|
+
#### `State.read` · [source](counters.md#code) {#symbol-State.read}
|
|
135
110
|
|
|
136
|
-
|
|
111
|
+
It returns `int`.
|
|
137
112
|
|
|
138
|
-
|
|
113
|
+
### `Counter` · interface · [source](counters.md#code) {#symbol-Counter}
|
|
139
114
|
|
|
140
115
|
A mutable counter with an explicit transition contract.
|
|
141
116
|
|
|
142
|
-
#### `Counter.increment` {#symbol-Counter.increment}
|
|
117
|
+
#### `Counter.increment` · [source](counters.md#code) {#symbol-Counter.increment}
|
|
143
118
|
|
|
144
|
-
|
|
119
|
+
It may change `self`.
|
|
145
120
|
|
|
146
|
-
|
|
121
|
+
#### `Counter.value` · [source](counters.md#code) {#symbol-Counter.value}
|
|
147
122
|
|
|
148
|
-
|
|
123
|
+
It returns `int`.
|
|
149
124
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
#### `Counter.value` {#symbol-Counter.value}
|
|
153
|
-
|
|
154
|
-
[source](counters.md#code)
|
|
155
|
-
|
|
156
|
-
Returns: `int`.
|
|
157
|
-
|
|
158
|
-
Interface contract. A selected implementation supplies the behavior.
|
|
159
|
-
|
|
160
|
-
### `Counters` {#symbol-Counters}
|
|
161
|
-
|
|
162
|
-
[source](counters.md#code)
|
|
163
|
-
|
|
164
|
-
**Author documentation**
|
|
125
|
+
### `Counters` · [source](counters.md#code) {#symbol-Counters}
|
|
165
126
|
|
|
166
127
|
The complete counter composition; its mutable state belongs to each scope.
|
|
167
128
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
- Provide [`_Initial`](counters.md#symbol-_Initial) when `State` is requested. Reuse one instance.
|
|
171
|
-
- Provide [`_Counter`](counters.md#symbol-_Counter) when `Counter` is requested. Reuse one instance per explicit scope. Permit explicit shared mutation. Required dependencies: `State`.
|
|
172
|
-
|
|
173
|
-
### `_Initial` {#symbol-_Initial}
|
|
174
|
-
|
|
175
|
-
[source](counters.md#code)
|
|
176
|
-
|
|
177
|
-
Behavioral class, private to this file.
|
|
178
|
-
|
|
179
|
-
Satisfies [`State`](counters.md#symbol-State).
|
|
180
|
-
|
|
181
|
-
#### `_Initial.read` {#symbol-_Initial.read}
|
|
182
|
-
|
|
183
|
-
[source](counters.md#code)
|
|
184
|
-
|
|
185
|
-
Returns: `int`.
|
|
186
|
-
|
|
187
|
-
**What it does**
|
|
188
|
-
|
|
189
|
-
- Return `0`.
|
|
190
|
-
|
|
191
|
-
### `_Updated` {#symbol-_Updated}
|
|
192
|
-
|
|
193
|
-
[source](counters.md#code)
|
|
194
|
-
|
|
195
|
-
Behavioral class, private to this file.
|
|
196
|
-
|
|
197
|
-
Satisfies [`State`](counters.md#symbol-State).
|
|
198
|
-
|
|
199
|
-
**Inputs**
|
|
200
|
-
|
|
201
|
-
- `count` (`int`) — required labeled input — stored as `count` and read-only after initialization.
|
|
202
|
-
|
|
203
|
-
#### `_Updated.read` {#symbol-_Updated.read}
|
|
204
|
-
|
|
205
|
-
[source](counters.md#code)
|
|
206
|
-
|
|
207
|
-
Returns: `int`.
|
|
208
|
-
|
|
209
|
-
**What it does**
|
|
210
|
-
|
|
211
|
-
- Return `count`.
|
|
212
|
-
|
|
213
|
-
### `_Counter` {#symbol-_Counter}
|
|
214
|
-
|
|
215
|
-
[source](counters.md#code)
|
|
216
|
-
|
|
217
|
-
Behavioral class, private to this file.
|
|
218
|
-
|
|
219
|
-
Satisfies [`Counter`](counters.md#symbol-Counter).
|
|
220
|
-
|
|
221
|
-
**Inputs**
|
|
129
|
+
These providers are registered before startup. `State` is provided by [`_Initial`](counters.md#symbol-_Initial). The same instance is shared. `Counter` is provided by [`_Counter`](counters.md#symbol-_Counter). Each scope shares one instance. Shared mutation is allowed. It requires bindings for `State`.
|
|
222
130
|
|
|
223
|
-
|
|
131
|
+
### `_Initial` · class · [source](counters.md#code) {#symbol-_Initial}
|
|
224
132
|
|
|
225
|
-
|
|
133
|
+
It implements [`State`](counters.md#symbol-State). It is private to this file.
|
|
226
134
|
|
|
227
|
-
[source](counters.md#code)
|
|
135
|
+
#### `_Initial.read` · [source](counters.md#code) {#symbol-_Initial.read}
|
|
228
136
|
|
|
229
|
-
|
|
137
|
+
It returns `0`.
|
|
230
138
|
|
|
231
|
-
|
|
139
|
+
### `_Updated` · class · [source](counters.md#code) {#symbol-_Updated}
|
|
232
140
|
|
|
233
|
-
|
|
141
|
+
It implements [`State`](counters.md#symbol-State). It is private to this file. It takes `count` as an integer, kept read-only.
|
|
234
142
|
|
|
235
|
-
|
|
143
|
+
#### `_Updated.read` · [source](counters.md#code) {#symbol-_Updated.read}
|
|
236
144
|
|
|
237
|
-
|
|
145
|
+
It returns `count`.
|
|
238
146
|
|
|
239
|
-
[source](counters.md#code)
|
|
147
|
+
### `_Counter` · class · [source](counters.md#code) {#symbol-_Counter}
|
|
240
148
|
|
|
241
|
-
|
|
149
|
+
It implements [`Counter`](counters.md#symbol-Counter). It is private to this file. The `_state` dependency is injected as [`State`](counters.md#symbol-State) and stored mutably and privately.
|
|
242
150
|
|
|
243
|
-
|
|
151
|
+
#### `_Counter.increment` · [source](counters.md#code) {#symbol-_Counter.increment}
|
|
244
152
|
|
|
245
|
-
-
|
|
153
|
+
It may change `self`. It sets `_state` to a [`_Updated`](counters.md#symbol-_Updated) with `count` from [`_state.read`](counters.md#symbol-State.read) plus `1`.
|
|
246
154
|
|
|
247
|
-
|
|
155
|
+
#### `_Counter.value` · [source](counters.md#code) {#symbol-_Counter.value}
|
|
248
156
|
|
|
249
|
-
|
|
157
|
+
It returns [`_state.read`](counters.md#symbol-State.read).
|
|
250
158
|
|
|
251
159
|
::::
|
|
252
160
|
|