2014-10-30 15 views
13

PureScript ha un aspetto molto simile a Haskell. Mi sembra che le parti grandi, principalmente le parti pure, di un programma PureScript dovrebbero essere compilabili anche da un compilatore Haskell. È giusto?quali sono le differenze tra Haskell e PureScript?

Questo porta a domande correlate: Sarebbe possibile condividere il codice tra un backend del server Haskell e un frontend PureScript, ad es. strutture dati, convalide di moduli?

+4

Dal loro sito Web "PureScript è un piccolo linguaggio di programmazione fortemente tipizzato staticamente con tipi espressivi, scritto e ispirato da Haskell e che compila su Javascript". Immagino che ci siano molte differenze, ma il succo della lingua è che sono molto simili. Una rapida occhiata mi mostra che le tuple non sono le stesse tra Haskell e PureScript, e probabilmente molti altri tipi. – bheklilr

risposta

20

Questo è ancora un lavoro in corso, ma here's some of the differences per un inizio. Dovremmo avere presto un nuovo sito che renderà questo tipo di informazioni più facile da trovare!

+0

c'è anche un elenco di razionali/ragionamenti per le differenze? mentre alcune cose in PureScript sono più belle delle controparti di Haskell, alcune sembrano poco efficaci. –

+0

No, scusa, non al momento. C'è ancora un TODO in fondo a quell'articolo per elencare i pro e contro delle differenze e anche per documentare cose che sono diverse solo perché non siamo ancora riusciti a implementarle. –

0

code sharing è buona cosa avere e ad eliminare sacco di ridondanza, tuttavia, si potrebbe condividere il tipo tra ps e haskell utilizzando purescript bridge.

tuttavia, per ottenere un maggiore controllo sulla condivisione del codice, penso che dovresti utilizzare la stessa lingua sia per il front end che per il backend e penso che questo sia uno dei motivi principali per cui è stato creato reflex.

se siete più in reactjs e flux architettura è possibile utilizzare react-flux e ho sentito che alcune persone usarlo in produzione con un buon sucesso.

Problemi correlati