»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:00 atta left 00:04 Praise left 00:05 Praise joined 00:07 atta joined 00:09 firstdayonthejob left 00:10 leont left 00:11 apiw left 00:16 ely-se left, kurahaupo left 00:26 Laurent_R left 00:29 apiw joined 00:35 kurahaupo joined 00:38 kurahaupo_ joined 00:39 kurahaupo` joined 00:41 kurahaupo left 00:42 kurahaupo_ left 00:43 BenGoldberg left 00:50 kurahaupo joined 00:51 virtualsue joined, mike__ joined 00:52 mike__ left, kurahaupo` left 00:54 mattn_jp joined 00:57 mohae left 00:58 mohae joined, SCHAAP137 left, virtualsue left 01:02 yeahnoob joined 01:05 mattn_jp left 01:11 apiw left
AlexDaniel .tell Skarsnik Hi! I am parsing ≈6000 html files with Gumbo. Although I only store just a couple of tiny bits (Str-s) I am still running out of memory after around 822 files (16Gb RAM). I'm pretty sure that it is not me and something else is leaking this memory. Could be something in Gumbo or could be something in Perl6. Do you have any idea? 01:14
yoleaux AlexDaniel: I'll pass your message to Skarsnik.
01:21 dolmen left 01:24 kurahaupo left 01:26 kurahaupo joined 01:33 kurahaupo left
arnsholt AlexDaniel: If it's a NativeCall wrapper, the library wrapper probably leaks memory due to hacks and general shenanigans in the NativeCall implementation 01:44
AlexDaniel arnsholt: that sounds horrible 01:45
I'm so disappointed with that script actually
first I got into 「hyper」 problems
arnsholt That's because it is kinda terrible, yeah =/
I perpetrated some of said hacks originally. Kinda regretting taking it in that direction, in hindsight
AlexDaniel then double free or corruption thingy when using just 「start」 blocks 01:46
so all disappointed I dropped everything and went with a simple algorithm that does things in serial without that parallel magic
arnsholt I've never worked on the concurrency stuff, so *probably* not my fault in those cases =)
AlexDaniel and now it eats 16 gb memory 1/10 way through…
I should probably get more memory… 01:47
160 gb should probably work 01:48
AlexDaniel cries in the corner
arnsholt Yeah, that memory leak is really annoying. Unfortunately it's tricky to fix as it's probably best fixed by a non-trivial redesign of bits of NativeCall
Well, you can always just split the job into pieces
100 files at a time or whatever 01:49
AlexDaniel arnsholt: and now you're saying that it will be fixed after a *redesign*. I'll go hang myself, this script is never going to be done…
yeah, I've thought about that. Yes, that will complicate everything but it will work
arnsholt If you really do need the data from all 6000 files in memory at the same time, write one script to dump the data from each file to JSON or whatever and another to read in the mess of JSON and do the processing 01:50
It's a bit messy, but that's generally how things get done =) 01:51
Also, it's a kind of approach that you can't avoid in truly large-scale scenarios
AlexDaniel arnsholt: Yes, I know, it is possible to make it work. But it's not as simple because these are not just 6000 files, I'm building a rather deep structure (hash in array in hash etc…) out of 1-2 strings from each page 01:52
arnsholt Should be dumpable to JSON, no? Then you don't have to do any nasty serializing and parsing logic on your own 01:53
Just use one of the JSON modules to handle it
AlexDaniel yeah, that's what I'm building in the end. JSON. 01:54
arnsholt: I'm just unhappy because currently it is a simple 100 line script which *should* work. Sure enough I can split it in a hunder of 1-line script so that the memory is cleaner correctly, but… 01:55
hundred*
scripts* 01:56
cleaned* geez
arnsholt: I'm also unhappy because e.g. I can't find a way to report “double free or corruption” thingy 01:57
arnsholt: I've seen it several times, it happens after a while if you're using a couple of 「start」 blocks. But I cannot narrow it down to something reportable
.tell Skarsnik you may also read this: irclog.perlgeek.de/perl6/2016-02-14#i_12037219 who knows, maybe you're the right person to fix this :) 01:58
yoleaux AlexDaniel: I'll pass your message to Skarsnik.
AlexDaniel arnsholt: and I don't think that a 100-line script that parses 800 files an crashes after 1+ hours is a good candidate for a script that could be attached to the bug report. 02:00
02:23 raiph joined 02:24 molaf_ joined 02:28 molaf left 02:32 kid51 left 02:46 ilbot3 left 02:47 ilbot3 joined, perlawhirl joined
perlawhirl hi perlers 02:48
just wonderin about the best way to check if a word contains a particular diacritic, eg a GRAVE 02:49
my $word = 'papà'; say so $word.comb.grep( *.uniname.contains('GRAVE') );
m: my $word = 'papà'; say so $word.comb.grep( *.uniname.contains('GRAVE') ); 02:50
camelia rakudo-moar 97eafa: OUTPUT«True␤»
perlawhirl so that's what i came up with... any other suggestions
m: my $word = 'papà'; say $word.comb».uniname.contains('GRAVE'); 02:51
camelia rakudo-moar 97eafa: OUTPUT«True␤»
perlawhirl that's a little nicer i guess 02:53
03:00 raiph left
AlexDaniel perlawhirl: hold on 03:04
geekosaur m: my $word = 'papà'; say so $word ~~ /<:name(/GRAVE/)>/; 03:05
camelia rakudo-moar 97eafa: OUTPUT«True␤»
AlexDaniel m: .say for ‘à’.NFD».chr».Str».uniname
camelia rakudo-moar 97eafa: OUTPUT«LATIN SMALL LETTER A␤COMBINING GRAVE ACCENT␤»
AlexDaniel m: .say for ‘à’.NFD».chr».uniname
camelia rakudo-moar 97eafa: OUTPUT«LATIN SMALL LETTER A␤COMBINING GRAVE ACCENT␤»
geekosaur m: my $word = 'papà'; say so $word.NFD ~~ /\x0300/; 03:06
camelia rakudo-moar 97eafa: OUTPUT«False␤»
03:06 geraud joined
geekosaur whoops 03:06
AlexDaniel m: .say for ‘à’.NFD».chr».uniprop
camelia rakudo-moar 97eafa: OUTPUT«Ll␤Mn␤»
AlexDaniel perlawhirl: perhaps you might want to look at Mn prop after getting your string in NFD form
03:07 noganex_ joined
AlexDaniel m: say [~] (0..0x1FFFF ==> grep { .uniprop eq ‘Mn’ })».chr 03:07
camelia rakudo-moar 97eafa: OUTPUT«…»
AlexDaniel m: say ‘a’ ~ [~] (0..0x1FFFF ==> grep { .uniprop eq ‘Mn’ })».chr 03:08
camelia rakudo-moar 97eafa: OUTPUT«…»
AlexDaniel camelia: honestly I have no idea why you can't print that
03:10 noganex left
flussence m: say (0..0x1FFFF ==> grep { .uniprop eq ‘Mn’ }).elems 03:13
camelia rakudo-moar 97eafa: OUTPUT«1327␤» 03:14
perlawhirl AlexDaniel: i like your fist one. i knew there'd be a nice and short way using smartmatch 03:15
petercommand m: say <1 2 3>
camelia rakudo-moar 97eafa: OUTPUT«(1 2 3)␤»
perlawhirl m: my $word = 'papà'; say so $word ~~ /<:name(/GRAVE/)>/;
camelia rakudo-moar 97eafa: OUTPUT«True␤»
geekosaur I think you meant mine
petercommand m: say <<1 2> 2 3>
camelia rakudo-moar 97eafa: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6zNeEhivrf␤Unable to parse expression in shell-quote words; couldn't find final '>>' ␤at /tmp/6zNeEhivrf:1␤------> 3say <<1 2> 2 3>7⏏5<EOL>␤ expecting any of:␤ argument list␤ …»
perlawhirl oh
sorry geekosaur
it was you :D
AlexDaniel xD
petercommand m: say < <1 2> 2 3>
camelia rakudo-moar 97eafa: OUTPUT«Value of type List uselessly passed to val() in block <unit> at /tmp/X2DdUDIfjO line 1␤(<1 2> 2 3)␤»
petercommand at first i thought i can do nested list using this syntax, but turns out i can't 03:16
AlexDaniel perlawhirl: just keep in mind that if you're looking for GRAVE then you basically get all these:
m: say [~] (0..0x1FFFF ==> grep { .uniname ~~ /GRAVE/ })».chr
camelia rakudo-moar 97eafa: OUTPUT«`ÀÈÌÒÙàèìòùǛǜǸǹȀȁȄȅȈȉȌȍȐȑȔȕˋˎ˴˵̖̀̏̀ЀЍѐѝѶѷ॓ᐠ᷀᷅᷆᷈᷉ḔḕṐṑẀẁẦầẰằỀềỒồỜờỪừỲỳ⛼`𛲂𛲃𛲒𛲓␤»
geekosaur petercommand, < > quotes the insie, so embdded < > are no longer special 03:17
AlexDaniel perlawhirl: which, for exmple, contains HEADSTONE GRAVEYARD SYMBOL
perlawhirl AlexDaniel: all good... not actually solving anything for myself. i saw a perl question on SO, and was just thinking to myself how much easier these sorts of things are in perl6
AlexDaniel .u HEADSTONE GRAVEYARD SYMBOL
yoleaux U+26FC HEADSTONE GRAVEYARD SYMBOL [So] (⛼)
geekosaur yeh, I was thinking that it might want spaces
m: my $word = 'papà'; say so $word ~~ /<:name(/ GRAVE /)>/; 03:18
camelia rakudo-moar 97eafa: OUTPUT«True␤»
geekosaur although that could potentially lose too, come to think of it
AlexDaniel m: my $word = 'pap⛼'; say so $word ~~ /<:name(/ GRAVE /)>/;
camelia rakudo-moar 97eafa: OUTPUT«True␤»
geekosaur m: say [~] (0..0x1FFFF ==> grep { .uniname ~~ /GRAVE$/ })».chr
camelia rakudo-moar 97eafa: OUTPUT«ÀÈÌÒÙàèìòùǛǜǸǹȀȁȄȅȈȉȌȍȐȑȔȕЀЍѐѝᐠ᷆᷈ḔḕṐṑẀẁẦầẰằỀềỒồỜờỪừỲỳ𛲂𛲃𛲒𛲓␤»
geekosaur m: say [~] (0..0x1FFFF ==> grep { .uniname ~~ /GRAVE$$/ })».chr 03:19
camelia rakudo-moar 97eafa: OUTPUT«ÀÈÌÒÙàèìòùǛǜǸǹȀȁȄȅȈȉȌȍȐȑȔȕЀЍѐѝᐠ᷆᷈ḔḕṐṑẀẁẦầẰằỀềỒồỜờỪừỲỳ𛲂𛲃𛲒𛲓␤»
geekosaur sigh
AlexDaniel $ was ok :)
geekosaur doin it wrong
03:19 sortiz joined, mr-foobar left
sortiz \o #perl6 03:19
yoleaux 13 Feb 2016 11:46Z <lizmat> sortiz: the || suggestion gives a tiny slowdown in my benchmarks, so I didn't apply that
perlawhirl m: say [~] (0..0x1FFFF ==> grep { .uniname ~~ /<< GRAVE >>/ })».chr
camelia rakudo-moar 97eafa: OUTPUT«`ÀÈÌÒÙàèìòùǛǜǸǹȀȁȄȅȈȉȌȍȐȑȔȕˋˎ˴˵̖̀̏̀ЀЍѐѝѶѷ॓ᐠ᷀᷅᷆᷈᷉ḔḕṐṑẀẁẦầẰằỀềỒồỜờỪừỲỳ`𛲂𛲃𛲒𛲓␤»
AlexDaniel .u Ǹ 03:20
yoleaux U+01F8 LATIN CAPITAL LETTER N WITH GRAVE [Lu] (Ǹ)
perlawhirl .u ˎ
yoleaux U+02CE MODIFIER LETTER LOW GRAVE ACCENT [Lm] (ˎ)
geekosaur oh, it does end with it
AlexDaniel perlawhirl: perhaps if you want to get just letters than you have to look for Lu property + GRAVE
then* 03:21
that being said, I still think that NFD is the only accurate solution
03:21 mr-foobar joined
perlawhirl sometime like... $word ~~ /<:name(/ <:Lu> .+ GRAVE$ /)>/; 03:22
should work for most things
m: my $word = 'teˎst'; say $word ~~ /<:name(/ <:Lu> .+ GRAVE$ /)>/;
camelia rakudo-moar 97eafa: OUTPUT«Nil␤»
perlawhirl goodo 03:23
m: my $word = 'papà'; say $word ~~ /<:name(/ <:Lu> .+ GRAVE$ /)>/;
camelia rakudo-moar 97eafa: OUTPUT«「à」␤»
AlexDaniel perlawhirl: why would you want to do that, by the way? 03:24
I mean, what's the reason why this question was asked?
perlawhirl oh like i said... just thinking about the problem cause i saw a perl5 question on so. 03:25
if you're interested: stackoverflow.com/questions/3537555...-diacritic
sortiz .tell lizmat I was assuming that less bytecode implies less opcodes so better times, That worries me, I need to make a deeper analysis.
yoleaux sortiz: I'll pass your message to lizmat.
perlawhirl after i tried a few things and failed i was thinking, geez this is so much easier in perl6
and then was just wondering about the best way to actually do it in perl6 03:26
to be clear... i don't really have a problem i'm looking to solve... just thinking out loud :D 03:27
geekosaur m: my $word = 'papx̀'; say $word ~~ /<:name(/ <:Lu> .+ GRAVE$ /)>/;
camelia rakudo-moar 97eafa: OUTPUT«Nil␤»
geekosaur didn't think so
perlawhirl geekosaur: yep, already tested that it also doesn't pick up 'ˎ' 03:28
.u ˎ
yoleaux U+02CE MODIFIER LETTER LOW GRAVE ACCENT [Lm] (ˎ)
perlawhirl m: my $word = 'teˎst'; say so $word ~~ /<:name(/ <:Lu> .+ GRAVE$ /)>/; 03:29
camelia rakudo-moar 97eafa: OUTPUT«False␤»
perlawhirl which is what you would want if you were trying to solve this issue
AlexDaniel perlawhirl: oh, the answer to this question is really simple 03:30
if only I could make Uni act like a list… 03:33
ah, lit
「list」
m: say so ‘àầằèềḕìǹòồṑùǜừẁỳ’.NFD.list.grep: 768
camelia rakudo-moar 97eafa: OUTPUT«True␤»
AlexDaniel perlawhirl: ↑ that's it
after NFD that grave will end up being COMBINING GRAVE ACCENT 03:34
so just search for it and that's it
it also has a nice effect of finding real COMBINING GRAVE ACCENT (which is good!) 03:35
perlawhirl that's cool 03:38
03:39 cognominal left, cognominal joined 03:42 raiph joined, ka left 03:49 yqt left 03:52 perlawhirl left
petercommand what does the * mean in something like *@var? 03:55
is there any doc i can refer to? 04:00
sortiz petercommand, search for Slurpy Parameters in doc.perl6.org/type/Signature 04:01
AlexDaniel Hotkeys: my@h – that's something :D
geekosaur design.perl6.org/S06.html#List_parameters 04:02
Hotkeys heh
who needs whitespace
not this guy
the only one you can't do it with is the \ sigil
petercommand sortiz: thx! 04:03
geekosaur: :D
thanks, geekosaur
04:04 TEttinger joined 04:11 skids joined, jack_rabbit joined
b2gills m: say ("abàầằèềḕìǹòồṑùǜừẁỳy" ~~ m:g/(.) <?{ $0.Str.NFD.any == "\c[COMBINING GRAVE ACCENT]".ord }>/)».Str 04:14
camelia rakudo-moar 97eafa: OUTPUT«(à ầ ằ è ề ḕ ì ǹ ò ồ ṑ ù ǜ ừ ẁ ỳ)␤»
04:38 rurban joined 04:45 kaare_ joined 04:47 perlawhirl joined 04:58 revhippie left 05:04 Herby_ joined
Herby_ Evening, everyone! 05:07
05:07 rurban left
Herby_ m: "Skyfall" ~~ /Sky 'fall'?/; 05:10
camelia ( no output )
sortiz good * Herby_
Herby_ \o
m: say "Skyfall" ~~ /Sky 'fall'?/;
camelia rakudo-moar 97eafa: OUTPUT«「Skyfall」␤»
Herby_ m: say "Sky" ~~ /Sky 'fall'?/;
camelia rakudo-moar 97eafa: OUTPUT«「Sky」␤»
Herby_ flipping through the "Perl 6 Modules 'Want List'" 05:11
to see if there are any I can tackle
exciting Saturday night, I know. 05:14
m: say "Skyfalling" ~~ /Sky 'fall'?/; 05:17
camelia rakudo-moar 97eafa: OUTPUT«「Skyfall」␤»
Herby_ m: say "Skyfalling" ~~ /Sky 'fall'?>>/;
camelia rakudo-moar 97eafa: OUTPUT«Nil␤»
05:19 neilb_ joined 05:22 neilb left, neilb_ is now known as neilb 05:31 mr-foobar left 05:33 mr-foobar joined
sortiz .seen hoelzro 05:33
yoleaux I saw hoelzro 12 Feb 2016 21:05Z in #perl6: <hoelzro> I was going to say "2215?! Perl 6 really *is* a one-hundred year language!"
05:40 perlawhirl left
sortiz .ask hoelzro Reading your changes for multi-line, in nqp, why is $more-code-sentinel outside of the class, more over, why not an attribute? 05:41
yoleaux sortiz: I'll pass your message to hoelzro.
05:42 Cabanossi left 05:45 Cabanossi joined 06:06 raiph left 06:07 khw left 06:18 rurban joined 06:19 rurban left 06:20 rurban joined 06:21 Herby_ left 06:27 kurahaupo joined 06:34 mkz left
sortiz .tell hoelzro Seems to me that other exceptions to catch are those produced by HLL::Grammar.FAILGOAL, method that I suppose can be overridden too. 06:40
yoleaux sortiz: I'll pass your message to hoelzro.
06:48 atweiden left 06:55 kurahaupo_ joined 06:56 kurahaupo left, kurahaupo joined 06:57 ramon joined, ramon is now known as Guest56376 07:00 kurahaupo_ left, AlexDaniel left 07:20 kurahaupo left 07:25 skids left 07:36 secwang joined 07:49 Averna left 07:50 virtualsue joined 07:56 CIAvash joined 08:02 Actualeyes left 08:03 Averna joined 08:04 kurahaupo joined 08:07 spider-mario joined 08:10 geraud left 08:12 kurahaupo left, darutoko joined 08:13 isBEKaml left, kurahaupo joined 08:17 kurahaupo left 08:19 Laurent_R joined
nine Good morning! 08:29
yoleaux 13 Feb 2016 16:51Z <jnthn> nine: I don't know that we need to do anything; a pass with some passing TODO'd tests is still a perfectly fine pass.
nine .tell jnthn well our test harness counts test files with passing TODOs as failed. Seems like a good thing for the master tests but not for 6.c. 08:30
yoleaux nine: I'll pass your message to jnthn.
masak morning, nine 08:43
08:47 firstdayonthejob joined 08:55 mr-foobar left 09:04 hankache joined, rindolf joined 09:05 dayangkun joined
nine Looks like we already fail 15 6.c tests :/ 09:10
masak wow, how did that happen? 09:12
nine I guess people just don't run the 6.c tests before committing 09:15
09:17 dolmen joined 09:20 wwwbukolaycom joined
dalek kudo/nom: 66628aa | (Stefan Seifert)++ | src/core/CompUnit/Repository (3 files):
CompUnit::Repository::resolve

