»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! | Rakudo Star Released!
Set by diakopter on 6 September 2010.
00:06 MayDaniel left
lue hai masak o/ 00:08
masak greetings, earthling. 00:09
lue: <!alpha> isn't too illogical if you ask me. the <? and <! assertions are reserved for booleanish things that don't move the position within the regex match, whereas <+ and <- are reserved for things that do. 00:11
lue hopefully not after genetic recoding is invented >:)
masak genetic recoding already exists in various forms. one is called "sexual recombination", another is called "cosmic rays".
lue aah. Well, it was illogical from my regex-beginner POV :) 00:12
masak they are special cases of the all-out thing, admittedly.
lue
.oO(Finally! I have invented purposeful genetic recoding! Step 1: Two hearts...)
00:13
I got things mostly working again (and w/ actions!), but I've encountered the same problem as before where the program goes through a list of possibilities, and doesn't start over. [e.g. the first part matches the first possibility, the second the second possibility, but the third part doesn't match the first possibility as it should.] 00:17
masak this conversation would be much helped if you could demonstrate with a minimal program what surprise it is you're encountering. 00:18
talking *about* bugs, trying to describe them, is like trying to eat a drawing of a sandwich. 00:19
lue sorry. I'll try to whip up a minimal example. Funny thing is, I encountered this type of problem before, and I don't remember how I fixed it. 00:21
masak no need to apologise. :) I just find it exceedingly useful to show code to each other.
rakudo: grammar G { regex TOP { <foo> }; rule foo { fo*o } }; say ?G.parse("foo") 00:23
p6eval rakudo cae7f9: OUTPUT«Bool::False␤»
masak could be something like this you're attempting.
rakudo: grammar G { regex TOP { <foo> }; regex foo { fo*o } }; say ?G.parse("foo")
p6eval rakudo cae7f9: OUTPUT«Bool::True␤»
masak regex backtracks, token and rule don't.
lue Funny, it may be a problem with my actions and/or the possibly convoluted grammar. This'll take a few minutes :) 00:25
ha! It was a missing \n after the $$ in my <blankline> regex. 00:40
00:42 envi joined
masak nice catch. 00:43
(oh, and use tests. you'll thank yourself.)
lue I am, but probably not well :) 00:46
masak ah :)
well, a good test for that is this: did your fixing the bug you just found result in a corresponding increase in passing tests in the test suite? 00:47
if not, then your test suite needs at least one more test :) 00:48
lue no, because there are multiple problems with my code :) 00:50
I shall add a test for it though.
rakudo: grammar A { regex B { <C>+ }; regex C { Cc }; }; class AA { method B($/) { make $<C>».ast }; method C($/) { make ~$/ }; }; say A.parse("CcCcCc", :rule<B>, :actions(AA.new())).ast; 00:51
p6eval rakudo cae7f9: OUTPUT«Cc Cc Cc␤»
lue rakudo: grammar A { regex B { <C>+ }; regex C { Cc }; }; class AA { method B($/) { make $<C>».ast }; method C($/) { make ~$/ }; }; say A.parse("CcCcCc", :rule<B>, :actions(AA.new())).ast[0]; 00:52
p6eval rakudo cae7f9: OUTPUT«Cc␤»
masak \o/
lue rakudo: grammar A { regex B { <C>+ }; regex C { Cc }; }; class AA { method B($/) { make $<C>».ast }; method C($/) { make ~$/ }; }; my @a = A.parse("CcCcCc", :rule<B>, :actions(AA.new())).ast; say @a[0];
p6eval rakudo cae7f9: OUTPUT«Cc Cc Cc␤»
lue storing in an array breaks it :/ Any idea as to why? /me prepares for obvious answer
masak rakudo: grammar A { regex B { <C>+ }; regex C { Cc }; }; class AA { method B($/) { make $<C>».ast }; method C($/) { make ~$/ }; }; my @a = A.parse("CcCcCc", :rule<B>, :actions(AA.new())).ast.list; say @a[0];
p6eval rakudo cae7f9: OUTPUT«Cc␤»
lue ah, danke 00:53
masak rakudo: my @a = 1, 2, 3; say @a.elems; my @b = [1, 2, 3]; say @b.elems
p6eval rakudo cae7f9: OUTPUT«3␤1␤»
masak does the above make sense?
it's the same effect.
sorear good * #perl6 00:55
lue yes. Now my tests fail the way I would expect them to! \o/ [ I had the bright idea of comparing an object in the ast tree (e.g. @a[0]) with a separately created, but otherwise identical, object :) ] 00:56
hello sorear o/
masak good now, sorear!
I accidentally some tickets for you on github :)
lue
.oO(I just realized I made the same boo-boo as people who say 'ATM machine')
00:57
masak sorear: expect more of the same in the next few days.
00:57 icwiener left
masak lue: en.wikipedia.org/wiki/RAS_syndrome 00:57
sorear masak: thanks! 00:59
who maintains content for Rakudo.org?
masak pm does. and a few others too, I think. 01:00
why, is there spam?
sorear thegattaca++ mentioned in backlog that how to get rakudo has a stale link to svn.pugscode.org 01:01
masak ah; yes.
seems I have an account. 01:02
found the stale link. replacing.
thegattaca ty 01:04
masak thegattaca++ # discovering it in the first place
masak heads sleepwards 01:08
'night, zebras.
01:08 masak left
lue afk 01:25
01:26 shi left 01:28 QinGW joined 01:32 masonkramer joined 01:36 soroush joined 01:37 plobsing joined 01:42 roen joined
dalek ecza: df2552f | sorear++ | niecza_eval:
Compile-and-run mode passes extra args to program
01:50
02:03 noganex_ joined 02:11 Eevee joined, Khisanth joined 02:12 Eth4n joined 02:16 vastak left 02:24 adu joined 02:29 redicaps joined 02:35 molaf_ joined 02:47 Eth4n left, Eth4n joined
dalek ecza: 41acd2e | sorear++ | lib/CLRBackend.cs:
Fix $/ regression
03:15
03:30 Pacosani left 03:34 molaf_ left 03:35 literal joined, cataska joined 03:50 khisanth_ joined 03:51 Khisanth left 03:52 coldhead left 03:54 khisanth__ joined 03:56 khisanth_ left 03:59 pmurias joined
pmurias sorear: hi 03:59
sorear pmurias!
hi
pmurias does niecza currently run an spec tests? 04:00
sorear just noticed that github issue IDs are not stable. FAIL.
pmurias a* any
sorear pmurias: not on an automatic basis, no 04:01
04:01 khisanth__ left
sorear the spectests love to put all failing tests in evals, because "a good implementation will catch this at compile time" 04:01
so I need a *fast* eval
it would be theoretically possible to add eval right now, but at 5 seconds it would be useless for spectesting 04:02
pmurias what takes so long? 04:03
sorear loading Perl, loading STD.pmc, loading SAFE.store 04:04
pmurias having an reusable instance of Niecza could workaround that 04:05
i used a similiar trick for having a single mildew run multiple tests 04:06
i haven't tried it for eval but it should work 04:07
sorear: is adding simple features to pass non-eval using spectests something i should hack on? 04:09
sorear pmurias: yes 04:10
in the past I've been operating under a fear of making the setting too big 04:11
but I've found an effective workaround
allbery_b how about speculatively parsing/compiling inside eval at compile time?
sorear allbery_b: gross
allbery_b dunno, strikes me as an optimization. coimpare p5 eval BLOCK 04:12
04:12 Eth4n left
pmurias sorear: seems to be sufficently smart constant folding 04:12
allbery_b (under any other circumstances I'd agree it's gross, but this *is* perl :) 04:13
pmurias if you fold 1+2 into 3 why not fold eval "1+2" into 3
allbery_b prertty much, yes. also, it'd be interesting to move as much of an eval into compile time as possible and leave the rest 04:14
04:14 Eth4n joined
pmurias allbery_b: it would be only gross if it was hacked in an ugly manner 04:14
sorear i don't think you can really do that if the string to eval is at all computed 04:15
allbery_b so eval "1+2" goes completely eval time, but eval "1+\$$foo" gets optimized into 1+ eval "\$$foo" (and extra credit if it recognizes the latter and makes it a deref at comnpile time!
pmurias that's crazy talk
;)
sorear allbery_b: but what if $foo eq 'x, 5' 04:16
, has lower prec than +
allbery_b point
sorear I will confess that I've thought about hacking the compiler to special case eval_dies_ok STRINGLITERAL, EXPR and eval_lives_ok 04:17
allbery_b I guess what I'm getting at is rexognizing uses of eval that would be better handled as macros (once implemented)
pmurias if you use eval you shouldn't expect your code to run at a decent speed 04:18
* use eval in a loop
allbery_b of course, that would also break the spectests, if you chose to handle it by issuing "this is betrter done as a macro" warnings :) 04:19
pmurias sorear: if eval_dies_ok and eval_lives_ok were special cased in a seperated optimalisation pass it wouldn't be evil 04:20
sorear: and if we had a persitent niecza (p5 part) how slow would eval be? 04:23
sorear pmurias: about 1 - 1.5 seconds with current technology, I think 04:36
the compiler is currently designed to not reuse any loaded data from one compilation unit to another
for robustness 04:37
pmurias a special cased eval STRINGLITERAL would take comparable time? 04:43
04:45 [Coke] left
sorear pmurias: no, because it can be part of the same compilation unit 04:46
Who is -ajs ?
04:48 orafu joined 05:14 pmurias left 05:37 sftp left 05:43 kaare joined, kaare is now known as Guest42954 05:45 Guest42954 is now known as kaare_ 05:47 risou left 05:58 Teee joined 05:59 Thamna joined
dalek ecza: 9f864d4 | sorear++ | / (4 files):
Add .split, .index, .rindex, .lines, .words, more features to .comb
06:00
06:08 Teee left 06:10 Thamna left
dalek ecza: 9a3aa2b | sorear++ | test (2 files):
Merge back working tests
06:11
ecza: 4d1cb46 | sorear++ | lib/SAFE.setting:
&say et al return True
06:14 lao joined
diakopter sorear: last I heard,&say returns 1, but that might've been too long ago. 06:15
06:16 lao left
dalek rixel: 9848943 | diakopter++ | / (9 files):
another WIP commit/push. these are great.
06:18
06:19 lao294 joined
lao294 is there a way to list out all methods for Array? 06:20
sorear rakudo: .say for Array.^methods
p6eval rakudo cae7f9: OUTPUT«new␤at_pos␤Method 'say' not found for invocant of class 'Perl6MultiSub'␤ in <anon> at line 22:/tmp/5LW0oAtxHE␤ in main program body at line 1␤»
sorear rakudo: say $_ for Array.^methods 06:21
p6eval rakudo cae7f9:
..OUTPUT«new␤at_pos␤perl␤splice␤delete␤new␤Capture␤eager␤elems␤flat␤iterator␤list␤munch␤Bool␤Num␤Str␤exists␤fmt␤map␤perl␤reverse␤rotate␤sort␤pop␤push␤shift␤unshift␤ACCEPTS␤at_pos␤hash␤of␤item␤Numeric␤Int␤Num␤Str␤elems␤fmt␤list␤Numeric␤Real␤Int␤Rat␤Num␤abs␤exp␤log␤log10␤sqrt␤roots␤to-radians…
lao294 Big thanks. I ocme to right channel with full of gurus. 06:22
06:24 roen left
sorear it's a pleasure 06:26
diakopter rakudo: [].^methods.join($1).say
p6eval rakudo cae7f9:
..OUTPUT«newAny()at_posAny()perlAny()spliceAny()deleteAny()newAny()CaptureAny()eagerAny()elemsAny()flatAny()iteratorAny()listAny()munchAny()BoolAny()NumAny()StrAny()existsAny()fmtAny()mapAny()perlAny()reverseAny()rotateAny()sortAny()popAny()pushAny()shiftAny()unshiftAny()ACCEPTSAny()at_posA…
diakopter hm
rakudo: [].^methods.join(' ').say
p6eval rakudo cae7f9: OUTPUT«new at_pos perl splice delete new Capture eager elems flat iterator list munch Bool Num Str exists fmt map perl reverse rotate sort pop push shift unshift ACCEPTS at_pos hash of item Numeric Int Num Str elems fmt list Numeric Real Int Rat Num abs exp log log10 sqrt roots
..to-radians…
06:34 roen joined
lao294 Help, not sure I get error: {}.^methods.grep(/an/). Also is there any equivalent command for help([].sort) as in Python? 06:50
sorear you need to write it out more explicitly 06:52
{}.^methods.grep(-> $method { (~$method) ~~ /an/ })
that might work
06:57 justatheory left
lao294 Hi Sorear, thank for helping. It works but it needs to be explicitl. I just try to convert some Ruby command '[].methods.grep(/an/)' to Perl6 06:59
TiMBuS {}.^methods.map(~*).grep(/an/) 07:01
sorear niecza: 1 ,= 2 ,= 3 07:04
p6eval niecza 406e042: OUTPUT«Can't locate JSON.pm in @INC (@INC contains: /home/p6eval/niecza/src /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /home/p6eval/niecza/src/NAMBackend.pm
..line 9…
07:04 adu left 07:08 khisanth__ joined, khisanth__ is now known as Khisanth
sorear std: my $x; $x ?? 1 !!= 0; 07:09
p6eval std 625303c: OUTPUT«===SORRY!===␤Can't make assignment out of ?? !! because conditional operators are too fiddly at /tmp/cKwnBufAUt line 1:␤------> my $x; $x ?? 1 !!=⏏ 0;␤Check failed␤FAILED 00:01 121m␤»
sorear aww
lao294 Thanks TiMBuS. Yes it is more concise. Just wonder what the reason for the map? {}.^methods.WHAT is already Array() 07:10
TiMBuS lao294, the methods() call doesn't return proper strings 07:12
07:12 Khisanth left
TiMBuS so i use prefix<~> on them all, just like how sorear did 07:13
{}.^methods.grep(~* ~~ /an/) might also work 07:14
07:44 aindilis joined 07:45 Layla joined
Layla hola, I need to know if latest version of rakudo perl6 implemented variable length lookbehind, if yes please give one simple example, thnx :) 07:46
07:47 agentzh joined
sorear Layla: I don't understand variable length lookbehind 07:49
Layla sorear: you mean the question is not clear? sorry my english is not great but I can explain more if you need. 07:52
sorear Not the question, but the concept itself 07:54
You obviously understand this better than any of the implementor
dalek ecza: 63f4e9a | sorear++ | / (3 files):
Add &&= and company
07:55
Layla sorear: oh no I did not say that! I am just school student, I mean somthing like this (?<= \d\s*\w) for example, as you see it has non fixed length variable. so I was thinking if it is supported. 08:06
08:10 glow joined
lao294 In Ruby, there are operators (+,&,-) to operate on two arrays. In Perl6, we can get @unions=(@a,@b).uniq. Are there any Perl6 commands for @intersects and @subtractions? Thanks. Trying to emerge to Perl6. 08:12
sorear Perl 6 has a real Set type 08:14
there aren't Set operations on arrays for that reason
@a.grep(none @b) and @.grep(any @b) if you insist 08:15
08:18 BaggioKwok joined 08:21 BaggioKwok left 08:22 daxim joined
lao294 sorear, interesting. Thank you. Now seem that we get to the goodies of junction. 08:25
Layla perl6: say "Goodbye P6! \x{263A}!\n"; 08:28
p6eval rakudo cae7f9: OUTPUT«===SORRY!===␤Unrecognized backslash sequence: '\x' at line 22, near "{263A}!\\n\""␤»
..pugs: OUTPUT«*** ␤ Unexpected "A"␤ expecting "_", fraction, exponent, term postfix, operator or "}"␤ at /tmp/8BdpfQWhCn line 1, column 24␤»
Layla ah..
08:29 Layla left
cotto partially-tested update for Rakudo for some recent Parrot changes: nopaste.snit.ch/27500 08:35
spectest seems fine but my room's getting too warm for me to wait for it to finish running it 08:36
dalek ecza: 14c7d07 | sorear++ | / (3 files):
Add the simplest possible &open
08:44
08:53 Eth4n left 08:59 BaggioKwok joined 09:02 BaggioKwok left
dalek ecza: 0dc0b89 | sorear++ | docs/lhf.txt:
Update LHF
09:05
ecza: 92aafcb | sorear++ | / (2 files):
Implement hard indirect method calls
moritz_ good morning
sorear hello moritz_ 09:07
09:07 Eth4n joined, Eth4n left, Eth4n joined 09:09 Axius joined
moritz_ cotto: with your patch and newest parrot, t/spec/S02-magicals/pid.t segfaults 09:11
I suspect it's newest parrot, not your patch
sorear moritz_: how is rakudo doing these days 09:16
moritz_ sorear: mostly just like before, since jnthn and pmichaud are mostly absent 09:17
sorear: a few small fixes here and there, but not much of substance
09:20 roen left 09:26 LeifD joined
dalek ecza: cc7b41e | sorear++ | src/Metamodel.pm:
Add a safeguard against class A is A
09:29
sorear moritz_: in docs/announce.v1 I have a draft of the mail I'm going to send tomorrow. I've written a lot about new stuff but I'm unsure how much old stuff to include 09:30
09:32 Trashlord joined
sorear wonders what the difference between submethod BUILD and method !BUILD *really* is 09:32
moritz_ BUILD can be called from outside, !BUILD not 09:36
both are not inherited
09:36 daxim left
moritz_ sorear: I'm a bit confused... is it just an announcement, or a release? 09:37
are you going to put up tarballs?
09:38 daxim joined 09:40 redicaps left
sorear moritz_: I'm not sure what the difference is - it is in a public git repo 09:40
moritz_ sorear: the difference is that if you put up a tarball, and call it a release, people will be less confused about what your mail is talking about 09:42
09:43 redicaps1 joined
dalek ast: 4bde3e6 | moritz++ | S16-filehandles/io.t:
[io.t] unfudage a passing tests
09:44
moritz_ a release is just giving people a specific version to use
and packing that version up in a tarball is more traditionall than pointing at a repo and saying "you figure it out"
09:44 rgrau joined
moritz_ sorear: otherwise the announcement looks quite well 09:55
sorear There was definitely to be a tag 10:01
After I've tagged it, I could add a link to the github autotarball
It would be even better if I could somehow make a self contained module, but I can't just copy JSON::XS into lib/ 10:02
10:02 Eth4n left 10:05 Eth4n joined, Eth4n left, Eth4n joined
moritz_ can't you use a pure perl JSON fallback? 10:09
and a small wrapper module that uses the ::XS if available, and the fallback otherwise
tadzik isn't that what JSON::Any does? 10:10
10:12 jon__ joined 10:13 Tedd1 joined, jon__ is now known as ThundrMeistr 10:24 QinGW left, ThundrMeistr left
dalek ecza: 651458b | sorear++ | / (6 files):
Implement general submethods
10:29
sorear moritz_: interesting idea
sorear out
10:30 Axius left
sorear rakudo: class X1 { submethod foo { 1 } }; class X2 is X1 { }; say X2.new.foo 10:30
p6eval rakudo cae7f9: OUTPUT«Method 'foo' not found for invocant of class 'X2'␤ in main program body at line 22:/tmp/qvGHafFRBX␤»
10:32 mahen23 joined 10:33 mahen23 left, rgrau left 10:40 VXZ joined, roen joined 10:44 Khisanth joined 10:55 Khisanth left
LeifD How do I break out of an for loop? 10:58
tadzik not break? 10:59
LeifD got the error: Could not find sub &break
tadzik ah, last 11:00
it's last in Perl I believe
LeifD it works, thanks!
moritz_ rakudo: for 1..5 { .say; last } 11:02
p6eval rakudo cae7f9: OUTPUT«1␤»
LeifD :) 11:03
moritz_ there's nothing like working code :-)
LeifD Does the '.method' always use $_ ?
moritz_ yes 11:04
and no built-in subroutine defaults to $_
LeifD clears things up
moritz_ indeed it does
11:05 am0c left
moritz_ a brave soul looking for something to do could bisect a rakudo segfault 11:06
rakudo on parrot RELEASE_2_11_0 works fine 11:07
daxim perl6: for 1..5 { $_.say; last } # what about long-hand? I remember that during jnthn's DaNoob talk, that wouldn't work
p6eval pugs, rakudo cae7f9: OUTPUT«1␤»
daxim :thumb:
moritz_ rakudo on parrot RELEASE_2_11_0-248-g00259d7 segfaults on t/spec/S02-magicals/pid.t
daxim: which part didn't work? 11:08
11:08 Eth4n left
daxim something involving $_ 11:08
11:09 Khisanth joined 11:13 Eth4n joined 11:16 soroush left 11:21 roen left 11:43 jhuni left 11:46 kcwu joined 11:59 soroush joined 12:03 masonkramer left 12:12 agentzh left 12:18 pmurias joined 12:26 PacoLinux joined 12:27 masak joined
masak oh hai, zebras. 12:27
I don't know whether to be proud or slightly ashamed to be quoted like this: twitter.com/NegativeK/status/19147889439674368 :P 12:28
here's another word of wisdom: "In order not to get wet, avoid moist and wet things."
"Preferably, keep dry." 12:29
12:31 [Coke] joined
moritz_ well, he has a point :-) 12:32
but you do explain how to keep things simple
which isn't quite as easy as it sounds, in the world of software 12:33
masak writing that post, I felt like I partly failed to get my point across.
but it was my first try, so maybe that's to be expected.
I find I have loads to say that I can't really express.
sorear++ # closing tickets that I've opened 12:36
moritz_ sometimes wishes for a low precedence infix % 12:44
my $successor = $previous + 1 mod $count;
masak you're a mathematician at heart... :) 12:45
but yes, I can see the use of that too.
moritz_ I don't think it's important enough to warrant its own operator in core though 12:46
masak no. 12:47
right now I'm mulling over why % has the tight precedence it has.
is it just because it's considered a multiplicative-ish operator?
moritz_ because it's conceptually quite similar to division
masak right.
a kind of dual to it.
rakudo: say 0 ~~ 0 ~~ 0 12:49
p6eval rakudo cae7f9: OUTPUT«Bool::False␤»
masak submits rakudobug
just saw that ~~ is "chaining infix" :)
moritz_ what kind of assoc should ~~ have?
masak that surprises me. but hey, it's spec. :P 12:50
moritz_ wtf?
masak rakudo: say 0 === 0 === 0
p6eval rakudo cae7f9: OUTPUT«Bool::True␤»
moritz_ now that makes more sense
masak I have *no* idea whatsoever how I would use the chainedness of ~~ 12:51
doesn't mean it's wrong, of course.
just an... indicator.
of course, if ~~ is chaining, it can chain with *other* operators. and that might be useful. 12:52
rakudo: say "foo" ~~ "foo" ge "bar" 12:53
p6eval rakudo cae7f9: OUTPUT«Bool::False␤»
masak both of these evaluations should be "Bool::True" according to the spec.
pmurias rakudo: say :16<3> 12:54
p6eval rakudo cae7f9: OUTPUT«3␤»
12:55 bakedb joined
moritz_ finds that spec very questionable 12:55
masak well, now there's an RT ticket reminding us of that. 12:56
tadzik masak, masak
I wrote a stupid KeyHash which passes a couple of spectests :) 12:57
masak tadzik: kudos.
masak is still backlogging
tadzik notice the importance of the "stupid" adjective :)
12:57 envi left
moritz_ general question: do you prefer array names as singular or plural? 12:58
tadzik wklej.org/id/445287/
masak tadzik: I salute you. you're wise to write stupid code.
tadzik :)
masak moritz_: generally plural. but it's not black or white.
tadzik plural, like "elements"
masak if you ask me, sigil invariance *increases* the rationale for plural array names. 12:59
moritz_ rationally I think I prefer the singular, because the @ already says plural
and thus @element should be enough, and @elements is like saying my Array @elements;
masak nothing wrong with redundancy per se.
moritz_ but i find myself adding s to variable names out of habit 13:00
masak the array contains many elements, so '@elements' seems a fine name to me.
tadzik hrm, @element sounds to me as if one element is an array, thus as an array of arrays
VXZ I use plural when the array name describes what it contains, and singular when the name describes what it is. IE @list vs @list_items.
moritz_ 13:59 < masak> if you ask me, sigil invariance *increases* the rationale for plural array names.
I disagree
masak giving it the singular assumes that all you'll ever do with the array is index it.
moritz_ without sigil invariance, @element can become $element[0] 13:01
masak VXZ++ # aye.
moritz_ which looks like singular...
hm
disregard my last 3 lines
masak moritz_: :)
moritz_ :-)
masak tadzik: looks good. 'method set' looks like a workaround, though. 13:03
and I maintain that 'method default' should go with the type ::T, not with the KeyHash. of course the KeyHash could have a delegating method.
tadzik masak: it is
13:04 Khisanth left
tadzik I don't know how to write... lang:C++(operator=) :) 13:04
moritz_ you shouldn't need to 13:05
masak well, that part doesn't really work yet in Rakudo.
we're meant to be able to provide Proxy objects with FETCH and STORE methods.
really looking forward to that working. 13:06
tadzik moritz_: then how do I inspect this setting, as I do in set()?
moritz_ sorry, I'm a bit distracted atm 13:07
masak tadzik: did you read my last three lines?
moritz_ uh 13:09
nasty
my $line = get // 'foo';
doesn't work
masak o.O 13:10
moritz_ (I understand very well why it doesn't, but it's still sad because it#d be a nice idiom)
masak why doesn't it?
moritz_ because get is a sub
so a term is expected
masak oh!
right.
moritz_ and so // is the null regex
masak get() // 'foo'
moritz_ (glad we disallowed it)
masak many good ideas in here: github.com/quietfanatic/perl-tan/b...er/outline 13:11
quietfanatic++
"Also Perl 6 is somewhat of a dojikko and works slowly and stumbles a lot." :) 13:12
moritz_ hm
lazy lists make for curious stack traces
not @a 13:13
tadzik masak: yes
masak tadzik: that's how you'd do it.
moritz_ makes the prefix:<not> appear in the stack trace when evaluating @a produces an error
masak tadzik: S06:524 13:14
tadzik masak: so that's either unimplementable atm, os I'd have to reimplement Hash with the low level stuff
masak I'm almost certain pmichaud would like to discuss this. 13:15
he's been planning to rip out and rewrite Hash lately.
moritz_ \o/ my "pair of stones" implementation passes all of masak's base tests
masak \o/ 13:16
colomon \o/
"pair of stones"?
moritz_ p4
masak is pondering sending out an email to all 18 contestants to further motivate them
colomon I fear I've used all mine time obsessed with making p2 better. 13:17
moritz_ I don't think you need to motivate me :-)
masak moritz_: so I've noticed :P
moritz_ colomon: my p2 is fairly sloppy :/ 13:18
13:18 _twitch joined 13:20 [Coke] left
moritz_ ie it doesn't handle points on the edges consistentyl 13:20
colomon See, I know there are very very very unlikely cases where my p2 won't work, and so I want to fix them.
moritz_ very xx 3, unlikely == masak will break your code :-) 13:21
colomon I doubt he could.
arnsholt moritz_: I discovered that same bug last night =)
colomon But it shames my pride to know there are cases where it doesn't work. 13:22
moritz_ arnsholt: I declare it not a bug. The spec doesn't talk about it, so it's ok to have undefined behavior
tadzik . o O ( masak: thanks for your submissions! Using them I'll surely be able to win another contest you didn't know about )
13:22 IllvilJa left
arnsholt moritz_: That is indeed an idea 13:22
I have a slight case of "must handle EVARYTHING"-syndrome =) 13:23
masak tadzik: :)
tadzik: I generally don't participate in contests. 13:24
colomon which is why you needed this to win your secret contest. 13:26
it's all coming together now.
;0
l)
;)
13:27 dju joined, dual joined, jarfhy joined, szbalint joined, ascent_ joined, kst joined, IllvilJa joined, [Coke] joined
tadzik I knew it! :) 13:29
masak even if what you said were true, which it isn't, I'm still handing out 100 € worth of books to whoever wins my contest. :) 13:32
tadzik :)
moritz_ masak: and you probably win about 1k € yourself by participating in the secrit contest 13:33
masak yeah, whatever. :P
13:34 MayDaniel joined
moritz_ masak: anyway, if the winner's wish list contains more item than you can buy, I expect you to solve the bin packing problem in Perl 6 :-) 13:35
13:35 feelout joined
masak heh :) 13:35
13:35 kaare_ left 13:36 Khisanth joined 13:38 Grimnir_ left, Grimnir_ joined 13:42 khisanth_ joined 13:44 Khisanth left
pmurias masak: what's the sekrit contest? 13:50
masak there is none. the boys where just having a laugh.
13:50 khisanth_ left
masak there is, however, a very real non-sekrit contest. 13:50
unfortunately, the sign-up period has already ended. 13:51
the contest itself finishes on 2011-01-14.
pmurias is not very fond of contests
13:52 am0c joined
masak this one is for a good cause. :) 13:52
well, several good causes.
colomon wait, are we secretly enhancing Druid? 13:53
pmurias is trying to make niecza pass more spectests (52 new ones with a simple fix)
but it turns out going out and *then* hanging on irc afterwords was not a good idea ;) 13:54
masak colomon: I *am* secretly enhancing Druid, but that has little to do with the contest. I could have picked tasks that were much closer to Druid, but I didn't. 13:55
colomon masak: for what it's worth, enhancing p6 by writing practical code in it (and enhancing my p6 skills in the process) is more than good enough reason to me. 13:57
reason for me
ack.
tadzik rst
masak colomon: nod.
colomon but that doesn't mean I won't come up with fanciful reasons why you've _really_ done it. ;) 13:58
LeifD rakudo: sqrt 600851475143
p6eval rakudo cae7f9: ( no output )
LeifD :/ 13:59
colomon rakudo: say sqrt 600851475143
tadzik ENOSAY
p6eval rakudo cae7f9: OUTPUT«775146.099224527␤»
LeifD I get not a number... Rakudo Star 2010.11 14:00
tadzik star: say sqrt 600851475143
p6eval star 2010.09: ( no output )
masak colomon: see the WHY file. it's all there.
tadzik EOLDSTAR
LeifD So you would recomend going rakudo git version? 14:01
colomon afk
14:01 khisanth_ joined
tadzik LeifD: git is fun :) Or try the recent compiler release (2010.12) 14:01
LeifD: by EOLDSTAR I meant p6eval uses fhe old star 14:02
LeifD how often does git version break?
tadzik LeifD: do other sqrt'd work?
LeifD: never seen it broken
LeifD yes, not big numbers
tadzik * sqrt's
LeifD: that might be some Parrot limitation or an old bug, if it bugs you seriously proceed into the newer release 14:03
2010.12 should be just fine
LeifD Ok. 14:04
pmurias why do :2(...),:10(...)... number convertors recognise radix switchers? 14:11
* converters
moritz_ what else should they do? 14:12
masak not sure I understand the question. they parse numbers, and 0x1A is a number in Perl 6.
moritz_ rakudo: say :16('A0')
p6eval rakudo cae7f9: OUTPUT«160␤»
pmurias rakudo: say :2(0d7) 14:13
p6eval rakudo cae7f9: OUTPUT«DON'T PANIC! Invalid character (7)! Please try again :) ␤ in main program body at line 1␤»
pmurias rakudo: say :2("0d7")
p6eval rakudo cae7f9: OUTPUT«7␤»
14:13 bakedb left
moritz_ wonders if that's a bug 14:13
pmurias rakudo: say :2("0d7") is specced
p6eval rakudo cae7f9: OUTPUT«===SORRY!===␤Confused at line 22, near "say :2(\"0d"␤»
14:13 masonkramer joined 14:14 masonkramer left
allbery_b heh 14:14
pmurias rakudo: say :16("0d7")
p6eval rakudo cae7f9: OUTPUT«215␤»
masak rakudo: say :8("10")
p6eval rakudo cae7f9: OUTPUT«8␤»
pmurias masak: but's that a special case
meant mortiz
masak pmurias: yes, I see now. it is. 14:15
we should have a good name for :8 et al. something that makes abundantly clear the *direction* of the conversion.
call it the convert-FROM-base operator, or something. 14:16
14:16 khisanth_ left
pmurias what i meant to ask is there a compelling use case for the numer specifing it's own base 14:16
aka :2("0d10")
rakudo: say :2(":3<01>") 14:17
p6eval rakudo cae7f9: OUTPUT«DON'T PANIC! Invalid character (:)! Please try again :) ␤ in main program body at line 1␤»
14:17 BaggioKwok joined
masak not if you ask me. 14:17
in fact, it seems to be a construct that gives the last say to the wrong bit; the data rather than the operator.
sorear: there's a line with an 'x' between 'ok 477' and 'ok 478' in the output to test.pl 14:18
pmurias plus it works differently for higher radixes
masak that doesn't sound good at all. 14:19
moritz_ thinks that :2(...) doing anything but binary is Very Bad Idea
masak agreed.
14:20 _kaare joined 14:22 [Coke] left 14:23 GinoMan joined 14:24 BaggioKwok left
moritz_ if you want to automatically convert a ':3<01>' string to a number, you should probably use the magic "parse a Perl 6 literal" function which I've speculated about previously 14:24
or just .Int
masak full ACK. 14:25
14:25 [Coke] joined
colomon rakudo: say ':3<01>'.Int 14:25
p6eval rakudo cae7f9: OUTPUT«1␤»
colomon rakudo: say ':3<11>'.Int 14:26
p6eval rakudo cae7f9: OUTPUT«4␤»
14:30 feelout left
pmurias moritz_: how would the parse a Perl 6 literal be different from eval? 14:38
masak presumably the former would protest if what it got wasn't a literal.
arnsholt The parse P6 term function should barf on anything that isn't a term, I suppose 14:39
Which is quite a bit safer than eval
pmurias so the parse a literal one wouldn't have side effects? 14:45
masak right. 14:46
14:48 JimmyZ joined
masak 卓明亮! \o/ 14:49
JimmyZ good afternoon, 麦高
Is there afternoon?
masak aye :)
good evening, 卓明亮
JimmyZ 呵呵,是的, 我这里现在是晚上 10点50分了 14:50
masak thought so :) 14:51
bed soon?
JimmyZ yes 14:52
14:52 khisanth_ joined
JimmyZ I saw Audrey Tang that she wrote the chinese version of 'Day 24 – Yule the Ancient Troll-tide Carol', I'm glad to see it. 14:53
14:53 khisanth__ joined
masak JimmyZ: how easy is it for you to read traditional hanzi? 14:53
also, is Taiwanese Mandarin very different?
14:54 khisanth_ left
JimmyZ almost very esay, in history, we used Traditional Chinese 14:56
14:56 shi joined
masak 我知道 :) 14:56
that's why it's called "Traditional" :) 14:57
14:57 noganex_ is now known as noganex
JimmyZ but some wording is different. i.e., blog -> '博客' -> ‘部落格' 14:57
14:57 fhelmberger joined
masak interesting. 14:58
14:58 araujo left
JimmyZ but I only read it. :) 14:58
masak but that's a difference between Mainland and Taiwan, right, not between Simplified and Traditional?
JimmyZ hmm,to me, Traditional Chinese looks like Simplified chinese in my eye, so I can read it :) 15:00
masak lucky you :P 15:01
15:01 araujo joined 15:02 dual left
moritz_ to me that sounds like "algebra looks like simplified math" :-) 15:02
JimmyZ I hadn't learn Traditional Chinese, 呵呵, just read it by instinct .
15:02 rgrau joined
JimmyZ *learnt 15:02
15:03 pmurias left, GinoMan left 15:04 shi left
masak moritz_: I think you might appreciate this: www.youtube.com/watch?v=uqwC41RDPyg 15:04
15:05 pmurias joined
JimmyZ can't read anything from youtube and facebook or twitter. 15:05
masak Facebook is capitalist and must be suppressed!
15:06 khisanth__ left
JimmyZ can't use Google to search '学习' too. 15:07
masak 'to study'. 15:08
JimmyZ: you can use phenny.
phenny: '学习'?
hm. 15:09
phenny: "学习"?
phenny masak: "Learning" (zh-CN to en, translate.google.com)
masak phenny: "我没有研究繁体中文,呵呵,我刚才读的本能了。"?
phenny masak: "I did not study traditional Chinese, Oh, I just read an instinct." (zh-CN to en, translate.google.com)
JimmyZ yes, I can't search study and many words or wording by google. it's forbidden by GFW,h呵呵 15:10
masak wonders how long GFW will last
moritz_ masak: (re youtube) nice :-) 15:11
JimmyZ I'm not sure
masak I mean, it doesn't stop the urban population from reaching out to the outside world. a proxy, and you're free to surf wherever. 15:12
JimmyZ can't read *.wordpress.com too.
moritz_ that's a real pity
so you missed the whole advent calendar
masak :(
JimmyZ: I'll make a gist for you, so you can read them all now :) 15:13
JimmyZ but I can read planetsix.perl.org :)
masak oh, ok :)
redundancy++
JimmyZ 呵呵
pmurias masak: re stray x i found the source of the bug 15:18
masak pmurias++
it's also curious that there are a number of blank lines in that region.
not wrong, just not visually pleasing.
pmurias it's a newline in the test description 15:19
ok(1,"foo\nx")
moritz_ that'll produce wrong TAP output 15:20
masak yes, exactly.
looks like a simple typo.
pmurias Test::More sort of handles that 15:21
walk& will fix later
masak I can't find that this has been linked to in the backlog; it's slightly related to our discussion a few months back about MOP access to private variables: www.parashift.com/c++-faq-lite/clas...ml#faq-7.6 15:22
the gist of it is that it's more of a moral issue than a legal issue. 15:23
also, FAQ 7.7 illustrates an important philosophical difference between C++/Java and Perl 6. in the former two "private" means "private to the *class*", whereas in Perl 6, it means "private to the *object*". 15:24
LeifD now I run rakudo from github.com/rakudo/rakudo.git, and I still get NaN with: sqrt 600851475143 15:25
masak rakudo: say sqrt 600851475143
p6eval rakudo cae7f9: OUTPUT«775146.099224527␤»
LeifD Does it work on your comps in the repl
masak checks
works for me. 15:26
LeifD hmm
moritz_ LeifD: 32bit or 64bit?
LeifD 32 bit
moritz_ that might explain the difference 15:27
p6eval is on a 64bit machine, iirc
but it's still worrying
LeifD: what do you get for 'say 600851475143'?
and say 600851475143.WHAT
LeifD :) -443946297
masak there you go, then. 15:28
probably a 32 bit machine.
LeifD Int()
moritz_ so it's really a number literal problem, not a .sqrt problem
masak moritz_++
is this worth a rakudobug?
LeifD I will be immortal!
Larry want to meet me 15:29
masak LeifD: if you got a kick out of *this*, you should stick around :P
15:29 mtk joined
LeifD :) 15:29
masak there will be more of the same, and better.
and you can have as big a role in it as you like.
we're understaffed when it comes to discovering and reporting bugs. 15:30
15:30 mtk left
LeifD Well the plan for me is to use rakudo for Project Euler. So more problems might pop up. 15:30
15:31 mtk joined
masak there's prior art. 15:31
masak goes digging 15:32
github.com/perl6/perl6-examples/tr...ster/euler
LeifD noganex, there isn't. Stop it :)
sorry noganex... damn tab feature
masak but don't let that stop you :)
*any* code-writing activity is much appreciated.
it tends to uncover things. 15:33
LeifD If I just can keep my hands away from solutions I have not done yet, I can learn from that place.
masak I was just going to suggest that :)
good luck! as soon as you have a question, think of us and p6eval :) 15:34
LeifD Bookmarked
Yes, I will.
Is there a good function reference? Like, the Str class has these methods... 15:37
masak look at the S32 parts of perlcabal.org/syn/
LeifD Ok.
masak also, have a gander at github.com/rakudo/rakudo/tree/master/src/core
LeifD github is an awesome idea. 15:38
masak how did we ever eke out an existence without it? :)
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ics_tablet 15:42
LeifD \quit and thanks for the help 15:49
:)
15:49 GinoMan joined, perlmonger42 joined, LeifD left 15:50 mtk left
moritz_ suddenly wonders why he never thought of using version control for handling his invoices (written in tex) 15:50
15:54 mtk joined 15:57 mtk left 15:58 mtk joined, mtk left 15:59 mtk joined 16:04 hercynium joined
masak JimmyZ: I just saw a tweet: 昨天研究Perl6的advent calendar perl6advent.wordpress.com 到三点,最后在高潮中睡去。如果搞每天一个Perl6脚本解决工作中一个小问题的活动,有多少人愿意参加 16:08
what does it mean?
JimmyZ where is it? could you give me a link? 16:09
JimmyZ wonders how you find it, 呵呵
daxim twitter.com/hydra35/status/19421750949314560 # by subscribing to <search.twitter.com/search?q=perl6> 16:14
16:14 justatheory joined
masak yes, that's how I found it. 16:14
I thought I'd better paste it here if GFW prevented you from seeing it. 16:15
daxim kraftfullt!
*stalk stalk*
JimmyZ yesterday I researched perl6's advent calendar perl6advent.wordpress.com to three, and went to sleep within a high degree of emotion. if I make activities about everyday sloving a minor issue by using perl6, how many people want to join? 16:17
to three( 3 o'clock) :) 16:18
tadzik that sounds like fun
masak ah :)
ah; he's soliciting companions in a personal quest of exploring Perl 6?
tadzik si
another warriors to his team in mmorpg 16:19
JimmyZ yes
pmurias masak: re 7.6 being able to see private attributes but not use them is just plain ugliness 16:20
masak it's 2010, and the dream of Perl 6 is alive and well. we have more things implemented than ever before, and the Advent Calendar, based almost exclusively on things that *already work*, keep some guy in China up till late at night, and then going to sleep full of emotion.
pmurias: please expand that argument a bit.
s/keep/keeps/ 16:21
pmurias if something is an implementation detail subject to change (private attributes) shouldn't be visible at all 16:23
masak: i may be confusing what the 7.6 section refers too
JimmyZ yesterday I researched perl6's advent calendar perl6advent.wordpress.com to three, and *finally* went to sleep within a high degree of emotion. if I make activities about everyday sloving a minor issue by using perl6, how many people want to join?
masak it refers to another programmer *reading* the source code and seeing private variables.
JimmyZ I lost finally :)
masak JimmyZ: nice. thanks. 16:24
JimmyZ: 最后 = "finally"?
JimmyZ 最后,终于
pmurias masak: what? worring about that seems crazy 16:25
masak JimmyZ: ok.
pmurias: :)
pmurias: you're already at a finer wavelength than the one where you can appreciate stupid beginner questions like that. :)
JimmyZ though 最后 and 终于 is different context in chinese. 16:26
masak JimmyZ: I imagine "eventually" would also be a good translation for the word in the tweet.
JimmyZ yes, that'is better.
masak but it's very close in meaning to "finally".
daxim no perlchina conference this year ;_; 16:27
JimmyZ I never enjoy it, it's in beijing. 16:28
16:29 redicaps1 left
pmurias masak: having a person not familiar with the class internals write tests might be a fun experiment tho 16:39
masak I'd suggest having one of each :) 16:40
pmurias is having ok(1,"foo\nb") print out "ok 1 - foo\n#bar" as does Test::More sensible? 16:43
masak it's certainly safer. may or may not be a good idea. 16:44
pmurias Test::More does that so it should be good enough 16:47
masak conceivably. 16:48
sounds like one of the little details that'll end up in S24 eventually.
pmurias S24 is Test.pm? 16:49
masak "Testing", yes. 16:50
pmurias how do i update my fork at github 16:53
pmurias hates having to do that
16:53 JimmyZ left
pmurias removes his fork and create a new one 16:53
masak there's no S24 yet. I've promised to write a draft. 16:54
diakopter pmurias: how'd you make 52 addl tests pass 16:55
pmurias :10<8> and similiar 16:56
will commit it soon ;)
it's a cheap way of adding passing tests ;) 16:57
diakopter yeah; heh :) 16:59
masak nom & 17:06
17:06 masak left 17:07 am0c left, am0c^ joined
pmurias diakopter: fixed your bug 17:08
meant masak
17:17 WonTu joined, WonTu left, GinoMan left
pmurias can i request a commit bit to roast? 17:18
TimToady: do we really need :2("0d10")? 17:22
17:24 jeeger joined 17:25 jeeger left
rjbs rolls 2"0d10" and gets 0"0" 17:29
17:34 MayDaniel left 17:36 cdarroch joined, cdarroch left, cdarroch joined 17:40 [Coke] left, [Coke] joined 17:43 [Coke] left 17:44 icwiener joined, hanekomu joined 17:46 [Coke] joined 17:48 sftp joined
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet 17:49
17:58 born2frag left 18:00 kanishka joined 18:01 hanekomu left
[Coke] Hey, is there a version of the perl6 book that can be read on the kindle? 18:08
TimToady I believe the last answer I heard was someone needs to work on the translator 18:09
[Coke] the source is in tex, neh?
[Coke] realizes he has a checkout of the book somewhere. 18:10
pod -> tex -> pdf.
[Coke] will try to remember to ask obra before heading down this path. 18:11
allbery_b mmm, should be possible to pod2html and then convert that in calibre. think I've done that with pod before
flussence I usually just read the .pod directly...
TimToady seems almost guaranteed to screw up the Unicode :)
18:11 am0c^ left 18:13 am0c^ joined, daxim left 18:14 fhelmberger left
[Coke] will work on it after $DAYJOB today. 18:14
allbery_b pokes 18:15
(since I'm futzing with calibre today anyway :)
18:15 fhelmberger joined, fhelmberger left
[Coke] will be glad to just be able to download the thing. ;) 18:16
18:18 cdarroch left, rgrau left, dju left, jarfhy left, szbalint left, ascent_ left, kst left, IllvilJa left 18:21 MayDaniel joined
TimToady pmurias: the point of :2() is to set the default interpretation in the absence of specific user preference 18:23
but I think it's very kind to users if any perl program lets them enter numbers in any conveninet radix 18:24
.oO(I guess that's a network for nuns)
allbery_b ad-hoc wifi? 18:25
TimToady because most programmers are too lazy to provide that functionality on numeric conversions
flussence adds "radix subscripts" to my to-do list
TimToady and the intent of entering 0x is quite unambiguous
or 0d 18:26
it's only if the outside is :16 that we have to disable 0d and 0b (but not 0o or 0x)
allbery_b why?
TimToady rakudo: say :16<0d> 18:27
p6eval rakudo cae7f9: OUTPUT«13␤»
TimToady that's why
allbery_b m, right
allbery_b trying to do too many things at once, clearluy
TimToady which might be a good argument for changing 0d to 0t 18:28
allbery_b mm, macports gonna get pissy with me for installing Pod::PseudoPod
TimToady otoh, we also allow :10<42> inside, though I don't believe rakudo does that yet
rakudo: say :16(':10<42>') 18:29
p6eval rakudo cae7f9: OUTPUT«DON'T PANIC! Invalid character (:)! Please try again :) ␤ in main program body at line 1␤»
TimToady error courtesy of lue, it seems
18:30 perlmonger42 left
TimToady that might be LHF for someone 18:32
allbery_b hm, calibre doesn't do a very god job with the html 18:33
or even a very good job 18:34
TimToady job was said to be very godly 18:35
18:36 Trashlord left 18:39 envi joined
allbery_b mmm, it's calibre's fault. 18:41
18:45 jenk joined
jenk hey, i heard perl6 came out a couple days ago? 18:46
18:46 dju joined
TimToady there are perl6s coming out continually 18:47
18:48 kst joined
allbery_b amazing how few people get the joke 18:48
sjn jenk: check out rakudo.org/
TimToady it's people repeating the "by Christmas" part as a private joke, without telling the hearer "but we won't way which Christmas" part 18:49
jenk way to crap all over my joke
TimToady either maliciously, or because they think the hearer already knows the joke, when they don't
jenk geez
TimToady smileys help :) 18:50
allbery_b always took it s "when p6 comes out, it will be [like] Christmas" 18:51
TimToady jenk: you have to understand we get many people visiting who don't, in fact, get the joke
18:51 szbalint joined, ascent_ joined
allbery_b == 18:51
(and/or trolls. amazing number of them just before xmas, even) 18:52
TimToady and most of us don't track lurkers to see who has been hanging otu silently
out, even
18:53 rgrau joined
TimToady so, sorry 'bout that, to the extent that we are... :) 18:53
sjn thinks it's quite appropriate to reply with dry facts to a joke like that :) 18:54
TimToady my wife does that, and I have to think of it as an endearing quality... 18:55
18:56 yarrak joined
sjn also secretly hopes that "Perl 6.0" never comes out, if only to teach the "normals" that softward be treated as something that continuously changes, and not as a "finished product" 18:57
software* 18:58
18:58 kanishka left
sjn on that note, it's y kinder to reply "never" when someone asks "when is Perl 6 ready?" 18:59
"just get over it, stop treating software as something other than a languagfe" 19:00
tadzik ha
TimToady well, but English is ready for lots of things already
sjn is on a laggy connection :-/
TimToady: yes, but you'll be labled as a madman if you'll ever set a release date for "English 1.0" :) 19:01
TimToady and some people prefer to hang their hats on pegs rather than to learn juggling.
19:02 jarfhy joined
TimToady well, we have English versions already 19:02
they just tend to have version names rather than numbers
sjn TimToady: ITYM "English variations"?
TimToady use English:ver<Elizabethan> 19:03
allbery_b the latinate prescriptivists tried to do English 1.0
TimToady use English:ver<Middle>
sjn Maybe we should use version nes/numbers that asymptotically get closer to 1.0 but really never get there? :) 19:04
allbery_b we're still trying to get over the resulting massive hangover
TimToady use English:ver<ValleyGirl> :)
allbery_b <knuth>3.1415</knuth>
TimToady use English:like<ValleyGirl> :) 19:05
sjn would propose that a language becomes "1.0" the moment it's last user dies :-P
allbery_b retroactive reparsing?
sjn: not sure that works. See Hebrew
19:09 yarrak left, rgrau left
sjn allbery_b: Don't know about Hebrew. Can that case be "solved" with namespace renaming? "RevivedHebrew v0.1" :) 19:10
allbery_b possibly. or Hebrew 1.0 vs Hebrew 2.0pre*
(* in tyhe p6 sense...)
19:11 [hercynium] joined
allbery_b (and let us completely ignore religious Hebrew which comes in so many variants it'll make your head spin) 19:11
19:12 [hercynium] left, [Coke] left
sjn Sounds like a C/C++/C#/D situation :-P 19:13
19:13 [hercynium] joined
TimToady Go on... 19:14
19:14 hercynium left, [hercynium] is now known as hercynium
colomon o/ 19:18
19:19 LeifD joined
tadzik colomon: o/ 19:20
19:24 am0c joined 19:26 Patterner left 19:31 [Coke] joined
sorear good * #perl6 19:32
TimToady o/ 19:33
tadzik hello
19:36 yarrak joined, cdarroch joined, risou joined, cdarroch left, cdarroch joined, jon__ joined 19:37 IllvilJa joined 19:38 Psyche^ joined, Psyche^ is now known as Patterner, jon__ is now known as ThundrMeistr
[Coke] looks like rakudo is borked on parrot HEAD. working on a patch... 19:40
tadzik didn't somebody do that a while ago? 19:41
nwellhoff, or someone?
19:41 risou left
[Coke] for concat_s_s ? 19:41
tadzik si
[Coke] tadzik: I'm sure it's been done dozens of times. 19:42
tadzik ah, ok
[Coke] perhaps I missed an update.
I'm already up to date and getting a failure, so...
19:43 hercynium left 19:44 risou joined
[Coke] if I'm bumping parrot version, is it sufficient to run "make test", or do I need spectest? 19:46
... running spectest, JIC. 19:49
colomon definitely spectest 19:52
[Coke]++
19:54 _twitch left
[Coke] zzzzzzzzzzzzzzzzzzzzzz. 19:55
flussence ...wait, what? I did a spectest-rebuild myself only an hour ago and it seemed fine then...
colomon yeah, it takes some time.
[Coke] flussence: did you do it against parrot HEAD? 19:58
flussence I was just about to say... my bad. the rakudo git on this computer is pulling from my other one, so not exactly...
19:58 _kaare left
[Coke] Guessing that it's ddbdd541c6cf9d1d9deb 19:59
github.com/parrot/parrot/commit/dd...fcae416b12
flussence argh, my rakudo/parrot dir was messed up and a week out of date 20:00
ok, time to rebuild everything there... 20:01
(what would be more useful, should I do my cronned test run based on parrot HEAD or whatever the revision file says?) 20:03
20:03 ThundrMeistr left 20:06 soroush left, soroush joined 20:07 _twitch joined
[Coke] checking against revision file protects against breakages in perl6 code. 20:09
checking against parrot HEAD protects against changes in parrot.
s/perl6/rakudo/ 20:10
flussence I'll leave it alone for now, especially if it's not entirely working with HEAD... I like my perl6 working :) 20:11
[Coke] someone should definitely be testing it on a regular basis to avoid letting bugs pile up (that's what killed partcl) 20:13
t/spec/S29-context/exit.rakudo ................................. Failed 1/3 subtests 20:14
known?
flussence I get 3 fails every time, but they're all in S05 20:15
colomon [Coke]: gimma a sec 20:19
20:20 _twitch left
colomon [Coke]: locally I get "All tests successful", with one of them fudged. 20:20
[Coke] platform? 20:21
(I'm on darwin/x86 here.)
colomon same 20:22
[Coke] freaky.
colomon that's on latest Rakudo with its parrot, not latest parrot.
[Coke] colomon: any reason we don't have a calculated # of tests on S32-trig/*.t? 20:23
colomon it's a bit of a pain in the neck to calculate the #
[Coke] if the tests weren't so slow, I'd not have noticed. ;) 20:24
how do I do the equivalent of "prove -v path/to/foo.rakudo" 20:33
jasonmay prove -e perl6 ? 20:35
flussence if I understand p5's test code right, "perl6 path/to/foo.rakudo" does that anyway? 20:41
Tene flussence: but doesn't pass the output to prove 20:42
flussence oh. 20:43
arnsholt [Coke]: If you're working on a subset of the testsuite, there's also make localtest
dukeleto [Coke]: you can do "make test t/spec/blah/foo.t" i think 20:47
[Coke]: and possible with foo.rakudo too
20:48 soroush left, soroush joined
[Coke] prove -e was what I wanted. no clue why I was stuck on that, danke. 20:49
ok. only failure in spectest right now is that "exit 5" is generating a lot of verbose output. 20:51
20:55 jhuni joined 21:12 LeifD left 21:14 masak joined
masak ahoy! 21:14
moritz_ hello zebra!
tadzik hey! 21:15
21:15 dual joined
moritz_ tachyon.in/clay/ # very different niche than perl 6, but sounds very promising 21:15
lue hello #perl6 o/
and hello fellow zebra \o
masak <TimToady> which might be a good argument for changing 0d to 0t 21:16
I think it's a good argument for not overloading :2 et al.
even after TimToady's explanation, I don't see the use of letting the 0x override the :2
...so that user input can decide the radix? sounds like a source of subtle bugs to me, without much corresponding usefulness. 21:17
if the programmer *wants* that behavior, it should be easy enough to trigger explicitly.
allbery_b I'm inclined to agree; :base(value) strikes me as an explicit declaration, and some other incantation should mean "user decides"
moritz_ that incantation is called $yourstring.Int 21:19
rakudo: say '0x10'.Int
p6eval rakudo cae7f9: OUTPUT«16␤»
masak it seems that lately I've been very much in favor of making Perl 6 use *less* magic. 21:20
lue [backlogging] Ah, I see TimToady stumbled upon my silly error message. That should be fixed...
masak glad we agree. 21:21
makes me smile every time I see the error message. but not because I want to keep it. :)
lue There's probably more subtle ways of putting a little humor in an error message... [assuming, of course, you want P6 to be -Ofun down to the last error message :)] 21:26
moritz_ couldn't resist 21:27
lue Funny, I swear I remember seeing things like :16<0d34> becoming an issue when I worked on it... 21:28
moritz_ waits for dalek to make his show
lue backlogs for proof
sorear hello masak! 21:29
dalek kudo: ba1fdde | cotto++ | src/ (6 files):
Remove deprecated uses of two arg concat pirop

