00:16 (join) mithos28 00:26 (quit) dnolen: Quit: dnolen 00:38 (quit) realitygrill: Quit: realitygrill 00:40 (quit) francisl: Quit: francisl 00:48 (quit) EmmanuelOga: Ping timeout: 252 seconds 02:02 (quit) jonrafkind: Ping timeout: 258 seconds 02:05 (join) dingfeng 02:26 (quit) cafesofie: Ping timeout: 240 seconds 02:55 (quit) jrslepak_: Quit: Leaving 04:08 (join) bluezenix 04:18 (join) samth 04:31 (quit) samth: Ping timeout: 258 seconds 04:34 (join) bluezenix1 04:34 (quit) bluezenix: Ping timeout: 240 seconds 04:45 (quit) mithos28: Quit: mithos28 05:10 (quit) emma: Ping timeout: 245 seconds 05:12 (join) emma 05:41 (join) merijn 06:06 (join) masm 06:31 eMBee: samth_away: it i build racket on my own machine it dies earlier with make[1]: *** [install-3m] Killed :-( 06:38 (quit) dingfeng: Ping timeout: 265 seconds 07:16 (join) realitygrill 07:19 (join) francisl 08:02 (quit) metasyntax|work: Quit: WeeChat [quit] 08:05 bremner: you need to give a bit more context ;) 08:25 (quit) realitygrill: Quit: realitygrill 09:06 (quit) francisl: Quit: francisl 09:08 (join) EmmanuelOga 09:20 (join) dnolen 09:22 (part) merijn 09:32 (join) ApeShot 09:37 _p4bl0: Hello, is there a way too have the Racket web server running in a thread while using Geiser? 09:37 _p4bl0: I'd like to be able dynamically make changes in some modules and I currently have to kill the server and restart it each time to test my changes, it's a bit annoying. 09:43 ApeShot: I don't know about your question directly, but it seems sort of not Racketish to do that kind of thing. 09:43 ApeShot: It seems to me like the language is built with more static-ness in mind than most lisps. 09:43 ApeShot: That said, I don't really know 09:45 ApeShot: So does anyone here think Racket can function as a Pure language? 09:45 ApeShot: I lean heavily towards purity stylistically, and from this perspective, it seems like Scheme/Racket may not quite fit. 09:46 bremner: huh? so don't use things that end in ! 09:46 bremner: or does pure mean something other than lack of mutation to you? 09:47 ApeShot: Well, there are no monads in Racket, for instance. 09:48 ApeShot: So staging all but the most trivial state based computations is clumsy and also somewhat fraught, because racket isn't (by default) lazy. 09:48 ApeShot: I've written a monad library, but deep thought suggests that it will have difficult to predict time and space properties 09:48 _p4bl0: ApeShot: okay, thanks. That's too bad because REPL-driven development is very very cool when doing web dev. 09:48 ApeShot: And the class system (particularly the GUI) is not functional at all. 09:48 ApeShot: _p4bl0: Don't take my word on this, as I don't really know 09:49 ApeShot: _p4bl0: It might be possible 09:49 _p4bl0: okay 09:49 ApeShot: _p4bl0: I mean, I'm sure that it _is_ possible, but you might have to hack it out yourself. 09:50 ApeShot: I am aware that GUI programming is inherently stateful, but the way that state is exposed is not very pure feeling. 09:51 ApeShot: It seems trivial at first that Haskell puts IO into a monad, but in actuality it makes a lot of sense from a design perspective. There is no way, in Haskell, using standard idioms, to evaluate an IO command. You merely build them and then they are executed "elsewhere" when needed. 09:52 ApeShot: This encapsulates the IO activity and lets you focus on composition and calculation of values, rather than side effects. 09:52 bremner: yeah, I know Haskell some. But I'm not familiar with mutation-free gui programming. 09:53 bremner: I'm pretty sure I don't want to get any more familiar with it, actually ;) 09:53 ApeShot: I'd love to get some insight into the design of the Racket class system. For such a forward thinking language, the class system seems strangely Java-ish, although much more powerful. 09:54 ApeShot: I'm kind of kicking around the idea of writing a book about almost completely pure game development in Racket, and so I'm thinking a lot about these things lately. 09:55 ApeShot: I'm not necessarily an advocate of rigid purity - I'm more interested in trying to see if it is even possible. 09:56 ApeShot: On the other hand, I do find side effects kind of confusing and prefer not to think about them whenever possible. 10:05 (nick) samth_away -> samth 10:07 samth: _p4bl0: it's not possible to change the code in a running racket module, which means that you often need to restart the web server on changes 10:07 samth: ApeShot: there's a paper about the class system here: http://www.ccs.neu.edu/scheme/pubs/asplas06-fff.pdf 10:08 samth: you can program in a nice functional style using the class system 10:08 samth: but the gui library itself is heavily imperative 10:08 samth: ApeShot: also, i don't see why you'd need laziness to make monads work 10:09 samth: eMBee: do you have any more info about what happened to that build? 10:09 jao: samth, i guess i'm misunderstanding what you said. it's certainly possible to modify a module in a running racket repl. geiser does that all the time. 10:10 samth: jao: i suppose you can turn off `compile-enforce-module-constants' 10:10 samth: and then `set!' away 10:11 samth: is that what geiser is doing? 10:11 jao: samth, you don't need set!. plain define does it. 10:11 samth: right 10:11 jao: (or define-syntax, and so on) 10:11 samth: but you do need to change that parameter for compilation 10:11 jao: yes 10:13 samth: so i should rephrase to "it's not possible unless you have control over the compilation of the relevant module" 10:14 jao: fair enough 10:15 _p4bl0: samth: jao: okay, thanks for your answer 10:17 (join) mye 10:18 (quit) dnolen: Quit: dnolen 10:28 stamourv: ApeShot: For functional GUIs, you may be interested in frtime. 10:28 stamourv: rudybot: doc frtime 10:28 rudybot: stamourv: your sandbox is ready 10:28 rudybot: stamourv: not found in any library's documentation: frtime 10:29 stamourv: ... 10:29 samth: rudybot: (require frtime) 10:29 rudybot: samth: your racket/init sandbox is ready 10:29 rudybot: samth: error: current-directory: `exists' access denied for /usr/local/src/rudybot/ 10:29 stamourv: ApeShot: If you search the docs, you will find it. 10:29 samth: well that didn't do the right thing 10:29 samth: http://pre.racket-lang.org/docs/html/frtime/index.html?q=frtime 10:29 samth: offby1: i think the above is a rudybot bug 10:30 stamourv: ApeShot: For functional games, there's a lot being done with HTDP's universe library. Here at NEU, freshmen write games with it in their first programming class. 10:30 stamourv: ApeShot: See also Realm of Racket (http://realmofracket.com/). 10:31 samth: more generally, though, i think functional guis are not yet production ready 10:31 stamourv: ApeShot: And jeapostrophe has some interest in that: https://github.com/get-bonus/get-bonus 10:32 ohwow: Hi guys 10:32 stamourv: samth: Agreed, but FRP is a start. 10:32 samth: yeah 10:32 samth: as i recall, when carl was looking at this, things like scrollbars were a big challenge 10:33 stamourv: I remember him saying that too. 10:45 offby1: samth: https://github.com/offby1/rudybot/issues/8 10:51 (join) Shvillr 10:51 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/PYNrVA 10:51 RacketCommitBot: [racket/master] minor docs fix - Robby Findler 10:52 ApeShot: Thanks for all the hints, everyone. 10:56 Shvillr: Hello everyone. Can anyone say anything about FrTime? I made a small demo, but just like the ones provided with it it is very laggy. Is that the expected behavior? 10:56 (nick) Shvillr -> Shviller 11:04 offby1: FrTime doesn't seem to work in rudybot. 11:05 Shviller: Well, given FrTime's nature and what I've just googled about rudybot, I'm not surprised. 11:09 (join) realitygrill 11:10 samth: Shviller: i don't think it should be laggy 11:11 Shviller: Well, I bet it isn't by design, but I was thinking that maybe it's an already known issue. 11:12 Shviller: For me, playing the tetris example was downright painful. 11:13 stamourv: Shviller: What are you running it on? 11:13 stamourv: The JIT is weak/non-existent on PPC, for instance. 11:13 offby1: a bed of nails! 11:13 stamourv: offby1: That may be the problem. 11:13 Shviller: Windows XP/7 (two different PCs), both 32 bit. 11:14 stamourv: Shviller: Did you install using the installer, or did you build yourself? 11:14 Shviller: The installer. 11:15 samth: Shviller: for me, it plays pretty well 11:15 stamourv: I can't think of anything wrong with that off the top of my head. 11:15 stamourv: Unless these are very low-end machines. 11:16 Shviller: Both are dual-cores. XP machine is 1.8Ggz and 7 is 2.5Ggz. 11:16 Shviller: So yeah, nowhere near top of the line, but should be more than sufficient. 11:17 samth: yeah, those should work fine 11:18 Shviller: Would testing it on more Windows machines be feasible? 11:18 Shviller looks around his office and cracks knuckles 11:18 asumu: Tetris is a bit laggy on my machine too. Linux here. 11:18 asumu: Playable though. 11:22 Shviller: My demo uses OpenGL, and it itself gives me the expected 60FPS. But the parameter that is hooked to an FrTime behavior is updated noticeably more rarely, and irregularly, too. 11:26 (join) mithos28 11:29 (quit) mye: Remote host closed the connection 11:31 (join) dnolen 11:48 (join) anRch 12:17 (quit) anRch: Quit: anRch 12:23 (join) anRch 12:25 (quit) anRch: Read error: Connection reset by peer 12:32 (join) anRch 12:33 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/HHguVw 12:33 RacketCommitBot: [racket/master] disable incremental-keybindings.rkt - Robby Findler 12:39 (quit) bluezenix1: Read error: Connection reset by peer 12:42 (part) tonyg 12:43 (join) jonrafkind 12:48 (quit) anRch: Quit: anRch 13:08 (join) cafesofie 13:09 (join) jeapostrophe 13:17 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/Y_EQ_g 13:17 RacketCommitBot: [racket/master] Improving error messages for non-serializable continuation pieces - Jay McCarthy 13:17 RacketCommitBot: [racket/master] DrDr, test this push - Jay McCarthy 13:28 (join) bluezenix 13:41 (join) MayDaniel 14:03 (join) mceier 14:04 (quit) bluezenix: Quit: Leaving. 14:09 (join) anRch 14:30 (quit) jao: Ping timeout: 240 seconds 14:32 (quit) MayDaniel: Read error: Connection reset by peer 14:41 (join) Fare 15:01 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/F60z4w 15:01 RacketCommitBot: [racket/master] Changed the exn thrown - Jay McCarthy 15:08 (quit) anRch: Quit: anRch 15:35 (join) bluezenix 15:42 (quit) realitygrill: Quit: realitygrill 15:43 (join) sepisultrum 15:44 sepisultrum: Hi. How can I best iterate over a list with an index? Is there a function that just returns a list containing indices from 0 to n-1? 15:45 stamourv: rudybot: doc in-indexed 15:45 rudybot: stamourv: your sandbox is ready 15:45 rudybot: stamourv: http://docs.racket-lang.org/reference/sequences.html#(def._((lib._racket%2Fprivate%2Fbase..rkt)._in-indexed)) 15:45 stamourv: sepisultrum: ^ 15:46 sepisultrum: so I would just for/list in an in-indexed list? 15:47 stamourv: It depends on what you want your iteration to produce. 15:47 stamourv: If you want to produce a list, yes. 15:48 stamourv: But if all you want is to generate that list from 0 to n-1, you can use `build-list', `in-range' or `srfi/1''s `iota'. 15:48 sepisultrum: ok, thanks a lot 15:49 sepisultrum: btw, is it practical an recommended to use racket as a r5rs system? 15:50 stamourv: Well, you can't really have a practical R5RS system. 15:50 stamourv: R5RS is really bare-bones, you need a lot more to have something practical. 15:50 stamourv: But yes, Racket is a very practical system, and it's not too far from R5RS. 15:51 jonrafkind: don't let eli hear oyu say that :p 15:51 sepisultrum: hmm, I'd like to stay as portable as possible, so I'd rather use srfis than racket extensions 15:51 stamourv: I just recommend using `#lang racket' and not `#lang r5rs', since the latter is too small to really be practical. 15:51 stamourv: jonrafkind: What do you think he'd disagree with? 15:52 jonrafkind: racket is far beyond r5rs 15:52 sepisultrum: is eli your guru ^^ ? 15:52 stamourv: sepisultrum: Portability between Schemes is pretty much impossible. But Racket is very portable. 15:52 sepisultrum: btw, what's your opinion on r7rs? 15:52 stamourv: jonrafkind: Certainly, but the core ideas are very similar. 15:52 (join) MayDaniel 15:53 stamourv: sepisultrum: I don't think it really improves matters much as far as writing applications go. 15:53 stamourv: It has modules, which is a must, but there's so many things still missing. 15:53 (join) SHODAN 15:54 sepisultrum: I'd like to see a small core language and a big standard library. That would make things better 15:54 stamourv: Racket is precisely that. 15:54 stamourv: At the core, Racket is built on top of a handful of core forms. 15:54 stamourv: The rest is just macros. 15:55 sepisultrum: I believe that racket is awesome, but it also locked in somehow. 15:55 stamourv: Contracts? Macros. Optional and keyword arguments? Macros. Types? Macros. Etc. 15:55 stamourv: Locked in? How so? 15:55 sepisultrum: well, I can't switch implementation :) 15:55 stamourv: That's true of pretty much any Scheme. 15:56 stamourv: If you want, say, records, you lose portability. 15:56 stamourv: Or if you want procedural macros. 15:56 stamourv: Or module systems, etc. 15:57 danking: Let's lock into R5RS! So useful! 15:57 stamourv: It _is_ possible to write R5RS programs, but you have to sacrifice a _lot_ of modern language features that make programming a joy. 15:57 sepisultrum: at least if you just use srfis you get a little more portability 15:57 stamourv: Sure, but just to import SRFIs, each implementation has a different mechanism. 15:58 sepisultrum: I agree with you, basically scheme is not good for real world problem solving :D 15:58 sepisultrum: ;) 15:58 danking: That's why I use Racket. 15:58 stamourv: I've ported a lot of code between Schemes over the years (mostly from Racket to Gambit, and vice versa), and more often than not, it's a matter of a couple of hours. 15:59 jrslepak: "a couple of hours" for how much code? 15:59 stamourv: sepisultrum: Absolutely, Standard Scheme is not practical. 15:59 stamourv: jrslepak: 3-4k lines. 16:00 sepisultrum: stamourv: well, I'll wait for r7rs then. Maybe try some racket 16:01 stamourv: If they manage to fix the portability problem, that's awesome. But the problem is more political than technical. 16:01 stamourv: In the meantime, if you have any Racket questions, ask away! :) 16:01 (join) realitygrill 16:02 sepisultrum: stamourv: yeah, it's all politics and stubborn lispers. All the lost potential... 16:02 stamourv: Agreed. 16:02 sepisultrum: I'll come back when I try to install fluxus for the Nth time ... 16:02 sepisultrum: thanks! 16:14 sepisultrum: btw, I have 2 small functions in my drracket, and it takes like 20s on my core 2 duo to "run" this. Is that normal? 16:16 (join) DanBurton 16:17 bremner: seems a bit slow. maybe some system lib didn't get compiled? 16:18 bremner: sepisultrum: can you see how much garbage collecting it is doing? 16:20 bremner: for me, it is more like 1s to compile and run a 10 line program; using #lang racket/base is a bit faster (but of course less useful) 16:22 sepisultrum: bremner: how can I see the garbage collection? 16:26 bremner: I think the little blinking guy in the bottom right corner. It seems setting my garbage collection limit to 1M was a bad idea 16:28 (quit) realitygrill: Quit: realitygrill 16:30 (quit) si14: Ping timeout: 240 seconds 16:30 bremner: sepisultrum: View -> Show log 16:32 (join) si14 16:32 (quit) si14: Remote host closed the connection 16:33 (quit) GeneralMaximus: Ping timeout: 240 seconds 16:33 (join) GnrlMxms 16:33 (nick) GnrlMxms -> GeneralMaximus 16:35 sepisultrum: Thanks, but I can't really tell but it seems that the GC runs a few times during "run". Running twice for more than one second. 16:37 (join) si14 16:37 bremner: one second sounds like an amazingly long gc. I have 44msec here 16:39 sepisultrum: ok 16:40 (quit) ApeShot: Ping timeout: 240 seconds 16:40 bremner: do you mind sharing your code? I could time it here 17:28 (quit) bluezenix: Quit: Leaving. 17:31 (join) mithos28_ 17:34 (join) bluezenix 17:38 (quit) Fare: Ping timeout: 240 seconds 17:51 sepisultrum: bremner: well I'm just testing stuff 18:05 (quit) jeapostrophe: Quit: jeapostrophe 18:11 (quit) dnolen: Quit: Page closed 18:14 (quit) bluezenix: Quit: Leaving. 18:15 (quit) MayDaniel: Read error: Connection reset by peer 18:30 sepisultrum: bremner: drracket also takes like a minute to start 18:30 (join) francisl 18:33 (join) jeapostrophe 18:40 (quit) mceier: Quit: leaving 19:06 sepisultrum: 5~5~5~ 19:06 (quit) DanBurton: Quit: ChatZilla 0.9.87 [Firefox 6.0/20110811165603] 19:07 sepisultrum: oups, this wasnt meant to be posted here 19:17 (quit) cafesofie: Ping timeout: 252 seconds 19:17 (quit) jeapostrophe: Quit: jeapostrophe 19:20 bremner: sepisultrum: how did you install? it really sounds like nothing is compiled. 19:31 (join) dnolen 19:43 (join) jeapostrophe 19:44 (quit) jeapostrophe: Client Quit 19:59 (join) cafesofie 20:19 (join) jeapostrophe 20:31 (quit) masm: Quit: Leaving. 20:33 (quit) jonrafkind: Ping timeout: 258 seconds 20:49 (quit) francisl: Ping timeout: 248 seconds 20:51 (join) jrslepak_ 20:57 (topic) -: Racket -- http://racket-lang.org -- logs @ http://racket-lang.org/irc-logs 20:57 (names) -: gabot jrslepak_ jeapostrophe cafesofie dnolen mithos28_ si14 GeneralMaximus SHODAN sepisultrum mithos28 Shviller EmmanuelOga emma shofetim petey Demosthenes gmcabrita cipher- karswell ohwow snorble qfrmitlederhosen tewk rgrinberg offby1 samth_away hyko wtetzner gf3 bremner eMBee tomku zerokarmaleft jamessan acarrico rudybot surrounder shachaf mattmight brainproxy sethalves s_chng danking adzuci zakwilson cky jrslepak stamourv @ChanServ ozzloy sir_lewk 20:57 (names) -: rapacity abbe tauntaun eli mario-goulart elliottcable _p4bl0 asumu ernestas 20:59 (join) francisl 20:59 (quit) jeapostrophe: Quit: jeapostrophe 21:18 (quit) dnolen: Quit: dnolen 21:27 (quit) mithos28_: Quit: mithos28_ 21:33 (join) realitygrill 21:43 (join) jao 21:55 ozzloy: is there an easy way to interface with a joystick in racket (on ubuntu)? 21:56 ozzloy: on the internet i find this allegro thing, but i can't tell for sure what it is 22:05 bremner: well, I googled "racket joystick", the first hit looks relevant 22:05 (join) jeapostrophe 22:07 ozzloy: bremner, silly me. i looked all over racket-lang.org 22:07 ozzloy: instead of the internet at large 22:08 bremner: dunno if that bit of code will help, but maybe the author can give you some hints 22:13 offby1: racket joystick bat paddle 22:13 ozzloy: well, more like game-pad 22:13 ozzloy: not joystick 22:14 ozzloy: what do you call these things... controllers? 22:15 offby1: I calls 'em joysticks, myself 22:25 (join) dnolen 22:26 ozzloy: looks like the allegro bindings are what i want. 22:37 (quit) jeapostrophe: Quit: jeapostrophe 22:48 (quit) francisl: Remote host closed the connection 22:48 (join) francisl 22:56 (quit) francisl: Quit: francisl 22:57 (join) francisl 23:03 (join) jonrafkind