»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
00:00 dayangkun joined, dayangkun left
timotimo all i had was my @pixels = 127 xx 255 * 255; $some_open_handle.write: Blob.new: @pixels 00:01
00:01 dayangkun joined
lizmat $ 6 'my @p = 127 xx 255 * 255; dd Blob.new(@p).elems' 00:03
Int $var = 65025
real0m0.207s
timotimo huh 00:05
that seems to already have been fast on my machine ?!?
lizmat well, it's faster now 00:06
timotimo on my machine it only takes 0.2s
was i completely mistaken about this?!
lizmat $ 6 'for ^1000 { Blob[uint16].new(^100) }'
real0m0.232s
timotimo it could have been the stringification perhaps? 00:07
lizmat $ 6 'for ^1000 { Blob[uint16].new(^100) }'
real0m2.577s
that was before 00:08
timotimo oh
lizmat seems I got the multiplication factor wrong
I thought it had been 5.912 secds
timotimo oh
lizmat ah, no, i *did* get it right 00:09
subtracting the startup and loop overhead (120 msecs)
timotimo ah
lizmat you get to something like 23.85
so 20x better is not a lie :)
lizmat goes off to get some sleep 00:10
timotimo wait, from 23 to 2.3 isn't 20x
i ...
dunno?
anyway, thanks!
i wonder what i did wrong in my measurements
lizmat m: say (2577 - 120) / (223 - 120) 00:11
camelia rakudo-moar 460d89: OUTPUT«23.854369␤»
timotimo oh 00:12
i thought i had to compare against the 2.5, but that was *before*!
thanks
00:16 Zoffix left, cygx left 00:20 BenGoldberg joined 00:24 yqt left
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 2295617 | (Zoffix Znet)++ | / (3 files):
Make builder script generate db for out app
00:42
BenGoldberg j: for 8795..0xeffff { "(timeout at $_)".say, last if now > INIT { now + 3 }; my $name = .chr.uniname; next unless $name ~~ m:i/ << star >> /; say "$_: $name" } 01:07
m: for 8795..0xeffff { "(timeout at $_)".say, last if now > INIT { now + 3 }; my $name = .chr.uniname; next unless $name ~~ m:i/ << star >> /; say "$_: $name" }
camelia rakudo-jvm 460d89: OUTPUT«8795: STAR EQUALS␤8902: STAR OPERATOR␤(timeout at 8981)␤»
rakudo-moar 460d89: OUTPUT«8795: STAR EQUALS␤8902: STAR OPERATOR␤9055: APL FUNCTIONAL SYMBOL CIRCLE STAR␤9059: APL FUNCTIONAL SYMBOL STAR DIAERESIS␤9733: BLACK STAR␤9734: WHITE STAR␤9770: STAR AND CRESCENT␤9885: OUTLINED WHITE STAR␤10017: STAR OF DAVID␤10022: BLACK…»
01:09 zacts joined
BenGoldberg wonders why jakudo is so much slower. 01:09
mst wonders why unicode character names are always in caps 01:10
01:11 captainjimboba joined
captainjimboba hey...anybody currently on...never used IRC before 01:11
awwaiid greetings captainjimboba
BenGoldberg Of course there are people on.
captainjimboba what i assumed...my apologies though :) 01:12
BenGoldberg Doesn't your IRC client have a list of who is on the channel?
awwaiid BenGoldberg: I'm in plenty of channels where there are people in the channel but nobody's "on" :)
BenGoldberg Mine says there are 274 people on #perl6 right now.
captainjimboba it has a list on the side, but I'm not sure if those are active or just an overall list
BenGoldberg It's an overall list.
Some are active, some not.
01:13 mr_ron left
captainjimboba Thanks for the FYI! I am now clued in 01:13
I've been reading about Perl 6 lately and it is a nifty project. I have a few questions I'd like to ask though 01:14
BenGoldberg Ask them :)
Here in #perl6, as with most channels on freenode, you should not ask whether or not you can ask your question, instead just ask it. 01:15
captainjimboba I was thinking about writing some documentation (something like a free pdf book) for kids on perl 6 at some point. Does anyone know if there is a policy regarding the use of the Perl 6 "Camellia" logo? It wouldn't be a hard copy book, just a PDF posted somewhere. 01:17
skids captainjimboba: yes there's a trademark, and a license, which is pretty liberal. 01:18
captainjimboba I think I've read its owned by Larry Wall....I'm not sure if it's ok to use the image as long as credit is given for a non-commercial project
mst I'd hope so
it'd be a bit weird if camelia was under a more restrictive license than perl or perl6
captainjimboba I agree lol, but I'd thought I'd ask the question anyway 01:19
skids github.com/perl6/mu/blob/master/mi...amelia.txt
mst captainjimboba: note that the list is clients connected, not necessarily people active at this instant, but there are a lot of people (like me) who both stay connected and will read back when we get online, so even if a channel seems quiet it's often worth saying something anyway then keeping an eye out for a few hours to see if you get a reply 01:20
captainjimboba thank you that is perfect
mst this one and #perl are both busy enough that's not so much of a big deal (#perl being the perl5 channel)
but it's worth knowing for IRC in general
captainjimboba thank u for the pointer mst! I've known about IRC in general, but this is the first time i've actually tried it out...so far my first impression is great! 01:21
mst it often confuses people to begin with because people don't tend to do 'hi/bye' very much except on small socially oriented channels
captainjimboba makes sense if you're always logged into the background....is anyone aware of how the concurrency/parallel support is coming along? I've heard its supposed to be pretty awesome, but i'm not sure if it will be available for Christmas (if it isn't already) 01:23
mst I was under the impression that MoarVM could do quite a bit of it now
skids jnthn implemented most I think of his latest concurrency streamlining, and intends to fix some bugs WRT IO before xmas I think. 01:24
docs/spec have to catch up to code a bit in that department. 01:25
react/whenever especially seems to already be working.
01:25 aborazmeh joined, aborazmeh left, aborazmeh joined
captainjimboba that is pretty awesome...i look forward to reading the documentation...i know ya'll have all heard it a 1000x, but perl can be a bit intimidating if you started in something like BASIC or Python with a lot less syntax to remember. I will say that I've been very impressed with the ideals of the Perl 6 project and don't mind learning something new if it has some cool abilities 01:27
01:27 mr_ron joined
skids gist.github.com/jnthn/a56fd4a22e7c43080078 is a sort of "delta" doc based on what was working prior to that roud of changes. 01:28
*round
captainjimboba sweet, i'll check it out....it's always impressive to see these community projects do such awesome things without massive commercial backing 01:29
last question for the night...does anyone know any names of people planning on having a Perl 6 book out sometime not too terribly long after the xmas release? 01:30
I'm assuming the major Perl 5 authors might do something....I think I remember Randal Schwartz was going to wait until things were finalized after trying before when things weren't as stable. 01:31
I was just thinking that would be a really fun book to go through...the Perl 6 website is amazing...the doc is pretty good too and will only get better with time, I wish it had a few more examples though 01:32
skids A lot of rosettacode nodes have Perl6 solutions, so there are some additional examples to peruse that way. 01:34
captainjimboba I had planned on it..I def appreciate the reference...I might even contribute a few solutions at some point! I wonder how many of the code snippets there are idiomatic p6 and not just a translation 01:37
skids Some are better than others, but they do get talked about on the channel, so probably a good number are fine. 01:39
01:39 pochi left
captainjimboba I'll keep that in mind...thanks for the great help everyone! My thanks to everyone working hard to make this project a reality. 01:41
awwaiid captainjimboba: also, the main docs on doc.perl6.org are open-source and welcome contributors. My understanding is you can fork and do PRs on github.com/perl6/doc 01:42
01:43 raiph left 01:44 pochi joined
captainjimboba i didn't know that..thank you! Just checked out P6 on Rosetta Code for the first time in probably a year. The first one I landed on had a note that it ran with Rakudo version 11-03-2015...now that is impressive 01:44
"Statistics/Basic" was the code snippet I chose at random 01:45
01:46 Actualeyes joined
skids Though a lot of the syntax has been stable for a long time I suspect there are still some idioms yet to be discovered -- every once in a while I see a veteran go "ooh" when someone comes up with a good way to "word" something. 01:48
01:48 captainjimboba left 01:51 robertmeta joined 01:53 Zoffix joined 01:55 raiph joined
dalek osystem: 7c81f54 | loren++ | META.list:
Update META.list

add Net::Ftp to ecosystem See github.com/araraloren/Net-Ftp
02:06
osystem: 8d8d822 | (Zoffix Znet)++ | META.list:
Merge pull request #88 from araraloren/master

Add Net::Ftp to eco: github.com/araraloren/Net-Ftp
02:07 softmoth_ joined 02:13 vendethiel joined 02:16 xpen joined 02:18 softmoth_ left 02:22 xpen left, xpen joined 02:28 owlbird joined 02:36 vendethiel left 02:37 captainjimboba joined 02:38 captainjimboba left
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: c4251c8 | (Zoffix Znet)++ | mojo-app/lib/ModulesPerl6/Model/Dists.pm:
Initial work on model
02:47
02:51 aborazmeh left 03:02 xpen left
zengargoyle oh, eek. anybody have an example of having travis.ci install a package... totally didn't that it wouldn't have a library available. 03:16
Zoffix zengargoyle, github.com/zoffixznet/perl6-Pasteb...vis.yml#L7
zengargoyle, oh, there's a doc too: docs.travis-ci.com/user/languages/p...Management 03:19
03:20 labster joined
zengargoyle hrm, found the magic for Ubuntu, now to find if Ubuntu has the package and what it's named, and maybe a bit of shell work that's required. 03:20
Zoffix Oh a package. I misunderstood it for module
zengargoyle Zoffix: i'm meaning a dis.. yeah, that. :) 03:21
03:21 kaare_ joined 03:26 kid51 left
zengargoyle hrm, there must be a way to make NativeCall use a library.so.1 vs library.so 03:36
the distro packages for the library i'm using for some reason don't make a .so link 03:37
03:37 eliasr left
zengargoyle oh, maybe i have to install the *-dev package to get the symlink... 03:38
duh
03:40 xpen joined
zengargoyle crosses fingers and waits 03:41
geekosaur that would be usual, yes 03:44
thing is, ideally you would be using the versioned one
because a different version may not be compatible (see for example ncurses 6) 03:45
especially for something like nativecall, you probably want to know what API version you are working with
zengargoyle bah! Disallowing packages: libdatrie-dev 03:46
zengargoyle wonders how important the flashy badge is. :P 03:47
dalek c: fb75c43 | (Brock Wilcox)++ | doc/ (8 files):
Find all the references to curly braces and make them consistent
03:48
c: 00fc350 | (Zoffix Znet)++ | doc/ (8 files):
Merge pull request #186 from awwaiid/curly-braces-consistency

Find all the references to curly braces and make them consistent
03:53 aborazmeh joined, aborazmeh left, aborazmeh joined 03:56 raiph left
dalek osystem: 3c1da1c | zengargoyle++ | META.list:
Add Algorithm::Trie::libdatrie

See: github.com/zengargoyle/p6-Algorith...-libdatrie
03:57
awwaiid Zoffix: is there some strategy I should be using for contributing to docs? My default is to just do lots of small PRs so they can be discussed individually, but I don't want it to be annoying if I get on a roll 03:59
dalek c: 03e112e | (Brock Wilcox)++ | doc/ (2 files):
Fix a few links
04:00
c: fc36d45 | (Zoffix Znet)++ | doc/ (2 files):
Merge pull request #187 from awwaiid/fix-links

Fix/add a few links
geekosaur wonders if he should write something up on the whole shared object thing; the API information in the version number is rather important...
zengargoyle any NativeCall wizards maybe peek at github.com/zengargoyle/p6-Algorith...-libdatrie and let me know if there's anything i could do better. 04:02
awwaiid Zoffix: also, for like the sections in Language/syntax at the bottom (declaration, sub calls, etc), is it OK to PR partial work? Like code example snippets without all the prose. 04:03
zengargoyle and/or method to pull down source and build a library.so during installation. (thinking of Linenoise like) 04:04
04:07 nys left
Zoffix awwaiid, not sure what you mean, but sure, partial work is fine. We need a lot of help :) 04:07
04:10 tokuhiro_ joined
geekosaur hm, actually ncurses 6 was a bad example, they went out of their way to keep the aspects of the API that NativeCall uses the same. (unless someone is actually grotting around inside WINDOWs) 04:10
04:11 kaare_ left
geekosaur but API changes in many new library major versions will break scripts assuming that is native("foo") loading foo.so -> foo.so.latest is actually whatever API version they were expecting 04:11
for example the gnome3 devs have a history of changing stuff constantly with no regard whatsoever for backward compatibility 04:12
openssl < 1.0 would be another example, although 1.x versions have some API stability 04:13
(openssl < 1.0 was a pathological case, in fact, since the API/ABI was not guaranteed to be compatible even between point releases) 04:14
04:25 mr_ron left 04:34 adu joined 04:35 raiph joined 04:36 aborazmeh left 04:39 xpen left
awwaiid Zoffix: ok cool. I'll keep sending PRs as I make changes. 04:40
04:40 xpen joined 04:45 mr_ron joined
zengargoyle i'm hoping that is native('libfoo') is just some simple case and maybe there's is native('libfoo' :ver('1.2')) or something. 04:50
dalek c: 7fc6c40 | (Brock Wilcox)++ | doc/Language/syntax.pod:
Add some further stubs for syntax sections
04:52
c: cecbf7a | LLFourn++ | doc/Language/syntax.pod:
Merge pull request #188 from awwaiid/syntax-additions

Add some further stubs for syntax sections
zengargoyle i also wonder if there's a way to apply is native('foo') to a scope, it gets tiresome to cut/paste all of those is native blah onto every sub.
04:54 skids left
zengargoyle well, it seems you can do is native('libfoo.so.1') and it works.. wonder if that still gets the automagic libfoo.dll on windows that way? 05:02
05:20 adu left 05:21 raiph left 05:22 sprocket left
dalek c: 0046d89 | (Brock Wilcox)++ | doc/Language/syntax.pod:
Clarify Hash literal syntax. Expand on other things.
05:32
c: 8058cb7 | LLFourn++ | doc/Language/syntax.pod:
Merge pull request #189 from awwaiid/syntax-additions

