Fall 2013, David Matuszek

Purpose of this assignment

The purpose of this course is to introduce you to a variety of programming languages and programming language constructs. REBOL is interesting in a number of ways:

General idea of the assignment

Part 1

REBOL is a functional language, but it lacks the usual map, filter, and fold functions (as in Haskell). Write them. The fold function should take an /init refinement, to provide an initial value.

Write a small test framework. Use it to show that the above three functions work.

Part 2

Do something interesting. With a GUI.

By "interesting," I mean something of interest to you. It doesn't have to be interesting to me. It would be nice if your program looked like you had put a couple of hours effort into it.

There are lots of REBOL programs that you can use as examples. You should not, of course, simply copy one of the examples and make trivial changes to it.

Please include, with your programs, a .txt file (not a .doc file) that tells us what your "interesting" program does and how to use it. For most programs, a single paragraph will probably suffice, but feel free to write more. Zip this .txt file together with your .r files (producing a .zip file, not a .rar file) to submit it.


Due date

Zip up the .r and .txt files for this project and submit to Canvas by 6am next Wednesday, October 23.