New method to ask the repository chain if a module matching the given DependencySpecification is available. This could for example be used by panda to avoid trying to install an already installed module.
09:24
kudo/nom: 062e7aa | (Stefan Seifert)++ | src/core/CompUnit/ (3 files):
Centralize more precompilation code
kudo/nom: d71f42f | (Stefan Seifert)++ | src/core/CompUnit/Repository/Installation.pm:
CompUnit::Repository::Installation::uninstall
kudo/nom: 8ca26ce | (Stefan Seifert)++ | src/core/CompUnit/Repository/Installation.pm:
Fixes for installing from outside a dists directory

Use the stable names instead of local file paths when generating file ids. This way those ids no longer depend on the current working directory. Previously we used the path like "./lib/Foo.pm6" for generating the id and would end up with a different id if installing the file by using e.g. "modules/Foo/lib/Foo.pm6".
Only affects newly installed dists.
09:28 mr-foobar joined 09:38 yeahnoob left, dayangkun left 09:49 apiw joined 10:01 ely-se joined, hankache left 10:03 RabidGravy joined
dalek kudo/nom: 123c7aa | moritz++ | src/core/Seq.pm:
Fix RT #127492

  .perl of an already iterated Seq died instead of producing
a string that, when EVAL()ed, produces a Seq that has been iterated.
10:06
ast: 760dbe8 | moritz++ | S32-list/seq.t:
RT #127492: .perl on a consumed Seq
10:08 frankjh joined 10:14 Laurent_R_ joined, secwang left, secwang joined 10:17 Laurent_R left, Laurent_R_ is now known as Laurent_R 10:18 perlawhirl joined 10:19 hankache joined, secwang left 10:20 perlawhirl left 10:22 firstdayonthejob left
dalek osystem: 9d0a2a7 | jamesneko++ | META.list:
Add Dice::Roller to ecosystem

