»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
00:02 koo6 left 00:05 yqt left 00:12 gfldex left 00:30 AlexDaniel joined 00:51 AlexDaniel left 00:52 telex left 00:54 telex joined 00:55 skids left 01:03 quester left 01:13 skids joined 01:18 AlexDaniel joined 01:42 aborazmeh joined, aborazmeh left, aborazmeh joined 01:45 ilbot3 left 01:49 ilbot3 joined 01:57 aborazmeh left 01:58 aborazmeh joined, aborazmeh left, aborazmeh joined 02:02 noganex joined 02:05 noganex_ left 02:29 rmgk_ joined, rmgk is now known as Guest16329, Guest16329 left, rmgk_ is now known as rmgk 02:59 noganex_ joined
raydiak looks around and doesn't see hugme 02:59
03:02 noganex left 03:34 cognominal left 03:35 zacts joined 03:45 kurahaupo1 joined, jack_rabbit left 03:46 jack_rabbit joined 03:48 Sqirrel left
zostay FROGGS: life insanity has begun, but been trying out the cunion branches... i think your code dealing with unions is very close to working 03:57
this might be a more general issue, but nativesize is not quite calculating what sizeof does when i write a similar C program for my structs, so i suspect some of the internal address offsets are off which is still leading to segfaults here and there 03:59
04:05 Sqirrel joined 04:54 jepeway left 04:56 jepeway joined 04:59 AlexDaniel left 05:11 raiph left 05:13 kaare_ joined 05:24 dolmen joined 05:26 quester joined 05:45 Patterner joined 05:48 dolmen left 05:50 Psyche^ left 06:15 aborazmeh left 06:17 bjz left
dalek ast: 9a8babf | usev6++ | S12-class/basic.t:
Fix test for inline use of class trait 'is'

to the synopsis
06:17
06:20 BenGoldberg left 07:03 chenryn joined 07:07 chenryn left, xfix joined 07:16 FROGGS joined
FROGGS zostay: can you provide examples? 07:16
07:17 rindolf joined
FROGGS zostay: is the difference eight bytes by any chance? than it is most likely the vtable pointer 07:17
zostay: you need to add that manually atm 07:18
TimToady: the unit keyword warning somehow breaks a precomp test in Inline::Perl5 07:22
TimToady: gist.github.com/FROGGS/f200d30c9cdaa58b8853 07:23
07:27 [Sno] left, [Sno] joined 07:32 dolmen joined
FROGGS ohh! 07:32
TimToady: CompUnit.precomp (in rakudo) spawn a child process with 2>&1, so everything on stderr breaks it (and so does RAKUDO_MODULE_DEBUG=1) 07:33
FROGGS tests a fix 07:38
07:41 skids left, dayangkun joined, koo6 joined
dalek kudo/nom: a25bf49 | FROGGS++ | src/core/CompUnit.pm:
let CompUnit.precomp not chocke on msgs on STDERR

