00:49 (quit) jeapostrophe: Ping timeout: 252 seconds 01:41 (quit) realitygrill: Quit: realitygrill 01:49 jaimef: finally got it working 01:50 (quit) dnolen: Quit: dnolen 01:56 jonrafkind: delicious 02:02 (join) mithos28 02:04 jaimef: how do you kick off gc? 02:05 jaimef: manually is there a way? 02:05 mithos28: (collect-garbage) 02:09 (quit) freakazoid: Quit: Computer has gone to sleep. 02:09 jaimef: thanks 02:10 jaimef: custodians are nice 02:11 mithos28: They look very nice to me, but I have yet to have a problem where they are the solution 02:12 jonrafkind: me too 02:37 jaimef: thread level memory limits? wish java had that 02:39 (nick) TURBQISLAAM -> TURBqfrISLAAM 03:22 (join) masm 03:27 (join) Blkt 03:31 jaimef: wow errors really cause a performance hit 03:31 jaimef: s/errors/unhandled exceptions/g 03:35 (quit) jonrafkind: Ping timeout: 244 seconds 03:43 (join) ahinki 03:50 (nick) TURBqfrISLAAM -> The_Great_Islaam 03:50 (nick) The_Great_Islaam -> TheGreatIslaamor 05:14 (quit) mithos28: Quit: mithos28 05:32 (quit) Shviller: Quit: bye 05:33 (join) Shviller 05:50 (quit) Shviller: Ping timeout: 248 seconds 05:51 (join) Shviller 06:09 (join) elliottcable 06:11 Blkt: good day everyone 06:11 gf3: good day, sir 06:11 Blkt: :D 06:12 noelw: Top of the morning 06:26 (quit) noam: Read error: Connection reset by peer 06:26 (join) noam 06:28 (part) jakeskik 07:01 (quit) Shvillr: Ping timeout: 252 seconds 07:02 (join) Shvillr 07:08 (join) RackN00b 07:12 (quit) noam: Read error: Connection timed out 07:16 (join) noam 07:16 (join) acarrico 07:24 (quit) RackN00b: Quit: RackN00b 07:58 (quit) vu3rdd: Remote host closed the connection 07:59 (quit) noam: Read error: Connection reset by peer 07:59 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/Fl9YDQ 07:59 RacketCommitBot: [racket/master] implement JITted x86 floating-point operations with SSE - Matthew Flatt 07:59 RacketCommitBot: [racket/master] fix pconvert test - Matthew Flatt 07:59 (join) noam 08:13 noelw: Faster floating point = w00t! 08:15 (join) ambrosebs 08:15 (part) ambrosebs 08:23 (join) RackN00b 08:24 (join) RackN00b_ 08:24 (quit) RackN00b: Read error: Connection reset by peer 08:24 (nick) RackN00b_ -> RackN00b 08:27 (join) fridim_ 08:36 (quit) RackN00b: Quit: RackN00b 08:56 (join) kewne 09:06 kewne: Any tip for optimizing the following code? (in particular I would like to get rid of string->number) 09:06 kewne: http://pastebin.com/raw.php?i=yuSkqYnr 09:07 noelw: You could write your own string->number using cond 09:07 kewne: Testing from "1" to "9" manually? 09:08 noelw: I.e. (cond [(string=? match "1") (make-string 1 #\.)] …) 09:08 noelw: Yeah, if you're concerned about that overhead 09:08 noelw: I would be tempted to turn the string into a port 09:08 noelw: Read it a character at a time 09:08 noelw: and convert directly into the 2D array representation 09:08 noelw: I think that should be faster 09:09 (join) keenbug 09:09 noelw: Maybe try it in Typed Racket to see if those optimisations have a noticeable effect 09:09 (join) crk 09:09 kewne: How would I know the length of each row in the 2D array? 09:09 kewne: (I need it to work with different sizes for different chess variants, so until I expands the digits...) 09:09 noelw: Well a row is always 8 elements long 09:09 noelw: oh ok. 09:10 noelw: Dunno then. Specify it up front? Do one pass to work it out? 09:10 kewne: Mmmm, maybe I could do it into a list and pad convert to a vector later, padding to the largest list size. 09:10 noelw: Yeah. 09:10 noelw: First up, just try the code you have in Typed Racket 09:10 noelw: It does some nice optimisations which might have an effect in your case. 09:11 noelw: (But I don't expect much.) 09:14 crk: hi, i was wondering if there's a way to limit the number of decimal places in racket floating point numbers? 09:15 crk: I'm writing some code to test function outputs, and the floating point precision errors are getting very annoying :) 09:15 noelw: If you're using Rackunit, use check-= 09:15 crk: I'd like to have some range (say +- 0.2) as my tolerance 09:15 noelw: You can specify a precision for your tests 09:15 crk: no, i'm not using rackunit 09:16 crk: I'd have liked to 09:16 crk: but I can't see a way to use the rackunit PASS/FAIL in my program logic 09:16 crk: I would've liked to leverage the #t or #f value (depending on whether the test fails or passes) to conditionally add marks 09:16 crk: where needed 09:17 noelw: I see 09:17 crk: is there a way to do that? 09:17 noelw: You can catch the exception raised by a check failing 09:17 noelw: and convert that into #f 09:17 crk: aha... 09:17 crk: that seems worth an attempt 09:17 crk: thanks for that pointer 09:17 noelw: I think checks return void on success, so you'd need to change that into #t as well 09:18 crk: i'll only be using simple tests like (check-equal? .... ) 09:18 crk: I didn't know about the exception thingy 09:18 crk: I assumed since the code runs regardless of pass/fail, there isn't any exception handling going on :D 09:19 crk is a racket n00b 09:19 noelw: There are funky exception handlers in Rackunit 09:19 noelw: so that a check failure doesn't stop other checks from running 09:19 noelw: It's in the docs (test contexts) but it's not the simplest thing in the world 09:19 kewne: noelw: typed racket just spits out a lot of type errors. I guess before trying to go with typed racket, I'll test just replacing number->string. 09:20 crk: noelw, thanks for the pointers 09:20 crk: I'll see if I make any progress with them 09:20 noelw: np 09:20 crk: :) 09:21 kewne: By the way, not related, but every language should have an equivalent library to racket/cmdline. 09:22 crk: for cmdline arguments? 09:22 crk: I've used python's optparse for that kind of stuff 09:22 crk: it's pretty handy 09:23 crk: zomg... noelw, are you the same guy who authored this? : http://download.racket-lang.org/docs/5.1/pdf/rackunit.pdf 09:23 noelw: Yes 09:23 crk: :now 09:23 crk: :bow 09:23 noelw: I wrote most (all?) of the Rackunit docs 09:23 crk: :P 09:23 crk: you a student? 09:24 noelw: Not any more. Though being a student was a good opportunity to learn Racket 09:24 crk: man... i so wanna be part of the whole racket thing 09:25 noelw: I'm sure all contributions will be well received! 09:25 crk: my prof worked with Prof Felleisen 09:25 crk: but sadly where we are right now. we don't really have any kind of an active group 09:25 crk: or people generally interested in scheme/racket 09:25 noelw: Ah! Where are you? 09:25 crk: IIIT, Hyderabad, India 09:25 noelw: Groovy. That's not the answer I expected :) 09:26 crk: I saw the FLOSS video that Dr.Flatt was on 09:26 crk: made me think I could really use some exposure 09:26 crk: with this 09:26 crk: i'm pursuing an MS here... so that gives me lots of time :D 09:26 crk: and the guide, as I told you, is absolutely bonkers about anything lispy 09:27 crk: :D 09:27 crk: nuff said 09:27 crk: he'll impale me if I don't have this evaluation thing done soon 09:27 noelw: Heh. 09:27 kewne is just trying to write a program that makes a PNG image of chess positions. 09:28 crk: we're doing a course here on Programming Languages 09:28 crk: that is entirely based on Racket 09:28 crk: as the teaching environment 09:28 crk: http://pascal.iiit.ac.in/~popl/ 09:29 kewne: I just use Racket because I couldn't get any supposedly portable drawing library to work on Python/Ruby on Win32 though. 09:29 noelw: Looks like a fun course. 09:29 noelw: kewne: that's quite funny (at least, to me) 09:29 noelw: I applaud you're willingness to adopt a rather unusual tool 09:29 crk: yeap... we're referring EoPL and HtDP 09:30 crk: its around 3 years since we've had this course at the university 09:30 noelw: s/you're/your 09:30 crk: :) 09:30 crk: nice thing kewne 09:30 kewne: Well, after compiling libgd, finding that gd2-ffij (ruby) doesn't work on Windows, pycairo just segfaults... etc I just tried racket/draw and it worked out of the box so I stuck with that. 09:30 crk: :) 09:31 kewne: I guess I prefer using tools where any error is my fault instead. :P 09:32 noelw: That's always nice! At least the problems can then be resolved. 09:48 (join) jeapostrophe 09:50 (join) francisl 10:18 (join) realitygrill 10:19 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/bpawhw 10:19 RacketCommitBot: [racket/master] Incorrect documentation - Jay McCarthy 10:23 (nick) elliottcable -> notelliottcable 10:24 (join) epsil 10:42 (quit) epsil: Quit: WeeChat 0.3.5 10:43 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/uqyI6Q 10:43 RacketCommitBot: [racket/master] add add-make-prefix-to-constructor tests - Robby Findler 11:08 (quit) ahinki: Quit: ChatZilla 0.9.87 [Firefox 9.0/20111116091359] 11:11 (join) epsil 11:12 epsil: does racket have docstrings? 11:12 epsil: if not, is there a preferred way to document functions? 11:13 (join) anRch 11:14 noelw: epsil: Scribble docs are the norms 11:16 (nick) notelliottcable -> elliottcable 11:16 epsil: can one use Scribble inside comments? 11:16 noelw: Not inside comments, but the norm is to write scribble documentation alongside the code 11:17 noelw: You can write scribble inside your code as well 11:17 noelw: I think Neil van Dyke has a package on Planet for this. 11:18 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/aRC2aQ 11:18 RacketCommitBot: [racket/master] at-exp, scribble: remove distinctness of @{}-introduced newlines - Matthew Flatt 11:19 epsil: hm ... how do I link external documentation to the code? 11:19 epsil: I mean, the benefit to docstrings is that I can ask the REPL what a function does, and it will be able to return a textual description 11:19 epsil: I don't have to hunt for said function in an external document somewhere 11:21 noelw: You can type help into the REPL 11:21 noelw: Try (help cons) 11:21 noelw: It might take a while at first 11:22 epsil: what if I want to be able to do (help my-function)? 11:22 epsil: how do I set up a help page for my-function? 11:22 noelw: Write Scribble docs for it 11:22 noelw: Also look at xrepl 11:22 noelw: ,describe etc. 11:23 noelw: (and install your Scribble docs in the system doc system) 11:24 epsil: I have to manually install the docs into my own file tree? 11:24 epsil: there isn't a way to declare in the code where the docfile is? 11:27 noelw: Normally you write an info.rkt file 11:28 noelw: In that file you specify where the docs live 11:28 noelw: Then you run a command to install the docs 11:28 noelw: I don't remember the command offhand as I haven't done it for a whle 11:33 epsil: okay 11:34 epsil: hm 11:35 noelw: It isn't very lightweight, but Racket docs are typically much higher quality than other languages 11:35 noelw: It's a tradeoff 11:35 epsil: I agree that the racket docs are very high quality 11:35 epsil: still, it's nice to have a short summary in the code as well 11:36 (join) RackN00b 11:36 kewne: Is there any usual naming convention for global parameters? i.e: as in (define *foo* (make-parameter ...)) 11:37 (join) RackN00b_ 11:37 (quit) RackN00b: Read error: Connection reset by peer 11:37 (nick) RackN00b_ -> RackN00b 11:37 noelw: current-foo is a parameter 11:38 noelw: with-foo the macro one typically writes to use it 11:38 kewne: current-foo? I was just using: (foo) 11:40 noelw: Sure. The convention is to name parameters current-foo 11:40 noelw: (define current-foo (make-parameter ...)) 11:41 kewne: Good enough, thanks. 11:43 kewne: Is it a bad sign to have about... 15 global parameters? (cmdline options) 12:06 RackN00b: Can I post a function in here and see if anyone can help me figure out how to apply it properly? 12:07 (quit) anRch: Quit: anRch 12:08 bremner: RackN00b: use a pastebin site please 12:08 bremner: other than that, ask away 12:12 RackN00b: ok.. I'll go paste it and provie al ink... 12:13 RackN00b: http://pastebin.com/t7w5AGvx 12:13 RackN00b: I am trying to write a function that consumes a list and produces a new list with each number in the original list squared. 12:14 RackN00b: The function I pasted is derived from a factorial function - am I missing a parameter somewhere? 12:16 epsil: (map (lambda (x) (* x x)) '(1 2 3 4)) => (1 4 9 16) 12:16 RackN00b: Trying to do it without using abstract list functions... 12:16 epsil: ah, never mind then 12:16 RackN00b: I need to come up with a lambda-only definition for map right? 12:17 epsil: you could loop through the list and add each squared value to a result list 12:17 RackN00b: No iteration either, :P 12:18 epsil: hm 12:19 epsil: so what are you allowed to use? 12:19 kewne: I guess... the Y combinator and not much else... 12:19 RackN00b: cons, first, rest, empty empty? cons? and lambda. One define statement and nothing else... 12:19 epsil: a recursive function, then 12:20 RackN00b: I used the y comb for the factorial function and I figured that I might just be able to apply that to the list, simply changing the operation - no dice... 12:20 RackN00b: Yes, but not explicitly recursive... I can't call a function by name. 12:20 (join) MayDaniel 12:24 (join) kewne_ 12:24 (nick) TheGreatIslaamor -> Qfriegen- 12:25 (nick) Qfriegen- -> Qfriegel- 12:26 (quit) kewne: Ping timeout: 240 seconds 12:28 (nick) kewne_ -> kewne 12:28 kewne: RackN00b, your procedure is almost correct. 12:29 RackN00b: Well at least I'm getting closer :D 12:29 kewne: But look at the latest line... 12:29 kewne: specifically: (cons (sqr (first x)) (rest x))))) 12:29 kewne: If you are returning (rest x)... how are you going to get the squares of the rest of the elements? 12:30 RackN00b: Right - it's just producing a list with the first item squared and consing it onto the rest of the list as-is, which is no good. 12:30 kewne: Then, you need to also apply f to the rest of the elements. 12:30 RackN00b: I need to apply some function to (rest x) I just can't figure out how 12:30 kewne: But before you do that (and get an error) 12:31 RackN00b: The problem with that is that it seems to always expect a non-empty list and it gets an empty list - which I assumed I recitify with a cond statement, checking for an empty list... but still no dice. I'll post what I just tried to pastebin as well... 12:31 kewne: you should check for the length of the list so that when it eachs '(), it ends. 12:31 kewne: In your definition... 12:31 kewne: (lambda (f) 12:32 kewne: .. (lambda (x) ... 12:32 kewne: where 'f' is the procedure you are applying recursively 12:32 kewne: so you want to apply that to (rest x) too. 12:32 RackN00b: Weird - I jsut tried that and it worked! I guess I must have messed up when I tried adding the cond before... 12:32 kewne: And 'x' is the argument, which is a list. 12:32 kewne: You should check against (null? x) in every step. 12:33 RackN00b: Now is this explicit recursion? Cause I am calling the function f on (rest x) or does it not count as strict recursion? 12:34 kewne: It's a way to create recursion. 12:34 kewne: http://secs.ceas.uc.edu/~franco/C511/html/Scheme/ycomb.html 12:35 RackN00b: Also, is it fair to say that any recursive function can be written in a non-recursive manner like this? If so, would nested recursive functions then required the nesting of multiple non-recursive equivalents? 12:35 RackN00b: Ooh - nice link, thanks 12:36 (join) kewne_ 12:39 (quit) kewne: Ping timeout: 240 seconds 12:41 (quit) kewne_: Quit: kewne_ 12:43 (quit) epsil: Quit: WeeChat 0.3.5 12:45 (quit) tim-brown: Remote host closed the connection 12:45 (join) freakazoid 12:51 (quit) MayDaniel: Read error: Connection reset by peer 13:06 (quit) Blkt: Remote host closed the connection 13:17 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/PRBjZw 13:17 RacketCommitBot: [racket/master] generalize brush transformation to apply to a stipple - Matthew Flatt 13:30 (quit) jeapostrophe: Ping timeout: 252 seconds 13:34 (join) mithos28 13:50 (join) jonrafkind 13:51 (quit) jonrafkind: Remote host closed the connection 13:51 (join) jonrafkind 13:53 (join) jeapostrophe 13:57 (quit) mithos28: Quit: mithos28 13:58 (join) mithos28 14:01 (join) kenjin2201 14:01 (part) kenjin2201 14:09 (join) mithos28_ 14:12 (quit) mithos28: Ping timeout: 245 seconds 14:12 (nick) mithos28_ -> mithos28 14:36 (quit) mithos28: Quit: mithos28 14:36 RackN00b: Could anyone possible give me an example of how to use lambda to avoid making a recursive call to a function by name? I have a function and I make two recursive calls within it, but I'd like to use a lambda to avoid that... any ideas? 14:37 RackN00b: I guess another aplpication of the y comb.. I swear to god this thing is awesome 14:39 Shvillr: Are you allowed to use named lets? Probably not, since they're named. 14:43 asumu: RackN00b: So the very simplest example is ((lambda (x) (x x)) (lambda (x) (x x)) 14:44 asumu: Notice the trick it uses here is giving itself itself as an argument. 14:44 RackN00b: Asumu... that's a non-terminating function 14:44 asumu: It's also recursive. 14:44 asumu: You can easily make it non-terminating. 14:45 RackN00b: I've been using the y combinator to do all my recursion, I'm just trying to see if I can apply it to the whole function I just wrote so that I can avoid the calls... I might not be being clear :( 14:45 RackN00b: Shvillr - no lets 14:46 Shvillr: yeah, that would be cheating I guess 14:46 RackN00b: Quick note here - haven't done lets in class but they're equivalent to local definitions, yes? 14:47 RackN00b: Even if I used a let though, I would need to name the function I'm binding to the let, no? 14:47 Shvillr: Nono, a named let can be used as a recurive function. 14:48 (quit) rgrinberg: Ping timeout: 245 seconds 14:48 RackN00b: II thought a let was just used to prevent evaluating the same recursive result multiple times... 14:50 Shvillr: rudybot: (let loop ((n 1)) (when (<= n 10) (begin (display n) (loop (+ n 1))))) 14:50 rudybot: Shvillr: your sandbox is ready 14:50 rudybot: Shvillr: ; stdout: "12345678910" 14:50 RackN00b: Haven't done loops yet but I follow... 14:52 Shvillr: So yeah, it works pretty much like a function here. It's also named, so I guess using it would be against the spirit of your assignment. 14:52 RackN00b: I think so... 14:52 RackN00b: :( 14:54 Shvillr: Well, you could include it as a backup solution. "Hey teach, I'm reading ahead!" 14:55 RackN00b: Haha! Sadly, the auto submission system fails if you use anything other than allwoed functions. 14:55 jonrafkind: when was the last time anyone actually said 'hey teach' 14:55 Shvillr: Er, one minute ago? 14:56 jonrafkind: IRL 14:56 Shvillr: I know, I just felt like continuing with lame jokes. Sorry. :) 14:57 RackN00b: But I would still need to define (using let) that it's a recursive result on part of a list... 14:58 RackN00b: This is killin' me! I've come so far using y comb for creating different non-recursive functions and this is where I get super-stuck! ah-mazing. 14:58 Shvillr: What's the original task? 14:59 RackN00b: Write a function that produces all possible subsets (the powerset) of a set of numbers consumed as a list. 14:59 (quit) realitygrill: Read error: Connection reset by peer 14:59 (join) realitygrill 15:00 Shvillr: Nonrecursive, I take it? 15:00 RackN00b: It's a bons question in three parts. First part, do it with normal recursion, no prob. Second part is to do that without explicitly recursing on the named function. Thirds part is to do it using only: empty? empty cond cons? first rest and lambda. For the third part, you're allowed one "define" statement for the whole function. 15:00 RackN00b: I did the first and have the third almost done, with the exception of naming the function for the recursive call... 15:04 (quit) realitygrill: Ping timeout: 276 seconds 15:07 (join) realitygrill 15:10 (quit) SidH_: Ping timeout: 260 seconds 15:27 ozzloy: RackN00b, it sounds like this problem was designed to help you independently come up with y-combinator 15:27 ozzloy: those are the basic steps in the derivation of it 15:27 RackN00b: I know. 15:28 RackN00b: I've done that, i'm just having problems applying it four times in the same function :D It would admittedly help if I used reasonable parameter names... 15:28 ozzloy: try doing those steps with an easier function, like factorial 15:29 ozzloy: like first do it the normal named way, then do it without explicitly recursing on itself. btw, how did you solve that part? 15:29 RackN00b: I have. I wrote a factorial and a fibonacci function... and one that determines the partial sum of a series... 15:29 RackN00b: Which part? 15:29 ozzloy: the second part 15:30 ozzloy: where you don't explicitly call the function you're in 15:30 RackN00b: Haha =- there's the rub - I didn't... I thought the third looked harder so I worked on that first. 15:31 ozzloy: do the second first 15:31 ozzloy: is my suggestion 15:31 RackN00b: Well, it's the same problem I;m having now... 15:31 ozzloy: the second is a smaller change from the first 15:31 RackN00b: ok 15:41 (join) SidH_ 15:49 (quit) fridim_: Ping timeout: 240 seconds 15:56 (quit) keenbug: Ping timeout: 258 seconds 16:11 RackN00b: (lambda (f) function) 16:12 RackN00b: That is equivalent to saying create an anonymous function that takes in a parameter f that happens to be some other function, correct? 16:17 Shvillr: Er, if I understand your question correctly, it doesn't need anything to be able to take a function as an argument. For example, (lambda (x) x) is an identity function that works on functions just fine. Taken literally, (lambda (f) function) returns whatever the "function" identifier is bound to. 16:29 freakazoid: one problem with the change to "Racket" is that it's now much harder to Google 16:29 freakazoid: even "racket scheme" frequently doesn't turn up Racket as a first hit 16:29 freakazoid: (when paired with something else obscure) 16:31 Shvillr: plt racket seems to work for now, although it's too restrictive. 16:35 freakazoid: Should have just renamed it to PLT Not-Really-Scheme 16:35 Shvillr: lol 16:36 RackN00b: I am having a hell of a time with this... so I have my function all nicely defined and it works with a recursive call - I was trying to basically let a lambda take in that function as a parameter f and then apply it to the rest of a list.... Doesn't work :( 16:39 RackN00b: Here's a paste of what I was trying to do: 16:39 RackN00b: http://pastebin.com/AQmwYMze 16:42 ozzloy: RackN00b, you're definine a function called "useless-nr" which has a parameter "lst" 16:43 Shvillr: RackN00b: I doubt it's of much help, but here's what I did: http://pastebin.com/SAQ9iRTv 16:43 ozzloy: and that is returning a function that takes a function as a parameter 16:43 RackN00b: Shviller -> nice 16:43 RackN00b: ozzloy.. I follow 16:43 ozzloy: that's why it produces (lambda (...) 16:44 RackN00b: So how can I reference an anonymous function? 16:44 asumu: freakazoid: "PLT Racket" brings up Racket as the first hit. 16:44 RackN00b: Is the only way via y combinator? 16:44 asumu: Actually, for me "Racket" does too, but that might be Google picking results for me specifically. 16:44 (quit) jeapostrophe: Ping timeout: 260 seconds 16:45 ozzloy: RackN00b, y combinator is not the only way to do it 16:45 ozzloy: http://www.catonmat.net/blog/derivation-of-ycombinator/ this page breaks it down pretty well 16:46 RackN00b: thanks - I'll take a look. 16:47 ozzloy: RackN00b, you're pretty close, btw. i'm not sure how to help without straight up telling you the answer 16:47 RackN00b: Hey no worries - while it's extremely frustrating, it's also a pretty enjoybale challenge:P 16:47 (join) keenbug 16:49 ozzloy: good, glad to hear it 16:49 ozzloy: i won't spoil it for you 16:49 freakazoid: asumu: Right, the problem is searching for other things related to Racket where the word "PLT" may not appear on the same page 16:50 freakazoid: I suppose I could just add site:racket-lang.org most of the time 16:50 freakazoid: (there are frequently similar problems with Python, especially since many related packages are named monty-pythony things) 17:02 (quit) francisl: Quit: francisl 17:03 (quit) freakazoid: Quit: Computer has gone to sleep. 17:06 (quit) asumu: Ping timeout: 244 seconds 17:12 (join) asumu 17:16 (quit) keenbug: Ping timeout: 240 seconds 17:16 (quit) Qfriegel-: Read error: Connection reset by peer 17:17 (join) Qfriegel- 17:22 (join) ambrosebs 17:25 (join) kewne 17:27 RackN00b: On the verge of getting it! http://pastebin.com/pEXvK7kw 17:28 offby1: man, there's some code that cries out for refactoring 17:28 RackN00b: I am now calling f for the two recursive calls, which is fine, but (Rest numlist) isn't working! Boo urns.. Time for a lecture. 17:33 (quit) kewne: Quit: kewne 17:48 (nick) elliottcable -> battlecollie 17:49 (nick) battlecollie -> elliottcable 18:13 (quit) Qfriegel-: *.net *.split 18:13 (quit) noelw: *.net *.split 18:13 (quit) ohwow_: *.net *.split 18:13 (quit) eMBee: *.net *.split 18:13 (quit) Guest12546: *.net *.split 18:13 (quit) mario-goulart: *.net *.split 18:13 (quit) SHODAN: *.net *.split 18:13 (quit) abbe: *.net *.split 18:13 (quit) tonyg: *.net *.split 18:13 (quit) realitygrill: *.net *.split 18:13 (quit) Shvillr: *.net *.split 18:13 (quit) wtetzner: *.net *.split 18:13 (quit) sethalves: *.net *.split 18:13 (quit) GeneralMaximus: *.net *.split 18:13 (quit) RackN00b: *.net *.split 18:13 (quit) acarrico: *.net *.split 18:13 (quit) shofetim: *.net *.split 18:13 (quit) Em: *.net *.split 18:13 (quit) rapacity: *.net *.split 18:13 (quit) ambrosebs: *.net *.split 18:13 (quit) elliottcable: *.net *.split 18:13 (quit) cataska: *.net *.split 18:13 (quit) Demosthenes: *.net *.split 18:13 (quit) tomku: *.net *.split 18:13 (quit) gf3: *.net *.split 18:13 (quit) jamessan: *.net *.split 18:13 (quit) Shviller: *.net *.split 18:13 (quit) shachaf: *.net *.split 18:13 (quit) petey: *.net *.split 18:13 (quit) stchang: *.net *.split 18:13 (quit) bfulgham: *.net *.split 18:13 (quit) aidy: *.net *.split 18:13 (quit) tauntaun: *.net *.split 18:13 (quit) SidH_: *.net *.split 18:13 (quit) snorble: *.net *.split 18:13 (quit) dpritchett_: *.net *.split 18:13 (quit) bremner: *.net *.split 18:13 (quit) si14: *.net *.split 18:13 (quit) ozzloy: *.net *.split 18:13 (quit) ernestas: *.net *.split 18:14 (join) ambrosebs 18:14 (join) realitygrill 18:14 (join) RackN00b 18:14 (join) acarrico 18:14 (join) Shvillr 18:14 (join) elliottcable 18:14 (join) Shviller 18:14 (join) cataska 18:14 (join) shofetim 18:14 (join) Em 18:14 (join) Demosthenes 18:14 (join) tomku 18:14 (join) wtetzner 18:14 (join) gf3 18:14 (join) eMBee 18:14 (join) sethalves 18:14 (join) shachaf 18:14 (join) petey 18:14 (join) rapacity 18:14 (join) stchang 18:14 (join) mario-goulart 18:14 (join) Guest12546 18:14 (join) tonyg 18:14 (join) abbe 18:14 (join) SHODAN 18:14 (join) GeneralMaximus 18:14 (join) jamessan 18:14 (join) aidy 18:14 (join) bfulgham 18:14 (join) tauntaun 18:14 (quit) noam: Read error: Connection reset by peer 18:15 (join) SidH_ 18:15 (join) snorble 18:15 (join) dpritchett_ 18:15 (join) bremner 18:15 (join) si14 18:15 (join) ozzloy 18:15 (join) ernestas 18:15 (join) Qfriegel- 18:15 (join) noelw 18:15 (join) ohwow_ 18:26 (quit) snorble: Ping timeout: 276 seconds 18:45 crk: noelw, there? 18:45 crk: someone here good with rackunit 18:46 crk: i want to use a test conditionally by handling the exception raised with an if 18:46 crk: do something if the test fails, something else if it doesn't 18:48 crk: not particularly interested in the output shown :-| 18:58 (join) karswell 19:08 asumu: cky: maybe you can define your own check (e.g. define-simple-check) to do it? 19:08 asumu: Whoops 19:08 asumu: Meant to type crk there. 19:09 asumu: Actually. 19:09 asumu: Using test-begin makes the most sense, I think. 19:10 asumu: crk: (test-begin (check-true #t) (displayln "passed")) 19:11 asumu: while (test-begin (check-true #f) (displayln "passed")) won't print the string. 19:19 (part) shofetim: "ERC Version 5.3 (IRC client for Emacs)" 19:19 (quit) karswell: Ping timeout: 258 seconds 20:01 crk: yes 20:02 crk: thanks asumu I'll try this 20:03 crk: I wrote this : (if (test-begin (check-true #f) #t) 'passed 'failed) 20:03 crk: it prints passed regardless of the boolean value inside check-true 20:04 crk: my bad 20:04 crk: this works 20:04 crk: (if (eq? #t (test-begin (check-true #f) #t)) 'passed 'failed) 20:04 (quit) masm: Quit: Leaving. 20:05 crk: thanks :) 20:17 (join) noam 21:01 (join) karswell 21:26 (quit) karswell: Ping timeout: 252 seconds 21:46 (join) karswell 22:03 (join) jeapostrophe 22:05 (quit) karswell: Ping timeout: 244 seconds 22:05 RackN00b: I've exhausted all of my abilities on this: can anyone help me understand why this gets stuck in a non-terminating recursive call? http://pastebin.com/8G3xTzzY 22:06 RackN00b: I used a y combinator and defined f as the function essentially starting at my first cond statement but I can't get it to recurse during my two elses in conds within the function... Any help is very much appreciated - I've bee nat this for hours now :D 22:09 RackN00b: I think my problem is either what f or x are bound to in the else statements - I'm thinking it's more like to be the x since the one in the previous statement is bound to something else, maybe my list isn't progressing towards a base case...? 22:16 RackN00b: :( 22:44 (quit) jeapostrophe: Ping timeout: 245 seconds 22:46 (quit) realitygrill: Ping timeout: 240 seconds 22:46 (join) fridim_ 22:46 (join) realitygrill 22:46 RackN00b: HAHA SOLVED! 22:47 (quit) RackN00b: Quit: RackN00b 22:47 (join) RackN00b 22:49 (join) RackN00b_ 22:49 (quit) RackN00b: Read error: Connection reset by peer 22:49 (nick) RackN00b_ -> RackN00b 22:51 (quit) realitygrill: Client Quit 22:53 (quit) fridim_: Ping timeout: 240 seconds 23:18 (join) karswell 23:25 (join) jeapostrophe 23:30 (quit) jeapostrophe: Ping timeout: 248 seconds 23:31 (join) freakazoid 23:31 (quit) Em: Ping timeout: 252 seconds 23:38 (quit) ambrosebs: Quit: ambrosebs 23:42 (join) jeapostrophe 23:49 (quit) jeapostrophe: Ping timeout: 258 seconds