»ö« | 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 node␤in 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«1␤3␤5␤7␤9␤»
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 expected␤in 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: a␤The 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«4␤4␤» 18:12
moritz_ rakudo: sub a { state $x = 3; $x++; say $x }; a(); a()
p6eval rakudo 6c43f9: OUTPUT«4␤5␤»
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«Perl6Hash␤Perl6Hash␤»
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«undef␤Method '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_helper␤Method '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 value␤Use of uninitialized value␤0␤»
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 value␤0␤»
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