Nell'isomorfismo Curry-Howard applicato ai tipi Hindley-Milner, quale proposta corrisponde ad A-> [A]?
Domanda
(Utilizzando la sintassi di Haskell, poiché la domanda è ispirata a Haskell, ma si applica ai sistemi di tipo polimorfico generale Hindley-Milner, come SML o ELM).
Se ho una firma di tipo f :: a -> [a]
, Qual è la proposizione logica codificata da quella firma del tipo?
Conosco quel tipo di costruttori come ->
, (,)
corrispondere alle "operazioni" nella tua logica: ->
corrisponde al simbolo "implica" $ destra $.
Presumo []
è anche un costruttore di tipo e ha la sensazione che la risposta possa avere qualcosa a che fare con la sua definizione ricorsiva, che so potrebbe essere implementato come qualcosa di simile:
data List a = Cons a (List a) | Nil
Ma non sono sicuro di cosa significhi in versi logica.
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a cs.stackexchange