├── .gitignore ├── 01-tiny-ml ├── demos │ └── demo.fsx └── tasks │ ├── 01-numerical-evaluator.fsx │ ├── 02-unary-and-conditional.fsx │ ├── 03-functions-applications.fsx │ ├── 04-let-binding.fsx │ ├── 05-data-tuple.fsx │ ├── 06-data-unions.fsx │ ├── 07-recursion.fsx │ └── 08-lists.fsx ├── 02-tiny-basic ├── demos │ ├── lists.fsx │ ├── stars.fs │ └── stars.fsproj └── tasks │ ├── 01-hello-world.fs │ ├── 02-program-editing.fs │ ├── 03-conditionals-and-vars.fs │ ├── 04-random-stars.fs │ ├── 05-nim-game.fs │ ├── 06-nim-with-gosub.fs │ └── tinybasic.fsproj ├── 03-tiny-hm ├── .vscode │ └── snippets.code-snippets ├── demos │ ├── constraints.fsx │ └── inference.fsx └── tasks │ ├── 01-numerical-solver.fsx │ ├── 02-type-solver.fsx │ ├── 03-binary-inference.fsx │ ├── 04-more-expressions.fsx │ ├── 05-data-types.fsx │ ├── 06-more-data-types.fsx │ ├── 07-poor-lists.fsx │ └── 08-good-lists.fsx ├── 04-tiny-prolog ├── demos │ ├── .vscode │ │ └── snippets.code-snippets │ ├── advanced.fsx │ ├── family.pl │ ├── lists.pl │ └── occurs.pl └── tasks │ ├── 01-basic-unification.fsx │ ├── 02-composing-substitutions.fsx │ ├── 03-search-and-rename.fsx │ ├── 04-solving-goals.fsx │ ├── 05-pretty-and-numbers.fsx │ ├── 06-lazy-and-lists.fsx │ ├── 07-magic-squares.fsx │ └── 08-call-and-maplist.fsx ├── 05-tiny-self ├── demos │ └── records.fsx └── tasks │ ├── 01-slot-lookup.fsx │ ├── 02-message-send.fsx │ ├── 03-cloning-and-mutating.fsx │ ├── 04-self-interpreter.fsx │ ├── 05-arguments-sequencing.fsx │ ├── 06-booleans-and-ifs.fsx │ ├── 07-lists-expressions.fsx │ └── 08-web-visualizers │ ├── .config │ └── dotnet-tools.json │ ├── Nuget.Config │ ├── README.md │ ├── global.json │ ├── package-lock.json │ ├── package.json │ ├── public │ ├── cheshire.jpg │ ├── index.html │ ├── larry.jpg │ └── mog.jpg │ ├── src │ ├── app.fs │ ├── self.fs │ └── tinyself.fsproj │ └── webpack.config.js ├── 06-tiny-excel ├── demos │ ├── continents.xlsx │ ├── events.fsx │ └── trymap.fsx └── tasks │ ├── 01-simple-evaluator.fsx │ ├── 02-drag-down.fsx │ ├── 03-event-based.fsx │ ├── 04-update-event.fsx │ ├── 05-rendering-sheets.fsx │ ├── 06-absolute-relative.fsx │ ├── 07-sums-ranges.fsx │ └── 08-change-visualization.fsx └── README.md /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/.gitignore -------------------------------------------------------------------------------- /01-tiny-ml/demos/demo.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/01-tiny-ml/demos/demo.fsx -------------------------------------------------------------------------------- /01-tiny-ml/tasks/01-numerical-evaluator.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/01-tiny-ml/tasks/01-numerical-evaluator.fsx -------------------------------------------------------------------------------- /01-tiny-ml/tasks/02-unary-and-conditional.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/01-tiny-ml/tasks/02-unary-and-conditional.fsx -------------------------------------------------------------------------------- /01-tiny-ml/tasks/03-functions-applications.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/01-tiny-ml/tasks/03-functions-applications.fsx -------------------------------------------------------------------------------- /01-tiny-ml/tasks/04-let-binding.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/01-tiny-ml/tasks/04-let-binding.fsx -------------------------------------------------------------------------------- /01-tiny-ml/tasks/05-data-tuple.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/01-tiny-ml/tasks/05-data-tuple.fsx -------------------------------------------------------------------------------- /01-tiny-ml/tasks/06-data-unions.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/01-tiny-ml/tasks/06-data-unions.fsx -------------------------------------------------------------------------------- /01-tiny-ml/tasks/07-recursion.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/01-tiny-ml/tasks/07-recursion.fsx -------------------------------------------------------------------------------- /01-tiny-ml/tasks/08-lists.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/01-tiny-ml/tasks/08-lists.fsx -------------------------------------------------------------------------------- /02-tiny-basic/demos/lists.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/02-tiny-basic/demos/lists.fsx -------------------------------------------------------------------------------- /02-tiny-basic/demos/stars.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/02-tiny-basic/demos/stars.fs -------------------------------------------------------------------------------- /02-tiny-basic/demos/stars.fsproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/02-tiny-basic/demos/stars.fsproj -------------------------------------------------------------------------------- /02-tiny-basic/tasks/01-hello-world.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/02-tiny-basic/tasks/01-hello-world.fs -------------------------------------------------------------------------------- /02-tiny-basic/tasks/02-program-editing.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/02-tiny-basic/tasks/02-program-editing.fs -------------------------------------------------------------------------------- /02-tiny-basic/tasks/03-conditionals-and-vars.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/02-tiny-basic/tasks/03-conditionals-and-vars.fs -------------------------------------------------------------------------------- /02-tiny-basic/tasks/04-random-stars.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/02-tiny-basic/tasks/04-random-stars.fs -------------------------------------------------------------------------------- /02-tiny-basic/tasks/05-nim-game.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/02-tiny-basic/tasks/05-nim-game.fs -------------------------------------------------------------------------------- /02-tiny-basic/tasks/06-nim-with-gosub.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/02-tiny-basic/tasks/06-nim-with-gosub.fs -------------------------------------------------------------------------------- /02-tiny-basic/tasks/tinybasic.fsproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/02-tiny-basic/tasks/tinybasic.fsproj -------------------------------------------------------------------------------- /03-tiny-hm/.vscode/snippets.code-snippets: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/03-tiny-hm/.vscode/snippets.code-snippets -------------------------------------------------------------------------------- /03-tiny-hm/demos/constraints.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/03-tiny-hm/demos/constraints.fsx -------------------------------------------------------------------------------- /03-tiny-hm/demos/inference.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/03-tiny-hm/demos/inference.fsx -------------------------------------------------------------------------------- /03-tiny-hm/tasks/01-numerical-solver.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/03-tiny-hm/tasks/01-numerical-solver.fsx -------------------------------------------------------------------------------- /03-tiny-hm/tasks/02-type-solver.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/03-tiny-hm/tasks/02-type-solver.fsx -------------------------------------------------------------------------------- /03-tiny-hm/tasks/03-binary-inference.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/03-tiny-hm/tasks/03-binary-inference.fsx -------------------------------------------------------------------------------- /03-tiny-hm/tasks/04-more-expressions.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/03-tiny-hm/tasks/04-more-expressions.fsx -------------------------------------------------------------------------------- /03-tiny-hm/tasks/05-data-types.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/03-tiny-hm/tasks/05-data-types.fsx -------------------------------------------------------------------------------- /03-tiny-hm/tasks/06-more-data-types.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/03-tiny-hm/tasks/06-more-data-types.fsx -------------------------------------------------------------------------------- /03-tiny-hm/tasks/07-poor-lists.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/03-tiny-hm/tasks/07-poor-lists.fsx -------------------------------------------------------------------------------- /03-tiny-hm/tasks/08-good-lists.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/03-tiny-hm/tasks/08-good-lists.fsx -------------------------------------------------------------------------------- /04-tiny-prolog/demos/.vscode/snippets.code-snippets: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/04-tiny-prolog/demos/.vscode/snippets.code-snippets -------------------------------------------------------------------------------- /04-tiny-prolog/demos/advanced.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/04-tiny-prolog/demos/advanced.fsx -------------------------------------------------------------------------------- /04-tiny-prolog/demos/family.pl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/04-tiny-prolog/demos/family.pl -------------------------------------------------------------------------------- /04-tiny-prolog/demos/lists.pl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/04-tiny-prolog/demos/lists.pl -------------------------------------------------------------------------------- /04-tiny-prolog/demos/occurs.pl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/04-tiny-prolog/demos/occurs.pl -------------------------------------------------------------------------------- /04-tiny-prolog/tasks/01-basic-unification.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/04-tiny-prolog/tasks/01-basic-unification.fsx -------------------------------------------------------------------------------- /04-tiny-prolog/tasks/02-composing-substitutions.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/04-tiny-prolog/tasks/02-composing-substitutions.fsx -------------------------------------------------------------------------------- /04-tiny-prolog/tasks/03-search-and-rename.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/04-tiny-prolog/tasks/03-search-and-rename.fsx -------------------------------------------------------------------------------- /04-tiny-prolog/tasks/04-solving-goals.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/04-tiny-prolog/tasks/04-solving-goals.fsx -------------------------------------------------------------------------------- /04-tiny-prolog/tasks/05-pretty-and-numbers.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/04-tiny-prolog/tasks/05-pretty-and-numbers.fsx -------------------------------------------------------------------------------- /04-tiny-prolog/tasks/06-lazy-and-lists.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/04-tiny-prolog/tasks/06-lazy-and-lists.fsx -------------------------------------------------------------------------------- /04-tiny-prolog/tasks/07-magic-squares.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/04-tiny-prolog/tasks/07-magic-squares.fsx -------------------------------------------------------------------------------- /04-tiny-prolog/tasks/08-call-and-maplist.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/04-tiny-prolog/tasks/08-call-and-maplist.fsx -------------------------------------------------------------------------------- /05-tiny-self/demos/records.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/05-tiny-self/demos/records.fsx -------------------------------------------------------------------------------- /05-tiny-self/tasks/01-slot-lookup.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/05-tiny-self/tasks/01-slot-lookup.fsx -------------------------------------------------------------------------------- /05-tiny-self/tasks/02-message-send.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/05-tiny-self/tasks/02-message-send.fsx -------------------------------------------------------------------------------- /05-tiny-self/tasks/03-cloning-and-mutating.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/05-tiny-self/tasks/03-cloning-and-mutating.fsx -------------------------------------------------------------------------------- /05-tiny-self/tasks/04-self-interpreter.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/05-tiny-self/tasks/04-self-interpreter.fsx -------------------------------------------------------------------------------- /05-tiny-self/tasks/05-arguments-sequencing.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/05-tiny-self/tasks/05-arguments-sequencing.fsx -------------------------------------------------------------------------------- /05-tiny-self/tasks/06-booleans-and-ifs.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/05-tiny-self/tasks/06-booleans-and-ifs.fsx -------------------------------------------------------------------------------- /05-tiny-self/tasks/07-lists-expressions.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/05-tiny-self/tasks/07-lists-expressions.fsx -------------------------------------------------------------------------------- /05-tiny-self/tasks/08-web-visualizers/.config/dotnet-tools.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/05-tiny-self/tasks/08-web-visualizers/.config/dotnet-tools.json -------------------------------------------------------------------------------- /05-tiny-self/tasks/08-web-visualizers/Nuget.Config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/05-tiny-self/tasks/08-web-visualizers/Nuget.Config -------------------------------------------------------------------------------- /05-tiny-self/tasks/08-web-visualizers/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/05-tiny-self/tasks/08-web-visualizers/README.md -------------------------------------------------------------------------------- /05-tiny-self/tasks/08-web-visualizers/global.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/05-tiny-self/tasks/08-web-visualizers/global.json -------------------------------------------------------------------------------- /05-tiny-self/tasks/08-web-visualizers/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/05-tiny-self/tasks/08-web-visualizers/package-lock.json -------------------------------------------------------------------------------- /05-tiny-self/tasks/08-web-visualizers/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/05-tiny-self/tasks/08-web-visualizers/package.json -------------------------------------------------------------------------------- /05-tiny-self/tasks/08-web-visualizers/public/cheshire.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/05-tiny-self/tasks/08-web-visualizers/public/cheshire.jpg -------------------------------------------------------------------------------- /05-tiny-self/tasks/08-web-visualizers/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/05-tiny-self/tasks/08-web-visualizers/public/index.html -------------------------------------------------------------------------------- /05-tiny-self/tasks/08-web-visualizers/public/larry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/05-tiny-self/tasks/08-web-visualizers/public/larry.jpg -------------------------------------------------------------------------------- /05-tiny-self/tasks/08-web-visualizers/public/mog.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/05-tiny-self/tasks/08-web-visualizers/public/mog.jpg -------------------------------------------------------------------------------- /05-tiny-self/tasks/08-web-visualizers/src/app.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/05-tiny-self/tasks/08-web-visualizers/src/app.fs -------------------------------------------------------------------------------- /05-tiny-self/tasks/08-web-visualizers/src/self.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/05-tiny-self/tasks/08-web-visualizers/src/self.fs -------------------------------------------------------------------------------- /05-tiny-self/tasks/08-web-visualizers/src/tinyself.fsproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/05-tiny-self/tasks/08-web-visualizers/src/tinyself.fsproj -------------------------------------------------------------------------------- /05-tiny-self/tasks/08-web-visualizers/webpack.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/05-tiny-self/tasks/08-web-visualizers/webpack.config.js -------------------------------------------------------------------------------- /06-tiny-excel/demos/continents.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/06-tiny-excel/demos/continents.xlsx -------------------------------------------------------------------------------- /06-tiny-excel/demos/events.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/06-tiny-excel/demos/events.fsx -------------------------------------------------------------------------------- /06-tiny-excel/demos/trymap.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/06-tiny-excel/demos/trymap.fsx -------------------------------------------------------------------------------- /06-tiny-excel/tasks/01-simple-evaluator.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/06-tiny-excel/tasks/01-simple-evaluator.fsx -------------------------------------------------------------------------------- /06-tiny-excel/tasks/02-drag-down.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/06-tiny-excel/tasks/02-drag-down.fsx -------------------------------------------------------------------------------- /06-tiny-excel/tasks/03-event-based.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/06-tiny-excel/tasks/03-event-based.fsx -------------------------------------------------------------------------------- /06-tiny-excel/tasks/04-update-event.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/06-tiny-excel/tasks/04-update-event.fsx -------------------------------------------------------------------------------- /06-tiny-excel/tasks/05-rendering-sheets.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/06-tiny-excel/tasks/05-rendering-sheets.fsx -------------------------------------------------------------------------------- /06-tiny-excel/tasks/06-absolute-relative.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/06-tiny-excel/tasks/06-absolute-relative.fsx -------------------------------------------------------------------------------- /06-tiny-excel/tasks/07-sums-ranges.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/06-tiny-excel/tasks/07-sums-ranges.fsx -------------------------------------------------------------------------------- /06-tiny-excel/tasks/08-change-visualization.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/06-tiny-excel/tasks/08-change-visualization.fsx -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpetricek/tiny-systems-2023/HEAD/README.md --------------------------------------------------------------------------------