[plt-scheme] behaviour of void?
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