00:17 (join) freakazoid 00:25 (quit) EmmanuelOga: Ping timeout: 244 seconds 00:29 (join) kfb 00:29 (quit) realitygrill: Ping timeout: 240 seconds 00:32 (join) realitygrill 00:45 (quit) dvanhorn: Quit: dvanhorn 00:47 (join) dvanhorn 00:49 (quit) ambrosebs: Ping timeout: 260 seconds 00:50 (quit) freakazoid: Quit: Computer has gone to sleep. 00:56 (join) freakazoid 00:57 (quit) freakazoid: Client Quit 01:12 (join) mithos28_ 01:12 (quit) mithos28: Read error: Connection reset by peer 01:12 (nick) mithos28_ -> mithos28 01:14 (join) freakazoid 01:29 (quit) freakazoid: Quit: Computer has gone to sleep. 01:38 (quit) kfb: Ping timeout: 240 seconds 01:44 (quit) jrslepak: Quit: Leaving 01:49 (quit) yoklov: Quit: Leaving. 01:52 (join) realitygrill_ 01:54 (quit) realitygrill: Ping timeout: 240 seconds 01:54 (nick) realitygrill_ -> realitygrill 02:01 (quit) dvanhorn: Quit: dvanhorn 02:05 (join) dvanhorn 02:14 (quit) rgrinberg: Remote host closed the connection 02:15 (join) rgrinberg 02:15 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/_6J32Q 02:15 RacketCommitBot: [racket/master] fix bug in the handling of side-conditions - Robby Findler 02:15 RacketCommitBot: [racket/master] minor rackety - Robby Findler 02:34 (quit) jonrafkind: Ping timeout: 240 seconds 02:34 (quit) dvanhorn: Quit: dvanhorn 02:46 (join) ambrosebs 03:16 Demosthenes: hrm, i just noticed that racket's gui ISN"T based on Tk like most others. 03:17 mithos28: nope it is native(ish) 03:18 Demosthenes: ish ;] 03:18 Demosthenes: i was looking for common widgets that i already knew from tk... or at least understood 03:19 Demosthenes: ah, they're under *controls*, not widgets 03:50 (quit) realitygrill: Quit: realitygrill 04:01 (join) noelw 04:11 (join) sindoc 04:24 (join) sindoc1 04:27 (quit) sindoc: Ping timeout: 244 seconds 04:36 (quit) sindoc1: Quit: Leaving. 04:36 (join) sindoc 04:37 (quit) sindoc: Client Quit 04:38 (join) sindoc 04:38 (join) tim-brown 04:42 (quit) mithos28: Quit: mithos28 04:51 (join) ahinki 04:52 (quit) ahinki: Remote host closed the connection 04:53 (join) ahinki 05:54 (quit) sindoc: Quit: Leaving. 05:54 (join) sindoc 05:57 (join) masm 06:30 (join) leandrosansilva 06:34 (nick) elliottcable -> elliottcable|hat 06:48 (nick) elliottcable|hat -> ec 07:47 (quit) Lajla: Read error: Connection reset by peer 07:47 (join) Lajla 08:19 (join) yoklov 08:58 (join) leandrosansilva_ 08:58 (quit) leandrosansilva: Ping timeout: 240 seconds 09:05 (quit) yoklov: Quit: Leaving. 09:07 (join) jrslepak 09:19 (join) EmmanuelOga 09:24 (quit) ambrosebs: Ping timeout: 268 seconds 09:43 (join) tfb 10:02 (quit) leandrosansilva_: Read error: Connection reset by peer 10:13 (quit) masm: Ping timeout: 244 seconds 10:28 (nick) samth_away -> samth 10:30 (join) masm 10:34 (join) freakazoid 10:40 (join) leandrosansilva 10:41 (join) yoklov 10:45 (quit) noelw: Quit: noelw 10:47 (quit) freakazoid: Quit: Computer has gone to sleep. 10:49 (quit) yoklov: Quit: Leaving. 10:49 (join) freakazoid 10:52 (quit) ahinki: Quit: ChatZilla 0.9.87 [Firefox 9.0/20111130065942] 10:56 (join) yoklov 10:56 (quit) jrslepak: Quit: This computer has gone to sleep 11:04 (join) noelw 11:05 (quit) freakazoid: Quit: Computer has gone to sleep. 11:06 (join) phoenixsun 11:06 (join) MayDaniel 11:07 (join) dvanhorn 11:08 (join) anRch 11:09 (join) freakazoid 11:14 (join) mithos28 11:18 (quit) freakazoid: Quit: Computer has gone to sleep. 11:18 (quit) masm: Ping timeout: 252 seconds 11:19 (join) realitygrill 11:20 (quit) anRch: Ping timeout: 240 seconds 11:20 (join) ambrosebs 11:23 phoenixsun: how anyone knows to Racket windows installer to choose the wrong install directory? 11:23 phoenixsun: how = has 11:23 (join) anRch_ 11:23 phoenixsun: Basically I am pretty sure I am installing the 64bit version but its trying to put it in x86 Programs folder 11:24 (quit) MayDaniel: 11:31 (quit) dvanhorn: Quit: dvanhorn 11:32 (quit) Jasinai: Quit: leaving 11:32 samth: phoenixsun: that's a known bug 11:37 (join) MayDaniel 11:45 (join) dvanhorn 11:48 (join) dnolen 11:50 (quit) yoklov: Quit: Leaving. 12:11 (join) kfb 12:16 (part) sindoc 12:17 (quit) kfb: Ping timeout: 240 seconds 12:18 (join) kfb 12:23 (join) masm 12:28 (quit) anRch_: Quit: anRch_ 12:30 (quit) tfb: Ping timeout: 268 seconds 12:33 (join) anRch 12:38 (join) tfb 12:41 (quit) dvanhorn: Quit: dvanhorn 12:44 (quit) kfb: Ping timeout: 245 seconds 13:01 (join) jonrafkind 13:04 (quit) loz`: Remote host closed the connection 13:05 (join) loz` 13:07 (quit) anRch: Quit: anRch 13:15 (join) dvanhorn 13:18 (join) freakazoid 13:18 (join) mithos28_ 13:21 (join) metadave 13:21 (part) metadave 13:22 (join) jrslepak 13:24 (quit) dvanhorn: Quit: dvanhorn 13:27 (quit) jrslepak: Ping timeout: 240 seconds 13:31 (quit) MayDaniel: Read error: Connection reset by peer 13:31 (join) dvanhorn 13:37 (quit) Lajla: Read error: Connection reset by peer 13:38 (quit) realitygrill: Quit: realitygrill 13:38 (join) ahinki 13:42 (quit) ahinki: Client Quit 13:48 (quit) tfb: Ping timeout: 252 seconds 13:50 (join) fridim_ 13:51 (join) nismo 13:52 nismo: hey. im new to this and im trying to implement the eight queens program in drracket. does anyone have any suggestions? 13:55 jonrafkind: suggestions for what, to learn racket or how to implement eight queens? 13:56 nismo: how to implement the eight queens problem. 13:56 jonrafkind: use memoization 13:57 nismo: hmm? 13:58 nismo: nevermind - i think im onto something. thanks anyways dude 13:58 (part) nismo 14:09 freakazoid: cardboard programmers are the best kind 14:18 (join) anRch 14:33 (quit) freakazoid: Quit: Computer has gone to sleep. 14:35 (join) freakazoid 14:35 jrslepak_: isn't 8 queens on the 2500 homework? 14:38 jonrafkind: no it was x'd out at the last minute to make room for the 45 14:40 (quit) dvanhorn: Quit: dvanhorn 14:58 (quit) freakazoid: Quit: Computer has gone to sleep. 14:59 (quit) leandrosansilva: Ping timeout: 244 seconds 15:02 (join) freakazoid 15:04 (join) dvanhorn 15:07 (quit) noelw: Quit: noelw 15:08 (quit) dvanhorn: Client Quit 15:18 (join) mceier 15:18 (join) dvanhorn 15:25 (quit) dvanhorn: Ping timeout: 252 seconds 15:27 danking: jrslepak_: Yeah, this weeks 2500 is 8-queens. 15:30 (join) leandrosansilva 15:33 (join) dvanhorn 15:34 danking: jrslepak_: We could just point them at SRFI-41's discussion of backtracking via streams of success 15:34 jrslepak_: and call that the grand insight for the week? 15:34 (quit) leandrosansilva: Read error: Connection reset by peer 15:35 (quit) freakazoid: Quit: Computer has gone to sleep. 15:35 (quit) anRch: Quit: anRch 15:37 (join) yoklov 15:43 (quit) dvanhorn: Remote host closed the connection 15:43 (join) dvanhorn 15:47 (join) keenbug 15:57 stamourv: samth: We had some? 15:58 (join) leandrosansilva 16:06 (quit) leandrosansilva: Read error: Connection reset by peer 16:13 (quit) dnolen: Ping timeout: 265 seconds 16:21 (join) freakazoid 16:31 (join) leandrosansilva 16:38 (quit) leandrosansilva: Ping timeout: 252 seconds 17:04 (quit) mceier: Quit: leaving 17:25 (quit) dvanhorn: Quit: dvanhorn 17:53 (quit) Demosthenes: *.net *.split 17:53 (quit) Shvillr: *.net *.split 17:53 (join) Shvillr 17:55 (quit) keenbug: Ping timeout: 255 seconds 17:56 (join) Shvillr_ 17:56 (quit) Shviller: Disconnected by services 17:56 (nick) Shvillr_ -> Shviller 17:56 (join) Demosthenes 18:00 (join) dvanhorn 18:08 samth: stamourv: for the check-docs script 18:19 (join) Mazer1010 18:20 (quit) Mazer1010: Client Quit 18:42 (join) noam_ 18:45 (quit) noam: Ping timeout: 240 seconds 18:58 (quit) mithos28_: Quit: mithos28_ 18:59 (quit) freakazoid: Quit: Computer has gone to sleep. 19:01 (join) mithos28_ 19:01 (quit) fridim_: Ping timeout: 252 seconds 19:16 (join) freakazoid 19:20 loz`: hi 19:21 loz`: how do i set accessor for a struct field? is it possible? 19:26 jonrafkind: you want a mutator for a field? use #:mutable 19:27 jonrafkind: when you define the struct 19:27 jonrafkind: then you get set-STRUCT-FIELD! 19:31 loz`: jonrafkind: i want custom functions for setting and getting field 19:32 jonrafkind: you mean you want set-foo-x! to dispatch to your own functions? 19:33 loz`: problem is contract one-of/c dont wokring with strings, so i decided to store number, but set and get associated string 19:34 loz`: *isn't working) 19:36 jonrafkind: im not really following.. can you paste code? 19:37 asumu: loz`: Doesn't or/c work? 19:38 (join) dnolen 19:40 loz`: asumu: hm, how do i specify exact strings with or/c? 19:41 loz`: i'm new to contracts idea.. 19:42 (join) ApeShot 19:42 sstrickl: you can just write something like (or/c "orange" "banana" "apple") and it'll give you a contract that matches one of those three strings 19:42 sstrickl: that is, string values are auto converted to appropriate contracts 19:43 ApeShot: I often find myself wanting a value which is equal to no other value, and which others from outside my library cannot possibly create. 19:43 loz`: wow nice, thanks =) 19:43 ApeShot: I've been using empty struct instances to get such values 19:43 ApeShot: But it seems like there might be a more idiomatic way? 19:45 sstrickl: ApeShot: I'd say that's an idiomatic way of handling it in Racket. 19:45 ApeShot: There is nothing like an enumeration in ML? 19:46 ApeShot: In this case, it would only have one member 19:46 sstrickl: Either that or use some value you've allocated and kept a handle on (like a thunk or a cons cell) and just check eq? against it, but eh. 19:46 ApeShot: the nice thing about structs is that they play ok with pattern matching 19:46 sstrickl: oh, yes, the other idea I had wouldn't really work well there (without writing out the eq? check explicitly) 19:46 ApeShot: It just seems weird to create a struct and then instance it. And then to have to hang on to both the single instance and the struct descriptor to pattern match 19:47 ApeShot: I guess I could extend the pattern matching facility... 19:50 asumu: rudybot: doc new-∃/c 19:50 rudybot: asumu: your sandbox is ready 19:50 rudybot: asumu: http://docs.racket-lang.org/reference/parametric-contracts.html#(def._((lib._racket%2Fcontract%2Fparametric..rkt)._new-~e2~88~83%2Fc)) 19:50 asumu: ApeShot: ^ 19:50 asumu: If you want to use contracts, that's one way to do it. 19:50 sstrickl: yeah, that's a nice way to ensure people can't get at the values you pass them through the contract system, good point. 19:50 (quit) mithos28_: Quit: mithos28_ 19:51 asumu: ApeShot: Actually see http://pre.racket-lang.org/docs/html/guide/contracts-exists.html for a better intro 19:53 (join) mithos28_ 19:54 (quit) yoklov: Quit: Leaving. 19:56 (join) yoklov 20:01 ApeShot: interesting 20:01 ApeShot: Here is another question. I'm a bit surprised that (match '(a b c) [`(hd ,@tl) tl]) doesn't return '(b c). 20:01 (quit) Shviller: Read error: Connection reset by peer 20:01 ApeShot: What is the right way to express that intent using match's quasiquote? 20:01 (join) Shviller 20:04 jonrafkind: what about (list hd tl ...) 20:04 ApeShot: you want (cons hd tl) 20:04 (quit) freakazoid: Quit: Computer has gone to sleep. 20:05 ApeShot: I made a mistake up there, the match should have been `(,hd ,@tl)` 20:05 ApeShot: But its the ,@tl that doesn't work the way I expect 20:05 jonrafkind: i guess either way works 20:05 ApeShot: Sometimes the quasiquote is nicer, when writing interpreters, for instance 20:05 jonrafkind: bleh.. i hate quasiquote 20:05 ApeShot: it would be nice to match `(lambda (,@args) ,@body)` 20:05 jonrafkind: looks ilke perl 20:06 ApeShot: I'm less enamoured with quotation now that I've thought about hygeine and the meaning of variables 20:06 jonrafkind: ya 20:06 ApeShot: but when you consider that its just like using list or cons except with the expectation of quotation reversed, it makes sense to use it in forms with more quoted elements than not 20:07 ApeShot: It is just syntax. 20:07 (join) freakazoid 20:09 ApeShot: Ah 20:09 ApeShot: Here is the way to do it: (match '(a b c) [`(hd ,@(list tl ...)) tl]) 20:09 (join) phoenixson 20:09 ApeShot: That will match tl to '(b c) 20:10 ApeShot: How did anyone ever program without pattern matching? 20:11 samth: ApeShot: i'll try to fix that so that what you wrote first works 20:11 jonrafkind: with very careful pointer arithmetic 20:11 (nick) samth -> samth_away 20:11 samth_away: jonrafkind: heh 20:12 (join) leandrosansilva 20:12 ApeShot: samth_away: seems like there isn't any reason to restrict the @name syntax. 20:12 samth_away: right 20:14 phoenixson: I am having a error right of the bat 20:15 phoenixson: 'module: illegal use (not at top level)' 20:15 phoenixson: I mean right after installing Racket for the first time 20:16 jonrafkind: do you have #lang racket at the top? 20:16 phoenixson: I do indeed 20:16 jonrafkind: whats your language set to 20:17 phoenixson: racket 20:17 jonrafkind: it should be 'use module declared in source' 20:17 ApeShot: Also, what is in your source file? 20:17 ApeShot: What else, I mean? 20:17 jonrafkind: i dont think 'racket' is a valid language setting 20:17 phoenixson: I did choose that option 20:17 phoenixson: ahh I see 20:17 phoenixson: so is Scheme valid 20:17 phoenixson: ? 20:18 jonrafkind: for what exactly, something you can write after #lang ? 20:19 phoenixson: yeah because as you said 'racket' isnt working 20:19 jonrafkind: so you have #lang racket at the top, right? 20:20 jonrafkind: at the bottom left of drracket there is a widget which lets you change the language being used 20:20 jonrafkind: if you click that a dialog box pops up, the first thing you can select is 'use the language declared in the source', then 'choose a language' with options for teaching languages and legacy languages 20:20 phoenixson: I have explored that but option 20:22 jonrafkind: im out of ideas, post a screenshot of drracket I guess 20:22 (quit) phoenixson: 20:22 phoenixsun: ok will do 20:23 ApeShot: you can write #lang scheme (with a lowercase s, I believe) 20:24 phoenixsun: ok I tried that also and it the same error 20:25 (quit) masm: Quit: Leaving. 20:25 phoenixsun: but it seems that the language setting keeps going back to choose definition declared in source 20:26 ApeShot: I'm confused - it should already be on that. 20:26 ApeShot: Right? 20:26 phoenixsun: it was but you suggested that I choose a language 20:27 ApeShot: Oh, not me, but someone else. Can you paste exactly what is in you file? 20:27 ApeShot: Or use pastebin, I suppose 20:27 ApeShot: That is the thing people do 20:27 ApeShot: http://pastebin.com/ 20:28 phoenixsun: ok I will try pastebin 20:32 (join) karswell 20:34 (quit) jonrafkind: Read error: Operation timed out 20:36 phoenixsun: module: illegal use (not at top-level) in: (module anonymous-module slideshow (#%module-begin)) 20:36 phoenixsun: that is what it shows me as an error 20:36 ApeShot: What is in your file, though? 20:36 ApeShot: When you press run 20:36 phoenixsun: I am not using a file 20:37 ApeShot: What are you using? 20:37 phoenixsun: I was using DrRacket and the interpreter 20:37 ApeShot: What did you type? 20:37 phoenixsun: #lang racket 20:37 ApeShot: Ohhh 20:37 phoenixsun: #land slideshow 20:38 ApeShot: You don't need to type that into the interpreter 20:38 ApeShot: Just put it at the top of the file you are working with and press run 20:38 phoenixsun: well I did remove that first line and it still didnt work 20:38 ApeShot: Then just enter commands into the interpreter 20:38 ApeShot: Don't remove the line 20:38 ApeShot: In your top window you should have #lang slideshow or #lang racket 20:38 ApeShot: Then press run 20:38 phoenixsun: ahhh 20:38 ApeShot: You should get an interpreter 20:39 ApeShot: Then type like (+ 1 1) 20:39 ApeShot: And you should get 2 20:39 ApeShot: The interpreter needs #lang racket or whatever to know which language to interpret, but you don't type that into it. 20:39 ApeShot: You let it detect it from the file. 20:40 phoenixsun: yeah it works now thanks 20:41 ApeShot: Awesome 20:41 ApeShot: Happy Schemeing/Racketing 20:42 loz`: is there any way to define constant (global) variable? 20:43 ApeShot: (define x 10) 20:44 ApeShot: And then don't use `set!` which isn't classy anyway 20:44 ApeShot: Typed Racket forbids mutation via set!, so there must be a way to do it. 20:45 loz`: hm, looks like i'll define a function that returns constant value 20:46 ApeShot: That is a reasonable way. 20:46 ApeShot: You may also what to use parameters 20:47 ApeShot: http://docs.racket-lang.org/reference/parameters.html 20:47 jamessan: ApeShot: you can use set! in Typed Racket 20:47 jamessan: you just have to use the same type 20:47 ApeShot: Ah, you can't `set!` at the interpreter after pressing run, I guess. 20:47 ApeShot: Or maybe I just misremember. 20:49 (quit) dvanhorn: Quit: dvanhorn 20:57 (quit) acarrico: Read error: Connection reset by peer 20:58 (quit) dnolen: Quit: dnolen 21:11 loz`: hm 21:12 loz`: how do i unqoute list of lists in quaziqutation?) 21:12 loz`: for example 21:14 loz`: xerxpr for html, i need (p) (a [href ,(url)]) for every element of list 21:14 loz`: and map returns list, with ,@ i got ((p) (a [...])) ((p) (a [...])) 21:16 loz`: how to unqoute such lists? 21:17 ApeShot: `(a b ,@(reduce append list-of-lists)) 21:17 ApeShot: is reduce in racket? 21:17 ApeShot: if not `(a b ,@(foldl append '() list-of-lists)) 21:18 loz`: yeah, thank you :) 21:18 asumu: reduce is in srfi/1 21:18 loz`: rudybot: reduce 21:18 rudybot: loz`: (reduce #'(lambda (x y) (and x y)) '(t nil)) works in CL 21:18 asumu: (better to just use fold though) 21:18 asumu: rudybot: doc reduce 21:18 rudybot: asumu: no docs for a current binding, but provided by: srfi/1 21:19 asumu: rudybot: (require srfi/1) 21:19 rudybot: asumu: Done. 21:19 asumu: rudybot: doc reduce 21:19 rudybot: asumu: http://docs.racket-lang.org/srfi-std/srfi-1.html#reduce 21:19 asumu: loz`: ^ 21:19 asumu: (but just use fold unless you specifically want that) 21:19 loz`: ok, foldl is good enough 21:21 (nick) Huggleslorx -> lorx|ssh 21:21 (quit) ApeShot: Remote host closed the connection 21:27 RacketCommitBot: [racket] plt pushed 5 new commits to master: http://git.io/bK1Peg 21:27 RacketCommitBot: [racket/master] fix futures bug - Matthew Flatt 21:27 RacketCommitBot: [racket/master] minor clean up - Matthew Flatt 21:27 RacketCommitBot: [racket/master] another round of unused variable clean-ups - Kevin Tew 21:28 (quit) leandrosansilva: Read error: Connection reset by peer 21:36 (quit) mithos28_: Quit: mithos28_ 21:37 (quit) freakazoid: Quit: Computer has gone to sleep. 21:47 (join) kfb 21:58 (quit) kfb: Quit: Leaving 22:02 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/4sdlZQ 22:02 RacketCommitBot: [racket/master] adjust the double clicking in racket mode so that clicks on the - Robby Findler 22:02 RacketCommitBot: [racket/master] use build-path to construct path segments instead of putting slashes into strings - Robby Findler 22:16 (quit) ambrosebs: Ping timeout: 268 seconds 22:30 (join) freakazoid 22:36 (join) dvanhorn 22:54 (join) jonrafkind 23:00 loz`: is it possible to make function that evaluates on compilation and just returns that value on calls? 23:01 mithos28: loz`: I think it is possible to do what you want 23:01 mithos28: you want something like (define-static (f) expr) and at run time (f) returns the value of expr? 23:03 loz`: mithos28: yep, is it possible? 23:03 mithos28: for certain values 23:03 mithos28: lists, numbers, symbols vectors 23:04 mithos28: you will need to write your own macro to do it though 23:04 loz`: there was such thing in cl 23:05 mithos28: expand out to something like #'(begin (define-syntax v expr) (define-static2 f v)) 23:05 offby1: rudybot: (define-syntax-rule (f) 'frotz) 23:05 rudybot: *offby1: your sandbox is ready 23:05 rudybot: *offby1: Done. 23:05 offby1: rudybot: (f) 23:05 rudybot: *offby1: ; Value: frotz 23:06 offby1: rudybot: (cons (f) 'plotz) 23:06 rudybot: *offby1: ; Value: (frotz . plotz) 23:07 mithos28: offby1: I don't see any computation at compile time 23:07 (quit) phoenixsun: 23:07 mithos28: and define-static2 should expand to (define f #`'#,(syntax-local-value #'v)) 23:08 mithos28: loz`: CL doesn't do phasing correctly AFAIK so it probably is much more of a hack there 23:11 offby1: rudybot: (define-syntax-rule (f) (expt 2 (+ 1 2 3))) 23:11 rudybot: *offby1: Done. 23:11 offby1: rudybot: (cons (f) 'plotz) 23:11 rudybot: *offby1: ; Value: (64 . plotz) 23:12 mithos28: rudybot: (define-syntax-rule (f) (begin (displayln 'hello) 2)) 23:12 rudybot: mithos28: your sandbox is ready 23:12 rudybot: mithos28: Done. 23:12 mithos28: rudybot: (f) 23:12 rudybot: mithos28: ; Value: 2 23:12 rudybot: mithos28: ; stdout: "hello\n" 23:12 mithos28: rudybot: (f) 23:12 rudybot: mithos28: ; Value: 2 23:12 rudybot: mithos28: ; stdout: "hello\n" 23:12 mithos28: doesn't work 23:14 (quit) dvanhorn: Quit: dvanhorn 23:15 offby1: hm, that does seem wrong 23:15 (join) dvanhorn 23:16 mithos28: the displayln is being called at run time not compile time 23:16 mithos28: which is not what loz` wants 23:17 (join) jrslepak 23:39 loz`: no problem, looks like it is too difficult for me now 23:40 asumu: loz`: How did this come up? 23:40 asumu: (maybe there's a simpler solution for what you want to do with that)