scala-macros

Scala-Makros sind eine Funktion für Scala - eine universelle Programmiersprache - die das Kompilieren von Metaprogrammen gegen Scala-Syntaxbäume aus der Scala-Sprache ermöglicht.
2
Antworten

Übereinstimmende XML-Literale in Scala-Makros

Ich möchte Scala-XML-Literale mit einem Makro transformieren. (Kein String-Literal mit XML, sondern tatsächliche XML-Literale). Soweit ich weiß, sind XML-Literale nicht auf AST-Ebene in die Sprache integriert, sondern im Parser entziffert. Inter...
21.03.2014, 12:31
2
Antworten

Warum wurde das Match in Scala als Keyword und nicht als Methode implementiert?

Was mich dazu brachte zu denken war, warum das folgende %Vor% konnte nicht als umgeschrieben werden %Vor% Ich schätze, das liegt daran, dass match nicht als normale Methode implementiert werden konnte, aber ich bin mir nicht sicher. O...
27.10.2013, 15:22
1
Antwort

Überprüfung auf varargs Typ Zuschreibung in Scala Makros

Angenommen, ich habe dieses Makro: %Vor% Dies funktioniert wie erwartet mit "echten" varargs: %Vor% Aber das Verhalten mit einer Sequenz, die dem Varargs-Typ zugeschrieben wird, ist für mich verwirrend (in Scala 2.10.0-RC3): %Vor% Un...
01.12.2012, 20:03
1
Antwort

Testen Sie, ob c.universe.Type einem anderen Typ in einem Makro zugewiesen werden kann

Ich versuche, ein Makro zu schreiben, das eine Klasse mit einer Java-Bean-Schnittstelle und einer Fallklasse verwendet und ein Paar Methoden für die Zuordnung zwischen ihnen erstellt. Ich versuche zu überprüfen, dass die Typen für jede Eigens...
30.06.2015, 14:34
2
Antworten

Spleißen eines übergebenen Funktionskörpers in einen Makro-umgeschriebenen Ausdruck

Ich habe mit den neuen Makrofunktionen von Scala 2.11 gespielt. Ich wollte sehen, ob ich folgendes schreiben könnte: %Vor% Ich glaube, ich bin diesem Makro ziemlich nahe gekommen: %Vor% Dies erzeugt die folgende Ausgabe, wenn sie als fo...
18.12.2013, 18:33
2
Antworten

Wie unterscheidet man die vom Compiler abgeleitete implizite Konvertierung von der explizit aufgerufenen?

Stellen wir uns vor, diese beiden äquivalenten Ausdrücke an ein Scala-Makro zu übergeben: mit vom Compiler abgeleiteter impliziter Konvertierung: 1+"foo" mit explizit aufgerufener impliziter Konvertierung: any2stringadd(1)+"foo" G...
19.03.2013, 19:26
2
Antworten

Erstellen eines Methodendefinitionsbaums aus einem Methodensymbol und einem Body

Gibt es eine bequeme Möglichkeit, ein MethodSymbol in die linke Seite eines Methodendefinitionsbaums (dh ein DefDef ) in Scala 2.10? Angenommen, ich möchte ein Makro erstellen, das eine Instanz eines Merkmals übernimmt und alle Metho...
07.12.2012, 16:59
1
Antwort

Wie bekomme ich ein Scala-Makro, um einen Methodenaufruf zu ersetzen?

Wie bekomme ich ein Scala-Makro, um einen Methodenaufruf zu ersetzen? Mein Ziel ist es, ein Merkmal namens ToStringAdder zu erstellen. Angenommen, ich habe ein Objekt x mit diesem Merkmal, dann möchte ich, wenn ich x.add(any) aufrufe...
07.05.2013, 09:54
1
Antwort

Quasiquotes für mehrere Parameter und Parameterlisten

Quasiquotes sind erstaunlich - sie machen das Schreiben von Makros in Scala sehr viel weniger schmerzhaft und in meinem Erfahrung, dass sie fast immer genau so funktionieren, wie ich es erwarte. Und das Beste ist, dass sie nun in Scala 2.10 a...
01.09.2013, 14:51