»ö« 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.
Lambd0x ugexe, If I unninstall GTK::Simple and remove module call in the code even thought the path contains the binaries it seems it won't just understand it :( 00:01
ugexe Lambd0x: show me the full command and output
00:01 Guest56511 left
timotimo Lambd0x: oh, you'll get a few FATAL errors from gtk and/or glib. they are harmless 00:02
like, when i start gimp, i get this message twice: (gimp:24418): Gimp-Widgets-CRITICAL **: gimp_device_info_set_device: assertion '(info->device == NULL && GDK_IS_DEVICE (device)) || (GDK_IS_DEVICE (info->device) && device == NULL)' failed
Lambd0x ugexe, pastebin.com/4wwyA3Ai (The module call has been removed from the code.) 00:04
this path contains all the dlls.
00:05 raschipi joined
Lambd0x timotimo, ye but my app won't run :/ 00:05
ugexe Lambd0x: if you are inside the gtk-simple repo when running the command, use `perl6 -I. <whatever>` 00:06
`C:\Users\Nicolas Peter Lane\gtk-simple>perl6 -I. ..\Downloads\tabelaJM.pl6`
00:08 k-man left
Lambd0x ugexe, the same thing still happens 00:10
00:10 mr-foobar left
ugexe does your script include a module named App? or is that presumably something with GTK::Simple? 00:12
00:12 mr-foobar joined
ugexe because the error you posted makes sense because the -I path you included wasn't a perl distribution/lib path 00:12
timotimo well, gtk-simple does come with a module called App 00:13
00:13 Cabanossi left
timotimo github.com/perl6/gtk-simple/blob/m...le/App.pm6 00:13
Lambd0x A code provided by the GTK::Simple oop object.
ugexe well it wouldn't have known about GTK::Simple::App *at all* because the -I path didn't point to anything 00:14
00:14 Cabanossi joined
Lambd0x but even with the latter suggestion? 00:14
ugexe with -I. (while cwd is the gtk simple repo) it would find the module, so I would expect the error to be different at least 00:15
try -Ilib maybe
installed/-I<meta-path>/-I<lib-path> all work slightly different 00:16
Lambd0x ok, but in the code do I keep the Gtk::Simple module calls commented?
ugexe no. does `perl6 -I. -e "use GTK::Simple::App;"` not blow up? 00:18
00:19 mr-foobar left
ugexe Lambd0x: did you post your code somewhere? 00:20
Lambd0x ugexe, just the latter cmd of your it doesn't blow. 00:21
I'll post the code.
pastebin.com/ADTRmK3Z 00:22
00:30 mr-foobar joined
Lambd0x pastebin.com/hr7bpNpv after your suggestion of cmd I`ve tried to execute the code it hangs at least a minute then it returns this pastebin.com/hr7bpNpv 00:34
ugexe i wonder if its the spaces in the path 00:37
Failed to copy 'C:\Users\Nicolas Peter Lane\resources\blib\lib\GTK\libgtk-3-0.dll' to 'C:\Users\NICOLA~1\AppData\Local\Temp\libgtk-3-0.dll': Failed to copy file: no such file or directory in sub find-bundled at C:\Users\Nicolas Peter Lane\gtk-simple\lib/GTK/Simple/NativeLib.pm6 (GTK::Simple::NativeLib) line 98 00:38
does `dir C:\Users\NICOLA~1\AppData\Local\Temp\` show you a directory listing or say "The system cannot find the file specified." 00:40
Lambd0x ugexe, It lists the dir files pastebin.com/zuvTeH91 00:42
00:44 cdg left
Lambd0x ugexe, I've tried getting the files copied before handed but it still tries to copy them and fails 00:46
bah It's quite complicated to get this module working for Win. ahha 00:47
ugexe hmmm so it seems to be copying all but 1 file 00:49
Lambd0x ugexe, it fails with libgtk-3-0.dll but it's there already 00:55
ugexe, maybe it would make sense with the issue already open that you showed to me? 00:56
00:57 k-man joined 00:58 astj joined
jdv79 could not parse XML 01:01
cool error XML
can't a grammar at least kick out a guess? 01:02
lookatme morning 01:03
jdv79, debug document: docs.perl6.org/programs/01-debugging 01:05
ugexe Lambd0x: probably need a new ticket
i'm getting the same error with your script, even though the library it says it cant load is where it says
Lambd0x I see. 01:08
ugexe, sad.
jdv79 Grammar::Tracer doesn't seem to work from the calling scope
which would be neat
lookatme How about `use trace` ? 01:10
01:10 raschipi left
jdv79 why would that help me? 01:10
i know what's running. its kicking an error msg. 01:11
lookatme Sometimes, grammar error not friendly 01:13
jdv79 i guess there isn't a neat way to get generic errors
yet
lookatme For me, I often use `<?{}>` non-capture group for debugging grammar . 01:14
timotimo Grammar::Tracer changes how grammars are compiled, so it can't be dynamic
lookatme I have not try Grammar::Tracer yet, I just know it 01:15
mst maybe the PPR::Error thing damian added after I pointed out that failed PPR parses were essentially undebuggable would help
jdv79 i'm not trying to debug a grammar i'm authoring. just trying to figure out why the XML module failed to parse some xml
that's the use case
lookatme m: grammar C { token TOP() { ^ <s> $ }; token s { "int main" <?{ say "GET $/";}> } }; C.parse("int main") 01:17
camelia GET int main
lookatme That's what I said 01:18
jdv79 thanks
well, that's interesting. vim crashes when trying to edit that "xml" file. 01:23
its just a reddit page
weird
lookatme :( 01:25
jdv79 oh, its working. my fault. forgot the /.rss part. 01:26
doh!
oh but rakudo segv'd
:(
01:27 Lambd0x left 01:31 astj_ joined, astj left
jdv79 wonder if i can golf that one 01:33
MasterDuke jdv79: did you build your own rakudo? if so, could you rebuild moar with debugging and try running in gdb and/or valgrind? 01:36
jdv79 its breaking cause of oter stuff now. i'll try to get there...
01:41 Cabanossi left
jdv79 "Odd number of elements found where hash initializer expected" - what's that all about when i'm assiging it a ${...} 01:42
01:43 Cabanossi joined
geekosaur er? ${...} itemizes it, so you'd be assigning one thing 01:44
jdv79 it used to work
this is code that ran "fine" > 6 months ago
well, this part
01:46 ilbot3 left 01:48 ilbot3 joined, ChanServ sets mode: +v ilbot3
jdv79 I'm guessing Hash.new changed so that you can just stuff a {} but it needs |{} 01:50
weird
*can't
01:55 nadim left
MasterDuke can you show just the part that used to work so we can bisect it? 02:02
02:15 noganex joined 02:18 noganex_ left
Geth doc: VynceMontgomery++ created pull request #1412:
Document some of the Cool traps
02:20
BenGoldberg m: my role R {}; Metamodel::MethodContainer.add_method( R, "asdf", sub { 42 } ); dd R.asdf; 02:22
camelia No such method 'add_method' for invocant of type 'Perl6::Metamodel::MethodContainer'. Did you mean 'add_method'?
in block <unit> at <tmp> line 1
Geth doc: VynceMontgomery++ created pull request #1413:
Explicitly note coercion to string for .contains
02:25
02:26 mr-foobar left 02:29 TimToady left 02:31 TimToady joined, troys_ is now known as troys
Geth doc: ef19e0695b | (Vynce Montgomery)++ (committed by Zoffix Znet) | doc/Language/traps.pod6
Document some of the Cool traps (#1412)

As discussed in #992 there are a few possible traps in Cool, especially with regard to Lists. Some of these behaviors may change, but while they work this way, let's document them.
02:32
doc: 6ffd299f1d | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/traps.pod6
Fix typo in URL
02:33
02:37 pilne left 02:41 cpage__ left 02:42 cpage_ joined, Cabanossi left 02:43 Cabanossi joined 02:50 shadowpaste left 02:51 casdr left, casdr joined 02:56 shadowpaste joined 03:00 astj joined, astj_ left 03:18 khw left 03:21 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 03:35 kyan left 03:36 TreyHarris left 03:39 troys is now known as troys_
Geth whateverable/master: 9 commits pushed by (Aleks-Daniel Jakimenko-Aleksejev)++ 03:44
AlexDaniel phew!
03:47 greppable6 left, japhb joined 03:48 kyan joined, coverable6 left, greppable6 joined, ChanServ sets mode: +v greppable6 03:49 TreyHarris joined 03:52 greppable6 left 03:56 Cabanossi left
Geth whateverable: a9683044c8 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files
The absence of -- in a command is usually a bug

In this case, a query like “HEAD grep=-V say 42” was failing. Not that it is a sensible query, but it shouldn't fail like that.
Another possible solution is to use ‘-e’ (which expects a pattern in the next argument), but it is slightly less explicit as I'm used to seeing
  -- everywhere (and also assuming that there's a bug if I don't see it).
03:57
03:57 Cabanossi joined
AlexDaniel 10 commits, 0 issues resolved /o\ 03:58
ugexe i 04:01
Geth perl6.org: c5e401c102 | (Zoffix Znet)++ (committed using GitHub Web editor) | source/resources/index.html
List perl6book.com/ chart in book section
04:10
04:13 japhb left 04:15 japhb joined 04:33 xtreak joined, troys_ is now known as troys 04:34 skids left 04:37 xtreak left 04:40 Cabanossi left 04:42 Cabanossi joined 04:46 zoll joined, raiph joined 04:49 japhb left 04:51 japhb joined 04:52 ChoHag left 05:00 Atomic_qm8UY joined 05:07 MasterDuke left 05:15 japhb left 05:17 Atomic_qm8UY2 joined, japhb joined 05:18 ChoHag joined 05:20 Atomic_qm8UY left 05:25 Atomic_qm8UY2 left 05:27 Atomic_qm8UY joined 05:28 Atomic_qm8UY left 05:29 mr-foobar joined 05:31 BenGoldberg left 05:32 druonysuse left 05:38 ufobat joined 05:42 wamba joined 05:58 troys left, astj left 05:59 astj joined 06:10 Xliff joined 06:11 |oLa| joined 06:13 nadim joined
Geth whateverable: e19b4441e5 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files
Fix tests

I guess the idea of having suggestions defined in tests is not perfect. Newer commits may have “nicer” shas, and this breaks tests for no good reason. For now, I'll just change the test, but in a long run we should come up with something better.
06:17
whateverable: e08dcfa8bc | (Aleks-Daniel Jakimenko-Aleksejev)++ | t/bisectable.t
Fix Bisectable test

This test will take a bit longer given that we now have pre-2015.12 commits stored in a more compact (but slower) way.
06:21 benchable6 left, quotable6 left, bloatable6 left, statisfiable6 left, unicodable6 left, evalable6 left, bisectable6 left, committable6 left 06:24 bisectable6 joined, evalable6 joined, committable6 joined, bloatable6 joined, quotable6 joined, ChanServ sets mode: +v bisectable6, ChanServ sets mode: +v evalable6, ChanServ sets mode: +v committable6, ChanServ sets mode: +v bloatable6, ChanServ sets mode: +v quotable6, unicodable6 joined, coverable6 joined, ChanServ sets mode: +v unicodable6, ChanServ sets mode: +v coverable6, greppable6 joined, ChanServ sets mode: +v greppable6, benchable6 joined, ChanServ sets mode: +v benchable6, statisfiable6 joined, ChanServ sets mode: +v statisfiable6 06:26 emeric joined 06:29 cpage_ left 06:32 nadim left 06:36 DarthGandalf left 06:37 DarthGandalf joined 06:38 domidumont joined, profan joined 06:39 leedo_ joined 06:40 konsolebox left, domidumont left 06:41 leont joined 06:42 matt_ joined, matt_ is now known as Guest91083 06:47 konsolebox joined 06:52 xtreak joined 06:57 xtreak left, bwisti left 07:00 abraxxa joined 07:03 AlexDaniel left 07:05 abraxxa left 07:09 cpage_ joined 07:12 rindolf joined 07:14 salva joined 07:20 darutoko joined 07:23 domidumont joined 07:24 abraxxa joined 07:26 geekosaur left 07:27 geekosaur joined 07:28 domidumont left 07:29 domidumont joined 07:59 domidumont left 08:00 domidumont joined, robertle joined 08:03 zoll left 08:14 xtreak joined 08:15 xtreak left 08:16 kyan left 08:19 kyan joined
lookatme Hi 08:24
no-n hi 08:25
lookatme Is someone know well Supply ?
gist.github.com/araraloren/c9f53c8...b25d3c347b 08:26
08:26 Cabanossi left
lookatme I wonder how that `auto-restart` work? 08:26
08:26 seatek left
lizmat lookatme: why the subs inside of the supply block ? 08:27
08:27 Cabanossi joined
lizmat why not lose the sub? 08:27
lookatme I stole the idea from jonathan's video 08:28
lizmat ah, now I see...
:-)
ok, that's clear then :-)
lizmat should wake up before writing comments
08:29 xtreak joined 08:30 xtreak left
lookatme And I comment line 43, with that line the script will be exit when an exception raised 08:32
08:51 ilmari joined
jnthn lookatme: The whenever taps the incoming Supply. When there's an asyncrhonous exception, it's caught by the QUIT, and in reaction it calls auto() again which runs whenever again which taps the Supply again, thus starting processing again. And the QUIT is re-instated for the next attempt. 09:03
lookatme jnthn, thanks, that's clear now. And that 09:06
's make sense why when I add line 43, the script exit 09:07
09:07 bjz joined
perlawhirl m: say bag(< A B >) ⊂ bag(< A A B C C D >) 09:09
yoleaux 6 Jul 2017 18:39Z <zengargoyle> perlawhirl: thanks for p6-dately, that looks sorta like my first thoughts before reading the strptime man page and thinking about locale and stuff. dragons indeed.
camelia False
lookatme jnthn, there still a problem, when I remove line 41 `start { $s.wait(); };`, the program not working. I thought it would be work when I call auto-restart on `$server`
jnthn No, because that just returns a Supply (into $s); you have to tap it still 09:10
$s.tap; would do it
start { $s.wait() } is just a far more expensive way to do that :) 09:11
lookatme jnthn, got it! cool! That
perlawhirl lizmat: subsets on bags look a little wonky. ps. really appreciate all the bag/set optimisations. thank you
lookatme 's work replace with .tap
jnthn, very thanks
jnthn Welcome :) 09:12
09:13 xtreak joined 09:14 jameslenz joined 09:15 xtreak left 09:16 parv joined
leont jnthn: regarding reading lines: :encoding is generally considered a hog, :utf8_strict is much faster (and likely to become :utf8 in the next perl5 release) 09:18
moritz for years the recommendation was to use :encoding(UTF-8) because :utf8 was unsafe 09:20
I guess that's what stuck with most of us
09:20 bjz left
jnthn Hm, :encoding(utf8) isn't strict? That surprises me a tad. :) 09:21
moritz it is
jnthn Good to know, though I was after all aiming for "what would the typical programmer not doing much research write" :)
moritz just :utf8 as a layer isn't 09:22
jnthn Oh
moritz open my $file, '<:utf8', $filename;
jnthn is confused by now :)
moritz that's the unsafe thing, which leont says is fast
Juerd Oh boy, :utf8_strict becoming :utf8 means people will get comfortable using :utf8, and introduce security bugs when their code happens to be run with older versions. 09:23
jnthn I just googled perl 5 read lines utf-8 and picked the first result :)
moritz and then there's open my $file, '<:utf8_strict', $filename which is fast and safe
jnthn Well, after checking it looked like a reputable source (PerlMaven)
moritz and then there's '<:encoding(UTF-8)' which is safe and slow and has been the recommendation for years and years 09:24
Juerd First we get disabled-by-default security fixes for backwards compatibility, and now we get a kind of backwards compatibility that introduces security issues... Perl 5, what are you doing? :(
09:24 notostraca joined
leont moritz is correct 09:24
09:25 TEttinger left
Juerd And of course the non-fixes by adding the secure version of something with entirely new syntax, while keeping the dangerous thing alive without a way to disable it. (Referring to the new <<>> that's the more secure but semantically different version of <>) 09:26
leont jnthn: my point was more that :utf8_strict is a more interesting target to benchmark against, because :encoding is known to be a slow design. 09:27
moritz otoh it's what people typically get when they write idiomatic Perl 5 code 09:28
leont True
moritz so arguments for both sides :-)
when was utf8_strict introduced?
Juerd Wasn't the "first rule of benchmarks": use both alternatives :)
leont It's a CPAN module, not a core module, has been existing for a few years now 09:29
moritz oh
leont Kind of had to redesign some internals in core to make it suitable for core, for reasons you really don't want to know
09:29 astj left
moritz when I need fast UTF-8 decoding, I've been using Unicode::UTF8 from CPAN 09:29
leont :utf8_strict is based on Unicode::UTF8 :-)
09:30 astj joined
moritz oh nice :-) 09:30
then I'm not as much out-of-touch as I thought I was :-)
jnthn leont: Will try against that one at some point, though as moritz noted I was aiming for typical use. :) 09:32
09:38 bjz joined 09:41 notostraca left 09:43 lookatme left, abraxxa left 09:47 robinsmidsrod joined 09:48 robinsmidsrod left 09:49 robinsmidsrod joined 09:52 robinsmidsrod left 09:55 robinsmidsrod joined 10:04 abraxxa joined
zengargoyle wouldn't a utf8 -> utf8_struct fall under the "need to use v5.028 to activate" sort of thing and utf8 would be just utf8 unless requested somehow? 10:04
like you don't get postfix_defref or unicode_strings or ... on older perls. 10:05
you could probably add some Unicode::Normalize in the p5 somewhere to massage incoming data into some standard form. 10:12
ufobat m: class { has Int @.ints; method new (Int :$int, Int :@ints) { self.bless( ints => defined $int ?? [$int] !! @ints);} }.new(ints => [1,2]).perl.say 10:18
camelia Type check failed in binding to parameter '@ints'; expected Positional[Int] but got Array ($[1, 2])
in method new at <tmp> line 1
in block <unit> at <tmp> line 1
ufobat how could i get this to work?
10:19 leont left
jnthn Depends what exactly you want :) 10:20
m: class { has Int @.ints; method new (Int :$int, :@ints) { self.bless( ints => $int // @ints) } }.new(ints => [1,2]).perl.say 10:21
camelia <anon|71260544>.new(ints => Array[Int].new(1, 2))
jnthn That's one way
(Which allows an untyped array to be bassed to new)
10:24 leont joined
ufobat and if i want to type contraits @ints from new? or .. could this be considdered as obsolte because if i pass rubbish self.bless fails anyway, and both is a runtime error 10:25
zengargoyle m: class { has Int @.ints; submethod BUILD (Int :$int, :@ints) { @!ints = $int // @ints } }.new(ints =>[1,2]).perl.say 10:27
camelia <anon|61340096>.new(ints => Array[Int].new(1, 2))
ufobat another question, is there a way to reduce the named arguments in new() to one? so that from a callers perspective i could .new(ints => 1) OR .new(ints => [1,2]) 10:28
10:28 astj left 10:29 astj joined
jnthn Just try it? :P 10:31
m: class { has Int @.ints; }.new(ints => 1).perl.say
camelia <anon|70756240>.new(ints => Array[Int].new(1))
jnthn m: class { has Int @.ints; }.new(ints => [1,2,3]).perl.say
camelia <anon|65849280>.new(ints => Array[Int].new(1, 2, 3))
jnthn I think the constraint inside of the class is enough 10:32
10:32 xtreak joined
ufobat class { has Int @.ints; method new (:$int) { self.bless( ints => $int ~~ Array ?? $int.flat !! $int);} }.new(int => 1).perl.say 10:32
10:32 kyan left, astj left, astj_ joined
ufobat huh! 10:33
i like your solution much better than mine :)
thanks for all the help :) 10:34
Zoffix puts on a fireproof suit 10:35
10:35 Hor|zon joined
Zoffix New blog post: "The Hot New Language Named Rakudo": perl6.party/post/The-Hot-New-Langu...med-Rakudo 10:35
10:49 xtreak left
llfourn is in general agreement with the above post 11:04
11:17 robertle left
tbrowder hi #perl6 11:21
llfourn hi tbrowder
tbrowder ref star builds: i thiink i see a quick solution to the --prefix problem
hi llfourn 11:22
if one configs *without* the prefix option, all will build locally, then the make install option could use an added prefix option to install into a system-wide directory (as root if needed) 11:24
ufobat m: class A {has Str @.a is required; has Str $.aa is required; submethod BUILD(:$a, :$!aa) {@!a = @$a} }; class B is A {has $.b is required }; B.new(a => ["1"], aa => "aa", b => 1).perl.say 11:26
camelia B.new(b => 1, a => Array[Str].new("1"), aa => "aa")
ufobat m: role A {has Str @.a is required; has Str $.aa is required; submethod BUILD(:$a, :$!aa) {@!a = @$a} }; class B does A {has $.b is required }; B.new(a => ["1"], aa => "aa", b => 1).perl.say
camelia The attribute '$!b' is required, but you did not provide a value for it.
in block <unit> at <tmp> line 1
perlawhirl bisectable6: say bag(< A B >) ⊂ bag(< A A B C C D >)
bisectable6 perlawhirl, Bisecting by output (old=2015.12 new=b0c8e18) because on both starting points the exit code is 0
11:26 bisectable6 left
ufobat i guess thats the expected behavoir? because submethod BUILD of a role does "work" for the first class that uses this role, right? 11:27
11:27 bjz left
timotimo right, it's just a method (submethod usually) so it does the same mechanism for replacement that you get for any other (sub)method 11:27
ufobat so there is no other way to specify the "magic behavour" for the construction via named parameter for a role
i need to do that for each class that implements this role? 11:28
11:28 bjz joined, bjz left
timotimo we don't have a magic mechanism yet 11:28
ufobat or could i "extend" the BUILD method defined in a role in the class? 11:29
timotimo i don't think you can without knowing the class you're applying to, i think? 11:30
11:30 parv left
tbrowder so the incantation would be something like: "perl Configure.pl ...", "make; make test" (all as an ordinary user), then, as root, "make install --prefix=/opt/desired-dir" 11:31
ufobat i was thinking of submethod BUILD (:$!classparam, *%_) { callsame(|%_)}
so i could just handle my $classparam there and pass the other to the inherited BUILD method?
not sure about callsame() and signatures, but as a principle idea?
timotimo no, callsame won't give you the original one, because it gets replaced fully
ufobat :/
timotimo you could self.OriginalClass::BUILD() 11:32
i *think*
ufobat but instead of callsame() - if i name the BUILD in the role 'BUILD-ROLE' and in the class i do of submethod BUILD (:$!classparam, *%_) { BUILD-ROLE(|%_) } 11:33
m: class A {has Str @.a is required; has Str $.aa is required; submethod BUILD(:$a, :$!aa) {@!a = @$a} }; class B is A {has $.b is required; submethod BUILD (:$!b, *%_) {self.OriginalClass::BUILD(|%)} }; B.new(a => ["1"], aa => "aa", b => 1).perl.say 11:35
camelia Cannot dispatch to method BUILD on Failure because it is not inherited or done by B
in submethod BUILD at <tmp> line 1
in block <unit> at <tmp> line 1
ufobat wow thats funny :D 11:36
m: class A {has Str @.a is required; has Str $.aa is required; submethod BUILD-ROLE(:$a, :$!aa) {@!a = @$a} }; class B is A {has $.b is required; submethod BUILD (:$!b, *%_) {self.BUILD-ROLE(|%_)} }; B.new(a => ["1"], aa => "aa", b => 1).perl.say 11:37
camelia No such method 'BUILD-ROLE' for invocant of type 'B'. Did you mean 'BUILD-ROLE'?
in submethod BUILD at <tmp> line 1
in block <unit> at <tmp> line 1
ufobat is there a typo i didnt mention?
tbrowder hm, looks like we would need a new tgt, some like "make install-system /desired/prefix"
s/some/something/ 11:38
11:40 aborazmeh joined, aborazmeh left, aborazmeh joined
moritz ufobat: no, the submethod is not available from the subclass 11:41
tbrowder i would also change the current "install" tgt to "install-local" and eliminate the --prefix option.
moritz ufobat: that's the difference between submethods and methods; submethods aren't inherited
ufobat moritz, but i can! specify submethod in a role
and the class inheriting that role gets the submethod
moritz ufobat: I'm talking about yur last example. There BUILD-ROLE is define din a class, not in a role 11:42
ufobat ARGS!
i took the wrong one to continue
thanks for pointing it out!
m: role A {has Str @.a is required; has Str $.aa is required; submethod BUILD-ROLE(:$a, :$!aa) {@!a = $a} }; class B is A {has $.b is required; submethod BUILD(:$!b, *%_) { self.BUILD-ROLE(|%_)} }; B.new(a => ["1"], aa => "aa", b => 1).perl.say 11:45
camelia No such method 'BUILD-ROLE' for invocant of type 'B'. Did you mean 'BUILD-ROLE'?
in submethod BUILD at <tmp> line 1
in block <unit> at <tmp> line 1
moritz you need class B does A 11:46
not class B is A
ufobat args!
much better 11:47
m: role A {has Str @.a is required; has Str $.aa is required; submethod BUILD-ROLE(:$a, :$!aa) {@!a = $a} }; class B does A {has $.b is required; submethod BUILD(:$!b, *%_) { self.BUILD-ROLE(|%_)} }; A.new(a => ["1"], aa => "aa", b => 1).perl.say 11:48
camelia A.new(a => Array[Str].new("1"), aa => "aa")
ufobat m: role A {has Str @.a is required; has Str $.aa is required; submethod BUILD-ROLE(:$a, :$!aa) {@!a = $a} }; class B does A {has $.b is required; submethod BUILD(:$!b, *%_) { self.BUILD-ROLE(|%_)} }; B.new(a => ["1"], aa => "aa", b => 1).perl.say
camelia Type check failed in assignment to @!a; expected Str but got Array ($["1"])
in submethod BUILD-ROLE at <tmp> line 1
in submethod BUILD at <tmp> line 1
in block <unit> at <tmp> line 1
ufobat ah maybe yeah
:/
first example is nonsense now 11:49
my real world example works now with submethod BUILD-ROLE() 11:52
ufobat needs a break
11:55 aborazmeh left 11:58 abhi_ joined, abhi_ left
tbrowder ref star: i will work on my proposed solution as a PR if it seems reasonable to others 11:58
12:03 raschipi joined
stmuk_ tbrowder: I'd rather see R* work the same way as R itself as it does currently 12:08
I agree that's its non-standard for Configure.pl to copy install files in place but that is currently the way Rakudo works as well as Rakudo Star 12:09
tbrowder the solution may work for both. you are talking about the R* tarball? 12:10
stmuk_ yes
tbrowder nom also?
stmuk_ I don't follow you 12:12
tbrowder never mind, i confused myself. anyhoo, i think the same solution could work for both. if it can, would you agree to a trial? 12:13
stmuk_ I see Rakudo Star as being a fairly conservative repacking of Rakudo itself 12:14
tbrowder right...
stmuk_ changing the way Configure/make works probably should be done in Rakudo itself 12:15
I'm sure people would like to see experiments in branchs and I can help test anything
tbrowder yep, but it is not easy to root the current behavior out. if i were king, i would go to a cmake build and install system. 12:16
stmuk_ yes the current behaviour is unusual and making more standard is a worthy goal 12:18
I'm not keen on adding cmake as a dependency .. we already have perl as a dependency and that should be powerful enough I'd have thought 12:19
tbrowder so i see my method as a first step in allowing a user config/build and then root install. then the unraveling can be done when someone has the motivation to dig into it.
jnthn The thing is that Rakudo, NQP, and MoarVM are 3 separate things, each with their own build/install. That we provide a configure option to generate the dependencies is purely intended as a convenience for getting a local development build. 12:20
Or at least, was ;-) 12:21
Maybe it would better meet expectations if instead there was an "install all 3 things" script
So you just ran *that* with required perms
And then it wouldn't look like Configure is installing stuff :P 12:22
stmuk_ :)
tbrowder cmake can be complex to change over to, but it is cross-platform and builds for linux, mac, and windows. after moving to it, dev life becomes a bit easier for build maint.
jnthn hahahahaha
stmuk_ did DESTDIR ever get into Rakudo itself I forget?
jnthn had enough interactions with cmake on Windows to not belive that it'll make his life easier for a moment :P 12:23
stmuk_ tbrowder: although the 3 layer model does make things complicated .. the actual perl 5 scripts are well written, clear, and easy to understand
timotimo i'm watching Summer Games Done Quick right now, and i've got an idea: maybe we should write the build system as an NES rom
tbrowder jnthn: you're probbly right, pay money, take choice
timotimo there's NES emulators for pretty much every device you can think of, after all 12:24
jnthn tbrowder: Yeah, I mean, I'm sure cmake is well engineered and stuff
stmuk_ bikesheds by suggesting SNES :P
jnthn tbrowder: But my experiences have just been "arrrgh". :)
timotimo oooh, if we build an SNES rom, we could use the custom 3d coprocessor they used for starfox
for something like a pretty progress bar during the build 12:25
jnthn I figure with time more and more people will get Perl 6 from a package manager though
Which is an even better way to not have the issue :-)
stmuk_ the perl 5 people advise *not* using package manager versions 12:26
timotimo we can be better than that!
just have to prevent distro people from applying too many patches
jnthn stmuk_: Using the package manager to install things != using packages provided by your distro
timotimo we've also got a prototype for an appimage, for example 12:27
that covers every single distro under the sun, potentially
tbrowder my interest in this build business is long-time exp with buiding as ord user and fix any probs before final installation. i feel a bit out of control with it now
stmuk_ more modern things like docker and snaps are much better than rpm/deb
raschipi You wish they were. They are just rpb/deb underneath. 12:28
timotimo appimages aren't
raschipi One isn't a substitute for the other anyway.
El_Che I don't think that docker and rpm/deb compete for the same use cases 12:29
jnthn Was gonna say, can't remember the number of dockerfiles I've written that install packages :)
stmuk_ I probably should experiment with appimage R*
llfourn +1 for rakudo SNES rom. Maybe we can sell physical rakudo SNES cartridges to support the project. 12:30
raschipi When people talk about delivery, they do compete and agree they could be better one day (not yet). But in this discussion, about building and deploying, deb/rpm does it, flatpaks don't.
timotimo you saw samcv's work in that direction, right, stmuk_?
stmuk_ nope I will backlog
timotimo at least a month old
it's in her github i think
stmuk_ github.com/samcv/rakudo-appimage-m...automation 12:32
the main thing people have been asking for in R* is $DESTDIR support
12:34 nicq20 joined 12:41 brabo left 12:42 Cabanossi left 12:43 Cabanossi joined
stmuk_ decides to look at this anyway 12:46
12:48 brabo joined 13:03 linuksz joined
linuksz i have two hash, and i want to make a third hash from them 13:16
every value in the hashes is a reference to a key-value pair
the hashes have keys that are the same, but both hash keys that aren't in the other hash
the references in the values points to and
- 'english_value' key in %hash1
- 'translated_value' key in %hash2, e.g.
%hash1<example_msg><english_value> = "some text"
%hash2<example_msg><translated_value> = "valami szöveg"
i want to make a hash that contains both english_value and translated_value for the key:
%hash3<example_msg><english_value> = "some text"
%hash3<example_msg><translated_value> = "valami szöveg"
how can i do it?
13:19 dct joined
moritz m: my %h1 = msg => { english => 'some text' }; my %h2 = msg => { translated => 'text halt' }; my %h; for %h1.keys -> $k { %h{$k}{english} = $h1{$k}{english}; %h{$k}{translated} = $h2{$k}{translated} }; say %h.perl 13:20
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$h1' is not declared. Did you mean '%h1'?
at <tmp>:1
------> 3 for %h1.keys -> $k { %h{$k}{english} = 7⏏5$h1{$k}{english}; %h{$k}{translated} = $
moritz m: my %h1 = msg => { english => 'some text' }; my %h2 = msg => { translated => 'text halt' }; my %h; for %h1.keys -> $k { %h{$k}{english} = %h1{$k}{english}; %h{$k}{translated} = %h2{$k}{translated} }; say %h.perl
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routines:
english used at line 1
translated used at line 1
moritz m: my %h1 = msg => { english => 'some text' }; my %h2 = msg => { translated => 'text halt' }; my %h; for %h1.keys -> $k { %h{$k}<english> = %h1{$k}<english>; %h{$k}<translated> = %h2{$k}<translated> }; say %h.perl 13:21
camelia {:msg(${:english("some text"), :translated("text halt")})}
moritz linuksz: ^^
linuksz and something similar to .append or .push ? 13:24
moritz why? 13:25
linuksz that would be simpler.
moritz would it? 13:26
then show please :-)
13:31 AlexDaniel joined
linuksz it's not good solution, because both hashes has keys that aren't in the other hash 13:38
moritz what should the result be in such a case? 13:40
13:40 Cabanossi left
linuksz a key in %hash3 with only english or only translated value 13:41
i didn't tried it, but if i think well, it will fail, if a key is only in %hash1 13:42
13:43 Cabanossi joined
moritz for (%h1.keys, %h2.keys).flat.uniq -> $k { ... } 13:45
13:59 abraxxa left 14:02 cdg joined 14:03 cdg_ joined 14:06 cdg left 14:08 ptolemarch left, ptolemarch joined 14:10 ChoHag left 14:13 skids joined 14:22 kaare_ left 14:24 dct left
jdv79 i think i'm still getting async related segvs. is that a common thing? 14:27
SmokeMachine m: my %h1 = msg => { english => "some text" }; my %h2 = msg => { translated => "text halt" }; my %h; %h.push: %h1.keys Z=> (english => %h1.values>>.<english>); %h.push: %h2.keys Z=> (translated => %h2.values>>.<translated>); dd %h 14:28
camelia Hash %h = {:msg($[:english(("some text",)), :translated(("text halt",))])}
SmokeMachine m: my %h1 = msg => { english => "some text" }; my %h2 = msg => { translated => "text halt" }; my %h; %h.push: %h1.keys Z=> %(english => %h1.values>>.<english>); %h.push: %h2.keys Z=> %(translated => %h2.values>>.<translated>); dd %h 14:29
camelia Hash %h = {:msg($[:english($("some text",)), :translated($("text halt",))])}
AlexDaniel jdv79: well, it depends 14:32
jnthn jdv79: I've not seen much of that at all in any of the async stuff I've done of late, but it's certainly the case that code that ends up accidentally over-sharing state can trigger that.
And there are a few code-gen bugs to sort out that might cause that. 14:33
AlexDaniel jdv79: it could be that your code is broken, actually. In my experience, about 70% of problems were my mistakes, and the rest rakudo's :)
jdv79 i'm trying to golf it but its...being difficult
timotimo maybe gc debug or nursery size reduction can tease it out better? 14:34
14:35 kurahaupo joined
jnthn (Also, SEGV really isn't an appropriate response, so that's also on the todo list to fix up.) 14:35
14:36 pierre_ joined
jdv79 at least its easy to trigger. just golfing it is being too much fun. 14:36
pierre_ Hi perl6 users
linuksz SmokeMachine, your solution isn't good, because it stores a reference to an array in %h<msg>, that contains two reference to key-value pairs. it should contain a reference to a hash
pierre_ i was off perl6 for sometime, wanted to use some perl6 at work today, to call some APIs, i see that now, we have still HTTP::UserAgent but also some Net::HTTP modules 14:37
which one should i use? (knowing that i can't install HTTP::UserAgent with zef, some tests are failing 14:38
linuksz i will rewrite my script, so it won't need to use two hashes 14:39
14:41 lizmat left
jdv79 gist.github.com/anonymous/5a444339...e871151daf 14:41
timotimo damn, it doesn't say which gc_mark it comes from :( 14:42
jnthn Yeah, that'd need a moar built with debug symbols 14:44
14:52 wamba left
linuksz i get the following error: sprunge.us/fXPQ when i try to run this code: 14:56
#!/usr/bin/perl6
use v6;
use Ncurses;
initscr;
14:56 lizmat joined
linuksz exit; 14:56
jdv79 how come make install in rakudo doesn't pickup a newly build moar
timotimo linuksz: can you have a look at that file? it's potentially a script file 14:57
the .so file i mean
linuksz is the problem with the module, or i fucked up something?
timotimo it depends 14:58
if the .so file is one of these linker scripts, that's because we don't support these yet
linuksz so can i solve it, or the module developer?
jdv79 gist.github.com/anonymous/efbc5104...8916b2e50c 14:59
timotimo linuksz: maybe the module author should give a fallback where they allow you to pass a filename per env var
could you please look at what the .so file contains? 15:00
linuksz the module allows to specify the path of the library via PERL6_NCURSES_LIB variable
maybe it solve the problem?
INPUT(-lncursesw) 15:01
timotimo on my machine it contains just INPUT(libncurses.so.6 -ltinfo), which is something we don't support i believe
why that isn't just a symlink we will never know 15:02
15:03 domidumont left
linuksz so what should i do? can i solve it? the module author has no activity on github almost a month ago 15:04
15:04 domidumont joined
jdv79 MoarVM panic - that's new to me 15:05
jnthn Hmm...in callcapture 15:06
I saw another report relating to that not so long ago
jdv79 MoarVM panic: Heap corruption detected: pointer 0x7fb0fe405090 to past fromspace
i'll golf it as far as i can an rt it i guess
*and
timotimo linuksz: you can change the module's lib finding thingie locally and install your locally modified version 15:08
actually, maybe the module should be changed to also supply a version
15:11 setty1 joined 15:13 domidumont left 15:19 khw joined 15:20 wigner joined 15:37 mls_ is now known as mls 15:38 nadim joined, aindilis left 15:44 tmp172618 joined 15:45 tmp172618 left 15:50 raschipi left 15:54 nadim left 15:55 nadim joined 16:04 robertle joined 16:08 ufobat left 16:15 bisectable6 joined, ChanServ sets mode: +v bisectable6
AlexDaniel .tell moritz any news regarding the unicode issue on irclog? For example, I can't even see what the actual code here: irclog.perlgeek.de/perl6/2017-07-07#i_14839522 16:18
yoleaux AlexDaniel: I'll pass your message to moritz.
TimToady too 16:19
16:19 leont left
jdv79 is rt slow on the email gw? i pushed a bug and i see and got nothing 16:21
jdv79 wonders if i should just login and repost it 16:23
TimToady I think it goes through a moderation step that is...variable...in its throughput
16:24 konsolebox left
jdv79 [Coke]: know about that? 16:26
16:26 mr_ron joined 16:27 mr_ron left 16:29 espadrine_ joined
jdv79 i used to get an email right back 16:29
how do i know its not lost forever?!
16:30 konsolebox joined
AlexDaniel jdv79: you should have faith! 16:31
jdv79 in any case here it is...gist.github.com/anonymous/64e9b793...2a1104aeed 16:32
AlexDaniel jdv79: I've never had anything actually get lost, but I've been annoyed by the delay also :)
jdv79 jnthn: that's as good as i can do. sorry.
i's like to know what that is all about. not a great contributor signal 16:33
submit a bug and nothing but crickets
:(
AlexDaniel jdv79: well, maybe RT #128520 is for you :) 16:34
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=128520
16:40 mr_ron joined
mr_ron Perl 6 is production ready - oops - if you used "perl6" in an any scripts then get ready to rename to rakudo. 16:41
AlexDaniel mr_ron: hm?
16:43 pierre_ left
TimToady m: say bag(< A B >) ⊂ bag(< A A B C C D >) 16:47
camelia False
TimToady m: say bag(< A B >) ⊂ bag(< A A B B C C D >)
camelia True
TimToady it would appear to be requiring a smaller number for every key, not just one of them
16:48 bisectable6 left
jdv79 oh cool. the bug was created. 16:49
TimToady I would have expected that if any key's value is less than the corresponding one, it's a subbag
m: say bag(< A B >) ⊂ bag(< A B C >)
camelia False
TimToady and hence the degenerate set case doesn't actually work as expected 16:50
16:50 domidumont joined, mr-fooba_ joined 16:52 mr-foobar left 16:55 Cabanossi left 16:57 Cabanossi joined 17:06 bdmatatu joined
Zoffix mr_ron: I think you're jumping about 10 steps ahead of reality. 17:07
timotimo some people really like that 17:08
17:08 kerframil joined
timotimo perl 6 is production ready - oops - the sun just exploded and consumed all life on earth in a blazing fire 17:08
hm, not sure if that really fits the other sentence 17:09
17:10 bisectable6 joined, ChanServ sets mode: +v bisectable6 17:11 bisectable6 left
mr_ron I know it's early but a little worried about the change and wondered if anyone else felt the same way. I don't expect my comment to have much weight anyway. 17:11
Zoffix mr_ron: I think all comments have equal weight. I think the name of the executable is a minor, non-pressing technical issue, compared to the crux of the matter. 17:14
As in, it doesn't have to change.
17:15 kerframil left 17:18 buggable left, buggable joined, ChanServ sets mode: +v buggable
Zoffix buggable: 6.d 17:19
buggable Zoffix, I think 6.d Diwali will be released in about 14 weeks, 4 days, 6 hours, 40 minutes, and 44 seconds
Zoffix nice
17:21 bisectable6 joined, ChanServ sets mode: +v bisectable6 17:23 nhywyll joined 17:32 ab5tract joined
ab5tract TimToady: i believe that subbag behavior is due to lizmat reverting some behavior recently 17:36
yoleaux 2 Sep 2016 22:56Z <perlawhirl> ab5tract: You need to update you META6 for Terminal::Print to add OO::Monitors as a dependency
ab5tract i asked her about it earlier this week. 17:38
Zoffix: you know, just this week i was told by a person both that Perl 6 is a waste of my time and that, frustratingly, the only real objection said person has to Perl 6 is the name 17:41
thank you for sharing your thoughts on the topic, it helps to clarify my own
m: bag(<A B>) (>+) bag(<A B C>) 17:42
camelia WARNINGS for <tmp>:
Useless use of "(>+)" in expression "bag(<A B>) (>+) bag(<A B C>)" in sink context (line 1)
ab5tract m: say bag(<A B>) (>+) bag(<A B C>)
camelia False
ab5tract TimToady: note that I am reading the scrollback on irclog.perlgeek so i'm not actually sure whether you were testing (>) or (>+) 17:43
there are also some interesting corner cases in subbag logic 17:45
m: say bag(<A A B C>) (>+) bag(<A B C C>)
camelia False
17:45 bdmatatu left, evalable6 left 17:46 evalable6 joined, ChanServ sets mode: +v evalable6
Zoffix :) 17:51
ab5tract but we used to handle them all correctly in (>), according to the set operator implementations in PR #911
and (>+) still does :) 17:52
m: say bag(<A B C C>) (>+) bag(<A A B C>)
camelia False
17:54 kerframil joined 17:56 bit_lySLH2uSZHed joined
ab5tract Zoffix: we are both using our "real" handles at the same time, too. what are the odds?! naming seems to be on the menu of themes for today :) 17:58
17:58 cdg joined
kybr i'm having trouble finding info on "Code". what is Code? i'm trying to make a c-based, callback-based system call into my perl6. 17:58
Zoffix :)
huggable: Code
huggable Zoffix, Code object: docs.perl6.org/type/Code
ab5tract kybr: are you using NativeCall already? 17:59
17:59 seatek joined
kybr okay. :D sorry. sometimes googling is NOT the answer. sometimes, just browse the POD. thanks! yeah, i'm using NativeCale. 17:59
17:59 bit_lySLH2uSZHed left
Zoffix
.oO( NativeKale )
17:59
m: .^mro.say for -> {}, sub {}, my method {}, /^/, 18:00
camelia ((Block) (Code) (Any) (Mu))
((Sub) (Routine) (Block) (Code) (Any) (Mu))
((Method) (Routine) (Block) (Code) (Any) (Mu))
((Regex) (Method) (Routine) (Block) (Code) (Any) (Mu))
Zoffix m: Code.ACCEPTS($_).say for -> {}, sub {}, my method {}, /^/, my submethod {} 18:01
camelia True
True
True
True
True
Zoffix m: Code.ACCEPTS($_).say for -> {}, sub {}, my method {}, /^/, my submethod {}, *.so
camelia True
True
True
True
True
True
18:02 cdg_ left
kybr NativeKale, HA! also, thank for this channel and all the help. 18:02
ab5tract kybr: any time :)
18:03 cdg left
ab5tract if you find out anything in your adventures not already covered in the documentation, doc.git commit bits are handed out pretty freely around here :) 18:03
18:05 pilne joined
masak lizmat: the only argument against giving (<) and (<=) baggy semantics is that it's usually a Perlish thing that operators coerce their operands if needed, rather than be polymorphic 18:07
yoleaux 5 Jul 2017 11:39Z <lizmat> masak: do you have any thoughts on deprecating (<+) in favour of baggy semantics of (<) and (<=) ?
5 Jul 2017 13:51Z <Element80> masak: you have a bunch of PRs on this module: github.com/masak/data-pretty/pulls
5 Jul 2017 13:53Z <Element80> masak: Actually a whole ton of PRs are waiting for merge in virtually all of your dists: temp.perl6.party/buggable/84904347...62717.html
masak lizmat: but it's not a very strong argument; it could be argued that something like `<` works just as well for Int, Rat, Num etc without casting 18:08
ab5tract masak: github.com/rakudo/rakudo/pull/911#...-258947434 18:09
TimToady I see it more as a sticky Complex sort of situation
or FatRat 18:10
masak hm, mebbe
what's sticky in this case, the Bagness?
TimToady yep
Num is also an example of a sticky type 18:11
18:12 famrani joined
ab5tract don't forget about the Mixitude ;) 18:12
TimToady m: say (1.0 + 1.0e0).WHAT
camelia (Num)
TimToady Mixitude is even stickier :)
masak there are degrees of stickiness, yes 18:13
TimToady just as Complex is stickier than Num
masak I think sometimes about the fact that people want Int to be a subtype of Rat to be a subtype of Num 18:14
18:14 lucasb joined
TimToady it's worked out pretty well for our numerics, so I think it'll work pretty well for our bagatelles as well 18:14
while Int is a subtype of Rat in mathematics, we're actually in the business of making computers run fast :) 18:15
and our subtypes are not sufficiently developed to guarantee a change in REPR 18:16
masak nadim: re irclog.perlgeek.de/perl6/2017-07-05#i_14829671 -- I don't particularly dislike `:` on method calls, I just don't particularly use them. (and therefore I find them overused most everywhere else.)
nadim: if I were to find a reason for liking `.method(...)` more than `.method: ...`, I think it's that I like my method calls to look like function calls. the parens do that for me. 18:18
(I also tend to put in the `()` in `foo()` function calls a lot, even when I don't have to)
TimToady: the subtypes/REPR thing is a good point, of course. but it means living with the inevitable newcomer FAQ of why it doesn't work. 18:19
ab5tract not sure if this was already discussed when the examples on perl6.org were updated 18:20
18:20 Skarsnik joined
Skarsnik Hello 18:20
yoleaux 3 Jul 2017 22:18Z <geekosaur> Skarsnik: use MONKEY-GUTS; say nqp::defined(int.^nativesize) #`{ which is why it should be a p6 undef not nqp }
ab5tract but i have this feeling like adding TMTOWDI alternatives might be worth the additional application/presentation complexity 18:21
or maybe that just means fleshing out the endpoint for "More examples" 18:22
masak: why what doesn't work? 18:25
masak m: my Rat $r = 5 18:27
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot assign a literal of type Int (5) to a variable of type Rat. You can declare the variable to be of type Real, or try to coerce the value with 5.Rat or Rat(5), or just write the value as 5.0
at <tmp…
masak people would reason "an integer is a rational number, so that ought to work" 18:28
18:28 ufobat joined 18:33 famrani left
ab5tract I guess I'm just missing the inherent connection to unifying bagatelle semantics behind a specific set of operators 18:34
my Bag $b = set <hello>
ok, I see :) 18:35
but then that makes me wonder whether the better answer would be to make this work 18:36
m: my Bag() $b = set <hello>
camelia 5===SORRY!5=== Error while compiling <tmp>
Coercion Bag(Any) is insufficiently type-like to qualify a variable
at <tmp>:1
------> 3my Bag() $b7⏏5 = set <hello>
expecting any of:
constraint
18:36 aindilis joined, bit_lySLH2uSZHed joined 18:37 bit_lySLH2uSZHed left
ab5tract though I don't know enough about the compiler to know whether allowing defined coercions is possible or not 18:38
18:39 bazzaar joined
bazzaar \o perl6 18:39
Zoffix o/ 18:41
nicq20 \o 18:42
18:42 famrani joined
bazzaar I'm an avid follower of all the perl6 blogs and I am in awe of the dedication that the Perl6 team show week in, week out. 18:43
Zoffix Cool. 18:45
nicq20 Anyone know of a module to easily take XML and turn it into a Hash? 18:47
Skarsnik hm
bazzaar I've just been reading Zoffix's articles on Seq's, and found them really informative, a big thanks from me for explaining that part of the current implementation.
ab5tract bazzaar: I agree with you. It's a pretty big feat, enchanting a runtime for Perl 6 into existence!
Skarsnik Probably can use the XML module and transform the XML element to hash 18:48
nicq20 The 'XML' module is ok, but it's far too complex for anything that I would use. (Plus it's a bit confusing)
Skarsnik does element<key> map to something? 18:49
Zoffix nicq20: why a hash?
nicq20 Not withou a bunch of work.
Skarsnik I don't remember but I think XML type has [] and hash operator defined
18:49 wamba joined
nicq20 Zoffix: Hash would make sense because XML elements have names in the first place. 18:49
Skarsnik hm, can be confusing 18:50
Zoffix nicq20: but so would a proper structure. What is your end goal?
Skarsnik elem<key> should give you what?
Zoffix $ perl6 -MDOM::Tiny -e 'DOM::Tiny.parse(q|<div><p id="a">Test</p><p id="b">123</p></div>|).at("#b").all-text.say' 18:52
123
ugexe god i hate hackerrank
Skarsnik github.com/supernovus/exemel/blob/...t.pm6#L786
there [] and <> defined on elements
so they can act like a hash/array
Zoffix buggable: eco dom::t
buggable Zoffix, DOM::Tiny 'Very small, self-sufficient DOM parser manipulator': github.com/zostay/p6-DOM-Tiny
nicq20 Skarsnik: Huh, I'll try that again. Maybe, I was doing it wrong. 18:53
ab5tract personally what I would like to see is an implementation of XML::Rabbit. the most annoying thing about using the Perl 5 implementation is the Perl 5 package semantics
bazzaar I just read Zoffix's article on language naming, I respect people's different viewpoints. I have a bit of a different view, would folks mind if I state it here?
Skarsnik nicq20, maybe you have so code example. It's been a while I haven't use XML 18:55
Zoffix bazzaar: state it
bazzaar I'm a 'perl' user, for two decades I loved to solve problems with perl5, now I love to solve problems with perl6. 18:56
I see Perl as the brand name for a family of accessible, and exciting programming languages, and the Perl brand certainly has my allegiance.
Who knows, down the line, there may be a Perl7 Web Edition, or something.
Perl is evolving, and in transition, the different specifications under one umbrella is a positive thing in my book.
In 10 years, I'm confident Perl6 will be seen as just 'Perl' to new users, but it should stay named as Perl6.
The old motto is "don't throw the baby out with the bathwater". 18:57
If anything, maybe try to encourage new (and existing) Perl5 literature (to use the 'Perl 5' moniker, instead of 'Perl').
nicq20 Skarsnik: I have an XML structure like: "<a><b>foo</b><c>bar</c></a>". I would like to get something like: %var<a><b> #returns "foo"
18:57 cdg joined 18:58 famrani left
Skarsnik It's kinda ambiquous, there could be various A in your xml at the same level 18:58
ab5tract IIUC, Zoffix's suggestion is to use 'Rakudo Perl 6' as the full name 18:59
18:59 famrani joined
ab5tract This seems like a decent middle ground to keep the (obvious-once-stated and continued) relationship to Perl 5 19:00
nicq20 Skarsnik: Fair; I was kind of figuring that would return an array in that case.
ab5tract or the "family vibe" of Perl, so to speak
Zoffix bazzaar: that doesn't solve the issue of the Rakudo language perceived as just another version of Perl. You've been a loyal "customer" for 2 decades. You know what's-what under the Perl umbrella. But the 20-something wanna-be programmer reading the tech blogs doesn't. They're not gonna read the fine print and boilerplate text before decided whether they're should read something about it 19:01
ab5tract while also allowing the language to move into a better set of circumstances in a lot of directions
but I also have to say that I've agreed with you for the most part.. up until earlier this week when a colleague said something to make me think a bit more about it
Skarsnik nicq20, I mean try to play around with [] and <> on xml element and see if that enought. x)
nicq20 Skarsnik: Oh! Sorry about that. :) 19:02
Zoffix Yes, exactly, the suggestion is to use "Rakudo Perl 6". This creates the ability to start a conversation about the language. To let the potential users look at the features first, without being distracted by all the baggaage.
19:02 kyan joined
Zoffix And if they make it past the point where they find out the full name has "Perl" in it, it won't really matter, as the reason they made it that far is due to a feature that caught their eye 19:02
19:04 bit_lySLH2uSZHed joined
nicq20 Skarsnik: I can't seem to get anything but [] syntax working. 19:05
Skarsnik: Here's the docs: github.com/supernovus/exemel#examples
19:05 bit_lySLH2uSZHed left
Skarsnik oh yeah <> will look at the element attributes 19:06
19:06 famrani left
Skarsnik You probably want to write stuff like $elem.elements(:TAG<foo>)[0] 19:07
nicq20 Skarsnik: I guess that works. :/ 19:09
19:10 darutoko left
nicq20 Skarsnik: Not a very nice solution though. That will leave me with the element inside of an Array or two. 19:10
Skarsnik Dunno, maybe you can extends the class and add a .tag method to make the writing better 19:11
bazzaar I just wanted to give my view, you guys are more 'in the know' about how the language will evolve, than I.
ab5tract bazzaar: I also haven't "made up my mind" so to speak, but if there's a chance to minimize one of my biggest frustrations (Perl hackers who won't even take a look at Perl 6)
Skarsnik external views is good too, since you don't have your mind formated in a way that can be affected by your deep knowledge of everything 19:12
bazzaar my thanks again, for the brilliant work you are all doing.
nadim masak: I try to use : instead for () just to see what I make of it at the end ;)
Zoffix I plan to write a proper marketing plan leading up to 6.d. I think that'll show something more tangent vis-a-vis the problem of the name.
ab5tract then not only does it keep the Perl family together, it might make some long-standing (and quite sour) family dynamics less problematic 19:13
19:13 bazzaar left
ab5tract one of the biggest things a so-called "enemy" can do to surprise another "enemy" is to make a concession that was considered impossible before 19:13
Skarsnik related to 6.d. Here some of my thoughs about NativeCall gist.github.com/Skarsnik/4e89902d5...8c0b870799 19:16
ab5tract and I put scare quotes around those because the animosity is relatively concentrated in smaller portions of each languages' user base 19:17
jdv79 now that i think about it. its kinda hilarious that months ago, 6?, i stopped working on a pet project i was doing in p6 because of async related segvs. 19:18
Zoffix Skarsnik: would you add that to this repo, please: github.com/perl6/6.d-prep
jdv79 and i just picked it up last night and same issue.
ab5tract In other words, I guess I'm in the camp of "whatever it takes to get the largest amount of us to get along"
Zoffix Skarsnik: this way we keep all the 6.d things in one place instead of dozens of scattered gists :)
Skarsnik should do like a NativeCall.md ? 19:19
Zoffix Skarsnik: yeah. anything really. I still need to collect all the other gists and put them up in there and structure it all and whatnot.
jdv79 that's rough. good thing i'll be back. but i can't imagine a random passerby being that persistent. 19:20
Skarsnik can I use zef like panda options wise? 19:21
19:21 linuksz left
Skarsnik like panda --notests installdeps . is the same with zef ? 19:21
Zoffix Skarsnik: zef --/test --depsonly install .
Skarsnik Ok thanks
*need to patch everymodule .travis file* *run away* 19:22
jdv79 do we have some sort of bug prioritization scheme?
Skarsnik I think RT has stuff like priority? 19:23
Not sure if it's used thou
Zoffix jdv79: yup: 6guts.wordpress.com/2017/05/12/loo...t-funding/
jdv79: I see the code is using XML. I'm pretty sure there's another ticket that has a SEGV with that module but it's very ungolfed.
Maybe it was even your ticket from 6 months ago :) 19:24
jdv79 the core issue may be that there's really only one person that can fix those
:(
Skarsnik Zoffix, dumb though, a Perl 6 Patron? 19:25
jdv79 maybe, i don't remember that far back
19:25 kyan left
Zoffix Skarsnik: hm? 19:25
Skarsnik *Patreon
19:25 gdonald left
Zoffix Skarsnik: I don't get it. Patreon what? dumb what? 19:26
Skarsnik Have a Patreon for Perl6 on www.patreon.com/home
since it's monthly donation it's pretty more stable than just regular donations
Zoffix Ah
jdv79: something around that. jnthn++ mostly ends up sniping those types of bugs. I'm currently thoroughly learning C to raise my skill to be able to dig into them too. 19:27
25% complete so far.
Zoffix can't wait to break through the other end of the Rakudo->nqp->MoarVM tunnel and see the light. 19:28
19:28 khw left
Zoffix Must be cool to be able to work on literally every part :) 19:29
Skarsnik huhu
I wonder if my memory leak with code using the XML module is still here
jdv79 25% isn't nothin! i guess. 19:30
Skarsnik Zoffix, hm the 6.d repo is writable for people of the perl6 group? 19:31
ab5tract Still, it would be interesting to see what kind of buy-in jnthn++ might be able to get if he got paid on a per RT fixed basis
Skarsnik *6.d-prep
ab5tract There's a guy who makes nine (beautiful) hand-drawn dungeon RPG maps a month and clears over 500 per map (give or take per-month donation thresholds set by supporters) 19:32
Skarsnik If you check on patreon, some artist are above 1000$/month because it's easy for people to just put like 5$/month and forget about it 19:33
ab5tract Even there, he sets predictable minima per supporter tier (aka '$5 a map ($25 per month minimum)')
Zoffix Skarsnik: yeah it is. What, you get errors? 19:34
Skarsnik but I don't know how the legal/taxes stuff issue
No, just asking ^^
Zoffix Ah
ab5tract m: say my $per-month = 9 * 500; say $per-month * 12 # this was the ("max average") income of the map maker 19:35
camelia 4500
54000
Skarsnik I have to do work via ssh or start a VM to work on perl6 stuff at the time :(
19:38 gdonald joined
ab5tract www.patreon.com/dysonlogos/ 19:39
19:40 linuksz joined 19:41 cpage_ left
ab5tract He even shares the maps and adventures he wrote around the maps on his own website: rpgcharacters.wordpress.com/maps/adventures/ 19:42
Skarsnik these maps are sexy
ab5tract You're welcome ;)
19:43 kyan joined
nicq20 What is the method called when `%foo<bar>` is run? Is it just postcircumfix? 19:52
Err, `postcircumfix:<>`? 19:53
moritz postcircumfix:<{ }> I believe 19:54
yoleaux 16:18Z <AlexDaniel> moritz: any news regarding the unicode issue on irclog? For example, I can't even see what the actual code here: irclog.perlgeek.de/perl6/2017-07-07#i_14839522
19:54 khw joined
Skarsnik at-key 19:54
moritz AlexDaniel: no news, sorry; I'm currently under some nasty time constraints
Skarsnik AT-KEY even I think
19:55 notostraca joined, FROGGS joined 19:56 notostraca is now known as TEttinger 19:57 domidumont left
nicq20 Is there any sort of "this is the value of this object" method when using it's value, or does everything just use class methods like '.Str'? 20:04
zengargoyle has been trying to think of a case where re-branding a language worked and can't. not sure if that's because it hasn't or it has so well that i can't think of it. :|
geekosaur zengargoyle, the language formerly known as livescript
we call it javascript these days
(I should say Mozilla Livescript because there's a newer language with that name...) 20:07
zengargoyle my closest was Smalltalk to Squeak and Pharos... not sure exactly what the differences are there. 20:08
perigrin While two of them do start with 'S', one of those has an 'm' in it. 20:09
zengargoyle would Python 3 have taken off faster if it was called some other snake name?
perigrin Ekans 20:10
geekosaur Squeak was just a specific implementation, no?
like considering Allegro a rebranding of Common Lisp
perigrin I think Squeak had some specific tunings for an elementary / middleschool audience.
20:11 cpage_ joined
zengargoyle geekosaur: i think so. more like a community split on different VMs or such. 20:11
or a non-commercial Smalltalk-80 implementation with some tweaks.
20:15 BrassLantern joined
geekosaur yes, squeak was just a gpl-d smalltalk-80 originally 20:16
it may have branched out on its own since I last cared
zengargoyle hehe, p6 could be nice with a Smalltalk like workspace with dynamic recompilation. :)
20:16 BrassLantern left
geekosaur in any case a language fork is different from a rebranding 20:17
there hven't been that many actual language rebrandings/renamings, and in most of the cases I can recall the language was niche and pretty well doomed anyway; rebranding wasn't going to save them 20:18
20:24 bdmatatu joined
Skarsnik nicq20, I think you should rephrase your question, Not sure what you mean x) 20:27
20:27 kerframil left, kerframil joined
geekosaur likewise fwiw 20:28
bdmatatu p6: say [+] 1..1e100
camelia 50000000000000001590289110975991817328705368083504703036502630629001320386155388099280879870478387696492219464257418736194801727938851902336988862645587616123664360879667548673664253072454494149672960
nicq20 Sorry, about that. An example would probably be best. Give me a min...
zengargoyle nicq20: if i read you right, yes there is a way to make an individual object respond differently than some other object of that Class to methods like .Str
20:28 flatwhite joined
bdmatatu p6: say (1e100 * ( 1e100 + 1) / 2) 20:29
camelia 5e+199
20:29 flatwhite left
ranguard Zoffix++ # rakudo.party/post/The-Hot-New-Lang...med-Rakudo 20:31
yoleaux 16 May 2017 10:45Z <Zoffix> ranguard: how can I delete all my modules from www.cpan.org/authors/id/P/PS/PSIXDISTS/Perl6/ and prevent anything new from me uploaded again (github username zoffixznet)? I'm gonna be uploading my dists on my own and I see some of the stuff in PSIXDISTS are modules are long deleted entirely..
bdmatatu Is this a known bug? I think summing a large range is giving the wrong answer
nicq20 In `my $v = 5; $v + $v`, I know that the '+' method will compare the Signiture and know what to call, but what does it use to pull the value out of $v?
20:32 kliph joined
geekosaur FETCH on the Scalar bound by $v? 20:32
20:32 kerframil left
geekosaur but, it's not quite well defined as part of the OO hierarchy, some of the knowledge lives in the grammar (partly so it can optimize; for example it avoids actually creating that FETCH call for performance reasons) 20:34
20:35 nhywyll left
nicq20 So Classes like Int keep their values in the grammar? 20:36
moritz no 20:37
multi sub infix:<+>(Int:D \a, Int:D \b --> Int:D) {
nqp::add_I(nqp::decont(a), nqp::decont(b), Int);
}
from src/core/Int.pm
geekosaur no, that optimization I mentioned was about Scalar not Int
nicq20 Oh, ok.
moritz here nqp::decont() explicitly extracts the value from the container 20:38
nicq20 Mabey I should re-word my question.
*Maybe
zengargoyle m: my Int $v = 5 but "five"; say $v
camelia five
geekosaur there's more levels going on conceptually than you are thinking about
zengargoyle can you make $v do .Int to a different value?
20:39 mr-fooba_ left
moritz m: m: my Int $v = 5 but "five" but role { method Int() { 42 }}; say $v.int 20:39
camelia 5===SORRY!5=== Error while compiling <tmp>
Operators 'but' and 'but' are non-associative and require parentheses
at <tmp>:1
------> 3m: my Int $v = 5 but "five"7⏏5 but role { method Int() { 42 }}; say $v
expecting any of:
moritz m: m: my Int $v = 5 but role { method Int() { 42 }}; say $v.Int
camelia 42
zengargoyle m: m: my Int $v = 5 but role { method Int() { 42 }}; say $v+$v; 20:40
camelia 10
20:40 mr-foobar joined
zengargoyle :( 20:40
geekosaur it's not using .Int to extract the value
zengargoyle yeah,
moritz it doesn't, because it's already an Int :-)
nicq20 That was the trouble I was coming accross too.
zengargoyle i thought that was like the original question. make an object do some .Str or .Int or whatever different than the Class implementation for other objects.... 20:41
moritz nqp::add_I knows how to look into Int objects to access the numeric value
it can't be method calls/turtles all the way down 20:42
zengargoyle you can add/override methods on individual object to some degree.
geekosaur ^ this is basicall what I meant by 'in the grammar'; I did not mean the Perl6::Grammar object necessarily, but in the sense of 'the lower level knows how to do things directly rather than indirect through methods)
moritz but if you want an Int that behaves as a 42, your easiest choice is to just assign 42 to your variable :-)
geekosaur hypothetically there is a FETCH method, practically it would only be used in specific cases where it can't figure out an optimized direct access 20:43
nicq20 Huh. Ok, that makes sense.
geekosaur (for example Proxy objets)
zengargoyle geekosaur: *nod*
geekosaur because that kind of method indirection is quite slow in practice
nicq20 Well, I learned something interesting today. Thanks! :D 20:45
20:47 nicq20 left
zengargoyle i thought i had used the but role thing, but looking back i used 'handles <Bool>' on class attributes instead. 20:48
[Coke] (14 weeks? I think that's unreasonable)
yoleaux 17:14Z <AlexDaniel> [Coke]: case in point (re perl6 web app serving docs): irclog.perlgeek.de/perl6-dev/2017-...i_14840912
20:48 wigner left
[Coke] (for 6.d) 20:49
20:49 wigner joined
[Coke] (it does not have to be released on actual diwali.) 20:49
also, -1 from me on renaming the language spec 20:53
ufobat m: my @a = 1..10; say so all(@a) == all(@a)
camelia False
ufobat i thought that this returns true, if all elements on the LHS are included in the array on the RHS? 20:54
timotimo that's not the right interpretation 20:55
that code checks if all elements in @a are equal to all elements in @a
what you mean is either one(@a) == all(@a) or the other way around
m: my @a = 1..10; say so all(@a) == one(@a)
camelia True
timotimo m: my @a = 1..10; say so one(@a) == all(@a)
camelia True
ufobat did that change? perl6advent.wordpress.com/2009/12/...junctions/ last line in the last grey box
timotimo actually, one isn't the right one 20:56
you really do want any
the last line in the last grey box also says all(@a) == any(@b)
ufobat yeah, i basically want to ensure that both lists contain the same elements ( maybe in a different order)
ah you're right
ufobat feels stupid 20:57
sorry, my fault. thanks for the help+
timotimo no prob :) 20:58
20:58 cpage_ left
ufobat ah! i just realized that isnt want i wanted to do 21:00
21:00 wigner left
ufobat is there something better for all(@a) == any(@b) && all(@b) == any(@a) 21:02
21:02 wigner joined
moritz @a.uniq.sort eqv @b.uniq.sort ? 21:02
ufobat isnt that something from set theory? 21:03
didnt perl6 have set operators?
i cant remember :(
moritz set(@a) eqv set(@b)
maybe? :-)
m: my @a = 1, 4, 2; my @b = 4, 2, 1, 1; my @c = 5; say set(@a) eqv set(@b); say set(@a) eqv set(@c) 21:04
camelia True
False
ufobat yay :D
yay :D 21:05
21:06 linuksz left 21:07 FROGGS left 21:08 setty1 left
zengargoyle ponders the recent post about 'eqv' being $x.perl eq $y.perl... 21:09
21:10 mr-foobar left 21:11 tokomer left, mr-foobar joined
zengargoyle not sure if i like eqv being based on serialized stringification.... 21:12
on the other hand, EVAL($x.perl) makes a nice .clone 21:13
on the third hand...
s/third/grasping/ :P 21:14
21:15 MasterDuke joined 21:16 coverable6 left, greppable6 left, quotable6 left, bloatable6 left 21:17 statisfiable6 left, unicodable6 left, benchable6 left, committable6 left, bisectable6 left, evalable6 left, espadrine_ left 21:19 cpage_ joined 21:20 bdmatatu left 21:24 evalable6 joined, ChanServ sets mode: +v evalable6, evalable6 left
Zoffix zengargoyle: serialized stringification === current behaviour you mean? 21:25
zengargoyle: there's a proposal for an alternative: curt.tilmes.org/2017-TPC-eqv/#1 21:26
huggable: eqv
huggable Zoffix, nothing found
Zoffix huggable: eqv :is: Proposal for alternative eqv semantics: curt.tilmes.org/2017-TPC-eqv/#1
huggable Zoffix, Added eqv as Proposal for alternative eqv semantics: curt.tilmes.org/2017-TPC-eqv/#1
Zoffix Oh, maybe that's the post you were referring to :) 21:27
[Coke]: why -1 on name tweak? It'd be helpful to have reasoning of both sides available. 21:29
14 weeks is three months. Plenty of time.
[Coke] Zoffix: first, make a project plan. then figure out the due date. 21:31
zengargoyle Zoffix: yeah, that thing. :) 21:32
[Coke] There was a lot of work that was not done to cheat 6.c out the door, and that should be fixed if possible for 6.d
getting 6.c out the door was a lot of effort, and I don't want to burn someone else out getting 6.d out. 21:33
I think calling the language rakudo is going to confuse things the other way. I think the goal of not being called perl is not one I share. 21:34
(so taking a step in that direct, which will result in a further confusion about lang vs. impl, is a step in the wrong direction)
Also, I'd get feedback from Larry if you haven't, as I'd expect he'd have a veto there. 21:35
(project plan) and then figure out who is doing what and what their availability is. 21:36
21:39 skids left 21:40 mr-foobar left
Zoffix [Coke]: not sharing the goal; does that extend to not agreeing that Rakudo language has entirely different strengths that Perl has? 21:40
s:2nd/that/than/;
I mean 3rd :P
21:41 Cabanossi left
[Coke] do you mean from a pure naming sense? 21:41
I can't parse your question. 21:42
Zoffix [Coke]: I mean from the comparison of the two languages. If you liked Perl, you'll like Rakudo, because it's the same thing but better.
m: say (1..1e100).int-bounds
camelia (1 10000000000000000159028911097599180468360808563945281389781327557747838772170381060813469985856815104)
Zoffix hm
[Coke] ... when you say 'the two languages', what do you mean?
21:42 Cabanossi joined
[Coke] do you mean Perl 5 vs. Perl 6 ? 21:42
Zoffix m: say (1..1e100).is-int
camelia False
Zoffix [Coke]: yes
[Coke] Yes, Perl 5 and Perl 6 are different languages with different strenghts. 21:43
*strengths
21:43 mr-foobar joined
[Coke] I like that Perl 6 isa Perl. 21:43
Zoffix [Coke]: then why is it beneficial to keep the Perl name? The inherent assumption in the mind is if I like Perl 5, I'll like Perl 6, because it's the same thing, but better. When I try to act on that assumption, I get disappointed, because it's a different language with different strengths. 21:44
[Coke] That's your assumption. 21:45
Zoffix I'd argue that be a common assumption. I pre-ordered Far Cry 5 on the assumption that it will be like Far Cry 4 (that I liked), but better.
[Coke] aI wouldn't call it "inherent". This basically sounds like the old "the name is confusing". I don't like renaming our way out of it, especially this far after Christmas. 21:46
21:46 famrani joined
Zoffix It's not so much confusing, as entirely wrong. 21:46
[Coke] as you mentioned in your blog post, I've had this conversation or something like it 100s of times since the mug. You're going to probably have a tough slog convincing any old timers. 21:47
I understand your points; I think even if I didn't want it to be called Perl, changing things *now* is just going to make the whole situation worse.
Further muddying the waters between the lang & the impl (a distinction we've fought to keep for some time) isn't going to help either. 21:48
Zoffix The other thing I mentioned in my blog post is the assumptions from 2 years ago about brand strength failed. 21:49
[Coke] I
am not sure what you're using to measure that
Zoffix And I'm not hearing any convincing arguments for keeping the name. Above you say you like that Perl 6 is a Perl and that is it. I'm also being repeatedly told it's forbidden to discuss the name and it's case closed. 21:50
Skarsnik I think if you never had lessons about compiler and language having 3 thing that define Perl 6 is just confusing (rakudo/Moar/Perl 6)
I not sure to understand what is rakudo in this
[Coke] Zoffix: I'm certainly not telling you it's forbidden. I told you -1, I told you it'll be a hard slog to convince old timers.
21:51 walfisch joined
[Coke] I haven't heard you say anything convincing based on my time in the various projects. 21:51
Zoffix [Coke]: Article comments. IRC channel user count (ave. dropped by 16). The predictions (by Ovid) of there being companies hiring Perl 6 devs in 2 years that don't appear to exist.
[Coke]: some other people did say it was
[Coke] I'd recommend getting a chat going (Irl) at the next conference, wherever that is, and getting google hangout going so folks not there can join in. 21:52
Sure, and that could have nothing to do with the name.
Zoffix What does it have to do with then? 21:53
[Coke] and with the fact that we still are working on performance, documentation, we're an all volunteer effort, irc is a pita, people get burned out...
Skarsnik A big issue having no Perl 6 jobs is actually there is nothing Perl 6 does better that other language for common IT job. Like no real web framework yet 21:54
[Coke] So, good luck with the effort, I'm glad you're trying to tackle the marketing angle, I do think it's important.
Zoffix So when performance is stellar and documentation is complete, do you actually expect "Perl 6" will be anywhere near top 10 languages used in the world?
OK.
Yeah, I'm trying and I think when I'll have more of concrete marketing plans and stuff it'll be easier to convince the "old timers" :)
Ulti not unless its spoken about as if it is already a top 10 language
[Coke] Skarsnik: sure, module ecosystem is another hard sell. (inline perl5 helps... but if you have perl5 and don't know why p6 is great...)
Skarsnik I looked at Bailodor for example : no session; why would I want to use that? 21:55
[Coke] Zoffix: seriously, good luck (maybe not with this one particular thing. :)
Zoffix heh
[Coke] but definitely in general.
21:57 famrani left
Zoffix Skarsnik: Bailador does appear to have session support: github.com/Bailador/Bailador/#sessions 21:59
22:00 Atomic_qm8UY joined 22:01 kliph left, kliph joined
El_Che Skarsnik: I think the name discussion and the young ecosystem discussioniss not tightly coupled 22:02
22:02 walfisch left
Skarsnik I don't have much option about the name 22:03
*opinion
I think 6.d should be accompagned with lot of communication/marketing 22:05
22:05 kliph left, alimon left 22:06 kerframil joined 22:08 ufobat left
Skarsnik and like instead of adding like 15 000 Meta things people will never use, probably focus on stability, thing missing and the environment/ecosystem 22:09
22:09 mr-foobar left
Skarsnik but that just my opinion, anyways, good night ^^ 22:10
timotimo nite Skarsnik 22:11
22:11 Atomic_qm8UY left 22:14 mr-foobar joined
Zoffix .tell bdmatatu yeah it's a bug in Range.int-bounds. It's supposed hang. 1e100 is a Num and there you have only 15 digits of precision, so the other 86 digits are all floating point noise. The buggy Range.int-bounds erroneously converts that 15 digits + 86 digits of noise into a Int, which is why you get the wrong sum. And the reason the fixed version hangs is because when failing to find .int-bounds, it'll 22:15
yoleaux Zoffix: I'll pass your message to bdmatatu.
Zoffix fully reify the range to get the elements, but while doing that you're again hit with limited precision in the 1e100 and once the reification reaches 1e15, the next +1 to it would still end up a 1e15 (not enough precision for +1), so it'd loop at that point forever. We can probably improve that to give an error tho
.tell bdmatatu fully reify the range to get the elements, but while doing that you're again hit with limited precision in the 1e100 and once the reification reaches 1e15, the next +1 to it would still end up a 1e15 (not enough precision for +1), so it'd loop at that point forever. We can probably improve that to give an error tho
yoleaux Zoffix: I'll pass your message to bdmatatu.
Zoffix 9.99999999999999e14 is the largest Num you can .succ so perhaps we can detect attempt to reify a range with an endpoint higher than that and error out 22:16
m: (9.99999999999999e14 .. *)[^10].say 22:17
camelia (999999999999999 1e+15 1e+15 1e+15 1e+15 1e+15 1e+15 1.00000000000001e+15 1.00000000000001e+15 1.00000000000001e+15)
Zoffix hehe
Ohhh 22:18
Ahhh.. no, still buggy. It's just once in a while the noise kicks up on digit, but that's after many iterations and is random
22:18 cdg left 22:21 kliph joined 22:25 Cabanossi left 22:26 kliph left 22:27 Cabanossi joined 22:30 nadim left 22:34 kliph joined, kliph left, kliph joined 22:38 kliph left 22:39 mr-foobar left 22:41 lucasb left 22:42 Skarsnik left 22:43 mr-foobar joined, Atomic_qm8UY joined 22:46 kliph joined
Zoffix Range.int-bounds is testing `$!min.floor == $!min`. Is there a reason for floor and not just .Int? 22:48
22:49 colomon left, colomon_ joined
Zoffix huh, floor's faster. OK then 22:49
22:50 kliph left
Zoffix Which is weird, 'cause .Int is nqp::fromnum_I(nqp::unbox_n(self),Int), but .floor also does nqp::floor on top of that :S 22:51
oh wait, I do need .Int, not .floor 22:54
m: say .floor == $_ with 1e100
camelia True
Zoffix m: say .Int == $_ with 1e100
camelia True
Zoffix oh no
Oh well, it stays broken then 22:55
Zoffix &
22:57 wamba left 22:58 Atomic_qm8UY left, kliph joined
Zoffix Filed as rt.perl.org/Ticket/Display.html?id=131718 though I increasingly think this is just the Fact of Life of f.p. math. You use it, you get burnt by it. 22:59
23:03 kliph left 23:05 salva left 23:07 rindolf left
TimToady maybe 'e' shouldn't imply mandatory floating point unless there's a . as well 23:08
or maybe we should have a variants of 'e' that imply int or rat 23:10
23:12 flatwhite joined
TimToady or maybe people should get used to writing 10 ** 100 23:12
timotimo 1ei100
or have a suffix "l" like some languages do 23:13
python had that, right?
23:13 raschipi joined
timotimo in python 2 perhaps 23:13
TimToady maybe it's really an IntRatNumStr 23:14
timotimo totally 23:15
23:15 kerframil left
timotimo BasicallyAValue 23:15
TimToady m: say <1*10**100>.WHAT 23:17
camelia (IntStr)
TimToady m: say <10**100>.WHAT
camelia (Str)
TimToady aww
23:17 kliph joined 23:22 kliph left, flatwhite left
Zoffix m: dd <1*10**100> 23:27
camelia IntStr.new(10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, "1*10**100")
Zoffix TIL
AlexDaniel will have a heart attack from that :)
m: dd <1*2*3*4>
camelia "1*2*3*4"
Zoffix m: dd <1*2> 23:28
camelia "1*2"
AlexDaniel what? You can have expressions there???
Zoffix doesn't get how 1*10**100 gets turned into IntStr
AlexDaniel how did you even find that
Zoffix TimToady used it above 23:29
23:29 evalable6 joined, bloatable6 joined, quotable6 joined, committable6 joined, benchable6 joined, ChanServ sets mode: +v evalable6, ChanServ sets mode: +v bloatable6, ChanServ sets mode: +v quotable6, ChanServ sets mode: +v committable6, ChanServ sets mode: +v benchable6, coverable6 joined, bisectable6 joined, unicodable6 joined, ChanServ sets mode: +v coverable6, greppable6 joined, ChanServ sets mode: +v bisectable6, ChanServ sets mode: +v unicodable6, ChanServ sets mode: +v greppable6, statisfiable6 joined, ChanServ sets mode: +v statisfiable6
AlexDaniel mch: dd <1*2*3*4> 23:29
committable6 AlexDaniel, ¦2015.12,HEAD(c76d932): «"1*2*3*4"»
AlexDaniel all: dd <1*2*3*4>
23:29 committable6 left 23:30 committable6 joined, ChanServ sets mode: +v committable6
AlexDaniel yeah, I know… 23:30
wait, wrong snippet :D 23:31
Zoffix: is it this stuff? github.com/rakudo/rakudo/commit/7d...581085R321 23:33
Zoffix No idea 23:35
It seems to work only for N*M**J
Maybe it's some weird math convention, I dunno
AlexDaniel c: 7d56f92208b2^,7d56f92208b2 dd <1*10**100>
committable6 AlexDaniel, ¦7d56f92208b2^: «"1*10**100"» ¦7d56f92: «Cannot unbox 333 bit wide bigint into native integer␤ in block <unit> at /tmp/17x2BcFPKE:1␤ «exit code = 1»»
Zoffix I think it's a way to represent any number. N*M to some power
AlexDaniel well, maybe not :D 23:36
Zoffix: should we, um… document that?
23:37 kliph joined
Zoffix was thinking more of a tactical application of a flamethrower 23:37
AlexDaniel github.com/perl6/roast/blob/master...low.t#L255
Zoffix: well, I think a flamethrower will have to wait because of the test :) 23:38
Zoffix :)
AlexDaniel this is the actual test I believe: github.com/perl6/roast/blob/master...dix.t#L227 23:39
or is it?
m: dd <1.1*2**10>
camelia RatStr.new(1126.4, "1.1*2**10")
AlexDaniel m: dd :10<1.1*2**10>
camelia 1126.4
AlexDaniel not exactly the same thing, but still 23:40
Zoffix lols at "#?rakudo skip "Really?!""
23:41 kliph left
AlexDaniel Zoffix: I'm also wondering why can't I use negative exponents with this… 23:43
oh, why would I
ok
… WHAT? 23:44
23:45 ChoHag joined
AlexDaniel m: dd <-0*-0**-0> 23:45
m: dd <-0*-0**0>
m: dd <-0*-0**-1>
camelia IntStr.new(0, "-0*-0**-0")
IntStr.new(0, "-0*-0**0")
"-0*-0**-1"
AlexDaniel Zoffix: alright, I'm starting to get emotional with this XD I'm done 23:46
23:48 skids joined, kliph joined
AlexDaniel m: dd <9*9**99999999999> 23:49
camelia "9*9**99999999999"
23:51 sch joined 23:53 kliph left