newtype

In der Haskell-Programmiersprache erstellt eine newtype-Deklaration ähnlich wie Daten einen neuen Typ.
2
Antworten

Noch generalisierteres newtype abgeleitet

Neue Typen werden häufig verwendet, um das Verhalten bestimmter Typen zu ändern, wenn sie in bestimmten Klassenkontexten verwendet werden. Zum Beispiel würde man den Data.Monoid.All -Wrapper verwenden, um das Verhalten von Bool zu ändern,...
30.09.2012, 22:43
1
Antwort

Was ist C # entspricht Haskells Newtype?

In Haskell gibt es zwei Möglichkeiten, einen Alias ​​für Typen bereitzustellen: type und newtype . type stellt ein -Typ-Synonym zur Verfügung, was bedeutet, dass das Synonym vom Typ-Checker genauso wie der ursprüngliche Typ betrachtet...
27.04.2015, 11:18
1
Antwort

Aufräumen von Monaden - Anwendung eines Monodentransformators in newtype monad umwandeln

Ich versuche, z.B. ExceptT a (StateT A M) , für einige konkrete Typen A und monad M , und schliesse sie in meine neuen benutzerdefinierten Monaden. Zuerst habe ich festgestellt, dass StateT A M oft in anderen Kontexten auftaucht, u...
14.09.2015, 19:09
2
Antworten

Haskell newtype Syntax

Bitte helfen Sie mir, die folgende Definition zu verstehen: %Vor% Warum ist runWriter als deklariert? %Vor% , wenn der tatsächliche Typ lautet: %Vor% Nachdem ich mit ghci versucht habe, habe ich festgestellt, dass dies ein implizites...
11.07.2013, 17:52
1
Antwort

Was ist der WHNF eines neuen Typs und wie arbeitet rseq an einem neuen Typ?

Da newtype s beim Kompilieren effektiv entfernt werden, haben sie keine Thunks, nur Werte. Was passiert also, wenn ich nach seinem WHNF frage, indem ich % co_de verwende % ? Zum Beispiel in %Vor% wo rseq ist definiert als %Vor% w...
02.12.2012, 12:40
1
Antwort

Wie sehen benutzerdefinierte Werteklassen aus Java aus?

Ich glaube, ich verstehe die neue "Value Class" -Funktion von Scala 2.10, im Vergleich zu Haskells newtype : %Vor% Die Frage, die ich habe, ist, wie erscheint eine Wertklasse für Java-Code, der das Scala-Paket verwendet, in dem er deklarie...
30.06.2012, 18:43
4
Antworten

Funktionen von 'a' für 'newtype a' verwenden

Sagen wir, ich habe das folgende newtype : newtype Foo = Foo Integer deriving (Eq, Show) Gibt es eine prägnante Möglichkeit zwei Foo 's hinzuzufügen: (Foo 10) + (Foo 5) == Foo 15 oder holen Sie sich das Maximum: max (F...
06.10.2014, 02:35