A Programming Tutor for Haskell

نویسندگان

  • Johan Jeuring
  • Alex Gerdes
  • Bastiaan Heeren
چکیده

In these lectures we will introduce an interactive system that supports writing simple functional programs. Using this system, students learning functional programming: – develop their programs incrementally, – receive feedback about whether or not they are on the right track, – can ask for a hint when they are stuck, – see how a complete program is stepwise constructed, – get suggestions about how to refactor their program. The system itself is implemented as a functional program, and uses fundamental concepts such as rewriting, parsing, strategies, program transformations and higher-order combinators such as the fold. We will introduce these concepts, and show how they are used in the implementation of the interactive functional programming tutor.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

WHAT: Web-Based Haskell Adaptive Tutor

In this paper we introduce WHAT, an intelligent tutor for learning the functional programming language Haskell. WHAT adapts its behavior not only individually for each student but also by considering the performance of similar students. The core of its adaptive part is based on the classification of students into classes (groups of students sharing some attributes). By doing that, the behavior ...

متن کامل

Teachers and Students in Charge - Using Annotated Model Solutions in a Functional Programming Tutor

We are developing Ask-Elle, a programming tutor that supports students practising functional programming exercises in Haskell. Ask-Elle supports the stepwise construction of a program, can give hints and worked-out solutions at any time, and can check whether or not a student is developing a program similar to one of the model solutions for a problem. An important goal of Ask-Elle is to allow a...

متن کامل

Reflecting Demand in Programming Logics: a case study for Haskell

Haskell is a functional programming language whose evaluation is lazy by default. However, Haskell also provides pattern matching facilities which add a modicum of eagerness to its otherwise lazy default evaluation. This mixed or “non-strict” semantics can be quite difficult to reason with. This paper introduces a programming logic, P-logic, which neatly formalizes the mixed evaluation in Haske...

متن کامل

Formulating Haskell

The functional programming language Haskell is examined from the point of view of proving programs correct. Particular features explored include the data type deenition facilities, classes, the behaviour of patterns and guards and the monad approach to IO in the Glasgow Haskell compiler.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011