Conversation with #inferno at Wed Oct 21 04:49:30 2009 on powerman-asdf@irc.freenode.net (irc) (05:55:43) acmeuser [n=acmeuser@71-88-41-1.dhcp.nwtn.ct.charter.com] entered the room. (05:56:15) acmeuser left the room (quit: Remote closed the connection). (06:03:11) rapidfx [n=host666@vl-cen-ce1.avtlg.ru] entered the room. (08:15:31) j123m left the room (quit: Read error: 110 (Connection timed out)). (09:02:19) robot12 [n=robot12@inferno.kgts.ru] entered the room. (09:57:12) npe [n=npe@94-224-251-223.access.telenet.be] entered the room. (10:02:46) npe left the room (quit: ). (10:52:57) npe [n=npe@195.207.5.2] entered the room. (11:12:05) j123m [n=j1m@unas-revda.interra.ru] entered the room. (13:14:35) soul9: uriel: i bet it has, haven't updated it yet though (13:14:55) ***soul9 wishes for an erlang-like on-line code update method ;-) (13:39:53) j123m left the room (quit: Read error: 110 (Connection timed out)). (13:46:54) j123m [n=j1m@unas-revda.interra.ru] entered the room. (13:59:34) robot12 left the room (quit: "Ухожу я от вас (xchat 2.4.5 или старше)"). (14:10:34) rapidfx left the room (quit: Remote closed the connection). (14:20:13) mjl-: heh (14:20:19) mjl-: soul9: you want irssi's /upgrade? ;) (14:20:34) rapidfx [n=host666@vl-cen-ce1.avtlg.ru] entered the room. (14:20:39) mjl-: i've seen people use that to clear irssi's high memory usage (~60mb, must be a leak) (14:20:45) soul9: heh (14:21:05) soul9: woo, irssi does that? hm, interesting, i bet it's broken in a variety of ways (14:21:08) mjl-: do you know how erlangs code update method works? (14:21:12) mjl-: yes, it is (14:21:15) soul9: yeah (14:21:24) soul9: it keeps reference of the modules (14:21:35) soul9: so there is one 'current' version of the module (14:21:42) soul9: and there can be one 'old' version (14:21:44) mjl-: in limbo you can (re)load modules, if you isolate the state and pass it to the newly loaded modules, you can "upgrade in place" i think (14:21:56) soul9: right (14:22:11) soul9: since there is not supposed to be state in erlang, you can do this pretty easily (14:22:25) soul9: also, if you use the builtin behaviours code-update is automatic (14:22:41) mjl-: that is somewhat interesting (14:22:44) mjl-: if it actually works :) (14:22:52) soul9: it does (14:23:02) soul9: if T uses it, it has to work (14:23:06) mjl-: T? (14:23:17) soul9: T-(mobile|com|net|blah) (14:23:20) mjl-: ah (14:23:32) mjl-: hmm, i'm wondering if you could do the same in inferno (14:23:35) mjl-: with dis (14:23:44) mjl-: as long as the module interfaces match, why not? (14:23:57) mjl-: just the init code won't be run again (14:24:07) soul9: yeah? (14:24:11) soul9: interesting! (14:24:15) soul9: :-) (14:24:18) mjl-: well, you have to write code for it (14:24:42) soul9: yeah, you need to plan your application that way in erlang too (or use the builtin behaviours) (14:25:03) soul9: because if a function just sits there waiting for a message, it won't get updated (14:25:09) mjl-: the dis vm will probably need some code (14:25:09) soul9: until it calls itself again (14:25:12) mjl-: to load a module and use the module data from the previously loaded version (14:25:29) mjl-: good point (14:25:54) soul9: so you can just do a receive of the 'update' atom, and then just call yourself again (14:26:27) soul9: but i think it's a pretty neat feature, to not have to restart when there is a code update (14:26:37) mjl-: it is (14:26:53) mjl-: but i'm really wondering if it can always be used (14:27:01) mjl-: perhaps i'm a pessimist (14:27:30) soul9: well, erlang is supposed to be almost 'purely functional', so there is very little state if there is at all (14:27:33) soul9: so it's easier (14:29:21) mjl-: yeah, that surely helps (14:29:29) mjl-: though i still have to look into that stateless claim (14:29:35) mjl-: i/o is not stateless (14:30:09) soul9: yeah, so you can't really have statelessness on computers eh? (14:30:11) mjl-: and aren't haskells monads supposed to maintain a state of some sort? i know they are hard to understand (14:30:37) mjl-: jups, so i suspect the abstraction has to break down somewhere :) (14:30:37) soul9: uh, haskell :-D (14:31:05) soul9: well, the syntax of haskell scares me even more then erlang ;) (14:32:39) soul9: looks like yes, even haskell keeps some state :-D (14:32:56) soul9: isn't haskell supposed to be the 'purest' or whatever? (14:35:43) mjl-: i don't know about the syntax. they taught miranda at my uni, it's similar to haskell, so that looks familiar now. i've looked at erlang, but it seemed weird to me. first impressions :) (14:36:31) soul9: :-) (14:36:52) soul9: i like the ideas, and their multiprocessing implementation is fairly nice compared to others (14:37:05) soul9: i've been able to use ~190% cpu on my dual-core (14:37:24) mjl-: that is good (14:37:27) soul9: and distributing stuff is just so easy :-) (14:37:28) mjl-: did you write the erlang code? (14:37:31) soul9: yeah (14:37:33) mjl-: or what erlang are you running? (14:37:48) soul9: e.g. http://9souldier.org/blog/2009/10/11/0/ (14:37:53) soul9: what do you mean what erlang? (14:38:01) mjl-: what erlang code (14:38:02) mjl-: sorry (14:38:08) soul9: oh (14:38:20) soul9: er, you mean erlang servers and stuff like that? (14:38:32) soul9: well, i use the jabber server ejabberd (14:38:46) soul9: it works very nicely, haven't had any problems with it evr :-) (14:38:55) mjl-: nice (14:45:32) raiz [n=raiz@p4FE88168.dip0.t-ipconnect.de] entered the room. (15:03:40) j123m left the room (quit: Read error: 110 (Connection timed out)). (15:21:34) sswam [n=sswam@CPE-124-176-151-250.vic.bigpond.net.au] entered the room. (15:40:42) rapidfx left the room (quit: "Leaving."). (16:17:43) j123m [n=j1m@unas-revda.interra.ru] entered the room.