Clarify Hash literal syntax. Expand on other things.
05:33 mr_ron left 05:38 CIAvash joined 05:40 _28_ria left, baest joined
zengargoyle hrm... $ panda --notests installdeps . 05:49
resolve stage failed for .: Project . not found in the ecosystem
yay! travis-ci passing obtained. 05:55
05:57 BenGoldberg left 05:59 xfix joined 06:16 khw left 06:25 [Sno] left 06:31 [particle] joined 06:32 [particle]1 left 06:39 MadcapJake left 06:54 tardisx left
masak morning, #perl6 06:54
yoleaux 8 Nov 2015 20:15Z <retupmoca> masak: I PR'd HTML::Template to make some warnings go away: github.com/masak/html-template/pull/12
masak retupmoca: looks good. merged. 06:55
geraud m: my $s; for "\x1F000" .. "\x1F021" -> $c { $s ~= $c x 4;}; say $s.comb.pick(14).perl; 07:01
camelia rakudo-moar 460d89: OUTPUT«("🀄", "🀗", "🀈", "🀔", "🀠", "🀃", "🀎", "🀁", "🀟", "🀆", "🀔", "🀙", "🀒", "🀂").Seq␤»
geraud nice...
07:02 mr-foobar left, mr-foobar joined, diana_olhovik_ joined 07:03 geraud left
masak tasks geraud with implementing mahjong in Perl 6 07:10
[Tux] test 50000 22.665 22.553
test-t 50000 18.781 18.669
masak moin, [Tux]
[Tux] o/ 07:11
masak [Tux]: remind me -- what's the difference between 'test' and 'test-t'?
is the second-last column "yesterday" and the last one "today"?
[Tux] test is the original implementation without feature, only changed to keep working after GLR and the like 07:12
test is the full-featured module itself
masak ...and so what we're seeing is a slight (statistically insignificant?) speedup in both benchmarks?
[Tux] the second-last column is runtime, the last is runtime with startup subtracted
no news today. this is all within noise 07:13
masak aha. 07:14
ok, so all the numbers are about today. got it. 07:15
07:30 mr_ron joined 07:31 xfix left 07:38 FROGGS joined 07:39 mr_ron left
masak general question: how would you spell an array concatenation operator? 07:43
(if you were defining it lexically in your program, say)
07:44 sjohnson left
masak I wanted to go with infix:<++> in 007... but since 007 is less whitespace-sensitive than Perl 6, that would clash with any postfix:<++> people would introduce. 07:44
and I do think postfix:<++> has a better claim to that slot.
currently I'm so out-of-suggestions that I'm thinking of just giving up and making it a sub: `concat(a1, a2)` 07:45
walk & 07:47
07:48 RabidGravy joined 07:51 _mg_ joined
moritz \o 07:54
07:57 telex left 07:58 telex joined
RabidGravy marning 08:02
DrForr Just barely... 08:03
08:09 abraxxa joined, owlbird left
RabidGravy amazing, every year there's an RT, an email, a git hub issue or some other communication about the license of Term::ReadKey 08:12
every time I reply that I have absolutely no way of knowing what the intent of the original author was beyond the actual words in the files 08:13
08:14 rarara left, darutoko joined
moritz what do they complain about? 08:20
RabidGravy well, when I took on the maintenance of the module some fifteen years the original author had "disappeared" completely, the only license statement in the module was "Unlimited distribution and/or modification is allowed as long as this copyright notice remains intact." and the (C) ..... 08:28
previously I've had IP lawyers from Boeing, VMWare and all sorts of people getting confused because that didn't resolve to a "named open source license form" 08:29
and I've consistently said that's the license, in order to preserve what I see as the original intent I wasn't going to change it 08:31
moritz ah, fun 08:33
sounds pretty similar to the MIT license
RabidGravy yeah
08:34 pdcawley joined 08:36 ely-se joined
RabidGravy anyway, some point in the last year because I was frankly getting bored of all this, I changed the README stating that you could choose to either accept the original terms or the Artistic license 08:40
now I've got some guy saying the Artistic isn't as permissive as the original terms. WELL DUH 08:43
ACCEPT THE ORIGINAL TERMS
moritz [ ] you read what I wrote
RabidGravy :) 08:46
abraxxa morning guys!
masak abraxxa: mornin'
RabidGravy marnin 08:47
masak hesitates between Perl's `elsif` and Python's `elif`, and realizes he finds `else if` more defensible syntactically 08:49
and on a Q level, allowing the `else` branch to contain either a Q::Block or a Q::Statement::If
moritz m: if 0 { } elsif my $x = 42 { }; say $x 08:50
camelia rakudo-moar 460d89: OUTPUT«42␤»
masak m: if 1 { } elsif my $x = 42 { }; say $x 08:51
camelia rakudo-moar 460d89: OUTPUT«(Any)␤»
moritz masak: as long as the else branch itself doesn't introduce a new scope, that's fine
and I guess it doesn't, because it's not a Block
dalek kudo/curli: 289fdc5 | jnthn++ | src/core/ (2 files):
Sinking an unsuccessful Proc should throw.

This means `run` anad `shell` in sink context will not fail silently if they are not successful.
masak indeed.
kudo/curli: 9fad7b4 | lizmat++ | src/core/Str.pm:
Fix several issues reported by Tux++
kudo/curli: 13d56d1 | lizmat++ | src/core/ (3 files):
Merge branch 'nom' into curli
moritz masak: C takes this approach; there's no real "else if", but it falls out of "else" accepting either a block or a statement 08:52
masak as does Java. and probably others.
dalek Heuristic branch merge: pushed 43 commits to rakudo/curli by lizmat
masak one advantage: easier to write code crawlers.
moritz: the only "sacrifice", model-wise, is that statements don't usually occur contained in something else like that, except in Q::StatementList
masak does a double take on the word "sacrifice", and finds that he digs it immensely as a modeling term -- kind of reminiscent of HPMoR sacrificial rituals 08:53
as in "pay attention to what the consequences are down the line of you making this decision" 08:54
08:55 ollej left 09:01 [Sno] joined 09:05 lab__ left 09:06 andreoss joined 09:10 robertmeta left 09:11 zakharyas joined
dalek osystem: 80d1688 | loren++ | META.list:
Update META.list

update module name to Net::FTP
09:15
osystem: f0a9673 | RabidGravy++ | META.list:
Merge branch 'master' of github.com/araraloren/ecosystem
09:21 dakkar joined 09:30 pippo joined 09:31 mr_ron joined 09:35 Psyche^ left 09:36 eliasr joined, Psyche^ joined 09:44 TEttinger left
lizmat good *, #perl6! 09:47
and another day that will see a Perl 6 Weekly!
so if you think you know something that should be in the P6W, let me know!
I'll probably publish in about 10 hours from now
moritz good morning, lizmat 09:48
masak moin, lizmat
lizmat moritz masak o/ 09:49
masak .oO( upload.wikimedia.org/wikipedia/com...Moritz.JPG )
lizmat an oldy but goody :-) 09:51
mrf lizmat: how does one sign up for the p6 weekly 09:53
lizmat mrf: there is no mailing list, just a website: p6weekly.wordpress.com 09:54
mrf lizmat: that works for me.
mrf bookmarks
moritz mrf: it's also on the pl6anet.org RSS feed 09:56
masak and surely the p6weekly has its own RSS feed too 09:57
lizmat masak: I have no idea, but guess so 09:58
CIAvash p6weekly.wordpress.com/feed/
masak stray Monday thought: the way operators work in Perl 6 (as "funnily-spelled routines") is quite cute/ingenious/wonderful, but... whoever came up with that did not have macros in mind. :)
mst masak: how so? 09:59
masak mst: let me quickly walk you through why it's brain-melty.
mst: using traits like `is looser(infix:<+>)`, the operators specify their precedence (and associativity) 10:00
mst: now, imagine a world where you can inject an *operator* into an expression. the exact operator is not known until macro injection time.
mst: usually, quasi-quote-like constructs create an AST with "holes" representing the things we haven't inserted yet. 10:01
mst: but with precedence/associativity hanging off the *operator* as in Perl 6, we can't even meaningfully form the tree until we have the operator.
mst: the best we can do is say "hm, we have these terms, operators, and various holes in a sequence" 10:02
and then form the tree once we have the operator in question.
moritz so the problem is that 1 mymacro 2 + 3 could mean (1 <thinginjectedfrommyamcro> 2) + 3 or 1 <thinginjectedfrommyamcro> ( 2 + 3) ?
masak yeah. 10:03
moritz then I'd form the tree based of the precedence and associativity of the macro
masak though you're in the wrong place. it's not about macros; it's about unquotes ({{{ }}})
they're like the parameters of the AST world.
in that we don't have them until later, when a (macro) call is made and we eval the quasi. 10:04
moritz because the precedence etc. is a lexical property, so it's fitting to be tied to the macro that's called, not to its result
masak it's not about macros, it's about unquotes. 10:05
you're right, of course. if the macro is an operator, it should work just like a sub.
that much is clear, and a non-issue.
moritz masak: could you please give an example+
s/\+/?/
masak the situation is more like this (syntax conjectural and 007): `1 {{{myop @ Q::Infix}}} 2 + 3` 10:06
(inside a `quasi { ... }`)
and myop could be tighter or looser than +
timotimo i could totally see forcing parens directly around the arguments of a quasi'd infix op
as a "please, dear user, understand our plight" thing
masak yeah, maybe there's some nice compromise there.
timotimo++ # suggestion
moritz or infix:<{{{ }}}> having a fixed precedence 10:07
just like any other infix operator
masak hm.
also a worthy suggestion.
moritz (though I have no idea what a sensible precende for a generic infix woudl be)
*precedence
masak "tighter than everything" :)
timotimo or you could allow the user to put a precedence into the {{{ }}}
masak timotimo: yes, that has occurred to me too.
timotimo Q::Infix:like<+>
vs Q::Infix:like<*> 10:08
masak `is equal(infix:<+>)`, surely
timotimo that's a bit wordier, but the same meaning i meant
masak aye
(plus or minus a & in Perl 6) :)
timotimo i meant to mean that, too!
moritz so, not an unsurmountable problem, just one more thing[tm] to keep in mind/decide/implement 10:09
masak ok, I feel we've successfully de-teethed another dragon here which be. :) 10:10
here be which*
10:10 Actualeyes left
masak thank you for responding positively to my macro-related /me -- mst++ moritz++ timotimo++ 10:11
lizmat All tests successful. 10:12
Files=1071, Tests=49722, 234 wallclock secs (12.70 usr 3.74 sys + 1428.79 cusr 129.70 csys = 1574.93 CPU)
timotimo sure :)
dalek kudo/nom: ac750a9 | lizmat++ | src/core/Buf.pm:
Make Blob/Buf.list 25% faster
mst I think I might have unqoutes binds -loosely- so people have to explicitly () 10:13
i.e.
(1 mymacro 2) 10:14
easier to add quotes around the macro than around everything else
er
I mean (1 {{{ thing }}} 2)
CIAvash Is it possible to provide the MAIN's arguments processing as a core module?
dalek href="https://modules.perl6.org:">modules.perl6.org: ecf43bf | timotimo++ | web/index.tmpl:
move some scripts and sprite.css to the head section
timotimo CIAvash: what do you mean by "core module"? 10:15
lizmat: hm, IterationBuffer doesn't like having the contents of an int-typed VMArray nqp::splice'd into it? 10:16
andreoss masak: yapsi works again with my PRs
lizmat timotimo: you mean, I broke something ?
CIAvash timotimo: I read perlgeek.de/blog-en/perl-6/how-core-is-core.html but I'm not sure. But something like Date or Test
timotimo no, i was wondering why you don't do it like that :)
Date is not something you "use", it's "always there" 10:17
andreoss tardis does too, but returns statement in backward order for some reason
masak andreoss: thanks -- merged!
lizmat timotimo: because this way was faster ?
masak mst: good point.
CIAvash timotimo: You'r right, it's a type
timotimo lizmat: ah, cool
CIAvash: i think if you "use" a module that exports a MAIN_HELPER (or something?) it would end up being called instead of the one you get by default from the core setting
masak mst: actually, I might consider dying (at parse time) whenever there's *any* ambiguity. so (in a sense) unquoted operators would have no precedence, or Chthulu precedence. 10:18
mst masak: ooh, yes, and better still you can start off doing that and back off the die()s later without breaking anything working
pink_mist please tell me Chthulhu precedence is an actual thing :P
moritz wants it too 10:19
timotimo too
moritz but it should mean random precedence, really
moritz cackles evilly
timotimo i think it should actually mean "always the wrong precedence"
10:19 mr_ron left
mst nah, I think "when precedence of this thing is required, Cthulhu happens" 10:19
timotimo because with random precedence you have the random chance of making the programmer happy
masak what mst said.
10:19 eternaleye left
mst I love this concept. 10:19
masak it means "you said you wanted this, and now there will be unworldly, abject pain"
the Chthulu that can be described is not the true Chthulu 10:20
mst the Cthulu that can be compiled is not the true Cthulhu
therefore all must die
pink_mist mst: you were up when I went to bed some 7-8 hours ago ... you're still up? 0_o
10:20 Actualeyes joined 10:21 llfourn left 10:22 xpen left 10:23 xpen joined, dayangkun left 10:24 CIAvash left 10:27 CIAvash joined
andreoss how do i pre-compile a module with panda? 10:27
> When pre-compiling a module, its dependencies must be pre-compiled first.
> Please pre-compile /home/andreoss/perl6/moar-nom/install/share/perl6/site/lib/DBIish.pm6
timotimo my last change to modules.perl6.org made it the page load complete in 1.5s instead of 2s! 10:28
CIAvash timotimo: The reason for that idea was that to be able to do something like this: class App { method run (@args) { self.main: process-cmd-args(|@args); multi method main {...} } } 10:29
moritz timotimo++
timotimo another thing that could be done is to put loading the list.min.js file into the head, too
it seems i didn't notice that before
10:30 sprocket joined
dalek href="https://modules.perl6.org:">modules.perl6.org: d2167e0 | timotimo++ | web/index.tmpl:
forgot one more script file: list.min.js
10:31
lizmat andreoss: presently, panda does not precompile anymore (afaik)
RabidGravy didn't last time I looked
timotimo andreoss: it looks like you have some wildly outdated .moarvm files or something
like, at least 2 months old 10:32
BBIAB
RabidGravy ooh a git update 10:33
timotimo andreoss: if you require precompilation, you can use zef to install your modules 10:34
it's on github under ugexe/zef
flussence has a nasty `find` command to precompile stuff: 10:36
find $install/share/perl6/site/lib/ -name '*.pm' -exec bash -xc 'test -f {}.moarvm || perl6 --optimize=3 --target=mbc --output={}.moarvm {}' \;
(takes 3-4 iterations, but it works...) 10:37
masak one thing that annoys me about Perl 6 script arguments right now is that I can do -e'say 42' or -e 'say 42' with Rakudo, but with a Perl 6 *script* I have to write it as -e='say(42)' (with the `=`) 10:38
the asymmetry annoys me.
e.g. `perl6 bin/007 -e='say(42)'`
I don't know of a reason it *has* to be the way it currently is, save maybe for "spec says so" 10:39
and I posit that allowing -e'say(42)' would harm no-one and make the experience better for those who want it :) 10:40
pink_mist what's bin/007?
flussence lotsa things about MAIN annoy me. it works pretty well for 80% of cases but it's ugly for the other 80%
masak pink_mist: masak.github.io/007/ github.com/masak/007 10:42
flussence: yes, I have the same experience.
flussence: I do think it's just a matter of polishing it further, though.
flussence: I don't think a raging revolution is called for. just incremental improvements. 10:43
pink_mist masak: so it's a script? looks to me like bin/007 should get the -e='say(42)' argument? not the perl6 interpreter/vm
masak pink_mist: correct.
flussence agreed. I've seen most of the language at "80% done" at one point or another. It'll get much better in the end :) 10:44
masak pink_mist: what feels inconsistent to me is that Rakudo has this nice -e'...' shortcut, but Perl 6 scripts need to do it like -e='...'
mst won't "-e '...'" work? 10:45
10:46 ely-se left
flussence mst: MAIN is kind of primitive. that just sets boolean :$e and a positional arg right now. 10:47
masak mst: no :( but I'd like it to. 10:50
CIAvash There is a TODO comment in Main.pm: # * Allow both = and space before argument of double-dash args
masak both forms -e'...' and -e '...' should work.
flussence (and "primitive" is putting it mildly - `panda list --installed` doesn't work, `panda --installed list` does)
masak I don't care what happens to the -e='...' form
flussence: ah, yes. that one annoys me to no end as well.
flussence: "please put your named arguments *first*!" (as opposed to named parameters in Perl 6 routines, which have to be after the positionals, and named Perl 6 arguments, which can occur anywhere) 10:51
timotimo now my chrome says "load: 1.21s, domContentLoaded: 1.28s" 11:01
11:04 azawawi joined
azawawi hi #perl6 11:04
timotimo heyo azawawi!
masak hi azawawi 11:05
azawawi is working on github.com/azawawi/language-perl # atom's Perl 6 syntax highlighting
timotimo awesome!
El_Che does it include 5?
azawawi one bug caught my idea... but it is rather severe in windows perl 6 repl
El_Che: yes
El_Che nice
azawawi El_Che: im just modifying it to accept start-from-here or is-required ... so it does not highlight keywords 11:06
perl6 repl gets stuck after evaluating 'sub foo { say "1"; }; foo();' 11:07
timotimo "start-from-here"? "is-required"?
azawawi timotimo: sub start-from-here { ... } 11:08
timotimo: that's legal in Perl 6, right?
timotimo oh
that's right
azawawi timotimo: sub is-required { ... }
timotimo i thought those were supposed to be Actual Things 11:09
azawawi confirmed... perl6 windows repl gets stuck after executing " sub foo() { say 1; }; foo;" twice... like it is expecting input or something 11:11
any ideas?
timotimo :o
you can attach gdb to it and see what the backtrace says? 11:12
flussence tries running browser profiler on the modules page, gets an OOM 11:14
azawawi interesting 11:20
m: sub is-1 { ... } 11:21
camelia rakudo-moar ac750a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Eqa0cC8tDp␤Missing block␤at /tmp/Eqa0cC8tDp:1␤------> 3sub is7⏏5-1 { ... }␤ expecting any of:␤ new name to be defined␤»
azawawi m: is-1;
camelia rakudo-moar ac750a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/S4a7TGI456␤Undeclared routine:␤ is used at line 1␤␤»
azawawi that's not right
is-1 is not a valid routine name right?
RabidGravy I didn't think so
flussence hyphens are only valid between letters iirc
std: sub is-1 {...} 11:22
11:22 camelia left, Zoffix left, Zoffix joined
azawawi so basically the message "Undeclared routine" is not correct? 11:22
11:22 _mg_ left 11:23 camelia joined
RabidGravy other wise 11:23
m: sub foo { 10 }; say foo-1
wouldn't be possible 11:24
camelia std : OUTPUT«Can't chdir to '/home/camelia/std/snap': No such file or directory at lib/EvalbotExecuter.pm line 171.␤ EvalbotExecuter::_auto_execute(HASH(0x26c6218), "sub is-1 {...}", GLOB(0x260e8e0), "/tmp/TvW36K2DdN", "std") called at lib/EvalbotExecuter.pm line 119␤ EvalbotExe…»
11:24 ChanServ sets mode: +v camelia
camelia rakudo-moar ac750a: OUTPUT«9␤» 11:24
RabidGravy there there 11:25
obviously, though
azawawi yeah confusing but you're right... the message is right
RabidGravy m: sub foo { 10 }; sub bar { 1 }; say foo-bar;
camelia rakudo-moar ac750a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Js_sdWbm8S␤Undeclared routine:␤ foo-bar used at line 1␤␤»
flussence std: hello?
11:25 camelia left
RabidGravy tricky 11:25
azawawi after working with syntax highlighting regexes, this obviously happens to one :)
flussence guess it's dead... 11:26
11:27 camelia joined
azawawi i guess we should have required routine() syntax to remove the ambiguity... 11:27
so many special cases for Perl 6 lol
timotimo ah, you mean like routine(foo-bar)(1, 2, 3)? :P
dalek kudo/nom: d175d00 | lizmat++ | src/core/IO/Handle.pm:
Checking for eoffh should be enough
11:28
timotimo routine(say)("hello, azawawi!"); routine(say)(1 routine(+) 2)
camelia std : OUTPUT«Can't chdir to '/home/camelia/std/snap': No such file or directory at lib/EvalbotExecuter.pm line 171.␤ EvalbotExecuter::_auto_execute(HASH(0x26c6218), "hello?", GLOB(0x3da7400), "/tmp/lrriqcsF22", "std") called at lib/EvalbotExecuter.pm line 119␤ EvalbotExecuter::_…»
11:28 ChanServ sets mode: +v camelia
azawawi timotimo: i meant to require a () for a routine call like javascript and other languages... 11:29
timotimo: while it is fun, it has edge cases where it does not work 11:30
timotimo :)
11:31 ely-se joined
azawawi github.com/azawawi/language-perl/c...9b477f160d # tests 11:32
11:33 mr_ron joined, g4 joined, g4 left, g4 joined
azawawi the whole a routine can be inside an identifier if a dash is involved is funny :) 11:33
11:34 Skarsnik joined
azawawi given that we have a lot of keywords and word operators i bet there is some cases we didnt cover 11:34
s/is/are 11:35
Zoffix Woohoo \o/ It's a win for OCD :) github.com/araraloren/Net-Ftp/issues/11 11:36
azawawi Zoffix: re the datatables idea, i could work on the frontend/backend since i already have done for countless web projects... :) 11:37
Zoffix azawawi, too late :D I already started. And depending on how awesome Fallout 4 will end up, we'll see the final product in a couple of days :P 11:39
azawawi Zoffix: then we wont see anything :)
Zoffix hahaha
azawawi blames his open source laziness on world of warcraft 11:40
11:41 Actualeyes left
jnthn afternoon, #perl6 11:42
yoleaux 8 Nov 2015 22:27Z <lizmat> jnthn: when thinking about VM level chomping, I was thinking that chomp would be a VMIO attribute
8 Nov 2015 22:29Z <lizmat> jnthn: is there a reason for not making chomp a VMIO level attribute ?
11:42 kensanata joined
timotimo greetings jnthn! 11:42
lizmat jnthn o/
jnthn: please also see my remarks on #moarvm 11:43
11:43 weihan joined
jnthn lizmat: The VM interface is already complex enough; I don't think there's any compelling performance reason to push the "chomp or not" decision there 11:43
There's not likely to be a performance win.
11:44 Actualeyes joined
lizmat ok, then remains this: 11:44
$ 6 'spurt("one","\n"); say open("one").get'
(Str)
I would expect an empty line there
jnthn Is that a behavior change?
If so, it wasn't tested.
lizmat well, yes, because before we would *always* get the line ending 11:45
and *then* chomp
so you could check nqp::chars
jnthn Right, thus why I did the "check eof" change
lizmat yes, but eof is already set apparently
so it reads the line, notices it is at the end of the file, sets the eoffh flag, then returns the (possibly) chomped line 11:46
at the other end, it sees the eoffh flag set and no chars, so done 11:47
jnthn iirc there isn't actually an "eof flag" in syncfile
11:47 rindolf left
jnthn That's quite possibly going to change 11:47
lizmat anyway, I'll add a test :-) 11:48
jnthn OK. Remember to mark it todo 11:49
lizmat yeah... :-)
jnthn And then if other I/O refactors happen to fix it then we'll notice.
11:50 sprocket left, xpen left 11:52 FROGGS left 11:56 sufrostico joined 11:58 ely-se left 12:01 dolmen joined
dalek ast: 51c0632 | lizmat++ | S16-io/lines.t:
Add some more line ending tests
12:01
12:01 ely-se joined 12:07 _mg_ joined 12:14 Hor|zon joined
azawawi github.com/atom/language-perl/pull/56 # Better highlighting PR for atom :) 12:15
12:20 mr_ron left 12:21 pippo left 12:23 azawawi left
lizmat All tests successful. 12:27
Files=1071, Tests=49977, 233 wallclock secs (12.88 usr 3.73 sys + 1433.93 cusr 130.67 csys = 1581.21 CPU)
^^^ just because it feels good 12:28
jnthn Also, looks like we'll be able to say that 6.c has more than 50,000 tests :)
dalek kudo/nom: 93f8992 | lizmat++ | src/core/IO/Handle.pm:
Streamline IO::Handle.get a bit more

