»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by wolfe.freenode.net on 30 October 2009.
Supaplex you still working at gurulabs? 00:00
Tene Yes.
Supaplex kewl. I'm still with Juniper
s1n happy new year everyone 04:52
pugs_svn r29434 | duff++ | Change URL for advent calendar to point to the "ToC" 05:03
mberends I'm sorry if I appeared grumpy yesterday at 19:24. "Why don't they realise that questions beginning with why are so annoying?" was written as a self referential joke that completely fell flat. Maybe a ;) at the end would have helped. 07:45
pugs_svn r29435 | diakopter++ | [sprixel] Add jsemit.js, representing about 15% of the port of sprixel# (in C#) *back to* JavaScript. Good times. 2010: o hi o 07:47
diakopter mberends: hi 07:53
sleep& :)
mberends hi diakopter. oh. bye.
pugs_svn r29436 | mberends++ | [src/perl6/Makefile] try to eliminate that "rm: cannot remove `CORE.syml.store'" message 08:14
r29437 | mberends++ | [v6/mildew] add a 'make help' 08:29
Su-Shee good morning 09:54
mberends: it's called "chandler" and it was by mitch kapor. 09:55
mberends Su-Shee: interesting answer, but what was the question? 10:02
Su-Shee mberends: the project I was talking about yesterday. :)
mberends: and the book about it is called "dreaming in code: Two Dozen Programmers, Three Years, 4732 Bugs, and One Quest for Transcendent Software" 10:03
mberends right, I also just remembered :)
Su-Shee mberends: I just woke up with this in my mind :) 10:04
mberends heh
wikipedia has good writeups about both Mitch and chandler. definitely Hubris Driven Development. 10:13
Su-Shee was very educational, the book. 10:22
what becomes very clear is also mistakes like "too cool technology too early" and "not abondoning the wrong path in time" 10:23
mberends I also like books about software development etc.
Su-Shee I've read a couple when I started working as a project manager, but it's all nothing really new and all elements of "good organization" still apply. they're timeless anyway. 10:26
mberends I really enjoyed "The Soul of a New Machine" by Tracy Kidder. It could have been about the 386, but was actually about the Data General Eclipse MV/8000 (a first go at 32 bits). 10:28
Su-Shee well really enjoying was Harry Potter I - VI :)
mberends now that's seriously off topic ;) 10:29
Su-Shee no. "it's magic!" :)
though I'd rather like to read a book about what projects/companies are doing right.
mberends that's usually a secret, isn't it? 10:30
Su-Shee no, it's just not a subject which is usally covered in technical books or software-development related books. 10:31
Su-Shee as with everything, you can easily start with old greek and latin stuff about principles of "getting things done" ;) 10:31
you'll find plenty in economy, politics and psychology. 10:32
mberends I've had to deliver courses about software project management, development methodologies, and product lifecycles. The audience has either "got it" already, or "don't get it" and won't. So either I cannot teach the subjects, or it's hard to learn if it's not in one's nature. 10:39
Su-Shee yes. some people just do proper organization and profit from a couple of simple tips and others don't get it even after a shelf full of books. 10:40
mberends exactly
Su-Shee I've written an anti-slacker-howto a couple of years ago. every year short before german graduation period, I get mails from desparate students ;) 10:43
mberends Su-Shee: can you give a 3-sentence English translation of it? 10:52
Su-Shee mberends: "slacking is not cool, people who naturally don't slack don't overwork themselves but get the dosage and rythm of getting things done right, start with small, very distinct tasks and the small project actually delivered is better than the grand gesture never finished" ;) 10:54
mberends: I pm'ed a bunch of young hackers once. ;) 10:55
mberends: and for naturally well organized people learning a foreign language is a simple calculation of "if I do this daily 20 minutes (which is what I got) then I'll know spanish rather well in a about a year". 10:57
mberends Su-Shee: thank you 11:02
Su-Shee mberends: can't you read german anyway? 11:06
mberends there are many circumstances where many small incremental steps are suitable. Unfortunately, some processes seem to require huge steps. Creating Perl 6 is an example. You have to break backward compatibility and start a lot afresh. 11:07
I do read German, carefully ;)
Su-Shee mberends: schreibsturm.org/antiverpeil.html 11:08
mberends I asked for English because the wisdom would be good for the lurkers 11:08
Su-Shee the english term is procrastination. 11:09
mberends ok, that will take about half a morning to fully understand ;)
we use the term procrastinate in this channel when referring to preparing talks for Perl Workshops and YAPC's ;) 11:11
Su-Shee I know :)
mberends masak and I finished out procrastinations in the corridors of the venues, a few minutes before the scheduled start times. 11:12
Su-Shee I hate working like that. 11:13
mberends deadlines have a wonderful effect of focusing the mind on what's important.
it is a pity that the Perl 6 development process has few deadlines. I'm glad the April deadline for Rakudo * is focusing some minds. 11:14
Su-Shee oh, I like deadlines. I just don't like starting with the project when the deadline is already in sight :) 11:15
mberends no, the procrastinators have deadlines very far way.
I am planning to attend YAPC::EU 2010 in Pisa. I have started procrastinating already. 11:16
Su-Shee plans to get the probabtion period finished and after that, we'll see. 11:19
mberends Su-Shee: good luck with that, I hope you like the new $job
Su-Shee well it's one of the rare perl jobs left. ;) 11:20
WHERE WE WOULD LIKE TO SWITCH TO PERL 6 SOME TIME SOON. ;) 11:21
mberends that's so good, to know there are eager adopters in business 11:23
Su-Shee my cto really diggs perl. 11:25
Su-Shee and we're really quite modest on the module usage, so we actually _can_ switch rather easily. 11:27
Su-Shee anti-slacking phase I: getting vegetables now. ;) 11:28
mberends Coffee first. I'm going to read the rest of that anti-procrastination later ;) 11:32
jho What would be the most elegant way to create an array with a length of $n where all the elements are initialized to a certain constant value? 12:13
mberends rakudo: my @a="jho" xx 4; say @a.join(":"); 12:56
p6eval rakudo db84bc: jho:jho:jho:jho␤
mberends rakudo: my $n=8; my @a="jho" xx $n; say @a.join(":"); 13:03
p6eval rakudo db84bc: jho:jho:jho:jho:jho:jho:jho:jho␤
mberends rakudo: my $j="jho"; my $n=10; my @a=$j xx $n; @a.join(", ").say 13:20
p6eval rakudo db84bc: jho, jho, jho, jho, jho, jho, jho, jho, jho, jho␤
pmurias hi 15:13
mberends hi pmurias, how are things going with you? (I'm slowly developing vill) 15:14
pmurias is getting round to replacing m0ld with an SSA AST 15:15
mberends interesting, is it difficult to convert VAST to SSA? (LLVM is SSA based) 15:16
pmurias i'm not doing it as a single step 15:17
i think LLVM does the variable to SSA registers conversion by itself 15:18
mberends: i didn't yet get to the conversion to SSA yet, working on a flattening the AST first 15:19
mberends yes you are right about LLVM register assignment. 15:20
mberends good luck pmurias, it seems like very difficult work to do 15:22
pmurias more like steal the alogrithm from the internet kind of task 15:23
;)
mberends
.oO( oh, the internet. why didn't I think of that? )
15:24
Su-Shee too obvious. ;) 15:27
mberends I did try some software from the internet once. After that, the computer needed a re-installation of Windows ;) 15:28
Su-Shee I've never had windows. I went from DOS to Unix. ;) 15:29
frettled Sounds like the computer needed a installation of Linux, not a re-installation of Windows. ;) 15:30
mberends yes, that fixed it 15:31
Su-Shee you could have used OS/2!
huf he couldda used an anal torture device too
mberends now, all software from the internet Just Works (tm)
Su-Shee lucky us. :) 15:32
mberends the computer did want to try OS/2, but OS/2 did not want to try that computer 15:33
Su-Shee I've tried it once, but I was already hooked on linux and the internet. 15:35
pugs_svn r29438 | mberends++ | [vill] partly working graph_traverse and yaml_compose_roundtrip 15:47
pmurias mberends: JavaScripdt::V8 is documented well enough? 16:03
mberends pmurias: I did have a few notes to add about the V8 lib installation, after that GCC 4.4.1 warning that became an error, and the patch you showed to fix it. Overall I'm happy, and will add a little bit for you soon. 16:08
pmurias: it's waiting on an opportunity to re-do the installation from scratch on a freshly installed OS. I'm thinking of playing with Ubuntu 10.4-alpha soon. 16:10
arnsholt Is there someone around who could give me some pointers on PCT? 16:12
pmurias arnsholt: tried asking on #parrot 16:13
?
arnsholt That would of course be the good idea
pmurias mberends: if you have anything about mildew installation written down, commit it and i'll try to polish it 16:18
diakopter I find it disconcerting that I have to port my entire program from JS to C# just to use the allocation & call tree profiling, and then port it back to JS. 16:27
diakopter (and to prove the algorithm) 16:40
I mean, I find it disconcerting that *I feel* I have to... 16:43
pmurias diakopter: is there a profiler for js? 16:51
diakopter the one in IE8 is quite good; I haven't checked the one in Firebug lately (or Safari/Chrome for that matter)... but 8 months ago they didn't approach IE8's stability and responsiveness 16:52
there might be one in V8 I haven't yet discovered 16:53
(command-line, I mean)
pmurias code.google.com/p/v8/wiki/V8Profiler? 16:54
diakopter cool. sample-based 16:55
pmurias: does JavaScripdt::V8 do anything beyond the original Acme::V8 16:56
er, Acme::JavaScript I guess it was called 16:57
(the original one from the Japanese forum)
pmurias diakopter: not yet 16:58
diakopter pmurias: does it build on amd64 linux? 17:00
pmurias diakopter: haven't tried it
don't know why it shouldn't
diakopter I had to add the no-fPic or something 17:01
to the original
but perhaps MakeMaker takes care of that
pmurias the orginal did some wird things 17:02
diakopter oh
pmurias diakopter: JavaScripdt::V8 is on CPAN 17:04
nadim any introspection support yet (synopsis is unexistant and draft marked). thought I'd get the number of elements of an array (wow advanced!) and here is the list of what I tried _before_ I find out 17:19
length, len, WHAT, ALL, methods, scalar, Methods, METHODS, elements. Pfiuu 10 tries! 17:20
mberends nadim: @array.elems 17:21
nadim mberends: thanks I found out
nadim really hopes there will be a "use English" mode to avoid silly shortening and wild guesses 17:23
anyone has done or seen a Rakudo benchmark vs P5? 17:24
diakopter stays quiet
mberends too
diakopter nadim: you might search the irclogs for "microbenchmark". 17:25
irc.pugscode.org
nadim google search gave better results 17:35
s1n nadim: it's okay, .elems isn't overly descriptive, sounds more like you want the elements of the list and not, say, the .count or .len
nadim one just has to learn the right method (even if it is not the best ever named method) but finding all the methods of an object should be trivial 17:36
I'd rather try one of 100 known method names than trying to find it from nothing
mberends rakudo: my @a; .say for @a.^methods 17:40
p6eval rakudo db84bc: delete␤Scalar␤␤shift␤Array␤exists␤splice␤push␤unshift␤pop␤item␤values␤
mberends nadim: ^^ 17:41
nadim precisely what I was looking for. thanks 17:42
trying to find that in the rakudo source turned out to be less direct than I thought
mberends yes that must have been hard 17:43
nadim I'd be interresting to make a survey asking the community why they would switch to P6 and see if there is something else than coolness factor. 17:48
mberends you would get very different answers from different subsets of the entire community. 17:50
nadim sure but that's not less interresting 17:52
mberends this channel does discuss such questions fairly often, and the diversity of motivations and expectations is quite wide. Even contradictory on some points. 17:53
pmurias contradictory? 17:54
mberends I mean different members of #perl6 have different wants, sometimes almost opposing when it comes to details. 17:55
pmurias nadim: [].^methods 17:56
perl6: [].^methods
p6eval pugs: *** No such method in class Class: "&methods"␤ at /tmp/Nrswjm7ssA line 1, column 1 - line 2, column 1␤
..rakudo db84bc: ( no output )
..elf 29438: Unknown rule: dotty:.^␤It needs to be added to ast_handlers.␤ at ./elf_h line 2850␤
pmurias rakudo: 1.^methods 17:57
rakudo: say 1.^methods
p6eval rakudo db84bc: ( no output )
rakudo db84bc:
..IntpredsuccNumsignperlWHICHabsScalarComplexStrsecunpolarACCEPTSRatsinIntacosecjoinsubstsinhcosechacosechabselemsendchompindexceilingtrimp5chompasecpairssechordrandtruncatesortsqrtrindexasinintatanhcoshcosecgrepvaluescharsrootsreverseisaucfirstkvsamecasetancoscapitalizefmtbytesflipdoesp5ch…
pmurias rakudo: say [1].^methods.perl
p6eval rakudo db84bc: [{ ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }]␤
pmurias rakudo: say 1.^methods.perl
p6eval rakudo db84bc: [{ ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, {
..... }, …
mberends rakudo: .say for 1.^methods
p6eval rakudo db84bc:
..unpolar␤ACCEPTS␤Rat␤Int␤pred␤succ␤Num␤sign␤perl␤WHICH␤Scalar␤abs␤Complex␤Str␤sec␤p5chomp␤keys␤kv␤floor␤asech␤ord␤capitalize␤pick␤round␤evalfile␤int␤split␤match␤acosh␤words␤p5chop␤lc␤join␤sinh␤cotan␤acotan␤atan2␤reduce␤srand␤trim␤asec␤reverse␤cotanh␤isa␤polar␤:d␤:e␤ucfirst␤:f␤sech␤tan␤cos␤…
pmurias s1n: it's called elems because the mentions the unit 18:00
nadim Finally I get it to do something I find logical! @a.^methods.join(' ').say 18:04
mberends :)
nadim although I would have liked "[say] @a.^methods" to work
sure but that's not less interresting 18:05
oops wrong window 18:06
mberends rakudo: my @a; say [~] @a.^methods
p6eval rakudo db84bc: shiftArraysplicepushexistsunshiftitempopvaluesdeleteScalar␤
nadim no \n 18:07
rakudo: my @a; [say] @a.^methods 18:08
p6eval rakudo db84bc: say requires an argument at line 2, near "] @a.^met"␤in Main (file src/gen_setting.pm, line 2593)␤
nadim that's a surprising error message. why wouldn't say get an argument?
mberends nadim: that's because [say] 1, 2, 3 means something like 1 say 2 say 3
nadim don't you mean say(3, say (1, 2)) ? 18:10
mberends I'm not really sure, but say is not an infix operator 18:11
[op] is designed for binary operators such as + * ~ > etc 18:13
nadim blocks should be so any non infix operator can be called like [{say}] @a 18:14
but maybe that's worse :)
IMVHO, limiting the reduction op to what infix operators can do it limiting. it also removed the idea that reduction can have side effects which is what I expected [say] @array to do. reduce to nothing from subs and having the print side effect. 18:20
and don't tell me side effects are not cool :)
mberends there are advantages to forbidding side effects, such as freedom to evaluate multi-threaded in any order 18:21
huf plus you can do 1.^methods.>>.say 18:22
nadim but that's not 'do what I mean' but more 'write what I need to be able to do it in parallel' which is OK too.
huf and probably a lot of other cool stuff that's like what you wanted [say] to do 18:23
nadim Ilike the way you proposed
mberends the people who can really justify the Perl 6 design are not here right now, unfortunately I cannot articulate the rationale very succinctly. It has already been very well thought out. 18:24
diakopter std: my @a; [say] @a.^methods 18:25
p6eval std 29438: ===SORRY!===␤Two terms in a row at /tmp/VgmdRf3VIP line 1:␤------> my @a; [say] ⏏@a.^methods␤ expecting any of:␤ infix or meta-infix␤ infix stopper␤ standard stopper␤ statement modifier loop␤ terminator␤Other potential difficulties:␤
..Unsupported u…
pmurias nadim: you can use reduce &foo,@array;
diakopter it does get an error message
pmurias perl6: say(3, say (1 ,2) 18:27
p6eval rakudo db84bc: say requires an argument at line 2, near "(3, say (1"␤in Main (file src/gen_setting.pm, line 2593)␤
..elf 29438: Parse error in: /tmp/TloJ2FGFey␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: say(3, say (1 ,2)␤WHERE:/\<-- HERE␤ STD_red/prelude.rb:99:in `panic'␤ STD_red/std.rb:76:in `scan_unitstopper'␤ STD_red/std.rb:224:in `comp_unit'␤ STD_red/std.rb:210:in
..`_UNI…
..pugs: *** ␤ Unexpected end of input␤ expecting operator, ":", "," or ")"␤ at /tmp/FEPtzJMJ4v line 2, column 1␤
pmurias perl6: say(3, say (1 ,2))
p6eval elf 29438, pugs, rakudo db84bc: 12␤31␤
diakopter std: say(3, say (1 ,2))
p6eval std 29438: ok 00:01 106m␤
nadim is 'reduce &foo, @a' supposed to work like '[foo] @a'? 18:30
huf no, because [foo] @a doesnt work
nadim I meant with a &foo that would be an infix operator 18:31
diakopter parallel map?
nadim if I declare an infox operator can't I run it with [] or reduce?
pmurias nadim: yes you can 18:32
nadim: [+] @a is reduce &infix:<+>,@a 18:33
nadim perl6: my @a; reduce &say, @a.^methods
p6eval pugs: *** No such method in class Class: "&methods"␤ at /tmp/mmF5FXk4Qt line 1, column 21 - line 2, column 1␤
..rakudo db84bc: Unknown introspection value 'pos_required'␤in Main (file <unknown>, line <unknown>)␤
..elf 29438: /home/p6eval/pugs/misc/STD_red/match.rb:141:in `block in to_dump0': undefined method `to_dump0' for true:TrueClass (NoMethodError)␤ from /home/p6eval/pugs/misc/STD_red/match.rb:140:in `each'␤ from /home/p6eval/pugs/misc/STD_red/match.rb:140:in `map'␤ from
../home/p6eval/pugs/misc/STD_red/ma…
nadim interresting the error message is completely different
pmurias could elf be remove from perl6: ?
* removed 18:34
my @a; reduce &say,[7,8,9]; 18:35
perl6: my @a; reduce &say,[7,8,9];
p6eval rakudo db84bc: Unknown introspection value 'pos_required'␤in Main (file <unknown>, line <unknown>)␤
..elf 29438: /home/p6eval/pugs/misc/STD_red/match.rb:141:in `block in to_dump0': undefined method `to_dump0' for true:TrueClass (NoMethodError)␤ from /home/p6eval/pugs/misc/STD_red/match.rb:140:in `each'␤ from /home/p6eval/pugs/misc/STD_red/match.rb:140:in `map'␤ from
../home/p6eval/pugs/misc/STD_red/ma…
..pugs: *** Cannot reduce() using a unary or nullary function.␤ at /tmp/gOFsD3aRRK line 1, column 8-27␤
pmurias nadim: say doesn't take a fixed number of arguments 18:36
rakudo: my @a;sub foo($a,$b) {say $a,$b};reduce &foo,[7,8,9];
p6eval rakudo db84bc: ( no output )
pmurias rakudo: my @a;sub foo($a,$b) {say $a,$b};say reduce &foo,[7,8,9];
p6eval rakudo db84bc: 7 8 9␤
pmurias rakudo: my @a;sub foo($a,$b) {say $a,$b};reduce &foo,[7,8,9]; 18:37
p6eval rakudo db84bc: ( no output )
nadim pmurias: reduce &infix:<+> ,@a doesn't work. 18:38
cognominal rakudo: my %a; %a<b><c>='d'; 18:39
p6eval rakudo db84bc: Method 'postcircumfix:{ }' not found for invocant of class 'Failure'␤in Main (file src/gen_setting.pm, line 324)␤
cognominal ng: my %a; %a<b><c>='d';
p6eval ng 4ccc5a: Cannot assign to readonly value␤current instr.: '&infix:<=>' pc 13793 (src/builtins/Junction.pir:113)␤
cognominal std: my %a; %a<b><c>='d'; 18:40
p6eval std 29438: ok 00:01 107m␤
cognominal std: my %a; %a<b><c>='d'; say %a<b><c> 18:40
p6eval std 29438: ok 00:01 107m␤
cognominal p6eval: my %a; %a<b><c>='d'; say %a<b><c>
diakopter perl6: 18:41
mberends diakopter:
cognominal rakudo: my %a; %a<b> = {}; %a<b><c>='d'; 18:44
p6eval rakudo db84bc: ( no output )
cognominal rakudo: my %a; %a<b> = {}; %a<b><c>='d'; say %a<b><c>
p6eval rakudo db84bc: ( no output ) 18:45
pmurias nadim: it should, it seems &reduce is bugged 18:51
pugs_svn r29439 | diakopter++ | [sprixel] complete the non-char-by-char inlined edition of lit() (literal text). port the both() (stateless/deterministic edition) and end() combinators/emitters from sprixel# 19:31
cognominal Happy Palindrome Day! 01022010 19:42
diakopter I thought today was 20100102 19:44
;) 19:45
cognominal here it would be more like 02012010 19:50
nadim pmurias: how do you report bugs? first run of P6 and I already find weird stuff. my luck. 20:47
mberends nadim: see www.rakudo.org/how-to-help 20:51
nadim: if you have time, try to find out if your bug is already being tracked, and append your experience. But if you have no time, nobody minds duplicate reports all that much. 20:53
pugs_svn r29440 | mberends++ | [perl6.org/compilers] add Perlito 21:17
pugs_svn r29441 | diakopter++ | [perl6.org] update the Sprixel and Pugs entries. Here's what I added to the Pugs entry: but new releases for successive versions of ghc are 22:29
r29441 | published to <a href="hackage.haskell.org/package/Pugs"&g...lt;/a>. The most recent (6.2.13.15 as of this writing) was released 2009-12-16.
mberends does our pugs: evalbot get those Hackage updates? 22:30
diakopter actually 22:31
I think when moritz_ built it the last time (2 months ago?) when we moved hosting servers for p6eval, I think he did use the latest release at that time. 22:32
mberends nobody gave me a Haskell book for Xmas :( 22:33
pmurias mberends: real world haskell is free online (realworldhaskell.org) 22:57
mberends pmurias: hey, that's nice! 22:58
mberends sleep & 23:08