Offenbar gibt es in Haskell etwas genannt unendlich Typ.Was sind unendliche Typen?
Zum Beispiel, wenn ich iterate concat
auf GHCi versuchen, bekomme ich diese:
*Main> iterate concat
<interactive>:24:9: error:
• Occurs check: cannot construct the infinite type: a ~ [a]
Expected type: [a] -> [a]
Actual type: [[a]] -> [a]
• In the first argument of ‘iterate’, namely ‘concat’
In the expression: iterate concat
In an equation for ‘it’: it = iterate concat
• Relevant bindings include
it :: [a] -> [[a]] (bound at <interactive>:24:1)
Meine Frage ist, was genau sind unendlich Typen? Wie passen sie in die Typentheorie und aus welchen Quellen kann ich etwas über sie lernen? Gibt es Programmiersprachen, die unendliche Arten erlauben?
Ich erinnere mich, einige Fäden auf Haskell-Cafe vor einiger Zeit zu sehen, wie man mit diesen Typen rechnerisch arbeitet, und dass der zwingendste Grund, sie nicht einzuschließen, Fehlermeldungen unmöglich werden, ein Niveau herausgeschoben werden, so können Sie Ich finde deinen Fehler nicht mehr. – luqui
@luqui https://mail.haskell.org/pipermail/haskell-cafe/2006-December/020074.html –