feat(fsharp): m01-m06 util, model, rules, random, spawn, game, view with Expecto tests

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Lucas Winther
2026-10-29 00:49:42 +01:00
co-authored by Claude Opus 5.5
parent 183821737e
commit 9cbefeb2be
27 changed files with 851 additions and 6 deletions
+11 -2
View File
@@ -10,7 +10,6 @@ repo="$(cd "$(dirname "$0")/.." && pwd)"
export PATH="$HOME/.dotnet:$HOME/.local/bin:$PATH"
# Module -> files (relative to src/ and solutions/) that the module introduces. A directory entry copies it whole.
# Later tasks: extend the F# table.
files_for() {
case "$track:$1" in
js:01) echo "util.js todo.js" ;;
@@ -35,7 +34,17 @@ files_for() {
scala:09) echo "Input.scala App.scala Runtime.scala" ;;
scala:10) echo "" ;;
scala:11) echo "pong" ;;
fsharp:*) echo "" ;; # added by the F# tasks
fsharp:01) echo "Util.fs" ;; # Snake.fsproj lists every file from the start and is identical in both trees
fsharp:02) echo "Model.fs" ;;
fsharp:03) echo "Rules.fs" ;;
fsharp:04) echo "Random.fs Spawn.fs" ;;
fsharp:05) echo "Game.fs" ;;
fsharp:06) echo "View.fs" ;;
fsharp:07) echo "IO.fs" ;;
fsharp:08) echo "Stream.fs" ;;
fsharp:09) echo "Input.fs App.fs Runtime.fs" ;;
fsharp:10) echo "" ;;
fsharp:11) echo "Pong" ;;
*) echo "" ;;
esac
}