Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-04-19

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:13 colomon joined #perl6
00:16 LonelyGM good night #perl 6 :)
00:20 vendethiel g'night
00:24 aborazmeh joined #perl6
00:24 aborazmeh joined #perl6
00:48 aborazmeh joined #perl6
00:48 aborazmeh joined #perl6
00:52 dalek rakudo-star-daily: fba1aaf | coke++ | log/ (2 files):
00:52 dalek rakudo-star-daily: today (automated commit)
00:52 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/fba1aafa9e
00:52 dalek rakudo-star-daily: 482f76b | coke++ | log/ (2 files):
00:52 dalek rakudo-star-daily: today (automated commit)
00:52 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/482f76b82e
00:52 dalek perl6-roast-data: 2d21a10 | coke++ | / (9 files):
00:52 dalek perl6-roast-data: today (automated commit)
00:52 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/2d21a10f45
00:52 dalek perl6-roast-data: 66d15a2 | coke++ | / (9 files):
00:52 dalek perl6-roast-data: today (automated commit)
00:52 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/66d15a2135
00:57 skids joined #perl6
01:04 aborazmeh joined #perl6
01:04 aborazmeh joined #perl6
01:06 isBEKaml joined #perl6
02:04 nbdsp .moon
02:04 yoleaux New Moon (0.01)
02:05 bcode joined #perl6
02:06 noganex joined #perl6
02:16 dalek specs: 9831c81 | skids++ | S03-operators.pod:
02:16 dalek specs: Remove an extra word.
02:16 dalek specs: review: https://github.com/perl6/specs/commit/9831c81ad0
03:29 BenGoldberg joined #perl6
03:45 cschwenz joined #perl6
03:46 telex joined #perl6
03:52 egrep joined #perl6
03:59 [ptc] joined #perl6
04:01 egrepnix joined #perl6
04:02 araujo joined #perl6
04:10 egrep joined #perl6
04:40 isBEKaml joined #perl6
05:00 laouji joined #perl6
05:03 aborazmeh joined #perl6
05:03 aborazmeh joined #perl6
05:14 tinyblak joined #perl6
05:21 mr-foobar joined #perl6
05:25 aborazmeh joined #perl6
05:25 aborazmeh joined #perl6
05:45 Patterner joined #perl6
05:54 cschwenz From yesterday:    19:28 raydiak        looks like spec changes..."source-url" was the old place to declare it, now specs say it goes in "source" in a "support" subobject...but Cairo's meta has "source-url" inside "support", so not valid either the old or new way I guess
05:54 cschwenz where is the referenced spec?
06:01 skids probably http://design.perl6.org/S22.html
06:04 cschwenz thanks :-)
06:10 cschwenz http://doc.perl6.org/language/modules is in conflict with http://design.perl6.org/S22.html#DISTRIBUTION .   who (or what process) updates doc.perl6.org/ ?
06:11 skids doc is in github pel6/doc repo.  I don;t know if the update scripts are in there as well.  Changes to the repo auto-update within 10 minutes or so.
06:12 cschwenz thanks!  :-)
06:12 skids However, there is a dichotomy between modules.perl6.org and S22.
06:12 cschwenz ???
06:12 cschwenz can you explain the dichotomy?
06:13 skids S22 is intended for CPAN, IIRC, and modules.perl6.org is "the ecosystem" which predates that.
06:13 isBEKaml I think he means thatThere are no start and end dates. You can join at any time and start learning. You can pick a learning path of your choosing and learn at your own pace. modules.perl6.org do not always keep up with spec changes in S22
06:13 isBEKaml grr
06:13 * isBEKaml really should fix the touch pad
06:13 skids (predates not CPAN itself but S22)
06:13 cschwenz does panda track S22?
06:13 isBEKaml I think he means that modules.perl6.org do not always keep up with spec changes in S22
06:15 skids I seem to recall panda getting a few updates for S22 but likely not all the way, yet.
06:15 cschwenz hmm
06:16 skids There's a lot of work needed in this area.
06:16 cschwenz so, when creating a module for deployment…  there are three moving targets to take into consideration?  (S22, de facto, and panda)
06:19 skids Well, the latter two are mostly the same.
06:19 skids For now you'll want a META.info in the current ecosystem format and then a META6.json in the S22 format.
06:19 cschwenz is there a versioned copy of S22?
06:20 skids Not sure they are stamping versions on the desgn docs quite yet.
06:20 cschwenz :-(
06:20 skids If you look at Sum (one of my modules) it has both files, if you need examples.
06:21 cschwenz okay, will do
06:21 skids The design docs are github perl6/specs.
06:23 kaare_ joined #perl6
06:32 rindolf joined #perl6
06:43 araujo joined #perl6
06:50 aborazmeh joined #perl6
06:50 aborazmeh joined #perl6
07:00 lizmat joined #perl6
07:03 lizmat good *, #perl6 from the last day of the QA Hackathon on Berlin
07:03 lizmat *in rather  :-)
07:04 nwc10 good *, lizmat
07:04 nwc10 please pass on my good *s to everyone else.
07:04 nwc10 I hope tinita is still feeling sane.
07:07 cschwenz good *, lizmat :-)
07:08 lizmat nwc10: tinita_ is still asleep, I think...  :-)
07:09 lizmat or having a quiet breakfast somewhere :0)
07:11 FROGGS joined #perl6
07:12 cschwenz when creating classes, both JSON::Tiny and Sum:: have their classes start with "class X::…", why is the X there?  i would have thought the main class name would have been the same as either the module or file name.
07:12 cschwenz s/main/primary/
07:12 FROGGS lizmat / tadzik / bartolin_: I'm going to stay at home.... does not make much sense to spend 2+ hours in buses to be at the betahaus for not more than 3 hours
07:13 lizmat :-(   but understandable   :-(
07:13 minde joined #perl6
07:13 FROGGS :/
07:14 nwc10 were the busses busses yesterday too? (or trains?)
07:14 lizmat they were busses all the time, I understand
07:15 lizmat although FROGGS only lives 1km outside of Berlin, it's still an hour's ride from his place to the Betahaus
07:15 lizmat (Berlin is not small)
07:16 FROGGS would take more time on sunday, but I dont know how much
07:17 nwc10 I thought that only London was London. If you see what I mean.
07:18 nwc10 I didn't realise that Berlin was just as epic
07:20 cschwenz <soapbox> if we want truly liveable mega-cities, then we will need a shift in thinking about how we construct cities.  (current modes of building cities max out around 1 million people) </soapbox>
07:20 FROGGS if there were no railworks it would take about 30 minutes to the center on business days, and about 45 to the betahaus
07:20 [TuxCM] joined #perl6
07:21 minde left #perl6
07:25 nwc10 aha, so I was sort of guessing right about rail works?
07:26 FROGGS probably... I did not get the reference about london :o)
07:30 Timbus cschwenz, generally classes that begin with X:: are exception classes
07:33 nwc10 FROGGS: it takes ages to get anywhere, unless it happens to align exactly with key transport routes
07:33 nwc10 well, from anywhere arbirary to anywhere arbitrary else
07:34 bartolin_ g'morning, #perl6
07:34 FROGGS :o)
07:34 FROGGS morning bartolin_
07:34 bartolin_ o/ FROGGS
07:37 FROGGS okay I learned something: the name of the SC one deserializes must be the same as the one that gets serialized
07:38 cschwenz1 joined #perl6
07:39 cschwenz1 Timbus:  what do you mean by exception classes?
07:39 FROGGS m: say X::AdHoc
07:39 camelia rakudo-moar 1edd51: OUTPUT«(X::AdHoc)␤»
07:39 FROGGS cschwenz: this ^^
07:39 FROGGS an exception type
07:40 cschwenz1 FROGGS:  can you point me to some tutorials/docs/whatever where i can read more about them?
07:41 lizmat http://doc.perl6.org/type.html  perhaps ?
07:41 FROGGS cschwenz: https://www.youtube.com/watch?v=rymhMkCUtuA
07:42 FROGGS cschwenz: http://moritz.faui2k3.org/files​/talks/2013-yapc-p6-exceptions/
07:42 cschwenz1 thanks!  :-)
07:45 cschwenz1 left #perl6
07:45 cschwenz joined #perl6
07:48 darutoko joined #perl6
07:53 anaeem1 joined #perl6
07:56 dalek roast: 2be443b | usev6++ | S03-sequence/basic.t:
07:56 dalek roast: Add tests for containers returned from seq iterator
07:56 dalek roast: review: https://github.com/perl6/roast/commit/2be443bf3f
07:56 _mg_ joined #perl6
07:59 labster m: Str.Str.codes; say "alive";
07:59 camelia rakudo-moar 1edd51: OUTPUT«use of uninitialized value of type Str in string context  in block <unit> at /tmp/o2s4ZeqSSF:1␤␤alive␤»
07:59 labster m: m: Str.codes; say "alive";
07:59 camelia rakudo-moar 1edd51: OUTPUT«Invocant requires a 'Str' instance, but a type object was passed.  Did you forget a .new?␤  in method codes at src/gen/m-CORE.setting:8603␤  in block <unit> at /tmp/isVWcUVTb8:1␤␤»
08:01 labster looks like something is missing a multi candidate.
08:02 lizmat well....
08:02 lizmat Mu.Str returns ''
08:02 labster also it's kinda hilarious that it suggests fixing CORE.setting
08:04 labster Because that's what I'm doing.
08:04 lizmat labster: removing D: from Str.pm lines 61,62,63 ?
08:05 lizmat labster: cause that fixes it for me
08:05 RabidGravy joined #perl6
08:06 labster Well, Str.codes should return 0 with a warning
08:06 lizmat $ 6 'Str.Str.codes'
08:06 lizmat Invocant requires a 'Str' instance, but a type object was passed.  Did you forget a .new?
08:06 lizmat should it?
08:07 labster .chars does, it's the same idea.
08:07 yoleaux ' , . a d e h i m o s t
08:07 labster .botsnack
08:07 yoleaux :D
08:07 synbot6 om nom nom
08:09 labster m: Str.chars.say
08:09 camelia rakudo-moar 1edd51: OUTPUT«use of uninitialized value of type Str in string context  in block <unit> at /tmp/O8fB1CG30j:1␤␤0␤»
08:10 cschwenz1 joined #perl6
08:10 cschwenz1 left #perl6
08:10 anaeem1__ joined #perl6
08:11 cschwenz1 joined #perl6
08:11 labster Is str $!value in class Str equivalent to the result of nqp::unbox_s()?
08:12 lizmat yeah, was just looking at that, but yeas
08:12 lizmat *yes
08:12 lizmat according to BOOTSTRAP.nqp anyway
08:13 labster Because I think there are a lot of methods in Cool.pm that can be made faster by removing the unboxing op in Str.pm.
08:13 lizmat Str.HOW.add_attribute(Str, BOOTSTRAPATTR.new(:name<$!value>, :type(str), :box_target(1), :package(Str)));
08:14 labster Yeah, I saw that line, just didn't know how to interpret it :)
08:14 lizmat has str $!value is box_target   # in Perl 6 code
08:15 labster Yeah, it's the "is box_target" part I'm less clear on.  I don't really know NQP, but I think I'm learning.
08:16 araujo joined #perl6
08:16 anaeem1_ joined #perl6
08:16 lizmat afaik, box_target is what is used to encapsulate self
08:16 lizmat so nqp::unbox_s(self) is the same as $!value
08:16 lizmat (someone please correct me if I'm wrong)
08:18 lizmat FROGGS: making CURLI even more lazy by doing the from_json (or whatever we're using) inside candidates() once?
08:18 lizmat instead of in BUILD ?
08:22 labster Well, for now, the opinion of lizmat++ is good enough for me.  I'm going to try moving some methods from Cool.pm to Str.pm and see if I can find some speed improvements.
08:23 MARTIMM joined #perl6
08:27 gfldex joined #perl6
08:29 tadzik FROGGS: ah, okay :(
08:30 cschwenz joined #perl6
08:33 FROGGS lizmat: yes, that might make sense
08:33 FROGGS unless the common case is to use a module
08:34 lizmat yes, but probably not from all CUR's at once
08:34 rindolf joined #perl6
08:35 FROGGS lizmat: true
08:35 lizmat FROGGS: especially if you're developing a module, it will most likely live in a CURLF anyway
08:35 lizmat and not get to the CURLI
08:36 FROGGS yes, on the other hand you probably load the modules from the biggest CURLI
08:36 FROGGS (non-dev stuff)
08:36 lizmat will, I think the extra check would be dwarved by the CPU used for the search
08:37 lizmat so the gain of not having to do it when *not* needed, could be significant in many use situations
08:37 lizmat one could even go so far as to create a separate CURLI for e.g. the whole of CPAN / ecosystem
08:38 lizmat and a smaller CURLI with the ones you need regularly  :-)
08:38 leont joined #perl6
08:38 bartolin_ FROGGS: wrt the freebsd failure with closing a pipe: do you think the following would be sane: https://github.com/usev6/MoarVM/commit/a3c1c21987
08:39 bartolin_ FROGGS: (it passes spectests on freebsd and linux for me)
08:45 anaeem1 joined #perl6
08:49 cschwenz left #perl6
08:50 cschwenz joined #perl6
08:51 dalek rakudo/nom: 788834d | lizmat++ | t/harness:
08:51 dalek rakudo/nom: Don't show Inline::Perl5 message for specific test
08:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/788834d460
08:51 FROGGS bartolin_: I dunno
08:51 FROGGS nwc10: can you judge? https://github.com/usev6/MoarVM/commit/a3c1c21987
08:55 eli-se joined #perl6
08:57 masak good antenoon, #perl6
08:58 moritz \o masak
08:58 nbdsp joined #perl6
08:58 travis-ci joined #perl6
08:58 travis-ci Rakudo build passed. Elizabeth Mattijsen 'Don't show Inline::Perl5 message for specific test'
08:58 travis-ci http://travis-ci.org/rakudo/rakudo/builds/59101185 https://github.com/rakudo/rakudo/c​ompare/1edd51407675...788834d4606a
08:58 travis-ci left #perl6
08:58 FROGGS hi masak
08:59 dolmen joined #perl6
09:00 moritz m: say unival [1]
09:00 camelia rakudo-moar 1edd51: OUTPUT«Cannot call unival(Array); none of these signatures match:␤    (Str $str)␤    (Int $code)␤  in block <unit> at /tmp/dSCSbOzJT0:1␤␤»
09:00 moritz m: say univals [1]
09:00 camelia rakudo-moar 1edd51: OUTPUT«Cannot call univals(Array); none of these signatures match:␤    (Str $str)␤  in block <unit> at /tmp/wAeMoJMQvY:1␤␤»
09:01 moritz m: say unival "12foo"
09:01 camelia rakudo-moar 1edd51: OUTPUT«1␤»
09:01 moritz m: say [1].unival
09:01 camelia rakudo-moar 1edd51: OUTPUT«Cannot call unival(Int); none of these signatures match:␤    (Str $str)␤    (Int $code)␤  in method unival at src/gen/m-CORE.setting:4755␤  in block <unit> at /tmp/JO3PQphJ2d:1␤␤»
09:01 moritz it's a bit weird to have method unival in Cool, but not coerce
09:02 moritz I mean, what's the point?
09:04 moritz m: say '¾a'.univals
09:04 camelia rakudo-moar 1edd51: OUTPUT«0.75 NaN␤»
09:05 moritz m: say '¾'.univals.^name
09:05 camelia rakudo-moar 1edd51: OUTPUT«List␤»
09:06 moritz m: say '5'.ord.unival
09:06 camelia rakudo-moar 1edd51: OUTPUT«5␤»
09:09 dalek doc: a87aab2 | moritz++ | lib/Type/ (2 files):
09:09 dalek doc: unival, univals
09:09 dalek doc: review: https://github.com/perl6/doc/commit/a87aab2ef9
09:09 dalek doc: b6d9fb1 | moritz++ | WANTED:
09:09 dalek doc: update WANTED
09:09 dalek doc: review: https://github.com/perl6/doc/commit/b6d9fb1d47
09:25 nwc10 FROGGS: I think that that commit is reasonable. I'm a bit surprised that the waitpid() call is blocking (I thought we were deep down trying to be a non-blocking event loop)
09:25 nwc10 FROGGS: according to the docs, the only time you get a return value of EINTR is if it was interrupted by a signal
09:26 nwc10 so I think it it's safe to loop on it
09:27 FROGGS k
09:28 TimToady joined #perl6
09:28 FROGGS we have to block for a spawned process to get its exit status... and I dont know other way to do that
09:28 lizmat I assume "use nqp" should have the same scope semantics as "use fatal", right ?
09:29 FROGGS probably, yes
09:29 lizmat as in: only allow in the scope that has nqp:: calls, but not in inner scopes ?
09:30 FROGGS only lexical inner scopes, but not scopes you call into
09:31 FROGGS so this should be valid I think: use nqp; sub foo { nqp::whatever(); for ^2 { nqp::alsothat() } }
09:34 FROGGS so 'use nqp' needs to set a lexical/local variable, and we need to check for that when calling nqp ops somehow
09:34 tadzik hmm, in Perl 6 grammars, where do you put :Perl5/:P5 to make it work?
09:34 FROGGS but I think it is easy to get wrong / unperformant
09:36 FROGGS m: grammar G { rule TOP { :P5 \N{EURO SIGN} } }; say G.parse('€')
09:36 camelia rakudo-moar 788834: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7lh2_Z5EvA␤Unrecognized regex modifier :P␤at /tmp/7lh2_Z5EvA:1␤------> 3grammar G { rule TOP { :P7⏏5 \N{EURO SIGN} } }; say G.parse('€')␤»
09:36 FROGGS tadzik: this is meant to work I think
09:42 RabidGravy with NativeCall if one has a C prototype like "void syslog(int priority, const char *format, ...);" how does one present the additional arguments?
09:43 FROGGS RabidGravy: varargs? these are not yet implemented :o(
09:44 FROGGS RabidGravy: I imagine they will just end up as a slurpy positional
09:44 RabidGravy right, fake it up time then ;-)
09:49 FROGGS yeah :/
09:49 tadzik FROGGS: or, maybe even a better question: is there any working code in the wild that generates grammars?
09:50 tadzik like, does add_method('TOP', m{arysnraysn})
09:50 tadzik maybe that'd Just Work
09:52 isBEKaml joined #perl6
09:52 dalek rakudo/nom: 227cc6f | lizmat++ | src/Perl6/Grammar.nqp:
09:52 dalek rakudo/nom: Centralize use/no token handling
09:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/227cc6f5ae
09:54 lizmat tadzik: http://jnthn.net/papers/2013​-yapcna-grammar-generate.pdf
09:58 FROGGS lizmat: that talk was about generating text from datastructures using grammars
09:59 FROGGS tadzik: IIRC someone tried and failed to add tokens/rules
09:59 lizmat ok, I guess I was just looking at "generating" and "grammars"  :-)
09:59 FROGGS :o)
10:00 tadzik FROGGS: right. You can add methods, but you'd need to know what is the perl 6 method code equivalent to 'token Foo {blablabla}'
10:02 FROGGS aye
10:02 FROGGS which is not trivial at all
10:02 FROGGS so we probably want a .^add_rule and .^add_token
10:02 FROGGS or so
10:03 vendethiel o/, #perl6
10:03 FROGGS hi vendethiel
10:05 tadzik /usr/bin/ld: /home/tadzik/.plenv/versions/5.20.0/lib/perl​5/5.20.0/x86_64-linux/CORE/libperl.a(op.o): relocation R_X86_64_32S against `PL_sv_yes' can not be used when making a shared object; recompile with -fPIC
10:05 tadzik /home/tadzik/.plenv/versions/5.20.0/lib/p​erl5/5.20.0/x86_64-linux/CORE/libperl.a: error adding symbols: Bad value
10:05 tadzik nine: ^
10:05 nine tadzik: recompile with -fPIC?
10:05 yoleaux 18 Apr 2015 19:07Z <nbdsp> nine: thanks, for advise about CArray[int8]!
10:05 tadzik recompile what :)
10:05 tadzik it worked before
10:09 tadzik FROGGS: huh. It just works :o
10:09 tadzik r: https://gist.github.com/ta​dzik/626b00a9c7e26228979e
10:09 camelia rakudo-moar 788834: OUTPUT«「yaaaaaaay」␤»
10:09 camelia ..rakudo-jvm 788834: OUTPUT«cannot connect to eval server: Connection refused␤»
10:10 tadzik FROGGS: ^
10:11 FROGGS O.o
10:11 nine Inline::Perl5 builds just fine here
10:11 FROGGS ahh of course
10:11 nine ==> Successfully installed Inline::Perl5
10:11 spider-mario joined #perl6
10:12 tadzik huh
10:12 FROGGS the regex gives you the right code object
10:12 FROGGS nice
10:12 * [TuxCM] rebuilds 5.20.2 without debugging ...
10:14 tadzik FROGGS: now this is a problem:
10:14 tadzik r: "yayayayaaay" ~~ regex :Perl5 { [ya]+y }
10:14 camelia rakudo-jvm 788834: OUTPUT«cannot connect to eval server: Connection refused␤»
10:14 camelia ..rakudo-moar 788834: OUTPUT«===SORRY!===␤Cannot invoke this object (REPR: P6opaque, cs = 0)␤»
10:14 tadzik so Perl 5 regexes are not invokable
10:14 tadzik but are they interpolatable in Perl 6 regexes? :D
10:18 FROGGS m: say "yayayayaaay" ~~ m:P5 { [ya]+y }
10:18 camelia rakudo-moar 788834: OUTPUT«False␤»
10:19 FROGGS m: say "yayayayaaay" ~~ regex { :P5 [ya]+y }
10:19 camelia rakudo-moar 788834: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gMhZED_2vC␤Unrecognized regex modifier :P␤at /tmp/gMhZED_2vC:1␤------> 3say "yayayayaaay" ~~ regex { :P7⏏5 [ya]+y }␤»
10:19 tadzik m: say "yayayayaaay" ~~ m:P5 {[ya]+y}
10:19 camelia rakudo-moar 788834: OUTPUT«「yayayayaaay」␤»
10:19 tadzik :o
10:19 FROGGS m is a quoting construct, regex is a declarator
10:19 tadzik yes
10:19 tadzik but I tried anyway :P Method 'match' not found for invocant of class 'Any'
10:20 FROGGS making the :P5 regex modifier work should not be that hard btw... it is just I'm still working on the serialization stuff
10:21 ab5tract FROGGS: regarding serialization -- are you using any existing libraries for that?
10:22 FROGGS ab5tract: no, just nqp ops
10:25 ab5tract FROGGS: okay. I was going to point to Sereal as a good existing option that has some nice features for supporting dynamic languages
10:25 ab5tract https://github.com/Sereal/Sereal
10:26 ab5tract for binary serialization, specifically. which I guess may not be what you are currently hacking on?
10:29 ab5tract I am pretty sure that it is meant to be explicitly Artistic licensed, but I will ask after that
10:29 Rounin joined #perl6
10:30 mohij joined #perl6
10:30 dalek rakudo/nom: 43db2d5 | lizmat++ | / (4 files):
10:30 dalek rakudo/nom: Make use/no nqp a pragma
10:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/43db2d5bbe
10:32 FROGGS ab5tract: it is about serializing Perl 6 datastructures, which is exactly what we do when we precompile modules... so I do just the same
10:33 * masak .oO( it is about ethics in game journalism )
10:33 tadzik masak, stahp
10:34 * masak blames his pattern-matching abilities
10:34 FROGGS_ joined #perl6
10:36 leont nine: found it
10:40 tinyblak joined #perl6
10:53 dalek perl6-examples: c4c99b9 | paultcochrane++ | lib/Pod/Htmlify.pm6:
10:53 dalek perl6-examples: Extract repeated metadata collection code into its own routine
10:53 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/c4c99b9d06
10:53 dalek perl6-examples: 3dfe034 | paultcochrane++ | lib/Pod/ (2 files):
10:53 dalek perl6-examples: Revert commit 974e959
10:53 dalek perl6-examples:
10:53 dalek perl6-examples: This had removed the wrong pod-insertion code.
10:53 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/3dfe034de9
10:53 dalek perl6-examples: f650e84 | paultcochrane++ | lib/Pod/Htmlify.pm6:
10:53 dalek perl6-examples: Stop adding source code when no pod in source
10:53 dalek perl6-examples:
10:53 dalek perl6-examples: ... and this time do it in the right place!
10:53 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/f650e8410f
10:54 leont paste?
10:56 espadrine joined #perl6
10:58 dalek rakudo/nom: 9861648 | lizmat++ | src/Perl6/Actions.nqp:
10:58 dalek rakudo/nom: Sample code handling nqp::ops without 'use nqp'
10:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9861648ac2
10:58 lizmat so what *are* we going to do if something has nqp::foo without use nqp ???
10:59 lizmat options: die, warn, deprecated type message ?
11:01 dalek roast: 4729c24 | usev6++ | S32-exceptions/misc.t:
11:01 dalek roast: Don't test for error message "will never work"
11:01 dalek roast: review: https://github.com/perl6/roast/commit/4729c24fce
11:10 eli-se delete offending code
11:10 vendethiel damn
11:10 lizmat eli-se: that would be close to rm -rf ecosystem
11:10 eli-se works pretty well in practice; see https://github.com/munificent/vigil
11:12 vendethiel aug 2014 is "2 years ago" for github? what?
11:12 lizmat .oO( brought to you from the future :-)
11:14 DrForr "15 minutes into the future"
11:14 RabidGravy has anyone indicated that they are thinking about making a logging framework?
11:15 * timotimo has considered making a lagging framework
11:15 dalek perl6-examples: dc21a89 | paultcochrane++ | categories/interpreters/ (3 files):
11:15 dalek perl6-examples: Document 'interpreters' category examples
11:15 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/dc21a89587
11:15 dalek perl6-examples: 7ab417d | paultcochrane++ | categories/interpreters/calc.p6:
11:15 dalek perl6-examples: Wrap main code in MAIN sub
11:15 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/7ab417d7bf
11:15 lolisa joined #perl6
11:16 eli-se here's my logging framework: IO, map and grep.
11:17 RabidGravy :-O
11:17 eli-se here's how you filter by level: messages.grep(*.level != DEBUG)
11:17 dalek specs: b41dada | lizmat++ | S (5 files):
11:17 dalek specs: s/MONKEY_TYPING/MONKEY-TYPING/
11:17 dalek specs: review: https://github.com/perl6/specs/commit/b41dada489
11:18 lizmat DrForr: 15 minutes is enough, as long as you can recurse  :-)
11:19 eli-se all that is useful that a logging library can still offer is a log record struct and a logging DSL
11:19 DrForr that's a Promise.
11:19 eli-se and perhaps a formatting thing. supplies are sufficient for everything else
11:20 DrForr Must...resist...UHF joke.
11:21 timotimo don't change the channel
11:21 timotimo don't touch that dial!
11:22 timotimo we have it all on UHF!
11:22 eli-se but none of that filter and handler stuff that are crappy substitutes for callables and supplies
11:22 DrForr Kick off your sneakers, stay around for awhile
11:27 colomon joined #perl6
11:31 ab5tract FROGGS_: okay, I wasn't sure if the work was going into Storable territory or not
11:32 FROGGS_ ab5tract: if it is good enough for an internal thing it might be also good enough as a general purpose module...
11:32 laouji joined #perl6
11:33 FROGGS_ ab5tract: the good thing about the used nqp ops is that we also can serialize routines that way
11:35 nbdsp Greetings! Could someone advise please how to correctly update Rakudo from Git? When I do 'git pull', 'make', 'make install' I get then an error "Missing or wrong version of dependency 'src/gen/m-CORE.setting' " when using some module or when installing some module with "panda install ...". Clean new install of Rakudo solves the problem, but how to correctly update from git?
11:36 RabidGravy make distclean? at a guess
11:36 masak nbdsp: after 'git pull', you'll want something like 'perl Configure.pl --gen-moar --gen-nqp --backends=moar'
11:36 lizmat git pull/make/make install usually works for me
11:36 masak nbdsp: that should fix it.
11:37 lizmat also, if you have strange errors: rm -rf install
11:37 masak nbdsp: very occasionally, it doesn't. than I... what lizmat said.
11:37 mr-foobar joined #perl6
11:37 nbdsp thanks! will try.
11:38 dalek perl6-examples: fbb5baa | (Steve Mynott)++ | / (2 files):
11:38 dalek perl6-examples: fix ?? precedence
11:38 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/fbb5baa807
11:38 dalek perl6-examples: caf2efe | (Steve Mynott)++ | / (5 files):
11:38 dalek perl6-examples: Merge branch 'master' of github.com:perl6/perl6-examples
11:38 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/caf2efe33e
11:38 lizmat .tell jnthn I want to eradicate 'use' from the settings (we discussed this before, a long time ago)
11:38 yoleaux lizmat: I'll pass your message to jnthn.
11:39 lizmat .tell jnthn use Perl6::BOOTSTRAP would then become something like 'bootstrap-from-nqp Perl6::BOOTSTRAP'
11:39 yoleaux lizmat: I'll pass your message to jnthn.
11:40 lizmat .tell jnthn that would allow us to handle "use" / "require" / "need" etc completely from Perl6
11:40 yoleaux lizmat: I'll pass your message to jnthn.
11:40 lizmat .tell jnthn with associated flexibility and compile time pluggability
11:40 yoleaux lizmat: I'll pass your message to jnthn.
11:40 masak ++lizmat # sounds worthy
11:41 lizmat .tell jnthn allowing something like: "use Inline::Python; use FooLib<from:python>"
11:41 yoleaux lizmat: I'll pass your message to jnthn.
11:42 * lizmat spend the better part of the past 24 hours finding 3.5 codepaths that load modules
11:42 lizmat there should really be only 2: one for bootstrapping, one for all the others
11:42 FROGGS_ but use Inline::Python; use FooLib:from<python> already works, no?
11:43 tinyblak joined #perl6
11:43 * masak .oO( watch the new episode of Three And A Half Codepaths )
11:44 masak boarding a train &
11:45 FROGGS_ but yeah, having another codepath for nqp-ish module loading and one for P6ish sounds sane
11:50 rivarun joined #perl6
11:51 BenGoldberg joined #perl6
11:56 Rounin joined #perl6
11:56 colomon joined #perl6
12:05 timotimo look at the wiktionary article on "apocalypse", example sentence of meaning 1 is about perl6 ...
12:05 tadzik :D
12:05 tadzik indeed
12:10 Gothmog_ joined #perl6
12:18 itz is there anything outside of vim which colourises perl6?
12:18 tadzik github :)
12:18 RabidGravy print it out, use crayons ;-)
12:19 rmgk_ joined #perl6
12:20 dalek perl6-examples: 7c69243 | (Steve Mynott)++ | htmlify.pl:
12:20 dalek perl6-examples: add cookbook chapter nos and sockets reference
12:20 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/7c69243bd1
12:21 * itz thinks RabidGravy colourises his code with spilt beer
12:22 [ptc] itz: pygments does, but you want that in an editor I'm assuming...
12:24 itz I was thinking for perl6-examples
12:25 [ptc] my plan was to use the pygments code which docs.perl6.org uses
12:25 itz ah cool
12:25 moritz Text::VimColor is also an option
12:25 itz ptc: I was wondering about a quick hack to remove the # vim: line as well
12:26 [ptc] itz: have a look at how htmlify.p6 in perl6/doc does it, if you're looking for inspiration :-)
12:27 itz will do
12:28 [ptc] itz: quick hack currently being implemented
12:31 dalek rakudo/nom: bc7b4fa | lizmat++ | src/Perl6/ModuleLoader.nqp:
12:31 dalek rakudo/nom: Some more debugging info
12:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bc7b4fad03
12:31 dalek rakudo/nom: ecfb15c | lizmat++ | src/core/CompUnitRepo.pm:
12:31 dalek rakudo/nom: Don't specify "load" if there is none
12:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ecfb15ce21
12:31 laouji joined #perl6
12:36 spider-mario I have used pygments’ perl6 lexer to colorize Turtle “code”
12:37 spider-mario it works quite well
12:37 spider-mario it recognizes @prefix and <http://…>
12:38 RabidGravy joined #perl6
12:39 colomon joined #perl6
12:39 spider-mario hm, interestingly, it doesn’t seem to work that well on github
12:41 moritz github has stopped using pygments, iirc
12:48 [ptc] we need to convince github to implement perl6 highlighting somehow.  Dunno how though :-/
12:53 yvan1 joined #perl6
12:53 dalek perl6-examples: dbcf8ec | (Steve Mynott)++ | categories/cookbook/ (13 files):
12:53 dalek perl6-examples: flesh out pod more
12:53 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/dbcf8ecc10
12:54 tadzik gists do have Perl6 hilighting
12:57 moritz [ptc]: by opening an issue?
13:04 dalek perl6-examples: 5b3e591 | paultcochrane++ | lib/Pod/Convenience.pm6:
13:04 dalek perl6-examples: Remove vim coda from source code in html
13:04 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/5b3e5919ed
13:04 dalek perl6-examples: 257224f | paultcochrane++ | categories/cookbook/ (13 files):
13:04 dalek perl6-examples: Merge branch 'master' of github.com:perl6/perl6-examples
13:04 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/257224f551
13:04 lolisa joined #perl6
13:05 dolmen joined #perl6
13:08 dalek roast: aa419eb | usev6++ | S02-literals/pairs.t:
13:08 dalek roast: Use throws_like with EVAL
13:08 dalek roast:
13:08 dalek roast: (tests are still not specific but don't rely
13:08 dalek roast: on being caught at runtime)
13:08 dalek roast: review: https://github.com/perl6/roast/commit/aa419eb451
13:20 andreoss joined #perl6
13:20 xtreak joined #perl6
13:20 andreoss m: my @s := False, False, True ... *; @s[1000]=False; say @s[1000]
13:20 camelia rakudo-moar ecfb15: OUTPUT«Cannot assign to a readonly variable or a value␤  in method ASSIGN-POS at src/gen/m-CORE.setting:2233␤  in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:3459␤  in block <unit> at /tmp/6PdscrqrYO:1␤␤»
13:22 andreoss m: my @s := False, False, True ... *; say @s.perl;
13:22 camelia rakudo-moar ecfb15: OUTPUT«(ListIter.new,)␤»
13:23 andreoss what's wrong here?
13:25 andreoss m: my @s = lazy False, False, True ... *; @s[1000]=False; say @s[1000]
13:25 camelia rakudo-moar ecfb15: OUTPUT«False␤»
13:28 rurban_ joined #perl6
13:31 dalek rakudo/nom: 1659550 | lizmat++ | lib/Test.pm:
13:31 dalek rakudo/nom: throws_like Str will EVAL in the scope of caller
13:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/16595500fa
13:40 lizmat m: my @a := False,True; say @a; @a[1] = False
13:40 camelia rakudo-moar ecfb15: OUTPUT«False True␤Cannot modify an immutable Bool␤  in method ASSIGN-POS at src/gen/m-CORE.setting:9320␤  in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:3459␤  in block <unit> at /tmp/NvSi5VLpFf:1␤␤»
13:40 dalek roast: cdf3ea4 | usev6++ | S32-exceptions/misc.t:
13:40 dalek roast: Fix two tests now EVAL'd in scope of caller
13:40 dalek roast: review: https://github.com/perl6/roast/commit/cdf3ea4285
13:40 lizmat andreoss:  ^^ perhaps the same thing ?
13:40 lizmat andreoss: I mean my code, not the commit message
13:41 tinyblak joined #perl6
13:49 dalek roast: b0b8187 | usev6++ | S02-literals/pairs.t:
13:49 dalek roast: Use "throws_like '$code'"
13:49 dalek roast: ... instead of "throws_like { EVAL '$code' }"; lizmat++
13:49 dalek roast: review: https://github.com/perl6/roast/commit/b0b818768b
13:51 zakharyas joined #perl6
13:51 diana_olhovik_ joined #perl6
13:51 kbenson joined #perl6
13:53 tadzik jnthn: are you around, perchance?
14:02 skids joined #perl6
14:02 anaeem1_ joined #perl6
14:11 aborazmeh joined #perl6
14:11 aborazmeh joined #perl6
14:12 dalek roast: 2f3f43e | usev6++ | S02- (2 files):
14:12 dalek roast: Change to EVAL'd form of throws_like
14:12 dalek roast: review: https://github.com/perl6/roast/commit/2f3f43e90e
14:13 DrForr tadzik: Panda question for ye - I'm getting the (rakudo) error 'Usupported serialization format version 12' (without the tyop) when attempting to run 'panda install Debugger::UI::CommandLine'. I've pulled panda from the git repo 10 minutes ago, and rakudobrew'd the latest maybe an hour ago. I assume I need to blow away a directory somewhere and rebuild?
14:14 tadzik DrForr: ow. Yeah, nothing else comes to my mind
14:14 dalek rakudo/nom: ee40c0e | lizmat++ | src/ (2 files):
14:14 dalek rakudo/nom: Eradicate 'use' from CORE settings
14:14 dalek rakudo/nom:
14:14 dalek rakudo/nom: First step to sanitizing the 3.5 code paths to loading a compilation unit.
14:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ee40c0e968
14:14 DrForr Fair enough.
14:14 tadzik rakudobrew nuke moar && rakudobrew build moar && rakudobrew switch moar && rakudobrew build panda && panda install Debugger::UI::CommandLine
14:14 tadzik this *should* be foulproof
14:15 tadzik er
14:15 tadzik foolproof, yeah :)
14:15 DrForr Obviously I have to self-upgrade first :)
14:16 tadzik oh yes :)
14:16 jnthn tadzik: Yes, for a little bit :)
14:16 yoleaux 11:38Z <lizmat> jnthn: I want to eradicate 'use' from the settings (we discussed this before, a long time ago)
14:16 yoleaux 11:39Z <lizmat> jnthn: use Perl6::BOOTSTRAP would then become something like 'bootstrap-from-nqp Perl6::BOOTSTRAP'
14:16 yoleaux 11:40Z <lizmat> jnthn: that would allow us to handle "use" / "require" / "need" etc completely from Perl6
14:16 yoleaux 11:40Z <lizmat> jnthn: with associated flexibility and compile time pluggability
14:16 yoleaux 11:41Z <lizmat> jnthn: allowing something like: "use Inline::Python; use FooLib<from:python>"
14:16 tadzik jnthn: https://gist.github.com/ta​dzik/7e7fcb0dfaf9be7dd9d9 funny riddle for you :)
14:17 tadzik tl;dr: a "token {}" object can only be passed once, otherwise it gets broken in transport
14:17 lizmat jnthn: after consultation with masak and FROGGS_, I just went for it
14:18 jnthn lizmat: We're not putting in anything magical like a "bootstrap-from-nqp", if nothing else we are going to just check that --setting=NULL was passed and assume we should call the approprite things on $*W to do it.
14:18 jnthn No point adding special syntax when we can just wedge it in somewhere around -M handling.
14:18 jnthn So that makes it simpler, even.
14:19 lizmat so no setting should assume loading Perl6::BOOTSTRAP ?
14:19 lizmat I can do that  :-)
14:20 jnthn lizmat: Note tha it's not "no setting" which defaults to CORE, but rather an explicit --setting=NULL
14:20 jnthn lizmat: But we hang more things off that peg already.
14:20 lizmat found it
14:21 jnthn lizmat: See the line "unless %*COMPILING<%?OPTIONS><setting> eq 'NULL' {" for example :)
14:21 jnthn ok :)
14:21 lizmat yeah that one  :-)
14:22 jnthn Except that's an unless and you're doin an if :)
14:22 jnthn Note that use is still going to have to go through $*W
14:22 jnthn Since it needs to do some code-gen
14:22 jnthn But it can from there call Perl 6 code.
14:23 jnthn tadzik: Can you try nqp::decont($<bottom>.ast[0]) ?
14:24 tadzik jnthn: ...that works
14:24 tadzik so, putting it in anything containerizes it
14:24 tadzik and I don't want that, right?
14:25 tadzik it worked!
14:25 tadzik THIS CHANGES EVERYTHING
14:26 jnthn tadzik: Yeah, I may well fix add_method :)
14:26 jnthn So you needn't do that hack.
14:27 tadzik jnthn: we were just thinking with sjn that add_method could perhaps say "WTF this is containerized (╯°□°)╯︵ ┻━┻"
14:28 tadzik (or any metamodel method)
14:28 jnthn yeah, building a fix now
14:28 jnthn Could you do a roast test for it?
14:31 jnthn lizmat: About nqp::op I think they need to give deprecation warning if used without nqp::op
14:31 jnthn Sorry
14:31 jnthn if used without *use nqp* :)
14:31 lizmat ok
14:31 jnthn lizmat: Last I checked, though, I noticed that nothing in Perl6::Grammar used deprecations
14:31 lizmat what is the way to get at the line number at that point ?
14:31 jnthn lizmat: And then wondered if that is because nobody figured how to do the plumbing.
14:32 lizmat I think the plumbing can be handled  :-)
14:32 skids tadzik: JFYI, I install rakudo in a different path, and this has caused no end of rakudobrew/panda problems.  Seems a different problem every week these days :-)
14:32 tadzik skids: :o
14:33 kaare_ joined #perl6
14:34 * skids tries tadzik's foolproof recipe, with an instal path, and some extra deleting to start.
14:35 dalek rakudo/nom: c94393f | lizmat++ | src/ (2 files):
14:35 dalek rakudo/nom: Hardwire the bootstrap, jnthn++
14:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c94393fd60
14:35 jnthn lizmat: Search for HLL::Compiler.lineof in src/Perl6/World.pm
14:35 lizmat jnthn: okidoki
14:36 jnthn lizmat: Or even better example, SET_FILE_LINE
14:36 jnthn That has file and line number retrieval
14:37 dalek roast: 03018ed | usev6++ | S14-roles/mixin.t:
14:37 dalek roast: Unskip passing test for rakudo.jvm (RT #119371)
14:37 dalek roast: review: https://github.com/perl6/roast/commit/03018ed1d8
14:37 synbot6 Link:  https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=119371
14:41 lizmat I only need the line number initiall
14:41 lizmat y
14:43 dalek rakudo/nom: 9890d88 | jnthn++ | src/Perl6/Metamodel/M (2 files):
14:43 dalek rakudo/nom: Missing nqp::decont on method additions.
14:43 dalek rakudo/nom:
14:43 dalek rakudo/nom: Fixed meta-programming bug reported by tadzik++.
14:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9890d88251
14:44 tadzik sjn:
14:44 tadzik sjn++ is onto the roast test :)
14:44 tadzik jnthn++ Thanks!
14:44 tadzik you know what I have, you know what I have?
14:45 lizmat ....  ?
14:45 tadzik A SURPRISE \o/
14:45 jnthn Aww, I was hoping for cake!
14:46 DrForr THE CAKE IS A LIE.</obRef>
14:47 tadzik jnthn: I wrote a module that generates Perl 6 Grammars from BNF grammars
14:47 jnthn tadzik: Much wow!
14:47 jnthn tadzik++
14:47 tadzik \o/
14:47 DrForr tadzik: Quelle coincidence, I'm debugging an ANTLR4 grammar parser for much the same reason :)
14:47 tadzik :)
14:48 tadzik jnthn: have you seen the Qt profiler too?
14:48 dayangkun joined #perl6
14:48 tadzik (on the note of advertising my products)
14:49 jnthn tadzik: I didn't have chance to look closely yet, but saw a screenie :)
14:49 jnthn Looks cool :)
14:49 tadzik \o/
14:49 Rounin joined #perl6
14:49 tadzik doesn't do half of what your does, but it needs less than a second to load a 20MB file
14:50 tadzik timotimo also said that an angular upgrade may help a lot with the webui too
14:50 skids tadzik: now just adapt it for ASN.1 (You do not actually want to try this, ASN is pathological :-)
14:50 DrForr I've been segfaulting the grammar engine the last few days ;)
14:51 jnthn ASN = A Sordid Notation? :)
14:51 skids Abstract Syntax Notation
14:51 lolisa Does it has anything todo with AST?
14:51 tadzik 2 things
14:52 tadzik (☞゚ヮ゚)☞
14:52 jnthn DrForr: Is that RT #124333?
14:52 synbot6 Link:  https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=124333
14:52 jnthn DrForr: If so, does "SEGV the compiler" mean that it actually crashes while compiling?
14:52 revdiablo joined #perl6
14:52 skids lolisa: No, it is self-modifying BNF where they forgot to put in semicolons to help the parser.
14:52 tadzik jnthn: oh, I also found a way to segfault the compiler :)
14:52 jnthn tadzik: Did you put yours in RT? :P
14:53 DrForr Segfaults while running the tests. It's a helluva waterbed as well.
14:53 lolisa Don't get it... You mean index "+" := plus kinds of stuff? Any link?
14:53 geekosaur the right way to do ASN.1 is to use someone else's library
14:53 tadzik jnthn: not yet :)
14:53 dalek roast: 39edd9f | usev6++ | S02-names-vars/names.t:
14:53 dalek roast: Use typed exeption (1 test); use EVAL'd form of throws_like (4 tests)
14:53 dalek roast: review: https://github.com/perl6/roast/commit/39edd9fa0a
14:53 jnthn DrForr: OK, I'll try and reproduce it tomorrow when I'll have lots of time when I can concentrate well and don't have distractions :)
14:53 DrForr jnthn: Yes, RT #124333
14:53 synbot6 Link:  https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=124333
14:53 skids geekosaur: nobody's library does ASN "right" either.
14:54 geekosaur yes, but it becomes someone else's problem :)
14:54 laouji joined #perl6
14:54 DrForr I'm pretty sure it's to do with either the UnicodeLetter declaration, or a left-recursive declaration on 'in'.
14:54 geekosaur lolisa: ASN.1 is an attempt at supporting typed binary data streams. the spec is pathological and implementations are painful
14:55 lolisa Thx. Find it on wiki
14:55 skids lolisa: https://www.itu.int/ITU-T/studygro​ups/com17/languages/X.680-0207.pdf # base ASN.1 spec.  It will fry your brain.
14:56 skids lolisa: https://sites.google.com/site/r​amaswamyr/article/parsing-asn-1 # a good article on why ASN.1 is ugly
14:57 lolisa Thx... I just though it is some theoretical stuff... Sorry but I am not very interested in it :)
14:58 DrForr jnthn: I'll also warn you the code is very fragile. It's got nothing to do with tests that pass or don't pass, all I have to do is comment out one test and the problem goes away. Or comment out a grammar rule.
14:59 jnthn DrForr: Well, if it's GC related, or memory corruption related, I have means to provoke it. :)
14:59 DrForr valgrind++ # I'm guessing :)
15:00 colomon joined #perl6
15:00 dalek roast: d100d7c | usev6++ | S02-names-vars/names.t:
15:00 dalek roast: Revert use of typed exception (39edd9fa0a)
15:00 dalek roast:
15:00 dalek roast: X::Method::NotFound looks wrong, actually
15:00 dalek roast: review: https://github.com/perl6/roast/commit/d100d7c835
15:00 DrForr I'd guess GC or related, but I don't have the tools/skillset to tackle the problem here. Yet.
15:03 DrForr Also, while I was working on perl6-readline, I noticed that GNU libreadline exports variables as well as functions. Is there a binding yet in NativeCall for that?
15:04 jnthn I think so
15:04 jnthn I think FROGGS++ implemented that a while ago
15:04 dalek ecosystem: d2279e8 | tadzik++ | META.list:
15:04 dalek ecosystem: Add Grammar::BNF
15:04 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/d2279e86eb
15:04 tadzik \o/
15:04 jnthn \o/
15:04 DrForr Okay, I'll look. I didn't see that mentioned in docs, but I figured it was just there but silent.
15:05 DrForr (though there's a crashing bug in that module too.)
15:06 skids Could someone pull PR #405 into rakudo please?
15:06 skids Oh dear it has picked up a merge conflict since.
15:08 * skids wonders how to see such a conflict in github UI.
15:08 tadzik jnthn: btw, that localized $/ in the gist; we shotgun-coded it in so it works, but should it really be necessary?
15:09 jnthn DrForr: Well, due to the nature of NativeCall there's plenty of ways to get SEGVs by mis-using the module that we can't do anything about, since there's no introspection API to see if you're calling the C code right :)
15:09 DrForr Oh, that was a separate issue.
15:09 jnthn tadzik: Yes
15:10 jnthn tadzik: Your alternative solutions are to "$/ is copy" in the signature, or just not call the thing you bind in the signature $/
15:10 jnthn (But then you can't say $<...>
15:10 jnthn )
15:10 tadzik right
15:10 cschwenz joined #perl6
15:11 jnthn I think you have the first case of needing to deal with that issue I've seen where I can't say "bah, you're doing 2 pass parsing, you deserve the pain" :P
15:11 FROGGS_ DrForr: there is a sub called cglobal
15:11 DrForr I don't mind SEGVing because I did something stupid, this was that I couldn't invoke a binding because the compiler didn't consider typed arrays correctly.
15:11 jnthn Ah
15:11 jnthn Maybe NativeCall ain't using 6pe right yet :)
15:11 DrForr cglobal, gotcha.
15:11 dalek roast: 78f18c3 | (Salve J. Nilsen)++ | S12-meta/grammarhow.t:
15:11 dalek roast: Test if one can pass containerized values to GrammarHOW.^add_method
15:11 dalek roast: review: https://github.com/perl6/roast/commit/78f18c36eb
15:11 tadzik sjn++
15:12 cschwenz joined #perl6
15:12 tadzik where does dalek get nicknames from these days?
15:13 FROGGS_ rakudo/CREDITS
15:18 DrForr Hrm, my name seems to have gotten skipped (from Parrot days, I was release manager after Simon.)
15:19 robinsmidsrod joined #perl6
15:22 timotimo o/
15:22 timotimo jnthn: i finally figured out why my mast_localref stuff was the b0rk
15:23 FROGGS_ m: use NativeCall; say &cglobal.signature
15:23 camelia rakudo-moar 9890d8: OUTPUT«(Any $libname, Any $symbol, Any $target-type)␤»
15:23 FROGGS_ introspection++
15:23 FROGGS_ hi timotimo
15:23 timotimo turns out i locally overrided $res_kind so i ended up with NQPMu (probably) in the $res_kind at the end of compile_var, which the rest of the compiler interpreted to mean "generate a new register that's nulled and use that henceforth"
15:23 DrForr Aha, thanks.
15:25 timotimo jnthn: i'm not exactly sure what a variable that's decl'd to be a localref would ... do ... ?
15:25 timotimo except if it's a parameter; in that case it can make sense to me
15:30 timotimo i suppose i should build the same tests for lexicalref/lexical that i've built for localref/local
15:30 jnthn timotimo: Same as if it's decl'd as a lexicalref
15:30 jnthn timotimo: It's an obj type register and you may bind to it
15:30 lizmat jnthn others: how would I do: @*NQP_VIOLATIONS[$line].push($op)
15:30 lizmat in nqp (Grammar) ?
15:31 timotimo jnthn: OK, so i'd op<bind> something that'd decl'd local but referenced in localref scope into the localref'd thing?
15:31 jnthn timotimo: If you access it as a localref you get the thing in the register
15:32 jnthn timotimo: If you access it as a local then you get it decont'd.
15:32 timotimo and if i access it as a local, i get the value
15:32 jnthn decont_[ins]
15:32 jnthn *nod*
15:32 timotimo OK, that makes a lot of sense
15:32 jnthn lexical and lexicalref behave the same way
15:32 timotimo good, i think i can make tests for that
15:32 jnthn We need them to be very close semantically since we lower lexicals to locals.
15:32 timotimo right
15:32 timotimo and maybe even build the pieces of the optimizer that do the lowering later today
15:33 jnthn lizmat: I'd...not do it like that as the array will end up sparse?
15:33 eli-se joined #perl6
15:33 jnthn lizmat: I'd probably keep a %*NQP_VIOLATIONS
15:33 lizmat even keyed to line number ?
15:33 lizmat I mean, how many lines do we expect in a compunit ?
15:33 jnthn No, I'd key it on the op
15:34 jnthn %*NQP_VIOLATIONS{$op}
15:34 jnthn *or
15:34 jnthn *or*
15:34 lizmat that doesn't make sense from a deprecation message point of view, I would think
15:34 jnthn Why? Don't you want to know what you did, and where you did it?
15:34 dalek perl6-examples: 7704d1a | (Steve Mynott)++ | categories/interpreters/RPN.pl:
15:34 dalek perl6-examples: remove duplicate line
15:34 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/7704d1a508
15:34 jnthn And grouped by where?
15:34 jnthn uh, grouped by *what*
15:35 jnthn Anyway, easiest way is to just keep an array of violations if you don't need any grouping
15:35 moritz nqp:: is easy enough to grep for
15:35 moritz group by file name?
15:35 jnthn @*NQP_VIOLATIONS.push([$op, $line])
15:35 lizmat but the fix is not changing each call, the fix is adding an "use nqp" as the simplest solution
15:35 lizmat to the applicable scope
15:35 jnthn lizmat: Fair enough, then just keep one violation or a list of violations.
15:36 BenGoldberg joined #perl6
15:36 jnthn lizmat: There's no auto-viv in NQP
15:36 lizmat this is different from the other deprecation messages where you would need to change actual calls
15:36 lizmat I know
15:36 lizmat but somehow I lack the foo to vivify manually
15:37 lizmat my @lines := nqp::getlexdyn('@*NQP_VIOLATIONS');   # is this valid ?
15:37 jnthn it's odd
15:37 jnthn my @lines := @*NQP_VIOLATIONS; is the same.
15:38 skids tadzik: https://gist.github.com/skids/86b2cd3bf4412efa44ac
15:38 colomon joined #perl6
15:38 jnthn @*NQP_VIOLATIONS[$line] := @*NQP_VIOLATIONS[$line] // []; @*NQP_VIOLATIONS[$line].push($thingy);
15:38 jnthn Is probably the shortest you can do.
15:38 lizmat @*NQP_VIOLATIONS is defined as part of the compunit initialization, under Extra
15:38 jnthn Uh
15:38 jnthn without pre-fetching it as a temp
15:39 jnthn If you do my @lines := @*NQP_VIOLATIONS; first then it's just (@lines[$line] := @lines[$line] // []).push($thingy)
15:39 tadzik skids: the thingy with panda on jvm is known
15:40 tadzik I spent 3 hours trying to minimize the testcase and it drove me nuts
15:40 skids tadzik: Last night I edited it to just "when Exception" and got through it, but the switchback to moar was still broken after that.
15:41 lizmat jnthn++  :-)
15:41 jnthn lizmat: But I'd still do hash instead. :)
15:41 jnthn uh, do *a* hash...
15:41 jnthn .oO( Freud strikes again! )
15:41 ugexe skids: i always do a manual rehash or i get similar problems seemingly randomly
15:42 jnthn lizmat: They're gonna be strings in the deprecation message anyway :)
15:42 lizmat jnthn: that's true, but I sort of expect many nqp::ops *if* they are being used anyway
15:43 jnthn True. :)
15:43 lizmat or not at all
15:43 jnthn Anyway, no point discussing it overly much, since this is code that we will kill pre-Christmas anyway :)
15:43 lizmat indeed  :-)
15:43 skids ugexe: what is this "manual rehash" you speak of? :-)
15:44 masak wow, fancy this Christmas being *the* Christmas!
15:44 ugexe rakudobrew rehash
15:44 jnthn :)
15:44 masak even I, the Grinch, is slightly enthused by it.
15:44 jnthn I'll likely be gone-ish for the rest of the evening, but will be hacking on NFG and RTs all day tomorrow. :)
15:44 masak m: say Date.new # when is the Big Day?
15:44 camelia rakudo-moar 9890d8: OUTPUT«2015-12-24␤»
15:44 masak jnthn: o/
15:45 jnthn o/
15:45 timotimo jnthn: i have a quick gist for you
15:45 jnthn timotimo: ok, be quick!
15:45 skids ugexe: no joy.  But thanks.
15:45 timotimo https://gist.github.com/timo/40ccf1f09f3b94f47f2d
15:45 timotimo is that totally wrong?
15:45 sjn tadzik: http://stackoverflow.com/questions/​9475642/what-is-the-bnf-of-bnf-i-e-​how-do-we-define-a-bnf-meta-grammar
15:45 timotimo there's a decont in the spesh log that i wouldn't expect there
15:46 telex joined #perl6
15:47 jnthn timotimo: yeah, what the heck
15:47 jnthn decont r2(2), r1(1) const_s r3(1), lits(hooray) assign_s r2(2), r3(1)
15:48 jnthn That's never gonna work, surely
15:48 timotimo yes, very much not so
15:48 timotimo but the qast is right in principle?
15:48 jnthn That decont should not be there
15:48 jnthn Yes the QAST looks right
15:48 timotimo good
15:48 timotimo that's all i need to know
15:48 jnthn the bytecode we get looks busted
15:48 timotimo now i can go hunting :)
15:48 jnthn OK
15:48 timotimo have a nice evening!
15:48 * jnthn gone :)
15:48 timotimo o/
15:48 jnthn you too! o/
15:49 ugexe skids: if thats the solution, it would need to be done after you switch and before you build panda
15:50 ugexe because it looks like you are using a panda built for the opposite VM
15:50 ugexe although that could be due to not properly respecting the --prefix stuff as well
15:52 sjn tadzik: http://www.hcs64.com/files/pd1-3-schorre.pdf
15:52 ugexe try invoking panda directly instead of using the rakudobrew shim
15:52 dalek perl6-examples: 4916405 | (Steve Mynott)++ | / (2 files):
15:52 dalek perl6-examples: start web automation section
15:52 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/49164054b9
15:54 timotimo ah, that was easy to find
15:55 timotimo zu früh gefreut!
15:56 [Coke] still -1 from me on Date.new being christmas, btw. ew.
16:00 lolisa zu früh gefreut!? What's that?
16:01 timotimo premature celebration, so to speak
16:03 dalek perl6-examples: 3ff0590 | (Steve Mynott)++ | categories/cookbook/09directories/09- (4 files):
16:03 dalek perl6-examples: 4 more directory examples
16:03 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/3ff0590563
16:05 leont New trick, «HARNESS_PERL=perl6 prove t/perl6.t»
16:06 itz "by Christmas we always meant the Julian Calendar" :)
16:06 [Coke] I just did a fresh build of rakudo-moar and tried to run make spectest, and get:
16:06 [Coke] perl t/harness --fudge --moar --keep-exit-code --tests-from-file=t/spectest.data
16:06 [Coke] Unhandled exception: Unsupported serialization format version 15 (current version is 12) at <unknown>:1  (blib/Perl6/Pod.moarvm:<dep​endencies+deserialize>:239)
16:07 tadzik what is this madness ┻━┻ ︵ヽ(`Д´)ノ︵ ┻━┻
16:09 lizmat [Coke]: fwiw, there was some chatter about ser format versions on MoarVM earlier todat
16:09 lizmat *today
16:11 slavik joined #perl6
16:13 lizmat jnthn: I'm not sure how to skip the non-initialized elements, nqp::isnull() doesn't seem to cut it ?
16:13 lizmat my $ops := @*NQP_VIOLATIONS[$line];
16:13 lizmat next if nqp::isnull($ops);
16:17 skids Hrm, MD.pm6 in Sum just spins and slowly eats ram when compiling mbc now.  That will be "fun" to try to find the cause of.  But for now, going to try to sleep off rest of this cold.
16:17 lizmat skids++  and get better!
16:18 MARTIMM joined #perl6
16:23 itz things like gethostbyname don't exist anymore do they? I assume they can be loaded via nativecall?
16:24 cschwenz joined #perl6
16:26 timotimo anything that's C can be nativecalled - except i think var args are missing
16:28 laouji joined #perl6
16:28 colomon joined #perl6
16:31 itz oh gethostbyname does exist
16:32 itz ermmm gethostname
16:35 Ven joined #perl6
16:35 Ven should the "gotcha about <foo> + vs <foo>+" be added to faq.perl6.org? (I'm looking for it atm)
16:36 flussence whatever happened to the C++ nativecall thing?
16:39 Ven seems like Grammar::Debugger won't step through proto regexes?
16:40 DrForr timotimo: Ah, I was going to go digging for varargs as well, after the cglobal thing they're the last thing I need for a complete binding to readline.
16:40 Ven what's going on
16:40 timotimo cool
16:41 Ven the debugger sees " <expr> + %% ',' " and bails out. just plainly bails out. I don't get to see it try the options
16:41 Ven (and trying to make that rule "regex" to backtrack doesn't help at all)
16:42 grondilu joined #perl6
16:44 zakharyas joined #perl6
16:46 Ven Grammar::Debugger seems to be too unreliable? I change the rule call, that's one of the options of expr (expr:sym<call>) make the debugger unable to step through <expr>.
16:47 flussence there's a long-term problem with it having side effects, something to do with LTM
16:48 DrForr I'm working with a grammar myself and haven't been able to use ::Debugger on it. Not just you.
16:49 colomon I usually use Grammar::Tracer, but that doesn’t work well for complicated parses.
16:50 DrForr The last time I tried that I couldn't get anything out of a failed parse.
16:50 * nine waves from Vienna
16:51 nine Is there a way to hoik into serialization/deserialization of my module?
16:51 flussence oh... I wrote a test for that bug and forgot all about it - https://github.com/flussence/p6-misc/bl​ob/master/bin/grammar-bug-26feb2015.p6
16:51 [Coke] yup, tried again with a fresh copy of rakudo - getting the error about serialization format consistently.
16:52 tadzik wow, fast trains
16:55 [Coke] ah... bug in t/harness.
16:57 dalek rakudo/nom: d4a9878 | Coke++ | t/harness:
16:57 dalek rakudo/nom: Use the correct perl6 to check for Inline::Perl5
16:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d4a9878338
16:59 colomon joined #perl6
17:00 laouji joined #perl6
17:00 timotimo tadzik: you're going back home?
17:01 tadzik timotimo: no, but I noticed nine having arrived already
17:01 nine Coke: thanks for fixing my bug
17:01 tadzik I'll be back home monday late evening
17:01 nine tadzik: took a plane to Vienna, now a train to Linz
17:01 tadzik ah
17:01 tadzik that explains it
17:02 [Coke] nine: no worries, glad I was able to figure it out
17:02 nwc10 nine: direct train!
17:03 nwc10 nine: are you at the airport currently?
17:05 [TuxCM] [Coke], is that nom patch for jvm?
17:05 nine nwc10: just entered the bus to Westbahnhif
17:05 nine nwc10: no direct trains at this time, but next year we'll finally have good connections
17:06 [Coke] [TuxCM]: the thing I just patched was so that "make spectest" uses the same perl6 that it uses to run the tests to see if Inline::Perl5 was installed. previously it used first in path.
17:06 * nwc10 waves in at the airport
17:07 nwc10 (from here, can't see much more than the top of the control tower)
17:07 nine :)
17:07 * lolisa dont get what is going on
17:08 tadzik joined #perl6
17:08 dalek rakudo/nom: 7075007 | lizmat++ | src/Perl6/ (2 files):
17:08 dalek rakudo/nom: List nqp::op violations after a compunit compiled
17:08 dalek rakudo/nom:
17:08 dalek rakudo/nom: It turned out to be pretty bad to use the standard DEPRECATED mechanism for
17:08 dalek rakudo/nom: this.  So instead of that, it's not writing the message to STDERR after the
17:08 dalek rakudo/nom: compunit has been compiled.
17:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/70750073f1
17:10 nine nwc10: do you have a quick idea on how to detect if we're compiling the main script in P5's pp_ctl.c? I'd like to make my use v6; support a little safer
17:11 nine I already improved its error handling on the way to the airport
17:11 nwc10 offhand, no.
17:11 nine Ok, will dig around a bit
17:13 nine I don't think I'll make much progress on Inline::Perl5's precompilation support. That will probably require more infrastructure in Rakudo.
17:15 dalek rakudo/nom: 5d707b6 | lizmat++ | src/Perl6/Grammar.nqp:
17:15 dalek rakudo/nom: Fix typo
17:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5d707b6da8
17:18 mr-foobar joined #perl6
17:19 lizmat nine: seems like you have to patch:
17:19 lizmat Compilation unit 'lib/Inline/Perl5.pm6' contained the following violations:
17:19 lizmat Line 765:
17:19 lizmat nqp::getcurhllsym
17:19 lizmat :-)
17:19 lichtkind joined #perl6
17:24 nine lizmat: oh, a use nqp should fix that, shouldn't it?
17:24 FROGGS_ nine: that's correct
17:24 lizmat yes, that's the idea ?
17:25 nine Will be fixen once I'm on the train :)
17:25 nine typing on phone sucks...
17:26 Rounin joined #perl6
17:29 * Ven wonders how he should parse a postfix if... <expr> 'if' <expr> will be recursive :(
17:33 lizmat jnthn: would it make sense to expose nqp %*PRAGMAS hash as %?PRAGMAS like $?LINE ?
17:34 geekosaur perl itself handles postfix if as a statement modifier instead of an expression
17:35 eli-se vendethiel: don't do that
17:36 eli-se instead, design your grammar so that either operand is an expression with a higher precedence than postfix if expressions
17:36 vendethiel eli-se: yeah, yeah.
17:36 * geekosaur thinks expression-if should have both then and else (compare ?? !!), if-then is a statement
17:37 eli-se then it's just <higher-precedence-than-if-expr> followed by zero or more ('if' <expr>)
17:37 geekosaur (of which postfix if is a subcase)
17:39 eli-se just make if a function that takes a Boolean and two functions.
17:42 lizmat afk for kuchen kaiser&
17:42 dalek Inline-Perl5: 3e23d8c | (Stefan Seifert)++ | lib/Inline/Perl5.pm6:
17:42 dalek Inline-Perl5: Explicitly use nqp; for nqp::getcurhllsym
17:42 dalek Inline-Perl5:
17:42 dalek Inline-Perl5: Thanks to lizmat++ for pointing this out
17:42 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/3e23d8c02d
17:59 lichtkind hai  lizmat
17:59 nine ribasushi: was module-authors the mailing list mentioned in today's discussion?
18:19 nine lizmat: that's odd. With current rakudo and your lazy @*INC patch, make test passes. Panda is still broken. File::Find tests successfully but Shell::Command fails with write string requires an object with REPR MVMOSHandle
18:21 nine .tell lizmat that's odd. With current rakudo and your lazy @*INC patch, make test passes. Panda is still broken. File::Find tests successfully but Shell::Command fails with write string requires an object with REPR MVMOSHandle
18:21 yoleaux nine: I'll pass your message to lizmat.
18:23 aborazmeh joined #perl6
18:23 aborazmeh joined #perl6
18:26 _mg_ joined #perl6
18:37 eli-se .botsnack
18:37 yoleaux :D
18:38 nine .tell lizmat seems like commit 43db2d5bbe75be4cb842d43991248c29b4a1897a is responsible for the progress. Maybe because use nqp; no longer invokes any ModuleLoader?
18:38 yoleaux nine: I'll pass your message to lizmat.
18:43 virtualsue joined #perl6
18:43 virtualsue left #perl6
18:56 nine .tell lizmat Shell::Command's tests fail with a precompiled Shell::Command, but not with the source version
18:56 yoleaux nine: I'll pass your message to lizmat.
19:15 zakharyas joined #perl6
19:21 spider-mario joined #perl6
19:28 skids joined #perl6
19:33 FROGGS .tell jnthn after successfully bootstrapping panda I try to install a dist, and then it explodes when serializing a null object: https://gist.github.com/FR​OGGS/c6d637b32e4665ec3882
19:33 yoleaux FROGGS: I'll pass your message to jnthn.
19:35 FROGGS .tell jnthn I believe this object is a string, the absolute path to the panda script that is currently running (aka $*EXECUTABLE)... is there something I need to take care of?
19:35 yoleaux FROGGS: I'll pass your message to jnthn.
19:38 nbdsp joined #perl6
19:38 nbdsp Greetings! I wonder, does someone else have the same problem with 'use DBI:from<Perl5>;'? The followong two lines take several minutes to execute with a query result consisting of one row with one text field (several KB of text):  my $arrayref = $sth.fetchall_arrayref; say $q[0].decode('utf8');  Profile stat is here: http://pastebin.com/wMwAsJLv
19:39 dalek rakudo/jsoff: 52b1be7 | FROGGS++ | src/core/CompUnitRepo/Local/Installation.pm:
19:39 dalek rakudo/jsoff: use nqp::(de)serialize instead of json to improve performance
19:39 dalek rakudo/jsoff: review: https://github.com/rakudo/rakudo/commit/52b1be70f1
19:39 FROGGS .tell jnthn I pushed to rakudo/jsoff in case you are curious
19:39 yoleaux FROGGS: I'll pass your message to jnthn.
19:39 nbdsp my $arrayref = $sth.fetchall_arrayref;  for @$arrayref -> $q { say $q[0].decode('utf8'); }
19:41 beastd joined #perl6
19:42 FROGGS nbdsp: cant you upload the html file?
19:45 [TuxCM] joined #perl6
19:46 nbdsp FROGGS: will upload
19:54 dalek faq: 24f3a7c | lizmat++ | answers.md:
19:54 dalek faq: Mention Larry's announcement
19:54 dalek faq: review: https://github.com/perl6/faq/commit/24f3a7cb3a
19:55 nbdsp Err, pastebin has the limit 512 KB and the file report is about 1 MB. Is there another place for uploading?
19:55 nbdsp Oh, I'jj upload to git
19:55 lizmat gist.github.com is used often around here, don't have any ideas about its limits though
19:55 yoleaux 18:21Z <nine> lizmat: that's odd. With current rakudo and your lazy @*INC patch, make test passes. Panda is still broken. File::Find tests successfully but Shell::Command fails with write string requires an object with REPR MVMOSHandle
19:55 yoleaux 18:38Z <nine> lizmat: seems like commit 43db2d5bbe75be4cb842d43991248c29b4a1897a is responsible for the progress. Maybe because use nqp; no longer invokes any ModuleLoader?
19:55 yoleaux 18:56Z <nine> lizmat: Shell::Command's tests fail with a precompiled Shell::Command, but not with the source version
19:56 lizmat use nqp not needing ModuleLoader is probably the reason, yes...
19:56 yqt joined #perl6
19:57 revdiablo joined #perl6
19:58 skids m: Array.new(0,1,2,3,4), { "OHAI $_".say; Array.new($_[1,2,3,0]); } ... { $_.perl.say; $_.WHAT.say; $_[0] == 3 } # What broke Sum::MD
19:58 camelia rakudo-moar 5d707b: OUTPUT«0␤(Int)␤1␤(Int)␤2␤(Int)␤3␤(Int)␤»
20:00 skids m: [ 0,1,2,3,4 ], { "OHAI $_".say; [ $_[1,2,3,4,0] ]; } ... { $_.perl.say; $_.WHAT.say; $_[0] == 3 } # works but...
20:00 camelia rakudo-moar 5d707b: OUTPUT«[0, 1, 2, 3, 4]␤(Array)␤OHAI 0 1 2 3 4␤0␤(Int)␤OHAI 1 2 3 4 0␤1␤(Int)␤OHAI 2 3 4 0 1␤2␤(Int)␤OHAI 3 4 0 1 2␤3␤(Int)␤»
20:01 skids m: [ 0,1,2,3,4 ], { "OHAI $_".say; Array.new($_[1,2,3,4,0]); } ... { $_.perl.say; $_.WHAT.say; $_[0] == 3 }
20:01 camelia rakudo-moar 5d707b: OUTPUT«[0, 1, 2, 3, 4]␤(Array)␤OHAI 0 1 2 3 4␤0␤(Int)␤OHAI 0␤0␤(Int)␤Unhandled exception: Index out of range. Is: 1, should be in 0..0␤   at <unknown>:1  (/home/camelia/rakudo-inst-2/share/perl6/run​time/CORE.setting.moarvm:throw:4294967295)␤ f…»
20:02 lizmat skids: I probably did that
20:02 lizmat looking at the issue now
20:03 skids Not sure what the proper flattenning behavior is, but weird in any case that the "say" in the first one does nothing.
20:05 lizmat star: [ 0,1,2,3,4 ], { "OHAI $_".say; Array.new($_[1,2,3,4,0]); } ... { $_.perl.say; $_.WHAT.say; $_[0] == 3 }
20:05 lizmat star-m: [ 0,1,2,3,4 ], { "OHAI $_".say; Array.new($_[1,2,3,4,0]); } ... { $_.perl.say; $_.WHAT.say; $_[0] == 3 }
20:06 lizmat m-star: [ 0,1,2,3,4 ], { "OHAI $_".say; Array.new($_[1,2,3,4,0]); } ... { $_.perl.say; $_.WHAT.say; $_[0] == 3 }
20:06 nbdsp joined #perl6
20:06 lizmat what was it again?
20:06 camelia star-m 2015.03: OUTPUT«(timeout)[0, 1, 2, 3, 4]␤(Array)␤OHAI 0 1 2 3 4␤0␤(Int)␤OHAI 0␤0␤(Int)␤OHAI 0␤0␤(Int)␤OHAI 0␤0␤(Int)␤OHAI 0␤0␤(Int)␤OHAI 0␤0␤(Int)␤OHAI 0␤0␤(Int)␤OHAI 0␤0␤(Int)␤OHAI 0␤0␤(Int)␤OHAI 0␤0␤(Int)␤OHAI …»
20:06 camelia star-m 2015.03: OUTPUT«(timeout)[0, 1, 2, 3, 4]␤(Array)␤OHAI 0 1 2 3 4␤0␤(Int)␤OHAI 0␤0␤(Int)␤OHAI 0␤0␤(Int)␤OHAI 0␤0␤(Int)␤OHAI 0␤0␤(Int)␤OHAI 0␤0␤(Int)␤OHAI 0␤0␤(Int)␤OHAI 0␤0␤(Int)␤OHAI 0␤0␤(Int)␤OHAI 0␤0␤(Int)␤OHAI …»
20:06 nbdsp The file report is here: https://github.com/nbdsp/profile​-report/blob/master/profile.html
20:08 lizmat m: my $a = 1; $a[0] = 3   # skids, isn't this really the problem?
20:08 camelia rakudo-moar 5d707b: OUTPUT«Cannot modify an immutable Int␤  in method ASSIGN-POS at src/gen/m-CORE.setting:2231␤  in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:3457␤  in block <unit> at /tmp/vjzKls6AHe:1␤␤»
20:09 skids lizmat: No, nothing get modified, other then the being-built array-of-arrays.
20:09 FROGGS nbdsp: 99.4% spend in unpack_return_values at lib/Inline/Perl5.pm6:425
20:11 domidumont joined #perl6
20:14 skids m: array[uint32].new(0,1,2,3,4).item, { "OHAI $_".say; array[uint32].new($_[1,2,3,4,0]).item; } ... { $_.perl.say; $_.WHAT.say; $_[0] == 3 } # This works OK for my purposes and is probably more correct.
20:14 camelia rakudo-moar 5d707b: OUTPUT«array[uint32].new(0, 1, 2, 3, 4)␤(array[uint32])␤OHAI 0 1 2 3 4␤0␤(Int)␤OHAI 1 2 3 4 0␤1␤(Int)␤OHAI 2 3 4 0 1␤2␤(Int)␤OHAI 3 4 0 1 2␤3␤(Int)␤»
20:14 nbdsp FROGGS: Is it normal for this function to take so long?
20:21 leont joined #perl6
20:23 lizmat some benchmarks:
20:23 lizmat m: my int $max = 1000000; loop (my int $i = 0; $i < $max; $i = $i + 1) { }; say now - INIT now    # fastest
20:23 camelia rakudo-moar 5d707b: OUTPUT«0.006822␤»
20:24 lizmat m: my Int $max = 1000000; loop (my Int $i = 0; $i < $max; $i = $i + 1) { }; say now - INIT now    # both Ints instead of natives, slower
20:24 camelia rakudo-moar 5d707b: OUTPUT«0.49885572␤»
20:24 lizmat m: my Int $max = 1000000; loop (my int $i = 0; $i < $max; $i = $i + 1) { }; say now - INIT now    # mixed int and Int, slowest
20:24 camelia rakudo-moar 5d707b: OUTPUT«0.7657925␤»
20:25 lizmat skids: ^^^  there are several cases like that in Inline::Perl5   # nine  :-)
20:32 nine I guess it's so slpw because I have to copy blobs byte by byte from CArray[int8]
20:33 nine Proper buf support for NativeCall will improve this a lot
20:34 nine nbdsp: if you can try passing decoded strings from P5 to P6. Should be much, much faster
20:35 nbdsp nine: how to do this?
20:37 laouji joined #perl6
20:40 nine nbdsp: tell your dbd to decode text fields. Recent DBD::Pg will do this automatically. DBD::mysql has some mysql_enable_utf8 flag. Others will probably too
20:40 nbdsp Thanks!
20:41 nine nbdsp: please report your results :)
20:41 nbdsp Yes.
20:42 nine Really time to sleep now. Good night #perl6 :)
20:48 skids Oh, I guess my last example didn't "work fine".
20:52 lizmat night, nine!
20:56 nbdsp When I do as follows, the time doesn't seem to improve: my $dbh = DBI.connect( "DBI:mysql:database=testDB; mysql_enable_utf8=1; host=localhost; port=3306;", "user", "password" ); The size of text field if the query is about 75 Kb. Maybe the utf8 flag needs to be set in some other place?
20:56 nbdsp *in the query
20:57 dolmen joined #perl6
21:02 DrForr Incidentally, https://github.com/drforr/perl6-ANTLR4.git # ANTLR4 grammar for perl6 - Still a few kinks to work out, but it can handle the sample CSV grammar from ANTLR4.
21:05 dalek rakudo-star-daily: 7ebf7bd | coke++ | log/ (2 files):
21:05 dalek rakudo-star-daily: today (automated commit)
21:05 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/7ebf7bd55d
21:05 RabidGravy in NativeCall is there a possibility that "const char *" is not doing something right when given a Str?
21:06 RabidGravy seems to come up with random garbage
21:08 skids m: my $i = 0; my @a = [0,1,2,3], { [$_[1,2,3,0]] } ... { $i++ == 4 }; @a.perl.say # note the last one is not itemized, another layer to the issue.
21:08 camelia rakudo-moar 5d707b: OUTPUT«[[0, 1, 2, 3], [1, 2, 3, 0], [2, 3, 0, 1], [3, 0, 1, 2], 0, 1, 2, 3]<>␤»
21:09 skids (or maybe the same layer from a different view)
21:16 skids Hah.  I got bit by ?"0" == True :-).  Bad me.
21:21 lizmat shutting down&
21:32 aborazmeh joined #perl6
21:32 aborazmeh joined #perl6
21:39 [Coke] t/spec/S17-procasync/kill.t is passing, but slow. Any reason not to add it to spectest.data ?
21:47 RabidGravy is sprintf implemented in such a way as it can be subverted^Wleveraged^Waugmented to provide domain specific formats?
21:49 dalek rakudo/nom: c14bc41 | Coke++ | tools/update-passing-test-data.pl:
21:49 dalek rakudo/nom: This isn't a Perl 6 test, don't try to run it.
21:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c14bc410e4
21:49 dalek rakudo/nom: 4c1ae0d | Coke++ | t/spectest.data:
21:49 dalek rakudo/nom: Run these passing tests
21:49 dalek rakudo/nom:
21:49 dalek rakudo/nom: ...some of which were recently fudged
21:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4c1ae0de38
21:49 dalek roast: efb1904 | Coke++ | S32-str/length.t:
21:49 dalek roast: Fudge for rakudo
21:49 dalek roast:
21:49 dalek roast: Also make sure .length dies with appropriate exception type
21:49 dalek roast: review: https://github.com/perl6/roast/commit/efb19048eb
21:50 andreoss joined #perl6
21:51 andreoss how can i have several :nth in subst?
21:51 andreoss m: "11123".subst("1", "0", :nths(1 3));
21:51 camelia rakudo-moar 5d707b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7pjfpgp5S9␤Two terms in a row␤at /tmp/7pjfpgp5S9:1␤------> 3"11123".subst("1", "0", :nths(17⏏5 3));␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤        …»
22:04 raydiak m: say "11123".subst("1", "0", :nth(1, 3)) # or :nth<1 3> if you prefer to skip the comma
22:04 camelia rakudo-moar 5d707b: OUTPUT«01023␤»
22:09 zjmarlow joined #perl6
22:17 nbdsp_ joined #perl6
22:18 jack_rabbit joined #perl6
22:18 nbdsp joined #perl6
22:34 rararara joined #perl6
22:38 skids joined #perl6
22:41 colomon joined #perl6
22:47 jack_rabbit joined #perl6
22:47 zeleiadi joined #perl6
22:51 anaeem1 joined #perl6
22:59 lizmat joined #perl6
23:00 zeleiadi joined #perl6
23:02 lizmat [Coke]: re http://irclog.perlgeek.de/p​erl6/2015-04-19#i_10468028 (t/spec/S17-procasync/kill.t)
23:02 lizmat I would recommend against it as the tests that *really* matter, are TODO's because we cannot actually send signals yet
23:19 [Coke] lizmat++ thanks.
23:20 laouji joined #perl6
23:24 BenGoldberg joined #perl6
23:36 japhb Is Proc::Async now running correctly on r-j?
23:36 japhb Or still just r-m?
23:38 lizmat japhb: I have no idea
23:40 japhb Fair enough.  :-)
23:41 japhb How was the hackathon?  (I know it occurred, but I have no idea what awesomeness transpired ....)
23:43 dalek rakudo/nom: 4ba4aab | lizmat++ | src/Perl6/Grammar.nqp:
23:43 dalek rakudo/nom: Handle all pragmas with -M (not just "strict")
23:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4ba4aaba19
23:43 lizmat well, if you look at the past 4 days git log
23:44 lizmat I would think a lot has happened on the P6 end  :-)
23:44 lizmat there was a lot of discussion at the QA hackathon
23:44 lizmat mostly about P5 / CPAN
23:45 lizmat I'm pretty sure we will here more about that in the near future from the people involved
23:45 lizmat also: PAUSE has been migrated from Apache/mod_perl to Plack
23:46 lizmat and 5.24 (next year) will most likely allow you to transparently execute Perl 6 code if Inline::Perl6 is installed
23:46 lizmat 5.22 is already in code freeze, so we were too late for that
23:47 lizmat http://act.qa-hackathon.or​g/qa2015/wiki?node=Results for a list of achievements
23:50 telex joined #perl6
23:52 timotimo lizmat: oooh you improved autogenerated accessors?
23:52 lizmat One of the most exciting things I saw was tadzik developing a BNF to Perl 6 grammars converter
23:52 timotimo how?
23:52 timotimo :D
23:52 lizmat they have D: on them, and they don't show up in backtraces
23:53 lizmat m: class A { has $.a }; A.a
23:53 camelia rakudo-moar 4c1ae0: OUTPUT«Invocant requires a 'A' instance, but a type object was passed.  Did you forget a .new?␤  in block <unit> at /tmp/NXg_R_vxCG:1␤␤»
23:53 timotimo ah
23:54 timotimo the next step for autogenerated accessors will be to actually generate code for them rather than just having closures that close over the attribute name
23:54 timotimo that ought to make accesses a bit cheaper
23:54 timotimo but custom code will be bigger in ram than just a closure clone :\
23:55 lizmat I guess we could do that for autogenerated accessors in the core settings
23:55 lizmat or have a pragma like "use more memorry"
23:56 lizmat that would autogenerate them in a different way ?
23:58 lizmat so with 5.24 you should be able to say: "perl -Mv6 -e '.say for ^10'
23:58 lizmat iff Inline::Perl6 is installed
23:59 * lizmat is tired and goes to sleep&

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo