01:36 (quit) jonrafkind: Ping timeout: 265 seconds 02:14 (join) dzhus 04:13 (join) hanDerPeder 04:16 (join) Byron 04:16 (part) Byron 04:35 (join) masm 04:56 (quit) jao: Ping timeout: 265 seconds 05:14 (join) hellmage 06:21 (quit) hellmage: Ping timeout: 246 seconds 07:02 (join) pdelgallego 07:03 pdelgallego: hi, is it "define-syntax-rule" a macro it self? And if it is what file can I find it "definition/source code"? 07:15 (join) hellmage 07:15 (part) hellmage 07:43 Lajla: pdelgallego, you mean define-syntax and syntax-rules? 07:51 (quit) masm: Quit: Leaving. 07:52 (quit) hanDerPeder: Ping timeout: 276 seconds 08:01 clklein: pdelgallego: Yes, it's a macro defined in collects/racket/private/misc.rkt 08:03 clklein: The `identifier-binding' function is often useful for answering this sort of question. For example, (module-path-index-resolve (car (identifier-binding #'define-syntax-rule))) produces # 08:05 pdelgallego: clklein, that is a great trick. Specially for me that I am learning how to write an interpreter. 08:05 pdelgallego: clklein, thx a lot 08:06 pdelgallego: now I can see easily details on how some things are implemented. 08:25 (join) hanDerPeder 08:49 (join) sstrickl 08:53 (quit) pdelgallego: Ping timeout: 264 seconds 09:06 (join) pdelgallego 09:30 (quit) hanDerPeder: Quit: hanDerPeder 09:37 (join) hanDerPeder 10:51 (quit) dzhus: Read error: Connection reset by peer 11:36 (join) carleastlund 12:06 (join) jonrafkind 13:38 jay-mccarthy: clklein: ping 13:39 clklein: jay-mccarthy: pong 13:39 jay-mccarthy: (apply-reduction-relation red term) returns a list of one 13:39 jay-mccarthy: but (apply-reduction-relation* red term) returns empty 13:39 jay-mccarthy: that seems wrong 13:39 clklein: I agree. 13:40 jay-mccarthy: i'll email you the files? 13:40 clklein: sounds good 13:43 jay-mccarthy: http://dl.dropbox.com/u/9253127/src.zip 13:44 jay-mccarthy: run test.rkt 13:44 jay-mccarthy: line 579 13:44 jay-mccarthy: that's the arr* and the test before is the arr 13:46 clklein: OK, I'll check it out. 13:52 jay-mccarthy: changing the arr* in thread-reductions to arr fixes it but i don't see why 13:52 clklein: clklein: Yea, arr* must be broken, but I haven't found the problem yet 13:55 clklein: Uh, duh. 13:56 clklein: arr* does not compute the reflexive-transitive closure 13:56 clklein: (arr* R t) computes the R-normal forms of t 13:57 clklein: `test-mu' has no normal form wrt thread-reductions 13:58 jay-mccarthy: i don't understand 13:58 jay-mccarthy: arr* applies the red over and over and returns the leaves of the trees... that's not the way to think about it? 13:58 clklein: that's right 13:59 clklein: By normal forms, I meant leaves. 13:59 clklein: But test-mu reduces to some term t for which t -> t 13:59 clklein: so there are no leaves reachable from test-mu 13:59 jay-mccarthy: hmm 14:00 jay-mccarthy: isn't that a cycle error? 14:02 clklein: test->> would complain if you didn't supply #:cycles-ok, but arr* doesn't complain (and it won't chase them forever) 14:02 clklein: Would a #:cycles-ok? for arr* be useful? 14:03 jay-mccarthy: i think so... or maybe #:cycles (okay not-okay default) 14:03 jay-mccarthy: where one errors 14:03 jay-mccarthy: the other returns () 14:03 jay-mccarthy: and the other ignores it? 14:05 clklein: Hrm, by default cycles would need to be OK, since there very well could be people relying on the current behavior. 14:06 clklein: Is this flag still useful if it's default is opposite test->>? 14:07 jay-mccarthy: eh, i don't think i need it for what i'm doing actually 14:07 jay-mccarthy: maybe there's a phrase that could be added to the docs 14:09 clklein: I think I've been confused by this myself once or twice, but I don't know what to add. It already says pretty much what you did above: "Starting from t, it follows every reduction path and returns all of the terms that do not reduce further." 14:10 clklein: Maybe an example with a cycle? 14:10 jay-mccarthy: Ya 14:11 clklein: OK 14:15 jay-mccarthy: i find this really useful 14:15 jay-mccarthy: http://gist.github.com/483321 14:16 jay-mccarthy: i have a huge state space and i want to make tests about any given run 14:18 clklein: IIRC, Mike Rainey did something like that with this schedulers model in the Redex book 14:20 clklein: Do you have some property that should hold for every reduction path? 14:23 (join) jao 14:24 jay-mccarthy: yes 14:24 jay-mccarthy: http://dl.dropbox.com/u/9253127/src.zip 14:24 jay-mccarthy: look at counter.rkt 14:24 jay-mccarthy: (everything works now btw) 14:35 clklein: Cool! 14:36 clklein: Somehow, I'd never encountered term-match/single before 15:06 jay-mccarthy: thanks for all your help clklein 15:09 clklein: You're welcome! Keep the bug reports coming, especially the ones about error messages. It's my life goal to eliminate at least all the ones without source locations. 15:10 (join) bleakgadfly 15:10 bleakgadfly: Hey 15:11 bleakgadfly: Can anyone make sense of this: http://paste.lisp.org/display/112654 15:12 bleakgadfly: I got an error while trying to compile Racket on MIPSel which gave me a "getcontex"-error. I upgraded glibc and it went past it, however, the error in the URL above is the recurring one now 15:12 jay-mccarthy: the compiler made some bytecode and while it was running, the source code changed 15:12 bleakgadfly: Hmm 15:12 jay-mccarthy: are you on a weird network filesystem? 15:12 bleakgadfly: Uhm, no, it's all local. 15:13 jay-mccarthy: just an idea 15:13 bleakgadfly: Sure 15:13 jay-mccarthy: i've had that problem before with nfs 15:13 bleakgadfly: Hmm 15:13 bleakgadfly: I'll try again, see if anything changes. 15:13 bleakgadfly: Just couldn't make any sense of it 15:13 bleakgadfly: That a file would be changed when I'm not even at keyboard. 15:25 (join) masm 15:30 bleakgadfly: Hmm 15:30 bleakgadfly: Same error 15:30 bleakgadfly: Makes no sense 16:14 clklein: jay-mccarthy: I'm adding a keyword argument to Redex's random testing forms to let insert some post-processing into the test generation. The keyword supplies a function from tests to tests that transforms the test case before it's checked. The idea is to use it when it's not hard to transform a test case to make it more likely to satisfy a complex precondition in the test property. Any suggestions on a name for the keyword? 16:15 (quit) jonrafkind: Ping timeout: 240 seconds 16:16 (join) Byron 16:17 (part) Byron 16:22 (join) shkk 16:25 jay-mccarthy: clklein: maybe #:prepare-case? 16:26 jay-mccarthy: something with "prepare" 16:30 clklein: jay-mccarthy: I was thinking something with "fix" but I like "prepare" better 16:30 (join) jonrafkind 17:42 (quit) shkk: Quit: Page closed 17:58 (quit) sstrickl: Quit: sstrickl 18:11 (quit) hanDerPeder: Quit: hanDerPeder 18:42 bleakgadfly: jay-mccarthy: Seems like it compiled just fine when I tried to compile with the git-version :) 19:02 Lajla: jonrafkind, let's invent clicklisp. 19:03 Lajla: Or MacLisp. 19:03 Lajla: wait. 19:03 (quit) pdelgallego: Ping timeout: 260 seconds 19:19 (join) shofetim 19:28 jonrafkind: how do I simply (read) a file? if I try the naive way I get '#lang expressions not currently enabled' 19:33 jonrafkind: ok I had to use (parameterize ([read-accept-reader #t]).. docs are unclear 19:36 (join) shkk 19:39 Lajla: jonrafkind, [ .. ] is the same as { ..} is the same as ( .. ) right? 19:39 jonrafkind: yea 19:40 jonrafkind: I don't use {} much, but I use [] in some forms (like let, or parameterize) 19:40 Lajla: I don't use either. 19:40 Lajla: I like clojure's idea of [ ... ] being vectors and { ... } maps. 19:40 Lajla: And C's idea of { ... } being (begin ...) 19:41 jonrafkind: yea, but just using () in scheme gets annoying 19:41 Lajla: I do not like Algol's idea of begin ... end 19:41 Lajla: It does? 19:41 jonrafkind: yar 19:41 Lajla: It looks so deliciously lispy. 19:41 jonrafkind: I used to use just () but eli showed me that using [] is better 19:41 Lajla: really? how? 19:42 jonrafkind: it helps visualize what syntax means in various forms. usually [] is used for bindings 19:42 Lajla: Ahh 19:42 Lajla: So (lambda [x y z] ... ) ? 19:42 Lajla: Clojure uses vectors for bindings actually.. 19:43 Lajla: You have an 'argument vector', that's quite strange to me. 19:43 jonrafkind: yea, but most people dont use [] for lambda, since lambda is so obvious 19:43 jonrafkind: or define 19:43 Lajla: (define [map f . ls] ... ) ? 19:43 jonrafkind: [] is normal for cond/match/syntax-case too: (cond [(blah) ...] [(blah) ...]) 19:43 jonrafkind: not define 19:43 Lajla: Ahh 19:43 Lajla: And you find that this helps? 19:43 Lajla: I might change. 19:43 jonrafkind: although some people use [] in define for default arguments 19:44 (quit) carleastlund: Quit: carleastlund 19:44 Lajla: On second thought, it would be hard to unlearn when you use legacy r5rs for some things. 19:44 jonrafkind: yea I use [] a lot now, it doe shelp 19:44 Lajla: jonrafkind, what do you mean with default arguments? 19:44 jonrafkind: racket allows default arguments for parameters, let me try to remember the syntax 19:45 jonrafkind: (define (x [y 5]) y) 19:45 jonrafkind: (x) -> 5 19:45 jonrafkind: (x 3) -> 3 19:46 (part) shofetim: "ERC Version 5.3 (IRC client for Emacs)" 19:47 Lajla: Hmm 19:47 Lajla: I had no idea of that. 19:48 Lajla: To be honest, I code in r5rs the whole time, which is probably 'bad' from a programming perspective. 19:48 jonrafkind: r5rs doesn't have much.. 19:48 Lajla: Well, I have my own functions coded of course. 19:49 Lajla: But I have a slight fear of using stuff unless I know exactly what it does / how it is implemented, which is a weakness, I admit. 19:59 (quit) masm: Quit: Leaving. 20:14 jonrafkind: hm, how do I match (cons 'a 'b) 20:14 jonrafkind: oh (cons x y) did work.. 20:40 (quit) jonrafkind: Ping timeout: 240 seconds 20:42 (quit) shkk: Quit: Page closed 23:28 (join) hellmage