Ur / Web nuovo linguaggio puramente funzionale per la programmazione web? [chiuso]


17

Mi sono imbattuto nel progetto Ur / Web durante la mia ricerca di framework web per linguaggi simili a Haskell. Sembra un progetto molto interessante fatto da una persona.

Fondamentalmente, è un linguaggio puramente funzionale specifico del dominio per la programmazione web, prendendo il meglio di ML e Haskell. La sintassi è ML, ma ci sono classi di tipo e monade di Haskell, ed è rigorosamente valutata. Il lato server è compilato in codice nativo, client in Javascript. Vedi le diapositive e la pagina FAQ per altri vantaggi pubblicizzati.

Guardando le demo e il loro codice sorgente , penso che il progetto sia molto promettente. L'ultima versione è qualcosa di 20110123, quindi sembra essere in fase di sviluppo attivo in questo momento.

Qualcuno qui ha avuto ulteriori esperienze con esso? Ci sono problemi / fastidi rispetto a Haskell, a parte la sintassi leggermente più dettagliata di ML?


Nitpick: Ur / Web non è un linguaggio di programmazione per la programmazione web. Ur è un linguaggio di programmazione generico, Ur / Web è un framework Web scritto in Ur, che sfrutta il sistema di tipi di Ur per fornire garanzie statiche sulla sicurezza e la funzionalità dell'applicazione web. (Ad essere onesti, però: Ur è stato progettato specificamente per supportare Ur / Web.)
Jörg W Mittag

Risposte:


24

Sono l'autore di Ur / Web. Ho appena creato questo account e quindi non ho abbastanza mojo per rispondere ad altre risposte passate.

Ur / Web consente ai plug-in di implementare protocolli Web diversi, quindi, se si desidera visualizzare qualche altro protocollo oltre a CGI, FastCGI o HTTP, è possibile implementarlo o chiedermi di implementarlo. :) Sinceramente non ero a conoscenza del punto in cui qualcuno cercasse.

Cosa significa che la programmazione SQL si sente "ammassata"?

Ri: lamentele sull'aspetto di "Web 1.0", penso che sia una funzionalità progettata per risparmiare tempo per le persone che non vogliono davvero usare questa lingua. ;) Non ci sono caratteristiche mancanti di cui sono a conoscenza e che impediscono di scrivere applicazioni che sembrano come preferisci, e credo che ciò risulti evidente una volta che hai studiato l'impostazione di base del linguaggio e delle librerie.

Infine, ScantRoger, mi piacerebbe conoscere le tue esperienze nell'applicazione di Ur / Web con un client! Non so se sarebbe una cattiva forma fornire le mie informazioni di contatto qui, ma c'è un link al mio sito web personale nella parte inferiore della prima pagina di Ur.


11

Lo abbiamo usato per un cliente attento alla sicurezza e abbiamo notato quanto segue:

  • Come lingua, è un piacere lavorare con. Non pensavamo che la sintassi basata su ML fosse particolarmente dettagliata rispetto a Haskell.
  • Ci sono alcune preziose istruzioni al di fuori delle demo e della documentazione fornite su http://www.impredicative.com/ur/ .
  • Siamo stati viziati dal fatto che molte altre lingue ora hanno interfacce più veloci con il web server. L'uso di FastCGI è sembrato un passo indietro.
  • La programmazione SQL è stata un po 'complicata.
  • Migliora la tua matematica per capire appieno cosa la lingua / la struttura fanno per te.

Eventuali negativi possono essere attribuiti al fatto che è nuovo di zecca. Dagli un po 'd'amore. Se lo merita Forse puoi diventare un sostenitore vocale e rendere la ricerca di risorse Ur / Web meno complicate.


Forse puoi commentare la risposta di Adam e spiegare cosa significa "raggruppato"? Grazie in anticipo.
Janus Troelsen,

Inoltre, quali sarebbero le "interfacce più veloci per il web server"? Per quanto ne so, FastCGI è uno dei protocolli più veloci (più ottimizzati) per lo scambio di dati di richiesta / risposta HTTP. Il supporto di Nginx per FastCGI è inferiore a nessuno, e in effetti la maggior parte delle configurazioni PHP moderne (ad esempio) sono Nginx + PHP-FPM su FastCGI. (O forse questa risposta aveva un significato nel '11 ...)
Tobia,

3

L'unica cosa di cui mi preoccuperei è che è ancora piuttosto nuovo. Haskell ed Erlang sono entrambi presenti da molto tempo. Ciò significa che molti dei bug facili in entrambe le lingue sono stati risolti da tempo. Sarei molto scettico sul fatto che il loro codice sia veloce e sicuro come puoi fare in haskell per questo motivo.

Anche le demo sembravano molto web 1.0.


Sì, sono d'accordo, le demo sembrano un po 'primitive. Ma se ha lo stesso livello di potenza di Haskell, credo che presto ci saranno più funzionalità. Ero anche scettico sulla parte "più efficiente della tipica C". Ma questo lavoro è piuttosto impressionante se tutto fosse fatto davvero da una sola persona: D
Phil

Daremo un'occhiata più a lungo ad un certo punto, diavolo spero che facciano bene! Più strutture e persone che cercano cose nuove è sempre buona
Zachary K
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.