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