00:21 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 00:25 (quit) JStoker: Excess Flood 00:27 (join) JStoker 00:27 (quit) karswell: Read error: Connection reset by peer 00:29 (quit) grettke: Quit: Leaving 00:32 (quit) JStoker: Excess Flood 00:35 (join) JStoker 00:42 (join) sw2wolf 00:53 (quit) mceier: Quit: leaving 01:33 (join) bniels 01:36 (quit) tsion: Quit: Leaving 02:03 (quit) sw2wolf: Quit: ERC Version 5.3 (IRC client for Emacs) 02:19 (join) mceier 02:38 (join) ohama 02:42 (quit) Fare: Quit: Leaving 02:53 (join) sw2wolf 02:58 (quit) Nisstyre-laptop: Remote host closed the connection 02:59 (join) Nisstyre-laptop 03:17 (join) hkBst 03:18 (quit) bjz: Read error: Connection reset by peer 03:18 (join) ambrosebs 03:20 (quit) k0001_: Ping timeout: 250 seconds 03:37 (join) k0001 03:43 (quit) jonrafkind: Read error: Operation timed out 03:47 (part) sw2wolf: "ERC Version 5.3 (IRC client for Emacs)" 04:03 (quit) ambrosebs: Ping timeout: 265 seconds 04:07 (join) bjz 04:07 (quit) k0001: Ping timeout: 265 seconds 04:10 (quit) cdidd: Read error: Connection reset by peer 04:19 (join) tilde` 04:26 (join) mithos28 04:47 (quit) bjz: Quit: Leaving... 04:48 (quit) mithos28: Quit: mithos28 04:48 (join) bitonic 05:01 (join) ambrosebs 05:02 (join) bjz 05:03 (quit) bitonic: Remote host closed the connection 05:03 (join) bitonic 05:26 (quit) eli: Ping timeout: 256 seconds 06:33 (quit) bitonic: Ping timeout: 256 seconds 06:54 (quit) PCChris: Read error: Connection reset by peer 07:17 (join) dzhus 07:21 (quit) pd520: Ping timeout: 264 seconds 07:26 (join) bitonic 07:35 (quit) bitonic: Ping timeout: 255 seconds 07:38 (join) pd520 07:57 (join) bitonic 07:57 (quit) tilde`: Read error: Connection reset by peer 07:57 (join) tilde` 08:01 (join) kofno 08:06 (quit) bitonic: Ping timeout: 260 seconds 08:17 (join) bitonic 08:17 (quit) lewis1711: Quit: Leaving. 08:28 (quit) bitonic: Ping timeout: 260 seconds 08:32 (join) myx 08:33 (join) jeapostrophe 08:33 (quit) jeapostrophe: Changing host 08:33 (join) jeapostrophe 08:42 (join) nathanpc 08:52 (join) masm 08:57 (quit) dzhus: Read error: Connection reset by peer 09:01 (join) mizu_no_oto 09:03 (quit) tilde`: Quit: brb 09:07 (join) tilde` 09:23 (join) rindolf 09:23 rindolf: Hi Racketeers. 09:26 (quit) kofno: Read error: Connection reset by peer 09:27 (join) kofno 09:30 asumu: Morning. 09:30 (join) francisl 09:32 (quit) jeapostrophe: Ping timeout: 248 seconds 09:35 (join) fasta 09:35 fasta: How do I import a procedure only from a module, but otherwise do nothing at all? 09:35 (quit) antono: Ping timeout: 265 seconds 09:36 fasta: (require srfi/13) imports the whole module, which conflicts with a bunch of stuff. 09:36 (join) r0p 09:38 asumu: fasta: try the `only-in` require clause. 09:38 bremner: fasta: iirc, only-in http://docs.racket-lang.org/reference/require.html?q=require#(form._((lib._racket/private/base..rkt)._require)) 09:38 bremner is jinxed 09:38 (join) hash_table 09:40 fasta: I tried this: (require (only-in srfi/13 string-pad)) 09:40 fasta: (which is wrong) 09:43 fasta: (require (only-in racket/tcp tcp-listen [tcp-accept my-accept])) 09:44 bremner: works for me 09:44 fasta: That seems to load only tcl-listen en rename tcp-accept to my-accept. 09:44 fasta: However, when I apply that logic to my example, I still get the same error message. 09:44 (quit) hash_table: Ping timeout: 252 seconds 09:44 asumu: rudybot: eval (require (only-in srfi/1 lset-union)) lset-union 09:44 rudybot: asumu: ; Value: # 09:45 asumu: rudybot: eval (require (only-in srfi/1 [map srfi-1-map])) (srfi-1-map add1 '(1 2 3)) 09:45 rudybot: asumu: ; Value: (2 3 4) 09:45 fasta: Hmm, it did work. Perhaps I didn't press 'Run'. 09:45 fasta: How much of a difference in speed is there between a debug version and an optimized version of drracket? 09:46 fasta: And, I read something about being able to use racket tools in Emacs. Is that something that actually works or is it just a toy? 09:47 asumu: From what I hear, geiser works pretty well. I don't use it myself. 09:47 bremner: I use geiser, but I don't know what "a toy" is in this context. 09:49 bremner: it is fair to say not every feature of DrRacket is available in geiser. 09:51 fasta: Is there a keybinding in drracket to complete a word which has been defined, but which has not run yet? 09:51 fasta: In Emacs it's dabbrev-expand, I think. 09:51 fasta: Or M-/ 09:52 (join) hkBst_ 09:52 (quit) hkBst_: Changing host 09:52 (join) hkBst_ 09:53 (join) netrino 09:54 (quit) hkBst: Ping timeout: 245 seconds 09:55 (quit) hkBst_: Excess Flood 09:55 (join) RacketCommitBot 09:55 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/3STlmQ 09:55 RacketCommitBot: racket/master 5163d42 Robby Findler: Adjust the limit memory dialog to give a warning about the... 09:55 (part) RacketCommitBot 09:55 fasta: How do I show documentation for symbol under cursor? 09:55 fasta: It seems to be hit and miss whether it works. 09:56 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 09:57 asumu: You mean the F2 thing? First, it only works if the program contains no syntax errors. 09:57 asumu: And... I didn't have a second point. It just follows your insertion point. 10:00 fasta: asumu: it doesn't work srfi identifiers. 10:00 fasta: How do I input a number character? In Haskell: '4'? 10:01 fasta: (integer->char 4) would also work, but is there something better? 10:01 asumu: rudybot: (char-numeric? #\4) 10:01 rudybot: asumu: ; Value: #t 10:02 asumu: fasta: that's because the SRFIs don't have Racket documentation. 10:03 asumu: It only works for identifiers that have documentation. 10:03 fasta: asumu: for consistency that would have been nice, though. 10:03 bremner: fasta: more details http://docs.racket-lang.org/reference/reader.html#(part._parse-character) 10:03 (quit) amgarching: Ping timeout: 245 seconds 10:03 fasta: It does appear that drracket has improved a bit since the last time I used it. 10:04 asumu: Ideally `racket/list` should just provide everything SRFI/1 does. It provides most of it already. 10:04 (join) jeapostrophe 10:04 (quit) jeapostrophe: Changing host 10:04 (join) jeapostrophe 10:04 fasta: asumu: I wanted string-pad. 10:05 asumu: rudybot: (require racket/format) 10:05 rudybot: asumu: error: default-load-handler: cannot open input file: "/mnt/racket-5.2.900.1/collects/racket/format.rkt" (No such file or directory; errno=2) 10:05 asumu: rudybot: (version) 10:05 rudybot: asumu: ; Value: "5.2.900.1" 10:06 asumu: In either 5.3 or 5.3.1 (I forget), the `racket/format` library provides a simple way to pad strings. 10:18 (join) mizu_no_oto 10:21 (join) lewis1711 10:21 (join) bitonic 10:33 (join) mye 10:33 greghendershott: jeapostrophe: Maybe a dumb question but I wanted to ask whether the GitHub package URI supports tags as well as branches. I think the answer is yes because the GitHub's URI format for the ZIPs seems to be https://github.com/{user}/{repo}/archive/{branch-or-tag}.zip 10:34 jeapostrophe: i think the answer is yes as well, but i have not tested it 10:34 jeapostrophe: it might be that when i get the checksum i do it in a way that only works on branches though 10:34 (quit) Shvillr: Ping timeout: 256 seconds 10:36 greghendershott: I've been using tags instead of branches, e.g. https://github.com/greghendershott/aws/archive/v1.4.zip is same as old Planet v1.4 of http://planet.racket-lang.org/display.ss?package=aws.plt&owner=gh 10:36 (join) Shvillr 10:36 greghendershott: I don't know if that's "best practices" for Git but it's seemed to be OK so far. I guess I could switch. 10:37 jeapostrophe: If it doesn't work, then I'll make it work 10:37 jeapostrophe: Because I agree that tags should be supported 10:38 greghendershott: oh that would be awesome, thank you. For small collections, branches might feel "heavy" compared to tags for Git newbs, so that would be nice. 10:38 jeapostrophe: email me to with your test results or a reminder to test it myself, would you? 10:38 lewis1711: https://github.com/shr/pltcod/blob/master/loader.rkt so whenever the "deftcod" macro is called, I get a contract error like so http://pastebin.com/wv2EtbVZ it worked a year ago (code is not mine). anyone have a quick and dirty fix? 10:39 greghendershott: jeapostrophe: will do. thanks again. 10:40 jeapostrophe: greghendershott: thanks, ttyl 10:40 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 10:41 samth: jeapostrophe: if it doesn't work, i think the following command should give you enough to make it work: 10:41 samth: curl https://api.github.com/repos/plt/racket/git/refs/tags/v5.3 10:44 (quit) jeapostrophe: Ping timeout: 260 seconds 10:47 (join) karswell 10:48 (join) hash_table 10:53 (join) mye_ 10:55 (join) mizu_no_oto 10:55 (join) carleastlund 10:56 (quit) mye: Ping timeout: 260 seconds 10:56 (nick) mye_ -> mye 10:56 (join) jao 10:56 (quit) jao: Changing host 10:56 (join) jao 10:58 lewis1711: ah managed to make a hideous fix myself. I guess there must have been a big change in regexp functions within the last year or so. also drracket kills itself when it tries to open an sdl window, but the compiled binary works as expected 11:00 (join) soegaard_ 11:06 (quit) mceier: Quit: leaving 11:09 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 11:12 (quit) pd520: Quit: 离开 11:13 (join) mizu_no_oto 11:19 (join) eli 11:19 (quit) eli: Changing host 11:19 (join) eli 11:22 (quit) SamB: Ping timeout: 246 seconds 11:23 (join) SamB 11:27 (quit) jrslepak: Quit: What happened to Systems A through E? 11:30 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 11:32 (join) antono 11:34 (join) RacketCommitBot 11:34 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/C93L9A 11:34 RacketCommitBot: racket/master 280d924 Robby Findler: A first attempt at a section explaining reachabilty, weak boxes,... 11:34 (part) RacketCommitBot 11:35 (join) jeapostrophe 11:35 (quit) jeapostrophe: Changing host 11:35 (join) jeapostrophe 11:44 (quit) ambrosebs: Ping timeout: 244 seconds 11:46 (join) r0p_ 11:46 (quit) jeapostrophe: Ping timeout: 248 seconds 11:50 (quit) antono: *.net *.split 11:50 (quit) r0p: *.net *.split 11:50 (quit) myx: *.net *.split 11:54 (join) sizz_ 11:54 (quit) sizz: Read error: Connection reset by peer 11:57 (join) myx 11:58 (nick) tilde` -> Tilde` 12:08 (join) anRch 12:09 (quit) bniels: Quit: WeeChat 0.3.8 12:11 (part) dreamz93 12:26 (join) MayDaniel 12:30 (join) mceier 12:34 (join) mithos28 12:34 fasta: How can I set command line arguments while in Racket? 12:36 (join) jrslepak 12:49 greghendershott: fasta: In DrRacket choose Language, then Show Details if not already, then see Command-line arguments items toward bottom right of dialog 12:50 fasta: greghendershott: I cannot read the whole text there. 12:51 fasta: greghendershott: Command-line arguments as a ..., in read syntax(?) 12:51 fasta: greghendershott: The windows is too small, but it probably says that. 12:51 greghendershott: In DrRacket, it's in the Language dialog box. 12:51 fasta: greghendershott: it is there, but it is too small. 12:52 greghendershott: Otherwise in the source file, you can use the current-command-line-arguments parameter 12:52 greghendershott: http://docs.racket-lang.org/reference/runtime.html#(def._((quote._~23~25kernel)._current-command-line-arguments)) 12:53 fasta: greghendershott: that seems more useful. Thanks 12:53 greghendershott: (current-command-line-arguments #("—flag" "option")) and so on. Just remember anywhere there would be a space in the command line, that's a separate vector element, and you should be good. 13:03 (quit) anRch: Quit: anRch 13:04 fasta: greghendershott: yes, I got the parameter system figured out. 13:04 fasta: greghendershott: it's not as awesome as docopts, but it's better than most interfaces. 13:11 samth: fasta: see the `command-line` form 13:11 samth: rudybot: doc command-line 13:11 rudybot: samth: your sandbox is ready 13:12 rudybot: samth: http://docs.racket-lang.org/reference/Command-Line_Parsing.html#(form._((lib._racket%2Fcmdline..rkt)._command-line)) 13:12 fasta: samth: I used it, but it doesn't do what I expected. 13:12 fasta: samth: I basically want to have an argument like foo --mustbepassed 32 13:12 samth: that's pretty easy 13:12 fasta: samth: I tried #:once-each 13:13 fasta: expects no arguments on the command line, given 1 argument: 2 13:13 fasta: Oh, my mistake. 13:13 fasta: I called it wrong, the code I wrote is ok. 13:14 fasta: Excellent. 13:14 fasta: samth: is there an easy way to make ./foo.rkt execute? 13:15 samth: fasta: you want to use a shell trampoline 13:15 samth: like this: http://docs.racket-lang.org/guide/scripts.html?q=shell 13:15 fasta: samth: is that still compatible with drracket? 13:16 samth: yes 13:16 samth: those are racket comments 13:16 samth: so it'll just work 13:16 samth: drracket doesn't execute programs differently than plain racket 13:19 fasta: samth: ./foo.rkt -k 2 doesn't return where racket foo.rkt -k 2 does. 13:20 samth: fasta: you might need the more complicated trampoline described later on that page 13:20 fasta: samth: I am using the complicated one. 13:20 samth: can you print out `current-command-line-argument` and see what it's doing? 13:21 (quit) kofno: Remote host closed the connection 13:21 fasta: samth: it never even gets to that point. 13:21 samth: what happens? 13:22 fasta: samth: heat dissipation ;) 13:22 samth: does it loop? 13:22 fasta: samth: probably. 13:22 samth: oh 13:22 samth: hmm 13:22 fasta: samth: tons of segmentation faults. 13:22 samth: what if you use the simpler version? 13:22 fasta: --- SIGSEGV (Segmentation fault) @ 0 (0) --- 13:22 fasta: mprotect(0x7f65d02c4000, 16384, PROT_READ|PROT_WRITE) = 0 13:23 samth: might you be loading a different racket binary? 13:23 fasta: samth: lots of stuff like this... 13:23 (join) kofno 13:23 samth: that's from racket's memory system -- it uses memory protection for write barriers 13:23 fasta: samth: I only have one installed on my system 13:23 samth: very strange 13:24 samth: so, what if you use the simpler #! line? 13:24 (quit) bitonic: Ping timeout: 260 seconds 13:25 fasta: samth: that works. 13:25 samth: ah, hmm 13:25 samth: then there must be some strange bash-ism going wrong here 13:25 samth: and thus i am not the person to answer it 13:25 fasta: bash generally doesn't segfault 13:25 samth: right, but it might be passing the wrong arguments to racket, or something 13:25 samth: or reinvoking itself 13:26 samth: eli: ping 13:27 eli: samth: ? 13:27 samth: eli: fasta is having issues with the complicated version of the bash trampoline described in the docs 13:27 samth: the simple version works 13:27 samth: the complex version seems to loop 13:27 (join) bitonic 13:28 fasta: Odd, the one in the documentation does work. 13:28 fasta: It just doesn't work when combined with my program. 13:29 fasta: samth: found it. 13:29 fasta: samth: when there is a compiled directory, it crashes. 13:29 samth: oh hm 13:30 samth: if you can produce a reproduction recipe, please post the mailing list 13:30 fasta: samth: that is, a compiled directory with some content. 13:30 fasta: samth: probably something out of date. 13:31 fasta: samth: is there some way to easily speed up this program? It takes a bit too long to get going basically. 13:31 eli: samth: which file? 13:31 samth: eli: fasta appears to have found the problem -- please read a little of the scrollback 13:32 samth: fasta: basically, compile that file: 'raco make -v foo.rkt' 13:32 (join) jonrafkind 13:32 fasta: samth: and should I then run the zo file? 13:32 samth: no 13:32 samth: just run ./foo.rkt 13:33 fasta: samth: that's still about 100 times slower than if I had done it in C++. 13:33 eli: Oh. I thought you were talking about the fasta shootout benchmark... 13:33 samth: fasta: in terms of startup? 13:33 fasta: samth: in terms of executing this trivial program. 13:34 samth: fasta: certainly, for very short-running programs, racket has non-trivial overhead 13:34 fasta: samth: for this particular program, in the vast majority of cases, it shouldn't even run with a gc. 13:34 samth: racket loads a non-trivial amount of code at startup for the standard library 13:34 fasta: samth: probably the right way to make this work is to load gc only when needed via dlopen. 13:35 samth: fasta: the gc is irellevant here 13:35 fasta: samth: the gc increases code size. 13:35 fasta: samth: but perhaps there is lots of other stuff which is also loaded for no good reason. 13:35 samth: fasta: trust me, the gc is not what's loaded that takes a long time 13:35 samth: what takes a while is loading the racket standard library 13:35 fasta: samth: why is it loading so much then? 13:36 fasta: It's supposed to be compiling things. 13:36 fasta: Which in my book means do dead code elimination, partial evaluation and all of those things. 13:36 samth: because the way that racket works is that it compiles individual files separately 13:36 samth: it doesn't combine them all into one single file 13:36 fasta: Can I also compile racket to Scheme? 13:36 samth: there's a tool for that 13:36 samth: for compiling them all into one file, that is 13:37 fasta: samth: does that help execution time like I imagine it could do? 13:37 samth: no, you can't easily compile to scheme (both languages are turing complete, so in some trivial sense it's possible) 13:37 samth: fasta: it may, i've not used it 13:37 eli: fasta: The problem with segfaults that you seem to have is unrelated to the bash trampoline, it's surprising though that you go it into an infinite loop, so an example with the output that you see would be useful. 13:38 fasta: eli: there was an example above. 13:38 samth: fasta: also, for execution time, the loading is approximately a fixed 300 ms overhead, so once you've paid that, there's no extra cost 13:38 fasta: eli: those mprotect lines were one cycle of the loop. 13:38 samth: fasta: the segfaults and the loop are almost certainly not related 13:38 eli: fasta: Those errors are not related to the sh trampoline problem, and I don't see that you posted your script. 13:38 samth: fasta: if you can post an actual recipe for use to see the loop, that would help 13:39 eli: Yes, what samth said 13:39 fasta: /lib/racket/collects/syntax/srcloc.rkt", {st_mode=S_IFREG|0644, st_size=11458, ...}) = 0 13:39 fasta: --- SIGSEGV (Segmentation fault) @ 0 (0) --- 13:39 fasta: mprotect(0x7f868dae4000, 16384, PROT_READ|PROT_WRITE) = 0 13:39 fasta: rt_sigreturn(0x7f868dae4000) = 140215879352360 13:39 fasta: This is a stat call. 13:39 eli: Please not here... 13:39 fasta: Directly after it is the crash. 13:39 eli: Just the file that you ran, and a complete output that you get when you run it from your shell. 13:39 fasta: eli: there is no easy way to reproduce it. 13:40 samth: fasta: again, the segfaults are *not* crashes 13:40 eli: fasta: Just the code, run it and get the loop, then post the output. 13:40 fasta: eli: even if it works? 13:40 eli: And to debug the shell problem there is no need to use gdb or strace or whatever you're using -- since the extra information that they produce are irrelevant. 13:40 fasta: eli: I still have the complete output from the crash run. 13:41 eli: (They are relevant to debug the actual crash, if you had any.) 13:41 eli: (But like I said that's a different issue.) 13:41 eli: As for the loading overhead -- something like loading the GC on demand doesn't make much sense since the GC is basically made of small hooks that describe different kinds of data types and how they're collected. 13:41 (join) mizu_no_oto 13:41 eli: There is also overhead like the JIT that turns a function to native code when it first runs. 13:42 fasta: eli: I don't know how to get it to loop, like I said. 13:42 eli: And there is also the obvious overhead of Racket's compilation (from source to bytecode) which you can avoid by compiling the files. 13:42 eli: fasta: Did it loop? 13:42 fasta: eli: it did. 13:42 eli: Did a single script run actually call *itself* multiple times? 13:43 fasta: eli: highly unlikely. 13:43 eli: So what is it exactly that was looping? 13:43 fasta: eli: the racket process 13:43 eli: Did you try to run it in gdb by any chance? 13:44 fasta: eli: no 13:44 eli: Then how do you know that it was looping? 13:44 fasta: eli: it is a debug build, though. 13:44 fasta: eli: because it was taking 100 times longer than a normal run. 13:44 fasta: eli: after which I ended the process. 13:44 fasta: eli: I also saw the exact same strace output. 13:44 eli: So you don't know that it was looping? 13:45 fasta: eli: over and over again. 13:45 fasta: No Scheme standard would have allowed those semantics. 13:45 fasta: The program was correct. 13:45 eli: Um, there is no Scheme standard that would talk about what you see in an strace output... 13:46 samth: fasta: as far as i can tell, we haven't figured out what was happening, so it's premature to say whether it's allowed 13:46 fasta: samth: if it is supposed to do the same thing and then it doesn't, it is clearly wrong. 13:47 fasta: Like I said, a C++ program should run about 10000 times faster than the time I waited. 13:47 eli: fasta: From everything that I read so far (which is likely not the whole thing) I'm really not sure that you had a loop. 13:47 samth: fasta: i don't deny that something, somewhere went wrong 13:47 samth: eli: fasta said that 'racket foo.rkt' ran quickly 13:48 samth: but that './foo.rkt' took forever 13:48 eli: If, for example, you looked at lines that talk about a sigsegv exception, then those printouts would happen a *lot*, since they happen on a routine basis as part of the GC. 13:48 greghendershott: Would it help to see foo.rkt? Pastebin, gist.github, etc.? 13:48 eli: samth: I think that there's not much to say more until there's some code to try... 13:48 (join) dyoo 13:48 samth: eli: i agree 13:49 eli: I just looked back, and I don't see it posted though... 13:49 greghendershott: Yeah 13:49 greghendershott: My point 13:49 greghendershott: :) 13:49 fasta: The freak object is gone (the compiled directory). 13:49 fasta: Running it now again, doesn't reproduce it. 13:49 fasta: I should not have deleted that directory. 13:49 samth: fasta: you can create the compiled directory by running 'raco make foo.rkt' 13:50 fasta: samth: yes, but that doesn' trigger it (I had already tried) 13:50 samth: ah, ok 13:52 fasta: Ok, so I can create it. 13:53 fasta: eli: http://paste.kde.org/619118/ 13:54 samth: fasta, eli: indeed, that reproduces it 13:55 (join) k0001 13:55 samth: you can take out the `display` as well 13:56 eli: samth: Why do you use `-c' ? 13:56 samth: fasta: it does terminate for me, after a long time 13:56 dyoo: I came into this conversation a bit late; is the issue that the shell trampoline is doing something funky? 13:56 samth: dyoo: no, the issue is that using -c is slow 13:57 samth: eli: probably fasta used `-c` because it's in the example 13:57 eli: IIRC, `-c' tells it to avoid all compiled files, which means that you are now loading all of the racket code from source (and compile it, etc), and all of that needs to happen before your code runs. 13:57 dyoo: what the heck is -c? :) Looking at documentation now... 13:57 eli: samth: Which example? 13:57 samth: eli: the docs use `-c` because they're demoing more complex command line arguments 13:57 samth: eli: the "even more general trampoline" at the end of http://docs.racket-lang.org/guide/scripts.html?q=shell 13:58 samth: eli: but it's potentially confusing for newbies 13:58 fasta: samth: potentially? 13:58 samth: fasta: if you look at the source of the example, it says that it's disabling loading of compiled files 13:58 samth: and that this makes things slow 13:59 fasta: samth: that's like putting rm -rf $HOME in the documentation in a section called 'an even more general example of rm'. 13:59 eli: fasta: No, it's not a destructive operation. 13:59 samth: but i think the example should be modified to use a flag with less impact 13:59 dyoo: That being said, I agree that this example should not include "-c". It's introducing two concepts at the same time: the general trampoline, and being able to customize the behavior of the evaluor. Better to separate thet wo 13:59 fasta: samth: it should never have been written there. 13:59 fasta: Why would anyone want to use -c ever? 13:59 eli: The code even says why it is expected to be slower. 14:00 fasta: Slower should then say 100+ times slower. 14:00 fasta: Slower sounds like 'perhaps twice as slow'. 14:00 eli: Um, no, slower means "takes more time", and the amount of time is unspecified. 14:00 fasta: I would recommend 'makes you cry slow', myself. 14:01 fasta: eli: that's the difference between documentation and winning an argument. 14:01 dyoo: fasta: just to followup: one reason might be so that something like the errortrace extended stacktrace library can work. I do think that the use case for "-c" is limited, though. Let me propose a patch to the docs… give me a sec. 14:01 eli: ok, goodbye. 14:02 fasta: eli: what do you mean, goodbye? 14:03 (quit) hash_table: Ping timeout: 245 seconds 14:03 eli: "This discussion has turned from something potentially productive to a flamewar, therefore pardon me as I tune out." 14:03 fasta: eli: it seems rather fundamental to me. 14:03 fasta: eli: if you really think that's useful documentation, then we disagree very strongly. 14:04 fasta: eli: in fact, I think I know a real fix. 14:05 dyoo: git diff 14:05 dyoo: oh, sorry, was typing into irc instead of terminal by accident... 14:05 fasta: #| 14:05 fasta: echo This is terribly slow. It takes about 20 seconds on a fast machine... 14:05 fasta: exec racket -cu "$0" ${1+"$@"} 14:05 fasta: Just convert the example into that. 14:06 fasta: Then when people run that, it is executed and thus seen by the user immediately. 14:06 fasta: You might think that people would read the print calls... 14:06 fasta: You couldn't be more wrong. 14:07 dyoo: how about this? https://github.com/dyoo/racket/commit/e52731db552b5209fa3dbf2c8f216f043073102b 14:07 rudybot: http://tinyurl.com/cw75lpn 14:07 dyoo: Look ok to you? 14:07 tewk: depending on the program it could take much longer thatn 20 seconds. 14:07 greghendershott: fasta: Dude. You have 3 of the smartest and most productive Racket team members (not me) trying to help you here. You have the answer, and it sounds like one of them is editing the doc as we speak. 14:07 dyoo: that is, if the docs are screwed up, we'll fix them. Just give us a moment. :) 14:08 fasta: greghendershott: relax please. 14:08 dyoo: Is the patch above ok? If so, I'll make sure it compiles ok before I push it upstream. 14:08 fasta: dyoo: I think it should say that -c is really, really slow and it should specify that as a function of the amount of code it will load or whatever. 14:08 greghendershott: fasta: The feedback on the doc is great. I've found some of it to be hard when beginning. It's great you helped point this out. 14:08 fasta: dyoo: it should also say that for a trivial example it already takes X seconds on 2012 hardware. 14:09 fasta: dyoo: it should also say this in red letters, perhaps. 14:09 fasta: I don't know whether you have a warning semantic markup categoryu. 14:09 Cryovat: fasta: Two meters tall, made of plywood? :D 14:09 fasta: category* 14:11 eli: fasta: http://git.racket-lang.org/plt/commitdiff/27e8702ec5 14:11 fasta: eli: impatient users will still complain. 14:12 fasta: eli: it should explicitly state that it is expected to take a long time with some timescale mentioned. 14:12 eli: fasta: Your "couldn't be more wrong" is provabely wrong, because at least *I* definitely read code. I therefore file that under flamebait. 14:12 eli: As for the new example -- it doesn't use -c any more. 14:13 eli: (see the actual diff, please.) 14:13 fasta: eli: I had seen that. 14:13 fasta: eli: I had already responded to that. 14:13 dyoo: Oh, Eli fixed it. Ok. Read his example; he got rid of the "-c" which is probably the right thing to do. One thing to note is that we don't want to focus too much on the effect of "-c" in that part of the docs, as the real point of that section is not "-c" is evil, but that you can pass extra command line arguments, right? 14:13 eli: fasta: You responded with "expected a long time" which is no longer true. 14:13 fasta: eli: and I was talking that not everyone reads every character in a call to printf. 14:14 fasta: eli: I was talking about the documentation for the -c option. 14:14 eli: fasta: I already filed that under flamebait, I'm not going to go there again. 14:14 fasta: eli: in dyoo's patch he also removed the -c. 14:14 fasta: eli: or rather, he explained a bit about it. 14:14 eli: dyoo: Yes, that's why I switched to a use of `-e' which is probably more useful for script use anyway. 14:15 fasta: I think you just don't want to mention it is really, really slow. 14:15 dyoo: By "it", you mean "-c" right? 14:15 fasta: dyoo: yes 14:15 dyoo: Then that discussion should not be in the section about the trampoline. 14:15 dyoo: Let's put it in... 14:16 eli: fasta: The -c flag is really slow, yes; but all of that is completely unrelated. 14:16 fasta: I agree that the trampoline section has been fixed now. 14:16 fasta: If the -c is documented anywhere and it doesn't say it's slow, it should say that then. 14:16 dyoo: … somewhere like in http://docs.racket-lang.org/guide/racket.html. Agreed? 14:17 fasta: dyoo: sounds good. 14:17 (join) RacketCommitBot 14:17 RacketCommitBot: [racket] none pushed 3 new commits to master: http://git.io/D-drGg 14:17 RacketCommitBot: racket/master 9e8477d Matthew Flatt: racket/serialize: serialize fxvectors and flvectors 14:17 RacketCommitBot: racket/master 42a0342 Matthew Flatt: ffi: use newer prim-closure representation for foreign functions... 14:17 RacketCommitBot: racket/master 27e8702 Eli Barzilay: Avoid using `-c' in a script example. 14:17 (part) RacketCommitBot 14:17 jonrafkind: should -v have a warning that says 'it takes extra time to print the version out' ? 14:18 eli sighs 14:18 tewk LOL 14:18 eli: If anyone knows why GH's IRC thing didn't work when I did the push, please tell me... 14:18 fasta: It would also be nice if one could search for '-l option' and get back that guide page. 14:19 dyoo: Search for the term "-l" 14:19 dyoo: It should find it 14:19 (quit) JStoker: Excess Flood 14:19 dyoo: … at the very least, it finds it in the reference. 14:20 jonrafkind: eli, what do you mean it didnt work, i saw the RacketCommitBot show up 14:21 eli: jonrafkind: I didn't. 14:21 jonrafkind: emacs 4 life 14:21 eli: It's last pop from about a minute ago showing three commits with the last one being mine is from my test. 14:21 eli: But it didn't report my own commit. 14:21 fasta: eli: it's listed under none. 14:22 eli: That report is the test run, it is not the push that I did before that. 14:22 eli: I did that test run because it did not report my push. 14:22 jonrafkind: aha 14:22 fasta: eli: in that case, perhaps github is short on bandwidth. 14:22 (join) RacketCommitBot 14:22 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/OZXPdw 14:22 RacketCommitBot: racket/master acd24d6 Matthew Flatt: reference: add missing section tags 14:22 (part) RacketCommitBot 14:22 jonrafkind: well that one seemed to work 14:22 eli: Here, that was a message that came right after the commit was pushed. 14:23 fasta: eli: perhaps it's just more slowly than usual ;) 14:23 fasta hopes everyone gets the joke as explaining them kills the joke 14:24 eli: When I said "fasta: http://git.racket-lang.org/plt/commitdiff/27e8702ec5", it was about a minute after I did the push, and my test was done ~6 minutes later -- that's not something that GH did... 14:24 greghendershott: It's definitely not anything I did 14:25 fasta: If you want control, run your own systems, I suppose. 14:27 eli notes how everyone is looking suspiciously at greghendershott now... 14:29 dyoo: eli: is the phrasing of this ok? https://github.com/dyoo/racket/commit/3d756eada3d0174a0d5f2e2d5e3be2eb9fa3c78b 14:29 rudybot: http://tinyurl.com/bo2q4us 14:30 (join) jeapostrophe 14:30 (join) JStoker 14:30 (quit) JStoker: Excess Flood 14:31 eli: dyoo: I'd prefer a more complete explanation that says that it globally applies to the whole racket process, including everything built in. 14:31 eli: IOW, make it clear that it's as if you remove all of the compiled directories and then ran it -- that's a pretty obvious case of expecting a very slow startup. 14:38 (join) RacketCommitBot 14:38 RacketCommitBot: [racket] plt pushed 4 new commits to master: http://git.io/HOa0TQ 14:38 RacketCommitBot: racket/master 25ed52f Asumu Takikawa: Revert "Ignore contracted proxies from `racket`"... 14:38 RacketCommitBot: racket/master 5594405 Asumu Takikawa: Fix blame parties for proxied default prompt tag 14:38 RacketCommitBot: racket/master ffde8ec Asumu Takikawa: Document the default prompt tag in TR... 14:38 (part) RacketCommitBot 14:38 dyoo: eli: how about now? https://github.com/dyoo/racket/commit/638dbd4dc5bffddaa6e8d3b9147567ee7a3d77c8 14:38 rudybot: http://tinyurl.com/cv9bny6 14:39 eli: dyoo: That looks better. 14:39 (quit) jrslepak: Quit: What happened to Systems A through E? 14:39 dyoo: ok, I'll push then. 14:40 dyoo: [ After making sure it renders ok, of course… :) ] 14:40 eli: dyoo: Maybe also a note that this is mostly useful if you suspect some interal bugs, 14:40 eli: that is, it can be useful for someone like you when you work on your compiler, but otherwise it's not useful. 14:40 (join) antono 14:42 dyoo: I think it's ok; if you're insistant enough to use it after that kind of warning, you know what you're getting into. 14:44 (join) JStoker 14:49 (join) RacketCommitBot 14:49 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/Jfe2sg 14:49 RacketCommitBot: racket/master f801342 Danny Yoo: Add content to documentation on '-c' to ward off accidental misuse. 14:49 (part) RacketCommitBot 14:51 fasta: dyoo: that's a good enough solution. Thanks. 14:52 dyoo: fasta: Yup. Ok, back to fixing more documentation. :) 15:10 (quit) Draggor: Quit: WeeChat 0.3.7 15:11 (join) Draggor 15:13 (join) RacketCommitBot 15:13 RacketCommitBot: [racket] plt pushed 3 new commits to master: http://git.io/L8_hcg 15:13 RacketCommitBot: racket/master 54d7cf1 Jay McCarthy: Fixing a typo in the P2 P1 compat package creation re: metadata 15:13 RacketCommitBot: racket/master 6c2fa8c Jay McCarthy: Reindent and fixing typo related to which archive was unpacked during translation 15:13 RacketCommitBot: racket/master ed00c8d Jay McCarthy: Fixing a typo in the P2 package name docs 15:13 (part) RacketCommitBot 15:23 (quit) Shviller: Quit: bye 15:24 (join) Shviller 15:24 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 15:30 (quit) jonrafkind: Ping timeout: 255 seconds 15:43 (join) jonrafkind 15:45 (join) spiderweb 15:46 (join) gatlin 15:47 (quit) bitonic: Read error: Operation timed out 15:54 (join) tilde` 15:59 (quit) netrino: Quit: Ave! 16:09 (quit) spiderweb: Quit: ERC Version 5.3 (IRC client for Emacs) 16:13 (join) mizu_no_oto 16:14 (join) spiderweb 16:15 (quit) Nisstyre-laptop: Ping timeout: 260 seconds 16:17 (join) nejucomo 16:18 nejucomo: It looks like exn:fail:filesystem does not contain the C errno directly. Is there a way to access the errno, aside from string parsing the error message? 16:19 nejucomo: String parsing is fraught with peril because of potential localization issues, I suspect. 16:21 (nick) nejucomo -> neju|coffee 16:30 (quit) k0001: Ping timeout: 256 seconds 16:33 (join) bitonic 16:50 (quit) myx: Ping timeout: 248 seconds 17:01 dyoo: nejucomo: as far as I can tell, no. At the point where exceptions get thrown, it looks like errno often gets formatted into the string (example: http://git.racket-lang.org/plt/blob/HEAD:/src/racket/src/file.c#l1127), but it isn't otherwise a component of the structure. You might be able to grab at errno through the FFI as soon as something bad happens… checking... 17:02 nejucomo: So in python I'm used to expecting the errno to be saved in IOError or os.error as one of the args members... 17:02 nejucomo: That's also unfortunate. 17:02 nejucomo: I think a clean design would have something like (struct exn:fail:errno-base exn:fail (errno)) 17:03 nejucomo: -and then of course a platform-specific way to compare errno to symbolic values... 17:03 dyoo: nejucomo: maybe that's what should happen. It would be good to bring that up on the dev mailing list, as it is a backwards-incompatible change. http://lists.racket-lang.org/dev/ 17:03 nejucomo: Ok. 17:04 dyoo: Huh, ffi approach might actually work as a workaround. 17:05 dyoo: nejucomo: here: https://gist.github.com/4198537 17:05 dyoo: I have no idea if it's actually giving us a good value, mind you. :P 17:06 nejucomo: I expect that has a few problems: 17:06 nejucomo: First, errno may be in thread-local storage. I have no idea how that interacts with racket ffi. 17:06 nejucomo: Second, the manpage says "errno" may be a macro. 17:07 nejucomo: (I just ran into the same issue when I was playing with the rust language. ;-) 17:07 nejucomo: Do you mind if I recap this discussion on the mailing list? 17:07 dyoo: Very true. The right approach, where I agree with you, is to capture it at the execption-construction point, in a nice platform-independent way if possible. Sure, sounds good. 17:15 (join) jrslepak 17:19 (join) mye 17:19 (quit) kofno: Remote host closed the connection 17:29 (quit) gatlin: Ping timeout: 255 seconds 17:31 (join) Nisstyre-laptop 17:32 (quit) francisl: Remote host closed the connection 17:37 (join) francisl 17:44 (join) cdidd 17:50 (join) gatlin 17:54 (join) dsevilla 17:58 (quit) francisl: Quit: francisl 17:58 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 17:59 (quit) bjz: Quit: Leaving... 17:59 (join) francisl 18:00 (join) RacketCommitBot 18:00 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/tKAF2A 18:00 RacketCommitBot: racket/master 0252207 Asumu Takikawa: Support Any wrapping for promises... 18:00 (part) RacketCommitBot 18:02 (join) bjz 18:02 (quit) MayDaniel: Read error: Connection reset by peer 18:06 (quit) jeapostrophe: Ping timeout: 260 seconds 18:07 (join) kofno 18:09 (quit) jrslepak: Quit: What happened to Systems A through E? 18:11 (quit) tilde`: Quit: Bronsa, ciao Bronsa =) 18:14 (quit) francisl: Ping timeout: 256 seconds 18:22 (quit) kofno: Remote host closed the connection 18:27 (quit) bjz: Quit: Leaving... 18:27 (part) dsevilla: "ERC Version 5.3 (IRC client for Emacs)" 18:55 (topic) -: Racket: http://racket-lang.org -- RacketCon videos: https://www.youtube.com/playlist?list=PLQC7pQ_gNllaY_NFQTwHFZTpjeR_PwKmb -- logs at http://racket-lang.org/irc-logs/ 18:55 (names) -: gabot dyoo jrslepak SHODAN gatlin cdidd Nisstyre-laptop mye bitonic nejucomo spiderweb jonrafkind Shviller Draggor JStoker antono mithos28 mceier sizz_ r0p_ SamB soegaard_ jao carleastlund karswell Shvillr lewis1711 fasta masm nathanpc ohama dsantiago acarrico xian noelw Raynes friscosam Demosthenex majoh Shambles_ sethalves tewk asumu cky @ChanServ dsp SeanTAllen bremner BeLucid_ sid0 samth ivan` gf3 eMBee snorble_ rapacity spanner stchang m4burns felipe 18:55 (names) -: blubberdiblub ivan\ otterdam bartbes_ Twey jamessan mattmight Cryovat roderic Haffe danking Okasu mario-goulart `micro elliottcable stamourv ozzloy errstr jaimef sanctus offby1 chandler bartbes cataska jschuster greghendershott hyko jrslepak_neu rudybot ormaaj lusory dca em pono noam__ ChibaPet chrxn epsil 18:55 dyoo: Did docs.racket-lang.org just die for everyone else? 18:56 dyoo: http://www.downforeveryoneorjustme.com/docs.racket-lang.org is reporting something just happened 18:57 dyoo: (not to mention racket-lang.org itself) 18:57 jonrafkind: dead 19:03 dyoo: samth: do you know what's going on with the web server? 19:03 samth: dyoo: no idea 19:08 dyoo: samth: ok, back up for me 19:10 (quit) soegaard_: Quit: soegaard_ 19:11 (quit) mithos28: Quit: mithos28 19:13 (join) jeapostrophe 19:16 (quit) spiderweb: Quit: ERC Version 5.3 (IRC client for Emacs) 19:17 (join) eli 19:19 (quit) carleastlund: Quit: carleastlund 19:21 (quit) dyoo: Quit: dyoo 19:41 (join) RacketCommitBot 19:41 RacketCommitBot: [racket] plt pushed 4 new commits to master: http://git.io/jbedmw 19:41 RacketCommitBot: racket/master 9762e3f Ryan Culpepper: remove unstable/cat (use racket/format instead) 19:41 RacketCommitBot: racket/master fd7d8a4 Ryan Culpepper: move lazy-require to racket/lazy-require 19:41 RacketCommitBot: racket/master 3075b4d Ryan Culpepper: remove implicit quasiquote from lazy-require 19:41 (part) RacketCommitBot 19:44 (part) r0p_ 19:50 (join) kofno 20:00 (part) offby1: "ERC Version 5.3 (IRC client for Emacs)" 20:01 (join) francisl 20:06 (quit) nathanpc: Ping timeout: 245 seconds 20:06 (join) nathanpc 20:18 (quit) Nisstyre-laptop: Ping timeout: 244 seconds 20:19 (nick) samth -> samth_away 20:28 (join) RacketCommitBot 20:28 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/g3_gKw 20:28 RacketCommitBot: racket/master 9f9092b Vincent St-Amour: Fix optimization of unary float subtraction.... 20:28 (part) RacketCommitBot 20:29 (quit) gatlin: Ping timeout: 260 seconds 20:30 (quit) masm: Quit: Leaving. 20:32 (join) esilkensen 20:33 (quit) nejucomo: Ping timeout: 276 seconds 20:34 (join) mithos28 20:34 (quit) esilkensen: Remote host closed the connection 20:46 (join) sw2wolf 20:47 lewis1711: Is there a way to launch a repl from a running racket program? preferably with the current environment all there so you chould debug or whatever 20:49 jonrafkind: http://docs.racket-lang.org/reference/eval.html?q=print-loop#(def._((lib._racket/private/misc..rkt)._read-eval-print-loop)) 20:52 (quit) jeapostrophe: Read error: Connection reset by peer 20:52 (join) Nisstyre-laptop 20:53 (join) jeapostrophe 20:53 (quit) jeapostrophe: Changing host 20:53 (join) jeapostrophe 20:55 (join) mizu_no_oto 20:56 lewis1711: awesome :D 20:58 (join) RacketCommitBot 20:58 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/Wsa45g 20:58 RacketCommitBot: racket/master adee749 Matthew Flatt: fix printing test... 20:58 RacketCommitBot: racket/master cd257fe Matthew Flatt: setup/xref: simplify db interaction... 20:58 (part) RacketCommitBot 21:04 (join) shriphani 21:05 shriphani: Hi everyone, what is the fastest way to do "wc -l" in racket? Doing reads till eof is extremely slow. 21:06 (quit) acarrico: Ping timeout: 255 seconds 21:07 (quit) jonrafkind: Read error: Operation timed out 21:08 (quit) mithos28: Quit: mithos28 21:09 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 21:10 (quit) kofno: Read error: Connection reset by peer 21:11 (join) kofno 21:20 lewis1711: agh, there's a bunch of enviroment stuff that i have to do with the (read-eval-print-loop) thing or it's sort of useles 21:22 greghendershott: shripani: For a line count I suppose you could do (length (file->lines path)), if you don't mind sucking the whole file in memory. 21:23 greghendershott: shriphani: For a line count I suppose you could do (length (file->lines path)), if you don't mind sucking the whole file in memory. 21:23 (join) acarrico 21:24 shriphani: greghendershott: I am doing that. 21:24 shriphani: it is faster than the EOF check. 21:25 greghendershott: There may be a faster way. This question sounds familiar, but I don't recall exactly; maybe search mail list archive? 21:28 (join) PCChris 21:29 (quit) bitonic: Read error: Operation timed out 21:38 shriphani: also. is there an equivalent of ruby's unpack("VV") ? 21:43 (join) jonrafkind 21:43 greghendershott: shriphani: I'm not familiar with ruby unpack, but, perhaps integer-bytes->integer http://docs.racket-lang.org/reference/generic-numbers.html#(def._((quote._~23~25kernel)._integer-bytes-~3einteger)) ? 21:43 (join) mizu_no_oto 21:46 greghendershott: btw now I'm surprised that file->lines is faster for you, if you were doing a loop with read-line and checking for eof-object?, because that seems to be all that file->liens implementation is doing 21:49 shriphani: greghendershott: I am trying to pull ints from the output of sha1 21:50 shriphani: ruby's unpackVV got me a long int. 21:50 shriphani: unpack("VV") sorry 21:52 shriphani: I guess I can do take the first 8 bytes and dick around with those 21:54 (join) RacketCommitBot 21:54 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/xmMJ6Q 21:54 RacketCommitBot: racket/master ee0a1d4 Vincent St-Amour: Randomly test the TR optimizer.... 21:54 (part) RacketCommitBot 21:54 shriphani: greghendershott: also what type is #"\206\367\3447\372\245\247\374\341]\35\334\271\352\352\3527vg\270" 21:55 (quit) jeapostrophe: Ping timeout: 248 seconds 21:58 (join) camilo__ 21:58 greghendershott: That is a byte string, the values are octal 21:58 greghendershott: If you want to read a bytes string as 2-byte signed integers, I think the following will work … one second ... 21:59 greghendershott: https://gist.github.com/4200143 22:00 greghendershott: That's quick. You may want to do things like check that bytes-length is even. 22:00 greghendershott: If you want them treated as unsigned bytes, change the #t to #f. See the integer-bytes->integer docs I linked to above. 22:04 greghendershott: shriphani: I just updated the gist showing passing your #"" byte string above, as an example 22:05 greghendershott: I have to run now, but I hope that points you in the right direction. 22:07 shriphani: thanks! 22:09 (quit) mye: Ping timeout: 260 seconds 22:22 (quit) nathanpc: Quit: Computer has gone to sleep. 22:25 (join) kspaans 22:26 kspaans: Wassup, anyone know of an existing library that will disassemble machine code? ARM specifically 22:26 kspaans: or even something like an ELF parser? 22:27 kspaans: I want to play with return-oriented programming, and need to be able to describe a sequence of instructions as well as disassemble existing binaries. 22:28 kspaans: I figured the fasted way to get started right now it to use objdump as a frontend and work with the mnemonic output, but I was hoping that perhaps I wouldn't have to hand lex the mnemonics. 22:31 (join) francisl_ 22:33 kspaans: Hmm, I can see that https://github.com/samth/disassemble relies on nasm, so maybe my objdump idea is reasonable. :) 22:34 (quit) francisl_: Remote host closed the connection 22:35 (join) francisl_ 22:49 (quit) Shviller: Ping timeout: 248 seconds 22:50 (join) Shviller 23:01 (quit) acarrico: Ping timeout: 260 seconds 23:05 (join) didi 23:06 (part) camilo__ 23:08 (join) gatlin 23:10 (join) mithos28 23:19 (join) acarrico 23:20 (join) jeapostrophe 23:24 shriphani: hi. is there a good persistent vector library you can recommend? That fector library in (planet dvanhorn/fector:1:1) has been a constant source of pain. It is stuck on a fector-ref call (so much for constant time). 23:26 (join) mye 23:29 (quit) didi: Quit: ERC Version 5.3 (IRC client for Emacs) 23:31 (quit) mye: Ping timeout: 260 seconds 23:35 (quit) mizu_no_oto: Quit: Computer has gone to sleep. 23:52 (quit) jeapostrophe: Read error: Connection reset by peer 23:52 (join) jeapostr1phe 23:54 (quit) francisl_: Quit: francisl_