00:09 (join) RacketCommitBot 00:09 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/s5c-bQ 00:09 RacketCommitBot: racket/master 2067534 Robby Findler: add #:extra-srclocs argument to raise-read-error... 00:09 (part) RacketCommitBot 00:33 (join) _tca 00:33 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 00:34 mithos28: asumu: you are the one working on typing control in TR right 00:43 asumu: mithos28: yes. 00:44 mithos28: I'm trying to make TR work with contracts again, and it seems that Prompt-Tags handler field was specified as Function? 00:45 mithos28: even though it could be a type variable. 00:45 mithos28: I'm not sure how much that assumption permeated the actual code 00:49 asumu: Hmm, yeah, actually the documentation example there is wrong too. It's specified as a Function to make the type easier to write down. 00:51 (part) sw2wolf: "ERC Version 5.3 (IRC client for Emacs)" 00:53 asumu: Right, that can't actually work since there's constraint on the type variable in make-continuation-prompt-tag's type. 00:54 asumu: *there's no constraint 00:56 asumu: It shouldn't actually cause any unsoundness since uses of abort-current-continuation shouldn't type-check unless it actually is a function type. 00:57 asumu: And contract generation won't work either. 00:57 asumu: But that should be fixed somehow. 00:59 ozzloy: http://docs.racket-lang.org/guide/with-syntax.html the sidebar mentions "...+" used in "this example" but that's the only place that "...+" shows up. should it just read "..." instead of "...+"? 01:00 mithos28: ozzloy: No 01:00 mithos28: …+ means at least one 01:00 mithos28: see …+ in syntax parse for an example 01:06 ozzloy: mithos28, i read that, but "...+" doesn't actually show up in the example 01:07 ozzloy: just in the sidebar that's supposed to be a note about the example 01:07 mithos28: the side bar is in meta langage 01:07 ozzloy: oooh 01:08 mithos28: it is talking about (define-syntax (foo x) as the same as (define-syntax foo (lambda (x) 01:08 ozzloy: got it 01:08 ozzloy: that's why i check in here 01:08 ozzloy: i'm glad i didn't make a pull request out of that 01:13 (quit) ambrosebs: Remote host closed the connection 01:16 (quit) Nisstyre-laptop: Read error: Connection reset by peer 01:18 (join) Nisstyre-laptop 02:07 (quit) _tca: Remote host closed the connection 02:09 (quit) dsantiago: Quit: Computer has gone to sleep. 02:10 (quit) parcha: Ping timeout: 260 seconds 02:11 (join) dsantiago 02:12 (join) parcha 02:14 (join) scott_ 02:14 (quit) scott_: Changing host 02:14 (join) scott_ 02:18 (quit) scott_: Client Quit 02:21 (quit) neilv: Quit: Leaving 02:28 (join) scott_ 02:28 (quit) scott_: Changing host 02:28 (join) scott_ 02:32 (join) Demosthenex 02:37 (quit) Fare: Ping timeout: 248 seconds 02:39 (quit) Kaylin: Read error: Connection reset by peer 03:12 (join) `quote` 03:12 `quote`: racketcon? 03:15 jonrafkind: disneyworld? 03:15 `quote`: ah it was in massachusetts 03:20 `quote`: what's up racketeers 03:22 jonrafkind: pizza 03:27 `quote`: super cool 03:30 (quit) serhart: Quit: Leaving. 03:40 ozzloy: sup `quote` 03:40 ozzloy: quasiquote'quasiquote 03:42 `quote`: lol 03:54 (quit) Shviller: Ping timeout: 276 seconds 04:01 (join) Shviller 04:12 (join) RacketCommitBot 04:12 RacketCommitBot: [racket] plt pushed 3 new commits to master: http://git.io/rW1f8g 04:12 RacketCommitBot: racket/master a3a4712 Eli Barzilay: Remove "internet-enabled" dmg creation.... 04:12 RacketCommitBot: racket/master b5618b7 Eli Barzilay: Do the conventional DMG layout.... 04:12 RacketCommitBot: racket/master a2207e6 Eli Barzilay: Make only binary distributions use laid-out DMGs.... 04:12 (part) RacketCommitBot 04:16 (quit) jonrafkind: Ping timeout: 276 seconds 04:33 `quote`: any racket-from-C examples? 05:05 (join) shriphani_ 05:11 (quit) scott_: Quit: Leaving 05:12 (quit) `quote`: Quit: leaving 05:14 (join) didi 05:19 (quit) mithos28: Quit: mithos28 05:22 (quit) dsantiago: Quit: Leaving... 05:24 (join) mye 05:27 (join) dsantiago 05:32 (quit) Shviller: Ping timeout: 265 seconds 05:43 (join) Shviller 06:00 (quit) Nisstyre-laptop: Quit: Leaving 06:19 (join) jeapostrophe 06:38 (quit) didi: Quit: ERC Version 5.3 (IRC client for Emacs) 06:38 (quit) dca: Ping timeout: 265 seconds 06:41 (quit) jeapostrophe: Ping timeout: 255 seconds 06:48 (join) bitonic 07:02 (quit) mye: Ping timeout: 248 seconds 07:04 (join) mye 07:14 (join) dca 07:15 (join) cdidd 07:35 (join) serhart 07:37 (join) ambrosebs 07:41 (join) Kaylin 07:52 (join) kofno 07:55 (join) ambroseb_ 07:56 (join) MayDaniel 07:58 (quit) ambrosebs: Ping timeout: 260 seconds 08:00 (join) klr_ 08:03 (quit) ambroseb_: Remote host closed the connection 08:11 (join) jao 08:11 (quit) jao: Changing host 08:11 (join) jao 08:15 (quit) Kaylin: Ping timeout: 252 seconds 08:26 (quit) merijn: Ping timeout: 264 seconds 08:31 (join) ambrosebs 08:31 (join) merijn 08:39 (join) shriphani__ 08:41 shriphani__: Hi, I have a .rkt file in #lang at-exp racket and I have a few definitions there (I want something like a mini-scribble for myself). How do I go about using this lang in other files? I am not sure what to look for in the docs. 08:42 (quit) shriphani_: Ping timeout: 240 seconds 08:43 (join) ambroseb_ 08:43 bremner: shriphani__: modules, require and provide, I guess 08:44 shriphani__: bremner: any way I could use it as #lang scrbl-mini in another file? 08:44 asumu: shriphani__: http://docs.racket-lang.org/guide/hash-languages.html 08:44 bremner: sure, it just needs to be a file "scrbl-mini" in the right place, and provide the right things. 08:44 bremner: err, scrbl-mini.rkt 08:45 asumu: Where the "right things" is either a lang directory or a lang submodule in the main module of the collection. 08:45 (quit) ambrosebs: Ping timeout: 248 seconds 08:47 shriphani__: asumu: and just having these definitions is sufficient information ? 08:49 asumu: shriphani__: yes, here's a really simple one: https://github.com/takikawa/racket-clojure/blob/master/lang/reader.rkt 08:50 asumu: (sorry, I meant a "reader" submodule) 08:54 bremner: hmm. dyoo should hang out here more so we could tell him how cool his stuff is. 08:56 (quit) ambroseb_: Ping timeout: 252 seconds 08:56 (quit) sirdancealot7: Ping timeout: 245 seconds 08:59 (join) jeapostrophe 08:59 (quit) jeapostrophe: Changing host 08:59 (join) jeapostrophe 08:59 (join) mizu_no_oto 09:01 (quit) mizu_no_oto: Client Quit 09:04 (join) ambrosebs 09:05 (quit) merijn: Ping timeout: 265 seconds 09:06 (join) mizu_no_oto 09:09 asumu: bremner: Agreed. :) 09:14 (join) ambroseb_ 09:17 (quit) ambrosebs: Ping timeout: 256 seconds 09:41 (join) jonrafkind 09:47 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 09:53 (join) ijp 09:58 (quit) ormaaj: Read error: Connection reset by peer 10:00 (quit) ambroseb_: Remote host closed the connection 10:06 (join) mizu_no_oto 10:11 (quit) kofno: Remote host closed the connection 10:17 (join) ormaaj 10:19 (join) wdkrnls 10:23 (join) ambrosebs 10:24 (quit) ambrosebs: Remote host closed the connection 10:41 (join) kofno 10:46 (quit) jao: Ping timeout: 248 seconds 10:50 (quit) kofno: Ping timeout: 248 seconds 10:52 (join) merijn 11:21 (join) ambrosebs 11:24 (quit) merijn: Ping timeout: 260 seconds 11:32 (join) Fare 11:42 (join) soegaard 11:43 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 11:43 (quit) ambrosebs: Ping timeout: 252 seconds 11:52 (quit) mye: Ping timeout: 248 seconds 12:08 (join) mithos28 12:11 (join) Shvillr_ 12:11 (quit) Shviller: Disconnected by services 12:11 (nick) Shvillr_ -> Shviller 12:18 (join) safekeeping 12:22 (join) mizu_no_oto 12:26 bremner: hrm. geiser seems to choke on "#lang ragg" files because there is no "main.rkt" file. Who is at fault here, I'm guessing geiser is making a wrong assumption? 12:26 (join) merijn 12:27 mithos28: geiser. main.rkt is used if you use (require ragg) 12:27 mithos28: #lang ragg uses ragg/lang/reader 12:28 bremner: ook. Now how do I report geiser bugs again ... 12:31 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 12:38 (join) anRch 12:40 (quit) merijn: Ping timeout: 248 seconds 12:42 (join) mizu_no_oto 12:44 (quit) mizu_no_oto: Client Quit 12:47 asumu: Hmm, I dislike it when emacs sometimes goes into infinite loops. 12:47 offby1: you do? 12:47 offby1: you're fussy 12:49 (join) didi 12:51 bremner: as long as the infinite loops finish quickly, I don't mind so much 12:52 offby1: The lengthy, we complete right away; the infinite takes a little longer 12:52 (join) mye 12:55 bremner: is there an xrepl.el kicking about? or some glue to use xrepl conveniently from emacs? 12:57 Sgeo: xrepl? 12:57 bremner: http://docs.racket-lang.org/xrepl/index.html 12:58 (quit) shriphani__: Quit: shriphani__ 13:03 (quit) mye: Ping timeout: 264 seconds 13:04 (quit) anRch: Quit: anRch 13:08 (join) anRch 13:12 (join) mye 13:16 (join) merijn 13:19 (quit) wdkrnls: Remote host closed the connection 13:31 (quit) didi: Remote host closed the connection 13:41 (quit) merijn: Ping timeout: 244 seconds 13:42 (join) Nisstyre-laptop 13:50 (join) dlobraico 13:50 (quit) dlobraico: Client Quit 13:51 (join) pygmalion 13:56 mithos28: Is there an easy way to see where a binding is used across many different files? 13:56 mithos28: Ignoring people failing to add the disapeared binding annotation 13:58 offby1: git-grep :) 14:12 (join) zuurr 14:12 (quit) anRch: Quit: anRch 14:13 (quit) jeapostrophe: Ping timeout: 246 seconds 14:14 (part) zuurr 14:17 (join) zuurr 14:18 (part) zuurr 14:27 (join) tcsc 14:36 Sgeo: disappeared bindings? 15:10 mithos28: Sgeo: For programs where the binding is important but not in the residual (expanded) program 15:11 mithos28: i.e. else when used with cond 15:17 (quit) tcsc: Quit: computer sleeping 15:21 (quit) SeanTAllen: Remote host closed the connection 15:29 (join) SeanTAllen 15:29 (quit) cdidd: Remote host closed the connection 15:31 (join) cdidd 15:32 (join) tcsc 15:40 (quit) cdidd: Read error: Connection reset by peer 15:42 (join) cdidd 15:43 (quit) MayDaniel: Read error: Connection reset by peer 15:43 (join) jao 15:43 (quit) jao: Changing host 15:43 (join) jao 16:17 (quit) Nisstyre-laptop: Ping timeout: 252 seconds 16:55 (join) jeapostrophe 16:56 (join) mizu_no_oto 17:03 (quit) jeapostrophe: Ping timeout: 276 seconds 17:04 (quit) mye: Quit: mye 17:06 (join) mye 17:11 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 17:27 (join) mizu_no_oto 17:30 (join) netrino 17:31 (part) netrino 17:40 mye: I'm trying out ragg and would like to say at least one, at most three of a token make a valid rule, like: 17:40 mye: DIGIT | DIGIT DIGIT | DIGIT DIGIT DIGIT 17:41 mye: one, or two, or three digits. Is there something I'm missing and I can express this with + and * ? 17:42 mithos28: No you cannot represent it with + and *. I don't know ragg yet, but DIGIT DIGIT? DIGIT? might work 17:42 (quit) jonrafkind: Ping timeout: 264 seconds 17:43 (join) jonrafkind 17:45 mithos28: It looks like ? doesn't exist in ragg 17:45 mithos28: What is wrong with DIGIT | DIGIT DIGIT | DIGIT DIGIT DIGIT 17:45 mye: mithos28: I'm trying to transcribe the syslog ABNF and it has stuff like 1*255PRINTUSASCII which means at least one and at most 255 17:45 mithos28: Oh 17:48 mithos28: I would file a bug/feature request for bounded repitition 17:48 mye: Looking through the parser I wrote in parser-tools/yacc I don't remember how to express it there either 17:48 mithos28: mye: it is not easy 17:49 mithos28: you need to explicitily list out the states 17:51 mye: I'll do that then, for now. Thx :-) 17:54 bremner: mye: is there some reason you're not going this in the lexer? or is it just an example? 17:54 bremner: parser-utils/lex does support bounded repetition, of course 17:55 mye: bremner: yeah I'm still juggling stuff between the lexer and the parser 17:56 mye: never quite obvious from the start what to put where :-/ 18:01 (join) Nisstyre-laptop 18:07 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 18:18 (quit) jonrafkind: Ping timeout: 260 seconds 18:19 (nick) ijp -> M-x_doctor 18:24 (join) jeapostrophe 18:24 (quit) jeapostrophe: Changing host 18:24 (join) jeapostrophe 18:26 (join) anRch 18:38 (quit) mithos28: Quit: mithos28 18:39 (join) mithos28 18:42 (join) merijn 18:49 (quit) klr_: Quit: Lost terminal 19:00 mithos28: dyoo: ping 19:05 (join) Kaylin 19:11 (join) dsevilla 19:11 dsevilla: guys, any documentation, examples, etc., on lazy racket? 19:13 (join) mizu_no_oto 19:16 dca: i second taht question! 19:17 mithos28: http://docs.racket-lang.org/lazy/index.html?q=lazy 19:20 (quit) anRch: Quit: anRch 19:23 dsevilla: dca: the one on lazy racket? 19:24 (join) tuor 19:24 dsevilla: mithos28: yeah, a small document without any example :( 19:25 mithos28: dsevilla: Have you tried using it? 19:25 (quit) cdidd: Ping timeout: 255 seconds 19:25 dsevilla: mithos28: er no, don't know where to start 19:26 mithos28: from the document: To write lazy code, simply use lazy as your module’s language: 19:26 mithos28: #lang lazy 19:26 mithos28: ... lazy code here... 19:26 dsevilla: mithos28: how do I do a lazy list that holds natural numbers? 19:26 (join) cdidd 19:26 mithos28: dsevilla: (list 1 2 3 4) 19:26 dsevilla: mithos28: mmm... that list holds 4 natural numbers, not the infinite set (lazily) 19:27 bremner: in this case the missing word "the" was important ;) 19:27 mithos28: (define (nats x) (cons x (nats (add1 x)))) 19:27 mithos28: (nats 0) 19:27 mithos28: rudybot: init lazy 19:27 rudybot: mithos28: your lazy sandbox is ready 19:27 mithos28: rudybot: (define (nats x) (cons x (nats (add1 x)))) 19:27 rudybot: mithos28: Done. 19:28 mithos28: rudybot: (define naturals (nats 0)) 19:28 rudybot: mithos28: Done. 19:28 mithos28: rudybot: (take naturals 5) 19:28 rudybot: mithos28: error: take: expects type as 1st argument, given: '(0 . #); other arguments were: 5 19:28 mithos28: rudybot: (take 5 naturals) 19:28 (quit) merijn: Ping timeout: 255 seconds 19:28 rudybot: mithos28: ; Value: (0 . #) 19:28 mithos28: rudybot: (!! (take 5 naturals)) 19:28 rudybot: mithos28: ; Value: (0 1 2 3 4) 19:28 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 19:29 dsevilla: mithos28: wow, nice, really thanks. I wonder why there isn't any web page with such simple examples... 19:29 dca: why one needs to force the computation to obtain the result? 19:29 dca: (i am about that !! function) 19:29 mithos28: dca: Otherwise it wouldn't do the computation 19:29 dca: hm 19:30 dsevilla: dca: yeah, if everything is lazy, even the result of some computation is lazily computed, unless you force it 19:30 dca: but repl needs it 19:30 mithos28: dsevilla: Because it just works I assume 19:30 dsevilla: mithos28: yeah, maybe, and examples of programs using it? 19:31 dca: i mean if we take that haskell language they call, you don't need to force to make "take 5 [1..]", right? 19:31 mithos28: dsevilla: File a bug if you want examples 19:31 mithos28: dca: You don't need to that either in racekt 19:31 dsevilla: mithos28: I was just curious. I'm new to racket and it would be easy to have some examples where to start 19:32 mithos28: dca: you do need to force it to print it 19:32 dsevilla: it is surprising that after writing such a library as lazy or typed racket, there are so little examples in the docs 19:32 dca: dsevilla: you could start some wiki page, share the link with tha mailing list and ask people to fill in 19:33 mithos28: dsevilla: Cool, I'm just saying that about half the devs never come on IRC. So bugs and mailing lists are more likely to get a thourough response by people who maintain the feature 19:33 dsevilla: well, in fact typed racket has several examples in the docs 19:33 dsevilla: mithos28: I see. Seems too intrussive to file a bug report for that, though 19:33 mithos28: dsevilla: TR is also used a lot more than lazy racket 19:34 dca: mithos28: so it's how lazy repl works, right? doesn't force the result by default? 19:34 mithos28: dsevilla: And you wonder why there are no examples... 19:34 mithos28: dca: I have no idea, other than that one attempt that you saw with rudybot minutes ago 19:35 mithos28: I'm just extrapolationg 19:35 dsevilla: mithos28: you mean many people would find that intrusive, right? 19:35 dsevilla: to file a bug report asking for examples 19:36 mithos28: No. You see an issue with the docs, and you don't report it. 19:36 (join) merijn 19:36 dsevilla: mithos28: mmm... strictly speaking it is not an issue 19:36 dsevilla: at least as I see it. Examples are not mandatory. You've know how to use it without them 19:37 dsevilla: Maybe every people with enough knowledge of racket will know without those examples 19:37 asumu: dsevilla: even better would be a pull request. :) 19:37 mithos28: dsevilla: Neither are good error messages, but that doesn't mean we shouldn't strive to have them 19:38 dsevilla: asumu: I would like to, but I'm asking for examples I don't have. i cannot do a pull request :) 19:38 asumu: Well, for most things you can directly transcribe, say, Haskell examples. 19:38 dsevilla: mithos28: OK, I'll file it. You have to know, as I do know, that different projects have different policies for reports 19:38 asumu: But yes, a bug report is fine. 19:38 dsevilla: in some projects that request of adding examples to the documentation would be seen as a bad bug report, because there's no bug 19:39 mithos28: dsevilla: Well on the bug form, you can select documentation bug or feature request 19:39 dsevilla: mithos28: ah, OK, I see, nice to know, then 19:39 mithos28: which would be better classifications, but I doubt that who ever fixes it will care that you filed it in the right bin 19:40 dsevilla: the idea came to me after a question in stackoverflow 19:40 mithos28: Also the user is always right, if something isn't clear to them it is the fault of the tool 19:40 dsevilla: some person was asking the most efficient way of creating a list with natural numbers 19:40 dsevilla: I rapidly thought of some kind of laziness, that racket should have 19:40 dsevilla: and that was right, it is there, but without any example for me to test 19:41 dsevilla: is there also a way to say a function would be lazily evaluated, but just that function? 19:41 dsevilla: having to change the complete language seems like an overkill 19:42 mithos28: dsevilla: No. Laziness doesn't work that way 19:42 mithos28: you can use promises, but thats not lazy in the same way as you expect 19:42 mithos28: you could use streams 19:42 mithos28: but those aren't lists 19:43 dsevilla: mithos28: I see, I was just curious. 19:43 dsevilla: I'm know Common Lisp and Emacs Lisp, but not Scheme/Racket 19:43 dsevilla: there are enough differences to shock me, so I still have to study it 19:44 (quit) mye: Quit: mye 19:48 dsevilla: one last question 19:48 dsevilla: I kind of remember having seen/heard of a prolog-like implementation in racket 19:48 dsevilla: not minikanren 19:48 mithos28: dsevilla: racklog and datalog 19:49 dsevilla: mithos28: ah, thanks, are they available as langs in stock racket? 19:49 mithos28: yep 19:49 dsevilla: oh, nice 19:52 (quit) merijn: Ping timeout: 246 seconds 19:53 dsevilla: mmm... when I execute (!! (take 5 naturals)) in a file, it says: 19:53 dsevilla: take: not a proper list: 1 19:53 bartbes: I'd like to note that I very much prefer lazy racket to not force anything by default, when run on the repl 19:53 bartbes: because when I inspect my code, I want to see the actual (lazy) output 19:53 mithos28: dsevilla: what is naturals? 19:53 dsevilla: the same definition we did 19:54 dsevilla: (define naturals (nats 0)) 19:54 dsevilla: 19:54 bartbes: also, I can only like a language as lazy as me 19:54 dsevilla: bartbes :) 19:54 mithos28: what is your definition of nats? 19:55 mithos28: I think it is wrong 19:55 dsevilla: (define (nats n) (cons n (add1 n))) 19:55 mithos28: yeah 19:55 mithos28: that was not my definition 19:55 dsevilla: oh, I see 19:55 dsevilla: sorry 19:55 mithos28: no problem 19:55 bartbes: btw, a word of warning about the *logs, I've not found out a way to interact with files written in them, without using that language 19:56 bartbes: that is, if I try to load them from another, racket, file, I can't get the data out 19:56 bartbes: I might be missing something, though 19:56 dsevilla: bartbes: hope i could help you :) 19:57 (join) mye_ 20:00 (join) shriphani_ 20:03 (quit) bitonic: Ping timeout: 240 seconds 20:16 (quit) cdidd: Read error: Connection reset by peer 20:17 (join) cdidd 20:20 (quit) mye_: Quit: mye_ 20:26 (quit) cdidd: Ping timeout: 265 seconds 20:26 (join) cdidd 20:33 (quit) cdidd: Remote host closed the connection 20:34 (quit) dsevilla: Remote host closed the connection 20:37 (quit) Kaylin: Quit: Leaving. 20:41 (quit) soegaard: Quit: soegaard 20:42 (join) jonrafkind 20:44 (join) didi 20:46 (join) cdidd 20:50 (join) kofno 20:51 (quit) tcsc: Quit: computer sleeping 20:56 (join) tcsc 20:59 (quit) cdidd: Remote host closed the connection 21:09 (join) cdidd 21:16 (join) sw2wolf 21:39 (quit) parcha: Read error: Connection reset by peer 21:41 (join) parcha 22:11 (quit) kofno: Remote host closed the connection 22:14 (join) ambrosebs 22:16 (quit) dsantiago: Quit: Computer has gone to sleep. 22:20 (join) Kaylin 22:30 (join) Kaylin1 22:32 (quit) Kaylin: Ping timeout: 265 seconds 22:41 (quit) jeapostrophe: Ping timeout: 244 seconds 22:53 (quit) mithos28: Quit: mithos28 23:03 (join) kofno 23:04 (quit) sw2wolf: Remote host closed the connection 23:13 (quit) Kaylin1: Read error: Connection reset by peer 23:21 (join) mizu_no_oto 23:30 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 23:40 (part) shriphani_ 23:57 (quit) tuor: Quit: tuor