Listan som returneras ska innehålla samma tecken som den anropade listan, i samma ordning. (Den ordning som skulle ges av anteckningarnas utskriftsrutiner.)
I den returnerade listan ska alla element förekomma på toppnivå, alla element i den returnerade listan ska med andra ord vara tecken, ej listor.
Metoden ska skrivas rekursivt.
Ingen felhantering behövs. Efter exekveringen av platt() ska den anropade listan finnas kvar.
Du ska utnyttja de redan givna primitiverna på ett relevant sätt.
Du ska också på ett relevant sätt använda virtuella funktioner för att hantera listor som kan innehålla både tecken och listor som element.
Exempel
(a b a a) ska ge (a b a a) (a (b)) ska ge (a b) (a (b a (a)) b) ska ge (a b a a b)
OBS: Sökväg till källkod och körbar fil skall gälla på Datortekniks undervisningssystem, d.v.s. systemen i hus 1.