2015-03-03 5 views
5

Ich arbeite an einem literarischen Haskell-Skript, das einen Grammatik-Datentyp definiert, der auf meinem Mac in GHCI (v. 7.8.3) geladen werden soll. Ich versuche, auf Spracherweiterungen zu drehen KindSignatures und GADTs in meinem Skript genannt (ich bin völlig mit diesem ungewohnten), aber ich habe die LinieWie kann ich GHC-Erweiterungen in einem lesbaren Haskell-Skript aktivieren?

{-# LANGUAGE KindSignatures, GADTs #-} 

an der Spitze von meinem Skript enthält hingewiesen wurde. Aber ich bekomme eine Fehlermeldung:

Grammars.lhs:5:3: 
    Illegal kind signature ‘Grammar’ 
     (Use KindSignatures to allow kind signatures) 
    In the data declaration for ‘Grammar’ 
Failed, modules loaded: none. 

Könnte mir bitte jemand sagen, was ich falsch mache? Gibt es auch irgendeine Art von Dokumentation über KindSignatures oder GADTs? Ich konnte nicht viel finden.

+1

Obwohl dies im Wesentlichen nichts mit Ihrem Problem zu tun hat, sind [GADTs] (https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/data-type-extensions.html#gadt) fast schon geworden ubiquitär, so dass sie ziemlich gut dokumentiert sind. – user2407038

Antwort

8

Da es eine gebildete Skript ist, müssen Sie die Pragma wie andere lesen und schreiben Code zu entkommen:

> {-# LANGUAGE KindSignatures, GADTs #-} 

oder

\begin{code} 
{-# LANGUAGE KindSignatures, GADTs #-} 
\end{code} 

davon abhängig, welche gebildete Stil Sie verwenden.

+0

Oh Schatz, so einfach! Vielen Dank, das ist behoben. –