»ö« 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.
diakopter on magnet (originally/mostly?) 00:00
or maybe it's a bot named [obliquely?] after its creator?
BenGoldberg Purl is indeed a bot. Or was anyway, I haven't seen it for a while. 00:04
00:04 coetry joined
BenGoldberg .seen purl 00:04
yoleaux I haven't seen purl around.
00:04 b2gills joined
diakopter lizmat: irclog.perlgeek.de/parrot/search/?n...url&q= 00:04
pink_mist purl would be on magnet, if purl was around
but purl isn't around even there
coetry this is frustrating :/, I'm trying to install Inline::Perl5, THE module that carries significant implications and makes my life easier :/ 00:06
lizmat aha, so Perl 6 *has* become sentient after all :-)
BenGoldberg The last time perlbot (the perl5 evalbot) saw purl was 2011.
coetry here's what I'm running into: gist.github.com/coetry/e8beb4d6bd16748dd9e7
diakopter lizmat: actually, on second thought, I think there was a person who used that nick, and I think they were the author of that bot
00:06 raiph joined
diakopter raiph: do you remember who was purl on perlmonks? 00:07
skids coetry: File::Temp installs fine for me, how new is your rakudo?
pink_mist BenGoldberg: I think that's because perlbot put purl on ignore back then :P purl hasn't been seen for months, but purl has been around this year at least :P
Skarsnik lol 00:08
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: c351070 | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Dist/Source.pm:
Convert JSON::Meth object to a hashref

