[plt-scheme] behaviour of void?

From: Arthur Nunes-Harwit (anh at cs.rit.edu)
Date: Thu Feb 5 14:01:02 EST 2009


I see a lot of projects that are video games.  Such projects ultimately 
rely input and output, or side effects (perhaps disguised via monads). 
The coding style for much of HtDP is purely functional.  What is the 
pedagogical impact?  Do the students notice?  (As a student, I didn't 
notice right away that read was different from square.)  Is there any 
discussion of "special" functions or objects?

What is the impact of other languages such as Java where the assumption 
[built into the language libraries] is that everything is done using side 
effects?  To what extent is it still possible to take a mostly functional 



>>> In any case, can anyone share any specific ideas for a "large" project
>> that worked well in your courses?
> (Wrong mailing list probably, but here we go)
> Freshman games only:
> single machine games:
>   -- 'space war' (neu)
>   -- 'airplane fire fighting' (wpi)
>   --  'worm' (neu)
>   -- 'little tetris' (neu)
> distributed games:
>   -- 'hangman' (neu)
>   -- 'chat noir' (chicago)
> All of them can be done as described:
> -- plain recursive functions (lists + structs)
> -- revise to criticism
> -- higher-order function revision (looks like applicative class-based 
> programming, if done properly)
> -- state-based revisions (looks like imperative class-based programming, if 
> done properly)
> You can, if you so wish, re-assign the same problem in Java in the second 
> semester. It is an eye-popping experience for most of them to see the DR work 
> out perfectly for a Java-based world.
> -- Matthias
> _________________________________________________
> For list-related administrative tasks:
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme

Posted on the users mailing list.