»ö« 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!
Set by sorear on 4 February 2011.
timotimo TimToady: can you identify the obvious mistake here? gist.github.com/2230981 00:07
TimToady the only obvious mistake is thinking the mistake is obvious 00:10
timotimo thinking thinking the mistake is obvious is the obvious mistake is obviously a mistake, through its own logic 00:11
felher timotimo: when do you get this error? Buidling rakudo? 00:13
*building
timotimo yes, it comes after "make"
./perl6 --setting=NULL --optimize=3 --target=pir --output=src/gen/CORE.setting.pir src/gen/CORE.setting
maximum recursion depth exceeded
felher tries this here 00:14
timotimo: does the gist include the full patch?
timotimo i even tried to make clean it before that :)
yes, that's all git diff outputs 00:15
moritz timotimo: there's a 'my' missing before the stub 00:26
not sure if it causes the error though
felher is just compiling with 'my' 00:27
timotimo i'll remake, too
moritz timotimo: you can also try to run the compilation step with --ll-exception 00:28
timotimo what does ll stand for?
moritz low level
./perl6 --ll-exception --setting=NULL --optimize=3 --target=pir --output=src/gen/CORE.setting.pir src/gen/CORE.setting 00:29
felher adding my seems to compile forever instead of failing on my machine... 00:31
timotimo how can you tell? :)
felher i can't :)
But it 'seems' :)
moritz I watch the compilation with 'top' or 'htop'
timotimo it's still chugging away at the cpu
moritz and if the memory consumption stays constant for a minute or longer, it's usually a hang 00:32
timotimo ah.
moritz timotimo: fwiw the error you are getting usually comes from using a type a string that hasn't set up its stringification method, or something. That can happen during error reporting :/ 00:33
*as a string
moritz having Perl6::World.throw in the backtrace is 00:35
an indicator that it really loops during error reporting
timotimo memory has not changed yet. can actually be a hang :\
moritz and the caller of .throw is src/Perl6/Grammar.pm:1227 00:35
which is a redeclaration error 00:36
timotimo oh? so that class already exists somewhere? or something similar?
moritz timotimo: yes 00:37
timotimo: because operators.pm comes *after* Exception.pm
timotimo: so by the time you write the stub, the real thing has already been declared
timotimo ah, so the stub class is not needed
moritz correct
timotimo i thought i had gotten an error before i added that stub 00:38
japhb_ I just merged the nom changes for the last several months into the str-numeric branch, up to the point that moritz started doing things to src/core/Str.pm. 00:39
Basically I've managed to merge in everything up to about 10 commits ago from nom. 00:40
moritz those commits might require some hand merging/tuning 00:41
japhb_ moritz, we should figure out a good path forward here, because I'd hate to lose all the work I did in that branch, but str-numeric was not merged back precisely because we didn't have a decent plan for how to deal with all the spec failures.
timotimo cool, it went through 00:42
moritz japhb_: agreed
timotimo: \o/
timotimo thanks!
i'll know what's up in the future now
moritz japhb_: how much work would it be to make the str-numeric branch laxer for now and merge it? 00:43
japhb_: then we can take care of the spectest failures, and then make it strict again 00:44
japhb_ Give me a few minutes to take a look at the current state ...
timotimo i even have a passing test now. great!
felher timotimo++ :) 00:45
moritz japhb_: fwiw I also won't mind terribly if you undo my fail() changes in the branch, I can always add them in later
japhb_ moritz, is there a good (easy and clean) way for me to merge just your changes outside Str.pm? 00:47
moritz japhb_: I don't know 00:48
japhb_: are you using git rebase? or merge?
japhb_ merge -- didn't want to screw everyone by rebasing a published branch 00:49
moritz japhb_: the only idea I have is to not merge nom, but the last revision before I touched Str.pm 00:51
japhb_ Already did that -- that's the "10 commits ago" I was referring to.
I'm trying a new tack:
Merge everything, but take my version of Str.pm.
moritz japhb_: ah. And then cherry-pick the unrelated commits since then
japhb_: that's probably even better :-) 00:52
japhb_ :-)
moritz at least, if you use only your version of Str.Numeric; I guess there were other worthwhile changes in Str.pm
(like, the .match refactor)
japhb_ moritz, You didn't do that in the last 10 commits, did you? 00:54
(Because everything else is already merged up to that point)
moritz ah, correct 00:55
never mind then
you can probably do something along the lines of 00:56
git show str-numeric:src/core/Str.pm > src/core/Str.pm 00:57
git add src/core/Str.pm
that should resolve all conflicts in that file with the version from the str-numeric branch
timotimo under what circumstance do i do is Exception and when do i do does X::Comp instead? 00:58
moritz timotimo: 'does X::Comp' is for compilation errors 00:59
ie stuff detected at compile time
timotimo ah, ok.
not actually sure how to decide that :\ 01:00
well, the pull request discussion will show.
moritz for 'does'?
or a different error=
s/=/?/
timotimo "cannot bind to a zen array/hash slice"
seems runtime to me 01:01
moritz yes, runtime
moritz if the error is triggered from src/core/*.pm, it's nearly always runtime 01:01
timotimo good
now i need to figure out how to trigger this error
moritz (and if not, we're in trouble anyway, because we don't have the line number of the error when we are in core/*.pm) 01:02
nom: my @a; @a[] := (1, 2, 3);
p6eval rakudo 099d30: OUTPUT«Cannot bind to a zen array slice␤ in method postcircumfix:<[ ]> at src/gen/CORE.setting:1125␤ in block <anon> at /tmp/234UU_AtPS:1␤␤»
moritz in this case, 'zen' just means 'empty'
timotimo ah, and := means binding? 01:03
moritz I guess it wouldn't hurt to change the error message to "Cannot bind to an empty {array,hash} slice"
timotimo: yes
timotimo i have two exceptions for that, is that okay, too? 01:04
japhb_ OK, pushed a new str-numeric
... and learned a bit about git mergetool
moritz timotimo: I think I'd prefer one exception, with an attribute to distinguish the array and hash cases 01:05
timotimo would a bool flag be okay for that?
moritz my class X::Bind::ZenSlice is Exception { has $.type = 'array'; method message() { "Cannot bind to a zen $.type slice" } } 01:06
japhb_ moritz, so now we should be about as merged as we can be. Only your changes to Str.Numeric() would have been lost, and not much there.
timotimo OK.
moritz timotimo: that way it's extensible to more future data types
japhb_: great
now that my daughter sleeps again, I'll try that "sleep" thing too 01:07
japhb_ Good thinking
sorear good night
timotimo good luck ;)
moritz thanks 01:08
&
felher heads for bed, too 01:12
good night, #perl6
timotimo bikes home or something 01:14
lichtkind good night 01:33
jnthn hello, for a short moment :) 01:55
jnthn has reached the end of the world :)
sorear hello, jnthn 01:58
which end?
au the middle end? 02:00
jnthn sorear: Ushuaia, which claims to be the southernmost city in the world. :) 02:01
timotimo what. 02:02
sjn Argentina, eh 02:03
jnthn sjn: Yeah. Been vacationing. :)
Back to hacking in a week or so though. Unless I get eaten by penguins or something.
jnthn is in theory going on a trip to see some in a day or two :) 02:04
sorear In view of the Earth's oblateness, I think Quito has a better claim to being a city closest to the end of the world 02:05
sjn jnthn: ask your hosts about their opinion of the city of Puerto Williams :)
jnthn sjn: :P 02:06
sjn "What? That's no city, it's barely a hovel!" :) 02:07
oh, the entertainment one can find on wikipedia :D
jnthn I could actually trip to Puerto Williams from here, but it see 02:08
s/,.+// 02:09
timotimo hum. would this be wrong? throws_like 'my @a; @a[] := <foo bar baz>', X::Bind::ZenSlice, what => 'array';
because that test line blows up saying: # Got: X::Syntax::Confused()
oh, actually, wrong test i'm looking at! 02:10
timotimo how would i initialize a role that has a single public attribute? :\ 02:20
(trying to cause "can only supply an initialization value for a role if it has a single public attribute") 02:21
jnthn nom: role R { }; 42 but R('omg') 02:23
p6eval rakudo 099d30: OUTPUT«Can only supply an initialization value for a role if it has a single public attribute␤ in sub infix:<but> at src/gen/CORE.setting:9794␤ in block <anon> at /tmp/DRf_ixD4Zv:1␤␤»
jnthn nom: role R { has $.x; }; 42 but R('omg')
p6eval rakudo 099d30: ( no output )
timotimo oh, it's not for does, it's for but! 02:24
huh. but it's thrown in infix:<does>. i'm confuse
okay, i clearly need sleep, because that was just wrong.
oh, there's one in infix:<but> and one in infix:<does>, too! 02:26
jnthn oh, you can trigger it with does too
timotimo can you tell me how to trigger that? the signature is multi infix:<does>(Mu:D \$obj, Mu:U \$role, :$value! is parcel) is rw {
jnthn nom: role R { }; class C { }; C.new does R(42)
p6eval rakudo 099d30: OUTPUT«Can only supply an initialization value for a role if it has a single public attribute␤ in sub infix:<does> at src/gen/CORE.setting:9773␤ in block <anon> at /tmp/GNRd8Y5RPl:1␤␤»
timotimo weird. what did i do wrong here? > role foo {}; my $a does foo(99); 02:27
Contextual %*PARAM_INFO not found
i feel X::Role::Initialization is not sufficiently good, but i can't come up with anything else that's not at least 80 characters long ... 02:29
jnthn timotimo: I think you found a compiler NYI with a crappy message
timotimo i don't know how to file a sufficiently good bug, so i suppose whoever wants to can do that for me if they feel like it 02:30
jnthn timotimo: Well, the reasl answer is I need to implement traits on variables. :) 02:31
geekosaur I think the %*PARAM_INFO is a known bug, yeh
timotimo good, then
jnthn Wouldn't surprise me if it's already ticketed. Var traits being NYI sure are. 02:32
*surely
timotimo sends pull request and goes to bed 02:39
jnthn figures he'll get some rest now too 02:42
'najt
timotimo gnite :) 02:44
sorear n: print Str 02:51
p6eval niecza v16-4-gd48d4a8: ( no output )
sorear n: print <2.3>.WHAT
p6eval niecza v16-4-gd48d4a8: OUTPUT«Rat()»
elkng is there 5to6 ? 04:09
sorear perlgeek.de/blog-en/perl-5-to-6/ ? 04:12
elkng tool, there is 2to3 "a Python program that reads Python 2.x source code and applies a series of *fixers* to transform it into valid Python 3.x code.", isnt there same tool for perl ? 04:15
sorear No.
6/5 are much more different, and 6 isn't going to replace 5 anyway 04:16
TimToady there was a translator from GSoC several years ago written in Haskell, but it's probably bitrotted and specrotted by now 04:18
Teratogen is it true that cosmic rays can cause actual bit rot? 04:25
benabik Yes, although the odds of significant damage occurring due to cosmic rays on earth is fairly low. 04:26
The atmosphere is pretty good at blocking them, which is good news for life in general.
japhb Note that IIUC large servers now have *so many* bits of RAM and motherboard traces, both stuffed into quite small spaces, that the chance of random bit-flips of RAM in a large server is enough that you'd basically be nuts not to design in error correction these days. Hard drive error correction has actually gotten to be such a major percentage of the platter space that they had to change sector size recently in order to improve the useful 04:30
data/error correction ratio.
sorear Teratogen: iirc they discovered that alpha particles from thorium contamination in chip encapsulation packages are more significant than cosmic rays 04:35
benabik Quantum tunneling is a major consideration for error these days. It's crazy.
sorear the "cosmic ray" explanation came into vogue well before chip features reached the nanoscale
cxreg hiring perl people in seattle, if anyone knows someone looking 04:59
Teratogen oops 05:09
Teratogen don't type ctrl-c in the terminal that you start X Windows from 05:10
it shuts down X Windows
=/
sorear cxreg: if only, if only 05:20
japhb Putting my hands where my mouth is (or something like that): 05:40
github.com/japhb/perl6-bench
^^ A rough sketch of a tool to benchmark and compare various Perl 6 implementations against perl5, so that it becomes possible to make "no more than 10x slower than perl5" a verifiable goal 05:41
Perhaps I should have called it perl65-bench or perl6-perl5-bench or something. 05:42
Well in any case, masak: I'm looking for objections, if any. And also help expanding it. :-) 05:43
GlitchMr Heh, I would like to see more :)
Perhaps I could make something... for example file processing related...
Where is my UNIX dictionary...
japhb FWIW, I'm happy to move the repo to the perl6 github org, if prefered, under whatever name makes sense to everyone. 05:44
GlitchMr We have github.com/perl6/bench-scripts, but it's about testing performace of various Perl 6 implementations and it's sort of old... 05:45
japhb GlitchMr, it helps if new tests actually run in both Rakudo and Niecza now. ISTR not all file ops are supported in Niecza yet. 05:46
GlitchMr ... hmmm... that could be issue... 05:47
niecza> while (<STDIN>) {} 05:50
This appears to be Perl 5 code at (eval) line 1:
... really helpful warning...
sorear that
that's an error, not a warning. please learn the difference. 05:51
HINT: look for SORRY! or Potential difficulties:
GlitchMr At least, it's good that it doesn't make loop (string 'STDIN' is always truthy)...
moritz good morning 06:07
timotimo++ # rakudo and roast pull requests
sorear good morning moritz 06:07
what is the status of dalek, and how well can I help? 06:08
moritz sorear: I have no idea hwo to migrate dalek. 06:09
sorear: basically i know nothing about what kind of infrastructure it needs, where it lives and what the prerequs are
sorear ugh 06:10
moritz correct
sorear can you get me an acct on feather3?
moritz sorear: yes
sorear: is dalek in any way risky to run? 06:11
sorear no
moritz sorear: then we should run it on feather1 instead
hm, OTOH that would make it harder to couple dalek and p6eval
sorear niecza: [Z] 06:16
p6eval niecza v16-5-ge2f3bfa: OUTPUT«(timeout)»
sorear niecza: [X]
p6eval niecza v16-5-ge2f3bfa: ( no output )
dalek hi 06:48
sorear dalek core seems to be working now
moritz \o/ 06:50
I guess the notification URL will change :/ 06:51
sorear yes
(I haven't gotten the http listener working anyway)
sid, eh 06:52
moritz aye :/ 06:54
sorear what? 06:58
no zlib-dev?
dalek ecza: ede8b6d | (Solomon Foster)++ | lib/CORE.setting:
Fix Bag.Str and KeyBag.Str to conform to TimToady's suggestions.
07:07
ecza: d48d4a8 | (Solomon Foster)++ | src/NieczaActions.pm6:
Appropriate error message for out-of-range digits in a radix. This should probably be merged with the CORE.setting verison of the same function in the long run, but for now this makes things work.
ecza: e2f3bfa | sorear++ | lib/CORE.setting:
Stop Str.say from crashing (GlitchMr++ for fuzz testing)
ecza: f585b26 | sorear++ | lib/Builtins.cs:
Stop [Z] from hanging
moritz sorear: is there a new push URL? 07:08
dalek d: 292f669 | larry++ | STD.pm6:
disallow anonymous constant declarations
07:09
d: 1ad3292 | larry++ | STD.pm6:
give modern advice on \p and \P
d: 3c2fb9c | larry++ | STD.pm6:
obs updates; move ident checks to explain_mystery

Obsolescence messages based on identifiers now done from explain_mystery so that user-defined subs of the same name aren't impacted. Added messages for new P5 regex modifiers, qr, local, and new (as function call).
sorear moritz: yes
I'm in the process of updating all the perl6/ repositories
just change the hostname
moritz phenny: ask pmichaud to please change the hostname of the notification URLs of the rakudo/rakudo and rakudo/star repos to feather3.perl6.nl 07:12
phenny moritz: I'll pass that on when pmichaud is around.
moritz or give me admin privs right away :-)
dalek : 74e91c9 | sorear++ | misc/dalek-push.txt:
Update URLs in dalek-push.txt documentation
07:17
sorear just mailed diakopter to say that dalek is moved 07:19
moritz sorear++
Teratogen aren't the daleks evil? 07:20
or are the just alien?
sorear canonically, yes
Teratogen Doctor Who, right?
sorear no, they're no-holds-barred nazi expies
no alienness about them
jai hi.. 07:21
have a nice day to all
any one help me to learn perl language.. 07:22
sorear Hello and welcome jai.
o/ fglock
jai: are you sure you didn't want #perl?
jai hi.. sorear.. i hope you are good
i want perl 07:23
sorear so why #perl6?
this is a specialized channel 07:24
jai ok.. sorry
GlitchMr Perl 6 is work in progress
While compilers are sort of usable, you would likely want way more stable Perl 5. 07:25
jai sorear: i am having some query. can i ask now..
sorear don't ask to ask
just ask 07:26
fglock o/ 07:27
jai if i learn perl,, it is good for my career or not? 07:28
sorear yes, good
GlitchMr Well, it's always new experience. 07:29
Teratogen Perl > Java
GlitchMr Perl is glue language, even if your company doesn't use it for project itself, there is possibility of using Perl for operating on files and stuff like this. 07:30
dalek ecza: faba63b | sorear++ | src/Op.pm6:
Fix substatement block for (say (for ... { ... }))
07:33
dalek ecza: b4b916a | sorear++ | src/ (2 files):
Make say ($_*$_ for 0..9) DTRT (only for for now)
08:14
sorear -> sleep 08:15
tadzik good morning #perl6 08:30
moritz \o tadzik 08:31
cognominal plato.stanford.edu/entries/cellular-automata/ # may be of interest for some people here 08:54
GlitchMr perl6: printf '%v08b', ':)' 09:41
p6eval pugs: OUTPUT«00000000»
..niecza v16-8-gb4b916a: OUTPUT«Unhandled exception: invalid format specifier␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (sprintf @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1237 (printf @ 3) ␤ at /tmp/4ojgQapVcj line 1 (mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.set…
..rakudo f2004a: OUTPUT«'0' is not a valid sprintf format␤ in sub sprintf at src/gen/CORE.setting:1936␤ in sub printf at src/gen/CORE.setting:1941␤ in block <anon> at /tmp/urUxH5xlBd:1␤␤»
GlitchMr :)
r: printf '%0v8b', ':)'
p6eval rakudo f2004a: OUTPUT«'8' is not a valid sprintf format␤ in sub sprintf at src/gen/CORE.setting:1936␤ in sub printf at src/gen/CORE.setting:1941␤ in block <anon> at /tmp/9lw32P0T82:1␤␤»
GlitchMr ... uhmmm...
GlitchMr Perhaps I would insert some sprintf tests :P. 09:43
GlitchMr github.com/perl6/roast/blob/master...f.t#L73-82 09:47
I don't know if I've missed something, but I don't see %C in printf documentation.
Any printf() documentation, not even S32 or perldoc...
Teratogen what is %C supposed to do? 09:48
GlitchMr I don't know
Teratogen neither do I
maybe it is undefined
GlitchMr It's... just mentioned in one test...
Teratogen ?
GlitchMr But niecza seems to do something, I just don't know what... 09:49
niecza> sprintf '%C', '2'
niecza> sprintf '%q', '2'
invalid format specifier
I've got... nothing at %C...
I'm... confused...
sprintf "%d%C is %d digits long", 09:50
1234,
sub ($s, @args is rw) { @args[2] = $s.elems },
... sub {}... interesting...
Teratogen I don't see it in perlfunc
oh
Perl 6
hm
sorry I thought I was on #perl
GlitchMr lol
Teratogen it probably does do something in Perl 6
moritz I think it's been removed
Teratogen maybe %undefined becomes undefined 09:51
moritz commit 8ef142f7f49fc62be17dd0569d34e7e17e02bc7b
Teratogen like %C just becomes a C
GlitchMr "I challenge the world to come up with a use case for '%C'." :) 09:52
So, I guess it can be removed from tests?
dalek ast: 91d1b92 | moritz++ | S32-str/sprintf.t:
remove test for deprecated %C sprintf format
09:53
moritz it has been removed from the tests :-)
GlitchMr Heh, I wanted to insert few other tests anyways :P
moritz you can still do that. 09:56
GlitchMr I know... 09:58
I wouldn't even notice that %C is there if I wouldn't want to add few tests. 09:59
Perhaps I will add few completely untested features like vectors... 10:01
perl6: sprintf 10:04
p6eval niecza v16-8-gb4b916a: OUTPUT«Unhandled exception: System.IndexOutOfRangeException: Array index is out of range.␤ at Builtins.sprintf (Niecza.Variable[] args) [0x00000] in <filename unknown>:0 ␤ at Run.CORE.C603sprintf (Niecza.Frame ) [0x00000] in <filename unknown>:0 ␤ at Niecza.Ker…
..pugs: OUTPUT«*** No compatible multi variant found: "&sprintf"␤ at /tmp/1TTQ3twTNb line 1, column 1 - line 2, column 1␤»
..rakudo f2004a: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'sprintf' will never work with no arguments (line 1)␤ Expected: :(Cool $format, *@args)␤»
GlitchMr # Failed test 10:09
# got: string
# expected: st
I love edge cases :)
perl6: use Test; is sprintf('%I32d %hhd', 3, 257), '3 1', 'type argument'; 10:24
p6eval pugs: OUTPUT«pugs: *** Unsafe function 'use' called under safe mode␤ at /tmp/xJUqIuqbh9 line 1, column 1␤»
..rakudo f2004a: OUTPUT«'I' is not a valid sprintf format␤ in sub sprintf at src/gen/CORE.setting:1936␤ in block <anon> at /tmp/P_ifgELDf4:1␤␤»
..niecza v16-8-gb4b916a: OUTPUT«Unhandled exception: invalid format specifier␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (sprintf @ 1) ␤ at /tmp/gQf8Jafj8A line 1 (mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3838 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setti…
GlitchMr perl6: use Test; is sprintf('%hhd', 257), '3 1', 'type argument'; 10:25
p6eval niecza v16-8-gb4b916a: OUTPUT«Unhandled exception: invalid format specifier␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (sprintf @ 1) ␤ at /tmp/9nW6vumXBJ line 1 (mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3838 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setti…
..pugs: OUTPUT«pugs: *** Unsafe function 'use' called under safe mode␤ at /tmp/44OQPBz8DQ line 1, column 1␤»
..rakudo f2004a: OUTPUT«not ok 1 - type argument␤# got: '257'␤# expected: '3 1'␤»
GlitchMr ... wait... specification doesn't mention %hh... weird...
So I shouldn't test it... 10:26
perl6: printf('%.0f', 0) 10:29
p6eval pugs, rakudo f2004a: OUTPUT«0»
..niecza v16-8-gb4b916a: OUTPUT«??»
GlitchMr That "??" doesn't make sense...
moritz %.0f doesn't make sense either, do it? 10:30
GlitchMr It does
It rounds numbers
irb(main):002:0> sprintf '%.0f', 5.6
=> "6"
irb(main):003:0> sprintf '%d', 5.6
=> "5"
tadzik r: printf('%.0f', 5.6) 10:31
p6eval rakudo f2004a: OUTPUT«6»
GlitchMr .0 may be used to control precission
That's sort of hacky, but whatever...
perl6: printf('%3.2s', 'string') 10:32
p6eval niecza v16-8-gb4b916a: OUTPUT«string»
..pugs, rakudo f2004a: OUTPUT« st»
GlitchMr This is more hacky :P
GlitchMr perl6: method object($/) { make $<pairlist>.ast ?? hash ( $<pairlist>.ast ) !! {}; } 11:44
p6eval rakudo f2004a: OUTPUT«Useless declaration of a has-scoped method in mainline␤»
..pugs: ( no output )
..niecza v16-8-gb4b916a: OUTPUT«===SORRY!===␤␤Methods must be used in some kind of package at /tmp/loHel_9iuF line 1:␤------> method object⏏($/) { make $<pairlist>.ast ?? hash ( $<␤␤Ternary !! seems to be missing its ?? at /tmp/loHel_9iuF line 1:␤-----…
GlitchMr perl6: class ACME::Blah; method object($/) { make $<pairlist>.ast ?? hash ( $<pairlist>.ast ) !! {}; }
p6eval pugs, rakudo f2004a: ( no output ) 11:45
..niecza v16-8-gb4b916a: OUTPUT«===SORRY!===␤␤Ternary !! seems to be missing its ?? at /tmp/pXSjtgcTDK line 1:␤------> list>.ast ?? hash ( $<pairlist>.ast ) !!⏏ {}; }␤␤Parse failed␤␤»
GlitchMr ... but... I see that !!...
colomon std: class acme::Blah; method object($/) { make $<pairlist>.ast ?? hash ( $<pairlist>.ast ) !! {}; }
p6eval std 3c2fb9c: OUTPUT«===SORRY!===␤Ternary !! seems to be missing its ?? at /tmp/s9Wfmmm2f_ line 1:␤------> list>.ast ?? hash ( $<pairlist>.ast ) !!⏏ {}; }␤Parse failed␤FAILED 00:01 115m␤»
GlitchMr perl6: #=... what? 11:47
p6eval niecza v16-8-gb4b916a: OUTPUT«===SORRY!===␤␤Action method comment:sym<#=> not yet implemented at /tmp/KjGAiu6f1c line 1 (EOF):␤------> #=... what?⏏<EOL>␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1366 (die…
..pugs, rakudo f2004a: ( no output )
GlitchMr perl6: IO::Socket::INET.new 12:07
p6eval rakudo f2004a: OUTPUT«Could not find symbol 'IO::Socket::&INET'␤ in block <anon> at /tmp/uFg6Q0JttN:1␤␤»
..niecza v16-8-gb4b916a: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in class Any␤ at /tmp/iJPTJQEcyf line 1 (mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3838 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3839 (module-CORE @ 65)…
..pugs: OUTPUT«*** No such subroutine: "&IO::Socket::INET"␤ at /tmp/vHfLz5C3lt line 1, column 1 - line 2, column 1␤»
tadzik GlitchMr: forbidden in SAFE.setting I think 12:09
GlitchMr Whatever, I get exactly this same message on niecza...
For some reason, I cannot start IO Socket...
GlitchMr Perhaps it doesn't exist... 12:10
benabik GlitchMr: That use of printf isn't hacky. It's spec. printf works in weird and wonderful ways.
GlitchMr I know :P
github.com/perl6/roast/pull/17 12:11
But I've made more evil stuff :P
benabik GlitchMr: And, yes, IO::Socket::INET doesn't exist in niecza. I'd say that error message is a bug though. 12:12
(Or at least it doesn't exist as far as `ack -a Socket` will tell me.) 12:14
moritz and in rakudo, the IO package is replaced by a stub in SAFE.setting 12:15
timotimo std: class acme::Blah { method object($/) { make $<pairlist>.ast ?? hash ( $<pairlist>.ast ) !! {}; } } 12:45
p6eval std 3c2fb9c: OUTPUT«===SORRY!===␤Ternary !! seems to be missing its ?? at /tmp/bgWxA2mjX1 line 1:␤------> list>.ast ?? hash ( $<pairlist>.ast ) !!⏏ {}; } }␤Parse failed␤FAILED 00:01 115m␤»
moritz that looks like code from JSON::Tiny 12:51
ah, not quite
moritz if you worry that $<pairlist> might not be defined, you can write $<pairlist>.?ast.?hash // {} 12:51
though I don't quite understand the source of the error 12:52
moritz std: make $<pairlist>.ast ?? hash ( $<pairlist>.ast ) !! {} 12:53
p6eval std 3c2fb9c: OUTPUT«===SORRY!===␤Ternary !! seems to be missing its ?? at /tmp/lx37FLOoo5 line 1:␤------> list>.ast ?? hash ( $<pairlist>.ast ) !!⏏ {}␤Parse failed␤FAILED 00:01 112m␤»
moritz std: $<pairlist>.ast ?? hash ( $<pairlist>.ast ) !! {}
p6eval std 3c2fb9c: OUTPUT«===SORRY!===␤Ternary !! seems to be missing its ?? at /tmp/w85ye890TX line 1:␤------> list>.ast ?? hash ( $<pairlist>.ast ) !!⏏ {}␤Parse failed␤FAILED 00:01 112m␤»
moritz std: $<pairlist>.ast ?? $<pairlist>.ast.hash !! {}
p6eval std 3c2fb9c: OUTPUT«ok 00:01 110m␤»
moritz ah, precedence problem
std: $<pairlist>.ast ?? ( hash $<pairlist>.ast ) !! {}
p6eval std 3c2fb9c: OUTPUT«ok 00:01 111m␤»
colomon space between hash and ( ? 12:54
moritz hash is a listop, and ?? !! has tighter precedence than listops
colomon: removing that is also an option
flussence heh, D seems to have discovered $obj.&func()... :) 13:47
spider-mario what does it look like in D ? 13:51
flussence obj.func()
here's the article - drdobbs.com/blogs/cpp/232700394 13:52
spider-mario thanks
flussence it looks like it calls a function with that name if there's no matching method. I'm not sure that's a great idea... 13:53
moritz just got to that point in that article, and I have to agree 13:54
it's not safe against addition of methods
"different things should look different"
masak evening, #perl6. 15:12
colomon o/ 15:14
moritz \o masak, colomon 15:19
spider-mario afternoon here
colomon morning here, but who's counting? 15:20
masak japhb++ # github.com/japhb/perl6-bench
masak nom & 16:02
[Coke] guten abend, masak. 16:25
PerlJam
.oO( Coke is wishing masak a good ABnormal END? )
16:29
;)
[Coke] phenny: "abend"? 16:30
phenny [Coke]: "evening" (de to en, translate.google.com)
geekosaur so if evening's an AbEnd, what's a normal end in German? :p 16:31
PerlJam geekosaur: beer! 16:32
sjn PerlJam: "aBend" (i.e. a Banana or something similarly bendy :) 16:35
so when the .de's say hello in the evening, they actually say "good banana" 16:36
sjn is obviously in the rational corner today
bonsaikitten sjn: so what is a morgen? ;) 16:41
moritz c vcb gfv s<77gg yy<dasssss
a "morgen" is an areal unit, usually used for land 16:42
[Coke] "tag" - you're it.
moritz en.wikipedia.org/wiki/Morgen 16:43
[Coke] S26-documentation/why.t - this shouldn't have bare skips in it. 16:44
(nothing in the suite should)
most of the hard skips are from pugs days, but I suspect all the doc ones are from rakudo 16:45
[Coke] +# 03/29/2012 - rakudo++ ; niecza (96.12%); pugs (38.93%) 17:01
colomon: that's another 0.01%! 17:02
colomon o| 17:03
(that's me shaking my fist)
doubt I'll be any help this weekend, I'm packed and ready to leave for Ambercon...
dalek d: 5740094 | larry++ | STD.pm6:
catch listop in ??!!; remove unused .<sub> hack
17:04
japhb masak, glad you like the nascent perl6-bench. 17:15
Anyone: Comments? Suggestions? Changes/features/tests you'd like to see on the short list?
moritz r: my $b = KeyBag.new({ foo => 2, baz => 1}); say $b.pairs.perl 17:16
p6eval rakudo f2004a: OUTPUT«("foo" => 2, "baz" => 1).list␤»
moritz r: my $b = KeyBag.new({ foo => 2, baz => 1}); say ~($b.map: { .key xx .value }) 17:17
p6eval rakudo f2004a: OUTPUT«Method 'value' not found for invocant of class 'KeyBag'␤ in block <anon> at /tmp/zEVgKDMmJX:1␤␤»
moritz r: my $b = KeyBag.new({ foo => 2, baz => 1}); say ~($b.pairs.map: { .key xx .value })
p6eval rakudo f2004a: OUTPUT«foo foo baz␤»
moritz nom: my %h = a => 1, b => 2; eager %h.map: {say .WHAT } 17:19
p6eval rakudo f2004a: OUTPUT«Pair()␤Pair()␤»
lichtkind is there a way to fetch html woth perl 6? 17:59
masak lichtkind: have you tried using IO::Socket::INET? 18:07
lichtkind not yet 18:08
i gound hust today that for simple on line scripting thing perl 6 was more convinient than perl 5
moritz "gound hust"? 18:09
moritz can't parse that
I'm afraid that LWP::Simple is currently broken on nom 18:10
masak moritz: "found just"
shifted one position to the left.
lichtkind shit i wanted say found out but my hands were one key to right
masak is genious 18:11
masak I get by.
lichtkind how to install IO::Socket
sjohnson masak.hi 18:12
masak IO::Socket::INET comes bundled with Rakudo compiler.
sjohnson! \o/
lichtkind iv not seen it on modules.perl6
great
sjohnson looks like rakudo is coming along smoothly as I suspected
lichtkind does modules also get updates with every fetch 18:16
lichtkind and my second question where is actually that lib, cuz: Could not find IO::Socket::INET in any of: lib, /home/lichtkind/.perl6/lib, /home/lichtkind/code/perl/six/rakudo/install/lib/parrot/4.1.0-devel/languages/perl6/lib, . 18:17
moritz lichtkind: no need to 'use' it, it's built-in
lichtkind ah
thank you
[Coke] moritz: should that error out, though? 18:18
or just return true, already loaded?
star: use IO::Socket::INET;
p6eval star 2012.01: OUTPUT«===SORRY!===␤Could not find IO::Socket::INET in any of: lib, /home/p6eval/.perl6/lib, /home/p6eval/rakudo-star-2012.01/install/lib/parrot/3.11.0/languages/perl6/lib, .␤»
moritz [Coke]: dunno
cbk1090 moritz, it would be nice to see IO::Socket::INET to help us understand how it works. 18:21
moritz cbk1090: it's in rakudo's sources in src/core/Socket.pm and src/core/Socket/INET.pm
[Coke] cbk1090: perlcabal.org/syn/S32/IO.html#IO%3A...%3A%3AINET 18:22
spec's a little light.
cbk1090 cool thanks
[Coke]  =encoding ALREADYDONE ??
(looks like a htmlification glitch. 18:23
lichtkind what wrong with IO::Socket::INET.new('host'=>'www.perlfoundation.org/perl6/index...._tablet'); ? 18:28
masak lichtkind: you tell us. 18:29
lichtkind it sayd Too many positional parameters passed; 18:33
but i cant believe it even if put in a hash it still tells that 18:34
even if tell just the host 18:35
it say it got 2 args
benabik lichtkind: `IO::Socket::INET.new(:host<google.com>, :port(80))` works for me 18:36
sjohnson tadzik: still have that fat face emot? 18:39
i have to reset it now that I've migrated to another shell during my long absence
lichtkind why it doesnt take the other syntac for pairs?
benabik wonders if google minds me poking their web servers as network connectivity and library tests.
flussence .u 1f616 18:40
phenny flussence: Sorry, no results for '1f616'.
benabik lichtkind: The syntax is host => 'localhost' not 'host' => 'localhost' 18:41
The fat arrow converts the LHS to a string automagically.
lichtkind oh that changes 18:42
p5 handeled that differently
masak yes.
benabik Hm.
benabik Although that appears to be only different in a call? 18:42
masak yes. captures are a bit of a sublanguage of their own. 18:44
PerlJam It's languages all the way down. 18:46
masak perl6: say (:()).WHAT
lichtkind thanks you a lot but i have 2 new problems
p6eval pugs: OUTPUT«Scalar::Perl5␤»
..niecza v16-8-gb4b916a: OUTPUT«===SORRY!===␤␤Action method fakesignature not yet implemented at /tmp/hLhVCQbpvY line 1:␤------> say (:(⏏)).WHAT␤␤Action method sigterm not yet implemented at /tmp/hLhVCQbpvY line 1:␤------> say (:()⏏).WHA…
..rakudo 018b27: OUTPUT«Signature()␤»
masak perl6: say (\()).WHAT
p6eval pugs: OUTPUT«Scalar::Perl5␤»
..rakudo 018b27, niecza v16-8-gb4b916a: OUTPUT«Capture()␤»
lichtkind can i put the timeout up? 18:47
masak lichtkind: you should've listened to Jamie Zawinski :P
lichtkind i just read about him this week
thats enough :)
what he said? 18:48
second is how i get html of the socket
get doesnt seemes to do what i expect
masak he said "...now you've got two problems."
lichtkind that classic 18:48
i expected something fresh like the 9 people 18:49
masak well, you started it :)
20:46 < lichtkind> thanks you a lot but i have 2 new problems
lichtkind i know 18:51
but u prefer to run that p6 script that i write
masak lichtkind: maybe the spectests will help you find out how to use IO::Net::INET? 18:52
lichtkind didnt found it 18:53
moritz lichtkind: are you aware of tools like grep and ack? 18:56
masak lichtkind: t/spec/S32-io/IO-Socket-INET.t 18:57
let us know if you know of a more intuitive name and place for that file :P 18:58
lichtkind ah its in the spec 19:04
GlitchMr rule statement_mod_loop:given {<sym> <modifier_expr> } 19:11
I'm confused...
Why `given` is loop statement modifier?
moritz because it's a useful categorization 19:13
PerlJam maybe because it's a topicalizer?
masak what moritz said.
GlitchMr Heh, I've checked that "looping", and it only seems to be used to determine if do { } while 1 is obsolete...
masak if it helps your imagination, consider it a one-iteration loop. (but without next/last/redo semantics) 19:14
lichtkind help! the more i read github.com/perl6/roast/blob/master....t#L6-L156 the less i understand
moritz GlitchMr: I think there's a second application
GlitchMr r: do { } given 'something'
p6eval rakudo 018b27: OUTPUT«===SORRY!===␤Unsupported use of do...given; in Perl 6 please use repeat...given␤at /tmp/2k0KdBDXXh:1␤»
moritz GlitchMr: Perl 6 allows using of a conditinal and of a loop statement modifier in the same statement
ie say $_ if $_ %% 2 for ...; 19:15
nom: say $_ if $_ %% 2 for 1..4;
p6eval rakudo 018b27: OUTPUT«2␤4␤»
moritz nom: say $_ if $_ %% 2 given 4
p6eval rakudo 018b27: OUTPUT«4␤»
GlitchMr | $<wu>=['while'|'until']<.keyspace> 19:16
Perphaps do { } should check for those two words...
lichtkind i really see there no example in it does anybody know here how to fetch a html page? 19:18
[Coke] b: say 3.7/9.7
p6eval b 1b7dd1: OUTPUT«0.381443298969072␤»
moritz lichtkind: it's trivial with LWP::Simple, which currently doesn't work.
lichtkind allright so i wait
i just wanted script that checks the tablets for sanity and stats 19:19
and i wanted know if example extraction actually works
[Coke] moritz: what is LWP::Simple blocking on?
moritz [Coke]: URI
which, last I checked, had some weird compilation error 19:20
[Coke] will not continue to play this game. ;)
ah, good.
[Coke] kicks off a rebuild of his "hack on rakudo" checkout in hopes of getting back to it ever. 19:21
moritz eeks, it dies inside the ModuleLoader 19:21
hm 19:22
moritz nom: our %escapes; for 0 .. 255 -> $c { %escapes{ chr($c) } = sprintf '%%%02X', $c; } 19:25
p6eval rakudo 018b27: OUTPUT«Method 'at_key' not found for invocant of class 'Any'␤ in method postcircumfix:<{ }> at src/gen/CORE.setting:1185␤ in block <anon> at /tmp/IjDSbedXUx:1␤␤»
moritz that's the error :/
r: printf '%%%02X', 0'
p6eval rakudo 018b27: OUTPUT«===SORRY!===␤Confused␤at /tmp/Bj1Y25C50T:1␤»
moritz r: printf '%%%02X', 0
p6eval rakudo 018b27: OUTPUT«%00»
moritz nom: our %escapes := {}; for 0 .. 255 -> $c { %escapes{ chr($c) } = sprintf '%%%02X', $c; } 19:26
p6eval rakudo 018b27: OUTPUT«===SORRY!===␤Cannot use bind operator with this left-hand side␤at /tmp/ps7guoDxOq:1␤»
moritz r: our %a; %a<b> = 'c'; 19:26
p6eval rakudo 018b27: OUTPUT«Method 'at_key' not found for invocant of class 'Any'␤ in method postcircumfix:<{ }> at src/gen/CORE.setting:1185␤ in block <anon> at /tmp/mm0N2fXvBI:1␤␤»
moritz masak: do you know if that's known?
r: our %a = (); %a<b> = 'c';
p6eval rakudo 018b27: OUTPUT«Method 'STORE' not found for invocant of class 'Any'␤ in block <anon> at /tmp/4dgXPFVBT7:1␤␤» 19:27
moritz n: our %a = (); %a<b> = 'c';
p6eval niecza v16-8-gb4b916a: ( no output )
[Coke] file a bug and see if it attracts pmichaud. ;)
fsergot hi #perl6 o/ 19:28
masak fsergocie! \o/ 19:29
moritz: I think so, yes.
moritz URI.pm now compiles again (locally) 19:30
masak moritz++ 19:33
moritz: rt.perl.org/rt3/Ticket/Display.html?id=102876 seems to capture the above buggy semantics. 19:35
moritz masak++ 19:36
t/november-urlencoded.t .. ok
moritz one passing test file 19:39
lichtkind good night 19:51
moritz t/escape.t now passes 19:54
moritz t/01.t now passes 19:59
japhb moritz++ # Knockin' 'em down, one test file at a time ... 20:00
moritz ... except that I don't know how to tackle that last one 20:03
oh hell, I'll just TODO it for now
pull request sent. 20:05
moritz r: constant %escapes = (^255).map({ 20:12
p6eval rakudo 018b27: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2␤»
moritz r: constant %escapes = (^255).map({; .chr => sprintf '%%%02X', $_ }).hash; say %escapes<e> 20:13
p6eval rakudo 018b27: OUTPUT«===SORRY!===␤invoke() not implemented in class 'Undef'␤»
[Coke] moritz: were you avoiding regressions in rakudo?
moritz r: constant %escapes = (^256).hash; say %escapes<e>
p6eval rakudo 018b27: OUTPUT«Any()␤»
moritz [Coke]: the one with 'our %hash'
moritz [Coke]: apart from that it was mostly exceptions and object initialization 20:14
[Coke]: and I removed some workarounds around old rakudo bugs
moritz r: constant %escapes = (^255).map({; chr($_) => sprintf '%%%02X', $_ }).hash; say %escapes<e> 20:15
p6eval rakudo 018b27: OUTPUT«===SORRY!===␤invoke() not implemented in class 'Undef'␤»
moritz r: constant %escapes = (^255).map({; $_ => $_ }).hash; say %escapes<e>
p6eval rakudo 018b27: OUTPUT«===SORRY!===␤invoke() not implemented in class 'Undef'␤»
moritz r: (^255).map({; $_ => $_ }).hash;
p6eval rakudo 018b27: ( no output )
moritz r: constant $a = (^255).map({; $_ => $_ }).hash;
p6eval rakudo 018b27: OUTPUT«===SORRY!===␤invoke() not implemented in class 'Undef'␤»
moritz r: constant $a = (^255).hash;
p6eval rakudo 018b27: OUTPUT«===SORRY!===␤Odd number of elements found where hash expected␤»
moritz r: constant $a = (^256).hash; 20:16
p6eval rakudo 018b27: ( no output )
moritz masak: wanna submit rakudobug?
masak submits rakuodbug 20:17
spider-mario r: (^255).map({$_ => $_ }).hash; 20:36
p6eval rakudo 018b27: OUTPUT«use of uninitialized variable $!key of type Any in string context␤Method 'count' not found for invocant of class 'Hash'␤ in method reify at src/gen/CORE.setting:4628␤ in method reify at src/gen/CORE.setting:4553␤ in method reify at src/gen/CORE.setting:4553␤ in…
spider-mario r: constant $x = [*] 2 .. 6; say $x;
p6eval rakudo 018b27: OUTPUT«720␤»
spider-mario oh, rakudo from git now handles that, indeed 20:38
in rakudo star 2012.02, I got :
Cannot handle constant $x with non-literal value yet at line 1, near ";\n"
nice :)
moritz well, we do improve the compiler from time to time :-) 20:38
jnthn++
TimToady spider-mario: {$_ => $_ } is not supposed to be considered a hash, according to S04:1569, so that's a bug 20:50
TimToady spider-mario: did you see what I just said? 20:52
spider-mario yes
but isn’t a list of pairs (to-hash)able? 20:53
TimToady not if parameterized, and according to S04:1569, $_ counts as a parameter
spider-mario the block is parameterized
but map applies it 20:54
so what results should be a list of (1 ⇒ 1), should it not?
TimToady and returns a pair each time
spider-mario r: (^255).map({$_ => $_ }).perl 20:54
p6eval rakudo 018b27: OUTPUT«use of uninitialized variable $!key of type Any in string context␤Method 'count' not found for invocant of class 'Hash'␤ in method reify at src/gen/CORE.setting:4628␤ in method reify at src/gen/CORE.setting:4553␤ in method gimme at src/gen/CORE.setting:4941␤ in…
moritz but rakudo constructs a Hash right away, so .map doesn't get a block in teh first place
TimToady the bug is that it's already been turned into a hash, so map can't call it
spider-mario oh
TimToady and $_ isn't set before the hash is made, hence the uninit error 20:55
r: (^255).map( -> $_ { $_ => $_ } ).perl
p6eval rakudo 018b27: ( no output )
TimToady r: (^255).map( -> $_ { $_ => $_ } ).perl.say
p6eval rakudo 018b27: OUTPUT«(0 => 0, 1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, 10 => 10, 11 => 11, 12 => 12, 13 => 13, 14 => 14, 15 => 15, 16 => 16, 17 => 17, 18 => 18, 19 => 19, 20 => 20, 21 => 21, 22 => 22, 23 => 23, 24 => 24, 25 => 25, 26 => 26, 27 => 27, 28 =…
TimToady it's supposed to behave like that
spider-mario r: (map {$_ => $_}, (^256)).perl.say
p6eval rakudo 018b27: OUTPUT«use of uninitialized variable $!key of type Any in string context␤Cannot call 'map'; none of these signatures match:␤:(Callable &code, *@values)␤␤ in block <anon> at /tmp/mEsgiEgb_2:1␤␤»
moritz same problem 20:56
spider-mario r: (map {$^x => $^x}, (^256)).perl.say
p6eval rakudo 018b27: OUTPUT«(0 => 0, 1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, 10 => 10, 11 => 11, 12 => 12, 13 => 13, 14 => 14, 15 => 15, 16 => 16, 17 => 17, 18 => 18, 19 => 19, 20 => 20, 21 => 21, 22 => 22, 23 => 23, 24 => 24, 25 => 25, 26 => 26, 27 => 27, 28 =…
TimToady r: (^255).map( { $^a => $^a } ).perl.say
p6eval rakudo 018b27: OUTPUT«(0 => 0, 1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, 10 => 10, 11 => 11, 12 => 12, 13 => 13, 14 => 14, 15 => 15, 16 => 16, 17 => 17, 18 => 18, 19 => 19, 20 => 20, 21 => 21, 22 => 22, 23 => 23, 24 => 24, 25 => 25, 26 => 26, 27 => 27, 28 =…
benabik r: $_=1; say {$_ => $_}.WHAT
p6eval rakudo 018b27: OUTPUT«Hash()␤»
TimToady another workaround
timotimo p6: sub infix:<W T F>($a, $b, $c, $d) { say "a: $a, b: $b, c: $c, d: $d"; }; 99 W 88 T 77 F 66;
spider-mario we thought about it at the same time
p6eval niecza v16-8-gb4b916a: OUTPUT«===SORRY!===␤␤Two terms in a row at /tmp/Ihb1syvoVi line 1:␤------> a: $a, b: $b, c: $c, d: $d"; }; 99 W 88 ⏏T 77 F 66;␤␤Parse failed␤␤»
benabik r: $_=1; say (-> $_ {$_ => $_}).WHAT
p6eval ..pugs: OUTPUT«*** ␤ Unexpected "W"␤ expecting operator␤ at /tmp/_KVpZqggKG line 1, column 77␤»
..rakudo 018b27: OUTPUT«===SORRY!===␤Confused␤at /tmp/158iYnOdSL:1␤»
timotimo is this supposed to work?
p6eval rakudo 018b27: OUTPUT«Block()␤»
TimToady no
timotimo do operators have to have non-alphanumeric characters? 20:57
benabik I don't think non-binary infix is allowed.
timotimo ternary operator?
TimToady not even ??!! works that way
benabik Is not defined like that.
timotimo oke
benabik Ternary is closest to an infix macro with a custom parse rule (as I understand it) 20:58
TimToady line 3856 in STD.pm6 20:59
timotimo oh, okay 21:01
sjohnson TimToady: hi 21:02
tadzik sjohnson: should have it somewhere 21:16
( `ー´)
( ° ー°)
(´ー` )
there you go
masak aww 21:18
tadzik :) 21:19
sjohnson nice
sweet
sjohnson missed those emots
(i lost my last irc shell)
timotimo can someone rebuild a current version of the perl6 book? i wasn't able to build it myself the last time i tried and a few changes and enough time have already accumulated to warrant a newer edition i think 21:21
masak very few people can actually build the book :/ 21:26
tadzik :)
I remember the hassle when I compiled the kindle version
masak 'night, #perl6 21:30
tadzik g'night
fsergot good night! :) 21:32
fsergot nn #perl6 ! o/ 22:38
cardcha Ugh 22:43
windows you suck
to bad your pretty much required for gaming
): 22:44
spider-mario I play Lugaru 22:45
:D
and on consoles (mainly GameCube and Dreamcast).
(perhaps a bit of emulation on PSP too)
timotimo are you following the development of overgrowth?
spider-mario (emulating GB, GBA and SNES)
not often, but I am interested, indeed 22:46
cardcha noes
what is overcast
It's such a pain to program on windows
timotimo i recently upgraded my computer and installed a windows for the first time in at least 5 years to play tribes: ascend. turns out all i play is natural selection 2 ...
cardcha Whenever someone asks me what my computer specs are I say 82.5 billion floating point operations per second because it sounds important 22:48
cardcha I just GeoIPED youi 22:55
timotimo is s04 the right place to look for how exceptions work in perl6? the book says almost nothing about it and s04:exceptions is really, really short 23:02
timotimo there's the 2011 advent post on exceptions, but it doesn't cover how to rethrow an error that was matched by a when block and it doesn't explain the "magic" behind the decision to mark an exception as handled when it has been matched 23:22
timotimo so, if there's an implicit loop inside CATCH; that would set $_ to each exception, but $! will sometimes not-equal $_, because $! is only the "latest" exception, not the one currently being handled? 23:28
timotimo aaah - If you test a Failure for .defined or .Bool, the Failure marks itself as handled - this will cause the when statements in the CATCH block to mark the exception as handled? 23:38
or is a Failure object something different from an exception that was thrown with di?
timotimo maybe i don't know enough about perl itself, but the part on exceptions in s04 is a bit too short for my tastes 23:40
can this be correct? 23:47
is +($!.pending.grep( ! *.handled )), 4,
'$!.pending has three unhandled exceptions';
shouldn't it say "four" in the string or 3 in the line above?
github.com/perl6/roast/blob/master...ding.t#L30 is the line btw 23:49
oh, of course there's a whole segment on "exception handlers" directly above it that i just didn't see 23:55