»ö« 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.
00:00 preflex left, preflex_ is now known as preflex
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
00:12 baest joined
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
00:23 envi_ joined
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
00:33 PacoAir left
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 :\
00:35 localhost left
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?
00:37 localhost joined
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
00:46 wolfman2000 left
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
00:49 havenn left
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
01:01 alester left
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
01:02 havenn joined
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 ;)
01:08 havenn left
moritz thanks 01:08
&
01:09 envi_ left 01:11 japhb_ left
felher heads for bed, too 01:12
good night, #perl6
timotimo bikes home or something 01:14
01:16 vlixes left 01:18 wolfman2000 joined 01:22 jaldhar joined 01:28 fgomez joined 01:29 libertyprime left 01:30 libertyprime joined
lichtkind good night 01:33
01:47 BruceZu left 01:48 BruceZu joined 01:50 lichtkind left 01:51 benabik joined
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
02:10 whiteknight left
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()»
02:52 lestrrat left 02:53 lestrrat joined 03:05 orafu left, orafu joined 03:25 tyatpi joined 03:38 derrazo_ joined 03:40 derrazo left 03:45 lestrrat left 03:46 lestrrat joined 04:03 leprevost joined 04:08 elkng joined
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
04:24 colomon left
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.
04:32 fgomez left
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
04:42 envi_ joined, fgomez joined 04:58 tyatpi left 04:59 leprevost left
cxreg hiring perl people in seattle, if anyone knows someone looking 04:59
05:02 Teratogen left 05:06 colomon joined 05:09 Teratogen joined
Teratogen oops 05:09
05:10 average_drifter left
Teratogen don't type ctrl-c in the terminal that you start X Windows from 05:10
it shuts down X Windows
=/
05:16 sftp left, colomon left
sorear cxreg: if only, if only 05:20
05:24 colomon joined 05:28 birdwindupbird joined 05:36 GlitchMr joined
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)...
06:03 kaleem joined 06:04 derrazo_ left 06:07 mj41 joined
moritz good morning 06:07
timotimo++ # rakudo and roast pull requests
06:07 mucker joined
sorear good morning moritz 06:07
what is the status of dalek, and how well can I help? 06:08
06:08 wtw joined
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
06:14 birdwindupbird left
sorear niecza: [Z] 06:16
p6eval niecza v16-5-ge2f3bfa: OUTPUT«(timeout)»
sorear niecza: [X]
p6eval niecza v16-5-ge2f3bfa: ( no output )
06:20 birdwindupbird joined 06:21 sporous left, sporous joined 06:22 mj41 left 06:38 araujo left 06:40 tarch joined 06:41 Tedd1 left 06:44 dalek joined, ChanServ sets mode: +v dalek 06:45 dalek left, dalek joined, ChanServ sets mode: +v dalek 06:46 dalek left 06:47 dalek joined, ChanServ sets mode: +v dalek
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
07:18 jai joined, agentzh joined
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
07:20 fglock joined
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
07:26 daxim joined
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
07:42 NamelessTee joined 07:47 mj41 joined
dalek ecza: b4b916a | sorear++ | src/ (2 files):
Make say ($_*$_ for 0..9) DTRT (only for for now)
08:14
sorear -> sleep 08:15
08:19 NamelessTee left 08:24 jai left 08:28 liuchong joined
tadzik good morning #perl6 08:30
08:30 NamelessTee joined
moritz \o tadzik 08:31
08:45 dakkar joined 08:53 alvis`` joined
cognominal plato.stanford.edu/entries/cellular-automata/ # may be of interest for some people here 08:54
08:56 alvis` left 09:08 lestrrat left, lestrrat joined 09:11 mdupont left 09:14 zipf joined 09:17 zipf left 09:18 zipf joined 09:22 kaleem left 09:23 mdupont joined 09:34 liuchong left 09:35 kaleem joined 09:38 replore_ joined
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...
09:42 araujo joined, araujo left, araujo joined
GlitchMr Perhaps I would insert some sprintf tests :P. 09:43
09:44 replore_ left
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
09:53 kaleem left 09:54 kaleem joined
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)␤»
10:07 PacoAir joined 10:08 zipf left
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
10:35 mikemol left 10:41 agentzh left 11:02 kaleem left 11:03 zipf joined 11:05 benabik left 11:44 kaleem joined
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␤»
11:47 Trashlord left
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 )
11:48 Trashlord joined 11:49 benabik joined 12:02 zhu_yj joined 12:03 havenn joined, zhu_yj left
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...
12:09 daxim left
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
12:23 mucker left 12:24 zipf left
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
12:51 GlitchMr42 joined
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
12:52 GlitchMr left, GlitchMr42 is now known as GlitchMr 12:53 mikemol joined
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
12:58 havenn left 13:08 derrazo joined 13:19 icwiener joined 13:24 sftp joined 13:26 zipf joined 13:29 zipf left, spider-mario joined 13:34 icwiener left, icwiener joined 13:37 fgomez left 13:41 fgomez joined 13:42 fgomez left, fgomez joined
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"
14:04 elkng left 14:06 elkng joined 14:08 alvis``` joined, alvis`` left 14:11 cosimo left 14:12 cosimo joined 14:14 thou joined 14:15 wtw left 14:17 GlitchMr42 joined, GlitchMr left 14:28 zipf joined 14:36 pnu left, icwiener left 14:37 icwiener joined 14:40 kaleem left 14:41 kaleem joined, GlitchMr42 left 14:42 GlitchMr42 joined 14:50 pomysl_ joined, pomysl left 14:55 tokuhiro_ joined 14:59 GlitchMr joined 15:01 GlitchMr42 left
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
15:23 icwiener left, icwiener joined 15:33 kaleem left 15:35 tarch left 15:40 pnu joined 15:43 kaare_ joined, havenn joined 15:44 spider-mario left, spider-mario joined 15:46 Psyche^ joined 15:50 Patterner left, Psyche^ is now known as Patterner, zipf left 15:56 ponbiki joined 16:00 havenn left
masak nom & 16:02
16:09 fsergot joined 16:13 fglock_ joined 16:14 MayDaniel joined 16:22 bbkr left 16:23 GlitchMr42 joined, pnu left, bbkr joined 16:25 zipf joined
[Coke] guten abend, masak. 16:25
16:25 zipf left 16:26 xinming left, GlitchMr left
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
16:33 REPLeffect left, REPLeffect joined, tokuhiro_ left 16:34 birdwind1pbird joined, tokuhiro_ joined
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
16:39 tokuhiro_ left, xinming joined 16:41 GlitchMr42 is now known as GlitchMr
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
16:46 fsergot left 16:52 mj41 left 16:55 fgomez left 16:57 birdwind1pbird left 16:58 dakkar left 16:59 wolfman2000 left, havenn joined 17:01 fgomez joined
[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
17:05 birdwindupbird left 17:13 lichtkind joined
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␤»
17:18 REPLeffect left
moritz nom: my %h = a => 1, b => 2; eager %h.map: {say .WHAT } 17:19
p6eval rakudo f2004a: OUTPUT«Pair()␤Pair()␤»
17:23 colomon left 17:31 REPLeffect joined 17:32 havenn left 17:38 MayDaniel left 17:47 havenn joined
lichtkind is there a way to fetch html woth perl 6? 17:59
18:03 thou left, fgomez left 18:04 Gothmog_ left
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
18:08 Gothmog_ joined 18:09 sjohnson joined
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
18:17 MayDaniel joined, havenn left
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
18:20 havenn joined
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
18:21 leprevost joined
[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
18:32 thou joined 18:33 mj41 joined, s1n left
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.
18:42 havenn left
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."
18:48 s1n joined
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
18:59 brrt joined 19:01 MayDaniel left 19:02 thou left
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...
19:17 PacoAir left, icwiener left, icwiener joined
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
19:21 brrt left
moritz eeks, it dies inside the ModuleLoader 19:21
hm 19:22
19:24 derrazo left
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␤»
19:26 birdwindupbird joined
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. ;)
19:27 fsergot joined
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
19:38 tyatpi joined
moritz one passing test file 19:39
19:40 thou joined 19:44 birdwindupbird left 19:45 birdwindupbird joined 19:47 havenn joined 19:48 tyatpi left 19:49 GlitchMr left
lichtkind good night 19:51
19:52 havenn left 19:54 mcero joined
moritz t/escape.t now passes 19:54
19:56 lichtkind left 19:58 tyatpi joined
moritz t/01.t now passes 19:59
japhb moritz++ # Knockin' 'em down, one test file at a time ... 20:00
20:03 tyatpi left
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
20:08 havenn joined
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'
20:14 Chillance joined
moritz [Coke]: apart from that it was mostly exceptions and object initialization 20:14
[Coke]: and I removed some workarounds around old rakudo bugs
20:15 kaare_ left
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
20:27 stdio left 20:28 fglock_ left 20:30 birdwindupbird left 20:34 tyatpi joined 20:35 tyatpi left, bacek_ left, tyatpi joined
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 :)
20:38 fgomez joined
moritz well, we do improve the compiler from time to time :-) 20:38
jnthn++
20:39 PacoAir_ joined, xinming_ joined 20:42 xinming left 20:44 havenn left 20:46 ponbiki left
TimToady spider-mario: {$_ => $_ } is not supposed to be considered a hash, according to S04:1569, so that's a bug 20:50
20:50 spider-mario left 20:51 spider-mario joined
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
20:54 Trashlord left
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␤␤»
20:55 elkng left
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
21:01 mcero left
sjohnson TimToady: hi 21:02
21:11 leprevost left 21:12 fgomez left 21:15 fgomez joined, fgomez left, fgomez joined
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
21:25 zipf joined
masak very few people can actually build the book :/ 21:26
tadzik :)
I remember the hassle when I compiled the kindle version
21:26 zipf left
masak 'night, #perl6 21:30
tadzik g'night
21:31 PacoAir_ left
fsergot good night! :) 21:32
21:43 tyatpi left 21:45 NamelessTee left 21:55 derrazo joined 22:03 bacek_ joined 22:04 LylePerl left 22:10 mj41 left 22:12 BruceZu left 22:21 ponbiki joined 22:27 vlixes joined 22:29 ponbiki left 22:36 whiteknight joined 22:37 fgomez left
fsergot nn #perl6 ! o/ 22:38
22:38 fsergot left 22:40 cardcha joined
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
22:48 fgomez joined 22:49 havenn joined 22:51 benabik left
cardcha I just GeoIPED youi 22:55
23:00 havenn left 23:01 libertyprime left
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
23:03 fgomez left 23:06 icwiener_ joined 23:07 icwiener left 23:14 libertyprime joined 23:19 spider-mario left
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
23:25 Chillance left, icwiener_ left
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
23:33 colomon joined 23:37 tokuhiro_ joined
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?
23:39 havenn joined
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