Thesis: Client-side Scripting using Meta-programming

I realized that I haven’t yet posted a link to my Bachelor Thesis, which I partially worked on during my visit in Microsoft Research and which I successfully defended last year. The thesis is about a client/server web framework for F# called F# WebTools, which I already mentioned here [^] and its abstract is following:

“Ajax” programming is becoming a de-facto standard for certain types of web applications, but unfortunately developing this kind of application is a difficult task. Developers have to deal with problems like a language impedance mismatch, limited execution runtime in web browser on the client-side and no integration between client and server-side parts that are developed as a two independent applications, but typically form a single and homogenous application. In this work we present the first project that deals with all three mentioned problems but which still integrates with existing web technologies such as ASP.NET on the server and JavaScript on the client. We use the F# language for writing both client and server-side part of the web application, which makes it possible to develop client-side code in a type-safe programming language using a subset of the F# library, and we provide a way to write both server-side and client-side code as a part of single homogeneous type defining the web page logic. The code is executed heterogeneously, part as JavaScript on the client, and part as native code on the server. Finally we use monadic syntax for the separation of client and server-side code, tracking this separation through the F# type system.

The full text is available here: Client side scripting using meta-programming (PDF, 1.31MB)

Published: March 17, 2008 10:07
Tags: F# Web Tools | Life, Universe and Everything | F# and MSR

Bookmarks: FaceBook |


  • RE: Thesis: Client-side Scripting using Meta-programming by zproxy (3/18/2008 7:18:14 PM)

    Kind of like my jsc project at http://jsc.sf.net but my project is for c# at the moment :) Do you do source-to-javascript or bytecode-to-javascript (as jsc does)?

  • RE: Thesis: Client-side Scripting using Meta-programming by Tomas (3/22/2008 11:13:56 PM)

    Hi,
    F# Web Tools use source-to-javascript translation (actually it uses F# quotations, which is something like extended C# 3 expression trees). I've seen your JSC project and it seems quite interesting - as far as I understand it you use similar approach as MS Volta project, is that correct?

  • RE: Thesis: Client-side Scripting using Meta-programming by zproxy (3/23/2008 7:32:52 AM)

    Yes, but i consider jsc to be more lightweight :)

  • RE: Thesis: Client-side Scripting using Meta-programming by Inv (4/9/2008 2:42:21 PM)

    Hi, I cannot find live samples mentioned in your thesis anywhere on this site..

  • Kade - Articles by ean.howard@gmail.com (11/4/2008 1:26:22 PM)

    hi! i've read your thesis about a client/server web framework for F# called F# WebTools. i found something useful in it. nice job!!! what is to be next? good luck to you!


Send comments to this article

Hyperlinks are detected automatically and you can use **bold** and __italic__ to format your comment. If you're here for the first time, I'd like to make sure that you're human. I'm using Asirra, which is a great project from Microsoft Research. If you check 'Remember me' it won't ask again!

Title:
Name:
Url: