00:02 (quit) cored: Read error: Connection reset by peer 00:08 (join) cored 00:08 (join) Nisstyre-laptop 00:09 (quit) cored: Read error: Connection reset by peer 00:14 (join) cored 00:14 (quit) cored: Changing host 00:14 (join) cored 00:14 (quit) cored: Read error: Connection reset by peer 00:20 (join) yacks 00:20 (join) cored 00:20 (quit) cored: Changing host 00:20 (join) cored 00:20 (quit) cored: Read error: Connection reset by peer 00:21 eli: stamourv: ping 00:21 (quit) Fare: Ping timeout: 256 seconds 00:34 (join) cored 00:34 (quit) cored: Changing host 00:34 (join) cored 00:35 (quit) jao: Ping timeout: 245 seconds 00:36 (quit) cored: Read error: Connection reset by peer 00:44 mithos28: Is there an easy way to do a fold that introduces continuation frames. For example if given a list of parameters and values, evaluate an expression in the dynamic extent of all the parameters set to a new value? 00:55 (join) cored 00:55 (quit) cored: Changing host 00:55 (join) cored 00:57 (quit) SeanTAllen: Ping timeout: 260 seconds 00:57 (join) jao 00:58 (quit) jao: Changing host 00:58 (join) jao 00:59 (quit) cored: Read error: Connection reset by peer 01:05 (join) cored 01:05 (quit) cored: Changing host 01:05 (join) cored 01:05 (join) sizz_ 01:05 (quit) cored: Read error: Connection reset by peer 01:05 (quit) sizz: Ping timeout: 248 seconds 01:08 eli: mithos28: IIUC, you won't be able to do that with folds or fors, since neither of these give your code the continuation. 01:08 eli: But if that's your goal then why not write the two lines that it would take? 01:08 mithos28: eli: Well it was a slight difference than that, but thats what I did 01:09 mithos28: the manual loop seemed like it could be abstracted out though 01:10 eli: IME, such cases where you're dealing with loops where you want an input to call as the continuation are rarely abstracted into library functions because named lets is usually a very straightforward and possibly clearer way of doing things. 01:14 mithos28: why couldn't racket be a simple language? 01:15 eli: mithos28: ? 01:16 mithos28: I'm frustrated at the complexity of it 01:16 eli: That sounds that you're doing work that is not usually done... 01:17 mithos28: making TR work for corner cases 01:17 eli: Of what? 01:18 mithos28: scoping of type variables 01:18 eli: Heh 01:18 mithos28: haskell has it much easier in this regard 01:18 eli: I told Sam on *many* occasions that some HOAS-ish representation would work well. 01:19 mithos28: eli: its not the implementation of them 01:19 mithos28: its figuring out whether or not you should introduce them 01:20 eli: Using them is not just a representation issue; doing it usually means that you can hook to some language (as in phase-1-racket) where you get the right thing to happen. 01:22 mithos28: (ann (All (a) T)) does not introduce bindings for a in body 01:22 mithos28: but (ann (lambda formals ) (All (a) T)) does 01:22 (quit) Nisstyre-laptop: Ping timeout: 264 seconds 01:23 eli: That sounds fishy. 01:24 eli: Because if includes any body expression, then the first case includes the second. 01:24 mithos28: Reorder the cases, and assume first match wins 01:25 eli: Obviously, but it still sounds fishy. 01:25 eli: Any concrete example of the first case where introducing the bindings is wrong? 01:25 mithos28: mutation 01:26 eli: Concrete example? 01:26 mithos28: (let ((x : (U a #f) #f) (lambda ((y : a)) (begin0 (or x y) (set! x y)))) 01:26 mithos28: that has type (a -> a) 01:28 mithos28: Lambdas need to match up with lambdas 01:29 (join) cored 01:29 eli: mithos28: You mean s/Lambdas/Alls/? 01:29 eli: But in any case I don't follow that example, where is a coming from? 01:30 mithos28: No, Lambda is the expression that has type All 01:30 mithos28: the example is the body 01:30 mithos28: you need to wrap it in (ann <> (All (a) (a -> a)) 01:31 (quit) cored: Read error: Connection reset by peer 01:31 eli: But where is `a' coming from? -- The one outside 01:31 mithos28: What do you mean the one outside? 01:32 mithos28: (ann (let ((x : (U a #f) #f) (lambda ((y : a)) (begin0 (or x y) (set! x y)))) (All (a) (a -> a)) 01:32 mithos28: If that typechecked it would be unsound 01:37 eli: If this is the whole code, then how would that be unsound? 01:37 mithos28: Let be that chunk of code 01:38 mithos28: (let ((f )) ((inst f Boolean) #t) ((inst f Number) 2)) 01:39 mithos28: that if typechecks as (All (a) (a -> a)), then this would typecheck as Number 01:39 mithos28: but this evaluates to #t 01:41 eli: Bah *head-slap* 01:42 eli: But actually, how is this related to the bindings? 01:42 eli: Shouldn't the `set!' throw a type error? 01:43 mithos28: No 01:43 eli: Why not? -- Isn't it setting a (U a #f) box to an `a'? 01:43 eli: s/box/variable/ 01:44 mithos28: yeah, and? 01:44 mithos28: I can put an Integer in a Number box. 01:49 eli: I'm confusing passing boxes with setting them. 01:58 mithos28: Thats why I only want plambda to introduce type variables. The scope rules on it are much less confusing 01:58 eli: I never remember what `plambda' is 01:59 eli: (I always think "parallel") 01:59 eli: In any case, yeah, looks like `plambda' is close to what I'd think -- forbid using `All' for any non-lambda expressions. 02:00 eli: It looks to me like the binding trickery is a hack. 02:00 mithos28: It is a hack 02:01 eli: s/hack/bad hack/ 02:01 mithos28: It works well for the (: f (All (a) …)) (define (f x y z) <>) 02:02 eli: Obviously -- I'm talking about allowing it for non-lambda expressions. 02:02 eli: (: z (All (a) Integer)) 02:02 eli: (define z (let: ((x : (U a #f) #f)) 1)) 02:02 eli: --> Unbound type name a 02:02 mithos28: Right thats what I'm implementing 02:02 eli: That's a really bad error. 02:04 mithos28: What error would you want? 02:05 eli: (define z (let: ((x : (U a #f) #f)) (lambda ...))) 02:05 eli: --> cannot use type variable `a' outside of the function 02:05 eli: (define z (let: ((x : (U a #f) #f)) 1)) 02:05 eli: --> ... expecting a function 02:05 eli: Something like that. 02:05 ambroseb_: mithos28: are you forbidding All to introduce variables in *all* cases, or just around a plambda? 02:05 mithos28: But its not expecting a function 02:05 mithos28: (: z (All (a) (Listof a)) 02:05 eli: Yeah 02:06 mithos28: (define z null) 02:06 eli: ... in my own example too. 02:06 mithos28: ambroseb_: I've changed my tune from this morning 02:06 mithos28: It will merge with the plambda variables 02:07 ambroseb_: mithos28: That sounds great. Was concerned for a second. 02:08 eli: So maybe the concept of this separate All is broken, and lambda should really always be a plambda 02:08 ambroseb_: eli: that's pretty inconvenient :/ 02:08 mithos28: eli: The real problem is impurity 02:08 mithos28: just solve that and it works fine 02:09 mithos28: Thats how Haskell does it 02:09 eli: You mean "solve" as in "abolish"? 02:09 mithos28: yes 02:10 eli: Well, that's out then... 02:10 ambroseb_: mithos28: Does Haskell's ScopedTypeVariables do the same as All introduction here? ie. only scopes in function bodies? 02:10 eli: ambroseb_: Why is it inconvenient? 02:10 ambroseb_: eli: You have to change every polymorphic lambda to plambda:. 02:10 mithos28: ambroseb_: No, because purity solves it 02:10 (quit) mceier: Quit: leaving 02:11 mithos28: ambroseb_: No, you have to change every use of a scoped type variable to a plambda: 02:11 ambroseb_: mithos28: ah, good point. 02:11 eli: why not some syntactic thing like struct with a type variable? 02:11 ambroseb_: mithos28: in any case, having both is nice, if they work nicely together. 02:12 mithos28: eli: I don't understand your question. 02:12 ambroseb_: mithos28: what do you mean by purity? Is TR's impurity that you refer to the weird clobbering issue from different define:'s? 02:12 eli: (new-lambda (x) y) -> (current-lambda (x) y) 02:12 eli: (new-lambda {a} (x) y) -> (current-plambda (a) (x) y) 02:13 mithos28: ambroseb_: set! and such 02:13 mithos28: look at the logs, eli and I were talking about how it can break it 02:13 (join) cored 02:13 (quit) cored: Changing host 02:13 (join) cored 02:14 eli: Something like what `struct:' is doing 02:14 mithos28: eli: Are you suggesting that we use paren shape for semantic meaning? 02:15 eli: Well, I want to know if it could work 02:15 eli: If so then there's a question of how to do it syntactically 02:15 eli: (::(a) (lambda (x) x)) 02:16 mithos28: plambda: just expands out to lambda with a syntax annotation 02:16 (quit) cored: Read error: Connection reset by peer 02:16 eli: (::(a) (struct foo ((x : a)))) 02:16 eli: (define z (::(a) null)) 02:16 mithos28: Both of those syntaxes would work 02:17 eli: IOW, some way to put the type variables where they actually go, somehow 02:17 mithos28: What is your complaint with the current plambda:? 02:18 eli: Alternatively, hijack some identifier syntax for type variables, maybe 02:18 eli: I don't have a complaint with it, except that it's a weird name for lambda (and I'm semi-convinced that it's better like you said) 02:19 eli: Re hijacking, I considered at some point dropping `All' in the pl language and instead collect all names that look in some way 02:19 eli: So instead of (: foo : (All (a b) a -> b -> a)) 02:20 eli: You'd write (: foo : ?a -> ?b -> ?a) 02:20 eli: Or something 02:20 eli: So without plambda, you just see if you write lambda with these things 02:21 eli: (lambda ([x : ?a] [y : ?b]) ...) -> (plambda: (?a ?b) ...same...) 02:21 eli: (IIU plambda C) 02:21 eli: Also (struct foo ([x : ?a])) 02:22 mithos28: Theoretically possible 02:22 eli: And then you only need to know that `lambda' and `struct' are binders for ?things 02:22 mithos28: you would need to change lambda and struct 02:23 eli: At least for my class, that sounds like it could be a good change 02:23 ambroseb_: mithos28: I saw that example. It looked like a good example as to why All shouldn't immediately unwrap around any old expression. I'll admit I don't follow how unwrapping All's immediately could fix the clobbering issue. 02:23 eli: Although I try to use `:' instead of `define:' and `lambda:' as much as possible 02:23 mithos28: ambroseb_: I'm not dealing with the clobbering issue currently 02:24 mithos28: eli: You could just change : then 02:24 mithos28: It would require hijacking the lookup for type variables 02:24 eli: Change `:' how? 02:25 eli: The thing that I like is to declare the type before the definition 02:25 eli: (In the context of my class, that is) 02:25 mithos28: Let e: be your new binding for : 02:26 mithos28: (e: id T) needs to examine T for free typevariables of the symbolic form ?_ 02:26 mithos28: and then expand to (: id (All (?_ …) T)) 02:26 (join) Kaylin 02:28 mithos28: Also for sanity sake you will want to rename it so you don't need to change everything that looks for the current binding of : 02:28 (quit) dyoo: Quit: dyoo 02:29 ambroseb_: mithos28: Then I don't understand the motivation for unwrapping All around things other than lambda. This is what you're dealing with right? Is it just less annoying to work with? 02:30 mithos28: ambroseb_: The issue is detecting if its a lambda and then doing the unwrapping correctly 02:31 ambroseb_: mithos28: Ok. 02:35 mithos28: ugh, dynamic-require abuse should not be allowed. 02:35 mithos28: #lang typed/racket doesn't actually 'depend' on the majority of the typed racket implementation 02:35 (join) asvil 02:44 eli: mithos28: Ah, well, that's what I meant when I said "I considered at some point dropping `All' in the pl language and instead collect all names that look in some way" 02:57 (join) SeanTAllen 02:58 (join) Gonzih 02:59 (quit) jao: Ping timeout: 240 seconds 03:03 (join) snowylike 03:05 (join) cored 03:05 (quit) cored: Changing host 03:05 (join) cored 03:06 (join) vkz 03:11 (join) mceier 03:20 (quit) Kaylin: Quit: Leaving. 03:30 (quit) Shambles_1: Read error: Connection reset by peer 03:32 (quit) vkz: Quit: vkz 03:32 (join) hkBst 03:32 (join) Shambles_ 03:36 (quit) mithos28: Quit: mithos28 03:47 (join) BakaKuna1 03:54 (quit) kvda: Quit: z____z 04:01 (quit) racycle: Quit: racycle 04:20 (join) basdirks 04:40 (quit) asvil: Ping timeout: 252 seconds 04:44 (quit) hkBst: Read error: Connection reset by peer 04:44 (join) hkBst_ 04:44 (quit) hkBst_: Changing host 04:44 (join) hkBst_ 04:46 (quit) hkBst_: Excess Flood 04:46 (join) hkBst_ 04:47 (join) asvil 04:52 (quit) hkBst_: Ping timeout: 245 seconds 04:52 (join) hkBst__ 04:58 (quit) snowylike: Ping timeout: 248 seconds 04:59 (join) snowylike 04:59 (join) bitonic 05:00 (quit) Gonzih: Ping timeout: 245 seconds 05:11 (join) Gonzih 05:28 (quit) hkBst__: Ping timeout: 272 seconds 05:33 (join) hkBst 05:36 (join) rndnick42007 05:38 (quit) hkBst: Remote host closed the connection 05:38 (join) hkBst 05:45 (join) nyuszika7h 05:51 (join) merijn 05:56 (join) igstan 06:06 nyuszika7h: hi, can someone help me please? I don't see what am I doing wrong here: http://ix.io/4Nn 06:08 (join) vkz 06:14 (quit) vkz: Quit: vkz 06:19 (quit) dented42: Ping timeout: 255 seconds 06:19 (quit) stamourv: Ping timeout: 255 seconds 06:19 (quit) dsantiago: Ping timeout: 260 seconds 06:20 (quit) BakaKuna1: Ping timeout: 245 seconds 06:21 (quit) JStoker: Excess Flood 06:21 (join) fourOfTwelve 06:21 (join) dsantiago 06:25 (quit) Gonzih: Ping timeout: 252 seconds 06:25 (join) Gonzih 06:32 (join) JStoker 06:33 (quit) eataix: Quit: ZNC - http://znc.in 06:35 (join) skchrko 06:48 asumu: nyuszika7h: I don't quite have time to answer your question, but I think it would help if you showed what error you're getting 06:48 asumu: and also the expected behavior. 06:49 asumu: (it wasn't obvious to me from a 10 second glance what was wrong, so more info needed :)) 06:57 (join) BakaKuna1 06:58 (part) rndnick42007: "ERC Version 5.3 (IRC client for Emacs)" 07:08 (join) vkz 07:12 (join) bjz 07:15 (quit) hkBst: Ping timeout: 245 seconds 07:16 (join) hkBst 07:16 (quit) hkBst: Changing host 07:16 (join) hkBst 07:21 (quit) hkBst: Read error: Connection reset by peer 07:21 (join) sizz 07:22 (join) hkBst 07:22 (quit) hkBst: Changing host 07:22 (join) hkBst 07:22 (quit) sizz_: Ping timeout: 264 seconds 07:23 (quit) bitonic: Ping timeout: 264 seconds 07:29 (quit) hkBst: Remote host closed the connection 07:29 (join) hkBst 07:35 (quit) Gonzih: Ping timeout: 252 seconds 07:38 (quit) hkBst: Ping timeout: 245 seconds 07:38 (join) hkBst 07:38 (quit) hkBst: Changing host 07:38 (join) hkBst 07:45 (quit) hkBst: Ping timeout: 245 seconds 07:45 (join) Gonzih 07:48 (join) hkBst 07:52 (quit) Gonzih: Ping timeout: 252 seconds 07:54 (join) Gonzih 07:54 (quit) hkBst: Remote host closed the connection 07:55 (join) hkBst 07:55 (quit) hkBst: Changing host 07:55 (join) hkBst 07:57 (quit) vkz: Quit: vkz 08:08 (quit) hkBst: Ping timeout: 272 seconds 08:08 (join) hkBst 08:08 (quit) hkBst: Changing host 08:08 (join) hkBst 08:18 (quit) Gonzih: Ping timeout: 246 seconds 08:23 (join) jeapostrophe 08:23 (quit) jeapostrophe: Changing host 08:23 (join) jeapostrophe 08:29 (join) vkz 08:30 (quit) skchrko: Quit: . 08:49 nyuszika7h: asumu: I'll try when t home 08:49 nyuszika7h: * at 08:51 (join) Gonzih 08:53 (join) Fare 09:01 (quit) Gonzih: Ping timeout: 252 seconds 09:02 (join) Gonzih 09:08 paddymahoney: agda 09:25 (join) didi 09:32 (join) mizu_no_oto 09:43 (join) soegaard 09:46 (quit) Gonzih: Ping timeout: 252 seconds 09:46 (quit) hkBst: Remote host closed the connection 09:47 (join) hkBst 09:51 (quit) snowylike: Quit: Nettalk6 - www.ntalk.de 09:54 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 10:01 (join) mizu_no_oto 10:02 (join) anRch 10:03 didi: Is there a description of rackunit's "location" key somewhere? I can't seem to find it. 10:06 didi: Well, it seems so far to be (path line column ...). 10:09 didi: OK, the forth seems to be "point", a la Emacs. 10:09 didi: (path line column point ...) 10:11 didi: And the last one is the size of the expression. 10:11 didi: Done. 10:11 didi: Science! 10:11 (quit) sirdancealot: Ping timeout: 255 seconds 10:13 (join) racycle 10:13 (quit) igstan: Quit: igstan 10:22 (join) igstan 10:24 (join) stamourv 10:24 (quit) stamourv: Changing host 10:24 (join) stamourv 10:25 (quit) igstan: Client Quit 10:25 stamourv: eli: pong 10:27 (quit) yacks: Quit: Leaving 10:28 (join) Gonzih 10:33 fasta: Has anyone who is *not* a programmer ever succeeded in learning Racket and applying it do valuable work? 10:34 fasta: (Also without any formal programming training, as such.) 10:35 fasta: So, just a matter of "here, are the books. Good luck.". 10:37 (join) sirdancealot 10:37 Licenser: fasta yes and no - the not programmer will have to become a programmer in the process 10:41 (quit) Gonzih: Ping timeout: 272 seconds 10:41 (join) MattS_ 10:54 (join) yacks 10:54 (join) Gonzih 10:59 (join) RacketCommitBot 10:59 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/bjvPZQ 10:59 RacketCommitBot: racket/master 41e07b0 Jay McCarthy: Removing even/odd reading hack and just protecting parser from eof-ing ports 10:59 (part) RacketCommitBot 11:04 (join) bitonic 11:07 asumu: fasta: sure, hundreds of students every year 11:08 asumu: (though I suspect that's not what you meant) 11:08 fasta: asumu: no, because there is someone to hold their hands in that case. 11:09 fasta: asumu: in principle I am sort of available as a mentor, but I'd rather not do a full CS curriculum... I have other things to do. 11:10 Licenser: fasta point them to the channel Google and the documents? 11:10 Licenser: there are propbly people around that are happy to help 11:11 stamourv: fasta: Have you seen Dan Grossman's course on coursera? 11:11 (quit) jeapostrophe: Ping timeout: 255 seconds 11:11 stamourv: It's an online course, so I assume it was pretty light on the hand-holding. 11:14 (join) arbn_ 11:15 (join) emma_ 11:15 (join) gnzh 11:16 (quit) mceier: Quit: leaving 11:16 (quit) MattS_: Ping timeout: 245 seconds 11:17 fasta: Licenser: which channel? 11:17 fasta: stamourv: no 11:18 Licenser: this one :) 11:18 fasta: https://www.coursera.org/course/proglang? 11:18 (join) hkBst_ 11:18 (quit) hkBst_: Changing host 11:18 (join) hkBst_ 11:19 (quit) hkBst: Remote host closed the connection 11:19 fasta: Licenser: punctuation is not a luxury item. 11:21 Licenser: fasta depends on where you live 11:21 (quit) Gonzih: *.net *.split 11:21 (quit) arbn: *.net *.split 11:21 (quit) emma: *.net *.split 11:22 (quit) gnzh: Quit: IRC is just multiplayer vim. 11:23 (join) Gonzih 11:26 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 11:28 stamourv: fasta: Yep, that's the one. 11:28 stamourv: I haven't followed it, but, knowing Dan, I'm pretty sure it's awesome. 11:31 (join) mizu_no_oto 11:38 (join) mithos28 11:39 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 11:43 (quit) BakaKuna1: Quit: BakaKuna1 11:46 (quit) bitonic: Read error: Operation timed out 11:47 (join) bitonic 11:53 (quit) anRch: Quit: anRch 12:02 (quit) basdirks: Ping timeout: 252 seconds 12:14 (quit) hkBst_: Ping timeout: 252 seconds 12:15 (join) hkBst_ 12:15 (quit) hkBst_: Changing host 12:15 (join) hkBst_ 12:16 (join) jeapostrophe 12:16 (quit) jeapostrophe: Changing host 12:16 (join) jeapostrophe 12:20 (quit) hkBst_: Quit: Konversation terminated! 12:24 (join) basdirks 12:27 (join) mceier 12:37 (quit) parcha: Read error: Operation timed out 12:37 (quit) arrdem: Read error: Operation timed out 12:38 (join) Kaylin 12:38 (join) parcha 12:38 (join) arrdem 12:42 (quit) whoops: *.net *.split 12:43 (join) whoops 12:45 (nick) emma_ -> emma 12:57 (quit) parcha: Remote host closed the connection 13:11 (join) micaeked 13:11 (quit) ambroseb_: Remote host closed the connection 13:14 (join) gridaphobe 13:17 (quit) Fare: Ping timeout: 256 seconds 13:20 (join) parcha 13:28 (quit) didi: Remote host closed the connection 13:29 (join) SHODAN 13:40 (join) Fare 13:41 (quit) soegaard: Quit: soegaard 13:48 (quit) gridaphobe: Ping timeout: 245 seconds 13:53 (join) anRch 13:54 (join) jbclements 14:01 (join) soegaard 14:01 (quit) Fare: Ping timeout: 264 seconds 14:02 (quit) jbclements: Quit: jbclements 14:05 (join) gridaphobe 14:07 (join) jbclements 14:10 (join) ncw 14:13 (quit) asvil: Ping timeout: 245 seconds 14:14 (quit) soegaard: Quit: soegaard 14:18 (join) soegaard 14:19 (quit) bitonic: Ping timeout: 252 seconds 14:32 eli: stamourv: reping 14:32 (join) dauterive 14:43 (quit) gridaphobe: Ping timeout: 264 seconds 14:44 (join) gridaphobe 14:45 (quit) ncw: Read error: Connection reset by peer 14:45 (join) ncw 14:52 stamourv: eli: repong 14:54 Licenser: repl? 14:54 stamourv: Licenser: Nah, more like eli and I trying to synchronize over a period of a couple of days. 14:56 (quit) ncw: Remote host closed the connection 14:57 Licenser: oh well was worth a try :) 14:59 (quit) gridaphobe: Ping timeout: 256 seconds 15:04 (join) dyoo 15:04 (quit) jbclements: Quit: jbclements 15:08 (join) RacketCommitBot 15:08 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/8YA7-Q 15:08 RacketCommitBot: racket/master 6c2ea3a Robby Findler: add missing provides 15:08 (part) RacketCommitBot 15:13 (quit) fourOfTwelve: Ping timeout: 245 seconds 15:18 (join) dented42 15:21 (join) ncw 15:31 (join) DanBurton 15:32 (quit) yacks: Quit: Leaving 15:36 (join) pierpa 15:37 (quit) anRch: Quit: anRch 15:42 (join) jbclements 15:45 (join) bitonic 15:47 nyuszika7h: hi, why does (read-line) immediately return in (X)REPL? it seems it gets a '\n'. how can I prevent that? 15:48 (quit) ncw: Read error: Connection reset by peer 15:48 (quit) jbclements: Quit: jbclements 15:49 dyoo: nyuszika7h: which version of Racket are you using? 15:49 nyuszika7h: 5.2.1 15:49 nyuszika7h: I know, old, but that's the one in Debian wheezy :/ 15:49 dyoo: let me see if I can duplicate the problem. 15:50 dyoo: The reason I ask is because I did some work a few weeks ago to help xrepl play nicer with the input port, and it may have resolved this issue. 15:50 nyuszika7h: I tried with normal REPL too, still no luck 15:51 nyuszika7h: (read-line) with normal REPL on Windows returns "\r" 15:51 nyuszika7h: Racket 5.3.3 15:51 samth: dyoo, nyuszika7h: it does that for me on linux, v5.3.3.1 15:51 nyuszika7h: .1? 15:52 dyoo: What's happening is basically an issue because both (read-line) and the repl work off the same input port. So there's actually a newline in the port that hasn't been read after the command "(read-line)\n" has been entered. Is there a reason why you're using read-line at the repl? 15:52 nyuszika7h: just testing stuff 15:53 dyoo: DrRacket tries to distinguish; you might try that to play around with it. If you use read-line in DrRacket, it'll bring up a little graphical widget to enter in content. 15:54 nyuszika7h: hmm 15:54 (join) snowylike 15:54 nyuszika7h: (read-line (open-input-file "con")) works on Windows 15:54 dyoo: Yup, that also should work fine, as should: (read-line (open-input-string "hello\nworld\n")) 15:55 dyoo: rudybot: (define my-port (open-input-string "hello\nworld\ntest!\n")) 15:55 rudybot: dyoo: your sandbox is ready 15:55 rudybot: dyoo: Done. 15:55 dyoo: rudybot: (read-line my-port) 15:55 rudybot: dyoo: ; Value: "hello" 15:55 dyoo: rudybot: (read-line my-port) 15:55 rudybot: dyoo: ; Value: "world" 15:55 dyoo: nyuszika7h: yeah, so read-line is actually ok. It's just that when you're at the repl, the same port that you use to enter in commands is the port that read-line reads off of by default, so there's a source where weirdness can happen. 15:56 nyuszika7h: ah 15:56 nyuszika7h: and on Linux, (read-line (open-input-file "/proc/self/fd/0")) works 15:56 nyuszika7h: /dev/stdin would work too, but /proc/self/fd/0 looks nicer for me :P 15:57 dyoo: Lots of things produce port-like values that you can read off of; open-input-string is very useful for test cases, for example. 16:01 dyoo: didi: did you still have a question on the rackunit location stuff? 16:02 (quit) jeapostrophe: Ping timeout: 260 seconds 16:05 nyuszika7h: btw, any idea why the REPL doesn't work properly when calling it from a script with (read-eval-print-loop)? 16:05 nyuszika7h: stdin::0: compile: unbound identifier (and no #%app syntax transformer is bound) at: #%top-interaction in: (#%top-interaction exit) 16:05 dyoo: didi: if you see this: as you've probably already figured out, it's using the conventions of the "srcloc" argument from datum->syntax http://docs.racket-lang.org/reference/stxops.html#%28def._%28%28quote._~23~25kernel%29._datum-~3esyntax%29%29; a list of five elements (list source-name line column position span) 16:05 rudybot: http://tinyurl.com/ccc3jtg 16:06 dyoo: nyuszika7h: ah. dynamic evaluation. You want to read up on the section in the guide about it. 16:06 nyuszika7h: ok, thanks 16:06 dyoo: http://docs.racket-lang.org/guide/reflection.html 16:07 dyoo: Essentially, you need to set up the dynamic evaluation environment in your script. Most likely, that involves setting up a clean namespace (so that evaluated code knows what to do with toplevel variable references), as well as set up the initial things that the repl knows about. 16:07 (quit) vkz: Quit: vkz 16:07 (quit) bitonic: Ping timeout: 264 seconds 16:08 dyoo: nyuszika7h: https://gist.github.com/dyoo/5199615 16:08 nyuszika7h: nice, thanks 16:09 dyoo: But make sure to read the guide about the dynamic evaluation stuff. Racket does it differently from other Schemes. 16:09 dyoo: and you want to avoid surprises. :) 16:09 (quit) cored: Ping timeout: 272 seconds 16:09 nyuszika7h: I'm new to the entire lisp/scheme/racket world :P 16:09 (join) jao 16:09 (quit) jao: Changing host 16:09 (join) jao 16:09 (join) bitonic 16:09 nyuszika7h: bbiab 16:10 (quit) Gonzih: Ping timeout: 272 seconds 16:10 (join) cored 16:10 (quit) cored: Changing host 16:10 (join) cored 16:16 (join) Fare 16:24 (quit) cdidd: Remote host closed the connection 16:25 (join) Gonzih 16:29 (quit) Gonzih: Read error: Operation timed out 16:29 (quit) jao: Ping timeout: 256 seconds 16:32 (join) Nisstyre 16:40 (quit) Kaylin: Read error: Connection reset by peer 16:41 (quit) cored: Ping timeout: 256 seconds 16:43 (quit) Nisstyre: Quit: Leaving 16:43 (join) cored 16:43 (quit) cored: Changing host 16:43 (join) cored 16:45 (join) Nisstyre 16:46 nyuszika7h: back 16:49 (join) didi 16:50 (join) jbclements 16:52 (quit) jbclements: Client Quit 16:58 (join) jbclements 16:58 (quit) eli: Read error: Connection reset by peer 16:59 (quit) jbclements: Client Quit 17:00 (join) eli 17:00 (quit) eli: Changing host 17:00 (join) eli 17:00 (quit) eli: Remote host closed the connection 17:00 (join) rich1 17:01 (join) eli 17:01 (quit) eli: Changing host 17:01 (join) eli 17:02 stamourv: eli: ping? 17:02 (join) ijp 17:04 Licenser: wow stamourv you're still at it? 17:04 Licenser: did you consider hiking over to him? It might be faster :P 17:04 stamourv: Licenser: His office is across the hall from mine, but he's not in. 17:05 eli: That's really not the slowest syncing.... 17:05 stamourv: I just saw him log in, so I thought it may be the right time. 17:05 Licenser: it seems it is :) 17:05 (join) RacketCommitBot 17:05 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/9rqyqg 17:05 RacketCommitBot: racket/master 4963314 Robby Findler: add some random testing into the lexer option contract 17:05 (part) RacketCommitBot 17:06 (join) jbclements 17:08 (quit) jbclements: Client Quit 17:20 (join) ncw 17:21 (topic) -: Racket -- http://racket-lang.org -- RacketCon videos/slides: http://con.racket-lang.org -- logs at http://racket-lang.org/irc-logs/ 17:21 (names) -: gabot ncw ijp eli rich1 didi Nisstyre cored Fare bitonic snowylike pierpa DanBurton dented42 dyoo dauterive soegaard SHODAN parcha micaeked whoops arrdem mceier basdirks mithos28 emma arbn_ sirdancealot stamourv racycle sizz bjz JStoker dsantiago merijn nyuszika7h Shambles_ SeanTAllen hyko walter|r Licenser bremner DrDuck BakaKuna ezrios aidy paddymahoney Raynes eikonos ASau noam_ karswell ohama snorble_ tobih jschuster mario-goulart gazoombo acarrico Twey 17:21 (names) -: dca_ lusory_ DarthRamone fasta eMBee errstr stchang stchang_ jrslepak arkx ivan` arkeet sethalves mattmight ivan\ jaimef majoh samth asumu chandler pono cipher rapacity bartbes micro BeLucid friscosam @ChanServ gf3 ozzloy ormaaj cky notdan elliottcable otterdam xulfer rudybot m4burns offby1 basepi danking Draggor 17:23 (join) Kaylin 17:28 (join) jbclements 17:34 (quit) ncw: Remote host closed the connection 17:38 (join) skchrko 17:40 (join) ncw 17:48 (join) DanBurto_ 17:51 (quit) DanBurton: Ping timeout: 245 seconds 17:53 (quit) rich1: Quit: Leaving. 17:58 (quit) Kaylin: Quit: Leaving. 18:03 (quit) snowylike: Quit: Nettalk6 - www.ntalk.de 18:04 (quit) basdirks: Ping timeout: 260 seconds 18:05 nyuszika7h: hi, can someone tell me how to fix this? 18:05 nyuszika7h: http://privatepaste.com/a74d8d9392 it returns a procedure after the connect message 18:05 nyuszika7h: I'll check for answers tomorrow, have to go to sleep 18:05 nyuszika7h: sorry 18:11 (quit) soegaard: Quit: soegaard 18:17 (join) mizu_no_oto 18:18 (quit) mizu_no_oto: Client Quit 18:24 (quit) pierpa: Ping timeout: 256 seconds 18:25 (join) gridaphobe 18:32 (join) ijp` 18:34 (quit) ijp: Ping timeout: 264 seconds 18:35 (join) basdirks 18:38 (quit) dsantiago: Quit: Leaving... 18:39 (nick) samth -> samth_away 18:49 (join) dsantiago 18:51 (quit) jbclements: Quit: jbclements 18:55 (join) RacketCommitBot 18:55 RacketCommitBot: [racket] plt pushed 3 new commits to master: http://git.io/J-u6sA 18:55 RacketCommitBot: racket/master dfcf50e Matthew Flatt: scribble/manual: add a `#:key' argument to `deftech' 18:55 RacketCommitBot: racket/master 31964a1 Matthew Flatt: reference: improve docs on peeking 18:55 RacketCommitBot: racket/master e0486a7 Matthew Flatt: racket/gui: add `warp-pointer' to `window<%>'... 18:55 (part) RacketCommitBot 18:55 (join) jbclements 18:58 (quit) eikonos: Quit: Leaving. 18:59 (join) eikonos 18:59 (quit) eikonos: Changing host 18:59 (join) eikonos 18:59 (nick) ijp` -> ijp 19:07 (quit) ncw: Remote host closed the connection 19:11 (nick) noam_ -> noam 19:15 (quit) basdirks: Ping timeout: 264 seconds 19:16 (nick) DanBurto_ -> DanBurton 19:22 (join) noam 19:25 (quit) sirdancealot: Quit: ragequit 20:05 (quit) ivan\: Ping timeout: 240 seconds 20:07 (join) ambrosebs 20:08 (join) ivan\ 20:24 (join) Kaylin 20:36 (quit) jbclements: Quit: jbclements 20:41 (join) kvda 20:56 (quit) gridaphobe: Ping timeout: 258 seconds 21:00 (quit) Kaylin: Read error: Connection reset by peer 21:05 (quit) lusory_: Remote host closed the connection 21:08 (quit) dauterive: Quit: Leaving 21:12 (join) ncw 21:35 (quit) kvda: Quit: z____z 21:36 (quit) didi: Quit: ERC Version 5.3 (IRC client for Emacs) 21:37 (quit) walter|r: Quit: Leaving 21:45 (quit) cored: Read error: Operation timed out 21:48 (join) cored 21:48 (quit) cored: Changing host 21:48 (join) cored 21:53 dyoo: nyuszika7h: reviewing the code, I'm not quite sure I understand why there's a lambda in the body of your let expressions. Here are some edits to your program: https://gist.github.com/dyoo/5201722 21:58 (quit) cored: Read error: Connection reset by peer 22:02 (join) kvda 22:07 (join) Kaylin 22:11 (quit) ncw: Remote host closed the connection 22:12 (quit) bitonic: Remote host closed the connection 22:28 (join) didi 22:34 (quit) bjz: Quit: Leaving... 22:35 (quit) ambrosebs: Remote host closed the connection 22:41 (join) cored 22:43 (quit) cored: Read error: Connection reset by peer 22:48 (join) cored 22:49 (quit) cored: Read error: Connection reset by peer 22:55 (join) cored 22:55 (quit) cored: Read error: Connection reset by peer 22:55 (join) arbn 22:56 (quit) arbn_: Quit: leaving 23:00 (join) jao 23:00 (quit) jao: Changing host 23:00 (join) jao 23:13 (quit) jao: Ping timeout: 276 seconds 23:23 (quit) kvda: Quit: x___x 23:34 (join) yacks 23:35 (join) cored 23:35 (quit) cored: Changing host 23:35 (join) cored 23:35 (quit) cored: Read error: Connection reset by peer