Debugging with it still being an object is annoying
href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 2cfe887 | (Zoffix Znet)++ | / (4 files):
Improve test coverage of ModulesPerl6::DbBuilder::Dist::Source
00:08 kid51 left
Skarsnik 'night #perl6 00:09
jdv79 later
00:10 espadrine left, Skarsnik left
coetry skids: This is perl6 version 2015.09 built on MoarVM version 2015.09 00:11
diakopter lizmat: aha, purl was authored by PerlCure 00:12
00:15 TEttinger left
skids coetry: I'm on a git head from today, maybe someone on 2015.09 could say whether File::Temp installs for them. 00:16
coetry skids, I installed my rakudo from brew, if I wanted to upgrade to the git head like you, what should I do?
00:17 TEttinger joined 00:18 Zoffix joined
Zoffix coetry, rakudobrew self-upgrade; rakudobrew build moar; 00:18
2015.09 is way old :P
Zoffix is about to merge new-db-builder branch on modules.perl6.org repo. 00:19
Running a local db build to ensure all works "Processing dist 32 of 461".
Quom_ m: { die("ded."); CATCH { say("caught") }}; say("not rethrown?"); 00:22
camelia rakudo-moar fec2b5: OUTPUT«caught␤ded.␤ in block <unit> at /tmp/yny9_vpLLj:1␤␤»
Quom_ nqp-m: { die("ded."); CATCH { say("caught") }}; say("not rethrown?");
camelia nqp-moarvm: OUTPUT«caught␤not rethrown?␤»
Quom_ I suppose in NQP rethrows are explicit 00:23
00:23 llfourn joined
skids Hrm, Inline::Perl5 is broken on latest, though, actually inside the module itself. 00:25
"No such method 'context' for invocant of type 'Inline::Perl5::Perl6Callbacks'"
Zoffix yup 00:27
coetry :(
Zoffix Others are having the same issue: irclog.perlgeek.de/perl6/2015-11-27#i_11612777
coetry hi Zoffix, i remember you :)
Zoffix I don't remember you :/
coetry lol that's because you helped me before, and i didn't help you haha
Zoffix heh, ok :)
coetry unless you count you helping me, helping you because that reinforces your knowledge 00:28
:)
00:30 Psyche^ joined
skids Ok, so as a workaround anyone have rakudo/nqp/moar commit IDs where Inline::Perl5 is working? 00:32
coetry zef || panda ? 00:34
Zoffix coetry, zef, 'cause it precompiles
coetry nice
Zoffix though /me never could get it to work for some reason; would not install into visible paths
coetry hmm
Zoffix skids, no idea, but why not try to fix it and submit a PR instead? :)
00:35 Psyche^_ left
skids Not that I wouldn't but that will take time in any case. 00:35
Zoffix skids, well, its author is busy getting Perl 6 ready for Christmas release and might even take a break after that. It'll might be a while 'till Inline::Perl5 will get fixed anyway, so why not try to fix it? 00:37
Will you really stay on an old rakudo commit and not try the new and shiny Perl 6.Christmas just due to Inline::Perl5 :P 00:38
coetry I wish Inline::Perl5 could be ready by Christmas too, however I'm a noob
I would fix it if I knew how
skids Zoffix: I didn't say I would not, but coetry wants it working now for him/her self to play with.
coetry im a "him" skids :) 00:39
Zoffix coetry, Meh. It's a crutch. Go pure Perl 6 :P
00:39 bpmedley joined 00:40 pierre-vigier joined
Zoffix Yey "[info] Finished building all dists." All stuff's done :) I'll wait until tomorrow to merge tho. Don't wanna mess with cron and friends setting the new workflow up tonight. 00:41
TimToady hmm...
> rakudobrew test
Spectesting moar-nom
Couldn't determine correct make program. Aborting.
coetry Zoffix, i would love to go pure perl6, lol but you and me both know that the ecosystem will take while for helpful modules to readily be available for a lot of scenarios, until then, I will gladly use the shiny crutch of Inline::Perl5
Zoffix TimToady, I'm getting the same error when rakudobrew triple nom master master
00:43 Exodist left
Zoffix coetry, what module do you need from P5 BTW? Just curious what's in demand. 00:43
00:44 Exodist joined
coetry Well, I'm actually new to Perl itself, but OAuth, Twitter clients, things like that are helpful 00:44
00:44 pierre-vigier left
Zoffix aha 00:44
I was planning to make a P6 Twitter bot that announced ecosystem additions.. Though that likely won't be done until around or after New Years. 00:45
coetry cool, I would love to see it and contribute if possible at all
00:45 pierre-vigier joined
coetry microscopic commits until I grow my wings 00:46
mspo twitter oauth is pretty easy the last time I implemented it
a few years ago, though
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: e406686 | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Dist/Source.pm:
Fix bug with distro build crashing when "author" field is set to an array
TimToady good grief, it pulls MAKE= out of the makefile...why not just run "make" for a default?
Zoffix :S 00:47
coetry wait Zoffix, i recognize your github avatar from twitter
Zoffix Yeah, I'm on Twitter: twitter.com/zoffix 00:48
coetry are you the same person? If so, I follow you, you're cool :) I followed you after seeing a tweet on custom perl6 operators (one of my favorite features of perl6)
i'm coetry on twitter as well
00:48 pnu joined
Zoffix k, followed you 00:49
Yeah, I love custom P6 operators too :) Too bad they're really expensive to add
coetry cool cool, and yeah usually when you play with macros and custom stuff, although pleasant to the eye and mind, the computer has to do more work
I'd love to work on improving performance when i learn the chops to do so 00:50
00:51 BenGoldberg left
coetry i'm commited to perl6 and its growth :), i had a period of time where i would jump from ruby, lisp, clojure, and so many languages trying to find my community and niche, but I feel that Perl6 is where I belong 00:51
00:52 pierre-vigier left
Zoffix :) 00:52
coetry just reading the design docs that Larry made, and the philosophy, and the power of the language itself. And the fact that Larry explicityly said he addressed Paul Graham's 100 year language musings, it was a seller for me
If i'm alive, in 10 years i would like to have contributed a healthy chunk of the pie!
00:54 solarbunny joined
TimToady Zoffix: we can make it a lot cheaper to add custom operators, I suspect 00:54
Zoffix \o/ yey
00:58 pierre-vigier joined 00:59 pierre-vigier left
TimToady Zoffix: I changed the error line in rakudobrew to just run("make $command"); and it works fine here 00:59
Zoffix cool 01:00
TimToady I wonder if there's someplace where assuming "make' is the correct default program is antithetical to the march of human civilization...
Zoffix lol
01:00 pierre-vigier joined
geekosaur most bsds have "make" as their make which is not compatible with gnu make 01:01
and gnu make is assumed by a lot of things these days, leading to annoying breakage on *bsd, solaris, etc. 01:02
dalek p: f347320 | Mouq++ | src/core/NQPLock.nqp:
NQPLocks should propogate errors
TimToady heh, if I ask for *make it asks if I want: qmake omake mmake jmake cmake bmake imake fmake pmake make tmake or vmake 01:03
(but not gmake, go figure) 01:04
((I guess that's what make is here))
Zoffix :o
xkcd.com/927/
TimToady ayup, don't even have to look that one up :)
Zoffix :P 01:05
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: ac2c96d | (Zoffix Znet)++ | bin/build-project-list.pl:
Do not use system perl via shebang
href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: cd8e45d | (Zoffix Znet)++ | bin/build-project-list.pl:
Make build script a "Singleton"

Abort run if we"re already running. This will allows us to chuck the script into cron in frequent intervals to allow almost-round-the-clock building
TimToady fortunately we'll run out of characters after we have (a..z)make 01:06
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 07f2c55 | (Zoffix Znet)++ | bin/build-project-list.pl:
Comment why we"re doing all this flock business
01:07
01:10 rigsby left 01:11 pierre-vigier left 01:13 zengargoyle left
Quom_ TimToady: Don't forget 6make 01:13
01:14 zengargoyle joined, rigsby joined
lizmat good night, #perl6! 01:16
01:18 zengargoyle left, zengargoyle joined 01:21 Exodist left 01:24 Exodist joined 01:25 Zoffix left 01:33 xpen joined 01:34 Celelibi left 01:37 xpen left 01:46 yaxx_ joined
hahainternet i'm surprised that flock DATA works 01:46
that's neat
01:48 xpen joined 01:53 xpen left 02:04 TimToady left
dalek c: 8f2749c | LLFourn++ | doc/Language/functions.pod:
doc'd proto
02:05
02:06 TimToady joined 02:15 herby joined
herby Good evening, everyone! 02:15
dumb question... I'm watching a youtube video and the guy is launching a perl6 script with: perl6-m test.p6 02:23
what is the -m?
02:24 vendethiel left
pink_mist probably stands for moarvm 02:25
as opposed to jvm
herby as a beginner who is learning p6 as a hobby, should I be purposefully using one over the other?
or for my purposes is it likely the same?
TimToady you'll be less frustrated with moarvm unless you specifically need to run on jvm for some reason 02:26
pink_mist I think moarvm is more feature complete than jvm is ... but I'm not sure how much difference there really is
Quom_ moarvm also has a much faster startup time
herby so if i'm on ubuntu and using rakudo, should i be launching my scripts with perl6-m? 02:27
perl6 -m
TimToady I just use a p6 alias :)
Quom_ herby: It only makes a difference if you installed both
TimToady and you can have it install "perl6" as an alias to one or the other 02:28
herby ah ok. i don't think I installed both. i just used the generic rakudo installer
i'll have to read a little bit and see what came with it
Quom_ herby: Or just `perl6 --version`
herby "This perl6 version 2015.11 built on MoarVM version 2015.11" 02:29
guess that answers that
I want to try to tackle this idea in Perl 6 02:30
chrisholdgraf.com/querying-craigsli...th-python/
figure it would be a useful learning exercise
not sure if Perl 6 has anything for the graphing part though
02:31 rigsby left 02:33 AlexDaniel left
herby alright, thanks for the info 02:35
have a good night!
02:37 Zoffix joined
Quom_ 'night! 02:37
02:44 herby left
dalek p: 19073a7 | TimToady++ | src/HLL/Compiler.nqp:
Don't confuse rakudo version with perl version.
02:52
kudo/nom: a148bf3 | TimToady++ | tools/build/NQP_REVISION:
bump nqp to get more accurate --version
02:53
gfldex herby++ # i guess
zengargoyle heh 02:57
the evil me wants to make a quick post somewhere about Perl 6 finally giving in and changing its numbering scheme. *mualahaha* 02:59
Quom_ m: say 1 cmp NaN # what's the expected answer here? 03:01
camelia rakudo-moar fec2b5: OUTPUT«Same␤»
b2gills .tell [Coke] I would like to be listed as "Brad Gilbert (b2gills)" or "Bradley Allen Gilbert (b2gills)" etc. because "Brad Gilbert" by itself is very non-unique. ( usually associated with a tennis player )
yoleaux b2gills: I'll pass your message to [Coke].
b2gills Quom: FileNotFound
yaxx_ m: my @a[3;3] = 1..3, 4..6, 7..9; 03:02
camelia ( no output )
zengargoyle m: my @a[3;3] = 1..3, 4..6, 7..9; say @a; 03:03
camelia rakudo-moar fec2b5: OUTPUT«[[1 2 3] [4 5 6] [7 8 9]]␤»
b2gills Quom_: thedailywtf.com/articles/What_Is_Truth_0x3f_
yaxx_ m: my @a[3;4] = 1..3, 4..6, 7..9; say @a; 03:06
camelia rakudo-moar fec2b5: OUTPUT«[[1 2 3 (Any)] [4 5 6 (Any)] [7 8 9 (Any)]]␤»
zengargoyle Quom_: i'd probably pick Same... vs Less or More, Same is the most sane. 03:07
flussence zengargoyle: technically, p6 did change its numbering scheme this week... to remove that arbitrary ascii requirement :D
zengargoyle must have missed that. :) 03:08
flussence m: say ⑨ * ㊿
camelia rakudo-moar fec2b5: OUTPUT«450␤»
Quom_ Python's cmp says greater than
m: enum Bool (True, False, FileNotFound); 03:09
camelia rakudo-moar fec2b5: OUTPUT«===SORRY!===␤Cannot invoke this object␤»
Quom_ m: enum MyBool (True, False, FileNotFound);
camelia rakudo-moar fec2b5: OUTPUT«===SORRY!===␤Cannot invoke this object␤»
Quom_ m: enum MyBool <True False FileNotFound>;
camelia ( no output )
Quom_ m: enum Bool <True False FileNotFound>;
camelia ( no output )
flussence
.oO( it's horribly tempting that some really obscure unicode character just happens to have the numeric value for "5 days' worth of seconds"... )
03:11
yaxx_ m: my @a[3;3] = 1..3, 4..6, 7..9; @a[0,1,2] = @a[2,1,0]; say @a;
camelia rakudo-moar a148bf: OUTPUT«Partially dimensioned views of arrays not yet implemented. Sorry. ␤ in block <unit> at /tmp/hiaLDlTK4N:1␤␤»
Quom_ Ruby wisely returns nil 03:12
03:12 yqt left
ShimmerFairy Quom_: according to wikipedia, "A comparison with a NaN always returns an unordered result even when comparing with itself.", so judging by that 'Same' is wrong, but any of the other enums are fine :) 03:13
03:14 noganex_ joined
Quom_ ShimmerFairy: You mean to say that the enums of Order imply an unordered result? ;) 03:14
zengargoyle isn't an unordered sort the same as cmp always returning Same?
ShimmerFairy Quom_: oh, dur. 03:15
zengargoyle: come to think of it, that's possibly one way to define unordered :) (though I have a feeling most people would like some sort of Order::None to be more clear)
yaxx_ m: my @a[3;3] = 1..3, 4..6, 7..9; say @a[0,2]; 03:16
camelia rakudo-moar a148bf: OUTPUT«Partially dimensioned views of arrays not yet implemented. Sorry. ␤ in block <unit> at /tmp/3tIw0eiTiI:1␤␤»
ShimmerFairy m: say 1+2i cmp 3+4i
camelia rakudo-moar a148bf: OUTPUT«Less␤»
Quom_ is reminded of masak++'s article from June
ShimmerFairy m: say 1+2i <=> 3+4i
camelia rakudo-moar a148bf: OUTPUT«Can not convert 1+2i to Real: imaginary part not zero␤ in block <unit> at /tmp/fqaALENANO:1␤␤Actually thrown at:␤ in block <unit> at /tmp/fqaALENANO:1␤␤»
zengargoyle making Less, Same, More into 4 things might complicate things...
Quom_ m: say 1+2i cmp 2+i 03:17
camelia rakudo-moar a148bf: OUTPUT«Less␤»
ShimmerFairy zengargoyle: sure, doesn't necessarily need to be an Order:: thing, could just as easily be Nil or a Failure or... :)
03:17 noganex left
geekosaur note that complex numbers represent 2-dimensional values, so a linear ordering is not meaningful 03:17
ShimmerFairy Quom_: complex numbers aren't ordered, as I recall. That's why I was checking
zengargoyle i'm thinking of the way cmp is used by sort. 03:18
you either put a before b or b before a or you keep the order they had.
ShimmerFairy m: say 1..3 cmp 2..4 # something I ran into yesterday, when C++'s std::less wanted something for my Range-like struct. How should Ranges compare?
camelia rakudo-moar a148bf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6kG9bB8V7t␤Operators '..' and 'cmp' are non-associative and require parentheses␤at /tmp/6kG9bB8V7t:1␤------> 3say 1..37⏏5 cmp 2..4 # something I ran into yester␤ expecting any of:␤ in…»
ShimmerFairy m: say (1..3) cmp (2..4) # something I ran into yesterday, when C++'s std::less wanted something for my Range-like struct. How should Ranges compare? 03:19
camelia rakudo-moar a148bf: OUTPUT«Less␤»
zengargoyle or throw an failure and bust everything.
zengargoyle would also accept <Less Same More>.pick :)
ShimmerFairy the definition I chose is that for $a..$b < $c..$d I do $c < $b. But of course that can't be good enough, I don't think. 03:20
Quom_ Welp. It seems like Unordered/Failure is no esoteric an option…
m: -Inf cmp -Inf 03:21
camelia rakudo-moar a148bf: OUTPUT«WARNINGS:␤Useless use of "cmp" in expression "-Inf cmp -Inf" in sink context (line 1)␤»
ShimmerFairy geekosaur: btw, I can't help but think that the issue is with ambiguous cases; it seems obvious (or at least intuitive) to me that 0+0i < 1+1i, so to me the interesting bits come in on things like 2+0i < 1+1i
Quom_ m: say -Inf cmp -Inf
camelia rakudo-moar a148bf: OUTPUT«Same␤»
Quom_ *not so
geekosaur ShimmerFairy, same thing really; your "ambiguous cases" are the ones where the differences are in both dimensions 03:22
ShimmerFairy Quom_: the one issue we might have with a Nil/Failure/etc. is that things like hash sorting use cmp, and I can't help but wonder how big the changes would be
geekosaur: yeah, that's been my thinking, that when the individual dimensions would generate different results is when the issues arise. It feels like we need ternary logic for complex numbers; "definitely less", "half-way less", and "not at all less" :P 03:23
geekosaur I will also note that there are multiple uses for ordering; if you are hashing or ordering for a tree of some kind, it suffices to pick a consistent ordering rule
but this is distinct from mathematical ordering, where you cannot meaningfully collapse a multi-dimensional value into a linear ordering 03:24
ShimmerFairy geekosaur: definitely, my C++ case was just "pick something to satisfy std::less for my use of Range-likes as a hash key". It feels like we perhaps would like to separate mathematical and [other kind] ordering 03:25
geekosaur (and then there's partial vs. total orderings)
Zoffix wtf
m: say ⑨ * ㊿
camelia rakudo-moar a148bf: OUTPUT«450␤»
Zoffix 0.o
.u ㊿
yoleaux U+32BF CIRCLED NUMBER FIFTY [No] (㊿)
Zoffix Man, that char doesn't even display on my client :/
What's whack
ShimmerFairy geekosaur: maybe the fact that S03 calls 'cmp' as using 'eqv' semantics means it was already meant to be the other thing, or if Perl 6 has in fact made the potential mistake of not separating the two kinds 03:26
geekosaur most languages make that mistake
zengargoyle m: say (1+2i)**2 cmp (3+4i)**2
camelia rakudo-moar a148bf: OUTPUT«Less␤»
ShimmerFairy Zoffix: what's weird is that I only recall enabling Nd type characters for numeric literals, perhaps someone opened it up?
m: say "⑨".uniprop("Numeric_Type")
camelia rakudo-moar a148bf: OUTPUT«2␤»
geekosaur every so often there's a push to separate them in Haskell but it hasn't happened and I suspet it never will
ShimmerFairy m: say "⑨".uniprop_str("Numeric_Type")
camelia rakudo-moar a148bf: OUTPUT«Method 'uniprop_str' not found for invocant of class 'Str'␤ in block <unit> at /tmp/XgtsjosloL:1␤␤»
geekosaur because every use of Data.Set / Data.Map would break
ShimmerFairy m: say "⑨".uniprop-str("Numeric_Type") 03:27
camelia rakudo-moar a148bf: OUTPUT«␤»
ShimmerFairy geekosaur: are there any languages which _do_ separate? (I'm thinking the mythical Perl 6.1 might want to, if it turns out to be problematic) 03:28
geekosaur not that I can think of offhand
flussence Zoffix: the missing char of the two is swapped on my terminal, which makes even less sense... 03:30
Zoffix At least it makes for a good advert tweet :) twitter.com/zoffix/status/670444009534418944 03:31
Quom_ My thought wouldn't be so much separation as DWIM... you can just use it as before if you want, but you can at least tell when the arguments are unordered 03:32
zengargoyle m: say "🃜".uniprop("numeric_Type")
camelia rakudo-moar a148bf: OUTPUT«0␤»
yaxx_ m: my @a[⑨;⑨] = (1..⑨) xx ⑨; say @a;
camelia rakudo-moar a148bf: OUTPUT«[[1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9]]␤»
geekosaur really, Haskell is about the only language where users would care... and if they're not willing to address it, nobody is :) 03:33
zengargoyle m: say "🃜".uniprop("Numeric_Type")
camelia rakudo-moar a148bf: OUTPUT«None␤»
zengargoyle would have been cool if PLAYING CARD * had numeric_type
Zoffix heh
That's really pushing it :P 03:34
zengargoyle ACE would have to be a junction 1|11 :)
Zoffix :)
ShimmerFairy Quom_, zengargoyle, geekosaur: actually, considering 'before' is supposed to be the 'eqv' version of numeric < , we might already have the separation in the design; 'eqv' ops for sort ordering, numeric ops for math ordering
03:35 coetry left
ShimmerFairy the .uniprop stuff is broken, btw, .uniprop("Numeric_Type") should really return a string, but AFAICT it returns Moar's internal enum for the string :) 03:35
zengargoyle i'd guess it would be <=> that got tweaked
geekosaur and then there's the solitaire game I often play late night on my tablet, where the ordering is K, A, .. Q
zengargoyle we still have <=>, leg, for numeric/string specific comparison. 03:36
ShimmerFairy m: say 1+3i <=> 4+5i # already handled for Complex, even if the message is LTA
camelia rakudo-moar a148bf: OUTPUT«Can not convert 1+3i to Real: imaginary part not zero␤ in block <unit> at /tmp/GUZ8sENn6i:1␤␤Actually thrown at:␤ in block <unit> at /tmp/GUZ8sENn6i:1␤␤»
ShimmerFairy m: say 3 <=> NaN
camelia rakudo-moar a148bf: OUTPUT«Same␤»
ShimmerFairy boo for <=> 03:37
zengargoyle i'd guess cmp is just falling back to <=>
ShimmerFairy might be worth asking TimToady if before/after/eqv/cmp should be considered a different kind of ordering from numerics, or if that's a different area (e.g. "a" cmp "b" ~~ "a" leg "b", but in this line of thinking 1+0i cmp 1i !~~ 1+0i <=> 1i ) 03:38
in other words, I don't know if leg and <=> are supposed to be "just" coercive versions of cmp, or if it's OK for a more explicit separation. 03:39
s/explicit/meaningful/
zengargoyle m: say NaN.WHAT 03:41
camelia rakudo-moar a148bf: OUTPUT«(Num)␤»
ShimmerFairy NaN and Inf are (currently) literally just the floating-point constants. Part of the consternation with Inf is how to come up with a more pervasive version :P 03:42
m: say Inf.WHAT
camelia rakudo-moar a148bf: OUTPUT«(Num)␤»
zengargoyle m: say -Inf === -Inf
camelia rakudo-moar a148bf: OUTPUT«True␤»
zengargoyle m: say -Inf === Inf 03:43
camelia rakudo-moar a148bf: OUTPUT«False␤»
zengargoyle m: say NaN === NaN
camelia rakudo-moar a148bf: OUTPUT«True␤»
Zoffix m: say Inf+i === (0/0)+i
camelia rakudo-moar a148bf: OUTPUT«True␤»
ShimmerFairy Yeah, that's the nice thing about Perl 6's operators, and its general attitude of different spellings for different things. NaN == NaN will of course be false, but I can test for it using === instead of a more awkward (to me) isNaN() :) 03:45
Zoffix Heh, my phone cheats by displaying "㊿" as simply 50 :) 03:46
All this talk about NaN's making me hungry. 03:47
ShimmerFairy obviously using one of those nasty NFK* forms :P
zengargoyle om NaN NaN?
Zoffix en.wikipedia.org/wiki/Naan
zengargoyle ShimmerFairy: did you catch the earlier discussion of POD stuff today? 03:49
ShimmerFairy zengargoyle: yesterday, yes, but not anything hours back
03:49 david_cassel left
zengargoyle TT thinks... ditch =finish. add =eof which is (as =finish was) a =begin FOO that goes to end of file. 03:50
and have =eof comment (the default), =eof pod (sorta like =finish), =eof data (like old __DATA__). 03:51
Quom_ ShimmerFairy: btw, do you plan to post the work you've done? I'd like to help – I think it's work that's important to try to figure out now-ish 03:53
ShimmerFairy zengargoyle: yeah, skimming the web log now. It's an interesting idea. I'd consider it a new directive though, so there's no "default", but it's kinda like =begin or =for; basically, "like =for except the end is just EOF, not a blank line as well"
Zoffix MadcapJake, which reminds me, the Atom highlighter doesn't do much with =finish. Doesn't matter much if you don't care about it, but IIRC the standard Atom's P6 highligher highlights stuff after =finish as POD IIRC
ShimmerFairy Quom_: yeah, just finishing up parsing the bottom border of tables, and then (even if it don't work), I'll write up some final notes to stick in the directory :)
zengargoyle the default is that just <<=eof>> is the same as <<=eof comment>> 03:54
Quom_ Cool :)
zengargoyle but yeah like =begin =foo a 'directive'... just has the blockyness of =begin XXX that needs no =end XXX 03:56
yaxx_ :m my $a = 1E⑨; 03:58
ShimmerFairy Quom_: the table parsing is annoying (I can kinda see why you or whoever went with doing it Actions-side, since my regex is fairly code-like in some ways), but hopefully the indent style I've adopted for regexes will make it not-painful to comb through :) 03:59
yaxx_ :m ⑨E⑨.fmt("%x").say;
Zoffix yaxx_, it's m: not :m
yaxx_ m: ⑨E⑨.fmt("%x").say; 04:00
camelia rakudo-moar a148bf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ztSXhoT7DW␤Two terms in a row␤at /tmp/ztSXhoT7DW:1␤------> 3⑨7⏏5E⑨.fmt("%x").say;␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ statement modi…»
ShimmerFairy m: my $a = 0x1E⑨; say $a.base(16)
camelia rakudo-moar a148bf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/2eBJrLGVuR␤Bogus postfix␤at /tmp/2eBJrLGVuR:1␤------> 3my $a = 0x1E7⏏5⑨; say $a.base(16)␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end…»
ShimmerFairy m: my $a = 1⑨; say $a
camelia rakudo-moar a148bf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nH06t7EbBl␤Bogus postfix␤at /tmp/nH06t7EbBl:1␤------> 3my $a = 17⏏5⑨; say $a␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ sta…»
ShimmerFairy looks like whoever extended the numeric literals just allowed non-Nd type numerics for standalone stuff, which I'm OK with :) 04:01
Quom_ The current table impl is tadzik's, from 2011, and no, I can't blame him for that
zengargoyle m: my $a = 0x1E+⑨; say $a;
camelia rakudo-moar a148bf: OUTPUT«39␤»
zengargoyle m: my $a = +⑨E+⑨; say $a; 04:03
camelia rakudo-moar a148bf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/osyeViaxRi␤Two terms in a row␤at /tmp/osyeViaxRi:1␤------> 3my $a = +⑨7⏏5E+⑨; say $a;␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤…»
ShimmerFairy yaxx_: only Decimal_Number type characters are allowed as part of numbers (and for hex, you can use anything marked with a true Hex_Digit property, and the natural extension of those for up to base 36)
(for those who care, numbers that have a General_Category of Decimal_Number, which by definition also means a Numeric_Type of Decimal (cf. www.unicode.org/policies/stability_...erty_Value )) 04:05
m: say Ⅱ 04:07
camelia rakudo-moar a148bf: OUTPUT«2␤»
ShimmerFairy cool, Nl works too on its own :)
yaxx_ m: my $a="zz⑨⑨aa⑨bb"; say $a.comb(/\d+/).fmt("%x") 04:08
camelia rakudo-moar a148bf: OUTPUT«␤»
04:09 colomon left
ShimmerFairy m: my $a="zz⑨⑨aa⑨bb"; say $a.comb(/<:Numeric_Type("decimal"|"digit"|"numeric")>/)».unival.fmt("%x") # unless I'm wrong, this should work... 04:11
camelia rakudo-moar a148bf: OUTPUT«␤»
ShimmerFairy I really ought to make a point to see if I can fix Moar's unicode properties sometime, I'd love to see .uniprop and related working :)
04:18 geraud joined
Quom_ m: my @a = 0,1,2; say @a[^10].perl # I'm not crazy, right? That should have 10 elems 04:22
camelia rakudo-moar a148bf: OUTPUT«(0, 1, 2)␤»
Quom_ I guess we don't test for that? 04:23
ShimmerFairy I faintly recall discussion around past-the-end stuff during the GLR stuff, but I'm not sure beyond that.
04:27 yaxx_ left
Quom_ m: my @a; @a[0,1] = ^10; say @a 04:28
camelia rakudo-moar a148bf: OUTPUT«[0 1]␤»
Quom_ m: my @a; @a[^2] = ^10; say @a
camelia rakudo-moar a148bf: OUTPUT«[]␤»
gfldex m: (Any ~~ *).perl.say; 04:34
camelia ( no output )
04:36 yaxxx joined, uruwi joined
yaxxx m: my @a[10]=0,1,2; say @a[^10]; 04:36
camelia rakudo-moar a148bf: OUTPUT«(0 1 2)␤»
MadcapJake Zoffix: ok I will get that added in, anyone know if there is a regex class for eof? 04:42
Zoffix: I don't think the standard one had it because I started with all the rules from that highlighter, so unless something got chopped or fudged along the way, all the old stuff should still work (though not much was left untouched) 04:43
04:48 hankache joined
diakopter .seen brrt 04:49
yoleaux I saw brrt 23 Nov 2015 14:19Z in #perl6: <brrt> hi hankache
04:50 yaxxx left
hankache good morning 04:52
dalek c: 7509af7 | LLFourn++ | doc/Language/functions.pod:
bad pasta in proto
05:17
ShimmerFairy MadcapJake: in Perl 6 we have /$/ for end of file/string (/$$/ being end of line), not sure about P5-style however 05:19
05:20 TEttinger left, TEttinger joined 05:28 TEttinger left 05:32 khw left 05:33 Sgeo_ joined 05:35 lab joined 05:37 pecastro_ joined, eiro left, ilbelkyr left, eiro joined, telex left, telex joined 05:38 ilbelkyr joined 05:39 grondilu left, uruwi left, lizmat_ joined 05:40 Peter__R joined, rvchangue_ joined 05:41 bitmap_ joined, MadcapJake_ joined 05:42 pecastro left, rvchangue left, nadim left, Sgeo left, bitmap left, zacts left, Peter_R left, MadcapJake left, lizmat left, rvchangue_ is now known as rvchangue, bitmap_ is now known as bitmap 05:43 geraud left, parisba_ left, cibs left, MilkmanDan left 05:47 noganex joined 05:49 zacts joined, Spot___ joined, MadcapJake_ is now known as MadcapJake 05:50 MadcapJake left 05:51 stmuk_ joined, TimToady2 joined, ir2ivps4__ joined, mathw_ joined, n0xff__ joined, cfloare_ joined, bonsaikitten joined, orevdiabl joined, obra_ joined, masak_ joined, pecastro joined, advwp_ joined 05:53 ilbelkyr_ joined, uruwi joined 05:54 havenn joined, havenn left, havenn joined, luis` joined 05:55 rvchangue_ joined, bowtie_ joined 05:56 Amnez777- joined, rvchangue left, ilbelkyr left, pecastro_ left, noganex_ left, TimToady left, raiph left, jantore_ left, Amnez777 left, xinming left, mathw left, confuseAcat left, cgfbee left, havenwood left, M-eternaleye left, bowtie left, luis left, frew left, ir2ivps4_ left, revdiablo left, cfloare left, pierrot left, advwp left, stmuk left, sjn left, obra left, Spot__ left, chewie_1982 left, Khisanth left, xiaomiao left, n0xff left, masak left, crux left, avar left, wtw left, literal left, M-Illandan left, rvchangue_ is now known as rvchangue, havenn is now known as havenwood 05:58 sjn joined 06:00 Spot___ is now known as Spot__ 06:03 cgfbee joined 06:05 chewie_1982 joined 06:11 jantore joined 06:12 xinming joined 06:14 pierre-vigier joined 06:18 pierre-vigier left 06:20 pierre-vigier joined
skids m: class A { method foo { EVAL "class GLOBAL::B \{ method bar \{ self.WHAT.say } }" } }; A.foo; EVAL "B.new.bar"; 06:22
camelia rakudo-moar a148bf: OUTPUT«(A)␤»
skids star: class A { method foo { EVAL "class GLOBAL::B \{ method bar \{ self.WHAT.say } }" } }; A.foo; EVAL "B.new.bar";
camelia star-m 2015.09: OUTPUT«(B)␤»
skids ^^That is what broke Inline::Perl5 I believe.
06:22 telex left 06:24 telex joined 06:27 M-Illandan joined 06:30 frew joined
dalek kudo-star-daily: 59bedd6 | coke++ | log/ (2 files):
today (automated commit)
06:30
kudo/nom: 3509077 | coke++ | docs/announce/2015.12.md:
don't forget the RFCs.
06:35
kudo/nom: b7c2ea8 | coke++ | docs/announce/2015.12.md:
expand a nick
06:36
hankache how can i get the code point from a Unicode grapheme? 06:39
is there a sub to do it?
dalek kudo/nom: c43caf8 | TimToady++ | src/core/Num.pm:
treat NaN comparisons like "NaN"
kudo/nom: c141b1b | TimToady++ | src/core/Complex.pm:
order Complex first on .re, then .im

This is just so sorts don't blow up, of course complex nubmers are
  "not ordered". For comparisions with other reals we assume .im is 0.
kudo/nom: d0fe88a | TimToady++ | src/core/Complex.pm:
prefer cmp to <=> in Complex::cmp to handle NaN
ast: 3ce083e | TimToady++ | S (2 files):
test new Num and Complex cmp consistency
06:42 TimToady2 is now known as TimToady
[Tux] test 50000 23.032 22.917 06:44
test-t 50000 20.695 20.580
csv-parser 50000 28.491 28.376
[Tux] => T-DOSE
TimToady hankache: .ord gives you the base character, or you can use .ords to get them all 06:47
m: say "\r\n".ord; say "\r\n".ords 06:48
camelia rakudo-moar a148bf: OUTPUT«13␤(13 10)␤»
TimToady m: say ord "\r\n"; say ords "\r\n"
camelia rakudo-moar a148bf: OUTPUT«13␤(13 10)␤»
TimToady or if you really meant "subroutine"...
[Coke] b2gills: if you mean in the announce for 2015.12 you don't seem to be listed yet 06:49
yoleaux 03:01Z <b2gills> [Coke]: I would like to be listed as "Brad Gilbert (b2gills)" or "Bradley Allen Gilbert (b2gills)" etc. because "Brad Gilbert" by itself is very non-unique. ( usually associated with a tennis player )
06:51 M-eternaleye joined 06:52 parisba_ joined
skids files RT#126754 about the EVAL/self/Inline::Perl5 thing. 06:55
TimToady skids++ 06:59
m: say 1..10 cmp 1^..10 07:00
camelia rakudo-moar d0fe88: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RGJolPe91M␤Operators '..' and 'cmp' are non-associative and require parentheses␤at /tmp/RGJolPe91M:1␤------> 3say 1..107⏏5 cmp 1^..10␤ expecting any of:␤ infix␤ infix stopper␤»
TimToady m: say (1..10) cmp (1^..10) 07:01
camelia rakudo-moar d0fe88: OUTPUT«Less␤»
TimToady m: say (1.1..10) cmp (1^..10)
camelia rakudo-moar d0fe88: OUTPUT«Less␤»
TimToady that's kinda oopsie
if we think of .. and indicating intervals
rather than ranges of integers 07:02
07:03 CIAvash joined
TimToady m: say (1..100000000) cmp (1..100000000) 07:04
okay, that's bad too
camelia rakudo-moar d0fe88: OUTPUT«(timeout)»
TimToady we should really be pushing ranges toward interval logic, not integer sequence logic
07:05 pierre-vigier left, pierre-vigier joined 07:16 obra_ is now known as obra 07:20 cognominal joined
skids Well, the 1.1..10 case sets up dissonance with (1.1..10) cmp (2,3,4,5,6,7,8,9,10) 07:27
07:28 rurban joined
TimToady is working on a patch 07:29
skids m: say (Less..More); say (More..Less);
camelia rakudo-moar d0fe88: OUTPUT«Order::Less..Order::More␤Order::More..Order::Less␤»
ShimmerFairy TimToady: should cmp (and all the other eqv ops) be based on something more general than mathematical/lexicographic ordering, so it can be more generally applicable in things like hash key sorting? It would certainly break <=> being "just a coercive cmp", and perhaps leg as just a coercive cmp too 07:35
lizmat_ T-Dose& 07:37
07:37 lizmat_ left 07:38 literal joined, avar joined, wtw joined, confuseAcat joined, crux joined
TimToady <=> and leg will stay strict ordering, just cmp needs to be generalized for sort to work 07:39
ShimmerFairy yeah, I wouldn't want <=> on Complex numbers to seemingly reveal a previously-unknown mathematical truth :P 07:40
07:42 Khisanth joined 07:45 skids left
dalek ast: a217b1a | TimToady++ | S03-operators/cmp.t:
test ranges with cmp
07:45
kudo/nom: 45cfb29 | TimToady++ | src/core/Range.pm:
order ranges first on min, then on max

Again, this is just for a consistent sorting order.
07:46
kudo/nom: 474db4c | TimToady++ | src/core/Range.pm:
also compare ranges against lists wisely
TimToady m: say (1..100000000) cmp (1..100000000) 07:52
camelia rakudo-moar 474db4: OUTPUT«Same␤»
TimToady m: say (1..100000000) cmp (1^..100000000)
camelia rakudo-moar 474db4: OUTPUT«Less␤»
TimToady m: say (1..100000000) cmp (1..^100000000)
camelia rakudo-moar 474db4: OUTPUT«More␤»
timotimo o/ 08:05
08:05 pierrot joined 08:08 hankache left, hankache joined 08:11 darutoko joined 08:12 xfix joined 08:20 grondilu joined, kaare_ joined 08:21 Woodi left
hankache m: say "\x263a"; 08:22
camelia rakudo-moar 474db4: OUTPUT«☺␤»
08:23 vendethiel joined
hankache how can I do it the other way round? 08:24
supply a grapheme and get the unicode code
TimToady proposed .ord but I don't know what it is returning
timotimo m: ords("\c[SNOWMAN]")
camelia rakudo-moar 474db4: OUTPUT«WARNINGS:␤Useless use of "ords(\"\\c[SNOWMAN]\")" in expression "ords(\"\\c[SNOWMAN]\")" in sink context (line 1)␤»
timotimo m: say ords("\c[SNOWMAN]")
camelia rakudo-moar 474db4: OUTPUT«(9731)␤»
timotimo m: say ords("\c[SNOWMAN]").base(16) 08:25
camelia rakudo-moar 474db4: OUTPUT«Method 'base' not found for invocant of class 'Seq'␤ in block <unit> at /tmp/kJ9j8wx1WZ:1␤␤»
timotimo m: say ords("\c[SNOWMAN]").fmt("%x")
camelia rakudo-moar 474db4: OUTPUT«2603␤»
timotimo m: say "\x2603"
camelia rakudo-moar 474db4: OUTPUT«☃␤»
hankache m: say ords("☃");
camelia rakudo-moar 474db4: OUTPUT«(9731)␤»
hankache say "\x9731"; 08:26
m: say "\x9731";
camelia rakudo-moar 474db4: OUTPUT«霱␤»
timotimo string also has coercers to the Uni type for different kinds of normalization
hankache huh?
timotimo m: say "foo".^methods
camelia rakudo-moar 474db4: OUTPUT«(BUILD Int Num chomp chop pred succ simplematch match ords samecase samespace trim-leading trim-trailing trim encode NFC NFD NFKC NFKD wordcase trans indent codes chars uc lc tc fc tclc flip ord WHY WHICH Bool Str Stringy DUMP ACCEPTS Numeric gist perl com…»
timotimo m: say "á".NKFC.perl 08:27
camelia rakudo-moar 474db4: OUTPUT«Method 'NKFC' not found for invocant of class 'Str'␤ in block <unit> at /tmp/wpi8LD7vFS:1␤␤»
timotimo m: say "á".NFKC.perl
camelia rakudo-moar 474db4: OUTPUT«Uni.new(0x00e1).NFKC␤»
timotimo i don't have good examples for combining characters on hand, though
ShimmerFairy hankache: .ord outputs the codepoint as a number, so it'll print as decimal unless you format it otherwise :)
timotimo m: say "á".NFD.perl 08:28
camelia rakudo-moar 474db4: OUTPUT«Uni.new(0x0061, 0x0301).NFD␤»
ShimmerFairy m: say "$̈".ord
camelia rakudo-moar 474db4: OUTPUT«36␤»
ShimmerFairy m: say "$̈".ords
camelia rakudo-moar 474db4: OUTPUT«(36 776)␤»
ShimmerFairy timotimo: ^^^ that's what I usually do for a quick example, put an umlaut on a symbol :P
timotimo heh
08:29 masak_ is now known as masak
timotimo i don't remember by heart which key on neo2 gives me umlaut-combiner 08:29
ShimmerFairy m: say "\r\n".ord; say "\r\n".ords; # and of course, always this grapheme :)
camelia rakudo-moar 474db4: OUTPUT«13␤(13 10)␤»
timotimo aye
hankache feeling lost :( 08:30
timotimo what exactly troubles you?
08:30 Amnez777- left, Amnez777- joined, Amnez777- is now known as Amnez777
hankache let's start fresh 08:30
masak morning, #perl6
timotimo a fresh start and a masak, looks good to me! 08:31
hankache you have 2 ways to output unicode right?
hi masak
vendethiel o/
masak a helpful passer-by mentioned to me on privmsg that colabti.org/irclogger/irclogger_logs/perl6 is still logging this channel
hankache \x and grapheme
\c and code point name
timotimo there's also \c[name, name, name]
hankache sorry \x and code point
timotimo what do you mean by "and grapheme"?
masak and that it's both freenode policy and colabti's policy to mention in the /topic when the the channel is being logged by something
timotimo yeah
ah, yes, putting it in the topic would be good 08:32
we do have the other irclog in the topic already
hm. does the other bot respect "[off]"?
08:33 abaugher left
timotimo it does not 08:33
hankache m: say "\x270C"
camelia rakudo-moar 474db4: OUTPUT«✌␤»
hankache so this is one way of doing it
08:33 abaugher joined
timotimo oh, would i have to start the line with [off] so that it triggers? 08:33
looks to be the case, and both bots seem to do that 08:35
hankache m: say "\c[VICTORY HAND]" 08:36
camelia rakudo-moar 474db4: OUTPUT«✌␤»
hankache and this is the other way
timotimo there's lots more ways, of course 08:37
m: Uni.new(36, 776).perl.say
camelia rakudo-moar 474db4: OUTPUT«Uni.new(0x0024, 0x0308)␤»
timotimo m: Uni.new(36, 776).say
camelia rakudo-moar 474db4: OUTPUT«Uni:0x<0024 0308>␤»
timotimo m: Uni.new(36, 776).encode("utf8").say
camelia rakudo-moar 474db4: OUTPUT«Method 'encode' not found for invocant of class 'Uni'␤ in block <unit> at /tmp/VsniDMmrkr:1␤␤»
timotimo oh?
hankache we have a Uni class?
timotimo m: say Uni.^methods
camelia rakudo-moar 474db4: OUTPUT«(new list Uni NFC NFD NFKC NFKD codes elems Numeric Int of Str Bool Method+{<anon|57965632>}.new Method+{<anon|57965632>}.new gist perl)␤»
timotimo Uni is what powers NFC, NFD, NFKC and NFKD methods of Str 08:38
m: Uni.new(36, 776).Str.say
camelia rakudo-moar 474db4: OUTPUT«$̈␤»
timotimo ah, so just .Str; that makes a lot of sense
hankache i can't find it in doc.perl6.org/type.html
timotimo twitter.com/JoelBesada/status/6703...5655293952 <3
you're right. it's missing 08:39
ShimmerFairy timotimo: despite appearances, I designed Uni and its derivatives as strings :P
(aka: I'm not the one who used the VMArray repr on them :P)
timotimo m: say KeyReducer; # isn't this dead? 08:40
camelia rakudo-moar 474db4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8C6roHQSa0␤Undeclared name:␤ KeyReducer used at line 1␤␤»
dalek c: a92e226 | timo++ | WANTED:
documentation for Uni is wanted
ShimmerFairy KeyReducer huh? 08:42
timotimo it's in the WANTED file still, but i think it's been killed some time ago 08:43
08:43 pierre-vigier left 08:44 MilkmanDan joined 08:46 cibs joined 08:49 pierre-vigier joined 08:50 advwp_ left, advwp_ joined 08:51 M-Illandan left, M-Illandan joined, M-eternaleye left, M-eternaleye joined, parisba_ left, parisba_ joined 08:55 ilbelkyr_ is now known as ilbelkyr 08:56 RabidGravy joined
RabidGravy marnin 09:01
timotimo hey rarbirdgrarvy 09:02
09:05 molaf joined
RabidGravy :-O 09:05
nine_ Good coffee, #perl6! 09:18
09:20 rindolf joined
Humbedooh mmm coffee 09:21
masak good tieguanyin tea, nine_ :) 09:29
I keep wanting to boost 007 in here, because some aspects of it are getting quite cool, macro-wise and quasi-wise 09:35
hankache what is the difference between NFC,NFD?
masak but I'll put it off for a bit, until we've come a little bit further with 007 :)
anyway, I want to acknowledge the implementation help of sergot++ and vendethiel++, and the discussion help (on #6macros) of FROGGS++ and pdcawley++
timotimo hankache: that's things the unicode consortium came up with and defined/defines 09:38
NFC is composed, NFD is decomposed
hankache thanks timotimo
timotimo so if you have a character like ä, which is a with umlauts if your terminal doesn't show it well, there's actually a unicode codepoint for "a with umlauts", but there's also one for "a without umlauts" and the "composing umlaut" codepoint 09:39
09:41 Actualeyes joined
hankache timotimo: ah ok so you compose it either way 09:42
\x (a with umlaut)
or \x (a) \x (umlaut)
timotimo m: say "ä".NFD; say "ä".NFC
camelia rakudo-moar 474db4: OUTPUT«NFD:0x<0061 0308>␤NFC:0x<00e4>␤»
timotimo that's right
m: say uniname(0x61); say uniname(0x308); say uniname(0xe4) 09:43
camelia rakudo-moar 474db4: OUTPUT«LATIN SMALL LETTER A␤COMBINING DIAERESIS␤LATIN SMALL LETTER A WITH DIAERESIS␤»
09:43 spider-mario joined
hankache m: say "thank you timotimo " ~ "\c[VICTORY HAND]"; 09:44
camelia rakudo-moar 474db4: OUTPUT«thank you timotimo ✌␤»
timotimo
09:47 pierre-vigier left 09:54 _mg_ joined 10:02 vendethiel- joined 10:03 vtd joined 10:04 vendethiel left, Axord left 10:12 Axord joined 10:18 hankache left
bartolin_ it looks like there was a new NullPointerException on JVM after the recent changes to .gistseen and .perlseen: 10:20
$ ./perl6-j -e 'say my @a'
java.lang.NullPointerException in block <unit> at -e:1
10:21 Begi joined
bartolin_ assuming that 'if sems<$WHICH>' is equivalent to 'if nqp::atkey(sems,$WHICH)' the following change seems to avoid the NPE: 10:22
gist.github.com/usev6/cc463b2166e1107f06bd
timotimo it's a bit different 10:23
can you try nqp::existskey(...) && nqp::atkey(...)?
or is this just about existskey and the actual value doesn't matter?
bartolin_ that's how I understand it (only testing whether key exists) 10:24
so I could try with nqp::existskey
timotimo that'd be better
i know in nqp we always prefix atkey with existskey if there's uncertainty 10:25
10:26 Begi2 joined
bartolin_ thanks, I'll try and report my findings later 10:26
10:28 Begi left 10:30 vtd left 10:38 Woodi joined
eiro hello 10:50
timotimo hello eiro 10:51
eiro vendethiel-, arre you on the french perl@ list ?
vendethiel- eiro: ?
eiro listes.mongueurs.net/mailman/listinfo < vendethiel- 10:52
vendethiel- not interested in french stuff, sorry :)
eiro i'm asking perl6 questions there.
vendethiel- i don't use mailing lists
eiro vendethiel-, :( not interested by perl6 promotion ? 10:53
no mailing list ?
oh my ...
vendethiel- not interested by 1) mailing lists 2) french
eiro ok ...
vendethiel-, is irc the only way to communicate with the community ? 10:55
dalek Heuristic branch merge: pushed 41 commits to roast/curli by niner
ast/curli: f13d3c5 | (Stefan Seifert)++ | / (6 files):
Adapt S10-packages/precompilation.t to new CompUnit architecture
10:56
Heuristic branch merge: pushed 79 commits to rakudo/curli by niner
eiro ( sounds weird to me and not so convenient but ingy does it with #pegex )
vendethiel- eiro: there's an (english) mailing list (several, even) AFAIK, there's also a subreddit, comments on whatever article you're reading, etc
eiro vendethiel-, ok then ... it's just about french... not about mailing lists 10:57
10:58 _mg_ left
_sri kernighan thinks perl6 will fail :o www.youtube.com/watch?v=Sg4U4r_AgJ...p;t=57m06s 11:08
timotimo yeah, saw that :(
11:08 br4sux joined
_sri and this is where the name perl will actually hurt perl6 11:12
11:12 kjs_ joined, frobnicator joined 11:21 Skarsnik joined 11:27 c_ joined, c_ is now known as Guest68515 11:30 br4sux left 11:32 Guest68515 left, pmurias joined
jdv79 well, that is unfortunate. but his argument seems a bit baseless too. too late for what? 11:42
tadzik too late. Everything that needed to be invented has already been invented 11:43
the evolution has stopped
jdv79 maybe in his world
11:48 colomon joined, RabidGravy left
Woodi Robocop still not invented ;) 11:49
11:50 _mg_ joined
Zoffix Yeah, his argument seems misinformed. 11:54
Zoffix has no idea who that old dude is, so they don't care :P 11:55
"X-rays will prove to be a hoax"—Lord Kelvin 11:58
nine_ Well considering the screwup that Go is, I don't put that much weight into his judgement 12:01
pmurias jdv79: he claimed to Perl 6 will be too late to save Perl 12:04
nine_ Because "Perl has stopped evolving". Clearly an expert's assertion. 12:05
Zoffix :) 12:06
Woodi actually Perl5 users prefer not-evolving :) backward compatibility holds it in place. and possibly this is (not evolving tto much) why Perl5 is alive :) 12:08
pmurias nine_: is Go really a bad fit for what google needs? it's not awesome or "cool" but it seems to fit it's intended role 12:10
ShimmerFairy nine: so, IIUC the guy's argument is "Perl has stopped evolving, and this evolution in the language family proves my point!" ? :P
Zoffix Woodi, but that's false. Perl 5 evolved quite a bit with new and shiny libs and a couple of core features.
Woodi Zoffix: yes, a bit :) 12:11
nine_ pmurias: what role is that? 12:12
grondilu so we have @array.kv, which returns @array Z=> 0..*. What about @array.vk that would return 0..* Z=> @array ?
Zoffix grondilu, what's the use case? 12:13
grondilu I thought about it when looking at rosettacode.org/wiki/Category:Perl_6
sorry
nine_ pmurias: from what I've seen, Go is excellent at writing HTTP proxies. I'm not sure for what else...
grondilu I meant rosettacode.org/wiki/Bitcoin/addres...ion#Perl_6
Woodi and when Google rewrite android in Go ? :)
grondilu basically the use case is arbitrary alphabet to numeric. 12:14
pmurias nine_: a language with good/decent performance which restricts the amount of crazy stuff people can do
Zoffix m: my @a = 'a'..'f'; say @a.kv.pairs
camelia rakudo-moar 474db4: OUTPUT«(0 => 0 1 => a 2 => 1 3 => b 4 => 2 5 => c 6 => 3 7 => d 8 => 4 9 => e 10 => 5 11 => f)␤»
Zoffix m: my @a = 'a'..'f'; say @a.kv.pairs.invert
camelia rakudo-moar 474db4: OUTPUT«(0 => 0 a => 1 1 => 2 b => 3 2 => 4 c => 5 3 => 6 d => 7 4 => 8 e => 9 5 => 10 f => 11)␤»
Zoffix grondilu, ^ that probably does the trick.
Woodi pmurias: that's a bit like Perl6, not a new niche... 12:15
Zoffix IMO featuritis is a thing to be avoided. Anything new you add needs to be known by all programmers who later read that code :P
pmurias Woodi: that's opposite to current Perl6
Woodi pmurias: in what sense ? 12:16
pmurias Perl 6 is oriented towards maximum power for the programmer and currently doesn't offer decent performance
grondilu m: say <a b c>.pairs
camelia rakudo-moar 474db4: OUTPUT«(0 => a 1 => b 2 => c)␤»
nine_ pmurias: I guess I just prefer languages that empower people instead of restricting them. There are people who see it different, which is ok. I just don't see them as qualified to judge Perl. Just as I'm not qualified to judge Go. 12:17
Woodi pmurias: but still both languages are new ones in crowded place...
grondilu .invert is non-intuitive imo.
ShimmerFairy m: my %h = 1,9,2,3; say %h; say %h.invert
camelia rakudo-moar 474db4: OUTPUT«1 => 9, 2 => 3␤(9 => 1 3 => 2)␤»
ShimmerFairy grondilu: how so? ^^
jnthn afternoon, #perl6 12:18
grondilu for one, it's suppose to act only on a list of pairs. I would have expected it to be a pair method actually.
so we would have @a.pairs».invert
Woodi things are very depended on "support". is Ada "alive" or evolving ? not much but military ppls will support it for many years in the future...
yo jnthn ! 12:19
grondilu m: say (foo => "bar").invert
camelia rakudo-moar 474db4: OUTPUT«bar => foo␤»
nine_ Hi jnthn!
jnthn: seems like my ephemeral spec test failures really are not restricted to the curli branch. So I'm just working on fixing the precompilation tests. 12:20
grondilu m: say <a b c>.pairup
camelia rakudo-moar 474db4: OUTPUT«===SORRY!===␤Odd number of elements found for .pairup()␤»
grondilu meh 12:21
jnthn nine_: OK :)
pmurias nine_: I think there is a distinction between the amount of fun you have while programming in different languages, and the requirements Google had for Go. They would rather minimalize TIMTOWTDI and language modifiability to keep stuff simple to be able to easily transfer people in their giant codebase 12:24
12:24 kid51 joined, lab is now known as nadim, pierre-vigier joined
Zoffix m: sy ('Koalitee', 'Koality').pick 12:26
camelia rakudo-moar 474db4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IZpOUfnJQI␤Undeclared routine:␤ sy used at line 1. Did you mean 'so'?␤␤»
Zoffix m: say ('Koalitee', 'Koality').pick
camelia rakudo-moar 474db4: OUTPUT«Koalitee␤»
12:26 kid51 left 12:27 perlawhirl joined
nine_ @all: please, in the next life let's not choose a relase date that's in the month with the most social engagements 12:28
nadim Hi, can one point me at what P6 modules should look like, put where, ... I have looked in the docs but didn't find anything relevant. 12:29
Zoffix nadim, "put where", see the readme of github.com/perl6/ecosystem/
Skarsnik It's in the modules doc x)
Zoffix nadim, as for examples, check out modules.perl6.org/
jnthn doc.perl6.org/language/modules#Dist...ng_Modules
perlawhirl hi perlers 12:30
Zoffix \o
perlawhirl is there an ascii modifier for regex... ie something like... /\d/:ascii
nadim thanks, let's see if i can get a first module going to learn a bit about p6
perlawhirl that does not match unicode
or does :P5 do that? 12:31
Zoffix perlawhirl, uses Perl 5's regex rules
perlawhirl kk
just checkin
Zoffix (it's not 100% the same, like character classes don't work, last time I checked)
dalek ast/curli: 974205d | (Stefan Seifert)++ | packages/Test/Compile.pm:
Adapt Test::Compile to new CompUnit architecture
_sri nine_: calling Go a screwup is crazy, it's a mainstream success 12:33
Zoffix What's "success"? 12:34
_sri it has something perl6 does not, which is a niche
jdv79 so is java. maybe not successfully fun to work with
i know java is not fun at all
idk aboutGo
nine_ _sri: really? Considering it has all of Google's marketing power behind it, I dare say it's rather disappointing. People seem much more interested in its direct competitor Rust. 12:35
_sri google is not even marketing it, they just made it because they need it
Zoffix That's all they have to do to market it, TBH
_sri and now you have big projects like docker and etcd written in Go 12:36
bjz Yeah, as far as I can see Google hasn't really been pushing it that much - more of a snowball effect
nine_ It's the language that Google develops and uses that's the designated successor of C by C's inventors. If that's not marketing, I don't know. 12:37
_sri and they didn't even call it C2! 12:38
bjz nine_: maybe big talk by its creators - but it doesn't seem like a big push by google itself, unlike how Java was marketed
jdv79 if google abandoned it would it thrive?
pmurias nine_: rust is oriented towards being the C++ successor 12:39
bjz jdv79: I would say so, it has the momentum (unfortunately)
dalek c: 2fe4884 | (Zoffix Znet)++ | doc/Language/modules.pod:
Include mandatory "perl" key in the sample META file shown
bjz jdv79 : also depends on if the creators still work on it
Woodi request: let's design here a the fastest (in moust cases) language and see what will happens ;)
_sri just take a look at the language google actually tried to push... Dart got more talks at goole i/o than anything else, and was a total failure 12:40
+g
Woodi s/<what I said>/<proper Englsh>/g
bjz Go seems to be more driven by the creators of the language - not google itself.
_sri yea
gophercon is not a google event 12:41
jdv79 are there any specific reasons there is no Inline::Ruby? 12:42
jnthn jdv79: Is "nobody implemented it yet" specific? :)
jdv79 more or less
nine_ I know I didn't write Inline::Ruby because I just don't know any Ruby ;) 12:43
jnthn
.oO( Who wants to write Inline::Go? :P )
12:44
jdv79 just seems like a hole in the things p6 might want to borg
tadzik _sri: well, sending one of their Go engineers to roam from country to country to talk about it on meetups is hardly “not even marketing it” 12:45
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: ed82d68 | (Zoffix Znet)++ | / (14 files):
Rename Kwalitee to Koalitee (diakopter++)

Reasons for change: (1) We have panda, so another bear-related thing fits in. (2) Perl 5 has Kwalitee and ours might be slightly different, and having same name might confuse some. (3) We could have a cute badge/logo for it! (4) I finally found who originally suggested the name and can blame them if people don"t like it
12:46
Zoffix jdv79, well volunteered! :) 12:47
Skarsnik lol
tadzik hahahah 12:48
I love the name
Woodi or maybe let's design ARM cpu (open hardware...) to include some high languages ? ARM Perl6 for example :)
Zoffix :)
Woodi *high level languages
with microcode updates for bugfixes... 12:49
12:49 domidumont joined
jnthn I think I can bear that name... :) 12:50
Zoffix :D
12:54 domidumont left 12:55 domidumont joined
bartolin_ timotimo: using 'if nqp::existskey(..) && nqp::atkey(...) { ... }' fixes the NPE 12:58
I created a PR for rakudo (598)
Woodi btw. just replaced script I use for some time with simple spreadsheet (table with simple formulas) in emacs... so looks like thin layer over arrays changes a lot <- idea for module... 12:59
13:06 TEttinger joined
dalek ast: 5d8a3e2 | jnthn++ | S12-class/inheritance.t:
Test for RT #125689.
13:07
ast: 8ab5d71 | jnthn++ | S32-io/socket-recv-vs-read.t:
Add missing plan.
kudo/nom: d89fb70 | jnthn++ | src/Perl6/World.nqp:
Restructure code to avoid need for a hack.
13:08
13:08 pierre-vigier left
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: f9dd08d | (Zoffix Znet)++ | Build.PL:
Add all new prereqs
13:12
13:13 _mg_ left, CIAvash left, isBEKaml joined
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 7bd0069 | (Zoffix Znet)++ | Build.PL:
Fix incorrect prereq version
13:19
kudo/nom: 6a45fec | jnthn++ | src/core/Mu.pm:
Tweak attribute initializer assignment semantics.

Normal assignment, post-GLR, is like this:
   my @a = [1,2,3]; # 3 elems
   my @a = $[1,2,3]; # 1 elems
This patch fixes:
   (class A { has @.x }).new(x => $[1,2,3]).elems
To given 1, not 3 as it did before, by removing a decont that worked around some bug we seem to no longer have.
13:24
ast: e7cf132 | jnthn++ | S12-attributes/instance.t:
Test for RT #123757, correct a wrong test.

These ensure that assignment of attribute initializing values passed to the constructor matches assignment semantics of ordinary variables.
13:28
13:30 lizmat joined
Skarsnik m: my $a = 4; my $b = do given $a {5 when 4; 6 when 5 }; say $b 13:30
camelia rakudo-moar 474db4: OUTPUT«()␤»
Skarsnik hm, why does this notation does not work comparing to when 4 {5} when 5 {6}?
masak anyone mind if I add colabti to the /topic ? 13:31
jnthn Skarsnik: I don't think the postfix form of when has the control exception-y behavior.
13:34 ChanServ sets mode: +o masak
masak »ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
ChanServ sets mode: -o masak 13:35 lizmat_ joined, lizmat left, lizmat_ is now known as lizmat
jnthn OK, that was two more xmas RTs down. Easy ones because Saturday. :) 13:35
lizmat waves from T-Dose
jnthn o/ lizmat
masak \o lizmat 13:36
lizmat jnthn masak o/
jnthn: I came upto the basic File I/O in the allotted time
about 20 people attending, no exercises though :-)
jnthn lizmat: nice :) 13:37
Hope people foudn it interesting. :)
*found
lizmat only a few went away during the talk :-) but they were organizers needing to organizing chores :-)
*to do
jnthn: what was the encoding you made to allow for binary data again ? 13:40
looking at making Text::CSV do binary parsing, so you could have JPEGs in your CSV file (yes, people do that!)
Zoffix Crazy! :) 13:41
jnthn People do WHAT?! 13:42
utf8-c8
lizmat yeah, people do that
jnthn :)
lizmat they basically do a SQL query on a table with JPEG's in them, and dump them to CSV
jnthn is surprised by little any more :)
(In terms of "things that happen in software") 13:43
masak I think if I considered doing that, I'd quite naturally base64-encode the JPEG or something
jnthn m: say 25 / (2 + 24)
camelia rakudo-moar 6a45fe: OUTPUT«0.961538␤»
masak mostly it feels really weird to both talk about text (which naturally is in some encoding) and binary together in the same stream
jnthn Woo, less than one xmas RT per day. At this rate I'll be able to have a day off :P
lizmat jnthn++ 13:44
masak jnthn++ # unless someone finds more xmas RTs :P
jnthn /o\
lunch :)
moritz has news.ycombinator.com/item?id=10637789 been mentioned here?
it's currently the second spot on the hackernews front page 13:45
masak likes the first comment
...does Ruby suffer from a GIL of some kind?
(also, what makes Perl 6 more mainstream than Go and Erlang?) :) 13:46
13:52 xpen joined
Zoffix It's nice to see a generally positive feedback on that page. 13:52
13:52 pierre-vigier joined
pmurias masak: I wouldn't call Perl 6 more mainstream than Go and Erlang 13:53
moritz hence the smiley, I guess 13:55
13:56 lucasb joined, vgc7 joined, zacts left
vgc7 any idea why @animals.elems would return just 1 for the elements in an array, when I created the array with three elements? 13:59
14:00 zacts joined
Zoffix m: my @animals = 1..3; say @animals.elems 14:00
camelia rakudo-moar 6a45fe: OUTPUT«3␤»
Zoffix vgc7, how did you create that array?
vgc7 my @test2 = ['ok', 'ok1', 'ok2', 'ok3'];
Zoffix vgc7, well, that contains one item 14:01
lucasb m: my @test2 = ['ok', 'ok1', 'ok2', 'ok3']; say @test2.elems
camelia rakudo-moar 6a45fe: OUTPUT«4␤»
Zoffix Oh doesn't
lucasb :)
Zoffix is still confused about the whole container business
m: my @test2 = ['ok', 'ok1', 'ok2', 'ok3'], 42; say @test2.elems; 14:02
camelia rakudo-moar 6a45fe: OUTPUT«2␤»
14:02 pierre-vigier left
vgc7 ok, got it. 14:02
Zoffix vgc7, what was the problem?
Skarsnik hm [] is not supposed to be used for ref? x) 14:03
vgc7 my @test3 = 50, 52, 54; say @test3.elems;
i get three now so I was using an array container before 14:04
which returned just one
lizmat m: Buf.new(0xFE).decode("utf8-c8") # jnthn might find this interesting
camelia rakudo-moar 6a45fe: OUTPUT«(signal SEGV)»
dalek ast: c5385b3 | usev6++ | S32-io/spurt.t:
Unfudge tests for rakudo.jvm
14:06 vgc7 left
Skarsnik pretty annoying to get Unhandled exception: Cannot unbox a type object 14:06
when require fail x)
jnthn m: my @arr = [1,2,3]; say @arr.elems 14:07
camelia rakudo-moar 6a45fe: OUTPUT«3␤»
jnthn m: my @arr = $[1,2,3]; say @arr.elems
camelia rakudo-moar 6a45fe: OUTPUT«1␤»
jnthn The $ there forces treatment of it as a single item 14:08
lizmat: Uh, yes...wtf...
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 775c5d5 | (Zoffix Znet)++ | Build.PL:
Add missing prereqs
jnthn lizmat: Please RT it
lizmat m: my $s = Buf.new(ord("A"),0xFE).decode("utf8-c8"); say $s.chars; say $s.codes; say $s.ords # jnthn, perhaps related
camelia rakudo-moar 6a45fe: OUTPUT«2␤5␤(65 1114109 120 70 69)␤»
jnthn That's what I'd expect 14:09
You have to encode with utf8-c8 again to get the original bytes back
perlawhirl m: given True, False { when True, False { say "Why doesn't this work?" } }
camelia ( no output )
jnthn m: say Buf.new(ord("A"),0xFE).decode("utf8-c8").encode("utf8") 14:10
camelia rakudo-moar 6a45fe: OUTPUT«utf8:0x<41 f4 8f bf bd 78 46 45>␤»
jnthn oops
oh no, it's what I wanted but not quite :)
m: say Buf.new(ord("A"),0xFE).decode("utf8-c8")
camelia rakudo-moar 6a45fe: OUTPUT«A􏿽xFE␤»
jnthn The synthetic consists of �, which is a private use character, followed by x to indicate what follows is hex, and then a hex representation of the octet. 14:11
m: say False ~~ False; 14:12
camelia rakudo-moar 6a45fe: OUTPUT«Potential difficulties:␤ Smartmatch against False always fails; if you mean to test the topic for truthiness, use :!so or *.not or !* instead␤ at /tmp/TMGyM04RHh:1␤ ------> 3say False ~~7⏏5 False;␤FalseFalse␤»
jnthn perlawhirl: It's a case of ^^
14:13 balazs joined
perlawhirl ahh... can probably work around it by stringifying my bools... right? will see how i go 14:13
masak helpful passerby who is privmsg'ing me is suggesting we get rid of the colabti logs. (for reasons having to do with more easily conveying to visitors what's being logged, where) 14:15
balazs Hey, I'm getting "rlwrap: error: My terminal reports width=0 (is it emacs?) I can't handle this, sorry!" when trying to do "docker run -it rakudo-star". Regular terminal, `tput cols` reports 117
lucasb should 'when True {...}' and 'when False {...}' give the same 'Potential difficulties' message? 14:16
14:19 BenGoldberg joined
jnthn m: when True { } 14:19
camelia ( no output )
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 29443e1 | (Zoffix Znet)++ | / (2 files):
Do not use timezone sensitive time
chansen_ jnthn: Are you familiar with UTF-8b? Instead of mapping Ill-formed UTF-8 octets to synthetics they are mapped to surrogates DC80..DCFF and caught if encoded with a UTF-8 encoder 14:21
web.archive.org/web/20150924233213/...00080.html
www.python.org/dev/peps/pep-0383/
jnthn chansen_: Yes; if we'd not had the opportunity to do it with NFG synthetics that would have been a good solution also. 14:22
lizmat jnthn: #126756 14:24
jnthn lizmat: Thanks
lizmat working with [Tux] on creating a better test case 14:25
so far it looks like it segfaults if the first char is a synthetic
now fuzzing on it some more :-)
jnthn :) 14:26
I'll probably just shove it thorugh valgrind and it'll tell me what I did stupid :)
pmurias masak: one interesting observation is that javascript webworkers seem to over very similiar power to parrot threads 14:27
Zoffix .tell hankache semicolons actually not needed after if()s {}{} here: perl6intro.com/#_if and this can use a better example of a statement needing a semicolon: perl6intro.com/#_syntax_overview 14:29
yoleaux Zoffix: I'll pass your message to hankache.
masak pmurias: that might be the shortest and clearest description of Parrot threads I've ever heard.
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 5ca64ad | (Zoffix Znet)++ | t/02-db-builder/03-dist-source-errors.t:
Use a better error check for JSON malparsing test; message is different depending on module versions
14:33
geekosaur balazs, docker probably can't see real terminal size; consider using stty or exporting LINES and COLUMNS 14:34
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 65e8ebb | (Zoffix Znet)++ | t/02-db-builder/03-dist-source-errors.t:
Fix JSON malparse test
14:35
balazs geekosaur, thanks. Only mentioned it since that's the way perl6intro.com/ says to try it. The docker image works is you just do "docker run -it rakudo-star bash", but newbs might get discouraged. 14:36
geekosaur I suspect there's configuration somewhere
14:37 [TuxCM] joined
[TuxCM] gist.github.com/anonymous/3904b73804ca3ed95a36 14:37
geekosaur it may work as expected some places but not others, depending on how much isolation is configured by default
lizmat jnthn: gist.github.com/anonymous/3904b73804ca3ed95a36 is the fuzzing version of #126756 14:39
balazs fwiw COLUMNS is set even without passing it in 14:40
14:41 BenGoldberg left
masak pmurias: but it's also a bit damning, since web workers are explicitly not threads. they're shared-nothing environments. 14:41
14:44 xpen left 14:45 AlexDaniel joined
jnthn lizmat: Curious place to segv... 14:46
walk &
14:47 user joined, user is now known as Guest50480
dalek ast: 311b07e | usev6++ | S12-class/attributes.t:
Add tests for RT #115310
14:48
14:50 [TuxCM] left 14:51 TEttinger left
masak .oO( "don't judge me for where I choose to segv!" ) :P 14:51
pmurias masak: parrot threads fake the sharing by translating assignment to message passing 14:52
masak: I think I could implement parrot-like threads in nqp-js fairly easily 14:53
14:54 GraveLlama joined
pmurias although the continuations I'm working on are much higher priority 14:55
masak *nod*
GraveLlama can you learn more about programming but source code 14:56
14:56 GraveLlama left 14:57 kjs_ left 14:59 Guest50480 left
Zoffix *phew* All tests successful on the server 15:01
88 commits and the only change for the end user is "Kwalitee" was renamed to "Koality" ^_^ 15:03
Skarsnik xD 15:04
15:05 hankache joined 15:06 RabidGravy joined 15:07 colomon left
masak meh, koalitycode.com's certificate expired 113 days ago. 15:08
hankache ohai
yoleaux 14:29Z <Zoffix> hankache: semicolons actually not needed after if()s {}{} here: perl6intro.com/#_if and this can use a better example of a statement needing a semicolon: perl6intro.com/#_syntax_overview
15:08 ponzi joined
Zoffix hankache, your perl6 intro is trending on Hacker News :) #2 spot last time I checked 15:08
(#4 spot now) 15:09
moritz #4 now
hankache hi Zoffix
Zoffix \o
hankache hi moritz
moritz \o hankache
masak hi hankache 15:10
hankache Good news, I hope we can convert more people to Perl
Zoffix Yeah :)
Skarsnik hm, does sqlite test work for someone? it segfault for me 15:11
15:11 cdg joined
hankache Skarsnik the last time i tried to install DBI it failed 15:12
*DBIish
Skarsnik hm weird
moritz worked here :(
hankache but that was a month ago
ohai masak
moritz please try hack.p6c.org/~moritz/rakudo-star-20...rc0.tar.gz 15:13
Skarsnik could be my rakudo version? 15:14
hankache weird thing I didn't even put the link in Hacker News
somebody else did it
lucasb the internet has a life of its own 15:15
hankache lucasb it has :) 15:16
15:16 FROGGS joined 15:17 jasanj joined, AlexDaniel left
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 76cc2d0 | (Zoffix Znet)++ | / (2 files):
Use shorter timeout when making GitHub requests
15:18
hankache I made a Hacker News account today
learned how GitHUb works 2 weeks ago
Skarsnik x)
hankache activated my twitter account
really Perl 6 made me do all of that 15:19
TimToady another month or so and you'll be creating a new programming paradigm :)
Zoffix :P
hankache ohai TimToady
I even started talking like you guys and now greet saying "ohai" instead of "hi" :D 15:20
TimToady btw, we're probably going to be getting a lot of influx here in the next while, so we should try to figure out how to scale up our irc culture when it's harder for any one person to monitor everything 15:21
15:22 AlexDaniel joined
hankache I was looking for something to learn, wandered around ruby/python/perl and then I read this post: strangelyconsistent.org/blog/perl-6-is-my-mmorpg 15:22
It just made sense 15:23
Skarsnik Annnnnnd
Zoffix masak++
Skarsnik I found a nice vicious bug :)
TimToady it might be better to split into more irc channels before the self-reinforcing troll brigade gains critical mass, for instance
lucasb #perl6cafe :) 15:24
TimToady and we need to be more explicit that everyone is allowed to police civility
Skarsnik DBI::SQLite use a function of sqlite3 that is not in the version of sqlite3lib in debian stable
maybe have a channel for the ecosystem? 15:26
hankache TimToady wouldn't it be better to appoint officers (or whatever you may call them)
TimToady it almost doesn't matter how you split it; you just need to have enough little fiefdoms that people who hate each other aren't continually forced to see the other one's posting 15:27
hankache: well, we already kinda have that with people who can /oper
15:27 onix728 joined
TimToady or however you do that these days 15:27
but we need a distribution of official someones who can play whack-a-mole 24x7 15:28
dalek frastructure-doc: 19b64df | (Zoffix Znet)++ | hosts/www.p6c.org.pod:
Update www.p6c.org.pod

Use a different example, since modules.perl6.org no longer generates anything into /var/www/modules.perl6.org
masak hankache: haha, that old blog post :D
hankache: actually, we weren't first in saying "ohai" (or "OH HAI"). lolcats were. we just copied it.
onix728 hi! I believe there might be an error on "perl6intro.com", in section "2. Operators". Operator "ne" is described as "Equal". Example says that " 'Jane' ne 'John' " is TRUE. 15:29
moritz oh lolo
TimToady because despite our pretentions to troll hugging, there are some trolls that really are malicious, and need whacking
15:29 mtj_ left
masak onix728: the example is correct. the description is wrong :) 15:29
moritz onix728: good that hankache is in the channel, he is the author (or one of the authors, dunno) 15:30
onix728 Right. So "ne" should be "Not equal", right?
moritz right
onix728 Good. I thought I was stupid for a second, haha 15:31
hankache onix728 you're right the description is wrong
moritz hankache: want a PR?
15:32 spider-mario left
hankache it should be not equal, I will change it. 15:32
moritz PR?
moritz hankache: pull request
onix728 pull request?
TimToady
.oO(All PR is good PR.)
Zoffix :D
moritz onix728: a way to submit code changes on github 15:33
Zoffix onix728, modification of code submitted for possible merging into code of the original
onix728 yeah, I'm aware of that
hankache oh sorry sure
jasanj does perl6 support union type ?
AlexDaniel jasanj: union type?
hankache All PR is Good PR
15:33 spider-mario joined, mtj_ joined 15:34 pierre-vigier joined
lucasb hankache: while you are at it, I would suggest to change the operators types prefix/postfix example to not use 1++, ++1. I know you just used that as example, but it look strange since they are constants :) 15:34
jasanj a type can be Str or Exception 15:35
pink_mist wait, what does 1++ actually do? 0_o it ... returns 1 and ... increases the value of...? 1? 0_o
jasanj Str or Int
Zoffix m: 1++
camelia rakudo-moar 6a45fe: OUTPUT«Cannot call postfix:<++>(Int); none of these signatures match:␤ (Mu:D $a is rw)␤ (Mu:U $a is rw)␤ (Int:D $a is rw)␤ (int $a is rw)␤ (Bool:U $a is rw)␤ (Bool:D $a is rw)␤ (Num:D $a is rw)␤ (Num:U $a is rw)␤ (num …»
pink_mist ok, so it errors, thank goodness :P 15:36
it sounded like it was supposed to be working
lucasb phew! :)
lizmat m: say <42>.WHAT # jasanj: that what you mean ?
camelia rakudo-moar 6a45fe: OUTPUT«(IntStr)␤»
ponzi What's the most efficient way to parse a log file with a regex on the command line?
pink_mist using sed? :D 15:37
hankache lucasb noted
dalek p/js-cps: 534cdf7 | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] WIP.
p/js-cps: c0b2f4b | (Pawel Murias)++ | src/vm/js/ (3 files):
[js] Continuations are just starting to partially work

my $savecont; nqp::continuationreset(nqp::null(), -> {
   nqp::say("#1");
   nqp::continuationcontrol(0, nqp::null(), -> $cont {
   $savecont := $cont;
   });
   nqp::say("#3");
  });
nqp::say("#2"); nqp::continuationinvoke($savecont, -> { }); nqp::say("#4");
prints stuff in the right order.
moritz ponzi: efficient in execution time or in programmer's time?
ponzi moritz: Execution time
jasanj AlexDaniel: a type can be one of several types 15:38
AlexDaniel ponzi: perhaps you should try 「perl6 -n」 ?
Zoffix lizmat, I think they mean the opposite of `subtype`
moritz ponzi: then it depends on what exactly you need; if a simple regex search is enough, then grep maybe
jasanj something like (U Number String Boolean Char)
ponzi moritz: I'll qualify that: something reasonably concise :)
15:38 pierre-vigier left, colomon joined
lizmat jasanj: no, not generically, but we have currently IntStr, NumStr, ComplexStr and RatStr afaik 15:39
ponzi moritz: I mean, it used to be really easy in Perl5
Zoffix Or rather subset
AlexDaniel ponzi: perl6 -ne '.say if /foo/' mylogfile 15:40
Zoffix m: subset Foo where $_ ~~ Int or $_ ~~ Str; my Foo $x; $x = 42; say $x; $x = "42"; say $x;
camelia rakudo-moar 6a45fe: OUTPUT«42␤Type check failed in assignment to $x; expected Foo but got Str␤ in block <unit> at /tmp/_FyFCilmH7:1␤␤»
Zoffix hm weird
m: subset Foo where { $_ ~~ Int or $_ ~~ Str }; my Foo $x; $x = 42; say $x; $x = "42"; say $x; 15:41
camelia rakudo-moar 6a45fe: OUTPUT«42␤42␤»
Zoffix m: subset Foo where { $_ ~~ Int or $_ ~~ Str }; my Foo $x; $x = 42; say $x; $x = "42"; say $x; $x = True;
camelia rakudo-moar 6a45fe: OUTPUT«42␤42␤»
Zoffix -_-
Oh, True ~~ always true, right?
lizmat m: subset Foo where { $_ ~~ Int or $_ ~~ Str }; my Foo $x; $x = <42>; say $x; $x = "42"; say $x; 15:42
camelia rakudo-moar 6a45fe: OUTPUT«42␤42␤»
15:43 cygx joined
cygx o/ 15:43
yoleaux 20 Nov 2015 19:49Z <jnthn> cygx: I don't actually see a MAIN in that module; any idea which one it's referring to? The issue may be something to do with the code in the mainline assigning to variables, which it then exports. But the error isn't what I'd expect...
23 Nov 2015 15:08Z <hoelzro> cygx: I noticed your logic for detecting the libc DLL name on Windows in Native::LibC; the MSVC variant only seems to work for VS 2011 =/
jnthn m: subset Foo where Int | Str; say 1 ~~ Foo; say 1.5 ~~ Foo; say 'x' ~~ Foo; 15:44
camelia rakudo-moar 6a45fe: OUTPUT«True␤False␤True␤»
jnthn More neat to just write it that way :)
timotimo if someone has a more personal contact to brian d foy, could you ask them to either kick the Chapters/ data off of learningperl6.com or take the whole site down or something like that?
Zoffix Lulz... I tried my Int | Str $x; but that failed
cygx m: say True ~~ Int 15:45
camelia rakudo-moar 6a45fe: OUTPUT«True␤»
Zoffix m: subset Foo where Int | Str; my Foo $x = True;
camelia ( no output )
jnthn m: say Bool ~~ Int # because this
camelia rakudo-moar 6a45fe: OUTPUT«True␤»
Zoffix m: subset Foo where Int | Str; my Foo $x = 1/4;
camelia rakudo-moar 6a45fe: OUTPUT«Type check failed in assignment to $x; expected Foo but got Rat␤ in block <unit> at /tmp/1_pXezltJl:1␤␤»
Zoffix jasanj, ^ see that 15:46
hankache timotimo lol i trying buying the name before knowing that bryan already did
i tried**
Zoffix timotimo, what Chapters/ data?
timotimo, oh. It's not linked to from the main page 15:47
jasanj Zoffix: oh, cool
pmurias there is only a message 2011 which claims Perl 6 is changing to fast to write a book about it 15:48
Zoffix I pissed briand d foy off when I just started coding Perl 5...
leedo i've got a question about cyclic (i think) use statements: gist.github.com/leedo/7603df457e182976295e
pmurias * from 2011
cygx for what it's worth, Bool ~~ Int feels wrong to me
is that unavoidable now that Bool is an enum?
leedo i need to 'use' this class so i can use it's type in a signature, but doing so causes rescursive use statements
Zoffix leedo, put class A {... } in B
dalek rl6-roast-data: 2e55067 | coke++ | / (9 files):
today (automated commit)
Zoffix leedo, literally with three dots. That's a stub 15:49
leedo Zoffix: ah! thanks
Zoffix here's an example of where I'm stubbing a role: github.com/zoffixznet/perl6-IRC-Cl...ent.pm6#L2
ponzi How do I get `logs1.txt".IO.lines.grep(/<<\w ** 14>>/).say` to retain new lines in the output?
leedo Zoffix: yup, that seems to fix it. would be nice if this could be detected 15:50
Zoffix leedo, what do you mean detected?
leedo since it just silently hangs if i 'use A;'
Zoffix leedo, oh, that's been fixed in the most recent rakudo by nine++ 15:51
It'll now say an error when you try to use modules that use each other
leedo awesome, i think i'm a few days out of date
Zoffix like 3 or 4 days ago
dalek p/js-cps: 721ff06 | (Pawel Murias)++ | src/vm/js/nqp-runtime/core.js:
[js] Make nqp::continuationinvoke return the correct value.
15:52
hankache lucasb thanks
Skarsnik hm, I think there is lot of issue with NC binding (probably a 32 bits vs 64 bits). I changed sub signature 'returns Int' to 'returns int32' and I get the right value
15:53 skids joined
lizmat ponzi: afaik, we don't support that (yet) 15:54
and probably, we wouldn't want to use the .lines interface for that
cygx ponzi: is it only about the output?
then, you probably want to call .say on the elements not the whole sequence 15:55
lizmat perhaps it would be better to use the $handle.Supply.lines route better and clearer
15:56 BenGoldberg joined, onix728 is now known as vaillancourtmax
ponzi cygx: I'm trying to get something close to perl5's simple -nle 'say if /\b\w{14}\b/' logs1.txt 15:56
AlexDaniel m: say (༤, ༨, ༡༥, ༡༦, ༢༣, ༤༢) 15:58
camelia rakudo-moar 6a45fe: OUTPUT«(4 8 15 16 23 42)␤»
Zoffix m: say ༤ + ༨
camelia rakudo-moar 6a45fe: OUTPUT«12␤»
psch ponzi: what's wrong with < perl6 -ne '.say if /<< \w ** 14 >>/' $file >?
AlexDaniel ponzi: hmm, what's wrong with my suggestion? 15:59
ponzi psch: It's much slower
Zoffix ponzi, than P5's version?
hankache vaillancourtmax are you here?
AlexDaniel oooh, I wonder what is going to happen 16:00
vaillancourtmax yes!
AlexDaniel .u ༪
yoleaux U+0F2A TIBETAN DIGIT HALF ONE [No] (༪)
AlexDaniel half one!
m: say ༪
camelia rakudo-moar 6a45fe: OUTPUT«0.5␤»
vaillancourtmax hankache: here I am
AlexDaniel yeah!!!
m: say ༪༪
camelia rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ReD0LeWDjF␤Bogus postfix␤at /tmp/ReD0LeWDjF:1␤------> 3say ༪7⏏5༪␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ statement mod…»
hankache Thanks for the commit
ponzi Zoffix: yes
Zoffix: 14 times slower 16:01
hankache j'ai remarque que tu parle le Francais
AlexDaniel .u ༭
yoleaux U+0F2D TIBETAN DIGIT HALF FOUR [No] (༭)
AlexDaniel m: say ༭
camelia rakudo-moar 6a45fe: OUTPUT«3.5␤»
vaillancourtmax hankache: no prob, thank you for the quick response!
Zoffix ponzi, well, P5 had like two decades to optimize itself. P6 doesn't even have a stable release yet :P P6 does use a modern compiler, so optimization is definitely possible. We just haven't had a chance to do it yet. You're welcome to give a helping hand though
vaillancourtmax hankache: oui, je suis Québécois!
Skarsnik someone to run that on a amd64 system? gist.github.com/Skarsnik/d4e9b31b2859114ac643
ponzi Zoffix: No CS degree so ... 'fraid not. 16:02
Zoffix ponzi, I found some things 100 times slower. In other areas, P6 is faster: doc.perl6.org/language/faq#Is_Perl_..._for_me%3F
cygx ponzi: perhapy try .join("\n").say and see if that's any faster?
Skarsnik my vm64 bits are unavailable at the moment :(
colomon is fond of tradtitional Québécois msuic
*music
hankache vaillancourtmax enchante je suis Libanais
ponzi cygx: Yes, that sounds feasible.
vaillancourtmax colomon: any favorites? :)
hankache do you kind mind if we talk French or shall we switch to English? 16:03
vaillancourtmax hankache: nice! content de faire votre connaissance!
colomon vaillancourtmax: Le Vent du Nord, Genticourm, Andre Brunet
hankache do you guys**
vaillancourtmax hankache: perhaps in the interest of the group we could revert to English
hankache vaillancourtmax indeed
16:04 AzeraTeX joined
vaillancourtmax colomon: that's cool! where do you know them from? (may I recommand "Les Coyboys Fringuants" and "Mes Aieux" as well) 16:04
pmurias ponzi: not sure if a CS degree would help with hacking on Rakudo at all
skids Skarsnik: left in gist comment
Skarsnik thx 16:05
Zoffix damn. Found a serious flaw in my design of the new builder for modules.perl6.org in that any dists that got some errors (like GitHub timeouts) would get nixed from the db :P
well.. not "serious" but it looks like I'm gonna break my fire-and-forget approach to building :P 16:06
pmurias Zoffix: re two decades to optimize itself, are we faster than perl1?
AzeraTeX Hello, Is there a PDF version of Perl6 docs as a single file somewhere? Thanks
leedo Zoffix: i actually get a new error using the stub, "The following packages were stubbed but not defined: A"
Skarsnik skids, err that sucks you get the same value x) 16:07
Zoffix Actually, that problem is present on our current modules.perl6.org.
Brock AzeraTeX: not that I know of
colomon vaillancourtmax: met Le Vent du Nord at the Wheatland Festival in Michigan (my wife knew Benoit Borque from Matapat), met Genticourm and Andre at Gooderich Ontario, though they’ve all been to Michigan a bunch.
Skarsnik someone else has a 32bits system? x) 16:08
skids Skarsnik: I don't know why amd64 and i686 would be different.
AzeraTeX Brock Ok, good to know
lucasb AzeraTeX: I wish there was, but no. On the other hand, there is this course in pdf: github.com/rakudo/star/blob/master...course.pdf
leedo gist.github.com/leedo/7603df457e182976295e if anyone has a moment :)
16:08 ponzi left
colomon vaillancourtmax: I will check out those two bands, they do indeed sound interesting. 16:08
Zoffix leedo, try moving this outside class {}; put it after use v6: gist.github.com/leedo/7603df457e18...le-a-pm-L4
AzeraTeX lucasb I'll take a look, thanks 16:09
Skarsnik skids, I suspect that C int on 64bits is int64 and Perl6 Int is int64 everytime (yes it's confusing)
leedo Zoffix: seems to be the same error message
16:10 Brock is now known as awwaiid
Zoffix ¯\_(ツ)_/¯ no idea 16:10
16:10 khw joined
[Coke] ~ 16:10
16:11 kmel joined
Skarsnik leedo, I think you still need to have a use A or use B in one of the class? 16:11
Zoffix leedo, ooh
no
Oh 16:12
weird 16:13
cygx Skarsnik: P6 int32 <-> C int on both architectures, and P6 Int <-> C long long as well
895812289686267399 is just 3008007 with some gargabe added to the most significant bits 16:14
*garbage
16:14 hankache left
mst twitches at calling a class B 16:14
even if it's presumably less dangerous in perl6 than perl5 ;)
skids just don't use X or Z :-) 16:15
masak mst: what people end up doing in Perl 6 is calling the class X...
skids++ beat me to it :)
mst: X which is the namespace for Perl 6 exceptions
jnthn m: class X { }; ooh look syntax error!!!
camelia rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IbvPKbzUq1␤Bogus postfix␤at /tmp/IbvPKbzUq1:1␤------> 3class X { }; ooh look syntax error7⏏5!!!␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement …»
jnthn The compiler now resolves its exception types directly in the setting :)
AlexDaniel m: say ༳ 16:16
camelia rakudo-moar 6a45fe: OUTPUT«-0.5␤»
mst masak: that's going to be really fun
jnthn So it's a lot less bad than it used to be :)
16:16 kmel left
mst given I have a reflex to use X/Y/Z from perl5 reserving B 16:16
psch m: class X { }
camelia ( no output )
Skarsnik cygx, should I blame NC or people putting Int when they should put int (I have lot of segfault/error in DBI SQlite because of that)
mst I hate you all.
psch m: class X { }; X.new
camelia ( no output )
masak mst: we hug you too! :P
16:16 hankache joined, AzeraTeX left
Zoffix leedo, no idea :) 16:17
16:17 AzeraTeX joined
jnthn Given the setting's own resolution of exceptions will also find the right thing, there's only so much trouble you can get into with declaring a class X these days. 16:17
Zoffix leedo, well, other than not having a has A $foo :)
just has $foo 16:18
16:18 CIAvash joined
leedo Zoffix: yeah, well the real example is a bit different github.com/leedo/p6-web-scraper/bl...ule.pm#L21 16:18
cygx Skarsnik: git blame tells me it's azawawi's fault ;)
16:18 vaillancourtmax left
leedo was just trying to golf it down 16:18
16:18 maxvaillancourt joined
leedo but i can find some other solution 16:19
Zoffix leedo, my guess would be it's possible, I just don't know how.
16:19 AndyDee left
Skarsnik cygx, I was thinking maybe NC should warn to not do that? 16:19
Zoffix And if it's not possible, it needs to be made possible :P
Skarsnik and ok, why the fuck I work on a 32bits system xD 16:20
psch m: my Str sub f() { }; my sub g() returns Str { }; my sub h(--> Str) { }; say &f.WHAT; say &g.WHAT; say &h.WHAT
camelia rakudo-moar 6a45fe: OUTPUT«(Sub)␤(Sub+{Callable[Str]})␤(Sub)␤»
timotimo awwaiid: you have a little error in one of your hacker news comments: -> { $^n/2 + 3 } should give an error, because the "-> {" specifies a signature of (), but the $^n declares a positional parameter
m: -> { $^n / 2 + 3 }
camelia rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1szlIxWavy␤Placeholder variable '$^n' cannot override existing signature␤at /tmp/1szlIxWavy:1␤------> 3<BOL>7⏏5-> { $^n / 2 + 3 }␤»
psch jnthn: those should all be +{Callable[Str]} for RT #125988, right?
16:20 cdg left
psch m: my Str sub f() { }; my sub g() returns Str { }; my sub h(--> Str) { }; say &f.WHAT; say &g.WHAT; say &h.WHAT # these, for clarity 16:21
camelia rakudo-moar 6a45fe: OUTPUT«(Sub)␤(Sub+{Callable[Str]})␤(Sub)␤»
jnthn psch: I think we should treat them all as equivalent to returns, yeah. 16:22
psch right, i'll give that a go
jnthn You'll look into catching dupes too? :)
psch yeah, i think --> doesn't get caught yet 16:23
m: my Int f (--> Str) { }
camelia rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8f4uyqscEy␤Malformed my␤at /tmp/8f4uyqscEy:1␤------> 3my Int7⏏5 f (--> Str) { }␤»
psch m: my Int sub f (--> Str) { }
camelia rakudo-moar 6a45fe: OUTPUT«Sub object coerced to string (please use .gist or .perl to do that) in any throw at src/Perl6/World.nqp:3710␤5===SORRY!5=== Error while compiling /tmp/xuonRkI4Cz␤Redeclaration of return type for f (previous return type was Str)␤at /tmp/xuonRkI4C…»
psch ah
neat
m: sub f (--> Str) returns Int { }
camelia rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/e8j0A7wcvq␤Redeclaration of return type for f (previous return type was Str)␤at /tmp/e8j0A7wcvq:1␤»
16:24 raiph joined
psch well, seems we catch them all already 16:24
'cause < my Int sub f () returns Str > is in the ticket
m: my Int sub f () returns Str
camelia rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0KGqLAFBYu␤Missing block␤at /tmp/0KGqLAFBYu:1␤------> 3my Int sub f () returns Str7⏏5<EOL>␤ expecting any of:␤ new name to be defined␤»
psch m: my Int sub f () returns Str { }
camelia rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hWN_bzfvQl␤Redeclaration of return type for f (previous return type was Int)␤at /tmp/hWN_bzfvQl:1␤»
flussence I see that "Perl has stopped evolving" quote in the backlog and immediately thought of a response —
psch looks like i don't need to catch dupes, just make the mixin work 16:25
flussence why wait decades for random environmental mutations to improve the language when we have gene splicing technology? :)
psch and the Binder seems to already deal with that
with the mixin, i mean
hankache flussence++
16:26 lizmat left
Zoffix So.... anyone smarter has the solution for leedo's problem gist.github.com/leedo/7603df457e182976295e ? 16:26
(the error is in output.txt file there) 16:27
cygx Skarsnik: the current situation regarding nativecall type mapping is not ideal
hankache and to those asking why adopt Perl 6 I say:
“A good hockey player plays where the puck is. A great hockey player plays where the puck is going to be.”
skids Skarsnik: added a crusty 32bit system result to the gist, same issue there.
(plus I had to add a .0 to the soname) 16:29
awwaiid timotimo: thanks, fixed 16:30
16:31 Mokok joined
cygx m: 3008007.base(16).say; 940747062170741226.base(16).say 16:31
camelia rakudo-moar 6a45fe: OUTPUT«2DE607␤D0E3478002DE9EA␤»
Mokok Hi
16:31 [TuxCM] joined
hankache hi Mokok 16:32
16:37 Fleurety joined
timotimo awwaiid: thank you for participating in the hackernews discussion :) 16:39
16:39 [TuxCM] left
timotimo skids: having to add .0 to the soname is a "distributions only installing the symlink if the -dev or -devel package is installed" thing 16:39
i really don't understand why there's so little FUD in that thread 16:41
cygx Skarsnik: github.com/perl6/DBIish/issues/32
pmurias timotimo: it's not reddit?
psch eh, HN had plenty of FUD up until a few months ago too 16:42
Skarsnik timotimo, Well when I read do about that, you should not use the .so, but the so.version
cygx, thx, I am currently doing that
cygx, it's not only the return type, Int in parameter is an issue too
timotimo i used to call it "HaterNews" because it was so bad 16:43
cygx Skarsnik: which I mentioned in the ticket ;)
Skarsnik Oh yeah...
damn that will be a nightmare to commit my work on DBI xD
16:46 Actualeyes left, _mg_ joined
Skarsnik cygx, how I can make github.com/perl6/DBIish/blob/maste...le.pm6#L34 work now? since $idx + 1 is Int 16:48
16:49 _mg_ left
AlexDaniel m: ^2¹²⁸ .pick().base(36).say 16:49
camelia rakudo-moar 6a45fe: OUTPUT«4URK58ST4KN9WSZEY6A3RC127␤»
AlexDaniel m: ^2¹²⁸ .pick().base(36).say 16:50
camelia rakudo-moar 6a45fe: OUTPUT«3JVKVXNR7WKJ4MTBU7THVXO04␤»
AlexDaniel m: ^2¹²⁸ .pick().base(36).say
camelia rakudo-moar 6a45fe: OUTPUT«4WWAAKRCC51Y6C8AQTAIG6KY5␤»
16:50 perlawhirl left
cygx Skarsnik: it fails to dispatch? 16:51
Skarsnik Yes, because it try to find something that match Int for the second argument, and they are all int32 now
timotimo cygx: did you know nativecall has a "long" type that maps to C long?
m: use NativeCall; say long.perl 16:52
camelia rakudo-moar 6a45fe: OUTPUT«NativeCall::Types::long␤»
timotimo Skarsnik: ^
cygx timotimo: yes?
AlexDaniel m: ^2¹²⁸ .pick().base(36).comb.map({ ^2 .pick ?? .uc !! .lc }).join ''
camelia rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RgFm8OwUSy␤Two terms in a row␤at /tmp/RgFm8OwUSy:1␤------> 3omb.map({ ^2 .pick ?? .uc !! .lc }).join7⏏5 ''␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ …»
AlexDaniel m: ^2¹²⁸ .pick().base(36).comb.map({ ^2 .pick ?? .uc !! .lc }).join('')
camelia ( no output )
AlexDaniel m: ^2¹²⁸ .pick().base(36).comb.map({ ^2 .pick ?? .uc !! .lc }).join('').say
camelia rakudo-moar 6a45fe: OUTPUT«B4OjUgnqUvj924J4rfqxT6IB3␤»
Skarsnik NC::Types has doubledouble and stuff too x)
flussence IWBNI .base() could take an array of characters... but now I think about it, I guess it's trivial enough to do that with .polymod and Z
timotimo maybe that'd help for DBI 16:53
who knows. i certainly don't :)
Skarsnik I write my int32 $tmp = $idx +1; but it's weird x)
cygx Skarsnik: note that the sqlite3_bind() family of multi subs is not native, ie they could keep their Int parameters 16:55
zengargoyle good * everybody
Skarsnik Oh xD
cygx Skarsnik: but what's the failure mode? type check failure?
as far as I'm aware, calling a sub that expects a native integer with an Int parameter should work 16:56
Skarsnik it could no't find a matching signature
AlexDaniel m: say (33..126 .pick.chr) 16:57
camelia rakudo-moar 6a45fe: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '7⏏5~' (indicated by 7⏏)␤ in block <unit> at /tmp/hSmLVh0_Fd:1␤␤Actually thrown at:␤ in block <unit> at /tmp/hSmLVh0_Fd:1␤␤»
AlexDaniel in '⏏~'… yeah…
cygx m: multi foo(int32 $) { say "ok" }; my int32 $i = 41; foo $i + 1 16:58
camelia rakudo-moar 6a45fe: OUTPUT«ok␤»
Skarsnik m: multi sub foo(int32 $a, Str $s) {say "foo1" }; multi sub foo(int32 $a, Int $s) {say "foo2" }; foo(1, "s");
camelia rakudo-moar 6a45fe: OUTPUT«Cannot call foo(Int, Str); none of these signatures match:␤ (int32 $a, Str $s)␤ (int32 $a, Int $s)␤ in block <unit> at /tmp/0diWAflm3G:1␤␤»
Woodi perl6intro.com do not mention roles... I think ppls like them becouse they are "faster" then full inheritance
cygx m: multi sub foo(int32 $a, Str $s) {say "foo1" }; multi sub foo(int32 $a, Int $s) {say "foo2" }; my int32 $i = 0; foo($i + 1, "s"); 17:02
camelia rakudo-moar 6a45fe: OUTPUT«foo1␤»
cygx Skarsnik: giving $idx a type might work
Skarsnik that what I did, then I revert _bind to Int because there are not native yes ^^ 17:03
and all sqlite test passed :) 17:05
cygx \o/
jdv79 .tell dha maybe you could talk to mr. foy about what timo is talkin bout
yoleaux jdv79: I'll pass your message to dha.
Skarsnik 5 occurences of deprecated code :)
17:09 hankache left, kjs_ joined
Woodi heh, totally forget masak++ MMORPG blog mentioned EVE :) but I think in EVE there is some (mass) form of new_users training, maybe even governed or supervised somehow by CCP: pack them into new aliance by hundreds or thousands, give basic equipment for free and try to conquer some galaxy :) earlier total noobs do NPC/AI standard training 17:11
can we organize some crowd-sourced programming project ? :) 17:12
AlexDaniel Woodi: like perl6 itself? 17:13
Woodi AlexDaniel: nah :) 17:14
noobs..basic hardeness is required :)
once again: Perl have problems with easy GUI... 17:16
17:16 epicurious joined
Skarsnik easy Gui? 17:16
AlexDaniel by the way, is it possible to interact with java libs from perl6 on jvm? 17:17
isBEKaml Skarsnik: probably Tk kind of easy?
timotimo AlexDaniel: yes
17:17 coetry joined
AlexDaniel so, you can for example use Swing and stuff? 17:17
Skarsnik If I want to write something with a Gui I write C++ or C# so I don't have an issue with that xD
17:18 epicurious left
Woodi AlexDaniel: I think: yes 17:18
AlexDaniel Skarsnik: and how does that help?
Skarsnik *issue with perl not doing it
AlexDaniel ah
Woodi Tk (or Tcl) was Sun invention ?
psch AlexDaniel: www.youtube.com/watch?v=6r7bNYVdUVw has a short demo of some GUI lib on r-j 17:19
Woodi Skarsnik: If I want gui I do C# too becouse it's so easy...
psch AlexDaniel: r-j isn't quite in a spot to do that anymore, though. you'd need the last release before GLR-merge, 2015.07 or so i think 17:20
Skarsnik cygx, oh yeah related to NC, I had a quick look at your Native::Libc, I liked the typedpointer stuff. does it work with NC? 17:21
psch AlexDaniel: perl6advent.wordpress.com/2014/12/...erability/ describes most of the state from pre-GLR-merge
17:23 spaceships joined, isBEKaml left, kjs_ left
cygx Skarsnik: if it hasn't succumbed to bitrot, it should 17:25
note that I stopped working on it a while ago when I started on an alternative to NativeCall 17:26
github.com/cygx/p6-tinycc/blob/lib.../CTypes.pm
AlexDaniel psch: thanks! 17:27
cygx the problem I had was that uing NativeCall added about 1.5m of bytecode to each precompiled module that uses it
*using
Skarsnik lol
I like the C prefix for each type, make it less confusing I think 17:28
17:29 skids left
psch AlexDaniel: youtu.be/6r7bNYVdUVw?t=950 is the timestamp, in case you don't want to watch the whole video.. :) 17:30
cygx needs to go hunt down some groceries
o/
17:30 cygx left
timotimo good luck! 17:30
pesky little groceries
17:31 Mokok left
dalek Iish: 00e34cc | (Sylvain Colinet)++ | lib/DBDish/SQLite/ (3 files):
Fix all nativestuff
17:34
Iish: 929d30e | (Sylvain Colinet)++ | lib/DBDish/SQLite/Native.pm6:
forget one!
Iish: c79069e | (Zoffix Znet)++ | lib/DBDish/SQLite/ (3 files):
Merge pull request #33 from Skarsnik/master

