Programmiersprachen – Programming Languages
LVA 185.208, VU, 3 ECTS, 2017 S

Third Assignment

Develop a syntax-aware editor for programs in the language as developed in Assignment 2. The editor shall be written in a statically typed functional language like Haskell and ML. In addition to the usual functionality of an editor (loading, showing, modifying and storing text), the editor shall highlight For highlighting you can use text attributes like color, underlining, thickness, inversion and size.

It is not necessary (although possible) that the editor runs in its own window. As a simple solution you can use a text terminal (e.g., xterm) and rewrite all of its contents on each change.

In this assignment it is important to manage data. At a first glance, that seems to be difficult to do in modern functional languages. However, there are several simple ways to do it. Consulting the standard libraries of the used programming system may be helpful to find a good solution.

The Implementation Language

To program in ML we recommend to use OCaml. This system extends ML with object-oriented features. They support a programming style similar to that of Java. Please use only the functional concepts of the language to solve the assignment, do not use the object-oriented language extensions.

Information on Haskell can be found on the Haskell page. Essentially you can select between GHC and Hugs. GHC is a rather large and efficient system. You can download an entire development platform including all tools that you will probably need. Hugs is a simple system based solely on an interpreter. Because of the better performance, GHC is preferable over Hugs for the solution of this exercise.

Complang
Puntigam
   Contact
   Research
   Lehre
      OOP
      Typsysteme
      EP2
      FOOP
      Prog.spr.
      frühere Lehre
         LVAs 2017 W
         LVAs 2017 S
            PK
            FOOP
            Prog.spr.
               1st Assignment
               2nd Assignment
               3rd Assignment
         LVAs 2016 W
         LVAs 2016 S
         LVAs 2015 W
         LVAs 2015 S
         LVAs 2014 W
         LVAs 2014 S
         LVAs 2013 W
         LVAs 2013 S
         LVAs 2012 W
         LVAs 2012 S
         LVAs 2011 W
         LVAs 2011 S
         LVAs 2010 W
         LVAs 2010 S
         LVAs 2009 W
         LVAs 2009 S
         LVAs 2008 W
         LVAs 2008 S
         LVAs 2007 W
         LVAs 2007 S
         LVAs 2006 W
         LVAs 2006 S
         LVAs 2005 W
         LVAs 2005 S
         LVAs 2004 W
         LVAs 2004 S
         LVAs 2003 W
   Links
Sitemap
Contact
Access:
OCaml
Haskell
GHC
Hugs
previous
Faculty of Informatics
Vienna University of Technology
top | HTML 4.01 | last update: 2017-05-05 (Puntigam)