Emacs Org-Modus & Literaten Haskell

8

Im Organisationsmodus wird eine Zeile, die mit einem Doppelpunkt beginnt, als Quellcode formatiert. ( Ссылка )

In alphabetisiertem Haskell beginnen die Quellcodezeilen mit einem größeren Vorzeichen.

Ich möchte leserliches Haskell mit org-mode markdown schreiben, meinem aktuellen bevorzugten Format.

Da ich davon ausgehe, dass ich den Haskell-Compiler nicht ändern kann, lautet meine Frage:

Kann ich im Office-Modus den Code-Line-Marker größer als signieren? (Ich habe versucht, es selbst zu finden, aber da org.el eine 865k-Datei ist, 22k loc, bin ich immer noch verloren.)

    
Falko 18.11.2014, 19:56
quelle

4 Antworten

0

Also, das ist offensichtlich nicht die beabsichtigte Art, org zu verwenden.

Das Hauptproblem dabei ist, dass sowohl der Org-Modus als auch der Haskell-Modus Hauptmodi sind. Also kann ich sie nicht parallel benutzen.

Trotzdem funktioniert es so, es ist ein Hack und ich bin mir nicht sicher über Nebenwirkungen ..:

Beim Anzeigen einer Datei in Emacs scheint der (a?) Code-Trigger in org-activate-code (org.el) zu sein, aber dies wird nicht für den Export verwendet. Für den HTML-Export musste ich auch org-html.el anfassen.

Ich habe mich geändert:

In org.el Zeile 5378, Funktion org-activate-code von

%Vor%

bis

%Vor%

Und in org-html.el Zeile 1508 und 1516, Funktion org-export-as-html von

%Vor%

bis

%Vor%

und (Zeile 1516)

%Vor%

Ich gehe davon aus, dass dies für jeden Exportkanal, den man verwenden will, angepasst werden muss.

    
Falko 20.11.2014, 14:51
quelle
4

Nicht eine genaue Antwort auf Ihre Frage, aber ein Beispiel dafür, wie ich geschriebenen Haskell mit org: Ссылка schreibe

Die README.org ist die literarische Haskell, die MakeMP3Copies.hs ist die resultierende Haskell-Datei, die aus der .org-Datei "verschlungen" wird.

Ich exportiere nach HTML und veröffentliche es auf meinem Blog: Ссылка

Die README.org läuft auch auf github (obwohl es einige Sachen im Autorendering gibt, die nur für HTML gedacht sind, für die ich mir nicht die Zeit genommen habe, sie zu reparieren).

    
haroldcarr 19.11.2014 16:12
quelle
3

Ich hatte im Wesentlichen die gleiche Motivation, um Org-Modus-Markup für meine Haskell (Bird-Stil) Alphabetisierungsprogramme zu verwenden. Am Ende habe ich den Multi-Modus verwendet, mit dem mehrere Emacs-Hauptmodi für verschiedene Regionen verwendet werden können der gleiche Puffer (es gibt andere , aber Multi-Mode entspricht meinen Anforderungen). Ich habe haskell-org ausgearbeitet, was den org-mode und haskell-mode aktiviert in einem einzigen Puffer über Multi-Mode verwendet werden.

Weitere Details in diesem Blogeintrag . Das Setup funktioniert gut genug, dass ich es für meine Haskell-Codierung verwende.

    
sidhu1f 30.12.2014 11:43
quelle
2

Ich bin ein bisschen spät dran, aber ich habe vor kurzem begonnen, an den 99 Haskell-Problemen zu arbeiten und habe beschlossen, meine Arbeit in einer Organisationsmodus-Datei zu sammeln.

Der orgmode Weg der literate Programmierung (wie ich es verstehe), ist Quellcode Blöcke in BEGIN / END Blöcke einzukapseln. Zum Beispiel

%Vor%

Ein solches strukturiertes Organisationsmodus-Dokument kann dann

sein
  • exportiert Exportieren ist die Umwandlung einer Organisationsmodus-Datei in eines von mehreren anderen Dateiformaten mittels eines Backends. Einige dieser Formate sind PDF, LateX oder HTML.

  • verwirrt Dies geht in Richtung der literarischen Programmierung und Weben . Codeblöcke können in reine Quelldateien exportiert werden. Dies ist, was ich in meiner 99 Problemdatei mache.

  • ausgeführt Quellcode-Blöcke können ausgeführt werden, und das Ergebnis dieser Ausführung kann direkt in der Organisationsmodus-Datei platziert werden. Ich habe das noch nicht für Haskell ausprobiert.

Sie können sich meine github-Versuche ansehen: Ссылка Dort verwickle ich die orgmode-Datei auf zwei Haskell-Dateien, ein Modul und eine Test-Harness, die dann in ghc oder ghci getestet werden können.

    
tshinbum 14.01.2016 16:22
quelle

Tags und Links