00:08 (quit) jao: Ping timeout: 246 seconds 00:49 offby1: nothing to see here; move along 00:50 mithos28: offby1: Thats not suspicious at all 01:07 (quit) mceier: Quit: leaving 01:18 (join) dented42 01:26 (join) asvil 01:57 (quit) jackhammer2022: Quit: Textual IRC Client: http://www.textualapp.com/ 02:05 (join) nilyaK 02:14 (join) mceier 02:17 (join) raphie 02:17 raphie: this is pretty confusing, does anyone know what make-exn:fail:contract:variable actually takes? file:///Applications/Racket%20v5.3/doc/reference/exns.html?q=make-exn%3Afail%3Acontract%3Avariable#(def._((lib._racket/private/base..rkt)._make-exn~3afail~3acontract~3avariable)) 02:18 raphie: er, sorry for the bad link, lemme go to the actual docs 02:18 raphie: here: http://docs.racket-lang.org/reference/exns.html?q=make-exn%3Afail%3Acontract#(def._((lib._racket/private/base..rkt)._make-exn~3afail~3acontract~3avariable)) 02:18 rudybot: http://tinyurl.com/aym8wdn 02:18 mithos28: rudybot: doc make-exn:fail:contract:variable 02:18 rudybot: mithos28: http://docs.racket-lang.org/reference/exns.html#(def._((lib._racket%2Fprivate%2Fbase..rkt)._make-exn~3afail~3acontract~3avariable)) 02:19 raphie: when I try it with just an id, it says it expects three args 02:19 mithos28: yeah 02:19 mithos28: the two others are the args to all exn structures 02:19 raphie: what does that mean? 02:19 mithos28: the string message and the continuation marks (traceback 02:19 mithos28: 0 02:20 mithos28: ) 02:20 mithos28: http://docs.racket-lang.org/reference/exns.html#(def._((lib._racket/private/base..rkt)._exn)) 02:20 raphie: confused by continuation marks, what are those? 02:20 mithos28: a continuation-mark-set 02:21 mithos28: http://docs.racket-lang.org/reference/contmarks.html#(def._((quote._~23~25kernel)._continuation-mark-set~3f)) 02:21 mithos28: Think stack frames 02:21 mithos28: but more complicated 02:21 mithos28: rudybot: (current-continuation-marks) 02:21 rudybot: mithos28: ; Value: # 02:21 rudybot: mithos28: ; stdout: "- : Continuation-Mark-Set\n" 02:21 mithos28: rudybot: init racket 02:21 rudybot: mithos28: your sandbox is ready 02:22 mithos28: rudybot: (continuation-mark-set->context (current-continuation-marks)) 02:22 rudybot: mithos28: ; Value: ((call-with-limits . #(struct:srcloc # 352 0 14234 1724)) (call-with-custodian-shutdown . #(struct:srcloc # 400 0 16126 316)) (call-with-break-parameterization . #(struct:srcloc # 151 2 5211 519)) (loop . #(struct:srcloc #vector data))) but points expects a function. Is there really no simple way to plot these points ? 03:30 (join) RacketCommitBot 03:30 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/b7FBVA 03:30 RacketCommitBot: racket/master 5589bcb Eli Barzilay: New Racket version 5.3.1.5. 03:30 (part) RacketCommitBot 03:41 (quit) raphie: Remote host closed the connection 03:44 (quit) DraX: Quit: Disconnecting from stoned server. 03:45 (join) DraX 03:45 (quit) DraX: Changing host 03:45 (join) DraX 03:45 asvil: hi all, it is not easy to add new built-in type for racket (for example Scheme_Long_Double). compilation gives me http://paste.lisp.org/+2V30 04:03 (join) noelw 04:05 (join) didi` 04:06 (nick) didi` -> didi 04:06 (join) didi` 04:07 (quit) didi`: Remote host closed the connection 04:08 (join) didi 04:17 (join) bitonic 04:27 (quit) mye: Quit: mye 04:41 (quit) pavelpenev: Remote host closed the connection 04:43 (join) mye 04:50 (join) masm 04:53 (join) bitonic` 04:55 (quit) bitonic: Ping timeout: 246 seconds 04:57 (join) pavelpenev 05:07 (nick) bitonic` -> bitonic 05:57 (quit) asvil: Ping timeout: 265 seconds 05:57 (quit) ewemoa: Ping timeout: 265 seconds 06:06 (join) bitonic 06:10 (quit) mceier: Quit: leaving 06:11 (join) bitonic` 06:12 (quit) bitonic: Ping timeout: 265 seconds 06:13 (join) mye_ 06:15 (quit) mye: Ping timeout: 240 seconds 06:15 (nick) mye_ -> mye 06:30 (join) asvil 06:37 (join) neilv 06:48 (quit) Demosthenex: Ping timeout: 246 seconds 06:50 (join) Demosthenex 06:59 (join) nathanpc 07:22 (join) cdidd 07:30 (join) bitonic`` 07:32 (quit) bitonic`: Ping timeout: 246 seconds 07:41 (join) ewemoa 07:42 (quit) bitonic``: Ping timeout: 264 seconds 07:46 (join) carleastlund 07:47 (join) bitonic`` 07:57 (join) DT` 08:10 (join) jeapostrophe 08:10 (quit) jeapostrophe: Changing host 08:10 (join) jeapostrophe 08:10 (quit) ewemoa: Quit: Leaving. 08:17 (join) RacketCommitBot 08:17 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/Aag7tg 08:17 RacketCommitBot: racket/master fae660b Jay McCarthy: Release Planet 2 (beta)... 08:17 (part) RacketCommitBot 08:33 (join) jao 08:33 (quit) jao: Changing host 08:33 (join) jao 08:44 neilv: how did i miss out on planet2? 08:45 (quit) dyoo: Quit: dyoo 08:45 (join) RacketCommitBot 08:45 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/XIyEQQ 08:45 RacketCommitBot: racket/master 87dae0d Robby Findler: add support for collecting backtraces 08:45 (part) RacketCommitBot 08:47 (join) mizu_no_oto 08:47 (quit) neilv: Quit: Leaving 08:50 (quit) jrslepak: Quit: What happened to Systems A through E? 09:15 (quit) bitonic``: Ping timeout: 260 seconds 09:17 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 09:20 (join) greghendershott 09:25 shriphani: hello everyone. I have gone through the docs for the PLoT module but I am stumped about how to plot a list of points (I have a list of '(x y) s). The 2D renderers seem to all want something of the type (points (lambda ###)). Is there a simple way to do this ?Thank you. 09:25 (join) anRch 09:26 didi: shriphani: You can map over them. 09:27 shriphani: didi so (map points list-of-pts) ? 09:29 shriphani: that fails. possibly I need a vector ? 09:29 didi: shriphani: yes. 09:30 didi: shriphani: For example: (plot (points (map (curry apply vector) my-points))) 09:31 didi: shriphani: Assuming (define my-points '((0 0) (1 1) (1 2) ...)). 09:34 (join) bitonic`` 09:34 greghendershott: I`make-keyword-procedure` . I reduced it to a simple example: https://gist.github.com/4039102. 09:35 greghendershott: Grr, bumped ENTER while editing. 09:35 greghendershott: I'm using `make-keyword-procedure' to wrap a function that takes a dict? with one that takes keyword args. 09:36 greghendershott: It works fine as a plain function. But when I try to use it in a macro, the resulting procedure says that it doesn't have kwd args. I'm stumped. 09:37 didi: shriphani: (plot (points (map list->vector my-points))) is simpler. 09:38 didi is addicted to `curry' 09:39 samth: asvil: that error message indicates either (a) that you changed things in the compiled representation and didn't do a full rebuild or (b) a bug in racket 09:40 asvil: samth. thank you again. I found that, I forgot to add my types to type.c 09:40 didi: samth: `make clean' doesn't clean the `compiled' directories, which I find a little odd. 09:41 samth: didi: it's intended that zo files are automatically checked for up-to-dateness 09:41 samth: also, raco setup -c cleans that 09:41 (quit) bitonic``: Ping timeout: 265 seconds 09:41 (quit) jeapostrophe: Ping timeout: 240 seconds 09:42 didi: samth: So something went wrong while I was making the `stream-map' patch. I changed the stream.rkt file but the compilation kept failing until I manually removed the `compiled' directory. 09:42 didi: samth: Nice. Thanks. 09:50 (join) bitonic`` 10:02 shriphani: didi: another question. In the parameters for the plot, I can see colors being set but is there any syntax to make the points solid instead of hollow ? 10:03 (join) jrslepak 10:05 (join) mizu_no_oto 10:06 didi: shriphani: I don't know. I'm not that familiar with the plot library. Reading the documentation, I'm not finding it. 10:07 didi: shriphani: Found it. Let me try. 10:08 didi: shriphani: (plot (points (map list->vector my-points) #:sym 'point)) 10:09 didi: shriphani: Here is the list of known symbols: http://docs.racket-lang.org/plot/contracts.html#%28def._%28%28lib._plot/utils..rkt%29._known-point-symbols%29%29 10:09 rudybot: http://tinyurl.com/ax3g4vd 10:10 samth: greghendershott: commented on your gist 10:10 samth: short answer: 3d syntax is always a mistake 10:12 (quit) bitonic``: Ping timeout: 276 seconds 10:17 greghendershott: samth: Thanks! 10:21 shriphani: didi: also (plot-foreground '(192 192 192)) doesn't throw an error but doesn't have an effect too ? Is it better to supply it as #:color '(192 192 192) ? Will this work for a #:sym fullcircle ? 10:24 (quit) didi: Ping timeout: 252 seconds 10:26 greghendershott: samth: Are there any tools or tricks to help with that sort of confusion? The Macro Stepper showed me structs that _seemed_ OK. It's not like they were tagged or highlighted as "not phase 0". 10:27 samth: greghendershott: when you look in the macro stepper, you should see that there were structure values, not syntax there 10:27 samth: the fact that it wasn't the right structure is the smaller issue 10:28 (join) dyoo 10:28 (join) mceier 10:28 greghendershott: I think that was an artifact of me distilling it down to an example; I think in my real code I was returning syntax. But I'll double-check. 10:37 (quit) jrslepak: Quit: What happened to Systems A through E? 10:37 (join) jrslepak 10:41 (quit) masm: Ping timeout: 246 seconds 10:45 (quit) hkBst: Quit: Konversation terminated! 10:52 asumu: Woo PLaneT 2. 10:53 (quit) dyoo: Read error: Connection reset by peer 10:53 (join) dyoo_ 10:55 (quit) dyoo_: Read error: Connection reset by peer 10:55 (join) dyoo 10:57 shriphani: also is there a version of file->lines that doesn't read an entire file into memory? I want line by line access but the buffer should hold only the last read line. (a la "for new_line in handle: ###" in python) 10:59 shriphani: o my bad read-line seems to do what i need. 10:59 (quit) jrslepak: Ping timeout: 246 seconds 10:59 (join) jeapostrophe 10:59 (quit) jeapostrophe: Changing host 10:59 (join) jeapostrophe 11:01 (join) jrslepak 11:04 asumu: shriphani: there is also `in-lines` 11:04 asumu: e.g., (for ([l (in-lines my-file)]) (displayln l)) 11:07 (quit) noelw: Quit: noelw 11:10 (quit) anRch: Quit: anRch 11:11 dyoo: shriphani: +1 on asumu's suggestion. in-lines makes a file port into an "iterator", using Python's terminology. 11:12 dyoo: in Racket, the concept of a "sequence" is about the same. See: http://docs.racket-lang.org/guide/for.html#(part._sequences) and http://docs.racket-lang.org/reference/sequences.html for more details 11:13 dyoo: Racket's for loops work on sequences 11:14 (join) nilyaK 11:14 (quit) asvil: Ping timeout: 252 seconds 11:16 (join) masm 11:17 (quit) dyoo: Read error: Connection reset by peer 11:18 (join) dyoo 11:18 (quit) dyoo: Client Quit 11:31 (quit) shriphani: Ping timeout: 252 seconds 11:47 (join) DanBurton 11:50 stamourv: dyoo, shriphani: Not only do they work, but `for' loops really optimize sequences operations. 11:54 (quit) nilyaK: Quit: Leaving. 12:00 (quit) dented42: Quit: Computer has gone to sleep. 12:05 (quit) mizu_no_oto: Quit: ["Textual IRC Client: www.textualapp.com"] 12:11 (join) anRch 12:13 (join) shriphani 12:14 shriphani: hi everyone. another question. I use BeautifulSoup quite a lot in the python world. Is there a racket equivalent that gives me ('html ('body ###)) for .... ? Or even a map that I can use? Thanks. 12:17 (quit) masm: Ping timeout: 246 seconds 12:17 asumu: shriphani: BeautifulSoup is an HTML parser right? 12:17 shriphani: asumu: yes. 12:17 shriphani: but it can handle malformed html to an extent as well 12:17 asumu: shriphani: you could try Neil's package http://planet.racket-lang.org/display.ss?package=html-parsing.plt&owner=neil 12:17 rudybot: http://tinyurl.com/aqe7o3p 12:18 shriphani: hmm that looks good. thx. 12:21 (join) MayDaniel 12:22 (join) Kaylin 12:22 (quit) MayDaniel: Changing host 12:22 (join) MayDaniel 12:32 (join) didi 12:35 (join) dyoo 12:37 dyoo: stamourv: yup; I was happy to see that for/or and for/and are faster than ormap and andmap 12:38 didi: dyoo: Can we make them equally fast? ;^) 12:45 shriphani: i have another question about map. I understand (map proc l). Now I seem to be able to do (map list l1 l2) in place of (zip l1 l2). What is the deal with that ? 12:47 didi: rudybot: (map list '(foo bar) '(baz quux)) 12:47 rudybot: didi: your sandbox is ready 12:47 rudybot: didi: ; Value: ((foo baz) (bar quux)) 12:47 didi: shriphani: It gives the `car' of each list to `list'. 12:48 didi: shriphani: So `list' makes a list of them. 12:48 shriphani: ah.... I haven't used map every with multiple lists. 12:48 shriphani: not that i am complaining. 12:48 didi: :^) 12:49 (join) jonrafkind 12:51 stamourv: shriphani: `map' makes `zip' (and `zip3', `zip4', etc.) redundant. 12:51 stamourv: Variable arity functions are awesome! 12:51 didi: Although I would define a `zip' procedure as it is more explicit than (map list ...). 12:51 stamourv: That (and optional and keyword arguments, which are special cases of it) are the things I miss most if I have to use another language. 12:52 (part) CoverSlide 12:52 stamourv: didi: I think it may be provided somewhere. If not, maybe we should add it. 12:53 didi: stamourv: The docs tells me it is at srfi/1 12:59 stamourv: Ok, then we should probably add it to racket/list. 13:00 shriphani: hmm what is the idea behind naming modules srfi ? 13:01 didi: shriphani: It's from Scheme. 13:01 didi: Scheme Request for Implementation 13:01 didi: shriphani: http://srfi.schemers.org/ 13:02 (join) masm 13:14 shriphani: another question. Python provides this thing called a virtual-env which allows me to install and configure a local python and install modules etc. Is there such a thing for racket ? Like a portable racket I can copy somewhere and that carries all modules with it ? 13:15 jonrafkind: you can put all racket stuff into a directory 13:15 jonrafkind: and set PLTCOLLECTS to that directory 13:15 (quit) anRch: Quit: anRch 13:21 asumu: You can easily set PLTCOLLECTS using the plt-bin script https://github.com/takikawa/racket-dev-goodies 13:21 asumu: (err, plt-alias I mean) 13:23 shriphani: that looks v convenient actually. 13:23 shriphani: yea I work across 4 or 5 workstations without root access. This is pretty helpful 13:25 (quit) masm: Ping timeout: 260 seconds 13:29 (quit) shriphani: Read error: Connection reset by peer 13:34 (join) shriphani 13:39 (join) anRch 13:41 (join) masm 13:44 (quit) shriphani: Ping timeout: 252 seconds 13:46 didi: stamourv: A simple version of `zip' would have one line (if you enforce that every list has to be the same size), but looking at collects/racket/list.rkt I can see some uses of `case-lambda' 13:47 stamourv: I think piggybacking `map''s behavior for lists of different lengths is probably best. 14:10 (join) Blkt 14:16 (join) red_trumpet 14:16 red_trumpet: hi :) 14:16 asumu: red_trumpet: hi 14:23 (join) dented42 14:23 (quit) mario-goulart: Read error: Connection reset by peer 14:24 (join) mario-goulart 14:24 (join) mizu_no_oto 14:27 (quit) jonrafkind: Ping timeout: 276 seconds 14:33 (quit) anRch: Quit: anRch 14:36 greghendershott: samth: I made some progress on what I'd asked about earlier. Context is me wanting to factor out some duplicated code for GAPI lib. What I ended up with is working correctly, but has this tell-tale smell that I'm probably making it more complicated than it needs to be. 14:37 greghendershott: If any of the macro/phase ninjas on here had time to take a look, I'd be grateful. Maybe let me know whether yeah it needs to be this complicated, or no there's a simpler direction. If you can even understand what I have right now. :) https://github.com/greghendershott/gapi/commit/c5e3e844c441623030c9af4307e3a03fa4321328 14:37 rudybot: http://tinyurl.com/audflyj 14:39 (join) ivenkys 14:45 greghendershott: The view from orbit is: Read a JS file and get enough info from it to generate wrapper functions. Previously I had a macro template for making wrappers, that was nearly identical to a runtime wrapper-function-maker. Big block of duplicated code. I want to consolidate it, to where the macro version calls the wrapper-maker, rather than copying its guts. First pass, I got this working, but at the cost of a big literal object sitting 14:58 (quit) masm: Ping timeout: 248 seconds 15:12 (join) jonrafkind 15:38 jonrafkind: planet2 should have been called something else 15:38 (join) chrxn 15:40 (join) masm 15:58 asumu: greghendershott: well, I guess your macro tutorial is out of the bag now that it's being retweeted a bunch on Twitter. :p 15:58 asumu: (did you intend to publicly release it or did it just get out?) 16:00 (quit) dented42: Remote host closed the connection 16:00 jonrafkind: oh where is it 16:00 jonrafkind: danny was telling me about it yesterday 16:00 greghendershott: asumu: Well, not "publicly release" in the sense that it's finished, or accurate. 16:00 jonrafkind: i was trying to explain (... ...) to someone yesterday and failed 16:01 greghendershott: And definitely not in the sense that I really know what the hell I'm talking about. 16:01 jonrafkind: lulz 16:01 greghendershott: The whole motivation was to write it as I was learning. 16:01 greghendershott: On the other hand, I got to a point where I felt like I didn't have much more to add, quite yet. 16:02 greghendershott: And if people wanted to pee all over it, and I could use their criticism to improve it, so be it. Voila, crowd-sourcing. 16:02 greghendershott: Or something like that. 16:02 jonrafkind: linklinklinklinklink 16:03 greghendershott: Sam asked if I wanted some "publicity" and I said sure, for reasons I just explained above. 16:03 greghendershott: jonrafkind: http://www.greghendershott.com/fear-of-macros/ 16:03 jonrafkind: cats are cute and cudly 16:04 asumu: greghendershott: FWIW, I really like the style. 16:04 greghendershott: yes I think that's the main take-away 16:05 asumu: It's nice to have tutorials that are less rigid prose-wise than the Guide or REf. 16:05 asumu: *Ref 16:05 greghendershott: asumu: Thanks, I really wanted to make it friendly and I got REALLY lost in the terminology of the reference. 16:05 jonrafkind: this looks it could go into the guide 16:05 greghendershott: My concern is if the style is nice, but the substance is poor or worse misleading. 16:05 asumu: And I also liked the content when I read an earlier draft. Looks like a bunch has been added since then too. :) 16:06 jonrafkind: greghendershott, in 3.2 the description doesn't sync up with the example 16:06 jonrafkind: the example should use (+ 1 2) as described by the paragraph 16:07 greghendershott: good point. I'll change that 16:13 jonrafkind: greghendershott, right before 4.1 you mention the guide, it would be nice to give a link to where in the guide you can learn about such things 16:17 jonrafkind: the example before 4.2 uses syntax->list without any explanation 16:17 stamourv: jonrafkind: Re PLaneT 2 name: I suggested PLuTo to jeapostrophe. 16:17 greghendershott: Also good point re linking to that part of Guide. Just changed that, too. (Haven't pushed any of this) 16:17 stamourv: (It's not (a) PLaneT anymore.) 16:17 jonrafkind: I think the letters PLT shouldnt be in there.. 16:18 jeapostrophe: stamourv: :) The original name was "galaxy" but I changed it at the last minute 16:18 stamourv: jonrafkind: Ok, what about "The Rack", or "Coat Rack" or something. I dunno. 16:18 jonrafkind: cs people are bad at fashion and naming things 16:19 stamourv: jeapostrophe: Isn't P2 more lightweight than P1? "Galaxy" sounds like it's going in the opposite direction. 16:19 greghendershott: jonrafkind: You're right, in fact that example before 4.2 needs its own section header as well as explanation. I'll add that as well. Thanks. 16:19 asumu: We already had PLaneT, so it'd be kinda weird to totally deviate from that naming. 16:19 jeapostrophe: stamourv: I was thinking "bigger" meaning "wider reach and easier to be part of" 16:20 asumu: FWIW, I like PLuTo (or Galaxy even) but don't feel strongly enough to get into a bikeshed debate. 16:20 bremner: I propose calling it bikeshed 16:20 jeapostrophe: asumu: Agreed. In any case, Robby is in charge of the name, not me. 16:20 asumu: jeapostrophe: oh, didn't realize that. 16:21 jeapostrophe: there's no reason you would... i just decided to delegate to him :) 16:21 asumu: jeapostrophe: BTW, I had a mostly good experiencing porting one package. 16:21 asumu: One thing that bit me, though, was that `raco pkg install foo` will install the `foo` directory if it exists. 16:21 asumu: I was confused since I was trying to test if the server got the package correctly. 16:22 asumu: I wonder if installing from the filesystem and the package server should be differentiated somehow 16:22 jeapostrophe: yes. "raco pkg install" goes down the list in the docs re the possible meanings of the arguments 16:22 greghendershott: My $0.02 as a relative newcomeer: Whatever the name, the mixed-case thing is a bit painful to type, and awkward to read. If it were to be named Planet or Pluto, I'd say do it straight capitalization. Save any PL..T emphasis for a logo. And even there, make the contrast subtle graphically. Not primary colors. :) 16:23 jonrafkind: i agree with that 16:23 asumu: greghendershott: I'm fine with that. 16:23 jeapostrophe: asumu: i know what you mean and i'm not sure what the best thing is or how to do it 16:23 jonrafkind: i was thinking of Ringworld, but i dont know why 16:23 jeapostrophe: greghendershott: notice that the docs just use "Planet" everywhere 16:23 jonrafkind: Racketworld 16:24 greghendershott: jeapostrophe: Ah. So I'll stop diligently typing "PLaneT" in my GitHub readme etc. Whew. :) 16:24 asumu: jeapostrophe: yeah, that's fair. I don't have a concrete proposal. In Debian the distinction between "dpkg -i" and "apt-get install" solves this, but that's also a weird distinction. 16:24 (quit) mizu_no_oto: Quit: ["Textual IRC Client: www.textualapp.com"] 16:25 bremner: It's the distinction between a name and a thing. you PL people should be all over that. 16:25 bremner: ;). 16:26 jeapostrophe: asumu: i have followed "pacman" more than "apt" throughout most of the design, btw, which also has this "problem" although it is generally implausible to hit with it 16:26 (join) mizu_no_oto 16:27 jonrafkind: jeapostrophe, I hope you haven't copied the nonsensical searching stuff pacman does 16:28 jeapostrophe: i'm having an extruciating time trying to decide which of my ~70-ish planet packages and github repos are worth porting 16:28 jeapostrophe: jonrafkind: i don't know what you mean, so probably not 16:28 jonrafkind: ok. they have 2 (or mabye 3) different commands for searching local packages versus remote packages 16:28 jonrafkind: have you looked at cabal? 16:29 jeapostrophe: yes 16:29 jeapostrophe: cabal is much more planet1-like 16:31 jonrafkind: ah 16:31 jonrafkind: emerge is the best package manager ive used, fwiw 16:32 jeapostrophe: asumu: i want you to convert pfds because i want everyone to use it with a simple data/... req line 16:32 stamourv: (set! jeapostrophe (add1 jeapostrophe)) 16:34 carleastlund: pfds? 16:34 jeapostrophe: purely functional data structures 16:34 samth: carleastlund: hari's functions data structures lib 16:34 jeapostrophe: their giant library of typed data structures 16:34 carleastlund: oh, okasaki, got it 16:35 asumu: jeapostrophe: good point 16:36 samth: jeapostrophe/everyone: i continue to think that npm is the nicest language package system i've seen/used 16:37 didi: Why is pfds typed? 16:37 (quit) red_trumpet: Quit: Page closed 16:38 didi: (aside from it being from ML) 16:38 jeapostrophe: didi: sweet sweet performance 16:38 didi: OIC 16:38 asumu: Argh. When you start writing @emph{...} in LaTeX you know you're a Racketeer. 16:38 carleastlund: didi, jeapostrophe: mostly because it was written as a case study for TR, really 16:40 greghendershott: Going with the racketeering theme, packages would be referred to as contraband or bootleg. Obtained in the black-market. $ raco smuggle 16:40 jeapostrophe: peace out everyone, <3 xoxox 16:45 (quit) jeapostrophe: Ping timeout: 260 seconds 16:47 DanBurton: samth: what's so great about npm? I haven't used it much, just curious how it stacks up to ruby gems, planet, cabal 16:49 samth: DanBurton: it's very simple, it makes it easy to fix problems in your dependencies, it has very little global state 16:51 didi: Nix always looked interesting to me. Although I've never used it. 16:52 (quit) jrslepak: Quit: What happened to Systems A through E? 16:54 (quit) chrxn: Ping timeout: 264 seconds 16:55 asumu: I wonder what the deal is with documentation & PLaneT 2. Example: I port pfds to put things in data/. Where do docs go? 16:55 asumu: They can't really go in the data/ scribblings since the main data/ scribblings doesn't link to it. 17:01 (join) chrxn 17:01 samth: asumu: that's a future-work item in the planet 2 docs 17:02 samth: greghendershott: what part of that commit are you referring to? 17:02 samth: you can click on a line number to get a link to it 17:03 didi: Aha! (module+ main ...) is also run if I shebang the file. Nice. 17:04 greghendershott: samth: Sorry I thought I'd done exactly that in the previous link, but here's a link to the raw file: https://github.com/greghendershott/gapi/blob/master/macro.rkt#L49 17:06 (quit) chrxn: Ping timeout: 260 seconds 17:07 greghendershott: samth: It seems like the only way I can get the compile-time struct's information into the template for run-time, is to take the canoe out of the water and portage it piece by piece, including needing to quote certain pieces. 17:08 greghendershott: It works, but my spider sense says that I took the over-complicated fork in the road. 17:08 Cryovat: Well 17:08 Cryovat: Portaging the canoe like that worked for Stanley 17:08 (join) chrxn 17:09 greghendershott: Right but the pieces I'm not carrying need to be hung from a tree in the meantime. 17:09 greghendershott: Due to bears. 17:09 Cryovat: Hehe 17:12 (quit) mizu_no_oto: Ping timeout: 246 seconds 17:14 (join) uselpa 17:14 (join) jeapostrophe 17:14 (quit) jeapostrophe: Changing host 17:14 (join) jeapostrophe 17:15 (quit) uselpa: Remote host closed the connection 17:15 (join) jrslepak 17:23 (quit) Shviller: Ping timeout: 246 seconds 17:24 (join) Shviller 17:29 (join) anRch 17:31 (quit) masm: Ping timeout: 246 seconds 17:31 (quit) jrslepak: Ping timeout: 255 seconds 17:34 (join) masm 17:35 (quit) DanBurton: Quit: leaving 17:38 samth: greghendershott: what values are handled by the else case? 17:41 greghendershott: string literals. (FWIW I wrote the cond expr for that known specific struct, and the code is <8 hours old.) 17:43 greghendershott: Also, since I pushed the commit I have a version that uses less quasi-unquoting and more with-syntax, but, that's a friendlier face on the same approach — "marshaling" the struct from compile- to run-time as a literal. 17:45 samth: greghendershott: marshalling is required at some point 17:46 samth: if you use prefab structs, you can just quote them in syntax 17:46 greghendershott: ^ prefab. Ah. 17:46 samth: however, your cond clause can be replaced by #`(quote #,(datum->syntax #f v)) 17:47 greghendershott: I kept staring at the literals and a lightbulb was blinking in my peripheral vision, but I couldn't connect the dots. Prefab. 17:50 greghendershott: Re the else clause, I think you mean that it works "by accident" now for string literals, but that would be safer 17:52 greghendershott: As always, thank you! 17:54 greghendershott: BTW in the code I've seen (so far) I don't see much use of #`, #, and #,@. Using with-syntax with templates seems more common than quasi-syntax-quoting/unquoting. Is that "just" style/preference/history, or is there something more to it? 17:56 jonrafkind: i use with-syntax at all times 17:56 jonrafkind: i dispise unquoting 17:58 samth: greghendershott: for the else clause, i mean that you don't need the cond at all 17:58 samth: because all of that data can be just quoted 17:59 samth: greghendershott: for with-syntax, i find code with lots of unquoting to be ugly 17:59 (quit) masm: Quit: Leaving. 18:01 greghendershott: samth: The _entire_ cond clause — got it. Plus as it turns out, in this case I can #:prefab the struct. 18:01 greghendershott: So the whole thing can be really simple. 18:03 greghendershott: #`(begin 18:03 greghendershott: #,@(for/list ([x specs]) 18:03 greghendershott: (with-syntax ([name (datum->syntax stx (method-spec-id x))] 18:03 greghendershott: [ms (datum->syntax stx x)]) 18:03 greghendershott: #`(define name (method-spec->procedure ms))))) 18:07 (quit) jaaso_: Ping timeout: 252 seconds 18:07 (join) jaaso 18:07 (quit) jaaso: Excess Flood 18:08 (join) jaaso 18:08 (quit) jaaso: Excess Flood 18:08 (join) jaaso 18:08 (quit) jaaso: Excess Flood 18:09 (join) jaaso 18:09 (quit) jaaso: Excess Flood 18:09 (join) jaaso 18:09 (quit) jaaso: Excess Flood 18:10 (join) jaaso 18:10 (quit) jaaso: Excess Flood 18:10 (join) jaaso 18:10 (quit) jaaso: Excess Flood 18:11 (join) jaaso 18:11 (quit) jaaso: Excess Flood 18:12 (join) jaaso 18:12 (quit) jaaso: Excess Flood 18:12 (join) jaaso 18:12 (quit) jaaso: Excess Flood 18:13 (join) jaaso 18:13 (quit) jaaso: Excess Flood 18:13 (join) jaaso 18:13 (quit) jaaso: Excess Flood 18:14 (join) jaaso 18:14 (quit) jaaso: Excess Flood 18:14 (join) jaaso 18:14 (quit) jaaso: Excess Flood 18:15 (join) jaaso 18:15 (quit) jaaso: Excess Flood 18:15 (join) jaaso 18:15 (quit) jaaso: Excess Flood 18:16 (join) jaaso 18:16 (quit) jaaso: Excess Flood 18:16 (join) jaaso 18:16 (quit) jaaso: Excess Flood 18:17 (join) jaaso 18:17 (quit) jaaso: Excess Flood 18:17 (join) jaaso 18:17 (quit) jaaso: Excess Flood 18:18 (join) jaaso 18:18 (quit) jaaso: Excess Flood 18:18 (join) jaaso 18:18 (quit) jaaso: Excess Flood 18:19 (join) jaaso 18:19 (quit) jaaso: Excess Flood 18:19 (join) jaaso 18:19 (quit) jaaso: Excess Flood 18:20 (join) jaaso 18:20 (quit) jaaso: Excess Flood 18:21 (join) jaaso 18:21 (quit) jaaso: Excess Flood 18:21 (join) jaaso 18:21 (quit) jaaso: Excess Flood 18:22 (join) jaaso 18:22 (quit) jaaso: Excess Flood 18:22 (join) jaaso 18:22 (quit) jaaso: Excess Flood 18:23 (join) jaaso 18:23 (quit) jaaso: Excess Flood 18:23 (quit) jamessan: Ping timeout: 260 seconds 18:23 (join) jaaso 18:23 (quit) jaaso: Excess Flood 18:24 (join) jaaso 18:24 (quit) jaaso: Excess Flood 18:24 (join) jaaso 18:24 (quit) jaaso: Excess Flood 18:25 (join) jaaso 18:25 (quit) jaaso: Excess Flood 18:25 (quit) MayDaniel: Read error: Connection reset by peer 18:25 (join) jaaso 18:25 (quit) jaaso: Excess Flood 18:26 (join) jamessan 18:26 (join) jaaso 18:26 (quit) jaaso: Excess Flood 18:26 (join) jaaso 18:26 (quit) jaaso: Excess Flood 18:27 (join) jaaso 18:27 (quit) jaaso: Excess Flood 18:28 (join) jaaso 18:28 (quit) jaaso: Excess Flood 18:28 (join) jaaso 18:28 (quit) jaaso: Excess Flood 18:29 (join) jaaso 18:29 (quit) jaaso: Excess Flood 18:29 (join) jaaso 18:29 (quit) jaaso: Excess Flood 18:30 (join) jaaso 18:30 (quit) jaaso: Excess Flood 18:30 (join) jaaso 18:30 (quit) jaaso: Excess Flood 18:31 (join) jaaso 18:31 (quit) jaaso: Excess Flood 18:31 (join) jaaso 18:32 (quit) jaaso: Excess Flood 18:32 (quit) anRch: Quit: anRch 18:32 (join) jaaso 18:32 (quit) jaaso: Excess Flood 18:33 (join) jaaso 18:33 (quit) jaaso: Excess Flood 18:33 (join) jaaso 18:33 (quit) jaaso: Excess Flood 18:33 (quit) carleastlund: Quit: carleastlund 18:34 (join) jaaso 18:34 (quit) jaaso: Excess Flood 18:34 (join) jaaso 18:34 (quit) jaaso: Excess Flood 18:35 (join) jaaso 18:35 (quit) jaaso: Excess Flood 18:35 (quit) Shviller: Ping timeout: 246 seconds 18:35 (join) Shviller 18:35 (join) jaaso 18:36 (quit) jaaso: Excess Flood 18:36 (join) jaaso 18:36 (quit) jaaso: Excess Flood 18:36 (join) jaaso 18:36 (quit) jaaso: Excess Flood 18:37 (join) jaaso 18:37 (quit) jaaso: Excess Flood 18:37 (join) jaaso 18:41 (quit) jonrafkind: Ping timeout: 276 seconds 18:43 (join) ewemoa 18:43 (quit) Kaylin: Read error: Connection reset by peer 18:44 (join) masm 18:49 (join) jrslepak 18:49 (quit) masm: Quit: Leaving. 18:52 (join) dnolen 19:06 (quit) BeLucid: Read error: Connection reset by peer 19:06 (join) BeLucid 19:11 (quit) didi: Read error: Operation timed out 19:29 (quit) SHODAN: Remote host closed the connection 19:29 (join) SHODAN 19:35 (join) r_m_r 19:39 (quit) dyoo: Quit: dyoo 19:42 (join) mizu_no_oto 19:44 (join) DanBurton 19:46 (quit) jeapostrophe: Ping timeout: 246 seconds 20:15 (quit) DanBurton: Quit: leaving 20:17 (join) emma 20:17 (quit) em: Ping timeout: 265 seconds 20:19 (nick) emma -> em 20:19 (quit) nathanpc: Quit: Computer has gone to sleep. 20:29 (join) didi 20:33 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 20:38 (quit) dnolen: Ping timeout: 265 seconds 21:04 (join) Kaylin 21:36 (join) jeapostrophe 21:36 (quit) jeapostrophe: Changing host 21:36 (join) jeapostrophe 22:07 (quit) r_m_r: Quit: Page closed 22:19 (quit) jrslepak: Ping timeout: 260 seconds 22:27 (join) jrslepak 22:36 (quit) Blkt: Remote host closed the connection 22:54 asumu: Wow, bizarre bug I encountered in Typed Racket. 22:55 asumu: Certain polymorphic function applications get type-checked weirdly, but only in a different module from its definition. 23:00 (quit) walter: Ping timeout: 240 seconds 23:06 (quit) jamessan: Ping timeout: 260 seconds 23:09 (join) jonrafkind 23:10 (join) jamessan 23:11 (join) scott_ 23:11 (quit) scott_: Changing host 23:11 (join) scott_ 23:15 (join) walter 23:46 (quit) jao: Ping timeout: 246 seconds