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
|