Fix all the nativecall stuff in SQLite
17:35 abaugher left 17:39 loren joined
loren Evening, perl6.. 17:40
timotimo hi 17:41
loren I try to compiler perl6 on msys2, it's really hard, but i'm successed
Skarsnik msys2? what is that? x) 17:42
loren U don't know that ?
timotimo that's why he's asking, i think
moritz loren: please document what you did
loren: and if there are thiings we can improve to make it easier, please let us know 17:43
17:43 hankache joined
Skarsnik Oh thix. Hey good luck with that :) 17:44
*thx
*this
whatever
timotimo we call this self in perl6
dalek kudo/nom: c88bcaf | chromatic++ | / (2 files):
Improved credits.
17:45
kudo/nom: 16411d6 | moritz++ | / (2 files):
Merge pull request #599 from chromatic/improve-credits

Improved credits.
timotimo will that ^ cause chromatic to be removed from all contributor script invocations in the future?
Zoffix 0.o chromatic doesn't want their name in credits? :/
loren Many seeting in Configure.pl is error under msys2, i edit some file, but i'm not sure whether have some other side effect
timotimo or will it just show up with whatever the author name of the commits was? 17:46
loren Skarsnik, you can google with key word 'msys2'
timotimo Zoffix: are you surprised? chromatic has been very bitter about perl6 for some time now
Skarsnik loren, yes I just looked at it. could be very useful :)
17:46 Khisanth left
Zoffix timotimo, first time I heard of it (and now I see the message on that PR). A bit ironic, considering Modern Perl 4th edition has a colourful butterfly on the cover -_- 17:47
moritz Zoffix: there are a lot of things ironic about that situation, but people have a right to their own opinion, of course
Zoffix Sure. :) 17:48
timotimo i don't know what made chromatic so unhappy about perl6 related stuff, so i can't say much more
loren Skarsnik, yep
17:48 Khisanth joined 17:50 ggoebel6 joined
loren You can use almost all gnu tools under msys2 17:51
17:51 hankache left
loren In the next few days i'll write down this, may be i can make a perl-script-patch 17:53
0.0.. ee, night everyone , bye bye 17:57
Zoffix night 17:58
timotimo night loren
loren Em, :)
17:58 loren left 17:59 kjs_ joined
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: d69411a | (Zoffix Znet)++ | lib/ModulesPerl6/ (2 files):
Implement build salvage routines

