Repository navigation
Environmental desiderata
The Normalized Syntactic Form (NSF) may serve as learners' activity data. These data can be anonymised and analysed within the environment, based on Lisp-Stat -- a domain specific language (DSL) of Common Lisp for statistical analysis and machine learning.
NSF + subsequent passes form a semantic trace, not just a compiler pipeline.
Each stage may potentially answer a different pedagogical question:
| Stage | What it reveals about the learner |
|---|---|
| tokenization | surface syntax familiarity |
| whitespace & line handling | mental model of Logo’s line semantics |
| infix normalization | arithmetic expectations |
| explicit grouping | awareness of structure |
| implicit grouping | understanding of arity |
| infix resolution | operator precedence reasoning |
| error emission | misconception classification |
This is process data, not just outcome data.
Because NSF is:
- lossless
- reversible
- faithful to the learner’s intent
- temporally ordered
it can serve as a canonical event representation:
"The learner’s thought, normalised just enough to be machine-tractable."
We could log:
- how expressions were formed
- where grouping failed
- which arity assumptions were violated
- when infix was misunderstood
Compare:
- NSF → chunk-pass-2 output
- before / after error recovery
This provides:
- grouping depth
- spine shape
- unused expressions
- arity mismatches
Logo's messages ("You don’t say what to do with 11") are diagnostic.
Each one maps to a misconception:
- surplus expression
- missing consumer
- wrong arity
- misplaced infix
Capturing
- edits
- REPL submissions
- corrections
might record learning trajectories.
It is possible to
- strip identifiers (:a, variable names)
- hash or bucket numeric literals
keep only:
- proc identity
- arity
- grouping shape
- error category
What remains is essentially:
An abstract syntax learning trace.
Which may become:
- GDPR-friendly
- ethically safer
- scientifically more robust
NSF
↓
Semantic passes
↓
Evaluation / Errors
↓
Event extractor
↓
Anonymiser
↓
Analytics store
↓
lisp-stat / notebooks / visualisation
Crucially:
- the language runtime stays pure
- analytics is an observer, not a driver
So contaminating semantics can be avoided.
Logo is about:
- thinking in procedures
- understanding flow
- composing actions
The system can reveal:
- when learners think "functionally"
- when they think "imperatively"
- when they confuse sequencing with nesting
🄯 2026 cLogos Initiative represented by Lispl-Wicht -- The textual content of this work is licensed under the Creative Commons Attribution 4.0 International License (CC BY 4.0).