00:06 (quit) Demosthenes: Read error: Connection reset by peer 00:06 (join) Demosthenes 00:40 (quit) jrslepak: Quit: Leaving 00:43 (quit) jeapostrophe: Ping timeout: 272 seconds 01:21 (quit) vkz: Quit: vkz 01:28 (quit) _AlbireoX: Ping timeout: 248 seconds 01:29 (nick) LeNsTR|off -> LeNsTR 01:39 (join) AlbireoX 01:45 (quit) yoklov: Quit: computer sleeping 02:14 (nick) chaozzbubi -> ChaozZBubi 02:20 (quit) Girffe: Quit: Page closed 02:37 (quit) jonrafkind: Ping timeout: 252 seconds 03:03 (quit) realitygrill_: Quit: realitygrill_ 03:05 (join) realitygrill 03:09 (quit) carleastlund: Quit: carleastlund 03:23 (join) dzhus 03:28 (join) Blkt 03:30 Blkt: good morning everyone 03:36 (quit) gmcabrita: Read error: Operation timed out 03:40 (join) gmcabrita 03:41 (nick) gmcabrita -> Guest23552 03:43 (join) sindoc 03:47 (quit) EmmanuelOga: Ping timeout: 244 seconds 03:53 (quit) Shviller: Ping timeout: 276 seconds 03:54 (join) Shviller 03:55 (nick) ChaozZBubi -> chaozzbubi 03:55 (join) hkBst 03:58 hkBst: is anyone else having trouble searching the online manual? 04:41 (quit) realitygrill: Read error: Connection reset by peer 04:42 (join) realitygrill 04:43 (nick) LeNsTR -> LeNsTR|off 04:55 hogehoge: Hi. I have a windows executable (maybe) created with Racket's raco command. How could I extract the source code from the exe? I googled but the only thing I found was how to decompile bytecode. I'd like to know how to extract the bytecode from the exe. 04:59 (join) sid0 04:59 sid0: hiya, I had a question about macros and unbound identifiers 05:00 sid0: is there a way to treat an unbound identifier as a symbol, but only within a macro call? 05:01 sid0: I know I can override #%top in the module that defines the macro, but I'd like to restrict it to within macros defined by the module 05:02 sid0: so if foo is unbound (macro foo) shouldn't error out but (+ foo 1) should, etc 05:23 (join) noelw 05:58 (quit) realitygrill: Quit: realitygrill 06:03 (join) masm 06:09 (nick) Guest23552 -> gmcabrita 06:12 (part) sindoc 06:36 (quit) Demosthenes: Quit: leaving 07:22 (join) sindoc 07:32 hkBst: sid0: isn't that the default way it works of you put `foo' in the literals list? The problem with that is that the macro won't work in environments where this ``literal'' is not unbound. But you can use a keyword literal: #:foo 07:35 sid0: hkBst: I don't know the literals list beforehand 07:36 sid0: the unbound literal can be arbitrary -- though I now think it seems like a bad idea 07:38 hkBst: sid0: so then this literal (or symbol or keyword ?) would be bound by a variable? 07:42 sid0: hkBst: well, I wanted to bind any unbound literals to symbols 07:42 sid0: so if foo is unbound, it becomes 'foo 07:43 sid0: also, hm, does it make sense to attach contracts to macros? 07:47 aidy: Hi, is it possible to make fold-stream non blocking in this code, while only adding to (input-stream)? 07:50 (join) sindoc1 07:50 (quit) sindoc: Read error: Connection reset by peer 07:52 (join) jeapostrophe 08:00 (join) veer 08:13 (nick) chaozzbubi -> ChaozZBubi 08:14 (quit) veer: Quit: Leaving 08:32 (nick) ChaozZBubi -> chaozzbubi 08:54 (join) yoklov 08:55 (join) mceier 08:57 (quit) yoklov: Client Quit 08:59 (quit) jeapostrophe: Read error: Operation timed out 09:05 (quit) noelw: Quit: noelw 09:15 (nick) LeNsTR|off -> LeNsTR 09:18 (join) noelw 09:25 (quit) sindoc1: Quit: Leaving. 09:27 (join) EmmanuelOga 09:29 (nick) samth_away -> samth 09:32 (join) speps 09:33 (join) jonrafkind 09:37 (join) jeapostrophe 09:41 (join) dyoo 09:46 (join) jrslepak 09:59 (join) sindoc 10:06 (quit) jeapostrophe: Ping timeout: 244 seconds 10:18 (nick) chaozzbubi -> ChaozZBubi 10:31 (quit) jrslepak: Quit: This computer has gone to sleep 10:35 (quit) jonrafkind: Read error: Operation timed out 10:39 (quit) dzhus: Remote host closed the connection 10:39 (nick) jschuster_away -> jschuster 10:42 (quit) sindoc: Quit: Leaving. 10:45 (join) sindoc 11:05 aidy: forgot http://paste.lisp.org/display/127383 13:47 < aidy> Hi, is it possible to make fold-stream non blocking in this code, while only adding to (input-stream)? 11:11 (join) MayDaniel 11:14 hkBst: aidy: looks like you're trying to do something similar to functional reactive programming? 11:15 (quit) ASau: Ping timeout: 276 seconds 11:16 (quit) MayDaniel: 11:22 aidy: hkBst: I guess so 11:23 hkBst: aidy: in that case, the stream you're trying to construct seems to be the wrong way round. New events should be added to the tail instead of the front. That way the logic of a stream agrees with the temporal order of the events you store in it. 11:24 (join) jeapostrophe 11:24 aidy: hkBst: they are? 11:25 hkBst: aidy: on second thought, maybe I misread your code 11:26 aidy: :) 11:27 aidy: I'll just write my own fold though 11:28 aidy: that way code on the other side doesn't even need to know about the event stream 11:29 (join) yoklov 11:31 hkBst: aidy: yes, I seems to me it would indeed be necessary to write your own fold which can examine the tail for an end-of stream-so-far marker or so... 11:43 (quit) sindoc: Read error: Connection timed out 11:43 (join) sindoc 11:49 (quit) hkBst: Quit: Konversation terminated! 11:50 (join) bluezenix 11:57 (quit) noelw: Quit: noelw 12:09 (join) bluezenix1 12:11 (quit) bluezenix1: Client Quit 12:12 (join) bluezenix1 12:12 (quit) bluezenix: Ping timeout: 260 seconds 12:16 aidy: http://paste.lisp.org/display/127394 does this look reasonable? 12:18 (join) sindoc1 12:18 (quit) sindoc: Read error: Connection reset by peer 12:22 (join) realitygrill 12:24 (quit) Blkt: Remote host closed the connection 12:25 (quit) sindoc1: Quit: Leaving. 12:32 (quit) yoklov: Quit: computer sleeping 12:34 (join) dzhus 12:39 RacketCommitBot: [racket] plt pushed 2 new commits to master: http://git.io/YT3YEQ 12:39 RacketCommitBot: [racket/master] fix bytecode compiler bug - Matthew Flatt 12:39 RacketCommitBot: [racket/master] add PLT_VALIDATE_COMPILE to enable extra checking of the compiler - Matthew Flatt 12:40 (join) ASau 12:45 (join) anRch 12:49 (join) yoklov 12:54 (quit) yoklov: Ping timeout: 255 seconds 13:04 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/_7J8eA 13:04 RacketCommitBot: [racket/master] racket/gui: fix refresh for right-aligned or centered paragraphs in text% - Matthew Flatt 13:12 (join) sindoc 13:14 (quit) anRch: Quit: anRch 13:15 (join) jonrafkind 13:16 (quit) sindoc: Client Quit 13:17 (join) realitygrill_ 13:17 (quit) realitygrill: Ping timeout: 276 seconds 13:17 (nick) realitygrill_ -> realitygrill 13:19 (join) vkz 13:27 (nick) LeNsTR -> LeNsTR|off 13:41 (join) jrm 13:43 ASau: Stupid question: how do I reload file (with module)? 13:43 ASau: "require" seems to be load-once. 13:43 ianjneu: revert buffer 13:43 ASau: In command line :) 13:43 ianjneu: oh in the repl 13:43 ASau: Right. 13:44 ianjneu: I dunno. I always reload the repl, since I tend to have small interactions. Have you tried dynamic-require? 13:49 ASau: (Oh, my, and those people claim that Common Lisp is too complex...) 13:49 (quit) dzhus: Remote host closed the connection 13:52 vkz: guys, anyone here intimately familiar with HTDP textbook? I've worked through the 2nd edition all the way to Ch8 only to find it hadn't been finished. How frustrating :) Shall I just switch to HTDP 1st ed? Around part V seems reasonable? Any advice pls? 13:52 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/NDH6_Q 13:52 RacketCommitBot: [racket/master] The "libs" files are now under a "tags" subdirectory. - Eli Barzilay 13:52 ASau: Can I "delete-package" here? 13:53 ASau: Will it help? 13:54 jonrafkind: you mean like unrequire? 13:54 ianjneu: enter! 13:55 dyoo: vkz: I think that's about right 13:55 ianjneu: Sayeth stamourv 13:57 (join) stamourv 13:57 ASau: jonrafkind: yes. 13:57 vkz: thx dyoo 13:57 dyoo: ASau: xrepl appears to have a mechanism for module reloading: http://docs.racket-lang.org/xrepl/index.html#(xrepl._require-reloadable) 13:58 dyoo: have to admit I haven't touched xrepl personally yet 13:59 ASau: Alright, if I "include" file, will it ignore module declaration? 13:59 ASau: Alternatively, if I remove module declarations, shall I be able to "include" it multiple times? 14:06 ASau: Alright, "include" works for me. 14:06 ASau: I wish I wouldn't be confused with modules. 14:09 speps: Hi guys, a racket build system question. With latest 5.2, in order to link against libracket3m.a on x86_64, I have to build racket with CFLAGS="-fPIC" or i get a known "could not read symbols: Bad value". Should this be pushed upstream? 14:09 ASau: You're doing something wrong. 14:10 dyoo: speps: that sounds like something; maybe send a ping to the racket-dev list 14:10 ASau: speps: if you're building a library, then you're doing it wrong. 14:11 ASau: I build on NetBSD with many sanity checks on and don't see this. 14:12 speps: ASau: I'm building fluxus from git 14:12 speps: http://www.pawfal.org/fluxus/ 14:12 ASau: Does it build shared object? 14:13 speps: ASau: without building racket with -fPIC i get /usr/lib/libracket3m.a(salloc.o): relocation R_X86_64_TPOFF32 against `scheme_thread_locals' can not be used when making a shared object; recompile with -fPIC 14:13 ASau: I know that issue pretty well. 14:14 ASau: It appears when you build shared library and link against static one. 14:14 dyoo: Hmmm.. but it looks like a few others have been hitting this: https://bugs.archlinux.org/task/28119?project=1&openedfrom=-1+week 14:14 ASau: I see that Racket doesn't build DSO, it only builds static library. 14:15 ASau: I don't know what developers think about libtool. 14:15 ASau: Having Racket libtoolized would help. 14:15 speps: ASau: the case is exactly that a shared library linked against libracket3m.a 14:15 (quit) cdidd: Ping timeout: 276 seconds 14:16 ASau: speps: can you convert to static linking? 14:16 speps: dyoo: i opened that one 14:17 samth: ASau: racket already uses libtool 14:17 ASau: ? 14:17 ASau: Let me check it. 14:18 ASau: speps: wait a bit, racket build takes time. 14:20 speps: ASau: i have to check, btw seems like -fPIC is used by default yet for the racket garbage collector (gc) on x86_64, probably building the whole with fPIC is not that wrong 14:21 ASau: samth: I don't see how it uses libtool. 14:21 (join) patterngazer 14:21 ASau: samth: it seems to have some support but it is definitly incomplete. 14:21 ASau: At leats. 14:21 ASau: At least. 14:21 samth: ASau: incomplete in what sense? 14:22 speps: ASau: also fPIC build for static libs is a common practice http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&chap=3#doc_chap7 14:22 rudybot: http://tinyurl.com/743fvsk 14:22 ASau: salloc.@LTO@: $(srcdir)/salloc.c 14:22 ASau: $(CC) $(CFLAGS) -c $(srcdir)/salloc.c -o salloc.@LTO@ 14:22 ASau: This should be $(LIBTOOL) --mode=compile --tag=CC $(CC) $(CFLAGS) ... 14:23 ASau: Or $(COMPILE.c) -o salloc.@LTO@ $(srcdir)/... 14:23 samth: ASau: i don't think we want to use libtool all the time 14:23 speps: probably i'll file a bug report 14:23 ASau: This code builds the library that causes problem as above. 14:25 (join) anRch 14:29 ASau: You can use suffix rule to avoid typing in this case. 14:33 (quit) patterngazer: Quit: OUCH!!! 14:33 (join) patterngazer 14:33 (quit) patterngazer: Client Quit 14:33 (join) patterngazer 14:33 (quit) patterngazer: Client Quit 14:34 (join) patterngazer 14:36 (quit) patterngazer: Client Quit 14:44 sid0: hm, syntax objects have lexical information stored along with them, right? in that case is there a way to basically get whatever an identifier in the lexical scope of a syntax object is bound to (at runtime)? 14:45 samth: sid0: lexical information is compile-time information, not runtime information 14:46 sid0: so inside a syntax-case template I guess 14:48 dyoo: sid0: so one thing you can do is non-hygienic capture, if I understand what you are asking. 14:48 chandler: sid0: I'm not sure I've completely understood your question, but it seems to me that you're mixing phases. 14:49 dyoo: so it's possible to do something evil like this: 14:49 sid0: dyoo: That's what I'm doing right now. 14:49 dyoo: #lang racket (define-syntax (say-me stx) (syntax-case stx () [(_) (with-syntax ([me (datum->syntax stx 'me)]) (syntax/loc stx (printf "I see me is: ~s\n" me)))])) (let ([me "Danny"]) (say-me)) 14:49 sid0: chandler: Yes, I think I am. Let me rethink 14:56 sid0: chandler: Yeah, on further reflection (har har) I think using a namespace will be a better way to go about this 14:58 (join) cdidd 15:13 (quit) bluezenix1: Quit: Leaving. 15:28 (quit) bfulgham: Read error: Connection reset by peer 15:28 (join) bfulgham 15:31 (quit) anRch: Quit: anRch 15:37 (part) jrm: "ERC Version 5.3 (IRC client for Emacs)" 15:43 (quit) vkz: Quit: vkz 15:48 (join) vkz 15:56 (join) dzhus 15:58 (join) yoklov 16:05 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/bwIATQ 16:05 RacketCommitBot: [racket/master] tighten bound for Mac OS X 10.6 localtime() hack - Matthew Flatt 16:09 sid0: chandler: thanks for that, btw. with namespaces the code becomes several times simpler 16:13 (quit) vkz: Quit: vkz 16:20 (join) dspt 16:34 samth: in which we are happy to have mflatt: http://venturebeat.com/2012/01/30/dahl-out-mike-drop/ 16:34 (join) ticking 16:49 RacketCommitBot: [racket] plt pushed 1 new commit to release: http://git.io/hDMl5g 16:49 RacketCommitBot: [racket/release] tighten bound for Mac OS X 10.6 localtime() hack - Matthew Flatt 16:50 hogehoge: Does anyone know how bytecode (which can be decompiled with `raco decompile`) is stored in an exe created with raco? 17:00 samth: hogehoge: i believe it's basically just a literal byte string 17:01 (join) crest 17:02 crest: i just installed racket from freebsd ports and drracket crashs with a type error on start up "set method of mult-color%: expects type as 1st argument, given: '1.0; other arguments were: '1.0 '1.0 17:02 crest: " 17:02 jonrafkind: what version 17:02 crest: 5.2 17:03 jonrafkind: well that sucks.. can you log it as a bug? 17:03 samth: crest: can you try an installer from http://racket-lang.org/download/ 17:03 jonrafkind: bugs.racket-lang.org 17:03 jonrafkind: or try that first 17:03 samth: probably, this is a miscompilation or misconfiguration in freebsd ports 17:03 crest: samth: their is no install for freebsd (amd64) 17:03 crest: and i tried to build 5.2 from the unix sources 17:03 crest: same problem 17:04 samth: hmm 17:04 samth: if it's reproducible from source, then it is likely to be a bug in racket 17:04 samth: can you try a nightly build: http://pre.racket-lang.org/installers/ ? 17:05 crest: samth: i will build it as soon as possible 17:06 chandler: crest: which version of FreeBSD? 17:07 crest: chandler: FreeBSD 9.0/amd64 17:14 crest: waiting for make install 17:21 crest: still waiting for make install ... 17:22 crest: is it possible to run make install with multiple processes? 17:25 jonrafkind: its supposed to do so by default 17:35 hogehoge: samth: Sorry for my bad English. What I meant by "how bytecode is stored" is what kind of file format are used to store bytecode in a raco-created exe. What I want to do is to extract bytecode from a raco-created exe and to decompile it. To do so, I need to know how bytecode is stored. I thought bytecode was simply added to the end of the base(?) exe. But it seemed it was not. Because `raco decompile` returned "zo-parse: File too big." 17:37 crest: drracket version 5.2.1.3 start up 17:37 samth: crest: it should use multiple processors by default 17:38 samth: hogehoge: i don't know that there's an easy way to do that 17:38 samth: and even if it is at the end, raco decompile won't necessarily be able to handle it 17:38 crest: samth: it doesn't (maybe if i pass -j$N) 17:38 samth: because there's all the rest of the executable 17:39 samth: crest: the output of make install should say something like : raco setup: 9 making: 17:39 samth: with various different numbers in place of 9 17:44 (quit) ticking: Quit: Linkinus - http://linkinus.com 17:50 (join) ticking 17:53 (join) janpaulbultmann 17:53 (join) PfhorSlayer 17:53 (quit) cdidd: Quit: Leaving 17:54 (quit) ticking: Read error: Connection reset by peer 17:55 (quit) ivan`: Ping timeout: 252 seconds 17:55 PfhorSlayer: Is there a function that would make it easy to take an input string and return a list that is the input string split up by instances of a string I specify? 17:56 ianjneu: srfi/13 I believe has what you need 17:57 PfhorSlayer: I'll check that out, thanks! 17:57 ianjneu: string-tokenize 17:57 PfhorSlayer: that sounds right :) 17:58 PfhorSlayer: Actually, the input is already a path. I just want to split up the path and grab the name of the first directory 17:58 PfhorSlayer checks the path docs. 17:58 (quit) dyoo: Ping timeout: 245 seconds 17:58 PfhorSlayer: Yeah, explode-path should do what I want! 18:01 hogehoge: samth: I left out that I tried `raco decompile` after removing first some bytes (I used PEView to check the size of the base exe) to leave only what looks like bytecode. Anyway, thanks for your help. 18:01 ozzloy: i'm getting this error message when trying to build the stable branch: pastie.org/3285486 18:02 ozzloy: this is being build in a vm 18:02 ozzloy: make works, make install fails. how do i whip it into shape? 18:02 samth: ozzloy: probably it's running out of memory 18:02 ozzloy: ah 18:02 (join) vkz 18:02 samth: what memory limit do you have on the vm? 18:03 ozzloy: 512MB 18:03 ozzloy: looking for where i can up it 18:03 (part) speps: "WeeChat 0.3.6" 18:03 (quit) mceier: Quit: leaving 18:03 ozzloy: found it. i'll try upping to ... what do you think i should up it to? 18:03 ozzloy: 1G? 18:03 (join) ivan` 18:05 (quit) jrslepak_: Quit: Leaving 18:06 (join) jrslepak_ 18:06 ozzloy: samth, ^ 18:06 danlndi: ozzloy: i've upped mine, so up yours! 18:06 samth: i'd try that 18:06 ozzloy: ^_^ 18:06 danlndi: i'll be going now 18:06 samth: i would also try running raco setup -j 1 18:06 samth: since you're using 4 processors, that will use more memory 18:07 ozzloy: initially the vm had 1 cpu. i upped mine to see if that would help 18:07 samth: to do that, i'd run 'make plain-install' 18:07 samth: and then 'raco setup' 18:07 samth: or rather, 'raco setup -j 1 18:07 ozzloy: so ... raco is racket's make? 18:08 (quit) karswell__: Read error: Operation timed out 18:08 (join) karswell__ 18:08 ozzloy: thanks, btw 18:09 (quit) dzhus: Remote host closed the connection 18:16 samth: ozzloy: raco is a general command line tool for racket 18:17 samth: 'raco make' is like 'make' in some ways 18:17 samth: 'raco setup' does a general setup of the standard library and other installed libraries 18:17 samth: other raco commands do other stuff 18:17 samth: (and raco is extensible) 18:20 RacketCommitBot: [racket] plt pushed 1 new commit to master: http://git.io/fZrxZg 18:20 RacketCommitBot: [racket/master] adding gvector-remove-last! - Danny Yoo 18:25 janpaulbultmann: since when does drscheme have this (http://tinyurl.com/displayallthecode) sidebar, now I know where the bluej guys got the questionable idea from ^^ 18:28 (quit) jeapostrophe: Read error: Operation timed out 18:28 samth: janpaulbultmann: ? 18:29 janpaulbultmann: the program contour ^^ 18:30 janpaulbultmann: I mean DrRacket got it pretty much right, its hidable, the scaling factor is so small that it's really just a skyline, and it is not the main scrollbar. The guys from bluej (a java learning environment) adopted a similar thing, but it's unhidable almost readable and the main scroll bar ^^ 18:31 janpaulbultmann: I always wondered where they got that weird idea from until I accidentally hit command U ^^ 18:41 ozzloy: samth, upping to 1GB and reducing to 1 proc worked 18:41 samth: janpaulbultmann: ah, ok 18:41 samth: ozzloy: great 18:41 samth: ozzloy: the setup process can use a lot of memory 18:41 ozzloy: i just did make install 18:42 ozzloy: i'll have to look into raco more later 18:42 ozzloy: thanks again 18:42 samth: ozzloy: 'make install' is basically just doing the steps i described 18:42 ozzloy: cool cool 18:42 ozzloy: bbiaf 18:42 samth: it's just that doing them separately allows you control over number of processors used 18:49 (nick) jschuster -> jschuster_away 18:50 (quit) masm: Quit: Leaving. 19:09 (quit) yoklov: Quit: computer sleeping 19:10 (join) yoklov 19:14 (join) dnolen 19:15 (quit) realitygrill: Quit: realitygrill 19:30 (join) jeapostrophe 19:35 (quit) jeapostrophe: Ping timeout: 244 seconds 19:52 (quit) janpaulbultmann: Quit: Leaving... 19:53 (quit) jonrafkind: Ping timeout: 252 seconds 19:54 (join) ticking 20:06 (quit) yoklov: Quit: computer sleeping 20:15 (join) yoklov 20:16 (nick) samth -> samth_away 20:18 (join) Frozenlo` 20:21 (quit) Frozenlock: Ping timeout: 252 seconds 20:23 (quit) ticking: Quit: Linkinus - http://linkinus.com 20:25 (quit) Frozenlo`: Ping timeout: 260 seconds 20:29 (join) dan__ 20:29 (nick) dan__ -> Guest21476 20:34 (part) HisDivineShadow: "I am gay for you" 20:43 (quit) Guest21476: Quit: Page closed 20:52 (join) jeapostrophe 20:54 (join) ticking 20:57 (quit) vkz: Quit: vkz 21:15 (join) jrslepak 21:23 (join) vkz 21:25 (quit) zerokarmaleft: *.net *.split 21:25 (quit) snorble: *.net *.split 21:25 (quit) eli: *.net *.split 21:25 (quit) jschuster_away: *.net *.split 21:25 (quit) ChaozZBubi: *.net *.split 21:25 (join) jschuster_away 21:25 (join) zerokarmaleft 21:26 (join) ChaozZBubi 21:28 (join) karswell 21:31 (quit) karswell__: Ping timeout: 276 seconds 21:31 (join) eli 21:40 (quit) dnolen: Ping timeout: 252 seconds 21:46 acarrico: 2.6 Locations: #%variable-reference talks about an anonymous variable reference, what the heck is that? 22:26 (nick) LeNsTR|off -> LeNsTR 22:27 (quit) vkz: Quit: vkz 22:33 (join) LeN00b2 22:34 LeN00b2: Hey all! Just wondering if someone could offer me a bit of insight. I'm trying to write a function that consumes an integer n and produces the shortest possible list of perfect squares that sum to that n. Lagrange proved that the any integer can be expressed as, at most, the sum of four squares. Any ideas? 22:36 LeN00b2: I've thought of a very brute-force approach but am wondering if there's something more elegent. 22:40 RacketCommitBot: [racket] plt pushed 1 new commit to release: http://git.io/cGrU5Q 22:40 RacketCommitBot: [racket/release] Move the dmg build to weatherwax (which can now deal with it. ) - Eli Barzilay 22:41 (join) dmj111 23:06 (quit) cataska: Ping timeout: 260 seconds 23:08 (join) cataska 23:11 LeN00b2: Anyone ? :D 23:14 (join) carleastlund 23:16 (join) jonrafkind 23:18 (join) realitygrill 23:18 LeN00b2: IRe-asking: Hey all! Just wondering if someone could offer me a bit of insight. I'm trying to write a function that consumes an integer n and produces the shortest possible list of perfect squares that sum to that n. Lagrange proved that the any integer can be expressed as, at most, the sum of four squares. Any ideas? I've thought of a very brute-force approach but am wondering if there's something more elegent. 23:21 jonrafkind: is that a project euler question? 23:21 (quit) jrslepak: Quit: Leaving 23:21 LeN00b2: No, it's a "my-dad" question. :) Showed him Project Euler a while back and he's been grilling me with all sorts of questions lately - this one seems very tricky. 23:31 (quit) LeN00b2: Remote host closed the connection 23:31 (join) veer 23:32 (join) LeN00b2 23:33 LeN00b2: Any ideas? 23:42 carleastlund: LeN00b2, no particular insight into it, myself. Seems like a special case of the knapsack problem, which would mean an optimal solution has to be brute force (unless P=NP). 23:47 carleastlund: ...well, it suggests that, doesn't prove it. It may be a special-enough case to be simpler. Perhaps I just give up too easy :) 23:48 (quit) jeapostrophe: Ping timeout: 240 seconds 23:48 LeN00b2: Oh well. Brutre-force it is! 23:49 carleastlund: The shortest possible solution would probably be to do an "I'm feeling lucky!" Google search on "what is the shortest list of squares that adds up to " and output the result. ;) 23:49 jonrafkind: butar-force 23:50 LeN00b2: Haha. Yes, sadly, my dad would then own 50 bucks that used to be mine :P 23:50 LeN00b2: I've gotta stop making these bets! 23:50 jonrafkind: you should bet more manly things, like who can drink the most beer before passing out 23:51 LeN00b2: That's what my first undergrad was for, ten years ago! 23:51 jonrafkind: hell yea me too! 23:51 LeN00b2: Not that I remember all that much, but apparently I have a degree in Biology (And a very grumpy ex-wife) 23:51 LeN00b2: :D