Conversation with #inferno at Wed Apr 15 06:26:05 2009 on powerman-asdf@irc.freenode.net (irc) (06:31:50) newmanbe left the room (quit: Read error: 104 (Connection reset by peer)). (06:36:20) tombohannon [n=tombohan@63.85.6.51] entered the room. (07:04:02) tombohannon left the room (quit: Read error: 110 (Connection timed out)). (08:15:52) andguent [n=andre@p4FF65D0B.dip.t-dialin.net] entered the room. (09:14:23) underspecified_ [n=eric@isa7-dhcp-116-230.naist.jp] entered the room. (09:59:28) mjl-: morning (10:13:39) npe [n=npe@195.207.5.2] entered the room. (10:43:28) underspecified__ [n=eric@naist-wavenet125-204.naist.jp] entered the room. (11:00:29) underspecified_ left the room (quit: Read error: 113 (No route to host)). (11:07:00) gdiaz_ios [n=none@217.14.40.23] entered the room. (12:54:05) underspecified__ left the room (quit: ). (13:00:07) mjl-: gdiaz_ios: just tried your ios .msi (13:00:11) mjl-: works like a charm (13:00:14) mjl-: good stuff (13:00:52) mjl-: it doesn't have the full inferno fonts, right? (13:13:41) underspecified_ [n=eric@isa7-dhcp-116-230.naist.jp] entered the room. (13:31:34) gdiaz_ios: hello mjl- no, i try to include only what is published on svn (13:31:49) gdiaz_ios: which version did you get? i updated to 1.1 the other day. . . (13:32:29) gdiaz_ios: in the script font is defined to /font/misc/unicode.6x13.font which is enought for my uses (13:34:44) underspecified__ [n=eric@naist-wavenet125-204.naist.jp] entered the room. (13:36:01) underspecified_ left the room (quit: Read error: 110 (Connection timed out)). (13:41:44) mjl-: gdiaz_ios: i downloaded just before i mentioned i tried it. so must have been the newest. and indeed the font looked just fine. (13:43:35) underspecified__ left the room (quit: ). (13:51:05) gdiaz_ios: ☺ great, when the whole "ios" think becomes polished i guess i'll send a notice to the mail list (14:24:56) underspecified_ [n=eric@naist-wavenet125-204.naist.jp] entered the room. (14:45:22) underspecified_ left the room (quit: ). (14:54:19) C-Keen: hm, is garbage collection part of the limbo language, i.e. does the limbo compiler insert dis instructions for it or is it done withing dis? (14:54:47) mjl-: it must be in dis (14:55:00) mjl-: i don't know the details, it's on the todo list (14:55:08) C-Keen: figures (14:55:29) C-Keen: hm, I should write a lisp -> dis converter (14:55:34) mjl-: i do know approximately what the cyclic gc does (14:55:35) C-Keen: sounds easy enough (14:55:57) mjl-: you can probably get help/hints from vita nuova people from that (14:56:04) mjl-: i've heard others interested in it too (14:56:33) C-Keen: not in limbo though atm (14:57:08) C-Keen: I was planning to do it in haskell, so I could compile programs for dis (this is easier for me now) (15:00:41) olegfink: C-Keen, compile haskell to dis? (15:01:37) C-Keen: olegfink: no compile something easier (like lisp) to dis (15:01:42) C-Keen: olegfink: in haskell (15:01:44) olegfink: ah (15:01:53) olegfink: that sounds much... saner. :-) (15:02:02) C-Keen: oh well :) (15:02:50) olegfink: I'd welcome an ocaml backend to dis. but iirc dis doesn't support tail call optimisations, for one. (15:03:11) olegfink: I would suggest to talk to roger peppe (15:04:04) ***uriel would welcome any new *frontend* for dis (15:04:11) C-Keen: hm, but tail recursion is not dis' problem (15:05:05) uriel: C-Keen: AFAIK is is dis' problem, and I'm quite certain it is possible, not sure if currently implemented though... (15:05:09) C-Keen: detection for tail recursion should be in the backend and result in creating a simple loop (15:05:17) uriel: (see the papers about dis at http://doc.cat-v.org/inferno/ (15:05:19) C-Keen: s,back,front, (15:05:41) C-Keen: uriel: thanks for providing these, I have been reading through then the last hour (15:05:54) olegfink: hrm, all popular vms I know of do this in the intepreter (15:06:03) olegfink: even worse, jvm does it only in jit (15:06:04) uriel: ah, cool, glad you find them useful (15:06:23) uriel: olegfink: I thought jvm couldn't do it at all by design... (15:06:43) olegfink: since some time it's possible in jit (15:06:45) olegfink: iirc (15:06:49) uriel: (but my knowledge of the jvm is willfully outdated, and I hope to forget the little I know soon) (15:08:27) maht: just write the bytecode and execute it, it's all in the paper (15:20:52) C-Keen: maht: ack (16:26:09) underspecified_ [n=eric@softbank220043052007.bbtec.net] entered the room. (17:02:50) gdiaz_ios: C-Keen charles comented about adding capabilities to being able to define functions inside other function (like lisp does) (17:03:38) olegfink: gdiaz_ios: closures? (17:03:59) olegfink: I think russ once proposed an extension to dis for that. (17:04:35) gdiaz_ios: foo():int { a:=(int i, string s): int { return nil:};} (17:05:05) olegfink: yep. (17:05:14) gdiaz_ios: so a is a function inside foo() like lambda functions of lisp (17:05:38) C-Keen: closures (17:05:46) C-Keen: that's what they are called (17:05:54) mjl-: that would be pretty useful (17:05:54) C-Keen: or anonymous funciton (17:05:55) C-Keen: s (17:06:11) mjl-: spawning calls to those would be very useful (17:06:22) olegfink: iirc that was called linkfn? (17:06:25) C-Keen: well functions as first order types would be great too (17:06:33) gdiaz_ios: fist-class function. . terminology could be a hell in cross-language environment XD (17:06:43) mjl-: C-Keen: aren't they close to that already? (17:06:44) olegfink: C-Keen: ...what about porting ocaml then? :-) (17:06:50) mjl-: with references to functions being possible (17:06:54) gdiaz_ios: he sayd literally first-class function iirc (17:06:59) gdiaz_ios: *said (17:07:06) olegfink: http://archive.netbsd.se/?ml=Inferno-discussion&a=2007-02&t=3181254 (17:07:16) C-Keen: mjl-: almost but not quite, the compiler cannot check if you pass the right reference (17:08:51) olegfink: when you have hof and stuff, you want syntactic sugar too. (17:09:30) mjl-: interesting all (17:10:09) olegfink: that is, without sugar all this isn't really fun to use. (17:11:31) mjl-: you mean just dis support isn't enough, you need limbo to provide syntax for it? (17:12:02) gdiaz_ios: haha, sending functions across channels. . . .would that be useful? (17:12:42) gdiaz_ios: also typechecking turn harderd with first-class fn's i think (17:14:07) C-Keen: not really you now the type of a function in advance and check if that fits by matching the signature pattern (17:16:49) mjl-: yeah, the function types would still be known at compile time. (17:19:46) gdiaz_ios: no, you can build functions in runtime (17:19:59) gdiaz_ios: or at least that's a first-class function (17:20:48) gdiaz_ios: (following wikipedia definition of first-class function) (17:21:13) mjl-: oh, i would say the useful thing is that you can bind local (or: non-global) variables into the function scope. (17:21:29) mjl-: but that's more the closure thing i suppose. not the first-class function thing. (17:21:52) fwiffo [n=user@unaffiliated/fwiffo] entered the room. (17:22:00) mjl-: still i don't see how you'ld make a function with unknown time at compile time. my imagination is lacking ;) (17:22:47) gdiaz_ios: imagine you hace a function_builder(): fn { new_fn=....; return new_fn} and then you call that new_fn, that-s first-class function i think (17:23:20) mjl-: but that function_builder() has to return a known type. "fn" is not a full type. (17:23:52) gdiaz_ios: and until you run the code, you don't know how new_fn would end, of course new_fn will be fb type, but its params and return value. . . :? (17:23:55) mjl-: so, if first-class functions are really untyped functions, that won't happen in limbo (17:24:34) gdiaz_ios: is not that they do not have a type, just happens you don't know which one until it is constructed (17:24:52) gdiaz_ios: or were you meaning exactly that? (17:26:23) fwiffo: fn is just a syntatic sugar for defining function references (17:27:14) mjl-: nope, didn't mean that. that new_fn=... is would create a fully typed function i would say. with known parameters & return type. thus, function_builder's return type would have to match new_fn's return type. (17:30:19) mennis_ [n=mennis@adsl-154-96-199.asm.bellsouth.net] entered the room.