2013-11-21 10 views
27

Nel recente talk allo Strange Loop Martin Odersky fa luce sulla sua visione della futura versione di Scala chiamata Dotty. Capisco che questo è work-in-progress e potrebbe anche non fluire in Scala (almeno non molto veloce) a causa di molti possibili problemi di compatibilità con le versioni precedenti. Ma se succede, come dovremmo programmare in Scala oggi per essere compatibili con Dotty? Non ho preso tutte le idee dal discorso, quindi vorrei qualcuno più profondo per riassumere i cambiamenti e descrivere come possiamo prepararci a loro.Come programmare in Scala per essere compatibile con Avanti con Dotty

risposta

10

Verso la fine del discorso, dice "if your program is compiled without any language feature imports for higher-kinded and existentials then you should be ok".

Quindi, se ho capito bene, l'unica cosa di cui dovresti essere a conoscenza è l'eventuale utilizzo di tipi esistenti o di tipi più elevati nel tuo codice.

33

L'unico altro consiglio che vorrei dare è di stare lontano dai tipi strutturali che contengono membri di tipo. Quei membri del tipo sono gli elementi che rendono completo il controllo dei tipi in Scala, e non sono ancora sicuro se vogliamo sostenerlo con dotty. I tipi strutturali che contengono solo val e defs probabilmente rimarranno supportati.

+2

Martin, le biblioteche che fanno molto affidamento su tipi più elevati, come Scalaz, dovrebbero essere riscritte in uno stile alternativo? Come ho capito, non ci sarà alcuna compatibilità binaria a ritroso e il codice compilato con la versione pre-Dotty di Scala non funzionerà con Dotty, giusto? – Tvaroh

+1

È troppo presto per dirlo. Manterremo una certa retrocompatibilità con tipi di tipo superiore purché ciò richieda non più di un ragionevole sforzo. –

+1

Queste risposte sono ancora attuali oggi? –

Problemi correlati