»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by lichtkind on 5 March 2010.
sorear TimToady: how nonsensical? 00:00
TimToady does anything even use that $<sym>? 00:01
sorear no 00:02
TimToady and why should it be [':','dba']?
sorear ah
TimToady it just turned it into ':dba' since the «» code is what was giving undef warnings
pugssvn r31062 | sorear++ | [viv] Add a --no-indent option; rebootstrap with it 00:03
sorear how is the new build working for you?
TimToady I hope it still indents the yaml :)
sorear it doesn't affect yaml
it's just no warnings 'redefine'; *indent = \&no_indent 00:04
so the code generator never puts in the spaces
TimToady HACKALERT!!! :)
sorear I'm not afraid of typeglobs 00:05
TimToady
.oO(fools rush in...)
00:06
sorear possibly a conditional in ::indent itself would have been clearer
TimToady oh, I probably didn't actually fix the warning, if $M is undefined... 00:08
00:09 yinyin joined
pugssvn r31063 | lwall++ | [STD,Cursor] suppress undef warnings 00:16
sorear TimToady: how well has the new build system been working for you? 00:20
TimToady pretty okay; I don't know what the new targets are, but 'make clean' and 'make' seem to work :) 00:21
sorear I use make fast, mostly
make STD.pmc too 00:22
00:22 ash__ left
sorear it's slower than I'd like 00:26
00:27 ash__ joined
sorear there's also 'make reboot', which causes the current built version of STD.pm6 to be used for future builds 00:27
TimToady though 'make reboot' can conceivably break the build for 'make clean'ers 00:29
sorear how so? you mean if you wrote a bad version of STD.pm6? 00:31
00:31 ashleydev left
TimToady if you introduced a dependency on something that a fresh build doesn't know how to do 00:31
sorear no, make reboot copies the *compiled* version 00:32
00:32 justatheory left
TimToady std: 63 00:33
00:33 LylePerl left
p6eval std 31063: OUTPUT«ok 00:01 110m␤» 00:33
00:34 LylePerl joined
pugssvn r31064 | sorear++ | [viv] Re-enable required argument checking for only subs 00:35
r31064 | [STD] Declare EXPR argument as optional
00:37 rgrau left
TimToady sorear: have you figured out why \x et al. are not recognized in regexes? 00:40
since t/spec/S05-mass/named-chars.t is one of the regressions
hmm, can recognize /\xAB/ but not /\x[AB]/ 00:45
std: /\xAB/
sorear no
p6eval std 31063: OUTPUT«ok 00:01 108m␤»
TimToady std: /\x[AB]/
p6eval std 31063: OUTPUT«===SORRY!===␤Unrecognized regex backslash sequence at /tmp/utnzSrqANQ line 1:␤------> /\⏏x[AB]/␤Potential difficulties:␤ [AB] appears to be an old-school character class; please use <[AB]> if you␤ mean a character class, or quote it like
..'AB…
TimToady looking...
sorear it might have something to do with the bit where I made '{' ~ '}' mean '{' {} ~ '}' 00:48
std: /\Z/
p6eval std 31063: OUTPUT«===SORRY!===␤Unsupported use of \Z as end-of-string matcher; in Perl 6 please use \n?$ at /tmp/CDErcWmdgI line 1:␤------> /\Z⏏/␤Parse failed␤FAILED 00:01 107m␤»
TimToady I see there's a lazymap in there, perhaps deferring the <stopper> match to outside the local $::GOAL's scope is a problem somehow 00:49
it's not supposed to be using $*GOAL for anything other than messages though now
and the really stopper is supposed to always travel with the type of the Cursor 00:50
00:50 lest_away is now known as lestrrat
TimToady if you want to look at it, I'll stop for now 00:51
sorear no
TimToady the problem with the --no-indent is that there isn't an indented .pm5 out there I can just look at. :)
having it a separate make step meant that both versions were always there 00:52
pugssvn r31065 | sorear++ | [STD-ecosystem] Add a STD.pm5 target 00:54
sorear yes, that is the downside
but with the code-gen side of viv as fast as it is... I think it's tolerable 00:55
TimToady: STD.pm6 +3791. viv is generating $0 as an array because it occurs inside a quantifier. Is this correct behavior? 00:58
01:01 envi^home joined
TimToady yeah, needs a .[0] 01:03
01:04 whiteknight left
TimToady or a way in P5 to add .Str to ARRAY :) 01:04
01:08 pausenclown left 01:09 ashleydev joined 01:13 pausenclown joined 01:16 madalu joined 01:21 masonkramer__ left, masonkramer_ joined 01:22 envi^home left, plobsing joined 01:25 envi^home joined
pmichaud need to add to the README that JSON is now a requirement for STD compilation :) 01:26
awwaiid random rakudo question, why is 'assign' in the filename 'src/builtins/assign.pir' not capitalized like all the other files in that directory? 01:27
pmichaud because it's not a class
or role
or type
awwaiid ok, thanks 01:28
01:30 Schwern joined
pmichaud sorear: I get a lot farther now with building STD than earlier. 01:32
(still building... lots of "Use of uninitialized value ..." warnings) 01:33
sorear yes, TimToady++ just fixed some of those
pugssvn r31066 | sorear++ | [STD] add missing [0] for dumbsmart 01:34
r31067 | sorear++ | [viv] Remove obsolete dependency on JSON 01:36
sorear 1 regression down
01:37 Schwern left
awwaiid ok if I add comments to RT tickets that say "actually it looks like rakudo does this correctly now. <pasted session>" ? 01:37
01:38 uvtc joined
pmichaud awwaiid: please do so, yes! 01:38
awwaiid: and thanks!
awwaiid np 01:39
uvtc Hi #perl6. I just installed Parrot (with Rakudo) into `/usr/local/parrot`. Not sure how much sense this question makes, but, where is Rakudo's implementation of the Perl 6 "standard library"? 01:41
pmichaud uvtc: in the sources, generally in src/core/*.pm 01:42
beyond that, there's not really a "standard library" defined by the language. Different distributions will be able to choose what modules to bundle with the distribution. 01:43
sorear: build completed on my system, trying "make test" now. 01:44
uvtc I don't have a `/src/core` dir. Inside `/usr/local/parrot/src`, there's `2.4.0-devel`, and inside that, `ops`, `pmc`, and a couple of vtable files.
pmichaud uvtc: in the rakudo sources, not in the installed 01:45
the core library is compiled in as part of the rakudo executable
TimToady sorear, it appears that in \x[ it is not matching the [ because the pattern has an extra backslash: 01:46
3/1 TOP comp_unit statementlist statement EXPR termish term term__S_086value value value__S_135quote quote quote__S_142Slash_Slash nibble nibbler EXPR termish quant_atom_list quantified_atom atom metachar metachar__S_037Back backslash backslash__S_065x:::::::: PATTERN (?-xism:\G(?i:\\\[)) didn't match at 3
see that it says \\\[
uvtc pmichaud: Ah. compiled in. I see. Thanks.
TimToady sorear: so I think it's a translation error 01:47
sorear ahhh, backslashes, my sworn enemy 01:52
pmichaud looks like it builds fine on my system now. 01:53
(std, that is)
sorear++ TimToady++
01:54 yinyin left
sorear TimToady: found the error 01:56
01:59 azert0x_ left, azert0x left
pugssvn r31068 | sorear++ | [viv] Fix double escaping of strings in case ignoring contexts (TimToady++ for doing most of the work) 02:00
02:01 bacek joined
sorear Hello bacek 02:01
02:01 [mark] joined
sorear TimToady: All three regressions are now fixed 02:02
TimToady snaptesting 02:07
uvtc I'd like to install Proto and try it out (by having it install the web module), but the install instructions on the Proto page (github.com/masak/proto) aren't working. The command runs, but evidently fails to get the proto.pl file. 02:12
(Aren't working *for me*, I mean.) 02:13
Anyone have any tips on how I might get it installed?
My guess is that, once I get a proto.pl file, it should go with my `perl6` binary in `/usr/local/parrot/bin`.
Oops. Actually, looks like I can just grab the file by itself from github. 02:15
02:18 drbean left, drbean joined
pugssvn r31069 | sorear++ | [STD] Update bootstrap to get TimToady++'s undef fixes into the build 02:18
02:19 ashleydev left 02:23 bacek left, agentzh joined 02:25 envi^home left, rhr left, Sarten-X left, p6eval left, TimToady left, constant left, avar left, kolibrie left, literal left 02:28 envi^home joined, rhr joined, Sarten-X joined, avar joined, p6eval joined, TimToady joined, constant joined, kolibrie joined, literal joined, card.freenode.net sets mode: +vo p6eval TimToady
TimToady Passed 782/815, 95.95% 02:28
that's pretty darn good
02:29 TiMBuS joined
TimToady I pronounce this stage of bootstrap complete. 02:30
sorear++ sorear++ sorear++ sorear++ sorear++ sorear++
gimme5 is now officially pining for the fjords :) 02:31
pugssvn r31070 | sorear++ | [gimme5] Delete. (And there was much rejoicing.)
TimToady I thought you'd enjoy doing that :) 02:32
02:35 uvtc left 02:37 mantovani left, mantovani joined
pugssvn r31071 | lwall++ | [viv] make sure .pmc has trailing newline 02:41
02:48 meppl left
pugssvn r31072 | colomon++ | [t/spec] Update hyper tests to match new spec. 02:49
02:49 satyavvd joined
Wolfman2000 gimme5...wait a second. What was that used for again, and why is there much rejoicing? 02:51
(( and why are you guys copying Python with the references? ))
TimToady just because someone else likes the same thing you do doesn't mean you have to quit liking it... 02:52
Wolfman2000 I wasn't complaining about the Python references. I found it...slightly funny actually.
TimToady gimme5 was the chewing-gum-and-bailing-wire translator from P6 to P5 that we used to run std: with up till today 02:53
Wolfman2000 Then again, I have to remember that Perl 6 seems to be combining many language aspects. Only makes sense for the jokes to translate.
TimToady sorear++ has developed viv to the point where it can now do the same translation, so we no longer need gimme5
and it does the translation "right" rather than cheating all over the place
Wolfman2000 "to the point"...soundsl ike something is missing then.
TimToady well, it still uses modules written in Perl 5, such as Cursor and Lazymap 02:54
next step is to rewrite those in P5 and translate using viv, so the whole system is in P6
02:55 ShaneC left
Wolfman2000 but once those are done...then even more progress in Perl 6 02:56
TimToady with viv we can start to think about running BEGIN blocks, for instance
and we can use viv to target other backends than P5 02:57
02:57 xinming_ is now known as xinming
TimToady and we can do some of the optimizations that were impossible with gimme5 02:57
and we can stop writing STD in the subset of P6 that gimme5 groks
Wolfman2000 alright, viv is the new hero, got it 02:58
TimToady viva la viv
03:02 pausenclown left
sorear gimme5 consisted of 1200 lines of Perl5 s/// statements being used to turn a subset of perl 6 into perl 5 03:03
+800 lines of regex compiler
viv works by passing Perl 6 into STD.pm6, then generating Perl 5 from the parse *tree*
03:03 pausenclown joined
sorear so it accepts a much larger subset of perl 6 03:04
e.g. gimme5 couldn't really handle postcircumfixes
Wolfman2000 I recall a++ has a postfix in ++. What's the postcircumfix again?
sorear @a[2] 03:05
it's a postfix operator that has an expression
with gimme5, you had to write the method call form
Wolfman2000 ...I'm not quite seeing how making a postcircumfix would be useful. Got a sub you can make? 03:06
sorear sub sum(@arr) { my $x = 0; for (0 .. ^@arr) { $x += @arr[$_] } } 03:07
Wolfman2000 ...I think I asked the wrong question 03:08
sorear the reason you can't see why they'd be useful is that you're taking them for granted
Wolfman2000 I've made custom infixes and prefixes before.
But where would a custom postcircumfix come in handy?
sorear I'm not talking about custom ones
gimme5 couldn't handle the *standard* ones
Wolfman2000 ...woah. Okay, missed that detail. 03:09
03:09 satyavvd left, bjarneh joined, justatheory joined 03:16 ash__ left
sorear Is backtracking from one LTM alternative into the next-longest token implemented yet? 03:25
TimToady yes, that's what relex controls
well, $relex, since it's always anonymous 03:26
03:27 yinyin joined
TimToady see Cursor.pmc:531 03:27
sorear aha 03:28
what about something like [ a | aa ] ab 03:29
can it backtrack into a group of alternations
TimToady I believe so, but I could be wrong
if so, it's done with lazymaps 03:30
it won't happen under :r of course
03:30 madalu left
sorear -> svnweb 03:33
What is "failover"? 03:35
TimToady context?
generally, when your first try or set of tries don't work, and you'd ordinarily get an exception, but you have something else to try instead 03:36
we used to do a lot more of it in the design of p6, but we've tended to avoid it in recent years when possible 03:37
we used to failover between methods and functions, and vice versa
looking in GLOBAL for dynvars that aren't in the dynamic scope is also a failover 03:38
sorear die "failover no longer implemented" 03:39
TimToady where?
sorear gimme5, RE_any::walk
TimToady oh, in that case, it originally assumed that the fates or relexes were unreliable, so would retry all the cases one by one, much more like rakudo still does 03:41
when the relexing worked, we didn't have to do that anymore
STD has trusted its relexing for more than a year now, I think
03:45 skids left
sorear debates adding no warnings 'misc' so as to make my $C = foo; my $C = $C->bar; legal without intervening braces 03:52
TimToady that only works if you never need access to the original $C 03:53
03:55 satyavvd joined
TimToady and it doesn't really buy you much in p5 03:57
since most blocks parasitize their sub's lexpad anyway
04:21 ashleydev joined 04:23 jaldhar joined
pugssvn r31073 | lwall++ | [viv] is no longer a "start" on replacing gimme5 :) 04:24
04:33 tedv left 04:38 mtnviewmark joined 04:40 mtnviewmark left 04:41 Wolfman2000 left 04:42 envi^home left, envi^home joined 04:44 plainhao left 04:48 ashleydev left
pugssvn r31074 | sorear++ | [viv] Overhaul indentation engine; should be much more readable now 04:50
04:53 yinyin left
satyavvd Why it is not displaying all the methods of HASH? 04:54
perl6 -e 'for Hash.^methods(:global) -> $meth { say $meth.name , "-", $meth.WHAT }'
but same works for 'Array' 04:55
??? 04:57
05:00 patspam left 05:01 PenThrive left
TimToady interestingly: 05:03
rakudo: for { a => 1 }.^methods(:global) -> $meth { say $meth.name , "-", $meth.WHAT }
p6eval rakudo 18d996: OUTPUT«sort-Multi()␤Bool-Method()␤list-Method()␤postcircumfix:<{ }>-Multi()␤push-Method()␤delete-Method()␤of-Method()␤elems-Method()␤invert-Multi()␤Str-Method()␤reverse-Method()␤keys-Method()␤postcircumfix:<{
..}>-Multi()␤pairs-Method()␤contains-Method()␤exists-Method()␤kv-Method()␤ACCEPTS-…
05:15 kaare joined, kaare is now known as Guest6050 05:23 finanalyst joined 05:30 bacek joined 05:31 cli_ left 05:35 szabgab joined 05:36 dukeleto joined
dukeleto howdy 05:37
sorear hello 05:38
dukeleto i am trying to load perl6.pbc from rakudo in PL/Parrot, and I am running into this: gist.github.com/423516
dukeleto is trying to make PL/Perl6 work on PL/Parrot
sorear If you ever figure out how to make this work, tell us. 05:39
I would very much like to know why loading languages in Parrot is so balky. 05:40
snarkyboojum satyavvd: something like this 05:43
rakudo: class B { method class_B{} }; role A is B { method role_A(Str $test) {} }; say A.^methods(:global)
p6eval rakudo 18d996: OUTPUT«role_A␤»
snarkyboojum rakudo: class D { method class_D{} }; class C is D { method role_C(Str $test) {} }; say C.^methods(:global)
p6eval rakudo 18d996: OUTPUT«role_Cclass_DcanNumericelemsendreduceStrkeysreverseisauniqclassifymappairskvACCEPTSminmaxpickfirstminmaxdoesgrepvaluesjoinWHICHperlCREATECapturePARROTblessWHENCEWHERElistnotdefBUILDALLnewBoolsayprintdefinedWALKitemBUILDREJECTSclone␤»
snarkyboojum rakudo: class B { method class_B{} }; role A is B { method role_A(Str $test) {} }; say A.new.^methods(:global)
p6eval rakudo 18d996: OUTPUT«role_Aclass_BminmaxdoesgrepvaluesjoincanNumericelemsendreduceStrreversekeysuniqisaclassifymappairskvACCEPTSminmaxpickfirstBUILDALLnewBoolsayprintdefinedWALKitemREJECTSBUILDcloneWHICHperlCREATECapturePARROTblessWHENCEWHERElistnotdef␤»
dukeleto sorear: i will let y'all know, but would appreciate any help peeps in here have to give :) 05:44
snarkyboojum not saying it's right, but that's what happens with Hash (a role) inheriting from a class (EnumMap)
satyavvd ok
snarkyboojum ask jnthn or someone.. could be a bug (I don't know enough) :) 05:45
satyavvd yup ..Thanks 05:46
05:46 BrowserUk joined 05:49 yinyin joined
[Coke] anyone recall the git magic to make the old 'ng' branch the new 'master' ? 05:55
sorear git checkout master; git reset --hard ng 05:56
dukeleto [Coke]: git branch -M ng master
05:59 hudnix left 06:01 eternaleye left
[Coke] dukeleto: what happens to master then? 06:02
(old master)?
dukeleto [Coke]: it goes into the ether, maybe not what you want 06:04
[Coke]: but you could do git branch -m master old_master beforehand 06:05
06:05 frodwith left 06:06 uniejo joined
[Coke] dukeleto: eh. ether is prolly OK in this case. danke. 06:06
06:07 frodwith joined 06:18 eternaleye joined 06:19 Su-Shee joined 06:25 abhy joined 06:28 abhy left 06:35 justatheory left 06:45 xomas left
moritz_ good morning 06:46
06:46 viklund joined 06:47 frodwith left
sorear good morning moritz_ 06:48
moritz_ installing Try::Tiny...
BinGOs There is no try there is only do. 06:49
sorear really?
BinGOs was throwing StarWars™ quotes around. 06:50
sorear Try::Tiny has been a Moose dependency for quite a while
06:50 frodwith joined
moritz_ ouch 06:52
szabgab is use v6; required by the specs ? currently rakudo can live without it
moritz_ I've tried to build a debian package for Try::Tiny
and had the local::lib env variables lying around
so it made a debian package that installed into /home/moritz/perl/ 06:53
szabgab: "it depends" (more)
szabgab: when the binary is called 'perl6', v6 is the default mode
szabgab: but if the binary is called 'perl', v5 should be the default, and the 'use v6;' is required to enable Perl 6 mode 06:54
szabgab rakudo: my $x = 0; while ($x < 3) { say $x++ }
p6eval rakudo 18d996: OUTPUT«0␤1␤2␤»
szabgab rakudo: my $x = 0; while ($x < 3){ say $x++ }
p6eval rakudo 18d996: OUTPUT«===SORRY!===␤Missing block at line 11, near ""␤»
szabgab this is a parsing error right?
moritz_ yes
without a space, the {...} is parsed as a postcircumfix
the right thing to do is to omit the parens 06:55
rakudo: my $x = 0; while $x < 3 { say $x++ }
szabgab oh, so it will never work that way?
p6eval rakudo 18d996: OUTPUT«0␤1␤2␤»
moritz_ right
std: my $x = 0; while ($x < 3){ say $x++ }
szabgab ah
p6eval std 31074: OUTPUT«===SORRY!===␤Missing block (apparently gobbled by undeclared routine?) at /tmp/BjbKAwHt8k line 1 (EOF):␤------> my $x = 0; while ($x < 3){ say $x++ }⏏<EOL>␤Parse failed␤FAILED 00:01 111m␤»
szabgab ty
moritz_ you're welcome
sorear: STD.pm build goes much further this time 06:56
like, finished \o/
afk 06:59
06:59 plobsing left
Su-Shee GNAGNA. COULD I PLEASE HAVE PERL6 NOW? this is a nuisance, this old stuff. 07:16
07:16 aindilis left 07:17 aindilis` joined 07:25 xomas_ joined, xomas_ left, xomas_ joined 07:41 clintongormley joined, ejs joined
pugssvn r31075 | sorear++ | [viv] Start bringing _PATTERN under the DEEP framework, and implement combination of quantifiers with atom regexes. -2% STD.pm5 size 07:45
07:48 ejs left, ejs joined
sorear TimToady: I'd love to optimize [ a | b ] into <[ a b ]>; could that be made to play nicely with LTM? 07:49
07:53 aindilis` left 07:57 wallberg joined 07:58 BrowserUk left, zostay left
szabgab what is your suggested way to prompt for a value with a condition? my $val = prompt("Please give number below 50"); while $val >= 50 { $val = prompt("Please...") } 07:59
that has the same prompt twice
07:59 zostay joined 08:00 dms joined
szabgab I guess: my $val; while not defined $val or $val >= 50 { $val = prompt("...") } 08:00
anything better ?
mathw Morning
szabgab gm
08:01 dms left
moritz_ while my $val = promt(...) < 50 { ... } 08:02
while my $val = promt(...) < 50 { 1 }
1 while (my $val = prompt(...)) < 50; 08:04
szabgab "Ask the user. If the answer is incorrect, ask again." 08:05
$val = prompt() while $val < 50;
that's not even the right translation 08:06
sorear sub ask($sm, $prompt) { my $val; do { $val = prompt $prompt } until $val ~~ $sm; $val } 08:07
moritz_ ask: my $val = prompt(); if $val < 50 { got ask };
s/got/goto/
j/k :-)
sorear ask * >= 50, "Enter a number over 50"
moritz_ rakudo: say prompt() 08:08
p6eval rakudo 18d996: OUTPUT«No applicable candidates found to dispatch to for 'prompt'. Available candidates are:␤:(Any $msg)␤␤ in main program body at line 11:/tmp/utKUl1Z0j4␤»
moritz_ rakudo: say prompt('')
p6eval rakudo 18d996: OUTPUT«Land der Berge, Land am Strome,␤»
hejki :D
08:09 Snarkyboojum_ joined, Snarkyboojum_ left
moritz_ rakudo: say $*IN.slurp.substr(0, 10) 08:10
p6eval rakudo 18d996: OUTPUT«Land der B␤»
pugssvn r31076 | sorear++ | [viv] Combine regexes in sequence nodes
sorear is that the German national anthem?
moritz_ rakudo: say $*IN.slurp.comb.classify({$_}).sort({+.value}).batch(5).map({.key}) 08:11
sorear: Australian
p6eval rakudo 18d996: OUTPUT«Method 'batch' not found for invocant of class 'Parcel'␤ in main program body at line 11:/tmp/KZgpvkWzA6␤»
moritz_ rakudo: say $*IN.slurp.comb.classify({$_}).sort({+.value}).[^5].map({.key})
p6eval rakudo 18d996: OUTPUT«TZAÄD␤»
moritz_ sorear: erm, Austrian 08:12
close miss :-)
rakudo: say $*IN.slurp.comb.classify({$_}).sort({-.value}).[^5].map({.key})
p6eval rakudo 18d996: OUTPUT«e rin␤»
08:13 JimmyZ joined
JimmyZ rakudo: &$foo; 08:13
p6eval rakudo 18d996: OUTPUT«===SORRY!===␤Confused at line 11, near "&$foo;"␤»
JimmyZ known bug? 08:15
sorear rakudo: $foo();
p6eval rakudo 18d996: OUTPUT«===SORRY!===␤Symbol '$foo' not predeclared in <anonymous>␤»
sorear JimmyZ: syntactically invalid
moritz_ std: my $foo; &$foo
p6eval std 31075: OUTPUT«ok 00:01 108m␤»
moritz_ JimmyZ: I think it's known
JimmyZ moritz_: ok, ignore it :) 08:16
szabgab rakudo: while my $val = prompt("num ") >= 10 {}; say $val; 08:17
p6eval rakudo 18d996: OUTPUT«num 0␤»
szabgab that's not good as the second $val is not the same scope 08:18
moritz_ it is
in Perl 6
rakudo: while (my $val = prompt("num ")) ~~ /Strome/ {}; say $val; 08:19
p6eval rakudo 18d996: OUTPUT«num num Land der Äcker, Land der Dome,␤»
szabgab ok, maybe it is but I get 0 there
no matter how hard I press the keyboard :-(
moritz_ yes, because $*IN doesn'T contain numbers
(on p6eval at least)
szabgab rakudo: while my $num = 7 >= 10 {}; say $num; 08:20
p6eval rakudo 18d996: OUTPUT«0␤»
moritz_ precedence
szabgab rakudo: while (my $num = 7) >= 10 {}; say $num;
p6eval rakudo 18d996: OUTPUT«7␤»
szabgab rakudo: while (my $num = 12) >= 10 {}; say $num; 08:21
ok I tripped it :-)
p6eval rakudo 18d996: ( no output )
moritz_ no worries, it has a timeout
szabgab so I need the parentheses there I think, right?
for the precedence 08:22
moritz_ right
because comparisons are tighter than assignment
08:24 Maddingue[work] joined
szabgab if I could write it my $num = prompt while $num >= 10; ... 08:25
rakudo: my $num = 7 while $num >= 10; say $num;
p6eval rakudo 18d996: OUTPUT«Use of uninitialized value in numeric context␤Any()␤»
szabgab rakudo: my $num = 7 while not defined $num or $num >= 10; say $num; 08:26
p6eval rakudo 18d996: OUTPUT«7␤»
08:27 eternaleye left
pugssvn r31077 | moritz++ | [t/spec] unfudge some advent tests for rakudo 08:31
08:32 pmurias joined
dalek kudo: a1140cc | moritz++ | build/PARROT_REVISION:
bump PARROT_REVISION to get latest nqp-rx fixes
08:34
08:37 eternaleye joined 08:40 dakkar joined 08:44 wallberg left 08:47 snarkyboojum left
moritz_ \o/ all JSON parsing tests pass agian 08:48
pugssvn r31078 | sorear++ | [viv] Fix a bug which caused 345 unneccessary lazymaps in STD.pm5. (But only saves 15 seconds?) 08:50
08:52 meppl joined 08:53 snarkyboojum joined
moritz_ rakudo: 'a b c'.subst(/<alpha>/, -> $m { uc $m }, :g) 08:54
p6eval rakudo a1140c: ( no output )
moritz_ rakudo: say 'a b c'.subst(/<alpha>/, -> $m { uc $m }, :g)
p6eval rakudo a1140c: OUTPUT«A B C␤»
sorear starts a NYTProf run over STD.pm6 and goes to sleep 09:05
09:08 dju joined
moritz_ rakudo: say 'abc'.samemark('ö') 09:08
p6eval rakudo a1140c: OUTPUT«Method 'samemark' not found for invocant of class 'Str'␤ in main program body at line 11:/tmp/Uip9Zlpb4l␤»
moritz_ rakudo: Range ~~ Iterable 09:18
p6eval rakudo a1140c: ( no output )
moritz_ rakudo: say Range ~~ Iterable
p6eval rakudo a1140c: OUTPUT«1␤» 09:19
moritz_ rakudo: say Positional ~~ Iterable
p6eval rakudo a1140c: OUTPUT«0␤»
09:22 ispeak joined 09:32 pmurias left 09:38 ruoso joined
snarkyboojum hi moritz_ 09:52
someone noticed this today gist.github.com/423699, is it buggy or how things are supposed to work?
moritz_ snarkyboojum: I think it's ok (more) 09:55
snarkyboojum ah ok - so only shows the first method in the role 09:56
moritz_ snarkyboojum: because a role can't really inherit from a class... it can just pass on the inheritance rule to classes it's mixed into
snarkyboojum Mmm.. okydoke.. the real world example was Hash (it's a role that inherits from EnumMap)
so inspecting Hash.^methods for example, only shows the methods in the Hash role 09:57
moritz_ rakudo: my @a = < a b c d e>; my @b = <X Y>; say @a Z @b xx * -> $a, $b { say "$a$b" }
p6eval rakudo a1140c: OUTPUT«===SORRY!===␤Confused at line 11, near "say @a Z @"␤»
09:57 yinyin left, masak joined
moritz_ rakudo: my @a = < a b c d e>; my @b = <X Y>; for @a Z @b xx * -> $a, $b { say "$a$b" } 09:58
p6eval rakudo a1140c: OUTPUT«a_block60␤»
snarkyboojum rakudo: say Hash.^methods()
moritz_ rakudo: my @a = < a b c d e>; my @b = <X Y>; for @a Z (@b xx *) -> $a, $b { say "$a$b" }
p6eval rakudo a1140c: OUTPUT«listBoolpostcircumfix:<{ }>!STOREpushdelete!push_constructsort␤»
rakudo a1140c: OUTPUT«a_block60␤»
snarkyboojum say Hash.new().^methods()
moritz_ snarkyboojum: that's less than awesome... maybe there should be class Hash too, and then introspection should be tricked into using the class variant 09:59
snarkyboojum moritz_: yeah - something to show all the methods you'd expect to see when introspecting perhaps
rakudo: say Hash.new().^methods()
p6eval rakudo a1140c: OUTPUT«postcircumfix:<{ }>BoollistpushdeletesortiteratornewIntNumvaluesperlCaptureofelemsinvertStrreversepostcircumfix:<{
..}>keyspairscontainsexistskvACCEPTSfmtsqrtsinasincoshsuccsignasinhacosechabsucceilingunpolarfloorsamecasesubstrasechordroundflipsplitmatchacoshacosecwordscotancosechata…
moritz_ that matches 'sexist' :-) 10:00
snarkyboojum also matches a 'shaco', an anagram for 'chaos' 10:02
:P
hejki hehe :)
snarkyboojum I certainly never knew 'keyspairscontainssexists'
hejki contain sexist skv :)
10:03 ive joined
masak oh hai, #perl6. 10:04
phenny masak: 02 Jun 23:28Z <jnthn> tell masak I did hack up something for you that should be enough for encode, see example code at gist.github.com/423175
masak: 02 Jun 23:29Z <jnthn> tell masak it's in ya buf branch, btw.
masak jnthn: \o/
will look.
snarkyboojum hi masak o/
masak hi. what a lovely day for some Perl 6 work. :)
snarkyboojum beautiful rainy night here :) 10:05
10:12 agentzh left
mathw masak: what a shame I have to do $day-job instead 10:12