RPG-style dice string rolling tool: github.com/jamesneko/dice-roller
10:25
osystem: 0e483b4 | azawawi++ | META.list:
Merge pull request #154 from jamesneko/patch-1

Add Dice::Roller to ecosystem
10:31 pmurias joined
pmurias nine: it seems that we need the proposed tracking of the 6.c passing master 10:31
nine pmurias: definitely. Without appropriate tooling, this is doomed to fail. 10:32
10:33 wbill joined, virtualsue left 10:34 leont joined 10:38 apiw left 10:48 wbill left, wbill joined 10:51 uruwi joined
uruwi Hello, short question. 10:51
10:52 p6newbee joined
uruwi Is there any way to make parsing with grammars treat whitespace as significant? 10:54
If you're asking why I'd do that: this project is for fun.
10:54 frankjh left 10:57 apiw joined
masak uruwi: using `rule` instead of `regex` or `token` in a grammar will make whitespace significant. 10:58
uruwi: but I'm not 100% sure that's what you're asking about.
here, let me provide an example.
m: grammar G { token TOP { foo bar } }; say ?G.parse("foobar"); say ?G.parse("foo bar") 10:59
camelia rakudo-moar 123c7a: OUTPUT«Potential difficulties:␤ Space is not significant here; please use quotes or :s (:sigspace) modifier (or, to suppress this warning, omit the space, or otherwise change the spacing)␤ at /tmp/Tx3QcXc0QZ:1␤ ------> 3grammar G { token TOP { foo…»
masak heh :)
m: grammar G { rule TOP { foo bar } }; say ?G.parse("foobar"); say ?G.parse("foo bar")
camelia rakudo-moar 123c7a: OUTPUT«False␤True␤»
uruwi m: grammar G {rule TOP { <a>* }; rule a { 0 | 1 | 2 } }; say G.parse("012012"); 11:00
camelia rakudo-moar 123c7a: OUTPUT«Nil␤»
uruwi ^ this is what I mean
m: grammar G { regex TOP { <a>* }; token a { 0 | 1 | 2 } }; say G.parse("012012"); 11:01
camelia rakudo-moar 123c7a: OUTPUT«「012012」␤ a => 「0」␤ a => 「1」␤ a => 「2」␤ a => 「0」␤ a => 「1」␤ a => 「2」␤»
uruwi m: grammar G { rule TOP { <a>* }; token a { 0 | 1 | 2 } }; say G.parse("012012");
camelia rakudo-moar 123c7a: OUTPUT«「012012」␤ a => 「0」␤ a => 「1」␤ a => 「2」␤ a => 「0」␤ a => 「1」␤ a => 「2」␤»
uruwi m: grammar G { rule TOP { <a>* }; rule a { 0 | 1 | 2 } }; say G.parse("012012");
camelia rakudo-moar 123c7a: OUTPUT«Nil␤»
uruwi m: grammar G { rule TOP { <a>* }; regex a { 0 | 1 | 2 } }; say G.parse("012012"); 11:02
camelia rakudo-moar 123c7a: OUTPUT«「012012」␤ a => 「0」␤ a => 「1」␤ a => 「2」␤ a => 「0」␤ a => 「1」␤ a => 「2」␤»
uruwi Is there any performance benefit to using rule instead of regex?
Or is the only difference the treatment of whitespace? 11:03
Oh wait, rule doesn't backtrack
So it's more similar to token in that regard.
masak yes, rule is token + sigspace 11:04
uruwi Thanks anyway! 11:07
11:08 BenGoldberg joined
[Tux] test 22.139 11:08
test-t 12.083
csv-parser 50.672
masak [Tux]++ # relentless marking of bench 11:09
11:09 rurban left 11:14 sftp left, uruwi left
RabidGravy going back down again 11:17
11:18 sftp joined
RabidGravy it definitely seems there is a limit around the 12ish 11:19
still struggling to find a nice example of Audio::Liquidsoap without any dependencies
11:21 musiKk joined 11:24 ely-se left 11:26 SCHAAP137 joined 11:31 telex left 11:32 telex joined 11:37 rurban joined 11:40 rurban left 11:42 mkz joined 11:51 dolmen left 11:53 dolmen joined 11:57 CIAvash left 12:00 wbill_ joined 12:03 wbill left 12:10 uruwi joined
uruwi Is anyone else having trouble with deep nesting levels in grammars? 12:10
masak could you be more specific? 12:11
I'm pretty sure I've nested hundreds of levels in some of my parses. once you get going, it's hard to stop.
uruwi More specifically, parsing operator precedences.
masak that's not specific enough :) 12:12
uruwi Each level I add doubles the time needed for parsing. 12:13
I'm seeing if I can replace instances of "regex" with "token" instead.
masak yes, sounds like you need to eliminate some rampant backtracking there 12:14
there's a rule of thumb: the more mature and scaled-up the language, the less backtracking should be required
uruwi Mature in terms of? 12:15
pmurias do we want to have both the line and the column (instead of just the line in exception backtraces)? 12:16
masak uruwi: mature in terms of the purposes it's meant to be put to. a full-fledged programming language is likely to (want to) be mature and have little backtracking. 12:18
uruwi: a constraint-satisfaction puzzle is likely to want to make use of a lot of backtracking.
pmurias: I usually like both, yes. 12:19
with the caveat that they point to the right place :) something Perl 5 does quite well, and other languages generally less well
pmurias erlang for a long time didn't display either and still managed to be the cool new thing 12:26
;)
masak LTA error messages are the norm, I fear. 12:28
12:34 rurban joined 12:35 apiw left
pmurias masak: internally we are using the file positions, it's only when translated for displaying that info gets lost 12:35
12:41 rurban left 12:42 dolmen left, rurban joined 12:43 apiw joined
pmurias should "is native(LIB)" be now turned into "is native(LIB, VERSION)" 12:44
?
RabidGravy pmurias, LIB can be a list 12:45
uruwi Fortunately, all that time seems to be spent at the start 12:46
RabidGravy so you can just change LIB to be "my constant LIB = ( 'somelib', v0.1)
pmurias when using Readline I get a note that I should consider adding a version
12:51 [TuxCM] joined 12:52 kurahaupo joined, [Tux] left, |Tux| left 12:53 TEttinger left 12:56 ka joined 12:57 kid51 joined 12:59 wbill_ left 13:04 [Tux] joined 13:07 pmurias left 13:13 pmurias joined 13:17 vendethiel joined 13:21 BenGoldberg left 13:26 firstdayonthejob joined
sortiz Can I assume that in a Lock protected block no other thread can't touch the memory of a Blob, nor reallocate it? 13:28
13:30 spider-mario left
pmurias masak: it's an interesting question how the awesomeness of minor things influences language adoption/fun of use compared to the big things (speed/library support) 13:31
vendethiel o/, #perl6
pmurias vendethiel: hi 13:34
13:34 partly joined
partly Hi 13:34
I can not figure out how to say List<Int> in perl6
13:34 apiw left
partly I read the Containers documentation, 13:35
13:35 dolmen joined
partly Or is this not possible in perl6? 13:35
timotimo m: my Int @foo = 1, 2, 3, 4; say @foo 13:37
camelia rakudo-moar 123c7a: OUTPUT«[1 2 3 4]␤»
timotimo m: say Array[Int].new(1, 2, 3, 4, 5) 13:38
camelia rakudo-moar 123c7a: OUTPUT«[1 2 3 4 5]␤»
pmurias do we want the column from HLL::Compiler.line_and_column_of to be 0-indexed or 1-indexed? 13:42
13:43 apiw joined
partly if i put Array[Int] @haystack in my function signature i get an error 13:43
RabidGravy yes
you are asking for an Array of Arrays of Ints
I guess you mean Int @haystack 13:44
partly if i do Int @haystack in function signature and give it an array of ints, i get the error: expected Positional[Int] but got Array
13:45 daxim left, daxim joined
timotimo yeah, type constraints are nominal in perl6 13:46
you need to actually Array[Int].new(...) or my Int @array ...
just because you write [1, 2, 3, 4], you don't get an Array[Int] 13:47
RabidGravy If you really must do something like that then you want something like:
m: 'sub foo(Array[Int] $a) { say $a }; my Int @b = (^10); foo(@b)
camelia rakudo-moar 123c7a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/s5jxR2Jjwt␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/s5jxR2Jjwt:1␤------> 3) { say $a }; my Int @b = (^10); foo(@b)7⏏5<EOL>␤ expecting any of:␤ sing…»
partly timotimo: well i would be happy if i could say: here should be something listy which contains ints
RabidGravy m: sub foo(Array[Int] $a) { say $a }; my Int @b = (^10); foo(@b)
camelia rakudo-moar 123c7a: OUTPUT«[0 1 2 3 4 5 6 7 8 9]␤»
13:48 BenGoldberg joined
partly ok, i see how this makes sense, but this makes no sense to normal human beeing 13:48
timotimo m: sub test(@arr where *.all ~~ Int) { say "yay" }; test([1, 2, 3, 4])
camelia rakudo-moar 123c7a: OUTPUT«Constraint type check failed for parameter '@arr'␤ in sub test at /tmp/I4q299kjEZ line 1␤ in block <unit> at /tmp/I4q299kjEZ line 1␤␤»
timotimo ah, yes
partly i mean yeah, by using Array[Int] $haystack i get an array while @haystack is positional, but this is weird 13:49
timotimo m: sub test(@arr where *.>>isa(Int).all) { say "yay" }; test([1, 2, 3, 4])
camelia rakudo-moar 123c7a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6i6CVNZKbj␤Missing dot on method call␤at /tmp/6i6CVNZKbj:1␤------> 3sub test(@arr where *.>>7⏏5isa(Int).all) { say "yay" }; test([1, 2,␤ expecting any of:␤ postfix␤»
timotimo m: sub test(@arr where *>>.isa(Int).all) { say "yay" }; test([1, 2, 3, 4])
camelia rakudo-moar 123c7a: OUTPUT«yay␤»
timotimo m: sub test(@arr where *>>.isa(Int).all) { say "yay" }; test([1, 2, 3, 4, "hey"])
camelia rakudo-moar 123c7a: OUTPUT«Constraint type check failed for parameter '@arr'␤ in sub test at /tmp/H8LAYaGqKv line 1␤ in block <unit> at /tmp/H8LAYaGqKv line 1␤␤»
partly ahh nice 13:50
timotimo: thank you, this will do
but just out of curiosity, if use Array[Int] $haystack, later in the function @haystack.elems breaks, because it has the wrong sigil, how would i convert it to a @var ? 13:51
timotimo i find that question hard to answer, because ... what do you expect that to do? 13:52
jnthn You'd normally just write Int @haystack, so you don't couple to the exact implementation type being passed.
yoleaux 08:30Z <nine> jnthn: well our test harness counts test files with passing TODOs as failed. Seems like a good thing for the master tests but not for 6.c.
timotimo you can use the binding operator (:=) to do that
RabidGravy or
jnthn .tell nine Then we should fix our test harness to not do that.
yoleaux jnthn: I'll pass your message to nine.
RabidGravy m: sub foo(Array[Int] $a) { my @a = $a.list; say @a }; my Int @b = (^10); foo(@b)
camelia rakudo-moar 123c7a: OUTPUT«[0 1 2 3 4 5 6 7 8 9]␤»
RabidGravy or any other squillion methods 13:53
jnthn RabidGravy: That works, but also makes a copy.
RabidGravy indeed
partly ahh so i have a reference, which i make by using := or .list method on it back to something listy, right? 13:54
jnthn I find it funny that people start out saying "how do I List<int> in Perl 6", presumably with a C++/Java/C# background given the use of that syntax, then get surprised when they are expected to make the types match on either side - just as C++/Java/C# would make them do. :)
RabidGravy but yeah, so
m: sub foo(Int @a ) { say @a }; my Int @b = [^10]; foo(@b) # just works
camelia rakudo-moar 123c7a: OUTPUT«[0 1 2 3 4 5 6 7 8 9]␤»
13:54 sjohnson left
RabidGravy so I'm really not sure what the problem is here 13:54
partly m: sub foo(Int @a) { say @a }; foo([1,2,3]) 13:55
camelia rakudo-moar 123c7a: OUTPUT«Type check failed in binding @a; expected Positional[Int] but got Array␤ in sub foo at /tmp/6gQRWjqIuH line 1␤ in block <unit> at /tmp/6gQRWjqIuH line 1␤␤»
partly does not work
jnthn partly: Yes because you did not type the thing you are passing
RabidGravy you can't have it both ways 13:56
partly [] == is not always an array?
or list? or whatever?
jnthn partly: It's always an *untyped* array.
partly ahh!
sortiz m: my Array[Int] $foo .= new(1,2,3,4,5); say $foo.elems; sub f(@a) { say @a.elems }; f(@$foo);
camelia rakudo-moar 123c7a: OUTPUT«5␤5␤»
jnthn m: sub foo(Int @a) { say @a }; foo(my Int @ = 1,2,3) 13:57
camelia rakudo-moar 123c7a: OUTPUT«[1 2 3]␤»
partly i think i understand now my issue. so i misunderstood []
RabidGravy m: sub foo(Int @a) { say @a }; foo([1,2,3] but Positional[Int]) ; # just do demonstrate 13:58
camelia rakudo-moar 123c7a: OUTPUT«[1 2 3]␤»
partly thank you all for your patience
jnthn RabidGravy: That's...naughty :)
RabidGravy it's all about the naughty here
jnthn wonders if we need a better write-up of typed arrays and stuff in the docs somewhere... :) 13:59
partly jnthn: yes please
14:00 wamba joined, Ben_Goldberg joined
masak partly: Perl 6's type system is nominal. in practice that means that it's not enough for an array to contain only Ints in order to match `Int @array`, it actually has to be declared as an Array[Int]. "nominal", as in "by name", as in you have to declare that it's an Array of Ints. 14:02
partly m: sub foo(Int @f) { say @f }; foo([1,2,'a'] but Positional[Int]) 14:03
camelia rakudo-moar 123c7a: OUTPUT«[1 2 a]␤»
14:03 BenGoldberg left
partly masak: so if i say it's Positional[Int] it just believes me, like in the example above? 14:03
14:04 mr-foobar left
partly or is this some kind of weird string to int casting? 14:04
timotimo no, it's just a footgun
jnthn advises against `but Positional[Int]` style tricks 14:05
masak yes, that does seem ill-advised 14:07
jnthn Will see if I can find some time to write a bit more in doc.perl6.org/language/list#Typing later on today
masak you're slapping a type onto it, instead of declaring it as the type it actually is
jnthn Given Perl 6's meta-programming capabilities, the sky's the limit in terms of what you can claim. :-) 14:08
14:09 mr-foobar joined
timotimo well, at least with the "but" trick you can get it to typecheck any later additions to the array 14:10
jnthn Uh...no you don't :) 14:11
I don't think so, anyway
jnthn bbl
14:13 [Tux] left
partly m: my @a = [1,2,3] but Positional[Int]; @a[3] = 'a'. 14:14
camelia rakudo-moar 123c7a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/bsxfwV6XxM␤Malformed postfix call␤at /tmp/bsxfwV6XxM:1␤------> 031,2,3] but Positional[Int]; @a[3] = 'a'.7⏏5<EOL>␤»
partly m: my @a = [1,2,3] but Positional[Int]; @a[3] = 'a';
camelia ( no output )
partly m: my @a = [1,2,3] but Positional[Int]; @a[3] = 'a'; say @a
camelia rakudo-moar 123c7a: OUTPUT«[1 2 3 a]␤»
14:17 rurban left
masak boo! 14:17
timotimo oh, damn 14:18
it doesn't parameterize it properly 14:19
masak haha -- I don't know what you mean by that, but it sounds like Star Trek speak. "it doesn't reverse the polarity!" :P 14:20
timotimo: I don't see it as an "error", it's just the foot being shot as ordered IMHO
timotimo right :)
masak timotimo: as in, the underlying object that the `but` acts on is *not* typed 14:21
14:21 [Tux] joined
timotimo right, and the role itself isn't responsible for all the implementations of the methods 14:22
that's TypedArray
14:22 [Tux] left
sortiz From class Lock doc: "A Lock is a low-level constructor for ensuring that only one thread works with a certain object at a given time". That description doesn't seem right or I'm missing something? 14:23
14:23 [Tux] joined
masak sortiz: the word "constructor" there surprises me. 14:23
sortiz And I understand that a Lock protects a block, not an object. 14:24
14:24 rurban joined
masak sortiz: looking at the tests and the source, I'd say so too. 14:25
masak sees no tests for the "reentrant" bit and is left wondering what would be a good code example showing off that 14:27
14:28 dolmen left
partly :w 14:30
masak hugs partly, good vim user!
partly well it was targeted to spacemacs ;) 14:31
masak .oO( space-Macs, like the aliens in "Independence Day" are using? ) 14:32
partly github.com/syl20bnr/spacemacs 14:33
14:34 apiw left 14:36 _mg_ joined
timotimo it's not space-macs, it's spac-emacs 14:43
just like run-escape rather than rune-scape 14:44
14:45 Ben_Goldberg left 14:46 Actualeyes joined 14:47 apiw joined 14:52 dolmen joined 14:53 apiw left 14:58 musiKk left, apiw joined 15:03 apiw left 15:06 sortiz left 15:11 daxim left, [TuxCM] left 15:14 apiw joined 15:17 apiw left
mspo I tried spacemacs and was impressed when emacs found my mouse but a bunch of the installs failed and it seemed a little thrown together 15:24
15:25 edehont joined 15:34 Gothmog_ left 15:39 frankjh joined, daxim joined 15:40 CIAvash joined 15:42 _mg_ left 15:44 brrt joined
dalek c: 17f6714 | (Eric de Hont)++ | doc/Language/regexes.pod:
Update regexes.pod