Warnings like about missing unit keyword or just using RAKUDO_MODULE_DEBUG=1 were able to let it fail.
07:43
FROGGS that fixes Inline::Perl5 ^^
[Tux]: ^^
choke*
07:47 dayangkun left
lizmat FROGGS++ 07:57
08:08 diana_olhovik_ joined 08:10 RabidGravy joined, dolmen left 08:21 espadrine joined 08:23 gfldex joined 08:44 rindolf left 08:45 berekuk joined 08:56 FROGGS left 08:59 rindolf joined, darutoko joined 09:03 berekuk left 09:04 FROGGS joined
lizmat TimToady: re introduction of "unit", that takes me back: en.wikipedia.org/wiki/TUTOR_(progra...TOR_lesson 09:07
09:09 berekuk joined 09:12 berekuk left 09:17 eli-se joined
jnthn There is nothing new under the sun... :) 09:18
09:19 araujo left 09:20 araujo joined 09:21 berekuk joined
[Tux] FROGGS, gist.github.com/Tux/f155efad071d66080e22 09:23
09:24 domidumont joined 09:25 eli-se left 09:28 coffee` left, domidumont left 09:29 domidumont joined 09:33 FROGGS left 09:36 diana_olhovik_ left 09:46 FROGGS joined
FROGGS [Tux]: what does that paste mean? all looks good 09:49
[Tux]: is that a confirmation that I::P5 works? 09:50
jnthn: you already had a cuppa? (wanna talk about inlined structs/unions) 09:51
lizmat: you can review the curly branch in rakudo and panda if you want... I'm pretty happy with it 09:52
lizmat: TL 09:53
hmpf
lizmat: TL;DR we use CompUnits now where we mixed CompUnits and hashes, and it moves towards a 'master index' 09:54
lizmat: and a very important thing to make panda work: %*CUSTOM_LIB contains CURs again... 09:55
09:55 RabidGravy left
jnthn FROGGS: I'd like to, but unfortunately must head off to the airport right now 09:55
09:55 berekuk left
masak good noon, #perl6 09:55
lizmat FROGGS: haven't looked yet 09:56
but having %CUSTOM_LIB contain CUR objects, feels wrong
FROGGS jnthn: k
lizmat it should contain CUR specifications
FROGGS lizmat: why ooc? 09:57
lizmat to be looked up / instantiated when they are needed
FROGGS lizmat: to increase performance?
lizmat because you may not need any of them
indeed
FROGGS lizmat: we have like *no* slowdown when we create CURs today 09:58
because there is no json and we lazily deserialize the MANIFEST file (a moarvm blob)
lizmat still it feels like overkill to me when you're doing e.g. the REPL of -e 09:59
jnthn bbl &
lizmat *or
CompUnitRepo.new($spec) should be quick as well :-)
also: fwiw, I think CUSTOM_LIB should never contain any "file#..." specs (in the future) 10:00
FROGGS lizmat: ahh, this is how we do it? dang, I did use INCLUDE-SPEC2CUR directly :o)
lizmat well, that's ok for internal use
FROGGS lizmat: yes, it only contains inst# right now
yeah, thought so...
lizmat cool
FROGGS np, I can put inst# string in CUSTOM_LIB, and panda calls CUR.new on these... 10:01
lizmat in the future, by default, @?INC should not contain any "file#" specs either
but we need one now for the pragma-like modules such as Test / NativeCall etc
(which I had fixed, until I found out about the way how module loading is precomped :-( ) 10:02
FROGGS I see
lizmat make install in the future should use CURLI.install 10:03
rather than moving files in place
but that's for later, I would think
FROGGS lizmat: make install calls CURLI.install for ages now
lizmat huh?
FROGGS ahh, you are talking about the rakudo makefile 10:04
lizmat /usr/local/bin/perl -MExtUtils::Command -e cp lib/NativeCall.pm lib/Test.pm lib/lib.pm6 /Users/liz/Github/rakudo.moar/install/share/perl6/lib
doesn't look like 'CURLI.install' to me :-)
yes
dalek ast: 1aa6326 | usev6++ | S32-list/rotor.t:
Fudge dying tests for rakudo.jvm

UnwindException, see RT #124279
10:05
[Tux] FROGGS, yes, confirm
10:05 mr-foobar left 10:06 mr-foobar joined
FROGGS lizmat: sorry, was thinking panda 10:06
lizmat ah, ok :-)
10:07 spider-mario joined
FROGGS but yeah, I want to make CURLF.install also work in near future 10:07
lizmat FROGGS: why?
why treat Test.pm different from any other installed module ?
FROGGS lizmat: to then the Panda::Installer.install is a single line method
s/to//
lizmat I'm not saying Test should be installed using panda, it should be installed with CURLI.install 10:08
FROGGS I dont want to treat Test.pm differently...
yes, correct
lizmat ok, :-)
FROGGS we install compiler stuff via CURLI to 'perl', but also extend CURLF
lizmat I would almost be against having CURLF.install work 10:09
it is intended for dev work, in my book
it is for hysterical reasons that we use it for installed modules at all
FROGGS I don't mind to have an alternative # TIMTOWTDI
10:10 rindolf left
FROGGS like, if CURLI is unable to cope with C libs or other resources, one might want to use a CURLF instead 10:10
lizmat If you install a module A in a CURLF, you're effectively hiding *all* module A's in CURLI's following it
FROGGS depends on the order of the CURs clearly
lizmat true, but CURLF's usually appear in -I 10:11
so are at the front
FROGGS well, the defaults are up to us
panda for example prefers site, which is a CURLI 10:12
lizmat well, my feeling is that if you're trying to install something with a CURLF, you're doing it wrong :-)
CURLF functionality in my vision, is for development only and never for production
FROGGS providing only one way is wrong :o)
lizmat install implies production to me
FROGGS and what if the CURLI does not work for you application? switch to python? 10:13
lizmat when would CURLI not work for your application? Maybe we need to fix CURLI then
?
FROGGS atm C libs are a problem
lizmat agree, and that should be fixed
FROGGS which is quite hard 10:14
lizmat that to me is not a reason to use CURLF's (other than to now work around that problem)
It was never going to be easy, I'm told :-)
FROGGS I am just saying that I cannot predict what problems will occour in future, so I'm saying we shall not restrict the usage of anything, just we think one thing is better than the other 10:15
that's not perlish
lizmat true, but I don't want to make it easy to descend into Perl5 dependency hell either 10:16
which I think is what CURLF + install in the end is
FROGGS then CURLF should not be a default installation target 10:17
lizmat agree :-)
FROGGS m: say %*CUSTOM_LIB<site>
camelia rakudo-moar a25bf4: OUTPUT«/home/camelia/rakudo-inst-2/share/perl6/site␤»
FROGGS that should have 'inst#' at front me thinks...
lizmat that should probably have an "inst#" prefixed
yup 10:18
FROGGS I'll make it so in the curly branch
lizmat cool!
FROGGS m: say CompUnitRepo.new('inst#/tmp')
camelia rakudo-moar a25bf4: OUTPUT«inst:/tmp␤»
FROGGS why do we have that colon there? that's wrong, right?
lizmat yeah, 10:19
fixing
dalek kudo/nom: f1a21af | lizmat++ | src/core/CompUnitRepo/Locally.pm:
Fix gist, spotted by FROGGS++
10:20
FROGGS why do we have 'inst#.../site' in @*INC at all? 10:21
err, 'file#...site'
lizmat I don't know 10:22
hysterical raisings
FROGGS k
lizmat in the work I did, that was stopped by the precomping use issue, it had only none 10:23
and Test.pm and friends were loaded directly as if they were pragmas
moritz journal.stuffwithstuff.com/2010/10/...pe-system/ # some fun read for those who like bootstrapping chainsaws
lizmat alas, I can't push that as it will break e.g. Inline::Perl5
or any other module that has a 'use' in a precomped file :-( 10:24
specifically for NativeCall
:-( 10:26
FROGGS lizmat: I can look at that in the next days
lizmat cool, am looking at it as well, apart frok
from backlogging and some other stuff I need to do :-) 10:27
dalek kudo/curly: dff8eca | FROGGS++ | src/core/Inc.pm:
let %*CUSTOM_LIB only contain cur-specs (strings)
10:36
FROGGS panda works with this now too 10:37
lizmat FROGGS++ 10:40
FROGGS now I need stuff to jvm :o( 10:43
need to port*
lizmat :-( 10:45
dalek pan style="color: #395be5">perl6-examples: 8a0f35b | paultcochrane++ | t/categories/cookbook/03dates-and-times.t:
[cookbook] match today's date output more generally
10:48
pan style="color: #395be5">perl6-examples: b5db17c | paultcochrane++ | lib/Benchmark.pm:
Remove Benchmark.pm

It's not used by any of the code in the examples project anymore.
pan style="color: #395be5">perl6-examples: 554f0c2 | paultcochrane++ | lib/ (4 files):
Remove old configuration-related files

These are no longer required in the examples project in its current form.
pan style="color: #395be5">perl6-examples: 2c5122d | paultcochrane++ | lib/P (3 files):
Add unit keyword to module definitions

This is now required when defining a module whose scope is only within the current unit.
pan style="color: #395be5">perl6-examples: 2766d32 | paultcochrane++ | t/categories/cookbook/03dates-and-times.t:
[cookbook] handle hires time check better
10:50 ssqq joined
ssqq m: grammar G { our token foo is export { foo } }; import G; if 'foo' ~~ / <foo> / { say ~$/ } 10:53
camelia rakudo-moar f1a21a: OUTPUT«Type check failed in binding <anon>; expected 'G' but got 'Cursor'␤ in regex foo at /tmp/ALsRyTT5pH:1␤ in block <unit> at /tmp/ALsRyTT5pH:1␤␤»
FROGGS ssqq: yes, that's not fixed yet
m: grammar G { our token foo(Mu:) is export { foo } }; import G; if 'foo' ~~ / <foo> / { say ~$/ }
camelia rakudo-moar f1a21a: OUTPUT«foo␤»
FROGGS I guess the fix is about a single line in our actions 10:54
lizmat afk for a bit&
ssqq FROGGS: I think irc interpreter have been use newest version. 10:55
FROGGS ssqq: yes, camelia here rebuilds rakudo every hour 10:56
10:56 vendethiel joined
ssqq FROGGS: not at all, It's a bug, then next version would fix it. 10:57
FROGGS ssqq: I don't get what you are saying
ssqq FROGGS: pls ignore it. 10:59
10:59 ssqq left
FROGGS ó.ò 11:00
11:08 araujo left 11:13 BizarreCake joined, BizarreCake left 11:20 araujo joined, araujo left, araujo joined
dalek c: 0a73e46 | paultcochrane++ | lib/Language/regexes.pod:
Add examples to general quantifier discussion
11:25
c: 17222ff | paultcochrane++ | lib/Pod/ (2 files):
Add 'unit' declarator to module definitions
11:29
11:31 diana_olhovik joined 11:32 spider-mario left 11:48 rindolf joined 11:49 eli-se joined
dalek pan style="color: #395be5">perl6-examples: a6f5d56 | paultcochrane++ | categories/shootout/revcomp-v2.p6:
[shootout] replace Nil with Empty

The meaning of Nil has been changed and it is appropriate in some cases to use Empty instead.
11:50
11:54 diana_olhovik left 11:59 lolisa joined
[Tux] m: my@x=(1..3).map({{c3=>3}});@x.perl.say 12:01
camelia rakudo-moar f1a21a: OUTPUT«[{:c3(3)}, {:c3(3)}, {:c3(3)}]<>␤»
[Tux] my@x=(1..3).map({{c3=>~(10*$_+3)}});@x.perl.say
m: my@x=(1..3).map({{c3=>~(10*$_+3)}});@x.perl.say
camelia rakudo-moar f1a21a: OUTPUT«[:c3("13"), :c3("23"), :c3("33")]<>␤»
[Tux] isn't that extremely inconsistent? 12:02
I for sure expected a list of hashes the second time too
12:03 bjz joined
[Tux] should I RT that? lizmat ? 12:06
12:11 koo6 left, spider-mario joined 12:19 cognominal joined 12:20 AlexDaniel joined 12:26 sue_ joined
FROGGS [Tux]: can't you make use of whitespace? just a little? 12:31
[Tux] i can, but I removed all of the whitespace to be sure not to conflict with Slang::Tuxic 12:35
this was golfing down from a larger example
m: my @x = (1..3).map({ { c3 => 3 } }); @x.perl.say
camelia rakudo-moar f1a21a: OUTPUT«[{:c3(3)}, {:c3(3)}, {:c3(3)}]<>␤»
[Tux] m: my @x = (1..3).map({ { c3 => ~(10 * $_ + 3) } }); @x.perl.say 12:36
camelia rakudo-moar f1a21a: OUTPUT«[:c3("13"), :c3("23"), :c3("33")]<>␤»
[Tux] m: my $x = 1; my @x = (1..3).map({ { c3 => $x } }); @x.perl.say
camelia rakudo-moar f1a21a: OUTPUT«[{:c3(1)}, {:c3(1)}, {:c3(1)}]<>␤»
DrForr scratches his head over select().
More accurately, the replacement(s). 12:37
FROGGS [Tux]: it is not inconstant btw 12:39
{ c3 => 3 } is a hash
{ c3 => ~(10 * $_ + 3) } is a closure generating a pair 12:40
m: say { c3 => 3 }.perl
camelia rakudo-moar f1a21a: OUTPUT«{:c3(3)}␤»
FROGGS m: say { c3 => ~(10 * $_ + 3) }
camelia rakudo-moar f1a21a: OUTPUT«-> ($_? is parcel) { #`(Block|60593520) ... }␤»
FROGGS m: say { c3 => ~(10 * $_ + 3) }(1)
camelia rakudo-moar f1a21a: OUTPUT«c3 => 13␤»
[Tux] how frustrating
FROGGS that happens when we use curlies for both hashes and codes 12:41
err, blocks
[Tux] what would be the correct syntax for returning a hash?
[Tux] tried an extra pair of {} but to no avail
12:42 RabidGravy joined
FROGGS m: my @x = (1..3).map({ :c3(~(10 * $_ + 3)).hash.item }); @x.perl.say 12:43
camelia rakudo-moar f1a21a: OUTPUT«[{:c3("13")}, {:c3("23")}, {:c3("33")}]<>␤»
FROGGS m: my @x = (1..3).map({ $%(:c3(~(10 * $_ + 3))) }); @x.perl.say # linenoisify al the things /o/
camelia rakudo-moar f1a21a: OUTPUT«[{:c3("13")}, {:c3("23")}, {:c3("33")}]<>␤»
12:45 koo6 joined
dalek p/curly: 22827fa | FROGGS++ | src/vm/jvm/ (3 files):
first stab at implementing scdisclaim for jvm
12:47
[Tux] hmm, so a for-loop it is :P 12:49
FROGGS [Tux]: the scdislaim stuff, or your .map? 12:51
[Tux] the map
for (1..9) -> $x { @rx.push: { c3 => ~(10 * $x + 3) }};
FROGGS yes 12:52
12:53 BenGoldberg joined
FROGGS wants to play with post-GLR stuff 12:53
13:04 eli-se left 13:05 dolmen joined 13:08 domidumont left 13:15 raiph joined
FROGGS nqp: my $l := nqp::list_s(); say(nqp::join('', $l)) # :o( 13:19
13:19 camelia left
FROGGS ups 13:19
13:20 camelia joined 13:21 ChanServ sets mode: +v camelia
FROGGS nqp-m: my $l := nqp::list_s(); say(nqp::join('', $l)) # :o) 13:22
camelia nqp-moarvm: OUTPUT«␤»
FROGGS nqp-j: my $l := nqp::list_s(); say(nqp::join('', $l)) # :o(
camelia nqp-jvm: OUTPUT«(signal ABRT)*** Error in `java': free(): invalid pointer: 0x00007fe28401d740 ***␤#␤»
FROGGS how do I join a list_s?
13:23 cognominal left 13:25 diana_olhovik_ joined
FROGGS huh, it works locally with nqp-j... 13:25
13:27 raiph left
FROGGS j: use nqp; my Mu $l := nqp::list_s(); nqp::push_s($l, "huh"); say(nqp::join("", $l)) 13:27
camelia rakudo-jvm f1a21a: OUTPUT«huh␤»
13:30 raiph joined
bartolin j: say { $^a }.assuming(123)() # leads to spectest failures on JVM (S06-currying/assuming-and-mmd.t) 13:34
camelia rakudo-jvm f1a21a: OUTPUT«Method 'Mu' not found for invocant of class 'Parcel'␤ in block <unit> at /tmp/6T13UDTaeW:1␤␤»
bartolin strangly, the following "patch" makes it work: gist.github.com/usev6/d29f551093a704624663
I have no idea why adding a line '1;' to 'method assuming' changes this ... 13:35
FROGGS uhh
bartolin that's what I thought, too *g* 13:37
FROGGS yeah, I guess it is an optimizer bug
bartolin yes, that would explain. I'll rakudobug it 13:39
13:40 eli-se joined 13:59 rindolf left
leedo_ folks are aware that Inline::Perl5 is currently busted, I assume? 14:01
(had a thought to play around with wrapping some Plack stuff with perl6)
well, anyways, here is the error I'm seeing when building it: gist.github.com/leedo/b237669f1e6ad88dc92a 14:04
dalek ast: 6302ae8 | usev6++ | S (3 files):
Fudge tests for method assumoing on JVM, RT #125207
14:05
14:06 dolmen left, eli-se left
FROGGS leedo_: that's an issue on your end 14:07
leedo_: you have compiled your perl 5 without -fPIC 14:08
leedo_ ah, ok
now to figure out how ot tell plenv to include that option
14:09 fhelmberger joined
FROGGS yeah... 14:09
I know that Inline::Perl5 works because I just fixed latest rakudo in that regard :o) 14:10
leedo_ cool, good to know! thanks :) 14:11
14:12 diana_olhovik_ left 14:13 fhelmberger left 14:14 telex left 14:16 telex joined
dalek p: ab80bb3 | TimToady++ | src/QRegex/Cursor.nqp:
faster cstack traversal

Cut down statement lists by 3/4 by not pushing cursors that MATCH won't be interested in. In MATCH, if there's only one destination, don't keep looking up the same hash entry over and over.
14:16
kudo/nom: 550b8c3 | TimToady++ | src/core/Cursor.pm:
faster cstack traversal

Don't keep looking up the same hash entry over and over, if there's only one. (Stage parse looked up statement 2000 times in a row.)
14:18
TimToady well, that last one was nqp's fault, really 14:19
this is mostly prep work for making lazier Match generation 14:20
FROGGS uhh, TimToady++ 14:22
araujo checks perl6/rakudo after a while 14:25
14:27 rindolf joined 14:38 jack_rabbit left
masak araujo: \o 14:42
14:47 sue__ joined 14:57 FROGGS left
araujo masak, hola, how that goes? :) 14:57
15:00 eli-se joined
masak too distracted by $work and @family to get much Perl 6 done... but alive and well, and happy with things :) 15:01
araujo: how's with you?
araujo masak, hehe, real life taking most of my time too, but trying to check cool stuff around whenever I can :) 15:02
masak :) 15:04
oh, that reminds me
15:04 diana_olhovik_ joined
masak my send+more=money recursive solution broke after TomToady's `for flat` change 15:05
TimToady*
it's here gist.github.com/masak/7a1d84435d2b...endmore-p6
and it doesn't work anymore :/
all the obvious things I tried failed 15:06
could someone help me? when it works, it's "supposed to" run for 28 minutes and produce 1 solution.
15:11 kurahaupo1 left 15:12 kaare_ left 15:14 molaf_ joined
masak ok, just tried it, and it seems to work :) 15:14
false alarm. 15:15
15:17 molaf left 15:20 zakharyas joined, eli-se left 15:25 kurahaupo joined 15:29 cognominal joined, anaeem1 joined 15:31 skids joined 15:38 BenGoldberg left, BenGoldberg joined, BenGoldberg left 15:39 BenGoldberg joined 15:40 xfix left
timotimo i like the sound of those cstack patches 15:42
noticable change in parse time?
15:42 TimToady left
dalek ast: 19da7de | usev6++ | S01-perl-5-integration/ (4 files):
Make sure to skip p5 integration tests when no perl5 compiler is available
15:46
ugexe hmm moar is failing to build for me today: Stage parse : Internal error: zeroed target thread ID in work pass 15:51
well, rakudobrew on moar
DrForr .tell hoelzro I've got a primitive callback example ready, easy enough to write but the C-specific stuff like FD_ZERO and select() needs thinking about. 15:52
yoleaux DrForr: I'll pass your message to hoelzro.
ugexe er rakudo
DrForr .tell hoelzro It's a direct translation of the C code, look at examples/cb-echo.pl6 15:53
yoleaux DrForr: I'll pass your message to hoelzro.
15:53 koo6 left
raydiak rakudobrew build moar just completed successfully here (64-bit linux) 15:59
ugexe i tried 3 times and got the same error every time (nuked and cleared git_reference) 16:01
raydiak can you think of any env vars set or other relevant customizations or applicable special cases that might make your system different from any other in this regard? 16:07
raydiak wonders what besides env vars might affect it... 16:08
like the build tools or something *shrug* 16:09
ugexe no... jvm builds tho 16:12
time to regress backwards and see which commit doesn't like me 16:13
16:13 kaare_ joined
ugexe looks like its the faster cstack traversal for nqp or rakudo that my system isnt happy with 16:20
AlexDaniel I've seen a snippet in p6weekly for finding all unicode characters that represent numbers, but is there anything to check the equivalence of letters? For example, I want to find all characters that are equivalent to letter R. The snippet was: say (0..0xFFF0).chrs.join('') ~~ m:g/<:NumericValue({+$_ > 0})>+/ 16:21
yoleaux 17 Nov 2014 05:26Z <Mouq> AlexDaniel: github.com/lue/p6mode
ugexe i take that back, it just makes it past stage 0. just died on stage 2 with Stage mast : No registered operation handler for 'scdisclaim'
AlexDaniel yoleaux: oh what's that? 16:22
ohhh
ugexe not sure how that jvm code is affecting my moar build
timotimo ugexe: sounds like we need to bump the moar revision? 16:25
ugexe possibly... not sure i know how to test for that. although its odd that raydiak was able to build ok 16:29
dalek ast: 2126474 | usev6++ | S05-metasyntax/unicode-property-pair.t:
Extend scope of fudging, use 'skip' instead of 'todo'
16:31
skids Moar just built OK for me. 16:32
r-m actually
.oO(the disadvantage of maintaining Sum is waiting for the tests to complete on every panda refresh)
16:33
ugexe i was able to build moar at f1a21af (thats the newest i can successfully do) 16:35
16:37 spider-mario left
raiph m: my $str = 768.chr; say $str.chars # perhaps it would be better if an isolated combining character counted as zero length? 16:52
camelia rakudo-moar 550b8c: OUTPUT«1␤»
16:52 eli-se joined
raiph m: my $str = "e" ~ 768.chr; say $str.chars 16:52
camelia rakudo-moar 550b8c: OUTPUT«1␤»
rjbs A single combining mark is a combining character sequence. 16:55
It's in line with Unicode suggestions to count it as one.
16:57 noganex_ left
raiph rjbs: to count it as a combining character sequence or to count it as length one? 17:03
rjbs To count it as a character.
17:04 domidumont joined
raiph rjbs: "character" -> Unicode "grapheme" or "character" -> Unicode "character"? 17:05
rjbs Str.chars returns the "count of graphemes."
which I assume means "Extended grapheme clusters"
a single mark alone is a grapheme cluster 17:06
So I would expect .chars to return 1.
raiph m: say 768.chr 17:07
camelia rakudo-moar 550b8c: OUTPUT«̀␤»
17:07 xfix joined, xfix left, xfix joined 17:17 RabidGravy left
raiph say 768.chr # rjbs: what leads you to expect 1 for a .chars of this string? (other than following the Unicode standard suggestion) 17:22
m: say 768.chr # rjbs ^^
camelia rakudo-moar 550b8c: OUTPUT«̀␤»
rjbs Nothing else, only that.
I can imagine other reasons, though. It keeps equivalent "string is empty === (.chars == 0)" 17:24
masak approves of that reason 17:27
raiph rjbs: right. so that trumps the fact you can add two length 1 strings to get a length 1 string
17:29 zakharyas left, cygx joined
cygx o/ 17:29
m: subset Past of Instant where * < now; subset Present of Instant where * == now; subset Future of Instant where * > now; say "now is the { given now { when Past { "past" }; when Present { "present" }; when Future { "future" } } }"
camelia rakudo-moar 550b8c: OUTPUT«now is the past␤»
vendethiel :D 17:30
jnthn raiph: The 1 + 1 = 1 thing is true even under *NFC*, let alone NFG. 17:40
And yes, there's a whole chunk in the Unicode normalization conformance section on initial isolateds 17:42
raiph m: say EVAL 200.chr.perl; EVAL 768.chr.perl
camelia rakudo-moar 550b8c: OUTPUT«È␤5===SORRY!5=== Error while compiling EVAL_1␤Bogus statement␤at EVAL_1:1␤------> 3<BOL>7⏏5"̀"␤ expecting any of:␤ prefix␤ term␤»
jnthn So it's a little bit stronger than "suggestion" :)
raiph jnthn: when I read (and reread, and rereread it) it seemed it was slightly less strong than an official suggestion 17:43
rjbs Yes, and imagine a string that's "\c[DIAERESIS]Your face."
If "\c[DIAERESIS]".chars was 0, that string above might be length 10. 17:44
raiph rjbs: and would take up the space of 10 graphemes 17:45
rjbs raiph: The "space"?
What kind of space?
raiph rjbs: the space a character visually occupies
moritz not all graphemes take up the same amount of space 17:46
rjbs Doees that mean that "\c[HALFWIDTH HANGUL LETTER E]\c[HALFWIDTH HANGUL LETTER E]" should be lenth 1?
cognominal in that sense does the space character occupy any space?
rjbs Or what about "\c[INVISIBLE TIMES"? 17:47
raiph cognominal: if the typical human would say yes, then yes
moritz cognominal: there are zero-width chars (zero-width spaces, for example), "normal" ones and "full width" characters
rjbs That takes up zero width.
moritz .chars is *not* supposed to return the display width
yoleaux * a d e h i l n o p r s t u w y
moritz yoleaux: wtf? 17:48
geekosaur presumably .chars is a command
.help
yoleaux geekosaur: I'm yoleaux. Type .commands to see what I can do, or see dpk.io/yoleaux for a quick guide.
cognominal that would be a property of the glyph corresponding to the grapheme in given font
geekosaur yep unique characters in the string
rjbs There are other documents about determining visual fit, like UAX 14.
geekosaur visual width is an attribute of a font, not of a character... 17:49
cognominal m: my method infix:sym<+>(Code $f, $n) { $f($n) }; &[+].assuming(42) + 666
camelia rakudo-moar 550b8c: OUTPUT«Cannot call Numeric(Sub: ); none of these signatures match:␤ (Mu:U \v: *%_)␤ in block <unit> at /tmp/gM3ZQg1hhl:1␤␤»
rjbs That, too.
cognominal too bad automatic conversion goes against the grain of cool stuff 17:50
dalek osystem: f48decd | (Steve Mynott)++ | META.list:
add Text::VimColour
BenGoldberg .char zyxabc 17:54
.chars zyxabc
yoleaux No characters found
18:23 raiph left 18:25 FROGGS joined 18:26 jack_rabbit joined
dalek p/curly: 2844001 | FROGGS++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
map new scdisclaim op on moar
18:28
p/curly: e7b8aef | FROGGS++ | src/vm/jvm/ (3 files):
first stab at implementing scdisclaim for jvm
18:28 raiph joined 18:29 rindolf left
dalek kudo/curly: ae2045c | FROGGS++ | src/core/CompUnitRepo/Local/Installation.pm:
shift null_s of string heap in CURLI.serialize
18:31
18:47 berekuk joined
lizmat wonders what if nqp::ord($onlyname) < 58 means 18:49
FROGGS lizmat: where did you spot that? 18:51
18:52 berekuk left, spider-mario joined
masak src/core/Cursor.pm, apparently 18:52
lizmat in TimToady's last commit
masak that 58 is begging to be explained, yes. 18:54
also, that commit introduced commented-out debug lines :(
FROGGS that is about $0 and $<foo>
m: say '9'.ord 18:55
camelia rakudo-moar 550b8c: OUTPUT«57␤»
FROGGS we have other spots where we check that the capture key is either numeric or alpha 18:56
masak I'm going to go ahead and "forgiveness > permission" remove them
FROGGS++ # for explaining the 58
++whoever # for making the code explain it too
FROGGS this shows it better: github.com/rakudo/rakudo/commit/55...c29d576R47
so, might deserve a comment line 18:57
masak in a perfect world with reliable constant folding, I'd love to see it as `<= '9'.ord`
lizmat will do
masak notices, to his amusement, that he can't make his fingers decrement TimToady karma on channel :> 18:58
FROGGS the comment might mention positional vs. named captures
hehe
vendethiel TlMTOADY-- # *g*
vendethiel could also have used a 1 here
18:59 anaeem1 left
masak good, someone else as craven as I :P 18:59
s/craven/respectful/
18:59 anaeem1_ joined
dalek kudo/nom: 0d93f2b | lizmat++ | src/core/Cursor.pm:
Some clarification and cleanup
18:59
FROGGS lizmat++ 19:00
masak lizmat++
cognominal ++lizmat++ 19:04
19:04 anaeem1_ left 19:07 domidumont left
masak m: my $lizmat = 42; ++$lizmat++ 19:07
camelia rakudo-moar 550b8c: OUTPUT«Cannot assign to an immutable value␤ in block <unit> at /tmp/Vu3bvGiyFi:1␤␤»
masak I *think* that should actually be a parse error.
std: my $lizmat = 42; ++$lizmat++ 19:08
camelia std 28329a7: OUTPUT«5===SORRY!5===␤"++" and "++" are not associative at /tmp/EJ51kKgIYi line 1:␤------> 3my $lizmat = 42; ++$lizmat++7⏏5<EOL>␤"++" and "++" are not associative at /tmp/EJ51kKgIYi line 1:␤------> 3my $lizmat = 42; ++$lizmat++7⏏5<EOL>␤FAILED 0…»
masak yeah. like that.
masak submits rakudobug
pro tip: you can make rakudobugs out of *anything*! :P
lizmat feels honoured :-)
19:08 jack_rabbit left
raydiak FROGGS: what should panda do when you call a command which can take multiple modules in a list, but one of them has multiple candidates? a single --auth/--ver won't work for a list of modules 19:13
FROGGS raydiak: it should perhaps print a list of available dists, and prompt for a pick
raydiak FROGGS: afaik panda has no runtime interaction, maybe intentionally...are you sure I should add interactive prompts? 19:15
FROGGS raydiak: hmmm, is there another way to solve it?
raydiak FROGGS: let it fail for that one and print a list at the end when it shows failures maybe? 19:16
FROGGS that would also work
19:17 jack_rabbit joined
raydiak alright...for now, it already takes a failure and reports it, so I can just fail, and then add the part for stuffing the list of alternatives into the failure and showing them in the error report after the more important pieces are done :) 19:18
FROGGS yeah :o)
the heck... a {} used in the setting is a Block on the jvm, not a hash 19:19
raydiak has --auth/--ver working for install, and is hoisting the solution into a more suitable place to reuse for all the commands 19:20
heh, bad jvm! *shakes finger scoldingly*
FROGGS raydiak++ 19:21
raydiak FROGGS: should I be basing my work on something other than panda/master?
FROGGS no, master is fine 19:22
panda/curly touches other places, and panda/CPAN won't get merged soon
19:23 jack_rabbit left
raydiak cool...just thought to ask b/c the way it installs, the files/dirs are just named by shortname, so they overwrite each other, but I figured maybe curly fixes that 19:24
19:24 araujo left
FROGGS it will, aye 19:24
raydiak neat...alright, off to write code instead of english for a bit :) 19:25
FROGGS :o)
19:26 coffee` joined 19:29 cygx left, jack_rabbit joined
hoelzro DrForr: thanks, I'll check it out 19:31
yoleaux 15:52Z <DrForr> hoelzro: I've got a primitive callback example ready, easy enough to write but the C-specific stuff like FD_ZERO and select() needs thinking about.
15:53Z <DrForr> hoelzro: It's a direct translation of the C code, look at examples/cb-echo.pl6
19:34 dolmen joined
raydiak m: my $r = rx/./; say ?$r 19:34
camelia rakudo-moar 0d93f2: OUTPUT«Method 'match' not found for invocant of class 'Any'␤ in block <unit> at /tmp/5_LnzPHxKV:1␤␤»
raydiak are regexes supposed to do something special when you boolify them?
FROGGS m: $_ = "foo"; my $r = rx/./; say ?$r
camelia rakudo-moar 0d93f2: OUTPUT«Method 'match' not found for invocant of class 'Any'␤ in block <unit> at /tmp/N6KEtZ_ZlS:1␤␤»
raydiak I just want to know if there is a defined object in the var, but it may be a regex, and I get this instead if it is 19:35
well, not just defined, but true
hoelzro DrForr: does rl_callback_read_char block at all? 19:36
19:36 anaeem1 joined
hoelzro and do you have to use the callback variants for reading things + invoking a callback? 19:36
raydiak for regex I thought/hoped true would be anything besides the Regex type object
DrForr hoelzro: I really haven't tested much about it, I can do some quick checks. 19:39
dalek kudo/curly: 5fb7fd8 | FROGGS++ | src/core/Distribution.pm:
restructure Distribution; do work once
19:40
rakudo/curly: c4767a3 | FROGGS++ | src/core/CompUnitRepo/Locally.pm:
rakudo/curly: do no create CURL directories "automagically"
19:40 dalek left
FROGGS (sorry dalek) 19:40
hoelzro DrForr: if it blocks, you could probably just ignore using select (for now, anyway) and use threads
19:40 koo6 joined
hoelzro I don't know how *stable* that will be, but... 19:40
19:40 dalek joined, ChanServ sets mode: +v dalek 19:41 anaeem1 left 19:42 anaeem1 joined
DrForr I'm getting one time through the loop per keypress so it appears to be blocking. The code works fine when I don't do any FD operations (which I really can't until either POSIX is fleshed out, or we figure out how it's going to be done.) 19:43
I haven't turned off buffering, and it's running inside tmux, so that may affect things as well.
skids m: .perl.say for (for ^5 { 41; next if $_ == 2; $_}) 19:44
camelia rakudo-moar 0d93f2: OUTPUT«0␤1␤3␤4␤»
skids m: .perl.say for (1,(),2)
camelia rakudo-moar 0d93f2: OUTPUT«1␤()␤2␤»
skids I don't know which is right at this point. 19:45
vendethiel skids: what seems wrong? 19:47
for doesn't flatten
vendethiel is surprised the "41" doesn't warn here
skids the inside for returns a flattened result.
19:49 coffee` is now known as coffee, coffee is now known as coffee``
skids (Which is better than returning Nil, but when I wrote that test I didn't expect that to happen when it got fixed.) 19:49
19:49 coffee`` left
dalek ast: d821762 | usev6++ | S12-construction/new.t:
Use existing ticket number
19:49
19:50 coffee` joined
skids OK, I think the test remains correct and there should indeed be a '()' in the first result. 19:52
raydiak skids: I'm not sure that's flattening...I think maybe the next just doesn't give a value for that iteration at all, instead of a flattened empty list
m: .perl.say for (for ^5 { $_ == 2 ?? () !! $_ })
camelia rakudo-moar 0d93f2: OUTPUT«0␤1␤()␤3␤4␤»
raydiak not flattening there 19:53
skids S04 says: Iterations that return C<()> ... return that C<()> as the next value which will therefore disappear when interpolated in flat context, but will interpolate an empty C<Parcel> into slice context. 19:54
FROGGS for does not flatten anymore, right? 19:55
m: .perl.say for flat (for ^5 { $_ == 2 ?? () !! $_ })
camelia rakudo-moar 0d93f2: OUTPUT«0␤1␤3␤4␤»
raydiak "Iterations that return C<()>" being the operative term there :)
ah, I see..."such as by calling next with no extra return arguments" 19:56
19:56 jack_rabbit left
skids Ok maybe I should not have cut out the part that says: "such as by calling C<next> with no extra 19:56
return arguments"
:)
raydiak certainly something here or there or both seems awry, in that case 19:57
doesn't even need nesting or anything: 20:04
m: say do for ^5 { $_ != 2 ?? $_ !! next }.perl
camelia rakudo-moar 0d93f2: OUTPUT«(0, 1, 3, 4)␤»
skids Yeah, that was superstituous. But in GLR-churn days superstition sometimes pays off. 20:05
.oO(always use the place last fixed to not flatten to test something that's not flat :-)
20:07
20:08 RabidGravy joined
raydiak :) 20:08
20:10 jack_rabbit joined
raydiak in terms of what to plan for going forward, for shouldn't flatten, but dunno about the next behavior until someone else chimes in about whether that part is changing for the glr or not 20:13
20:13 diana_olhovik_ left
skids I get the impression the GLR is sort of like trying to get all the wrinkles out of wall-to-wall carpeting. (Gotta Lay Rug) 20:13
raydiak you're not flattening it properly! :) 20:14
20:15 diana_olhovik_ joined
raydiak several programming puns to be had with carpet now that I think about it...flattening...unrolling...magic... 20:17
dalek kudo/nom: 88b1203 | FROGGS++ | src/Perl6/Actions.nqp:
allow to use our scoped tokens, RT #125169
20:22 anaeem1 left
AlexDaniel is there any list of existing unicode operators? 20:23
20:23 anaeem1_ joined
arnsholt Probably not listing just the Unicode ones, but doc.perl6.org should have all of them 20:25
lizmat FROGGS: I'm not sure you need 7106131a0080aa6cb4fc6f ?
the id of the CompUnit is an absolute path, no?
or is this meant to be purely informational ?
FROGGS lizmat: this is about the 'master index' 20:26
so I keep a list of CompUnits per symbol name, and filter these by auth/name/ver instead of filtering dists (which can be huge)
20:27 TimToady joined
lizmat FROGGS: so it is an optimisation, really 20:27
20:27 anaeem1_ left
FROGGS yes, I think so 20:28
lizmat okidoki :-)
FROGGS :o)
20:29 xfix left
FROGGS m: class Foo { method bar is export {} }; import Foo; &bar.signature 20:32
camelia ( no output )
FROGGS m: class Foo { method bar is export {} }; import Foo; say &bar.signature
camelia rakudo-moar 0d93f2: OUTPUT«(Foo: *%_)␤»
AlexDaniel arnsholt: hm, maybe I can grep for unicode characters from here somehow github.com/perl6/std/blob/master/STD.pm6
20:32 diana_olhovik_ left 20:38 jack_rabbit left
FROGGS m: grammar D4 { token doo4 is export { doo4 }; }; import D4; 'doo4' ~~ &doo4 20:44
camelia rakudo-moar 0d93f2: OUTPUT«Type check failed in binding <anon>; expected 'D4' but got 'Cursor'␤ in regex doo4 at /tmp/shPOxpe_Y3:1␤ in block <unit> at /tmp/shPOxpe_Y3:1␤␤»
FROGGS TimToady: do we want to allow that?
20:45 jack_rabbit joined
Ulti just fixed bitrot in the Stats module 20:45
turns out .kv.map({$^k * $^v}) doesnt work so well post GLR :D 20:46
FROGGS and we are not yet post GLR :o)
Ulti .pairs is now the way to go for .key .value which is nicer anyway
TimToady .kv is still supposed to be flat 20:48
m: my @foo = <a b c>. say @foo.kv.perl 20:49
camelia rakudo-moar 0d93f2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/q9kOISTYzj␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/q9kOISTYzj:1␤------> 3my @foo = <a b c>. 7⏏5say @foo.kv.perl␤»
masak hee
TimToady m: my @foo = <a b c>; say @foo.kv.perl
camelia rakudo-moar 88b120: OUTPUT«(0, "a", 1, "b", 2, "c")␤»
TimToady so that map should work
sorry, in a meeting, so a bit distracted
20:51 jack_rabbit left
masak m: my @foo = <a b c>; say @foo.kv.elems 20:54
camelia rakudo-moar 88b120: OUTPUT«6␤»
masak \o/
m: my @foo = <a b c>; say @foo.kv.tree.perl
camelia rakudo-moar 88b120: OUTPUT«(0; "a"; 1; "b"; 2; "c").item␤»
raydiak m: my %foo = ^6; say %foo.kv.map: {$^k * $^v} 20:55
camelia rakudo-moar 88b120: OUTPUT«20 0 6␤»
masak m: my @foo = <a b c>; say @foo.pairs.perl
camelia rakudo-moar 88b120: OUTPUT«(0 => "a", 1 => "b", 2 => "c")␤»
masak m: my @foo = <a b c>; say @foo.pairs.map({ .key, .value }).perl
camelia rakudo-moar 88b120: OUTPUT«((0, "a"), (1, "b"), (2, "c"))␤»
masak wonders if there's a shorter way to do that
raydiak m: say <a b c>.kv.rotor(2).perl 20:58
camelia rakudo-moar 88b120: OUTPUT«((0, "a"), (1, "b"), (2, "c"))␤»
20:59 darutoko left
raydiak m: say <a b c>.pairs».kv.perl 20:59
camelia rakudo-moar 88b120: OUTPUT«((0, "a"), (1, "b"), (2, "c"))␤»
TimToady we could treat subsigs on pair-ish types as splitting the pair into a list of two things, so .pairs -> ($k,$v) {...} 21:00
likewise for Rat and Complex
21:03 noganex joined
masak could work. 21:05
I assume you're not saying we should special-case 2-tuples, but it should work for arbitrary N-tuples?
Ulti either way I ran Tim King's benchmarks from a couple years ago and modern Rakudo runs them quite a bit faster and more predictably 21:06
gist.github.com/MattOates/c2e19950f46d1a1c241a
though I am also using a quite modern CPU :S 21:07
*shrug*
skids m: for (1,2,3).pairs -> $p [:key($k), :value($v)] { $p.say; $k.say; $v.say;} # what do square brackets do here as opposed to parens? 21:10
camelia rakudo-moar 88b120: OUTPUT«0 => 1␤0␤1␤1 => 2␤1␤2␤2 => 3␤2␤3␤»
masak think they're equivalent. 21:11
skids m: for (1,2,3).pairs -> [:key($k), :value($v)] { $k.say; $v.say;} # that works with parens 21:12
camelia rakudo-moar 88b120: OUTPUT«Type check failed in binding <anon>; expected 'Positional' but got 'Pair'␤ in block <unit> at /tmp/di7RXKHy1x:1␤␤»
21:12 mohij joined
dalek ast: b159d9b | FROGGS++ | S05-grammar/methods.t:
add test for our scoped tokens RT #125169
21:14
Ulti 11x speed up since Sept 2013 kind of doubt my CPU is that many times faster 21:15
everyone++ ?
FROGGS Sep 13? 21:16
Ulti yeah
sd.jtimothyking.com/2013/09/17/how-...is-perl-6/
increasingly more on the side of how fast is perl 6 :)
using native types slows things down because I assume you just introduce loads of (un)boxing for the .is-prime 21:17
FROGGS probably, yeah 21:18
though, I must say that I am not a performance expert :o) 21:19
but yeah, Perl 6 feels overall quite 'fast enough'
masak tell that to my 26-minute script :/ 21:20
yes, I was surprised too 21:21
lizmat gets some shuteye 21:23
good night, #perl6!
masak 'night, lizmat++
21:32 kurahaupo left, kurahaupo joined
raydiak wonders what masak is asking of rakudo which takes 26 minutes 21:40
masak gist.github.com/masak/7a1d84435d2b...endmore-p6 21:41
ok, I just got slightly more impressed. 21:42
I ported it to Perl 5... gist.github.com/masak/7a1d84435d2b...version-pl
...and...
that version takes 8 minutes.
m: say 26 / 8 21:43
camelia rakudo-moar 88b120: OUTPUT«3.25␤»
raydiak that's...actually not so bad, then?
21:43 espadrine left
masak a factor of 3.25 really isn't bad. 21:43
(Perl 6)++
still, I think we can get closer :)
raydiak will the internals/performance part of the glr help much with that? 21:44
TimToady profile it and see how much gimme and reify there is 21:46
21:47 [Sno] left 21:48 Zoffix joined
cognominal TimToady, how come that classes like Match don't do Positional or Associative? 21:49
masak m: say Match ~~ Positional; say Match ~~ Associative
camelia rakudo-moar 88b120: OUTPUT«False␤False␤»
TimToady don't remember offhand, and still distracted in a meeting...
cognominal m: say Cursor.does(Associative)
camelia rakudo-moar 88b120: OUTPUT«False␤»
masak Cursor certainly shouldn't be Associative 21:50
cognominal m: say Capture.does(Associative)
camelia rakudo-moar 88b120: OUTPUT«False␤»
21:50 [Sno] joined 21:51 Zoffix left
raydiak wait, what? even Array...???... 21:55
m: say Array ~~ Positional
camelia rakudo-moar 88b120: OUTPUT«True␤»
raydiak hrm
m: say Array.^mro
camelia rakudo-moar 88b120: OUTPUT«(Array) (List) (Iterable) (Cool) (Any) (Mu)␤»
21:55 Zoffix joined
masak Positional is a role 21:56
m: say Array.^roles
camelia rakudo-moar 88b120: OUTPUT«(Positional)␤»
raydiak yeah got that part, I did...something else weird, looking for my mistake
m: say any(Array,Hash) ~~ any(Positional,Associative) 21:57
camelia rakudo-moar 88b120: OUTPUT«False␤»
raydiak that's a variant of what I did
what does that do?
masak m: say Array ~~ any(Positional, Associative) 21:58
camelia rakudo-moar 88b120: OUTPUT«True␤»
masak easiest explanation is that the lhs doesn't autothread. 21:59
m: say any(1, 2) ~~ 1
camelia rakudo-moar 88b120: OUTPUT«any(True, False)␤»
masak m: say so any(1, 2) ~~ 1
camelia rakudo-moar 88b120: OUTPUT«True␤»
raydiak heh we're doing almost the exact same things (locally on my end)
masak hm.
m: say so any(1, 2) ~~ any(2, 3) 22:01
camelia rakudo-moar 88b120: OUTPUT«True␤»
masak I don't really understand why that works -- but not the one with type objects.
raydiak m: []|[] ~~ Positional 22:02
camelia ( no output )
raydiak m: say []|[] ~~ Positional
camelia rakudo-moar 88b120: OUTPUT«False␤»
masak m: say ([]|[]) ~~ Positional
camelia rakudo-moar 88b120: OUTPUT«False␤»
raydiak m: 1|2 ~~ Int
camelia ( no output )
raydiak m: say 1|2 ~~ Int
camelia rakudo-moar 88b120: OUTPUT«False␤»
masak ok, new hypothesis: 22:03
type checking is a bit different from value checking
m: say any(Array,Hash) ~~ Junction
camelia rakudo-moar 88b120: OUTPUT«True␤»
masak ok, that one seems true.
raydiak ah, hm
m: say (1|2).does: Int 22:04
camelia rakudo-moar 88b120: OUTPUT«False␤»
masak er, `.does` on a class?
m: say Int.does(Int) 22:05
camelia rakudo-moar 88b120: OUTPUT«True␤»
masak heh.
raydiak then, perhaps the LHS of the type membership row in design.perl6.org/S03.html#Smart_matching should s/Any/Mu/ to indicate that it doesn't autothread (if this is intended behavior) 22:06
masak 'night, #perl6 22:08
raydiak g'night antipodal masak o/ 22:09
from the same section of S03: All smartmatch types are "itemized"; both ~~ and given/when provide item contexts to their arguments, and autothread any junctive matches so that the eventual dispatch to .ACCEPTS never sees anything "plural". 22:11
22:12 RabidGravy left
raydiak which I guess implies that smartmatch cannot test for a Junction (use .does for that?), and the current behavior is wrong? 22:13
22:16 dolmen left 22:20 Zoffix left
dalek ast: 4e044e9 | usev6++ | S11-modules/require.t:
Use existing ticket number
22:23
22:23 Zoffix joined 22:28 Zoffix left 22:30 eli-se left 22:32 raiph left 22:34 molaf_ left 22:40 telex left 22:42 telex joined 22:48 raiph joined, kaare_ left 22:49 bjz left 22:51 mohij left 22:54 quester left 23:02 dayangkun joined 23:06 kurahaupo left 23:10 raiph left 23:12 koo6 left 23:16 spider-mario left 23:22 lizmat left, spider-mario joined 23:36 raiph joined 23:49 Sqirrel left 23:50 BenGoldberg left, Ben_Goldberg joined