Laut Hoogle ist die Festigkeit von <=<
(Kleisli Monad Zusammensetzung oder "linker Fisch") und =<<
(umgekehrte Monade Bindung) infixr 1
. Wenn ich bei ihnen richtig suchen, ein Ausdruck wie, sagtHaskell/Frege <= <und = << Assoziativität
print <=< return =<< return "foo"
unwirksam sein, da es zu den ebenso ungültig
print <=< (return =<< return "foo")
Aber aus irgendeinem Grunde gleichwertig war würde, obwohl die der erste Ausdruck scheint in Haskell ungültig zu sein, wie erwartet, scheint Frege keine Beschwerden zu haben und wertet <=<
vor dem =<<
aus.
ich erfahren, als ich auf pointfree.io rumgespielt um herauszufinden, wie so etwas wie
foo >>= (bar <=< baz)
Punkt frei zu machen, und es gab mir
bar <=< baz =<< foo
welche nicht sehen Sie richtig aus, in Anbetracht der Fixitäten.
Die Typabweichung in Frege ist wahrscheinlich, weil die AMP (oder eine noch radikalere Monad-Klassenhierarchie) dort von Anfang an implementiert wurde, Jahre bevor sie in GHC durchgeführt wurde. Ich bitte Sie, zu prüfen, ob es fair ist, Frege das "Haskell-Eigentum" auf diesem Boden zu verweigern. In diesem starken Sinne wird kein Post-AMP-Haskell-Programm tatsächlich in Haskell geschrieben. Das macht keinen Sinn, IMHO. (Natürlich weiß ich, dass es andere Gründe gibt, Frege das volle Haskell-Schiff zu verweigern.) – Ingo
@Ingo: Ich habe versucht zu sagen "Frege ist nicht Haskell, daher ist es nicht verwunderlich, dass es anders wäre; in der Tat ist es auf diese Weise anders."Mit anderen Worten, ich würde die Kausalität umgekehrt stellen :-) Der Kommentar" Haskell-Eigenschaft "war ein Kommentar zum Gebrauch in englischer Sprache: Frege ist die einzige Sprache, die ich als" Haskell "beschrieben habe Eine ungewöhnliche Art, es zu beschreiben, und ich dachte, dass es wichtig sei, sie als mögliche Quelle der Verwirrung zu bezeichnen –
Ich muss zugeben, dass ich nicht 100% glücklich mit dem Slogan "Haskell for JVM" bin, das ist ein Grund Deshalb habe ich eigentlich einen anderen Namen gewählt, aber SPJ selbst hat uns ermutigt, in dieser Hinsicht beleidigender zu sein und die (noch bestehenden) Unterschiede als vernachlässigbar zu verwerfen. Ich stimme auch zu, dass das "a" vielleicht ein bisschen ist störend. – Ingo