00:00 jonrafkind: wait was that your question? 00:00 jonrafkind: how do people feel about the speed of racket? 00:00 askhader: Yes. 00:00 jonrafkind: i give you 1/10 for communication skills, but anyway, its not too slow I guess 00:00 jonrafkind: the gui is sort of slow though 00:00 askhader: Well. 00:01 askhader: File I/O for example is blazingly faster with perl, I find. 00:01 askhader: In terms of performance strictly. 00:01 jonrafkind: yea, no doubt 00:01 jonrafkind: well racket wont compare to perl/c/c++ 00:01 askhader: What of lisp? 00:01 jonrafkind: but it beats a handful of other dynamic languages (python, ruby) 00:01 jonrafkind: i dunno ive never used any of the major lisps, ive heard they are fast though 00:01 jonrafkind: probably clojure is fast too 00:02 askhader: I hear haskell is fast as anything. 00:02 askhader: Well, figuritvely. 00:02 jonrafkind: yea, ocaml is really fast too 00:02 jonrafkind: but ocaml is not good at perl-esque problems 00:02 askhader: Is ocaml functional? 00:02 jonrafkind: yea, very much so 00:02 askhader: Haha, very functional. 00:03 jonrafkind: it has a reasonablly nice type system as well 00:03 askhader: Perhaps I should take a look. 00:03 jonrafkind: ive written one large program in ocaml and for the most part once I got my program to typecheck (which isnt all that hard) the program generally worked the first time 00:03 jonrafkind: which is really quite amazing 00:03 jonrafkind: ive heard similar stories in haskell land 00:04 askhader: Oh dear. 00:04 askhader: Haskell is divine. 00:04 askhader: I've never done anything practical in it unfortunately. 00:04 jonrafkind: if you like haskell you should look at agda 00:04 askhader: I implemented scheme style lists, I think. 00:04 askhader: Oh? 00:05 jonrafkind: agda can guess at polymorphic types for you, instead of forcing you to explicitly write them down 00:05 jonrafkind: so you can write some really succinct expressions 00:05 jonrafkind: and you can have functions at the type level 00:05 jonrafkind: im not sure if haskell has that.. 00:06 jonrafkind: ive started writing a game in ocaml (master of magic clone) 00:06 askhader: Haha nice! 00:07 askhader: I'm looking at haskell file I/O, it looks rather nice 00:07 askhader: And by nice i mean simple. 00:07 jonrafkind: i guess you use that monad stuff 00:08 askhader: haha 00:08 askhader: I have no idea how monads work 00:08 askhader: I'm hoping I can get along completely functionally 00:08 askhader: If I cannot, then I may venture into their depths. 00:09 jonrafkind: from what i can tell a monad just passes state around, and usually you do it in an imperative style 00:10 jonrafkind: instead of f(x(z())) you write do z; x; return f; 00:10 jonrafkind: or something like that 00:10 jonrafkind: and haskell will pass along the IO monad to each line in the 'do' block 00:11 askhader: Interesting. 00:11 jonrafkind: i think the more esoteric syntax is z >>= x >>= f 00:18 askhader: Ah yes 00:18 askhader: Well I'm just blown away by the speed of haskell's basic i/o. 00:18 (quit) evhan: Read error: Operation timed out 00:39 Lajla: If there any 'object' in scheme which is not first class? 00:40 Lajla: Like, does scheme differentiate between first and second class citizens? 00:40 Lajla: askhader, you actually you will need the >>= operator for mildly more complex stuff. 00:40 Lajla: THe problem I have with Haskell is that they didn't name it after me. 00:41 Lajla: What has that guy done what I haven't done? 01:27 (join) veer 01:32 (quit) veer: Quit: Leaving 01:34 (quit) offby1: Ping timeout: 260 seconds 01:38 (join) sunnyps 01:47 (quit) sunnyps: Ping timeout: 260 seconds 01:56 (quit) martinhex: Ping timeout: 265 seconds 02:07 jonrafkind: first class means the object can be stored in a value 02:07 jonrafkind: i dont think 'second class' really means anything 02:15 (join) martinhex 02:21 (quit) martinhex: Ping timeout: 240 seconds 02:32 Lajla: jonrafkind, you mean in a variable right? 02:32 Lajla: Well, it depends, first class just means 'can do the most' 02:32 Lajla: Second is the class after that. 02:32 jonrafkind: do you have an actual definition for 'second class' ? 02:32 Lajla: Like, in php, functions are not first class because you can do stuff with integers you can't do with them I guess. 02:32 jonrafkind: first class can be put into a variable 02:33 Lajla: Well 02:33 jonrafkind: well, functions are sort of first class in php.. 02:33 jonrafkind: $x = 'foo'; 02:33 jonrafkind: $x(); 02:33 Lajla: Then anything some would call an 'object' is first class. 02:33 jonrafkind: I think.. 02:33 Lajla: Yeah, you can do that. 02:33 Lajla: But that's more like pointers 02:33 jonrafkind: there are implementation level objects that are not values 02:33 Lajla: Basically a string points to a function there. 02:33 jonrafkind: i mean php is not a good example because its a terrible language 02:33 Lajla: Basically the php environment is an associative array where strings point to values I guess. 02:33 jonrafkind: but sans reflection, methods in java are not first class 02:33 Lajla: Elitist. 02:33 Lajla: I would say that. 02:34 Lajla: You can't really make them at runtime, or can you? 02:34 jonrafkind: well.. not using the normal language features 02:34 jonrafkind: you can always do hacky things like write out some bytecode and read it at runtime 02:34 Lajla: Does Java have anonymous functions? 02:34 Lajla: Ahhh 02:34 Lajla: The good old hack 02:34 jonrafkind: yea it has anonymous classes 02:34 jonrafkind: which are basically equivalent to anonymous functions 02:34 jonrafkind: although much more verbose 02:34 Lajla: Ahhh 02:35 Lajla: Verbosity is cool remember 02:35 jonrafkind: the new lambda stuff that might be in java 8 will essentially compile into anonymous classes 02:35 Lajla: screw that call/cc, go call-with-current-continuation 02:35 Lajla: I hate that 'lambda' word that they use everywhere 02:35 Lajla: It's silly. 02:35 Lajla: I like javascripts function(x,y) { return x;} shit 02:35 jonrafkind: yea i can see that, at this point im indifferent to it 02:36 jonrafkind: but i wouldnt mind using function instead of lambda 02:36 jonrafkind: i really hate langauges that use 'fun' 02:36 jonrafkind: or deffun 02:36 Lajla: You don't like short terms eh? 02:36 Lajla: I think fn is pretty nice. 02:36 Lajla: or just f 02:36 Lajla: f is cool. 02:36 jonrafkind: fail 02:36 jonrafkind: do you read calvin and hobbes? 02:36 Lajla: jonrafkind, what do you think about LaTeX 02:37 Lajla: the language itself. 02:37 Lajla: Yeah 02:37 Lajla: Of course 02:37 Lajla: He reminds me of myself when I was young, and since I'm a narcissist I can't help it. 02:37 jonrafkind: do you recognize this quote? "i cant wait till language becomes a total impediment to understanding" 02:37 jonrafkind: well i butchered it probably, but its close enough 02:37 jonrafkind: latex is weird.. and it doesnt help that the syntax is terrible 02:38 jonrafkind: anyway the point of the quote is that if you screw with language enough you can make it completely pointless 02:40 Lajla: I agree that the syntax is complete nonsense and that Donald Knuth designed it doesn't help, because it means it's badly designed and people defend it just because Donald Knuth designed it. 02:40 Lajla: Well, I've never been a fan of too much English in programming. 02:40 Lajla: It's not my native language anyway. 02:40 Lajla: I feel discriminated. =( 02:40 Lajla: jonrafkind, do you read the Far Side? 02:41 jonrafkind: yea, i used to at least 02:41 jonrafkind: someday my viewpoints will be vindicated, i am sure of that 02:42 jonrafkind: i am the jesus of the programming world 02:42 (join) sunnyps 02:43 Lajla: jonrafkind, then: Cow Tools. 02:43 Lajla: I am still not sure of the functioning of that quote. 04:00 (quit) jonrafkind: Ping timeout: 260 seconds 04:30 (quit) sunnyps: Quit: Leaving 06:28 Lajla: Is there any external difference between a continuation and a procedure that never returns, like say (define (lajla x) (let loop () (display "Lajla is mildly insane") (loop))) ? 06:38 Lajla: eli, you, answer me. 06:52 (join) MayDaniel 06:53 (join) shofetim 06:55 (join) mceier 06:57 (quit) em: Ping timeout: 272 seconds 07:15 (quit) MayDaniel: 07:18 (quit) parcs: Ping timeout: 255 seconds 07:20 (join) parcs 07:28 (join) mye 07:30 (quit) mye: Client Quit 07:34 (join) mye 07:40 (quit) Quetzalcoatl_: Ping timeout: 250 seconds 07:45 (join) sunnyps 08:24 (part) shofetim: "ERC Version 5.3 (IRC client for Emacs)" 08:54 (join) stis 09:36 (join) evhan 09:53 (join) MayDaniel 09:57 (join) martinhex 10:03 (join) emma 10:26 Demosthenes: Lajla: Come and dance and love the fish. Mr. Disco summoned it, muahahaha. 10:26 Demosthenes: man, i wish i had a quick answer to this transaction issue 10:28 Lajla: Let's go party work that bodyt 10:29 (quit) sid3k: Quit: ERC Version 5.3 (IRC client for Emacs) 10:30 Demosthenes: Lajla: Billy is a handyman, porcelin is the surest plan! 10:30 (join) sid3k 10:31 Demosthenes: i've got 500MB of data to translate and stash into postgres, but due to per object commits it just grinds... 10:36 (nick) emma -> em 10:37 (quit) Lajla: Ping timeout: 250 seconds 11:24 (join) anRch 11:39 (quit) MayDaniel: 11:53 (join) offby1 12:19 (quit) mceier: Quit: Lost terminal 12:20 (join) mceier 12:26 (quit) anRch: Quit: anRch 12:31 (join) MayDaniel 12:33 (join) Quetzalcoatl_ 12:50 (quit) MayDaniel: Read error: Connection reset by peer 12:59 (join) jonrafkind 13:20 (quit) sunnyps: Quit: Leaving 13:50 (join) MayDaniel 14:02 (quit) MayDaniel: Read error: Connection reset by peer 14:11 (quit) palad: Quit: [root@siege root]$ shutdown -h now 14:50 (join) drdo 15:00 (join) mwolfe 15:05 (quit) jao: Ping timeout: 276 seconds 15:31 (quit) mye: Ping timeout: 240 seconds 16:06 (quit) offby1: Ping timeout: 272 seconds 16:17 (quit) danking: *.net *.split 16:17 (quit) clklein: *.net *.split 16:17 (quit) fmu: *.net *.split 16:17 (quit) abbe: *.net *.split 16:17 (quit) rapacity: *.net *.split 16:17 (quit) mceier: *.net *.split 16:17 (quit) evhan: *.net *.split 16:17 (quit) certainty: *.net *.split 16:17 (quit) spacebat: *.net *.split 16:17 (quit) Quetzalcoatl_: *.net *.split 16:17 (quit) tonyg: *.net *.split 16:17 (quit) samth: *.net *.split 16:17 (quit) sethalves: *.net *.split 16:17 (quit) drdo: *.net *.split 16:17 (quit) sid3k: *.net *.split 16:17 (quit) martinhex: *.net *.split 16:17 (quit) stis: *.net *.split 16:17 (quit) tv|z: *.net *.split 16:17 (quit) rudybot: *.net *.split 16:17 (quit) jonrafkind: *.net *.split 16:17 (quit) em: *.net *.split 16:17 (quit) rotty: *.net *.split 16:17 (quit) alexsuraci: *.net *.split 16:17 (quit) Guest74073: *.net *.split 16:20 (join) drdo 16:20 (join) jonrafkind 16:20 (join) Quetzalcoatl_ 16:20 (join) mceier 16:20 (join) sid3k 16:20 (join) em 16:20 (join) martinhex 16:20 (join) evhan 16:20 (join) stis 16:20 (join) tv|z 16:20 (join) rudybot 16:20 (join) abbe 16:20 (join) tonyg 16:20 (join) fmu 16:20 (join) clklein 16:20 (join) danking 16:20 (join) rotty 16:20 (join) alexsuraci 16:20 (join) sethalves 16:20 (join) rapacity 16:20 (join) spacebat 16:20 (join) certainty 16:20 (join) samth 16:20 (join) Guest74073 17:01 (quit) tv|z: Ping timeout: 240 seconds 17:03 (join) tv|z 17:10 (join) anRch 18:13 (quit) anRch: Quit: anRch 18:25 (join) MayDaniel 18:45 (quit) stis: Remote host closed the connection 18:49 (join) offby1 18:54 (quit) parcs: Ping timeout: 264 seconds 18:55 (join) parcs 19:00 (quit) MayDaniel: Read error: Connection reset by peer 19:24 (quit) Demosthenes: Ping timeout: 265 seconds 19:44 (quit) mceier: Quit: leaving 21:04 (quit) mwolfe: Remote host closed the connection 22:26 (part) drdo: "ERC Version 5.3 (IRC client for Emacs)" 22:32 (join) Lajla 22:36 (join) Demosthenes 23:57 (join) lewis17111 23:59 (join) jeapostrophe