Don't check for EOF always first, only *after* having tried to read
  *and* only when no chars were returned
12:29
lizmat jnthn: working on that :-) 12:31
jnthn has 15 new tests locally also :) 12:32
lizmat jnthn: do you have an opinion about IO::Handle.ins ? 12:35
I think it should die: in these days of lines.kv, we don't need the overhead for *all* line based reading
dalek kudo/nom: 65bfb6c | lizmat++ | src/core/IO/Handle.pm:
Streamline IO::Handle.getc, now 2x as fast

This now returns Str upon reaching EOF rather than a fail. Reasons:
  - it is more line with .get returning Str at EOF
  - returning a Str is *much* cheaper than returning a fail
  - checking most likely was for .getc.defined anyway, so that still works
FWIW, no spectest breakage
12:41
12:41 kid51 joined
jnthn lizmat: No particularly strong views either way 12:42
lizmat lemme check the gain and spectest breakage
a loop with .get is 9% faster without the $!ins update 12:47
12:49 kid51 left, CIAvash left 12:50 jevin left 12:51 yqt joined
lizmat jnthn: 3 tests fail in t/spec/S16-filehandles/io.t which specifically test for .ins 12:54
RabidGravy a small LTA :
m: my $a = "jsjsjs {"; for <a b> -> $b { say $b }
camelia rakudo-moar 65bfb6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QteI9KZjBi␤Variable '$b' is not declared␤at /tmp/QteI9KZjBi:1␤------> 3my $a = "jsjsjs {"; for <a b> -> 7⏏5$b { say $b }␤»
lizmat rakudobuggable I would think
12:55 mr_ron joined, brrt joined
RabidGravy I thought I was going stupid, took me ages to work out where the problem was 12:56
lizmat maybe TimToady has a stronger view on IO::Handle.ins
or someone else on the channel 12:57
if not, I'll remove it
12:57 weihan left
ilmari m: my $a = "{ 42"; for <a b> -> $b { say $b } # also LTA error 12:57
camelia rakudo-moar 65bfb6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/m116oiicso␤Two terms in a row␤at /tmp/m116oiicso:1␤------> 3my $a = "{ 427⏏5"; for <a b> -> $b { say $b } # also LTA␤ expecting any of:␤ infix␤ infix stopper␤ stateme…»
ilmari "unterminated block in string interpolation" or somesuch? 12:58
RabidGravy I'll make an RT and put both in
jnthn lizmat: +1 to "see what TimToady thinks"
ilmari m: { 42 12:59
camelia rakudo-moar 65bfb6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QtT7yJq6TZ␤Missing block␤at /tmp/QtT7yJq6TZ:1␤------> 3{ 427⏏5<EOL>␤ expecting any of:␤ statement end␤ statement modifier␤ statement modifier loop␤»
12:59 cognominal joined
ilmari or at least make it the same as that error? 12:59
jnthn Missing block is a tad off there too 13:00
Good errors. They're really darn hard. :-)
ilmari "missing end of block" would be more helpful 13:01
RabidGravy just added an RT #126596 for the first two 13:04
13:06 AlexDaniel left
andreoss m: (1,2,3)>>.WHAT>>.say 13:07
13:07 jevin joined
camelia rakudo-moar 65bfb6: OUTPUT«Memory allocation failed; could not allocate 94208 bytes␤» 13:07
andreoss m: (1,2,3).WHAT>>.say 13:10
ilmari what happened to the linkbot?
camelia rakudo-moar 65bfb6: OUTPUT«Memory allocation failed; could not allocate 94208 bytes␤»
moritz m: say 42
camelia rakudo-moar 65bfb6: OUTPUT«42␤»
13:10 silug left
ilmari m: (1,2,3).>>WHAT.say 13:10
camelia rakudo-moar 65bfb6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/5rXI1v2Jjh␤Missing dot on method call␤at /tmp/5rXI1v2Jjh:1␤------> 3(1,2,3).>>7⏏5WHAT.say␤ expecting any of:␤ postfix␤»
timotimo i wonder if we should replace things in the core setting that "fail foobar" with "return Failure.new(...)" 13:11
ilmari m: (1,2,3)>>.WHAT.say
camelia rakudo-moar 65bfb6: OUTPUT«(List)␤»
ilmari m: ((1,2,3)>>.WHAT).say
camelia rakudo-moar 65bfb6: OUTPUT«(List)␤»
13:11 lucasb joined
andreoss why not (Int Int Int)? 13:11
m: (1,2,3)>>.^name>>.say 13:12
camelia rakudo-moar 65bfb6: OUTPUT«List␤»
andreoss m: (1,2,3).map(*.^name)>>.say
camelia rakudo-moar 65bfb6: OUTPUT«Int␤Int␤Int␤»
jnthn .WHAT is macro-ish; I'm surprised it works at all with >>
(Rather than compile error)
timotimo m: List>>.say 13:13
^ golfed
masak it's weird to call anything method-like "macro-ish". methods are late-bound; macros are very very early.
camelia rakudo-moar 65bfb6: OUTPUT«Memory allocation failed; could not allocate 8192 bytes␤»
lucasb hmm, it looks method-ish, but it's not 13:14
masak something like that.
people have been known to say that `.WHAT` is a postfix operator or something.
maybe that's the way to look at it -- I dunno
13:14 rindolf joined
ilmari m: List>>.who-what-where-now? 13:14
camelia rakudo-moar 65bfb6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/cHD0wsyEMH␤Bogus postfix␤at /tmp/cHD0wsyEMH:1␤------> 3List>>.who-what-where-now7⏏5?␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ statement modif…»
ilmari m: List>>.who-what-where-now
andreoss m: (1,2,3)>>.^name>>.say 13:15
camelia rakudo-moar 65bfb6: OUTPUT«Memory allocation failed; could not allocate 131072 bytes␤»
rakudo-moar 65bfb6: OUTPUT«List␤»
andreoss jnthn: same with .^name?
dalek kudo-star-daily: d14e317 | coke++ | log/ (9 files):
today (automated commit)
13:16
rl6-roast-data: ea620f8 | coke++ | / (9 files):
today (automated commit)
13:17 pippo joined
jnthn masak: The thing that makes .WHAT not just compile into a method call is *very* compile time :P 13:18
13:20 xpen joined
psch jnthn: i've been looking at RT #74414, and the obvious way throws X::Multi::NoMatch for e.g. --"x" 13:22
jnthn: fixing that brought up that find_best_dispatchee might encounter multiple rw-params, and we probably want all listed
masak jnthn: yes -- I see there are two truths in there.
dalek kudo/nom: ea87a8f | coke++ | docs/release_guide.pod:
Move a bit of historical documentation

closer to where it's relevant.
13:23
masak jnthn: one is that .WHAT is special-cased in Rakudo, and thus "macro-ish"
psch jnthn: which in turn needs Binder.bind to also gather all, for consistency's sake
jnthn: is that still reasonable?
masak jnthn: another is that in a Perl 6 program, it's not reasonable to expect to define a "macro method", because methods are not "macro-ish"
RabidGravy m: class Foo { has Str $.1024wx1024h; } # also LTA
camelia rakudo-moar 65bfb6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/g37qNNiLV_␤Cannot declare an anonymous attribute␤at /tmp/g37qNNiLV_:1␤------> 3class Foo { has Str $.7⏏051024wx1024h; } # also LTA␤»
13:23 stmuk_ joined
masak by syllogism, .WHAT can't be a method call, but we knew that ;) 13:23
RabidGravy is there a way in code to determine whether a string contains a valid perl identifier to stop that happening? 13:25
jnthn psch: one moment, debugging something odd here... :)
13:26 stmuk left, kjs_ joined
Skarsnik Hello, hm, does Global (or something else?) contain a way to find what symbol does a particuliar role? 13:27
13:28 aborazmeh joined, aborazmeh left, aborazmeh joined
moritz m: say Int ~~ Numeric 13:28
camelia rakudo-moar 65bfb6: OUTPUT«True␤»
moritz oh, you want it the other way?
RabidGravy ah 13:29
m: say "x1024wx1024h" ~~ /^<.ident>$/
camelia rakudo-moar 65bfb6: OUTPUT«「x1024wx1024h」␤»
RabidGravy m: say "1024wx1024h" ~~ /^<.ident>$/
camelia rakudo-moar 65bfb6: OUTPUT«Nil␤»
Skarsnik It's more without knowing them, I want to find the classes loaded/defined that does 'something' 13:30
moritz m: .say if CORE::($_) ~~ Numeric for CORE::.keys for Skarsnik
camelia rakudo-moar 65bfb6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wC6WrqPBpu␤Missing semicolon␤at /tmp/wC6WrqPBpu:1␤------> 3RE::($_) ~~ Numeric for CORE::.keys for 7⏏5Skarsnik␤»
moritz m: .say if CORE::($_) ~~ Numeric for CORE::.keys # for Skarsnik
camelia rakudo-moar 65bfb6: OUTPUT«SIGSEGV␤SIGHUP␤PromiseStatus␤Duration␤Broken␤FileChangeEvent␤UInt64␤Order␤RatStr␤Numeric␤SIGPIPE␤Instant␤SIGBUS␤SIGWINCH␤SIGXFSZ␤SIGILL␤π␤FileRenamed␤SIGUSR2␤Lexical with name '$init-time-num' has a different type in …»
moritz Skarsnik: ^^ something along this line
Skarsnik: I'm but in general, this is a very bad idea
it might be justifiable for a debugger or an IDE, for example 13:31
but for "normal" code, it's an anti pattern
Skarsnik Yes, that look slow
RabidGravy Skarsnik, see also Module::Does github.com/tony-o/perl6-module-does/ 13:32
moritz not just speed; it breaks encapsulation
RabidGravy this may well do the same thing under the hood
13:32 pippo left
[Coke] belatedly waves at autarch 13:33
Skarsnik RabidGravy, I don't understand at all this module actually x) I have no idea how it supposed to be used
dalek c: 3c6b9d2 | (Brock Wilcox)++ | doc/Language/syntax.pod:
Remove links from headers
13:35
c: b7b41e1 | RabidGravy++ | doc/Language/syntax.pod:
Merge pull request #190 from awwaiid/syntax-links

Remove links from headers
lucasb m: CORE::('$init-time-num') 13:39
camelia rakudo-moar ea87a8: OUTPUT«Lexical with name '$init-time-num' has a different type in this frame␤ in block <unit> at /tmp/q8vJ0vD6yq:1␤␤»
RabidGravy tadzik, you about?
lucasb I was exploring moritz's eval and run into this ^^ 13:40
tadzik RabidGravy: ya
andreoss m: class Foo { has $.x is required } ; Foo.new
camelia rakudo-moar ea87a8: OUTPUT«The attribute '$!x' is required, but you did not provide a value for it.␤ in block <unit> at /tmp/eieEvHUtzI:1␤␤»
andreoss is this message correct? why not '$.x'? 13:41
lizmat andreoss: the internal name of an attribute is always with !
13:41 advwp left
lizmat the $.x in the declaration merely indicates it should create an accessor for it, thus making it public 13:42
jnthn has $.x means "declare $!x and declare an accessor method"
RabidGravy tadzik, yo! Would you be interested in a further PR for JSON::Unmarshal that introduces a "json-name" trait? I'm looking at some JSON here with very Perl unfriendly attrribute names :) 13:43
13:43 Some-body_ joined
RabidGravy i,e, the mixcloud API has a "pictures" structure with "1024wx1024h", "320wx320h", "640wx640h" and "768wx768h" as names 13:44
dalek ast: 6cf4972 | jnthn++ | S32-str/utf8-c8.t:
Add tests for new UTF-8 C-8 encoding.

We'll use this to allow any 8-bit octet stream from the OS to be held in a Str, so we can round-trip non-UTF-8 filenames, environment vars, etc.
timotimo github.com/MoarVM/MoarVM/issues/193 -- for those who recently worked on newline stuff, please have a quick look. doesn't seem like MoarVM's issue tracker's the right place for at least half of that bug 13:45
[Coke] wonders if there's a way to make irssi not lose all backscroll when there's too much backscroll. I want it to leave the last page worth so I can know where to start reading on the logs.
psch m: sub f($a is rw, $b is rw) { }; f 1, 2
camelia rakudo-moar ea87a8: OUTPUT«Parameter '$a' expected a writable container, but got Int value␤ in sub f at /tmp/ha0UTLmdH4:1␤ in block <unit> at /tmp/ha0UTLmdH4:1␤␤»
dalek ast: 1b7676d | lizmat++ | S16-io/lines.t:
Add test for multiple line endings
13:47
timotimo m: say uniname("") # LTA error. someone want to rakudobug (and search if there's already an RT open?)
camelia rakudo-moar ea87a8: OUTPUT«Cannot unbox a type object␤ in block <unit> at /tmp/Cn3fnQXTM_:1␤␤»
psch hm, thinking about it my main concern is actually efficiency, but walking through all params again in Binder.bind after we encountered one with insufficient rwness doesn't really matter there anymore, 'cause we're on a fail path already 13:48
jnthn timotimo: Well, we won't do the "paragraph mode" magic just for setting an empty string :) 13:49
Also, it doesn't seem to be a test against latest anyway 13:50
As the nl => 'ee' bit was fixed recently
Which makes me question to rest of it too
It also wants an API change that isn't going to happen. 13:51
lizmat All tests successful. 13:52
Files=1070, Tests=50009, 245 wallclock secs (12.62 usr 4.31 sys + 1406.00 cusr 131.27 csys = 1554.20 CPU)
:-)
13:52 DarthGandalf left, Some-body_ is now known as DarthGandalf, risou is now known as risou_awy 13:53 risou_awy is now known as risou
jnthn :-) 13:53
timotimo jnthn: right, that bug is a bit old already
jnthn ah
I'd check if any of it still holds
And if so file that in RT
The only bit that may afaict is what setting the sep as "" means 13:54
timotimo i'm willing to just say "rejected as 1) not a MoarVM thing (any more), b) too much stuff in a single ticket"
setting the sep to "" will just give you .comb-like behavior, obviously :P
13:54 kmel_ joined
jnthn Well, there was one moar bug but it got fixed 13:54
tadzik RabidGravy: sounds good :)
dalek href="https://modules.perl6.org:">modules.perl6.org: 0cf1494 | (Zoffix Znet)++ | web/index.tmpl:
Move JS and non-essential CSS back to the end of page

