Perché F # contiene entrambi i moduli e gli spazi dei nomi?

6

Ho assunto che F # includa la parola chiave module oltre alla parola chiave namespace a causa della retrocompatibilità con OCaml. È questa l'unica ragione per l'inclusione della parola chiave del modulo o ci sono altre ragioni per cui il modulo è stato incluso?

    
posta Onorio Catenacci 31.10.2012 - 15:23
fonte

1 risposta

5

Gli spazi dei nomi sono ben definiti nell'universo .Net e non includono le cose che costituiscono un modulo, tranne all'interno di qualcosa di simile a un modulo.

Dato che stavano progettando un linguaggio per l'esecuzione su CLR, renderlo incompatibile con altre lingue non avrebbe avuto senso.

Su una tangente leggermente diversa, gli spazi dei nomi e i moduli NON si sovrappongono - in particolare, non è possibile definire un altro spazio dei nomi all'interno di un modulo e definire un altro spazio dei nomi è l'unico scopo dei namespace. Possono presentare una simularità superficiale, ma sono concetti distinti.

    
risposta data 31.10.2012 - 16:30
fonte

Leggi altre domande sui tag