00:00 eli: mithos28: It's up now. 00:01 (join) mizu_no_oto 00:02 mithos28: Meh, doesn't seem much better than the current one for me. Mostly because if I'm in the docs I don't want to go somewhere else on the racket site. 00:03 eli: Oh, the same-look thing is something that we want by default. 00:03 eli: But more than that there are real usability issues -- the pdf links is one example, and having a google search is another. 00:05 mithos28: I think I must be missing something, because neither of those are obvious to me 00:07 eli: They're things that cannot be done as long as the on-line doc pages are identical to the ones that are installed. 00:07 mithos28: ah 00:08 mithos28: better search would be great 00:15 (quit) brum: Remote host closed the connection 00:18 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 00:19 (join) ozymandias_ 00:20 (part) ozymandias_ 00:22 (quit) zacts`: Remote host closed the connection 00:25 (join) zacts 00:26 (quit) Fare: Ping timeout: 260 seconds 00:31 (join) rohni 00:46 (join) brum 00:47 (quit) Nisstyre-laptop: Quit: Leaving 00:48 (join) ARCADIVS 00:50 (quit) brum: Ping timeout: 245 seconds 00:55 (quit) mithos28: Quit: mithos28 01:08 (join) mithos28 01:13 (quit) jao: Ping timeout: 255 seconds 01:17 (join) jonrafkind 01:27 (quit) rohni: Quit: Leaving. 01:29 (quit) mithos28: Quit: mithos28 01:31 (quit) jonrafkind: Ping timeout: 252 seconds 01:47 (join) brum 01:51 (quit) brum: Ping timeout: 245 seconds 01:53 (join) bitonic 01:59 (quit) SeanTAllen: Ping timeout: 276 seconds 01:59 (join) neilv 02:02 (quit) kvda: Ping timeout: 256 seconds 02:06 (join) kvda 02:07 (quit) bitonic: Ping timeout: 260 seconds 02:13 (quit) paddymahoney: Remote host closed the connection 02:13 (quit) mceier: Quit: leaving 02:15 (join) basdirks 02:15 (quit) Kaylin: Read error: Connection reset by peer 02:17 (join) hkBst 02:17 (join) paddymahoney 02:18 (quit) racycle: Quit: racycle 02:31 (join) mithos28 02:33 (quit) hkBst: Ping timeout: 245 seconds 02:33 (join) hkBst 02:38 (quit) hkBst: Read error: Connection reset by peer 02:38 (join) rohni 02:39 (join) eikonos 02:39 (quit) eikonos: Changing host 02:39 (join) eikonos 02:44 (join) hkBst_ 02:44 (quit) hkBst_: Changing host 02:44 (join) hkBst_ 02:47 (join) brum 02:52 (quit) brum: Ping timeout: 245 seconds 03:16 (quit) rohni: Quit: Leaving. 03:21 (join) jao 03:22 (quit) jao: Changing host 03:22 (join) jao 03:29 (join) asvil 03:30 (join) vkz 03:31 (quit) mithos28: Quit: mithos28 03:32 (join) cdidd 03:35 (join) mithos28 03:40 (quit) hkBst_: Ping timeout: 256 seconds 03:43 (join) hkBst_ 03:47 (join) brum 03:51 (join) dauterive 03:51 (quit) mithos28: Quit: mithos28 03:52 (quit) brum: Ping timeout: 248 seconds 03:55 (join) bjz 03:55 (quit) dauterive: Client Quit 03:57 (quit) kvda: Quit: z____z 04:01 (join) mceier 04:09 (join) tobih 04:15 (join) egnarts-ms 04:16 (join) Kaylin 04:20 (quit) vkz: Quit: vkz 04:20 (quit) neilv: Quit: Leaving 04:20 (quit) jao: Ping timeout: 260 seconds 04:30 (join) SeanTAllen 04:36 (quit) hkBst_: Read error: Connection reset by peer 04:36 (join) hkBst_ 04:36 (quit) hkBst_: Changing host 04:36 (join) hkBst_ 04:39 (join) myx 04:48 (join) brum 04:52 (quit) ambrosebs: Remote host closed the connection 04:53 (quit) brum: Ping timeout: 245 seconds 05:03 (join) didi` 05:03 (nick) didi` -> didi 05:21 (join) rohni 05:25 (join) bitonic 05:36 (join) mithos28 05:40 (quit) mithos28: Ping timeout: 260 seconds 05:45 (join) mithos28 05:45 (join) didi 05:49 (quit) mithos28: Ping timeout: 240 seconds 05:55 (join) mithos28 05:59 (quit) mithos28: Ping timeout: 252 seconds 06:06 (join) mithos28 06:08 (join) mye 06:10 (quit) mithos28: Ping timeout: 250 seconds 06:16 (join) mithos28 06:20 (quit) mithos28: Ping timeout: 252 seconds 06:28 (join) mithos28 06:32 (quit) mithos28: Ping timeout: 252 seconds 06:40 (join) mithos28 06:44 (quit) mithos28: Ping timeout: 245 seconds 06:51 (join) mithos28 06:55 (quit) mithos28: Ping timeout: 252 seconds 07:01 (quit) bitonic: Ping timeout: 252 seconds 07:02 (join) mithos28 07:04 (quit) mceier: Quit: leaving 07:04 (join) bitonic 07:06 (quit) mithos28: Ping timeout: 252 seconds 07:08 (quit) shriphan`: Ping timeout: 250 seconds 07:13 (quit) bitonic: Ping timeout: 245 seconds 07:13 (join) mithos28 07:14 (join) bitonic 07:16 (join) ijp 07:16 (join) jeapostrophe 07:16 (quit) jeapostrophe: Changing host 07:16 (join) jeapostrophe 07:17 (quit) mithos28: Ping timeout: 250 seconds 07:25 (join) mithos28 07:27 (join) mceier 07:29 (quit) mithos28: Ping timeout: 250 seconds 07:35 (join) mithos28 07:38 (join) mye_ 07:39 (quit) mye: Ping timeout: 252 seconds 07:39 (nick) mye_ -> mye 07:40 (quit) mithos28: Ping timeout: 260 seconds 07:43 (quit) bitonic: Ping timeout: 252 seconds 07:46 (join) mithos28 07:51 (quit) mithos28: Ping timeout: 260 seconds 07:55 (join) vkz 07:58 (join) mithos28 08:02 (quit) mithos28: Ping timeout: 252 seconds 08:03 (join) mizu_no_oto 08:05 (join) brum 08:06 (quit) brum: Remote host closed the connection 08:09 (join) mithos28 08:13 (quit) mithos28: Ping timeout: 252 seconds 08:21 (join) mithos28 08:23 (join) ambrosebs 08:26 (quit) mithos28: Ping timeout: 250 seconds 08:29 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 08:29 (join) cnonim 08:30 cnonim: guys, why i got error there https://gist.github.com/cNoNim/2acc81a1a47316f4d142 ? 08:31 cnonim: rudybot: (require (for-syntax syntax/parse)) 08:31 rudybot: cnonim: your sandbox is ready 08:31 rudybot: cnonim: Done. 08:31 (join) Fare 08:32 (join) mye 08:32 cnonim: (syntax-parse #'(test (bind a b) #:literals (bind) [(bind id ...) #'()]) 08:32 cnonim: rudybot: (syntax-parse #'(test (bind a b) #:literals (bind) [(bind id ...) #'()]) 08:32 rudybot: cnonim: Hi. I've just read a paper on racket's syntax-parse (http://www.ccs.neu.edu/scheme/pubs/icfp10-cf.pdf) and I think that syntax classes (which bring macros closer to grammars) are a nice idea. Are r7rs or other scheme implementations going to adopt a similar approach? 08:33 (join) mithos28 08:34 cnonim: rudybot: (syntax-parse #'(test (bind a b) #:literals (bind) [(bind id ...) #'()])) 08:34 rudybot: cnonim: error: #:1:61: syntax: no pattern variables before ellipsis in template at: ... in: (test (bind a b) #:literals (bind) ((bind id ...) (syntax ()))) 08:34 bremner: cnonim: try eval 08:34 bremner: oh, it "worked" anyway 08:35 cnonim: rudybot: (syntax-parse #'(test (bind a b)) #:literals (bind) [(bind id ...) #'()]) 08:35 rudybot: cnonim: error: #:1:62: ...: ellipses not allowed as an expression in: ... 08:36 cnonim: rudybot: (syntax-parse #'(test (bind a b)) #:literals (bind) [(bind id1 id2 ) #'()]) 08:36 rudybot: cnonim: error: syntax-parse: undefined; cannot reference an identifier before its definition in module: 'program 08:37 cnonim: rudybot: (require (for-syntax syntax/parse)) 08:37 rudybot: cnonim: Done. 08:37 cnonim: rudybot: (syntax-parse #'(test (bind a b)) #:literals (bind) [(bind id ...) #'()]) 08:37 rudybot: cnonim: error: #:1:62: ...: ellipses not allowed as an expression in: ... 08:37 cnonim: rudybot: (require (for-syntax/parse))(syntax-parse #'(test (bind a b)) #:literals (bind) [(bind id ...) #'()]) 08:37 rudybot: cnonim: i.e. all string literals are utf-8 and should be read into wide-strings 08:37 (quit) mithos28: Ping timeout: 260 seconds 08:39 cnonim: rudybot: (eval "(syntax-parse #'(test (bind a b)) #:literals (bind)\n [(bind id ...) #'()])") 08:39 rudybot: cnonim: ; Value: "(syntax-parse #'(test (bind a b)) #:literals (bind)\n [(bind id ...) #'()])" 08:41 cnonim: in short, why i have error with literals? :) 08:43 (join) mithos28 08:48 (quit) mithos28: Ping timeout: 252 seconds 08:49 (join) bitonic 08:49 (join) zyoung 08:55 (join) mithos28 09:00 (quit) mithos28: Ping timeout: 252 seconds 09:01 (quit) yacks: Remote host closed the connection 09:05 (quit) vkz: Quit: vkz 09:07 (join) mithos28 09:10 (join) dnolen 09:12 (quit) mithos28: Ping timeout: 245 seconds 09:19 (join) mithos28 09:23 (quit) mithos28: Ping timeout: 245 seconds 09:24 (join) mizu_no_oto 09:31 (join) mithos28 09:35 (quit) cnonim: Ping timeout: 245 seconds 09:37 (quit) mithos28: Ping timeout: 248 seconds 09:52 (quit) jeapostrophe: Ping timeout: 252 seconds 09:53 (join) racycle 10:01 (join) jeapostrophe 10:06 (join) noelw 10:16 (quit) dnolen: Ping timeout: 240 seconds 10:18 (join) yacks 10:19 (quit) yacks: Max SendQ exceeded 10:19 (join) yacks 10:19 (quit) yacks: Remote host closed the connection 10:20 (join) anRch 10:22 (quit) mye: Ping timeout: 252 seconds 10:23 (join) mye 10:23 (quit) mye: Client Quit 10:23 (join) ManAmongHippos 10:24 ManAmongHippos: How do I get input from standard in? 10:24 ManAmongHippos: I'm not understanding the input port jazz 10:26 (quit) ambrosebs: Remote host closed the connection 10:26 asumu: ManAmongHippos: `read-line` or various other functions all default to standard in. 10:27 (join) ambrosebs 10:27 ManAmongHippos: Oh. I was trying to use read-string 10:27 ManAmongHippos: How do I give it reference to stdin if it wants an input port? 10:29 asumu: ManAmongHippos: (current-input-port) defaults to stdin. 10:30 (quit) ARCADIVS: Quit: WeeChat 0.3.8 10:31 (quit) ambrosebs: Ping timeout: 245 seconds 10:33 (join) sizz_ 10:33 (quit) sizz: Ping timeout: 260 seconds 10:39 (quit) ManAmongHippos: Quit: ManAmongHippos 10:42 (join) francisl 10:43 (quit) francisl: Client Quit 10:43 (join) francisl 10:44 (quit) ijp: Quit: needs some air or something 10:53 (part) francisl 10:54 (quit) mceier: Quit: leaving 11:02 (join) yacks 11:05 (quit) basdirks: Ping timeout: 264 seconds 11:11 (quit) asvil: Ping timeout: 255 seconds 11:12 (join) basdirks 11:20 (quit) hkBst_: Ping timeout: 256 seconds 11:21 (quit) anRch: Quit: anRch 11:23 (join) hkBst_ 11:24 (quit) mizu_no_oto: Quit: ["Textual IRC Client: www.textualapp.com"] 11:28 (join) Nisstyre-laptop 11:29 (join) mizu_no_oto 11:30 (quit) hkBst_: Read error: Connection reset by peer 11:31 (join) hkBst_ 11:31 (quit) hkBst_: Changing host 11:31 (join) hkBst_ 11:34 (join) soegaard 11:40 (join) mithos28 11:43 stamourv: mithos28: Re TR typechecking being exponential: Last I checked, polydots inference is doubly exponential. 11:44 mithos28: Great 11:44 mithos28: I found it in optional arguments 11:45 mithos28: I was looking into the math slowness, and wondering if that could be it 11:46 (quit) Nisstyre-laptop: Quit: Leaving 11:46 stamourv: My understanding of the math slowness is that it's mostly due to `case->' types. That is, most functions in `math' have big `case->' types, and their bodies are pretty expensive to typecheck in the first place (partly due to the huge `case->' types in the numeric base env). 11:48 mithos28: Optional arguments expand to case types, And if I fix them to actually do it correcly it will be 2 cases per optional argument 11:48 stamourv: I've been thinking about maybe pruning the numeric types a bit. There may be redundant cases in the types, since they're generated using a type DSL to abstract over common patterns. There may also be cases that don't see much use. 11:48 stamourv: mithos28: Sounds good. What is TR doing now instead? 11:48 mithos28: utter garbage 11:49 stamourv: Also, did you see the comments about your pull requests I wrote (on IRC) last week? 11:49 stamourv: mithos28: Re garbage: What do you mean? 11:49 mithos28: No 11:49 mithos28: In that I have no idea how it was supposed to work in the first place it is so wrong 11:50 mithos28: It doesn't get triggered that often because this is the code path without an expected type 11:50 (quit) hkBst_: Quit: Konversation terminated! 11:50 stamourv: mithos28: Re comments on pull requests: Would it be easier for you if I copy-pasted them to github? 11:51 mithos28: I can search the logs this time, but in the future yeah 11:51 stamourv: mithos28: Re optionals: That sounds odd. I would expect that the straightforward expansion to `case->' would do a reasonable job. 11:52 stamourv: mithos28: Re pull requests: Ok, sorry about that. I'll keep in mind for next time. 11:52 mithos28: stamourv: its the typechecking of the resulting body with flag arguments not the case-lambda 11:52 (quit) noelw: Quit: noelw 11:54 (join) dnolen 11:54 stamourv: mithos28: Oh, right. 11:55 (join) cnonim 11:55 stamourv: Actually, that reminds me. ISTR samth and I discussing typechecking of functions with optionals some time ago, and IIRC, there were some tricky issues. 11:55 (quit) jeapostrophe: Read error: Operation timed out 11:55 cnonim: where i can find example usage of syntax-class-parse 11:55 stamourv: samth: Do you remember what those where? 11:55 mithos28: https://gist.github.com/shekari/5083692 11:56 mithos28: thats something that shoud typecheck but doesn't 11:56 mithos28: My fix makes it possible 11:56 stamourv: cnonim: I can't think of an example off the top of my head. How familiar are you with syntax classes and syntax parse? 11:57 stamourv: mithos28: Sounds good. 11:57 (quit) rohni: Quit: Leaving. 11:57 (join) anRch 11:57 stamourv: Do you know how extensively tested functions with optionals are? 11:57 stamourv: Hopefully, there are tests for the tricky cases I mentioned above, but I can't remember. 11:58 mithos28: Given that my fix started from skimming the code, and seeing that it was totally broken. I would say not enough 11:58 mithos28: It currently doesn't generate the right case-> type to do the typechecking 11:59 mithos28: In the case-lambda code there is stuff that messes up with rest arguments enough to break soundness 12:01 mithos28: wow my first guess at which day you took a look was correct 12:02 (join) jeapostrophe 12:02 (quit) jeapostrophe: Changing host 12:02 (join) jeapostrophe 12:05 (join) mceier 12:11 soegaard: asumu: http://rosettacode.org/wiki/Language_Comparison_Table 12:12 (quit) lusory: Ping timeout: 276 seconds 12:12 stamourv: cnonim: Re literals: IIRC, `syntax-parse' requires literals to be bound. `(define-syntax bind #'#f)' or something may work. 12:14 asumu: soegaard: *notices that Python and Ruby are marked as "call by object reference"* 12:14 mithos28: i.e. call by value 12:14 mithos28: but that confuses people 12:18 asumu: soegaard: added Racket 12:18 soegaard: asumu: great 12:19 (join) Nisstyre 12:19 asumu should start doing some Rosetta entries in TR just for variety 12:20 soegaard: It seems this "call by object reference" is an old discussion: http://effbot.org/zone/call-by-object.htm (R5RS is quoted!) 12:21 bremner: anyone here familiar with plai-typed? Is it based on TR? it seemed not, when I poked at it. 12:22 stamourv: bremner: I haven't used it, but AFAIK it's not TR-based. 12:26 (quit) anRch: Quit: anRch 12:30 (quit) cipher: Remote host closed the connection 12:30 (join) jonrafkind 12:38 (join) lusory 12:44 jonrafkind: eli, ping 12:54 (quit) dnolen: Ping timeout: 255 seconds 12:57 (join) vkz 13:00 (join) RacketCommitBot 13:00 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/Jx92rQ 13:00 RacketCommitBot: racket/master 485f246 Eric Dobson: Fix type of set?. Closes PR13509. 13:00 RacketCommitBot: racket/master 22ef10c Eric Dobson: Fix heterogeneous vector typechecking. 13:00 (part) RacketCommitBot 13:07 cnonim: how i can debug syntax phase? 13:08 (join) vkz_ 13:09 (quit) vkz: Read error: Operation timed out 13:09 (nick) vkz_ -> vkz 13:09 (join) mye 13:09 (join) dauterive 13:12 jonrafkind: syntax debugger 13:12 jonrafkind: if you have a runtime error at the syntax phase, well.. thats a little harder. basically printf :p 13:13 paddymahoney: I have found that difficult as well...sometimes the macro stepper lets you get a few steps in before the error is encountered. 13:13 jonrafkind: its certainly no walk in the park 13:14 paddymahoney: Usage of the s-expr comment #;(...) has gotten me out of some binds. 13:16 paddymahoney: the annoying part is that when the syntax check fails, you miss out on some of the DrRacket goodness-navigating between files listed in requires and provides mostly. 13:16 paddymahoney: annoying because I realize how addicted I have become to DrRacket :P 13:18 (quit) bjz: Read error: Connection reset by peer 13:19 (join) ASau 13:20 (quit) basdirks: Ping timeout: 252 seconds 13:21 (quit) jeapostrophe: Ping timeout: 255 seconds 13:26 (join) vkz 13:28 (quit) mizu_no_oto: Quit: ["Textual IRC Client: www.textualapp.com"] 13:32 (quit) bitonic: Ping timeout: 245 seconds 13:42 (join) mizu_no_oto 13:44 (join) anRch 13:54 asumu: Anyone else on git HEAD running DrRacket? I see a contract error. 13:55 asumu: Oh wait, nevermind. It's my fault. 13:59 (join) jao 13:59 (quit) jao: Changing host 13:59 (join) jao 13:59 asumu: If I have background expansion on and I delete the #lang line, it shows a "background expansion terminated abnormally". 13:59 asumu: Bug or just expected behavior? 13:59 (join) jeapostrophe 14:00 (quit) cdidd: Remote host closed the connection 14:02 stamourv: asumu: What would you expect instead? 14:03 (join) cdidd 14:08 (join) dyoo 14:09 (join) stchang_ 14:09 asumu: stamourv: maybe just quiet? 14:10 stamourv: asumu: Yeah, makes sense. 14:11 (quit) didi: Ping timeout: 245 seconds 14:17 (join) cipher 14:17 (quit) cipher: Changing host 14:17 (join) cipher 14:18 cnonim: how i can use syntax-class-parse correctly in this code https://gist.github.com/cNoNim/5992bb7eef0496b17933 ? 14:20 jonrafkind: well, why would you do that anwyay 14:20 jonrafkind: syntax-parse has already invoked that class for you 14:21 jonrafkind: by virtue of doing rules:distinct-rules 14:21 asumu: cnonim: this is a phase issue. 14:21 cnonim: for debugging purpose :) 14:21 asumu: You're trying to use distinct-rules at both phase 1 and phase 0. 14:22 asumu: You can define the syntax class in a submodule and require it for both phase 0 and 1, and that'll work. 14:22 asumu: (that solves your immediate issue, but I'm not sure why you want to do this) 14:22 (join) bitonic 14:25 (quit) Kaylin: Read error: Connection reset by peer 14:25 cnonim: how i can debug syntax class in other way? 14:27 (join) basdirks 14:31 (join) rohni 14:31 cnonim: example https://gist.github.com/cNoNim/5992bb7eef0496b17933 why i don't view result of printf? 14:32 (quit) basdirks: Ping timeout: 252 seconds 14:32 (join) didi 14:34 (quit) anRch: Quit: anRch 14:42 cnonim: i found solution ) i can use (~do (...)) 14:44 (join) basdirks 14:47 (quit) dauterive: Quit: Leaving 14:53 (quit) yacks: Quit: Leaving 14:54 (quit) zacts: Quit: ERC Version 5.3 (IRC client for Emacs) 14:54 (quit) jao: Ping timeout: 252 seconds 14:58 (quit) jonrafkind: Read error: Operation timed out 14:58 cnonim: rudybot: (printf "~s\n" (list 'a 'b 'c)) 14:58 rudybot: cnonim: ; stdout: "(a b c)\n" 14:59 (quit) myx: Quit: ัƒัˆั‘ะป 14:59 cnonim: how specifi format string for list to avoid parentheses 15:00 cnonim: ? 15:00 (join) zacts 15:01 (quit) zacts: Changing host 15:01 (join) zacts 15:02 cnonim: rudybot: (printf "~a\n" (list 'a 'b 'c)) 15:02 rudybot: cnonim: ; stdout: "(a b c)\n" 15:03 cnonim: rudybot: (printf "~v\n" (list 'a 'b 'c)) 15:03 rudybot: cnonim: ; stdout: "'(a b c)\n" 15:15 bremner: use a loop? 15:15 bremner: or maybe values (untested) 15:15 bremner: rudybot: init racket 15:15 rudybot: bremner: your sandbox is ready 15:16 bremner: rudybot: eval (values 1 2 3) 15:16 rudybot: bremner: ; Value: 1 15:16 rudybot: bremner: ; Value#2: 2 15:16 rudybot: bremner: ; Value#3: 3 15:16 bremner: rudybot: eval (printf "~a" (values 1 2 3)) 15:16 rudybot: bremner: error: result arity mismatch; expected number of values not received expected: 1 received: 3 values...: 1 2 3 15:16 bremner pretends the cat typed that. 15:23 (join) jonrafkind 15:24 didi: rudybot: init racket 15:24 rudybot: didi: your sandbox is ready 15:24 didi: rudybot: (require racket/format) 15:24 rudybot: didi: Done. 15:24 didi: rudybot: (format "~a\n" (string-join (map ~a '(1 2 3)) ", ")) 15:24 rudybot: didi: ; Value: "1, 2, 3\n" 15:37 cnonim: didi: thx 15:37 bremner scolds cat for not thinking of that obvious solution. 15:41 (quit) vkz: Quit: vkz 15:42 stamourv: rudybot: (string-join (map ~a '(1 2 3)) ", " #:after-last "\n") 15:42 rudybot: stamourv: your sandbox is ready 15:42 rudybot: stamourv: ; Value: "1, 2, 3\n" 15:42 stamourv: rudybot: (string-join (map ~a '(1 2 3)) ", " #:before-last " and " #:after-last "\n") 15:42 rudybot: stamourv: ; Value: "1, 2 and 3\n" 15:42 (quit) mizu_no_oto: Quit: ["Textual IRC Client: www.textualapp.com"] 15:43 bremner: ~a is a function? 15:43 chandler: CL's format might be a language unto its own, but sometimes things like "~{~A~^, ~}~%" are handy 15:43 stamourv: bremner: Recent addition. 15:43 stamourv: rudybot: doc ~a 15:43 rudybot: stamourv: http://docs.racket-lang.org/reference/strings.html#(def._((lib._racket%2Fformat..rkt)._~7ea)) 15:43 stamourv: chandler: I'd argue that, while more verbose, the `string-join' version is a lot clearer. 15:46 chandler: No doubt most regular expressions would be much clearer in a symbolic form too. That won't stop people from writing them in the compact textual syntax. :-) 15:47 stamourv: True. 15:47 didi: bremner: I like to see it as a "genius solution from a brilliant mind", thank you very much. 15:48 bremner: didi: err, right. But it seems unfair to berate my imaginary cat for not being a genius. 15:48 chandler: it's been a few years since I've written a line (expression?) of CL, but I could still spit out that format sequence from memory. 15:51 jonrafkind: hm render-metafunction is producing a pdf that is too narrow 15:57 (quit) bitonic: Remote host closed the connection 15:58 (join) bitonic 16:00 (join) dauterive 16:12 (quit) soegaard: Quit: soegaard 16:13 (quit) cnonim: Quit: WeeChat 0.4.0 16:59 (quit) eikonos: Read error: Connection timed out 17:06 (quit) cdidd: Read error: Connection reset by peer 17:19 (quit) bitonic: Ping timeout: 248 seconds 17:20 (quit) basdirks: Ping timeout: 276 seconds 17:24 (join) bitonic 17:32 jonrafkind: whats the easiest way to display a pict, like adding it to a frame% or something 17:38 (quit) rohni: Quit: Leaving. 17:46 (join) rohni 17:54 (join) kvda 17:54 (join) eikonos 17:54 (quit) eikonos: Changing host 17:54 (join) eikonos 17:54 (quit) jeapostrophe: Ping timeout: 245 seconds 17:57 eli: jonrafkind: ? 17:58 jonrafkind: eli, sukyoung got some error with pl.plt about typed-scheme 17:58 eli: Yeah, I just saw her question now. 17:59 eli: Is that why you pinged me earlier 17:59 eli: ? 17:59 jonrafkind: yes 17:59 eli: ok 17:59 jonrafkind: i told her likely it was a version mismatch 17:59 eli: I'll send a reply. 17:59 eli: Yeah, it still relies on a lot of internal TR-isms, which makes it unstable. 18:00 eli: Though it looks like I can make it more independent, so it would be better in the future. 18:00 eli: BTW, how ready is honu for doing this? 18:00 eli: I've been playing with the idea of converting to it. 18:00 jonrafkind: i have to mess around with making it work with TR 18:00 jonrafkind: i sent you that email a while ago.. 18:01 eli: Yeah, and I don't remember what ideas I had about it. 18:01 jonrafkind: run honu macros, then put it inside a TR module begin, I guess? 18:01 eli: I think that as a start, I could use some kind of a module-begin that translates all of the forms to TR forms. 18:02 eli: And if that works, then I think that the idea I had was to make TR something that you could -- roughly speaking -- parameterize over core forms (like `begin' etc), so you can slap it on top of TR or lazy. 18:02 jonrafkind: i guess all the honu forms would have to be rewritten to support types 18:02 eli: I don't think that it would be as extreme as that. 18:02 eli: If you start with the honu language, and you expand it completely, then you're left with a few things that would need to be translated. 18:03 eli: A hacky way to do this is probably not hard, the fun will begin if/when it becomes something that people actually use. 18:03 jonrafkind: but users will want to write the honu equivalent of (define: ...) 18:03 eli: Well, you could have a honu macro that expands to a TR `define:' so that wouldn't be a problem. 18:04 jonrafkind: what about when user adds their own annotations 18:04 eli: What do you mean? 18:04 jonrafkind: isnt that something you normally do in TR? (define: x int 5) or whatever the syntax is 18:04 jonrafkind: (: x int) 18:05 eli: Yes, and obviously you'll want a honu macro that expands to a TR `define:', or something. 18:05 eli: And that wouldn't be a problem. 18:05 jonrafkind: but the honu macro also has to support the extra type 18:05 jonrafkind: which means it will be a different macro than whats currently there 18:05 eli: Right, but that's easy, no? 18:05 jonrafkind: easy yes, just another macro 18:06 eli: I mean, it's easy to write a honu macro that expands using sexpr syntax, which should make it easy to have it use TR's `define:'. 18:06 jonrafkind: well yes that too 18:06 eli: BTW, this is all theoretic -- in my course I use `:' almost exclusively, and I think that for Honu's case, it makes even more sense. 18:07 jonrafkind: ok thats true, that way we can re-use honu forms 18:07 eli: (Since you need just one macro for all type declarations, and you're done.) 18:07 jonrafkind: and just add in something like : 18:07 eli: Yes. 18:07 jonrafkind: maybe `type' instead of `:' 18:07 eli: `lambda:' is more useful though. 18:07 jonrafkind: ok well any extra forms can be added 18:07 jonrafkind: there are some forms that are hard coded into the grammar 18:07 jonrafkind: like list comprehensions 18:07 eli: In any case, I'll need to start sketching something to say things in a more concrete way than speaking out of my ass. 18:08 jonrafkind: i will be ready to do stuff once i get my thesis turned in.. now im just hacking on latex 18:08 eli: OK. 18:08 jonrafkind: so, maybe in 20 years 18:08 eli: Sounds good. 18:08 eli: Just in time for my son to use it. 18:08 jonrafkind: ya 18:09 eli: BTW, what did you mean by that "hard-coded"? 18:09 eli: List comprehensions are not macros? 18:09 jonrafkind: correct 18:09 eli: Seriously? 18:09 eli: Why? 18:09 jonrafkind: because the form is [..stuff..] 18:09 jonrafkind: and you cant redefine [ as a macro 18:09 eli: Why not? 18:10 eli: Is `;' not a macro too? 18:10 jonrafkind: ; is not 18:10 eli: Double bah. 18:10 jonrafkind: ok i guess [] could be made into a macro 18:10 eli: At some point I had some rough sketch of an infix-ish language, that even had `;' and `,' as macros. 18:11 jonrafkind: well ive chosen to make `;' a reader level thing that splits expressions up 18:11 jonrafkind: so the user can force macros to play nice if they need to 18:11 jonrafkind: `foo bar baz; a b c' -> (foo bar baz) (a b c) 18:11 eli: Ah. 18:12 eli: What about `,'? 18:12 jonrafkind: , is just syntax that macros/the parser has to consume 18:12 jonrafkind: it has no meaning by itself 18:12 jonrafkind: i suppose it can be rebound as a macro 18:12 eli: So why not do `;' in the same way? 18:12 jonrafkind: to give users the ability to control macros. you can write a macro that consumes everything and the only way to stop it is to use ; 18:13 eli: For example, you could have the moral equivalent of an implicit `begin', which would split things on `;'s, which means that you can still write some other macro that uses `;'s in a different way. 18:13 jonrafkind: so you mean look ahead into the syntax for ;'s and split the expressions, then allow each individual expression to be parsed as normal 18:15 eli: No, I'm talking about places where plain Racket has an implicit `begin'. 18:15 eli: The two obvious examples would be `module-begin' and function bodies. 18:16 jonrafkind: well i dont know what the best design is.. what would a macro want to do with ; 18:16 (quit) bitonic: Ping timeout: 240 seconds 18:16 eli: I'm thinking of something like having both of these -- (honu-module-begin stuff ...) and (honu-function-body stuff ...) -- make both of these be macros that do their own search for semicolons and split on them. 18:16 eli: An obvious use for that would be some `for' macro 18:17 jonrafkind: the for macro expects 3 sub-expressions which can be separated by ; or not 18:17 eli: I'm talking about making this work: for(E1;E2;E3) E 18:17 jonrafkind: im pretty sure that already works 18:17 eli: OK 18:18 eli: In any case, it should probably be obvious that I'm talking out of the wrong hole ATM. 18:18 jonrafkind: im open-minded 18:19 eli: :) 18:20 (join) cdidd 18:21 (join) bitonic 18:27 (join) zyoung_ 18:30 (quit) zyoung: Ping timeout: 252 seconds 18:30 (quit) zyoung_: Remote host closed the connection 18:35 (quit) dyoo: Quit: dyoo 18:36 (quit) mye: Quit: mye 18:44 (join) ambrosebs 18:46 (quit) cdidd: Remote host closed the connection 18:49 (join) cdidd 18:55 (join) Mattykins 19:18 (quit) didi: Quit: ERC Version 5.3 (IRC client for Emacs) 19:22 (quit) rohni: Quit: Leaving. 19:28 (quit) sirdancealot: Ping timeout: 250 seconds 19:31 (quit) mceier: Read error: Operation timed out 19:35 (join) mizu_no_oto 19:42 (join) anRch 19:46 (join) sirdancealo2 19:48 (join) ASau` 19:52 (quit) ASau: Ping timeout: 248 seconds 20:16 (join) tsion 20:16 (quit) tsion: Changing host 20:16 (join) tsion 20:18 (join) jao 20:18 (quit) jao: Changing host 20:18 (join) jao 20:32 (quit) anRch: Quit: anRch 20:35 (part) tsion: "Leaving" 20:36 (quit) ambrosebs: Remote host closed the connection 20:36 (join) ambrosebs 20:37 (quit) bitonic: Ping timeout: 245 seconds 20:41 (quit) ambrosebs: Ping timeout: 252 seconds 20:45 (join) jackhammer2022 21:00 (join) jeapostrophe 21:00 (join) RacketCommitBot 21:00 RacketCommitBot: [racket] plt pushed 5 new commits to master: http://git.io/3x7p5A 21:00 RacketCommitBot: racket/master c3716d5 Jon Rafkind: [honu] mark/unmark syntax parsed through the expression syntax class 21:00 RacketCommitBot: racket/master 9a9b30c Jon Rafkind: [honu] many small things: allow with syntax to bind arbitrary patterns. provide time and time-apply. make compress-dollars recurse on sub-expressions. add an implicit pattern variable that consists of the result with an ellipses depth of 1. fix the while form. allow require forms to contain mostly anything and be separated by commas. 21:00 RacketCommitBot: racket/master 81d58b1 Jon Rafkind: [honu] fix lexical context for require forms. fixup the module name to replace _ with - 21:00 (part) RacketCommitBot 21:15 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 21:15 (quit) jonrafkind: Read error: Operation timed out 21:18 (join) ambrosebs 21:23 (quit) ambrosebs: Ping timeout: 245 seconds 21:24 (join) ambrosebs 21:28 (join) yacks 21:34 (join) jonrafkind 21:34 (quit) lusory: Quit: leaving 21:43 (join) didi 21:46 (join) mizu_no_oto 21:49 (join) RacketCommitBot 21:49 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/6FH09g 21:49 RacketCommitBot: racket/master 0939cfc chrdimo: adding common special for the wrap-proc of the chaperone for option contracts on procedures 21:49 (part) RacketCommitBot 21:59 (quit) ambrosebs: Remote host closed the connection 22:00 (join) ambrosebs 22:05 (quit) ambrosebs: Ping timeout: 260 seconds 22:06 (quit) dauterive: Quit: Leaving 22:22 (join) dyoo 22:23 asumu: Hmm, does #lang racklog not have escapes to Racket syntax? That'd be nice. 22:30 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 22:30 dyoo: asumu: looks like it reuses the parser from datalog; I don't see an escape to s-exp syntax in http://docs.racket-lang.org/datalog/datalog.html unfortunately. 22:37 (join) mizu_no_oto 22:39 (quit) mizu_no_oto: Client Quit 22:47 (join) brum 22:49 (join) adu 22:55 (join) ambrosebs 22:55 (quit) ambrosebs: Read error: Connection reset by peer 22:56 (join) ambrosebs 23:00 (quit) adu: Ping timeout: 248 seconds 23:00 (join) finishingmove 23:02 (quit) ambrosebs: Remote host closed the connection 23:04 (part) finishingmove 23:05 (quit) SeanTAllen: Read error: Operation timed out 23:05 (quit) gazoombo: Read error: Operation timed out 23:06 (quit) whoops: Ping timeout: 246 seconds 23:08 (join) adu 23:12 (quit) jeapostrophe: Ping timeout: 240 seconds 23:12 (join) whoops 23:18 (join) Kaylin 23:23 (quit) didi: Quit: ERC Version 5.3 (IRC client for Emacs) 23:37 (join) ambrosebs 23:45 (quit) yacks: Read error: Operation timed out 23:46 (quit) Fare: Quit: Leaving 23:57 (quit) dyoo: Quit: dyoo