Extending and Evaluating a Tool for Visual and Stepwise Evaluation of Functional Programming Expressions (ClickyEvaluation)


ClickyEvaluation is a visual interpreter for a Haskell-like language. Expressions can be entered as text and will be displayed as interactive HTML. The user can control the order of evaluation by clicking (thus the name) on subexpressions. The goal of ClickyEvaluation is to help students understand the evaluation of expressions in functional languages, especially with regards to higher order functions like <code>map</code> or <code>fold</code>. The project is written in PureScript, a Haskell dialect that compiles to JavaScript. Being compiled to JavaScript allows ClickyEvaluation to be used on any platform without the need to install additional software or to connect to a server.

  • Evaluated in a short and small experiment
  • Not yet evaluated in a course setting
  • Plan: Evaluate its usefulness during the FP or PdP course
  • Also: Implement more features


  • Evaluate tool parallel to FP or PdP course
  • Implement more features, e.g.:
    • Algebraic Data Types
    • do-Notation
    • Type Classes
  • Improve Interface:
    • Nicer GUI with better feedback
    • Refactor frontend code
    • Improve history performance


  • Finished FP course (knowledge of monads) and hungry for more
  • Some knowledge of web technologies (JS, CSS, HTML)
  • Interest in doing experiments with students (questionnaires and exercises)

Download as PDF


Stefan Kögel