»ö« 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:03 BenGoldberg left 00:08 BenGoldberg joined, mr-foobar left, scovit left 00:09 ChoHag left 00:12 Kyo91_ left, Cabanossi left 00:14 Cabanossi joined 00:20 mr-foobar joined 00:36 mr-foobar left 00:45 espadrine left
AlexDaniel trying to sign up on gitlab, username already taken. I look at the profile and it's actually me. OK. But it's not in my password manager. I click “Forgot your password?”, it asks for my email. I type in my email, it says “If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes.”. Sorry, but I didn't get it, can't it tell me my email please? 00:46
doesn't accept the username in that field 00:47
oooooooooh. I was registered with my github account. Interesting.
00:48 margeas left 00:49 mr-foobar joined 00:52 Rawriful left 00:55 troys_ is now known as troys 01:06 leont left, robertle left 01:07 khw joined, mr-foobar left 01:12 geekosaur left 01:20 geekosaur joined 01:21 mr-foobar joined 01:24 ruoso___ left 01:37 mr-foobar left 01:39 mr-foobar joined 01:46 ilbot3 left 01:54 ilbot3 joined, ChanServ sets mode: +v ilbot3 01:58 Cabanossi left 01:59 Cabanossi joined 02:08 ohmyfish joined 02:09 mr-foobar left, ohmyfish is now known as ohmysummer 02:10 zakame left 02:13 raschipi joined 02:15 noganex_ joined 02:17 noganex left 02:18 zakame joined 02:19 pilne joined 02:21 mr-foobar joined 02:27 Cabanossi left 02:29 Cabanossi joined 02:34 ash_gti joined 02:36 troys is now known as troys_ 02:41 jeromelanteri joined 02:51 aborazmeh joined, aborazmeh left, aborazmeh joined 02:52 raschipi left 03:08 dogbert2 left 03:17 ash_gti left 03:27 Cabanossi left 03:29 Cabanossi joined 03:39 mr-foobar left 03:40 mr-foobar joined 03:43 Cabanossi left, Cabanoss- joined, Cabanoss- is now known as Cabanossi 03:52 _28_ria left 03:53 kaare__ left, _28_ria joined 04:02 kaare__ joined 04:07 ash_gti joined 04:09 mr-foobar left 04:13 ash_gti left 04:14 ash_gti joined 04:17 mr-foobar joined 04:20 aborazmeh left 04:25 ohmysummer left 04:26 Cabanossi left 04:28 Cabanossi joined 04:29 jeromelanteri left 04:32 eliasr left 04:34 skids joined 04:39 mr-foobar left 04:43 khw left 04:45 kaare_ joined, kaare__ left 04:50 mr-foobar joined 04:56 pilne left 04:57 Cabanossi left 04:58 Cabanossi joined 05:08 mr-foobar left 05:13 mr-foobar joined 05:20 ChoHag joined 05:22 wamba joined 05:39 mr-foobar left 05:40 xtreak joined, kaare_ left, mr-foobar joined 05:41 nadim joined 05:54 BenGoldberg left 05:57 xtreak left, ash_gti left 05:58 troys_ is now known as troys 06:01 troys left 06:04 aborazmeh joined, aborazmeh left, aborazmeh joined 06:10 mr-foobar left 06:13 piojo joined
piojo Is it a known issue that blocks cause backtracking to fail in some regexes like: [ {}<a> | {}<b> | {}<c> ] 06:16
I can't reproduce with something simple like what I just typed, but with a more complex example, the failure seems pretty clear. 06:17
all three blocks are empty, so they shouldn't be changing the longest-match tiebreaking
And with the blocks, switching the order of <a>, <b> and <c> will cause the rule to match the correct branch--with the blocks, it matches <a> which is empty 06:18
The text matched is empty, I mean. It's supposed to match <b>. Does that sound like a known bug, or should I try to work my code into a smaller test case to prove it? 06:19
06:22 mr-foobar joined
u-ou hi 06:25
I love perl 6
06:26 _28_ria left 06:27 _28_ria joined
masak u-ou: Perl 6 loves you <3 06:39
u-ou yay <3
06:39 mr-foobar left
piojo m: say 'ab' ~~ / ^:ratchet [ . | .. ] $ / 06:42
camelia 「ab」
piojo say 'ab' ~~ / ^:ratchet [ {}. | {}.. ] $ /
evalable6 Nil 06:43
piojo ha!
It almost looks the same as this, but I'm not sure it is: rt.perl.org/Public/Bug/Display.html?id=123934
Can I submit a bug and PR a failing test for this, or do we not commit tests until rakudo passes them? 06:45
06:49 darutoko joined 06:50 mr-foobar joined 06:59 aborazmeh left 07:01 kaare_ joined 07:04 skids left 07:09 mr-foobar left 07:14 mr-foobar joined
lizmat piojo: please add a test: make it a todo'd test, or else a skipped test, and mention the RT number with it 07:24
07:27 Cabanossi left 07:28 Cabanossi joined
piojo lizmat: thanks, I'll do that 07:29
07:29 setty1 joined 07:38 mr-fooba_ joined 07:40 mr-foobar left 07:58 domidumont joined 08:02 domidumont left 08:03 domidumont joined, hobbs left 08:09 hobbs joined, hobbs left, hobbs joined 08:31 smls joined
smls `say` is supposed to be thread-safe, right? 08:32
Because this now hangs on most runs:
for ^10000 { start say $_ }
It starts printing elements, but then stops (usually somewhere between index 100 to 900) and hangs indefinitely. 08:34
Note that there isn't even an `await` in there.
Uses 100% of one(!) CPU core while hanging. 08:35
Hm, looks like it might be RT #132042. 08:40
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=132042
08:40 Cabanossi left 08:43 Cabanossi joined 08:47 wamba left
lizmat smls: fwiw, this doesn't hang for me once after 20+ runs (MBP on MacOS) 08:50
08:52 leont joined
smls According to the RT, it's been fixed by a MoarVM commit - but Rakudo nom still uses an older MoarVM. 08:56
How can I build Rakudo with MoarVM master?
09:04 domidumont left
lizmat smls: This is Rakudo version 2017.08-103-g4de858a built on MoarVM version 2017.08.1-128-gde6dced is what I use 09:06
smls Hm. Maybe a Linux-only issue then?
09:07 setty1 left
lizmat smls: you can specify a location for Moar in configure, but it's been a while since I did that myself 09:07
09:10 mr-fooba_ left
smls \o/ 09:13
I managed to build Rakudo with MoarVM master, and now that one-liner no longer hangs!
09:14 mr-foobar joined, piojo left, piojo joined
lizmat :-) 09:16
09:25 |oLa| joined 09:27 Cabanossi left, |oLa|1 left 09:28 Cabanossi joined
smls bisectable6: my @a; @a.splice: 0, 0, ("a",); say @a[0].VAR.^name; 09:28
bisectable6 smls, On both starting points (old=2015.12 new=76f1d89) the exit code is 0 and the output is identical as well
smls, Output on both points: «Str»
leont Is there an associative that can store Nil? 09:30
09:30 nadim left 09:32 nadim joined
Geth ecosystem: scovit++ created pull request #364:
Add NativeHelpers::CBuffer to ecosystem
09:32
ecosystem: 6bdf9cc60d | (Vittore F. Scolari)++ | META.list
Add NativeHelpers::CBuffer to ecosystem

