»ö« 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«31» | ||
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«newat_posMethod '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«newat_posperlsplicedeletenewCaptureeagerelemsflatiteratorlistmunchBoolNumStrexistsfmtmapperlreverserotatesortpoppushshiftunshiftACCEPTSat_poshashofitemNumericIntNumStrelemsfmtlistNumericRealIntRatNumabsexploglog10sqrtrootsto-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 failedFAILED 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«01» | ||
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 |