Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-08-26

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 TimToady probably need some way to discourage Rats at the large end as well
00:01 payload joined #perl6
00:02 ruoso but currency does have specific semantics
00:02 * ruoso not really saying we should support it... but...
00:02 TimToady but any Rat representable in two 64-bit ints is likely to be a good long-term default, I suspect, at least in terms of efficiency
00:03 ruoso ah... sure...
00:04 ruoso I was meaning in the sense that a currency value carries the index it's associated with
00:04 diakopter TimToady: what about RoUSes
00:04 ruoso ¤ 2.30 :USD
00:04 TimToady well, that's more in the realm of abstract types rather than storage
00:05 TimToady also, those are relative constant, not absolute :)
00:05 TimToady *constants
00:06 ruoso ¤ 2.30 :USD + ¤ 1.20 :EUR; # fail 'needs a exchange rate'
00:07 diakopter # fail 'what are you doing hardcoding prices' :P
00:08 * ruoso .oO ( hmm... indeed... it never appears as a literal... but the semantics still applies )
00:12 ruoso and actually, having a Currency type would naturally provide a lot of sanity checks in the algorithm...
00:12 ruoso since it doesn't make sense to sum a Currency value with an arbitrary number
00:13 ruoso but it does make sense to multiply or divide a Currency by an arbitrary number
00:13 diakopter would Currency be a role?
00:13 ruoso and localization in the stringification would come naturally
00:14 ruoso I guess
00:14 diakopter LocalizedCurrency is Currency
00:14 diakopter erm, a _ in there somewhere
00:15 ruoso or, as the previous example, it also doesn't make sense to sum values of two different currencies
00:16 ruoso diakopter, localization only happens in stringification... you don't need a role for that
00:16 ruoso there's an ISO spec on the currency codes
00:16 diakopter oh..
00:16 ruoso diakopter, but a currency must always be associated with a currency index
00:17 ruoso independent of the locale
00:17 ruoso since I might refer to euros or dollars, even if the brazillian currency is the real
00:18 ruoso on the other hand, a value of 2.50 USD (us dollars) is represented as $ 2.50 in the en_US locale, but as US$ 2,50 in the pt_BR locale
00:18 ruoso actually... 2.50 $ in us, right?
00:18 ruoso anyway, the position of the currency symbol is locale-dependent
00:20 * TimToady runs and hides whenever anyone mentions locales
00:20 * ruoso goes find TimToady
00:21 diakopter ruoso: right, but you'll want various localizations of currencies at runtime, not just in the current locale
00:21 diakopter current.  har.
00:22 ruoso diakopter, you're confusing the currency index with the localization
00:22 ruoso it's not related
00:22 diakopter ah, ok.  I'll take your word for it. :)
00:23 ruoso diakopter, basically, I must be able to conceptually represent any currency value in any index
00:23 ruoso let's say... 2.50 us dollars
00:23 ruoso 4.00 brazillian reais
00:23 ruoso the locale only gets in when we need to tell that to the user
00:23 ruoso or to receive it from the user
00:23 ruoso but the data itself is locale-independent
00:24 acajou left #perl6
00:24 jnthn (Rat representable in two 64-bit ints) well, great, now we can't represent Zimbabwe's currency...
00:24 jnthn ;-)
00:24 diakopter right, I know; I was assuming [wrongly] that you couldn't control at runtime into which locale it would be stringified.
00:25 ruoso ah... ok...
00:26 kidd joined #perl6
00:29 colomon sjohnson: Still there?
00:29 sjohnson yes
00:30 wayland76 joined #perl6
00:30 colomon I'm interested in your 15 case insensitive comparisons issue.
00:30 colomon Trying to find a good idiomatic solution and all.
00:31 colomon Do you have time to talk about it a bit?
00:31 sjohnson that's what i like to hear
00:31 sjohnson i think the given/when structure might do it nice enough for me
00:32 sjohnson hmm, well
00:32 sjohnson it looks a bit hairy doing   when /^h$/i for every single thing, to match both 'H' and 'h'
00:32 colomon agreed.
00:32 colomon (errr -- it's /:i ^h$/ in p6, right?)
00:33 TimToady are all the when cases literal?
00:33 colomon Whoops, may be getting a baby handed to me for a couple of minutes...
00:33 sjohnson colomon: are you an obstetrician?
00:33 TimToady then just given $x.lc { when "h" {...} }
00:33 colomon nope,  a dad
00:33 sjohnson i as hoping to avoid doing the .lc in the given statement
00:34 sjohnson in case i want to do some when 'S' 's
00:34 sjohnson where the S is case insensitive
00:34 sjohnson err
00:34 sjohnson ----
00:34 sjohnson i mean, in cases where S and s were both sensitive
00:34 sjohnson and required different handlings
00:34 sjohnson but the other "13" when statements, were insensitive
00:35 pmichaud when .lc eq 'h' { ... }
00:35 Juerd given $foo.lc { ... } too.
00:35 Juerd Elegant, not ugly.
00:35 pmichaud yes, TimToady++ suggested that one :-)
00:36 Juerd Ah, hadn't read that one. Small screen, bandwidth too limited to scroll :)
00:36 sjohnson i was thinking of case though where i didn't want it destorying the sensitivity, by using the given $foo.lc
00:36 pmichaud there's also    when 'h'|'H' { ... }
00:36 colomon can  you lc $_ halfway through the whens?
00:36 pmichaud colomon: sure
00:36 pmichaud .=lc;
00:36 sjohnson yes
00:36 sjohnson tyes
00:36 Juerd .= can be used unary? Wow.
00:37 sjohnson pmichaud:  when .lc eq 'h' { ... }   <-  will that mutate the $_ var?
00:37 Juerd I'm afraid to ask if this goes for += too, or if it's special because of the .
00:37 pmichaud sjohnson: no
00:37 pmichaud Juerd: it's special because of the .
00:37 cognominal I run  perl6 -target=parse grammar.pg. it whines first because the =end does not match the =begin,  then because it thinks Perl6::Grammar is already definid.
00:37 Juerd Incredible. I had never expected this nice sideeffect :)
00:38 cognominal wanted to produce some html version of grammar.pg
00:38 sjohnson colomon: i think pmi chauds solution is the best
00:38 sjohnson when .lc eq 'h'
00:40 Juerd given $foo { when 'X' { ... } ... given .lc { when 'h' { ... } when 'i' { ... } ... } }
00:40 kborer_ joined #perl6
00:41 Juerd I wonder what would be "better". Nested given, or changing $_ between whens.
00:42 Juerd I'm off to bed. Good night!
00:43 sjohnson Juerd: i like changing different $_, mind you, it doesn't get "changed"
00:43 sjohnson just interpretted differently per case when
00:44 sjohnson if you did $_.=lc
00:44 sjohnson then it would change it
00:44 sjohnson or .=lc
00:45 frew joined #perl6
00:51 colomon Sorry about disappearing there.
00:52 jauaor joined #perl6
00:52 ihrd joined #perl6
00:52 * diakopter disappears to here
00:54 lisppaste3 colomon pasted "Given / when case insensitive" at http://paste.lisp.org/display/86050
00:55 colomon That's the straightforward case, with no sensitive whens to worry about.
00:55 colomon Right?  That seems a reasonable p6ish approach.
00:57 jnthn given($a.lc)
00:57 jnthn probably wants to be
00:57 jnthn given $a.lc
00:57 jnthn given(...) is always a sub call
00:57 jnthn Other than that, yes, certainly a good approach.
00:57 colomon one of these days I'll remember that right off the bat.  :)
00:57 jnthn :-)
01:00 lisppaste3 colomon annotated #86050 "pmichaud's mixed suggestion" at http://paste.lisp.org/display/86050#1
01:01 lisppaste3 colomon annotated #86050 "my mixed suggestion" at http://paste.lisp.org/display/86050#2
01:02 jnthn Looks fine.
01:03 ihrd left #perl6
01:08 * jnthn -> try and sleep
01:08 hercynium joined #perl6
01:08 cognominal given tired...
01:09 jnthn cognominal: Heh, you're in the same timezone as me, no? :-)
01:11 cognominal insomniac too
01:11 colomon It seems to me that my solution is more "hacky" than pmichaud's, and is likely to confuse people until they understand how given / when really works (that's it's not just a switch statement, I mean).
01:12 colomon On the other hand, it's going to be a long time until Rakudo is smart enough to cache the results of the call to .lc, isn't it?  So the number of times you call it is may be an issue performance-wise.
01:14 jnthn I'm not sure being able to cache that is an optimization we'd be able to do all that soon.
01:14 jnthn If at all.
01:14 sjohnson let the record state that given ($a.lc) is only useful if all you when cases are case insensitive
01:14 jnthn (Perl 6 is quite a hard language to optimize.)
01:14 colomon jnthn: sure, I just didn't want to assume it could never be done.  :)
01:15 sjohnson i've said it before, and i will say it again:  i like pmichaud's way of handling multi-case when's
01:15 sjohnson ( `ー´)
01:15 jnthn colomon: Aye, I'd not rule it out. :-)
01:16 jnthn OK, really trying to sleep now. See y'all tomorrow.
01:16 jnthn erm, "tomorrow" :-)
01:16 jnthn o/
01:16 colomon 'night.
01:17 dew what does the :foo syntax do? similar to the same thing in ruby? (if you'll permit a noob question)
01:18 colomon sjohnson: I'm kind of inclined to agree with you.  Just trying to see all the angles...
01:18 sjohnson his idea was:  when .lc eq 'h'
01:19 sjohnson i think that's kind of sexy
01:19 carlin rakudo: say "ENOBOT";
01:20 ianebot joined #perl6
01:20 carlin rakudo: say "ENOBOT";
01:20 ianebot rakudo test: OUTPUT«ENOBOT␤»
01:20 carlin it works :)
01:20 carlin only has rakudo though
01:21 colomon You rigged that up, carlin?
01:21 carlin yeah
01:22 colomon carlin++
01:22 carlin running on a small vps I have
01:22 sjohnson it
01:22 sjohnson it's cute
01:22 carlin rakudo: my $s=' ';say 'N'~&'K','t'~|'a','w'~&'s','v'~&'u',$s,'i'~&'e','l'~|'b','m'~|'b','p'~|'d','x'~&'i','g'~&'m'~'z'~&'s',$s,'c'~&'v','o'~&'y','p'~|'d','v'~|'a','m'~&'y','r'~|'a','d'~|'a',$s,'n'~|'a','c'~&'z','d'~|'b','t'~|'a','r'~|'a','b'~|'a','i'~&'c','v'~&'u','k'~&'y','n'~|'a','l'~|'b';
01:22 ianebot rakudo test: OUTPUT«Just another bitwise obfuscation␤»
01:22 sjohnson that's fast
01:23 sjohnson rakudo: say '3049' + 30;
01:23 ianebot rakudo test: OUTPUT«3079␤»
01:23 colomon rakudo: say [*]1..10
01:23 ianebot rakudo test: OUTPUT«3628800␤»
01:23 carlin feel free to kick it once moritz gets the proper bot running
01:24 sjohnson heh
01:24 carlin unless the server dies before then ...
01:26 Eevee joined #perl6
01:29 sjohnson rakudo:  print 'cute things++';
01:29 ianebot rakudo test: OUTPUT«cute things++»
01:29 sjohnson a lot faster than your average bot
01:37 carlin it's evalbot the same as mortiz++'s, but only rakudo is installed ... I doubt that would make a speed difference though
01:41 carlin rakudo: loop ( my $i = 0; $i < 10; $i++ ) { say 'Foo'; }
01:41 ianebot rakudo test: OUTPUT«Foo␤Foo␤Foo␤Foo␤Foo␤Foo␤Foo␤Foo␤Foo␤Foo␤»
01:44 carlin rakudo: sub foo {}; multimethod foo {};
01:44 ianebot rakudo test: OUTPUT«Could not find non-existent sub multimethod␤»
01:45 carlin rakudo: say Exception;
01:45 ianebot rakudo test:  ( no output )
01:53 carlin rakudo: loop ( my $i = 0; $i < 10; $i++ ) { say 'Foo'; }
01:53 ianebot rakudo test: OUTPUT«Foo␤Foo␤Foo␤Foo␤Foo␤Foo␤Foo␤Foo␤Foo␤Foo␤»
01:54 * carlin is done spamming the channel :)
01:56 cube0 joined #perl6
01:56 cube0 Hello
01:57 cube0 oops $Hello;
01:57 sjohnson rakudo:  print "hello cube0!";
01:57 ianebot rakudo test: OUTPUT«hello cube0!»
01:57 sjohnson is it common for a Perl programmer to hate Javascript?
01:58 cube0 nope since you might use them both
01:58 cube0 on the client side
02:00 cube0 guys do you like DBIIX ?
02:01 cube0 DBIx
02:07 cube0 guys should I connect to database everytime I need to query ?
02:08 cblaptop joined #perl6
02:09 carlin left #perl6
02:09 dew cube0: probably not.
02:09 cube0 $dbh->ping ?
02:10 dew er, yeah, if you have reason to believe the connection might be dead
02:10 dew are you looking for #perl btw?
02:12 cube0 oops sorry gonna rollback
02:12 cube0 thanks
02:12 cube0 left #perl6
02:40 jauaor left #perl6
02:40 SmokeMachine joined #perl6
02:52 tak11 joined #perl6
03:02 mepplock joined #perl6
03:08 TimToady dew: did you ever get an answer?  :foo is different from ruby
03:08 TimToady :foo means foo => True
03:11 dew i found some docs about it, yes, but it was a tad beyond me :)
03:14 dew something about it being an 'operator modifier', which didn't really help. example code seems to be using it in place of constants/switches though?
03:15 TimToady so called "adverbs" may be used in many different ways
03:15 TimToady but they either turn into named arguments or Pair objects
03:15 dew the :foo(1) syntax?
03:15 TimToady means foo => 1
03:16 dew yeah that much made sense :)
03:19 dew aah. so :foo is akin to a switch you might apply to something?
03:19 TimToady yes, very much like --foo in shell
03:20 dew and :foo(..) lets you pass in something other than simple 'True'
03:20 dew very cool ;)
03:21 TimToady rakudo: say [*],
03:21 ianebot rakudo test: OUTPUT«say requires an argument at line 2, near " [*],"␤in Main (src/gen_setting.pm:2550)␤»
03:21 TimToady rakudo: say [*]
03:21 ianebot rakudo test: OUTPUT«say requires an argument at line 2, near " [*]"␤in Main (src/gen_setting.pm:2550)␤»
03:22 TimToady rakudo: say [*] ;
03:22 ianebot rakudo test: OUTPUT«say requires an argument at line 2, near " [*] ;"␤in Main (src/gen_setting.pm:2550)␤»
03:22 TimToady rakudo: say [*]()
03:22 ianebot rakudo test: OUTPUT«1␤»
03:23 TimToady std: say [*]
03:23 ianebot std :  ( no output )
03:28 jhelwig joined #perl6
03:38 molaf joined #perl6
03:39 jaldhar joined #perl6
03:47 unitxt joined #perl6
03:51 kborer_ joined #perl6
03:55 unitxt You guys do know that a lot of Perl 5'ers are planning to take the best of Larry's research for Perl 6 and incorporate it into Perl 5 and eventually try and compete against. Doesn't make any sense at all to me but that's the "plan", man. :[     ...looks like they would be better off putting their knowledge of Perl 5 into Perl 6....whatever...
03:55 unitxt left #perl6
03:55 Confield left #perl6
03:59 MrKrueger joined #perl6
04:06 wayland76 We know that.  It's called Moose, and we're working with them.
04:16 carlin joined #perl6
04:17 carlin TimToady: the temporary bot can only run rakudo, just in case you were wondering what happened there (seen you trying std in the logs)
04:27 dukeleto joined #perl6
04:27 DakeDesu joined #perl6
04:31 Eevee joined #perl6
04:37 SmokeMachine joined #perl6
05:01 ihrd joined #perl6
05:09 finanalyst1 joined #perl6
05:09 finanalyst joined #perl6
05:23 dew joined #perl6
05:30 eMaX joined #perl6
05:37 kyle_l5l joined #perl6
05:41 orafu joined #perl6
05:46 rfordinal joined #perl6
05:57 mrsaturn joined #perl6
05:58 mrsaturn perl6: say 4;
05:58 ianebot rakudo test: OUTPUT«4␤»
05:58 ianebot ..pugs: OUTPUT«sh: /home/evalenv/pugs/pugs: No such file or directory␤»
05:58 ianebot ..elf 28070:  ( no output )
05:58 mrsaturn woops
06:00 mrsaturn rakudo: say "hi";
06:00 ianebot rakudo test: OUTPUT«hi␤»
06:01 kyle_l5l joined #perl6
06:21 rfordinal joined #perl6
06:26 sri_kraih_ joined #perl6
06:29 carlin joined #perl6
06:31 moritz_ std: 1 + 1
06:31 ianebot std :  ( no output )
06:42 ihrd joined #perl6
06:44 zloyrusskiy joined #perl6
06:49 carlin_ joined #perl6
06:55 rfordinal joined #perl6
06:57 carlin joined #perl6
07:08 Su-Shee joined #perl6
07:08 Su-Shee good morning!
07:08 moritz_ good morning
07:08 Su-Shee of course. "it's you." :)
07:09 moritz_ ;-)
07:10 iblechbot joined #perl6
07:10 jauaor joined #perl6
07:12 ihrd rakudo: "alive".say
07:12 ianebot rakudo test: OUTPUT«alive␤»
07:12 ihrd rakudo: say 1..{$_}
07:12 ianebot rakudo test:  ( no output )
07:12 ihrd hm, this one produce segaful on my machine
07:14 moritz_ exists normally here.
07:18 moritz_ *exits
07:19 szabgab joined #perl6
07:23 ihrd left #perl6
07:24 eMaX joined #perl6
07:40 athomason joined #perl6
07:44 p6eval joined #perl6
07:45 moritz_ std: 1
07:45 ianebot std :  ( no output )
07:46 p6eval std 28054:  ( no output )
07:46 moritz_ pugs: say 3
07:46 ianebot pugs: OUTPUT«sh: /home/evalenv/pugs/pugs: No such file or directory␤»
07:46 p6eval pugs: OUTPUT«3␤»
07:46 ianebot pugs: OUTPUT«sh: /home/evalenv/pugs/pugs: No such file or directory␤»
07:46 p6eval pugs: OUTPUT«*** No such subroutine: "&OUTPUT"␤    at /tmp/oyqNBjw58c line 1, column 1 - line 3, column 1␤»
07:46 ianebot pugs: OUTPUT«sh: /home/evalenv/pugs/pugs: No such file or directory␤»
07:46 p6eval pugs: OUTPUT«*** No such subroutine: "&OUTPUT"␤    at /tmp/xMrSWiR4Ju line 1, column 1 - line 3, column 1␤»
07:46 ianebot pugs: OUTPUT«sh: /home/evalenv/pugs/pugs: No such file or directory␤»
07:46 p6eval pugs: OUTPUT«*** No such subroutine: "&OUTPUT"␤    at /tmp/gSEyqJgpYx line 1, column 1 - line 3, column 1␤»
07:46 ianebot pugs: OUTPUT«sh: /home/evalenv/pugs/pugs: No such file or directory␤»
07:46 p6eval pugs: OUTPUT«*** No such subroutine: "&OUTPUT"␤    at /tmp/VsPMDke7D0 line 1, column 1 - line 3, column 1␤»
07:46 ianebot pugs: OUTPUT«sh: /home/evalenv/pugs/pugs: No such file or directory␤»
07:46 p6eval pugs: OUTPUT«*** No such subroutine: "&OUTPUT"␤    at /tmp/8W0JZuDgo2 line 1, column 1 - line 3, column 1␤»
07:46 ianebot pugs: OUTPUT«sh: /home/evalenv/pugs/pugs: No such file or directory␤»
07:46 moritz_ ouch.
07:47 moritz_ somehow p6evals' chroot is borked
07:50 p6eval joined #perl6
07:51 ejs joined #perl6
07:52 moritz_ carlin: the ordinary p6eval is back - would you mind retracting ianebot?
07:53 moritz_ carlin++  for providing an alternative so quickly
07:58 RonOreck joined #perl6
07:59 payload joined #perl6
07:59 carlin_ joined #perl6
08:02 carlin joined #perl6
08:04 ejs joined #perl6
08:05 carlin moritz_: good to have the fully functional bot back :)
08:09 hanekomu joined #perl6
08:14 moritz_ perl6: say "re"
08:14 p6eval elf 28070, pugs, rakudo 0d4fe0: OUTPUT«re␤»
08:21 carlin_ joined #perl6
08:29 kidd joined #perl6
08:36 dbrock joined #perl6
08:53 baest joined #perl6
08:55 kidd` joined #perl6
08:55 mattp_ joined #perl6
08:55 huf_ joined #perl6
08:55 arnsholt_ joined #perl6
08:58 lambdabot joined #perl6
08:59 eMaX joined #perl6
09:24 moritz_ http://moritz.faui2k3.org/tmp/access.svg # updated visitor's statistics for perl6-projects.org
09:27 cognominal moritz_, what tool do you use to generate that svg?
09:27 araujo joined #perl6
09:28 moritz_ cognominal: the examples/parse-access-log.pl script in SVG::Plot
09:29 moritz_ https://github.com/moritz/svg-plot/tree
09:29 cognominal thx
09:32 moritz_ I'm still hoping that somebody ports scruffy to Perl 6, but so far I'm the only one who actually contributed code to the port
09:33 moritz_ and I'm not really good in reading ruby code
09:33 moritz_ lunch&
09:33 maerzhase joined #perl6
09:45 masak joined #perl6
09:45 masak hola, Perl 6 world.
09:51 jauaor hola masak
09:57 maerzhase joined #perl6
10:00 masak (re 'something like Devel::Cover for Rakudo') I hear this Parrot thing is open-sourced. say the right person was given three hours of totally undisturbed time to implement the simplest thing that could possibly work. who could be that person, and what would need to be done?
10:02 donaldh joined #perl6
10:03 payload joined #perl6
10:04 pippo_ joined #perl6
10:12 masak ihrd: `say 1..{$_}` produces a 'Bus error' over here.
10:13 masak moritz_: I'm not extremely good at reding Ruby code either, but slowly getting that hang of it. I've been looking at scruffy, and will probably contribute to the port. but not this week. :/
10:17 moritz_ masak: great
10:17 moritz_ (I won't have any time this weekend either)
10:18 masak I'm getting segfaults when compiling Rakudo with the latest Parrot.
10:18 moritz_ that's know
10:18 moritz_ and mikehh++ bisected it already
10:18 masak good, then I won't have to.
10:19 moritz_ masak: oh, and we're both going to get GSOC T-shirts :-)
10:23 masak \o/
10:24 moritz_ (assuming you entered your shipment address)
10:24 masak aye.
10:34 nbrown joined #perl6
10:43 jnthn oh hai every1
10:44 moritz_ good day Mr. Worthington.
10:46 jnthn formality mis-match at line 2
10:46 jnthn ;-)
10:50 maerzhase joined #perl6
10:51 moritz_ :-)
10:52 jnthn \o/ already 3 patches to Blizkost, from fperrad++. That's as much as I've made. :-)
10:52 moritz_ FWIW the outage of p6eval's server was due to a broken raid
10:52 moritz_ and the hosting company doesn't have these discs anymore
10:52 moritz_ so now it runs on just a single disc
10:53 moritz_ and in a few weeks we'll get a new server
10:57 Juerd Feel free to make backups to feather
10:57 Juerd It'd suck if the remaining disc failed too
10:58 moritz_ that machine is also backed up, but it's a good idea nonetheless
10:58 moritz_ I'll do that tonight
11:21 donaldh joined #perl6
11:23 Juerd 21:29 < Juerd> If we didn't have 6-hourly backups, I'd be frightened.
11:23 Juerd 21:29 < Juerd> s/6/12/ iirc. Could up that to 6.
11:23 Juerd Just checked: a backup is made every 6 hours
11:24 Juerd Full backup every Saturday, level 1 incrementals per day, and then levels 2, 3, 4 per day.
11:25 Juerd Full and level 1 are retained 7 to 13 days, levels 2+ are deleted when a new level 1 is created.
11:29 payload joined #perl6
11:37 zloyrusskiy joined #perl6
11:39 zamolxes joined #perl6
11:41 cognominal Blizkost?
11:42 moritz_ cognominal: jnthn's parrot <-> perl 5 bridge
11:42 moritz_ http://use.perl.org/~JonathanWorthington/journal/
11:43 cognominal jnthn, the rule scope_declarator probably deserves un <.nofun> after the $<sym>[...]
11:44 cognominal so that    sub my { say "my" };  my()     works as expected
11:45 moritz_ rakudo: sub my { say "my" };  my()
11:45 * jnthn wonders if STD does that
11:45 p6eval rakudo 0d4fe0:  ( no output )
11:45 moritz_ std: sub my { say "my" };  my()
11:45 p6eval std 28070:  ( no output )
11:46 abra joined #perl6
11:46 moritz_ ouch.
11:46 moritz_ rakudo: say 3
11:46 p6eval rakudo 0d4fe0: OUTPUT«3␤»
11:46 cognominal I feel that  the rile if there no space, that is a function. So I am not tripped by an unknown keyword.
11:46 cognominal s/rile/rule/
11:48 cognominal I think the "is context='nofun'" is the STD equivalent of <.nofun>
11:49 cognominal proto token scope_declarator (:$endsym is context = 'nofun') { <...> }
11:49 cognominal proto token scope_declarator (:$endsym is context = 'nofun') { <...> }
11:49 cognominal oops
11:49 cognominal Xchat-- # trips me every time
12:00 Su-Shee *sigh* so many projects to code...
12:00 * Su-Shee looks exhausted after reading news.
12:01 * masak hugs Su-Shee
12:01 Su-Shee first my mac-collegue made me envious and then I checked arstechnica which is full of shiny gui things - all based on python. hrmpf.
12:02 masak I think it'll be a bit hectic before April. some of my projects have April as an implicit deadline too, now.
12:02 masak but I also think it'll be a fun ride.
12:02 Su-Shee I wonder how the image magick folks think about parrot/rakudo.
12:04 SmokeMachine left #perl6
12:04 jnthn April? What happens in April? ;-)
12:05 * jnthn also has quite a few things he hopes to get done by then
12:06 masak jnthn: you joke, but that's the thing: no-one knows what'll happen in April.
12:06 masak jnthn: the only thing we can do is be prepared for an onslaught.
12:07 Su-Shee I really have to re-focus on my personal perl 6 goals.. there's so very too much to do for at least 100 more developers...
12:07 takadonet joined #perl6
12:07 masak it's like Steve Jobs' famous startup time: every bug that's fixed before April will contribute to saving lives.
12:07 jnthn masak: You make a good point.
12:07 takadonet morning all
12:07 masak takadonet: o/
12:07 jnthn hi takadonet
12:08 Su-Shee masak: in the last 2 weeks, more and more people show up and ask in #perl what they think about perl 6 or wether it's ready yet and things like that. so, at least the knowledge about rakudo's existence starts to take off.
12:08 takadonet so what is everyone working on today?
12:09 Su-Shee takadonet: writing old school p5 bless class, the same in moose and all this in rakudo for comparison.
12:09 * Su-Shee has to do a presentation next week about "modern perl"
12:09 takadonet Su-Shee: Where?
12:09 Su-Shee in the office to my collegues.
12:10 Su-Shee and yes, I'll ask if I can blog it or otherwise publish it.
12:10 takadonet Well might have to do the same in the near future :)
12:10 * jnthn is continuing research into S06 and the signature re-design.
12:12 Su-Shee takadonet: will be interesting wether my collegues like p6 or not :)
12:13 takadonet Su-Shee: At least one of my colleagues believes it will not be "out" for at least another 5 years
12:13 Su-Shee takadonet: mine knew vaguely about the existence. ;)
12:14 cognominal jnthn, have you noticed the slurpy scalars?
12:16 jnthn cognominal: e.g. :(*$head, *@tail) ?
12:16 cognominal yup
12:16 jnthn Yes, noticed.
12:17 cognominal blizkost does not build on my mac. I am not savvy enough to figure why :(
12:18 cognominal can't find libperl.a
12:18 cognominal c++ -o blizkost_group.bundle lib-blizkost_group.o blizkost.o -L/usr/local/lib -L/opt/local/lib -L/Users/stef/git/rakudo/parrot/blib/lib -L/sw/lib  -lm -lutil -lgmp -lreadline -lintl -undefined dynamic_lookup -bundle  libperl.a -libpath:"/usr/local/lib/perl5/5.10.0/darwin-2level/CORE"
12:18 cognominal i686-apple-darwin9-g++-4.0.1: libperl.a: No such file or directory
12:18 moritz_ cognominal: do you have perl development files installed?
12:19 cognominal it is present in the  -libpath dir  so
12:19 moritz_ I think gcc only tries to look up -lfoo things in libpath
12:20 moritz_ for the .a files you might need full paths
12:21 cognominal I like Mac OS X as a user, it confuses the hell out of me as a developer
12:21 ruoso joined #perl6
12:22 jnthn cognominal: I don't really know anything about OS X, so it's kinda hard for me to fix it...
12:22 jnthn cognominal: Try latest though, if you didn't already
12:23 jnthn I added some patches from fperrad++ that provide the full path to the lib instead.
12:23 cognominal I am up to date
12:23 cognominal wish I had a strace, I can't figure how to you dtrace.
12:24 cognominal s/you/use/
12:25 jnthn cognominal: That's odd, since I thought libperl.a -libpath:"/usr/local/lib/perl5/5.10.0/darwin-2level/CORE"
12:25 jnthn was gone after the patches.
12:25 masak don't know if this has been discussed. I found it to be saddening but relevant reading. it's indirectly related to Perl 6, I think. http://avatraxiom.livejournal.com/58084.html
12:29 takadonet masak: that was an old post
12:29 masak indeed.
12:29 masak maybe the problem is not as critical in the Perl 5 world today.
12:30 wahjava joined #perl6
12:30 Su-Shee I suck at OO design. I really need a book or two.
12:30 Chillance joined #perl6
12:31 Su-Shee .oO(learning OO design with perl 6)
12:31 cognominal jnthn,  have you pushed the said changes?
12:31 moritz_ Su-Shee: I learned good OO from Betrand Meyer's "Object Oriented Sofware Construction"
12:31 moritz_ (it uses Eiffel for its examples, which is quite a nice OO language, but very different from perl_
12:32 moritz_ s/_/)/
12:33 Su-Shee moritz_: does he use real world examples and not another Animal class which has the methods wuff and meow?
12:34 moritz_ it's good at manipulexity and bad at whipuptitude
12:34 moritz_ Su-Shee: I think the examples are better than that, though I don't remember all that much about them
12:34 moritz_ one case study was an undo/redo system for a text editor, iirc
12:34 Su-Shee moritz_: go, write a book, please. :)
12:35 M_o_C joined #perl6
12:36 jnthn cognominal: I just merged them on GitHub.
12:39 colomon I love how you get to the end of the Bugzilla post and he points out that its popularity was actually increasing at that time!
12:39 colomon (Which was just 2007, not so long ago.)
12:39 sjn joined #perl6
12:39 sjn o/
12:39 masak \o
12:40 * sjn tries to find that wonderful Perl6 example program where you made a deck of cards, assigned values, shuffled and dealt a hand
12:40 sjn anyone remember the URL?
12:40 masak it was in a pmichaud++ talk.
12:41 moritz_ sjn: http://pmichaud.com/2009/pres/oscon-perl6op/slides/start.html
12:41 moritz_ click a few times until you get there
12:41 sjn yep
12:41 moritz_ http://pmichaud.com/2009/pres/oscon-perl6op/slides/slide5.html to be exact
12:41 sjn but wasn't that actually an example code snippet in git/svn/somewhere?
12:42 moritz_ I remember it being a nopaste
12:42 jnthn I've only seen it in PM's slides.
12:43 colomon http://gist.github.com/153993
12:44 colomon (Is pmichaud's script, I shouldn't just post random links and expect people to figure it out!)
12:45 hanekomu joined #perl6
12:45 jnthn .oO( I was scared to click in case it was Pelr 6 obfuscation in the form of an ASCII-art goatse )
12:45 takadonet wow that an awesome example from pmichaud
12:45 sjn hehe
12:45 sjn takadonet: yeah, I know :D
12:46 * sjn is sending a mail to the the dynamic languages professor at the techincal college in Oslo
12:46 sjn nice to have cool examples to show that they should spend time on Perl 6 :D
12:46 * Su-Shee also just wow-t two times at least.
12:46 takadonet syn: Cannot wait for those operators to used in my daily work
12:47 takadonet I'm starting to see lots of opportunity for using "junctions" in my perl5 code now
12:47 Su-Shee I actually have to learn to "think in" those operators. and to think "problem x to solve in code" as "use case for operator y".
12:49 colomon That "shuffle the deck" command breaks me.  (In a good way.)
12:50 moritz_ pick() is very handy sub/method
12:50 colomon I love how something that used to be a moderately tricky programming problem has been reduced to a simple command.
12:50 Su-Shee well half of all loop-usages will magically go away :)
12:51 colomon Su-Shee: half or more, if you'
12:51 colomon re doing lots of math.
12:51 masak I haven't seen someone use the weighted pick() yet.
12:52 masak I was actually a bit surprised that TimToady chose to add that to S32.
12:52 colomon weighted pick?
12:52 masak colomon: aye, pick on hashes and bags, IIRC.
12:53 colomon !!!!!
12:54 Su-Shee and for us common folks this is cool because...? :)
12:55 colomon the math or the weighted pick?
12:55 szbalint btw, who do I have to bribe for a commit bit to perl6-examples? :)
12:55 moritz_ suppose you want to generate random words with natural propability distributions
12:55 moritz_ szbalint: I think mberends and pmichaud can hand out those
12:56 colomon moritz_: Or outcomes for a percentile roll in Dungeons and Dragons.
12:56 szbalint cheers, moritz_
12:56 moritz_ Su-Shee: then you can say something like %letters = e => 17, n => 12, ... q => 1; my $word = join '', %letters.pick(5, :repl)
12:57 moritz_ szbalint: just /msg pmichaud your github ID, I'm sure he'll add you
12:57 * jnthn dares somebody to implement weighted pick :-)
12:57 meppl joined #perl6
12:57 colomon What's the :repl in your example/
12:57 colomon ?
12:57 masak Su-Shee: I find myself sometimes using weighted pick(). it has its uses.
12:57 colomon Ack, typing issues this morning.
12:58 masak jnthn: oh, it's not that hard. I've done it a few times. :)
12:58 moritz_ colomon: without it each character comes up only once
12:58 jnthn masak: heh, andy.sh's conclusion is kinda curious. ;-)
12:58 colomon Wondered if that was it.  Danke.
12:58 moritz_ rakudo: (1..3).pick(3)
12:58 p6eval rakudo 0d4fe0:  ( no output )
12:58 moritz_ rakudo: say (1..3).pick(3)
12:58 masak jnthn: it's a fine line. he has a right to swear and to be angry.
12:58 p6eval rakudo 0d4fe0: OUTPUT«312␤»
12:58 masak jnthn: but I just thought it was a stupid way to end a post.
12:58 moritz_ rakudo: say (1..3).pick(3, :repl)
12:58 p6eval rakudo 0d4fe0: OUTPUT«231␤»
12:59 jnthn masak: Yeah.
12:59 moritz_ rakudo: say (1..3).pick(3, :repl)
12:59 p6eval rakudo 0d4fe0: OUTPUT«221␤»
12:59 moritz_ masak, jnthn: which post?
12:59 masak jnthn: you take a random number between 0 and 1, and then you normalize all your alternatives so that the sum of all weights is 1. then you calculate offsets with [+\]
12:59 masak moritz_: http://use.perl.org/~andy.sh/journal/39532
13:00 colomon And (going back to Su-shee's earlier point) the sum can be easily calculated with [+].  :)
13:00 moritz_ uhm, is [\+] implemented?
13:00 masak no.
13:00 masak but it can be workaroundemulated.
13:00 moritz_ aye
13:01 Front_slash joined #perl6
13:01 colomon wait, [\+] and/or [+\]?
13:01 masak um, [\+]
13:02 masak I mistyped. :/
13:02 colomon What does it do?
13:02 colomon (See, this is why I need the periodic table of operators poster for my birthday.)
13:03 colomon I'm imagining some sort of running sum normalized, but that hurts my head.
13:04 moritz_ [\+] 1, 2, 3 is just 1, 1+2, 1+2+3
13:05 colomon So it's running sum.
13:05 masak aye. or running <op>, for some <op>.
13:08 moritz_ and [\~] a running concatenation etc.
13:09 colomon So [\+] 1, 2, 3 is 1, 3, 6,  and then you can 1..6.pick and find the appropriate index in 1, 3, 6.
13:10 moritz_ with a binary search or something
13:11 colomon Is there a built-in binary search function somewhere in p6?  Seems like an obvious addition to the bag of tricks...
13:12 moritz_ not that I'm aware of
13:12 moritz_ but that's something easily added in a module.
13:12 colomon Sure, but the same could obviously be said of pick.  :)
13:13 colomon I'd consider binary search as fundamental as sort.
13:14 * moritz_ isn't opposed to add it, just opposed to adding stuff to core in general
13:15 colomon understood.
13:16 masak colomon: a binary search would be contingent on a Tree data type. I don't believe a Tree data type should be part of the core.
13:17 masak it's one of my few reasonably strong opinions.
13:17 colomon masak: Why Tree?  You can do a binary search on any sorted array.
13:17 masak um, scratch the 'contingent' part. yes, arrays.
13:18 masak just realised that...
13:18 moritz_ uhm, is there a use.perl.org page that shows all recent journal entries?
13:18 colomon I admit the presence or absence of binary search will in no way affect my love of Perl 6.  Worst case scenario is I write it myself as soon as I need it for something.
13:19 sjn moritz_: haven't found a useful one :-(
13:19 * sjn is still wondering about the same
13:19 colomon moritz_: http://use.perl.org/search.pl?op=journals    ?
13:19 mikehh joined #perl6
13:20 moritz_ colomon: thanks
13:20 moritz_ is that linked to anywhere?
13:21 colomon No idea, it's just the first thing that came up in Firefox's completion box when I typed use.perl.org.  :0
13:21 colomon :)
13:23 payload joined #perl6
13:32 icwiener joined #perl6
13:36 PerlJam joined #perl6
13:43 lisppaste3 joined #perl6
13:47 pmichaud good morning #perl6
13:47 takadonet morning pmichaud
13:48 moritz_ oh hai
13:48 moritz_ pmichaud: how many people can add committers to perl6-examples? (and who?)
13:49 jnthn hai pm
13:49 pmichaud moritz_: currently bus number is 1
13:50 rhr joined #perl6
13:50 moritz_ pmichaud: we should increase that.
13:50 pmichaud actually, 2, but the second person's identity isn't public :-)
13:51 pmichaud unfortunately, afaict github doesn't provide a way to delegate adding collaborators to a repository
13:52 moritz_ can't you even make other people administrators?
13:52 pmichaud not as far as I can tell
13:52 [particle] i suppose you can give away the password
13:52 moritz_ [particle]: that doesn't scale very well
13:52 [particle] nope.
13:54 masak oh hai pm.
13:56 ejs1 joined #perl6
14:01 pmichaud looks like we might be able to do something via the github api
14:02 * moritz_ just asked on #github
14:02 moritz_ I'll keep you up-to-date when somebody answers
14:02 lisppaste3 joined #perl6
14:02 pmichaud I'm currently looking at http://develop.github.com/p/repo.html
14:03 cognominal pmichaud, can I use your deck of cards program for a Perl 6 tutorial in a french magazine?
14:03 pmichaud cognominal: please do!
14:03 cognominal thx
14:03 pmichaud I still want to write that up as a use.perl article myself, or perhaps something for The Perl Review
14:03 twigil joined #perl6
14:04 cognominal Well, I can translate what I am doing in (broken) english
14:04 pmichaud for me it's just a need for available tuits :)
14:04 moritz_ pmichaud: so basically we could set up a web service or IRC bot that adds someobody as a committer
14:05 cognominal btw I note that  I can't  write   say perl("hi")  as an equivalent of   say "hi".perl
14:05 pmichaud moritz_: yes, I think so
14:05 cognominal is that on purpose?
14:05 pmichaud cognominal: afaik, .perl is only a method, not a built-in function
14:06 cognominal I like the way one can use function as methods for values so I ask myself if that goes in the opposite direction
14:08 masak cognominal: you can't use functions as methods generally. but some methods are also exported as functions.
14:08 pmichaud it's always possible to write     sub perl($x) { $x.perl }
14:09 colomon Does the reverse hold?  Is it possible to use methods as functions (which take class argument as first parameter)?
14:09 colomon Wait, that's what you just answered.
14:10 colomon pmichaud++
14:10 pmichaud moritz_: looks like it's easy to write a script to add collaborators, the potential problem seems to be that if anyone gets a hold of the authentication token they can perform any operation on the account
14:10 pmichaud still, I think I'd be willing to accept that risk.
14:10 moritz_ pmichaud: yes, I came to same conclusion
14:10 moritz_ *the
14:11 PerlJam good morning #perl6
14:12 takadonet anyone have ideas why I'm getting : "No applicable candidates found to dispatch to for 'trait_mod:is'"
14:12 takadonet ?
14:12 moritz_ takadonet: are you trying to inherit from a non-existing class?
14:12 takadonet maybe
14:14 takadonet My code is failing so decided to look at the spec and cannot get that example to work either
14:14 lisppaste3 takadonet pasted "S12-attributes/mutators.t" at http://paste.lisp.org/display/86067
14:14 takadonet It's the first part of that test file
14:15 KyleHa joined #perl6
14:15 jnthn takadonet: Suspect "is rw" on methods.
14:15 moritz_ takadonet: ah, rakudo doesn't do 'is rw' on methods yet
14:15 jnthn We didn't implement lvalue subs yet really (not quite sure what it really implies...)
14:15 cognominal I suppose that  when I write 5.sin, the method should be autoload from the corresponding function.
14:16 cognominal Hum, I should write a patch for that.
14:16 moritz_ rakudo: say 5.sin
14:16 jnthn cognominal: vice versa I'd think.
14:16 pmichaud cognominal: actually, I think it's the other way around
14:16 p6eval rakudo 0d4fe0: OUTPUT«Method 'sin' not found for invocant of class 'Int'␤»
14:16 jnthn heh heh
14:16 pmichaud the function version is simply the exported form of the method
14:16 jnthn rakudo: say 5.0.sin
14:16 cognominal it is or it should be? :)
14:16 moritz_ rakudo: say 5.0.sin
14:16 p6eval rakudo 0d4fe0: OUTPUT«-0.958924274663138␤»
14:16 donaldh joined #perl6
14:16 p6eval rakudo 0d4fe0: OUTPUT«-0.958924274663138␤»
14:16 moritz_ ah
14:16 jnthn please note
14:16 moritz_ it's in num, not in Any
14:17 moritz_ that's what's causing us problems.
14:17 jnthn rakudo: say Int ~~ Num; say Int.isa(Num);
14:17 p6eval rakudo 0d4fe0: OUTPUT«1␤0␤»
14:17 pmichaud rakudo:  say "5.0".sin
14:17 p6eval rakudo 0d4fe0: OUTPUT«Method 'sin' not found for invocant of class 'Str'␤»
14:17 cognominal there is no better way to learn than to try to explain :)
14:17 jnthn commit.sin
14:18 pmichaud Num.sin is the original :-)
14:18 moritz_ pmichaud: re API calls to github, then how would we authenticate the one who triggers the API call?
14:19 moritz_ for example if I want to add $somebody as a commiter, how am I authenticated against the user agent that does the API call?
14:19 pmichaud moritz_: how does pugs currently handle this?
14:20 nihiliad joined #perl6
14:20 moritz_ pmichaud: commitbit has access to the svn user database
14:20 szabgab joined #perl6
14:21 moritz_ so I use my svn password to invite other people to pugs
14:21 pmichaud we can enforce a similar constraint on github
14:22 moritz_ so we need to find out if sombody is authenticated to github...
14:22 moritz_ let me see if there's a method for that
14:22 Tene it would be better if github let you add other people to the project as admins.
14:22 pmichaud Tene: I agree totally, but I have the impression that's not RSN
14:22 Tene btw: O HAI EVERYBODY
14:23 * Tene trying to wake up...
14:23 pmichaud as of Jul 2009 (or perhaps it was May) github says it's adding better collaborator management to its business accounts, but I had the impression that hadn't landed yet
14:23 masak Tene: OH HAI
14:23 pmichaud (I'm just reading various support requests)
14:23 Tene pmichaud: obviously we should move hosting providers *again* over this issue!
14:23 moritz_ or we just maintain a list of "power users" and their passwords (simple, but I don't like it very much)
14:24 pmichaud I'd probably be fine with the "power users" approach
14:24 pmichaud we just don't want the bus number to be low.  we don't have to make it super-high.
14:24 pmichaud indeed, the reason I gave the rakudo+perl6 passwords to another person was so that the bus number wouldn't be 1.   :-)
14:25 moritz_ ok, I'll see if I can come up with a quick and working solution tonight
14:25 pmichaud just a sec
14:29 Psyche^ joined #perl6
14:30 pmichaud I'd also be fine if we shared the API token among trusted members
14:30 pmichaud that would make it possible to create repos and add collaborators (without having to give away the full account password)
14:43 Confield joined #perl6
14:48 justatheory joined #perl6
14:50 M_o_C joined #perl6
15:08 alester joined #perl6
15:12 finanalyst left #perl6
15:19 SmokeMachine joined #perl6
15:20 donaldh joined #perl6
15:22 FCO joined #perl6
15:39 zloyrusskiy joined #perl6
15:54 Trey joined #perl6
15:56 iblechbot joined #perl6
15:58 zloyrusskiy joined #perl6
16:01 pmurias joined #perl6
16:09 TimToady cognominal: just to clarify, there is no automatic failover from methods to functions or from functions to methods
16:10 TimToady only a mechanism for a method definition to also be considered a function definition
16:11 TimToady but functions (multis) are only ever searched for in the lexical scope, and we must be able to know the entire candidate list at compile time in order to optimize effectively
16:11 TimToady failover would prevent that
16:13 TimToady we used to spec failover, but later decided it was a mistake
16:15 [particle] so now we leave it unspecced, or, up to the implementations to implement :)
16:16 jnthn Heh, I think it's more that it should be spec'd as not happening.
16:20 rfordinal joined #perl6
16:25 alester Can someone besides me please log in to rakudo.org?
16:29 * PerlJam tries
16:30 PerlJam yep
16:30 jnthn alester: Seems to work.
16:30 PerlJam alester++
16:30 alester yay, thanks
16:30 jnthn alester++ # thanks for fixing
16:30 alester update to httpd installed a module I don't use/support
16:32 PerlJam spam--
16:33 jnthn "instant loans"
16:34 jnthn deleted
16:34 TimToady [particle],jnthn: you both seem to assume that S12:1181 doesn't say what it already says....
16:35 [particle] TimToady: false laziness on my part, or should i say delegated eagerness ;)
16:36 rba joined #perl6
16:37 rba joined #perl6
16:39 elmex joined #perl6
16:39 szabgab joined #perl6
16:45 reqamst rakudo: are you here?
16:45 p6eval rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near "?"␤in Main (src/gen_setting.pm:3460)␤»
16:45 PerlJam heh
16:52 Su-Shee joined #perl6
17:04 cdarroch joined #perl6
17:09 ispy_ joined #perl6
17:13 mrsaturn joined #perl6
17:13 mrsaturn Hello everyone
17:14 mrsaturn joined #perl6
17:15 mrsaturn left #perl6
17:15 mrsaturn joined #perl6
17:22 TimToady mrsaturn: howdy
17:26 desertm4x joined #perl6
17:28 desertm4x Hi. Are there any XML-modules for perl6 that are already usable (e.g. one that can make valid XML documents out of hashes and read the documents they wrote)?
17:31 TimToady desertm4x: perhaps everyone is too busy implementing XML modules to answer your question :)
17:32 Su-Shee desertm4x: I know of a html and a json grammar, which doesn't really answer your question properly, yes.. ;)
17:32 TimToady pugs used to have ways of doing it, but I don't know about rakudo in that regard
17:36 desertm4x Su-Shee: Just wanted to play with Perl6 and thought such a module would be great, but JSON probably fits my purposes as well as XML, so thanks. :-)
17:37 desertm4x TimToady: Yes, I came across some XML grammers in various states of completition. So that's probably the case.
17:42 yath hm. what's :dba(foo) in STD.pm?
17:43 diakopter completition is right!
17:43 pmichaud yath: :dba is described in S05
17:43 yath pmichaud: thanks
17:44 yath ah
17:52 zloyrusskiy joined #perl6
17:53 pmichaud hmmm... the format of test-summary.pl output changed  :-(
17:54 * pmichaud looks to fix it
17:58 dalek rakudo: dfa5853 | pmichaud++ | docs/spectest-progress.csv:
17:58 dalek rakudo: spectest-progress.csv update: 433 files, 12402 (70.0% of 17706) pass, 0 fail
17:58 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/dfa5853c236c770901fbfaad2e5cd1ef6c64dfed
18:04 dalek rakudo: 3b94522 | pmichaud++ | tools/test_summary.pl:
18:04 dalek rakudo: Remove the $testdate value as the first item in test_summary.pl output,
18:04 dalek rakudo: as this causes either (1) extra editing for me or (2) a change to the
18:05 dalek rakudo: spectest_progress.csv output.  We might see about adding $testdate as
18:05 dalek rakudo: an additional column at the end.
18:05 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3b9452209c9c2ddebffa9feb58578604e6497795
18:05 dalek rakudo: 6c21d0c | pmichaud++ | tools/test_summary.pl:
18:05 dalek rakudo: 9 characters isn't sufficient to display qq{"Synopsis",} .
18:05 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6c21d0c7c12c7ae803444622fd3697ccbb86be12
18:05 dalek rakudo: 47057c1 | pmichaud++ | .gitignore:
18:05 dalek rakudo: Update .gitignore with more untracked but generated files.
18:05 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/47057c141fd60877a2f79a3950e5b36424af124e
18:06 jnthn Woo, we finally made 70% ;-)
18:08 rba joined #perl6
18:09 hercynium joined #perl6
18:10 TimToady jnthn: we can fix that :)
18:11 takadonet !!!!
18:11 takadonet Come on 80%!
18:11 diakopter 70% of xx% - what is xx%?
18:12 jnthn dalek: 70% of the current spectests suite.
18:12 jnthn erm, diakopter ^^
18:12 pmichaud xx == 100  :-)
18:12 TimToady how many of the 70% are fudged?
18:12 jnthn ;-)
18:12 pmichaud none
18:12 jnthn TimToady: I think those are actual passes.
18:12 pmichaud we only report passing tests
18:13 pmichaud s/report/count/
18:13 pmichaud it's 70% of tests, not 70% of test files
18:13 TimToady kewl
18:13 jnthn Need more tests.
18:13 jnthn ;-)
18:13 TimToady would you prefer passing tests or failing tests?
18:13 pmichaud Yes.
18:14 TimToady pmichaud++
18:16 pmichaud std:  syntax error?
18:16 p6eval std 28070: OUTPUT«[31m===[0mSORRY![31m===[0m␤Obsolete use of ?: for the conditional operator; in Perl 6 please use ??!! instead at /tmp/is9LleHqR4 line 1:␤------> [32msyntax error?[33m⏏[31m<EOL>[0m␤Undeclared routine:␤       error used at 1 ␤FAILED 00:02 37m␤»
18:17 mberends joined #perl6
18:18 TimToady hmm, really shoudn't say that unless there's a : nearby...
18:18 pmichaud heh
18:19 pmichaud I was just trying to get the correct form of "SORRY!" for my error message :-)
18:19 pmichaud but yes, it does appear to be LTA error message
18:19 TimToady maybe I should change it TERRIBLY SORRY!!!!
18:20 TimToady AWEFULLY SORRY!!!
18:20 pmichaud only when the error message is LTA, though.
18:20 pmichaud ===SORRY!===\nI tried to produce an awesome error message, but couldn't do so.  Please send me back to the implementors for updating.
18:21 TimToady ===SORRY===\nConfused
18:21 TimToady is shorter
18:22 jnthn ===SORRY===\nI dunno wtf you meant
18:23 TimToady ===SORRY!===\nLTA program
18:23 pmichaud ===SORRY!===\nKen Thompson would know what to do.
18:24 synth ===PLEASE INSERT QUARTER===\n
18:25 TimToady std: ===PLEASE INSERT QUARTER===
18:25 p6eval std 28070: OUTPUT«[31m===[0mSORRY![31m===[0m␤Preceding operator expects term, but found infix === instead at /tmp/IyVBoTSjqH line 1:␤------> [32m===[33m⏏[31mPLEASE INSERT QUARTER===[0m␤FAILED 00:02 37m␤»
18:25 pmichaud std gives no quarter
18:26 TimToady odd think is that the preceding operator is apparently off the front end of the program
18:26 TimToady should probably say Preceding context instead
18:27 pmichaud perhaps we should select from a set of apologies when issuing error messages.   ===SORRY!===   ===OOPS!===    ===DRAT!===   ===UH OH!===
18:27 pugs_svn r28071 | lwall++ | [STD] improve message on unexpected infix
18:27 pmichaud ===OUCH!===
18:27 TimToady ===WTF!?!===
18:28 pmichaud ===HUH?===
18:28 pmichaud ===OMGFAIL===
18:28 TimToady I actually considered HUH...
18:28 jan_ joined #perl6
18:29 synth it's sufficient
18:29 rfordinal left #perl6
18:31 diakopter jnthn: I meant xx to mean the percentage of the eventual complete test suite that are already in existence
18:33 diakopter std: *(*)
18:33 p6eval std 28070: OUTPUT«ok 00:02 37m␤»
18:34 diakopter std: *(*)*
18:34 p6eval std 28070: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/rac2DMC1Vu line 1 (EOF):␤------> [32m*(*)*[33m⏏[31m<EOL>[0m␤    expecting any of:␤ noun␤   prefix or noun␤     standard stopper␤ term␤   terminator␤       whitespace␤FAILED 00:03 40m␤»
18:35 TimToady std: **(**)**
18:35 p6eval std 28070: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/BqexBFooVM line 1 (EOF):␤------> [32m**(**)**[33m⏏[31m<EOL>[0m␤    expecting any of:␤      noun␤   prefix or noun␤     standard stopper␤ term␤   terminator␤       whitespace␤FAILED 00:03 40m␤»
18:35 TimToady std: * *(**)* *
18:35 p6eval std 28070: OUTPUT«ok 00:02 37m␤»
18:36 synth nice
18:36 TimToady std: ***(**)***
18:36 PZt joined #perl6
18:36 p6eval std 28070: OUTPUT«ok 00:02 37m␤»
18:36 pmichaud diakopter: given that we don't yet know the size of the spec, it's a little hard to know the size of the spectest suite beyond "100%"  :-)
18:37 dalek rakudo: bd7533f | pmichaud++ | Configure.pl:
18:37 dalek rakudo: Improve the error diagnostics when someone tries to build Rakudo
18:37 dalek rakudo: using a non-devel installation of Parrot.  Also make the error
18:37 dalek rakudo: messages themselves look a bit more STD-like  ("===SORRY!===").
18:37 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/bd7533f643631fef50ac843588a8304e6be13f81
18:38 molaf joined #perl6
18:51 pmichaud an idle thought while out for a walk:   how many people are going to expect   sin(*) to work the same as *.sin   ?
18:52 diakopter std: *.sin
18:52 p6eval std 28071: OUTPUT«ok 00:02 37m␤»
18:53 colomon pmichaud: It does already for a fair number of functions, yes?
18:53 pmichaud colomon: none as far as I know.
18:53 colomon pmichaud: sort, grep, map come to mind
18:54 colomon rakudo: say map { $_ * $_ }, 1..10;
18:54 pmichaud colomon: I mean literally Whatever, not   sin($x) being the same as $x.sin
18:54 p6eval rakudo 0d4fe0: OUTPUT«149162536496481100␤»
18:54 colomon oh..
18:54 pmichaud not only that, but none of sort, grep, or map are actually the same functionally as methodly
18:54 pmichaud map({...}, @list)   is not the same as {...}.map(@list)   :_)
18:54 colomon Really?
18:55 pmichaud it's @list.map({...})
18:55 colomon I mean, I can understand if they are implemented different ways, but they produce identical results, no?
18:55 pmichaud I'm saying that unlike other exported methods, map/grep/sort function forms have different signatures from the method forms
18:56 colomon Still, I guess I can answer your original question in the negative, as I had never expected either sin(*) or *.sin to work.  :)
18:56 pmichaud well, *.sin is specced to work
18:56 pmichaud it returns   { $_.sin }
18:56 colomon And sin(*) does not return sin($_)?
18:58 colomon BTW, I have to say that 25 years of mathematical training screams out to me that $n.sin is Just Plain Wrong.
18:58 TimToady no, it should return { sin($_) } if it returns anything
18:59 colomon Apparently there is a subtly to the original question that I am unable to grasp.   :|
19:03 pmichaud well, as things are currently defined (in my head), it would seem to me that sin(*)  would end up trying to do  WhateverCode.sin or something like that
19:03 pmichaud I'm wondering if * needs to be dispatch-special similar to how Junctions are dispatch-special
19:03 pmichaud either that or we also write Whatever/WhateverCode versions of all of the builtin functions
19:04 diakopter std: *******************
19:04 p6eval std 28071: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/PFL5PnwSUC line 1 (EOF):␤------> [32m*******************[33m⏏[31m<EOL>[0m␤    expecting any of:␤   noun␤   prefix or noun␤     standard stopper␤ term␤   terminator␤       whitespace␤FAILED 00:03 40m␤»
19:04 pmichaud but someone is still going to be a little surprised when    method myfoo() is export { ... }    ends up with different results for *.myfoo and myfoo(*)
19:06 TimToady I think I'm not too worried about that
19:06 TimToady * magic probably doesn't want to be buried down in argument lists
19:08 pmichaud (keyboard battery died)
19:08 pmichaud yes,  myfoo(*) probably doesn't bind anyway.
19:08 pmichaud Unfortunately  sin(*) does match sin(Any), so we probably want to do something smart-ish with that case.
19:11 colomon sin(Any) numifies its input?
19:12 pmichaud in general, yes.
19:12 pmichaud so that:    my @list = <3 4 5>;   say sin($_) for @list;    # works
19:13 pmichaud or even
19:13 pmichaud my $x = prompt "Enter a number: ";   say sin($x);
19:14 PerlJam Did the coercable Name() make it into the spec yet?
19:15 pmichaud PerlJam: you mean like   Str($x)   ?  It's been there for a while
19:16 colomon pmichaud: Oooo, even nicer than I was thinking.
19:16 PerlJam pmichaud: no, like   sub sin(Num() $x) { ... }    $x can be an Any that is coerced into a Num.
19:16 PerlJam Num() is short for Num(Any)
19:16 pmichaud oh, I haven't seen that yet
19:16 pmichaud (in the spec)
19:16 pmichaud (I could've  easily missed it)
19:18 moritz_ I don't think it's in yet
19:18 colomon It was just talked about this week on #perl6, as far as I know.
19:18 pmichaud jnthn: ping
19:18 PerlJam colomon: aye,  but things happen amazingly fast around here some times :)
19:19 jnthn pmichaud: p0ng
19:20 pmichaud in actions.pm:3154, we add some inline PIR that sets the $!real_self property on blocks
19:20 pmichaud is there a reason why we don't just do this in !fixup_routine_type ?
19:20 jnthn nod
19:20 jnthn Hmm
19:20 jnthn There may be, but it's been sufficiently long since I put it in...
19:20 jnthn Is there a comment explaining why we have it?
19:21 pmichaud why we have $!real_self ?
19:21 pmichaud or why we do it separately?
19:21 jnthn Either. ;-)
19:21 pmichaud there's a comment explaining $!real_self
19:21 jnthn Though I know why we have $!real_self.
19:21 jnthn Right
19:21 pmichaud and I know what it's for
19:21 pmichaud afaict nearly everywhere that we call fixup_routine_type we also end up setting real_self
19:21 jnthn It may be that we can do it in !fixup_block_type
19:21 pmichaud or we *should* be doing so
19:21 jnthn erm, !fixup_routine_type
19:21 jnthn Yeah
19:22 pmichaud okay, I'll see if that work.s
19:22 jnthn Yeah
19:22 pmichaud will save us some code, make things cleaner
19:22 jnthn I'm not sure why I'd have not done that in the first place, that's all.
19:22 jnthn It is the more obvious place to put it...
19:22 pmichaud perhaps real_self pre-dated fixup_routine_type
19:22 pmichaud it'd be easy to overlook.
19:22 pmichaud anyway, I'll try it and see what explodes :)
19:22 jnthn Maybe.
19:23 pmichaud afaict actions.pm is the only real place where those occur, and they occur next to each other.  gen_whatever  uses fixup_routine_type also, but I'm refactoring it now
19:23 pmichaud (rakudo day for me today is to see if I can get builtin operator overloading working, and perhaps start moving operators to setting)
19:31 jnthn Nice Rakudo day plan. :-)
19:31 jnthn The more we can move to the setting, the better.
19:32 icwiener joined #perl6
19:32 PerlJam pmichaud: aren't you going to have some kids impinging upon your reality soon?
19:35 pmichaud kids have homework. :)
19:36 pmichaud so yes, there will be kids here, but I think I'll be able to shield my portion of reality from too many interruptions
19:37 PerlJam (interruption shields)++
19:37 pmichaud besides, kids have a bedtime, and productive stuff often takes place after that :)
19:39 pmichaud speaking of which, have to go pick up a kid from school now.
19:39 pmichaud But I'm running a spectest while I'm gone :)
19:46 colomon So, does the different between sin($x) and $x.sin imply that there are situations for which $x.sin won't work but sin($x) will?
19:47 colomon rakudo: say sin(1..10).perl;
19:47 p6eval rakudo 0d4fe0: OUTPUT«Return value type check failed; expected Num, but got Range␤in method Any::!to-radians (src/gen_setting.pm:371)␤called from method Num::sin (src/gen_setting.pm:1382)␤called from Main (/tmp/iZuQWn6pEP:2)␤»
19:47 colomon rakudo: my @a = 1..10; say sin(@a).perl
19:47 p6eval rakudo 0d4fe0: OUTPUT«Return value type check failed; expected Num, but got Array␤in method Any::!to-radians (src/gen_setting.pm:371)␤called from method Num::sin (src/gen_setting.pm:1382)␤called from Main (/tmp/LnRSGruzFD:2)␤»
19:48 colomon rakudo: my @a = 1..10; say sin(@a);
19:48 p6eval rakudo 0d4fe0: OUTPUT«Return value type check failed; expected Num, but got Array␤in method Any::!to-radians (src/gen_setting.pm:371)␤called from method Num::sin (src/gen_setting.pm:1382)␤called from Main (/tmp/FUASvFYkVb:2)␤»
19:48 colomon Hmmm... sin(Any) not implemented fully yet?
19:49 TimToady apparently not
19:49 cognominal TimToady, should @a.[+] supported as equivalent to [+] @a to support a left ro right style so as to be able to write  @a.[+].whatever.more ? But then .[*] should be special cased to be special cased to be a postcircumfix .[]  with a Whatever
19:50 cognominal oops
19:50 TimToady too ambiguous with subscripting
19:50 cognominal TimToady, should @a.[+] supported as equivalent to [+] @a to support a left ro right style so as to be able to write  @a.[+].whatever.more ? But then .[*] should be special cased to be a postcircumfix .[]  with a Whatever
19:50 cognominal ok
19:51 TimToady in theory you can write @a.:<[+]>
19:52 TimToady S03:385
19:52 colomon Hmmm.... Num.sin defined in setting, but I don't see a trace of sin(Any) there.
19:53 TimToady "There it was, gone completely!"
19:53 cognominal nice indeed
19:54 pmichaud colomon: we haven't defined it yet, that's why Rakudo fails 3.sin
19:54 takadonet cya everyone tomorrow
19:55 colomon rakudo: say 3.sin;
19:55 TimToady .oO(Cover Your Ass?!?)
19:55 takadonet left #perl6
19:55 p6eval rakudo 0d4fe0: OUTPUT«Method 'sin' not found for invocant of class 'Int'␤»
19:55 colomon But Num.pm has "our Num multi method sin($base = 'radians') is export"
19:55 colomon I thought the problem was that 3 is not a Num?
19:56 pmichaud the problem is that Any.sin isn't defined yet
19:56 colomon rakudo: say Num(3).sin;
19:56 p6eval rakudo 0d4fe0: OUTPUT«invoke() not implemented in class 'Float'␤in Main (/tmp/iV1nGAK0rB:2)␤»
19:56 pmichaud in Any, we should have:   our Num multi method sin($base = 'radians') is export { (+self).sin(:$base); }
19:57 colomon Ah.
19:57 pmichaud or perhaps self.Num.sin(:$base)
19:57 TimToady NB: bases aren't supposed to be strings anymore according to spec
19:57 pmichaud ah, good point
19:57 colomon And we can't do that because of the problems with operators call different versions of themselves?
19:57 pmichaud colomon: I suspect it just hasn't been done yet.
19:58 pmichaud colomon: I don't think there's an issue with doing it now.  You're welcome ot try and see if it works if you'd like :)
19:58 TimToady everyone keeps going off on a tangent
19:58 pmichaud and sin isn't an operator :)
19:58 colomon TimToady: that 'cos we care about the little details.
19:58 TimToady well, it's supposed ot be
19:58 pmichaud well, maybe it's a prefix: operator
19:58 TimToady one of the few real named unaries left
19:58 * TimToady blames the mathematicians
19:59 pmichaud I have to say that 25 years of dealing with people with mathematical training makes me want to blame them for today's difficulties.  :-) :-)
20:00 colomon :P
20:02 colomon does anyone have a quick idea where 3.sin would be in the spectests?
20:02 pmichaud S32-num
20:02 colomon (I've just hacked my setting.)
20:02 pmichaud or -trig
20:02 colomon pmichaud++
20:02 pmichaud or something like that
20:02 TimToady phone
20:02 pmichaud anyway, S32-*
20:02 moritz_ ack '\d\.sin'
20:03 moritz_ no match.
20:03 colomon moritz_: just concluded that myself
20:05 colomon Is   make t/spec/S32-trig/trig.t
20:05 colomon correct for running just that test file?
20:06 moritz_ yes
20:06 colomon Is it changing the setting which is causing that to do a bunch of recompiling?
20:07 M_o_C How do you think one could define the term operator? I mean from what I know, technically there's no big difference...
20:07 moritz_ colomon: could well be, yes
20:08 colomon M_o_C: That's what caused that glitch in my head.  I see operators as just a fancy syntax for functions in p6.  (And I like that.)
20:09 colomon pmichaud's suggested Any.sin fails hard.  "Maximum recursion depth exceeded."
20:09 moritz_ M_o_C: perhaps with multi sub term:<foo> { 42 }; say foo; # prints 42
20:09 moritz_ colomon: how does it look like?
20:09 moritz_ like sin(+$argument)?
20:10 colomon (+self).sin(:$base);
20:11 pmichaud it might need to be self.Num.sin(:$base)
20:11 moritz_ you can print out (+self).WHAT to see if it's really Num()
20:11 pmichaud but yes, there could be some ambiguity
20:11 M_o_C moritz_: I want to comment with no comment on that :P
20:11 colomon okay, trying self.Num.sin(:$base); now
20:11 moritz_ like, if +self returns an Int (and it may do so) it will re-dispatch to Any again
20:12 M_o_C "<@pmichaud> I have to say that 25 years of dealing with people with mathematical training makes me want to blame them for today's difficulties.  :-) :-)" In which way / where were you dealing with them?
20:12 moritz_ rakudo: say 3.Num, 3.Num.WHAT
20:12 p6eval rakudo 0d4fe0: OUTPUT«Method 'Num' not found for invocant of class 'Int'␤»
20:12 moritz_ ou.ch
20:14 colomon Method 'Num' not found for invocant of class 'Int'
20:14 colomon is indeed how my test suite fails now.
20:14 colomon Still, that's an improvement.  And I can test a float instead easily enough...
20:15 colomon errr... except then it won't dispatch to Any?
20:15 moritz_ as a really ugly hack you can multiply by 1.0 :/
20:16 PerlJam moritz_: that's not ugly; it's traditional!  :)
20:16 moritz_ there's no contradiction there
20:17 PerlJam yeah, true
20:18 colomon rakudo: say 3.0.sin;
20:18 p6eval rakudo 0d4fe0: OUTPUT«0.141120008059867␤»
20:18 colomon Ah.  So I've cleverly just dodged testing my new Any.sin function, rather than come up with a test to verify it works.
20:22 colomon rakudo: say "3.0".sin
20:23 p6eval rakudo 0d4fe0: OUTPUT«Method 'sin' not found for invocant of class 'Str'␤»
20:23 [particle] very crafty.
20:23 colomon Method 'Num' not found for invocant of class 'Str'  ?????
20:23 colomon rakudo: say "3.0".Num.sin;
20:23 p6eval rakudo 0d4fe0: OUTPUT«Method 'Num' not found for invocant of class 'Str'␤»
20:23 colomon rakudo say +"3.0"
20:24 [particle] rakudo: say Num('3.0').sin;
20:24 p6eval rakudo 0d4fe0: OUTPUT«invoke() not implemented in class 'Float'␤in Main (/tmp/nSRuSidyI2:2)␤»
20:24 [particle] huh?
20:24 colomon I think that was mine?
20:24 [particle] yep.
20:24 [particle] + is giving a Float, not Num
20:24 colomon oh no, it was yours.  I forgot the colon.
20:24 M_o_C No, you fogot the :
20:24 M_o_C yep
20:24 colomon rakudo: say +"3.0"
20:24 p6eval rakudo 0d4fe0: OUTPUT«3␤»
20:24 kolibrie joined #perl6
20:24 [particle] ah
20:25 [particle] so Num() is returning Float?
20:26 colomon rakudo: say Num("
20:26 p6eval rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near "(\""␤in Main (src/gen_setting.pm:3460)␤»
20:26 colomon whoops
20:26 colomon rakudo: say Num("3.0").WHAT
20:26 p6eval rakudo 0d4fe0: OUTPUT«invoke() not implemented in class 'Float'␤in Main (/tmp/iwaU5jHDXC:2)␤»
20:26 sjohnson sup colomon
20:26 colomon going nuts trying to figure out how rakudo's type system deals with numbers.
20:27 moritz_ rakudo: say (2 + 0.0).WHAT
20:27 p6eval rakudo 0d4fe0: OUTPUT«Num()␤»
20:27 colomon ?!!!?
20:27 lambdabot Unknown command, try @list
20:27 quietfanatic joined #perl6
20:27 colomon say (3.0).WHAT
20:27 colomon rakudo: say (3.0).WHAT
20:27 p6eval rakudo 0d4fe0: OUTPUT«Num()␤»
20:28 quietfanatic What's happening is Num is creating an undefined Num object
20:28 colomon So 3.0 is a Num, but Num(3.0) is a float?
20:28 quietfanatic and the () is being interpreted as postcircumfix<( )>
20:28 colomon oh.
20:28 colomon rakudo: say 3.0.Num.WHAT
20:28 p6eval rakudo 0d4fe0: OUTPUT«Method 'Num' not found for invocant of class 'Num'␤»
20:28 [particle] *cough*
20:29 colomon rotfl
20:29 spinclad rakudo: say Num(3.0).WHAT
20:29 p6eval rakudo 0d4fe0: OUTPUT«invoke() not implemented in class 'Float'␤in Main (/tmp/OOLO9rscG7:2)␤»
20:29 pjcj joined #perl6
20:29 quietfanatic But I think it's a Parrot error message instead of a Perl error message.
20:29 quietfanatic becaue Num is called Flaot
20:29 moritz_ aye
20:29 PerlJam that's what I'd guess too
20:30 PerlJam rakudo: say Num(3).WHAT
20:30 p6eval rakudo 0d4fe0: OUTPUT«invoke() not implemented in class 'Float'␤in Main (/tmp/VMWn8hyalf:2)␤»
20:30 PerlJam shoudl Num().WHAT do something useful too?
20:30 spinclad rakudo: say Num(Num).WHAT
20:30 quietfanatic rakudo: say 3.0()
20:30 p6eval rakudo 0d4fe0: OUTPUT«invoke() not implemented in class 'Float'␤in Main (/tmp/HEnk4pnoq6:2)␤»
20:30 p6eval rakudo 0d4fe0: OUTPUT«invoke() not implemented in class 'Integer'␤in Main (/tmp/dYrGpsETYM:2)␤»
20:30 PerlJam rakudo: say Num().WHAT
20:30 p6eval rakudo 0d4fe0: OUTPUT«invoke() not implemented in class 'Float'␤in Main (/tmp/OJwdUOetAf:2)␤»
20:31 moritz_ rakudo: say Num.WHAT
20:31 jnthn An error but not that one.
20:31 p6eval rakudo 0d4fe0: OUTPUT«Num()␤»
20:31 spinclad rakudo: say Num.Num.WHAT
20:31 p6eval rakudo 0d4fe0: OUTPUT«Method 'Num' not found for invocant of class ''␤»
20:31 PerlJam heh
20:32 quietfanatic that class '' gets me a lot.
20:34 Matt-W joined #perl6
20:34 PZt joined #perl6
20:34 PerlJam joined #perl6
20:34 lambdabot joined #perl6
20:34 baest joined #perl6
20:34 RonOreck joined #perl6
20:34 athomason joined #perl6
20:34 KatrinaTheLamia joined #perl6
20:34 JarJarBinks joined #perl6
20:34 lucs joined #perl6
20:34 buu joined #perl6
20:34 krakan joined #perl6
20:34 antiphase joined #perl6
20:34 nothingmuch joined #perl6
20:35 sjohnson colomon's bot was cute :)
20:35 sjohnson and fast!
20:35 colomon sjohnson: My bot?
20:35 M_o_C moritz_: I suppose you opped me by accident...
20:36 spinclad .oO{ sjohnson goes out with ___bot on otherside of netsplit
20:36 spinclad }
20:38 moritz_ M_o_C: not by accident
20:38 sjohnson colomon: yea
20:38 sjohnson helpful too
20:39 Daenyth hmmm
20:39 Daenyth time to get the rakudo package fixed :)
20:40 colomon sjohnson: Are you thinking of the temp rakudo-bot from yesterday?  That wasn't me, it was another nick that started with c.
20:40 sjohnson oh..
20:40 sjohnson oops
20:41 spinclad (carlin++, and ianebot)
20:41 sjohnson well i did enjoy us talking about the given statement
20:41 sjohnson that was definitely you that time
20:41 colomon sjohnson: absolutely, but carlin++ and given++
20:41 colomon I was on when carlin did it, but I have no idea how to set up a bot.
20:41 sjohnson and colomon++
20:44 pmichaud yay, spectests pass!
20:44 jnthn pmichaud: yay :-)
20:44 jnthn pmichaud: Just the $!real_self change?
20:44 pmichaud yes
20:44 jnthn pmichaud: or other?
20:44 jnthn OK
20:45 pmichaud but that's a nice change
20:45 jnthn Yes, it is
20:45 moritz_ colomon: it's not hard - the bot is in the pugs repo in misc/evalbot/, just a few paths to adapt
20:45 pmichaud it makes it easier to write PIR subs with signatures.
20:45 moritz_ and you need a rakudo installed somewhere
20:45 moritz_ (I don't say that to smaller carlin++'s deeds, just to demystify it)
20:46 colomon moritz_++: Easy for you to say it's easy, you wrote it.
20:46 sjohnson it has gone from witchcraft to a simple configuration in my mind
20:46 jnthn pmichaud: Aye, but I'm hoping we can have not so many of those...
20:47 dalek rakudo: 3a4cc55 | pmichaud++ | src/ (2 files):
20:47 dalek rakudo: Move $!real_self setting from actions.pm into !fixup_routine_type.
20:47 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3a4cc550838b4a8c986b499316cd2ee452fa8f95
20:47 pmichaud at the moment I'm just looking at the Whatever subs.  But they're pretty easy to set up.
20:47 jnthn Oh, generated. No problem.
20:47 Daenyth rakudo 2009-08 can "make install", right?
20:47 * moritz_ wonders who'll be the first to make another pun on Whatever
20:48 moritz_ Daenyth: yes
20:48 Daenyth woo
20:48 pmichaud Daenyth: it installs to wherever the Parrot used to build it happens to be installed
20:48 pmichaud (patches welcome to get Rakudo's --prefix to be passed to --gen-parrot)
20:48 moritz_ (and actually you need 'make install' for 2009-08 if you want to run perl6 outside of the build directory
20:48 Daenyth pmichaud: can I redirect that? I'm packaging it
20:49 masak joined #perl6
20:49 pmichaud Daenyth: you can redirect it only partially.  Some of the installed files must go into the parrot install locations in order for Parrot to find them.
20:49 Daenyth I mean, it would rely on the parrot package, so it would install to the same system location after package installation, but after compiling I need the make install to dump all the files into a specific dir so I can bundle it up
20:49 pmichaud what packaging system?
20:49 Daenyth which reminds me, I have to update arch's parrot to 1.5 from .4
20:49 Daenyth arch
20:50 pmichaud ah
20:50 Daenyth all it should need is a DESTDIR=, if your Makefile supports that
20:50 pmichaud it does.
20:50 Daenyth then I'm set
20:50 * pmichaud double-checks.
20:50 pmichaud yes, the "make install" target honors DESTDIR
20:50 Daenyth okies
20:51 Daenyth now to go update our parrot :)
20:53 pmichaud ooooh, how pretty!
20:54 pmichaud http://perl6.org/    # ymmv depending on DNS cache expiration
20:54 M_o_C nice
20:54 moritz_ pmichaud: are you going to blog about it, or should I?
20:54 pmichaud moritz_: you should get the honors, unless you don't want to do it :)
20:55 moritz_ pmichaud: I don't think I'm sufficiently concentrated to do proper programming tonight, so I might just as well blog about it ;-)
20:55 pmichaud moritz_: sounds great.
20:55 pmichaud I think we can change the title from "Welcome to Perl 6 Projects"  to "Welcome to Perl 6"
20:55 moritz_ I was just about to do that ;-)
20:56 moritz_ (I'd have done that even without the domain change)
20:56 pmichaud now let's see if I can get perl.org/dev/perl6 to redirect there.  :)
20:56 moritz_ speaking of websites... anybody wants shell access to feather2 to increase our bus number?
20:56 moritz_ pmichaud: wait a bit with that please
20:56 pmichaud okay, I'll wait.
20:56 moritz_ there still valuable pages on there
20:56 moritz_ like the mailing list info
20:57 moritz_ I don't think we have duplicated that anywhere yet
20:57 pmichaud I was only going to see about redirecting dev/ itself.
20:57 pmichaud not the subpages
20:57 moritz_ better.
20:57 pmichaud although it probably makes sense to redirect many of those, too.
20:58 moritz_ what do you think of a <title> tag "Perl 6 - the future of programming"?
20:58 Daenyth should the rakudo-git package depend on parrot>=1.5 or just depend on parrot-svn?
20:58 pmichaud not bad... but some people might relate it to "perpetually in the future"  (a la Duke Nukem 3d)
20:59 moritz_ Daenyth: actually it should depend on the svn revision iin build/PARROT_REVISION
20:59 pmichaud Daenyth: the rakudo releases tie to the parrot releases
20:59 moritz_ Daenyth: but parrot-svn is a good approximation most of the time
20:59 pmichaud but in-between-releases from git often require newer versions of parrot
20:59 Daenyth moritz_: hmm... ok. I'm just trying to think of the best way to do it for the package manager
20:59 Daenyth the only problem with depending on parrot-svn is that the user's version could be ancient
21:00 Daenyth oh I know
21:00 moritz_ in which case Configure.pl will complain loudly
21:00 Daenyth hmm true
21:00 Daenyth yeah, I guess anyone using a rakudo-git package would have the common sense to figure it out
21:01 moritz_ any good ideas for a catchy <title> tag for perl6.org?
21:01 pugs_svn r28072 | moritz++ | [perl6-projects.org] simplified title and headings
21:02 moritz_ I've now just used <title>Perl 6</title> - guess it's a start
21:02 pmichaud I was going to suggest that simple is often best :)
21:02 Daenyth Perl6 - The language of choice for DNF developers
21:02 pmichaud lol
21:06 colomon After the magic of shuffling with .=pick(*), I almost expect .=dnf to be an easter egg...
21:07 Daenyth http://omploader.org/vMjgycw
21:07 Daenyth Does that look as it should?
21:07 Daenyth that's after make && make install
21:08 pmichaud looks right to me
21:08 moritz_ Daenyth: it's easy - if perl6 -e 'say "hi"' works, chances are that it's right
21:08 Daenyth heh
21:09 Daenyth should I include src/docs in the package?
21:09 cognominal rakudo: e ** 0
21:09 p6eval rakudo 0d4fe0: OUTPUT«** (HyperWhatever) is not yet implemented at line 2, near " 0"␤in Main (src/gen_setting.pm:2534)␤»
21:09 Daenyth hyperwhatever
21:09 Daenyth I like that name :>
21:10 moritz_ Daenyth: in that case it means that the ** is parsed as a term
21:10 Daenyth indeed
21:10 lisppaste3 M_o_C pasted "Error -1073741819" at http://paste.lisp.org/display/86096
21:10 cognominal hum, here it gives 2.71828182845905 which is fishy.
21:10 M_o_C Is someone familiar with that error?
21:10 cognominal rakudo: say e ** 0
21:10 moritz_ Daenyth: including docs/ wouldn't hurt, but not everything in there is relevant for the user
21:10 p6eval rakudo 0d4fe0: OUTPUT«** (HyperWhatever) is not yet implemented at line 2, near " 0"␤in Main (src/gen_setting.pm:2534)␤»
21:10 moritz_ rakudo: say e() *** 0
21:11 p6eval rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near "0"␤in Main (src/gen_setting.pm:3460)␤»
21:11 moritz_ rakudo: say e() ** 0
21:11 p6eval rakudo 0d4fe0: OUTPUT«1␤»
21:11 Daenyth moritz_: alright, I'll skip for now (laziness++), and then if people yell at me I'll throw it in :D
21:11 cognominal ho, I ran an old rakudo
21:11 pmichaud the rakudo DarkPAN strikes again :)
21:11 cognominal :)
21:12 moritz_ cognominal: so it gave 2.718 because of a misparse
21:12 moritz_ basically e is a parsed as a function (listop) now, and should be parsed as a term
21:12 moritz_ after which an operator is expected
21:12 cognominal indeed...
21:12 Daenyth http://omploader.org/vMjgydg
21:12 Daenyth Does that look sane to everyone?
21:13 moritz_ license=(GPL PerlArtistic)
21:13 moritz_ what does that mean?
21:13 pmichaud Daenyth: looks good to me.  Note that Rakudo version number strings will likely switch to "2009.08" or "200908" instead of "2009-08"
21:13 moritz_ Rakudo is licensend under Artistic 2.0
21:13 pmichaud Rakudo's license is PAL 2.0
21:13 Daenyth moritz_: rakudo is under the same license as perl, correct?
21:13 moritz_ which is compatible to GPL
21:14 masak rakudo: **6
21:14 moritz_ but it's not explicitly dual-licensed
21:14 p6eval rakudo 0d4fe0: OUTPUT«** (HyperWhatever) is not yet implemented at line 2, near "6"␤in Main (src/gen_setting.pm:2534)␤»
21:14 pmichaud it's not the same as Perl 5
21:14 pmichaud (older Perl 5s, at any rate)
21:14 pmichaud see the LICENSE file for Rakudo
21:14 Daenyth pmichaud: that would be helpful, then I could put it in pkgver (can't now because the '-' would cause parsing conflicts with the package filename)
21:14 Daenyth moritz_: ah ok
21:14 pmichaud Daenyth: have a preference between the dotted versus non-dotted form?
21:14 Whiteknight joined #perl6
21:14 Daenyth pmichaud: dotted is easier for me to vparse
21:15 pmichaud okay.  I'll likely make that change starting with Sep release
21:15 * Daenyth does a little dance
21:15 Daenyth moritz_: alright, fixed the license line
21:15 Daenyth should be all set now
21:15 moritz_ Daenyth++
21:16 pmichaud Daenyth: if you'd like us to add that file into the repo itself, we can do so.
21:16 Daenyth pmichaud: momentarily
21:16 Daenyth I'm going to change pkgver from 20 to 2009.08 in anticipation of next month
21:16 Daenyth So people don't get confused
21:16 pmichaud wfm
21:17 Daenyth http://aur.archlinux.org/packages.php?ID=29068 all set
21:17 pmichaud I might make a test version of the 2009.08 release.
21:18 Daenyth hmm
21:18 Daenyth pmichaud: would that be the git repo, or pugs, or..
21:19 tlbdk joined #perl6
21:20 pmichaud pmichaud: git repo (downloads)
21:22 Daenyth mm
21:22 Daenyth Perhaps a mention under INSTALL that "A package for Arch Linux is available in the AUR(link)", rather than that.. I think keeping it in there would be too easy to get out of sync. I don't object though if you really want it there
21:23 moritz_ I think a link is fine.
21:23 Daenyth yeah
21:23 pugs_svn r28073 | pmichaud++ | Improve consistency of punctuation a bit.
21:23 pmichaud oops, I forgot to put [perl6-projects] in my commit message.  pmichaud--
21:24 Daenyth Generally archers are encouraged to stick to the AUR for PKGBUILD files rather than elsewhere
21:24 pmichaud a link is fine with me
21:24 hercynium joined #perl6
21:24 moritz_ Daenyth: we go with whatever downstream prefers.
21:24 Daenyth yeah, a link would be best IMO
21:24 pmichaud feel free to patch the README, announcements, release-guide, etc. with updates
21:24 pmichaud (i.e., how you think it ought to be handled)
21:24 Daenyth in the future I may add a binary release to the community repository, but I'm going to wait on that for a few weeks I think
21:24 masak I have a bit more data on the "are people using proto?" question from a couple of days ago. my commit from three days back essentially broke proto, putting it in an endless config loop. the emails I'm getting from people tell me that, yes, proto has users.
21:25 moritz_ great
21:25 masak I'm pondering reverting or partially reverting that commit.
21:26 masak it won't do any good anyway until we've sat down and drafted up the new directory model.
21:26 Daenyth pmichaud: I'll leave that to your discretion. Just the setence and a link will be fine, I'll let you know when I add a binary package to our repos
21:26 pmichaud if you leave it to me, it might not happen :)
21:26 pmichaud file a ticket, then.  :-)
21:26 pmichaud (I might forget to do it)
21:26 Daenyth May as well fork/pullreq in that case :P
21:27 tlbdk joined #perl6
21:27 moritz_ Daenyth: if you do, please notify us here, we usually don't work with pull requests
21:27 Daenyth Would you prefer me to send you a git formatted patch?
21:28 pmichaud that works (well)
21:28 Daenyth np
21:28 pmichaud that's our recommended approach atm
21:28 Daenyth gimme a bit
21:28 Daenyth shame that github doesn't parse pod for README files
21:28 Daenyth it should
21:31 Daenyth 102 files changed, 4776 insertions(+), 2021 deletions(-)....
21:31 Daenyth heh, looks like I haven't pulled in a while :P
21:31 lisppaste3 moritz_ pasted "blog post about perl6.org (preview)" at http://paste.lisp.org/display/86098
21:31 moritz_ comments welcome ;-)
21:31 masak ooh, a preview!
21:32 pmichaud Daniel Wright is more than an attendee of YAPC conferences -- he helps organize them.
21:32 Daenyth Should I add another "=head2 Installing on Arch Linux" or so?
21:32 Daenyth I'm not sure what would read best
21:33 Daenyth or head3, whichever
21:33 moritz_ Daenyth: maybe a general section about OS packages
21:33 masak moritz_: s/- and give/- and gave/
21:33 Daenyth alrighty
21:33 pmichaud I don't know either.  Take your best guess; someone will refactor it for improvement at some point
21:34 moritz_ pmichaud, masak: thanks; extended/fixed
21:35 * pmichaud decides to see how many tests we fail outright when Whatever support is absent.
21:37 Daenyth What's the way in pod to do a link with a string of text?
21:37 Daenyth or should I just add the url in?
21:37 Limbic_Region joined #perl6
21:37 moritz_ just add the URL with L<http:/...>
21:37 Daenyth ok
21:38 colomon moritz_: looks good to me.
21:39 Daenyth http://omploader.org/vMjgyeQ Does this look appropriate?
21:39 Daenyth feel free to munge it however you like
21:39 moritz_ Daenyth: looks good, I'll apply.
21:40 Daenyth :D
21:41 moritz_ pushed.
21:41 Daenyth Thanks :)
21:41 moritz_ thank you!
21:42 Daenyth You're welcome :)
21:42 masak Daenyth++
21:43 justatheory joined #perl6
21:46 dalek rakudo: ec2f831 | Daenyth++ | README:
21:46 dalek rakudo: README: Added section about Rakudo packages, and a link to the Arch Linux package
21:46 dalek rakudo: Signed-off-by: Daenyth <Daenyth+git@gmail.com>
21:46 dalek rakudo: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
21:46 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/ec2f831be98be0eeb0edca2b12cf5f8aa48331c5
21:57 nihiliad joined #perl6
22:13 moritz_ http://perlgeek.de/blog-en/perl-6/a-shiny-perl6-org.html btw
22:18 pmichaud jnthn: ping
22:18 jnthn pmichaud: oh hai
22:18 pmichaud I think I'm about to do something of which you might disapprove :)
22:18 explorer joined #perl6
22:18 jnthn That's fine, I have a commit bit to make you disapprove with tomorrow. :-P
22:19 jnthn I'm guessing regress the Whatever tests?
22:19 pmichaud no, definitely not that
22:19 jnthn Ah, OK.
22:19 jnthn :-)
22:19 pmichaud I'm thinking of writing a routine that converts Parrot's :multi() sigs into Rakudo-compatible signature objects
22:19 * moritz_ would greatly disapprove of that, given he just spent time writing an obfu that's based on Whatevers
22:20 moritz_ (of breaking whatevers, that is)
22:20 pmichaud i.e., to make it easier to bless PIR-based :multis into Rakudo-compatible ones
22:20 jnthn You think you can manage that from PIR?
22:20 pmichaud yes, unless you see a huge obstacle I'm overlooking
22:20 jnthn Or you thinking C?
22:20 pmichaud I may have to write one dynop to lookup type objects from type integers
22:20 jnthn If you can get hold of the way to do it...
22:21 pmichaud I'm very much okay with the notion that we should be writing most of our operators in P6
22:21 pmichaud however, I'm worried that our generated setup/takedown might be too expensive for a few common operators
22:21 pmichaud and being able to easily take a PIR :multi and convert it to a Rakudo one could be useful for that
22:21 jnthn I've no issues with it, aside from you're just going to layer a little more upon a signatures implementation that is going to look radically different. But not until October, so certainly don't wait.
22:22 pmichaud I don't mind if it disappears entirely with your work
22:22 pmichaud it's meant to get us just a bit farther along without a performance hit until we get to the point where it's actually faster to do the multis in pure p6 :)
22:22 jnthn I'm hoping I'll be able to deal with the performance concerns in with my work too, fwiw.
22:22 pmichaud exactly.
22:23 pmichaud another way of phrasing it -- I'm trying to shim in builtin operator overloading
22:23 pmichaud and that might be easier with this approach
22:23 jnthn Sure, I don't disapprove.
22:23 pmichaud than it will be to rewrite all of the builtins as P6 multis
22:23 pmichaud okay.
22:23 pmichaud good.
22:23 jnthn I just wouldn't expect it to be something that lives for too many months. :-)
22:24 pmichaud that's perfectly fine.
22:24 pmichaud I can either do a lot of work making everything into p6 multis (and possibly slowing things down a lot), or have Rakudo automatically do it for a while.
22:25 zamolxes joined #perl6
22:25 pmichaud okay, that's all I needed for now, thanks.  Time for dinner here.
22:25 jnthn OK, enjoy dinner. :-)
22:26 * jnthn gets back to his mail server migration
22:27 jnthn Which is, it goes without saying, a lot less interesting than Perl 6...
22:27 diakopter twimc: I set perl6[dot].com to redirect to perl6.org ..
22:28 jnthn diakopter++
22:30 SmokeMachine joined #perl6
22:39 kborer joined #perl6
22:39 SmokeMachine joined #perl6
22:41 diakopter hunh; perl6.us points there too
22:41 diakopter and .info
22:41 diakopter and .net
22:41 diakopter and .biz
22:45 kborer_ joined #perl6
22:51 TimToady moritz_: one little problem, the current perl6.org doesn't appear to be Su-Shee's yet
22:53 kborer__ joined #perl6
22:59 Daenyth I'm off for a bit.. later all. Pm me if anyone needs anything, I'll be around
22:59 Daenyth left #perl6
23:02 pugs_svn r28074 | diakopter++ | add svn:mime-types so the perl6-projects.org can be previewed directly from svn http...
23:03 diakopter TimToady: which is Su-Shee's?
23:05 TimToady I don't believe she's checked it in yet
23:13 TimToady oh, wait, this is her design of more than a month ago, so it's still all true
23:13 TimToady nm
23:13 TimToady didn't go back far enough in the logs  orz
23:14 TimToady was thinking of her mockups of a few days ago
23:15 tak11 joined #perl6
23:15 TimToady The fact that it is all lies is all lies...
23:34 payload joined #perl6
23:36 someone joined #perl6
23:37 zamolxes joined #perl6
23:39 sjohnson perl 6 (or p5 way) to shift index points of an array?
23:41 sjohnson lets say you had an array, (a, b, c), and you wanted the start of the array to then be the 2nd element, and have it wrap so it returned (b, c, a)
23:42 diakopter (a, b, c) << 1
23:43 diakopter (kidding)
23:43 rba joined #perl6
23:44 sjohnson that is kinda the idea i would like to see though
23:44 diakopter (a, b, c).<<(1)
23:44 Jedai joined #perl6
23:44 Limbic_Region joined #perl6
23:45 quietfanatic joined #perl6
23:45 sjohnson rakudo: say  (a, b, c).<<(1).perl
23:45 p6eval rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near ".<<(1).per"␤in Main (src/gen_setting.pm:3460)␤»
23:45 quietfanatic rakudo: say <a b c>.rotate(1)
23:45 p6eval rakudo 0d4fe0: OUTPUT«bca␤»
23:45 quietfanatic There.
23:46 quietfanatic rakudo: say <a b c>.rotate
23:46 p6eval rakudo 0d4fe0: OUTPUT«bca␤»
23:46 sjohnson quietfanatic++
23:46 sjohnson rakudo: say <a b c>.rotate(2);
23:46 p6eval rakudo 0d4fe0: OUTPUT«cab␤»
23:46 sjohnson thanks quietfanatic
23:46 sjohnson rakudo: say <a b c>.rotate(3);
23:46 p6eval rakudo 0d4fe0: OUTPUT«abc␤»
23:46 sjohnson rakudo: say <a b c>.rotate(4);
23:47 p6eval rakudo 0d4fe0:  ( no output )
23:47 sjohnson i broketed it
23:47 sjohnson is this technology available to p5?
23:47 quietfanatic rakudo: say <a b c>.rotate(-1)
23:47 p6eval rakudo 0d4fe0: OUTPUT«cab␤»
23:47 sjohnson *googling*
23:47 quietfanatic There's probably a module.
23:48 TimToady you can push a splice
23:48 Limbic_Region quietfanatic - are you hacking on Rakudo now?
23:48 jnthn rakudo: say <a b c>.rotate(4); # works for me locally...
23:48 p6eval rakudo 0d4fe0: OUTPUT«bca␤»
23:48 jnthn heh, not br0ke
23:49 Guest42107 left #perl6
23:49 sjohnson thanks TimToady
23:49 quietfanatic Limbic_Region: me? No.
23:49 Limbic_Region quietfanatic - Parrot then?
23:50 quietfanatic No.  I'm writing a game engine in Perl 6 though
23:50 quietfanatic ...which requires the SDL library
23:50 Limbic_Region ah
23:50 quietfanatic ...which requires fiddling around with Parrot.
23:51 Limbic_Region too bad we lost luqui - it wouldn't have taken much to con him into helping if you mentioned game engine
23:51 Limbic_Region IIRC, chromatic has done the most SDL stuff with Parrot but I might be misremembering
23:51 quietfanatic It's very rudimentary currently
23:51 quietfanatic As in, just colored blocks, no images or anything
23:52 sjohnson hmm, shouldn't rotate be able to rotate past the string length?
23:52 sjohnson kind of like the caesar "utility" in bsdgames
23:53 Limbic_Region quietfanatic - would it be able to do something like this http://perlmonks.org/?node_id=559228
23:53 Limbic_Region ?
23:53 sjohnson is there anything that Perl 6 cannot do?
23:53 TimToady yes
23:54 quietfanatic If you mean calculate the solution, you don't need a game engine.
23:54 quietfanatic If you mean simulating playing with it, maybe.
23:54 Limbic_Region the latter
23:55 Limbic_Region or rather, be able to represent the rotations as one of the solutions algorithm runs
23:55 quietfanatic Probably.
23:55 quietfanatic I suppose you'de have the cubes laid out vertically with the sides laid out horizontally...
23:56 sjohnson rakudo: say <ART2 BIO1 BIO3>.rotate(2);
23:56 quietfanatic ...or something.
23:56 p6eval rakudo 0d4fe0: OUTPUT«BIO3ART2BIO1␤»
23:56 sjohnson rakudo: say <ART2 BIO1 BIO3>.rotate(1);
23:56 p6eval rakudo 0d4fe0: OUTPUT«BIO1BIO3ART2␤»
23:56 sjohnson rakudo: say <a b c d e>.rotate(1);
23:56 p6eval rakudo 0d4fe0: OUTPUT«bcdea␤»
23:57 sjohnson rakudo: say <ART2 BIO1 BIO3>.rotate(-1);
23:57 p6eval rakudo 0d4fe0: OUTPUT«BIO3ART2BIO1␤»
23:57 sjohnson rakudo: say <ART2 BIO1 BIO3>.rotate(-2);
23:57 p6eval rakudo 0d4fe0: OUTPUT«BIO1BIO3ART2␤»
23:58 sjohnson rakudo: say <a b c d e f g>.rotate(-3); # should be c first
23:58 p6eval rakudo 0d4fe0: OUTPUT«efgabcd␤»
23:58 sjohnson rakudo: say <a b c d e f g>.rotate(2); # should be c first
23:58 p6eval rakudo 0d4fe0: OUTPUT«cdefgab␤»
23:58 sjohnson rakudo: say <a b c d e f g>.rotate(4); # should be c first
23:58 p6eval rakudo 0d4fe0: OUTPUT«efgabcd␤»
23:58 sjohnson sorry for spamming the bots guys
23:59 TimToady it's the inaccurate comments that bug us :)
23:59 sjohnson haha shuold have changed those as i tried different experiments
23:59 sjohnson lest the devels think that it really should be c

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo