Red
Red is a programming language that attempts to improve upon an earlier one called REBOL. Much like Scheme, a major feature of Red is that the structure of your code is the same as the structure of data structures in Red itself; that is, Red is homoiconic.
A major goal of the language designers was to make the language human-readable and simple. There is also an aim of making GUI programming as straightforward as possible, without having to get too far into the weeds to do simple windowed apps.
Useful Links
Tools
We will use the reference implementation from the Red project, version 0.6.4.
Note, the executable is called red-064
for us, even though it
is just called red
in most of the online documentation.
Everything you need is already installed on CS department lab machines
in the /courses/roche/413/bin
folder, which should be in your
PATH.
To install on your virtual machine, follow these steps:
- Install 32-bit library dependencies:
sudo dpkg --add-architecture i386 sudo apt update sudo apt install libc6:i386 libcurl4:i386 libgtk-3-0:i386 libgdk-pixbuf2.0-0:i386
-
Download the
red-064
executable to yourbin
directory:mkdir -p ~/bin curl -L -o ~/bin/red-064 https://static.red-lang.org/dl/linux/red-064 chmod +x ~/bin/red-064
How I will run your code
The programs you submit should be in a single file
called proj.red
, for either part of the project.
I will test your code by running the following commands
using the software available in the lab environment or using the instructions
above:
red-064 proj.red
Phase 1 Requirements
For this language, you need to implement modifications B,D,F, and G. See the Phase 1 page for details on what this means.
Phase 2
See the Phase 2 Page for the list of suggested
problems. Of the ones listed, I recommend the following as being most
well-suited for LANGUAGE:
- Image Creator
- Hangman
- Vending Machine
- Game with hidden agenda
- Find the missing digits
- Rock, Paper, Scissors
- Music Maker
- ??? (you choose!)