Als «typeclass» getaggte Fragen

Typklassen in Haskell sind ein Sprachmechanismus zur Unterstützung des Ad-hoc-Polymorphismus. Sie existieren auch in Scala, Coq und Isabelle.


2
Was ist die Comonad-Typklasse in Haskell?
Was ist die Comonad-Typklasse in Haskell? Wie in Comonad von Control.Comonad im Comonad-Paket (Erläuterungen zu anderen Paketen, die eine Comonad-Typklasse bereitstellen, sind ebenfalls willkommen). Ich habe vage von Comonad gehört, aber alles, was ich wirklich darüber weiß, ist, dass es eine extract :: w a -> aArt Parallele zu Monad …


6
Verwaiste Instanzen in Haskell
Beim Kompilieren meiner Haskell-Anwendung mit der -WallOption beschwert sich GHC über verwaiste Instanzen, zum Beispiel: Publisher.hs:45:9: Warning: orphan instance: instance ToSElem Result Die Typklasse ToSElemgehört nicht mir, sondern wird von HStringTemplate definiert . Jetzt weiß ich, wie ich das beheben kann (verschieben Sie die Instanzdeklaration in das Modul, in dem …
85 haskell  ghc  typeclass 


1
Unterscheidung zwischen Typklassen MonadPlus, Alternative und Monoid?
Die Standard-Bibliothek Haskell typeclasses MonadPlus, Alternativeund Monoidliefern jeweils zwei Verfahren mit im Wesentlichen gleicher Semantik: Ein leerer Wert: mzero, emptyoder mempty. Eine Bedienungsperson, a -> a -> adie Werte in der typeclass miteinander verbindet: mplus, <|>, oder mappend. Alle drei spezifizieren diese Gesetze, an die sich Instanzen halten sollten: mempty …




11
Scala Double Definition (2 Methoden haben den gleichen Löschtyp)
Ich habe dies in Scala geschrieben und es wird nicht kompiliert: class TestDoubleDef{ def foo(p:List[String]) = {} def foo(p:List[Int]) = {} } Der Compiler benachrichtigt: [error] double definition: [error] method foo:(List[String])Unit and [error] method foo:(List[Int])Unit at line 120 [error] have same type after erasure: (List)Unit Ich weiß, dass JVM keine …

1
Ordnen Sie Ord mit quantifizierten Einschränkungen ab (forall a. Ord a => Ord (fa))
Mit quantifizierten Einschränkungen kann ich gut ableiten Eq (A f)? Wenn ich jedoch versuche, Ord (A f) abzuleiten, schlägt dies fehl. Ich verstehe nicht, wie quantifizierte Einschränkungen verwendet werden, wenn die Einschränkungsklasse eine Oberklasse hat. Wie leite ich Ord (A f)und andere Klassen ab, die Superklassen haben? > newtype A …


1
Warum funktioniert der "Constraint-Trick" in dieser manuell definierten HasField-Instanz nicht?
Ich habe diesen (zugegebenermaßen seltsamen) Code, der Objektiv und GHC verwendet. Aufzeichnungen : {-# LANGUAGE DataKinds, PolyKinds, FlexibleInstances, UndecidableInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-} module Main where import Control.Lens import GHC.Records data Glass r = Glass -- just …

1
Implizite statische Besetzung (Zwang) in Haskell
Problem Betrachten Sie das folgende Entwurfsproblem in Haskell. Ich habe eine einfache, symbolische EDSL, in der ich Variablen und allgemeine Ausdrücke (multivariate Polynome) wie z x^2 * y + 2*z + 1. Darüber hinaus möchte ich bestimmte symbolische Gleichungen beispielsweise über Ausdrücke x^2 + 1 = 1sowie Definitionen wie ausdrücken …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.