Per insegnare Haskell ai principianti utilizzando la versione recente di GHC, i tipi di alcune funzioni possono confondere a causa del Foldable-Traversable-in-Prelude (FTP). Ad esempio, le funzioni di base su elenchi come length
, sum
e product
hanno tipi che includono il vincolo Foldable
foldr :: Foldable t => (a -> b -> b) -> b -> t a -> b
. Allo stesso modo per alcune funzioni introduttive di ordine superiore, ad es. foldl :: Foldable t => (b -> a -> b) -> b -> t a -> b
.Creazione di GHC su FTP pre-FTP
Che cos'è un modo leggero per abilitare temporaneamente il comportamento pre-FTP? Quindi i principianti possono ancora godere di tutti i vantaggi di un GHC recente e non devono ricorrere al tentativo di installare versioni precedenti o utilizzare gli Hug (ad esempio, come suggerito per l'edizione 2015 di edX FP101x).
Perché non utilizzare solo GHC 7.8? Usando gli abbracci non raccomanderei lo – jberryman
Sono d'accordo che non consiglierei gli abbracci. Tuttavia, dal momento che l'utilizzo di GHC 7.10 e versioni successive presenta anche soluzioni abbastanza semplici, non consiglierei GHC 7.8. – algotrific
Suppongo che avrei dovuto chiedere: cosa ti fa desiderare 7.10 per insegnare? Sono entrambi fantastici compilatori, supportati da stack lts, ugualmente facili da installare, ecc. In realtà non ci sono problemi con gli ultimi 7.10 su Mac? – jberryman