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
scroll top