[clean-list] call for MSc research question
Jigang Sun
Jigang.Sun at student.paisley.ac.uk
Sat Nov 25 00:57:43 MET 2006
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%
More information about the clean-list
mailing list