I found a small typo: staring -> starting
15:44
c: 9d3e034 | (Fritz Zaucker)++ | doc/Language/regexes.pod:
Merge pull request #395 from edehont/patch-1

Update regexes.pod
edehont My first pull request EVER! 15:46
15:53 _mg_ joined
timotimo good! :) 15:56
may it be the start of something great
16:01 rurban left 16:04 SCHAAP137 left 16:05 rurban joined 16:09 khw joined 16:10 uruwi left
edehont Who knows :-) 16:13
16:17 rindolf left 16:20 brrt left 16:26 rindolf joined 16:27 sufrostico joined 16:29 frankjh left 16:33 edehont left 16:34 apiw joined 16:42 dolmen left 16:46 SCHAAP137 joined 16:48 musiKk joined 16:50 skids joined 16:58 sufrostico left 17:09 rurban1 joined, rurban1 left 17:13 rurban left 17:15 Ben_Goldberg joined
moritz regarding rakudo commit 123c7aadfb9ef0c656c3b4fb6281605345a015cf 17:16
would you think it'd be cleaner if I gave Seq a special constructor for creating an already-consumed Seq, and then patch .perl to emit that?
Juerd I think that makes sense. Maybe just a :named? 17:23
17:23 musiKk left 17:30 apiw left 17:32 mr-foobar left 17:33 mr-foobar joined 17:34 ka left 17:35 apiw joined 17:39 Guest99208 left
jnthn moritz: Sounds reasonable, yeah. Seq.already-consumed or so. It'd match up with various Supply factories (Supply.interval, etc.) 17:41
17:42 bowtie joined, bowtie is now known as Guest81603
moritz Juerd: named doesn't make sense, because unlike the normal constructor, it doesn't need an iterator 17:47
Juerd moritz: MMD 17:48
17:48 AlexDaniel joined
Juerd moritz: Different signature, different routine, still 'new'. 17:48
17:49 Guest56376 left 17:56 p6newbee left, sevvie joined 17:59 _mg_ left 18:00 pmurias left 18:03 apiw left
AlexDaniel “LTA error messages are the norm, I fear.” – depends on the community :) 18:04
security issues are also a norm in some places
18:05 dolmen joined 18:08 rurban joined 18:09 rurban2 joined 18:10 rurban3 joined 18:11 rurban3 left, apiw joined 18:13 rurban left, rurban2 left 18:16 CIAvash left, zakharyas joined 18:18 Skarsnik joined
partly when using NativeCall, how do express that a class is in a namespace? 18:22
timotimo C doesn't have namespaces, or classes 18:23
partly I'm trying to wrap a C++ library 18:24
timotimo OK, that's a different thing, then :)
i'd presume it'd just be putting a :: in the name?
18:24 Actualeyes left, dolmen left
Skarsnik probably don't have marshmaling code for namespace 18:25
yoleaux 01:14Z <AlexDaniel> Skarsnik: Hi! I am parsing ≈6000 html files with Gumbo. Although I only store just a couple of tiny bits (Str-s) I am still running out of memory after around 822 files (16Gb RAM). I'm pretty sure that it is not me and something else is leaking this memory. Could be something in Gumbo or could be something in Perl6. Do you have any idea?
01:58Z <AlexDaniel> Skarsnik: you may also read this: irclog.perlgeek.de/perl6/2016-02-14#i_12037219 who knows, maybe you're the right person to fix this :)
partly timotimo: hmm surprisingly it works now, or at least i get another error. I thought i tried the obvious ::. Thanks anyway :)
timotimo has never tried C++ with nativecall 18:26
18:31 _mg_ joined
MadcapJake my syntax highlighter is being used at github, unfortunately they skip the variable selector and so other rules are getting captured inside of variable names... 18:37
nine jnthn: the Perl 6 versioning guidelines say that changing a method from only to multi is ok. But that would break subclasses that still have the only method wouldn't it? 18:38
yoleaux 13:52Z <jnthn> nine: Then we should fix our test harness to not do that.
18:40 apiw left 18:42 jevin left, jevin_ joined 18:45 zakharyas left 18:47 Ven joined
jnthn nine: The only method in the subclass would hide the multi in the base class 18:47
nine: Got an example to demonstrate the bustage you're worrying about?
18:53 Ven left 18:54 Ven joined 18:56 BenGoldberg_ joined, apiw joined 18:59 Ben_Goldberg left, ely-se joined
dalek c: 56e386c | jnthn++ | doc/Language/list.pod:
Some notes on nominal nature of array typing.
19:00
c: ce52670 | jnthn++ | doc/Language/list.pod:
Assorted small wording tweaks.
19:02 ka joined 19:07 apiw left 19:08 brrt joined 19:10 abaugher left 19:11 Ven left 19:12 abaugher joined, brrt left 19:14 hankache left 19:16 FROGGS joined 19:18 apiw joined 19:23 musiKk joined 19:24 apiw left 19:27 apiw joined
Skarsnik AlexDaniel, it can be XML/perl6 fault. did you use something to track the memory print after each call? 19:28
AlexDaniel Skarsnik: I didn't. What exactly should I try?
Skarsnik Linux::Proc::Statm? x) 19:29
AlexDaniel hmm ok I'll try
Skarsnik or read yourself /proc/pid/statm
AlexDaniel a bit later
nine jnthn: I don't have an example at hand. Just trying to feel my way around how to best evolve the CompUnit::Repository API 19:30
19:32 Begi joined 19:36 neilb left 19:43 musiKk left
dalek kudo/nom: bc4c6df | moritz++ | src/core/Seq.pm:
Simplify fix for RT #127492
19:44
arnsholt Skarsnik: 9 times out of 10 it'll be things like explicitly-manage that leaks the memory
NativeCall is inherently leaky, sadly =(
Skarsnik there is none in Gumbo
19:45 neilb joined
arnsholt There are other things that leak too, though 19:45
Come to think of it, I'm not sure if structs or arrays are ever freed, for example 19:46
(Unless explicitly done in the library code, of course) 19:47
19:47 SCHAAP137 left 19:49 Guest81603 left 19:50 lsm-desktop left
Skarsnik I have a big Perl 6 leak with XML 19:50
I lost 4Mb for each request on the tree on one script 19:51
19:51 bowtie joined, bowtie is now known as Guest93189
arnsholt Oh, wow 19:53
19:54 apiw left 19:55 Ben_Goldberg joined
jnthn nearly has nqp-m with Moar run with --full-cleanup clean under valgrind leak check; will do similar for Rakudo (though it's not a lot worse). Then it'll be possible to use it to pick out real leaks. 19:55
19:56 BenGoldberg_ left
timotimo jnthn: wow, any new commits coming for that? 19:58
timotimo does the evil thing where he asks a question and immediaetly afterwards goes AFK 19:59
vendethiel what an evillord.
jnthn timotimo: It already is like that at HEAD, with the ones I've pushed over the last week or two :)
I need to figure out how to get the standard handles cleanly cleaned up is all 20:00
20:00 Sqirrel joined
Skarsnik nice work jnthn :) 20:03
FROGGS timotimo: I'm working on box2d now btw
arnsholt jnthn: Oh, very cool! 20:05
I really wish I had time to hack on some of these things, but I suspect that'd be a bad idea, sadly
20:06 darutoko left 20:07 LGD joined 20:14 SCHAAP137 joined 20:20 neilb_ joined, neilb left, neilb_ is now known as neilb 20:23 kaare_ left 20:24 spider-mario joined, geraud joined 20:27 hankache joined, risou_ is now known as risou_awy 20:30 risou_awy is now known as risou 20:40 hankache left
dalek rakudo/nom: d924ae2 | LLFourn++ | src/ (2 files): 20:48
rakudo/nom: Make require use CompUnit interface for importing
rakudo/nom:
rakudo/nom: The following now works:
rakudo/nom: 1. require 'lib/Module.pm' <sym>;
20:48 dalek left, musiKk joined 20:49 dalek joined, ChanServ sets mode: +v dalek, Begi left, yqt joined
dalek ast: 45685a3 | lizmat++ | S11-modules/require.t:
Unfudge now passing test, LLFourn++
20:50
20:52 apiw joined 20:55 Ben_Goldberg left 20:56 Ben_Goldberg joined 20:57 wwwbukolaycom left 20:58 revhippie joined 21:02 dolmen joined
jnthn nine: I think rt.perl.org/Ticket/Display.html?id=127465 already happened? 21:04
21:04 SCHAAP137 left
lizmat jnthn: I think it has 21:06
yoleaux 03:25Z <sortiz> lizmat: I was assuming that less bytecode implies less opcodes so better times, That worries me, I need to make a deeper analysis.
llfourn lizmat: thanks for merging and thanks for noticing that I broke ip5 tests 21:10
yoleaux 13 Feb 2016 14:19Z <nine> llfourn: pr 694 regresses several spec tests in the 6.c branch (some of them the S01 integration tests)
llfourn oh. thanks to nine as well then :P
lizmat llfourn: thank you for doing all the hard work :-)
21:11 andirc8000 joined
llfourn .tell nine thanks for noticing that. I've set myself up for testing ip5 now :) 21:11
yoleaux llfourn: I'll pass your message to nine.
21:12 andirc8000 left 21:14 _mg_ left
AlexDaniel Skarsnik: yeah, it is rising like 4MB per each file 21:15
or more 21:16
Skarsnik: just a quick test, not a precise result
lizmat is this on the most recent version of Rakudo? or a release version
21:16 brrt joined
lizmat I seem to recall jnthn fixing a leak related to slurping files in Moar like last week 21:16
AlexDaniel lizmat: the most recent thing, I've built it just a few minutes ago 21:17
lizmat: well, looking at the way it goes I think that it is better now. But I didn't really measure it before
Skarsnik AlexDaniel, did you try before/after gumbo parse? I made sure gumbo free its allocated memory. 21:18
nine jnthn: indeed. Closed the ticket. Thanks for pointing this out!
yoleaux 21:11Z <llfourn> nine: thanks for noticing that. I've set myself up for testing ip5 now :) 21:19
jnthn AlexDaniel: If you know to valgrind it with leak checking, and can arrange to pass --full-cleanup to MoarVM, feel free to gist me an output; it's still a bit noisy.
AlexDaniel I'll see if I have time for this 21:22
21:22 [Sno] joined
AlexDaniel Skarsnik: yup. If I call parse-html then it clogs the memory 21:22
if I do everything else without actually parsing it then I don't see any leaks actually 21:23
Skarsnik well it build a xml tree
this take perl6 memory
Can you try using a filter that find nothing? to see if the memory print it the same 21:24
like parse-html(:class<helloworldpiko>)
21:25 molaf_ left 21:26 sno left, mithaldu_ left, mkz left, mithaldu_ joined 21:27 mkz joined 21:30 rindolf left
ugexe m: say (try require Test:xxx); say (try require Test:auth<foo:bar>); say (try require TestXXX); 21:30
camelia rakudo-moar 9c8c3b: OUTPUT«(Test)␤(Test)␤Nil␤»
21:30 apiw left
AlexDaniel Skarsnik: yep, it is much better with that kind of filter 21:31
Skarsnik a lot?
AlexDaniel yeah like 5 to 10 times better
Skarsnik well it only create a xml tree with a html root 21:32
so gumbo does not leak
since I basicly just convert what gumbo give me to xml objects (and filtering myself)
AlexDaniel Skarsnik: I think that you're right 21:33
according to what I see it sounds correct
lizmat m: class Foo is Date { has $.foo }; dd Foo.new( :2016year, foo => 42)
camelia rakudo-moar 9c8c3b: OUTPUT«Foo.new(2016,1,1)␤»
21:34 SWAN joined
Skarsnik the foo get lost? 21:35
lizmat yup
Skarsnik m: class Foo is Date { has $.foo }; say Foo.new( :2016year, foo => 42).foo;
camelia rakudo-moar 9c8c3b: OUTPUT«(Any)␤»
lizmat incomplete subclassability, is it a bug or not ? :-) 21:36
AlexDaniel m: class Foo is Date { has $.foo is rw }; dd Foo.new:2016year:42foo:25day
camelia rakudo-moar 9c8c3b: OUTPUT«Foo.new(2016,1,25)␤»
AlexDaniel m: class Foo is Date { has $.foo }; Foo.new:2016year:42foo:25day.perl.say 21:37
camelia rakudo-moar 9c8c3b: OUTPUT«Foo.new(2016,1,25)␤»
21:38 apiw joined
Skarsnik m: class Foo is Int { has $.foo }; say Foo.new(foo => 42).foo; 21:38
camelia rakudo-moar 9c8c3b: OUTPUT«42␤»
stmuk are multi-dimensional arrays thread unsafe?
Skarsnik date is special? x)
m: class Foo is Date { has $.foo }; say Foo.new(foo => 42).foo;
camelia rakudo-moar 9c8c3b: OUTPUT«Cannot call Foo.new with these named parameters: foo␤ in block <unit> at /tmp/rKtSThY_af line 1␤␤Actually thrown at:␤ in any at gen/moar/m-Metamodel.nqp line 3041␤ in block <unit> at /tmp/rKtSThY_af line 1␤␤»
Skarsnik m: class Foo is Date { has $.foo }; say Foo.new(:foo(42)).foo; 21:39
camelia rakudo-moar 9c8c3b: OUTPUT«Cannot call Foo.new with these named parameters: foo␤ in block <unit> at /tmp/XTrYpMiNWR line 1␤␤Actually thrown at:␤ in any at gen/moar/m-Metamodel.nqp line 3041␤ in block <unit> at /tmp/XTrYpMiNWR line 1␤␤»
Skarsnik Oook
that something
m: dd Date
camelia rakudo-moar 9c8c3b: OUTPUT«Date␤»
jnthn stmuk: Well, they're not vulnerable to resize data races, and you can't pop/push/shift/unshift them, so not vulnerable to those either. 21:44
stmuk: Non-native ones will still have auto-vivification races. 21:45
(Of the Scalar container)
stmuk: But the array itself is fine. 21:46
stmuk ok thanks
DrForr Howdy. Looking at the Routine class there appears to be no API to get a name other than to stringify the object. 21:47
jnthn m: say &abs.name
camelia rakudo-moar 9c8c3b: OUTPUT«abs␤»
DrForr Sometimes it's the simple things :)
21:49 virtualsue joined
dalek c: d9a18dd | jnthn++ | doc/Type/Routine.pod:
Document Routine.name.
21:49
21:49 mr-foobar left 21:50 musiKk left
DrForr OTOH I don't see.. Ah, thanks :) 21:50
jnthn ;)
jnthn had Atom open in the directory from doing the patch about typed arrays earlier :)
22:03 neilb_ joined 22:05 neilb left 22:06 Skarsnik left 22:08 neilb_ left 22:17 SWAN left 22:22 sortiz joined
sortiz . 22:23
22:28 pierrot left 22:29 apiw left 22:31 pierrot joined 22:37 dolmen left
dalek ast: 25c40d0 | LLFourn++ | S11-modules/ (3 files):
More require tests