If a new build of a dist that"s already in the db fails (e.g. due to network errors), we need to catch that and update the Build ID in the database for that dist, so that it does not get purged as a removed dist at the end of the build process.
18:00
Skarsnik Is there a way to display the line number with Test?
dalek ar: 428f676 | moritz++ | tools/build/Makefile.in:
Tell peple to run modules-test instead of a broken prove command

the prove command is broken for modules that come with *.pm files in t/lib/ and assume relative paths (such as DBIish)
timotimo Skarsnik: doesn't it show them? 18:01
moritz Skarsnik: failed tests show the line number, no?
ok, if nobody has objections, I'm going to release R* 2015.11 now
Skarsnik I mean like even he does not fail
Zoffix Go for it :)
18:02 zengargoyle left
Zoffix Skarsnik, $?LINE ? 18:02
18:02 zengargoyle joined
Zoffix Skarsnik, doc.perl6.org/language/variables#Co..._variables 18:02
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: c11faff | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Dist.pm:
Use better variable name
18:03
Skarsnik I am adding test to DBIish and... well I don't feel like updating the xx #test 2x for everytest. It could be better if it just display the line associated with the test :)
moritz hack.p6c.org/~moritz/rakudo-star-2015.11.tar.gz
Skarsnik well it will probably still not work with DBIish because it's in an eval ><
moritz you can also give the tests distinct names, so that search for them becomes trivial 18:04
Skarsnik yes I am dumb, forget I say something xD 18:07
moritz release tagged and uploaded
Zoffix moritz++ 18:08
timotimo moritz: thanks! that's excellent! 18:10
hoelzro: will you do the honors of updating the rakudo star docker image for us?
hoelzro: also, do you know anything about the "too many pre-built docker images come with outdated system stuff and have lots and lots of security issues" thing? do we do okay-ish with our rakudo star docker thing? 18:11
18:12 pnu left 18:15 pnu joined 18:20 kjs_ left 18:22 abaugher joined 18:27 kjs_ joined 18:28 Zoffix left 18:29 kjs_ left 18:31 yqt joined 18:32 kjs_ joined
Skarsnik should Moar show some BT or something when an assert fail? x) 18:35
moar: tpp.c:62: __pthread_tpp_change_priority: Assertion `new_prio == -1 || (new_prio >= __sched_fifo_min_prio && new_prio <= __sched_fifo_max_prio)' failed.
Abandon
dalek ar: 1cafd78 | moritz++ | tools/star/release-guide.pod:
Update release guide with the last two releases
18:35 Ben_Goldberg joined, pierre-vigier joined
moritz rakudo.org/2015/11/28/announce-raku...w-in-beta/ 18:35
psch m: say nqp::istype(Any, Int)
camelia rakudo-moar 16411d: OUTPUT«0␤»
lucasb no need for 'use nqp' anyore? 18:36
*anymore 18:37
psch huh, i didn't even notice
18:37 BenGoldberg left
psch i assume camelia loses the complaint..? 18:37
yeah, looks like it. it still comes through locally 18:38
m: note "foo"
camelia rakudo-moar 16411d: OUTPUT«foo␤»
psch m: $*ERR.say: "foo"
camelia rakudo-moar 16411d: OUTPUT«foo␤»
psch m: nqp::sayfh(nqp::getstderr(), "foo")
camelia rakudo-moar 16411d: OUTPUT«foo␤»
psch weird
18:40 pierre-vigier left
psch m: sub f() { }; say &f.returns 18:40
camelia rakudo-moar 16411d: OUTPUT«(Mu)␤»
psch ah, maybe camelia runs with RAKUDO_NO_DEPRECATIONS rather 18:41
m: sub f is DEPRECATED("foo") { }; f() 18:42
camelia ( no output )
psch which fits with that one not complaining either
lucasb psch: hm, that makes sense. thanks
moritz++ thanks for the star release! sorry for not having tried the RC and given feedback. 18:47
tadzik hmm 18:54
m: my @fib = ^2,*+*...*; say @fib[5]
camelia rakudo-moar 16411d: OUTPUT«===SORRY!===␤Too few positionals passed; expected 2 arguments but got 1␤»
tadzik does this not work anymore post-glr, or am I misremembering some detail? 18:55
lucasb m: my @fib = |^2,*+*...*; say @fib[5]
camelia rakudo-moar 16411d: OUTPUT«5␤»
18:56 Begi2 left 19:00 Begi joined 19:02 BenGoldberg_ joined 19:03 p6curious joined 19:05 Ben_Goldberg left 19:10 kjs_ left 19:11 telex left 19:12 telex joined 19:13 BenGoldberg joined 19:14 Ben_Goldberg joined 19:15 BenGoldberg_ left 19:17 BenGoldberg left 19:19 ggoebel7 joined
tadzik ah, hm 19:21
19:21 cdg joined
dalek c: 4937611 | Mouq++ | util/missing-types.p6:
Fix/improve util/missing-types.p6
19:22
19:23 ggoebel6 left 19:24 coetry left 19:26 cdg left 19:27 tudorcon1tantin left 19:28 vendethiel- left
dalek ar: 27c0039 | hoelzro++ | / (3 files):
Add Linenoise to modules

Linenoise provides tab completion and history support for the builtin REPL
19:30
ar: ed5d4d8 | moritz++ | / (3 files):
Merge pull request #54 from hoelzro/add-linenoise

Add Linenoise to modules
19:30 ggoebel7 left 19:31 ggoebel7 joined
TimToady tadzik: could we make rakudobrew a little less reliant on having a MAKE= in the makefile? is blowing up right now on systems where 'make' is the obvious default 19:32
maybe look for gmake, then make?
19:32 CIAvash left
TimToady temporarily patched rakudobrew to do make('make $command') instead of dying 19:33
(locally)
probably needs gmake or so on BSDoids 19:34
dalek p/js-cps: 4ea8d09 | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] Refactoring that will allow us to add CPS support in more places.
p/js-cps: f5cc532 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
[js] make binding to lexical variables support CPS
p/js-cps: adf7955 | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] CPS bugfixes
TimToady maybe check if 'make -v' returns /GNU/ 19:35
Quom_ straw poll: in doc, should the Uni types be listed under Type -> Basic, Type -> Composite, or Type -> Domain-specific ? 19:41
jnthn Not Basic :) 19:42
tadzik TimToady: hmm, I was not aware that it's reliant on that 19:43
timotimo i wouldn't call it a composite type ... or really domain-specific
moritz Quom_: I'd put it in the same category as Blob and Buf
tadzik ah, found the offender: github.com/tadzik/rakudobrew/commi...18c9fa6e33
moritz which happens to be "composite"
19:44 vendethiel joined
Quom_ moritz: I had similar thoughts, just hesitated since composite doesn't seem to be quite the right place 19:44
tadzik TimToady: so the problem is that moar/nqp/rakudo's makefiles actually rely on gmake, but don't specify that on certain systems? 19:46
moritz en.wikipedia.org/wiki/Perl_6 says "Over the years, Perl 6 has undergone several alterations in its direction. The introduction of concepts from Python and Ruby were early influences,[citation needed]"
tadzik (I'm not sure I understand the issue)
moritz does anybody have something citable regarding the python and ruby influence? 19:47
RabidGravy I'd just emove it 19:51
btyler anything of value still live in github.com/perl6/mu/tree/master/examples ? just saw someone link to github.com/perl6/mu/blob/master/ex...contend.pl (circa 2006) as an example of Perl6 concurrency
RabidGravy remove
dalek kudo/nom: d831a48 | TimToady++ | src/ (5 files):
Complex <=>, plus $*SIGNIFICANCE

We now can do <=> on Complex, which fails with a slightly less LTA message if either .im.abs exceeds 1e-15 (by default). We also add an approximately-equal operator, infix:<≅> (Texas version =~=), to do approximate numerical equal with the same threshold. A dynamic scope may override the default by setting $*SIGNIFICANCE. Coercion from complex to real now pays attention to this also, so Num(i ** 2) returns -1.
btyler at first glance almost everything in that directory is >5 years old 19:53
RabidGravy Everything 19:55
19:55 lucasb left
RabidGravy enter key slip 19:55
Quom_ A lot of it still seems valid… 19:57
dalek ast: 28d19e6 | TimToady++ | S (3 files):
test approximation, complex <=> behavior
moritz it's easy; run it. If it doesn't work, git rm 19:58
Quom_ It'd be better to add a disclamer to all of them "THIS CODE IS OUTDATED AND HAS NOT BEEN VETTED"
RabidGravy :)
Quom_ or that
TimToady tadzik: > rakudobrew test 19:59
Spectesting moar-nom
Couldn't determine correct make program. Aborting.
grondilu approximation operator? Neat.
TimToady if I change the else to run("make $command"); it works fine here on Linux Mint 20:00
p6curious I'm cutting my teeth on perl6 with a proof of concept implementation of a toy project. With traits/roles it looks like my implementation will be really easy to do but I'm not sure about what is a good or bad idea.
grondilu I'm not sure about the choice of name for $*SIGNIFICANCE though
moritz the wikipedia page for Perl 6 says "junctions now occupy a central place in Perl 6's design"
p6curious These are my notes on a dataflow system, I'd appreciate any feedback or comments gist.github.com/anonymous/d8940e7f132b4087e67a
Quom_ doc/htmlify is pathologically slow now, geez. 45 minutes now, not even close to done.
moritz it doesn't feel very central to me anymore
any ideas for wording improvements? 20:01
TimToady grondilu: it's kinda de-huffmanized on purpose, if that's what you're worried about
20:01 raiph left
moritz Quom_: do you have Inline::Python installed? 20:01
TimToady or do you think the concept is wrong?
jnthn TimToady: rt.perl.org/Ticket/Display.html?id=124316 could do with a decision; it seems to trip people up now and then
Quom_ moritz: Ah.
moritz Quom_: that makes integration with pygments much faster
grondilu no I just don't think the term "significance" is well chosen.
moritz Quom_: if you have neither Inline::Python nor pygments installed, no syntax hilighting happens, and it's also faster
Quom_ Heh, thanks. 20:02
TimToady jnthn: it's difficult to know the intent of an lvalue, but we could disable autotruncation on lvalues, I suppose
grondilu my first thought would have been "NUMERIC_THRESHOLD" or something
TimToady well, the name is negotiable 20:03
Skarsnik moritz, hm I tried your gather idea for DBIsh method row(:$hash) {gather { while my $row = self._row(:hash($hash)) { take $row }}} when when I write my @row = $sth.row() I get everything ~~
grondilu TimToady: btw have you read my meditation on perl 6. I was wondering why we don't define for instance Real as 'subset Real of Complex where *.im == 0;' 20:04
moritz Skarsnik: might need to call .lazy on the return value of the gather
grondilu forgot the question mark in the first sentence
jnthn TimToady: We don't reliably know when it's an l-value also...
moritz grondilu: mostly because subset types don't perform well 20:05
grondilu: and that approach would make every real value have a useless memory slot for imaginary numbers
Skarsnik moritz, on take $row? 20:06
20:06 _mg_ joined
grondilu there's also the possibility of defining Real as a Role. role Real does Complex { method im { 0 }; ... } 20:06
moritz Skarsnik: gather { ... }.lazy
TimToady Real *is* a role
grondilu but it does not implement Complex 20:07
m: say pi ~~ Complex
camelia rakudo-moar 16411d: OUTPUT«False␤»
moritz grondilu: because not all reals are complex
grondilu aren't they??
Skarsnik moritz, Cannot .elems a lazy list
~~
moritz grondilu: when you learn math in school, you learn real numbers, and later (maybe) complex numbers, as defined in terms of real numbers
20:08 coetry joined
moritz grondilu: reals being a subset of complex is one way to see it; another is that reals don't know anything about complex math, and complex math is defined in terms of reals 20:08
grondilu: and that's the approach that works better for computers
p6curious native complex support in perl has been a great feature for me while I learn how to do DSP 20:09
TimToady we've intentionally steered clear of any sort of numeric tower
grondilu I'm not quite convinced but that's ok, I'll trust you judgement.
moritz grondilu: one can also define integers as a subset of reals, but that's not very efficient 20:10
grondilu well they are Reals in Perl 6
m: say 1 ~~ Real 20:11
camelia rakudo-moar d831a4: OUTPUT«True␤»
moritz grondilu: right; I should have said "Rat"
with denominator 1
grondilu yes Int not being Rat is what motivated me to write a meditation in the first place.
jnthn TimToady: Another option is that only ..Inf or ..* auto-truncates
p6curious grondilu: personally I prefer the types to be predictable in terms of performance and resources and to allow me to use them for optimization when needed 20:12
20:12 domidumont left
TimToady jnthn: that might turn out saner 20:12
moritz I've updated en.wikipedia.org/wiki/Perl_6 a bit. Notable changes include listing Niecza as a historic implementation rather than a current one
p6curious its one of the things that has impressed me the most about perl6
moritz p6curious: that's curious, because it's a rather simple thing to do, in comparison to all the other awesome features we offer :-) 20:13
(like lazy lists, grammars, a meta object protocol)
psch hm, wiring up all the bits for return-type constrained callable parameters might be a bit harder than anticipated... :/
Quom_ moritz++
jnthn TimToady: There's always :v as an escape hatch to filter out non-existing things.
TimToady: So I think it would probably work out OK. 20:14
p6curious moritz: yeah but in perl6 you get everything from doing that to not doing that the steps between as you need it, its not the only good p6 feature but it is a great one
TimToady we can try it
jnthn Aye
moritz I still think that the section on junctions is too long, and we should have something on concurrency/reactive programming
p6curious: nod 20:15
p6curious moritz: in regards to the other awesome things p6 does I'm working if I have good or bad ideas in gist.github.com/anonymous/d8940e7f132b4087e67a
because I can p5 with and without antlers or cowbells but I'm not used to the new behavior that comes with p6
TimToady m: say i ** 2 ≅ -1 20:16
camelia rakudo-moar d831a4: OUTPUT«True␤»
moritz TimToady: sometimes you scare me :-) 20:17
TimToady m: say Num(i ** 2) == -1
camelia rakudo-moar d831a4: OUTPUT«True␤»
TimToady that's the scary one
p6curious that behavior with i is beautiful 20:18
TimToady m: my $*SIGNIFICANCE = 1e-20; say Num(i ** 2) == -1
camelia rakudo-moar d831a4: OUTPUT«Can not convert -1+1.22464679914735e-16i to Num: imaginary part not zero␤ in block <unit> at /tmp/qV7PDqoc1y:1␤␤Actually thrown at:␤ in block <unit> at /tmp/qV7PDqoc1y:1␤␤»
b2gills The Wikipedia entry on Perl 6 still says " Today, Perl 6 specification continues almost entirely within the Synopses" 20:19
TimToady heh
grondilu I'm not sure I understand why it's not exactly -1
Quom_ m: say exp(-i*pi) ≅ -1
camelia rakudo-moar d831a4: OUTPUT«True␤»
Skarsnik m: say i ** 2
camelia rakudo-moar d831a4: OUTPUT«-1+1.22464679914735e-16i␤»
masak I'm trying to remember where I read that an absolute tolerance for floating-point is only so useful, since floating-point values can be very very fine or very very coarse depending on their magnitude.
TimToady m: i * i == -1 20:20
camelia rakudo-moar d831a4: OUTPUT«WARNINGS:␤Useless use of "==" in expression "* i == -" in sink context (line 1)␤»
TimToady m: say i * i == -1
camelia rakudo-moar d831a4: OUTPUT«True␤»
psch oh well, the ticket is only about redecl of return type in post constraints of callable parameters, so... vOv
masak grondilu: because of floating-point loss of precision.
TimToady obviously it's not using multiplication for **
grondilu even for **2??
masak grondilu: yes
p6curious masak: the tolerance is defined by the computation performed, ordering, and inputs but can be accurately described - if you'd like I can send you a url to a great paper on it
masak grondilu: basically, it comes down to the precision of trigonometric functions
moritz grondilu: ** is implemented very generally by going to polar coordinates 20:21
grondilu it's using the euler formula even for **2? That seems LTA.
TimToady m: say (⅓ ** 2).WHAT
camelia rakudo-moar d831a4: OUTPUT«(Rat)␤»
moritz grondilu: patches welcome
20:21 znpy joined
TimToady we do it for Rat 20:21
but apparently not for Complex
masak p6curious: not sure what you're talking about -- the tolerance in Rakudo seems to be a dynamic variable, defaulting to a small constant.
p6curious masak: sorry I wasn't refering to the interpreter, the tolerance of the computation is defined in terms of those variables 20:22
20:22 colomon left
TimToady though if we fix that for Complex, the tests I just did with i ** 2 are wrongish 20:22
grondilu for my cliford module I implemented the exponentiation to an integer power with a recursive formula. I thought that was standard procedure.
p6curious masak: when performing ieee floating point arithmetic anyway
moritz TimToady: you can always use cos(pi) or so in your tests
m: say cos(pi)
camelia rakudo-moar d831a4: OUTPUT«-1␤»
masak p6curious: I was referring to the newly-introduced $*SIGNIFICANCE
TimToady m: say cos(pi).WHAT 20:23
camelia rakudo-moar d831a4: OUTPUT«(Num)␤»
moritz m: printf '%20f', cos(pi)
camelia rakudo-moar d831a4: OUTPUT« -1.000000»
moritz m: printf '%.20f', cos(pi)
camelia rakudo-moar d831a4: OUTPUT«-1.00000000000000000000»
moritz m: printf '%.20f', cos( 5* pi)
camelia rakudo-moar d831a4: OUTPUT«-1.00000000000000000000»
TimToady m: say cos(pi) ≅ -1
camelia rakudo-moar d831a4: OUTPUT«True␤»
moritz m: say exp(i * pi)
camelia rakudo-moar d831a4: OUTPUT«-1+1.22464679914735e-16i␤»
moritz that's a nice one
RabidGravy meanwhile there still isn't a great fsa module
moritz should be -1
TimToady m: say cos(pi) == -1
camelia rakudo-moar d831a4: OUTPUT«True␤»
TimToady er...
p6curious masak: well the value is useful if you can define what your required tolerances are docs.oracle.com/cd/E19957-01/806-3...dberg.html
"What Every Computer Scientist Should Know About Floating-Point Arithmetic" 20:24
moritz TimToady: I retract my statement; use exp(i * pi) :-)
masak p6curious: ah; that's probably where I read it in the first place.
TimToady m: say exp(i * pi) == -1
camelia rakudo-moar d831a4: OUTPUT«False␤»
p6curious masak: I already know how to use that exact dynamic variable to achieve a solution to a problem in DSP that requires functions to do otherwise
TimToady m: say exp(i * pi) ≅ -1
camelia rakudo-moar d831a4: OUTPUT«True␤»
TimToady 'kay
p6curious I didn't even know it was there, that is awesome
grondilu I think there should be a multi candidate at least for infix:<**>(Num $, 2) 20:25
though I don't know it that would be costly
uruwi How much would it cost? 20:26
RabidGravy a couple of quid
moritz m: say 'secret123' ~~ /<:Letter>/ & /<:Digit>/ 20:27
camelia rakudo-moar d831a4: OUTPUT«True␤»
uruwi Or at least have something for infix:<**>(Num $, Int $)
grondilu I was talking about perfmance, just to be clear
uruwi Yes.
grondilu multi infix:<**>(Num $x, Int $n where $n %% 2) { ($x ** ($n / 2)) ** 2 }; multi infix:<**>(Num $x, 2) { $x * $x } 20:28
moritz m: say '|' ~~ /<:Punctuation>/
camelia rakudo-moar d831a4: OUTPUT«Nil␤»
dalek ast: 16b3b97 | TimToady++ | S03-operators/ (2 files):
use better not-quite -1 from moritz++
moritz m: say '|' ~~ /<:Symbol>/
camelia rakudo-moar d831a4: OUTPUT«「|」␤»
dalek c: 98d172d | Mouq++ | type-graph.txt:
Track type changes in type-graph.txt

Removed classes that no longer exist or don't seem to be part of the public API, track renames, add new types.
20:31
grondilu also: multi infix:<**>(Num $x, 1) { $x }
TimToady m: my $i = i; say sum $i ** 3 xx 100000; say now - INIT now 20:32
camelia rakudo-moar d831a4: OUTPUT«-1.83697019872196e-11-100000i␤3.48665696␤»
TimToady m: my $i = i; say sum $i * $i * $i xx 100000; say now - INIT now 20:33
camelia rakudo-moar d831a4: OUTPUT«0-100000i␤0.19395056␤»
20:33 darutoko left
uruwi also multi infix:<**>(Num $x, Int $n where $n % 2) { $x * ($x ** ($n +> 1)) ** 2 } 20:33
grondilu much faster isn't it?
moritz one has to take care with highter powers though 20:34
TimToady I'd say we shouldn't worry about whether * is slower than **
uruwi We'll have to see
TimToady I think the algo already deals with that
uruwi Algo?
I wonder how fast handling the special case of integer powers will be, though 20:35
TimToady m: say 1.1 ** 1000
camelia rakudo-moar d831a4: OUTPUT«2.46993291800583e+41␤»
uruwi m: say FatRat.new(1.1) ** 1000
camelia rakudo-moar d831a4: OUTPUT«Type check failed in binding nu; expected Int but got Rat␤ in block <unit> at /tmp/X_S66eIznD:1␤␤»
uruwi m: say FatRat.new(11, 10) ** 1000
camelia rakudo-moar d831a4: OUTPUT«246993291800582633412408838508522147770973.338523839623486918295183073939037543317536786611645694619197380356118903652336353379872657100896124379265553665528220182035787267332290114824345321175602006762454560941121206341730768120481737776346551122263516794…»
grondilu the recursive algortithm makes O(log($n)) iterations. It should be fine.
moritz Horner schema? 20:36
20:36 rindolf left
uruwi And we could hardcode small powers so they get inlined, if Rakudo already does that. 20:36
TimToady we just need to move it from Num to Numeric, more or less
uruwi And by doing that, I mean inlining subs.
grondilu that'd be nice. Then I could remove it from my clifford module which implements from Numeric.
s/implements from/implements/ 20:37
RabidGravy but will it all help to calculate vat accurately enough to satisfy German accountants? 20:38
grondilu I think we can avoid the where constraint by using :<%> as well
TimToady hmm, we appear not to have a Num,Int candidate either 20:39
I wonder if accuracy is an issue on that...
grondilu m: multi infix:<**>(Numeric $x, Int $n) { ($x**($n div 2))**2 * $x**($n % 2) }
camelia ( no output )
uruwi But for performance let's write 20:40
m: multi infix:<**>(Numeric $x, Int $n) { my
camelia rakudo-moar d831a4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RveO03kvm7␤Malformed my␤at /tmp/RveO03kvm7:1␤------> 3ulti infix:<**>(Numeric $x, Int $n) { my7⏏5<EOL>␤»
TimToady is going to gnaw on a leftover turky leg, and will leave the details up to others :) 20:41
*turkey
uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }
camelia ( no output )
uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say 3 ** 5;
camelia rakudo-moar d831a4: OUTPUT«243␤»
grondilu m: multi infix:<**>(Numeric $x, Int $n) { $_ * $_ * ($n %% 2 ?? 1 !! $x) given $x**($n div 2) }
camelia ( no output )
uruwi I hope Rakudo optimizes multiplication by 1 to a no-op 20:42
grondilu doesn't it already? Jeez.
20:43 Zoffix joined
uruwi m: say sum(rand xx 1000000); say now - INIT now 20:43
camelia rakudo-moar d831a4: OUTPUT«500259.442383936␤0.8569873␤»
uruwi m: say sum((rand * 1) xx 1000000); say now - INIT now
camelia rakudo-moar d831a4: OUTPUT«499904.497990099␤1.7196412␤»
uruwi m: say sum((rand) xx 1000000); say now - INIT now
camelia rakudo-moar d831a4: OUTPUT«500265.715377109␤0.87283581␤»
uruwi Seems not
masak m: say ("42" * 1).^name # have to be careful, though. sometimes it's not a no-op
camelia rakudo-moar d831a4: OUTPUT«Int␤»
grondilu m: multi infix:<*>(Num $x, 1) { $x }; say sum((rand * 1) xx 1000000); say now - INIT now 20:44
20:44 Zoffix left
camelia rakudo-moar d831a4: OUTPUT«(timeout)» 20:44
uruwi Try only 100k
grondilu m: multi infix:<*>(Num $x, 1) { $x }; say sum((rand * 1) xx 100000); say now - INIT now
camelia rakudo-moar d831a4: OUTPUT«49930.4541765529␤2.48894951␤» 20:45
uruwi So about 25 seconds if you overload the multi.
Guess Rakudo doesn't even remove the autoboxing in that case.
grondilu I suspect it's because it must check for the RHS to be equal to 1 each time. 20:46
uruwi We also need a to-do list for optimizations 20:47
jnthn
.oO( Things people assume don't already exist... :) )
20:48
uruwi Probably exists
jnthn That particular case is not likely to be anywhere high on the list.
RabidGravy and ponies, we need more ponies
uruwi Ponies! 20:49
m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((3 ** 343) xx 1000000); say now - INIT now; 20:50
camelia rakudo-moar d831a4: OUTPUT«44935581777924999704181427036132920669201551947414825857294325676926460044859591780950643756450152378523524574913023716238598282243547251135483449791579228771959627000000␤0.879192␤»
uruwi m: say sum((3 ** 343) xx 1000000); say now - INIT now;
camelia rakudo-moar d831a4: OUTPUT«44935581777924999704181427036132920669201551947414825857294325676926460044859591780950643756450152378523524574913023716238598282243547251135483449791579228771959627000000␤0.9026408␤»
uruwi Okay special case is slightly faster
m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((1.1 ** 12345) xx 1000000); say now - INIT now; 20:51
camelia rakudo-moar d831a4: OUTPUT«Inf␤0.7178909␤»
uruwi m: say sum((1.1 ** 12345) xx 1000000); say now - INIT now;
camelia rakudo-moar d831a4: OUTPUT«Inf␤0.676156␤»
20:51 ggoebel7 left
uruwi Woah, that's actually slower this time 20:51
m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((2 ** 12345) xx 1000000); say now - INIT now;
camelia rakudo-moar d831a4: OUTPUT«1641710106882582163560207416639065014101272355307358812721161030879250941713901442801590345364394577348704191271404016671955103310856571853327210892364011930444934571162997688443443034792354894624363806721170151232832991313919041792876782591733085367387619…»
uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((2 ** 12345) xx 1000000).chars; say now - INIT now;
camelia rakudo-moar d831a4: OUTPUT«3723␤1.8150558␤»
grondilu wait
uruwi m: say sum((2 ** 12345) xx 1000000).chars; say now - INIT now; 20:52
camelia rakudo-moar d831a4: OUTPUT«3723␤1.7813772␤»
uruwi This is confusing; even with integers, it's slightly slower on high powers
m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((3 ** 123456) xx 1000000).chars; say now - INIT now;
camelia rakudo-moar d831a4: OUTPUT«Memory allocation failed; could not allocate 24 bytes␤»
uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((3 ** 123456) xx 100000).chars; say now - INIT now;
camelia rakudo-moar d831a4: OUTPUT«Memory allocation failed; could not allocate 24 bytes␤»
uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now;
camelia rakudo-moar d831a4: OUTPUT«58908␤3.3095929␤»
uruwi m: say sum((3 ** 123456) xx 10000).chars; say now - INIT now;
camelia rakudo-moar d831a4: OUTPUT«58908␤3.2856385␤»
uruwi About the same 20:53
uruwi brought Rakudo to its knees
Thankfully, even RPG-whose-name-is-yet-to-be-known won't have 58908-digit damage values
m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((3 ** 1234567) xx 1000).chars; say now - INIT now; 20:54
camelia rakudo-moar d831a4: OUTPUT«(timeout)»
uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((3 ** 1234567) xx 100).chars; say now - INIT now;
grondilu m: multi infix:<**>(Numeric $x, Int $n) { my $s = $x ** ($n +> 1); $n %% 2 ?? $s*$s !! $x * $s*; }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now;
RabidGravy even banks don't have 58908 digit values in their ledgers
grondilu m: multi infix:<**>(Numeric $x, Int $n) { my $s = $x ** ($n +> 1); $n %% 2 ?? $s*$s !! $x * $s*$s; }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now; 20:55
20:55 AzeraTeX left
camelia rakudo-moar d831a4: OUTPUT«(timeout)» 20:55
rakudo-moar d831a4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VMhMuUC7fS␤Missing required term after infix␤at /tmp/VMhMuUC7fS:1␤------> 3 ($n +> 1); $n %% 2 ?? $s*$s !! $x * $s*7⏏5; }; say sum((3 ** 123456) xx 10000).cha␤ expecting any of:␤ prefi…»
rakudo-moar d831a4: OUTPUT«58908␤3.28767769␤»
uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say (3 ** 1234567).chars; say now - INIT now;
grondilu m: multi infix:<**>(Numeric $x, int $n) { my $s = $x ** ($n +> 1); $n %% 2 ?? $s*$s !! $x * $s*$s; }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now;
camelia rakudo-moar d831a4: OUTPUT«(timeout)»
rakudo-moar d831a4: OUTPUT«58908␤3.2993645␤»
uruwi RIP Rakudo 20:56
jnthn I'm suspect it'd complete if you did it locally :)
grondilu maybe a non-recursive version would be faster? 20:57
jnthn Quite probably 20:58
uruwi How to do it non-recursively?
grondilu do a loop, iteratively raising to the square
uruwi Still not done locally... 20:59
grondilu until you reach the exponent
20:59 KingSpeedy joined
psch m: sub f(&b:(--> Str)) { }; say nqp::getattr(nqp::decont(&f.signature.params[0]), Parameter, '$!post_constraints')[0].returns # vOv 20:59
camelia rakudo-moar d831a4: OUTPUT«(Mu)␤»
psch somehow <typename> doesn't reach there..? 21:00
as in, in Perl6::Actions.fakesignature there's nothing there either
21:01 kid51 joined, MadcapJake joined
psch weirdly though, it's in the cursor, but the .ast for signature *doesn't* have it..? 21:01
where "in the cursor" means "the rule matched" :/
uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $y = 1; while $n > 1 { if $n +& 1 { $y = $x * $y;} $x = $x * $x; $n = $n +> 1; } $x * $y }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now; 21:02
camelia rakudo-moar d831a4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gRux3Pv5Uz␤Strange text after block (missing semicolon or comma?)␤at /tmp/gRux3Pv5Uz:1␤------> 3ile $n > 1 { if $n +& 1 { $y = $x * $y;}7⏏5 $x = $x * $x; $n = $n +> 1; } $x * $y }␤»
uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $y = 1; while $n > 1 { if $n +& 1 { $y = $x * $y;} $x = $x * $x; $n = $n +> 1; $x * $y }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now;
camelia rakudo-moar d831a4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/OzLi5ACjXk␤Strange text after block (missing semicolon or comma?)␤at /tmp/OzLi5ACjXk:1␤------> 3ile $n > 1 { if $n +& 1 { $y = $x * $y;}7⏏5 $x = $x * $x; $n = $n +> 1; $x * $y }; ␤»
uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $y = 1; while $n > 1 { if $n +& 1 { $y = $x * $y;} $x = $x * $x; $n = $n +> 1; } $x * $y }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now;
camelia rakudo-moar d831a4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4LhD6ntkwD␤Strange text after block (missing semicolon or comma?)␤at /tmp/4LhD6ntkwD:1␤------> 3ile $n > 1 { if $n +& 1 { $y = $x * $y;}7⏏5 $x = $x * $x; $n = $n +> 1; } $x * $y }␤»
uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $y = 1; while $n > 1 { if $n +& 1 { $y = $x * $y;}; $x = $x * $x; $n = $n +> 1; } $x * $y }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now;
camelia rakudo-moar d831a4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FkAItyoKMz␤Strange text after block (missing semicolon or comma?)␤at /tmp/FkAItyoKMz:1␤------> 3$x * $y;}; $x = $x * $x; $n = $n +> 1; }7⏏5 $x * $y }; say sum((3 ** 123456) xx 100␤»
uruwi m: multi infix:<**>(Numeric $x, Int $n) { my $y = 1; while $n > 1 { if $n +& 1 { $y = $x * $y;}; $x = $x * $x; $n = $n +> 1; }; $x * $y }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now;
camelia rakudo-moar d831a4: OUTPUT«58908␤3.2788730␤»
MadcapJake hello everyone! Just published v1.1.0 of language-perl6fe for Atom, lots of bugfixes (especially inside large/complicated regexes). (jnthn, everything inside grammar.nqp seems to work for me now) let me know if you see anything needing fixing!
github.com/MadcapJake/language-perl6fe/releases 21:03
grondilu uruwi: it's going to be a bit painful. I suggest you try it on your machine. I'm sure there are even smarter ways to do it.
psch MadcapJake++
21:04 colomon joined, colomon left
masak MadcapJake: cool! 21:05
21:06 ilbelkyr_ joined
MadcapJake give that grammar.nqp file a try! Unfortunately Atom is a bit slow on large files, but it still only takes a couple seconds to highlight the whole thing (that's with a whole bunch of CPU-intensive packages running too) 21:07
21:07 znpy` joined 21:09 hankache joined 21:11 MilkmanDan left, znpy left
pmurias Would it be possible to use the real Perl6 grammar to do the syntax highlighting? 21:12
21:12 ilbelkyr left, eiro left
arnsholt Probably, but it's probably not engineered the optimal way for that 21:13
hankache evening everybody
MadcapJake it is possible with Atom (I was just asking about this on their slack), but it isn't supported and those who've tried have had their efforts constantly broken by Atom patches
uruwi Shoot
arnsholt Since a syntax highlighter will have to deal with incorrect programs most of the time, and a compiler grammar will tend to stop fast when something's wrong
uruwi language-perl6fe is better than Atom's own highlighting
MadcapJake uruwi: thanks! that's my goal! xD 21:14
psch uruwi: i'm pretty sure that was at least some of MadcapJake++'s motivation :)
hankache Perl 6 FE is waaaay better
psch doesn't wanna fiddle with sshfs or somesuch to get the putty session into atom...
uruwi Does it recognize .p6 extensions yet? 21:15
21:15 colomon joined
uruwi So exponentiation grows quadratically with the exponent. 21:16
As the size of the result grows linearly.
MadcapJake uruwi: check out the readme, there's three routes you can take to apply to files
now time to get back to working on linter-perl6! 21:19
21:19 Fleurety left
hankache MadcapJake++ 21:23
21:24 ilbelkyr_ is now known as ilbelkyr, rgrau joined
pmurias arnsholt: the grammar could be taught to do error recovery or just highlight up to the error 21:26
arnsholt: the annoying problem is hooking it up with the editor
21:26 lizmat joined
MadcapJake psch: atom.io/packages/sftp-deployment or atom.io/packages/remote-atom might help alleviate some fiddliness 21:27
masak I think I'm with arnsholt here. compilation and syntax highlighting are two quite different uses.
the kind of recovery a syntax highlighter needs to consider aren't necessarily beneficial to a parser in a compiler.
RabidGravy I have this thing with syntax highlighting: I can totally do without it and have done for most of my life, but it really annoys me when it's wromg 21:29
Skarsnik err than... funny?
nvm
mst masak: seems like you could share the tokenizer-ish bit but not all the layers above that
though, er, it strikes me that maybe the recovery code in a synhi engine and the 'produce as useful an error as possible' code in a compiler might also share some stuff 21:30
21:32 Fleurety joined 21:34 rickvanlieshout joined
grondilu uruwi: FYI: en.wikipedia.org/wiki/Exponentiati...y_squaring 21:35
masak mst: part of the problem of sharing a tokenizer layer is that Perl 6 grammars fundamentally don't think of tokenization as something separate from the rest of parsing.
psch m: sub f(--> Bool) { }; sub h () { }; say &f.signature ~~ &h.signature # aha!
camelia rakudo-moar d831a4: OUTPUT«True␤»
psch m: sub f(--> Bool) { }; sub h () { }; say &h.signature ~~ &f.signature
camelia rakudo-moar d831a4: OUTPUT«True␤»
21:36 znpy` left
masak psch: that looks wrong. 21:36
psch masak: yes, i agree
pmurias masak: if the editor itself doesn't support using the Perl 6 grammar we will run into the problem where for every language extension (slang/macro) your tool support will deteriorate 21:37
mst masak: guess you're going to end up learning how to abstract that then :) 21:38
masak mst: :)
pmurias masak: if the editor itself doesn't support using the Perl 6 grammar we will run into the problem where for every language extension (slang/macro) your tool support will deteriorate 21:39
masak mst: it may be an oversimplification, but I've found that the following two things are basically polar opposites: (a) reliable, simple tokenization, and (b) slangs
21:40 _mg_ left
masak mst: perhaps it's simpler than that, though. Perl 6 is pretty attached to the idea of "one-pass parsing", having been burned by p5 regexes etc. 21:40
one-pass parsing, taken to the extreme, means no separate tokenization step. 21:41
21:43 hankache left
lizmat tries to refrain from adding "archimoct" to the credits list for 2015.12 21:44
21:45 Fleurety left
masak better not. 21:46
lizmat I better not refrain? :-) 21:47
masak better not add an anagram of someone who went to the trouble of sending a pull request to remove himself from being mentioned.
lizmat yeah, I know. Still, for better or worse, he has been part of the process and I think should be mentioned 21:48
but I'll try harder 21:49
21:49 maxvaillancourt left
psch "explicitly not wanting to be mentioned" trumps "should be mentioned" i think 21:49
i don't understand the reason or motivation, but it's obviously important to chromatic not to be mentioned, and especially with having contributed that should be respected 21:50
masak right. it's about respecting someone's wishes.
mst probably "no wish to reignite certain previous dramastorms" 21:52
RabidGravy where would we all be without darama 21:53
masak which, incidentally, would also be a reason to respectfully not mention :)
RabidGravy drama
masak RabidGravy: among friends, contented? this is a trick question, right? :) 21:54
21:54 [TuxCM] joined
mst right. I mean, I don't really care very much about his feelings. but I do care that he's right :D 21:54
dalek pan style="color: #395be5">perl6-examples: e193c1b | (Steve Mynott)++ | categories/cookbook/15interactivity/15-02-test-interactive-program.pl:
.t now works via isatty
21:56
RabidGravy don't know the story, don't want to know the story but tone is everything
21:57 Begi2 joined 22:00 Begi left
leedo sorry to repeat a question i asked earlier, but does anyone have a suggestion for how to get this working? gist.github.com/leedo/7603df457e182976295e 22:00
jnthn leedo: If you want to have a strongly typed, circular dependency between two classes then they need to go in the same file. 22:02
Then the stubbing will work out fine. 22:03
leedo ah, ok thanks!
jnthn (One of the places where Perl 6 is somewhat opinionated. :))
22:04 Begi2 left
masak .oO( Matz is opinionated so we are opinionated ) :P 22:04
jnthn ...what? :)
psch probably "Math"? 22:05
masak jnthn: the normal Ruby motto is "Matz is nice so we are nice"
psch oh
jnthn Oh :)
dalek c: 7b9859e | (Steve Mynott)++ | doc/Language/classtut.pod:
correct two typos
masak should come with some kind of explanatory legend
leedo in my real code, the only example i need the circular dependency is to use the type in a given/when github.com/leedo/p6-web-scraper/bl...ule.pm#L21 22:06
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 6c3c48b | (Zoffix Znet)++ | Build.PL:
Add prereqs
22:07
22:07 BenGoldberg joined
leedo combining into one file does indeed fix it 22:07
psch well, the tough part is now that i have a post_constraint for a parameter in a signature, but its signature is actually the signature of a where block that does smart matching... 22:08
lizmat good night, #perl6!
22:08 lizmat left
leedo maybe i'll just do some duck typing instead 22:09
22:10 BenGoldberg left, Ben_Goldberg left, BenGoldberg joined
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: ff2564d | (Zoffix Znet)++ | t/ (4 files):
Move timestamp regex into t::Helper class, so we don"t duplicate it all over the place
22:11
22:13 lizmat joined
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: c80736a | (Zoffix Znet)++ | bin/build-project-list.pl:
Add logos_dir option, for easier testing
22:14
22:15 kjs_ joined
p6curious I'm trying to make sure I yield my powers of traits and roles for good but I'm not sure about what is a bad idea; specifically I'm worried about when to use what and what it'll do to the global namespace 22:15
22:15 Ben_Goldberg joined
p6curious I've got my thoughts collected into one place, feedback would be highly appreciated even if it just on how to express the idea better gist.github.com/anonymous/d8940e7f132b4087e67a 22:15
the p6 bits are at the bottom, it is my concept of how to implement the parts that are used above 22:16
RabidGravy wield
psch weld?
timotimo yeld. 22:17
psch p6curious: fwiw, traits and roles are supposed to be powerful, and i don't know if we have enough ecosystem around to have figured out DOs and DONTs for them
22:17 xfix left
p6curious psch: I was wondering if anyone knew what bad ideas were yet 22:17
22:17 autark joined
RabidGravy yeah, it's just do it and when it becomes a bad idea sort it out 22:18
p6curious in my head causing the namespace to change behavior for things that aren't involved in what ever is being done is bad
and traits I don't see how to keep scoped tightly, but I have no idea what I'm doing
22:18 raoulvdberge joined 22:19 BenGoldberg left
p6curious for my case I think I want roles on objects and traits on the attributes (not an attribute holding an object with traits) 22:19
that is reflected in the classes in my concept I linked
RabidGravy well people have to explicitly include your code to get your trait so it's their/your lookout dpesn't affect anyone else
jnthn traits are implemented by writing multi subs, which are lexically scoped
Only somebody importing the module you implement them in would get them
p6curious so if I add traits they are not visible to anything except for what ever scope is using what ever brought the trait in?
excellent
any thoughts on applying traits to attributes? for my case I want to mark some attributes as being 'registers' which are going to be the external interface to the things 22:20
psch fwiw, traits and roles seem conceptionally linked to me
as in, traits are often used to apply roles, for one
p6curious traits seem to be a way to shortcut a role definition
RabidGravy psch also in some places the terms are used interchangeably 22:21
p6curious right, so I guess a better question would be: are there any thoughts on applying a role to an attribute instead of storing an object with a role in the object?
psch p6curious: a trait_mod<is>(Attribute $a ...){ ... } applies to an Attribute
p6curious: but Attribute isa Any
so it's still an object, of course
22:22 raoulvdberge left, raoulvdberge joined
p6curious because for my case I don't want to do anything with the object in the attribute itself, but I want to be able to introspect the object that has attributes to find ones that are registers 22:22
jnthn sleep &
p6curious I hit this before with Reflex and Moose and just had to give up because I could never wrap my head around it
psch m: class A { has $.a }; say A.^attributes[0].WHAT
camelia rakudo-moar d831a4: OUTPUT«(Attribute)␤»
psch m: class A { has $.a }; A.^attributes[0] does role { method foo { say "foo" } }; A.new.a.foo
camelia rakudo-moar d831a4: OUTPUT«Method 'foo' not found for invocant of class 'Any'␤ in block <unit> at /tmp/Fr3J9Niqr9:1␤␤»
p6curious psch: yeah I've got some code that can do things to an attribute, and I know I can mix things into the meta class
psch m: class A { has $.a }; A.^attributes[0] does role { method foo { say "foo" } }; A.^attributes[0].foo; A.new.a.foo 22:23
camelia rakudo-moar d831a4: OUTPUT«foo␤Method 'foo' not found for invocant of class 'Any'␤ in block <unit> at /tmp/8aItvoXnB7:1␤␤»
p6curious i'm just wondering if this is a good idea, or I guess if anyone can say why I should do something else
psch the latter shows that the (anon) role on the Attribute doesn't influence the contained object
p6curious perfect
psch i think 'handles' is the trait that shows this better, from the ones in CORE
(or trait_mod, rather)
stmuk_ likes the way all ecosystem modules are 100% NYI Kwalitee :) 22:25
22:25 lizmat left
p6curious hmmmmm it sounds like it is a safe assumption to say that if an object winds up with a role on its attributes it wasn't through a surprise, so it is not a bad idea to muck with the metaobject for that attribute 22:25
I don't like surprises
psch: thanks for the brain cycles 22:26
RabidGravy p6curious, if the role on th attribute messes something up you'll know at compile time
p6curious that is a great way to break
mst attaching roles to attributes is a time honoured way to attach metadata to them 22:27
that gets done in Moose all the time
p6curious though I had a not great error the other day, I wasn't sure if I should file a bug report on it
RabidGravy indeed
p6curious I was working with roles on a class and there was a failure during compile, the error had no file/line information and I can't recall if it even mentioned the offending class
stmuk_ ah github.com/zoffixznet/perl6-Kwalitee exists 22:29
p6curious if I encounter non-optimal error output during compile should I report it as a bug? 22:30
22:31 Zoffix joined
Zoffix stmuk_, it's a WIP. Will be fixed after I'm done with db builder stuff. But 98% of dists have 100% Kwalitee :) 22:31
m: say 100* (1 - 15/459) 22:32
camelia rakudo-moar d831a4: OUTPUT«96.732026␤»
psch p6curious: keep in mind though that if you modify the meta object directly it sticks
p6curious psch: I would need to be careful to make sure I did not apply the change to every single attribute system wide? 22:33
psch p6curious: right, that's why i used "does" on the single Attribute from .^attributes
p6curious ok, thank you. is it valid to pass arguments to a trait like can be done with a role? 22:34
because I want to be able to define a lot of different behavior for a register and the most clean way looks to be args on roles or traits - I haven't got trait args to work
timotimo p6curious: yes, you can report sub-optimal error output
p6curious: we usually call that "LTA error messages" for Less Than Awesome
p6curious it'll parse and compile and the trait sub is invoked - but I can't find my args anyway 22:35
timotimo: ok I'll do that from now on
22:35 BenGoldberg_ joined
RabidGravy trait args work, let me find an example 22:35
github.com/jonathanstowe/AccessorF...rFacade.pm e.g. 22:36
22:36 Ben_Goldberg left
TimToady shouldn't it be spelled Koalatee? 22:37
22:37 pierre-vigier joined, snarkyboojum joined
p6curious derp, thats pretty bad, i've used NativeCall, I should already know trait args work 22:37
timotimo "shortcommings"
Zoffix TimToady, that hasn't been merged yet. I need to write more tests before I do so :) 22:38
p6curious ah that brings up a question of mine: I used nativecall to wrap libxml for fun and went to use valgrind to search for memory leaks with libxml managed ram
I never found a way to get my out of scope objects go GC before the test program exited so it always showed leaks 22:39
is there a way to force GC to check for leaks like that?
psch p6curious: nothing really reliable. nqp::force_gc exists, but afaik doesn't do anything if there's nothing to be done, or something..?
timotimo i'm not sure i understand - the GC only manages GC-allocated objects, so anything libxml creates for you wouldn't be handled
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 0dcb411 | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder.pm:
Output log to STDERR consistently
22:40
timotimo maybe you mean the submethod DESTROY?
psch doesn't usually muck with those magical, internal bits
well, deeply internal, i.e. MoarVM :P
timotimo DESTROY will be called on your object after they become garbage. however, moarvm will not call DESTROY on everything when it shuts down
psch m: class A { submethod DESTROY { say "collected" } }; A.new; nqp::force_gc; sleep 10 22:41
camelia ( no output )
22:41 pierre-vigier left
dalek kudo/nom: 96af2dc | (Ronald Schmidt)++ | CREDITS:
Update CREDITS - fix duplicate listing for me / ronaldxs / ronaldxs@software-path.com
22:41
kudo/nom: 458cd81 | (Will Coleda)++ | CREDITS:
Merge pull request #600 from ronaldxs/patch-1

Update CREDITS - fix duplicate listing for me / ronaldxs / ronaldxs@s…
psch that's what i mean with "not really reliable". afaict the A.new is sunk and should be collectable
but mumble nursery-size mumble generation something something vOv 22:42
dalek kudo-star-daily: 6dc6240 | coke++ | log/ (2 files):
today (automated commit)
22:43
p6curious timotimo: naw, I wound up with GC implemented nativecall wrapped objects, but they didn'g GC to invoke destroy to call xmlfree
timotimo right, as i said, you're not guaranteed that things will have DESTROY called when the program exits
p6curious there was objects fully out of scope and GC had stuff to do but never did, as far as I could tell - if I can tell the vm to force gc I think that'll do it
I just need it for testing to make sure it doesn't leak anyway 22:44
[Coke] I see a one off add of a name to the xmas people: note that we still have a ton of repos to go through, so we probably don't need lots of one offs until those are all added.
stmuk_ [Coke]: can you explain why you closed github.com/rakudo/rakudo/pull/601? 22:45
22:48 colomon left, cognominal left 22:54 autark left, eiro joined
dalek kudo/nom: 8b4686f | (Steve Mynott)++ | tools/CREDITS.pl6:
skip chromatic in credits
22:57
kudo/nom: 1da6d1c | (Steve Mynott)++ | docs/announce/2015.12.md:
add Sue Spence to Xmas release credits
kudo/nom: 31f9abb | (Will Coleda)++ | / (2 files):
Merge pull request #602 from stmuk/nom

Add Sue Spence to release announcement
  - also removes chromatic from future CREDITS auto-updates
stmuk_ [Coke]: thanks 22:58
dalek kudo/nom: c83a8de | coke++ | docs/announce/2015.12.md:
Keep sorted.
22:58 AndyDee joined
masak "keep sorted". sage advice in general. 23:02
Zoffix "Thanks to everyone who has worked to make this release happen over the past 15 years." 0.o 15 years. Wow, what an accomplishment. 23:03
Especially with so few names 23:05
23:05 Woodi left
Zoffix 15 years ago I only know how to write a few lines of Pascal :P 23:07
s/know/knew/;
vendethiel 15 years ago, I could barely speak :P.
Zoffix :P
stmuk_ make us feel old :P 23:08
23:11 rickvanlieshout left
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 8c7f26b | (Zoffix Znet)++ | / (6 files):
Add stub tests to ensure ALL of our classes show up in Devel::Cover report
23:13
[Coke] niner== Stefan Seifert ? 23:14
RabidGravy stmuk_, you/we are old
[Coke] Zoffix: the list is far from done
23:15 pmurias left
Zoffix noted 23:16
masak [Coke]: aye.
diakopter Zoffix: I'm also thinking Koalatee is bettar
Zoffix diakopter, vs. Koalitee? 23:17
diakopter yah
(ditto TimToady)
23:17 bpmedley left
RabidGravy wan't it Schwern who first coined the term? get him to call 23:17
Zoffix
.oO( Schwern?? )
23:18
RabidGravy yes
diakopter RabidGravy: maybe kwalitee, but not the koala pun; that was me I think?
Zoffix
.oO( who is Schwern? )
23:19
Yeah, based on a log grep, it was diakopter who proposed the Koala pun
Zoffix wishes they were familiar with how to do a quick file content substitution on a tree of files
RabidGravy Oh mate github.com/schwern 23:20
Zoffix Face looks familiar
RabidGravy made most of the P5 test stuff work nicely
Zoffix And I'm following that account
diakopter must. resist. posting. mugshot. link.
23:21 coetry left
psch well, the only thing wrong about this patch is a bad "expecting any of"... 23:23
23:25 bzipitidoo joined
[Coke] ven == vendethiel ? 23:25
vendethiel [Coke]: yes 23:26
psch ..but calling !fresh_highexpect on the CURSOR instead of $/ solves that \o/
vendethiel i can connect ven if you want me to :P
bzipitidoo anyone taking reports of web site problems? Code in angle brackets is missing on several pages. 23:27
Zoffix bzipitidoo, which website? :) 23:28
uruwi > Sex
bzipitidoo examples.perl6.org/categories/inter...s/RPN.html
my token Item { || }; 23:29
dalek kudo/nom: 524dd3a | peschwa++ | src/Perl6/Actions.nqp:
Mixin Callable[$type] for all ways of declaring return type.
kudo/nom: 9dc8630 | peschwa++ | src/Perl6/Actions.nqp:
Fix a "Sub object coerced to string" warning.
kudo/nom: c22c744 | peschwa++ | src/core/Signature.pm:
Don't ignore return types when calling ACCEPTS with Signatures.
kudo/nom: bb931c8 | peschwa++ | src/Perl6/Actions.nqp:
Fix RT #125988.

I doubt this is the cleanest possible, but it's the workiest I could figure out.
tadzik Koalatee sounds like Manatee
timotimo that's no surprise, given it's a cross of a koala and a manatee
psch tests tomorrow, if no one beats me to it 23:30
bzipitidoo I was trying to make sense of that line. Took me a while to realize it was wrong. Correct code is at github.com/perl6/perl6-examples/bl...ers/RPN.pl 23:31
Zoffix bzipitidoo, thanks, reported: github.com/perl6/perl6-examples/issues/38
stmuk_ odd ... colour syntax has broken on examples.
Zoffix bzipitidoo, feel free to submit a PR to that repo, if you figure out what's wrong.
diakopter .g "koala tee"
yoleaux www.koalatee.com/
stmuk_ I'll take a look tomorrow
diakopter oh noes
23:32 ozmq joined
Zoffix That's exactly what I thought about the name lol :) A Koala in a T-shirt 23:32
But it's too late!!! 'cause...
diakopter tee shirt made of koala fur
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 3af345f | (Zoffix Znet)++ | / (14 files):
Rename Koalitee to Koalatee by popular demand
timotimo +1 23:33
AlexDaniel
.oO( Coality ⛏)
Zoffix .u ⛏ 23:34
yoleaux U+26CF PICK [So] (⛏)
23:35 spider-mario left
uruwi That's going to break lots of poop 23:36
.u poo
yoleaux U+1434 CANADIAN SYLLABICS POO [Lo] (ᐴ)
U+1435 CANADIAN SYLLABICS Y-CREE POO [Lo] (ᐵ)
U+A576 VAI SYLLABLE POO [Lo] (ꕶ)
uruwi .u pile of poo
yoleaux U+1F4A9 PILE OF POO [So] (💩)
Zoffix :S
diakopter .u pile
yoleaux U+1F4A9 PILE OF POO [So] (💩)
uruwi That commit will break THAT. 23:37
Zoffix uruwi, which commit?
.u dong
yoleaux U+1B61 BALINESE MUSICAL SYMBOL DONG [So] (᭡)
U+20AB DONG SIGN [Sc] (₫)
Zoffix snickers 23:38
uruwi The one that renamed Koalitee to Koalatee
.me penis
.u penis
yoleaux No characters found
diakopter uruwi: but why
uruwi .me ass 23:39
.u ass
yoleaux U+0611 ARABIC SIGN ALAYHE ASSALLAM [Mn] (◌ؑ)
U+22A6 ASSERTION [Sm] (⊦)
U+12461 CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH [Nl] (𒑡)
Zoffix uruwi, why do you think it'll break anything?
uruwi If modules depend on it being named Koalitee?
RabidGravy it's so Saturday night
bzipitidoo zoffix: thx. Also, could doc.perl6.org/language/regexes have 2 errors, near the "Keep it small" section?
my regex example { <preamble> [ || <choice_1> || <choice_2> || <choice_3> ]+ <postamble> }
diakopter uruwi: but Koalitee hasn't even existed yet 23:40
stmuk_ m: say "\c[BEAR FACE]"
camelia rakudo-moar c83a8d: OUTPUT«🐻␤»
Zoffix uruwi, I haven't released my P6 Koalatee module (currently named Kwalitee) and the above commit is internal stuff used by the modules.perl6.org infrastructure that no modules use :)
RabidGravy 💩 23:41
bzipitidoo Seems like "[ ||" is wrong
uruwi .u dick
yoleaux No characters found
uruwi .u piss
yoleaux No characters found
uruwi .u cock
yoleaux U+1F378 COCKTAIL GLASS [So] (🍸)
uruwi At least. 23:42
.u hell
yoleaux No characters found
TimToady bzipitidoo: an initial | or || is allowed
Zoffix uruwi, /msg yoleaux .u whatever works too
Quom_ Keep it PG guys
stmuk_ m: say "\c[KOALA]\c[HOT BEVERAGE]""
camelia rakudo-moar c83a8d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ZRVNK3FDQN␤Two terms in a row␤at /tmp/ZRVNK3FDQN:1␤------> 3say "\c[KOALA]\c[HOT BEVERAGE]"7⏏5"␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement …»
stmuk_ m: say "\c[KOALA]"~"\c[HOT BEVERAGE]""
camelia rakudo-moar c83a8d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/o1tFh90QFU␤Two terms in a row␤at /tmp/o1tFh90QFU:1␤------> 3say "\c[KOALA]"~"\c[HOT BEVERAGE]"7⏏5"␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ stateme…»
bzipitidoo What does an initial || mean? Same as if it wasn't there, or that some sort of null string is a valid match?
RabidGravy chimps are dead
Zoffix m: say "\c[KOALA]\c[HOT BEVERAGE]"
camelia rakudo-moar c83a8d: OUTPUT«🐨☕␤»
ozmq Advent is upon us here in the Antipodes, where all the koalas are. 23:43
I have followed Perl 6 since its inception, and have been a lurker on the #perl6 backlogs for much of that time. It has provided me with a daily dose of technical entertainment, a soap opera with a wonderful cast of smart, funny, and sympathetic characters.
Nearly there. As Tiny TimToady might say, everyone++.
stmuk_ its drinking
TimToady bzipitidoo: it's mostly a no-op, useful for formatting a multiline alteration
however, it does have an effect on a subsequent @alteratives match
whether it chooses short-circuit vs longest-token matching
Quom_ bzipitidoo: Think of it like having a trailing comma at the end of a multi-line list. Makes editing more convenient and can look nicer 23:44
RabidGravy ozmq, I'd lay off the luudes mate ;-)
diakopter hm
ozmq++ # sentiment appreciated!
stmuk_ is there a "TEACUP WITH HANDLE" 23:45
Zoffix Man, IRC makes me so unproductive :(
23:45 Zoffix left
dalek kudo/nom: e0a4039 | coke++ | docs/announce/2015.12.md:
Add docs contributors

  github.com/perl6/doc
23:46
23:47 ranger joined, ranger is now known as Guest24857
bzipitidoo mostly a NOP, but not quite? Is there an example that shows different results with those 2 versions of an alternation? 23:47
timotimo two versions? do you mean | and ||? 23:48
TimToady |@foo vs ||@foo
timotimo ah 23:49
23:49 BenGoldberg_ left
timotimo i've always seen that as a prefix, separate from the infix | and || operators 23:49
bzipitidoo No, I mean [ somematch || someothermatch ] vs [ || somematch || someothermatch ]
timotimo there is 0 difference between these two
23:49 BenGoldberg_ joined
AlexDaniel hm, what if 23:50
TimToady m: my @foo = <ab abc>; say "abcd" ~~ / || @foo/; say "abc" ~~ /| @foo/
camelia rakudo-moar c83a8d: OUTPUT«「ab」␤「abc」␤»
23:50 Guest24857 left, ChanServ sets mode: +o TimToady
TimToady m: my @foo = <ab abc>; say "abcd" ~~ / || @foo/; say "abcd" ~~ /| @foo/; say "abcd" ~~ /@foo/ 23:50
camelia rakudo-moar c83a8d: OUTPUT«「ab」␤「abc」␤「abc」␤»
TimToady defaults to |
AlexDaniel m: say 'foo' if || 5 < 20 || 50 > 3;
camelia rakudo-moar c83a8d: OUTPUT«foo␤»
AlexDaniel m: say 'foo' if || 5 < 20 || 50 > 3 ||;
camelia rakudo-moar c83a8d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/bfVeCcWOS5␤Missing required term after infix␤at /tmp/bfVeCcWOS5:1␤------> 3say 'foo' if || 5 < 20 || 50 > 3 ||7⏏5;␤ expecting any of:␤ prefix␤ term␤»
AlexDaniel m: say 'foo' if && 5 < 20 && 50 > 3; 23:51
camelia rakudo-moar e0a403: OUTPUT«5===SORRY!5=== Error while compiling /tmp/J_cbr3Sfeu␤Two terms in a row␤at /tmp/J_cbr3Sfeu:1␤------> 3say 'foo' if &&7⏏5 5 < 20 && 50 > 3;␤ expecting any of:␤ infix␤ infix stopper␤»
TimToady er, that prefix::<||> isn't doing what you think it's doing...
it's a funny accident that it works
AlexDaniel oh really? What is it doing then?
masak something unspeakable.
TimToady m: say ||5
camelia rakudo-moar e0a403: OUTPUT«5␤»
TimToady m: say | |5
camelia rakudo-moar e0a403: OUTPUT«5␤»
psch flat flat 5
AlexDaniel m: say |||5
camelia rakudo-moar e0a403: OUTPUT«5␤»
psch neat
AlexDaniel yeah, that's what I thought… well… 23:52
RabidGravy nasty
AlexDaniel TimToady: dunno, maybe it should?
TimToady it would be ambiguous with a real | or || prefix
psch m: say "abcd" ~~ /^(a | b | bc | cd)*?$/; say "abcd" ~~ /^(@a)*?$/ 23:53
camelia rakudo-moar e0a403: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Ab8STlQM6r␤Variable '@a' is not declared␤at /tmp/Ab8STlQM6r:1␤------> 3(a | b | bc | cd)*?$/; say "abcd" ~~ /^(7⏏5@a)*?$/␤»
psch m: my @a = < a b bc cd >; say "abcd" ~~ /^(@a)*?$/
camelia rakudo-moar e0a403: OUTPUT«Nil␤»
AlexDaniel does double flat make any difference?
TimToady depends on the context
AlexDaniel oh well
23:53 BenGoldberg_ left
psch that would've been the answer to that "find the original words from a space-less string" blog post a bit ago, but alas, it's bugged :/ 23:54
23:54 BenGoldberg_ joined
TimToady m: say <a b c>; say || <a b c> 23:54
camelia rakudo-moar e0a403: OUTPUT«(a b c)␤abc␤»
AlexDaniel not a big issue, I don't think that a lot of people want to write || stuff on every line… That being said, maybe it will make sense to make it more “consistent”… 23:55
23:55 znpy` joined
AlexDaniel I mean on separate lines 23:55
TimToady given that nobody's ever thought of that up till now, I doubt the feature will be in high demand 23:56
RabidGravy I think there should be a bot that collects the people who connect and disconnect without saying anything
TimToady and puts them where?
stmuk_ my client ignores those people
RabidGravy interesting statistic
drunk tank
dalek href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 1f44796 | (Zoffix Znet)++ | / (2 files):
Improve test/pod coverage of ::Dists model to 100%
23:57
stmuk_ act.yapc.eu/lpw2015/schedule 23:58