See github.com/scovit/NativeHelpers-CBuffer
09:34
ecosystem: ce3b0f15f9 | lizmat++ (committed using GitHub Web editor) | META.list
Merge pull request #364 from scovit/master

Add NativeHelpers::CBuffer to ecosystem
09:34 andrzejku joined
09:34 piojo left
smls leont: Pair :) 09:34
09:34 piojo joined
lizmat m: my %h is default(Nil) = a,Nil; dd %h 09:35
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
a used at line 1
lizmat m: my %h is default(Nil) = "a",Nil; dd %h
camelia Hash %h = {:a(Nil)}
lizmat leon: ^^^
leont rather ^^^
09:36 scovit joined
leont And the default behavior is only triggered by Nil? 09:37
smls m: my %h is default(Nil); say %h<a><b> = 42; 09:39
camelia Attempted to ASSIGN-KEY to Nil.
in block <unit> at <tmp> line 1
09:39 andrzejku left
smls lizmat, leont: ^^ Beware that `is default` breaks autovovofication (which is implemented via Any) 09:40
m: dd Hash[Nil, Nil].new( (Nil) => Nil ).kv; 09:41
camelia (Nil, Any).Seq
smls ^^ Also interesting...
09:41 mr-foobar left 09:42 andrzejku joined
smls leont: Well, the default if of course also triggered when accessing non-existing elements: 09:42
m: my %h is default(Nil); say %h<a>;
camelia Nil
smls Don't know if there's anything else that triggers it. 09:43
09:44 ohmysummer joined 09:46 mr-foobar joined 09:52 ohmysummer left
piojo m: my \foo = Nil; my %hsh = (1, \foo); dd %hsh 09:55
camelia Hash %hsh = {"1" => \(Nil)}
09:57 Cabanossi left 09:59 Cabanossi joined 10:08 margeas joined 10:11 mr-foobar left 10:15 mr-foobar joined 10:20 ohmysummer joined
samcv wooo i merged my collation stuff into moarvm. so soon it should be in rakudo bleed 10:23
and we can all be cool and sort 'fi' with 'fi' and æ with ae and sort diacritics and accents after their base letters 10:24
zakame nice!
samcv yes! i'm excited :3
was a lot of work. almost can't believe it's done
but it is :)
well it was done a month ago but i still had to do work to get it ready for merge and fully automate the creation of certain code and such, so it will be fully future portible 10:25
its best innovation is probably the ring buffer i use. so it reads codepoints from the strings to be compared. the ring buffer is only the size of the longest codepoint sequence, since some sequences of codepoints have their own collation value 10:26
10:26 ShalokShalom_ joined
samcv so it iterates into the ring buffer until it finds two nonmatching codepoints, and then once it does that it then pushes collation arrays for those to the stack then compares their primary levels, and if needed pulls further codepoints, so it does minimal work 10:27
pretty proud of it
some (maybe) interesting technical details here github.com/MoarVM/MoarVM/commit/86...5284cfcd03 i'll probably adapt that into some moarvm documentation 10:28
10:29 ShalokShalom left
samcv pretty happy how the grant turned out. got a lot more done that i thought i would. i mean i didn't fully replace the unicode database like i wanted. but i think i more than made up for it in implemented knuthmorris pratt string search and a whole ton of string indexing speed improvements and concatenation fixes/speedups 10:30
10:31 llfourn left
MasterDuke samcv++ 10:31
zakame buggable: pizza samcv 10:33
buggable samcv, enjoy this slice of Hawaiian pizza, my friend! Yummy 🍕
samcv huggable, hug me
huggable hugs samcv
samcv \o/
10:38 TEttinger left 10:41 mr-foobar left 10:45 Aaronepower left, SCHAPiE left 10:46 SCHAPiE joined 10:47 SCHAPiE left
timotimo piojo: a code block will terminate what LTM considers the "declarative prefix" which is all that matters in deciding what branches of an LTM alteration to try 10:48
10:49 Ptolemarch left, smls left, Ptolemarch joined 10:50 smls joined
smls samcv: Cool! 10:52
10:52 SCHAPiE joined 10:54 mr-foobar joined
moritz \o 10:54
smls samcv: This could replace the custom `latin1_decompose` in rosettacode.org/wiki/Natural_sorting#Perl_6, right?
samcv yep 10:55
plus even better :3
10:55 Aaronepower joined
samcv interesting hadn't seen that before. so i guess it decomposes it or what? 10:55
also in the future we may let you ignore spaces and punctuation and such 10:56
if implemented it will even ignore the punctuation from ①
i think. or some set of numbers that have extra collation elements due to how they are 10:57
smls, and you can reverse the sort order for diacritics as well, or reverse the case sorting only but otherwis ehave it sort the same (that you can do right now) 10:58
timotimo smls: the current code uses .lc to sort case insensitively; that's not correct, though
smls timotimo: It should use .fc, right? 11:02
timotimo yep. or it should use coll instead of sort ;) 11:03
smls Yeah, probably best to rewrite the whole example with .coll once it's in an officially released Rakudo. 11:04
11:06 ohmysummer left
timotimo well, it already is, you just have to "use experimental" for it :) :) 11:08
11:09 Skarsnik joined 11:12 mr-foobar left 11:20 Aaronepower left, scovit left 11:24 mr-foobar joined
samcv m: use experimental :collation; dd <Bubble Buße Bust ss sp spell start test zest finish finish>.collate 11:26
camelia ("Bubble", "Buße", "Bust", "finish", "finish", "sp", "spell", "ss", "start", "test", "zest").Seq
11:26 Cabanossi left
samcv m: use experimental :collation; dd <Bubble Buße Bust ss sp spell start test zest finish finish start Start START>.collate 11:26
camelia ("Bubble", "Buße", "Bust", "finish", "finish", "sp", "spell", "ss", "start", "start", "Start", "START", "test", "zest").Seq
samcv m: use experimental :collation; dd <ſ s ß st st ss u ú á a ū sv>.collate 11:27
camelia ("a", "á", "s", "ſ", "ss", "ß", "st", "st", "sv", "u", "ú", "ū").Seq
11:28 Cabanossi joined
samcv m: use experimental :collation; say <① 1 9 ② 8 one hi>.collate 11:29
camelia (1 ① ② 8 9 hi one)
samcv :))
11:29 rindolf joined, andrzejku left
samcv m: dd <ſ s ß st st ss u ú á a ū sv>.sort 11:30
camelia ("a", "s", "ss", "st", "sv", "u", "ß", "á", "ú", "ū", "ſ", "st").Seq
11:30 Aaronepower joined
samcv or to see the old sorting ^ 11:30
11:30 andrzejku joined
Geth doc: gfldex++ created pull request #1547:
Better example for IO::Socket::Async, closes #1546
11:31
11:37 piojo left, espadrine joined 11:39 kaare_ left 11:41 kaare_ joined, mr-foobar left 11:42 margeas left 11:44 vendethiel- joined 11:45 Ven`` left 11:49 ohmysummer joined 11:52 mr-foobar joined 11:54 ohmysummer left
Geth doc: gfldex++ created pull request #1549:
doc Failure.new
11:58
12:03 emeric joined 12:05 Aaronepower left, Aaronepower joined 12:12 Aaronepower left, mr-foobar left, Aaronepower joined 12:19 mr-foobar joined 12:21 Aaronepower left, Lac123 joined 12:22 Aaronepower joined 12:26 Cabanossi left 12:27 Aaronepower left, rightfold left 12:28 Aaronepower joined, Lac123 left, Cabanossi joined 12:40 Aaronepower left 12:42 mr-foobar left 12:43 Aaronepower joined 12:46 ohmysummer joined 12:50 mr-foobar joined
Geth doc: 31d27f05ee | MasterDuke17++ (committed using GitHub Web editor) | doc/Language/performance.pod6
Fix table name in SQL profile example
12:54
12:55 pecastro left 12:57 mr-foobar left, pecastro joined
gfldex m: my &now = { constant &now = BEGIN &now; now.DateTime.hh-mm-ss() }; say now 12:58
camelia Cannot invoke this object (REPR: Uninstantiable; Callable)
in block <unit> at <tmp> line 1
gfldex m: my &now = { constant &now = &now; now.DateTime.hh-mm-ss() }; say now
camelia Cannot invoke this object (REPR: Uninstantiable; Callable)
in block <unit> at <tmp> line 1
gfldex m: my &now = { state &now = BEGIN &now; }; say now 12:59
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot use variable &now in declaration to initialize itself
at <tmp>:1
------> 3my &now = { state &now = BEGIN &7⏏5now; }; say now
expecting any of:
term
13:02 dogbert2 joined 13:04 pecastro left 13:05 wamba joined 13:14 mr-foobar joined 13:17 ShalokShalom_ is now known as ShalokShalom
moritz m: my &now = { state & = BEGIN &now; }; say now 13:19
camelia (Callable)
moritz m: my &now = { state & = BEGIN &OUTER::now; }; say now
camelia (Callable)
moritz m: my &now = { state & = BEGIN &OUTER::now; }; say now() 13:20
camelia (Callable)
13:20 pmurias joined
moritz m: my &now = { state & = BEGIN &OUTER::OUTER::now; }; say now() 13:20
camelia 5===SORRY!5=== Error while compiling <tmp>
An exception occurred while evaluating a BEGIN
at <tmp>:1
Exception details:
5===SORRY!5=== Error while compiling
ctxlexpad needs an MVMContext
at :
moritz m: my &now = { state & = BEGIN &CORE::now; }; say now()
camelia (Callable)
moritz m: my &now = { state & = BEGIN &CORE::now; }; say &now.^name
camelia Block
moritz m: my &now = { state & = BEGIN &CORE::now; }; say &now 13:21
camelia -> ;; $_? is raw { #`(Block|62372456) ... }
moritz m: my &now = { state & = BEGIN &CORE::now; }; say &now()
camelia (Callable)
moritz m: my &now = { state & = BEGIN &CORE::now; }; say &now()()
camelia Cannot invoke this object (REPR: Uninstantiable; Callable)
in block <unit> at <tmp> line 1
13:22 rindolf left 13:24 Aaronepower left 13:26 Aaronepower joined 13:27 |oLa| left, Aaronepower left 13:29 |oLa| joined, setty1 joined 13:34 pmurias left
moritz oh 13:34
m: say CORE::term<now>()
camelia Cannot find method 'Nil' on object of type List
in block <unit> at <tmp> line 1
moritz m: say CORE::term<now>
camelia Nil
moritz m: say &CORE::term<now>
camelia Nil
13:35 rindolf joined, Aaronepower joined
moritz m: say &term<now> 13:35
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
term used at line 1
moritz m: say &CORE::term:<now>
camelia sub term:<now> () { #`(Sub|63325576) ... }
moritz m: my &now = { BEGIN &CORE::term:<now>() }; say now() 13:36
camelia Instant:1505050622.150288
moritz m: my &now = { BEGIN &CORE::term:<now>() }; say now(); sleep 1; say now()
camelia Instant:1505050632.637153
Instant:1505050632.637153
13:36 Aaronepower left
moritz gfldex: ^^ 13:36
m: sub term:<now>() { BEGIN &CORE::term:<now>() }; say now; sleep 1; say now 13:37
camelia Instant:1505050672.066354
Instant:1505050672.066354
13:38 pecastro joined 13:41 Aaronepower joined, Cabanossi left 13:43 Cabanossi joined 13:44 Aaronepower left 13:49 smls left, smls joined 13:53 pyrimidi_ left, pyrimidine joined 13:57 mr-foobar left 13:59 Aaronepower joined 14:00 mr-foobar joined 14:03 Aaronepower left 14:08 Aaronepower joined 14:11 margeas joined, pmurias joined, Aaronepower left 14:15 Aaronepower joined 14:21 robertle joined 14:24 Aaronepower left 14:26 Cabanossi left 14:28 Cabanossi joined 14:29 mr-foobar left 14:30 mr-foobar joined 14:31 albongo joined 14:35 pyrimidine left, pyrimidi_ joined 14:39 mscha left 14:43 mr-foobar left 14:44 |oLa|1 joined, |oLa| left 14:47 mr-foobar joined 14:48 pilne joined
timotimo modeling data transfer objects for the heapanalyzer's result types is less simple than expected ... 14:52
15:04 Rawriful joined 15:06 zakharyas joined, llfourn joined
timotimo super glad to see Christian Bartolomaeus go through RTs again 15:08
15:19 niceperl joined 15:21 buggable left, huggable left 15:27 pmurias left 15:35 pmurias joined 15:37 pyrimidi_ left 15:38 pyrimidine joined 15:42 mr-foobar left 15:45 rindolf left 15:47 mr-foobar joined 15:54 zakharyas left 15:56 zakharyas joined 16:03 ohmysummer left 16:04 skids joined
tyil I'm making a bot with IRC::Client, which seems to run fine with gnu+linux, but dies when using freebsd 16:09
termbin.com/efur 16:10
this is the class I think is responsible: github.com/scriptkitties/musashi/b...Github.pm6
using a perl6 built with rakudobrew an hour or 2 ago 16:11
moritz finds the use of Thread.start a bit unusual 16:12
timotimo tyil: can you see what happens when you use start instead of Thread.start?
tyil start used at line 15. Did you mean 'sort', 'spurt', 'sqrt'? 16:13
timotimo um, what
moritz tyil: what does perl6 --version say?
timotimo are you sure you're running an up-to-date rakudo?
tyil This is Rakudo version 2017.08-105-g9b42484a5 built on MoarVM version 2017.08.1-150-g0b81969d
moritz oh, might not be allowed to have parenthesis
timotimo ah, yes
m: start { say "hi" } 16:14
camelia ( no output )
timotimo m: start({ say "hi" })
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
start used at line 1. Did you mean 'sort', 'spurt', 'sqrt'?
moritz so start { ... } instead of start({ ... })
tyil ok, lemme try
timotimo we could probably have a better error message for that?
tyil heh
that seems to work
why would it work with just start { ... }
and can I still do something like my $thread = start { ... } 16:15
timotimo yeah, start gives you a promise object that gets kept or broken when the block returns a value or throws an exception 16:16
tyil hmm
it doesnt seem to start Bailador now though :<
timotimo hm, i imagine a cro plugin for irc could be written
tyil with the start { ... } block 16:17
timotimo ok, take the result of the start block and call .then({ .say }) on it
m: my $a = start { "oh hi" }; $a.then({ .say }); sleep 1
camelia Promise.new(scheduler => ThreadPoolScheduler.new(initial_threads => 0, max_threads => 16, uncaught_handler => Callable), status => PromiseStatus::Kept)
tyil but it's not supposed to return a result, it's supposed to keep a Bailador running
timotimo oh, more interesting would be the .result of it 16:18
so .result.say
start returns the promise immediately
m: start { die "oh no!" }; sleep 1
camelia ( no output )
timotimo ^- when an exception is thrown, it'll be put into the promise's result, so you won't see it unless you look
m: my $promise = start { die "oh no!" }; $promise.then({ .result.say }); sleep 1 16:19
camelia ( no output )
timotimo oh?
tyil hmm
timotimo m: my $promise = start { die "oh no!" }; await $promise.then({ .result.say });
camelia Tried to get the result of a broken Promise
in block <unit> at <tmp> line 1

Original exception:
Tried to get the result of a broken Promise
in block at <tmp> line 1

Original exception:
oh no!
in bloc…
timotimo (which is now the same as await $promise) 16:20
tyil it seems Bailador is giving me troubles too now 3:
16:20 MasterDuke left
timotimo mhm 16:20
well, it wasn't able to start up before, either 16:21
is bailador threadsafe at all?
tyil it was able to start up before on gnu+linux though
timotimo OK, the plot thickens :)
tyil the Thread.start({}) thing worked on my laptop 16:22
the plot doesn't really thicken, its the first thing I said :p
18:09 <tyil> I'm making a bot with IRC::Client, which seems to run fine with gnu+linux, but dies when using freebsd
timotimo well, that it still fails that way (or a different way?) with start instead of Thread.start 16:23
tyil Thread.start resulted in the error I posted above 16:24
even though it works as expected on gnu+linux (runs Bailador from inside the bot)
timotimo how does the problem look now? bailador just not answering on http? 16:25
tyil now its just a Bailador error, failing to start up: termbin.com/0xlc 16:26
using `baile(8000)`
timotimo i must admit it has been a long, long while since i saw AUTOGEN show up anywhere 16:28
i don't even remember what it's for
16:28 mr-foobar left
tyil neither do I :< 16:28
16:29 tokomer joined
timotimo ok here's an idea 16:30
call app() right before the start {} block
moritz it's related to auto-generated protos for multi methods
timotimo it could be the multi in question is the "app" multi
tyil adding `app();` before start {... } doesn't seem to change the situation 16:31
16:31 mr-foobar joined
timotimo hm, maybe a different multi is at fault 16:36
but i'm not sure why the error happens in this situation at all 16:37
16:37 emeric left
tyil me neither 16:37
stmuk_ tyil: 2017.08 had test failures on roast I noticed ... 2017.07 was ok
on FreeBSD I mean
tyil hmm
I can try getting a different perl
16:39 domidumont joined
tyil building a .07 16:39
timotimo in my whole time logging irc for the two perl6 channels i only saw AUTOG*N on 26 lines
16:42 xiaomiao left 16:43 zakame left 16:45 xiaomiao joined 16:49 zakame joined 16:52 yqt joined
teatime I wrote some Ruby today. It made me pine for Perl6. 16:52
timotimo i read a bit of python the other day. same. 16:55
zakame same same 16:56
timotimo we're doomed to never like programming again except when we're allowed perl6 ;)
tyil stmuk_: same error on 2017.07 16:58
teatime hehe
16:59 mr-foobar left
timotimo .o( who will write the Like, Perl6 slang? ) 16:59
stmuk_ odd
17:00 mr-foobar joined 17:04 zakharyas left
smls bisectable6: say '123' ~~ / :my $a=2; <{ '$a' }> /; 17:04
bisectable6 smls, On both starting points (old=2015.12 new=9b42484) the exit code is 0 and the output is identical as well
smls, Output on both points: «「2」»
AlexDaniel smls: FWIW you may like “c: releases …” or “mch: …”. The last one is m: on *C*hristmas on *H*EAD 17:08
mch: say '123' ~~ / :my $a=2; <{ '$a' }> /;
committable6 AlexDaniel, ¦2015.12,HEAD(9b42484): «「2」»
AlexDaniel and* 17:09
smls AlexDaniel: I'm looking at the RT tickets that haven't been updated the longest. No surprise that some of those bugs have been fixed further back than bisectable goes... :) 17:11
17:11 okl joined
AlexDaniel smls: bisectable goes back to 2014.01 but defaults to dwim-ish old=2015.12 17:11
17:11 ash_gti joined
AlexDaniel for example 17:11
c: all say '123' ~~ / :my $a=2; <{ '$a' }> /; 17:12
17:12 mr-foobar left
committable6 AlexDaniel, gist.github.com/1df76358c748688653...ad60b13d1f 17:12
AlexDaniel and we can see when it changed
bisect: old=2014.01 all say '123' ~~ / :my $a=2; <{ '$a' }> /;
bisectable6 AlexDaniel, Bisecting by exit code (old=2014.01 new=9b42484). Old exit code: 1
AlexDaniel oops
extra “all” in there :)
bisectable6 AlexDaniel, bisect log: gist.github.com/de26d0b969772d8668...799f2c017a 17:13
AlexDaniel, (2015-08-13) github.com/rakudo/rakudo/commit/2f...8f6605e628
AlexDaniel bisect: old=2014.01 say '123' ~~ / :my $a=2; <{ '$a' }> /;
bisectable6 AlexDaniel, Bisecting by exit code (old=2014.01 new=9b42484). Old exit code: 1
AlexDaniel, bisect log: gist.github.com/3bfbdd10905aafbb93...68297bc96b 17:14
AlexDaniel, (2015-08-13) github.com/rakudo/rakudo/commit/2f...8f6605e628
bartolin smls++ # work on RT tickets
AlexDaniel oh… ok so this suffers from stuff changing multiple times in the given range 17:15
(which is why it defaults to 2015.12 so that we skip all the GLR hell)
smls :)
AlexDaniel but that's ok, we just have to set new=
bisect: old=2014.01 new=2015.05 say '123' ~~ / :my $a=2; <{ '$a' }> /;
bisectable6 AlexDaniel, Bisecting by exit code (old=2014.01 new=2015.05). Old exit code: 1
AlexDaniel in fact, I could've used a tighter range, but it will probably work 17:16
bisectable6 AlexDaniel, bisect log: gist.github.com/f5e8656490812f45ae...5cd7388f4f
AlexDaniel, (2015-05-11) github.com/rakudo/rakudo/commit/f0...b916f3ecde
AlexDaniel alright, and we can double check
commit: f0e142b3a2^,f0e142b3a2 say '123' ~~ / :my $a=2; <{ '$a' }> /;
committable6 AlexDaniel, ¦f0e142b3a2^: «04===SORRY!04=== Error while compiling EVAL_0␤Variable '$a' is not declared␤at EVAL_0:1␤------> 03anon regex { 08⏏04$a} «exit code = 1»» ¦f0e142b: «「2」»
AlexDaniel yep 17:17
smls AlexDaniel: Ah, that one sound about right from the commit title.
AlexDaniel smls: sorry for this intervention, but honestly I'm already forgetting what these bots can do so I try to use any chance to pass the knowledge :)
17:18 andrzejku left 17:19 andrzejku joined, niceperl left
AlexDaniel smls: also, it takes quite a bit of messages back and forth to get what you really need, so perhaps consider joining #whateverable or #zofbot so that you don't have to botspam here :) 17:20
smls AlexDaniel: Ah, I didn't know about those channels! I did try private-messaging the bot, but it refused.
17:20 ash_gti left
AlexDaniel smls++ # for doing this awesome work 17:23
smls: also, consider participating in the next SQUASHathon as I guess we will be doing similar work :)
squashable6: status 17:24
squashable6 AlexDaniel, Next SQUASHathon in 25 days and ≈16 hours (2017-10-07 UTC-12⌁UTC+14)
AlexDaniel github.com/rakudo/rakudo/wiki/Mont...Squash-Day
17:24 ash_gti joined 17:25 tokomer left
smls Yes, hopefully I can participate. 17:26
AlexDaniel \o/ 🍕 17:28
smls AlexDaniel: In case you're looking for themes for future SQUASHathons: The TESTNEEDED queue could be viewed separately, because those are essentially bugs for roast rather than Rakudo.
fail.rakudo.party/t/TESTNEEDED
AlexDaniel smls: also, if you come across a ticket that feels easier than others, mark it as LHF freely 17:29
smls: hm. That's an interesting idea.
17:32 raschipi joined
raschipi m: use experimental :collation; <fi fi æ ae á a>.collate 17:37
camelia ( no output )
raschipi m: use experimental :collation; <fi fi æ ae á a>.collate.say 17:38
camelia (a á ae æ fi fi)
raschipi samcv++
leont Nice 17:39
Can it do other collations as well? 17:40
17:41 Cabanossi left, samb1 left
raschipi m: use experimental :collation; dd <Bubble Buße Bust ss sp spell start test zest finish finish>.collate 17:41
camelia ("Bubble", "Buße", "Bust", "finish", "finish", "sp", "spell", "ss", "start", "test", "zest").Seq
raschipi m: use experimental :collation; dd <ſ s ß st st ss u ú á a ū sv>.collate 17:42
camelia ("a", "á", "s", "ſ", "ss", "ß", "st", "st", "sv", "u", "ú", "ū").Seq
raschipi Full implementation of the Unicode collation spec
17:43 Cabanossi joined
raschipi Well, except for regional variations... 17:43
17:45 BenGoldberg joined 17:46 ash_gti left
leont Can't the accessor from one role satisfy a required method from another role? 17:47
leont is confused by the error he's getting
moritz m: role R1 { method x() { ... } }; role R2 { has $.x }; class A does R1 does R2 { } 17:48
camelia 5===SORRY!5=== Error while compiling <tmp>
Method 'x' must be implemented by A because it is required by roles: R1.
at <tmp>:1
moritz seems like "no"
which looks like a bug to me
raschipi m: use experimental :collation; say <① 1 9 ② 8 one hi>.collate 17:49
camelia (1 ① ② 8 9 hi one)
moritz I think the code that generates accessors looks if a method of that name exists
and if it does, no accessor method is generated
I guess it needs to be taught to ignore stub methods 17:50
18:03 Actualeyes left
BenGoldberg Also, if this isn't already done, testing whether or not stubs from roles are implemented in a class should be deferred until after all the roles have been mixed in. 18:17
18:20 setty1 left 18:21 ash_gti joined 18:30 nadim left 18:31 niceperl joined
moritz that works already 18:34
18:38 ash_gti left 18:43 ash_gti joined 18:47 okl left, |oLa|1 left, nadim joined, ash_gti left 18:48 |oLa| joined
Geth perl6.org: 8edb7074bd | raiph++ (committed using GitHub Web editor) | source/index.html
Update squashathon date
18:48
18:50 zakame left 18:52 census joined 18:59 domidumont left 19:02 eliasr joined 19:05 smls left 19:07 rindolf joined 19:08 rindolf left 19:09 rindolf joined 19:10 nadim left
gfldex lolibloggedalittle: gfldex.wordpress.com/2017/09/10/golfing-httpd/ 19:12
19:12 yqt left
moritz lolItweetedabitaboutit :-) 19:15
APic :-) 19:16
19:28 nadim joined 19:33 Aaronepower joined 19:35 Aaronepower left
Geth doc: fe93648c31 | (Philippe Bruhat (BooK))++ | doc/Language/functions.pod6
Add a missing newline before a code block
19:36
tbrowder hi, #perl6 19:44
19:46 darutoko left
skids o/ 19:46
tbrowder i'm having trouble tracking down an "cannot unbox...opaque" error. i have tried Grammar::Tracer, trace pragma, --ll-exception so far. i will try the CLI debugger next but wonder if there are any other clues or tricks to find the problem? 19:48
hi, skids!
i will also try to simplify, but i haven't gone thet route yet. 19:49
s/thet/that/ 19:50
timotimo tbrowder: the type it has in the error message can be interesting, too ... but it's probably just Scalar?
pilne is rakudo's jvm backend being paused until truffle/graal get stable (it would make sense to me if that was the case, was just curious) 19:51
timotimo i think it's just a matter of not enough people being able to invest time in it
pilne that's fair too
i wish i had more time and knowledge to really be able to dig in 19:52
i just barely find the time to sleep these days it feels like, but i'm still super excited about perl6 and thankful to those that are making it work better every day (:
skids bartolin was trying to get rakudo-j into building condition a day or so ago. 19:53
tbrowder no, it's a string...got to go...back later 19:54
Geth doc: 5ae26188d8 | (Philippe Bruhat (BooK))++ | 5 files
Use "than" for comparisons (instead of "then")
19:56
lizmat BooK++ :-) 19:57
BooK was I fixing Dutchisms?
lizmat not sure
19:57 setty1 joined
lizmat the difference between then and than was hammered into my head quite severely by my english teacher :-) 19:58
BooK than you forgot
I'm not sure this is the best way for me to read the entire docs
because when I found the first "then" I following by grepping for more 19:59
btw, doc.perl6.org is super useful as a reference, but is there a recommended reading order for the more high level parts? 20:00
20:01 Aaronepower joined
moritz BooK: it's rather weak on the introductory part yet; that's where some of the books come in 20:02
the goal of doc.perl6.org is to provide that as well, but we're not there yet 20:03
and that is something that is (IMHO) done better by a single author than by a committee
20:04 dogbert2 left 20:13 Xliff joined
Xliff \o 20:13
Xliff mutters "st0opid redskins"
:(
m: class A {}; my $a = A.new; say $a.elems;
camelia 1
lizmat m: my $a; say $a.elems 20:14
camelia 1
lizmat Xliff: ^^ nothing to do with objects or classes
as scalar is a list with 1 element
Xliff m: use NativeCal; class A is repr('CStruct') { has int32 $.a; has int32 $.b }; my $a = A.new; say $a.elems;
camelia ===SORRY!===
Could not find NativeCal at line 1 in:
/home/camelia/.perl6
/home/camelia/rakudo-m-inst-1/share/perl6/site
/home/camelia/rakudo-m-inst-1/share/perl6/vendor
/home/camelia/rakudo-m-inst-1/share/perl6
CompUnit::R
lizmat m: my $a = 42 but role { method elems { 42 } }; say $a.elems 20:15
camelia 42
Xliff m: use NativeCall; class A is repr('CStruct') { has int32 $.a; has int32 $.b }; my $a = A.new; say $a.elems;
camelia 1
lizmat Xliff: unless you override that
Xliff Yeah, but I am trying to find out why I get a MoarVM panic when I am using NativeCall.
Skarsnik interesting x)
Xliff I thought it might be some weird memory issue, however it was the .elems call that was the culprit. 20:16
Skarsnik what is your code?
Xliff It's a large NativeCall project. There is no golf for this.
I am trying to see if I can make one. :/
But if you want the actual code, here it is: github.com/Xliff/p6-XML-LibXML/blo...html.t#L17 20:17
$doc is an xmlDoc which is defined here: github.com/Xliff/p6-XML-LibXML/blo...cts.pm#L89 20:18
20:19 robertle left, robertle joined
Xliff I think XML::LibXML might need some touchups. It's been a while since I've looked at this code. 20:21
Skarsnik you return libxml2 class?
Xliff Yes.
Skarsnik why not returning Perl6 XML stuff?
Xliff I just noticed that. :P 20:22
Skarsnik I started generate the whole binding for the libxml2 it's like a 8000 line file
Xliff Besides, these test cases all worked a year ago. I'm only just getting back to it and rakudo has seriously changed since then.
Yeah, well FROGGS started this. I started helping him out by trying to port over most features from P5's XML::LibXML 20:23
It's more than just lib bindings you have to deal with.
P5 had tons of XS code to handle this. 20:24
Skarsnik I don't see the need x)
Xliff See the need for what?
Skarsnik Well depend what you want to do with it 20:25
Xliff Well, make an API that's less complicated than libxml2, of course! :)
Skarsnik if you just want to parse xml file it's not lot of work 20:26
Xliff It's not just parsing, it also handles DOM modification.
You are correct, there are much easier ways to parse XML.
There is also the performance boost from using the lib. 20:27
Skarsnik I mean what you want to expose in your module
20:27 robertle_ joined, robertle left
Xliff Skarsnik: This is more making it easier for Perl6 coders to use a Perl6 interface to libxml. Not just calls to the raw, unmanaged code. 20:28
You have the 8000 line file. You should see what I mean. :P
There's more to libxml2 than parsing.
Skarsnik but your test make moar panic? 20:29
Xliff Yes
I'm assuming that it's something to do with not properly handing libxml2 structs. 20:30
But again, this code was working a year ago, so I need to figure out what changed and how to fix. 20:31
20:31 zakharyas joined
Xliff 6 months ago, nothing worked. >_< 20:31
Skarsnik you could rewrite your binding (the C->NC part) with gptrixie if you don't want to do it manually x)
Xliff I know of the trixie. The trixie can't handle something this big. 20:32
Skarsnik I actually need it to speed up the xml parsing part of gptrixie
Xliff Oh, are you actively working on gptrixie?
There was a size limit when I last used it.
gfldex lolibloggedagain: gfldex.wordpress.com/2017/09/10/we...iege-moar/
Xliff It would b0rk after processing a header chain of a certain size. 20:33
Smaller projects worked. Something like libxml2 wouldn't.
moritz just finished the bulk of the manuscript for the Perl 6 Regex book. ToDos remaining are some small edits I've queued up so far, and lots of proof-reading/copy-editing
Skarsnik I kinda stopped because I wanted to have each header defined in his own file but I run into Perl 6 does not handling circular dependancy
Xliff Solved that here.
We use base classes to represent the raw structs. 20:34
Then descendant classes to do the real work.
Skarsnik but yeah you should try it should be able to give you everything 20:35
Xliff Thanks, but we have that part done at this point. 20:36
Most of CStructs.pm and Subs.pm is what we'd get from trixie.
weabot is it just me or does the duckduckgo api not work? 20:38
20:39 lancew joined
Xliff m: class A {}; class B is A { method new(A $a) { $a } }; my $a = A.new; my $b = B.new($a); say $b.^name; 20:39
camelia A
Xliff m: class A {}; class B is A { method new(A $a) { self.bless: $a } }; my $a = A.new; my $b = B.new($a); say $b.^name; 20:40
camelia Too many positionals passed; expected 1 argument but got 2
in method new at <tmp> line 1
in block <unit> at <tmp> line 1
20:41 robertle_ left
Xliff m: class A {}; class B is A { method new(A $a) { self.bless($a) } }; my $a = A.new; my $b = B.new($a); say $b.^name; 20:41
camelia Too many positionals passed; expected 1 argument but got 2
in method new at <tmp> line 1
in block <unit> at <tmp> line 1
BooK in fact, there are like three possible syntax errors in Engligh: it/it's, your/you're and then/than 20:42
grepping for it'?s now :-)
Skarsnik Xliff, how it panic btw? x) 20:44
skids bless only takes nameds. 20:48
Geth perl6.org: 16ac8764e3 | raiph++ (committed using GitHub Web editor) | source/index.html
fix (my) typo
20:50 nadim left
Xliff skids: So how do I init a subclass from a superclass and have rakudo report the subclass as the type? 20:50
skids Depends on whether you want a copy, or a runtie mixin. 20:51
Xliff Copy. 20:52
20:52 silug left 20:54 andrzejku left
Geth doc: d4f98ca41e | (Philippe Bruhat (BooK))++ | 3 files
Use "its" for possessives (instead of "it's")
20:54
doc: 513db3e243 | (Philippe Bruhat (BooK))++ | doc/Language/io-guide.pod6
Use "it's" for "it is" (instead of "its")
skids Xliff: you'd have to enumerate the attributes into a ist of pairs. Never tried to find an easy syntax for that. Maybe there's a metamethod. 20:56
20:58 lancew left 20:59 TEttinger joined 21:00 Skarsnik left
Xliff OK. That's a pain in the but, though. 21:04
But what if the subclass has no attributes, but more methods than the superclass? 21:05
albongo Hi, I'm trying to get zef going on openbsd and it doesn't seem to work: w1r3.net/gjEBTn.txt (/var/cyberman being my home directory) 21:06
Xliff OK, I would still have to copy super's attributes to the sub. *sigh*
21:06 zakharyas left
albongo i don't really know the first thing about perl6 yet so any help debugging this would be appreciated 21:07
21:07 silug joined
albongo it's Rakudo 2017.02 on OpenBSD 6.1 21:08
(using the package shipped by openbsd)
skids Xliff: doubtles there's a trick or two to be had in the meta api.
21:11 Cabanossi left
timotimo albongo: that rakudo is too old for the version of zef you have 21:12
you could try checking out a commit of zef from around february and see if that works
albongo timotimo: ah, right. thanks. I'm trying to avoid building rakudo since I don't have good hardware to do it on
timotimo though it'd of course be better if you had an up to date rakudo, for example the last rakudo star
ah, i see. yeah, it requires more than a gig of ram, sadly 21:13
albongo are there openbsd binaries anywhere?
21:13 Cabanossi joined
timotimo i don't know about openbsd :( 21:14
github.com/nxadm/rakudo-pkg/releases - we have these, but they are all linux
albongo openbsd 6.2 should be around the corner, and hopefully that'll have a new rakudo 21:15
maybe I'll install openbsd on a physical machine and produce some
moritz can you run Docker containers on OpenBSD?
timotimo ideally they'd ship a rakudo star instead of just rakudo, because that would have zef at the right version, for example
Xliff skids: Maybe some way to force a type change via nqp? 21:16
I will look into it. Thanks.
albongo moritz: if you fancy doing crazy things, yes: medium.com/@dave_voutila/docker-on...20513b8110
moritz albongo: then you can use the alpine-perl6 docker container; iirc it comes with zef out of the box
albongo that sounds like a crazy solution to this problem though 21:17
if I wanted to run alpine linux I could just install it
timotimo don't think you'd want that :) 21:18
not only because you can't have spesh in 2017.08 on alpine because of too harsh stack size restrictions
albongo I could run virtualbox in docker and use that to run windows and just run my perl6 applications there 21:19
timotimo that sounds terrible d) 21:22
:)
albongo timotimo: this zef seems like it's (slowly) working, thanks! 21:25
oh dear, "No extracting backend available"
skids Xliff: line 716 of Mu.pm is the default clone method... could be adapted.
albongo what does it want? I've got tar on the machine
timotimo i wonder ... 21:26
you should try the debugging related env vars that zef takes
like ZEF_PLUGIN_DEBUG though maybe what you actually want is --verbose or --debug 21:27
maybe all you actually need is --/cpan so it doesn't try to download distributions and instead does git clones 21:28
actually, i don't think a february zef even has the cpan stuff yet 21:29
Xliff skids: Will look. Thanks! 21:30
Skids: 716? Don't you mean 622? 21:31
skids not in my checkout... 21:32
Xliff github.com/rakudo/rakudo/blob/b597...Mu.pm#L622 ??
albongo timotimo: I think I have found the problem: github.com/briandfoy/perl6-PrettyD...META6.json doesn't have a .git on the end of `source-url`, and this old zef doesn't like that
timotimo ah, i see
were you actually trying to install that particular module or is it collateral damage from just being in there? 21:33
Xliff skids: Ah. Wrong place. Got the right one.
albongo I'm trying to install this module because it provides Test which a million different things depend on
timotimo what?!
albongo uh, i dunno 21:34
it's what zef told me to do :(
timotimo Test is shipped by rakudo, if your rakudo tells me you don't have Test, something is going very wrong :(
albongo oh dear
timotimo so perl6 -e 'use Test' gives you an error?
albongo yeah, I get a ===SORRY!=== 21:35
there's no Test in /usr/local/share/perl6 either
timotimo PrettyDump's Test is a fork of core Test, and i have no idea in what way it is changed from what we have
on june 1st brian d foy committed that
Xliff skids: OK. Just out of curiosity, how would I do a runtime mixin? 21:36
I would then need a Role, right?
albongo timotimo: I think OpenBSD's rakudo is just shit
skids Right.
Xliff Crap.
timotimo could be :( :(
Xliff I may need to rethink this. 21:37
That actually might be the only way I can get this to work.
albongo timotimo: that's a right shame, I don't really want to rewrite this shiny async server in perl 5
Xliff I think what I really want is a way to turn an instance of class A into class B.
If in C++ or Java this would be a cast. 21:38
So "B b = (B)a"
timotimo what challenges would building rakudo on your openbsd give you?
albongo I only have about 300M free ram and the cpu is extremely slow
BenGoldberg If B were a role, then you could write: B $b = $a but B; 21:39
albongo I'll see if I can get a friend to build it with rakudobrew
timotimo since you only have to build it once, the slow cpu should be acceptable, and surely you can just create a file and turn it into swap space for the time being?
Xliff BenGoldberg: Yeah. That's what I am starting to realize.
timotimo if you build it with rakudobrew it'd probably be a good idea to use a tagged version like 2017.08 instead of whatever's latest in our git 21:40
albongo timotimo: uh, well, it's a live web server and I don't really want everything to slow down
Xliff But then when typed, it would be "xmlDoc+{XML::LibXML::Document}"
Which might not be that bad since it will still smartmatch to XML::LibXML::Document, correct?
timotimo that's a good reason 21:41
BenGoldberg There also exists Metamodel::Primitives.rebless, but it's a *very* hackish thing to use.
21:42 Cabanossi left
albongo timotimo: how much RAM would a whole build use? 21:42
timotimo not sure, haven't measured in a while
albongo right, thanks
I've been thinking about putting openbsd on an old PC for a while, this is a good reason for it anyway :)
Xliff m: class A {}; role B { }; my $b = A.new but b; say $b.^name; 21:43
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
b used at line 1
Xliff m: class A {}; role B { }; my $b = A.new but B; say $b.^name;
camelia A+{B}
Xliff m: class A {}; role B { }; my $b = A.new but B; say $b.^name; say $b ~~ B;
camelia A+{B}
True
21:43 Cabanossi joined
timotimo albongo: i wish you the best of luck :) 21:44
Xliff m: use NativeCall; class A { has Pointer $.P } is repr('CStruct'); role B { }; my $b = A.new but B; say $b.^name; say $b ~~ B;
camelia 5===SORRY!5=== Error while compiling <tmp>
Strange text after block (missing semicolon or comma?)
at <tmp>:1
------> 3 NativeCall; class A { has Pointer $.P }7⏏5 is repr('CStruct'); role B { }; my $b =
expecting any of:
in…
Xliff m: use NativeCall; class A { has Pointer $.P; } is repr('CStruct'); role B { }; my $b = A.new but B; say $b.^name; say $b ~~ B;
camelia 5===SORRY!5=== Error while compiling <tmp>
Strange text after block (missing semicolon or comma?)
at <tmp>:1
------> 3NativeCall; class A { has Pointer $.P; }7⏏5 is repr('CStruct'); role B { }; my $b =
expecting any of:
in…
albongo timotimo: thanks for your advice, I'll see about getting a half-decent rakudo port in the future (after I've finished sorting out the voidlinux package which somehow ships panda instead of zef :P) 21:45
Xliff m: use NativeCall; class A is repr('CStruct') { has Pointer $.P; }; role B { }; my $b = A.new but B; say $b.^name; say $b ~~ B;
camelia cloning a CStruct is NYI
in block <unit> at <tmp> line 1
Xliff ^^ rut roh
m: use NativeCall; class A is repr('CStruct') { has Pointer $.P; }; role B { }; my $b := A.new but B; say $b.^name; say $b ~~ B; 21:46
camelia cloning a CStruct is NYI
in block <unit> at <tmp> line 1
geekosaur albongo, sounds like that is out of date too; panda was what older distributions used, but it hasn't kept up with rakudo
skids Are both A and B CStruct?
Xliff B is a Role
skids No I mean before you decided to try using a role. 21:47
Xliff Yes.
skids Then just nativecast.
albongo geekosaur: actual rakudo is ANCIENT too. I'll try and get it all updated :)
Xliff LOL!
And here I was thinking that there *had* to be a better way.
skids: That was the original solution, but it doesn't seem to be working. Still reporting the superclass, not the casted class. 21:48
skids huh... I know I must do that in my xcb module... 21:49
timotimo switched the arguments to nativecast around?
so i thought i could use the heap snapshot profiler to figure out skarsnik's program's memory usage pattern 21:50
it tries to parse an xml file a hundred times
before it finished the first run it already ate about 8 gigs for the heap snapshot file %)
Xliff Yikes!
ugexe when will they learn xml needs to be parsed 101 times? 21:52
Xliff m: use NativeCall; class A is repr('CStruct') { has Pointer $.P; }; class B is repr('CStruct'){ has Pointer $.P; }; my $a = A.new; my $b = nativecast(B, $a); say $b.^name;
camelia B
skids Xliff: be aware of RT#130792 21:53
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=130792
21:55 ChoHag left 21:57 pmurias left 21:58 dogbert2 joined 22:03 niceperl left
timotimo damn it, tmpfs - even though i have lots of zram - won't let me write more than ~7.9 gigs onto /tmp 22:04
at least this heap snapshot format compresses very well 22:06
Xliff skids: Good point, but I think a lot of these are going to have to be explicitly_managed() due to libxml2 22:10
22:13 setty1 left
ugexe m: keep() 22:14
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
keep used at line 1. Did you mean 'KEEP'?
ugexe m: KEEP()
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
KEEP used at line 1
timotimo m: KEEP { }
camelia ( no output )
ugexe if i was calling a routine, shouldnt it recommend routines? 22:15
albongo timotimo: what are you doing that requires 8g of tmpfs
timotimo albongo: i'm making a heap snapshot profile of a program that apparently creates a big amount of objects 22:16
and since the heap snapshot profiler takes one snapshot every time the GC runs ... yeah, it makes a lot of those
albongo Blimey 22:17
timotimo now i'm writing the heap snapshot to stderr now and am piping that through gzip
22:17 Xal joined
albongo tmpfs has always been 0.5*RAM for me, but I don't have any computer with 8G ram :shrug: 22:17
ugexe m: say -> @_ [$, *@] { }() 22:18
camelia Too few positionals passed to ''; expected 1 argument but got 0
in block <unit> at <tmp> line 1
timotimo the format is optimized for simple reading, and it wastes quite a lot of space with zeroes
which makes it rather compressible 22:19
albongo yeah but not very useful
because it will explode if you try and decompress it 22:20
timotimo true, ideally i'd implement the mode that can read the format without seeking at all
at the moment i have an index at the end of the file
that mode is desirable anyway because that way you can process files from crashed processes 22:25
now the compressed snapshot collection is at 1.3 gigs :) 22:42
albongo Your dump of some program data is bigger than your entire genome 22:46
(Uncompressed, that is)
(Might not be actually. but who cares? it's useless pop science) 22:48
timotimo the genome isn't filled with consecutive T bases :P 22:50
22:52 Rawriful left 22:53 pecastro left
timotimo but this has alerted me an important tuning knob the hapsnapshot profiler wants to have: only take snapshots after major collections 22:55
22:57 leont left 23:00 pecastro joined 23:01 cpage left, cpage joined 23:02 bisectable6 left, benchable6 left, bisectable6 joined, benchable6 joined 23:04 cpage_ left, cpage__ joined 23:05 pyrimidine left, pyrimidi_ joined 23:17 MasterDuke joined
timotimo it looks like it finished while i was moving from laptop to desktop, which meant i stopped the ssh session ... now i'm not sure if it shut down orderly or b0rked … 23:23
MasterDuke isn't the new format resilient to non-clean shutdowns? 23:27
timotimo it is. the parser doesn't handle it yet :)
MasterDuke ah 23:28
Xliff What signature would I use if I only want a method to accept a 1 or a 0 23:35
Does where take compound conditionals? 23:36
AlexDaniel m: sub foo($ where 1 | 0) { say ‘hello’ }; foo(0) # maybe this?
camelia hello
23:37 awwaiid left
Xliff AlexDaniel++ 23:37
23:38 pyrimidi_ left, pyrimidine joined 23:48 margeas left 23:54 raschipi left, espadrine left