See this discussion: github.com/perl6/modules.perl6.org...t-14273618
tadzik RabidGravy: and reminds me of Go
timotimo thank you, Zoffix
tadzik where I used it a couple times too
13:54 Koth is now known as KotH
kmel_ +"3"; 13:54
m: +"3#; 13:55
camelia rakudo-moar ea87a8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/U9sLv8I_zD␤Unable to parse expression in double quotes; couldn't find final '"' ␤at /tmp/U9sLv8I_zD:1␤------> 3+"3#;7⏏5<EOL>␤ expecting any of:␤ double quotes␤ prefix␤»
13:55 kjs_ left
kmel_ m: +"3"; 13:55
camelia rakudo-moar ea87a8: OUTPUT«WARNINGS:␤Useless use of "+" in expression "+\"3\"" in sink context (line 1)␤»
ilmari m: say +"3" 13:57
camelia rakudo-moar ea87a8: OUTPUT«3␤»
[Coke] RT: 1060; tests: 12; LTA: 87; WEIRD: 11; NOM: 8; GLR: 7; JVM: 40
timotimo anyway, the moarvm issues list is now like 4 or 5 issues shorter
kmel_ Thanks ilmari
[Coke] whoops: XMAS: 62
13:58 brrt left
RabidGravy tadzik, cool. As it will be the same for JSON::Marshal I'll probably make a separate module that has the actual trait in and use that in both places 13:59
lizmat jnthn: when opening a handle for writing, shouldn't nl-out default to $?NL ? 14:00
14:00 Actualeyes left
jnthn lizmat: It *does*, trouble is the $?NL of the setting 14:01
lizmat: CLIENT::<$?NL> would hopefully work :)
[Coke] m: say "Note that we have 37 days to close those 62 tickets, at { 62 / 37 } per day"
camelia rakudo-moar ea87a8: OUTPUT«Note that we have 37 days to close those 62 tickets, at 1.675676 per day␤»
jnthn lizmat: You can try setting that as the default
[Coke]: /o\
jnthn is at least dealing with one of the hairier ones at the moment :)
[Coke] Sorry. Might have to retriage at some point.
jnthn So will manage at least one today :) 14:02
[Coke] Also, that doesn't count, I assume, tickets created after your initial triage.
Note that I'm doing that until the scheduled december release, which we can consider actually doing on Christmas, if people will be around. that will buy us a few more days.
jnthn [Coke]: Yeah, we'll need to do a re-scan
[Coke]: Some of the tickets will just be resolved with design rulings or an explicit "that's post-6" though 14:03
lunch &
14:05 cxreg left 14:06 cxreg joined
dalek href="https://modules.perl6.org:">modules.perl6.org: 3ac0bc2 | (Zoffix Znet)++ | web/ (2 files):
Move inlined JS to JS file
14:06
[Coke] wonders why locally ".sort({ ... })" works, but ".sort:{ ... }" does not. 14:07
14:08 kmel_ left, skids joined
Ulti jnthn with race() would you expect something like the folloqing to work? (2 .. 1000).race(batch => 250, degree => 4).grep({ (2 .. truncate sqrt $^n).grep($^n %% *).elems == 0 }); 14:11
and return a list?
14:12 advwp joined
Ulti because it used to maybe a month ago, but now just returns an empty list, if you get rid of the .race() it does the right thing 14:12
though might be I am just going insane and it never worked
masak [Coke]: might be the lack of space between `:` and `{ ... }` 14:13
14:15 kmel_ joined
kmel_ m: say ^5; 14:15
camelia rakudo-moar ea87a8: OUTPUT«^5␤»
14:15 Actualeyes joined
kmel_ How do I make the above statement return: 0,1,2,3,4 ? 14:16
nine m: say |^5 14:17
camelia rakudo-moar ea87a8: OUTPUT«01234␤»
kmel_ Thanks nine
lizmat jnthn: why isn't $?NL just an ordinary dynamic like $*NL
with it's default value set up at startup from $*DISTRO ? 14:18
FWIW, using CLIENT::<$?NL> breaks building the restricted setting 14:19
14:22 kaare_ joined, Amnez777 left, Amnez777 joined
[Coke] is processing this file: raw.githubusercontent.com/coke/per...ummary.out , and finding that this seems to pick out the number of failed tests, but then doesn't actually sort: pbpaste | grep aborted | perl6 -ne '.sort({ m/'aborted' <.ws> (d+) <.ws> 'test'/ ; +~$/[0] }).say' 14:23
kmel_ m: say | 0..5; 14:24
camelia rakudo-moar ea87a8: OUTPUT«1..5␤»
[Coke] (er, just processing things after the line with Failure summary, my bad)
14:24 ely-se left
kmel_ m: say | (0 .. 5); 14:26
camelia rakudo-moar ea87a8: OUTPUT«012345␤»
jnthn Ulti: Sounds like a bug, though .race/.hyper are still (a) untested, and (b) exactly the prototype code I wrote in the GLR proof of concept 14:27
Ulti: Where I just made sure I was happy with the API :)
lizmat m: say ^5 .join(",") # kmel_
camelia rakudo-moar ea87a8: OUTPUT«0,1,2,3,4␤»
jnthn Ulti: Feel free to file that example in RT, then it'll make it into the tests :)
Ulti jnthn okedoke, thanks 14:28
kmel_ lizmat how is |0..5 different than |(0..5) ?
14:28 nowan_ is now known as nowan
lizmat kmel_: not, I would say ? 14:29
jnthn Precedence, no?
kmel_ m: say | 0 .. 5;
camelia rakudo-moar ea87a8: OUTPUT«1..5␤»
kmel_ m: say | (0 .. 5); 14:30
camelia rakudo-moar ea87a8: OUTPUT«012345␤»
kmel_ See
lizmat yeah, weird
pink_mist the first one is wrong even ... starts with 1 instead of 0
lizmat m: say Slip.new(0).elems 14:31
camelia rakudo-moar ea87a8: OUTPUT«1␤»
lizmat that's where the 1 comes from, I think
kmel_ jnthn: probably 14:32
lizmat perhaps we should disallow a Slip as a startpoint of a Range ?
like we disallow a Seq to be a startpoint ?
jnthn *shrug* 14:33
Not sure it's common enough to be worth the code, and if it is then why not just disallow any Iterable?
lizmat checks the fallout of that 14:34
14:35 yqt left 14:36 cognominal left
kmel_ Webirc on mobile is like hell :( 14:36
14:36 duncan_dmg joined
kmel_ Anyone tried to compile rakudo on Android? 14:37
Ulti lame my first RT is a huge fail, since it looks at the copy pasted REPL lines starting with > as replies
*sigh* sorry
14:43 brrt joined 14:44 aborazmeh left 14:46 raiph joined 14:47 yqt joined 14:48 ely-se joined, jantore left, sufrostico left 14:49 jantore joined, softmoth_ joined
RabidGravy m: class F { has $.foo.bar }; my $f = F.new(); say $f.foo.bar 14:51
camelia rakudo-moar ea87a8: OUTPUT«Method 'bar' not found for invocant of class 'Any'␤ in block <unit> at /tmp/pgsQdx56Qt:1␤␤»
RabidGravy SooOOOoo, the question is what does it think it is doing with "has $.foo.bar" 14:52
moritz same as (has $.foo).bar maybe? 14:53
Ulti m: say ? - ? 14:56
camelia rakudo-moar ea87a8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pJ5a7R0ccY␤Prefix ? requires an argument, but no valid term found␤at /tmp/pJ5a7R0ccY:1␤------> 3say ? - ?7⏏5<EOL>␤ expecting any of:␤ prefix␤»
lizmat m: sub a(Slip) { say "foo" }; a(|0) # cannot MMD on a Slip :-( 14:58
camelia rakudo-moar ea87a8: OUTPUT«Type check failed in binding <anon>; expected Slip but got Int␤ in sub a at /tmp/uAN7SPwZ92:1␤ in block <unit> at /tmp/uAN7SPwZ92:1␤␤»
jnthn lizmat: That's an argument list, | means something else there 14:59
m: sub a(Slip) { say "foo" }; a((|0))
camelia rakudo-moar ea87a8: OUTPUT«foo␤»
jnthn m: sub a(Slip) { say "foo" }; a(slip(0))
camelia rakudo-moar ea87a8: OUTPUT«foo␤»
lizmat yeah, but the point was to catch | 0..5
as you said, it has become an argument list by that time, so we can't MMD on it 15:00
jnthn Not on an operator though?
m: multi infix:<..>(Slip $s, Numeric $n) { die 'oops' }; say |0..5
camelia rakudo-moar ea87a8: OUTPUT«oops␤ in sub infix:<..> at /tmp/fEOKKd91b_:1␤ in block <unit> at /tmp/fEOKKd91b_:1␤␤»
jnthn Seems to work out OK
Guess you're doing this in Range.new which should also be fine 15:01
But do check the other candidates there
lizmat not getting it to work in Range.new
jnthn What signature are you using?
lizmat i tried both Iterable and Slip 15:02
I guess I'm too tired or something... 15:03
jnthn Well, remember that multi sorting factors in all parameters 15:04
15:04 sprocket joined
jnthn So depending what you pick for the second arg you could get a tie 15:04
15:07 kmel_ left
lucasb m: my Int constant x = 'abc'; say x.WHAT 15:07
camelia rakudo-moar ea87a8: OUTPUT«(Str)␤»
Ulti I'm disappointed dice aren't digits in unicode :'(
lucasb I noticed this usage here: github.com/rakudo/rakudo/blob/nom/...tash.pm#L9 15:08
It's not putting a type constraint in the constant, right? I don't know if it should work or not
15:08 colomon_ joined 15:09 colomon left, colomon_ is now known as colomon
[Coke] m: my @a = 1,2,3); 15:10
camelia rakudo-moar ea87a8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/5aPgZIqZ7e␤Unexpected closing bracket␤at /tmp/5aPgZIqZ7e:1␤------> 3my @a = 1,2,37⏏5);␤»
[Coke] is that a LTA error?
(should we try for paren instead of bracket?)
15:10 firstdayonthejob left 15:12 sufrostico joined
[Coke] ah, my sort problem before is, because I'm abusing -n there. no worries. 15:13
dalek ast: 59686c6 | jnthn++ | S32-str/utf8-c8.t:
Test UTF-8 C-8 used as a file encoding also.

