00:15 (join) PLT_Notify 00:15 PLT_Notify: racket: master Kevin Tew * 3ca3544 (2 files in 1 dirs): places: fixes from Matthew's code review of places - http://bit.ly/mD50FE 00:15 (part) PLT_Notify 01:00 (quit) dnolen: Quit: dnolen 01:16 (quit) Demosthenes: Ping timeout: 246 seconds 01:31 (nick) elliottcable -> ec|detached 01:31 (nick) ec|detached -> elliottcable 01:33 (quit) yoklov: Quit: Leaving. 02:10 (quit) leo2007: Quit: rcirc on GNU Emacs 23.3.50.1 02:10 (quit) realitygrill: Read error: Connection reset by peer 02:10 (join) realitygrill 02:11 (join) leo2007 02:12 (quit) misterm: Remote host closed the connection 02:16 (quit) realitygrill: Read error: Connection reset by peer 02:16 (join) realitygrill 02:24 (quit) realitygrill: Quit: realitygrill 02:31 (join) hkBst 02:34 elliottcable: hey all. I’m new to lisp/scheme in general and Racket in specific. 02:35 elliottcable: without using (module …) (or, thus, #lang), can I import another module, and then export stuff from it? 02:35 elliottcable: Jesus, I worded that terribly. 02:35 elliottcable: I have a “Paws.r6rs-lib” file, and then a “main.rkt” file that I want to expose the same things 02:36 eli: elliottcable: You need to have a module to export stuff from. 02:37 elliottcable: eli: Well, I’m defining a module in Paws.r6rs-lib (something like `(module Paws r6rs … )`) 02:37 eli: Mixing r6rs code with racket modules is a bad idea. 02:37 elliottcable: and I’d like to make `(require (Paws))` receive that stuff. I understand I need a main.rkt in my library directory to achieve this, yes? 02:38 elliottcable: eli: really, I just want an r6rs library. I’m just trying to figure out how to make it Racket-friendly. 02:38 eli: It's friendly to racket code that uses the r6rs language... 02:40 elliottcable: I’m not sure I understand. Like I said, I’m still in the middle of learning it, but I’m trying to learn by doing, so I’m trying to create a file here to start writing code in; just trying to figure out how to make that file amneable to being included into others’ Racket code. 02:40 (join) Nanakhiel 02:40 elliottcable: am I to understand that Racket is not compatible with an r6rs library unless the person who wants to consume the library is also using only r6rs? i.e. they’re seperate sets, not a superset relationship? 02:41 (part) Nanakhiel 02:41 elliottcable: I was hoping to gain wider compatibility by writing a generic r6rs library instead of specifically, a Racket module, but maybe that’s not the best goal then 02:50 eli: elliottcable: Racket had a module system since way before r6rs, 02:50 eli: when r6rs had a library system specified, it was implemented in racket -- on top of its own module system. 02:50 eli: However, there are some differences that make r6rs code pretty different, 02:51 eli: the main one is that pairs (lists etc) in racket are immutable -- for mutable ones it has mpairs (`mcons', `mcar', `set-mcar!' etc). 02:52 eli: The implementation of r6rs in racket uses these mpairs to implement pairs, so from the racket side they're a different type than pairs, which means that to pass them around you need to translate back and forth. 02:54 elliottcable: hm, makes sense 02:55 elliottcable: are there many other worthwhile r6rs implementations than Racket? Am I losing users by writing r6rs code and forcing Racket users to go through some transitory stuff to call into and recieve calls from my APIs? 02:55 elliottcable: or, more likely, am I adding a lot more work for myself to build a compatibility layer for people calling in from “Racket” code? (as opposed to r6rs code) 03:08 elliottcable: eli: what about (provide) vs. (export)? 03:18 Sgeo is looking at Chicken 03:18 elliottcable: oh hey, Sgeo. Thanks for your help last week (ish? I have a bad memory.) 03:18 elliottcable: that was you, right? 03:18 Sgeo: I guess Chicken has things that Racket doesn't have? Specifically, there's a function alist->hash-table 03:19 Sgeo: elliottcable, um... not sure if I could be helpful with Scheme-ish stuff, since I'm a bit of a beginner with that 03:19 Sgeo: But.. remind me what about? 03:19 Sgeo: And if I can't remember, assume it wasn't me, perhaps 03:19 Sgeo: Although I think we have talked before 03:19 elliottcable: hm. okay. 03:19 elliottcable: Oh, no, you joined ##Paws. That’s where I know your name from. 03:19 elliottcable: … though, apparently you left. :D 03:20 Sgeo: Ah. That. 03:24 DT``: Sgeo, alist->hash-table in racket is make-hash. 03:25 Sgeo: Ah 03:35 elliottcable: Am I correct in deducing that this is the format to create a R6RS library file, in Racket? https://gist.github.com/970148 03:36 elliottcable: as I understand it, the `(module foo r6rs … )` is necessary to bring in `#%module-begin`, which is then necessary to differentiate library-style and top-level-style body content, yes? 03:41 elliottcable: Also, is there a way to make `racket -i` *not* print the version when it runs? 03:47 eli: elliottcable: In general, I think that the number of people who use racket is much larger than users of all r6rs schemes combined. 03:48 eli: rudybot: (define t (make-hash '([x . 1] [y . 2]))) 03:48 rudybot: eli: Done. 03:48 eli: rudybot: (hash-ref t 'x) 03:48 rudybot: eli: ; Value: 1 03:48 eli: Sgeo: ^^ 03:49 Sgeo: Ok 04:20 (quit) Sgeo: Ping timeout: 246 seconds 04:47 (join) Sgeo 06:24 (join) masm 06:52 (quit) leo2007: Ping timeout: 250 seconds 08:02 (nick) elliottcable -> ec|detached 08:17 (nick) ec|detached -> elliottcable 08:42 (join) dnolen 09:15 (quit) hkBst: Read error: Connection reset by peer 09:16 (quit) dnolen: Quit: dnolen 09:46 (join) realitygrill 09:53 (join) realitygrill_ 09:53 (quit) realitygrill: Read error: Connection reset by peer 09:53 (nick) realitygrill_ -> realitygrill 10:05 (join) PLT_Notify 10:05 PLT_Notify: racket: master Robby Findler * 0a04456 (2 files in 1 dirs): fix search path problem in scribble - http://bit.ly/lDE0xt 10:05 (part) PLT_Notify 10:09 (join) dnolen 10:14 (quit) realitygrill: Read error: Connection reset by peer 10:14 (join) realitygrill 10:17 (join) lucian 10:43 (quit) realitygrill: Read error: Connection reset by peer 10:43 (join) realitygrill 10:55 (join) PLT_Notify 10:55 PLT_Notify: racket: master Matthew Flatt * c5816ab (1 files in 1 dirs): fix doc typo 10:55 PLT_Notify: racket: master Matthew Flatt * 49aadc5 (5 files in 4 dirs): ffi: add `#:in-original-place?' to deal with thread-unsafe libs ... 10:55 PLT_Notify: racket: master Matthew Flatt * 70a0b74 (28 files in 1 dirs): fix place-channel GC marker, plus a typo in mark-proc generator 10:55 PLT_Notify: racket: master Matthew Flatt * 5f1cd1a (1 files in 1 dirs): implement mzrt_sleep() for Windows 10:55 PLT_Notify: racket: master Matthew Flatt * 087d666 (3 files in 1 dirs): win32: fix timer-thread handling for places 10:55 PLT_Notify: racket: master Matthew Flatt * 3c1cd70 (2 files in 2 dirs): fix finalization of place channels 10:55 PLT_Notify: racket: master Matthew Flatt * a96fe88 (2 files in 1 dirs): ffi: fix race condition in in-original-place support 10:55 PLT_Notify: racket: master commits 0a04456...a96fe88 - http://bit.ly/jvK2rC 10:55 (part) PLT_Notify 10:57 (quit) realitygrill: Read error: Connection reset by peer 10:57 (join) realitygrill 11:03 (join) PLT_Notify 11:03 PLT_Notify: racket: master Matthew Flatt * 0bb0f28 (1 files in 1 dirs): fix non-places build (yet again) - http://bit.ly/jspSCh 11:03 (part) PLT_Notify 11:04 (quit) realitygrill: Read error: Connection reset by peer 11:05 (join) realitygrill 11:12 (quit) realitygrill: Read error: Connection reset by peer 11:13 (join) realitygrill 11:16 (join) ckrailo 11:18 (quit) realitygrill: Read error: Connection reset by peer 11:18 (join) realitygrill 11:25 (nick) samth_away -> samth 11:28 (join) yoklov 11:29 (join) yoklov1 11:29 (quit) yoklov: Read error: Connection reset by peer 11:34 (join) jonrafkind 11:35 (quit) qha: Quit: Leaving. 11:41 (join) Fare 11:47 (join) mithos28 11:51 (join) qha 11:56 (quit) mithos28: Quit: mithos28 11:57 (join) anRch 12:02 (join) mithos28 12:11 (quit) mithos28: Quit: mithos28 12:20 ohwow: Hello, how are you? 12:23 (quit) anRch: Quit: anRch 12:28 samth: good 12:40 (join) anRch 12:51 (quit) realitygrill: Quit: realitygrill 12:52 (quit) anRch: Ping timeout: 246 seconds 12:56 (join) PLT_Notify 12:56 PLT_Notify: racket: master Matthias Felleisen * b57fcca (1 files in 1 dirs): protocol damage noted 12:56 PLT_Notify: racket: master Matthias Felleisen * df05a41 (1 files in 1 dirs): turn into reasonable performance test 12:56 PLT_Notify: racket: master Matthias Felleisen * 0251270 (18 files in 3 dirs): supply missing documentation 12:56 PLT_Notify: racket: master Matthias Felleisen * 84cb649 (1 files in 1 dirs): removed pair? from language primitives so that HTDP works; Closes PR 10148 12:56 PLT_Notify: racket: master commits 0bb0f28...84cb649 - http://bit.ly/mf77th 12:56 (part) PLT_Notify 13:13 (join) realitygrill 13:15 (join) anRch 13:32 (join) mithos28 14:05 (quit) mithos28: Quit: mithos28 14:27 (quit) Fare: Quit: Leaving 14:51 (join) MayDaniel 15:05 (join) tubeamp 15:06 tubeamp: hi folks 15:06 tubeamp: i think i've found a bug in DrRacket 5.1 15:08 stamourv: what is it? 15:09 tubeamp: when pressing Alt+Space on Windows, as I do frequently to open the Window menu, it gives me an "Internal Error" message 15:09 tubeamp: this happens on WinXP and Win7 at least 15:10 tubeamp: this is the message in the error dialog: http://pastebin.com/enV0f2a3 15:11 tubeamp: additionally, a console window pops up (with the same message in it), which cannot be closed until DrRacket itself is closed 15:11 stamourv: have you tried with 5.1.1? 15:11 tubeamp: not yet 15:12 stamourv: I don't have a windows machine on hand to try to reproduce it 15:12 stamourv: give it a try, and let me know if it still happens 15:12 tubeamp: in progress 15:13 (quit) anRch: Quit: anRch 15:17 (join) devogon 15:19 tubeamp: nice, in 5.1.1 it works :-) 15:21 stamourv: great! 15:22 stamourv: there's a lot of new goodies in 5.1.1 too 15:24 tubeamp: i.e. it used the new file format as default (on my ubuntu machine), which I didn't like at all 15:26 bremner_: new file format? 15:27 (join) dyoo 15:28 (quit) MayDaniel: Read error: Connection reset by peer 15:28 tubeamp: This file uses the GRacket editor format. Open this file in DrRacket version 5.1.1 or later to read it. Most likely, it was created by saving a program in DrRacket, and it probably contains a program with non-text elements (such as images or comment boxes). 15:28 tubeamp: but there is only text in it, and no teachpacks are used 15:28 bremner_: oic 15:28 stamourv: are you in a student language? 15:29 _p4bl0: hi everyone 15:30 tubeamp: HtDP Intermediate 15:31 _p4bl0: since Racket v5.1 I have a problem with drawing, I have an error "compile: unbound identifier in module in: draw-rectangle" (or draw-rounded-recatble for instance). My code worked with Racket v5.0.2. Is it a known bug? 15:31 _p4bl0: or do I have to make some change inmy code? I read the doc and it doesn't seem so 15:32 samth: have you loaded the 2htdp/draw teachpack? 15:32 _p4bl0: samth: me or tubeamp? 15:33 _p4bl0: samth: I require'd racket/gui/base et racket/draw 15:33 _p4bl0: (I don't use DrRacket, and no teachpack either) 15:34 samth: ok, what module is `draw-rectangle' from? 15:34 _p4bl0: racket/draw 15:34 samth: ok 15:34 samth: then your code should work 15:34 _p4bl0: it's a method of dc object 15:35 samth: then calling it without send will not work 15:36 _p4bl0: that's what I do, I'll paste you the method 15:36 _p4bl0: http://pastie.org/1897917 15:37 (quit) yoklov1: Quit: Leaving. 15:37 _p4bl0: (block-width and block-height are field of my class) 15:38 samth: does it work if you use plain `send' and not `send*'? 15:39 _p4bl0: I'll try 15:40 _p4bl0: ,ope 15:40 _p4bl0: nope* 15:40 samth: hmm 15:40 _p4bl0: oh wait 15:40 samth: can you paste that as well? 15:40 _p4bl0: I changed the wrong method 15:41 _p4bl0: yeup it seems to work is I don't use send* 15:42 _p4bl0: So I have to refactor all my code to use send instead of send*... that's not really cool 15:45 _p4bl0: send* is really useful sometimes, the code is much more cleaner with it 15:47 (join) yoklov 15:55 samth: _p4bl0, can you come up with a small example of `send*' breaking? 15:57 samth: it seems to be working for me in exactly the intended way 15:57 samth: in particular, your example works fine 16:01 _p4bl0: samth: since I fixed it by using send instead of send* it seems to work even with send*... mmm I must have done something else, let me check git diffs 16:07 (join) PLT_Notify 16:07 PLT_Notify: racket: master Matthew Flatt * a613e81 (19 files in 4 dirs): change protocol for extensions with places ... 16:07 PLT_Notify: racket: master Matthew Flatt * 343568f (4 files in 2 dirs): fix return type of scheme_get_place_table() 16:07 PLT_Notify: racket: master Matthew Flatt * 450c66d (6 files in 2 dirs): fix MysterX for places 16:07 PLT_Notify: racket: master Matthew Flatt * 2e36762 (1 files in 1 dirs): win32: fix pango font-map finalization 16:07 PLT_Notify: racket: master commits 84cb649...2e36762 - http://bit.ly/ko5vGq 16:07 (part) PLT_Notify 16:08 _p4bl0: mmmm :-S I don't understand anything: I git reverted to where I was when it didn't work and now it's working... and git diffs show nothing but the send* -> send change... 16:09 _p4bl0: I must I've done something else they're no other possibility, but I really don't see what! 16:12 (quit) realitygrill: Read error: Connection reset by peer 16:13 (join) realitygrill 16:16 (join) tauntaun 16:21 (quit) realitygrill: Read error: Connection reset by peer 16:22 (join) realitygrill 16:24 _p4bl0: How can I tell racket to show me more context when there is an error? 16:26 _p4bl0: I now have another error, but the context consist almost only of "continue-make-super" and after 15 lines there's '...' 16:26 (join) sstrickl 16:26 (quit) realitygrill: Client Quit 16:35 (join) realitygrill 16:44 _p4bl0: "initialization for a class that implements area<%>: expected argument of type ; given 1/2" <-- How should I understand this? Does area<%> expect 2 arguments which are "" or did it receives "1/2" as argument where it was expecting an ""? 16:46 jonrafkind: the latter.. but i dont understand how you could come to the former 16:46 jonrafkind: ohhhhhhhh 16:46 jonrafkind: rofl! 1/2.. 16:46 _p4bl0: hu? 16:47 jonrafkind: you interpreted 1/2 as "one out of two arugments" 16:47 _p4bl0: yep ^^ 16:47 jonrafkind: errors could be better.. "expected argument of type blah but instead was given foo" 16:48 _p4bl0: that sounds ocamlish :-p 16:48 jonrafkind: you mean.. verbose? 16:49 _p4bl0: no, I mean that this kind of type error are familiar to who have used OCaml 16:50 _p4bl0: now I have to figure where tf something eval to 1/2 in my code... I don't even have non integer values 16:51 _p4bl0: (and teh error doesn't tell which line or expression caused it, and something like every GUI widgets implements area<%> 16:51 _p4bl0: -_- 16:53 jonrafkind: yes, line numbers and racket are distant cousins 16:53 jonrafkind: welcome to printf debugging 16:53 jonrafkind: you can try to use errortrace 16:54 _p4bl0: reading the doc, thx 16:59 _p4bl0: mmmm it's not a big help 17:00 _p4bl0: ho! it seems that sometimes my 1/2 is 2/5... 17:01 jonrafkind: maybe use contracts to discover who is passing in 1/2 or whatever 17:03 samth: jonrafkind, i don't understand what you mean by: " yes, line numbers and racket are distant cousins" 17:03 samth: i get plenty of line numbers 17:03 jonrafkind: yes, most of them are from irrelevant libraries 17:04 jonrafkind: the only time racket produces useful line number information is at compile time, at runtime you get nothing useful 17:05 samth: jonrafkind, you're totally wrong about that 17:05 samth: i get useful line numbers all the time 17:05 jonrafkind: i almost never do 17:05 jonrafkind: so how am I wrong? 17:05 _p4bl0: same as jonrafkind here 17:05 samth: the fact that they include libraries is inherent in stack traces 17:05 jonrafkind: thats fine, but they dont give me line numbers from my own code 17:05 jonrafkind: so its useless information 17:06 jonrafkind: even in the rare case that I get a line number pointing to my own code, it points to the start of a 20 line function, and the error is somewhere inside 17:06 samth: that what a stack trace is! 17:06 jonrafkind: have you used java? 17:07 samth: yes 17:07 samth: java also has stack traces 17:07 jonrafkind: exceptions point to exactly what line threw the error in the first place 17:07 jonrafkind: not the containing function 17:07 _p4bl0: but you have to write java code 17:08 jonrafkind: occasionally I'd rather have an easily debuggable environment than a powerful one 17:09 _p4bl0: I was just trolling ;-) 17:09 jonrafkind: heh 17:35 (quit) dnolen: Ping timeout: 252 seconds 17:43 (join) lucian_ 17:45 (quit) lucian: Read error: Connection reset by peer 17:48 _p4bl0: okay everything works again now. It seems that the new graphical backend is so fast that some stuff like window resizing (or at least the call to the on-size method) happened way earlier and other stuff in my program were not ready yet! 17:49 samth: w00t 17:51 _p4bl0: so now I have to improve a bit the gameplay and then I can release Racketris, a multiplayer tetris in racket :-) 17:51 _p4bl0: I hope I'll have some time this week-end 17:52 (join) lucian 17:55 (quit) lucian_: Ping timeout: 240 seconds 17:58 (join) Lajla 17:58 (part) Lajla 18:15 (quit) ckrailo: Read error: Connection reset by peer 18:15 (join) ckrailo 18:23 samth: _p4bl0, sounds fun 18:24 (join) YokYok 18:24 (join) dnolen 18:26 (quit) tauntaun: Quit: Ex-Chat 18:27 YokYok: I have no idea what is the keyboard shortcut in DrRacket to switch the input from the interpreter to the editor 18:27 YokYok: I wasn't able to find that in the keybindings menu 18:36 (join) mithos28 18:39 EM03: did they ever upgrade the version of wxwidgets used in racket? 18:39 jonrafkind: yea, upgraded to /dev/null 18:39 EM03: Also is it possible to build standalone applications with racket with wx for some fast prototyping? 18:39 dyoo: YokYok: it used to be bound to 'Ctrl-x o', but I don't think it's bound in drracket 5.1.1 18:40 jonrafkind: why would youw ant to combine racket with wx? 18:40 jonrafkind: do you realize all the wx code is gone in 5.1? 18:40 EM03: I meant build a quick gui application? 18:40 EM03: I have no idea 18:40 EM03: had* 18:40 jonrafkind: i mean just use the gui libraries racket comes with 18:40 jonrafkind: whehter its implemented in wx or something else shouldn't concern you 18:41 EM03: I didn't even know racket had any to begin with 18:41 dyoo: EM03: have you seen http://docs.racket-lang.org/gui/index.html already? 18:41 EM03: I'm lookingat it right now 18:41 EM03: what does it use for drawing? its own thing or the native platform? 18:42 dyoo: depends on platform now; on linux, I believe it's gtk 18:42 jonrafkind: 5.1 is native, older than 5.1 is wx 18:42 EM03: winodws and mac? 18:42 jonrafkind: yea, and linux 18:42 EM03: is it native win32 drawing api with 5.1? 18:42 EM03: If so thats pretty crazy 18:44 jonrafkind: yea 18:45 dyoo: EM03: relevant entry about the current gui system: http://blog.racket-lang.org/2010/12/racket-version-5.html 18:46 YokYok: thanks dyoo for the answer, yes ctrl+x+o does nothing and I have 5.1.1 18:46 EM03: hmm with all of that written in racket does it slow it down at all? 18:46 EM03: when before it was in c++ ? 18:47 jonrafkind: the gui is a bit slower, but its not clear if its because of the move to native libraries (gtk in my case) or c++ to racket 18:47 EM03: hmmm I see 18:47 jonrafkind: probably a bit of both 18:48 EM03: slow gui's are never fun 18:48 bremner_: I didn't notice any slowdown but I only use it occasionally 18:49 bremner_: actually 5.1.1 seemed a bit faster 18:49 jonrafkind: fwiw, java's gui is slow as molasses on my system. its partly a function of your underlying graphics capabilities 18:49 jonrafkind: but still the 5.0 gui was faster, and that was when I was using a worse driver 18:50 EM03: I can't say its fast here .....3 years old mac here 18:50 jonrafkind: you're trying drracket? 18:51 EM03: yes 18:51 jonrafkind: i mean i haven't used any racket gui's besides drracket, so it also might be how drracket uses the gui 18:51 EM03: well I'm using it now 18:51 EM03: wx apps can be slow to 18:51 EM03: true native is best usually 18:52 (quit) ckrailo: Read error: Connection reset by peer 18:52 (join) ckrailo 18:52 samth: jonrafkind, i think slideshow is faster these days 18:52 samth: but drracket a little slower 18:52 jonrafkind: ah yea, i haven't tried slideshow yet 18:52 samth: at least, that's my subjective feeling 18:52 samth: could be totally wrong 18:59 (join) shofetim 19:04 tubeamp: YokYok: you could just use Ctrl+e to hide the interpreter, which automatically focuses the editor :-) 19:11 (part) dyoo 19:27 (quit) yoklov: Quit: Leaving. 19:48 (part) shofetim: "ERC Version 5.3 (IRC client for Emacs)" 19:53 (quit) realitygrill: Quit: realitygrill 19:54 (part) tubeamp 20:00 (quit) lucian: Remote host closed the connection 20:16 (join) realitygrill 20:17 (quit) ckrailo: Quit: Computer has gone to sleep. 20:27 (quit) jonrafkind: Ping timeout: 240 seconds 20:31 (quit) dnolen: Quit: dnolen 20:37 (quit) realitygrill: Quit: realitygrill 20:42 (join) rpr 20:45 (join) ckrailo 20:57 (join) realitygrill 21:10 (quit) rpr: Remote host closed the connection 21:16 (join) shofetim 21:30 (join) Smooth_ 21:30 Smooth_: anyone know where the default installation location is in Ubuntu? 21:33 shofetim: try whereis racket ? 21:47 Smooth_: i found it, it wasn't installed actually 21:47 Smooth_: i couldn't install it in my usr because i didn't have permissions 22:04 EM03: what other languages have a concept like contracts? 22:05 (quit) mithos28: Quit: mithos28 22:06 (join) realitygrill_ 22:07 (quit) realitygrill: Ping timeout: 258 seconds 22:07 (nick) realitygrill_ -> realitygrill 22:10 samth: EM03, see here: anyone know where the default installation location is in Ubuntu? 22:10 samth: dammit 22:10 samth: http://en.wikipedia.org/wiki/Design_by_contract 22:11 EM03: this something new to me 22:11 EM03: languages I have used look to have 3rd party support but I never used them nor have I saw others use it 22:12 (join) mithos28 22:15 (nick) samth -> samth_away 22:22 (join) yoklov 22:27 EM03: are classes heavily used by racket people? or scheme people in general? 22:27 (quit) mithos28: Quit: mithos28 22:44 (quit) masm: Read error: Operation timed out 22:51 (join) realitygrill_ 22:53 (quit) realitygrill: Ping timeout: 276 seconds 22:53 (nick) realitygrill_ -> realitygrill 23:01 (quit) realitygrill: Read error: Connection reset by peer 23:01 (join) realitygrill 23:09 DT``: EM03, I'd say no (scheme in general), and depends (racket). 23:10 DT``: with racket, the only place where you're forced to use classes is with the GUI system. 23:10 EM03: Ah 23:11 DT``: but surely not ``heavily''. 23:20 (join) dyoo 23:21 (quit) realitygrill: Read error: Connection reset by peer 23:21 (join) realitygrill 23:43 (join) wwwd 23:50 (quit) realitygrill: Read error: Connection reset by peer 23:51 (join) realitygrill 23:51 wwwd: I'm trying to follow "How to Design Programs". When I use animate which is a primative I get an error "animate: name is not defined, not a parameter, and not a primitive name". Anyone familiar enough with this tutorial to tell me what I am doing wrong? 23:59 (part) sstrickl