├── .envrc ├── .eslintrc.cjs ├── .gitignore ├── .vscode ├── settings.json └── snippets.code-snippets ├── LICENSE ├── README.md ├── bun.lockb ├── docker-compose.yaml ├── flake.lock ├── flake.nix ├── infra ├── collector.yaml ├── dashboard.yaml ├── dashboards │ └── hackernews.json ├── datasources.yaml ├── prometheus.yaml └── tempo.yaml ├── package.json ├── slides.pdf ├── src ├── presentation │ ├── effect-intro │ │ ├── 01-number-generator.ts │ │ ├── 02-number-generator-pipe.ts │ │ ├── 03-number-generator-retry.ts │ │ └── 04-number-generator-multi.ts │ └── without-effect │ │ ├── 01-no-concurrency.ts │ │ ├── 02-unbounded-concurrency.ts │ │ ├── 03-naive-controlled-concurrency.ts │ │ ├── 04-full-controlled-concurrency.ts │ │ ├── 05-concurrency-with-interruption.ts │ │ ├── 06-concurrency-with-interruption-and-resilience.ts │ │ └── 07-concurrency-with-interruption-and-resilience-without-bug.ts └── program │ ├── HackerNews.ts │ ├── Main.ts │ ├── Metrics.ts │ ├── Model.ts │ ├── Scraper.ts │ └── Telemetry.ts ├── tsconfig.base.json ├── tsconfig.json ├── tsconfig.src.json └── tsconfig.test.json /.envrc: -------------------------------------------------------------------------------- 1 | use flake; 2 | -------------------------------------------------------------------------------- /.eslintrc.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/.eslintrc.cjs -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .direnv/ 2 | node_modules/ 3 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /.vscode/snippets.code-snippets: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/.vscode/snippets.code-snippets -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/README.md -------------------------------------------------------------------------------- /bun.lockb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/bun.lockb -------------------------------------------------------------------------------- /docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/docker-compose.yaml -------------------------------------------------------------------------------- /flake.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/flake.lock -------------------------------------------------------------------------------- /flake.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/flake.nix -------------------------------------------------------------------------------- /infra/collector.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/infra/collector.yaml -------------------------------------------------------------------------------- /infra/dashboard.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/infra/dashboard.yaml -------------------------------------------------------------------------------- /infra/dashboards/hackernews.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/infra/dashboards/hackernews.json -------------------------------------------------------------------------------- /infra/datasources.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/infra/datasources.yaml -------------------------------------------------------------------------------- /infra/prometheus.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/infra/prometheus.yaml -------------------------------------------------------------------------------- /infra/tempo.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/infra/tempo.yaml -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/package.json -------------------------------------------------------------------------------- /slides.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/slides.pdf -------------------------------------------------------------------------------- /src/presentation/effect-intro/01-number-generator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/src/presentation/effect-intro/01-number-generator.ts -------------------------------------------------------------------------------- /src/presentation/effect-intro/02-number-generator-pipe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/src/presentation/effect-intro/02-number-generator-pipe.ts -------------------------------------------------------------------------------- /src/presentation/effect-intro/03-number-generator-retry.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/src/presentation/effect-intro/03-number-generator-retry.ts -------------------------------------------------------------------------------- /src/presentation/effect-intro/04-number-generator-multi.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/src/presentation/effect-intro/04-number-generator-multi.ts -------------------------------------------------------------------------------- /src/presentation/without-effect/01-no-concurrency.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/src/presentation/without-effect/01-no-concurrency.ts -------------------------------------------------------------------------------- /src/presentation/without-effect/02-unbounded-concurrency.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/src/presentation/without-effect/02-unbounded-concurrency.ts -------------------------------------------------------------------------------- /src/presentation/without-effect/03-naive-controlled-concurrency.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/src/presentation/without-effect/03-naive-controlled-concurrency.ts -------------------------------------------------------------------------------- /src/presentation/without-effect/04-full-controlled-concurrency.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/src/presentation/without-effect/04-full-controlled-concurrency.ts -------------------------------------------------------------------------------- /src/presentation/without-effect/05-concurrency-with-interruption.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/src/presentation/without-effect/05-concurrency-with-interruption.ts -------------------------------------------------------------------------------- /src/presentation/without-effect/06-concurrency-with-interruption-and-resilience.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/src/presentation/without-effect/06-concurrency-with-interruption-and-resilience.ts -------------------------------------------------------------------------------- /src/presentation/without-effect/07-concurrency-with-interruption-and-resilience-without-bug.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/src/presentation/without-effect/07-concurrency-with-interruption-and-resilience-without-bug.ts -------------------------------------------------------------------------------- /src/program/HackerNews.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/src/program/HackerNews.ts -------------------------------------------------------------------------------- /src/program/Main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/src/program/Main.ts -------------------------------------------------------------------------------- /src/program/Metrics.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/src/program/Metrics.ts -------------------------------------------------------------------------------- /src/program/Model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/src/program/Model.ts -------------------------------------------------------------------------------- /src/program/Scraper.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/src/program/Scraper.ts -------------------------------------------------------------------------------- /src/program/Telemetry.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/src/program/Telemetry.ts -------------------------------------------------------------------------------- /tsconfig.base.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/tsconfig.base.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/tsconfig.json -------------------------------------------------------------------------------- /tsconfig.src.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/tsconfig.src.json -------------------------------------------------------------------------------- /tsconfig.test.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fubhy/effect-react-vienna-2023/HEAD/tsconfig.test.json --------------------------------------------------------------------------------