Just to make sure we cover all the code paths for the encoding.
15:15
Ulti is there a way to query unicode meta information from within Perl 6? 15:17
so if I wanted to get all characters in the Number category?
timotimo yeah, we have "uniprop" 15:18
m: say uniprop("1"); say uniprop("a") 15:19
camelia rakudo-moar ea87a8: OUTPUT«Nd␤Ll␤»
timotimo the default is the general category thingie
15:22 sufrostico left, kmel_ joined
kmel_ Wait! You can override operators?! 15:23
jnthn Sure. And define new ones 15:25
kmel_ *newbie in Perl 6 land*
ely-se you can do that in any respectable language that has operators
15:26 espadrine joined, virtualsue joined
kmel_ ely-se oh so it's not something specific to P6? 15:26
timotimo lizmat: please don't disallow iterables as range constructor/operator endpoints unless you have a very good reason to
lizmat: because i like @foo .. @bar to give ranges for @foo.elems .. @bar.elems 15:27
ely-se kmel_: some other languages that have it: C++, C#, Haskell, Lua, Perl 5.
dalek ast: f6a5faa | lizmat++ | S16-io/basic-open.t:
Add test for RT #126598
Ulti m: constant ? = 2; say ?'
camelia rakudo-moar ea87a8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/oxwF_bxg7r␤Missing initializer on constant declaration␤at /tmp/oxwF_bxg7r:1␤------> 3constant7⏏5 ? = 2; say ?'␤»
lizmat timotimo: that idea has been shelved :-)
Ulti cant you use emojii for constants?
15:28 sprocket left
timotimo thanks 15:28
jnthn Ulti: try \ before the name, or failing that term:<emoji>
.u ?
yoleaux U+003F QUESTION MARK [Po] (?)
15:28 sprocket joined
kmel_ So I should use parentheses then? 15:28
In |(0..5) 15:29
andreoss m: constant & = *; say (& * &)(1,2)
camelia rakudo-moar ea87a8: OUTPUT«Use of uninitialized value of type Callable in numeric context in any at gen/moar/m-Metamodel.nqp:1674␤Use of uninitialized value of type Callable in numeric context in any at gen/moar/m-Metamodel.nqp:1674␤Cannot find method 'CALL-ME'␤ in block …»
15:29 muraiki joined
Ulti .u ? 15:29
yoleaux U+003F QUESTION MARK [Po] (?)
15:30 CIAvash joined
kmel_ Did anyone try to compile rakudo on Android? 15:30
15:31 ely-se left
kmel_ Is it doable? 15:31
vytas .u Ȕ 15:32
yoleaux U+0214 LATIN CAPITAL LETTER U WITH DOUBLE GRAVE [Lu] (Ȕ)
vytas awesome :)
15:33 ely-se joined, xpen left 15:34 xpen joined 15:35 xpen left 15:36 xpen joined 15:41 xpen left 15:43 kmel_ left 15:44 virtualsue left 15:47 lucasb left 15:53 silug joined
dalek kudo/nom: 87eb661 | lizmat++ | src/core/Str.pm:
Make sigs on uni* family of subs stricter

So, e.g. 'uniname ""' now returns Str instead of an LTA error message about not being able to unbox a type object.
15:57
[Coke] dwarring? 15:59
also laabs - instead of using say "#" or print "#" in a test file to get diagnostic output, use "diag". 16:00
16:01 yqt left 16:02 kjs_ joined, CIAvash left
ilmari m: say so "0" 16:04
camelia rakudo-moar ea87a8: OUTPUT«True␤»
ilmari m: say so ""
camelia rakudo-moar ea87a8: OUTPUT«False␤»
dalek ast: b9fa40a | coke++ | S32-io/io-spec-win.t:
use diag instead of raw print/say
[Coke] ^^ that test file has many issues on the JVM. It also has just commented out test data which needs cleaning. 16:05
dalek ast: 85f1518 | lizmat++ | S15-unicode-information/uniname.t:
uniname tests wrt to type objects & empty strings
16:06
lizmat jnthn: looks like there are no tests for uniprop whatsoever: is that an oversight, or is it still in flux ? 16:08
jnthn lizmat: Oversight
brrt every time i try perl6 again i'm amazed at its ergonomics 16:09
:-)
16:10 Axord left 16:11 dbrock joined
dalek ast: a37b548 | lizmat++ | S15-unicode-information/unival.t:
unival tests wrt to type objects & empty strings
16:11
16:12 yqt joined 16:16 khw joined, ely-se left
sergot hi #perl6 \o 16:16
lizmat sergot o/ 16:17
16:17 dbrock- joined
dalek ast: dfb702a | lizmat++ | S15-unicode-information/unimatch-general.t:
unimatch tests wrt to type objects & empty strings
16:17
sergot I have a question
lizmat this is #perl6, ask away!
sergot about Camelia :) 16:18
What should I do to get permission to use this logo?
16:18 uruwi left, dbrock left
ilmari sergot: raw.githubusercontent.com/perl6/mu...amelia.txt 16:18
sergot as a cover of a magazine
lizmat "permission is 16:19
granted for non-exclusive use to label anything related to Perl 6,
provided the image is labeled as a trademark when used as a main logo
on a page."
ilmari sergot: ask TimToady if that's not sufficiently clear
16:21 khw left
sergot thanks ilmari++ lizmat++ ! 16:21
zengargoyle good * #perl6 16:23
lizmat zengargoyle o/ 16:24
zengargoyle managed to add Algorithm::Trie::libdatrie to ecosystem after a long and hard fought battle with travis-ci
16:24 khw joined 16:25 brrt left
Skarsnik hm, travis is a build system? I mean how you have Nativecall stuff compile on it? since it need an external lib x) 16:26
lizmat m: say uniname "\r\n" # shouldn't we need to do something for synthethics ?
camelia rakudo-moar 87eb66: OUTPUT«CARRIAGE RETURN (CR)␤»
lizmat the above behaviour is because ord() returns the base character of a synthetic 16:27
jnthn ^^^
16:27 kensanata left
jnthn No, it can have ord semantics 16:27
m: say uninames "\r\n"
camelia rakudo-moar 87eb66: OUTPUT«(CARRIAGE RETURN (CR))␤»
zengargoyle Skarsnik: you fetch source, compile, install, and use LD_LIBRARY_PATH
jnthn That is wrong though
lizmat ok, will look at that then 16:28
jnthn lizmat++
jnthn is about done with the current xmas RT he was working on
Skarsnik zemmihates, ho travis is a tool you use localy?
dalek ast: 717046a | jnthn++ | S32-str/utf8-c8.t:
Another test to cover improved ergonomics.

We spit out valid ASCII bytes as they are, for non-UTF-8-C8 output.
16:29
ast: ee24fab | lizmat++ | S15-unicode-information/uniprop.t:
Add very basic sanity uniprop tests
16:32
zengargoyle i'm eventually going to try to bundle the library and use LibraryMake, it seems simple enough to not really need the automake/configure stuff.
16:33 diana_olhovik_ left
Skarsnik it a wonder there is still thing that use the autotools x) 16:34
16:34 zakharyas left
zengargoyle is now trying to decide if Search::Dict is a good name :P 16:36
for WIP module #2
RabidGravy Sounds good 16:37
16:37 xfix joined
zengargoyle and possibly about Perl 6 ifying Algo::Trie. seems it could do some Associative and Positional and Iterator things in an idiomatic way. 16:38
16:39 _mg_ left, dalek left 16:40 dalek joined, ChanServ sets mode: +v dalek
Skarsnik I was wondering is there some sort of low level call to write this sort of stuff? because it's the kind of stuff you are interested in having stuff aligned in memory or matching the size of the cpu cache 16:40
dalek p: 03b69e4 | jnthn++ | tools/build/MOAR_REVISION:
Get MoarVM with UTF-8 C-8 support.

This means we can now cope with environments, filenames, and so forth that contain things that don't decode as UTF-8.
16:43
kudo/nom: 3fddcb5 | jnthn++ | tools/build/NQP_REVISION:
Bump to get MoarVM with UTF-8 C-8 support.
16:44
ast: 74ea399 | jnthn++ | S32-str/utf8-c8.t:
Tests for RT #125420.
16:45
kudo/nom: f298860 | jnthn++ | t/spectest.data:
Run S32-str/utf8-c8.t (MoarVM only).
16:47
16:53 abraxxa left
jdv79 there's no way to bind inside a list type construction, right? 16:53
my $a my @b = ("bind $ here", 2 ,3); instead of post @b[0] := $a 16:54
*"bind $a"
lizmat m: my $b = (1,2,3); $b[0] = 42
camelia rakudo-moar f29886: OUTPUT«Cannot modify an immutable Int␤ in block <unit> at /tmp/I64I9XpaEN:1␤␤»
lizmat don't use an array
m: my @a := (1,2,3); $b[0] = 42 16:55
camelia rakudo-moar f29886: OUTPUT«5===SORRY!5=== Error while compiling /tmp/yOmzYuyQXi␤Variable '$b' is not declared␤at /tmp/yOmzYuyQXi:1␤------> 3my @a := (1,2,3); 7⏏5$b[0] = 42␤»
lizmat m: my @a := (1,2,3); @a[0] = 42
camelia rakudo-moar f29886: OUTPUT«Cannot modify an immutable Int␤ in block <unit> at /tmp/JYZL_n7WI3:1␤␤»
zengargoyle about I/O, is there any advantage to doing I/O on blocksize chunks?
lizmat jdv79: or bind it ?
jdv79 ok
so i guess not 16:56
lizmat so you only want a few of them bound ?
jnthn m: my @b := (my $a, 2, 3); $a = 42; say @b;
camelia rakudo-moar f29886: OUTPUT«(42 2 3)␤»
jdv79 yes =
zengargoyle and is blocksize available through IO::Handle anywhere? i couldn't find it at first pass.
psch m: my $a := ($, 1, 2); say $a[0]++; say $a[0] # i might misunderstand the question..?
camelia rakudo-moar f29886: OUTPUT«0␤1␤»
lizmat zengargoyle: not afaik
jnthn Not unless blocksize is one of the things stat makes available 16:57
jnthn ticks RT #125420 off the xmas list 16:58
lizmat cycling& 16:59
hoelzro o/ #perl6 17:00
zengargoyle couldn't even find a stat method
jnthn .ask TimToady I'm not sure we've time to get the PRE/POST submethods done and semantics issues ironed out, or at least we've more important things to be doing before xmas. OK to do this feature in a 6.future? Should I note a "potential difficulty" if you write a PRE/POST submethod? 17:02
yoleaux jnthn: I'll pass your message to TimToady.
hoelzro stat *does* expose block size, but afaik, the I/O uses buffered I/O, so it *should* be done in blocksize already
then again, I don't know for sure what libuv does (and that only applies to Moar)
jnthn We do pull thinks in in chunks, but it's a constant chunk size at the moment 17:03
zengargoyle the Search::Dict uses a binary search using blksize to narrow down the block that should have the desired line, then goes to a line by line to find it.
i was wondering if that's better than just doing the binary algo directly. 17:04
hoelzro I would benchmark each and see 17:06
zengargoyle i'm guessing there's a trade-off there somewhere... hard to benchmark without knowing the buffer/block size that's used. 17:07
vs just guessing 8192 or somesuch
RabidGravy zengargoyle, the blocksize isn't available from IO::* but you can get it from NQP with "nqp::p6box_i(nqp::stat(nqp::unbox_s($path), nqp::const::STAT_PLATFORM_BLOCKSIZE))"
psch hrm, apparently i need P6EX to build but not throw X::Parameter::RW to build the X::Comp::Group in find_best_dispatchee...
jnthn psch: Uh...X::Comp::Group is for compile time exceptions 17:08
psch: The precedent so far on binding errors is we just throw on the first thing that goes wrong
RabidGravy or something like that
zengargoyle RabidGravy: thanks i'll add that to my notes and give it a try.
psch jnthn: okay, so "is this still reasonable" (from two hours ago) was to be answered with "no, just throw on the first mismatch" :) 17:09
...that's not supposed to sound snarky or anything, sorry
but i guess that also helps wrt the mentioned efficiency concern, because we can bail for a given candidate in find_best_dispatchee as soon as there is an rwness mismatch 17:10
jnthn psch: Sorry, was tied up with the encoding fixes...
psch jnthn: no worries, as i said i didn't actually mean to sound that entitled 17:11
jnthn :)
psch: One thing that may trip things up here: I don't think the multi dispatch cache stuff is too aware of container vs. non-continer
*container
psch i'm just thinking of e.g. "sub f($a is rw, $b is rw) {...}" from a module and a user calling f 42, 5, getting the error "first param needs a cont", putting a cont there, and getting the same error for the second param
which is somewhat LTA 17:12
jnthn Somewhat, but I don't think "is rw" params are all that common
psch i'll make a note to look at the cache too, good catch
zengargoyle so i'm getting 4k blocksize, does libuv use the same as a buffersize? -- most likely overthinking it. :)
psch right, don't fix what doesn't appear broken often enough (or something like that...) 17:13
17:13 kjs_ left
jnthn psch: If you get results like, the first time you try a dispatch it does the right thing, and the second time you try it and it should fail it actually works, that's probably the cache gone wrong 17:13
zengargoyle ... to the Bench-mobile
hoelzro zengargoyle: I don't know offhand, but stracing a simple example would probably reveal the answer 17:17
17:19 diana_olhovik joined 17:20 lucasb joined
lucasb m: { constant x = 42 }; say x 17:23
camelia rakudo-moar f29886: OUTPUT«42␤»
lucasb ^^ I was surprised that the constant worked outside the scope 17:24
moritz constants, like classes, are our-scoped by default
jnthn m: { my constant x = 42 }; say x
camelia rakudo-moar f29886: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WJsPp5p_1L␤Undeclared routine:␤ x used at line 1␤␤»
lucasb but it only works if it is a term, not a sigiled variable 17:25
{ constant $x = 42 }; say $x # <-- this doesn't work like a term constant
jnthn m: { our $x = 42 }; say $x 17:27
camelia rakudo-moar f29886: OUTPUT«5===SORRY!5=== Error while compiling /tmp/auSC9BoG8X␤Variable '$x' is not declared␤at /tmp/auSC9BoG8X:1␤------> 3{ our $x = 42 }; say 7⏏5$x␤»
jnthn Same with our variables
[Coke] m: say 2**64.comb(3).join(",");
camelia rakudo-moar f29886: OUTPUT«Cannot call comb(Int: Int); none of these signatures match:␤ (Cool $: *%_)␤ (Cool $: Regex $matcher, $limit = { ... }, *%_)␤ (Cool $: Str $matcher, $limit = { ... }, *%_)␤ in block <unit> at /tmp/kcWNynYNCQ:1␤␤»
dalek kudo/nom: dc512ba | jnthn++ | src/ (2 files):
Forbid packages on dynamic variables.
[Coke] I thought lizmat just added that a few days ago. 17:28
dalek ast: 747632a | jnthn++ | S02-names-vars/contextual.t:
Tests to cover RT #82790.
17:29 kjs_ joined 17:33 Actualeyes left
ugexe rt 126529 is back 17:34
j: my $x = Blob.new(1); $x ~= $x
camelia rakudo-jvm f29886: OUTPUT«java.lang.RuntimeException: This type does not support positional operations␤ in block <unit> at /tmp/D9i1ywswJG:1␤␤»
17:35 andreoss left, andreoss joined
jnthn m: my $x = Blob.new(1); $x ~= $x # curious if it's portable 17:35
camelia ( no output )
17:36 Actualeyes joined
ugexe i sent a pr to fix it 3 days ago, but its since re-emerged 17:36
17:36 brrt joined
jnthn .ask TimToady Before I go looking at fixing it, you do expect adverbs (like :c) placed after a :heredoc to actually work out, rather than get rejected, yes? rt.perl.org/Ticket/Display.html?id=120788 is the ticket in question. 17:37
yoleaux jnthn: I'll pass your message to TimToady.
17:37 AlexDaniel joined
ugexe its used in IO::Socket as well 17:37
17:40 kjs_ left
jnthn afk for a bit 17:41
lucasb m: my Str enum <a b c> 17:42
camelia rakudo-moar dc512b: OUTPUT«===SORRY!===␤Incompatible MROs in P6opaque rebless␤»
17:44 brrt left
zengargoyle m: my %h = do for 1,4096,8192 -> $b { $b => $b }; %h.say; 17:44
camelia rakudo-moar dc512b: OUTPUT«1 => 1, 4096 => 4096, 8192 => 8192␤»
arnsholt Does that even make sense as an expression?
17:44 brrt joined
psch m: my enum Str <a b c>; say "foo" ~~ Str # /o\ 17:45
camelia rakudo-moar dc512b: OUTPUT«===SORRY!===␤This type cannot box a native string␤»
zengargoyle hrm... i'm getting: Odd number of elements found where hash initializer expected
[Coke] lucasb, psch: what are you expecting to happen here? 17:46
TimToady starts to recover from Hackers
yoleaux 17:02Z <jnthn> TimToady: I'm not sure we've time to get the PRE/POST submethods done and semantics issues ironed out, or at least we've more important things to be doing before xmas. OK to do this feature in a 6.future? Should I note a "potential difficulty" if you write a PRE/POST submethod?
17:37Z <jnthn> TimToady: Before I go looking at fixing it, you do expect adverbs (like :c) placed after a :heredoc to actually work out, rather than get rejected, yes? rt.perl.org/Ticket/Display.html?id=120788 is the ticket in question.
17:46 brrt left 17:47 kjs_ joined
psch [Coke]: if anything i'm expecting a better error. the shadowing of the type Str with the enum is expected 17:47
lucasb [Coke]: in regard to 'my Str enum <a b c>', I know the enum values are integers, I just thought the error message looked LTA, since it looks an internal error :) 17:48
17:52 ^elyse^ joined, diana_olhovik left
TimToady .tell jnthn if we warn, we could hide the warning with a 'use DBC' to enable the experimental feature, I suppose 17:53
yoleaux TimToady: I'll pass your message to jnthn.
17:55 llfourn joined, _mg_ joined, sjohnson joined
TimToady .tell jnthn quote languages compose by mixin, so I'd expect :c to work after :heredoc since nothing in :heredoc clobbers the <escape> of the language that is used to parse the body of the heredoc 17:56
yoleaux TimToady: I'll pass your message to jnthn.
17:57 colomon left
hoelzro is the number of CPUs available to Perl 6 available via a special variable or anything like that? 18:03
or do users just have to figure that out on a per-OS basis?
18:04 colomon joined
TimToady what if you have a non-uniform CPU architecture, how do you report that? 18:05
dalek ast: 13badac | (Lloyd Fournier)++ | S12-class/attributes-required.t:
is required used as default checks

