Supero (Haskell Supercompiler) Verwendung?

8

Ich sehe mir dieses Projekt Ссылка

an

Ich habe das Programm heruntergeladen und kompiliert und könnte es auf den mitgelieferten Samples verwenden. Aber ich habe es auf meinem Quellcode versucht und es sieht so aus, als ob das Programm nur eine Teilmenge von Haskell versteht.

Ich habe so etwas:

  

supercompiler: Unbehandelt vonDecl: PatBind (SrcLoc {srcFilename =   "unknown.hs", srcLine = 15, srcColumn = 1}) (PTuple [PVar (Ident   "Breite"), PVar (Ident "Höhe")]) Nichts (UnguardedRhs (Tuple [Lit   (Int 7), Lit (Int 6)])) (BDecls [])

Der Code ist hier verfügbar Ссылка

Wie bekomme ich GHC, um die Art von Haskell auszugeben, die Supero versteht?

Vielen Dank.

    
Phil 13.07.2011, 11:40
quelle

2 Antworten

10

Die Folien hier scheinen darauf hinzuweisen, dass sie zuerst durch Yhc laufen, dann verwandelte sich in eine Zwischenform HILL (Erste Klasse Haskell Intermediate Little Language  - siehe Folien), und schließlich kann die Analyse durchgeführt werden.

Eine andere Diashow zeigt dieses Diagramm:

    
gereeter 13.07.2011, 11:54
quelle
3

Wie ich es verstehe, behandelt die aktuelle Version von Supero nur eine Teilmenge von Haskell, die in ICFP 2010 Papier.

Die vorherige Version integrierte sich in die YHC-Pipeline und konnte eine größere Teilmenge verarbeiten. Das war eine ganze Weile zurück und die Zusammenstellung von YHC selbst ist ziemlich zerstörerisch. Ich würde es nicht empfehlen.

Max Bolingbroke integriert derzeit seinen eigenen Supercompiler in GHC. Allerdings kann ich den Code in seinem GitHub Repository nicht sehen, so dass er möglicherweise noch nicht für den öffentlichen Gebrauch bereit ist.

    
Jason Reich 13.07.2011 12:49
quelle

Tags und Links