[plt-scheme] behaviour of void?

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Thu Feb 5 14:09:57 EST 2009


It's not only possible, it is an order-of-magnitude easier in HtDP  
than in any Java text. Our "hello world" program is a rocket lifting  
off, and it all follows from the design recipe and images as values,  
plus 7th grade math. -- Matthias






On Feb 5, 2009, at 2:01 PM, Arthur Nunes-Harwit wrote:

> Hi,
>
> 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 approach?
>
> Thanks.
>
> -Arthur
>
>>>> 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.