00:31 (quit) isak_: Remote host closed the connection 01:04 (part) shofetim: "ERC Version 5.3 (IRC client for Emacs)" 01:12 (quit) ckrailo: Remote host closed the connection 01:16 rrenaud: total racket noob, used scheme a tiny bit like 8 years ago, familiar with repl in python, i want to make variables that i later manipulate 01:16 rrenaud: in python i'd do like 01:16 rrenaud: a = 5 01:16 rrenaud: print a * 3 01:16 rrenaud: i am reading about let, but it seems to bound the scope of the variaables 01:24 (join) common_tragedian 01:25 (quit) common_tragedian: Remote host closed the connection 01:33 DT``: rrenaud, (define a ) 01:33 rrenaud: DT``: thanks 01:51 (join) acon 01:51 (quit) mheld: Quit: mheld 01:54 (join) mheld 01:57 (quit) mheld: Client Quit 01:59 rrenaud: is something like this (long let* sequence) considered bad style? 01:59 rrenaud: http://pastie.org/1698615 01:59 jonrafkind: its ok 02:02 DT``: my `let's can be even worse than that. 02:06 rrenaud: is there some big list of generically useful functions? 02:08 DT``: of course, the docs (http://docs.racket-lang.org/reference/index.html) 02:11 rrenaud: i don't understand this.. 02:11 rrenaud: (count any '(#t #f #t)) 02:11 rrenaud: . any: use of 'any' outside the range of an arrow contract in: any 02:12 rrenaud: nm, i just don't understand any in general 02:12 DT``: ``any'' is a contract, not a predicate. 02:29 (quit) acon: Ping timeout: 276 seconds 02:39 (join) tauntaun 02:42 tauntaun: Any reason why Racket's foldl and foldr take a function with the same signature? Other folds, including those defined by R6RS, expect the fold-left func to take the accumulator as first arg but expect the fold-right func to take it as last arg. 02:49 (quit) tauntaun: Quit: Ex-Chat 03:02 (join) acon 03:02 (quit) acon: Client Quit 03:08 (quit) jonrafkind: Ping timeout: 248 seconds 03:21 (join) neilv 03:57 (quit) neilv: Ping timeout: 255 seconds 04:05 (join) neilv 04:05 (quit) neilv: Changing host 04:05 (join) neilv 05:03 (join) RaceCondition 06:06 (quit) neilv: Ping timeout: 255 seconds 06:11 (join) neilv 06:11 (quit) neilv: Changing host 06:11 (join) neilv 06:28 (join) Lajla 06:33 (part) Lajla 06:36 (quit) neilv: Ping timeout: 246 seconds 06:42 (join) mceier 06:43 (join) neilv 06:43 (quit) neilv: Changing host 06:43 (join) neilv 06:49 bremner_: that's weird 07:33 (quit) neilv: Ping timeout: 248 seconds 07:51 (join) neilv 07:51 (quit) neilv: Changing host 07:51 (join) neilv 07:56 (join) lucian_ 08:01 (join) tomppa 08:05 (join) mheld 08:19 (quit) neilv: Ping timeout: 248 seconds 08:26 (join) dnolen 08:26 (quit) dnolen: Excess Flood 08:28 (join) neilv 08:28 (quit) neilv: Changing host 08:28 (join) neilv 08:31 (join) dnolen 08:40 (quit) lucian_: Remote host closed the connection 08:40 (join) lucian_ 08:45 (nick) lucian_ -> lucian 08:48 (join) tauntaun 08:54 tauntaun: Out of curiosity, why do Racket's foldl and foldr take a function with the same signature? Other folds, including those defined by R6RS, expect the fold-left func to take the accumulator as first arg but expect the fold-right func to take it as last arg. 09:19 (quit) neilv: Ping timeout: 255 seconds 09:27 (join) neilv 09:27 (quit) neilv: Changing host 09:27 (join) neilv 09:38 (quit) mheld: Quit: mheld 09:42 eli: tauntaun: Racket's version is older than R6RS. 09:43 eli: But more than that, having the same type for the input function means that it's easy to switch between the two. 09:43 tauntaun: eli: yes, agreed. I was just wondering why other languages (e.g., Haskell, I think?) chose to reverse the input functions arg order... 09:44 tauntaun: (*function's) 09:44 tauntaun: (See Wikipedia entry) 09:49 eli: tauntaun: I have no idea... 09:49 eli: Haskell is probably following ML. 09:50 eli: Not completely, at least OCaml switches the two other inputs. 09:50 eli: (Which is a nice demonstration for the racket point of having the same type, IMO.) 09:53 tauntaun: eli: OK, I was really just checking that there wasn't some deep issue behind it. FWIW, I'm used to the Racket way. 09:55 eli: I don't know of any deep reason... It predates my plt time... 09:56 eli: But if I'd implement it, the way I'd approach it is as two similar functions that perform their jobs differently, and therefore using the same type would be natural. 10:05 (join) mheld 10:17 (quit) dnolen: Quit: dnolen 10:49 rien: can Racket said to be image-based like Factor and most Smalltalks are? 10:52 (quit) mheld: Quit: mheld 11:03 (quit) neilv: Ping timeout: 250 seconds 11:10 (quit) tomppa: Quit: Ex-Chat 11:15 (quit) RaceCondition: Quit: RaceCondition 11:15 (join) neilv 11:15 (quit) neilv: Changing host 11:15 (join) neilv 11:32 (join) ckrailo 11:49 friscosam: rien: not really 11:53 (join) tomppa 12:08 (join) cousin 12:08 cousin: Hello? 12:08 (join) shofetim 12:10 (quit) tauntaun: Ping timeout: 255 seconds 12:11 cousin: I am trying to (in the same function) append two lists together and rename the list with the name of the initial list 12:11 cousin: So, I guess I'm trying to update the list rather tha create a new one 12:29 rien: friscosam: I see. I need some time to think of my next question. :) thanks! 12:31 (join) PLT_Notify 12:31 PLT_Notify: racket: master Vincent St-Amour * 6e9fea9 (1 files in 1 dirs): Fix Scribble's handling of L with stroke. - http://bit.ly/h6PKyT 12:31 (part) PLT_Notify 12:41 (join) tauntaun 12:59 (quit) cousin: Quit: Page closed 13:08 (join) billy_bob_joe 13:09 billy_bob_joe: hi there, any C guys in here? 13:15 billy_bob_joe: no? 13:25 (join) anRch 13:30 (join) jonrafkind 13:35 (join) MayDaniel 13:39 (join) acon 13:41 (quit) anRch: Ping timeout: 255 seconds 13:42 bremner_: billy_bob_joe: could you please use one nick? thanks. 13:47 (join) anRch 13:48 billy_bob_joe: anyone? 13:48 (join) masm 13:49 (quit) MayDaniel: Read error: Connection reset by peer 13:49 (quit) acon: Ping timeout: 248 seconds 13:56 (join) acon 13:58 (join) samth 13:59 (quit) anRch: Ping timeout: 255 seconds 14:00 (quit) billy_bob_joe: Quit: Page closed 14:00 (quit) acon: Ping timeout: 264 seconds 14:04 (join) acon 14:10 (join) anRch 14:16 (quit) acon: Ping timeout: 250 seconds 14:46 (quit) tauntaun: Ping timeout: 255 seconds 15:03 (quit) neilv: Ping timeout: 260 seconds 15:19 (join) acon 15:19 (join) MayDaniel 15:28 (quit) ckrailo: Ping timeout: 250 seconds 16:04 (join) ckrailo 16:08 (join) heyya 16:08 heyya: hi 16:11 (part) heyya 16:27 (join) PLT_Notify 16:27 PLT_Notify: racket: master Vincent St-Amour * 4b1e4f9 (1 files in 1 dirs): Fix Scribble's handling of the trademark symbol. - http://bit.ly/eyDJql 16:27 (part) PLT_Notify 16:28 (quit) anRch: Quit: anRch 16:28 (topic) samth: Racket -- http://racket-lang.org -- Come to Racket Days: July 23-24 -- logs @ http://racket-lang.org/irc-logs 16:33 (part) shofetim: "ERC Version 5.3 (IRC client for Emacs)" 16:42 (join) tauntaun 17:07 qha: for anyone else in the channel who doesn't follow announce@racket-lang.org: 17:07 qha: http://permalink.gmane.org/gmane.comp.lang.racket.announce/4 17:08 samth: or http://bit.ly/racket-days 17:32 (quit) mceier: Quit: leaving 17:37 (join) RaceCondition 17:47 (quit) acon: Quit: acon 18:04 (quit) tauntaun: Quit: Ex-Chat 18:11 (quit) MayDaniel: 18:12 (quit) tomppa: Quit: Ex-Chat 18:43 (quit) RaceCondition: Quit: RaceCondition 18:53 (quit) jonrafkind: Ping timeout: 250 seconds 18:53 (join) acon 18:56 (join) RaceCondition 19:13 (quit) acon: Quit: acon 19:34 (join) acon 19:47 (quit) rien: Quit: Get MacIrssi - http://www.sysctl.co.uk/projects/macirssi/ 20:22 (join) cousin 20:22 (quit) acon: Quit: acon 20:22 cousin: Hello? 20:25 bremner_: cousin: hi 20:25 cousin: Hello! 20:26 cousin: I am trying to take a list of a certain name, append something to the end of it, and redefine the new list with the same name within the same function 20:26 (quit) samth: Ping timeout: 252 seconds 20:26 cousin: I guess I am trying to update a list rather than replace it 20:28 bremner_: are you sure you need to do it that way? it isn't the most natural approach in racket 20:29 lisppaste: cousin pasted "list" at http://paste.lisp.org/display/120798 20:30 cousin: bremner_: Yes, I need to rename the new list with the same name as the first list. This is what I have so far 20:31 bremner_: why does it matter that you use the same variable name? isn't the return value from the function what matters? 20:32 bremner_: or is that the assignment? 20:33 cousin: the assignment is rather vague but from what I can gather, the railroad is a list in progress: we must provide functions that add/remove stations and links to a railroad, so the same railroad is built and taken apart 20:35 bremner_: usually when functional programming people say "remove an element from a list", they mean "return a new list, without that element" 20:36 cousin: okay 20:36 cousin: so I should just rename the new list? 20:37 cousin: Is there a way to incorporate that into the function? 20:39 bremner_: sorry, I don't understand what is important about the name of the list. 20:39 (join) dnolen 20:39 (quit) dnolen: Excess Flood 20:40 bremner_: you can use e.g. let or define to rename things, but I somehow get the feeling you are trying to drive a java shaped peg into a racket shaped hole ;) 20:40 (join) dnolen 20:40 (quit) ckrailo: Quit: Computer has gone to sleep. 20:40 bremner_: you can also use, e.g. set! and boxes if you want mutation. 20:41 cousin: I don't know what those things are. 20:41 bremner_: fair enough. You probably don't want them. 20:42 bremner_: I'm not your teacher, so I don't really know what they want, but the natural thing in racket is to think about functions that produce values 20:42 cousin: okay. thank you bremner_ 20:43 bremner_: welcome 20:43 (quit) cousin: Quit: Page closed 20:53 (quit) masm: Quit: Leaving. 21:18 (join) ckrailo 21:35 (quit) RaceCondition: Quit: RaceCondition 22:07 (quit) lucian: Remote host closed the connection 22:23 (join) PLT_Notify 22:23 PLT_Notify: racket: master Casey Klein * 8793475 (4 files in 3 dirs): Adds a parameter that provides a default for redex-check's #:attempt argument - http://bit.ly/gjGo38 22:23 (part) PLT_Notify 22:42 (join) tauntaun 22:45 (quit) ckrailo: Quit: Computer has gone to sleep. 22:46 tauntaun: Can someone point me to Racket's hashtable documentation? 22:46 tauntaun: I can't find it in PLT-help, though I'm almost sure it's there somewhere. 22:46 tauntaun: I seem to remember once reading a page made by Ryan Culpepper, on splay trees and two or three other related data structures. 22:47 DT``: tauntaun, http://docs.racket-lang.org/reference/hashtables.html ? 22:47 DT``: http://docs.racket-lang.org/data/index.html?q=splay&q=hash 22:47 DT``: this one. 22:47 tauntaun: I'm sorry, I wasn't clear: I'm looking for documentationon how the hash is *implemented*. 22:50 DT``: that's the only page about splay trees (and made by Ryan Culpepper). Are you sure it was in the docs? 22:50 tauntaun: No 100% sure. 22:50 tauntaun: Is the immutable hash a red-black tree? 22:50 tauntaun: That's the kind of question I need to answer. 22:50 DT``: afaik yes, but I heard it here on IRC. 22:51 tauntaun: Then I'm rather confused. 22:51 tauntaun: Because afaik, the RB tree is a binary tree. 22:52 tauntaun: So I don't understand how the hash can be said to support operations in "constant" (ie., small log) time. 22:54 tauntaun: Actually I think someone answered this question recently. 22:54 tauntaun consults the IRC logs. 22:57 tauntaun: Well, tragically 4 days' worth of logs is missing. 22:59 DT``: I should still have it, wait a sec. 23:00 DT``: tauntaun, http://paste.lisp.org/display/120801 23:02 tauntaun: molte grazie 23:03 tauntaun: I wonder if Racket could do with a better immutable hashtable. 23:05 DT``: I almost never use immutable hashes anyway. 23:06 tauntaun: I'm experimenting with some purely functional code, so immutability is my creed for this particular project. 23:09 DT``: I'd use an alist, it feels more natural (in a Lisp). 23:09 DT``: of course, if you care about speed, use an hashtable. 23:10 tauntaun: alists are practical only for small sets. 23:28 (quit) askhader: Ping timeout: 276 seconds 23:30 (join) askhader 23:31 (quit) tauntaun: Quit: Ex-Chat 23:52 (join) misterm