now that #f565f80 has been merged
22:43
hoelzro . 22:48
yoleaux 05:41Z <sortiz> hoelzro: Reading your changes for multi-line, in nqp, why is $more-code-sentinel outside of the class, more over, why not an attribute?
06:40Z <sortiz> hoelzro: Seems to me that other exceptions to catch are those produced by HLL::Grammar.FAILGOAL, method that I suppose can be overridden too.
22:48 ely-se left
hoelzro sortiz: I don't see any reason for it to not be an attribute; I think I just didn't think of it =) 22:49
sortiz: other FAILGOAL exceptions will be for input that has the wrong character, right?
so I don't know if that should trigger multi-line mode
sortiz hoelzro, Hi.
hoelzro o/ 22:50
sortiz I try, for exmaple my @a = [
Or my $b = <
All those die in FAILGOAL 22:51
hoelzro ahhh
sortiz But that's a naked nqp::die 22:52
(via Grammar.panic)
22:53 apiw joined
sortiz see github.com/salortiz/nqp/blob/maste...r.nqp#L279 22:54
dalek kudo/nom: 585619f | lizmat++ | src/core/Date.pm:
Make Date fully subclassable

When using additional named parameters, obviously. This shouldn't affect efficiency of the base class measurably.
lizmat m: class Foo is Date { has $.foo }; dd Foo.new( :2016year, foo => 42).foo # should work after ^^^
camelia rakudo-moar 9c8c3b: OUTPUT«Any␤»
22:55 dolmen joined
sortiz So seems to me a good candidate for detect the need of more input. What do yo think? 22:58
22:58 kurahaupo left 23:08 FROGGS left 23:09 uruwi joined
uruwi Quick question: what are mergesubstates and mergesubrule? 23:09
These are taking half of the total time needed to start parsing 23:13
lizmat good night, #perl6! 23:14
uruwi Good night 23:15
sortiz 'night, lizmat
23:15 dolmen left
uruwi But really, it's taking about a minute to start, though when it's past it can whiz through the source. 23:16
I guess it's related to optimization?
23:17 grondilu left 23:18 spider-mario left
uruwi Grammar I'm trying to use is here: github.com/bluebear94/u/blob/master/u.pl6 23:23
dalek osystem: cc75770 | RabidGravy++ | META.list:
Add Audio::Liquidsoap

See github.com/jonathanstowe/Audio-Liquidsoap
23:25
skids uruwi: likely the folks that could answer that questionn are asleep right now.
RabidGravy I got bored of trying to think of any more dependency-free examples 23:32
23:33 brrt left 23:43 apiw left 23:52 apiw joined 23:54 TEttinger joined 23:57 firstdayonthejob left