The Construction of a SASL Compiler

Projektpraktikum zur Vorlesung Software Engineering

Wintersemester 11/12
Informatik I Print

Lambda

Informationen und Materialien zur Veranstaltung Informatik I finden Sie kurz vor und während des Semesters WS 2011/12 im CIS Informationssystem des Fachbereichs Informatik.

Freuen Sie sich auf einen spannenden Einstieg in die Informatik und die systematische Konstruktion von Programmen.

 
Advanced Functional Programming Print

Lambda

As the size and complexity of software systems is growing we are facing increasing challenges related to development time/costs and program correctness. Established programming languages are evolving (e.g., by accommodating new features) and completely new languages are being created to address the aforementioned challenges. This in turn requires developers to constantly update there skills with new programming techniques.

In this course we will be studying advanced features of functional programming languages, results of the latest programming languages research that are already making impact on software industry. The features in main-stream programming languages that originated or are inspired by functional programming languages include: generics in Java; type inference in C#; list comprehensions in Python; monad comprehensions in C# and Visual Basic; blocks in C, C++ and Objective-C; closures in Java; anonymous functions C# and concepts in C++. As for the programming techniques that draw there inspiration from functional programming, Google's MapReduce framework deserves a particular mention.

We have chosen to use Haskell, a standard, purely functional programming language, throughout the course as it incorporates all the topics that we cover in a single coherent language. Having said that, no prior knowledge of Haskell is required. The course aims to improve the student's programming skills in general as the acquired know-how is transferrable in a wide variety of programming languages, be it functional or otherwise.

Read more...