RT #126436
18:06
ast: 08725fd | (Tim Smith)++ | S12-class/attributes-required.t:
Merge pull request #78 from LLFourn/is_required_fix

is required used as default checks
18:07 eliasr left
hoelzro TimToady: good question 18:08
I'm just wondering if I should read from /proc/cpuinfo for my script, or if that information is already available
TimToady the other thing is that there may be fewer effective CPUs than you'd think, depending on the work mix
RabidGravy hoelzro, or you know use Linux::Cpuinfo 18:09
TimToady I assume my laptop only has 3 CPUs because firefox
18:09 kjs_ left 18:11 kjs_ joined
hoelzro RabidGravy: thanks, I didn't know that existed! 18:12
TimToady: another good point
18:15 _mg_ left
RabidGravy hoelzro, there may be a bug on multi-core arm chips though 18:15
hoelzro that's ok; I really just want my script to spawn N children (where N = # CPUs) 18:16
and I'm only running it on x86 Linux atm
jdv79 RabidGravy: dogfooding for everything would be nice in an ideal world
18:17 cognominal joined
TimToady and for IO-heavy workloads, you can usually use twice as many processes as CPUs 18:17
RabidGravy I have making a statgrab binding at some point on the todo
timotimo hoelzro: ideally, your program would measure when adding another worker wouldn't improve performance 18:18
hoelzro: and then it could try to react to slowdowns by throwing out a worker until the situation improves
(and then you'll get a nicely oscillating system)
TimToady one could add damping 18:19
hoelzro hmm 18:20
good advice
I'll measure with various worker counts vs CPU counts, see how that affects things
timotimo ideally your program would do that on every run to always get the best results
hoelzro it's more of a POC atm, but we'll see about improving it if it actually gets used =) 18:21
18:21 duncan_dmg left 18:22 liztormato joined
zengargoyle and the blocksize benchmark winner is... 1 18:24
18:24 liztorma_ joined
liztorma_ ugexe: will look at jvm breakage in an hour so when I'm home again 18:24
18:24 dakkar left
TimToady .tell jnthn as an optimization-related language decision, we might decide to simply ignore PRE and POST blocks without a 'use DBC' to turn on that particular set of assertions 18:24
yoleaux TimToady: I'll pass your message to jnthn.
liztorma_ Since I probably caused that regression 18:25
18:25 telex left, abaugher left, liztorma_ left
timotimo zengargoyle: what, 1 byte at a time? 18:26
18:26 abaugher joined, telex joined
zengargoyle yep, 103% faster than 4k, 384% faster than 8k, 569% faster than 16k 18:27
18:27 liztormato left, FROGGS joined
timotimo wow 18:27
[Coke] jvm broke again? 18:28
timotimo zengargoyle: have you tried 3k?
[Coke] (it was working earlier today) 18:29
zengargoyle no, but i will...
18:31 spider-mario joined
zengargoyle could also be my test file just isn't big enough... 18:32
eh 1 is still beating 2k, 3k 18:34
18:34 yqt left
zengargoyle 1k is a wee bit faster: 2% 18:35
psch [Coke]: fwiw, i've decided (for the time being) to help with the xmas list instead of trying to keep r-j alive. 1.6 tickets a day looks like it could use whatever effort is available to me
ugexe [Coke]: infix:<~>(Blob:D $a, Blob:D $b) (rt 126529), there just isnt a test for it 18:40
zengargoyle looks like 128 is the sweet spot 18:43
psch i'm wondering about desired commit granularity 18:44
zengargoyle notes that Bench needs to sort by Rate before showing the table...
psch i have "is rw for multis" working, but it has test fallout (probably due to caching, as jnthn++ alluded to earlier)
ilmari m: (Blob.new(0x61), Blob.new(0x63)).join(Blob.new(0x20)) 18:45
camelia rakudo-moar dc512b: OUTPUT«Cannot use a Buf as a string, but you called the Str method on it␤ in block <unit> at /tmp/0jsw9mNxHv:1␤␤»
FROGGS o/
ilmari m: say Blob.new(0x61) ~ Blob.new(0x63) ~ Blob.new(0x20)
camelia rakudo-moar dc512b: OUTPUT«Blob:0x<61 63 20>␤»
psch is what i have already a commit? it fixes RT #74414, but a clean spectest would depend on a (as of yet unwritten) patch that solves the caching problem
zengargoyle or that's just me...
psch it just came to mind because i know that previously i did commit at least a few not-really-isolated-enough chunks... 18:46
o/ FROGGS 18:48
18:49 dha joined
zengargoyle do you think « my &lookup = search-dict($dict, :$block-size); $ret = lookup($word) » is a decent interface? 18:51
18:52 Peter_R joined
zengargoyle where $ret Bool to found, Str to match (or after), Int to tell 18:53
18:54 vendethiel joined 18:56 pippo joined 19:01 TEttinger joined 19:03 kjs_ left
ugexe lizmat: i rebuilt jvm (same commit, also the same commit camelia is on) and now -e `say Blob.new(1) ~ Blob.new(2)` is working. but camelia still fails, and inside a bigger application i get `Expected a native int argument for '$a'` 19:07
19:07 andreoss left
Hotkeys is there simple graphics libraries for p6? 19:07
like making jpgs and whatnot 19:08
19:10 yqt joined 19:11 ZoffixW joined
RabidGravy zengargoyle, yes 19:12
ZoffixW Hor|zon, there's a couple on modules.perl6.org/ search for "image"
I meant Hotkeys ^
Hotkeys not all us H names are the same person ZoffixW
yeesh
19:12 sivoais joined
ZoffixW :) 19:13
cognominal hi, is there a Perl 6 web server supporting TLS or SSL?
ZoffixW heh, JSON::RPC's logotype is a pair of praying hands next to a set of brackets 19:15
psch ugexe: that's b1a465c2c, the jvm Binder doesn't handle "is rw" quite right 19:16
ZoffixW cognominal, toss one of the servers on modules.perl6.org/ behind reverse proxy? :)
unless they got native support
Hotkeys but thanks ZoffixW, I'll forgive the letter-racism because you helped
psch well, i think at least
ZoffixW ;)
psch eh, maybe my last comment should be disregarded. i might be too absorbed in what i'm working on here :P 19:19
cognominal ZoffixW, yes I could do that.
19:22 lucasb left
RabidGravy cognominal, or pick on of them and fix it work with IO::Socket::SSL 19:22
19:23 sivoais left
ZoffixW That would be sweet. 19:23
19:23 sivoais joined 19:24 sivoais left, sivoais joined 19:26 rindolf left
lizmat is back 19:27
[Coke] psch: thanks for the headsup
lizmat m: 42
camelia rakudo-moar dc512b: OUTPUT«WARNINGS:␤Useless use of constant integer 42 in sink context (line 1)␤»
dha There was some discussion of setting up a wiki along the lines of perl6-most-wanted for the documentation status of modules. Is this something that we've ever gotten any traction on? 19:30
ZoffixW Nothing I heard outside of github.com/perl6/modules.perl6.org/issues/16 19:32
Buuuttt...
ZoffixW has an idea; comments on Issue 19:33
pink_mist doesn't github provide wiki pages?
dha Oh good. I like ideas. :-)
pink_mist - I believe that is what was under discussion.
19:34 raoulvdberge joined, mr_ron left
dha I was thinking of looking at some modules to see if they have documentation (I need purpose in life), but am gunshy about actually setting up the structure for making that information available. 19:35
ZoffixW - good idea. 19:36
ZoffixW And if anyone writes up Pod::Coverage, those flags could be automatically set :)
RabidGravy yes
19:37 TimToady left
RabidGravy it would by trivial to determine whether there is pod present at all 19:37
Hotkeys hotdang this wifi is slow "Receiving objects: 50% (22136/44271), 17.51 MiB | 501.00 KiB/s"
ZoffixW That's slow? 0.o Are you in South Korea? :) 19:38
dha RabidGravy - well volunteered!
Hotkeys Canada lol
University connection
ZoffixW heh
Hotkeys usually reasonably fast
inb4 500kib/s is reasonably fast
19:38 TimToady joined
Hotkeys when I lived in the dorms the ethernet connection was like gigabit speeds 19:39
it was wonderful
ZoffixW RabidGravy, it is and we already do that (the "has readme" badge). But most of them are nothing more than "Port of XYZ" without any description of the API.
Hotkeys my home connection is pretty quick too, like 100mbit 19:40
so yeah 500KiB/s seems slow :p
19:40 Khisanth joined
dalek kudo/nom: 8cba886 | peschwa++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
Inspect rwness of Parameters for MMD.

This fixes RT #74414. It also presently doesn't do any caching anymore if we encounter a Parameter that "is rw". This potentially carries a performance regression with it, but multicacheadd and multicachefind call things from a realm beyond my comprehension.
19:40
psch that'd be RT #74414, minus the caching regression
ZoffixW So we need a more powerful tool. Something that'll actually try to figure out if stuff's documented, akin to P5's Pod::Coverage metacpan.org/pod/Pod::Coverage
psch but that's mvm code, and my C is everything but useable
ZoffixW Hotkeys, 100Mbit? what provider are you using? 19:41
RabidGravy ZoffixW, please see my comment from a month ago on that self same issue ;-p
Hotkeys rogers
ZoffixW RabidGravy, are you "dwarring"?
Hotkeys well a bit less
ZoffixW hates Rogers
Hotkeys speedtest usually is in the 90 range
ZoffixW I use Acanac. They buy Rogers's unused badwidth and sell it to me for cheap :) 19:42
I think I have 25-30Mbps
dha How much adaptation to Perl 5's Pod::Coverage would be needed to make it work for this purpose?
Hotkeys torrent client and steam etc. is usually 7-8 MiB/s
RabidGravy ZoffixW, no
DrForr I usually top out around 740Mb/sec, I haven't found a torrent that maxes it :)
Hotkeys We used to have around 20
ZoffixW RabidGravy, jonathanstowe? 19:43
RabidGravy :)
Hotkeys and then we switch to rogers and idk what my parents did but
now we have stupid quick internet
and I am very okay with that
(We were originally shaw but then rogers bought them)
at least in my area
psch .tell jnthn i suspect with rakudo 8cba886 we'd just need multicachefind to react properly to rwness of cached captures, but that's a guess and i'm bad at C... :) 19:44
yoleaux psch: I'll pass your message to jnthn.
jdv79 ~30ms to deep clone a shallow obj graph with twiddles. at least it works.
psch .tell jnthn s/captures/candidates/...
yoleaux psch: I'll pass your message to jnthn.
Hotkeys aww the repl is still borked on windows
I still haven't gotten around to pokingaround in it
dha I note that Pod::Coverage's docs say "It expects to find either a "=head(n>1)" or an "=item" block documenting a subroutine". Could we just use a P5 solution for this provisionally until we get something better?
ZoffixW dha, quite a lot, since it's looking for Perl 5 stuff. And another issue is our docs could be in .txt .md, p5 pod or p6 pod. And we'd need some magic to figure that out 19:45
dha Hm.
Hotkeys maybe when I get home from uni I'll poke around try and figure out what's wrong/if I can fix it
dha It strikes me (and I may well be wrong) that, if we could come up with some criteria, whipping up a script to look for those specifics should not be difficult. Not a complete solution, but maybe a start? 19:46
ZoffixW dha, but hacking up something trivial and starting to use and (possibly incorrectly) marking modules as lacking docs is a good encouragement stick for those authors to contribute :P
dha Yes, there is that, too. :-)
And, even if we wanted to be fair, we could actually have humans look at things that get flagged. :-) 19:47
ZoffixW Yeah
dha (which seems slightly less effort-intensive than looking at everything with humans) 19:48
raoulvdberge I really feel like making a Perl clone.
Hotkeys call it Earl
Erl
raoulvdberge lol
Hotkeys or Squerl
ZoffixW raoulvdberge, why? 19:49
DrForr You can call it Al.
ZoffixW raoulvdberge, and... which Perl?
Hotkeys Perl 7
raoulvdberge I love making compilers and parsers, and Perl is such a beautiful language
19:49 pippo_ joined
raoulvdberge Obviously Perl 6 :-) 19:49
Hotkeys just improve the current perl 6 :p 19:50
DrForr raoulvdberge: You obviously haven't read toke.c :)
ZoffixW raoulvdberge, I'm pretty sure a bunch of people here are currently hacking on a compiler :) Why not give a helping hand there? :P
Hotkeys raoulvdberge: you should fix the repl on windows so I can be lazy and not poke around
<3
raoulvdberge Hey, I don't know anything about the Perl compiler / VM itself!
Hotkeys Not yet 19:51
raoulvdberge :-)
Hotkeys It's okay I don't either it's all magic
19:52 ZoffixW left
dalek ast: c22042a | lizmat++ | S02-names-vars/contextual.t:
Add test for #82790
19:52
ast: 88b8aa7 | lizmat++ | S02-types/WHICH.t:
Add test for new X::Dynamic::Package class
ast: 5674fd4 | lizmat++ | S (2 files):
Merge branch 'master' of github.com/perl6/roast

