Gibt es eine gute Möglichkeit, `->` direkt als Funktion in Idris zu verwenden?
One kann einen Typ in einer Funktion in Idris zurückgeben, zum Beispiel
t : Type -> Type -> Type
t a b = a -> b
Aber die Situation kam auf (als ich mit dem Schreiben einiger Parser experimentierte), die ich verwenden wollte->
, um eine Liste von Typen zu falten, dh
typeFold : List Type -> Type
typeFold = foldr1 (->)
DamittypeFold [String, Int]
Würde gebenString -> Int : Type
. Dies wird jedoch nicht kompiliert:
error: no implicit arguments allowed
here, expected: ")",
dependent type signature,
expression, name
typeFold = foldr1 (->)
^
Aber das funktioniert gut:
t : Type -> Type -> Type
t a b = a -> b
typeFold : List Type -> Type
typeFold = foldr1 t
Gibt es eine bessere Möglichkeit, mit @ zu arbeite->
, und wenn nicht, lohnt es sich, als Feature-Request aufzurufen?