[clean-list] call for MSc research question

Arjen van Weelden A.vanWeelden at cs.ru.nl
Thu Nov 30 09:21:37 MET 2006


These are just some of my thoughts about your project, feel free to 
ignore them. Make sure that you and your supervisor agree about this 
project and the amount of work it takes.

At least one language has been implemented on .Net, F#. I've seen papers 
about generating Java or JVM byte-code from (lazy and strict) functional 
languages. I think .Net is similar to JVM and one major advantage is 
that .Net has tail calls. You might want to take a look at 
http://cleanj.sourceforge.net/ .

It is obviously possible to implement functional languages on .Net, but 
whether it is effective? It think that you need a better specification 
of "effective" before you start your research. (I don't think that you 
are allowed to publish benchmark results about .Net, but maybe they have 
changed the license.)

Developing you own compiler that generates .Net code for graph reduction 
from Clean source code might take a lot of time. Why not collaborate 
with the person that developed CleanJ (he reuses the Clean compiler 
until the ABC code level)? Using F# as the working language might also 
make it easier.

kind regards,
	Arjen

Jigang Sun wrote:
> I am making MSc project specification. I am thinking of the research 
> question. Currently my supervisor and other reseach staff suggest it as 
> "Is the .Net CLR /Common Type System/C# an effective platform for 
> implementing functional languages?". 
> 
> I think implementing functional language on .Net is for portability 
> purpose even if it is not efficient to support functional language. 
> Just like popular machine(I think it is of Von Neumann architecture) is 
> no good platform for functional language(I heard sombody ever suggested 
> to make lambda calculus machine) but on which the lfunctional anguage 
> has to be realised because of its popularity. The question whether .NET 
> CLR/C#/Common Type System is an efficiency platform for functional 
> language could lead to a good thinking of extension to .Net, ideally 
> this question would be perfect if it is followed by the extension work. 
> which probably Microsoft reseachers must have been on, because F# has 
> been released. I could not do better than them or it is not practical 
> for me to make an functional extension to .Net 2.0 or  .Net 3.0. 
> 
> 
> I wonder if I could borrow an idea from F# to make an experimental 
> extension to Clean so that inside Clean programmer can use common .Net 
> library and a .Net language like C# also share Clean library as well. 
> 
> 
> Please help me with Outline or Objectives of the specification below to 
> reflect the light of research qestion. 
> 
> 
> Thanks. 
> Jigang 
> 
> 
> My Course: Information Technology with Oracle stream 
> 
> 
> Draft specification 
> 
> 
>  Project Title: Subset of Clean implementation on .NET 
> 
> 
> Research Question :         
> Is the .Net CLR /Common Type System/C# an effective platform for 
> implementing functional languages? 
> 
> 
> Outline (Overview) : 
> This project will investigate the theoretical and practical issues 
> involved in implementing functional programming languages on the .Net 
> platform, and, as part of the practical investigation, will provide an 
> implementation of a subset of the (lazy, pure) functional language 
> Clean.  A complete implementation of Clean's hybrid type system will 
> not be attempted.  C# is chosen as working language. 
> 
> 
> Objectives (The Project will) : 
> . To further investigate the back end paradigm for functional languages 
> and to understand the implementation issues that are distinct from 
> imperative or object oriented languages; 
> . To identify a suitable subset of Clean; 
> . To choose methods for pattern matching, recursive function, graph 
> reduction, type checking, strictness analysis; 
> . Design test cases; 
> . To develop a working compiler or interpreter for a subset of the 
> Clean programming language. 
> 
> 
> Relationship to Course (and Stream) : 
> This project is certainly unusual for a conversion MSc in Information 
> Technology. It is of intrinsic value and demonstrates how well I have 
> adopted and mastered IT principles and software development. The topic 
> is my interest. The project would have fitted better with former 
> Software Development stream of PgDIT, on which I originally planned to 
> enrol. The Oracle stream is currently the best fit. 
> 
> 
> Resources (including Reading List) : 
> http://www.cs.ru.nl/~clean/  The language report, basic methods behind 
> current Clean IDE, historical achievements, etc. 
> 
> 
> Modern Compiler Implementation in Java, 2nd Edition, Andrew W. Appel, 
> Princeton University, New Jersey 
> 
> 
> Publications and proceedings of the Association  for Computing 
> Machinery Special Interest Group on Programming Languages (SIGPLAN) 
> 
> 
> http://www.cse.iitb.ac.in/~as/fpcourse/fpcourse.html 
> 
> 
> Marking Scheme : 
> Introduction 5% 
> Literature Review   20% 
> Design 25% 
> Implementation  25% 
> Testing  10% 
> Discussion (future work etc) 5% 
> Critical evaluation 10% 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> clean-list mailing list
> clean-list at science.ru.nl
> http://mailman.science.ru.nl/mailman/listinfo/clean-list


More information about the clean-list mailing list