Conflicts: S02-names-vars/contextual.t
19:52 pippo left
psch ah, what a nice occurence 19:54
i was about to add tests for dispatch between "is rw" and ro candidates
but they exist \o/
Hotkeys woo \o/
19:55 pippo_ left
psch the file's not being run in spectest though 19:55
and it's annotated with a ticket that cares about something else, so maybe i do have to look a bit closer...
RT #66588, for reference 19:56
19:56 pippo joined
psch the test file is t/S06-multi/by-trait.t 19:57
19:58 sufrostico joined
lizmat I have the feeling that TimToady does not have any strong feelings about IO::Handle.ins 19:58
llfourn m: my \start = now; for ^1000 { require Test }; say now - start 19:59
TimToady could be a mixin
camelia rakudo-moar 8cba88: OUTPUT«7.4682038␤»
llfourn m: my \start = now; for ^1000 { if $_ == 0 { require Test } }; say now - start
camelia rakudo-moar 8cba88: OUTPUT«0.0563663␤»
lizmat TimToady: not seeing quite how that could be
dalek ast: eaf38ff | peschwa++ | S06-multi/by-trait.t:
Fudge vm-specific, expand commentary a bit.
llfourn (shouldn't only the first require take time) 20:00
dalek kudo/nom: aaf9fcd | peschwa++ | t/spectest.data:
Run t/spec/S06-multi/by-trait.t
lizmat sure, mixing in an "ins" method would be trivial, but keeping that updated with # lines would basically mean another .get/.lines implementation
TimToady: is that what you mean ?
20:00 hankache joined
TimToady yup 20:01
lizmat jnthn: an idea I had during cycling: could we make .ins a VMIO attribute with an nqp::op to fetch it ?
would just be an int++ at C-level in readlinefh / readlinechompfh
20:02 pippo left, pippo joined
jnthn lizmat: It's really not worth it; I'd hope within the next year our JIT is good enough to not be notably different performance wise on ++'ing a native int attr vs doing it in C 20:03
yoleaux 17:53Z <TimToady> jnthn: if we warn, we could hide the warning with a 'use DBC' to enable the experimental feature, I suppose
17:56Z <TimToady> jnthn: quote languages compose by mixin, so I'd expect :c to work after :heredoc since nothing in :heredoc clobbers the <escape> of the language that is used to parse the body of the heredoc
18:24Z <TimToady> jnthn: as an optimization-related language decision, we might decide to simply ignore PRE and POST blocks without a 'use DBC' to turn on that particular set of assertions
19:44Z <psch> jnthn: i suspect with rakudo 8cba886 we'd just need multicachefind to react properly to rwness of cached captures, but that's a guess and i'm bad at C... :)
19:44Z <psch> jnthn: s/captures/candidates/...
jnthn lizmat: The question is more if we want to commit to always having to track that counter somehow
lizmat TimToady alluded to it being available as a mixn 20:04
jnthn Then the question is "mixin in module space or not" :) 20:05
lizmat I interpreted that as implied :-)
jnthn Ah :)
I think .lines.kv covers the common case quite well 20:06
lizmat that's my line of thought anyway
jnthn haha..."line" of thought :D
lizmat :)
timotimo cute
jnthn I'd fine with saying if you want .ins functionality then module
20:06 pippo left
lizmat ok 20:06
about the $?NL being frozen in the setting 20:07
the more I think about it, the more I think we need $?NL being %*PRAGMAS driven
jnthn TimToady: Will fix the heredoc thing tomorrowish. :)
I don't think that'd change anything
lizmat and not a P6 constant constant :-)
jnthn If we want it dynamic we can export $*NL instead. 20:08
20:08 pippo joined, geraud joined
lizmat yeah, but $*NL lookups for each \n would be very expensive, no ? 20:08
jnthn Oh, udh
Yeah, that's why it wants to be compile time 20:09
TimToady well, it wants to be lexical because it's language mutation
Hotkeys jnthn: the windows moar repl has been broken since 75b2451, any idea what might've borked it?
lizmat whereas a $*PRAGMAS approach would just be a single nqp::atkey ?
Hotkeys I'm assuming something to do with the /r/n stuff but I haven't gotten around to poking around 20:10
jnthn But wait, isn't the issue really what CLIENT::<$?NL> doesn' twork?
lizmat: I don't think resolving $?NL is much of a performance concern.
lizmat but $*NL would, no ?
jnthn lizmat: It's a drop in the ocean
Right, I don't think $*NL is right
I think it's fine as it is, plus we figure out why CLIENT:: is busted in CORE.setting 20:11
And then making open default to CLINET::<$?NL>
20:11 darutoko left
lizmat ah, then I misunderstood you 20:11
jnthn lizmat: I pondered $*NL for a moment, then realized why it'd not work :) 20:12
Well, or why it's weird :)
I guesss we could have the compiler lexically resolve that but...
20:12 pippo left
lizmat well, that's why I like the %*PRAGMAS approach 20:12
jnthn But %*PRAGMAS is a hack. 20:13
20:13 pippo joined
jnthn It's there for the things we can't express without hardcoding them into the compiler. 20:13
lizmat I still don't see why that is
a hack, I mean
I think it's very elegant, really 20:14
jnthn Everything we implement using it is something we say "no, you can't do this from a module yet"
zengargoyle m: my class R { has Str $.a handles <Str>; has $.i handles <Numeric>; }; my R $r.=new: :i(1); say $r.Str ~~ Str; say +$r;
camelia rakudo-moar aaf9fc: OUTPUT«Use of uninitialized value of type Str in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/RkJxWfhbau:1␤True␤1␤»
jnthn Which kinda goes against language extensibility, slangs, and the like.
lizmat ok, if you look at it in that way... :-) 20:15
zengargoyle why does $r.Str ~~ Str throw warning?
jnthn I'm fine with %*PRAGMAS for the moment, but I'll be a bit sad if we get macros and slangs done and still need it to do all it currently does. :) 20:16
lizmat jnthn: while nqp::getlexrel($ctx, '$?PACKAGE') === $pkg { has a left side of Any
psch zengargoyle: R.a is Any
lizmat ^^ that breaks CLIENT::
zengargoyle m: my class R { has Str $.a handles <Str> = Str; has $.i handles <Numeric>; }; my R $r.=new: :i(1); say $r.Str ~~ Str; say +$r;
camelia rakudo-moar aaf9fc: OUTPUT«Use of uninitialized value of type Str in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/r_Jh1_zCKh:1␤True␤1␤»
20:16 TEttinger left
zengargoyle ok, so you can't have typed undefined? 20:17
psch zengargoyle: you can, but $smth ~~ Str check if that something can be a Str
m: say Any.Str
camelia rakudo-moar aaf9fc: OUTPUT«Use of uninitialized value of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/ii_NH99weR:1␤␤»
psch zengargoyle: and Any.Str always warns
(so does Str.Str, for that matter
)
zengargoyle ok, think i got it.
and ~$a is $a.gist right? 20:18
TimToady no, that's .Str
psch no, prefix:<~> calls .Stringy
well, except for str and Str vOv 20:19
and int and Int
no, int and num...
psch seems done for today... o.o
jnthn lizmat: Wait, $ctx is Any, or $?PACKAGE is? 20:22
lizmat Cannot call infix:<===>(Any, IO::Handle); none of these signatures match:
I would the result of the nqp::getlexrel 20:23
20:23 FROGGS left
jnthn hm, k 20:24
TimToady sorry, was on phone; I was thinking we could have a mixin that would add a counter to anything you could do a .get on
jnthn Will have to look at it further tomorrow
hankache the ? prefix will return null if the number is 0 and the variable is undefined any other cases?
lizmat jnthn: ok
hankache return False* 20:25
lizmat TimToady: wouldn't that actually be a .wrap ?
zengargoyle m: my class R { has Str $.a handles <Str>; has $.i handles <Numeric>; }; my R $r.=new: :i(1); say $r.a.defined; say $r.Str.defined;
camelia rakudo-moar aaf9fc: OUTPUT«False␤Use of uninitialized value of type Str in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/_6rflFwvKH:1␤True␤»
TimToady lizmat: no, it'd just be a child wrapping its parent method with a nextsame or so
zengargoyle m: my class R { has Str $.a handles <Str>; has $.i handles <Numeric>; }; my R $r.=new: :i(1); say $r.a.defined; say $r.Str.defined; say (~$r).defined; 20:26
camelia rakudo-moar aaf9fc: OUTPUT«False␤Use of uninitialized value of type Str in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/VcLSoFBhNX:1␤True␤Use of uninitialized value of type Str in string context␤Any…»
TimToady lizmat: and a .wrap is insufficient anyway, since you have to store the line count somewhere, and provide an accessor
hoelzro is panda list --installed broken? it just shows me panda's help
lizmat TimToady: true
TimToady for which "ins" is probably too specific a name
zengargoyle panda --installed list 20:27
llfourn hoelzro: I think so
TimToady maybe .got :)
llfourn made the same mistake nvm
zengargoyle evil MAIN needs named before positional
lizmat m: $*OUT.nl-out = " World\n"; say "Hello" # love the new nl-out
camelia rakudo-moar aaf9fc: OUTPUT«Hello World␤»
hoelzro hmm 20:28
20:28 nowan left
dha what's nl-out? 20:29
[Sno] lizmat: as promised, PR for building on homepilot send (did it a bit more generic ^^)
zengargoyle hoelzro: use panda --options <command>
lizmat [Sno]: just saw it
TimToady m: $*OUT.nl-out = " World\n"; print "hello\n"
camelia rakudo-moar aaf9fc: OUTPUT«hello␤»
[Sno] I start an image build overnight and check it on target tomorrow morning
TimToady hmm, that's not how a P5 programmer will expect .nl-out to work
[Sno] PR is primarily for review
lizmat [Sno]: will need someone more Win32 savvy to check it out 20:30
[Sno] votes for jnthn ;)
lizmat TimToady: you expect that to affect \n ?
[Sno] or maybe froggs
jnthn There's no way I'm implementing it affecting \n :P
TimToady well, not that, but in P5 a print would add it
[Sno] lizmat: but you can prove whether I broke darwin ;) 20:31
lizmat [Sno]: that I can and will
TimToady and say is a bit special-purpose to be relying on it for general .nl-out additions
lizmat well, apart from the .gist-ing of say, that is what makes say different from print to me 20:32
20:32 kjs_ joined
lizmat the fact that it adds nl-out at the end 20:32
20:32 nowan joined
TimToady we need and easy way to have print semantics but add a newline 20:33
*an
lizmat $handle.say is not it ?
TimToady "easy" 20:34
lizmat so using .Str rather than .gist, is what you mean ?
not sure what you mean with "print semantics" 20:35
TimToady yes, .Str semantics, so it doesn't, for instance, stop after the 1st 100 elements of a list
m: say 1 xx 100000 20:36
camelia rakudo-moar aaf9fc: OUTPUT«(1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...)␤»
TimToady that ... is a gist truncation, not a camelia truncation 20:37
lizmat printnl ? 20:38
lizmat ducks
raoulvdberge didn't know gist truncates
TimToady well, print $foo, nl; might be a bit more general
PerlJam raoulvdberge: .gist is just so you can get the gist of the thing. It doesn't show the whole data structure. 20:39
lizmat
.oO( what's all this talk about the NetherLands all of a sudden :-)
PerlJam :-)
raoulvdberge makes sense :)
TimToady why it's call .gist, after all...
jnthn But how does nl magically become "the nl-out of the handle you're printing on"...
lizmat but how would the "nl" know which nl-out to use ?
20:40 mr_ron joined
lizmat what jnthn said :-) 20:40
TimToady well, print would have to translate it, if we did it that way
or nl would have to magically know somehow which handle was targeted
lizmat I guess nl could be a constant like IterationEnd 20:41
TimToady so maybe we should just find a better verb than printnl
PerlJam puts :)
TimToady well, if it's .get coming in, it could be .put going out 20:42
lizmat fwiw, I dislike .get
i would more like .line
so we could also have .word and be sensible :-) 20:43
[Coke] works on a bisect to find when 'make test' started dying on jvm...
TimToady the whole point is that it's not a line if you change the delim
PerlJam lizmat: maybe .record since "line" is fluid
TimToady that's why it was .ins and not .lines
jnthn put ain't bad... :)
record doesn't verb right
PerlJam lizmat: anyway, I like .get because it doesn't commit too far :)
lizmat ok, I can buy the "it may not be a line", but then I don't get .lines :-) 20:44
TimToady no, you don't :P
lizmat but I guess .gets would be even worse :-)
TimToady why I suggested .got
20:45 [Sno] left, Axord joined
AlexDaniel m: dd [xx] ^8 20:45
camelia rakudo-moar aaf9fc: OUTPUT«List $var = $(((((((0,), (0,)), ((0,), (0,)), ((0,), (0,))), (((0,), (0,)), ((0,), (0,)), ((0,), (0,))), (((0,), (0,)), ((0,), (0,)), ((0,), (0,))), (((0,), (0,)), ((0,), (0,)), ((0,), (0,)))), ((((0,), (0,)), ((0,), (0,)), ((0,), (0,))), (((0,), (0,)), ((…»
TimToady and we'll just use the past tense of "put" to count how many lines we put ;)
PerlJam
.oO( .pot )
20:46
jnthn
.oO( and .toke for how many tokens you read in? :) )
TimToady "put" Print Using Terminator 20:47
jnthn going to rest
'night y'all
TimToady sleep well 20:48
PerlJam g'night jnthn
jnthn One can only hope... :)
o/
lizmat gnight jnthn
TimToady launches lunch 20:49
AlexDaniel m: [[[+]]] [[[+]]] 20:51
camelia ( no output )
jdv79 when and how does that land?
20:52 pippo_ joined, pippo_ left
AlexDaniel m: [[[[+]]]]>>[[[[+]]]]>>[[[[+]]]]>>[[[[+]]]] 20:54
camelia ( no output )
20:55 pippo left
AlexDaniel say [::]/\/\/\/\/\/\[:/>>[[[[+]]]]>>[[[[+]]]]>>[[[[+]]]]>>[[[[+]]]] # old trick 20:59
m: say [::]/\/\/\/\/\/\[:/>>[[[[+]]]]>>[[[[+]]]]>>[[[[+]]]]>>[[[[+]]]] # old trick
camelia rakudo-moar aaf9fc: OUTPUT«12␤»
dha tries to think of something that needs working on that he's capable of working on... 21:00
lizmat documenting uniprop ? 21:03
:-)
dha Heh.
21:03 kjs_ left
dha I guess I could go back to combing through the docs for things that don't have examples. 21:04
llfourn dha: proto is not documented if that excites you :) 21:06
21:06 ZoffixW joined
PerlJam llfourn: regex proto or method/sub proto? ;) 21:07
llfourn PerlJam: well I guess they're all the same in the end, but regex just has examples afaik
21:07 Ven_ joined
ZoffixW This is dismal: time panda --help; .... real0m13.399s 21:08
llfourn proto as a 'declarator' has no docs
PerlJam was just wondering if the split :skip-empty, :k, :v, :p stuff was finalized and documented.
dha where is that?
21:08 Ven_ left, Ven__ joined
dha Or, I suppose, since I'm not finding it, where *should* it be? 21:10
PerlJam dha: I assume you're talking about proto?
21:10 sunbeam joined
dha yeah. 21:10
llfourn dha: proto should be here: docs.perl6.org/language/functions#Multi-dispatch
dha Ah, no wonder I couldn't find it. It's not there. :0) 21:11
llfourn I guess as a =head3 under multi dispatch
21:12 kjs_ joined 21:13 cosimo joined
lizmat PerlJam: I documented Str.split 21:13
PerlJam lizmat++
dha Hm. I would have to understand Multi Dispatch for this...
21:13 raiph left 21:15 synbot6 joined
PerlJam dha: S06:77 is a useful paragraph about proto 21:15
synbot6 Link: design.perl6.org/S06.html#77_is_a_u...bout_proto
PerlJam S06:77
synbot6 Link: design.perl6.org/S06.html#line_77
PerlJam stupid bot
dha that looks like a bug, there... 21:16
llfourn PerlJam,dha actually there are no proto examples or explanation for regex or routines as far as I can tell
21:17 [Sno] joined
llfourn ...which also means that the fun <sym> grammar stuff is not documented 21:18
which is really useful :\
PerlJam More useful proto info is at S05:1342
synbot6 Link: design.perl6.org/S05.html#line_1342
dha Right. I'm just trying to figure out what to do beyond just copying that paragraph. :-)
llfourn docs.perl6.org/language/grammars <== in need of proto regex example with <sym>. see github.com/moritz/json/blob/master...Grammar.pm :) 21:20
21:20 Ven__ left
dalek osystem: 246a6b9 | RabidGravy++ | META.list:
Add JSON::Name

  github.com/jonathanstowe/JSON-Name
21:20
21:21 Ven_ joined
RabidGravy ignore that one, it will be the dependency of four modules but I thought I'd make it first ;-) 21:21
21:22 oha joined, kaare_ left
[Coke] oooh, there's a chance larry broke the jvm. one more bisect iteration to find out! ;) 21:25
RabidGravy bad Larry! BAD! BAD! 21:26
hankache lazy lists are indexed starting from 0 or 1? 21:27
21:27 mr_ron left
PerlJam hankache: 0 21:27
hankache m: say (0...9)[3];
camelia rakudo-moar aaf9fc: OUTPUT«3␤»
dalek osystem: fb1f717 | zengargoyle++ | META.list:
Add Search::Dict

See: github.com/zengargoyle/p6-Search-Dict
PerlJam hankache: what an odd question! What prompted it? 21:28
hankache PerlJam: say (0...9)[3];
zengargoyle really needs to read up on POD6
ZoffixW hankache, but that answers it :) 0, 1, 2, 3 :)
hankache i am half asleep 21:29
ZoffixW Coffee!
hankache indeed ZoffixW :(
PerlJam or get some sleep
ZoffixW Sleep is for the weak! :)
hankache Coffee -> figure out how lazy lists work -> Sleep 21:30
dha Sleep is for tortoises!
lizmat p6weekly.wordpress.com/2015/11/09/...ion-today/ # a new Perl 6 Weekly! 21:31
hankache yeay! 21:32
PerlJam muraiki++ 21:33
ZoffixW \o/
muraiki yay :D 21:34
21:36 mr_ron joined
hankache do you zef d 21:45
or do you panda
zef|panda
ZoffixW I use panda, but it's ridiculously slow to start up 21:48
21:49 Ven_ left 21:50 ^elyse^ left 21:51 Ven_ joined
dha It is, isn't it? 21:52
flussence precomp helps a ton 21:54
though you've got to do it by hand at the moment...
zengargoyle instructions anywhere? 21:55
PerlJam I thought rakudobrew build-panda would do that. If not, that would help tremendously.
hankache precomp?
21:56 dha left
flussence zengargoyle: I don't have a good method, just a `find` loop that tries to precompile every installed .pm file. The general command for it is «perl6-m --target=mbc $file.pm -o $file.pm.moarvm» 21:56
[Coke] latest jvm test breakage was introduced by lizmat with 4aa63f0f816ed - it's a pretty big commit, so I don't have an easy JVM workaround.
21:56 dha joined
[Coke] .tell lizmat - 4aa63f0f816ed caused 'make test' to start failing on the jvm. 21:56
yoleaux [Coke]: I'll pass your message to lizmat.
TimToady whew!
lizmat [Coke]: will look at it now, see if have any inspiration :-) 21:57
yoleaux 21:56Z <[Coke]> lizmat: - 4aa63f0f816ed caused 'make test' to start failing on the jvm.
[Coke] good luck, thanks!
I didn't figure out how it's breaking, just that from then on, make test starts bailing on all the test files.
21:57 Ven_ left
dalek kudo/nom: fe48617 | lizmat++ | src/core/Str.pm:
Make uninames do the right thing for synthetics

