Part of #76 (Phase 3). The highest-leverage library slice: 163 passing files are blocked on Prelude alone, more than every other missing module combined.
stdlib/lib/Prelude.purs is currently six declarations — pure, bind, discard, map, apply, runEffect over foreign import data Effect. The corpus expects the standard classes and instances.
Classes and instances
Show, Eq, Ord, Semigroup, Monoid, Functor, Apply, Applicative, Foldable, plus Boolean combinators, folds, and the String/Char/Number conversions the corpus uses.
Prerequisites this exposes
Each of these is Phase 2 work, and writing the library is the forcing function that finds the rest:
Constraint
Every addition compiles and executes under Wasmtime, not only type-checks. A Prelude that type-checks but cannot run does not recover a single passing file.
Acceptance
Prelude carries the classes and instances above, executes under Wasmtime, and the passing files blocked on Prelude fall toward zero.
Part of #76 (Phase 3). The highest-leverage library slice: 163
passingfiles are blocked onPreludealone, more than every other missing module combined.stdlib/lib/Prelude.pursis currently six declarations —pure,bind,discard,map,apply,runEffectoverforeign import data Effect. The corpus expects the standard classes and instances.Classes and instances
Show,Eq,Ord,Semigroup,Monoid,Functor,Apply,Applicative,Foldable, plusBooleancombinators, folds, and theString/Char/Numberconversions the corpus uses.Prerequisites this exposes
Each of these is Phase 2 work, and writing the library is the forcing function that finds the rest:
ShowneedsRecord.toList-shaped display helpers that use open rows.donotation with multiple statements andlet— already lowered, but the library will stress it.Ord/Eqinstance bodies are guard-shaped (Lower guarded equations, guarded case alternatives, and multi-scrutinee case #88).(<>),flip, and friends are written as sections (Lower operator, constructor-operator and type-operator aliases #86).Constraint
Every addition compiles and executes under Wasmtime, not only type-checks. A
Preludethat type-checks but cannot run does not recover a singlepassingfile.Acceptance
Preludecarries the classes and instances above, executes under Wasmtime, and thepassingfiles blocked onPreludefall toward zero.