2010-05-19 7 views
7

Non riesco a trovarlo su Google (quindi forse non esiste), ma fondamentalmente mi piacerebbe installare qualcosa su un server web in modo tale da poter eseguire un sito su Scheme, PHP sta cominciando a darmi fastidio, voglio sbarazzarsi fuori di esso, quello che voglio è:Esegui un sito su Scheme

  • fonti Esegui Schema verso UTF-8 uscite (duh)
  • Supporto per SXML, SXLT eccetera, ho intenzione di componi la cosa dannata in SXML e -> alla rappresentazione normale alla fine.
  • Capacità di leggere altri file dal server, scriverli, impostare le autorizzazioni eccetera
  • anche alcune cose per esempio di determinare la dimensione del file di file, altezza delle immagini, tipi MIME e tutto ciò che Mumbo-Jumbo
  • (opzionalmente) connettersi a un database, ma per quello che voglio fare memorizzare l'intero database di S-espressioni di per sé è abbastanza fattibile

non ho bisogno di nessuna libreria di fantasia e altre cose che vengono con esso come CMS 'es e what-not, tranne il supporto per SXML ma sono sicuro di poter trovare comunque una lib per quello che posso caricare.

+0

Esistono quadri Python che avrei recommond se si vuole sentire un funzionale-programmazione con la facilità di una grande base di codice che implementa gli standard di comunicazione esistente (XML, interfacce database, ecc.). Ho sentito che Plone è popolare. –

+1

Aspetta, PHP sta iniziando a infastidirti, quindi vuoi passare a * Scheme * ??? Penso che tu debba essere l'esatto contrario di me ... – Josh

+2

@Josh So che sembra una strana mossa, ma posso seguirla. Ho dimenticato chi l'ha detto per primo, ma PHP mi sembra davvero come se ci fosse stata un'esplosione nella fabbrica di parole riservata. –

risposta

2

Spark-Scheme dispone di un server Web completo. Se non ne hai bisogno, ha anche un'interfaccia FastCGI in modo che tu possa servire script di Scheme da un server web come Apache, Lighttpd ecc. Spark-Scheme sembra anche soddisfare i tuoi requisiti per il supporto del database, UTF-8, gestione dei file e SXML. Vedi lo Spark-Scheme Programming Guide (pdf) per ulteriori informazioni.

+0

Sembra questo per me. – Zorf

+0

Il tuo link è morto, il nuovo indirizzo è: http://vmathew.in/spark/index.html –

+0

@Joe D. Grazie Joe, ho aggiornato il link. –

1
+0

Non l'ho fatto, ma questo sembra essere un sostituto completo di apache piuttosto che di qualcosa che posso installare che, ad esempio, riconosce i file che terminano in .scm e li esegue quando vengono richiesti e restituisce il risultato scritto sulla porta di output standard. alternativa al php – Zorf

+0

Il nuovo collegamento a Fermion è http://spark.vmathew.in/tutorial/web-applications –

+0

@Lajla: scusa, ho mal interpretato il web server come hardware piuttosto che come software. Sembra che tu abbia altri alternative ora però :) – pdbartlett

2

mod_lisp e FastCGI sono gli unici due moduli Apache di cui sono a conoscenza che potrebbero funzionare in questo momento. mod_lisp fornisce il supporto Scheme perché è un'architettura simile a FastCGI, in cui i parametri simili a CGI vengono inviati su un socket a un secondo processo che rimane in esecuzione come backend dello Schema al server web. Fondamentalmente si usa l'uno o l'altro per inviare parametri come CGI attraverso un socket a un backend Scheme in esecuzione.

È possibile trovare alcune informazioni su queste soluzioni here. Ci fu un altro sforzo simile a FastCGI chiamato SCGI che dimostrò un semplice ricevitore SCGI in Scheme chiamato gambit. Probabilmente questo codice non viene più mantenuto, ma il scheme receiver potrebbe essere utile.

Indietro nei giorni di Apache 2.0, c'erano più progetti che giocavano con combinazioni di schemi e clisp. Non credo che mod_scheme abbia mai pubblicato nulla, ma se lo facessero, le probabilità sono che non sia compatibile con le versioni moderne di Apache.

1

Se stai cercando un linguaggio per lo sviluppo di applicazioni Web, ti consigliamo di esaminare Clojure. Clojure è una variante leggera che è abbastanza vicina allo schema; here is a list di alcune delle differenze.

Clojure gira sulla macchina virtuale Java e si integra bene con le librerie Java, e c'è un ottimo framework webapp disponibile chiamato Compojure.

+0

Hmm, ho sentito parlare di Clojure ma mai veramente provato come ho pensato che era basata principalmente su Common Lisp in quanto non ha ottimizzazione chiamata coda. lettura su di esso ora sembra interessante, risolve alcuni errori su Scheme, ma purtroppo introduce anche alcuni nuovi per me. A un certo punto avrei giurato di leggere che era un Lisp-2, ma dice che è un Lisp-1. – Zorf

1

Check out Chicken Scheme's Eggs Unlimited. Penso che quello che vuoi sia una combinazione dei pacchetti sxml accoppiati con il pacchetto fastcgi.