Christopher Boutiette
December 10, 2009
Overview
The "Scheme Tasker" will allow the user to schedule reminders that are received via cell phone.
Screenshot
Concepts Demonstrated
- List Processing:
- Filter - I used filter to manipulate my global queue of tasks(ex: Filter was used to extract lists containing a value in a certain field).
- Mapper - I used map to implement my procedures onto my global queue of tasks(ex: Map was used to create a task queue by checking the list for values greater than the current time).
- Lambda - I used lambda in some procedures such as "less-than?" to check if any of the date fields were less than the current date.
- Data Abstraction:
- The GUI interactions with the queue.
- Accessors:
- Used to extract specific parts of data from the list.
External Technology
Libraries Used
- scheme/date
- This was used to implement the (current-seconds) procedure which would return the current date in seconds since year zero.
- I also used it to convert the date input by user to seconds from year zero.
- scheme/gui/base
- This library was used to set up all the user-to-program interaction.
- This includes: inputting data, checking data, removing data, starting the program and exiting the program.
- (lib "head.ss" "net")
(lib "smtp.ss" "net")
(lib "mzssl.ss" "openssl")
- These Libraries were used to access smtp outgoing mail.
Innovation
A scheme program that could send text messages using smtp forwarding to cell phones.
Technology Used Block Diagram
Additional Remarks
- I have been wanting to make this program for a while I just haven't had the time, and now finally I found the time.
- I would just like to thank anyone who helped me with this project as well.
- Also: Scheme is bad at infinite loops.