00:01 (join) jonrafkind 01:17 (join) traisen 01:27 (quit) traisen: Ping timeout: 265 seconds 01:33 (join) jDev2852User 01:34 (part) jDev2852User 02:48 (quit) jonrafkind: Ping timeout: 260 seconds 03:03 (quit) writer: Quit: writer 03:32 (quit) Gwyth: Ping timeout: 240 seconds 05:04 (join) dzhus 05:15 (join) jao 05:21 (quit) dzhus: Remote host closed the connection 06:46 (quit) jao: Ping timeout: 265 seconds 06:57 (join) b-man_ 07:02 (join) masm 07:33 (quit) b-man_: Remote host closed the connection 07:33 (join) b-man_ 07:38 (join) jao 07:49 (join) writer 08:02 (join) mceier 08:23 (join) MayDaniel 08:35 (quit) MayDaniel: 08:46 (join) hanDerPeder 09:25 (join) me23 09:27 me23: Anyone here? 09:48 (quit) me23: Quit: Page closed 10:20 (join) MayDaniel 10:45 (quit) Pepe_: Quit: leaving 10:53 (join) sstrickl 11:01 (quit) masm: Quit: Leaving. 11:09 (join) masm 11:10 (quit) b-man_: Remote host closed the connection 11:20 (quit) masm: Read error: Connection reset by peer 11:22 (join) masm 11:28 (quit) MayDaniel: 11:43 askhader: Ye 11:43 askhader: Yep 12:04 (quit) jao: Ping timeout: 245 seconds 12:12 (join) ti84 12:12 ti84: hello ! I've got to do a game using scheme... Does it interest anyone to help me ? :D 12:19 askhader: Yeah absolutely. 12:19 askhader: I love to answer questions about racket and scheme =] 12:25 ti84: well, my game is a race... I think it can be cool but it's quite long and hard for people like me (i mean beginner^^) 12:26 askhader: I see. 12:26 askhader: is it graphical? 12:26 askhader: That is, does it have a graphical user interface? 12:27 ti84: yes, for all of your questions... 12:27 ti84: But for now I just do it with lists, I'll see the graphical part after :) 12:29 askhader: Sure but you want to keep these details in mind when you design your game. 12:30 ti84: of course :) 12:31 ti84: so, i think you'd like to know what the game consists in, i mean in details... 12:33 askhader: Well why not stat by describing the rules of your game without using any programming or scheme terminology whatsoever? 12:33 askhader: start* 12:34 ti84: so, there is a grid (n*m cases). There are free cases, forbidden cases called "walls", and "checkpoints" for each player. It's impossible to leave the game grid... 12:36 ti84: the first line of the grid is the "start line", the last is the "finish line". To win, the players have to "drive" on each checkpoint and then go to the finish line [i hope you understand everything i say, cause I'm not sure I'm speaking well english, here...] 12:37 askhader: I think I know what you're looking for. 12:37 askhader: So the race takes place on a n*m grid? 12:38 askhader: And I assume if n is the length then there are 'n' players? 12:38 askhader: Or is there a set 'n' ? 12:39 ti84: well, the race takes place on a n*m grid, yes, but there are only 2 players (computer(s) or real person(s)) 12:43 askhader: In which direction can players move and over how many spaces. 12:45 ti84: they can move from left to right and from top to bottom (is it like that, that you say in english? :) ), and over one space, sorry, I forgot to mention that 12:46 askhader: No problem 12:47 askhader: I'm guessing they cannot move over the edge of the board? 12:47 (quit) tv|z: Ping timeout: 240 seconds 12:48 ti84: you're right. it's said "imagine a square of walls around the grid" 12:48 ti84: but in what I did, I didn't do this square. I've got my grid and that's all... 12:49 (join) tv|z 12:50 (join) anRch 12:55 (join) MayDaniel 12:56 askhader: I assume you're using lists for your grid? 12:56 ti84: Yes, i am 12:57 askhader: alright, you could define a few data structures to simplify the problem 12:57 askhader: a 'player' for example. 12:58 ti84: well, if you want (you can say no of course ^^), I can give you my email address, and then if you want to give me yours I could send you what I did... 12:58 (join) jonrafkind 12:58 (quit) jonrafkind: Read error: Connection reset by peer 12:58 askhader: paste.lisp.org will suffice 12:59 askhader: That way /everyone/ can help =] 12:59 ti84: for now, just to tell you, I've got a grid made of lists : one with only 4 for the start line, 5 for the finish line, 0 (for free cases) and 1 (for walls) between them 12:59 ti84: ok :) 13:00 askhader: You should probably show me your code, that doesn't mean much to me =] 13:01 ti84: ok I do this 13:01 ti84: but I tell you, it's quite long and I'm pretty sure some definitions I did are useless... 13:02 askhader: We'll see. 13:02 ti84: http://paste.lisp.org/+2IEP 13:02 ti84: Also, I noticed when I sent this paste : I made it in french (the annotations....), so some names are "frenchy" =P 13:02 askhader: What language level are you using? 13:03 askhader: lol that's fine. 13:03 ti84: It's in pretty big 13:04 askhader: A lot of the functions you have defined already exist. For exmple liste is very close to build-list 13:04 ti84: but to make an executable I think I'll have to change it 13:04 ti84: really? 13:04 askhader: http://docs.racket-lang.org/reference/pairs.html?q=build-list#(def._((lib._racket/private/base..rkt)._build-list)) 13:04 ti84: oh, if I knew it ! ^^ Why didn't we learn it at school ?? :) 13:05 askhader: hehe 13:05 askhader: also concat 13:05 askhader: see http://docs.racket-lang.org/reference/pairs.html?q=append&q=build-list#(def._((quote._~23~25kernel)._append)) 13:06 askhader: Are you familiar with higher order list funtions? They are part of what make scheme unique and will make your life much easier 13:06 ti84: I don't get it, my teacher asked us to make concat ! How is it possible ? !! :P 13:06 askhader: Functions like map foldr foldl filter and maybe zip 13:07 askhader: Some instructors want you to implement your own versions, I would recommend you follow the guidelines in that respect. 13:07 ti84: I don't know anything about higher order list functions..; 13:08 askhader: Oh. 13:08 askhader: Perhaps they are outside the scope of your course. 13:08 askhader: What level course is this and for what subject specifically? 13:08 askhader: Just so I can get an idea of what kind of help I should be giving you, I don't want to confuse you. 13:09 askhader: It is possible to finish the assignment without using them, just more verbose. 13:09 ti84: I think so, cause we won't have any new lesson now. We had our last scheme course last week. Now we've got the game and we have to do it with this small knowledge... 13:09 askhader: Okay. 13:10 askhader: it appears that you are permitted to use mutation to solve this problem. 13:10 ti84: what did you mean by level course ? 13:10 askhader: Are you required to generate a board each time, or does the board remain the same for every game? 13:10 askhader: Is it high school? University? 13:10 askhader: Middle school? 13:10 ti84: a kink of university 13:11 askhader: Sure. 13:11 (join) jonrafkind 13:11 (quit) MayDaniel: 13:11 ti84: a computing shool, engineering 13:11 ti84: [haha] 13:12 askhader: Are you required to generate a board each time, or does the board remain the same for every game? 13:12 ti84: But scheme is supposed to be a base for us 13:12 ti84: for every game, it's a new board 13:13 askhader: So I guess you should start with a function that initializes the board. 13:13 askhader: Another function think about might be (move player from to) that moves the `player from `from to `to if possible 13:13 askhader: false if not possible 13:13 askhader: And alters the state of the board. 13:13 askhader: You also need to decide what a `player is 13:14 askhader: If you need help with board generation, let me know 13:14 askhader: It would be something like (board-gen m n) where m is the height and n is the width for example 13:14 askhader: It seems like you can use mutation (set!) so there is no reason why you can't have a global board for the entire game. But this problem can be solved recursively as well. 13:15 ti84: well, with this code, when i write "(grille)" it generates a random grid... so I think it's ok for that...... Oh, I'm sorry I've got to leave... (my family calls me... Oups) 13:15 askhader: No problem, I'm always here (except when I'm sleeping) 13:15 askhader: later. 13:15 (join) philo 13:15 ti84: lol thanks !!! 13:15 ti84: see you 13:15 askhader: peace 13:15 (quit) ti84: Quit: Page closed 13:16 philo: is there a qt binding for racket ? 13:18 jonrafkind: i dont think so 13:19 askhader: Not that I can find. 13:20 philo: would that interrest someone ? 13:21 askhader: presumably you? 13:24 jonrafkind: i think it would be interesting but judging from the amount of work put into the python bindings I think it would be fairly hard to get right 13:24 jonrafkind: i.e, its just not parsing the QT header files and generating some FFI stuff, you have to write a lot of glue code 13:25 (quit) philo: Ping timeout: 265 seconds 13:32 (join) philo 14:10 chandler: philo: I'd be interested. I'd suggest using KDE's smoke library to handle the details. (It doesn't depend on the rest of KDE.) 14:10 philo: yea i reading about it right now 14:10 chandler: philo: http://common-lisp.net/project/commonqt/ is an example of a binding written using smoke. 14:11 philo: ok 14:20 askhader: What does the creation of bindings for external libraries for racket entail? 14:22 (join) jao 14:38 (join) b-man_ 14:39 philo: askhader: that's what i am trying to figure out 14:44 (join) MayDaniel 14:44 (quit) b-man_: Remote host closed the connection 14:51 (quit) anRch: Quit: anRch 14:54 (quit) philo: Ping timeout: 265 seconds 15:04 (join) ti84 15:05 (quit) ti84: Client Quit 15:34 (quit) MayDaniel: 16:02 (join) ti84 16:08 (quit) fogus`: Quit: Page closed 16:24 (quit) ti84: Ping timeout: 265 seconds 16:27 (join) ti84 16:28 ti84: hi, askhader, I'm back :) so, did you test the functions ? (I know you must have other things to do ! :D) Cause I'm doing it, so if you want me to paste the results, tell me :) 16:51 askhader: ti84: Hey 16:51 ti84: so, I worked on it, and I was asking myself : how do I do to know if there is a way between the start line and each checkpoint? 16:52 ti84: [haha, was writing when you posted... anyway...^^] 16:53 askhader: So create a recursive functionm 16:53 askhader: To transverse the board. 16:53 askhader: And find a path, if any 16:53 askhader: There are very efficient ways to do this. 16:53 ti84: how can I transverse the board?? I don't see... :( 16:54 askhader: So let's talk about your board. 16:54 askhader: Let's take this to pm 17:00 (join) lucian 17:05 (quit) tv|z: Ping timeout: 255 seconds 17:05 (quit) mceier: Read error: Operation timed out 17:06 (join) tv|z 17:09 (join) mceier 17:13 (join) samth 17:29 (join) _ryanc_ 17:39 samth: _ryanc_, by the way 17:39 samth: the reason i took out the literals lists is that multiple people said they were confusing 17:39 samth: (from the pldi paper) 17:42 _ryanc_: samth, you used literal-sets the first time around, right? Was that what confused people? 17:43 samth: the whole concept was said to be confusing 17:44 _ryanc_: crazy 17:45 samth: well, most pattern matchers don't require you to specify the constructors explicitly 17:45 _ryanc_: I still think code with confusing bits---that motivated people can figure out---is better than wrong code that actually doesn't do what it claims. 17:46 _ryanc_: I know... and I can imagine someone reading this and saying "How can I tell the contructors from the pattern variables? Where is it specified?" 17:47 samth: given that there are 0 scheme/lisp people on the committee, and that there's already a lot of macrology that readers have to get through, i didn't want to explain any more 17:47 _ryanc_: I wonder if the combination of #:literals and the ?var convention for pattern variables would have been clearer. 17:48 _ryanc_: oh well, we'll see what they say 17:48 samth: yeah 17:49 samth: maybe for the final version we'll put the literals in 17:57 (quit) ti84: Quit: Page closed 18:01 (quit) sstrickl: Quit: sstrickl 18:08 jonrafkind: _ryanc_, ping 18:09 _ryanc_: jonrafkind, pong 18:09 jonrafkind: are you in your office? 18:09 _ryanc_: yes 18:18 (quit) hanDerPeder: Quit: hanDerPeder 19:18 (join) b-man_ 19:50 (join) lucian_ 19:53 (quit) lucian: Ping timeout: 245 seconds 20:24 (quit) b-man_: Remote host closed the connection 20:28 (quit) em: Remote host closed the connection 20:30 (quit) jonrafkind: Ping timeout: 240 seconds 20:31 (quit) mceier: Quit: leaving 20:32 (join) emma 20:32 (join) hanDerPeder 20:49 (quit) _ryanc_: Quit: Leaving 21:08 (quit) hanDerPeder: Quit: hanDerPeder 21:46 (join) zenspider 21:47 zenspider: how can I inspect/print/something the body of a lambda? I was hoping that print-as-expression would enable that but apparently not 21:49 zenspider: car/cdr reject it... 22:02 (join) jeapostrophe 22:35 (join) bem 22:40 (quit) chandler: Quit: goodbye, cruel world 23:04 (join) traisenstp 23:14 (quit) traisenstp: Ping timeout: 265 seconds 23:16 (join) traisenstp 23:16 traisenstp: Has anyone online compiled Racket with cygwin? 23:17 traisenstp: configure gets following error: config.status: error: cannot find input file: wxxt/src/Makefile.in 23:18 offby1: in my humble opinion, using Cygwin is asking for pain. 23:22 traisenstp: Ubuntu would be better? 23:23 bem: Why not just use the binary? 23:23 traisenstp: Because I want to try Racket on an ARM processor 23:23 bem: How are you running Cygwin on ARM? :-) 23:26 traisenstp: Step 1 compile the code somewhere and I need Windows for something ... also gnuarm I have been using for something else uses cygwin 23:27 bem: Ah. I have no idea how well cross compiling Racket works. 23:28 bem: I suspect you're on your own for this one. 23:28 traisenstp: Step 1 compile Racket under something Linux like 23:29 traisenstp: Arm - on my own - understand - but there are build instructions for cygwin, so thought it worked for someone.... 23:31 traisenstp: How about compiling under Ubuntu? Is compiling Racket under Ubuntu also asking for pain? 23:31 bem: No; it's quite easy. 23:31 bem: I don't know anything about Cygwin, so I can't tell you if it's expected to work. 23:31 bremner: it should work pretty much out of the box on Ubuntu 23:31 bremner: although, you know the Debian supports ARM 23:32 bem: You should run "sudo apt-get build-dep plt-scheme" before building it to ensure that the libraries it depends on are present. 23:35 traisenstp: Yes - Ubuntu runs on the ARM...Thanks for the hint... never needed to compile when it scheme 23:41 (quit) traisenstp: Ping timeout: 265 seconds 23:50 (quit) masm: Quit: Leaving. 23:54 (join) jonrafkind 23:55 (quit) jeapostrophe: Quit: jeapostrophe