--- Log opened Sun Jan 29 00:00:45 2006 00:53 -!- Arnia [n=jgeldart@1-40-101-159.adsl.legend.co.uk] has joined #nemerle 00:53 -!- Arnia [n=jgeldart@1-40-101-159.adsl.legend.co.uk] has left #nemerle ["Kopete 0.10.4 : http://kopete.kde.org"] 00:54 -!- Arnia [n=jgeldart@1-40-101-159.adsl.legend.co.uk] has joined #nemerle 01:18 -!- kanru [n=kanru@59-121-147-130.dynamic.hinet.net] has quit ["Leaving"] 01:33 -!- nazgul` [n=d47f5f7d@lilith.ii.uni.wroc.pl] has quit ["CGI:IRC (EOF)"] 03:18 -!- Arnia [n=jgeldart@1-40-101-159.adsl.legend.co.uk] has left #nemerle ["Kopete 0.10.4 : http://kopete.kde.org"] 04:38 -!- ChanServ [ChanServ@services.] has quit [ACK! SIGSEGV!] 04:49 -!- ChanServ [ChanServ@services.] has joined #nemerle 04:49 -!- ServerMode/#nemerle [+o ChanServ] by irc.freenode.net 08:03 < malekith> user317: are you running make install from the ROOT account? or are you making a package? 08:04 < malekith> d: it only works for tuples 08:04 < malekith> d: I didn't think it was needed for anything else 08:05 < malekith> d: though your example might be a good candidate too, but it would be def foo(Pair where (x, y)) { ... } 08:25 -!- nazgul` [n=nazgul@NATW6-Rozanka.ip.WRO.Korbank.PL] has joined #nemerle 08:25 -!- mode/#nemerle [+o nazgul`] by ChanServ 08:30 < user317> malekith: i am using gentoo: make DESTDIR=${D} install should install everything into the diretory that i specify 08:51 -!- nazgul` [n=nazgul@NATW6-Rozanka.ip.WRO.Korbank.PL] has quit [Remote closed the connection] 09:05 < malekith> yes, lemme check 09:06 < malekith> user317: and where is gacutil trying to write? 09:07 < malekith> user317: this works for rpm: http://pastebin.com/528447 09:18 < user317> thanks, let me try that 09:33 < d> malekith but why limit the possibilities here ? wouldn't such a simple transformation work for any patter ?: 09:34 < d> def (pattern) { ... } #==> 09:34 < d> def (args) { match (args) { | pattern => ... } 09:34 < d> or with a "where" keyword or whatever, but so, that any patter could be used 09:35 < user317> thanks that worked 09:55 < d> and one more thing, could anyone tell me what is wrong with the GetEnumerator method here http://terror.org.pl/~d/rlist.n ? it's at the very bottom along with the error msg.. (remember this is polymorphic recursion, so some solutions used may seem weird at the first glance) 09:56 < d> i never used yield before, so i'm kinda clumsy with this.. 09:56 < malekith> d: I think one should only use 'always-match' patterns in function parameters 09:57 < malekith> because: 09:57 < malekith> def foo(x :: xs) ... 09:57 < malekith> def foo ([]) ... 09:57 < malekith> simply won't work 09:57 < d> hm 09:57 < d> so why not 09:57 < malekith> d: you cannot use yield in local functions... sorry.. :/ 09:57 < d> just give a warning 09:58 < d> if someone feels too much like programming haskell ;] 09:58 < malekith> ;) 09:58 < d> hm. so i won't be able to create an enumerator for rlists ?;/ 09:58 < malekith> yield doesn't remember the stack 09:58 < malekith> this is why it is so restricted 09:58 < d> mhm 09:59 < malekith> but I guess it can be written 09:59 < malekith> using Yield 10:00 < d> is the capital Y there on purpose ?;] 10:00 < d> if so, then i don't know what you're talking about ;] 10:01 < malekith> no 10:01 < malekith> lemme think a bit 10:01 * malekith is wrapping his mind around poly-recursion ;-) 10:01 < d> i need to use pass a function as one of the arguments, there's no way to do it otherwise and in such a case, the GetEnumerator method wouldn't match the signature.. 10:01 < d> s/use// 10:03 < d> btw i used 'b in there, 'cause in RList [Pair ['a]].Enumerate 'a becomes Pair ['a] and the enumerator is for 'a, so i just gave up type checking (dunno if that's a correct approach) 10:03 < malekith> http://pastebin.com/528479 10:03 < malekith> but I guess I got the ordering wrong 10:04 < d> hmm 10:04 < d> but i want to yield 'a elems 10:04 < d> not Pairs 10:04 < malekith> and you do 10:04 < malekith> yield elem.fst; 10:04 < d> remember, that the deeper the recursion 10:04 < d> the deeper the pair nesting 10:04 < malekith> yes 10:05 < malekith> but it compiles and it seems to me it will work 10:05 < d> really ? great :) 10:06 < malekith> there should be FromList static method 10:06 < malekith> of maybe a constructor taking lis 10:06 < d> there will ;] 10:06 < d> but that needs a bit more thinking 10:06 < d> because consing every elem is not optimal 10:07 < d> hm, it works indeed. wiiiicked ;> 10:08 < malekith> :) 10:09 < malekith> I guess I even got the ordering almost right 10:09 < malekith> it seems just reversed 10:09 < d> no really, it seems to be totally ok 10:09 < malekith> or even not reversed 10:11 < d> and as i said before - couldn't [this] be matched by default if the function takes no arguments ? 10:11 < d> so "match" and the two annoying curly braces could be ommitted ;] 10:12 < malekith> I just posted an email about this to devel-en 10:12 < d> mhm 10:12 < malekith> I think this can (and should) be done 10:13 < malekith> unfortunately 10:13 < malekith> Rev (acc : list ['a]) 10:13 < malekith> won't work (inside some variant) 10:16 < malekith> that is you cannot say: 'Rev (match this, acc : list ['a]) 10:16 < malekith> or maybe you should be able... 10:18 < d> yeah, i like the syntax with an argument prefixed with "match" 10:19 < d> and with "match this" - well this is not as obvious as in, say python, where "this" is explicitly written among the arguments, but it seems reasonable enough to me 10:39 < CIA-10> d * r6090 /nemerle/trunk/lib/rlist.n: Add enumerators for Pair and RList (thank's to malekith). 11:07 < d> irclog grepping at the nemerle site could be usefull ;-d 11:08 < d> i mean even a field that asks google "query site:http://nemerle.org/irc/" would be enough 11:23 < malekith> i guess you cannot filter google results based on directory 11:23 < malekith> only based on hostname 11:24 < malekith> but I may be mistaken 11:36 < d> it worked for me just a moment ago 11:36 < d> ;] 12:08 < malekith> oh... strange. maybe they added it 12:08 * malekith works hard on getting his theorem prover to where it was 30 revisions ago... 12:08 < malekith> (performance-wise) 12:09 < malekith> i'm close http://nemerle.org/~malekith/temp/plot.png 12:53 < d> heh 12:55 < d> l3.Length = 10000000 (time: 00:00:01.7827830) 12:55 < d> rl3.Length = 10000000 (time: 00:00:00.3186440) 12:55 < d> that's better. 12:55 < d> i fixed Length a bit. 12:58 < CIA-10> d * r6091 /nemerle/trunk/lib/rlist.n: Fix Length, add the simplest version of FromList. 13:38 < d> malekith is it *really* worth (performance-wise) to repeat some code from a certain match-branch instead of making a recursive call that will lead to that branch ? 13:45 < d> malekith i'm thinking of situations like in Nth where when we match One (x, ps), then we make a recursive call with Zero (ps), instead we could make these computations instantly, without this recursive call. code will be slightly longer and less concise, but possibly faster, and it's that speed that i started writing this for in the first place.. 13:55 < malekith> d: The problem is possibly not a call, but an allocation and subsequent match 13:56 < malekith> but you'll never know until you profile 13:57 < d> mhm. i'm making tests now, we'll see.. 14:01 < d> on a 2500000-element rlist, looking up each elem with Nth takes 20.25secs for normal Nth and 28.95 for the Nth without the additional call and matching ;-d 14:01 < d> but differences in results on small lists are more significant 14:02 < d> 0.34 vs. 0.001 14:02 < d> for a 20-elem rlist 14:02 < d> so i guess it's worth it 14:02 < d> whoops 14:02 < d> thats 0.034 vs. 0.001 14:03 < d> but still.. ;] 14:03 < d> i hope these relations hold on other CPUs ;] 14:06 < malekith> that is expanded version is SLOWER on long lists? that's very strange 14:06 < d> ah 14:07 < d> another mistake 14:07 < d> that's 18.95 14:07 < d> not 28.95 14:07 < d> sorry 14:07 < malekith> so it's always faster, good 14:07 < d> yup. 14:07 < d> just the difference is bigger for smaller lists 14:07 * malekith will be trying to run System Zapisy on his home box 14:07 < d> and we usually use small lists like that 14:07 * malekith expects PROBLEMS 14:07 < d> heh 14:07 < d> what for ?:) 14:08 < malekith> testing 14:08 < d> i see 14:08 < malekith> to see what's really needed for it to run 14:08 < d> possibly a complete rewrite ;] 14:08 < malekith> I'm the new admin of this shit 14:08 < malekith> hehe 14:08 < malekith> maybe, but I don't have time for such things 14:08 < malekith> maybe some student :) 14:09 < d> yeah, some student already did that 14:09 < d> but never finished 14:09 < d> cause he got his title before it was done 14:10 < malekith> heh. anyway it's possible we'll use something called ipsos or upsos also for ''system zapisy'' 14:10 < malekith> in one year or so 14:11 < d> never heard of it ;-d\ 14:12 < malekith> Need to get 25.8MB of archives (25.8MB to download). 14:12 < malekith> After unpacking 72.3MB will be used. 14:12 < malekith> pff 14:12 < d> heh 14:13 < d> perhaps adding caching to the current software would solve the perfoirmance problems 14:13 < d> there is some general stuff for apache, mmcache or something. never used it, just heard of it. 14:13 < malekith> are there still performance problems? 14:13 < d> during the day the system is opened ? HUGE 14:14 < d> it took a few minutes after each click 14:14 < d> for the site to load 14:14 * malekith didn't use the system for a while 16:04 < d> the errors are really scary when you forget $ in LCs. perhaps some friendly hint would be in order.. after all many people are going to be used to the notation without the $.. 16:06 < d> oh. hgat was a different error 16:15 < CIA-10> d * r6092 /nemerle/trunk/lib/rlist.n: Slightly optimize Nth, FoldLeft and FoldRight. 16:33 < d> and btw, "detached" type specifications, such as those in haskell, are great. they are good documentation (when type inference is being used everywhere) and they could be a nice solution now, that type inference on global methods is not implemented. people could write code as if it was implemented and just add a line with a detatched signature for each method. 16:34 < d> just a thought.. 16:34 < d> :) 18:01 -!- serras [n=serras@62-14-190-160.inversas.jazztel.es] has joined #nemerle 18:01 -!- serras [n=serras@62-14-190-160.inversas.jazztel.es] has left #nemerle ["Abandonando"] 18:34 < d> wow, i love these LCs, they're really handy during testing 18:53 < malekith> ;-) 18:54 * malekith is looking into extension methods 19:15 < CIA-10> d * r6093 /nemerle/trunk/lib/rlist.n: Fix Equals, add FromList (xs, i) with O (|xs|) time complexity. 19:16 < d> not even a reverse was required :] 19:18 < d> hm. 645 lines already ;-d mostly comments though ;] 19:23 -!- nazgul` [n=d47f5f7d@lilith.ii.uni.wroc.pl] has joined #nemerle 19:23 -!- mode/#nemerle [+o nazgul`] by ChanServ 23:54 -!- nazgul` [n=d47f5f7d@lilith.ii.uni.wroc.pl] has quit ["CGI:IRC"] --- Log closed Mon Jan 30 00:00:46 2006