Signed-off-by: Moritz Lenz [email@hidden.address]
kudo: 3750262 | moritz++ | src/builtins/Num.pir:
PANIC
masak sorear++! \o/ 21:30
moritz_++ # in-joke commit message ;)
pmurias sorear: hi
i fixed a bug in Test (see github.com/pmurias/niecza/commit/d...e9a0e39f6) 21:32
lue It was funny when I did it, but I know better now. [Next time I'll program a counter that'll count how many errors you encounter, and at a certain point Rakudo starts screaming in terror :)] 21:33
pmurias TimToady: do users often enter non decimal numers? 21:34
dalek ecza: df055f4 | pmurias++ | lib/Test.pm6:
ok(1,"foo\nbar") now print out

  #bar
21:36
ecza: 069b229 | pmurias++ | t/fudgeandrun:
fudgeandrun uses ../roast/fudge
ecza: 75090a8 | pmurias++ | lib/Test.pm6:
added skip to Test
sorear pmurias++
TimToady: What is a legitimate use for $obj.submethod? I think submethods should only be accessible via WALK. 21:39
[Coke] sees that his patch for concat cleanup is not needed. 21:40
I am trying to track down when exit.t started failing. 21:41
masak sorear: S12:607: "Apart from the keyword, submethod declaration and call syntax is identical to method syntax." 21:42
21:44 risou left 21:49 molaf joined
pmurias sorear: i get an exception from C# land withought line numbers do i need to pass a debugging flag? 21:49
lue About :16<0d34> and friends, I think the number should go through as d34, not 34. I would lean towards no magic converting (e.g. :16<0x4C> fails) 21:51
masak rakudo: class A { my method foo { say "OH HAI" }; method bar { foo } }; A.new.bar 21:55
p6eval rakudo cae7f9: OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤ in 'A::foo' at line 22:/tmp/zxYfF8RRtW␤ in 'A::bar' at line 22:/tmp/zxYfF8RRtW␤ in main program body at line 22:/tmp/zxYfF8RRtW␤» 21:56
masak rakudo: class A { my method foo { say "OH HAI" }; method bar { foo(self) } }; A.new.bar
p6eval rakudo cae7f9: OUTPUT«OH HAI␤»
masak rakudo++
22:01 MayDaniel left 22:16 risou joined
masak I would be writing Perl 6 right now, but I'm too caught up in "Harry Potter and the Methods of Rationality"... 22:16
colomon oh noez! 22:18
Tene masak: Did he start updating again?
masak Tene: I wouldn't know, I'm only at instalment 49 so far.
but it's *so* *good*! I should have ceased being amazed at how good a writer he is by now, but he keeps surprising me. 22:19
lue should get back into HPatMoR
masak lue: how far did you read? 22:20
colomon gave up after chapter 10 or so.
pmurias what's HPatMor? 22:21
colomon "Harry Potter and the Methods of Rationality"
lue on chapter 22. I had the tab open for a looong time, but I wasn't reading, so I bookmarked it for later.
colomon it's a crazy fan fic
lue [I tend to leave tabs open for way too long]
masak pmurias: www.fanfiction.net/s/5782108/1/Harr...ationality
lue: tell me about it. 22:22
lue: I have >4k tabs open in Firefox right now. the oldest ones are from last December.
lue If only I had the computing power to leave that many open :) 22:23
masak the CPU usage that a 30-or-so-days old Firefox consumes tells me it wasn't designed to be used that way. that's with js turned off and lazy tab loading. 22:24
tadzik masak: there is this "Bookmark" thing, you know
masak tadzik: mrrrh :)
lue
.oO(It's weird to see what Firefox looks like when one has <= 4 tabs open...)
arnsholt 4 THOUSAND tabs?
masak hides
arnsholt: it's sort of... gotten out of control.
I blame Twitter.
arnsholt I usually close tabs when I realize I'm never going to get around to reading them
Or if I've forgotten why I opened it =) 22:25
lue Firefox 4 has a nifty new organizational technique. I forgot what it's called, and I'll never use it cos 1) Fedora won't update me anymore :( 2) It would kill my CPU :(
22:26 pmurias left
lue I would say it's a bug (or maybe an unwanted "feature") when you have all tests passing, but make test still says failure because you only used plan *; [I'm actually counting the # of tests now, so I can see a pretty green light when all passes :)] 22:30
arnsholt In an ideal world, saying plan * would output the plan after the tests have been run 22:31
I'm just not sure how to implement that
masak er, no. 22:32
there needs to be some way to tell if the tests have been prematurely interrupted.
arnsholt Well, yeah
masak that's what &done_testing is for.
that's what you should use here, lue. 22:33
arnsholt Oooh. I didn't know done_testing existed
masak by the way, while I remember it, I plan to recommend in S24 that &done_testing be named &done. Ovid wrote about this once. 22:34
underscores are ugly, and the '_testing' part is completely unnecessary.
arnsholt Yeah, that sounds reasonable to me as well
masak arnsholt: seems an S24 really is needed, then, if &done_testing isn't common knowledge.
arnsholt: I think you just provided me with a disposition for my S24 draft. thank you. :) 22:35
arnsholt Hehe
I was about to ask why there is no S24 =)
lue so just write &done_testing at the end of the document? 22:36
masak aye. 22:37
well, no.
done_testing;
arnsholt Hmm. I don't think &plan needs to be multi 22:40
masak in Rakudo?
arnsholt Yah
Test.pm:35 22:41
masak it's exported, so it's not too bad it's a multi.
masak echoes moritz_++'s "why you shouldn't forbid stuff just because you think it's wrong" 22:42
22:42 bacek joined
arnsholt The exporting is a good point. Didn't think about that 22:43
I just thought it was unnecessary, rather than to be forbidden 22:44
masak I *think* that's the way it works -- that someone can 'use Test;' and then supply her own 'multi plan' which would commingle with the imported one.
arnsholt Yeah. Sounds reasonable
masak arnsholt: there's a tendency in the setting to declare subs and methods multi, too, for the same reason.
arnsholt Yeah, makes sense 22:45
I'm still not acclimatized to this whole multi thing 22:46
masak it's very beautiful. 22:49
the Most Recent spec change only makes it a little bit ugly, but we can probably fix that. it was still worth it.
arnsholt Oh? 22:50
allbery_b four... thousand... tabs
diakopter allbery_b: wait, what?
allbery_b someone needs to meet evernote
someone DESPERATELY needs to meet evernote :)
diakopter who?
allbery_b <masak> lue: I have >4k tabs open in Firefox right now. the oldest ones are from last December.
masak people keep recommending all these plugins to me. 22:51
allbery_b evernote's not a plugin, lthough ut has plugins for pretty much anything that supports plugins and handles information
masak truth is, the system I have works. it's just that I keep overloading all the systems I adopt to their limit.
lue :) 22:52
allbery_b and it makes a pretty good outboard brain :)
lue looks up evernote out of curiousity 22:53
masak too
allbery_b there are other programs if you prefer. the folks at personalbrain keep nagging me because i downloaded a demo once...
lue I personally would like to know how to keep 4k tabs open, because then I can avoid the semi-ritualistic "should I close this tab?" game. 22:54
allbery_b I'd kinda like to know how he keeps firefox from keeling over with that many tabs open. 22:55
and how he ever *finds* anything...
arnsholt rakudo: class A { submethod BUILD($a, $b) { say "hello" } }; A.new(1,1) # What am I doing wrong? 22:56
p6eval rakudo cae7f9: OUTPUT«Not enough positional parameters passed; got 1 but expected 3␤ in 'A::BUILD' at line 22:/tmp/8w6UqIxJAv␤ in main program body at line 22:/tmp/8w6UqIxJAv␤»
masak allbery_b: I don't go looking for things among the tabs. the 4k tabs are a *queue*, things I haven't looked at (and bookmarked) yet. 22:57
so I push new tabs to the right, and shift tabs off the left.
diakopter masak: someday you'll overflow 22:58
masak diakopter: yes. it's happened three or four times already.
allbery_b for that I use instapaper
masak allbery_b: I've been recommended that one before. maybe I'll have a look at it.
arnsholt Anyone have an idea how to get positional arguments working with &BUILD? 23:02
masak rakudo: class A { submethod BUILD($x) { say $x } }; A.new(:x("OH HAI")) 23:04
p6eval rakudo cae7f9: OUTPUT«OH HAI␤»
masak like that?
arnsholt Well, I wanted to say A.new($foo, $bar), ideally 23:05
Without the pair syntax
masak then you'll need to provide your own .new method.
that's the only reason I know to provide one's own .new method, in fact: to do custom signatures. 23:06
arnsholt Ah, right
rakudo: if False { say "oh" } 23:17
p6eval rakudo cae7f9: ( no output )
masak rakudo: if {False} { say "OH HAI" } 23:18
p6eval rakudo cae7f9: OUTPUT«OH HAI␤»
masak rakudo: if {if False { say "oh" }} { say "OH HAI" }
p6eval rakudo cae7f9: OUTPUT«OH HAI␤»
arnsholt rakudo: sub foo() { return False }; say "oh" if foo(); 23:20
p6eval rakudo cae7f9: ( no output )
masak rakudo: say ?Nil 23:21
p6eval rakudo cae7f9: OUTPUT«Bool::False␤»
masak rakudo: say ?()
p6eval rakudo cae7f9: OUTPUT«Bool::False␤»
masak rakudo: say defined Nil; say defined ()
p6eval rakudo cae7f9: OUTPUT«0␤1␤»
masak submits rakudobug
23:22 masonkramer joined
masak those should be Bools. 23:22
masonkramer What's the name of the rule that implies the .() method? 23:23
*role
flussence (random guess) Positional?
masak Callable. 23:24
masonkramer Callable
flussence doh
masak Positional is .[]
masonkramer How do I see if a thing does Callable?
rather
masak rakudo: sub foo {}; say &foo ~~ Callable
masonkramer if a thing does $x
p6eval rakudo cae7f9: OUTPUT«1␤»
masak rakudo: sub foo {}; say &foo.^does(Callable)
masonkramer Hmm..really?
p6eval rakudo cae7f9: OUTPUT«1␤»
flussence I saw the brackets and thought "oh, that looks like a list!" :)
masonkramer Ahh, yep that's what I wanted 23:25
masak I usually recommend the more specific way to do something -- that'd be .^does in this case. but for some reason, I like ~~ better.
it sweeps the specifics of class/role/enum types under the carpet, which can be quite nice sometimes. 23:26
masonkramer Good point
For now though, as I continue to tinker, I'd like to actually make those distinctions
by the way, shouldn't smartmatch always return Bools? 23:27
masak there's no such rule. 23:28
smartmatching on a regex, for example, returns a Match object.
masonkramer Right...right
masak (which boolifies well, but carries a lot of other pertinent information too)
masonkramer I would've expected Bool here though, just because I'm asking a yes or no question
but it's probably very unimportant 23:29
masak I'd say it's a bug too. 23:30
but I think it's been reported already.
masak checks
23:30 glow left
masak yep -- rt.perl.org/rt3/Ticket/Display.html?id=71462 23:31
but it's been resolved... hm.
rakudo: say (* ~~ Whatever).WHAT
p6eval rakudo cae7f9: OUTPUT«Bool()␤»
masak rakudo: say ("OH HAI" ~~ Str).WHAT
p6eval rakudo cae7f9: OUTPUT«Bool()␤»
masak those cases are indeed fixed. 23:32
this does not happen often.
masak reopens ticket because C<&foo ~~ Callable> yields an Int
masonkramer++ 23:33
23:33 duryodhan joined, duryodhan left
masonkramer nifty 23:33
I love those little serendipities
arnsholt decides to get started on p1 23:35
masak :)
arnsholt (And I think I have a fun solution =D)
23:37 Sarten-X joined
masak yay 23:38
colomon I've been plugging away on p2 today, when coherent. 23:41
23:43 Tene joined, rhr joined 23:44 cotto left
masak ➳ sleep 23:46
23:46 masak left
tadzik perl6: Date.new(now).perl # hm? 23:48
p6eval rakudo cae7f9: OUTPUT«Method 'year' not found for invocant of class 'Instant'␤ in 'Date::new' at line 6983:CORE.setting␤ in main program body at line 22:/tmp/AR6PpoChS9␤»
..pugs: OUTPUT«*** No such subroutine: "&Date"␤ at /tmp/d2N2F3Pd8y line 1, column 1 - line 2, column 1␤»
23:51 awwaiid joined 23:52 Eth4n left
lue .u ➳ 23:54
phenny U+27B3 WHITE-FEATHERED RIGHTWARDS ARROW (➳)
sorear good * #perl6
diakopter howdy sorear 23:57
lue hi sorear o/ 23:59
masonkramer what's the return value of &say?
sorear masonkramer: True