4 research outputs found

    Haskelite: A Step-By-Step Interpreter for Teaching Functional Programming

    Get PDF
    This paper describes Haskelite, a step-by-step interpreter for a small subset of Haskell. Haskelite is designed to help teach fundamental concepts of functional programming, namely: evaluation by rewriting; definition of functions using pattern-matching; recursion; higher-order functions; and on-demand evaluation. The interpreter is implemented in Elm and compiled to JavaScript, so it runs on the browser and requires no installation. This is on-going work and has yet to be fully evaluated; we present some initial experience in the classroom and highlight some points for improvement

    Experiences from teaching functional programming at Chalmers

    No full text
    John Hughes shared his experiences of teaching functional programming at Chalmers University in Gothenburg along with the successes and the problems he faced. His highest priority was to convince students that they could write real, interesting programs in Haskell by the end of the first course. He eliminated all the course material directly irrelevant to programming like a section on program proofs. He used to taught the material in a different order to most functional programming texts, like introducing Haskell input/output in the first lecture. He also included two lectures on GUI programming (using wxHaskell), building a simple straight-line-diagram editor in a couple of pages of code. He also introduced QuickCheck (random property-based) testing as part of the course, teaching students first to write the left-hand-side and type of a function, then its property, and finally its right-hand-side

    Experiences from teaching functional programming at Chalmers

    No full text
    John Hughes shared his experiences of teaching functional programming at Chalmers University in Gothenburg along with the successes and the problems he faced. His highest priority was to convince students that they could write real, interesting programs in Haskell by the end of the first course. He eliminated all the course material directly irrelevant to programming like a section on program proofs. He used to taught the material in a different order to most functional programming texts, like introducing Haskell input/output in the first lecture. He also included two lectures on GUI programming (using wxHaskell), building a simple straight-line-diagram editor in a couple of pages of code. He also introduced QuickCheck (random property-based) testing as part of the course, teaching students first to write the left-hand-side and type of a function, then its property, and finally its right-hand-side
    corecore