00:02 (quit) sikilpaake: Read error: Connection timed out 00:03 (quit) parcs: Ping timeout: 240 seconds 00:04 (join) sikilpaake 00:05 (join) parcs 00:08 (quit) sikilpaake: Ping timeout: 240 seconds 00:09 (join) sikilpaake 00:13 (quit) sikilpaake: Ping timeout: 240 seconds 00:14 (join) sikilpaake 00:31 (quit) sikilpaake: Read error: Connection timed out 00:34 (join) sikilpaake 00:37 (join) dnolen 00:41 (quit) sikilpaake: Ping timeout: 240 seconds 01:06 jonrafkind: Bjarne Stroustrup : Not as much as I had hoped. Students generally have a somewhat shallow view of programming and programming languages. Bringing students (both undergraduates and graduates) up to date with modern problems and techniques is hard and time consuming. Also, academic language research tends to be rather far removed from practical systems building. I guess that the main effect of my academic and educational work has been an increased 01:06 jonrafkind: appreciation of the needs and limitations of novices (of all backgrounds). You can't just expect them to learn all they need before starting to program; instead, you have to work on giving them sufficient help so that they can manage until they learn more. It is important that the initial "sub-languages" that a novice can master in a reasonable time (weeks or months, rather than years) don't trap the students into a 1970s or a 1980s view of progra 01:06 jonrafkind: mming. 01:08 (quit) mheld: Quit: mheld 01:18 (quit) dnolen: Quit: dnolen 02:51 (quit) martinhex: Remote host closed the connection 03:03 (join) martinhex 03:25 (join) PLT_Notify 03:25 PLT_Notify: racket: master Philippe Meunier * 99d1cda (1 files in 1 dirs): Quarterly update (give or take a few months...) - http://bit.ly/f391LJ 03:25 (part) PLT_Notify 03:35 (quit) jonrafkind: Ping timeout: 240 seconds 04:02 (join) lewis1711 04:04 lewis1711: "expand: unbound identifier in module in: ffi-lib" what module is ffi-lib defined in? (the manual makes no mention of needing to load a module to use it) 04:08 lewis1711: oh right there it is, in the link above 1. Overview :P 05:17 (join) sikilpaake 05:34 (quit) sikilpaake: Read error: Connection timed out 05:36 (join) sikilpaake 05:53 (quit) sikilpaake: Read error: Connection timed out 05:54 (join) sikilpaake 05:58 (quit) sikilpaake: Ping timeout: 240 seconds 05:59 (join) sikilpaake 06:02 (quit) sikilpaake: Read error: Operation timed out 06:19 (join) sikilpaake 06:23 (quit) sikilpaake: Ping timeout: 240 seconds 06:24 (join) sikilpaake 06:24 lewis1711: when one does ctrl-t in drracket, what command is actually preformed? 06:24 lewis1711 is setting up vim 06:28 (quit) sikilpaake: Read error: Operation timed out 06:44 (join) sikilpaake 06:47 (quit) jao: Ping timeout: 240 seconds 06:55 (part) lewis1711 06:57 (join) masm 06:59 (join) lewis1711 07:01 (quit) sikilpaake: Read error: Connection timed out 07:03 (join) sikilpaake 07:24 _p4bl0: lewis1711: I think you made a typo, you wrote "vim" instead of "emacs", what type of keyboard do you use? I don't see how that's possible on qwerty or azerty keyboards. ;-) 07:25 lewis1711: huh? ctrl-t isn't possible on qwerty keyboards? 07:28 _p4bl0: lewis1711: no I was refering to the vim/emacs typo ^^ 07:28 lewis1711: I...don't get it 07:29 bremner: don't worry. Humour is the hardest thing to learn in a second language. 07:30 lewis1711: ...I see 07:30 bremner: subtitle: bremner made a joke about lewis1711 being from NZ 07:30 lewis1711: yes I am using vim. this computer is too old for Eight Hundred Megabytes And Constantly Swapping 07:31 bremner: you miss out on geiser then, which seems pretty cool. Oh well. 07:31 bremner: lewis1711: does DrRacket run OK? 07:32 lewis1711: not really 07:32 lewis1711: doesn't seem like the most polished piece of software. especially when using the FFI 07:33 lewis1711: anyway, how does one run a racket file and then drop to the interpreter on the command line? 07:33 bremner: racket --help should get you started 07:34 lewis1711: been there 07:34 bremner: I guess you probably want racket --load ? 07:34 lewis1711: tried $racket -i -f file.rkt 07:35 lewis1711: nope, that doesn't do it 07:35 lewis1711: hmm 07:36 lewis1711: tried "racket -i --load main.rkt" 07:36 (quit) coldhead: Read error: Connection reset by peer 07:36 (join) coldhead 07:36 bremner: racket --load foo.rkt -i works for me (TM) 07:36 lewis1711: which drops into an interpreter that doesn;t recognise anything in the file 07:36 lewis1711: humm 07:37 bremner: oops. spoke too soon. 07:37 lewis1711: bremner: can you actually use any identifiers in your file? 07:37 lewis1711: ah 07:37 clklein: lewis1711: I'm not sure I understand what you want, but try "racket -i -t your-program.rkt" 07:38 lewis1711: clklein: whatever it is dr-racket does with ctrl-t 07:38 lewis1711: interprets then drops you to the repl 07:38 lewis1711: and ok 07:38 clklein: I think -i -t is what you want then 07:38 lewis1711: clklein: that works a treat. ty 07:39 clklein: np 07:51 (quit) lewis1711: Ping timeout: 250 seconds 08:06 (join) mheld 08:18 (quit) coldhead: Remote host closed the connection 08:21 (join) MayDaniel 08:22 (part) sikilpaake 08:36 (join) corruptmemory 08:38 (quit) MayDaniel: Read error: Connection reset by peer 09:13 (join) anRch 09:15 (join) dnolen 09:42 (join) epochwolf|2 09:48 (join) PLT_Notify 09:48 PLT_Notify: racket: master Matthew Flatt * e9a4650 (2 files in 1 dirs): win32: don't handle frame non-content mouse events - http://bit.ly/fPc1d4 09:48 (part) PLT_Notify 10:16 (quit) anRch: Quit: anRch 10:23 (join) MayDaniel 10:28 (quit) dnolen: Quit: dnolen 10:43 (join) anRch 10:47 (nick) samth_away -> samth 11:17 (quit) epochwolf|2: Quit: Linkinus - http://linkinus.com 11:23 (join) mattmight 11:25 (join) epochwolf|2 11:30 (quit) anRch: Quit: anRch 11:32 (join) carleastlund 11:45 (quit) epochwolf|2: Quit: Leaving... 11:53 (quit) corruptmemory: Quit: Leaving 12:02 (quit) MayDaniel: 12:02 (join) corruptmemory 12:03 bremner: So what is the difference between gracket and racket in 5.0.99.6? It seems racket can do at least some graphical stuff. 12:07 (join) epochwolf|2 12:12 (join) chturne 12:18 stamourv: bremner: I don't think there's much of a difference anymore 12:19 bremner: gracket is 19 bytes bigger ;) 12:31 (join) PLT_Notify 12:31 PLT_Notify: racket: master Kevin Tew * 65460f5 (1 files in 1 dirs): parallel-lock-client docs - http://bit.ly/dMME4f 12:31 (part) PLT_Notify 12:36 (join) PLT_Notify 12:36 PLT_Notify: racket: master Kevin Tew * 324d1aa (1 files in 1 dirs): parallel-lock-client doc fix - http://bit.ly/h4znx5 12:36 (part) PLT_Notify 12:48 stamourv: bremner: 19 bytes, that a large #\g... 12:52 (join) jonrafkind 13:39 (quit) epochwolf|2: Quit: Linkinus - http://linkinus.com 13:43 eli: bremner: gracket is still needed for things like windows. 13:44 eli: (I think that OSX needs it too.) 13:44 jonrafkind: why is that exactly? 13:44 eli: On windows if you use racket you'd get a dos window, whereas gracket just works like a windowed application. 13:45 jonrafkind: oh, but you can still run gui programs with just racket right? 13:50 bremner: so is there still some point to gracket on linux? 13:52 bremner: jonrafkind: oh, by the way, I pushed a fix for the /nonexistant problem you were having; the last couple commits on branch snapshots 13:52 jonrafkind: oh ok 13:52 bremner: nothing you didn't think, I suspect. 13:52 jonrafkind: I almost got 5.0.2 to build in pbuilder btu I got some stream error from plai/mutator 13:53 bremner: weird. 13:53 jonrafkind: do you use pbuilder? 13:53 jonrafkind: for now ij ust commented out building the docs for plai 13:56 eli: jonrafkind: Yes, but the DOS window would make it unacceptable. 13:56 eli: Also, on OSX I think that it's a .app thing. 13:57 eli: bremner: Probably not, but it should be distributed still since portable scripts would fail without it. 13:57 jonrafkind: i mean its acceptable to me, i like to use just plain 'racket' on the command line 13:58 eli: If you run stuff from a command line anyway, then you'd probably not see any difference at all. 13:59 eli: You might even prefer racket, so that debugging printouts go in the same shell rather than open a new window. 14:00 eli: jonrafkind: BTW, was this the reason you pinged me yesterday? 14:00 jonrafkind: uh, running racket in windows? no 14:00 jonrafkind: it was about the nonexistant error I got from building racket for the ubuntu ppa 14:01 jonrafkind: but it was due to setting HOME=/nonexistant in the debain makefile 14:01 jonrafkind: but it might still be a bug in racket, something in the build is writing to $HOME 14:04 bremner: eli: sure, I was just wondering if it would make sense for gracket to be a link to racket on linux 14:05 bremner: jonrafkind: I use sbuild, which should be roughly the same. I can try pbuilder though. 14:06 jonrafkind: right now gracket starts up the gui repl, I don't know if anyone really needs that 14:06 jonrafkind: i guess its sort of legacy 14:06 bremner: oh, I see. Well, somebody might like that. 14:06 bremner: heh. friendly startup message ;) 14:12 eli: bremner: I'd ask on the list whether it could be a symlink on linux -- but I *really* would not want any debian/ubuntu/whatever diverges from our builds, it makes some really bad bug reports where it's unclear whether it's ours or something as a result of the specific hacks. 14:12 bremner: eli: oh, sure, I wouldn't do that on my own. 14:12 eli: jonrafkind: It's probably the check whether you have any user-specific collections to compile -- and requiring that a compilation works with an inexistent home directory is probably a good idea overall. 14:13 eli: I still think that the -U thing should be the default for the `make install' compilation. 14:13 bremner: -U isn't enough though, because some of the collects want to make temporary directories underneath $HOME 14:14 eli: bremner: Huh? Which one? 14:14 bremner: I think they might not ship in the release tarballs... 14:15 eli: If you're talking about planet libraries -- then those are installed in your home dir to begin with. 14:15 eli: None of the core set should do anything in your home directory with a `-U'. 14:16 eli: Even without it, there is just one "offender" -- the handin-server docs, and that shouldn't be included in our source disribution. 14:16 bremner: scribblings/scheme/scheme.scrbl for example 14:16 eli: It uses $HOME? How? 14:16 bremner: WORKER ERROR make-directory: cannot make directory: /nonexistant/ 14:17 bremner: one, sec, I found this before. 14:17 eli: Try to use `-j 1' so there's no parallel-build issues. 14:17 bremner: ah, that might be it. 14:18 eli: If the parallel build tries to create that, then *please* do shout on the mailing list! 14:20 eli tries 14:21 (join) PLT_Notify 14:21 PLT_Notify: racket: master Vincent St-Amour * 7808be5 (1 files in 1 dirs): Fix portable-fixnum?. - http://bit.ly/ibPNTe 14:21 (part) PLT_Notify 14:26 bremner: eli: I can try, but -j1 takes about an hour to build on this machine. 14:29 eli: bremner: I'm trying it now. 14:34 eli: bremner: Did it fail for you when it compiled, or when it built the docs? 14:38 bremner: Just building docs. Actually, I'm not sure if the docs failed to build, or just print nasty messages. I will check when this build finishes. At the moment I'm building without -U; I suppose a more interesting test would be with -U. 14:38 jonrafkind: whats -U ? 14:39 bremner: --no-user 14:39 bremner: for raco setup 14:39 jonrafkind: oh ok 14:39 jonrafkind: hm didnt matthew want to make that change recently? 14:40 jonrafkind: i thought maybe he already made it 14:43 eli: bremner: I just had a build finish fine -- with HOME set to /missing, with a `-j 3', and with a `-U'. So things look fine. 14:44 eli: (That's using the current master.) 14:44 (join) jao 14:44 bremner: eli: great. The build finishes for me too. There are just these worrying messages. Do you have messages about make-directory ? 14:45 eli: No, none that I can remember. 14:46 eli: I didn't try to scroll back far enough though. 14:46 eli: (Already closed that window and nuked the directory.) 14:48 jonrafkind: eli, you can build the whole thing in 20 minutes? 14:48 eli: jonrafkind: Whatever it took, I didn't time it. 14:48 eli: That's with `-j 3'. 14:49 eli: (I have four cores, and I like to actually use the machine so I leave one free...) 14:49 jonrafkind: the slow part for me is building the docs 14:49 clklein: jonrafkind: Robby's 8 core machine does a clean build in something like 15 minutes. 14:49 clklein: (including the docs) 14:49 jonrafkind: wow 14:49 jonrafkind: are docs parallel? 14:49 clklein: I think so. 14:49 jonrafkind: on this dual core xeon im using it takes something like an hour 15:07 bremner: eli: on my 4 core with hyperthreading, I find 7 threads still leaves the machine fairly responsive. 15:08 bremner: it seems not to be complete BS this hyperthreading, somewhat to my surprise. 15:21 jonrafkind: cp: cannot stat `debian/tmp/usr/bin': No such file or directory 15:21 jonrafkind: dh_install: cp -a debian/tmp/usr/bin debian/racket//usr/ returned exit code 1 15:21 jonrafkind: bleh what is this 15:21 jonrafkind: bremner, any idea? 15:23 bremner: that is very odd. 15:23 bremner: pbuilder again? 15:23 jonrafkind: yea 15:24 jonrafkind: it looks like its trying to install to the debian/ directory or something 15:24 bremner: that part is normal, that is how things are staged before the .debs are built 15:24 jonrafkind: ok 15:26 bremner: it looks like the racket install into debian/tmp didn't go right. 15:30 bremner: jonrafkind: do you see a line like /usr/bin/make -C ./build install DESTDIR=/build/bremner-racket_5.0.99.6+100~gbe6ba89-1-amd64-_hkLtc/racket-5.0.99.6+100~gbe6ba89/debian/tmp/ in your build log. for "like" defined appropriately ;) 15:31 bremner: so make -c ./build install DESTDIR=$blah/debian/tmp 15:31 jonrafkind: hm 15:31 jonrafkind: let me paste the last part of the build 15:32 (quit) carleastlund: Quit: carleastlund 15:34 jonrafkind: bremner, http://pastebin.com/NG45cnpp 15:35 eli: bremner: Might be due to a really old setup I have on this machine -- it's an F7. 15:36 bremner: jonrafkind: for me, the relevant part is about 1000 lines before that. 15:36 jonrafkind: oh ok hold on 15:37 jonrafkind: thank god I use a 20,000 line buffer :) 15:39 jonrafkind: DEB_MAKE_CHECK_TARGET unset, not running checks 15:39 jonrafkind: CFLAGS="-g" CXXFLAGS="" HOME=/tmp PLT_SETUP_OPTIONS="-j 1" /usr/bin/make -C ./build install DESTDIR=/tmp/buildd/racket-5.0.2/debian/racket/ 15:39 bremner: hmm. well, that explains why dh_install fails. 15:40 jonrafkind: the HOME=/tmp ? 15:40 bremner: normally when you make multiple binary packages, upstream build installs into debian/tmp, and dh_install grabs stuff from there. 15:40 bremner: no, the DESTDIR= 15:41 jonrafkind: ah 15:41 jonrafkind: so who sets that 15:42 bremner: good question. I guess CDBS. But it's not like you changed a lot in the packaging, is it? 15:42 jonrafkind: right 15:42 jonrafkind: I think the only thing I changed was control and the changelog 15:43 bremner: what did you change in control? did you eliminate some binary packages? 15:44 jonrafkind: yea I may have, let me see 15:44 jonrafkind: I think I did that because initially I was building for 5.1.0 so I just wanted to build the racket binary and leave out gracket or something 15:45 bremner: CDBS is probably being "helpful" and changing DESTDIR based on that. You probably don't need that racket.install file if you install straight to debian/racket 15:47 bremner: but you may also not want to diverge so much. Up to you... 15:48 jonrafkind: ok i erased racket-common and whatnot, maybe I need those things? 15:49 bremner: well. If you eliminate them, you need to update some other things. 15:50 jonrafkind: ok, ill add them back to see if i can get it to work 15:50 jonrafkind: then ill tweak it later 15:52 bremner: eli, jonrafkind: ok, it turns out nonexistant home is fine, as long as you pass --no-user. Which is not unreasonable. 15:52 jonrafkind: right 15:56 jonrafkind: http://www.mail-archive.com/dev@racket-lang.org/msg01895.html 15:57 jonrafkind: i dont think it was pushed, ill ping matthew 16:37 eli: Yeah, I don't think it was done. 16:38 eli: The problem is what happens with user code that needs to be recompiled. 16:38 jonrafkind: like planet packages? 16:39 jonrafkind: actually how does that work for binaries? if i just install from a .deb or something I have to manually run 'raco setup', right? 16:44 eli: Yes, planet packages, but they're not the only thing that you could install in your home directory. 16:48 (join) carleastlund 16:48 carleastlund: Anyone know how to run a non-parallel "make install"? 16:48 bremner: yes, one sec. 16:49 jonrafkind: make -j 1 install ? 16:49 bremner: you might want to set PLT_SETUP_OPTIONS="-j 1" 16:50 bremner: if make -j1 install doesn't work 16:50 carleastlund: I know that "-j 1" tells make not to run in parallel, but I don't know if setup-plt inherits that option and skips its own parallelism. 16:50 bremner: right, that is why I suggested PLT_SETUP_OPTIONS 16:54 jonrafkind: kevin says you have to use PLT_SETUP_OPTIONS 16:54 carleastlund: Well, running the build now, when it gets to the "raco setup" part we'll see if I did it right. Thanks, guys. :) 16:54 jonrafkind: and that hacking the makefile is hard 17:06 (quit) MK_FG: Ping timeout: 250 seconds 17:07 (join) MK_FG 17:11 jonrafkind: cp: cannot stat `debian/tmp/usr/share/racket/collects': No such file or directory 17:11 jonrafkind: dh_install: cp -a debian/tmp/usr/share/racket/collects debian/racket-common//usr/share/racket/ returned exit code 1 17:11 jonrafkind: bremner, 17:13 bremner: yup, so you miss the patch discussed in debian/README.source. 17:16 jonrafkind: hm, i dont see a patch discussed there 17:16 jonrafkind: i thought quilt was supposed to deal with patches for me? 17:19 bremner: which branch are you using? snapshots? see [patch-queue/upstream-master] in README.source 17:20 (join) anRch 18:13 (quit) anRch: Quit: anRch 18:35 (join) PLT_Notify 18:35 PLT_Notify: racket: master Robby Findler * 1a4ba1d (1 files in 1 dirs): Rackety 18:35 PLT_Notify: racket: master Robby Findler * b845973 (1 files in 1 dirs): disable the trace of all of the messages in the framework tests 18:35 PLT_Notify: racket: master Robby Findler * 0d72df4 (1 files in 1 dirs): same: draw mouse-under blob in a slightly darker color and make the scoring bonus easier to get (and worth more) 18:35 PLT_Notify: racket: master commits 7808be5...0d72df4 - http://bit.ly/fH9AMq 18:35 (part) PLT_Notify 18:35 (quit) parcs: Ping timeout: 240 seconds 18:37 (join) parcs 19:23 em: does racket have a library for making gui's with gtk? 19:25 jonrafkind: the upcoming 5.1 release will 19:34 (join) lewis1711 19:38 _p4bl0: jonrafkind: doesn't the current version already uses GTK? 19:39 jonrafkind: it uses wxwidgets, with possibly a gtk backend i dont remember 19:39 jonrafkind: but the new one uses gtk directly 19:39 bremner: and that works out ok on Windows? 19:39 jonrafkind: on windows it uses some native library there 19:40 jonrafkind: (not gtk) 19:40 bremner: ah, makes sense. 19:40 _p4bl0: jonrafkind: ah ok, because text fields already uses my gtk key theme (emacs, so C-a, C-e, C-k... are working) 19:41 jonrafkind: oh ok 19:41 jonrafkind: i think it would be nice to swap gtk for qt, but thats a lot of work 19:41 jonrafkind: and binding to qt is not so easy (being c++ and all) 19:41 _p4bl0: jonrafkind: ewww I hope they don't do that 19:42 jonrafkind: you hate qt? 19:42 _p4bl0: I don't "hate" it, but I dont' see any added value to have two such framework installed on my computers 19:42 _p4bl0: I only have gtk installed (not even gnome) 19:43 _p4bl0: plus I've always found Qt and KDE ugly 19:43 _p4bl0: but that's less important 19:43 jonrafkind: in theory it could just be another backend so you can use either gtk or qt 19:43 _p4bl0: jonrafkind: and also, I know gtk+ programming, not Qt ;-) 19:43 lewis1711: why does racket abandon s-expressions whenever function prototypes are needed? eg in the ffi (_fun _int -> _int) or in typed racket (: mag (pt -> Number)) ? 19:44 jonrafkind: a) those are still s-expressions b) because at least in the ffi case you can have multiple ->'s 19:44 jonrafkind: (_fun _int -> _int -> 5) would ignore the return value from the function and return 5 19:44 lewis1711: by that logic one could define something like this (1 + 2) as an s-expression because there are brackets around it 19:45 _p4bl0: jonrafkind: if it's just another backend it's cool to let people have the choice 19:45 lewis1711: though b is a good point 19:45 jonrafkind: technically anything surrounded by () is an s-expression, afaik 19:46 jonrafkind: those things you wrote aren't expressions so it doesn't matter what syntax is forced on them 19:46 lewis1711: how are they not expressions? 19:47 jonrafkind: well they are highly constrained at least, its not like you can do (_fun (let ([x _int]) x) ...) I think.. 19:47 _p4bl0: lewis1711: an expression has a value, these are just hints to the compiler I guess 19:48 jonrafkind: no i mean they are just syntax with no inherint meaning, its upto the macro to decide what to do with them 19:48 _p4bl0: oh okay 19:48 jonrafkind: ok i was worng, you can do that (let ...) thing inside a _fun 19:48 lewis1711: I somewhat get it for the FFI, but typed racket has no excuse IMO 19:49 jonrafkind: well contracts in htdp used to be written in that style 19:49 jonrafkind: so typed racket uses the same notation 19:49 lewis1711: ::(Number pt) ;something like that would make more sense 19:49 lewis1711: ok, that showed up as a sad face 19:49 jonrafkind: heh 19:49 jonrafkind: you mean (-> pt Number) ? 19:50 jonrafkind: thats the way the contract system works actually, and I dislike it :p 19:50 lewis1711: more 19:50 lewis1711: :: (Number pt) 19:50 lewis1711: so the function prototype is still an sexpr 19:50 jonrafkind: (: mag (pt -> Number)) becomes :: (Number pt) ? 19:50 lewis1711: :: (return-type arg1 arg2 ... ) 19:50 jonrafkind: i dont get it 19:51 lewis1711: humm, if you want the name in there.. 19:51 lewis1711: :: (mag (Number pt)) 19:51 lewis1711: man, I am pretty clever, i should really make a programming language 19:51 lewis1711: :/ 19:51 jonrafkind: uh but thats not an s-expression anymore 19:51 jonrafkind: (:: (mag Number pt))) would be 19:52 lewis1711: humm, I am adding a space to avoid smiley faces 19:52 lewis1711: isn't '(1 2 3) still considered an sexpr, though? 19:52 lewis1711: that's what i am going off 19:52 _p4bl0: lewis1711: '(1 2 3) is (quote (1 2 3)), ' is a reader macro 19:53 jonrafkind: yea if you could turn :: into a reader extension it would work 19:53 _p4bl0: lewis1711: is your notation idea still working for more complicated types ? 19:53 lewis1711: _p4bl0: hit me with an example 19:54 _p4bl0: lewis1711: stuff with high order fct like foldl ? 19:54 jonrafkind: bremner, is the only change I need to set collectsdir in src/configure? 19:54 lewis1711: :: (foldl (list list)) 19:54 jonrafkind: im retrying the 5.0.2 version with that one change 19:54 lewis1711: oh sorry, fold.. 19:54 lewis1711: :D 19:54 _p4bl0: ^^ 19:55 lewis1711: TBPF, I am not quite sure how a generic type like foldl is dealt with in typed racket 19:55 lewis1711 checks type sig in ocaml 19:55 _p4bl0: lewis1711: let's say we're working with 'a list ;) 19:56 _p4bl0: or int list if you want 19:56 lewis1711: ah 19:56 jonrafkind: bremner, looks like the only commit you have in the patch-queue/upstream-master branch 19:56 lewis1711: :: (foldl (int list)) 19:56 bremner: jonrafkind: that sounds right. 19:56 bremner: lewis1711: int? be serious 19:56 lewis1711: wut 19:57 lewis1711: Integer, whatever:P 19:57 bremner: no, you miss the point of foldl 19:57 _p4bl0: lewis1711: you're signature miss the init elem and the function 19:57 bremner: and polymorphism 19:57 jonrafkind: all types are just subclasses of integers, dont you know 19:58 _p4bl0: bremner: yeah we're just discussing the shape of the type signature ;-) 19:58 lewis1711: humm 19:58 (join) dnolen 19:58 _p4bl0: lewis1711: for instance if OCaml, List.fold_left has type ('a -> 'b -> 'a) -> 'a -> 'b list -> 'a 19:58 lewis1711: fold_left... blergh I was trying List.foldl 19:59 lewis1711: but hmm 19:59 lewis1711: let me try this:) 20:00 bremner: jonrafkind: feel free to patch configure upstream ;) 20:00 _p4bl0: so `List.fold_left (fun x y -> x + y) 1 [2; 3; 4]` is 10 (i didn't check) 20:00 _p4bl0: yep that's it 20:00 jonrafkind: bremner, ok you think its a good change in general? 20:01 lewis1711: :: (foldl ('a (('a 'b 'a) 'a 'b list)))) 20:01 jonrafkind: datadir == libdir unless its explicitly changed? 20:01 lewis1711: i suppose one could just use -> as a procedure 20:02 lewis1711: on a completely unrelated note, any vim racket users out there? I am just using scheme syntax highlighting for racket and it's a bit buggy, can't find anything on the vim wiki with racket plugins 20:03 _p4bl0: lewis1711: you aren't consistent, it would be :: (foldl ('a (('a ('b 'a)) 'a 'b list))) 20:04 _p4bl0: lewis1711: and there's still might be a problem with 'b list, because it's separated by a space like 'a 'b so parsing might not be conveinient 20:04 lewis1711: humm 20:04 jonrafkind: you dont need all the quotes there.. 20:04 jonrafkind: thats just a convention in ocaml 20:04 lewis1711: how does TR do it? 20:05 _p4bl0: lewis1711: but I see your point 20:05 _p4bl0: lewis1711: dunno 20:05 lewis1711: (-> (-> a b a) a b_list a) 20:06 lewis1711: though that somewhat defeats the purpose of an arrow :D 20:08 lewis1711 doesn't even know the foldl syntax of racket, looks it up 20:09 (quit) masm: Quit: Leaving. 20:10 (quit) parcs: Ping timeout: 240 seconds 20:10 (join) erkangur 20:10 erkangur: hey 20:10 erkangur: folks , here is a newbie question 20:10 erkangur: ((λ x (λ f (f x)) 4) sqrt) 20:10 erkangur: i am expecting 2 as result from this 20:11 erkangur: because ((λ f (f 4)) sqrt) then (sqrt 4) 20:11 _p4bl0: erkangur: it's ((λ x (λ f (f x)) sqrt) 4) that you want 20:11 (join) parcs 20:12 erkangur: _p4bl0, but hmm.. 20:12 _p4bl0: erkangur: check your parens 20:13 erkangur: ahaa that must produce 2 right? (((λ x (λ f (f x))) 4) sqrt) 20:13 (quit) parcs: Remote host closed the connection 20:14 _p4bl0: erkangur: in fact I think you want that ((λ x (λ f (f x))) 4) sqrt) 20:14 _p4bl0: yup 20:14 (join) parcs 20:14 erkangur: _p4bl0, thanks buddy 20:14 _p4bl0: screen messes up with my copy pasting so i had to correct and didn't see your posting 20:14 _p4bl0: erkangur: you're welcome! 20:17 _p4bl0: erkangur: oh 20:18 _p4bl0: erkangur: and also you should put parens around x and f just after lambdas, if you don't they will be list 20:21 erkangur: _p4bl0, aha yes now it works ! (: 20:21 erkangur: i am 2nd year compsci student and i was watching 3rd year lessons now ,, so my knowledge is a bit untidy (: 20:23 _p4bl0: erkangur: fourth year for me (in france) :-) 20:25 erkangur: _p4bl0, i am in turkey,, i'm getting used to functional programming and loved it so much 20:25 erkangur: first year we were studying how to design programs 20:25 erkangur: but it doesn't show the whole magic, i think (: 20:26 _p4bl0: erkangur: lucky you. In france introductory languages are caml, Pascal C or Java almost everywhere I've heard of 20:27 lewis1711: _p4bl0: no love for Ocaml? :O 20:28 erkangur: _p4bl0, let me tell you something interesting,, my university is the only university which has comp.sci department 20:28 erkangur: others are all comp.eng 20:28 lewis1711: (at my uni it's C# and Java:/ don't have much against them, but very poor environments for learning computer science IMO) 20:29 bremner: _p4bl0: caml is not so bad? 20:29 erkangur: not much university teaching compsci in turkey 20:30 lewis1711: I really like ocaml. mind you I have just started FP recently, with scheme and ocaml 20:33 _p4bl0: No i don't really appreciate OCaml (which is harder in france than anywhere else). Inconsistent standard lib, bad REPL, write-only syntax... 20:33 _p4bl0: I do not hate it thought 20:36 _p4bl0: and I think that a part of my not-liking-it is just by contrariness, since it's developed mainly at INRIA in france by people who thinks that typing is the only problem comp sci have 20:36 _p4bl0: the "well typed programs do not go wrong" spirit 20:36 bremner: _p4bl0: you should try Haskell. It will make you appreciate the relaxed attitude of OCaml ;) 20:37 _p4bl0: bremner: I've already been told that 20:37 lewis1711: _p4bl0: grass is always greener on the other side I guess. I imagine they're eager to shove ocaml down your throats. 20:37 lewis1711: though R was invented in my country, and I quite liked it 20:38 lewis1711: you find ocaml hard to read though? if you look at r5rs the formal grammars read a lot like ML.. 20:38 _p4bl0: lewis1711: of course, I know a lot of prof that really think OCaml is tomorrow's language. I think it's funny :-p 20:38 _p4bl0: lewis1711: maybe the write-only part was a bit "trolly" 20:38 lewis1711: :D 20:38 _p4bl0: lewis1711: I must admit I'm a big troll 20:39 lewis1711: is it considered ones patriotic duty to program in Ocaml, in France? 20:39 jonrafkind: ocaml has the worst error messages of all time. ok the end. 20:39 lewis1711: jonrafkind: D beats it 20:39 jonrafkind: ok maybe thats true, i havent used D 20:39 lewis1711: ocamls aren't that bad. poor english, but clear enough 20:39 lewis1711: once you get used to it 20:39 jonrafkind: im talking about the syntax errors 20:39 jonrafkind: not the type ones 20:40 jonrafkind: the type errors are actually quite reasonable 20:40 _p4bl0: lewis1711: nope I don't think it goes this far (patriotic duty) ;-) 20:41 _p4bl0: erkangur: oh I didnt see your message. Only one compsi dept? Who cares if it is good ;-) 20:42 _p4bl0: jonrafkind: the problem is that french comp sci researcher and prof speak a worst english than OCaml :-p 20:43 erkangur: _p4bl0, there is a huge misunderstanding between the terms comp.eng and comp.sci here. 20:44 _p4bl0: erkangur: in france both are called "informatique", so does MS Office usage for instance 20:44 erkangur: _p4bl0, :D 20:44 _p4bl0: erkangur: just imagine: "I'm studiying comp sci" "oh great my Word has a strange problem"... 20:45 erkangur: _p4bl0, possible answer: "it is windows, of course it has!" 20:45 erkangur: :D 20:45 _p4bl0: mine is more like "Word? That stuff with a lot of buttons and an annoying fancy clip that doesn't even have a monospace font by default? Dunno how to use it." 20:45 lewis1711: ^_^ 20:46 lewis1711: I am taking up comp sci in the coming semester, in addition to my maths major... unfortunately a software engineering course is required:( 20:48 _p4bl0: lewis1711: only one software engineering course is not bad. I even think it's good. There's too many pure comp sci students/prof/researcher who can't write two lines of code. 20:48 lewis1711: ha 20:49 _p4bl0: lewis1711: even my school have an engineering course (and it's the most theoretically oriented place in the world I think) ^_^ 20:49 lewis1711: I guess one won't kill me 20:49 (quit) jonrafkind: Ping timeout: 265 seconds 20:49 erkangur: lewis1711, (: 20:49 lewis1711: I am very much looking forward to computer architecture though. have been meaning to get my hands dirty with assembler 20:50 lewis1711: maybe after that, when I program in C I will be amazed at how sophisticated it is 20:51 _p4bl0: lewis1711: and we also have this, the first year (a course where we have to design a logic gate language, then an interpreter/compiler for it, then a processor and its assembly language using our logic gates languages, then implement it and run it, all of that to run a watch... :-p) 20:52 _p4bl0: and there's the compiler course. Everything else is math for comp sci 20:52 erkangur: _p4bl0, first year? 20:52 _p4bl0: (sometimes it hurts :-p) 20:52 _p4bl0: erkangur: first year in this school is 3rd uni year ;-) 20:53 _p4bl0: lewis1711: the reasons I love C for are a subset of the ones for scheme: it's a tiny language, simple and powerful. 20:53 _p4bl0: lewis1711: buy the K&R book, it's small, quickly read and very (very) good 20:53 lewis1711: I only ever write C when I am writing stuff that uses a C library 20:54 lewis1711: (am making a C library for my racket project) 20:54 lewis1711: i have read some of K&R 20:54 lewis1711: I am not very good at learning from books though. I have to code and ask annoying questions on IRC:P 20:54 _p4bl0: :-) 20:59 _p4bl0: lewis1711: I didn't learned C from K&R, but I enjoy reading a page or two at random from time to time. It's so well written :-) 21:00 lewis1711: it is, but I don't like the way they name variables 21:00 lewis1711: ptr and so 21:00 _p4bl0: lewis1711: agreed 21:02 _p4bl0: lewis1711: that's another bad point for Ocaml btw (you know the famous "If u cn rd ths, u cn gt a jb in fncnl prg (if thr wr any)", it's soooo true) 21:02 lewis1711: really? ocaml is quite verbose IMO 21:02 lewis1711: fold_left, string_of_int 21:03 _p4bl0: lewis1711: sadly this doesnt apply to most people using it 21:03 lewis1711: ha 21:04 lewis1711: there are no jobs in financial programming? damn, here I am taking maths and compsci 21:04 _p4bl0: lewis1711: haha 21:06 lewis1711: ohh... 21:06 _p4bl0: lewis1711: ? 21:06 lewis1711: _p4bl0: I read fncnl as "financial" :D 21:06 _p4bl0: lewis1711: ah! for real? 21:06 _p4bl0: I thought it was a pun :-D 21:06 lewis1711: so i guess I can't get an FP job, but financial programming might still work 21:06 lewis1711: *phew* 21:07 _p4bl0: aargh! It's 3am and I still have to make this beamer for tomorrow 21:16 _p4bl0: it's going to be dirty... ^^ 21:33 lewis1711: man i am confused about modules. so i don't need a #lang directive if i have a module declared like (module foo racket) ? 21:34 _p4bl0: lewis1711: you're right 21:35 lewis1711: humm 21:35 lewis1711: ok 21:35 lewis1711: also, I am guessing drracket is not the safest environment for running FFI's? 21:35 lewis1711: "SIGSEGV MAPERR si_code 1 fault on addr 0x1" 21:36 _p4bl0: lewis1711: dunno about that, never done FFI in racket and never used DrRacket 21:36 _p4bl0: (Emacs <3) 21:36 bremner: _p4bl0: are you using geiser? 21:37 _p4bl0: bremner: not since a long time but yes 21:37 _p4bl0: bremner: geiser rocks 21:38 lewis1711: humm, is there some database of racket errors? 21:39 (quit) carleastlund: Quit: Leaving. 21:43 _p4bl0: lewis1711: sorry, don't know about that 21:44 lewis1711: haha _p4bl0 you sound exactly like an NPC in games when you ask them about a topic they're not programmed about :D 21:44 lewis1711: anyway brb 21:44 (part) lewis1711 21:45 (join) lewis1711 21:46 _p4bl0: lewis1711: does not compute. what do you mean? 21:46 lewis1711: you know, like in computer RPG games 21:46 lewis1711: you ask an NPC about topic "blah blah blah", and it gives a generic message 21:46 lewis1711: if it doesn't know anything:D 21:48 _p4bl0: lewis1711: yea I understood :-D, my "does not compute" was a pun (an attempt to sound even more like one) 21:48 lewis1711: lol 21:48 lewis1711: my bad 21:49 lewis1711: _p4bl0: are there lots of ocaml jobs in france? maybe i should try and pick up french... I can get an EU passport so maybe an idea ^_^ 21:49 _p4bl0: lewis1711: there aren't any ocaml jobs anywhere :-D 21:49 lewis1711: hahaha, aww 21:51 _p4bl0: lewis1711: (job as a programmer) I currently know 3 company that uses it: Jane Street (us), MLstate (fr) and a new start-up that I don't even know the name of (fr also) 21:51 lewis1711: that's more than scheme though 21:51 lewis1711 ducks 21:53 _p4bl0: :-D 21:59 _p4bl0: http://www.runorg.com/ <-- this is the startup 21:59 (quit) corruptmemory: Ping timeout: 240 seconds 22:01 lewis1711: I wonder if F# will get any traction 22:03 (quit) erkangur: Quit: Leaving 22:03 (join) carleastlund 22:04 (quit) carleastlund: Client Quit 22:04 (join) carleastlund 22:05 (part) carleastlund