2014-02-07 7 views
5

Haskell Der Parser/Kombinator Parsec unterstützt Input von Data.ByteString und Data.Text strömt. Gibt es Pläne, in zukünftigen Versionen weitere Unterstützung für diese Typen hinzuzufügen? Die Kombinatoren (viele, sepby, string ...) scheinen um Listen zu gestalten, und der Grund verwendet man ByteStrings und Text in erster Linie ist um die Verwendung von Listen zu bekommen. Ich verstehe, dass die meisten konvertieren mit einem Paket und daher die Listen werden Müll-gesammelt weg, aber ist dies nicht nur die Hälfte der Unterstützung von Text/ByteString? Sollte es keine Data.Parsec.Text.Combinator und ein Data.Parsec.ByteString.Combinator sein?Parsek Kombinatoren und Text/ByteString

+0

Ich weiß über attoparsec, aber es nicht ist voll funktions genug für das, was ich bin Parsen. –

+1

Können Sie eine Beispiel-Typ-Signatur für die speziellen Funktionen geben, die Sie im Sinn haben? –

+1

Etwas wie. viele :: Stream-s m t => s u Parallelabschnitt Char m -> s u Parallelabschnitt data.text m, wo die 0 Länge Fall würde Text.empty ergeben. Ich weiß, dass ich einen mit einem Aufruf zum Packen schreiben könnte, aber das würde den Zweck der Vermeidung von Listen zunichte machen. –

Antwort

2

Um Ihre Frage direkt zu beantworten:

Gibt es Pläne für diese Arten in zukünftigen Versionen mehr Unterstützung hinzufügen?

Wahrscheinlich nicht. Wie aus darcs changes leicht zu entnehmen ist, hat das Paket seit vielen Jahren keine aktive Entwicklung gesehen.

Das heißt, die Kern-API ist ausgesetzt, also wenn Sie wissen, was Sie wollen und wie Sie das tun, können Sie es selbst tun.

Verwandte Themen