»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
JRaspass m: class A { method DESTROY { say 1 } }; { A.new } 00:01
camelia ( no output )
00:03 dataf3l joined 00:07 espadrine left
samcv but it seems something bad is going on, when i fix the spacevs whitespace bug, and then it breaks regex 00:08
rightfold notviki: yeah I guess I'll write a library for making foldr easier 00:09
But I'll make it an ad-hoc associativity library, not specifically foldr
So you can do something like @xs.reduce(as-right(&f))
notviki wishes our augments were lexical... 00:11
00:14 dugword joined
dugword p6: say 3; 00:14
camelia rakudo-moar a7bf1e: OUTPUT«3␤»
notviki JRaspass: I'm no expert, but AFAIK nope. 00:15
JRaspass notviki: darn, so what's the best way of having tear down logic, in my example i need to issue a DELETE req to a server 00:16
notviki unsure... maybe END phaser? 00:18
rightfold Is there something that enables Perl 5 sigils?
notviki m: for ^20 { my class Foo { END { say "hi" } }; my $x = Foo.new }; say "meow"
camelia rakudo-moar a7bf1e: OUTPUT«meow␤hi␤»
notviki m: for ^200000 { my class Foo { END { say "hi" } }; my $x = Foo.new }; say "meow"
camelia rakudo-moar a7bf1e: OUTPUT«meow␤hi␤»
notviki worth trying 00:19
00:19 RabidGravy left
notviki rightfold: no 00:19
rightfold Ok :P
JRaspass ooo that might work, a DESTROY block for best effort, then a phaser for final cleanup of any that weren't called 00:20
thanks
s/block/method/ 00:21
00:28 pierre_ joined 00:33 pierre_ left
samcv notviki, something REALLY weird is happening 00:34
'a' ~~ /<:space>/ #> it matches the letter a
but space and White_Space match fine
well. no. i mean
uniprop-bool shows correct values for both
and both have the same moarvm propcode
but i can't match ' ' ~~ /<:space>/ but it can match non-space characters 00:35
but other properties match fine
00:35 BenGoldberg left 00:36 BenGoldberg joined
samcv there was a bug on matching <:space> before, and so it was fixed for the JVM rt.perl.org/Ticket/Display.html?id=125190 00:37
and that test added
00:39 awwaiid left
notviki m: say "a" ~~ /<:space>/ 00:43
camelia rakudo-moar a7bf1e: OUTPUT«Nil␤»
samcv so it is now reversed for me, but otherwise works fine
but only reversed in regex
nowhere else 00:44
so maybe there's a bug that the jvm had to work around
to fix the bug for JVM
00:44 Rawriful left 00:45 Rawriful joined
samcv i think maybe this github.com/perl6/nqp/blob/master/s...s.nqp#L663 00:46
is in nqp where it does its unicode property thingy 00:47
dataf3l Hey Guys 00:58
Is there a way to get the Hash keys and values back in the same order they were inserted?
something like Python’s OrderedDict, or PHP’s array() (which is both, array and hash, but is sorted by creation)
does that come in the box or do I have to subclass Hash and do all the dirty work? 00:59
AlexDaniel dataf3l: I don't think there is something. By the way, what problem are you trying to solve? 01:03
01:05 Rawriful left 01:06 aborazmeh joined, aborazmeh left, aborazmeh joined 01:07 bjz left
samcv guess time to poke into the internals 01:08
01:14 dataf3l left 01:15 bjz joined 01:27 JRaspass left
dugword dataf31: You could have an array of pairs, it's not quite an hash since you can only access the pairs by index. But if you only cared about accessing them in order it might do the trick. 01:34
01:40 pyrimidi_ joined, pyrimidine left
AlexDaniel m:say 42 01:40
m: say 42
camelia rakudo-moar a7bf1e: OUTPUT«42␤»
01:46 lukaramu left 01:51 Ven left 02:00 labster joined 02:03 dugword left
AlexDaniel “Input (194228 characters) is not a valid JSON string” /o\ 02:05
02:08 cooper_ joined, cooper_ left, cooper_ joined, cooper_ is now known as cooper 02:10 dataf3l joined 02:12 dataf3l left 02:13 dataf3l joined 02:15 dataf3l left, pierrot left 02:16 dataf3l joined
notviki AlexDaniel: with what? 02:16
JSON::Tiny?
AlexDaniel both Tiny and Fast
Fast gives a more meaningful error: 「at 131936: can't parse objects starting in "̥̞ͫͩ̉̎͊ yet (context: ỏ̟͙̞̻̹r̵̨͇̫̦̺̮̼ͭ,̷̧̬̲͈̤̅̉͛ͫ͠ ̣͕̝̳̗̲̩͗̋͘e̼ͩ̔̿̾̋͘a̸̙͙͔̜̳̻͊ͯͪͤͬ͆͠)」 02:17
although I'm not sure if it is the same issue or not
notviki Are you on latest JSON::Tiny? moritz fixed a bug for same-looking bug recently
AlexDaniel (and I'm starting to doubt that this thing is valid by itself) 02:18
notviki that line messed up my terminal
02:19 troys_ is now known as troys, dataf3l left
geekosaur someone's been parsing html with regex :p 02:20
02:21 dataf3l joined
AlexDaniel .tell moritz Hey! I cannot parse json clog from 2016-01-10 using JSON::Tiny… Since both seem to be maintained by, perhaps you can take a look? It is associated with combining characters I think 02:22
yoleaux AlexDaniel: I'll pass your message to moritz.
samcv m: "ỏ̟͙̞̻̹r̵̨͇̫̦̺̮̼ͭ,̷̧̬̲͈̤̅̉͛ͫ͠ ̣͕̝̳̗̲̩͗̋͘e̼ͩ̔̿̾̋͘a".chars.say
camelia rakudo-moar a7bf1e: OUTPUT«6␤»
AlexDaniel .tell moritz here's the json file: gist.githubusercontent.com/AlexDan...01-10.json
yoleaux AlexDaniel: I'll pass your message to moritz.
AlexDaniel by you**
geekosaur weee, that's one evil log :p 02:25
02:25 dataf3l left
notviki thanks i.imgur.com/xUfab9J.png 02:26
02:26 dataf3l joined
AlexDaniel well, that's not our fault… 02:27
geekosaur yes, btw, that looks like a double quote with combining chars on it
AlexDaniel that's how it parses it, I guess 02:28
BenGoldberg That looks like stuff from www.eeemo.net/ 02:29
samcv yeah there's bugs in things in nqp 02:30
i think..
AlexDaniel u: "‍"
unicodable6 AlexDaniel, U+0022 QUOTATION MARK [Po] (")
AlexDaniel, U+200D ZERO WIDTH JOINER [Cf] (‍)
AlexDaniel, U+0022 QUOTATION MARK [Po] (")
BenGoldberg .u "ͮ̃ͤ̃̑̏̈͑͒ͣ͂͂̐ 02:31
yoleaux U+0022 QUOTATION MARK [Po] (")
U+0303 COMBINING TILDE [Mn] (◌̃)
U+0308 COMBINING DIAERESIS [Mn] (◌̈)
samcv like <:Greek> is broken but <:Script<Greek>> works fine
idk i can't father wtf is going on
it is really hard to tell what's going on in QUASTRegexCompilierMAST 02:32
AlexDaniel m: say "‍❤️‍💋‍".chars 02:34
camelia rakudo-moar a7bf1e: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at <tmp>:1␤------> 3say7⏏5 "‍❤️‍💋‍".chars␤Bogus postfix␤at <tmp>:1␤------> 3say 7⏏5"‍❤️‍💋‍".chars␤ expecting any of:␤ infix␤ …»
02:34 dataf3l left
AlexDaniel u: say "‍❤️‍💋‍".chars 02:35
unicodable6 AlexDaniel, U+0073 LATIN SMALL LETTER S [Ll] (s)
AlexDaniel, U+0061 LATIN SMALL LETTER A [Ll] (a)
AlexDaniel, U+0079 LATIN SMALL LETTER Y [Ll] (y)
AlexDaniel … no gist?
yea, failed to create a json out of it
02:35 dataf3l joined
AlexDaniel u: "‍❤ 02:35
unicodable6 AlexDaniel, U+0022 QUOTATION MARK [Po] (")
AlexDaniel, U+200D ZERO WIDTH JOINER [Cf] (‍)
AlexDaniel, U+2764 HEAVY BLACK HEART [So] (❤)
AlexDaniel because a zero width joiner near a quote breaks the whole thing 02:36
BenGoldberg u: U+2764 02:37
unicodable6 BenGoldberg, U+2764 HEAVY BLACK HEART [So] (❤)
BenGoldberg u: POO
unicodable6 BenGoldberg, U+1434 CANADIAN SYLLABICS POO [Lo] (ᐴ)
BenGoldberg, U+1435 CANADIAN SYLLABICS Y-CREE POO [Lo] (ᐵ)
BenGoldberg, U+20D0 COMBINING LEFT HARPOON ABOVE [Mn] (◌⃐)
BenGoldberg, gist.github.com/cfb4591c81aac4d160...fe2d6aff2b
02:37 labster left
samcv AlexDaniel, that would make sense 02:38
BenGoldberg u: U+1F595
unicodable6 BenGoldberg, U+1F595 REVERSED HAND WITH MIDDLE FINGER EXTENDED [So] (🖕)
samcv well. i am sure it is very non plussed about that
BenGoldberg is thinking about getting a motorcycle jacket with "U+1F595" on it. Not the middle finger itself, mind you. I'm positive there are enough unicode literate folks out there who'd appreciate it. 02:40
02:40 dataf3l left 02:41 dataf3l joined
BenGoldberg For some truly strange unicode fun, /msg perlbot call zalgo Some random text here. 02:43
02:43 dataf3l left
AlexDaniel huggable: dezalgo 02:44
huggable AlexDaniel, nothing found
AlexDaniel huggable: zalgo
huggable AlexDaniel, nothing found
02:44 dataf3l joined
AlexDaniel meh 02:44
02:45 kalkin-_ joined
samcv bisectable6, say ' ' ~~ /<:space>/ 02:45
bisectable6 samcv, On both starting points (old=2015.12 new=a7bf1ea) the exit code is 0 and the output is identical as well
samcv, Output on both points: 「 」
02:46 ilbot3 left 02:47 ilbot3 joined, dataf3l left 02:49 dataf3l joined
samcv ok some other properties are now reversed. but only in regex 02:50
yeah. all the failing properties, are reversed now 02:51
like space and <Greek>
but uniprop returns the correct thing
losing my mind
02:52 FROGGS_ joined, xtreak joined
notviki is trying to think of a language to invent 02:54
While doing Rakudo Internals course...
02:55 FROGGS left
notviki
.oO( a language where all identifiers can be just a single letter only... )
02:55
AlexDaniel notviki: combiners allowed or not? 02:57
notviki shrugs 02:58
samcv for what AlexDaniel
AlexDaniel for fancier identifiers
samcv oh
uhm 02:59
AlexDaniel notviki: perhaps a language where an identifier should be zero letters. Instead, a combiner for the previous character is used
(will be way more interesting if there are no sigils) 03:00
03:00 pierrot joined
notviki I started writing an article about a "damn compiler" where you build a language that has a lot of words damns in it... but the wordplay lost its charm quickly and I never finished... 03:00
geekosaur identifiers any length but operators are all combining chars on the identifiers :p
03:00 bjz left, bjz_ joined
samcv nice 03:01
geekosaur that actually sounds a bit boring, just intercal with some slight edits :p
notviki this would've been a program: gist.github.com/zoffixznet/e8735d3...4f23fe21a3 03:02
samcv hah
03:04 dataf3l left 03:05 dataf3l joined 03:07 dataf3l left 03:08 dataf3l joined 03:09 itcharlie_linux joined 03:13 dataf3l left 03:14 dataf3l joined 03:16 dataf3l left 03:17 dataf3l joined 03:19 aborazmeh left, dataf3l left 03:20 dataf3l joined, pierrot left 03:21 drrho joined 03:22 TimToady left 03:23 TimToady joined, dataf3l left 03:25 dataf3l joined 03:28 dataf3l left 03:29 dataf3l joined 03:31 bjz joined, dataf3l left, bjz_ left 03:32 dataf3l joined 03:33 labster joined 03:37 dataf3l left 03:38 dataf3l joined 03:40 dataf3l left 03:41 dataf3l joined
samcv hacks. ok i got whitespace to work. but i hacked it by renaming it from White_Space to just 'space' 03:42
and now it works. really a workaround though, but at least closer to figuring out the problem
so it works fine if it is the primary property name, but doesn't work if it's one of the aliases 03:43
03:45 dataf3l left 03:46 dataf3l joined 03:48 dataf3l left 03:49 dataf3l joined, troys left
notviki gifts dataf3l a new router 03:50
03:51 noganex_ joined
samcv this is probably the biggest breakthrough I've had yet 03:51
\o/
notviki \p/
samcv so they all have the same values in BOTH of these datastructures 03:53
so now I know exactly what to look for in the generated database. can know if it will work without having to compile everything
03:56 dataf3l left 03:57 dataf3l joined 03:59 newbie1 left, dataf3l left 04:00 dataf3l joined, pierrot joined 04:02 dataf3l left 04:03 dataf3l joined 04:05 dataf3l left 04:06 dataf3l joined 04:08 dataf3l left 04:09 dataf3l joined 04:11 dataf3l left 04:12 dataf3l joined 04:13 pyrimidi_ left 04:16 dataf3l left 04:17 dataf3l joined
samcv just gonna keep adding prints places and keep trying until I find where it is mangling things 04:19
04:19 dataf3l left 04:20 dataf3l joined 04:21 pierrot left, pierrot joined 04:25 dataf3l left, dataf3l joined 04:28 dataf3l left 04:29 dataf3l joined, pierre_ joined 04:32 geekosaur joined 04:34 pierre_ left 04:35 dataf3l left 04:36 dataf3l joined 04:39 dataf3l left, dataf3l joined 04:41 dataf3l left 04:42 dataf3l joined 04:44 dataf3l left 04:45 dataf3l joined 04:47 dataf3l left 04:48 dataf3l joined 04:50 dataf3l left 04:51 dataf3l joined 04:53 xtreak left, dataf3l left 04:54 dataf3l joined 04:55 xtreak joined 04:57 skids joined 05:00 dataf3l left 05:01 dataf3l joined 05:03 dataf3l left, khw left 05:04 dataf3l joined 05:06 dataf3l left 05:07 dataf3l joined 05:09 dataf3l left 05:10 dataf3l joined, pyrimidine joined 05:12 dataf3l left 05:13 dataf3l joined
samcv argh. this is terrible. so many variables names the same 05:14
@lines; and %lines in the same block
:\
05:15 Cabanossi joined 05:17 dataf3l left
AlexDaniel m: say slurp 05:18
camelia rakudo-moar a7bf1e: OUTPUT«»Wann treffen wir drei wieder zusamm?«␤ »Um die siebente Stund‘, am Brückendamm.«␤ »Am Mittelpfeiler.«␤ »Ich lösche die Flamm.«␤ »Ich mit«␤␤ »Ich komme vom Norden her.«␤ »Und ich vom Süden.«␤ …»
05:18 dataf3l joined 05:21 StefanSC joined, dataf3l left, dataf3l joined 05:23 dataf3l left, tojo joined 05:24 dataf3l joined, StefanSC left 05:27 dataf3l left, dataf3l joined 05:29 jabowery joined
jabowery p6: say 3; 05:29
camelia rakudo-moar a7bf1e: OUTPUT«3␤»
jabowery Is there a perl6 regex or grammar for regexes, available in a module? 05:31
05:31 dataf3l left 05:33 dataf3l joined 05:34 StefanSC joined, dataf3l left 05:35 dataf3l joined 05:36 NotCamelia joined
NotCamelia Good job, AlexDaniel 05:36
05:36 IZAAW8DU joined
7IZAAW8DU Good job, AlexDaniel 05:36
05:36 WAAF8J4 joined
21WAAF8J4 Good job, AlexDaniel 05:36
05:36 NotCamelia left
AlexDaniel /o\ 05:37
05:40 dataf3l left, Camelia_ joined
Camelia_ Hi, blub 05:40
notviki Good job, AlexDaniel
05:40 Camelia_ left
notviki ...blub? 05:40
05:41 dataf3l joined
notviki "noun. a swelling of fresh plasterwork" 05:41
05:43 dataf3l left 05:44 bjz left, dataf3l joined 05:46 dataf3l left 05:47 dataf3l joined 05:49 dataf3l left 05:50 dataf3l joined 05:52 dataf3l left 05:53 dataf3l joined 05:55 dataf3l left 05:56 dataf3l joined 05:58 dataf3l left 05:59 dataf3l joined 06:01 dataf3l left, dataf3l joined 06:02 StefanSC left 06:04 dataf3l left 06:05 dataf3l joined 06:07 dataf3l left 06:08 dataf3l joined 06:10 dataf3l left 06:11 dataf3l joined 06:13 dataf3l left 06:14 dataf3l joined 06:15 rburkholder left 06:18 dataf3l left 06:19 dataf3l joined 06:20 cyphase left
samcv u: { .uniprop('Line_break') eq 'SP' } 06:22
unicodable6 samcv, Found nothing!
samcv u: { .uniprop('Line_Break') eq 'SP' }
unicodable6 samcv, U+0020 SPACE [Zs] ( )
samcv ok 06:23
the linebreak property is colliding with the 'Space' property
because it has SP aliased to Space which then lowercases to space
and i hate everything :)
u: { .unimatch('Space') } 06:24
unicodable6 samcv, U+0020 SPACE [Zs] ( )
06:25 cyphase joined 06:28 dataf3l left, dataf3l joined
samcv u: { .uniprop('Greek') } 06:30
unicodable6 samcv, U+0000 NULL [Cc] (control character)
samcv, U+0001 START OF HEADING [Cc] (control character)
samcv, U+0002 START OF TEXT [Cc] (control character)
06:30 pierre_ joined
samcv uhm 06:30
m: 0.uniprop('Greek').say 06:31
camelia rakudo-moar a7bf1e: OUTPUT«Common␤»
samcv uh
u: { .uniprop-bool('Greek') }
maybe it will be easier just to rename that Moar function for now and work around it… 06:32
06:32 dataf3l left 06:33 dataf3l joined
unicodable6 samcv, U+0000 NULL [Cc] (control character) 06:35
samcv, U+0001 START OF HEADING [Cc] (control character)
samcv, U+0002 START OF TEXT [Cc] (control character)
06:35 pierre_ left
notviki ummm 06:35
No idea why this email was sent to *me*... Something about GTK-Simple: gist.github.com/zoffixznet/4a0d3b1...93080acd3f
06:36 bjz joined
samcv :\ 06:36
06:38 dataf3l left 06:39 dataf3l joined, bjz left
samcv m: ' '.unimatch('space').say 06:41
06:41 dataf3l left
camelia rakudo-moar a7bf1e: OUTPUT«True␤» 06:41
samcv m: ' '.unimatch('White_Space').say
camelia rakudo-moar a7bf1e: OUTPUT«True␤»
06:42 dataf3l joined 06:44 lustlife joined, dataf3l left 06:46 dataf3l joined 06:48 bjz joined, dataf3l left 06:49 dataf3l joined 06:51 dataf3l left 06:52 dataf3l joined 06:54 darutoko joined, dataf3l left 06:56 dataf3l joined, tojo left 06:58 dataf3l left 06:59 dugword joined, dugword left, dataf3l joined 07:00 dugword joined, BenGoldberg left 07:04 dataf3l left 07:05 dataf3l joined
samcv i was right. it is colliding with linebreak 07:06
07:06 dataf3l left
samcv maybe jnthn will know why ' ' ~~ /<:space>/ doesn't work when it's fixed :\ 07:07
i would think it would just read the property but
well the only difference is Line_Break is an enum not a bool property in moarvm 07:08
07:08 dataf3l joined, dataf3l left
samcv notviki, if i just change the line that is in propertyVALUE aliases.txt from Space to like 'pace' 07:09
it also breaks it
' ' ~~ /<:space>/ that is
07:10 pierre_ joined 07:11 Tonik joined, CIAvash joined
dugword m: say 2 07:21
camelia rakudo-moar a7bf1e: OUTPUT«2␤»
07:31 labster left 07:34 skids left 07:42 lustlife left 07:46 tojo joined, wamba joined, Tonik left 08:00 domidumont joined 08:04 domidumont left, labster joined 08:05 domidumont joined 08:34 RabidGravy joined 08:37 kalkin-_ left 08:45 astj joined, dugword left
moritz \o 08:52
yoleaux 02:22Z <AlexDaniel> moritz: Hey! I cannot parse json clog from 2016-01-10 using JSON::Tiny… Since both seem to be maintained by, perhaps you can take a look? It is associated with combining characters I think
02:22Z <AlexDaniel> moritz: here's the json file: gist.githubusercontent.com/AlexDan...01-10.json
samcv this is going to be fun moritz
i am guessing it has degenerates in it
so you may want to process it as a str instead of Str
if possible
08:53 Wanderer68 left
samcv *degenerates* = graphemes which don't make sense in real life, like a combining character and some other character that it doesn't go with 08:53
moritz str has the same NFG semantics as Str 08:54
so I'd have to process it as Uni
samcv oh
moritz which I *really* don't fancy
samcv me either :<
moritz, can you move converting from \u to the actual codepoint as late as possible? 08:56
oh it looks like it just doesn't have \u stuff it has just some weird characters in it 08:57
moritz I've golfed it, and will open an issue with that 08:58
no time to debug it today
samcv kk
is it a problem with perl 6 or with the module?
moritz no idea yet
samcv i'm curious, let me know what you find 08:59
moritz since perl 6 is better tested than the module, I assume it's the module's fault for now
samcv weird things happen with degenerates though
moritz .tell AlexDaniel I've opened github.com/moritz/json/issues/25 for you 09:04
yoleaux moritz: I'll pass your message to AlexDaniel.
09:04 rurban joined 09:05 rurban left
pierre_ hi! 09:17
does anyone have any issue with zef
?
i built rakudo using rakudobrew this morning, and the rakudobrew build zef is failing 09:18
09:19 ced_ joined
pierre_ gist.github.com/pierre-vigier/4b34...d23cccc225 09:24
09:31 stonebricks joined, djbkd left 09:34 stonebricks left 09:43 g__k__ joined
astj hi pierre_, what is your rakudo/moarvm version? (output of `perl6 --version`). Just now I tried `rakudobrew build moar; rakudobrew build zef` and succeeded to install. 09:54
09:55 rindolf joined
pierre_ This is Rakudo version 2016.12-107-ga7bf1ea built on MoarVM version 2016.12-6-g65acd55 09:57
i'm on mac os x
10.12.1
astj Hmm, Mine is `This is Rakudo version 2016.12-108-g005166eed built on MoarVM version 2016.12-6-g65acd555` and on osx 10.12.2. 09:58
diff. github.com/rakudo/rakudo/compare/a....005166eed 09:59
RabidGravy I think it may have been bitten by the "lexical use" thing, the symbol BEFORE isn't defined (and in that particular syntactic context you get the goobling block message)
10:00 xtreak left
RabidGravy so likely the fix is to "use" the module that defines BEFORE in the file that gives the error 10:00
10:02 xtreak joined 10:05 rurban joined 10:06 bjz_ joined, rurban left, bjz left
astj Hmm, weird. Zef.pm6 exports `BEFORE` and Zef::CLI actually includes `use Zef`. And I downgrade my rakudo to a7bf1ea but I couldn't reproduce the problem. 10:08
10:23 Wanderer68 joined
stmuk_ 33c3 streams up 10:27
hopefully no p5 hate this year :/ 10:28
dalek c: e56a06a | (Douglas Jenkins)++ | doc/Language/traps.pod6:
Fixed typo in "Traps". Changed variable name "$arg" to "$list" so that it matches the declaration above it.
10:29
c: de3ff66 | RabidGravy++ | doc/Language/traps.pod6:
Merge pull request #1083 from dugword/bugfix/typo-in-traps

Fixed typo in "Traps". Changed variable name.
synopsebot6 Link: doc.perl6.org/language/traps
RabidGravy that's a bit noisy 10:31
10:33 lukaramu joined 10:34 astj left, astj joined 10:39 astj left 10:40 astj joined 10:53 pierre_ left, FROGGS_ left, pierre_ joined, susmus joined 10:55 pierre_ left, pierre_ joined 10:57 pierre_ left, pierre_ joined 11:00 rafaschp joined 11:01 pierre_ left 11:04 TEttinger left 11:06 wamba left 11:24 rburkholder joined 11:30 labster left 11:37 pyrimidine left 11:40 rurban joined 11:41 cyphase left 11:43 rurban left 11:45 rpburkholder joined 11:46 cyphase joined 11:47 wamba joined 11:48 rurban joined 11:49 Woodi joined, rburkholder left 11:52 xtreak left 11:53 wamba left 12:02 kalkin- joined
kalkin- hi 12:03
is there a reason why the return type of a sub can be declared in 4 different ways? 12:04
lizmat hysterical raisins ? 12:05
.oO( the return type of a sub can be declared in 4 different ways, is there a reason for that? )
12:09
rightfold m: say($_ + 1 with 5) 12:11
camelia rakudo-moar 340bc9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in argument list; couldn't find final ')' ␤at <tmp>:1␤------> 3say($_ + 1 with 7⏏055)␤»
12:12 tojo left
rightfold m: say(do with 5 { $_ + 1 }) 12:12
camelia rakudo-moar 340bc9: OUTPUT«6␤»
rightfold m: say(do with Int { $_ + 1 })
camelia rakudo-moar 340bc9: OUTPUT«()␤»
rightfold coolio
12:13 wamba joined 12:14 cyphase left, iH2O joined 12:15 pyrimidine joined
jnthn kalkin-: The my TypeName ... form just falls out of how scoped declarations are parsed. The --> form in a signature is distinct in that it lets you specify values, not just types. And `returns` is a more communicative synonym for `of`. 12:15
(And the `of` form is because a sub that returns something of a certain type works via the same mechanism as typed arrays etc. work) 12:16
lizmat m: sub a(--> 42) { say "foo" }; say a
camelia rakudo-moar 340bc9: OUTPUT«foo␤42␤»
kalkin- jnthn thanks for the explanation.
jnthn It's possible there's one too many. :-) Personally I only used `returns` and `-->` :) 12:17
12:17 iH2O left 12:19 tojo joined, cyphase joined
kalkin- sub f(--> 42) {say <f>}; sub a(--> f) { sah "ASD" }; sah a 12:21
12:22 ChoHag left 12:25 tojo left
El_Che "Perl 6 has many ways to specify a function's return type" :) 12:28
from the doc 12:29
I like the "returns" one
maybe the subtilities could be documented here: docs.perl6.org/language/functions ? 12:30
rightfold > Attempting to return values of another type will cause a compilation error.
s/will/may/
12:31 rburkholder joined
El_Che I love compile time errors :) 12:31
12:31 espadrine joined 12:32 Ven joined 12:33 rpburkholder left 12:34 tojo joined 12:35 bjz joined
El_Che jnthn: what do you mean by "--> can return values" (instead of types)? predefined constant-like values? What the use-case? 12:36
12:36 bjz_ left
jnthn --> Nil is the most common one 12:37
12:38 rurban left 12:40 rurban joined
El_Che camelia: sub foo returns Nil { Nil }; foo() 12:42
p6: sub foo returns Nil { Nil }; foo()
camelia ( no output )
12:45 wamba left 12:46 tojo left 12:47 kurahaupo joined
RabidGravy "♫ refactoring we will go ... ♫" 12:48
AlexDaniel kalkin-: IIRC, TimToady wants to kill returns and of 12:51
yoleaux 09:04Z <moritz> AlexDaniel: I've opened github.com/moritz/json/issues/25 for you
AlexDaniel moritz: thanks
kalkin- AlexDaniel i think this will simolify things, but i got used to using returns 12:52
but having --> inside () isnt as declarative as using returns 12:53
AlexDaniel why not? That's your signature
12:54 telex joined
tbrowder .tell JJMerelo i'm happy to use 12:57
yoleaux tbrowder: I'll pass your message to JJMerelo.
12:57 rafaschp left, rafaschp_ joined 12:58 kalkin- left
RabidGravy returns is just a Code trait you can make it go away in your own code any time you want 13:00
tbrowder .tell JJMerelo i'm happy to make my fork more usable, but i am NOT a lisp-literate person, either; would be great to hear more from henrik about his plans
yoleaux tbrowder: I'll pass your message to JJMerelo.
RabidGravy however I actually prefer it most cases to --> as in my mind it's not enough part of the signature to give it pride of place 13:02
13:07 stonebricks joined 13:09 cyphase left, stonebricks left
El_Che I don't think a lot of people use "of" (it looks out of place inmo). I like how returns stand out and is exactly where I expect it (from other languages mostly). 13:09
RabidGravy I don't think I have *ever* used "of" 13:10
but yes I like the way it stands out 13:11
El_Che I meant returns stand out 13:12
but it also the case for of :)
let's hope the language cleanup doesn't results in a python 2 - 3 thing :)
13:13 rafaschp_ left, cyphase joined 13:15 espadrine left 13:16 espadrine joined
AlexDaniel well, we've already switched to --> in the documentation 13:19
perhaps we should start saying that “of” and “returns” is not recommended
El_Che I dislike "-->" (<-- ugly ascii art), but i'd prefer ugly consistency wih <-- instead of too many alternatives, indeed 13:22
AlexDaniel ⇒ would be better, I guess :) 13:23
13:24 pyrimidine left, mr-foobar left
El_Che AlexDaniel: hehe :) 13:24
AlexDaniel ah no… => is ⇒
⇢ perhaps 13:25
El_Che (on I similar note, I dislike the "<-" golang channel systax for the same reason) 13:26
13:27 dataf3l joined 13:32 rurban left 13:33 rurban joined 13:34 rurban1 joined 13:38 rurban left
RabidGravy Why would you say that "returns" is not recommended? 13:39
13:39 rburkholder left
RabidGravy El_Che, I meant "returns" stands out, not "of", sorry if I was being unclear 13:40
El_Che RabidGravy: I am a returns fan :)
(aka: that's what I use)
it feels in place with the declarative OO keyswords (has) and traits 13:42
RabidGravy yes
El_Che making Perl6 very "readable" in my view
It may be an huge exageration, but "-->" remind me of Perl 5's magic variables 13:47
(handy, not very styleful)
AlexDaniel ok clog is down
geekosaur admits to not being very fond of either returns/of or -->, but the latter at least stands out as indicating something different from the rest of the signature 13:48
rightfold the only thing I don't like about --> is that it's inside the parentheses 13:49
but *
AlexDaniel RabidGravy: is this reason good enough for you? ;) colabti.org/irclogger/irclogger_log...2-03#l1138
geekosaur whereas of/returns just looks like another trait and I have to parse it more fully to recognize it's telling me the result type
13:50 Rawriful joined
geekosaur rightfold, that too, but it *is* part of the signature so I'm willing to accept that 13:50
RabidGravy AlexDaniel, not really, I disagree
rightfold leaves the bikeshed and gets back to work
13:50 wamba joined 13:54 Axord joined, azertus_ joined 13:55 MasterDukeLaptop joined, bjz left
timotimo i'm wearing camelia in front of my chest now 13:57
it could very well be a conversation starter
also, i'm allowed to say "my eyes are up here" now %)
geekosaur aaaand I have just realized why the --> inside the parens seems wrongish while still making sense. 13:59
I'm thinking in Haskell.
timotimo %) 14:00
geekosaur the key is: in Haskell, the return type is indeed part of the signature, including that things can be polymorphic in their return type
rightfold is ff a special operator? 14:01
as in special-cased by the compiler?
geekosaur (which most languages can't do; they can only pick a type instance based on parameters)
rightfold I think so: github.com/rakudo/rakudo/blob/b01d....nqp#L6799 but I am not sure
geekosaur thing is, perl 6 is one of those "most languages" --- I cannot, to my understanding, choose a multi based solely on the return type. so, to that extent, having the --> be inside the parens is telling a lie 14:02
AlexDaniel
.oO( what about allowing --> outside the parens… /o\ )
geekosaur that is actually what I am considering
samcv i will be sad. but i did fix this bug
m: say "\0".uniname
camelia rakudo-moar 4724bd: OUTPUT«NULL␤»
samcv soon it will say <control-0000>
AlexDaniel eval: say "\0".uniname 14:03
samcv well. just bumped the rakudo/nqp for my change to moar
AlexDaniel evalable6: help
evalable6 AlexDaniel, Like this: evalable6: say ‘hello’; say ‘world’
AlexDaniel evalable6: say "\0".uniname
14:03 unicodable6 left
AlexDaniel I broke something! 14:04
samcv sure did
AlexDaniel committable6: HEAD say 42
samcv u: U+000
broke everything
been broken for a bit
14:05 Poxybowsy joined
AlexDaniel ya I know, it's my fault… I've been doing something scary here :) 14:05
samcv haha
AlexDaniel committable6: HEAD say 42 14:06
committable6 AlexDaniel, ¦«HEAD»: 42
AlexDaniel \o/ 14:07
I would love to know how this happened though…
eval: say "\0".uniname
evalable6 AlexDaniel, rakudo-moar a7bf1ea: OUTPUT«NULL»
AlexDaniel u: U+000
ah right 14:08
14:08 unicodable6 joined, ChanServ sets mode: +v unicodable6
AlexDaniel u: U+000 14:08
unicodable6 AlexDaniel, U+0000 NULL [Cc] (control character)
samcv did you rebuild moar?
14:08 MasterDukeLaptop left
samcv or whatever nqp and rakudo now all depend 14:08
idk how you build it prolly automatically 14:09
also pleasssee make it so i can bisect more things
14:09 Poxybowsy left
AlexDaniel samcv: by more things you mean what? 14:10
geekosaur rightfold, I'm not sure what you mean by special cased? both parameters are thunked, certainly
samcv more commits
AlexDaniel you want to bisect moar and nqp?
samcv no
AlexDaniel samcv: 2015.07 is not enough? :O
samcv but what if they are the same a year ago and today 14:11
i want a bisectable that can like
do like more even if like it sees them both the same
bisect some more times between them anyway
AlexDaniel well, you can always try with old=2015.07
the reason why we didn't go any further is that anything pre-glr is not relevant anymore 14:12
samcv bisectable6, old=2015.07 say "test"
bisectable6 samcv, On both starting points (old=2015.07 new=a7bf1ea) the exit code is 0 and the output is identical as well
samcv, Output on both points: test
14:12 cyphase left
geekosaur rightfold, also I see it in %specials github.com/rakudo/rakudo/blob/b01d....nqp#L6221 so I guess "yes"? 14:12
samcv bisectable6, old=2014.07 say "test"
bisectable6 samcv, On both starting points (old=2014.07 new=a7bf1ea) the exit code is 0 and the output is identical as well
samcv, Output on both points: test
samcv i can go earlier? yayyy!
it is relevant to me AlexDaniel
AlexDaniel so if it worked in 2015.05 nobody really cares, because after GLR the behavior probably changed anyway (so bisecting like this will not give any meaningful result)
samcv i care :( 14:13
not for most things but for this
AlexDaniel samcv: the thing with 2014.07 is that it has a build for every tag, but not for every commit that old
geekosaur is also finding all the nqp::mumble annoying enough to contemplate NQP quasiquoters >.>
samcv that's ok
AlexDaniel committable6: 2014.07 say ‘hello’
committable6 AlexDaniel, gist.github.com/1bd7b740a352891371...1bbb91bde5
AlexDaniel committable6: 2014.07 say 'hello'
committable6 AlexDaniel, ¦«2014.07»: hello
samcv m: say Rakudo::Internals.PROPCODE('space'); say Rakudo::Internals.PROPCODE('White_Space'),
camelia rakudo-moar 9594a3: OUTPUT«23␤92␤»
AlexDaniel committable6: 2014.07^ say 'hello'
committable6 AlexDaniel, ¦«2014.07^»: No build for this commit
samcv bisect: old=2014.07 say Rakudo::Internals.PROPCODE('space'); say Rakudo::Internals.PROPCODE('White_Space'), 14:14
bisectable6 samcv, Bisecting by exit code (old=2014.07 new=a7bf1ea). Old exit code: 1
rightfold geekosaur: not a regular infix: sub
bisectable6 samcv, bisect log: gist.github.com/d5b4cf10ce51a37b48...f1671abcc2
samcv, (2015-11-10) github.com/rakudo/rakudo/commit/d2...c1b8c8fd87
AlexDaniel samcv: not sure what's ok about this, because bisectable will say that one of the 500 commits could be the reason :)
samcv well.
mostly caring about any updates to unicode database in mooar
AlexDaniel then why not commit: all … ? 14:15
commit: all say Rakudo::Internals.PROPCODE('space'); say Rakudo::Internals.PROPCODE('White_Space'),
samcv uh
does that even woerk
it didn't before :(
committable6 AlexDaniel, gist.github.com/f32e2ff8873c22b147...1353db7c2b
AlexDaniel it runs it on all tags, which is what you might want to get the general picture 14:16
RabidGravy geekosaur, yes the point about the return type of a routine not being used for the purposes of multiple dispatch is one reason why I prefer "returns"
El_Che rightfold: consistency is not really bikeshedding. (It's not about choice: in mose cases it's the same thing with a different syntax)
14:16 itcharlie_linux left
samcv bisectable6, all say nqp::unipropcode('space'); say nqp::unipropcode('White_Space') 14:17
14:17 cyphase joined
bisectable6 samcv, On both starting points (old=2015.12 new=a7bf1ea) the exit code is 1 and the output is identical as well 14:17
samcv, gist.github.com/a930a7cf7badb25712...c9fe81928f
samcv bisectable6, all use nqp; say nqp::unipropcode('space'); say nqp::unipropcode('White_Space')
bisectable6 samcv, On both starting points (old=2015.12 new=a7bf1ea) the exit code is 1 and the output is identical as well
samcv, gist.github.com/0328a10d673adf0fb1...f63c5f4072
El_Che doing a walk with the kids. Laters
samcv what
i did use nqp
bisectable6, use nqp; say nqp::unipropcode('space'); say nqp::unipropcode('White_Space')
bisectable6 samcv, Bisecting by output (old=2015.12 new=a7bf1ea) because on both starting points the exit code is 0
samcv see
all is bad
bisectable6 samcv, bisect log: gist.github.com/e5dec60bf0646c233c...1ebf522d49
samcv, (2016-09-28) github.com/rakudo/rakudo/commit/2c...1838332c21
samcv breaky breaky
bisectable6, old=2015.02 use nqp; say nqp::unipropcode('space') == nqp::unipropcode('White_Space') 14:18
bisectable6 samcv, On both starting points (old=2015.02 new=a7bf1ea) the exit code is 0 and the output is identical as well
samcv, Output on both points: False
samcv yeah i thought the bug has been in for like
since 2012
bisectable6, old=2012.02 use nqp; say nqp::unipropcode('space') == nqp::unipropcode('White_Space') 14:19
bisectable6 samcv, No build for revision “2012.02”
samcv bisectable6, old=2013.02 use nqp; say nqp::unipropcode('space') == nqp::unipropcode('White_Space')
bisectable6 samcv, No build for revision “2013.02”
samcv bisectable6, old=2014.02 use nqp; say nqp::unipropcode('space') == nqp::unipropcode('White_Space')
bisectable6 samcv, Bisecting by exit code (old=2014.02 new=a7bf1ea). Old exit code: 1
AlexDaniel no-no all is only for committable
samcv oh
committable6, all use nqp; say nqp::unipropcode('space') == nqp::unipropcode('White_Space') 14:20
committable6 samcv, gist.github.com/0e4ee25f37bab4b06e...2eb182731c
samcv thank you committable6
AlexDaniel it will take some time for bisectable to get back with the result, but you'll probably see the issue :)
samcv m: "\0".uniname.say
camelia rakudo-moar 9594a3: OUTPUT«<control-0000>␤»
samcv :(((((
i will miss the incorrect functionality before
:P 14:21
m: "\x[05]".uniname.say
camelia rakudo-moar 9594a3: OUTPUT«<control-0005>␤»
14:21 pyrimidine joined
samcv unicode 1 names are coming soon tho AlexDaniel 14:21
don't worry
i am on it 14:22
bisectable6 samcv, bisect log: gist.github.com/0fac2132bafffa47c2...9e7122147e
samcv, ‘bisect run’ failure
AlexDaniel samcv: and by the way, 2014.01 is the first rakudo on moar release
samcv oh k
well.
2012 is a long time ago
lizmat samcv: after a pull and a rebuild, S02-literals/char-by-name.t doesn't compile anymore 14:23
Unrecognized character name LINE FEED (LF)
line 16
samcv yep
that is expected 14:24
the test must be changed
because it only has a name in unicode 1.0
AlexDaniel .u U+05
yoleaux U+002B PLUS SIGN [Sm] (+)
U+0030 DIGIT ZERO [Nd] (0)
U+0035 DIGIT FIVE [Nd] (5)
AlexDaniel .u U+0005
samcv it is sad, i know
yoleaux U+0005 ENQUIRY [Cc] (␅)
samcv :(
lizmat do we have an RT for this ? 14:26
samcv for what?
the two bugs i fixed?
14:26 rurban joined
samcv or uh. that not compiling? 14:26
lizmat m: say "\c[LINE FEED (LF)]"
camelia rakudo-moar 9594a3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized character name LINE FEED (LF)␤at <tmp>:1␤------> 3say "\c[LINE FEED (LF)7⏏5]"␤»
samcv or should \c fall back to unicode 1 names?
14:27 cyphase left
samcv or is that not specified 14:27
because that character has no name
lizmat well, if someone had code using this, this update would have broken that person's code
AlexDaniel samcv: is there any explanation for all this stuff somewhere?
lizmat and that feels like a bad thing to me
AlexDaniel samcv: because I'm slightly confused. Were some characters renamed in one of the unicode versions?
samcv the names were removed like
10 years ago
maybe more 14:28
lizmat that may be true, but code that worked yesterday, is now broken
samcv S02 doesn't specify falling back to unicode 1 names
that is true
lizmat 6 test files that won't compile anymore
and 1 test file with 2 TODO tests passing 14:29
samcv should the spec be changed to specify that we fallback to unicode 1 names if it can't find one for unicode current?
and revert it until proper unicode 1 name support?
that is fine with me if that is what we want to do
lizmat well, first I think you need to get some sleep :-) 14:30
14:30 rurban1 left
timotimo now she's on my back 14:30
lizmat
.oO( good thing Camelia is not a monkey )
[ptc] lizmat++ : p6weekly
14:30 MasterDukeLaptop joined 14:31 cyphase joined
lizmat fwiw, feels to me falling back to unicode 1 names if cannot be found in current, is a good temporary solution 14:33
afk again& 14:34
14:36 espadrine left 14:37 espadrine joined
samcv though it looks like those Line feed tests were already skipped 14:41
but for a different reason i guess 14:42
TimToady, what do you say? should "\c[LINE FEED]" fallback to unicode 1 name? 14:43
14:43 cyphase left
samcv and why should "\c[LF]" work. when the unicode 1 name is LINE FEED (LF) 14:44
14:45 espadrine left 14:46 pmurias joined
pmurias is something wrong with the irc log? 14:47
MasterDukeLaptop pmurias: noticed that too
14:48 cyphase joined 14:54 rurban left
samcv Unicode previously included 128 characters, now deprecated, for language tags. These characters essentially mirrored the 128 ASCII characters but were used to identify the subsequent text as belonging to a particular language according to BCP 47. For example, to indicate subsequent text as the variant of English as written in the United States, the initiating ‘Language Tag character’ (U+E0001) followed by the sequence ‘Tag Small Lett 14:55
er e’ (U+E0065), ‘Tag Small Letter n’ (U+E006E), ‘Tag Hyphen-minus’ (U+E002D), ‘Tag Small Letter u’ (U+E0075) and ‘Tag Small Letter s’ (U+E0073) would have be used.
These language tag characters would not be displayed themselves. However, they would provide information for text processing or even for the display of other characters. For example the display of Unihan ideographs might have substituted different glyphs if the language tags indicated Korean than if the tags indicated Japanese.
wow. hahah
AlexDaniel pmurias: yes. I guess you can use this for now: colabti.org/irclogger/irclogger_log...2016-12-27
14:56 cyphase left
AlexDaniel samcv: wow, well. I wonder if they considered including for loops in unicode or something… 14:57
samcv well luckily they scrapped the idea and just added more symbols 14:58
it doesn't sound like it was ever used in practice much
15:01 cyphase joined 15:03 stmuk joined, pmurias left 15:05 dataf3l left 15:06 mr_ron joined 15:07 dataf3l joined 15:16 khw joined
dataf3l Hi guys! 15:16
[ptc] o/ 15:19
dataf3l what is the best way to get Hash to behave like Python’s OrderedDict or PHP’s array () ? (hash keys returned as inserted?) 15:22
15:27 effbiai joined 15:29 nicq20 joined
dataf3l Guys? 15:31
15:32 mr-foobar joined
dataf3l oh well, I guess you are all busy with vacations and stuff 15:32
samcv how do those behave?
dataf3l when I add into them, the order of insertion is preserved somewhere
so when I get data from them, the same order is guaranteed
in Hash, no order is guaranteed 15:33
but I don’t want to pass a Hash AND a list of ordered fields arround all the time
I just want to pass, like, a SortedHash
or maybe a OrderedHash? 15:34
samcv oh
JimmyZ how about Set in array? 15:35
samcv what are you using the hash for?
what about an array which contains hashes
or do you need to be able to access the first level keys 15:36
AlexDaniel huggable: xy problem 15:38
huggable AlexDaniel, You want to do X, but don't know how. You think you can solve it using Y, but don't know how to do that, either. So, you ask about Y in order to solve X, which doesn't make sense. You should ask about X.
mspo baghash might do it? 15:40
AlexDaniel don't think so
dataf3l ok, I’ll try to explain the problem so the xy problem situation goes away 15:42
I’d like to have Datastructure, let’s call it X, 15:43
I should be able to:
get and set elements on X, in an associative manner i.e. $a = X.new ; $a<element> = value, $a{$element} = value
also, I’d like to iterate on said element, in order to get the stuff I put in. 15:44
for $a -> $pair {say $pair.key, $pair.value}
15:44 cyphase left
AlexDaniel so far sounds like a Hash 15:44
dataf3l also, i’d like to get the elements out of the for, in the same order i put them in
15:45 regnarg joined
dataf3l I agree, it is almos 99% like Hash, except, I need the order, since my users see the list of fields on a table on a crud on the web, and the Array of Hash es i’m using is right now kinda not in order, which is annoying 15:45
so, Ideally, this datastructure could be used in place of hash
AlexDaniel sorting the elements by keys or values is not an option, right?
dataf3l I don’t feel that’s the right way to do it, since the field’s original order, preserves the original semantics of the table 15:46
and the table in the database has a pretty specific order, which is the same as the phisical form order
so I’d like my order to be preserved, but I don’t think it’s a good idea to pass arround 2 things, the array with the order AND the values in a hash 15:47
if perl6 doesn’t have said thing, I’ll just implement it and call it sortedhash
AlexDaniel dataf3l: what about github.com/zostay/perl6-ArrayHash ? 15:48
15:49 cyphase joined
AlexDaniel I wonder if it's something we should provide 15:50
dataf3l don’t wonder, people like their stuff sorted! 15:51
that’s for sure
100%
at least consider it in order to appeal to the wider PHP programmer demographic
which is kinda used to PHParrays (which behave like hashes, but preserve insertion order) 15:52
I think ArrayHash looks like what I need.
I’ll try it out, thank you AlexDaniel for your kind help
AlexDaniel one thing is sorted, another thing is insertion order. I've used OrderedHash (or whatever it was called) in python once in my life, though I don't remember why. The question is whether it is common enough to justify the inclusion 15:54
after all, we have Bags and Mixes and stuff
so why not OrderedHash 🤷 15:55
I'd say let's wait till ArrayHash API stabilizes, then we'll talk :)
15:59 newbie1 joined
mspo undocumented ArrayHash? 15:59
AlexDaniel mspo: ? 16:01
16:02 domidumont left
mspo AlexDaniel: oh I missed the link 16:02
16:02 ZzZombo left
mspo I was thinking an array of Pairs would be a good thing to try too 16:03
16:05 pierre_ joined
tbrowder AlexDaniel: ref returns, see docs <docs.perl6.org/type/Signature#Cons..._Types> where we recommend the --> form and why; perhaps that needs more emphasis and also put it in the functions description 16:06
AlexDaniel Yea, I remember. github.com/perl6/doc/issues/1024 was the issue 16:09
it already warns that “returns” may be removed in the future, so I guess there's no problem 16:10
CIAvash "the returns form is planned for future removal" the decision is already made? 16:11
16:12 japhb_ joined
AlexDaniel CIAvash: no, but: colabti.org/irclogger/irclogger_log...2-03#l1138 16:12
in other words, yes 16:14
CIAvash I am aware of that, but I thought Perl 6 is community driven? Only its development is?
16:14 japhb_ left
AlexDaniel CIAvash: do you have any good reasons to oppose the removal? 16:15
it's all just talk at this point anyway, but still
huggable: 6.d
huggable AlexDaniel, Proposals for 6.d language: github.com/perl6/specs/blob/master/v6d.pod
AlexDaniel it's not even in the list
16:17 dugword joined
CIAvash Like others I think it's easier to read. So if readability is important, it can be a good reason to keep it. 16:18
AlexDaniel at this point it is less useful than -->
m: sub foo ( --> 42) { }; say foo
camelia rakudo-moar 9594a3: OUTPUT«42␤»
AlexDaniel m: sub foo ( ) returns 42 { }; say foo
camelia rakudo-moar 9594a3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed trait␤at <tmp>:1␤------> 3sub foo ( ) returns7⏏5 42 { }; say foo␤»
16:19 susmus left
CIAvash does that mean returns cannot do what --> does? I mean technically? 16:20
16:20 susmus joined
AlexDaniel notviki: RT #130412 is for you I think 16:24
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130412
AlexDaniel CIAvash: yes
El_Che p6: sub foo (--> 42) {}; foo() 16:25
camelia ( no output )
El_Che (however, I don't see the case for that)
AlexDaniel the case for what?
why would anyone want this? 16:26
El_Che the extra functionality of --> (values next to Type) in comparison with "returns"
AlexDaniel m: multi fib (0 --> 0) {}; multi fib (1 --> 1) { }; multi fib ($n) { fib($n - 1) + fib($n - 2) }; say fib(5)
camelia rakudo-moar 9594a3: OUTPUT«5␤»
El_Che I am pretty sure someone more knowledgable will give a good example :)
AlexDaniel m: multi fib (0 --> 0) {}; multi fib (1 --> 1) { }; multi fib ($n) { fib($n - 1) + fib($n - 2) }; say fib(20)
camelia rakudo-moar 9594a3: OUTPUT«6765␤»
El_Che there you go :) 16:27
AlexDaniel arguably multi fib (0) { 0 } is not that bad too, maybe there are better examples 16:28
16:32 cyphase left
tbrowder ref perl6 emacs mode: anyone know henrik? perhaps we could fork his project into perl6 domain same as atom stuff? then it would maybe get more visibility and love! 16:32
AlexDaniel tbrowder: if you are ready to work on it, yes 16:33
otherwise forking probably makes no sense
just because it will be under perl6 organization does not mean it will get more love
16:34 rafasch joined
tbrowder well, i'm almost the only one who has, but my PR has been ignored by henrik. i am using my mods, but need lisp experts to at least critique the code 16:34
AlexDaniel there's also sena_kun who may be interested 16:36
tbrowder there are several features i would like to add including a unicode char map for easy refernce and insertion
AlexDaniel hmmm 16:37
16:37 cyphase joined
tbrowder right, sena_kun i believe made helpful comments and suggestions to my PR 16:37
AlexDaniel do it then?
16:38 rurban joined
AlexDaniel I wonder what's supposed to happen with MELPA and other stuff that points to the older version 16:38
but until we actually have some progress it's probably too early to discuss
tbrowder sorry, syohex was the good helper, and the owner is hinrik; i don't know the ins and outs of the emacs ecosystem, but the emacs folks are in general very helpful 16:43
i will fork the repo within a few days and reapply my PR for review 16:44
CIAvash AlexDaniel: El_Che raised a good point, do we know the benefits of returning values(and variables)? Is it documented somewhere? 16:48
AlexDaniel CIAvash: as for the docs, they are here: docs.perl6.org/type/Signature#inde...turn_Types
now how useful that is… I don't know! 16:49
bisect: sub foo(--> 123) { }
bisectable6 AlexDaniel, On both starting points (old=2015.12 new=9594a3e) the exit code is 0 and the output is identical as well
AlexDaniel, Output on both points:
AlexDaniel bisect: old=2015.10 sub foo(--> 123) { }
bisectable6 AlexDaniel, On both starting points (old=2015.10 new=9594a3e) the exit code is 0 and the output is identical as well
AlexDaniel, Output on both points:
AlexDaniel commit: all sub foo(--> 123) { }
committable6 AlexDaniel, gist.github.com/eb5d52290b2afd0c68...7666c2ea34 16:50
AlexDaniel bisect: old=2015.09 sub foo(--> 123) { }
bisectable6 AlexDaniel, Bisecting by exit code (old=2015.09 new=9594a3e). Old exit code: 1
AlexDaniel, bisect log: gist.github.com/7377579aa5efe4fa63...708acae34b
AlexDaniel, (2015-09-25) github.com/rakudo/rakudo/commit/de...44f09595cd
AlexDaniel CIAvash: it is kinda a new feature also 16:51
for example, there are probably not many rosettacode examples using it
MasterDukeLaptop benchable6: compare sub a(--> 4) {}; a() for ^1000000 ||| sub b() {4}; b() for ^1000000 16:54
benchable6 MasterDukeLaptop, ¦«sub»:Cannot find this revision
MasterDukeLaptop benchable6: compare HEAD sub a(--> 4) {}; a() for ^1000000 ||| sub b() {4}; b() for ^1000000 16:55
benchable6 MasterDukeLaptop, starting to benchmark the 1 given commit
MasterDukeLaptop, gist.github.com/2ae2e0d33c282a2da0...8540dcdeda
MasterDukeLaptop so 'sub b() {4}; b() for ^1000000' is almost twice as fast 16:56
timotimo oh, interesting
AlexDaniel dammit
17:04 espadrine joined 17:05 dugword left
El_Che wow 17:07
CIAvash "it[-->] also guarantees you know the return type before you start parsing traits, which might need that info" TimToady said this as one of the reasons 17:08
17:08 rurban left 17:09 skids joined, rurban joined 17:14 MasterDukeLaptop left
notviki AlexDaniel: well, it's not so much a regression. It's just you can't yet return negated values via --> and the only reason -Inf ever worked because it was a single term 17:19
AlexDaniel notviki: it was possible earlier, now it is not 17:20
notviki The fact that it was possible was a bug. Now it's fixed.
AlexDaniel ? :o 17:21
17:21 rurban left
AlexDaniel didin't you make -Inf work in signatures? 17:21
m: sub foo(-∞) {}; say foo
camelia rakudo-moar 9594a3: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤ in sub foo at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel m: sub foo(-∞) {}; say foo(-∞) 17:22
camelia rakudo-moar 9594a3: OUTPUT«Nil␤»
AlexDaniel so why can't it work with --> ?
b2gills The same reason it can't work with 「1+1」 17:23
AlexDaniel what are you talking about
b2gills m: say -> --> 1+1 {}()
camelia rakudo-moar 9594a3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed return value␤at <tmp>:1␤------> 3say -> --> 17⏏5+1 {}()␤»
b2gills m: say -> --> -Inf {}()
camelia rakudo-moar 9594a3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed return value␤at <tmp>:1␤------> 3say -> -->7⏏5 -Inf {}()␤»
b2gills m: say -> --> Inf {}()
camelia rakudo-moar 9594a3: OUTPUT«Inf␤»
AlexDaniel b2gills: so why can -Inf work in parameter constraints but cannot work for return constraints? 17:24
notviki AlexDaniel: because it's a different code path and no one fixed RT#130249 yet
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130249
notviki AlexDaniel: the only reason -Inf worked is due to a bug.
AlexDaniel rrrrrrrrrrrright
right 17:25
dunno then 17:26
17:26 dugword joined 17:28 captain-adequate joined
notviki m: sub (-NaN) {} 17:29
camelia ( no output )
b2gills m: constant f = BEGIN -Inf; say -> --> f {}() 17:30
camelia rakudo-moar 9594a3: OUTPUT«-Inf␤»
notviki AlexDaniel: dunno what?
17:31 nicq20 left
AlexDaniel notviki: IMO, just because perfectly sane code was working because of a bug does not mean that we can break it like that. But I don't have any solution to offer, so I guess it's ok… 17:32
notviki AlexDaniel: xkcd.com/1172/
dalek osystem: d47ffc6 | (Douglas Jenkins)++ | META.list:
Add FooBar to ecosystem. See github.com/dugword/Number-Bytes-Human
osystem: 7d27cd9 | (Douglas Jenkins)++ | META.list:
Updated META.info => META6.json
osystem: 5268865 | astj++ | META.list:
Merge pull request #275 from dugword/feature/new-module-number-bytes-human

Add Number::Bytes::Human to ecosystem.
AlexDaniel but you can always claim that it's not part of 6c so I guess it's not a big deal… :-/ 17:33
dugword Woo! First Perl6 module
notviki \o/
dugword++
AlexDaniel: the solution is to fix RT 130249 17:34
and -Inf will magically work again
AlexDaniel notviki: that I understand
notviki sub ($/) { 'foo'.match: /o/ }(42); is a perfectly sane code that was working due to a bug and no longer does. 17:36
AlexDaniel perfectly sane? This is some scary shit 17:39
notviki well
class Actions { method foo ($/) { 'foo'.match: /o/ } } 17:40
17:40 wamba left
notviki dugword: how come you don't export this multi? github.com/dugword/Number-Bytes-Hu...man.pm#L22 17:41
17:42 espadrine left
notviki huh 17:42
dugword: just by reading the code, this won't ever work: github.com/dugword/Number-Bytes-Hu...man.pm#L22 17:43
dugword Didn't think there was a use case for it from a user perspective and wanted a simple API. It's used internally to do the recursion
notviki Ah, I see
it works... but how 17:44
dugword The user calls `format-bytes($some-number)` which internally calls `format-bytes($some-number, 0)` and then recurses on that internal function 17:46
notviki dugword: but there's no candidate that can handle format-bytes($, Int)
m: multi foo ($) { foo $, 0 }; multi foo ($, :$) {}; foo 42 17:47
camelia rakudo-moar 9594a3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Calling foo(Mu, Int) will never work with any of these multi signatures:␤ ($) ␤ ($, $)␤at <tmp>:1␤------> 3multi foo ($) { 7⏏5foo $, 0 }; multi foo ($, :$) {}; foo 42␤»
17:47 dj_goku joined
b2gills dugword: just remove the 「:」 from line 22 to make it a positional rather than a named 17:49
dugword Oh, I see what you mean
notviki b2gills: that'd break the codepath in its guts that uses positional form
.say for &format-bytes.candidates 17:51
sub format-bytes ($bytes) { #`(Sub|44899360) ... }
sub format-bytes ($bytes, :$magnitude = 0) { #`(Sub|44899664) ... }
dugword I have a named parameter, and I use it as a named parameter on line 27, but use it as a positional parameter on line 19
notviki wtf...
dugword: the fact that it works is a bug. It should complain like my eval above
dugword Should that not work?
What version of Perl6 does this IRC bot use? 17:52
perl6 --version
This is Rakudo version 2016.11 built on MoarVM version 2016.11
implementing Perl 6.c.
notviki ooohhhh
wait
dugword That's my version
notviki no oh 17:53
Well, the "oh" is that the first multi never gets called, which is why the bug doesn't happen
dugword On line 18? multi format-bytes($bytes) is export(:functions) 17:54
That get's called by test tests
*by the tests
AlexDaniel m: say +combinations(10000, 10)
camelia rakudo-moar 9594a3: OUTPUT«2743355077591282538231819720749000␤»
AlexDaniel cool
notviki But then, I don't get why the above version croaks and not yours
oh no default 17:55
m: multi foo ($) { foo $, 0 }; multi foo ($, :$ = 42) {}; foo 42
camelia rakudo-moar 9594a3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Calling foo(Mu, Int) will never work with any of these multi signatures:␤ ($) ␤ ($, $ = 42)␤at <tmp>:1␤------> 3multi foo ($) { 7⏏5foo $, 0 }; multi foo ($, :$ = 42) {}; f␤»
notviki nope
dugword github.com/dugword/Number-Bytes-Hu...ions.t#L14
m: multi foo ($bar) {say 'one'}; multi foo ($bar, :$baz = 'baz') {say 'two'}; foo 42 17:57
camelia rakudo-moar 9594a3: OUTPUT«two␤»
notviki :S 17:58
m: multi foo ($) { foo $, 0 }; multi foo ($x, :$y = 42) {}; foo 42
camelia rakudo-moar 9594a3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Calling foo(Mu, Int) will never work with any of these multi signatures:␤ ($) ␤ ($x, :$y = 42)␤at <tmp>:1␤------> 3multi foo ($) { 7⏏5foo $, 0 }; multi foo ($x, :$y = 42) {};␤»
notviki m: multi foo ($z) { foo $, 0 }; multi foo ($x, :$y = 42) {}; foo 42
camelia rakudo-moar 9594a3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Calling foo(Mu, Int) will never work with any of these multi signatures:␤ ($z) ␤ ($x, :$y = 42)␤at <tmp>:1␤------> 3multi foo ($z) { 7⏏5foo $, 0 }; multi foo ($x, :$y = 42) {};␤»
dugword m: multi foo ($bar) {foo $bar, 0}; multi foo ($bar, :$baz = 'baz') {say 'two'}; foo 42
camelia rakudo-moar 9594a3: OUTPUT«two␤»
notviki why the hell my version crashes, yet yours goes straight for the second multi? 17:59
The Optimizer™
AlexDaniel m: 1.^methods.sort
dugword Should you not be able to use a named parameter as a positional parameter? Didn't realize I did that, but it seems to work.
camelia rakudo-moar 9594a3: OUTPUT«Method object coerced to string (please use .gist or .perl to do that)␤ in block <unit> at <tmp> line 1␤Method object coerced to string (please use .gist or .perl to do that)␤ in block <unit> at <tmp> line 1␤Method object coerced to string (pleas…»
notviki crap
AlexDaniel eval: 1.^methods.sort
evalable6 AlexDaniel, rakudo-moar 9594a3e: OUTPUT«Method object coerced to string (please use .gist or .perl to do that)␤ in block <unit> at /t…»
AlexDaniel, Full output: gist.github.com/6bc7101d437c46448d...10c9962718
notviki dugword: no, of course not. 18:00
dugword m: sub foo ($bar) {say $bar}; foo 'bar'
camelia rakudo-moar 9594a3: OUTPUT«bar␤»
notviki we need a camelia mode that uses --optimzie=off
dugword m: sub foo (:$bar) {say $bar}; foo 'bar'
camelia rakudo-moar 9594a3: OUTPUT«Too many positionals passed; expected 0 arguments but got 1␤ in sub foo at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
rafasch slowmelia 18:01
AlexDaniel notviki: I guess it will be added to whateverable one day
notviki Or just add it to camelia?
dugword notviki: I would think not, but it wouldn't be the first time I was caught off guard by some Perlish magic behavior 18:02
So this is a bug? I'll put in a bug report
notviki dugword: so basically, the multi you export never gets called (I guess when you export a multi, you export all candidates?) 18:03
ugexe pierre_: read the error message you are getting for zef closely. The error is zef is already installed. You said you "installed" rakudo but it would seem you meant "upgraded" because otherwise how could zef already be installed. So you upgraded rakudo to a version that had breaking changes for an older version of zef which you still had installed from previously
notviki dugword: if it were called, you'd trigger the throwage about no candidates to handle the second positional.
pierre_ hum, that's what i thought at one point,
so how can i "rebuild it" ? 18:04
notviki dugword: and strangely, the reason it throws it's due to the optimizer. If you turn it off it goes straight for the candidate with ($, :$) and so the faulty call never happens
ugexe zef --force install zef
dugword notviki: Oh, so when I call it with 1 argument it is calling the two argument signature because I defined a default value for it
notviki m: multi foo ($) { foo $, 0 }; multi foo ($x;; :$y = 42) {}; foo 42
camelia rakudo-moar 9594a3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Calling foo(Mu, Int) will never work with any of these multi signatures:␤ ($) ␤ ($x;; :$y = 42)␤at <tmp>:1␤------> 3multi foo ($) { 7⏏5foo $, 0 }; multi foo ($x;; :$y = 42) {}␤»
ugexe rakudobrew is a developers tool, its not intended to be the "easy" option
notviki dugword: it would do so without the default either, because by default named params are optional 18:05
dugword: if I change it to multi format-bytes($bytes, :$magnitude!) { then I do get the throwage I originally expected
ugexe git clone github.com/ugexe/zef && perl6 -Izef/lib zef/bin/zef install zef/
er --force install^ 18:06
dugword I see, so the weirdness is that it is calling the method I didn't export.
notviki dugword: that too
AlexDaniel bisect: say Dateish.is-leap-year(2016);
bisectable6 AlexDaniel, Bisecting by exit code (old=2015.12 new=9594a3e). Old exit code: 0 18:07
AlexDaniel, bisect log: gist.github.com/a5d27f4dc8010b42e8...0864b697ca
AlexDaniel, (2016-10-03) github.com/rakudo/rakudo/commit/f4...82376d6bdb
AlexDaniel notviki: what do you think about this ↑
notviki AlexDaniel: what?
m: say Dateish.is-leap-year(2016);
camelia rakudo-moar 9594a3: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤ in any at gen/moar/Metamodel.nqp line 1727␤ in block <unit> at <tmp> line 1␤␤» 18:08
AlexDaniel commit: 2016.09 say Dateish.is-leap-year(2016);
committable6 AlexDaniel, ¦«2016.09»: True
notviki Ah
AlexDaniel: it's showing the wrong commit
AlexDaniel: that multi was nixed because it's idiotic
AlexDaniel bisect: new=f4bda35^ say Dateish.is-leap-year(2016); 18:09
bisectable6 AlexDaniel, On both starting points (old=2015.12 new=f4bda35^) the exit code is 0 and the output is identical as well
AlexDaniel, Output on both points: True
notviki AlexDaniel: this is the right commit: github.com/rakudo/rakudo/commit/6a...0a989b6edd
AlexDaniel commit: f4bda356fc^,f4bda356fc say Dateish.is-leap-year(2016);
committable6 AlexDaniel, ¦«f4bda356fc^»: True␤¦«f4bda35»: Too many positionals passed; expected 1 argument but got 2␤ in any at gen/moar/m-Metamodel.nqp line 1752␤ in block <unit> at /tmp/SQep26OLvp line 1␤ «exit code = 1»
AlexDaniel but ok 18:10
if it's ok then alright, that's all I wanted to know
notviki dugword: I can file the bug, unless you already started
AlexDaniel though the error message is LTA
notviki AlexDaniel: heh, what's the A message? 18:11
Considering that applies to literally every sub and method we have
m: ''.uc: 'blah', 'blah'
camelia rakudo-moar 9594a3: OUTPUT«Cannot resolve caller uc(Str: Str, Str); none of these signatures match:␤ (Str:D $: *%_)␤ (Str:U $: *%_)␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel notviki: one that does not complain about something in m-Metamodel.nqp line 1752
notviki Ah that :)
it's probably fixable by adding it to... 18:12
s: Exception, 'is-setting'
SourceBaby notviki, Something's wrong: ␤ERR: Type check failed in binding to &code; expected Callable but got Nil (Nil)␤ in sub do-sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 42␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 33␤ in block <unit> at -e line 6␤␤
notviki s: Backtrace, 'is-setting'
SourceBaby notviki, Something's wrong: ␤ERR: Type check failed in binding to &code; expected Callable but got Nil (Nil)␤ in sub do-sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 42␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 33␤ in block <unit> at -e line 6␤␤
notviki screw you, robot!
s: Backtrace::Frame, 'is-setting'
SourceBaby notviki, Sauce is at github.com/rakudo/rakudo/blob/9594...ace.pm#L61
notviki there
mr_ron m: use Test; is -2**2 . abs.Str.ord, "4".ord, "on right side . is tighter than methodcall"; # Could someone please help explain with '.' is being tested as tighter? 18:13
camelia rakudo-moar 9594a3: OUTPUT«ok 1 - on right side . is tighter than methodcall␤»
mr_ron Tried to ask earlier about this test but got no answer: github.com/perl6/roast/blob/master...ence.t#L48
s/with '.'/which '.'/ 18:14
18:14 pmurias joined
notviki the one with spaces on 18:14
18:14 dogbert17 joined
notviki around it 18:14
moritz uhm, I think the description is a bit off
notviki I think it's copy-pastaed from the other test 18:15
moritz it actually tests that ** is tighther than . with spaces
notviki mr_ron: it tests the result is (-2**2).abs.Str.ord and not -2**(2.abs.Str.ord)
mr_ron moritz: doesn't the test right above test the same thing? 18:16
Oh I think I see
testing '.' as apposed to '+' 18:17
notviki yeah
pmurias AlexDaniel: having an OrderedHash as a module seems preferable
moritz can I regex-match against an Uni somehow? 18:19
18:25 rindolf left
pmurias what is Perl.DISTROnames used for? 18:28
AlexDaniel m: my @x; say @x»<xxx>
camelia rakudo-moar 9594a3: OUTPUT«This type (Scalar) does not support elems␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel what does it mean?
notviki What's a foolproof method to make sure optimizer doesn't constant fold my sub?
AlexDaniel bisect: my @x; say @x»<xxx> 18:29
18:29 rindolf joined
bisectable6 AlexDaniel, Bisecting by output (old=2015.12 new=9594a3e) because on both starting points the exit code is 1 18:29
AlexDaniel, bisect log: gist.github.com/e5023ea0f1393589c2...a9f5c2d7af
AlexDaniel, (2016-05-12) github.com/rakudo/rakudo/commit/33...d4efe221de
moritz notviki: don't annotate it with "is pure" (might be enough already)
notviki nah
pmurias I'm not sure what to put in DISTROnames on the js backend 18:30
notviki seems it also does something if it can figure out the output at compile time? github.com/rakudo/rakudo/blob/nom/....nqp#L1491 18:32
Do named params play a role in multi dispatch? 18:34
mst I thought they did, but haven't tried yet
notviki multi foo ($) and multi foo ($, :$); if I call foo(42) is it expected for the first multi to be used?
18:35 domidumont joined
notviki ohh 18:42
moritz notviki: named params only act as a tie breaker, they don't participate in nominal type/arity dispatch 18:45
rightfold Is this the correct way to forward all arguments? glot.io/snippets/elmqhtpdjl 18:46
notviki moritz: so how is that tie broken?
rightfold: no, sub (|c) { foo |c } 18:47
rightfold what is the difference?
notviki moritz: because above that would be a tie, right?
moritz m: multi f($, :$foo) { 1 }; multi f($) { 2 }; say f(42, :foo) 18:48
camelia rakudo-moar 9594a3: OUTPUT«1␤»
moritz that's how the tie is broken
m: multi f($, :$foo) { 1 }; multi f($) { 2 }; say f(42)
camelia rakudo-moar 9594a3: OUTPUT«1␤»
notviki m: sub got { dd @_ }; sub forward (*@a, *%b) { got |@a, |%b }; forward [1, [2, [3]]]
camelia rakudo-moar 9594a3: OUTPUT«[1, [2, [3]]]␤»
moritz m: multi f($) { 1 }; multi f($, :$foo) { 2 }; say f(42) 18:49
camelia rakudo-moar 9594a3: OUTPUT«2␤»
moritz surprised by that
notviki OK, so I'm not the only one :)
m: sub got ($a, $b) { dd [ $a, $b ] }; sub forward (|c) { got |c }; forward (1, (2, (3))), 42 18:51
camelia rakudo-moar 9594a3: OUTPUT«[(1, (2, 3)), 42]␤»
notviki m: sub got ($a, $b) { dd [ $a, $b ] }; sub forward (*@a, *%b) { got |@a, |%b }; forward (1, (2, (3))), 42
camelia rakudo-moar 9594a3: OUTPUT«Too many positionals passed; expected 2 arguments but got 4␤ in sub got at <tmp> line 1␤ in sub forward at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
notviki rightfold: ^ that... and also performance
rightfold thanks 18:52
notviki m: sub got ($a, $b) { say [ $a, $b ] }; sub forward (|c) { got |c }; forward (1…Inf), 42 18:53
camelia rakudo-moar 9594a3: OUTPUT«[(...) 42]␤»
notviki m: sub got ($a, $b) { say [ $a, $b ] }; sub forward (*@a, *%b) { got |@a, |%b }; forward (1…Inf), 42
rightfold: also that ^ (the version with slurpies hangs, trying to reify everything)
camelia rakudo-moar 9594a3: OUTPUT«(timeout)»
18:57 pierre_ left 19:01 wamba joined
notviki dugword: rt.perl.org/Ticket/Display.html?id...et-history rt.perl.org/Ticket/Display.html?id...et-history 19:02
AlexDaniel commit: 2016.11,HEAD say [0, False].sort 19:07
committable6 AlexDaniel, ¦«2016.11»: (0 False)␤¦«HEAD»: (False 0)
19:07 Deep_Thought joined
notviki m: dd 0 cmp False 19:11
camelia rakudo-moar 9594a3: OUTPUT«Order::Same␤»
AlexDaniel m: say all(Int, 42).defined 19:15
camelia rakudo-moar 9594a3: OUTPUT«False␤»
notviki m: say [0, "0"].sort
camelia rakudo-moar 9594a3: OUTPUT«(0 0)␤»
notviki m: dd [0, "0"].sort 19:16
camelia rakudo-moar 9594a3: OUTPUT«("0", 0)␤»
19:16 pierre_ joined
notviki m: dd [0, "0", 0, "0"].sort 19:16
camelia rakudo-moar 9594a3: OUTPUT«("0", 0, "0", 0)␤»
notviki m: dd [0, "0", "0"].sort
camelia rakudo-moar 9594a3: OUTPUT«("0", "0", 0)␤»
notviki That feels like a bug, since IIRC same values are meant to be left in the original order?
The all(Int, 42).defined output looks correct 19:17
AlexDaniel notviki: yes, it was a bug that is now fixed
by you I think
notviki ye
[Coke]_ samcv: did you find the RTs about the aliases for CR/LF?
notviki [Coke]_: you have a robo message in #perl6-dev 19:18
samcv hello
notviki \o 19:19
samcv \o
[Coke]_, yeah i saw them and not working 19:20
have them open
on mac os x
we have tests for those too. the the bigger question is, does "\c[NAME HERE]" work for unicode 1 AND unicode 2 names. or do we makej exceptions for control characters, but don't use any other unicode 1 names 19:21
19:22 lukaramu left, darutoko left
samcv because fixing two of them broke tests that depended on unicode 1 names 19:23
19:23 mr_ron left
dugword m: sub foo(Rat $number) { say $number ** $number }; foo(10)] 19:26
camelia rakudo-moar 9594a3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unexpected closing bracket␤at <tmp>:1␤------> 3ber) { say $number ** $number }; foo(10)7⏏5]␤»
dugword m: sub foo(Rat $number) { say $number ** $number }; foo(10)
camelia rakudo-moar 9594a3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Calling foo(Int) will never work with declared signature (Rat $number)␤at <tmp>:1␤------> 3at $number) { say $number ** $number }; 7⏏5foo(10)␤»
19:27 FROGGS joined
AlexDaniel m: dd |( 42 => 42) 19:27
camelia rakudo-moar 9594a3: OUTPUT«block <unit>␤»
notviki It doesn't take named args
hmm 19:28
Or Pairs either I guess
m: say 42, |( 42 => 42)
camelia rakudo-moar 9594a3: OUTPUT«Unexpected named argument '42' passed␤ in block <unit> at <tmp> line 1␤␤»
notviki 0.o
19:28 pierre_ left
notviki m: say 42, |( '' => 42 ) 19:28
camelia rakudo-moar 9594a3: OUTPUT«Unexpected named argument '' passed␤ in block <unit> at <tmp> line 1␤␤»
notviki jesus
dugword Is there a way to define a signature to use Int or Rat without multi or a custom constraint? Is there a built in type for it? 19:29
m: sub foo(Rat $number) { say $number ** $number }; foo(10)
camelia rakudo-moar 9594a3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Calling foo(Int) will never work with declared signature (Rat $number)␤at <tmp>:1␤------> 3at $number) { say $number ** $number }; 7⏏5foo(10)␤»
notviki dugword: no
rafasch m: sub foo(Rat $number) { say $number ** $number }; foo(10/1)
camelia rakudo-moar 9594a3: OUTPUT«10000000000␤»
notviki dugword: you could use a coercer
m: sub foo(Rat(Real) $number) { say $number ** $number }; foo(10) 19:30
camelia rakudo-moar 9594a3: OUTPUT«10000000000␤»
AlexDaniel m: sub foo(Rat() $number) { say $number ** $number }; foo(10)
camelia rakudo-moar 9594a3: OUTPUT«10000000000␤»
dugword m: sub foo(Rat(Real) $number) {say $number ** number}; foo('I <3 Puppies') 19:31
camelia rakudo-moar 9594a3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ number used at line 1␤␤»
dugword m: sub foo(Rat(Real) $number) {say $number ** $number}; foo('I <3 Puppies')
camelia rakudo-moar 9594a3: OUTPUT«Type check failed in binding to $number; expected Real but got Str ("I <3 Puppies")␤ in sub foo at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
dugword m: sub foo(Rat(Real) $number) {say $number ** $number}; foo(1.3); foo(10);
camelia rakudo-moar 9594a3: OUTPUT«1.40645667323789␤10000000000␤»
AlexDaniel m: sub foo($number where Int|Rat) { say $number ** $number }; foo(10)
camelia rakudo-moar 9594a3: OUTPUT«10000000000␤»
AlexDaniel ↑ that's a bit different, but may do the job depending on your needs
dugword Thanks guys, I want to ensure only values that can handle numeric operations are passed into the function and have that enforced by the function definition/signature. Those all look like fine solutions. 19:33
rafasch Isn't Perlish suppose to promote arguments on it' own? Whay can't an Int be promoted to a Rat?
notviki dugword: um, so just ask for Numeric? Why do you need Rat/Int?
AlexDaniel rafasch: sure, just slap () and that's it
rafasch m: sub foo(Numeric $number) { say $number ** $number }; foo(10)
notviki m: sub foo(Numeric $number) {say $number ** $number}; foo(1.3); foo(10);
camelia rakudo-moar 9594a3: OUTPUT«10000000000␤»
rakudo-moar 9594a3: OUTPUT«1.40645667323789␤10000000000␤»
dugword Do'h Numeric is a type. I looked for something like that, didn't see it 19:34
I knew it must be there
rafasch m: sub foo(Numeric $number) { say $number ** $number }; foo(10+3i)
camelia rakudo-moar 9594a3: OUTPUT«-5547793154.56273-3226831104.80361i␤»
dugword Yup, that's what I wanted
notviki dugword: you can also use Real if you want to exclude Complex 19:35
rafasch m: sub foo(Real $number) { say $number ** $number }; foo(10)
camelia rakudo-moar 9594a3: OUTPUT«10000000000␤»
notviki rafasch: if we'd promote stuff willy-nilly, types would be much less useful. 19:37
tbrowder i see JJ got the perl6-mode forked to github:perl6. can someone please add an issue tracker for it (or point me to it)?
19:37 FROGGS left
rafasch m: sub foo(Numeric $number) { say $number² }; foo(10+3i) 19:38
camelia rakudo-moar 9594a3: OUTPUT«91+60i␤»
notviki tbrowder: done: github.com/perl6/perl6-mode/issues
tbrowder thanks, zof...notviki!
rafasch notviki: I see why now, especially since it's all "pass-by-refrence", isn't it? Giving it an Int when it expects a Rat would indeed be a problem. 19:40
m: sub foo(Real $number) { say $number² }; foo(<10>) 19:45
camelia rakudo-moar 9594a3: OUTPUT«100␤»
rafasch m: sub foo(Real $number) { say $number² }; foo("10")
camelia rakudo-moar 9594a3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Calling foo(Str) will never work with declared signature (Real $number)␤at <tmp>:1␤------> 3sub foo(Real $number) { say $number² }; 7⏏5foo("10")␤»
notviki It's not a coercer. It'll only take Real types 19:46
m: <10>.^mro.say
camelia rakudo-moar 9594a3: OUTPUT«((IntStr) (Int) (Str) (Cool) (Any) (Mu))␤»
notviki forgets how to make it spit out roles too
rafasch m: sub foo(Real() $number) { say $number² }; foo("10")
camelia rakudo-moar 9594a3: OUTPUT«100␤»
19:47 pierre_ joined
moritz m: say <10>.^roles 19:47
camelia rakudo-moar 9594a3: OUTPUT«((Real) (Numeric) (Stringy))␤»
moritz but roles don't appear in the MRO, because methods from roles are flattened into the classes they are applied to 19:48
notviki Thanks
rafasch You guys rock, keep being you. P6++ 19:52
19:52 rafasch left
notviki \o/ 19:53
moritz keeps being himself, except for incremental changes :-)
notviki keeps being consistently inconsistent 19:54
japhb keeps being 19:55
19:55 pyrimidine left, pyrimidine joined
tbrowder ref p6advent: lessons learned with wordpress as is: scheduling is not easy, may be no way to edit after publishing 19:57
moritz sure you can edit after publishing
(though I only ever tried the old-style post editing interface, not the new "improved" one)
dalek d-To-HTML: 0ffce68 | (Zoffix Znet)++ | lib/Pod/To/HTML.pm:
Remove trailing whitespace
19:58
AlexDaniel m: my @a := (0..*).list; dd @a; 19:59
camelia rakudo-moar 9594a3: OUTPUT«(0, 1, 2, 3, 4, 5, 6, 7, 8, 9... (lazy list)␤»
AlexDaniel xkcd.com/859/
notviki hehe
m: my @a := (0..*).list; @a.perl.say;
camelia rakudo-moar 9594a3: OUTPUT«Cannot .elems a lazy list␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
notviki m: my @a := (0..*).list; @a.gist.say; 20:00
camelia rakudo-moar 9594a3: OUTPUT«(...)␤»
notviki
.oO( and that's why dd is not specced :P )
20:01 pierre_ left, pierre_ joined
AlexDaniel notviki: oh! This one is for you! 20:08
m: my @a; say @a.WHAT.of; say @a.WHAT.of !=== Mu
camelia rakudo-moar 9594a3: OUTPUT«Cannot look up attributes in a Array type object␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel a Array :)
dalek d-To-HTML: 678bb09 | (Zoffix Znet)++ | t/06-table.t:
Remove trailing whitespace
20:10
d-To-HTML: 74fa0ea | (Zoffix Znet)++ | t/06-table.t:
Remove trailing whitepsace
AlexDaniel by the way 20:11
what's that?
m: my $x = 2; cas($x,*+1); say $x
camelia rakudo-moar 9594a3: OUTPUT«3␤»
dalek d-To-HTML: 1ca39bf | (Zoffix Znet)++ | t/0 (2 files):
Do not output debug stuff during test run
20:12
20:13 CIAvash left
notviki ffs 20:13
This shoddy code made me commit incorrect file
dalek d-To-HTML: dd6f332 | (Zoffix Znet)++ | t/07-headings.t:
Silence debug output
20:14
d-To-HTML: 62fa37d | (Zoffix Znet)++ | lib/Pod/To/HTML.pm:
Fix missing caption on tables

Fixes #22
Tests added in github.com/perl6/Pod-To-HTML/commit/1ca39bfea1
20:15
d-To-HTML: 7045c17 | (Zoffix Znet)++ | META.info:
Bump version for #22 fix
notviki s: &cas 20:18
SourceBaby notviki, Sauce is at github.com/rakudo/rakudo/blob/9594...ops.pm#L50
notviki nice comment heh 20:20
lizmat: what's cas?
rightfold Compare and swap 20:21
notviki :/
lizmat en.wikipedia.org/wiki/Compare-and-swap
notviki Thanks
lizmat problem with current &cas is that it's not atomic 20:22
arnsholt Heh. Given that part of the point of a CAS is generally *atomic* CAS, that's a bit annoying =)
rightfold 🎵 I'm nuuucleaaar 🎶 20:23
geekosaur was just thinking "...waaaat"
20:25 djbkd_ joined
jnthn I thought I killed that off once 20:26
I did in 539b5f44ef3f pre-xmas 20:27
notviki jnthn: are you still vacationing? samcv got a response from TPF on CLA and was wondering what the next steps are. Does she need to forward that email to anyone?
jnthn Because I thought it was pretty ridiculous having a non-atomic CAS in there :/
I made the mistake of tossing it with something else and it seems it got restored later as if I did it by accident rather than by quiet sleight of hand :P
notviki :) 20:28
AlexDaniel jnthn: can you take care of it now? :)
jnthn AlexDaniel: Well, we could actually do with a working cas... :P
(A few things I'd like to do could use it)
So I'll probably just fix it sometime next year :) 20:29
AlexDaniel no ticket required?
jnthn AlexDaniel: Feel free, and mark it [CONC]; I watch the CONC list for stuff to do :)
20:30 lichtkind_ joined
jnthn notviki: Yeah, I'm still getting much-needed rest but can do the odd thing. In the past, I thought either the people who'd sent in a CLA got added to a sheet somewhere and/or somebody like myself was cc'd on the reply to the sender 20:30
notviki: Forwarding the mail to me would be enough, and I should have perms to grant the bit 20:31
notviki samcv: ^
pmurias jnthn: the JVM backend is giving a "Class file too large!" error while building 20:32
samcv jnthn, same email as your git commit email?
notviki Noticed a bug while fixing Pod-To-HMTL: :caption('Foo Bar') includes quotes in the caption..
jnthn samcv: samcv Sure
oops :)
Too much tab
pmurias jnthn: any suggestions how we should fix that?
jnthn pmurias: Um...generate less code? ;-) 20:33
pmurias: The JVM has some really annoying limitations in that area
samcv ^
20:33 domidumont left
samcv got to split it up 20:33
jnthn We already had to implement something that could take an over-side method and split it up
Because some spectests just have a mainline body that does like 500 tests 20:34
20:34 lichtkind__ left
samcv jnthn, sent 20:34
jnthn Since we spit out a JAR these days I suspect it's not *too* bad to split things over multiple class files
And pack them into the JAR
But I've not done a great deal of stuff on the JVM backend for a while and stuff has changed since I did :) 20:35
samcv: Received :) 20:36
samcv: And invitation sent. 20:37
samcv thanks :D
jnthn Happy committing! \o/ 20:38
AlexDaniel commit: 2016.02,HEAD use Test; say GLOBAL::Test::EXPORT::DEFAULT::.keys
committable6 AlexDaniel, gist.github.com/e372e37dd311d94cac...37bd2a6abd
samcv ugm how did this happen <link type="text/css" href="/css/highlights.css?v=1" rel="stylesheet" />
v=1 for the docs, unless it autogens a newer one?
on rebuilding from the less?
or sass or whatever
AlexDaniel commit: 2016.02,HEAD say ("a" xx 1000).map(+("a" le *)).index(0) 20:40
committable6 AlexDaniel, ¦«2016.02»: 414␤¦«HEAD»: Nil
notviki samcv: what'd you mean? 20:41
how did what happen
samcv the number used to be higher
we were bumping the css version right
in the head.html
notviki samcv: that <link> is no longer present at all. 20:42
lizmat jnthn: irclog.perlgeek.de/perl6/2015-12-05#i_11663308
samcv ooo ok
so i don't need to bump?
notviki is confused 20:43
samcv does it autobump style.css?
notviki samcv: ah, no :)
samcv oh
so the old head is no longer used? 20:44
notviki samcv: the file was moved too. It's now in github.com/perl6/doc/blob/master/a...ights.scss
samcv yes i saw that
jnthn lizmat: Guess I missed that...
20:44 cpage joined
jnthn lizmat: No worries, we'll fix it up to be a real cas sometime pre-6.d :) 20:44
lizmat jnthn: there are 6 S17 test files that use it 20:45
which is why I put it back
jnthn o.O
I...wonder if those tests ever flap :P :P
notviki samcv: I think you're looking at the old checkout of the repo? The head is still there and it now includes just a single file: github.com/perl6/doc/blob/master/t.../head.html
samcv oh ignore me i figured it out
notviki ok
lizmat jnthn: it's been a while since I've seen flap S17 tests
notviki The stuff in github.com/perl6/doc/blob/master/assets/sass/ all gets compiled into style.css 20:46
dalek c: 4196adf | samcv++ | / (2 files):
Make comments darker for better contrast
20:47 jabowery left
notviki samcv++ congrats on joining Rakudo team \o/ 20:47
samcv \o/
jnthn lizmat: Yeah, I think we've done away with all the things that are particularly likely to occur by now. There's certainly still something adrift, though. 20:49
(Got a couple that run into trouble under GC stressing)
20:49 pmurias left
AlexDaniel m: say WHAT ‘hello’.comb(/./) 20:50
camelia rakudo-moar 9594a3: OUTPUT«(List)␤»
jnthn wanders off to relax some more :)
20:50 bjz joined
AlexDaniel commit: 2016.02,HEAD say WHAT ‘hello’.comb(/./) 20:50
committable6 AlexDaniel, ¦«2016.02»: (Seq)␤¦«HEAD»: (List)
AlexDaniel bisect: say WHAT ‘hello’.comb(/./)
bisectable6 AlexDaniel, Bisecting by output (old=2015.12 new=796d6e1) because on both starting points the exit code is 0
AlexDaniel, bisect log: gist.github.com/f5c3524addd2991f81...b1fd11bb3f 20:51
AlexDaniel, (2016-10-24) github.com/rakudo/rakudo/commit/17...dac2b8f529
AlexDaniel lizmat: is it OK if it's not Seq anymore?
notviki To point out the obvious: Rakudo's behaviour at any point does *not* define behaviour Perl 6. The roast does. 20:52
AlexDaniel sure, but I'm just wondering if this change was made on purpose 20:53
20:53 labster joined
lizmat AlexDaniel notviki: I've wondered about that myself 20:53
notviki m: say WHAT ‘hello’.comb(/sdfsdfsdfsd/) 20:54
camelia rakudo-moar 796d6e: OUTPUT«(List)␤»
AlexDaniel notviki: but to be honest I'm not sure why you had to point that out
for example 20:55
commit: HEAD~100,HEAD say so '2' ~~ /<:Digit>/
committable6 AlexDaniel, ¦«HEAD~100»: True␤¦«HEAD»: False
AlexDaniel just because there's no test doesn't mean anything in this context
it just means that there's no test…
b2gills with .comb returning Seq Rakudo can be smarter about not producing all of the values of a long string
or in the case of $*IN.comb waiting until Ctrl-D 20:56
notviki AlexDaniel: just saw you comparing old and new behaviours 20:57
lizmat b2gills: I agree, but sometimes the values *are* all generated already, and making it a Seq *then* will make things slower again
notviki Like that -Inf thing
Not everything's a bug 20:58
or the leap-year thing
AlexDaniel that's right
notviki: so here's the thing
notviki bisectable6: say so '2' ~~ /<:Digit>/
bisectable6 notviki, Bisecting by output (old=2015.12 new=796d6e1) because on both starting points the exit code is 0
AlexDaniel notviki: I've parsed out all m: queries for the past year
notviki :o
bisectable6 notviki, bisect log: gist.github.com/461677c03daec46357...7ac33d8d17
notviki, (2016-12-27) github.com/rakudo/rakudo/commit/81...da1c643156
AlexDaniel notviki: and ran each query on 2015.12, somewhere around where this query was made and on HEAD
now I filtered out everything that has same output 20:59
and now I'm going through everything that's left…
notviki How much remains?
AlexDaniel a couple of thousands
it's mostly changes in error messages and stuff
notviki :O
OK
I didn't know you were doing that
AlexDaniel there are 31 thousands m: queries just on this channel alone in the last year 21:00
which is suspiciously too much, but it looks alright
21:00 Tonik joined
dalek c: fafe0dd | samcv++ | / (2 files):
Darker and nicer colors for grammars
21:01
AlexDaniel so I've found some actual regressions already, but yes, some cooperation would be nice. I think I know the purpose of roast ;)
notviki OK, my bad :) 21:02
arnsholt AlexDaniel: Oh, you're checking the output of evalbot usages over the last year with the same code on latest Rakudo? That's a really neat idea! 21:03
AlexDaniel yea
21:04 pierre_ left
AlexDaniel I've automated everything that could be automated, but still it's a lot of work 21:04
notviki oh wow, Carrie Fisher died 21:05
AlexDaniel commit: 2015.12,HEAD say $*PERL.version.perl 21:06
committable6 AlexDaniel, ¦«2015.12»: Version.new('6.c')␤¦«HEAD»: v6.c
AlexDaniel m: say v6.c
camelia rakudo-moar 796d6e: OUTPUT«v6.c␤»
AlexDaniel wow, I didn't know you could do that 21:07
m: say v42
camelia rakudo-moar 796d6e: OUTPUT«v42␤»
21:12 Tonik left
notviki
.oO( use v6.c )
21:13
gfldex m: say v42.WHAT 21:14
camelia rakudo-moar 796d6e: OUTPUT«v42.WHAT␤»
AlexDaniel xD
b2gills m: say (v42).WHAT
camelia rakudo-moar 796d6e: OUTPUT«(Version)␤»
21:15 unicodable6 left
notviki did it die waiting to gist stuff? 21:17
AlexDaniel I think so
notviki use moar start {} blocks
21:17 unicodable6 joined, ChanServ sets mode: +v unicodable6
notviki IRC::Client should probably make ping stuff run in its own thread 21:17
AlexDaniel notviki: I think there's some issue with the scheduler or something 21:18
haven't managed to get my hands on it yet
21:18 sufrostico joined
AlexDaniel evalable6: sleep 7 21:19
evalable6: help
hmm
evalable6 AlexDaniel, rakudo-moar 796d6e1: OUTPUT«»
AlexDaniel, Like this: evalable6: say ‘hello’; say ‘world’
arnsholt AlexDaniel++ # Excellent show of initiative! 21:20
AlexDaniel: Yeah, not to mention that you can't really automate figuring out if differing outputs is a regression, a bugfix or simply due to code involving rand() and the like
AlexDaniel Method 'type' not found for invocant of class 'Int' 21:21
No such method 'type' for invocant of type 'Int'
↑ this stuff is getting a bit annoying 21:22
(same issue, but the error message is now a bit different)
21:25 sufrostico left 21:27 pierre_ joined
AlexDaniel commit: 2015.12,HEAD my $x; .base: 16 for (1..40000).hyper: :2batch; say now - INIT now 21:27
I wonder if anybody cares about .hyper …
committable6 AlexDaniel, ¦«2015.12»: 2.318415␤¦«HEAD»: «timed out after 10 seconds, output»: «exit signal = SIGHUP (1)»
AlexDaniel oh, it works, it's just slow 21:28
21:31 dugword left
notviki m: .base: 16 for (1..40000); say now - INIT now 21:33
camelia rakudo-moar d810d4: OUTPUT«0.105744511␤»
notviki m: .base: 16 for (1..40000).hyper: :10000batch; say now - INIT now
camelia rakudo-moar d810d4: OUTPUT«0.2348094␤»
21:33 bjz left
notviki m: .base: 16 for (1..40000).race: :10000batch; say now - INIT now 21:34
camelia rakudo-moar d810d4: OUTPUT«0.30053291␤»
notviki m: .base: 16 for (1..40000).race: :10000batch; say now - INIT now
camelia rakudo-moar d810d4: OUTPUT«0.2065669␤»
21:37 pierre_ left
dalek c: f1ad264 | gfldex++ | doc/Type/Version.pod6:
tell how version literals interact with .
21:37
synopsebot6 Link: doc.perl6.org/type/Version
AlexDaniel gfldex++ 21:38
m: my $x = do while (1) { LAST { exit }; }; 21:39
camelia ( no output )
AlexDaniel … ?
bisect: my $x = do while (1) { LAST { exit }; };
bisectable6 AlexDaniel, Bisecting by exit signal (old=2015.12 new=d810d44). Old exit signal: 1 (SIGHUP)
AlexDaniel, bisect log: gist.github.com/2c56ab438868d94d64...3ce10bb767 21:40
AlexDaniel, (2015-12-29) github.com/rakudo/rakudo/commit/38...48b22b4b35
21:46 travis-ci joined
travis-ci Doc build failed. Wenzel P. P. Peppmeyer 'tell how version literals interact with .' 21:46
travis-ci.org/perl6/doc/builds/187073390 github.com/perl6/doc/compare/fafe0...ad26444afe
21:46 travis-ci left 21:48 rurban joined
AlexDaniel m: say 'Life, the Universe, and Everything'.WHY 21:48
camelia rakudo-moar d810d4: OUTPUT«(Any)␤»
AlexDaniel :(
notviki It was changed to be a more accurate quote 21:49
AlexDaniel m: say 'Life, the Universe and Everything'.WHY
camelia rakudo-moar d810d4: OUTPUT«42␤»
AlexDaniel right
thanks, bisectable… ;)
21:52 dataf3l left, Gasher joined 21:57 rurban left 22:01 bjz joined 22:05 TEttinger joined
dalek c: 2718c1b | gfldex++ | doc/Language/operators.pod6:
add (normal) stub operator to index
22:07
synopsebot6 Link: doc.perl6.org/language/operators
22:16 bjz left 22:19 b2gills joined 22:20 wamba left 22:22 notbenh joined 22:23 Deep_Thought left 22:30 jp_ joined, jp_ is now known as Guest85106
Guest85106 Hi, I need some help about the following perl6 code gist.github.com/anonymous/249e7a56...c4a514127. As you can see, according to the Grammar::Tracer, the parsing seems ok but my $scr variable is not assigned. Do you have any idea ? 22:37
notviki looks 22:40
Guest85106: it's the ending "\n" 22:42
Guest85106: just stick a space before the ending curlie in rule TOP 22:43
Guest85106: and Grammar::Tracer correctly tells you what your rule TOP matched, but because that didn't match the entire string, .parse() fails (see also .subparse method) 22:44
22:47 travis-ci joined
travis-ci Doc build passed. Wenzel P. P. Peppmeyer 'add (normal) stub operator to index' 22:47
travis-ci.org/perl6/doc/builds/187079651 github.com/perl6/doc/compare/f1ad2...18c1b98b9c
22:47 travis-ci left, dugword joined 22:57 pierre_ joined 22:58 pierre_ left
Guest85106 Many Thanks, I'm trying ... 23:00
samcv let me ask here. so this recent change the "\c[LINE FEED (LF)]" broke and all the other control characters names 23:02
23:02 nebuchadnezzar joined
samcv so what I am thinking about doing, is temporarily just having the 'name's' for these control characters to be their Canonical Unicode alias names 23:02
since control characters technically don't have names, but they have aliases, we should support all the alias names, because the unicode 1 names have collisions 23:03
Guest85106 You win .... You are a magician. many thanks
samcv and that will change it from "\c[LINE FEED (LF)]" to "\c[LINE FEED]" (the only 6.c-errata test that uses this)
23:04 lostinfog joined, bjz joined
samcv bisectable6, say "\c[LINE FEED]".ord 23:04
bisectable6 samcv, On both starting points (old=2015.12 new=ca919d9) the exit code is 1 and the output is identical as well 23:05
samcv, Output on both points: 04===SORRY!04=== Error while compiling /tmp/ZJiGD9espu␤Unrecognized character name LINE FEED␤at /tmp/ZJiGD9espu:1␤------> 03say "\c[LINE FEED08⏏04]".ord
samcv yeah so this will FIX that 6.c test
and break the \c[LINE FEED (LF)] one, since we would be using the actual unicode name aliases, not unicode 1 names
23:05 bjz left
samcv these are all the alias names: ftp://ftp.unicode.org/Public/UCD/latest/ucd/NameAliases.txt 23:06
notviki Any time. 23:07
23:22 Axord left 23:33 Axord joined
notviki m: "\c[LINE FEED]".say 23:34
camelia rakudo-moar ca919d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized character name LINE FEED␤at <tmp>:1␤------> 3"\c[LINE FEED7⏏5]".say␤»
notviki committable6: 2015.12 "\c[LINE FEED]".say
committable6 notviki, ¦«2015.12»: 04===SORRY!04=== Error while compiling /tmp/e63_jLRs6A␤Unrecognized character name LINE FEED␤at /tmp/e63_jLRs6A:1␤------> 03"\c[LINE FEED08⏏04]".say «exit code = 1»
AlexDaniel m: my $v1 = v1.02; my $v2 = Version.new("v1.02"); say $v1.perl; say $v2.perl 23:37
camelia rakudo-moar ca919d: OUTPUT«v1.02␤Version.new('v.1.02')␤»
AlexDaniel huh, the difference
this one is quite interesting 23:38
commit: 2015.12,HEAD my $i = 30; say permutations( +(^$i).join.comb ).elems
committable6 AlexDaniel, ¦«2015.12»: 30414093201713378043612608166064768844377641568960512000000000000␤¦«HEAD»: Cowardly refusing to permutate more than 20 elements, tried 50␤ in block <unit> at /tmp/s9AE91mpjY line 1␤ «exit code = 1» 23:39
AlexDaniel seems like it refused to permutate for no good reason
TEttinger 20 is the max permutations where the count fits in 64 bits? 23:41
AlexDaniel ya but, who said that it should fit into 64 bits? :)
TEttinger wonder why it worked a year ago?
AlexDaniel well, we can do this 23:42
bisect: my $i = 30; say permutations( +(^$i).join.comb ).elems
bisectable6 AlexDaniel, Bisecting by exit code (old=2015.12 new=ca919d9). Old exit code: 0
AlexDaniel, bisect log: gist.github.com/42dd933cd3b7d31224...610a6f7c8a
AlexDaniel, (2016-12-06) github.com/rakudo/rakudo/commit/ab...b13b7e92a1
AlexDaniel huh 23:43
ok, we're looking at something wrong
bisect: new=ab3a59c3^ my $i = 30; say permutations( +(^$i).join.comb ).elems
bisectable6 AlexDaniel, Bisecting by output (old=2015.12 new=ab3a59c3^) because on both starting points the exit code is 0
AlexDaniel, bisect log: gist.github.com/19bb090460b90bce7d...d4c8ae7e43
AlexDaniel, (2016-09-09) github.com/rakudo/rakudo/commit/8a...7ec7374b8c
AlexDaniel commit: 8a66833^,8a66833 my $i = 30; say permutations( +(^$i).join.comb ).elems 23:44
committable6 AlexDaniel, ¦«8a66833^»: 30414093201713378043612608166064768844377641568960512000000000000␤¦«8a66833»: 1
AlexDaniel :OOOO
but yes
alright, I'll get to it. I have a bunch of candidates for tickets here
notviki sweet 23:45
m: dd my $max = $*KERNEL.bits == 32 ?? 13 !! 20;
camelia rakudo-moar ca919d: OUTPUT«Int $max = 20␤»
notviki m: say 2**20
camelia rakudo-moar ca919d: OUTPUT«1048576␤»
AlexDaniel I'm actually only 1/6 through… :( 23:46
notviki m: say [*] 1..20
camelia rakudo-moar ca919d: OUTPUT«2432902008176640000␤»
notviki m: say [*] 1..1048576
camelia rakudo-moar ca919d: OUTPUT«(timeout)» 23:47
AlexDaniel notviki: I remember you've been talking about the amount of tickets closed (the point was that it might be hard to see it) 23:48
every single bug fixed, every change to error messages… it's all right in front of me now :) 23:49
notviki fwiw, the limit is OK with me, if it's needed for more performant code. The count of permutations is 1 followed by 262140 zeros. If you have the means and the need to permute something larger you can afford to write your own alog
AlexDaniel the progress during the last year is tremendous
notviki: I'm fine with that too. But the thing is, I think I'll create a bunch of tickets anyway, and then we will close half of them 23:50
because in this case for example it is unclear if the new behavior was wanted or not 23:51
it will be a good opportunity to write some tests too :P
notviki 2,900 commits 23:52
github.com/rakudo/rakudo/compare/v6.c...nom
m: say "{Int(2900/365)} commits per day"
camelia rakudo-moar ca919d: OUTPUT«7 commits per day␤»
AlexDaniel yeah I know, whateverable has over 5000 builds 23:53
notviki AlexDaniel: which new behaviour do you mean?
AlexDaniel notviki: generally 23:54
notviki Ah
sure
The .elems returning 1 was a bug. That 1 is a Failure object that it silenced by wrapping it into a llist
AlexDaniel yes but
commit: 2015.12,HEAD my $i = 30; say permutations( +(^$i).join.comb ).elems 23:55
committable6 AlexDaniel, ¦«2015.12»: 30414093201713378043612608166064768844377641568960512000000000000␤¦«HEAD»: Cowardly refusing to permutate more than 20 elements, tried 50␤ in block <unit> at /tmp/HsPuDOvnrK line 1␤ «exit code = 1»
AlexDaniel I'm not sure if that huge number is the right answer
but if it is, then we should at least discuss if we actually want to throw here
notviki m: say [*] 1..30
camelia rakudo-moar ca919d: OUTPUT«265252859812191058636308480000000␤»
Xliff How do you re-export an exportable symbol across modules?
23:55 vendethiel joined, vendethiel left
Xliff Say I have module B, used by module A, and module A is used by the main script. 23:55
I want to have the symbols in B in MAIN:: 23:56
notviki m: say +(^$i).join.comb
camelia rakudo-moar ca919d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$i' is not declared␤at <tmp>:1␤------> 3say +(^7⏏5$i).join.comb␤»
Xliff Without having Main using B becuase that would be ugly.
notviki m: say +(^30).join.comb
camelia rakudo-moar ca919d: OUTPUT«50␤»
notviki :/
Xliff Yes, this is a P5ism that I miss.
notviki AlexDaniel: that's an elaborate way to write 50 :)
m: say [*] 1..50
camelia rakudo-moar ca919d: OUTPUT«30414093201713378043612608166064768844377641568960512000000000000␤»
notviki Yeah, the number is right. 23:57
Xliff I'm about to dip, so I will prolly ask again later. Looks like you guys are busy.
Back pain is calling for muscle relaxers.
notviki Xliff: I don't know the answer. 23:58
Xliff notviki: Fair enough.
notviki m: say permutations 100
camelia rakudo-moar ca919d: OUTPUT«Cowardly refusing to permutate more than 20 elements, tried 100␤ in block <unit> at <tmp> line 1␤␤»
23:59 pierre_ joined
notviki m: say [*] 1..20 23:59
camelia rakudo-moar ca919d: OUTPUT«2432902008176640000␤»
Xliff I know there is an example somewhere with an EXPORT::DEFAULT definition I can use.
Trick is finding it.
23:59 RabidGravy left
notviki Ah, I was wrong above. We don't allow 1 followed by 200,000 permutations. Just ^ that many 23:59
Xliff: this one? docs.perl6.org/language/modules#Introspection