say "\r\n".uninames' # (CARRIAGE RETURN (CR) LINE FEED (LF))
21:57
[Coke] (I was hoping it was another one liner I could temporarily wrap in #?if jvm...)
flussence (whoops, the -o needs to come before the input file or it gets eaten by @*ARGS) 21:58
ugexe seems to be split(/regex/), split("string") works 21:59
21:59 dbrock- left, dbrock- joined
lizmat [Coke]: building latest JVM now 21:59
I have some ideas as to the cause
it JTALT 22:00
22:00 cosimo left
lizmat meanwhile, anybody up for NativeCalling tensorflow.org ?? 22:00
[Coke] lizmat: "just takes a long time" ? Aye.. :) 22:01
lizmat yup :-)
Skarsnik Someone should work on something like swig or clang/lvm to automate binding x)
TimToady lizmat: I really kinda dislike returning Str (uninitialized) when we really want to convey Nil (the absence of a value)
22:01 xfix left
[Coke] (tensorflow) nifty. 22:02
lizmat ok, then I'll Nil it :-)
22:02 cosimo joined
TimToady looking at both uniname and getc patches here 22:02
lizmat and .get I assume 22:03
zengargoyle Skarsnik: i started looking at C::Parser and thinking about auto-NativeCall (at least to start a skeleton) but couldn't get it to work.
22:03 aaronn joined
lizmat TimToady: and uniprop/unival 22:04
unimatch; 22:05
TimToady sure, wherever it snuck in
same for any other type object that is being used to mean Nil 22:06
lizmat I'll take care of these first and then scan some more
Skarsnik zengargoyle, hm weird, I mean most of the case you probably don't even need to preparse macro. you could probably itendify function declaration and struct declaration to already do a lot 22:07
22:07 kjs_ left
lizmat m: sub a(--> Int) { Nil }; a # TimToady: it makes using return sigs a lot harder 22:08
camelia rakudo-moar aaf9fc: OUTPUT«Type check failed for return value; expected Int but got Nil␤ in sub a at /tmp/3inuQt41eq:1␤ in block <unit> at /tmp/3inuQt41eq:1␤␤»
lizmat m: sub a(--> Int) { Int }; a
camelia ( no output )
lizmat which was my reason for using the type objects :-) 22:09
TimToady well, most of those are probably really supposed to be --> Int:D anyway, so Int wouldn't work either 22:11
I'd rather make Nil behave more like a cheap Failure
22:12 oha left, cosimo left
lizmat oki 22:12
zengargoyle ugg, i hate sites with light gray text on white background. 22:13
lizmat [Coke]: so, make t/spec/S02-lexical-conventions/begin_end_pod.t dies with "no subtests run" 22:17
but ./perl6-j --ll-exception make t/spec/S02-lexical-conventions/begin_end_pod.t works ok
psch: seems like t/spec/S06-multi/by-trait.t broke again ? 22:18
22:19 oha joined, cosimo joined
lizmat [Coke]: how can I see the actual error when using make ?? 22:19
RabidGravy .tell tadzik there you go github.com/tadzik/JSON-Unmarshal/pull/11 when you have a minute 22:20
yoleaux RabidGravy: I'll pass your message to tadzik.
22:22 diana_olhovik joined
RabidGravy What larks, I may even have a good story viz JSON web services this 22:24
week
dalek kudo/nom: dc0238a | lizmat++ | src/core/ (2 files):
Use Nil as a cheap failure indicator

As per irclog.perlgeek.de/perl6/2015-11-09#i_11509994
ast: 5a0e7a4 | lizmat++ | S15-unicode-information/uni (4 files):
Track the Str -> Nil changes

As per irclog.perlgeek.de/perl6/2015-11-09#i_11509994
22:25
lizmat ++RabidGravy
RabidGravy I could do with someone knocking up an implementation of tools.ietf.org/html/rfc6570 - mini-languages are not my forté 22:27
22:28 diana_olhovik left
hankache m: ~3.WHAT.say; 22:28
camelia rakudo-moar fe4861: OUTPUT«WARNINGS:␤Useless use of "~" in expression "~3.WHAT.say" in sink context (line 1)␤(Int)␤»
hankache m: (~3).WHAT.say; 22:29
camelia rakudo-moar fe4861: OUTPUT«(Str)␤»
hankache what is sink context? (the warning message)
22:29 TEttinger joined
lizmat m: class A { method sink { say "sunk" } }; A 22:30
camelia ( no output )
22:30 raiph joined
lizmat m: class A { method sink { say "sunk" } }; A.new 22:30
camelia rakudo-moar fe4861: OUTPUT«sunk␤»
22:30 dbrock- left
hankache sink sank sonk? 22:30
lizmat hankache: in P5 it's usually referred to as "void context"
22:30 skids left, dbrock- joined
dha Oh dear. 22:31
lizmat dha: ??
dha tries to figure out where that bit of information should go in the 5to6 docs.
hankache hankache = newbie
22:31 virtualsue joined
hankache don't know what "void context" is 22:32
PerlJam hankache: no worries. We're newbie friendly :)
hankache: it's where you don't care about the result of the expression.
hankache PerlJam: thanks
22:33 prevost_ joined
hankache so it's a matter of precedence then? 22:33
this is why i need parentheses right?
PerlJam hankache: if you just say "2 + 2" you'll get 4, but there's no place to store that result and, unless you're returning that result to a caller, it just gets dropped.
22:34 tardisx joined
PerlJam hankache: for your example, yes 22:34
lizmat m: 2 + 2 22:35
camelia rakudo-moar dc0238: OUTPUT«WARNINGS:␤Useless use of "+" in expression "2 + 2" in sink context (line 1)␤»
hankache PerlJam: thanks. I am reading doc.perl6.org/language/operators and trying them all
PerlJam
.oO( one day someone will make a circuit slang for P6 where "sink contect" becomes ground )
hankache: sweet. The more people we have trying that stuff out, the better/clearer we can make the docs for future users 22:36
hankache i just remarked something on my local REPL ~3.WHAT.say; doesn't return a warning 22:38
PerlJam &
hankache This is perl6 version 2015.10-30-gab91aea built on MoarVM version 2015.10
22:39 sunbeam left 22:41 muraiki left
RabidGravy hankache, at one point the REPL was less strict than any other way of running code 22:41
hankache oh ok 22:42
RabidGravy perl6 -e '~3.WHAT.say'
WARNINGS:
Useless use of "~" in expression "~3.WHAT.say" in sink context (line 1)
but yes it's precedence, that way it's stringifying the return of say 22:43
hankache I should learn how precedence work, that's the second time it tricks me today
ilmari but the repl shows the return value, so is not in sink context, is it?
hankache ilmari: yes REPL says (Int) 22:44
RabidGravy ah correct
ilmari keeps getting caught out by camelia not showing the return value
22:44 yqt left
hankache i think the REPL evaluates 3.WHAT and then ~ am i right? 22:45
cognominal m: say "\n" ~~ / \v ^^ / # is that correct?
camelia rakudo-moar dc0238: OUTPUT«Nil␤»
hankache salut cognominal
cognominal salut 22:46
lizmat cognominal o/
RabidGravy hankache, in every way you can run it runs ~(3.WHAT.say) 22:47
m: ~(3.WHAT.say)
camelia rakudo-moar dc0238: OUTPUT«WARNINGS:␤Useless use of "~" in expression "~(3.WHAT.say)" in sink context (line 1)␤(Int)␤»
RabidGravy m: say ~(3.WHAT.say)
camelia rakudo-moar dc0238: OUTPUT«(Int)␤True␤»
lizmat m: say "\n" ~~ / \v $/ # don't you mean this, cognominal ?
camelia rakudo-moar dc0238: OUTPUT«「␤」␤»
22:47 vendethiel left
RabidGravy anyway, time for bed now. stuff do tomorrow 22:48
hankache goodnight RabidGravy 22:49
tadzik computer, messages 22:50
yoleaux 22:20Z <RabidGravy> tadzik: there you go github.com/tadzik/JSON-Unmarshal/pull/11 when you have a minute
22:52 RabidGravy left
cognominal lizmat, no I really mean what I typed. I consider the end of file after \v being the start of an empty line. I wanted to rely on that on a more complex regex 22:54
lizmat then I'm not sure
cognominal me neither :)
timotimo lizmat: is "Split.str" just silly or an actual typo? :) 23:04
lizmat a silly typo
timotimo i say we keep it
but Str.comb(Int $n) is 40x faster than what?
Str.comb(/..../) for example?
lizmat yes 23:05
23:05 virtualsue left
timotimo should that go in the post, too? 23:05
cognominal at least, it is conformant to the spec "C<^^> always matches the beginning of the string and after any C<\n> that is *not* the final character in the string."
I suppose I can write [ ^^ | $ ] in my regex 23:06
lizmat This alternative is about 40x faster than the equivalent /.../ # timotimo++ 23:07
timotimo i wonder if / .... / is faster or slower than / . ** 4 / 23:08
and whether that changes noticably for different numbers of dots vs ** $n
lizmat can't really try atm, doing a spectest *and* a JVM build at the same time 23:09
TimToady is experimenting with moving Nil outside of Any, since it's really a concept, not an object 23:10
TimToady already has a version where Failure is derived from Nil... 23:11
23:11 Psyche^ left
lizmat is spectesting some more Nilling 23:11
perhaps it would be easier if Nil were a Mu.new like IterationEnd ? 23:13
TimToady well, if this works out, the return check bypass will be ~~ Nil rather than ~~ Failure
lizmat maybe nqp::eqaddr(Nil) would be cheaper ? 23:14
aka =:= ?
TimToady that wouldn't pass Failures as a kind of extended Nil
lizmat ah, yes
TimToady and istype is cheap
and I've always thought of Failure as a kind of Nil with extra information 23:15
so I'll see if I can make it fly--I think it'll clean up some things if we can make it work
and I've always been itching to move more concepts outside of Any; just having Junctions there feels wrongish 23:16
23:17 spider-mario left
TimToady well, it compiles, so that's something... 23:17
lizmat :-)
TimToady kazillions of tests blow up, of course, but that's to be expected when changing something fundamental enough that a few spots may need to have a Mu added 23:19
dalek kudo/nom: 2ad739e | lizmat++ | src/core/ (4 files):
Some more Nilling
23:21
TimToady
.oO(Great Nil Refactor...)
23:22 tardisx left
lizmat TimToady: please look at the .of / .default / .name / .dynamic changes 23:22
(or lack thereof)
[Coke]: I assume the JVM meltdown is somewhere in Str.split(Regex), called from PARSE-INCLUDE-SPECS 23:23
23:23 tardisx joined 23:24 Oatmeal joined
lizmat [Coke]: but haven't figured out what exactly triggers it 23:24
will look again tomorrow, too tired now
TimToady only failed 166 test files :D 23:28
lizmat reminds me of the start of the GLR test file fixing :-)
good night, #perl6! 23:29
23:29 prevost_ left
timotimo a friend of mine is disappointed we don't redirect from http to https automatically on perl6.org ... and set HSTS :) 23:31
ZoffixW What's HSTS?
23:31 dha left
ZoffixW nm found it 23:32
23:39 Skarsnik left, yqt joined, dbrock joined
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 666c188 | (Zoffix Znet)++ | mojo-app/ (12 files):
Model now passes the test suite

  mst++ for consulting
23:42
23:47 ZoffixW left
dalek kudo-star-daily: 18dbf4b | coke++ | log/ (9 files):
today (automated commit)
23:51
23:57 tardisx left 23:59 tardisx joined