»ö« | perl6-projects.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot: perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by moritz_ on 27 June 2009. |
|||
00:00
simcop2387 joined
00:01
justatheory left
00:27
dduncan left
|
|||
pugs_svn | r27288 | lwall++ | [STD] add PROCESS:: | 00:30 | |
r27288 | lwall++ | [STD] catch infinitely recursing OUTER::s | |||
r27288 | lwall++ | [Cursor] use PERL6LIB to scan for .pm files | |||
r27288 | lwall++ | [STD,etc.] implement real(er) use and imports | |||
r27288 | lwall++ | [CORE] remove faked up Test and DEBUG packages | |||
r27288 | lwall++ | [Makefile] switch to .syml for "symbol yml"; more snapables | |||
r27288 | lwall++ | [Cursor] arrange .pm.syml filenames so you can't accidentally "use" a setting | |||
r27288 | lwall++ | [std] new setting/module parser and .syml emitter | |||
r27288 | lwall++ | [tloop,tlong] replish proggies I used for my talk | |||
TimToady | std: 88 | 00:34 | |
p6eval | std 27287: ( no output ) | ||
00:37
icwiener left
|
|||
TimToady | std: 88 | 00:37 | |
p6eval | std 27287: ( no output ) | ||
00:39
SmokeMachine joined
|
|||
TimToady | std: 88 | 00:41 | |
p6eval | std 27288: ( no output ) | ||
00:44
last joined
00:45
PacoLinux left
00:46
xinming joined
00:47
PacoLinux joined
00:52
xinming__ joined
00:53
bsh joined,
xinming left
00:55
PacoLinux left
00:56
nbrown joined,
PacoLinux joined
01:02
xinming joined,
xinming_ left
01:07
xinming_ joined
01:09
xinming left,
[bjoern] left
01:12
xinming joined
01:14
xinming__ left
|
|||
obra_ | pmichaud: Where do I want to go looking in rakudo code for how @INC and PERL6LIB work? | 01:17 | |
s1n | obra_: neither of them really work, and it's @*INC now | ||
obra_ | s1n: define "really work"? | 01:18 | |
pastie.org/526819 seems ~ok | |||
s1n | obra_: @*INC was hacked together, pmichaud said it's still up in the air with rakudo | 01:19 | |
obra_ | actually, it's now behaving as expected. | ||
I wonfer how I was screwing up before | |||
s1n | obra_: setting should available by default iirc (probably wrong right now) | 01:20 | |
01:20
xinming__ joined
|
|||
s1n | rakudo: use Safe; | 01:21 | |
p6eval | rakudo 6c43f9: ( no output ) | ||
s1n | sounds okay | ||
obra_ nods. I'm messing around with modules and inc paths | |||
And attempting to understand what would be involved in building the 'make install' target | 01:22 | ||
s1n | obra_: iirc @*INC is sorta just hacked together so people can actually use rakudo, but pmichaud said it will need work (and may change) | ||
obra_: i assume you're fixing parrot first | 01:23 | ||
obra_ | Hah. No. | ||
:) | |||
s1n | i would start by fixing parrot | ||
otherwise you'll likely have to redo whatever hack you come up with now | |||
obra_ | I'm not likely to hack parrot ~ever. | 01:24 | |
I've done my time in the parrot mines ;) | |||
the compiled perl6 target looks fairly reasonable, but we will need to inject system, vendor and site library directories for @*INC | 01:27 | ||
01:28
xinming_ left,
xinming_1 joined
01:33
xinming_ joined
01:34
xinming left
01:38
xinming_1 left
01:40
xinming__ left
01:51
xinming joined
01:53
mjk joined
01:54
charsbar_ left,
charsbar joined
01:56
xinming__ joined
01:57
molaf_xx left
01:58
molaf_xx joined
02:03
xinming_1 joined
02:07
xinming_ left
02:10
mjk left
02:11
xinming_ joined,
xinming left
02:17
xinming joined
02:18
xinming__ left
02:23
xinming_1 left,
xinming left
02:31
xinming_ left
02:32
xinming joined
02:38
mikehh_ joined
02:40
xinming left
02:49
nErVe left
02:54
mikehh left
|
|||
TimToady | std: 88 | 02:54 | |
p6eval | std 27288: OUTPUT«ok 00:02 35m» | ||
02:56
mikehh_ is now known as mikehh
|
|||
TimToady | std: ok | 02:57 | |
p6eval | std 27288: OUTPUT«Undeclared routine: ok used at 1 ok 00:02 35m» | ||
TimToady | std: use Test; ok | ||
p6eval | std 27288: OUTPUT«ok 00:02 35m» | ||
02:58
[particle] joined
03:01
xinming joined
03:13
simcop2387-vnc joined
03:14
[particle]1 left
|
|||
obra_ | pmichaud: ping. For an installed rakudo, how would you like it to keep track of where the perl6 and site_perl6 directories are? | 03:16 | |
03:16
simcop2387 left,
simcop2387-vnc is now known as simcop2387
03:18
last left
03:24
FurnaceBoy left
03:34
justatheory joined
03:50
Chillance joined
04:06
SmokeMachine left
04:08
justatheory left
04:10
am0c left
04:11
amoc joined
04:13
amoc left
04:19
KyleHa joined
|
|||
s1n | pmichaud: still looking for a relman? | 04:26 | |
KyleHa | rakudo: if 5 > my $a = 4 { say $a } | 04:38 | |
p6eval | rakudo 6c43f9: OUTPUT«Unable to set lvalue on PAST::Val nodein Main (src/gen_setting.pm:3225)» | 04:39 | |
04:50
xinming_ joined
05:00
meppl joined
05:01
amoc joined
05:03
KyleHa left
05:06
breinbaa1 joined
05:08
xinming left,
kane__ left,
frettled left,
kcwu left,
shachaf left,
betterworld left,
breinbaas left,
BinGOs left
05:10
shachaf joined
05:11
frettled joined
05:13
kcwu joined
05:15
betterworld joined,
kane_ joined
|
|||
pugs_svn | r27289 | kyle++ | [t/spec] Skip the tests that are said to be skipped | 05:17 | |
05:20
amoc left
05:30
mikehh_ joined,
nihiliad left
05:35
skids left
05:40
amoc joined
05:46
mikehh left
05:52
amoc__ joined,
amoc__ is now known as am0c
05:54
meppl left
06:01
doroboy joined
06:02
amoc left,
am0c left,
amoc joined
06:06
amoc__ joined
06:07
amoc__ is now known as am0c
06:19
nbrown_ joined,
meppl joined
06:22
nbrown left,
nbrown_ is now known as nbrown
06:24
amoc left
06:26
xinming joined
06:32
xinming__ joined
06:33
pmurias joined
06:37
xinming_1 joined
06:38
azawawi joined
|
|||
azawawi | obra_: ping | 06:38 | |
obra_: are you the one responsible for adding blogs to planetsix? | 06:39 | ||
06:41
xinming_ left
06:47
xinming left
06:48
xinming joined
06:53
ejs joined
06:54
xinming__ left
06:59
Chillance left
07:04
eMaX joined,
xinming_1 left
07:06
snarkyboojum left
07:08
xinming_ joined
07:11
azawawi left
07:14
am0c left,
azawawi joined
|
|||
azawawi | moritz_: ping | 07:14 | |
07:16
amoc joined
07:18
xinming__ joined
|
|||
pmurias | azawawi: if i want to check out the Padre refactoring Perl 6 support what do I have to do? | 07:18 | |
07:20
xinming left
|
|||
azawawi | pmurias: it is still just an experimental script | 07:20 | |
pmurias: not in Padre.. | 07:21 | ||
pmurias: gist.github.com/137215 | |||
pmurias | not in Padre-Plugin-Perl6? | ||
azawawi | pmurias: yeah i didnt have the time to include it yet... im refactoring S:H:P6 to support viv instead of redspans parsing... | 07:22 | |
pmurias: im actually thinking what the refactoring package name will be.. | 07:23 | ||
pmurias: maybe Devel::Perl6::Refactor | |||
07:33
xinming_ left
07:39
Khisanth left
07:40
gbacon left
07:45
doroboy left
07:46
mvuets joined
07:53
amoc left,
amoc joined
07:57
meteorjay left
07:58
meteorjay joined
08:03
Muixirt joined
08:13
M_o_C joined
08:16
iblechbot joined
08:27
REPLeffect joined
08:32
Khisanth joined
08:35
snarkyboojum joined
08:42
eMaX left
08:45
azawawi left
08:47
DemoFreak joined
08:49
mikehh_ is now known as mikehh
08:51
ejs left
08:54
mvuets left
08:55
mvuets joined
08:56
ejs joined,
last joined
09:03
last left
09:08
payload left
09:09
payload joined
|
|||
mikehh | Wow - I just ran the tests in 9 minutes on my new computer | 09:09 | |
couple of failures though | 09:10 | ||
make test + make spectest start 09:56:46 BST - 10:05:01 BST | 09:12 | ||
in fact started the build with make realclean + git pull etc at 09:53:18 BST | 09:13 | ||
09:17
dukeleto joined
09:19
amoc left
|
|||
mikehh | that's less than 12 minutes, including me typing the commands | 09:20 | |
09:21
amoc joined
|
|||
mberends | mikehh: impressive speed (the human is becoming the bottleneck) | 09:26 | |
mikehh | It used to take me nealy an hour on my old computer | 09:27 | |
I built , smoked and did a fulltest on parrot in 43 minutes | 09:28 | ||
nearly | 09:29 | ||
mberends | spectest now takes an hour on a little eee netbook | ||
pugs_svn | r27290 | azawawi++ | [S:H:P6] more emit_tokens_viv.pl cleanup | ||
mvuets | Is there some 'undef'? | 09:31 | |
pugs_svn | r27291 | azawawi++ | [S:H:P6] support missing unless | 09:32 | |
mberends | rakudo: my $a=5; $a = undef; say "gone" unless defined $a; # for mvuets | 09:35 | |
p6eval | rakudo 6c43f9: OUTPUT«gone» | ||
09:36
lichtkind joined
|
|||
mvuets | mberends, oh. So next question. I expect the followind to be worked, what's wrong? for 1..10 -> $odd, undef { .say } | 09:37 | |
lichtkind | mberends: hello | 09:38 | |
mberends | lichtkind: hello, you were very busy ! | ||
lichtkind | mberends: thanks but just starting today | 09:39 | |
mberends | mvuets: probably undef cannot be assigned to, it seems to work as an rvalue not an lvalue | ||
lichtkind | mberends: i have currently urge to complete appendix a, today will be regex modifier | 09:40 | |
mberends: just wanted to ask you if you chacked last changes | |||
mvuets | mberends, i'm just thinking in perl5-style where such is possible: (undef, $min, $hour) = localtime | 09:41 | |
mberends | rakudo: for 1..10 -> $odd, $even { $odd.say } # sorry, a bit hackish | ||
p6eval | rakudo 6c43f9: OUTPUT«13579» | ||
mberends | lichtkind: after a week offline, the backlogs are too much :( it's nice to see over 360 items in the glossary, and with a bit of persuasion the content can be integrated into grok and u4x, bringing more brains onto the material :) | 09:44 | |
amoc | rakudo: if 4 ~~ [1,2,3,4] { say 'fourrr!' } | 09:47 | |
p6eval | rakudo 6c43f9: OUTPUT«sh: ./perl6: No such file or directory» | ||
amoc | rakudo: say 'ping' | ||
p6eval | rakudo 6c43f9: OUTPUT«sh: ./perl6: No such file or directory» | ||
mvuets | pugs: print 'ok' if 'aóe' ~~ m:a/aoe/; | 09:49 | |
p6eval | pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/evalenv/pugs/perl5/Pugs-Compiler-Rule/lib'; unshift @INC, '/home/evalenv/pugs/third-party/Parse-Yapp/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime… | ||
09:49
snarkyboojum left
09:51
dukeleto left
|
|||
mvuets | mberends, oops, i made a mistake with '.say', should be '$odd.say'. Your variant with two scalars is obvious, but isn't what i want. | 10:03 | |
10:06
lichtkind left
|
|||
amoc | rakudo: say 'ping again' | 10:11 | |
p6eval | rakudo 6c43f9: OUTPUT«ping again» | ||
10:12
BinGOs joined
|
|||
mvuets | rakudo: my $s; (undef, $s) = 1..3; say $s; # mberends, undef can be lvalue as well as in perl 5. So that question is open. | 10:13 | |
p6eval | rakudo 6c43f9: OUTPUT«2» | ||
10:13
jnthn left
10:14
jonathan_ joined,
jonathan_ is now known as jnthn
|
|||
mvuets | Perl 6 behaves like 'use strict' by default? | 10:15 | |
mberends | mvuets: yes, that much is certain :) | 10:16 | |
mvuets | Who is responsible for changes of synopseses? | 10:18 | |
10:21
lichtkind joined
10:24
ejs left
10:28
Jedai left
10:29
Jedai joined
|
|||
mberends | mvuets: each Synopsis names Author(s) and Maintainer(s), but technically all Pugs committers may make changes. "It's easier to ask forgiveness than it is to get permission" -- Grace Hopper | 10:30 | |
mvuets | mberends, i see, thank you. Seems i've found appropriate ML to ask. | 10:32 | |
10:33
ejs0 joined
|
|||
jnthn | hi all | 10:34 | |
10:36
freeplatypus joined
|
|||
mberends | jnthn, \o | 10:38 | |
jnthn | mberends: hi! :-) | 10:40 | |
10:42
freeplatypus left
10:43
drbean_ is now known as drbean
|
|||
lichtkind | jnthn: cheers | 11:00 | |
11:16
ejs joined
|
|||
mberends | jnthn: if Parrot's freeze() segfaults on bytecode generated by Rakudo, should I pursue that in #parrot or #perl6? | 11:16 | |
pmurias | it seems a parrot bug | 11:17 | |
mberends | pmurias, thanks | 11:18 | |
jnthn | freeze opcode? | 11:21 | |
11:21
last joined
|
|||
jnthn | Yeah, segfault is Parrot bug most likely though. | 11:21 | |
11:22
last left
11:23
snarkyboojum joined
|
|||
mberends | jnthn: yes the freeze opcode in PIR, attempting to make a library file for multiple compiled modules. I'll reduce the problem to a small test case. | 11:29 | |
11:31
Su-Shee joined
|
|||
Su-Shee | good morning. | 11:31 | |
11:31
fridim joined
11:34
ejs0 left
11:36
pmurias left
11:43
elmex left,
elmex joined
11:44
ejs left
11:50
bsh is now known as [bjoern]
11:57
xinming joined
11:59
snarkyboojum left
12:02
[particle]1 joined
12:03
masak joined
|
|||
masak | ahoj! | 12:03 | |
mberends | ahoj masak! | 12:04 | |
masak | mberends! 好九不见了! | ||
dang, wrong 'jiu'... :) | 12:05 | ||
mberends | uh-oh, font tail :/ | ||
masak | should be 久... | ||
mberends | fail even | ||
masak | yes, Chinese and Linux are still a bad match, unfortunately. | ||
there's some .deb package, I think... | 12:06 | ||
pugs_svn | r27292 | azawawi++ | [S:H:P6] Added more keywords... | ||
Su-Shee | right font, correct locale, scim and you're done. :) | ||
masak | hokay, plans for today: a bit of Web.pm/Hitomi work, and making my SVG Druid board rotate. | 12:10 | |
12:16
xinming__ left
12:17
[particle] left
12:25
Whiteknight joined
12:27
meppl left
|
|||
mvuets | pugs: my $s = 'à'; say "{$s.bytes} {$s.codes} {$s.graphs}"; | 12:27 | |
p6eval | pugs: OUTPUT«2 1 1» | ||
masak | pugs++ | 12:28 | |
mvuets | masak, sorry? | ||
masak | mvuets: wasn't that the correct answer? | ||
mvuets | masak, according to perlgeek.de/blog-en/perl-5-to-6/17-unicode.html it might be "3 2 1". I guess. | 12:29 | |
masak | oh. | ||
pugs--, then. :) | |||
mvuets | (= Someone counts scores? | 12:30 | |
pochi | karma pugs | ||
masak | @karma pugs | ||
lambdabot | pugs has a karma of 3 | ||
masak | @karma rakudo | ||
lambdabot | rakudo has a karma of 21 | ||
mvuets | I see. Strange hehe. | 12:31 | |
pochi | what's the correspondence between a string and .bytes? | 12:32 | |
masak | pochi: in general, a string doesn't even know its .bytes | ||
mvuets | pugs: my $s = "\x61\xcc\x80"; say "$s {$s.bytes} {$s.codes} {$s.graphs}"; | 12:33 | |
p6eval | pugs: OUTPUT«aÌ 5 3 3» | ||
masak | pochi: because strings are normally higher-abstraction beasts than byte-level. | ||
admittedly, I don't get all the subtleties around strings and buffer types yet. | |||
pochi | wouldn't the number of bytes for 'à' depend of what encoding was being used? | 12:34 | |
masak | obra_: there's some real disincentive to perpetuating PERL6LIB in other systems. it's just a throwaway short-term solution in Rakudo. | 12:35 | |
mvuets | Maybe Perl 6 assumes everything UTF-8? | ||
masak | pochi: yes, it would. | ||
pochi: I'm not even sure the Str type will have a .bytes method. | |||
mvuets: well, it does in many locales, I think. | 12:36 | ||
mvuets: but not everywhere. | |||
pochi | how did you solve the url encoding problem? | ||
12:36
elmex_ joined
|
|||
masak | pochi: I nagged pmichaud to create .encode and .decode methods. :) | 12:37 | |
pochi | ah :) | ||
masak | actually, he volunteered, as a way to resolve the situation. | 12:38 | |
pochi | pmichaud++ | ||
masak | mvuets: script files use strict by default. IIUC, -e scripts will still be unstrict. but no implementation does that currently. | 12:39 | |
mvuets | masak, aha, thank you. Good news (: | 12:40 | |
masak | details such as these can often be found in the synopses, by the way. it's a lot of reading, but what sweet rewards! | 12:41 | |
mvuets | I'm going to read all that. | ||
pugs: my $s = "\c[LATIN SMALL LETTER A, COMBINING GRAVE ACCENT]"; print $s.bytes, $s.codes, $s.graphs; | 12:43 | ||
p6eval | pugs: OUTPUT«321» | ||
mvuets | Yahoo. | 12:44 | |
12:46
meppl joined
|
|||
mvuets | How to say "\x{0041}" in Perl 6? (Unicode string literal by code.) | 12:48 | |
12:50
elmex left,
elmex_ is now known as elmex
|
|||
amoc | rakudo: say "\c[0041]"; # test | 12:52 | |
p6eval | rakudo 6c43f9: OUTPUT«)» | ||
12:54
azawawi joined
|
|||
azawawi | hi | 12:54 | |
masak: pingo | |||
masak | azawawi: pongo. | 12:55 | |
azawawi | :) | ||
masak | (leaving briefly in a minute, though.( | ||
azawawi | masak: what's a good cpan package name for Perl 6 refactoring in your opinion? | ||
masak | hm. | ||
Perl6::Refactoring ? | |||
azawawi | masak: i was thinking something like Devel::Perl6::Refactor | ||
masak | that works. | 12:56 | |
mvuets | amoc, nice. Just is specified as decimal. | ||
azawawi | masak: i heard Perl6::* is for implementing P6 in P5 | ||
masak | ah, yes. it often is. | 12:57 | |
azawawi | hmmm | ||
masak | sushi & | ||
azawawi | nooooo :) | ||
masak: have fun :) | |||
13:00
azawawi left
|
|||
mvuets | perl6: 'aaaa' ~~ m/a|aaa|aa/; print $/; | 13:01 | |
p6eval | pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/evalenv/pugs/perl5/Pugs-Compiler-Rule/lib'; unshift @INC, '/home/evalenv/pugs/third-party/Parse-Yapp/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime… | ||
..rakudo 6c43f9: OUTPUT«a» | |||
..elf 27292: OUTPUT«Global symbol "$_47" requires explicit package name at (eval 124) line 4. at ./elf_h line 5881» | |||
mvuets | Something wrong with Pugs' regex, nothing work at all /: And isn't implemented in Rakudo yet? | 13:02 | |
13:04
amoc left
|
|||
jnthn | mvuets: Rakudo doesn't do LTM on | yet, it treats it like it's ||. | 13:04 | |
mvuets | jnthn, ok. What is LTM? | ||
jnthn | mvuets: Longest Token Matching | 13:05 | |
The thing that makes a|aaa|aa give aaa in this case rather than just the first match. | |||
mvuets | jnthn, oh, thank you. A lot of work as i see (: | ||
Aha, just read about | and ||. Understand now. P6 is amazing! | 13:06 | ||
13:20
skids joined,
last joined
13:28
finanalyst joined
13:34
Chillance joined
13:35
pmurias joined,
pmurias left
13:38
dukeleto joined
|
|||
finanalyst | i have written a routine in parrot (.pir), how can I use it in perl6? | 13:42 | |
phenny | finanalyst: 22 Jun 21:26Z <japhb> tell finanalyst I wrote the OpenGL bindings. They do work from both PIR and Perl 6 (in Rakudo). Or at least, WFM. :-) The black window problem is a (really long-standing) bug in Parrot NCI when JIT is enabled. You need to configure parrot with --jitcapable=0. | ||
finanalyst | japhb: ping | 13:43 | |
@seen japhb | |||
lambdabot | japhb is in #perl6. I last heard japhb speak 1d 16h 50m 10s ago. | ||
TimToady | mvuets: in theory, when working at grapheme level, Str isn't supposed to know .codes either, since that depends on the normalization form | 13:49 | |
but rakudo is really still working at the codes level all the time | |||
13:52
lichtkind left
13:53
dukeleto left
|
|||
mvuets | TimToady, what is a normalization form? | 13:57 | |
finanalyst | phenny: tell japhb --jitcapable=0 worked but on reviewing opengl.pm noticed createmenu is ignored. | ||
phenny | finanalyst: I'll pass that on when japhb is around. | ||
TimToady | mvuets: short answer, whether c[LATIN SMALL LETTER A, COMBINING GRAVE ACCENT] is represented by one codepoint or two | 14:03 | |
mvuets: would you like a commit bit to the pugs repo so you can work on tests and specs? | 14:04 | ||
if so, /msg me your email addr and preferred svn nick | |||
14:10
icwiener joined
|
|||
mvuets | TimToady, wow. I'll be greatly appreciated for such ability. | 14:13 | |
/say_to TimToady!perl6%irc.freenode.net@irc.xmpp.org.ru E-mail: [email@hidden.address] and nick mvuets is ok. | 14:14 | ||
TimToady | I don't think your alias worked :) | ||
mvuets | TimToady, damnit, that was verbose input (: | 14:15 | |
TimToady | commitbit sent | ||
it's customary to add yourself to AUTHORS as your first test commit | |||
mvuets | TimToady, got it. Thank you. | 14:20 | |
14:21
amoc joined
14:24
amoc left
14:26
amoc joined
|
|||
TimToady | shower & | 14:27 | |
14:42
M_o_C left,
hercynium joined
14:44
pochi left,
jferrero joined
14:51
Muixirt left
15:03
pmurias joined
15:17
kst` left,
kst` joined
15:23
M_o_C joined
15:40
viklund joined
|
|||
viklund | Good Evening. | 15:41 | |
15:42
SmokeMachine joined
|
|||
obra_ | masak: If the plan is to kill PERL6LIB, what's the right way to specify a search path for modules from %*ENV? | 15:42 | |
15:44
nihiliad joined
|
|||
viklund | Isn't the idea that smth like PERL6LIB will still be for user installed modules but not for things installed by administrators and package-managers | 15:45 | |
obra_ | the environment variable is traditionally for supplementing the path set up for global and site lib directories | 15:50 | |
viklund | yes, well, I guess it will be used for that somehow anyway, but since we allow any characer in module names we need to handle filesystems that don't do that | 15:52 | |
15:54
Muixirt joined
|
|||
viklund | and I don't see any reason to only allow certain file-system locations in the module database, so that can still be held separate | 15:55 | |
obra_: so basically I think I agree with you ;) | |||
but after a 'make install' PERL6LIB shouldn't be involved for using that module anymore | 15:57 | ||
obra_ | what? | ||
PERL6LIB is the way to, at runtime, say "hey rakudo, look over here for some installed modules" | 15:58 | ||
viklund | ;) | ||
obra_ | so that, say, an app can have a private lib dir. | ||
15:58
dmpk2k left
|
|||
viklund | ahh | 15:58 | |
obra_ | at least that's how it works in Perl 5. | ||
viklund | that's what you're talking about | ||
for that thing I don't know | 15:59 | ||
obra_ | ..and python..and ruby. | ||
and I'd presume other languages. | |||
If that mechanism is going away, what's the replacement? | |||
viklund | I don't know how it's going to work for doing it at runtime | 16:01 | |
obra_ | Well, my current change doesn't change the mechanism; It just moves it into the setting. I'll wait for pmichaud to comment - github.com/obra/rakudo/commit/3887d...7c2f973060 | 16:03 | |
pmurias | obra_: it think keeping the module data in a database of some sorts is the intended solution | 16:04 | |
obra_ | pmichaud and I talked some about that at YAPC. It sounded like the database was intended as a cache rather than a canonical source of truth. | 16:05 | |
But now, I'm being pulled off to breakfast. | 16:10 | ||
*wave* | |||
mberends | obra_: a module library/database might also be the canonical source of truth, to avoid Unicode name mangling issues and to support :auth and :ver as per S11. | ||
16:12
alester joined
|
|||
mberends | there is a project to attempt providing such a database: gitorious.org/parrot-module-lib/main | 16:12 | |
masak | S19 refers to PERL6LIB as "A list of directories in which to look for ad hoc Perl library files.", but it also notes that this is speculative, since library loading is not yet nailed down. | 16:13 | |
not nailed down, it goes on, "except insofar as S11 mandates various behaviors incompatible with mere directory probing." | |||
mberends | PERL6LIB could supplement directories as a fallback when a database query cannot provide a suitable match. | 16:15 | |
masak | seems [particle]1 wrote that part of S19, on 2008-12-19. | 16:16 | |
mberends: possibly. as long as the precendence is obvious to the user. | 16:17 | ||
ever since TimToady told me sternly that PERL6LIB is a short-term measure (this was shortly before I created proto), I've always thought about it as going away entirely. but maybe it's not. | 16:18 | ||
mberends | we should agree on a precedence spec, I would think database first | ||
viklund | yes, otherwise the database seems kind of meaningless | ||
but of course, the user should be able to add stuff before the system-libs are searched | 16:19 | ||
hmm, that would be an argument for PERL6LIB (or similar) first | |||
mberends | viklund: hmm ;) | 16:20 | |
masak | I'm not sure I like the dual nature of database-cum-PERL6LIB. | ||
it seems more confusing than going entirely database. | |||
mberends | but filesystem is nice for ad hoc work, and P5 continuity | 16:21 | |
viklund | how do you add smth to the database as a normal user? | ||
mberends | viklund: you may not be able to, it should be an admin operation | ||
masak | viklund: with a simple command, I'd hope. | ||
viklund | say I want to play around with stuff in a local directory (or several) first, how is that supposed to be suppored | 16:22 | |
masak | if we keep PERL6LIB around, some form of the unicode squashing problem is bound to hit us. | ||
viklund | iit is adding a slightly more involved step | ||
mberends | the simplest filesystem default is to search from . (current directory) with or without PERL6LIB | 16:24 | |
viklund | is this a bug: | ||
rakudo: for <a b> { say "The loop var: {$^a}" } | 16:25 | ||
p6eval | rakudo 6c43f9: OUTPUT«too few arguments passed (0) - 1 params expectedin Main (/tmp/QTHb1KcxJI:2)» | ||
mberends | afk & | ||
viklund | should the {} in strings be a block that takes params? | ||
masak | viklund: it's not a bug. | 16:27 | |
it's a strange phenomenon emerging from the fact that {} in qq strings are proper blocks. | 16:28 | ||
viklund | slightly counterintuitive | ||
masak | nod. | ||
but already discussed once. | 16:29 | ||
I'm looking for the RT ticket now. | |||
viklund | I can see how it happens, but I just wanted it too DWIM ;) | ||
is there anyway of passing args to such a block? | |||
masak | rakudo: for <a b> { $^a; say "The loop var: {$a}" } | 16:30 | |
p6eval | rakudo 6c43f9: OUTPUT«The loop var: aThe loop var: b» | ||
masak | viklund: that's what I tend to do. | ||
viklund | strange... | 16:31 | |
so the ^ isn't part of the name? | |||
masak | what's part of the name of a var is an increasingly philosophical question in Perl 6. :) | 16:32 | |
viklund | :D | ||
masak | viklund: the concrete answer being that if you have referred to $^a, you can then refer to $a. good when having inner blocks, as here. | 16:33 | |
viklund | ideed, quite handy | 16:34 | |
16:34
dukeleto joined
|
|||
masak | that part of the spec fell out from my mistreatment of placeholder parameters. :) | 16:35 | |
viklund | what? | 16:36 | |
oh, well | |||
masak | viklund: I submitted the (non-)bug you asked about, and the result was the spec change that allowed $a after $^a. | 16:37 | |
ah, S06:1533. | |||
16:38
FurnaceBoy joined
16:39
dmpk2k joined
|
|||
masak | using git to dig for specific changes is an interesting endeavour. the line S06:1533 was added by pmichaud, but only because TimToady had made the change to the spec at its previous location after it had been moved to the Pugs repo. | 16:43 | |
16:43
justatheory joined
16:46
jan_ joined
|
|||
obra_ | win 15 | 16:47 | |
16:47
Psyche^ joined
|
|||
masak gives up on trying to find the RT ticket | 16:48 | ||
16:49
masak left
|
|||
viklund | win 15? | 16:50 | |
jnthn | fail 18 | 16:52 | |
;-) | |||
17:00
Patterner left,
Psyche^ is now known as Patterner
17:05
icwiener_ joined
17:08
eMaX joined
17:20
icwiener left
17:24
Lorn joined
17:26
jferrero left
17:41
lichtkind joined,
pochi joined
17:48
justatheory left
17:50
Lorn left,
Lorn joined,
Lorn left,
Lorn joined
17:52
Muixirt left
|
|||
moritz_ | re | 18:01 | |
phenny | moritz_: 27 Jun 22:15Z <eternaleye> ask moritz_ Is it known that &infix:<...> fails on //=, but = $a // $b works fine? | ||
moritz_: 27 Jun 22:16Z <eternaleye> tell moritz_ example: my @seed = 0, 1; my @fibs = @seed ... { state $count //= 0; $count++ < 100 ?? $^a + $^b !! () }; .say for @fibs | |||
eternaleye | Hi moritz_ | 18:04 | |
18:05
Molaf left,
Molaf joined
|
|||
moritz_ | hey eternaleye | 18:10 | |
that doesn't look like it's related to infix:<...> at all | 18:11 | ||
rakudo: sub a { state $x //= 3; $x++; say $x }; a(); a() | |||
p6eval | rakudo 6c43f9: OUTPUT«44» | 18:12 | |
moritz_ | rakudo: sub a { state $x = 3; $x++; say $x }; a(); a() | ||
p6eval | rakudo 6c43f9: OUTPUT«45» | ||
japhb | finanalyst: yes, there are a number of things that cannot be expressed directly using Parrot's NCI | 18:15 | |
phenny | japhb: 13:57Z <finanalyst> tell japhb --jitcapable=0 worked but on reviewing opengl.pm noticed createmenu is ignored. | ||
japhb | thanks, phenny | ||
amoc | er... | ||
rakudo: state $x //= 3; $x.say | |||
p6eval | rakudo 6c43f9: OUTPUT«Null PMC access in find_method()in Main (/tmp/0WLeDM7CkS:2)» | ||
amoc | rakudo: my $x //= 3; $x.say | ||
p6eval | rakudo 6c43f9: OUTPUT«3» | ||
finanalyst | japhb: good evening | 18:16 | |
japhb | finanalyst: Parrot NCI needs an overhaul, but I believe that is queued behind a bunch of other huge things. For now, I'm still working through finding out what *can* be done, and how painful it may or may not be. | ||
finanalyst | japhb: i am looking for a way to get (simple) GUI into perl6 | 18:17 | |
japhb | finanalyst: OpenGL 1.0 seems decent so far, but I haven't even gotten to texturing | ||
finanalyst | but GLUT without menus is a bit of a pain | ||
amoc | strange - | 18:18 | |
rakudo: { state $x //= 3; $x.say } | |||
finanalyst | i got SDL font working | ||
p6eval | rakudo 6c43f9: OUTPUT«3» | ||
amoc | rakudo: state $x //= 3; $x.say | ||
p6eval | rakudo 6c43f9: OUTPUT«Null PMC access in find_method()in Main (/tmp/RBMCxrMHbk:2)» | ||
amoc | rakudo: state $a = 1; $a.say | ||
p6eval | rakudo 6c43f9: OUTPUT«1» | ||
japhb | finanalyst: no argument, but I just don't have a way to express it yet. Ideas welcome. | ||
Callbacks are ... very suboptimal right now. | 18:19 | ||
finanalyst | japhb: if i have a sub xxx in mod.pir how do I call it in a perl6 program? | ||
use mod; xxx() doesnt seem to work | 18:20 | ||
18:21
synth joined
|
|||
japhb | finanalyst: Assuming mod.pir is in runtime/parrot/library/ , then 'use mod:from<parrot>;' | 18:24 | |
finanalyst | suppose it is in the current directory? | ||
18:25
desertm4x joined
|
|||
japhb | finanalyst: Then I don't know. I suppose you could wrap the whole thing in 'Q:PIR{}' and load it as a Perl 6 file ... | 18:26 | |
finanalyst: the problem is that when you 'use Foo:from<parrot>' you're asking *parrot* to find and load Foo, not Perl 6. | 18:27 | ||
18:28
justatheory joined
|
|||
finanalyst | ok. but when mod.pm is compiled to mod.pir it can be <use>d by a perl6 program and the sub's are visible | 18:29 | |
i tried looking at the compiled mod.pir but very confusing | |||
18:30
kidd_ joined
|
|||
japhb | A .pir that is a conversion from a .pm contains a lot of extra stuff that Rakudo uses to (among other things) make the compile-time environment aware of all the stuff that got loaded, in all the right ways (instantiating types, etc.) | 18:30 | |
Plus, .pm -> .pir compile is unoptimized. It's not that all the individual emitted snippets are particularly bad, there's just no optimization between snippets. So you have multiple loads of the same variable, no loop constant hoisting, etc. | 18:32 | ||
finanalyst | I just got a sub working from a .pir file, but it broke rakudo | ||
it generated an SDL window though | 18:33 | ||
18:33
PacoLinux left
|
|||
japhb | Consider that a success. | 18:33 | |
Right now, anything you get working with NCI is an unmitigated win. | |||
finanalyst | except i now havent a clue how to go further. | 18:36 | |
18:43
justatheory left
|
|||
Tene | japhb: the current directory is in the parrot search path | 18:46 | |
so you should be able to put a .pir in $CWD just fine | |||
18:49
kst` left
|
|||
finanalyst | Tene: i got a .sub from a .pir file that was in the current directory working. | 18:54 | |
18:55
kst joined
|
|||
pugs_svn | r27293 | azawawi++ | [S:H:P6] more keywords support... | 18:57 | |
19:03
DemoFreak left
19:07
xomas left
19:14
Su-Shee left,
lichtkind left
19:19
last_ joined
19:20
DemoFreak joined
19:22
PacoLinux joined
19:30
DemoFreak left
19:31
M_o_C left,
DemoFreak joined
19:34
lichtkind joined
19:37
last left
|
|||
eternaleye | phenny: tell masak Why make PERL6LIB be a list of _directories_? Why not have the tools that generate a database have a switch, --global, that only works for UID 0, and everyone else passes, say, --database-location and it builds an unpriviledged database? | 19:39 | |
phenny | eternaleye: I'll pass that on when masak is around. | ||
eternaleye | phenny: And then PERL6LIB can point at individual _databases_ | 19:40 | |
phenny: tell masak And then PERL6LIB can point at individual _databases_ | |||
phenny | eternaleye: I'll pass that on when masak is around. | ||
eternaleye | phenny: tell masak Or even simpler, just have --database-locaton and use filesystem permissions | 19:41 | |
phenny | eternaleye: I'll pass that on when masak is around. | ||
eternaleye | phenny: tell masak Then, @*INC can be an Array of ModuleLibrary or summat, with introspection and everything | 19:42 | |
phenny | eternaleye: I'll pass that on when masak is around. | ||
eternaleye | TimToady: ^^^ thoughts? | 19:48 | |
TimToady | a directory *is* a kind of database :) | 19:56 | |
but yes, that is more or less what I've been thinking | |||
eternaleye | Thanks TimToady | 19:58 | |
I was thinking of "database" as anything which provides the appropriate interface for module-loading, which could be implemented with directories, but which certainly _wouldn't_ just be a flat namespace-as-directories tree like p5 | 20:00 | ||
20:01
moritz_ sets mode: +oo TimToady eternaleye
20:02
meppl left,
moritz_ sets mode: +ooo jnthn pmurias pmichaud
|
|||
eternaleye | The nice thing about that is it lets us do stuff like what 'rip' does in Ruby, with virtual environments, etc (although :version and :auth go a long way towards making that unnecessary) | 20:02 | |
20:03
finanalyst left
20:04
ejs joined
|
|||
eternaleye | Sysadmins would probably appreciate the ability to prepackage/bundle a full database for mirroring to systems, though | 20:04 | |
As would software distributors | 20:05 | ||
20:07
rfordinal joined
|
|||
jnthn | ahoj rfordinal :-) | 20:08 | |
rfordinal | jnthn : ahoooj :) ako sa mas? | 20:09 | |
jnthn | rfordinal: Mam sa dobre...isiel som na dovolenku. :-) | 20:10 | |
A ty? | |||
rfordinal | jnthn : ja som odpocival vela cez weekend. tak dobre :-) dovolenka daleko | ||
jnthn | Ah, ja som oddychoval dnes tiez...cestoval som celu vceru vlakom z talianska. | 20:13 | |
Praca zajtra... | 20:14 | ||
jnthn suddenly realizes this is #perl6, not #slovakia.pm! | 20:15 | ||
20:16
lichtkind left
|
|||
mberends | jnthn: ah, dobro večer! | 20:17 | |
mvuets | jnthn, a bit familiar with russian (: | ||
jnthn | mberends: dobre :-) | ||
20:17
eMaX left
|
|||
jnthn | mvuets: Да, правда. | 20:18 | |
mvuets | jnthn, (: отлично! | ||
TimToady | I was raised to think that правда means Soviet propaganda. :) | 20:19 | |
jnthn | TimToady: Heh. Actually, I was quite surprised when wandering around some museums in Russia to notice so many of them appeared to say "family". Then I discovered that in Russian, rodina means motherland, not family. :-) | 20:20 | |
erm, so many of the propaganda posters... | |||
mvuets | TimToady, it's just 'truth'. | ||
TimToady | mvuets: yes, was a joke | 20:21 | |
mvuets | jnthn, rodyna means family but in ukrainian. | ||
20:23
ejs left
|
|||
jnthn | mvuets: Oh, in Ukrainian too? | 20:23 | |
mvuets: In Slovak rodina is family also. | |||
20:23
alester left
|
|||
jnthn | Ukrainian mostly to me felt like a mix of Russian and Slovak. :-) | 20:24 | |
mvuets | jnthn, aye. The same language family. WP says that Ukrainian is a language of the East Slavic subgroup of the Slavic languages. | 20:26 | |
20:27
jlmoko left
|
|||
jnthn | mvuets: Right. Slovak is west slavic. But the east and west slavic languages seem gramatically close. | 20:29 | |
pugs_svn | r27294 | lwall++ | [STD] just comments and code rearrangements | ||
jnthn | IIRC, Ukrainian has a vocative case also. | ||
mvuets | jnthn, right. | 20:30 | |
jnthn | Curiously, so does Czech. | ||
Czech is really close to Slovak though. | 20:31 | ||
mvuets | Oh, btw. What is that STD or STD.pm? | ||
jnthn | STD.pm is the official Perl 6 grammar. | ||
mvuets | For PGE? | 20:32 | |
jnthn | For any Perl 6 implementation. | ||
See svn.pugscode.org/pugs/src/perl6/STD.pm | |||
Rakudo should use this eventually. | |||
mvuets | Does Rakudo use it as is? | ||
jnthn | Not yet | 20:33 | |
But we try and follow it to the extent we can. | |||
And are aiming to increasingly converge. | |||
mvuets | So it is taken piece by piece as Rakudo being implemented? | 20:34 | |
jnthn | Right, but sometimes Rakudo's implementation of the grammar engine does not yet support things as they are written in STD.pm so we have to change it a bit. | ||
Some bits we just copy-paste though. :-) | |||
mvuets | I see now. Something else i need to know about Perl 6 except specs, spectests and STD? | 20:35 | |
jnthn | In terms of the language spec, that's probably most of it. | 20:36 | |
mvuets | Such things as localtime, open, stat, opendir... will go to S30? | 20:38 | |
20:38
eMaX joined
|
|||
mberends | mvuets: there are enough unknowns that we still often just try to write any application to run on Rakudo, and discuss the problems here. | 20:39 | |
mvuets, and in some cases, the discussion even leads to improvements in the language specification and soon thereafter the implementation :) | 20:41 | ||
mvuets | OK. Does Larry appear sometimes here? | 20:43 | |
mberends | mvuets: who do you think TimToady is ;) | ||
jnthn | mvuets: You already talked to him. :-) | ||
mvuets | omg (: | 20:44 | |
20:48
PacoLinux left
20:49
PacoLinux joined
20:55
amoc left
|
|||
mvuets | What script is used to convert pugs/docs/Perl6/Spec/*.pod to feather.perl6.nl/syn/*.html? | 20:56 | |
mberends | mvuets: possibly pugs/docs/feather/script/update-syn | 21:01 | |
21:12
chipdude joined
|
|||
chipdude | g'day | 21:12 | |
mvuets | mberends, tnx. | ||
21:13
pmurias left
|
|||
mberends | chipdude, g'day mvuets, np :) | 21:13 | |
chipdude | I visited to find the current spec, and the topic led me to it. so I'm happy | 21:15 | |
:= ::= and =:= were my current items of interest | |||
21:19
eMaX left
21:20
revdiablo left
21:24
desertm4x left
|
|||
eternaleye | You know what would be a cool JAPH-ish thing to write in p6? an infix:<ö>( Int $a, Int $b ) operator that creates an $a x $b ascii-art version of Camelia. | 21:35 | |
Extra points if you use an ImageMagick module and aalib | |||
or caca, for colored asciiart | 21:36 | ||
pmichaud | good afternoon, #perl6 | 21:41 | |
jnthn | hi pmichaud | ||
eternaleye | Hi pmichaud | 21:42 | |
jnthn: By the way, any insights into where &foo.signature.params is getting flattened? | 21:43 | ||
jnthn | eternaleye: probably when .elems calls !flatten | 21:44 | |
eternaleye | Hm. Is there a good way around that? It's a problem for getting infix:<...> to support slurpy generators. | 21:45 | |
pmichaud | much of it will change when we switch to having true captures instead of List/Array | 21:49 | |
but when is .elems being called? | |||
chipdude | eternaleye: extra credit, rather, for whoever devises a worm to delete all instances of ImageMagick everywhere | ||
jnthn | pmichaud: It isn't there, but .elems gives the wrong answer as does .perl | 21:50 | |
pmichaud | oh, well .perl should certainly be fixed. | ||
chipdude | that piece of BQS has personally wasted enough of my time that I am willing to give a verbal beatdown, in public, to whowever is responsible | ||
eternaleye | jnthn: as wel as .kv, .values, .keys... | 21:51 | |
*well | |||
_every_ method gets it wrong | |||
jnthn | pmichaud: Well, for an array of hash normally, should we really make an array of ObjectRef holding the Hash? | ||
If so, then it's the construction of that hash that is wrong. | |||
Rather than the methods. | |||
pmichaud | normally an array of hash would be an array of ObjectRef, yes. | 21:52 | |
actually Perl6Scalar | |||
jnthn | ah, that's what is wrong then. | ||
ok | |||
So it's the signature building that isn't right. | |||
pmichaud | rakudo: my %b = 1,2; my @a = %b; say @a[0].PARROT; | 21:53 | |
p6eval | rakudo 6c43f9: OUTPUT«Perl6Pair» | ||
pmichaud | oops | ||
rakudo: my %b = 1,2; my @a = \%b; say @a[0].PARROT; | |||
p6eval | rakudo 6c43f9: OUTPUT«» | ||
pmichaud | hmmmmm | ||
rakudo: my %b = 1,2; my @a; @a[0] = %b; say @a[0].PARROT; | |||
p6eval | rakudo 6c43f9: OUTPUT«» | ||
pmichaud | that's.... odd | ||
rakudo: my %b = 1,2; my @a; @a[0] = %b; say @a[0]<1>; | 21:54 | ||
p6eval | rakudo 6c43f9: OUTPUT«2» | ||
pmichaud | maybe parameterized roles are getting in the way? | ||
or perhaps it's the subscript | |||
I'm guessing the subscript might be a little off. | |||
rakudo: my %b = 1,2; my @a; @a[0] = %b; say @a[0].WHAT; | 21:55 | ||
p6eval | rakudo 6c43f9: OUTPUT«Hash()» | ||
jnthn | Yeah, the parametric roles may well be spoiling the .PARROT output. | ||
Since under the hood it's a punned class there. | 21:56 | ||
pmichaud | I would've still expected to see the Perl6Scalar, though. | ||
jnthn | Oh, wait | ||
It was an untyped array | |||
So it shouldn't be. | |||
pmichaud | rakudo: my %b = 1,2; my $a = %b; say $a.PARROT; | ||
jnthn | Untyped ones don't get any reblessing or anything extra. | ||
p6eval | rakudo 6c43f9: OUTPUT«» | ||
21:57
hercynium left
|
|||
pmichaud | maybe .PARROT is hsoed | 21:57 | |
*hosed | |||
jnthn | Maybe | ||
pmichaud | rakudo: my %b = 1,2; my $a = %b; say $a.WHAT; | ||
p6eval | rakudo 6c43f9: OUTPUT«Hash()» | ||
jnthn | rakudo: my %b; say %b.PARROT | ||
p6eval | rakudo 6c43f9: OUTPUT«Perl6Hash» | ||
jnthn | rakudo: my %b; my $a = %b; say %b.PARROT; say $a.PARROT; | ||
p6eval | rakudo 6c43f9: OUTPUT«Perl6HashPerl6Hash» | ||
jnthn | rakudo: my %b = 1, 2; my $a = %b; say %b.PARROT; say $a.PARROT; | 21:58 | |
p6eval | rakudo 6c43f9: OUTPUT«» | ||
jnthn | epic wtf | ||
pmichaud | oh, it's the 1,2 | ||
my %b; my @a; @a[0] = %b; say @a[0].PARROT; | |||
rakudo:my %b; my @a; @a[0] = %b; say @a[0].PARROT; | |||
rakudo: my %b; my @a; @a[0] = %b; say @a[0].PARROT; | |||
p6eval | rakudo 6c43f9: OUTPUT«Perl6Hash» | ||
pmichaud | ohhhhh, I know what's going on. | 21:59 | |
the new dispatcher dereferences $a and @a[0] before calling .PARROT | |||
so we never see the Perl6Scalar | |||
jnthn | oh! | ||
heh | |||
eternaleye | rakudo: my %foo = a => 1, b => 2; my @bar[0] = %foo, say @bar.kv.perl | ||
p6eval | rakudo 6c43f9: OUTPUT«Statement not terminated properly at line 2, near "[0] = %foo"in Main (src/gen_setting.pm:3225)» | ||
eternaleye | rakudo: my %foo = a => 1, b => 2; my @bar[0] = %foo; say @bar.kv.perl | ||
p6eval | rakudo 6c43f9: OUTPUT«Statement not terminated properly at line 2, near "[0] = %foo"in Main (src/gen_setting.pm:3225)» | ||
pmichaud | so perhaps .PARROT needs to become PARROT(...) | ||
eternaleye | rakudo: my %foo = 'a' => 1, 'b' => 2; my @bar[0] = %foo; say @bar.kv.perl | 22:00 | |
p6eval | rakudo 6c43f9: OUTPUT«Statement not terminated properly at line 2, near "[0] = %foo"in Main (src/gen_setting.pm:3225)» | ||
pmichaud | eternaleye: rakudo doesn't like "my" before a subscript | ||
eternaleye: rakudo doesn't like "my @bar[0]" | |||
eternaleye | rakudo: my %foo = a => 1, b => 2; my @bar; @bar[0] = %foo; say @bar.kv.perl | ||
p6eval | rakudo 6c43f9: OUTPUT«[0, {"a" => 1, "b" => 2}]» | ||
eternaleye | rakudo: my %foo = a => 1, b => 2; my %baz = c => 3, d => 4; my @bar; @bar = %foo, %baz; say @bar.kv.perl | 22:01 | |
p6eval | rakudo 6c43f9: OUTPUT«[0, "a" => 1, 1, "b" => 2, 2, "c" => 3, 3, "d" => 4]» | ||
eternaleye | AHA | ||
22:01
snarkyboojum joined
|
|||
pmichaud | that looks correct to me, fsvo "correct" | 22:02 | |
eternaleye | _that_ is exactly the structure .params has | ||
And Array of _one-element_ hashes, the result of flattening | |||
*an | |||
pmichaud | uh? | ||
those aren't hashes | |||
those are Pairs | |||
22:02
mvuets left
|
|||
eternaleye | rakudo: my %foo = a => 1, b => 2; my %baz = c => 3, d => 4; my @bar; @bar = %foo, %baz; say @bar[0].WHAT | 22:03 | |
pmichaud | the @bar = %foo, %baz; flattens %foo and %baz into lists of Pairs | ||
p6eval | rakudo 6c43f9: OUTPUT«Pair()» | ||
eternaleye | Ah | ||
H,m, then that's not ti | |||
pmichaud | because a hash in list context is a list of Pairs | ||
eternaleye | *Hm *it | ||
I thought the issue in .params might be a lack of backslashes, but I guess not | |||
pmichaud | rakudo: sub foo($a) { 1 }; say &foo.params.WHAT; | 22:04 | |
p6eval | rakudo 6c43f9: OUTPUT«Method 'params' not found for invocant of class 'Perl6Sub'» | ||
eternaleye | .signature.params | ||
pmichaud | rakudo: sub foo($a) { 1 }; say &foo.signature.params.WHAT; | ||
p6eval | rakudo 6c43f9: OUTPUT«List()» | ||
pmichaud | rakudo: sub foo($a) { 1 }; say &foo.signature.params.perl; | ||
p6eval | rakudo 6c43f9: OUTPUT«["name" => "\$a", "multi_invocant" => 1, "nom_type" => Any, "type" => Any, "cons_type" => undef]» | ||
pmichaud | that looks wrong to me. | 22:05 | |
eternaleye | rakudo: sub foo($a) { 1 }; say &foo.signature.params.kv.perl; | ||
p6eval | rakudo 6c43f9: OUTPUT«[0, "name" => "\$a", 1, "multi_invocant" => 1, 2, "nom_type" => Any, 3, "type" => Any, 4, "cons_type" => undef]» | ||
eternaleye | rakudo: sub foo($a) { 1 }; say &foo.signature.params.[0].WHAT | ||
p6eval | rakudo 6c43f9: OUTPUT«Mapping()» | ||
pmichaud | whatever is doing .params is setting it up incorrectly. | ||
eternaleye | rakudo: sub foo($a) { 1 }; say &foo.signature.params.[0].PARROT | ||
p6eval | rakudo 6c43f9: OUTPUT«Hash» | 22:06 | |
eternaleye | Improper autoboxing of PIR types? | ||
Since signature-stuff seems to be in PIR-land | 22:07 | ||
And it's giving a pure PIR type, rather than Perl6Hash | |||
22:07
justatheory joined
|
|||
pmichaud | well, that's not really a problem in general. | 22:07 | |
(the pure Parrot type) | 22:08 | ||
eternaleye | rakudo: sub foo($a) { 1 }; say &foo.signature.params.[0].kv.perl | ||
p6eval | rakudo 6c43f9: OUTPUT«["name", "\$a", "multi_invocant", 1, "nom_type", Any, "type", Any, "cons_type", undef]» | ||
eternaleye | rakudo: sub foo(*@a) { 1 }; say &foo.signature.params.[0].kv.perl | ||
p6eval | rakudo 6c43f9: OUTPUT«["named", 0, "slurpy", 1, "name", "\@a", "multi_invocant", 1, "nom_type", Any, "type", Any, "cons_type", undef]» | ||
eternaleye | Huh. That is odd | 22:09 | |
pmichaud | those look fine to me. | ||
eternaleye | That's what's odd, it wasn't working that way earlier | ||
rakudo: sub foo(*@a) { 1 }; say &foo.signature.params.>>.keys.grep( *.<slurpy> ) | |||
p6eval | rakudo 6c43f9: OUTPUT«Statement not terminated properly at line 2, near ".>>.keys.g"in Main (src/gen_setting.pm:3225)» | ||
jnthn | >>. | ||
eternaleye | rakudo: sub foo(*@a) { 1 }; say &foo.signature.params>>.keys.grep( *.<slurpy> ) | 22:10 | |
p6eval | rakudo 6c43f9: OUTPUT«Method 'postcircumfix:{ }' not found for invocant of class 'Str'» | ||
pmichaud | I wouldn't trust the whatever star too much just yet. | ||
eternaleye | rakudo: sub foo(*@a) { 1 }; say &foo.signature.params>>.keys.grep( * !~~ "slurpy" ) | ||
p6eval | rakudo 6c43f9: OUTPUT«named slurpy name multi_invocant nom_type type cons_type» | ||
eternaleye | Ek | ||
rakudo: sub foo(*@a) { 1 }; say ?&foo.signature.params>>.keys.grep( * ~~ "slurpy" ) | |||
p6eval | rakudo 6c43f9: OUTPUT«0» | ||
eternaleye | rakudo: sub foo(*@a) { 1 }; say ?&foo.signature.params>>.keys.grep( * ~~ /slurpy/ ) | 22:11 | |
p6eval | rakudo 6c43f9: OUTPUT«Object must be created by a class.in regex PGE::Grammar::_block73 (/tmp/XATdNku0wa:2)called from Main (/tmp/XATdNku0wa:2)» | ||
22:11
iblechbot left
|
|||
eternaleye | Hm. Why is it not matching "slurpy", and why is /slurpy/ giving that error? | 22:11 | |
pmichaud | rakudo: sub foo(*@a) { 1 }; say ?&foo.signature.params>>.keys.perl | ||
p6eval | rakudo 6c43f9: OUTPUT«1» | ||
eternaleye | You frogot to remove prefix:<?> | 22:12 | |
pmichaud | rakudo: sub foo(*@a) { 1 }; say (&foo.signature.params>>.keys).perl | ||
eternaleye | *forgot | ||
p6eval | rakudo 6c43f9: OUTPUT«[["named", "slurpy", "name", "multi_invocant", "nom_type", "type", "cons_type"]]» | ||
eternaleye | Ah | ||
pmichaud | rakudo: sub foo(*@a) { 1 }; say (&foo.signature.params>>.keys.grep(/slurpy/)).perl | ||
eternaleye | rakudo: sub foo(*@a) { 1 }; say ?&foo.signature.params>>.keys>>.grep( * ~~ "slurpy" ) | ||
p6eval | rakudo 6c43f9: OUTPUT«[["named", "slurpy", "name", "multi_invocant", "nom_type", "type", "cons_type"]]» | ||
rakudo 6c43f9: OUTPUT«1» | |||
eternaleye | rakudo: sub foo(@a) { 1 }; say ?&foo.signature.params>>.keys>>.grep( * ~~ "slurpy" ) | ||
p6eval | rakudo 6c43f9: OUTPUT«1» | ||
eternaleye | rakudo: sub foo($a) { 1 }; say ?&foo.signature.params>>.keys>>.grep( * ~~ "slurpy" ) | ||
p6eval | rakudo 6c43f9: OUTPUT«1» | ||
eternaleye | rakudo: sub foo($a) { 1 }; say ?&foo.signature.params>>.pairs>>.grep( *.key ~~ 'slurpy' && *.value ~~ True ) | 22:13 | |
p6eval | rakudo 6c43f9: OUTPUT«1» | ||
eternaleye | rakudo: sub foo($a) { 1 }; say ?&foo.signature.params>>.pairs>>.perl | 22:14 | |
p6eval | rakudo 6c43f9: OUTPUT«1» | ||
pmichaud | *.value ~~ True probably doesn't dwym | ||
eternaleye | rakudo: sub foo($a) { 1 }; say &foo.signature.params>>.pairs>>.grep( *.key ~~ 'slurpy' && *.value ) | ||
p6eval | rakudo 6c43f9: OUTPUT«» | ||
eternaleye | rakudo: sub foo($a) { 1 }; say ?&foo.signature.params>>.pairs>>.grep( *.key ~~ 'slurpy' && *.value ) | ||
p6eval | rakudo 6c43f9: OUTPUT«1» | ||
eternaleye | Eh? | ||
rakudo: sub foo($a) { 1 }; &foo.signature.params>>.pairs>>.grep( say $_.perl ) | 22:15 | ||
p6eval | rakudo 6c43f9: OUTPUT«undefMethod 'Num' not found for invocant of class 'Perl6Pair'» | ||
eternaleye | rakudo: sub foo($a) { 1 }; &foo.signature.params>>.pairs>>.grep( say *.perl ) | ||
pmichaud | I'd be very suspicious of using * | ||
p6eval | rakudo 6c43f9: OUTPUT«!whatever_dispatch_helperMethod 'Num' not found for invocant of class 'Perl6Pair'» | ||
eternaleye | rakudo: sub foo($a) { 1 }; &foo.signature.params>>.pairs>>.grep( { say $_.perl } ) | ||
p6eval | rakudo 6c43f9: OUTPUT«"name" => "\$a""multi_invocant" => 1"nom_type" => Any"type" => Any"cons_type" => undef» | ||
pmichaud | the semantics of * are still being worked out | ||
eternaleye | rakudo: sub foo($a) { 1 }; say &foo.signature.params>>.pairs>>.grep( *.key ~~ 'slurpy' && *.value ).perl | 22:16 | |
p6eval | rakudo 6c43f9: OUTPUT«[[]]» | ||
eternaleye | Ah | ||
pmichaud | note that ".key" and ".perl" are shorter anyway :-) | ||
eternaleye | rakudo: sub foo($a) { 1 }; say &foo.signature.params>>.pairs.grep( *.keys.grep( * ~~ 'slurpy' ).perl | 22:17 | |
p6eval | rakudo 6c43f9: OUTPUT«Statement not terminated properly at line 2, near "( *.keys.g"in Main (src/gen_setting.pm:3225)» | ||
eternaleye | rakudo: sub foo($a) { 1 }; say &foo.signature.params>>.pairs.grep( *.keys.grep( * ~~ 'slurpy' ) ).perl | 22:18 | |
p6eval | rakudo 6c43f9: OUTPUT«[]» | ||
eternaleye | rakudo: sub foo($a) { 1 }; say ?&foo.signature.params>>.pairs.grep( *.keys.grep( * ~~ 'slurpy' ) ) | ||
p6eval | rakudo 6c43f9: OUTPUT«0» | ||
eternaleye | rakudo: sub foo(*@a) { 1 }; say ?&foo.signature.params>>.pairs.grep( *.keys.grep( * ~~ 'slurpy' ) ) | ||
p6eval | rakudo 6c43f9: OUTPUT«0» | ||
eternaleye | rakudo: sub foo(*@a) { 1 }; say ?&foo.signature.params.[0].perl | 22:19 | |
p6eval | rakudo 6c43f9: OUTPUT«1» | ||
eternaleye | rakudo: sub foo(*@a) { 1 }; say &foo.signature.params.[0].perl | ||
p6eval | rakudo 6c43f9: OUTPUT«{"named" => 0, "slurpy" => 1, "name" => "\@a", "multi_invocant" => 1, "nom_type" => Any, "type" => Any, "cons_type" => undef}» | ||
eternaleye | rakudo: sub foo(*@a) { 1 }; say &foo.signature.params>>.<slurpy>.perl | ||
p6eval | rakudo 6c43f9: OUTPUT«[1]» | 22:20 | |
eternaleye | rakudo: sub foo($a) { 1 }; say &foo.signature.params>>.<slurpy>.perl | ||
p6eval | rakudo 6c43f9: OUTPUT«[undef]» | ||
eternaleye | rakudo: sub foo($a) { 1 }; say &foo.signature.params>>.<slurpy>.[0] | ||
p6eval | rakudo 6c43f9: OUTPUT«Use of uninitialized value» | ||
eternaleye | rakudo: sub foo($a) { 1 }; say ?&foo.signature.params>>.<slurpy>.[0] | ||
p6eval | rakudo 6c43f9: OUTPUT«0» | ||
eternaleye | rakudo: sub foo(*@a) { 1 }; say ?&foo.signature.params>>.<slurpy>.[0] | ||
p6eval | rakudo 6c43f9: OUTPUT«1» | ||
eternaleye | Okay, ugly but it works | ||
22:21
justatheory left
|
|||
eternaleye | rakudo: sub foo(*@a, *%b) { 1 }; say +&foo.signature.params>>.<slurpy> | 22:22 | |
22:22
sri_kraih joined
|
|||
p6eval | rakudo 6c43f9: OUTPUT«2» | 22:22 | |
eternaleye | rakudo: sub foo(*@a, %b) { 1 }; say +&foo.signature.params>>.<slurpy> | 22:23 | |
p6eval | rakudo 6c43f9: OUTPUT«2» | ||
eternaleye | rakudo: sub foo(@a, %b) { 1 }; say +&foo.signature.params>>.<slurpy> | ||
p6eval | rakudo 6c43f9: OUTPUT«2» | ||
eternaleye | rakudo: sub foo(@a, %b) { 1 }; say +&foo.signature.params>>.<slurpy>.perl | ||
p6eval | rakudo 6c43f9: OUTPUT«0» | ||
eternaleye | rakudo: sub foo(*@a, *%b) { 1 }; say +&foo.signature.params>>.<slurpy>.grep( * > 0 ) | 22:24 | |
p6eval | rakudo 6c43f9: OUTPUT«2» | ||
eternaleye | rakudo: sub foo(*@a, *%b) { 1 }; say &foo.signature.params>>.<slurpy>.grep( * > 0 ).perl | ||
p6eval | rakudo 6c43f9: OUTPUT«[1, 1]» | ||
eternaleye | rakudo: sub foo(*@a, %b) { 1 }; say &foo.signature.params>>.<slurpy>.grep( * > 0 ).perl | ||
p6eval | rakudo 6c43f9: OUTPUT«Use of uninitialized value[1]» | ||
eternaleye | rakudo: sub foo(@a, %b) { 1 }; say +&foo.signature.params>>.<slurpy>.grep( * > 0 ) | ||
p6eval | rakudo 6c43f9: OUTPUT«Use of uninitialized valueUse of uninitialized value0» | ||
eternaleye | rakudo: sub foo(@a, %b) { 1 }; say +&foo.signature.params>>.<slurpy>.grep( * ne undef && * > 0 ) | 22:25 | |
p6eval | rakudo 6c43f9: OUTPUT«Use of uninitialized value0» | ||
pmichaud | rakudo: sub foo(@a, %b) { 1 }; say ?any(&foo.signature.params>>.<slurpy>) | ||
p6eval | rakudo 6c43f9: OUTPUT«0» | ||
pmichaud | rakudo: sub foo(*@a, %b) { 1 }; say ?any(&foo.signature.params>>.<slurpy>) | ||
p6eval | rakudo 6c43f9: OUTPUT«1» | ||
eternaleye | THat works | ||
pmichaud | rakudo: sub foo(*@a, *%b) { 1 }; say ?any(&foo.signature.params>>.<slurpy>) | ||
p6eval | rakudo 6c43f9: OUTPUT«1» | ||
pmichaud | rakudo: sub foo(@a, *%b) { 1 }; say ?any(&foo.signature.params>>.<slurpy>) | ||
p6eval | rakudo 6c43f9: OUTPUT«1» | ||
eternaleye | pmichaud++ pmichaud++ | ||
moritz_: Testing updated version of my slurpies patch | 22:27 | ||
(for infix:<...> | 22:28 | ||
*) | |||
I think I need caffeine. Root beer float & | |||
22:29
mberends left
|
|||
pmichaud | afk, dinner | 22:32 | |
22:33
lichtkind joined,
snarkyboojum left
22:40
sri_kraih_ left
22:54
Chillance left
23:01
viklund left
23:08
payload left
23:10
kidd_ left
|
|||
jnthn -> sleep | 23:15 | ||
23:19
snarkyboojum joined
23:32
PacoLinux left
23:34
synth left,
synth joined
|
|||
eternaleye | Infinoid: dpaste.com/60976/ passes spectest here, could you test && apply if working? Also, for the tests, dpaste.com/60975/ exercises the new functionality | 23:41 | |
23:44
hercynium joined
23:46
icwiener_ left
|
|||
lichtkind | jnthn: good night | 23:54 |