perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/
Set by mncharity on 25 March 2009.
00:01 jferrero left 00:13 DemoFreak left
skids Hrm, well, tried https, which would not ask for a password for checkout but would for commit, but it seems to not want to let me change the username to my commitbit username. 00:19
dalek kudo: a2728b4 | pmichaud++ | build/Makefile.in:
Refactor Makefile testing again -- previous method caused too much rebuild.
00:23
00:29 bacek_ joined
diakopter usually if you just hit enter at the password prompt, it will ask for another username 00:35
for me.
00:39 rhr_ joined
skids sighs in relief as the data he ripped off the bad hd.... mounts! 00:43
OK back to fighting svn.
pugs_svn r26118 | skids++ | Test commit (moritz++ for the bit) 00:52
skids diakopter++
00:55 nihiliad joined 00:56 orafu left, orafu joined 01:08 davidad left, justatheory joined 01:10 rhr joined 01:18 ewilhelm_ joined 01:23 rhr_ left 01:25 ewilhelm_ left
pugs_svn r26119 | skids++ | S07 flesh out generic array iterator 01:26
r26119 | skids++ | S07 typo fixes, TODOs
r26119 | skids++ | S07 add Coroutine section
r26119 | skids++ | S17 delete old Coroutine material, add reference to S07
01:26 sitaram joined 02:01 wknight8111 left, payload1 left 02:27 nbrown joined 02:35 payload joined 02:56 hercynium left 03:12 alester joined 03:13 justatheory left 03:22 eternaleye joined 03:55 nbrown left 03:58 orafu left 04:04 SamB left 04:09 Tene_ joined, FurnaceBoy left 04:11 davidad joined 04:21 Tene left 04:29 mberends joined
mberends @tell masak HTTP Daemon fixed, read DEPENDENCIES: perl6 must now be is your search path 04:33
lambdabot Consider it noted.
04:34 mberends left 04:36 sephee joined 04:37 orafu joined 04:45 skids left 04:47 masak joined
masak salutations, gimel-camels. 04:47
lambdabot masak: You have 1 new message. '/msg lambdabot @messages' to read it.
masak @massage
lambdabot mberends said 13m 38s ago: HTTP Daemon fixed, read DEPENDENCIES: perl6 must now be is your search path
masak hokay.
04:50 eternaleye_ joined 04:59 justatheory joined 05:08 xinming left, xinming joined 05:09 eternaleye left
masak rakudo: class A { method foo returns Int {} }; class B is A { method foo returns Str {} } 05:10
p6eval rakudo 4abd89: ( no output )
masak what are the rules with the above, overriding a method with another whose return type isn't the same or narrower? 05:11
is there a construct similar to this which restricts that kind of overriding? 05:12
05:14 frioux|home left
pugs_svn r26120 | masak++ | [u4x/TODO] diffy iffy fiddly 05:21
Tene_ looks like 'returns' types aren't enforced in rakudo ATM. 05:23
05:24 justatheory left
masak right. 05:24
specifically, it's still allowed to fall out of a sub or method with any old value. 05:25
05:30 Tene_ is now known as Tene
dalek kudo: 241ae0d | (Stephen Weeks)++ | src/builtins/control.pir:
[die]: Set exception severity and type in die()
05:30
masak Tene: we talked about eval-in-current-scope once, a possible solution for a better Rakudo REPL. 05:32
Tene I remember that. 05:33
masak Tene: I've had a different idea since then, which might be worth considering.
Tene oh?
masak something like eval-in-the-following-scope.
it might be a bit more general, and useful for other things.
Tene Yeah, that's pretty much what I was going to do.
masak :)
I'm not sure how to say "the current scope" in Perl 6. 05:34
maybe &?ROUTINE or something similar.
05:34 Doubi left
masak but the point is that it's probably better to have a dedicated scope for the REPL evaluations. 05:34
but you already seem to have realized that. :) 05:35
...in which case I'm simply glad to have realized it too.
@tell mberends 2009/04/08 07:43:40 socat[28921] E execvp("perl6", "perl6", "httpd", "--request", ...): No such file or directory 05:44
lambdabot Consider it noted.
masak mberends: it worked yesterday! your fixes must have broken 'make run'. :) 05:45
05:45 DemoFreak joined
masak @tell mberends please ignore previous rambling, I seem to suck at following orders. everything works now. :) 05:51
lambdabot Consider it noted.
06:09 japhb joined 06:13 dukeleto joined
eiro hello world 06:16
masak eiro: salut. 06:20
06:21 eternaleye_ left
eiro hey ... speaking french also ? 06:22
masak eiro: mais naturellement. 06:23
moritz_ ne pas tres bien :/
eiro sans google translate ?
06:23 eternaleye joined
moritz_ a few years in school 06:24
eiro wow! i tought that english speakers who speak french too are rare
moritz_ well, I'm German ;-) 06:25
masak eiro: oui, mais ne tres rapidement. j'ai [forgot] le plupart.
eiro (i understood it become a pb for english and american people: they only speak one langage and everyone else speak 2 or 3 one)
moritz_ (actually few = 11, but I have to admit that I forgot nearly everything, and didn't learn as much as you'd expect from 11 years in school)
masak @mberends also, what sleep cycle are you on, sir? :P 06:26
lambdabot Unknown command, try @list
eiro s/forgot/oubliƃĀ©
masak @tell mberends also, what sleep cycle are you on, sir? :) 4:33?
lambdabot Consider it noted.
eiro moritz_, come to Elsass! you'll practice
masak learning Esperanto ruined my French, sad to say. 06:27
moritz_ eiro: we mostly use UTF-8 here, your IRC client seems to send somethiing else
masak I could probably pick it up again, with some work.
moritz_ eiro: is that in ivitation? ;-)
s/in/an/
eiro it's a shame for me: i live at 5km of the germany and never pratice
06:28 alester left
eiro moritz_, well: i never close my door to a gentle geek! everyone is welcome at home 06:28
(i hosted a NY vim user last summer)
moritz_ eiro: I'll get back to you ;-) 06:29
eiro moritz_, damned ... i have hard time to configure my client via IRC ... everything is set to utf-8 :(
moritz_, noticed :) 06:30
moritz_ eiro: I know that, it took me quite some time to get a decent setup working
eiro masak, i prefer to learn dead langages as latin or ancient greek vs esperanto: it helps to lean other langages 06:31
moritz_ terminal at home, then the local on the remote host, then screen, then irssi... very annoying
masak eiro: was the hosting-a-vim-user an example of extreme hospitability? would it be more generous to be hosting Emacs users, or less? :P
eiro (ok: it will be useless for swedish :) )
masak eiro: I've learnt a bit of Latin too.
eiro: no, not really useless.
the Vikings conquered England a while ago. that left some linguistic marks.
eiro masak, swedish is not a latin language ? indo-eurepean one, perhaps ? 06:32
masak eiro: correct.
but so are most languages around here.
eiro ok
so ... i'll earn my salary now :) 06:33
pugs_svn r26121 | moritz++ | [t/spec] more unfudges
masak eiro: but in terms of "it helps to learn other languages" -- as one who has studied both Esperanto and Latin... well, both help you learn other languages, but Latin is hard. ;) 06:34
06:35 masak left
eiro masak, my wife is a high school teacher of latin and ancient greek 06:35
(it helps)
eiro concider to speak in latin here :) 06:36
( eiro is ancient greek word )
sitaram oesday igpay atinlay ountcay? :) 06:38
eiro sitaram sorry ? 06:42
eiro rot13 your line ... it's clueless :) 06:43
06:43 legis joined
sitaram eiro: that was "pig latin", typically produced by taking the first letter, putting it at the end, and adding "ay". 06:44
I said "does pig latin count"; joke fell flat :(
en.wikipedia.org/wiki/Pig_latin
06:47 masak joined
eiro wow ... i have pbs with very classical one 06:48
so don't be rude again with me :)
masak rude? us? :)
eiro masak, no: i replied to sitaram
masak I see. 06:49
sitaram he meant me -- sorry wasn't intended to be rude; a play on "latin". That's why I added the Wikipedia link
eiro sitaram, thanks for the link: i'll give it to my wife
sitaram apologies
eiro sitaram, it was juste a joke
sitaram ;)
sitaram wipes brow!
masak I'm glad we got that cleared up. 06:50
eiro in france, when we don't understand a word or a sentence, we roll our eyes on the guy and tell him to not be rude
(just popular joke ... i imagine that every nation have some)
pmichaud rolls his eyes. Another 7.
masak sitaram: I've now backlogged your joke. it was OK, I guess. :P I wonder what the Pig Latin equivalent to Greek would be? 06:51
sitaram aah -- we have something similar in India too, sometimes. We say "why are you swearing at me" or eqvt...
moritz_ sitaram: a -> Ī±, b -> Ī² ...
erm, I meant masak
masak moritz_: it's all Greek to me.
moritz_: also, I like the dots there. 06:52
they make it look so easy! :)
sitaram (like mathematical induction)
06:53 iblechbot joined
sitaram prove it for 1 and 2 and say QED [ok I know I'm leaving out the critical step!] 06:53
moritz_ masak: would you prefer \ldots?
or \dots
;-)
masak moritz_: generally, yes. 06:54
pmichaud rakudo: say "\c[ellipsis]"; # just checking
p6eval rakudo 4abd89: OUTPUTĀ«perl6regex parse error: Unrecognized character name ellipsis at offset 8, found 'e'ā¤current instr.: 'parrot;PGE;Perl6Regex;parse_error' pc 10552 (compilers/pge/PGE/Perl6Regex.pir:1323)ā¤Ā»
pmichaud d'oh!
rakudo: say "\c[horizontal ellipsis]"; # just checking
p6eval rakudo 4abd89: OUTPUTĀ«ā€¦ā¤Ā» 06:55
moritz_ ā€¤ā€„ā€¦oO( ā€¦ )
06:55 xinming_ joined
moritz_ rakudo: say "\c[vertical ellipsis]"; 06:55
06:55 mberends joined
p6eval rakudo 4abd89: OUTPUTĀ«ā‹®ā¤Ā» 06:55
moritz_ 8454 passing tests; nice 06:56
mberends bonjour, #perl6! J'ai lu que c'est un matin Francais aujourd'hui!
lambdabot mberends: You have 3 new messages. '/msg lambdabot @messages' to read them.
mberends @massages
lambdabot masak said 1h 12m 5s ago: 2009/04/08 07:43:40 socat[28921] E execvp("perl6", "perl6", "httpd", "--request", ...): No such file or directory
masak said 1h 5m 17s ago: please ignore previous rambling, I seem to suck at following orders. everything works now. :)
masak said 30m 7s ago: also, what sleep cycle are you on, sir? :) 4:33?
masak mberends: ...which means you've been asleep for at most 4.5 hours. :) 06:57
mberends sleep, do people still do that?
masak not that it's any of my business. just impressed.
I thought I was the one with the funny sleep habits. :)
mberends actually, I'm awake 5 hours, slept 5 hours before that ;) 06:58
mberends worries about Oslo timings
masak: after we conque^H^H^H^H^H^Hfinish our projects, we should re-implement time. 07:02
masak mberends: I agree. I have a local git repo with some early timespace implementations. 07:03
mberends: but they're in Perl 7.
mberends P2TP6A? 07:04
masak 哈哈
"internal joke" meter is pushing against that little knob which keeps it from looping around. 07:05
07:05 japhb left
masak s/internal/inside/ 07:06
07:06 Doubi joined, japhb joined
pmichaud afk # sleep 07:07
TimToady eiro: which meaning of Īµį¼“ĻĻ‰? to tie, or to say? 07:10
moritz_ I thought tie() was gone? :-)
07:12 xinming left 07:18 Doubi left
Matt-W Morning 07:19
masak Matt-W: good morrow, sir.
Matt-W Hi masak 07:20
eiro TimToady, in fact my wife surnamed me 'eromai' ( 'i ask to myself' or 'i ironically ask' ) 07:23
it became ero ... which has no sense 07:24
rgs heauton eromoumenos ?
eiro i added the i ... now it mean: to say
rgs, i don't understood :-) (i actually don't speak greek: my wife does) and i begun to learn latin 07:26
rgs I don't guarantee this is good greek
that would be "the one who makes himself loquacious" 07:27
mberends would that be 'grok greek' here ? 07:28
eiro heauton : 'self'
that's the only part i read :)
masak all those /path/to/my/rakudo metasyntactic paths meant to be replaced -- I think we should standardize on /some/weird/place/rakudo. it stands out a bit more. 07:29
moritz_ search for define:loquacious with google and see how different the explanations are
chatty: full of trivial conversation; "kept from her housework by gabby neighbors"
Fluency (also called volubility and loquaciousness) is the property of a person or of a system that delivers information quickly and with expertise.
those don't sound equivalent, to me :-)
rgs we're in a semantic field where IRC nicknames can be easily chosen 07:31
eiro :-) 07:33
it's just the way my wife call me :-)
07:34 orafu left, orafu joined 07:38 cai_ joined 07:46 eternaleye_ joined
masak rakudo: say 24.reverse 07:51
p6eval rakudo 4abd89: OUTPUTĀ«Parameter type check failed for $delimiter in call to splitā¤current instr.: 'die' pc 15932 (src/builtins/control.pir:204)ā¤Ā»
moritz_ sense a bug 07:52
masak I was just wondering if it was my having too high expectations again, or whether it's acutally a bug. 07:53
s/ut/tu/
moritz_ wonders if 24.reverse should pick the List.reverse or the Str.reverse 07:54
masak moritz_: it's a scalar. it should pick the Str.reverse, IMO. 07:55
moritz_ maybe Str.reverse should be named Str.mirror
masak :)
seems a bit arbritary. might as well have been List.mirror and Str.reverse, no?
moritz_ not quite 07:56
for composed characters a "mirror" describes more accurately what happens to the string
IMHO
rakudo: say "A\c[combining accent accute]" 07:57
p6eval rakudo 4abd89: OUTPUTĀ«perl6regex parse error: Unrecognized character name combining accent accute at offset 9, found 'c'ā¤current instr.: 'parrot;PGE;Perl6Regex;parse_error' pc 10552 (compilers/pge/PGE/Perl6Regex.pir:1323)ā¤Ā»
moritz_ rakudo: say "A\c[combining accent acute]"
masak "bob".mirror -> "dod" :)
p6eval rakudo 4abd89: OUTPUTĀ«perl6regex parse error: Unrecognized character name combining accent acute at offset 9, found 'c'ā¤current instr.: 'parrot;PGE;Perl6Regex;parse_error' pc 10552 (compilers/pge/PGE/Perl6Regex.pir:1323)ā¤Ā»
moritz_ rakudo: say "A\c[combining accent grave]"
07:57 Kyosuke_Kiryu joined
p6eval rakudo 4abd89: OUTPUTĀ«perl6regex parse error: Unrecognized character name combining accent grave at offset 9, found 'c'ā¤current instr.: 'parrot;PGE;Perl6Regex;parse_error' pc 10552 (compilers/pge/PGE/Perl6Regex.pir:1323)ā¤Ā» 07:57
moritz_ rakudo: say "A\c[combining grave accent]" 07:58
p6eval rakudo 4abd89: OUTPUTĀ«Aōæ½xCCōæ½x80ōæ½xE2ōæ½x90ōæ½xA4Ā»
moritz_ rakudo: say "A\c[combining grave accent]".reverse
p6eval rakudo 4abd89: OUTPUTĀ«Ģ€Aā¤Ā»
moritz_ has to run, bye
07:59 Kyosuke_Kiryu is now known as Hell_Kaiser, cai_ left, Hell_Kaiser is now known as Avada 08:00 Avada left, eternaleye left, Kyosuke_Kiryu joined 08:03 jedai left 08:06 riffraff joined 08:08 Kyosuke_Kiryu left
masak in the interests of release-early: github.com/masak/pun/ 08:11
08:13 jedai joined, jferrero joined 08:19 mikehh_ joined, xinming_ is now known as xinming 08:20 DemoFreak left
moritz_ back 08:23
once again we've seen that rakudo works on the codepoint level by deffault, not on the grapheme level
masak moritz_: you're saying that's a submittable rakudobug? 08:31
moritz_ masak: it's a known TODO, and I guess we even have a ticket for that 08:32
masak oh, ok.
moritz_ I'll have a few hours of (constantly interrupted) hacking time now/today - anyone needs tests for a specific topic? 08:34
08:34 mikehh left
masak moritz_: perhaps IO.ins and IO.outs? it's the only thing that comes to mind right now. 08:35
moritz_ masak: thanks for the suggestion 08:38
masak moritz_: I saw you add a few tests for the former.
moritz_ aye
masak moritz_: would be nice to also test for reading in list context; I didn't see a test for that when skimming it. 08:39
just a suggestion.
moritz_ ok
I think I'll do typed arrays first, then come back to IO
masak moritz_++
moritz_ rakudo: my Int @a = 3..4; @a.push(3); say @a.perl 08:44
p6eval rakudo 4abd89: OUTPUTĀ«No applicable methods.ā¤ā¤current instr.: 'parrot;P6metaclass;dispatch' pc 447 (src/classes/ClassHOW.pir:93)ā¤Ā»
moritz_ tests++
masak: I'l ticket it when I commit/push the test
masak goodie.
pugs_svn r26122 | moritz++ | [t/spec] add tests for typed arrays 08:58
r26123 | moritz++ | [t/spec] why do I always forget these svn props when adding new files? 09:00
09:00 explorer__ joined, explorer__ left 09:07 bacek_ left
pugs_svn r26124 | moritz++ | [t/spec] basic tests for dispatch on typed arrays 09:10
moritz_ rakudo: my @a of Int; say @a.of 09:11
p6eval rakudo 4abd89: OUTPUTĀ«Objectā¤Ā»
moritz_ rakudo: my Int @a ; say @a.of
p6eval rakudo 4abd89: OUTPUTĀ«Intā¤Ā» 09:12
masak heh.
pugs_svn r26125 | moritz++ | [t/spec] add (failing) tests for dispatch on typed hashes 09:16
masak moritz_: can I submit the above two p6eval exchanges as a rakudobug? or is that one already in there? 09:19
moritz_ masak: I'm doing a few tickets now anyway, I'll take care 09:20
masak hokay. 09:24
09:26 sitaram left 09:36 brunoV left 09:40 ashizawa left 09:41 kane_ joined 10:09 agentzh left, agentzh joined
masak lunch & 10:10
10:10 masak left 10:13 orafu left, orafu joined 10:27 SamB joined
jnthn hi all 10:33
Ooh, new tests. Yay. :-)
rakudo: my @a; @a.push(42); say @a.perl
p6eval rakudo 4abd89: OUTPUTĀ«[42]ā¤Ā»
jnthn rakudo: my Int @a; @a.push(42); say @a.perl
p6eval rakudo 4abd89: OUTPUTĀ«No applicable methods.ā¤ā¤current instr.: 'parrot;P6metaclass;dispatch' pc 447 (src/classes/ClassHOW.pir:93)ā¤Ā»
jnthn rakudo: my @a; sub foo(Array $x) { say "ok" }; foo(@a) 10:34
p6eval rakudo 4abd89: OUTPUTĀ«okā¤Ā»
jnthn rakudo: my Int @a; sub foo(Array $x) { say "ok" }; foo(@a)
p6eval rakudo 4abd89: OUTPUTĀ«okā¤Ā»
jnthn OK, we're just getting screwed over by Parrot's multiple dispatcher. 10:35
rakudo: my Int @a; sub foo(List $x) { say "ok" }; foo(@a) 10:48
p6eval rakudo 4abd89: OUTPUTĀ«okā¤Ā»
jnthn aw arse, the Rakudo makefile is br0ked on Windows. 10:54
10:55 payload1 joined
jnthn makefilecheck: Makefile 10:55
#@$(PERL) -e 'die "Makefile is out of date... try re-running Configure.pl\n" if (-M "build\Makefile.in" < -M "Makefile");'
Commenting out that line helps.
10:55 payload left
jnthn oh, probably use of single quotes doens't work on win3 10:56
2
10:57 payload1 left 11:01 kane_ left
jnthn oh, and it was already fixed in latest... 11:01
11:07 iblechbot left 11:20 LylePerl joined
LylePerl Hi All 11:20
11:21 mberends left, mberends joined 11:22 payload joined 11:27 masak joined
jnthn S09-typed-arrays\arrays.t has invalid plan 11:32
Will fix later, if nobody beats me to it...lunch now
(btw currently with local fixes 22 out 29 pass) 11:33
LylePerl I've figured the problem with getting november to run (at least one of them) 11:35
masak nice.
LylePerl it's failing at compile stage
masak interesting.
but not when you run from the command line?
LylePerl It's not finding the modules 11:36
from the command line I've set perl6lib, but not globally
I'm trying to update INC from the script in a BEGIN block
push ( @INC, 'c:/htdocs/cgi-bin/lib' );
masak that would indeed explain it.
LylePerl but I get the error "Scope not found for PAST::Var '@INC' 11:37
jnthn try @*INC 11:38
LylePerl ok
masak oh right! 11:43
11:43 payload1 joined, payload1 left
masak sorry, was inattentive. was fixing the Mac OS X Security Update Perl 5 breakage that finally hit me. 11:43
LylePerl bingo :) 11:44
11:44 payload left
masak mberends: irclog.perlgeek.de/perl6/2009-04-08#i_1047867 -- we should have one of those lines in our ideal Perl 6 project Makefile. :) 11:45
pugs_svn r26126 | masak++ | corrected plan in t/spec/S09-typed-arrays/arrays.t 11:55
11:57 ruoso joined
mberends masak: excellent idea 11:57
masak mberends: also, I'm thinking of putting together a table of Well-Thought-Out-Practices against Perl 6 projects. 11:58
not sure whether it'd be feasible to do automatically, though. 11:59
mberends sounds like a job for Don Knuth ;)
masak ;)
mberends create a stub, and let the community fill in the details 12:00
masak mberends: well, that's one way to do it. in that case, we'd want it on a wiki. 12:01
but I'm thinking maybe we can get away with Less Work.
for example, proto can download all Perl 6 projects nowadays.
./proto install all
mberends the little eeePC will groan under that one 12:02
masak :)
pmichaud good morning #perl6 12:03
masak use with caution. 's all.
pmichaud: oh hai
so it'd be conceivable to create a module that used proto to dump all the projects in one directory, and then performed a series of automated tests on them.
mberends good am, pm 12:04
masak: that would be gr8
12:05 Tene_ joined
masak mberends: I just have to remember to start simple. 12:05
one project, one well-thought-out practice.
and then expand from that.
jnthn morning pm 12:06
masak hm, Kwalitee uses a positive scale, I think. we could use penalty points instead and call it Penaltee. :P 12:07
jnthn rakudo: multi foo($x) { }; foo()
p6eval rakudo 4abd89: OUTPUTĀ«No applicable candidates found to dispatch to for 'foo'ā¤current instr.: '_block14' pc 64 (EVAL_16:40)ā¤Ā»
moritz_ jnthn: I've got some tickets for 12:08
jnthn rakudo: class A { multi method foo() { } }; A.new.foo(42)
p6eval rakudo 4abd89: OUTPUTĀ«Could not locate a method 'foo' to invoke on class 'A'.ā¤current instr.: 'die' pc 15932 (src/builtins/control.pir:204)ā¤Ā»
LylePerl Still doesn't work on IIS
moritz_ rakudo: my @x of Int; say @x.of
p6eval rakudo 4abd89: OUTPUTĀ«Objectā¤Ā»
moritz_ rakudo: my Int @x; say @x.of 12:09
p6eval rakudo 4abd89: OUTPUTĀ«Intā¤Ā»
LylePerl Although not surprising considering hello world doesn't work
masak LylePerl: :)
LylePerl: I appreciate your efforts in this.
LylePerl With november on IIS I'm getting a different error:-
jnthn moritz_: OK, great. :_)
LylePerl This application has requested the Runtime to terminate it in an unusual way.
src\io\api.c:233: failed assertion 'pmc'
masak funny error.
jnthn moritz_: There's still lots of bits to fix up yet.
LylePerl encase anyone knows what that means?
masak LylePerl: that last part sounded like a parrot. 12:10
jnthn OK, Slovak class time. Back later.
moritz_ jnthn: I wrote some tests for you, t/spec/S09-typed-arrays/arrays.t
have fun ;-)
masak LylePerl: now we only need to isolate it.
LylePerl masak: I'll update the november group with my last Vista instructions to get it working with apache
pmichaud jnthn: both Tene++ and I had some difficulty grabbing annotations out of exceptions
jnthn moritz_: Yes, I have 22 out of 29 of them passing now. But I broke a couple of others along the way... :-(
masak LylePerl: excellent.
LylePerl masak: That would make sense
jnthn pmichaud: Odd. Did you look at the annotations tests for examples? 12:11
pmichaud after your class... any clues you can provide would be helpful :-)
jnthn Sure.
pmichaud yes, did look at the tests
LylePerl Looks like I'll have to learn parrot :)
jnthn pmichaud: OK.
pmichaud I'll put together a patch with what I had thus far
masak LylePerl: me too. :)
jnthn pmichaud: More failing Parrot tests that pinpoint the issue could also be nice, if you can reduce it to that.
pmichaud: But don't worry if not. 12:12
Anyway, idem studovat. :-)
masak LylePerl: but the principle is the same as for any software bug: remove as many parts as you can to pinpoint the error.
mberends masak: Good Practices: same idea. in doing Pod Parser v2, I'm trying to learn from previous mistakes. more tests, more correct structure up front. Possibly your Test::ix as well.
masak mberends: wow, you're the first person to utter the name of that module. :) 12:13
moritz_ rakudo: multi f(Int %h) { say 'int' }; multi f(Str %h) { say 'str' }; my Int %h = a => 3; f(%h)
p6eval rakudo 4abd89: OUTPUTĀ«No applicable candidates found to dispatch to for 'f'ā¤current instr.: '_block14' pc 133 (EVAL_17:53)ā¤Ā»
masak mberends: it sends a wink of appreciation to you.
pmichaud (but otherwise, annotations appear to be available now -- see src/gen_actions.pir and Test.pir in Rakudo for examples :-)
moritz_ pmichaud: great 12:14
mberends ok, i'll use it ;)
masak mberends: I haven't blogged about Test::Ix, but I suppose you've discovered the script that goes with it?
in the bin/ dir of Druid.
LylePerl masak: That's difficult with the simple hello world script 12:15
masak LylePerl: why? 12:16
12:16 Tene left
LylePerl masak: because it's as bare bones as it can be 12:16
masak LylePerl: well, yes and no.
LylePerl masak: I'm guessing IIS invokes processes slightly differently
masak LylePerl: is it in Perl 6?
LylePerl masak: yes 12:17
masak LylePerl: in that case, the level below would be PIR.
LylePerl masak: I see :/
masak if you can produce the error in pure PIR, the Parrot people will be able to help you better.
LylePerl sounds like a plan
thanks for your help
masak LylePerl: Rakudo can output to PIR instead of running a script, if you ask it to.
perl6 --target=PIR file 12:18
pmichaud afk, shuttling kids to school.
LylePerl I'd better get back to work. Thanks for your help. I'll let you know how I get on with parrot and PIR 12:19
bye everyone
masak LylePerl: thanks! see you. 12:20
12:21 kane_ joined 12:25 iblechbot joined 12:26 exodist joined 12:38 orafu left 12:41 PhatEddy joined
masak time to go study Chinese. 12:47
12:47 masak left 12:53 schinkelm joined, schinkelm left 12:54 schinkelm joined
dalek kudo: c76c692 | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 349 files, 8444 passing, 0 failing
12:58
moritz_ that's a nice number, again ;-) 12:59
13:01 rodi joined, iblechbot left 13:06 jferrero left 13:20 ejs joined 13:24 ashizawa joined 13:29 ashizawa left 13:33 ashizawa joined
Tene_ jnthn: check your messages in #parrot... I left you a nopaste demonstrating the issue. 13:34
13:35 amoc joined 13:40 payload joined 13:41 skids joined 13:48 Guest59237 left, clintongormley joined 13:51 ashizawa left 13:53 ashizawa joined 13:57 ashizawa left, ashizawa joined 13:58 ashizawa left, ashizawa joined
jnthn oh hai I'm back 14:02
14:02 ashizawa left
jnthn rakudo: my Int %h; say %h.of; 14:03
p6eval rakudo 4abd89: OUTPUTĀ«Intā¤Ā»
jnthn rakudo: my Int %h = a => 42; say %h.of;
p6eval rakudo 4abd89: OUTPUTĀ«Objectā¤Ā»
14:03 ashizawa joined
jnthn Ugh, yes. 14:03
moritz_ didn't you have the exact same problem for Str?
14:03 ashizawa left
moritz_ rakudo: my Int &f = Int sub { 3 }; say &f.of 14:03
jnthn moritz_: For Array, I guess you mean.
p6eval rakudo 4abd89: OUTPUTĀ«Statement not terminated properly at line 1, near "sub { 3 };"ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā» 14:04
moritz_ erm, yes
jnthn moritz_: Yeah, it's gonna be the same kinda thing.
moritz_: I'll get arrays all sorted out first, I think. Then look at hashes.
moritz_ rakudo: my Int &f; our Int sub a() { 3 }; &f = &a; say &f.of;
p6eval rakudo 4abd89: OUTPUTĀ«Objectā¤Ā»
skids jnthn++ 14:05
PerlJam Those aren't different manifestations of the same problem?
moritz_ rakudo: my Int &f; say &f.of; our Int sub a() { 3 }; &f = &a; say &f.of;
p6eval rakudo 4abd89: OUTPUTĀ«Intā¤Objectā¤Ā»
skids thrilled to see progress in that region
Tene_ jnthn: you see my messages in #parrot?
moritz_ jnthn: sure, do as you wish, my job is just to make sure you're aware of them, and provide the tests ;-)
14:06 araujo left
PerlJam moritz++ 14:06
jnthn Tene_: Not yet...will look into it tomorrow probably.
Tene_: Trying to get the typed array stuff sorted out today...
PerlJam jnthn++ too :)
moritz_ indeed
jnthn Ooh, that sub one is...interesting. 14:07
14:07 ashizawa joined
jnthn Ah, I didn't yet handle the our Int sub syntax 14:07
our sub a() returns Int { ... } should do it.
(Once the semantics are right, getting the alternative syntaxes supported should be the easy part though.)
Anyway, *very* happy to see lots of tests getting written for it. :-) 14:08
moritz_ rakudo: my Int &f; ou sub a() returns Int { 1 }; say &f.of; &f = &a; say &a.of
p6eval rakudo 4abd89: OUTPUTĀ«Could not find non-existent sub ouā¤current instr.: '_block14' pc 94 (EVAL_19:48)ā¤Ā»
skids jnthn: whenever you get to native types/S09 and packing, see www.perlfoundation.org/perl6/index....erl6_tasks for some corner cases. I realize that may be a ways away.
14:09 ashizawa left, ashizawa joined
jnthn skids: Nice. :-) 14:09
Yes, a little while away.
Maybe in a couple of months I get to look at those. 14:10
jnthn needs to do some non-Rakudo stuff for a little bit. 14:11
pmichaud jnthn: find_lex_left seems to me to be the same as find_lex ...? 14:18
er, find_lex_lift
jnthn pmichaud: Look *carefully*. ;-) 14:19
pmichaud: It looks up the lexical from the point of view of the caller.
pmichaud it does?
I don't see that.
14:19 iblechbot joined
jnthn oh hmm nor do I 14:20
OH!!
lift is an epicly confusing name for it
We should rename that op. :-)
Anyway, what it does is a find_lex starting in the *outer* scope.
pmichaud ...but what does it do, exactly, that is different from find_lex ?
jnthn Not the current one.
pmichaud ah. 14:21
jnthn It's for lexical multis to find their outer multi.
pmichaud do we need an op for that? Seems like it could be done with getinterp
in fact, we already have a sub for that.
jnthn Yes, but it was an easy op to write and lexical multis are kinda common. ;-) 14:22
So I sorta didn't want it to have much overhead.
phone
ah, phone fail 14:23
pmichaud in general I think we need better lexical ops.
14:26 minazo joined
jnthn Quite possibly. 14:27
Remember that imports are lexical by default.
pmichaud I never forget that.
it scares me :-)
jnthn It isn't completely unrelated that I started working on lexical multis shortly after I did the first package-based cut of importing. ;-) 14:28
But we really need to solve the class hides lexicals issue before we switch over to importing to the lexpad. 14:29
Plus work out a few more details.
14:33 rodi left 14:34 schinkelm left 14:41 jeremiah_ left
moritz_ rakudo: my Int @a; say @a.of === Int 14:46
p6eval rakudo 4abd89: OUTPUTĀ«1ā¤Ā»
jnthn ooh a right answer! ;-) 14:47
moritz_ ;-) 14:48
is there any syntax supported yet for typed arrays of arrays?
is something like my @x of Array of Int 14:49
or my Array of Int @x
or so
14:50 nihiliad left
Matt-W moritz_: I'm sure I saw something about it in one of the synopses, so there is a syntax... 14:51
moritz_ Matt-W: I know the syntax, just not if it's supported
rakudo: my Array of Int @a; say @a.of;
p6eval rakudo 4abd89: OUTPUTĀ«Use of protoobject as valueā¤Failureā¤Ā»
moritz_ rakudo: my Array of Int @a; say @a.of === Array[Int];
p6eval rakudo 4abd89: OUTPUTĀ«Use of protoobject as valueā¤Use of protoobject as valueā¤0ā¤Ā»
moritz_ rakudo: my Array of Int @a; say "alive" 14:52
p6eval rakudo 4abdx9: OUTPUTĀ«Use of protoobject as valueā¤aliveā¤Ā»
pmichaud afk # fetching kid lunches
moritz_ it seems to be mis-parsed, otherwise there'd be no warning
jnthn rakudo: my Array @a; say "alive"
p6eval rakudo 4abd89: OUTPUTĀ«aliveā¤Ā»
jnthn rakudo: my Array[Int] @a; say "alive"
p6eval rakudo 4abd89: OUTPUTĀ«Malformed declaration at line 1, near "Array[Int]"ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā»
jnthn std: my Array[Int] @a 14:53
p6eval std 26126: OUTPUTĀ«ok 00:02 35mā¤Ā»
14:53 minazo left
jnthn rakudo: role Foo[::T] { }; my Foo of Int $x; 14:53
p6eval rakudo 4abd89: OUTPUTĀ«get_bool() not implemented in class 'Role'ā¤current instr.: 'parrot;PCT;HLLCompiler;command_line' pc 1516 (src/PCT/HLLCompiler.pir:801)ā¤Ā»
jnthn rakudo: role Foo[::T] { }; my Foo of Int $x; say "alive" 14:54
p6eval rakudo 4abd89: OUTPUTĀ«aliveā¤Ā»
jnthn Wonder hwat's specialny about Array...
Ooh!! 14:55
Array is not a parametric role yet.
rakudo: my Positional of Int @x; 14:56
p6eval rakudo 4abd89: ( no output )
jnthn rakudo: my Positional of Int @x; say "alive"
p6eval rakudo 4abd89: OUTPUTĀ«aliveā¤Ā»
14:56 meteorjay joined
moritz_ rakudo: my Positional of Int @x; say @x.of === Positional[Int] 14:56
p6eval rakudo 4abd89: OUTPUTĀ«1ā¤Ā»
14:56 meppl joined
moritz_ rakudo: my Positional of Int @x = [2, 3], [4, 5]; say @x.of === Positional[Int] 14:56
p6eval rakudo 4abd89: OUTPUTĀ«1ā¤Ā»
moritz_ jnthn++
pugs_svn r26127 | moritz++ | [t/spec] tests for 'my Int @x; @x.of'; tests for typed nested arrays 14:59
14:59 FurnaceBoy joined
jnthn moritz_: Also note 14:59
rakudo: sub foo returns Int { }; say &foo.of 15:00
p6eval rakudo 4abd89: OUTPUTĀ«Intā¤Ā»
jnthn Maybe good to have tests for that one too. :-)
rakudo: sub foo returns Int { }; say &foo.returns # too
moritz_ maybe ;-)
p6eval rakudo 4abd89: OUTPUTĀ«Intā¤Ā»
15:00 mberends left
moritz_ jnthn: is .of specced? 15:01
15:01 eternaleye_ left 15:02 brunov joined 15:03 jan_ joined
moritz_ rakudo: sub foo returns Int ($x) { return $x }; say foo(3); say foo('s') 15:05
p6eval rakudo 4abd89: OUTPUTĀ«3ā¤Type check failed on return valueā¤current instr.: 'die' pc 15932 (src/builtins/control.pir:204)ā¤Ā»
skids wonders if .Str ever got specced as well 15:06
moritz_ skids: it is
both on match objects, and in general for conversion to Str 15:07
I think there's a section in S13 stating that rather explicitly
15:07 sitaram joined, sitaram left 15:08 sitaram joined
jnthn moritz_: If it's not, it probably should be. ;-) 15:08
pugs_svn r26128 | moritz++ | tests for return types
jnthn moritz_: I think it falls naturally out of the fact the trait has that name though.
skids wonders if he ever even read S13 before
moritz_ jnthn: ah right, it's a trait, and traits are... what? methods? 15:09
15:13 plash joined 15:14 Tene_ left
jnthn Well, they can introduce a property (read: attr and method) 15:14
Though it's convention rather than anything else.
In this case it's more like a
rakudo: role Foo[::T] { method of { return T } }; my $x = 42 but Foo[Str]; $x.of.say 15:15
p6eval rakudo 4abd89: OUTPUTĀ«Strā¤Ā»
jnthn (to give a pointless example... ;-))
But it's really up to a role to provide the of 15:16
Or whatever methods - if any - that it wants.
15:19 Tene joined
dalek kudo: 7a22e0d | (Moritz Lenz)++ | t/spectest.data:
we pass the new S06-signature/types.t
15:20
15:23 payload left 15:25 hercynium joined
moritz_ rakudo: say 788 / 60 15:27
p6eval rakudo 4abd89: OUTPUTĀ«13.1333333333333ā¤Ā»
15:30 nihiliad joined 15:39 riffraff left 15:48 plash left 15:52 hercynium_ joined, hercynium left, hercynium_ left
Matt-W woohoo 15:52
Some time to work on Form!!
Matt-W updates Rakudo...
15:52 khisanth_ joined 15:53 Khisanth left 15:55 khisanth_ is now known as Khisanth, Psyche^ joined 15:57 ejs left
jnthn might just have found the source of his failing tests 16:03
> say &pop.candidates[0].arity
60248
lambdabot Not in scope: `say' precedence parsing error
cannot mix `(&)' [...
Matt-W that's not good
jnthn No!
Matt-W I doubt even you could come up with a function with 60,248 arguments
moritz_ ... unless it's a generated one
16:03 frew|work left 16:04 frew|work joined
jnthn rakudo: eval('sub foo(' ~ join(',', '$' xx 60248) ~ ') { }') 16:04
Matt-W moritz_: even then... especially anything called 'pop'
p6eval rakudo 4abd89: ( no output )
jnthn Please say that didn't actually really compile...
rakudo: eval('sub foo(' ~ join(',', '$' xx 60248) ~ ') { }'); say &foo.arity 16:05
p6eval rakudo 4abd89: ( no output )
jnthn No.
:-)
Matt-W interesting 16:06
Form's failing tests with latest rakudo 16:07
moritz_ Matt-W: did you declare any parameters like sub foo(Array @a) ?
if so, I know why it's failing ;-)
16:07 justatheory joined
Matt-W 'type check failed on return value' 16:08
moritz_ that's pretty new as well
btw my local rakudo tries to execute the eval above at least three minutes now 16:09
Matt-W so I assume that rakudo actually checking declared return types is new?
moritz_ yes 16:10
Matt-W right
jnthn Matt-W: Yes, it hadn't used to check them before.
Matt-W so I need to check if I'm declaring it right, and if I am, why it's failing
moritz_ (but only for explicit return; implicit return is still unchecked)
16:11 Patterner left, Psyche^ is now known as Patterner
Matt-W What is the proper way to specify a method's return type? 16:13
moritz_ rakudo: class A { method foo returns Int ($x) { return $x } }; A.foo('bar') 16:14
p6eval rakudo 4abd89: OUTPUTĀ«Type check failed on return valueā¤current instr.: 'die' pc 15932 (src/builtins/control.pir:204)ā¤Ā»
TimToady moritz_: I'd actually been thinking of .flip for string reverse. to me .mirror would reverse the bidi chars to their opposites
moritz_ TimToady: yes, that's better (and shorter ;-)
Matt-W moritz_: so I'm doing that right then. Hmm.
TimToady rakudo: class A { method foo ($x --> Int) { return $x } }; A.foo('bar')
p6eval rakudo 4abd89: OUTPUTĀ«Unable to parse multisig; couldn't find final ')' at line 1, near "--> Int) {"ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā» 16:15
Matt-W TimToady: something I'm supposed to use later, after rakudo understands it? 16:16
jnthn At the moment the only syntax Rakudo really understands is the of Int or returns Int. 16:17
Matt-W is it valid to say "my Array of Str $foo" 16:18
jnthn In Perl 6? Yes. In Rakudo? Not yet. 16:19
Matt-W ah
that explains that
16:19 hercynium joined
jnthn my Positional of Str $foo might give you the checking you want though. 16:19
(or will in the nearer future)
But you might as well just say
my Str @foo
Matt-W yes that just occurred tome 16:20
jnthn Which does (mostly) work.
Matt-W too much C++
hmm got a null pmc
jnthn rakudo: my Str @foo;
p6eval rakudo 4abd89: ( no output )
jnthn rakudo: my Str @foo; say "alive"
p6eval rakudo 4abd89: OUTPUTĀ«aliveā¤Ā»
jnthn rakudo: my Str @foo; say "alive"; say @foo.of
p6eval rakudo 4abd89: OUTPUTĀ«aliveā¤Strā¤Ā»
jnthn Matt-W: But things like .push, .pop etc are known broken. 16:21
16:21 jbt joined
jnthn I have a local patch, but I've got to get the "arity of sixty thousand" bug fixed first. ;-) 16:21
moritz_ btw I've compile and eval with 600 parameters, that worked
Matt-W rakudo: sub a returns Array of Str { my Str @a = ('a', 'b'); return @a; }; a.perl.say; 16:22
p6eval rakudo 4abd89: OUTPUTĀ«Type check failed on return valueā¤current instr.: 'die' pc 15932 (src/builtins/control.pir:204)ā¤Ā»
jnthn Matt-W: Yes, Array isn't aprametric yet. 16:23
It can't be until further refactors happen.
Matt-W right
okay I'll drop the type constraint for the time being then
jnthn rakudo: sub a returns Positional of Str { my Str @a = ('a', 'b'); return @a; }; a.perl.say
p6eval rakudo 4abd89: OUTPUTĀ«Type check failed on return valueā¤current instr.: 'die' pc 15932 (src/builtins/control.pir:204)ā¤Ā»
jnthn That one shoulda worked though. :-|
rakudo: sub a returns Positional { my Str @a = ('a', 'b'); return @a; }; a.perl.say 16:24
p6eval rakudo 4abd89: OUTPUTĀ«["a", "b"]ā¤Ā»
jnthn rakudo: sub a returns Positional[Str] { my Str @a = ('a', 'b'); return @a; }; a.perl.say
p6eval rakudo 4abd89: OUTPUTĀ«Malformed routine definition at line 1, near "a returns "ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā»
jnthn rakudo: sub a returns Positional of Str { }; say &a.of ~~ Positional[Str] 16:25
p6eval rakudo 4abd89: OUTPUTĀ«0ā¤Ā»
jnthn rakudo: sub a returns Positional of Str { }; say &a.of ~~ Positional
p6eval rakudo 4abd89: OUTPUTĀ«0ā¤Ā»
jnthn rakudo: sub a returns Positional of Str { }; say &a.of ~~ Str
p6eval rakudo 4abd89: OUTPUTĀ«1ā¤Ā»
jnthn oh!!
rakudo: sub a returns (Positional of Str) { }; say &a.of ~~ Positional[Str]
p6eval rakudo 4abd89: OUTPUTĀ«Malformed routine definition at line 1, near "a returns "ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā»
jnthn Matt-W: It's thinking that the of declaration there is another trait 16:26
like a sub a of Str { }
Matt-W ooh
jnthn Rather than parsing it as a Positional of Str type.
I think that might be because we're calling the wrong rule in the grammar though
pugs_svn r26129 | lwall++ | [S32/Containers] join defaults to '' now; delete string reverse 16:30
r26129 | lwall++ | [S32/Str] add string flip
jnthn Ohh! 16:31
jnthn realizes his bug :-|
Matt-W hurrah 16:34
did the realisation come with a fix?
TimToady rakudo: <a b c>.join
p6eval rakudo 4abd89: ( no output )
jnthn Matt-W: I know *how* to fix it.
TimToady rakudo: <a b c>.join.say
p6eval rakudo 4abd89: OUTPUTĀ«a b cā¤Ā»
jnthn Matt-W: Just a simple matter of coding now...
moritz_ so join is symmetric with [~] - nice
TimToady rakudo: <a b c>.Str.say
p6eval rakudo 4abd89: OUTPUTĀ«a b cā¤Ā»
literal hm, why does git print a bunch of "got <commit>" and "walk <commit>" lines when pulling rakudo? I've only seen this happen with a handful of repositories
16:35 PZt left
PerlJam literal: that's a question best left to #git :) 16:35
moritz_ literal: and I've never seen it ;-)
literal odd, happens everytime I pull
TimToady yes, occurred to me that now we can say .Str we'd be better off default join to do what people expect it to :)
*defaulting
whenever I try to pull rakudo and remake, I get this: 16:36
/home/larry/rakudo/parrot/parrot perl6_s1.pbc --target=pir src/gen_setting.pm > src/gen_setting.pir
Method '!make' not found for invocant of class 'Perl6;Grammar'
current instr.: 'parrot;Perl6;Grammar;quote_literal' pc 118014 (src/parser/quote_expression.pir:477)
that's with a make realclean and Configure.pl
Matt-W strange. I did a pull, realclean, configure and make a little while ago and it worked fine. 16:37
TimToady maybe it's finding an old parrot somehow
jnthn TimToady: You may need a newer Parrot too? Or did you use --gen-parrot?
TimToady on the Configure? that's probably it 16:38
jnthn We're tracking Parrot quite closely at the moment.
moritz_ and when you re-built parrot, you need to 'make clean' in rakudo 16:39
jnthn Unfortunately, I've just fixed a Parrot bug so I'm about to contribute to that too...
literal ah, apparently you only get the got/walk noise when pulling via http 16:40
"git:// does walking on the server. http:// does it on client"
moritz_ literal: I recommend against , because sometimes that didn't work for rakudo, with weird error messages 16:41
16:45 Tene_ joined, Tene left, Tene_ is now known as Tene
jnthn oh hmm 16:46
Turns out that wasn't the bug I expected. Also, &pop() and pop() seem to dispatch to different things. wtf... 16:47
16:50 sitaram left 16:52 cdarroch joined 16:53 buubot left, buubot joined 16:56 kane_ left
jnthn Ohh! 16:56
proto prefix:<pop> is equiv(prefix:<abs>) is subname('pop') { ... }
16:57 DemoFreak joined
jnthn rakudo: pop() 16:57
p6eval rakudo 4abd89: OUTPUTĀ«No applicable methods.ā¤ā¤current instr.: '_block14' pc 70 (EVAL_15:39)ā¤Ā»
17:01 PhatEddy left
pugs_svn r26130 | lwall++ | .join now defaults to '' 17:04
TimToady someone will need to fix rakudo's .join 17:05
moritz_ I'm working on it
TimToady I patched the tests
moritz_ ah, good
that'll be more work than deleting a single space ;-)
TimToady interestingly, there wasn't a single spot in the test suite that used .join to add spaces, so I think changing the default is correct 17:06
moritz_ ./parrot/parrot perl6.pbc -e 'say <a b c>.join'
abc
TimToady: if you commit, I'll do so too ;-)
TimToady I already committed 17:07
17:07 M_o_C joined
moritz_ ah 17:07
TimToady see above
moritz_ right
TimToady I shoulda said [t/*] or some such
moritz_ running the tests now
PerlJam does split also default to '' (as join)? 17:14
pmichaud flips for flip.
TimToady split doesn't default to anything
PerlJam $str.split.join eq $str # would be nice I think 17:15
diakopter moritz_: the irclogs links to S32 don't work.. sorry I don't have any suggestions to fix it. :)
TimToady it'll be bad enough that people expect split(' ') to work like p5 17:16
if they write .split they'll expect the same thing half the time
PerlJam that's probably true. I know I use @foo = split; all the time in perl5 17:18
it's only a small mental jump to expect @foo.split to do the same
er, @foo = $str.split 17:19
PerlJam can't type *or* think
pmichaud what is U+9FA6 ?!?
(yes, I know it's a unicode codepoint. What unicode codepoint is it supposed to be?) 17:20
moritz_ diakopter: I know, and I'll fix it as soon as we have HTML rendered S32 links
dalek kudo: 582e78c | (Moritz Lenz)++ | src/builtins/any-list.pir:
.join now defaults to empty separator
17:21
TimToady pm it appears to be 1 off the end of the CJK region 17:23
17:23 araujo joined
TimToady so not a real character 17:23
pmichaud in looking at unicode.org/cldr/utility/list-unico...Letter%3A] 17:24
which (I think) displays all of the codepoints with the Lo property
it shows 17:25
U+4E00 ( äø€ ) CJK UNIFIED IDEOGRAPH-4E00
ā€¦{20930}ā€¦U+9FC3 ( éæƒ ) CJK UNIFIED IDEOGRAPH-9FC3
TimToady maybe they added some more that I don't know about
pmichaud which (I think) means that 9fa6 has the Lo property
Matt-W infix:<xx> isn't supposed to modify its left-hand argument is it?
PerlJam pmichaud: unicode.org/cldr/utility/character.jsp?a=9FA6 17:26
jnthn Matt-W: Don't believe so.
pmichaud PerlJam: yes, I'm also presuming from that page that U+9FA6 should be a valid Letter.
TimToady added in 4.1, it appears
17:26 ejs joined
Matt-W jnthn: didn't think so 17:26
pmichaud infix:<XX> itself doesn't modify its left-hand argument, but it also doesn't clone it. 17:27
lucs pmichaud: According to my copy of the Unicode Standard, version 2, U+9FA6 to U+9FFF are an unassigned block at the end of the CJK Unified Ideographs.
TimToady 4.1 17:30
so your version is about 2.1 versions out of date :)
lucs Right :)
pmichaud so, any suggestions for modifying the spectest?
should I pick 9fff ? 17:31
jnthn moritz_: I gotta run do a bunch of deployment stuff for a client now, but latest commits get most of the S09 arrays.t passing.
TimToady I don't know which spectest you're referring to
pmichaud oh, sorry 17:32
t/spec/S05-mass/properties.t
jnthn moritz_: 22 out of 29 it seems. Feel free to fudge and add to spectest.data.
pmichaud jnthn++ # more passing spectests
jnthn moritz_: Or I'll do it in a couple of hours when I get this other work done.
moritz_ jnthn: sure, will do
17:32 dalek left
jnthn Also, I wrote overlong commit messages and killed dalek. Again! 17:32
pmichaud or I could pick u+9fc4, which is one off the end of the (5.1) cjk region
17:32 dalek joined
jnthn (Note for all who grab my latest commits: you need latest Parrot, since I just fixed the "oh hai you haz an arity of 60,000" bug.) 17:33
17:33 pmurias joined
TimToady any particular value seems fragile without versioning 17:33
pmichaud jnthn: did you bump build/PARROT_REVISION ?
jnthn pmichaud: I did.
moritz_ pmichaud: I have no particular opionion on that one, do as you wish
pmichaud jnthn++
jnthn pmichaud: But since the commit message that said so didn't appear here, thought I'd mention it. 17:34
pmichaud jnthn: got it.
well, if any value is fragile, I think I'll go with 9fc4 for now, and put a note in the file 17:35
moritz_ at least it appeared on #parrot 17:36
17:36 ejs left
PerlJam how do I "make spectest" but not the whole thing? 17:38
pmichaud how do you mean "not the whole thing"?
moritz_ PerlJam: make t/spec/path/to/file.t 17:39
PerlJam I just want to run the spectests in one dir
pmichaud if you want to do a subset of tests, create t/localtest.data and then make that
for one dir, make t/spec/dir/*.t
PerlJam thanks
moritz_ grep ^S06 t/spectest.data > t/localtest.data; make localtest
pmichaud (although note that this will run tests that aren't in spectest.data)
moritz++ # better answer
pugs_svn r26131 | moritz++ | [t/spec] fix plan and typos in S06-typed-arrays/arrays.t; also fudged for 17:41
r26131 | moritz++ | rakudo
Matt-W notes to self that you shouldn't confuse xx and x
dalek kudo: 8a2b924 | (Moritz Lenz)++ | t/spectest.data:
we now pass S09-typed-arrays/arrays.t
17:43
TimToady maybe r should reverse a string and rr reverse a list (mostly joking) 17:46
Matt-W TimToady: Don't even THINK about it! 17:52
moritz_ ;-) 17:53
PerlJam oh, and we should use .s to coerce to a string and .i to coerce to an integer too!
moritz_ I thought .i returned an imaginary number? 17:54
oh wait, that's probably abolished
moritz_ is *so* yesterday
pugs_svn r26132 | pmichaud++ | [t/spec]: Start refactoring S05-mass/properties.t into separate (smaller) files.
r26132 | pmichaud++ | This should keep the tests shorter, and perhaps make them a little
r26132 | pmichaud++ | easier to maintain. The properties-general.t file handles general
r26132 | pmichaud++ | category properties (as opposed to script and/or block properties
r26132 | pmichaud++ | which will be broken out separately later).
moritz_ pmichaud: I'm switching Str.reverse to .flip at the moment (FYI) 17:55
pmichaud moritz_++ # excellent
it shouldn't impact anything I'm working on.
(and vice-versa)
moritz_ rakudo: class Any is also { method a { $.Str } }; say 5.a.perl; 17:56
p6eval rakudo 8a2b92: OUTPUTĀ«"Int<0xb69ff0e8>"ā¤Ā»
moritz_ that's... interesting
I think S05-mass/properties.t was a relict of Perl6::Rules or whatever that Damian-module was called 17:57
17:58 cognominal left, cognominal joined
pmichaud sure. I'm just updating it now. 18:01
moritz_ rakudo: 345.split(4).perl.say 18:03
p6eval rakudo 8a2b92: OUTPUTĀ«["3", "5"]ā¤Ā»
moritz_ rakudo: "345".split(4).perl.say
p6eval rakudo 8a2b92: OUTPUTĀ«["3", "5"]ā¤Ā»
moritz_ rakudo: 234.reverse
p6eval rakudo 8a2b92: OUTPUTĀ«Parameter type check failed for $delimiter in call to splitā¤current instr.: 'die' pc 16201 (src/builtins/control.pir:206)ā¤Ā»
moritz_ I don't understand that 18:04
there are two split multis
pmichaud something isn't multi that should be
or
it's dispatching to the wrong multi
moritz_ if there's no PIR split leaking in I suspect the latter 18:05
both methods are multi
jnthn Are they defined on the same class?
moritz_ jnthn: yes
the sub form is not multi
(I'll fix that)
pmichaud oh, that's probably the problem.
or at least it might be a problem. 18:06
Parrot still has difficult keeping methods and subs distinct.
moritz_ but its delimiter has no type constraint (ie Any)
ok, let me try that
jnthn Also beware that if you call split(...) sub in a method and that class defines a method you'll end up calling the split method...
Which is probably a bug.
pmichaud (yes, that's the parrot bug I'm referring to) 18:07
jnthn ok
Matt-W if I declare a state variable inside a while block inside a sub, will it persist across sub calls or just loop repetitions? 18:09
jnthn across the sub calls unless the sub is cloned, I think 18:10
PerlJam Matt-W: should be sub calls
Matt-W thanks
PerlJam Matt-W: it'll persist across loop repetitions too though :)
jnthn rakudo: sub foo($x) { while $x-- { state $y = 1; say $y++ } }; foo(3); foo(2); 18:11
p6eval rakudo 8a2b92: OUTPUTĀ«Cannot assign to readonly variable.ā¤current instr.: 'die' pc 16201 (src/builtins/control.pir:206)ā¤Ā»
jnthn rakudo: sub foo($x is copy) { while $x-- { state $y = 1; say $y++ } }; foo(3); foo(2);
p6eval rakudo 8a2b92: OUTPUTĀ«1ā¤2ā¤3ā¤4ā¤5ā¤Ā»
moritz_ rakudo++ # being smarter than jnthn++ ;-)
jnthn :-P 18:13
Matt-W I guess I was kind of hoping it'd only attach to the nearest block 18:14
I'll just stick a my outside the loop
pmichaud which is different from sticking your a outside the loop. :-) 18:15
moritz_ what seemed like a fairly trivial change proves to be... interesting 18:17
pmichaud That seems to happen a lot in Perl 6. 18:18
PerlJam rakudo: my ($,$)=1,2
p6eval rakudo 8a2b92: ( no output )
PerlJam rakudo: constant ($,$) = 1,2
p6eval rakudo 8a2b92: ( no output )
PerlJam rakudo: state ($,$) = 1,2
p6eval rakudo 8a2b92: OUTPUTĀ«Null PMC access in isa_pmc()ā¤current instr.: 'infix:=' pc 14683 (src/builtins/assign.pir:133)ā¤Ā»
pugs_svn r26133 | pmichaud++ | [t/spec]: #?rakudo fudge some tests in properties-general.t . 18:19
PerlJam rakudo: temp ($,$) = 1,2
p6eval rakudo 8a2b92: OUTPUTĀ«Statement not terminated properly at line 1, near "($,$) = 1,"ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā»
moritz_ pmichaud: actually the change for the default value of split was fairly trivial ;-)
PerlJam looks like state and temp have a bug wrt anonymous scalars.
moritz_ temp is NYI 18:21
and anonymous scalars in state? wtf?
PerlJam oh, I though it was
moritz_: See S02:1796 18:22
Well, S02:1792 is the important sentence though 18:23
pmichaud okay, time to grab lunch while waiting for a spectest run to finish. bbl.
moritz_ and I thought Pelr 5 was obscure ;-)
rakudo: say (reverse { a => 1, b => 1 }).perl 18:24
p6eval rakudo 8a2b92: OUTPUTĀ«{"1" => "b"}ā¤Ā»
PerlJam Hmm. does "has" provide a declarative context? If so, what does has $; mean? 18:25
TimToady I think maybe Hash.push should create sublists for dup keys
it means an anonymous attribute, which is pretty useless I expect 18:26
PerlJam I tend to want to outlaw useless constructs personally.
TimToady you could even initialize it "has $ = 42;"
LylePerl Hi All
I got IIS to work with pugs 18:27
TimToady well, but then someone will think of a use for it. :)
moritz_ TimToady: I'm sure they will ;-)
18:28 pmurias left
moritz_ PerlJam: ok, I stand correct, rakudo has a problem there.. care to submit a bug report? 18:28
(although I suspect it's a fairly low priority TODO)
PerlJam *real* low :)
TimToady std: has $ = 42;
p6eval std 26133: OUTPUTĀ«ok 00:02 35mā¤Ā»
pmichaud PerlJam: We have to keep some useless constructs around so that Damian continues to have good OSCON talks :-P 18:29
moritz_ lol
pmichaud (gone for lunch)
PerlJam pm: hey, I just did a little patch for flip (and it passes all spectests)
moritz_ PerlJam: it shouldn't 18:30
PerlJam: because the spec tests are out of date
PerlJam moritz_: well, it passes after I modified them to use $str.flip where it currently uses $str.reverse :)
TimToady is there still a Str.reverse implemntation out there
moritz_ TimToady: out there yes - not in my local copy 18:31
but I suspect the test suite needs updates in several places
and reverse.t is *full* of str-vs-list distinguishing tests
PerlJam not in my copy :) 18:32
moritz_ s/is/was/
PerlJam: congratulations, we worked in parallel on the same thing, and thus duplicated effort :/
anyway, show me your patch, it might be a lot nicer than mine ;-)
PerlJam moritz_: not really. Some of the effort was just for me to start doing things. I always seem to have a problem getting started. 18:33
pasteling "PerlJam" at 165.95.12.193 pasted "flip patch" (30 lines, 766B) at sial.org/pbot/35890 18:34
skids TimToady: use for "has $" ... padding in a compact struct 18:35
moritz_ PerlJam: ah, mine does a bit more
PerlJam moritz_: I'm sure. Show me :) 18:36
pasteling "PerlJam" at 165.95.12.193 pasted "spec patch for flip" (106 lines, 3.7K) at sial.org/pbot/35891
PerlJam moritz_: your can critique my spec patch too :)
s/your/you/
moritz_ PerlJam: just a sec...
literal
.oO(does Bool have a .flip?)
18:37
diakopter LylePerl: how'd you do it
pasteling "moritz_" at 91.10.187.171 pasted "s/reverse/flip/ - a few more lines :/" (164 lines, 4.1K) at sial.org/pbot/35892 18:39
moritz_ PerlJam: my patch to the tests does roughly the same thing, but removes some duplicates and moves the flip tests to another file 18:40
PerlJam yes, I see
moritz_ if the current run is clean, I'll commit 18:41
PerlJam: for example your patch wouldn't handle flip(123)
(I think so, didn't try it)
PerlJam I wasn't sure about that reverse multi in the PIR there, but apparently it's not needed anymore :)
indeed it does not. 18:42
LylePerl diakopter: setting up a handler mapping on IIS7. Still can't get rakudo to work on IIS though, I'm doing some more tests but I'm pretty sure it's a parrot issue
PerlJam moritz_: this is one of the things I really haven't given enough thought about to keep straight in my head ... what goes in src/classes vs. src/builtins vs src/setting 18:43
18:43 sri_kraih_ left
moritz_ PerlJam: everything new goes into setting ;-) 18:44
PerlJam sure, except that some things have pieces spread out everywhere. :)
moritz_ PerlJam: and usually all things that are written in PIR and are callable as a method go in src/classes
right ;-)
pugs_svn r26134 | moritz++ | [t/spec] string reversal is now spelled flip() 18:45
PerlJam moritz_: did you add a spectest for flip(123)? I don't think there was one like that for reverse
moritz_ PerlJam: just did so, in r26134 18:46
anyway, PerlJam++ PerlJam++ for both patches 18:47
18:51 ruoso left 18:52 barney joined
LylePerl yep. I'm sure it's a parrot/iis issue, a basic PIR hello world script with correct content type header fails as well 18:54
I'll join the parrot channel and ask them. I'll let you know when I have Rakudo working with IIS and I'll update my blog with a guide 18:56
bye
18:56 LylePerl left
hexmode b 18:58
jnthn -> nomming cheezburger, bbs 19:04
19:14 barney left
pugs_svn r26135 | lwall++ | [S32/Containers] make it possible to reverse a hash without (too much) loss of 19:21
r26135 | lwall++ | information when there are duplicate values or list values
PerlJam TimToady: was that patch not quite complete? There seems to be something missing: The intention is that %bar.push(%foo.reverse); %baz.push(%bar.reverse); 19:28
TimToady gah
ADHD strikes!!! --more-- 19:29
You lose 42 hit points!
dalek kudo: 6b97553 | pmichaud++ | :
Merge branch 'master' of [email@hidden.address]
pugs_svn r26136 | lwall++ | [CORE] add flip as core function
r26136 | lwall++ | [STD] allow .= flip without warning
r26137 | lwall++ | [Containers] finish the edit 19:32
19:34 ymon joined 19:35 legis left 19:41 payload joined 19:48 kane_ joined, kane_ left, ymon left 19:50 kane_ joined 19:53 M_o_C left
pmichaud phone 20:01
20:01 kane_ left 20:12 FurnaceBoy left 20:13 schinkelm joined 20:14 FurnaceBoy joined, pmurias joined, FurnaceBoy left 20:17 alester joined 20:24 masak joined
masak ahoj, people. 20:24
20:24 donaldh joined
masak so, .flip eh? :) 20:24
jnthn masak: oh hai 20:25
moritz_ masak: yes ;-)
jnthn masak++ # slovak! :D
20:25 Caelum joined
moritz_ masak: what#s wrong with you? usually you're not around at this time of day 20:25
masak jnthn: samozrejme :) 20:26
moritz_: that is correct.
found a wifi hotspot to leech on in my building.
20:26 clintongormley left
masak I'll try not to let it ruin my night's sleep... 20:26
moritz_ ;-) 20:27
masak has eaten a really nice pasta dinner, and is now moving on to rooibos, ice cream and cookies
anyway. Lobster. 20:29
20:33 alester left 20:38 PZt joined
jnthn masak: that sounds FAR too nice 20:39
masak: Though I still win because I eated a cheezburger.
masak jnthn: note that the Lobster wasn't part of my dinner. it's what I'm hacking on ATM. :P
I suddenly realised that this could be miscomprehended. 20:40
shouldn't name my projects after puns...
jnthn masak: Akshually I don't like sea food. :-( It was more the pasta, ice cream and cookies that got me. 20:41
masak jnthn: (seafood) it are teh BLECH, trust me.
20:41 payload left
jnthn masak: I noes. It r srsly DO NOT WANT. 20:41
OK, time to see what chaos I can cause in Positional 20:42
pugs_svn r26138 | pmichaud++ | [t/spec] Move script-related property tests into S05-mass/properties-script.t .
20:42 frew|work left
masak time to see what beauty I can cause in Lobster. 20:42
jnthn rakudo: my @a; @a[1] = 42; say @a.perl 20:43
p6eval rakudo 6b9755: OUTPUTĀ«Null PMC access in isa()ā¤current instr.: 'parrot;List;!flatten' pc 7415 (src/classes/List.pir:236)ā¤Ā»
jnthn rakudo: my @a; @a[1|2] = 42; say @a.perl 20:44
p6eval rakudo 6b9755: OUTPUTĀ«get_integer() not implemented in class 'Junction'ā¤current instr.: 'parrot;Positional[::T];postcircumfix:[ ]' pc 4824 (src/classes/Positional.pir:68)ā¤Ā»
masak that last one...
pugs_svn r26139 | pmichaud++ | [t/spec]: Oops -- properties-script.t really does have a plan. Really.
masak what's it supposed to do?
20:45 cspencer joined
jnthn masak: I'm not completely convinced it'll work... 20:45
20:45 schinkelm left
masak jnthn: for all we know, it's working properly already. :) 20:45
jnthn As an rvalue it should return a junction of the array elements I guess.
cspencer good afternoon!
jnthn Only question is if it can serve as an rvalue too.
erm
as an lvalue
Anyway, not going to worry about that one for now. 20:46
20:46 amoc left
masak cspencer: greetings, sir. 20:46
jnthn pmichaud: ping 20:48
diakopter is there a syntax-highlighted version of STD.pm on feather somewhere? 20:49
cspencer so i'd attempted to move the shift method out of Range.pir and into Range.pm the other day, but it failed and complained that a "shift_pmc" method wasn't available 20:50
pmichaud jnthn: pong
cspencer is there a way that i can associate shift and shift_pmc?
pmichaud cspencer: we don't have a way to declare vtable methods yet.
(from Perl 6)
cspencer ah ok
literal diakopter: you can make one if you have vim
pmichaud in some sense you eventually won't have to .
because it'll be taken care of in Object or Any.
jnthn pmichaud: Are @foo[] and @foo[*] meant to be different?
diakopter I need html :)
literal diakopter: vim can do that 20:51
diakopter oh?
pmichaud jnthn: in general, I don't think they're different.
jnthn pmichaud: For the first, in method postcircumfix:<{ }> we're doing:
literal :TOhtml
jnthn .tailcall self.'list'()
However for @foo[*] we do
cspencer pmichaud: is the solution similar to defining the get_number method in Object.pir?
pmichaud cspencer: it might be -- I haven't tried it yet.
diakopter literal: thanks; nm; I remembered the script that does that here..
jnthn result = 'list'(self)
cspencer ok, i'll check it out and see what breaks :)
jnthn pmichaud: I wondered if it was an intentional difference or not. I don't need to change it really. It just got me curious. 20:52
masak @tell mberends oh, and for some Pod6 tests, November's Test::InputOutput might be more fitting. use.perl.org/~masak/journal/37976
lambdabot Consider it noted.
pmichaud jnthn: I can't remember why there would be any difference between them.
feel free to re-work it. But also note that our handling of * has to change also. 20:53
jnthn pmichaud: OK. Thing is I sort of suspect they could potentially end up giving different results.
Yeah, I'm not worry about that bit right now. :-)
pmichaud in general there is/can be a difference between .'list'() and 'list'(), yes. 20:54
TimToady yes, they're different 20:56
since [] is 0 dimensional, not 1 dimensional like [*]
so @foo[].WHAT is Array, while @foo[*].WHAT is List, I expect 20:57
moritz_ pmichaud: your recent commits to the test suite have many insertions but no deletions - is that intentional?
pmichaud that is likely to be the difference. Also, if you're looking at postcircumfix:{ } -- chances are that I just copied it from Positional without investigating it too thoroughly.
literal masak: heh, I would have just stuffed all those strings in an array of arrays and looped over it
masak literal: that's what it does.
pmichaud moritz_: I'm wanting to finish the refactor before I remove properties.t
(yes, a deletion is coming.) 20:58
moritz_ pmichaud: ok
masak literal: with a few (very few) extra bits thrown in.
such as using Perl 6's Pairs if it finds them. 20:59
literal ok
masak literal: Test::InputOutput is very down-to-earth. I put all the crazy, weird stuff in Test::Ix :) 21:00
literal Ix? 21:01
what does that do?
masak literal: github.com/masak/druid/blob/master/...me-rules.t 21:02
it finds the test subs through a hierarchical index of strings.
literal interesting
masak encouraging the test writer to list and group the tests before writing them.
the Test::Ix module is the nicest Perl 6 code I've ever written. github.com/masak/druid/blob/masak/lib/Test/Ix.pm 21:03
literal "That page doesn't exist!", silly github
masak oops.
github.com/masak/druid/blob/master/...Test/Ix.pm 21:04
literal hm, does "return ();" do something different from "return;" ?
masak aye.
not sure I like it, but that's the spec. 21:05
21:06 exodist left
literal just grepped S*.pod, no occurence of "return ()", one occurence of "return()" 21:06
and that was in S17-concurrency.pod ...
masak IIRC, 'return ()' returns an empty list, aka Nil.
whereas 'return' returns undef. or something like that. 21:07
moritz_ I thought both return Nil, which is undef in scalar context, and the empty list in list context?
pmichaud note that return() is different from return ()
and "return;" is the same as "return();" 21:08
literal yeah
masak aye.
makes sense.
21:08 payload joined
moritz_ pmichaud: but is () an empty list? or is it a no-op? 21:08
pmichaud it's an empty list
literal so what does "return;" mean in list context, then?
pmichaud an empty list.
"return;" in scalar context gives an undef value. 21:09
literal ah, but "return ();" is Nil ?
pmichaud no.
[particle]- that tells me "return;" returns Nil
pmichaud "return;" gives back Nil. Nil is an empty list in list context, and undef in item context.
[particle]- return (); returns empty list, which in scalar context, is ?
literal so, there's no difference between "return;" and "return ();" in any context?
pmichaud an empty list in scalar context becomes a Capture 21:10
(with no positional values)
[particle]- there's the difference.
literal ok
pmichaud s/scalar context/item context/ # fwiw
[particle]- oops
masak rakudo: sub foo { return }; sub bar { return () }; say foo.WHAT; say bar.WHAT
p6eval rakudo 6b9755: OUTPUTĀ«Nilā¤Listā¤Ā»
pmichaud it used to be that an empty list in item context became an Array, but that changed recently
moritz_ somebody[tm] told me that () in Perl 6 only had grouping functions, and never construct lists
is that somebody wrong? 21:11
pmichaud () produces an empty list. Outside of that, it is used only for grouping.
masak moritz_: in this corner case, yes.
literal so what would "return Nil;" do?
masak literal: return Nil? :)
moritz_ literal: probably the same as 'return;' 21:12
literal ok
21:12 Whiteknight joined, moritz_ sets mode: +oo [particle]- literal 21:13 wolverian left
masak I've gotta blog about Test::Ix, before I forget how it works. some of that code scares me a little. 21:16
such as the code that finds a variable declaration in another file, and executes it.
or the code that figures out how many params a sub wants, and provides that number of params when calling it.
moritz_ .arity? 21:17
masak aye.
moritz_ seems pretty standard to me ;-)
masak heh. :) 21:18
github.com/masak/druid/blob/master/....pm#L89-91
21:18 jbt left
masak I think it felt great to do that because it was recently implemented at that time. 21:19
but I actually use that feature in the Druid tests. 21:20
TimToady: should I expect 42.flip to give me "24"? 21:24
TimToady probably 21:25
masak crosses fingers
moritz_ rakudo: say 24.flip
p6eval rakudo 6b9755: OUTPUTĀ«42ā¤Ā»
masak whoa!
your guys have been busy. :) 21:26
s/r//
TimToady rakudo: my $x = (^1000).pick; say $x + $x.flip 21:27
p6eval rakudo 6b9755: OUTPUTĀ«705ā¤Ā»
moritz_ masak: I thought switching reverse to flip would a straight forward change... in the end the diff had ~130 lines :)
literal what motivated that? reserve "reverse" for lists? 21:28
masak moritz_: why? lots of calls to it?
21:28 ejs joined
TimToady literal: yes, to detangle the concepts, basically 21:28
moritz_ masak: no, lots of reverse subs and methods in differnt files with different signatures
literal ok 21:29
moritz_ I ended up doing everything in Perl 6 in the end ;-)
masak rakudo: say flip("sub")
p6eval rakudo 6b9755: OUTPUTĀ«busā¤Ā»
TimToady literal: basically, same process as splitting xx from x, .elems from .chars, etc
masak rakudo: say flip("someone the bird")
p6eval rakudo 6b9755: OUTPUTĀ«drib eht enoemosā¤Ā»
literal yeah, sounds good 21:30
TimToady I wondered how long it would take for that example to come out :)
masak been wanting to do it all evening. :)
should have put .say at the end, though.
TimToady nap & 21:33
21:33 nihiliad left
jnthn wonders if he dares put that in his NPW slides 21:34
moritz_ encourages jnthn ;-)
masak of course you dare. 21:35
Perl is all about being impertinent in the right places. 21:36
jnthn Wasn't the lovejuice slide at YAPC last year bad enough? ;-)
woo I can haz fix0rs 21:38
> my Int @foo; @foo[1] = 42; say @foo.perl; @foo[0] = "bah"
[undef, 42]
Type mismatch in assignment.
lambdabot <no location info>: parse error on input `@'
PerlJam jnthn: nice 21:39
moritz_ commit it, test it, ship it! 21:41
or was it the other way round? ;-)
masak it ship, it test, it commit?
moritz_ flip it!
jnthn
.oO( plz to not gives these guys commit bits )
;-)
masak it flip!
moritz_ jnthn: too late, mostly ;-) 21:42
masak jnthn: no-one would ever be that careless, I'm sure.
jnthn rakudo: my Int $a; my Int $b; ($a, $b) = (1, 2); say $a, $b;
p6eval rakudo 6b9755: OUTPUTĀ«12ā¤Ā»
jnthn rakudo: my Int $a; my Int $b; ($a, $b) = ("fu", "ck"); say $a, $b;
p6eval rakudo 6b9755: OUTPUTĀ«Type mismatch in assignment.ā¤current instr.: 'die' pc 16132 (src/builtins/control.pir:206)ā¤Ā»
jnthn Ah, good.
Tene So, anyone have ideas on running a block on a sliding window across a list?
masak Rakudo's built-in swearing filter. 21:43
Tene i.e. on elements 0,1 then on 1,2 then on 2,3 etc.
masak Tene: just slice it?
Tene masak: hm?
masak something like @a[ $ix ..^ $ix + $window-size ]
21:43 donaldh left
Tene masak: Sure, but just in a for-loop from 1..$index - size? 21:44
Would be nice if I could get it into a map somehow
or something.
masak Tene: ah. yes.
masak advises Tene to experiment around 21:45
moritz_ rakudo: my $w = 3; my @a = 1..6; for ^(@a - $w) { say @a[$a ..^ $a+$w] };
p6eval rakudo 6b9755: OUTPUTĀ«Scope not found for PAST::Var '$a' in ā¤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)ā¤Ā»
moritz_ rakudo: my $w = 3; my @a = 1..6; for ^(@a - $w) { say @a[$_ ..^ $_+$w] };
p6eval rakudo 6b9755: OUTPUTĀ«123ā¤234ā¤345ā¤Ā»
moritz_ OH NOEZ, offbyone 21:46
rakudo: my $w = 3; my @a = 1..6; for 0..(@a - $w) { say @a[$_ ..^ $_+$w] };
p6eval rakudo 6b9755: OUTPUTĀ«123ā¤234ā¤345ā¤456ā¤Ā»
moritz_ I'm sure audreyt would have had an solution involving lazy lists and zip by now ;-) 21:47
Tene Oh, interesting idea... 21:48
@a Z @a[1..*] Z @a[2..*]
lambdabot Maybe you meant: activity activity-full admin all-dicts arr ask . ? @ v
Tene approx
PerlJam er ... what's the goal? 21:49
masak rakudo: my @a = 1..6; for @a Z @a[1..*] Z @a[2..*] { say @a[$_ ..^ $_+3] }
p6eval rakudo 6b9755: OUTPUTĀ«234ā¤345ā¤456ā¤345ā¤456ā¤56Use of uninitialized valueā¤ā¤456ā¤56Use of uninitialized valueā¤ā¤6Use of uninitialized valueā¤Use of uninitialized valueā¤ā¤56Use of uninitialized valueā¤ā¤6Use of uninitialized valueā¤Use of uninitialized valueā¤ā¤Use of uninitialized valueā¤Use of uninitialized
..valueā¤...
moritz_ for [Z] map {@a[$_..*] } 1..3 -> $x, $y, $z { ... }
masak
.oO( [Z] ! )
masak can has exploding head 21:50
moritz_ masak: speaking of which... care to submit that as a bug?
masak sure, just going to let my head finish exploding first.
moritz_ oh wait
hm
21:51 ejs left
moritz_ zip should stop when the shortest list ist exhausted, right? 21:51
masak aye.
moritz_ but...
masak ihrd and I talked about that the other day.
so a definite yes.
moritz_ the undef warnings are from the $_+3
you're reading beyond the limits of the array 21:52
masak still doesn't see it
moritz_ rakudo: my @a = 1..4; for @a Z @a[1..*] Z @a[2..*] { .say }
p6eval rakudo 6b9755: OUTPUTĀ«1ā¤2ā¤3ā¤2ā¤3ā¤4ā¤3ā¤4ā¤Use of uninitialized valueā¤ā¤4ā¤Use of uninitialized valueā¤ā¤Use of uninitialized valueā¤ā¤Ā»
masak oh!
:/
moritz_ ok, it *is* a bug
masak rakudo: my @a = 1..6; for @a Z @a[1..*] Z @a[2..*] -> $i, $, $ { say @a[$i ..^ $i+3] } 21:53
21:53 lisppaste3 joined
p6eval rakudo 6b9755: OUTPUTĀ«234ā¤345ā¤456ā¤56Use of uninitialized valueā¤ā¤6Use of uninitialized valueā¤Use of uninitialized valueā¤ā¤Use of uninitialized valueā¤Use of uninitialized valueā¤Use of uninitialized valueā¤ā¤Ā» 21:53
masak I'd submit, but I feel a distinct lack of understanding.
moritz_ masak: you're using *values* from @a as *index* on @a, so you get at least an offby1 from 1..6 being one based 21:54
ok, I'll do the submitting
masak moritz_: ah, of course.
moritz_ checks the spec first
masak rakudo: my @a = 1..6; for @a Z @a[1..*] Z @a[2..*] -> $i1, $i2, $i3 { say $i1, $i2, $i3 } 21:55
p6eval rakudo 6b9755: OUTPUTĀ«123ā¤234ā¤345ā¤456ā¤56Use of uninitialized valueā¤ā¤6Use of uninitialized valueā¤Use of uninitialized valueā¤ā¤Ā»
masak rakudo: my @a = 1..6; for @a Z @a[1..*] Z @a[2..*] { say $^i1, $^i2, $^i3 }
moritz_ rakudo: my @a = 1..4; say @a[1..*].perl
p6eval rakudo 6b9755: OUTPUTĀ«123ā¤234ā¤345ā¤456ā¤56Use of uninitialized valueā¤ā¤6Use of uninitialized valueā¤Use of uninitialized valueā¤ā¤Ā» 21:56
rakudo 6b9755: OUTPUTĀ«[2, 3, 4, undef]ā¤Ā»
masak moritz_: now _that_'s a bug.
moritz_ masak: indeed
masak aye, please submit.
jnthn What on *earth*?! 21:57
Epic bug.
PerlJam It's a Whatever bug
jnthn rakudo: (1..*).say
moritz_ offby1
p6eval rakudo 6b9755: OUTPUTĀ«Use of uninitialized valueā¤ā¤Ā»
jnthn rakudo: (1..*).perl
p6eval rakudo 6b9755: ( no output )
jnthn rakudo: (1..*).perl.say
p6eval rakudo 6b9755: OUTPUTĀ«1..*ā¤Ā»
moritz_ it's magic[tm]
jnthn PerlJam: yah whatever ;-) 21:58
moritz_ rakudo: .say for 1..2 Z 2..5;
p6eval rakudo 6b9755: OUTPUTĀ«1ā¤2ā¤2ā¤3ā¤Ā»
moritz_ rakudo: for 1..3 Z 1..2 Z 1..1 { say $^a, $^b, $^c }; 21:59
p6eval rakudo 6b9755: OUTPUTĀ«111ā¤Ā»
Tene rakudo: my &foo = { say "$^a + $^b" }; for 1..10 &foo;
moritz_ it seems that zip actually works fine
p6eval rakudo 6b9755: OUTPUTĀ«too few arguments passed (0) - 2 params expectedā¤current instr.: '_block21' pc 136 (EVAL_20:57)ā¤Ā»
Tene jnthn: know if that should work?
jnthn std: for 1..10 &foo 22:00
moritz_ Tene: it should complain about a syntax error
p6eval std 26139: OUTPUTĀ«##### PARSE FAILED #####ā¤Malformed block at /tmp/LEaI2hMAMC line 0:ā¤------> ā¤ expecting any of:ā¤ argument listā¤ infix or meta-infixā¤ infix stopperā¤ parameterized blockā¤ standard stopperā¤FAILED 00:05 42mā¤Ā»
Tene aw. :(
jnthn moritz_: Yeah, that was what I thought
moritz_ `for' is special syntax, and expects a block
if you don't want that, `map' is your friend
meppl good night
Tene does map deal with arity like for does?
22:00 simcop2387 joined
PerlJam yes 22:01
moritz_ Tene: better, actually ;-)
at least in rakudo
Tene ah.
moritz_ it's specced to work the same, though
jnthn watches make spectest hopefully
22:01 meppl left, skids left
moritz_ jnthn: did parallel spectest ever work on windows? 22:02
jnthn OH NOES I HAZ MADE A FAIL
moritz_: I didn't try it yet. 22:03
moritz_ masak: oh, [Z] wouldn't work, because [$anything] ... always returns a scalar - so it would be @ [Z] map { @a[$_..*] } 0..$window 22:04
22:05 bacek left
Tene jnthn: bug related to your current work... 22:07
rakudo: sub foo(@a) { say @a.perl }; foo(1..10);
p6eval rakudo 6b9755: OUTPUTĀ«Non-Positional argument or Positional of wrong element type for @a in call to fooā¤current instr.: 'die' pc 16132 (src/builtins/control.pir:206)ā¤Ā»
masak moritz_: were you expecting that to reassure me, or to explode my head more? :P
jnthn Tene: Ah, hmm. 22:08
moritz_ masak: ;-)
jnthn Tene: I guess Range does Positional...
Tene looks like [Z] is unerrepresented in spectests 22:10
only in reduce-le1arg.t
masak it looks like the front of a superhero suit. 22:11
The Great Zip!
is it a train, is it a lizard? no... it's Zip! 22:12
moritz_ Tene: that's probably because it needs slice context to work
Tene ah
moritz_ in it seems that nobody actually understands slice context
so nobody would write tests for that
and nobody implements it
vicious circle 22:13
writing tests without being able to test your tests can be frustrating
Tene Hmm... +&foo isn't defined.
I wonder if it should be the number of required positional args... 22:14
masak or the number of multi variants?
moritz_ or maybe a fail('U WANT TO NUMIFY UR SUBS? ORLY? U R CRAZY') ;-)
Tene looks like apply-sliding-window would be approximately: 22:15
map(&block, [Z] map({@array[$_..*]}, 0..^&block.arity()));
masak rakudo: sub foo {}; say +&foo
p6eval rakudo 6b9755: OUTPUTĀ«get_number() not implemented in class 'Sub'ā¤current instr.: 'prefix:+' pc 21434 (src/builtins/op.pir:119)ā¤Ā»
masak rakudo: class Sub is also { method get_number { 5 } }; sub foo {}; say +&foo 22:16
p6eval rakudo 6b9755: OUTPUTĀ«get_number() not implemented in class 'Sub'ā¤current instr.: 'prefix:+' pc 21434 (src/builtins/op.pir:119)ā¤Ā»
masak bah.
jnthn rakudo: class Sub is also { method Num { $.arity } }; sub foo { }; say +&foo; 22:17
p6eval rakudo 6b9755: OUTPUTĀ«get_number() not implemented in class 'Sub'ā¤current instr.: 'prefix:+' pc 21434 (src/builtins/op.pir:119)ā¤Ā»
masak double bah.
jnthn that one should work
masak submits rakudobug
jnthn But guess we ain't re-mapping get_number vtable yet. 22:18
moritz_ there's a patch for that in RT
by cspencer++
masak oh.
masak stands down rakudobug readiness
cspencer moritz: that patch passed all spectests a couple revisions back, and i'm hoping it still does what it's supposed to do 22:19
though i can't quite remember why'd i implemented it, though i have a feeling it had to do with ranges
Tene rakudo: map { say "$^a - $^b"}, 1..10 Z 1..10
p6eval rakudo 6b9755: OUTPUTĀ«No applicable candidates found to dispatch to for 'map'ā¤current instr.: '_block14' pc 142 (EVAL_19:58)ā¤Ā»
Tene jnthn: is that also relevant to your current work?
masak perks up again 22:20
is that one in RT?
Tene dunno
masak submits, just in case 22:21
jnthn Tene: Perhaps.
Tene: Looks like it may be the same solution, at least.
moritz_ why didn't the test suite catch that? 22:22
Tene jnthn: it's the same if I use arrays not created through ranges.
moritz_ I thought map was rather well tested
Tene rakudo: map { say "$^a - $^b"}, (1,2,3) Z (4,5,6)
p6eval rakudo 6b9755: OUTPUTĀ«No applicable candidates found to dispatch to for 'map'ā¤current instr.: '_block14' pc 156 (EVAL_17:62)ā¤Ā»
Tene looks like it's map + Z 22:23
jnthn rakudo: say ((1,2,3) Z (4,5,6)).WHAT
p6eval rakudo 6b9755: OUTPUTĀ«Listā¤Ā»
jnthn rakudo: say ((1,2,3) Z (4,5,6)).PARROT
moritz_ rakudo: map { say "$^a - $^b }, (1, 2, 3, 4)
p6eval rakudo 6b9755: OUTPUTĀ«Listā¤Ā»
rakudo 6b9755: OUTPUTĀ«say requires an argument at line 1, near " \"$^a - $^"ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā»
masak rakudo: map { say "$^a - $^b" }, (1..10 Z 1..10)
p6eval rakudo 6b9755: OUTPUTĀ«1 - 1ā¤2 - 2ā¤3 - 3ā¤4 - 4ā¤5 - 5ā¤6 - 6ā¤7 - 7ā¤8 - 8ā¤9 - 9ā¤10 - 10ā¤Ā»
masak appears to be a parens thing.
p6eval? hello? 22:24
22:24 iblechbot left
moritz_ and old bot is no aeroplane 22:24
masak: didn't p6eval already answer? 22:25
masak moritz_: not in my reference frame. 22:26
moritz_ masak: the answer to which query do you miss?
22:26 Kisu left
masak moritz_: no, it's all arrived now. 22:26
probably just a bit of lag near my end.
22:27 Kisu joined
masak goes to sleep 22:27
moritz_ blames the hijacked wlan hotspot ;-)
22:27 masak left
moritz_ good idea 22:27
good night
jnthn night
moritz_: Are there tests for typed hashes too?
Oh, moritz++ meant he was taking sleep too 22:28
moritz_ jnthn: not really, just for the dispatch thing
jnthn moritz_: OK. 22:31
ouch, we broke the 300 ticket mark. 22:39
22:43 bacek joined
pugs_svn r26140 | pmurias++ | [re-smop] ported over hash bvalue 22:46
22:47 pmurias left
jnthn rakudo: &map.assuming({}) 22:52
p6eval rakudo 6b9755: ( no output )
jnthn rakudo: my &doubler = &map.assuming({ 2 * $^n }); say &doubler 1,2,3;
p6eval rakudo 6b9755: OUTPUTĀ«Statement not terminated properly at line 1, near "1,2,3;"ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā»
jnthn rakudo: my &doubler = &map.assuming({ 2 * $^n }); say &doubler(1,2,3); 22:53
p6eval rakudo 6b9755: OUTPUTĀ«246ā¤Ā»
jnthn Tene: Heh, I just found rt.perl.org/rt3/Ticket/Display.html?id=64482
22:58 Tene_ joined 22:59 Tene left, Tene_ is now known as Tene, Doubi joined 23:00 DemoFreak left 23:17 skids joined 23:27 cspencer left 23:33 bacek left 23:36 cspencer joined
dalek kudo: 2ae3181 | jnthn++ | src/classes/ (2 files):
Get type checking of operations involving arrays working. Along the way, fixed the bug where my @a; @a = 1; then made anything that referenced @a[0] blow up with a Null PMC Exception.
23:40
kudo: 0a9dd6d | jnthn++ | src/classes/ (2 files):
Get typed hashes working in dispatch and have assignments to them typed-checked. Calling methods on them is still broken; need a few more things to become Perl6MultiSub.
23:44
jnthn @tell masak maybe if you have time take a look at rt.perl.org/rt3/Ticket/Display.html?id=62968 and see if you think we're looking good on that one now. 23:47
lambdabot Consider it noted.
jnthn @tell masak we may want some tests for it if so; scribble on the ticket if there's still issues there :-) 23:48
lambdabot Consider it noted.
jnthn rakudo: role Foo {}; role Bar {}; sub baz(Foo Bar $a) {}; say "should not be alive here before 6.0.0" 23:49
p6eval rakudo 0a9dd6: OUTPUTĀ«should not be alive here before 6.0.0ā¤Ā»
jnthn Eh. Tomorrow. :-)
erm, actually today... 23:50
Anyway, night all
pmichaud jnthn: good night :-)
jnthn pmichaud: BTW Rakudo day zajtra
erm
s/zajtra/tomorrow/
pmichaud jnthn: OKAY
jnthn: C U TMRW KTHXBYE
jnthn pmichaud: Will likely do some tickets, maybe implement .wrap ;-) 23:51
pmichaud ...anotations?
jnthn OH YEAH
pmichaud *annotations?
jnthn Well, if Tene doesn't beat me to it. ;-)
pmichaud no rush... it _did_ take me forever to get to them myself. :-)
jnthn He plans to do some stuff in that area tonight too. So I might not have much to do by the time tomorrow comes. ;-)
pmichaud that would be fine with me.
Tene pmichaud: I had an implementation last night, but had to wait on feedback from Jonathan to fix Exception.pmc.
jnthn fed back :-) 23:52
pmichaud I plan to work on tickets tomorrow. We also should be making our plans for hackathon in oslo
jnthn Yes, agree.
pmichaud I'll likely start a thread and wikipage for it tonight.
jnthn Great.
23:53 bacek_ joined
jnthn Guess it wants to have: binding, parameter passing... 23:53
Might be good to spend some time thrasing out a generally attack plan for multi-dimensional arrays and so forth too. Especially with Larry there if we have questions. :-) 23:54
pmichaud yes. I'm already making a list :-)
oh, are you planning to make it to YAPC::EU ?
jnthn Yes, almost certainly I will be there. 23:55
pmichaud okay. allison and I were discussion our plans for YAPC::EU -- we may want to do a parrot meeting of some sort there.
*discussing
jnthn OK. Is there not one at YAPC::NA (the VM workshop)?
pmichaud I think that's more aimed at people who are interested in working on Parrot. We were thinking of something like PDS -- i.e., planning for 2.0 23:56
jnthn Or more a smaller Parrot-Rakudo meeting?
Ah, OK.
pmichaud (well, it was more allison's idea than my own :-)
jnthn I had thought PDW would incorporate the planning for 2.0 too.
But makes sense to separate them.
And having it in Europe would be nice. :-)
pmichaud I'm just trying to solidify my travel plans, and try to see who can fund them :-) 23:57
jnthn I can easily tack on extra day(s) for a PDS anyway.
pmichaud anyway, good to know you're likely for YAPC::EU.
jnthn :-)
Also at NPW I'd like to work out my next Hague Grant application, since typed arrays and hashes are coming together nicely now. 23:58
And they were pretty much the last thing I have left to do on the current one.
pmichaud yes, we should do that also.
jnthn I guess by then you'll have the roadmap updated too, which will be good input into that.
23:59 Doubious joined