70 likes | 151 Views
Alice Server Pages. Funktionale Programmierung und das Web. Motivation. Motivation (2). Browser. myhost.com. http://myhost.com/index.asp. Http Server. Compiler. Datenbank. index.asp. Motivation (3). Beispiel: <html><body>
E N D
Alice Server Pages Funktionale Programmierung und das Web Simon Georg Pinkel
Motivation (2) Browser myhost.com http://myhost.com/index.asp Http Server Compiler Datenbank index.asp
Motivation (3) Beispiel: <html><body> <?php function fak($n) { return ( $n<=1 ? 1 : $n * fak($n-1)); } ?> <h1>Meine erste dynamische Webseite!</h1> <ul><?php for($i=1; $i<=$n; $i++) printf("<li>%d",fak($i)); ?></ul> </body></html> http://myhost.com/erste.php?n=6
verwandte Arbeiten • ASP.Net • PHP Hypertext Preprocessor • Java Server Pages und was ist mit ML? • ML Server Pages • Moscow ML als Skriptsprache: <ul><?msp List.app (fn s => print("<li>" ^ Int.toString s)) (List.tabulate(n,fak)) ?></ul> • SMLServer • Ein Modul für AOLServer, welches die Entwicklung von dynamischen Webapplikation in SML ermöglicht • Unterstützt die ML Server Pages
Alice Server Pages- Anforderungen • Tools zur Bearbeitung/Interpretation von HTML-seiten mit eingebetteten Programmfragmenten • Handhabung von dynamischem Input wie Formularvariablen oder Cookies • Datenbankschnittstelle • niedrige Reaktionszeiten Ausserdem soll untersucht werden, inwieweit sich Alice als Skriptsprache für Webseiten eignet; Also inwiefern • Lässt sich das Typsystem von Alice nutzen? • Fügen sich funktionale Programmieridiome in diesem Kontext ein? • Lassen sich Server Pages in einen Webserver integrieren? • Finden Alice-spezifische Features wie Nebenläufigkeit, Laziness oder verteilte Programmierung Anwendung?
Alice Server Pages- Arbeitspackete • Compiler, der aus HTML mit Alicefragmenten pures Alice generiert • Parser für dynamischen Input • Interface zum Zugriff auf die geparsten Daten • Caching der Kompilate • Datenbank-API • Beispielanwendung