Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-06-16

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:00 colomon timotimo: http://en.wikipedia.org/wiki/Sierpi%C5%84ski_curve
00:02 Alina-malina joined #perl6
00:05 timotimo i was hoping i could maybe making something animated
00:05 timotimo but first i'll implement about 100000000 methods so that i can draw stuff onto gtk widgets, like the GtkDrawingArea
00:05 thou joined #perl6
00:15 BenGoldberg Has anyone written a grammer for C using perl6 grammars?
00:16 BenGoldberg It would be pretty cool if you could parse the header file of some C library, and automatically generate the perl6 bindings.
00:28 cognominal A grammar good enough to gather the informations necessary for an etags equivalent would be nice
00:40 hoverboard joined #perl6
00:51 thou joined #perl6
00:51 BenGoldberg Writing it entirely in perl6 is likely to be lots of work... maybe something more like the perl5 module Convert::Binary::C, which uses an open-source C preprocessor library ...
00:56 cognominal yea, preprocessor directives don't always align with syntactic boundaries.
00:57 btyler joined #perl6
00:58 timotimo m: sub test(:$foo?) { say $foo.Bool.Int }; test; test :foo(1); test :foo<100>;
00:58 camelia rakudo-moar f1b05d: OUTPUT«0␤1␤1␤»
01:05 dalek gtk-simple: 3df1d25 | (Timo Paulssen)++ | lib/GTK/Simple.pm6:
01:05 dalek gtk-simple: GTK::Simple::Switch (gtk_switch)
01:05 dalek gtk-simple: review: https://github.com/perl6/gtk-simple/commit/3df1d25762
01:05 dalek gtk-simple: 330b860 | (Timo Paulssen)++ | lib/GTK/Simple.pm6:
01:05 dalek gtk-simple: widget size request and get_allocated_width/height
01:05 dalek gtk-simple: review: https://github.com/perl6/gtk-simple/commit/330b860e01
01:05 dalek gtk-simple: b6cb6dc | (Timo Paulssen)++ | lib/GTK/Simple.pm6:
01:05 dalek gtk-simple: first step towards GTK::Simple::DrawingArea
01:05 dalek gtk-simple: review: https://github.com/perl6/gtk-simple/commit/b6cb6dcb14
01:05 BenGoldberg Err, my point is more that it uses an already written library (ucpp), and making a perl interface, rather than writing a C grammar entirely in perl... but that's also important ;)
01:10 timotimo i'd be quite happy if people tried out the gtk-simple stuff
01:12 dayangkun joined #perl6
01:12 wingfold joined #perl6
01:13 FROGGS_ joined #perl6
01:20 Su-Shee_ joined #perl6
01:25 klapperl_ joined #perl6
01:29 Sqirrel joined #perl6
01:31 wingfold_ joined #perl6
01:38 woosley joined #perl6
01:41 rindolf joined #perl6
01:46 * timotimo goes down the rabbit hole of gtk
01:53 hoverboard joined #perl6
01:55 zengargo1le joined #perl6
01:56 timotimo panda is still hanging in "installing" in rebootstrap.pl
01:56 timotimo "reinstalling", that is
01:57 ren1us does perl6 have any equivalent for java's "super" keyword or super() constructor call?
01:58 timotimo yeah, nextwith/nextsame/callwith/callsame
01:59 ren1us awesomeness
02:14 wingfold joined #perl6
02:27 SevenWolf joined #perl6
02:34 Mouq joined #perl6
02:36 dalek doc/redesign: 4bcefef | Mouq++ | htmlify.p6:
02:36 dalek doc/redesign: Get rid of superstitious .[0]
02:36 dalek doc/redesign: review: https://github.com/perl6/doc/commit/4bcefeff7c
02:36 dalek doc/redesign: 84eabe7 | Mouq++ | template/header.html:
02:36 dalek doc/redesign: Move search label inside search box
02:36 dalek doc/redesign: review: https://github.com/perl6/doc/commit/84eabe7fd6
02:36 dalek doc/redesign: 766740e | Mouq++ | html/css/style.css:
02:36 dalek doc/redesign: Get rid of space between selected menu item and sub-menu
02:36 dalek doc/redesign: review: https://github.com/perl6/doc/commit/766740ef95
02:36 dalek doc/redesign: 48f8964 | Mouq++ | / (3 files):
02:36 dalek doc/redesign: Realize that index.html isn't being generated properly
02:36 dalek doc/redesign:
02:36 dalek doc/redesign: The really correct way to do it is to turn index.html into an index.pod
02:36 dalek doc/redesign: and find some place to put it
02:36 dalek doc/redesign: review: https://github.com/perl6/doc/commit/48f896475f
02:36 dalek doc/redesign: 123caf2 | Mouq++ | TODO:
02:36 dalek doc/redesign: Add TODO file
02:36 dalek doc/redesign: review: https://github.com/perl6/doc/commit/123caf21e7
02:36 Mouq (I was offline for a while today)
02:36 yoleaux 15 Jun 2014 11:30Z <pippo> Mouq: I found the solution for http://irclog.perlgeek.de/perl6/2014-06-10#i_8850807 see http://irclog.perlgeek.de/perl6/2014-06-15#i_8873951
02:36 Mouq \o/ pippo++ :)
02:40 virtualsue joined #perl6
02:42 thou joined #perl6
02:49 Mouq m: $¢ # -_-
02:49 camelia rakudo-moar f1b05d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/oytTYL24nF�Unsupported use of $¢ variable�at /tmp/oytTYL24nF:1�------> [32m<BOL>[33m�[31m$¢ # -_-[0m�    expecting any of:�        statement list�        prefix or term�       …»
02:49 Mouq std: $¢
02:49 camelia std 0f2049c: OUTPUT«ok 00:01 122m␤»
02:50 daxim joined #perl6
02:50 Mouq std: sub rand (Real $n) { $n.rand }; say rand 15
02:50 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of rand(N); in Perl 6 please use N.rand or (1..N).pick at /tmp/VwYAL8c0kw line 1:�------> [32msub rand (Real $n) { $n.rand }; say rand[33m�[31m 15[0m�Parse failed�FAILED 00:01 128m�»
03:11 Mouq m: =pod X<a>
03:11 camelia rakudo-moar f1b05d: ( no output )
03:11 Mouq m: EVAL '=pod X<a>\n\nsay $=pod'
03:11 camelia rakudo-moar f1b05d: ( no output )
03:11 Mouq m: EVAL "=pod X<a>\n\nsay $=pod"
03:11 camelia rakudo-moar f1b05d: OUTPUT«␤»
03:11 Mouq m: EVAL "=pod X<a>\n\nsay $=pod.perl"
03:11 camelia rakudo-moar f1b05d: OUTPUT«Nil␤»
03:11 Mouq hm?
03:12 Mouq m: =pod X<a>␤␤say $=pod.perl
03:12 camelia rakudo-moar f1b05d: OUTPUT«Array.new(Pod::Block::Named.new(name => "pod", config => ().hash, content => Array.new(Pod::Block::Para.new(config => ().hash, content => Array.new("", Pod::FormattingCode.new(type => "X", meta => Array.new(), config => ().hash, content => Array.new("a")),…»
03:12 Mouq That's segfaulting locally...
03:13 Mouq Wait, no, that's fine
03:13 Mouq m: =pod X<a|b,c;d,e>␤␤say $=pod.perl
03:13 camelia rakudo-moar f1b05d: OUTPUT«(signal )»
03:14 Mouq r: =pod X<a|b,c;d,e>␤␤say $=pod.perl
03:14 camelia rakudo-jvm f1b05d: OUTPUT«(timeout)»
03:14 camelia ..rakudo-moar f1b05d: OUTPUT«(signal )»
03:14 camelia ..rakudo-parrot f1b05d: OUTPUT«Array.new(Pod::Block::Named.new(name => "pod", config => ().hash, content => Array.new(Pod::Block::Para.new(config => ().hash, content => Array.new("", Pod::FormattingCode.new(type => "X", meta => Array.new(["b", "c"], ["d", "e"]), config => ().hash, con…»
03:14 Mouq parrot++
03:15 Mouq That used to work, so I'm pretty sure MoarVM's doing something wrong there
03:16 daxim joined #perl6
03:20 Ben_Goldberg joined #perl6
03:29 dayangkun joined #perl6
03:31 ren1us if a method attempts to call another method in the same object instance, and you don't include the self. prefix, shouldn't it see that method as a candidate to call?
03:32 ren1us as in, if i do: class A = { method b = {}; method c = { b; }; }, shouldn't that be legal?
03:32 ren1us i assume that unless you provide the object instance as a prefix, it only looks for subs
03:33 kaare_ joined #perl6
03:34 ren1us woops, take out all of the = in that example
03:39 ren1us moarvm is saying b is undeclared (self.b works), and assuming that's not a bug, i would suggest that, in the absence of a matching sub, consider methods
03:48 benabik joined #perl6
04:01 simcop2387 joined #perl6
04:01 mikegrb joined #perl6
04:02 geekosaur joined #perl6
04:03 sunnavy joined #perl6
04:32 thou joined #perl6
04:48 kaare_ joined #perl6
04:49 SamuraiJack joined #perl6
05:19 [Sno] joined #perl6
05:52 cognominal joined #perl6
05:55 Mouq ren1us: If you want a shorthand by which to call "b", you can use $.b instead. If what you really want is a lexically scoped subroutine, you can just write class A { my sub b {}; method c { b; } }
05:55 Mouq Although I believe "my" is implicit for a sub
05:56 Mouq m: class A { sub b { 42 } }; say b
05:56 camelia rakudo-moar f1b05d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/gMTNE268bS�Undeclared routine:�    b used at line 1��»
05:56 Mouq Yeah
06:00 cognominal m: class A { sub b { 42 } }; say A.b
06:00 camelia rakudo-moar f1b05d: OUTPUT«No such method 'b' for invocant of type 'A'␤  in block  at /tmp/X9IPsldoh_:1␤␤»
06:12 Mouq .tell timotimo I tried gtk-simple, but on the latest MoarVM it dies with "Attribute $!gtk_widget not declared in class GTK::Simple::Switch at lib/GTK/Simple.pm6:535", which is a bogus error...
06:12 yoleaux Mouq: I'll pass your message to timotimo.
06:13 Mouq I've been having a lot of issues with Moar lately...
06:18 cognominal I tought redefining a multi function from the setting with a function with the same signature would hide it. I can't yet find the spec part that would  confirm or infirm that behavoir.
06:19 Mouq cognominal: It does, are you talking about my line with rand above?
06:20 Mouq Because rand is actually a term rather than a multi
06:20 Mouq m: say rand + 15
06:20 camelia rakudo-moar f1b05d: OUTPUT«15.3216027729761␤»
06:20 cognominal no, I am trying to have a slurp test for an URI and load the file in that case. Maybe my code is wrong
06:21 igorsutton joined #perl6
06:22 Mouq m: sub grep (|anything) { say "Local, unspecific dispatch called" }; grep 1, 2, 3
06:22 camelia rakudo-moar f1b05d: OUTPUT«Local, unspecific dispatch called␤»
06:23 Mouq m: sub grep (*@a) { say "Local, unspecific dispatch called" }; grep 1, 2, 3
06:23 camelia rakudo-moar f1b05d: OUTPUT«Local, unspecific dispatch called␤»
06:23 Mouq m: multi grep (|anything) { say "Local, unspecific dispatch called" }; grep 1, 2, 3
06:23 camelia rakudo-moar f1b05d: OUTPUT«Ambiguous call to 'grep'; these signatures all match:␤:($test, *@values)␤:(Any |anything)␤  in block  at /tmp/PlUfXqv05E:1␤␤»
06:23 Mouq Ahhh
06:24 Mouq cognominal: I can't really say without looking at it. I'd be happy to help you more, but I'm heading to bed
06:26 telex joined #perl6
06:38 kaleem joined #perl6
06:38 kaleem joined #perl6
06:38 cognominal r:  multi sub say(\x) { $*OUT.print("I print what I want\n") }; say('hi');
06:39 anaeem1_ joined #perl6
06:39 camelia rakudo-parrot f1b05d: OUTPUT«Ambiguous call to 'say'; these signatures all match:␤:(Any \x)␤:(Any \x)␤  in any  at gen/parrot/BOOTSTRAP.nqp:1220␤  in sub say at gen/parrot/CORE.setting:13682␤  in block  at /tmp/tmpfile:1␤␤»
06:39 camelia ..rakudo-jvm f1b05d: OUTPUT«Ambiguous call to 'say'; these signatures all match:␤:(Any \x)␤:(Any \x)␤  in any  at gen/jvm/BOOTSTRAP.nqp:1212␤  in block  at /tmp/tmpfile:1␤␤»
06:39 camelia ..rakudo-moar f1b05d: OUTPUT«Ambiguous call to 'say'; these signatures all match:␤:(Any \x)␤:(Any \x)␤  in block  at /tmp/tmpfile:1␤␤»
06:43 Grrrr joined #perl6
06:50 dmol joined #perl6
06:53 FROGGS_ joined #perl6
07:01 cognominal S13 speaks of adding cases to a  amulti, not of a definition in UNIT hiding one of the setting, both having same signature.
07:03 zakharyas joined #perl6
07:16 darutoko joined #perl6
07:18 salv0 joined #perl6
07:24 dayangkun joined #perl6
07:25 cognominal jnthn, should it be possible or not to hide a multi method in a setting by one in UNIT? Currently it says ambiguous call.
07:25 Timbus r:  multi sub say(\x) is default { $*OUT.print("I print what I want\n") }; say('hi');
07:25 camelia rakudo-{parrot,jvm,moar} f1b05d: OUTPUT«I print what I want␤»
07:26 cognominal ho, nice
07:27 Timbus should also..
07:27 Timbus m:  multi sub say(\x) is default { $*OUT.print("I print what I want\n"); nextsame; }; say('hi');
07:27 camelia rakudo-moar f1b05d: OUTPUT«I print what I want␤I print what I want␤hi␤»
07:27 Timbus kewl
07:28 jnthn cognominal: write a proto
07:29 jnthn in the scope you want to hide the outer candidates
07:29 cognominal ok, so many way to do it, and I was unable to find any :(
07:30 cognominal Timbus++, jnthn++
07:31 denis_boyun_ joined #perl6
07:33 cognominal is not UNIT a more derived scope than SETTING?
07:41 cognominal ok, it is. That the very point jnthn used in his answer about the proto.
07:54 dayangkun joined #perl6
07:56 dayangkun joined #perl6
07:57 dayangkun joined #perl6
08:00 krunen joined #perl6
08:02 spider-mario joined #perl6
08:05 masak antenoon, #perl6
08:07 masak ren1us: subs are not methods, and introducing syntax which muddles the two together does not feel like a good idea.
08:07 masak ren1us: that said, what you're suggesting (fall back to method lookup when sub lookup fails) is *possible*, and could probably be attempted in a module.
08:07 sergot o/
08:08 masak ren1us: would you expect the semantics to be "look for methods in the surrounding class", or "look for methods using ordinary method lookup (possible in classes in the inheritance chain)" ?
08:13 moritz fwiw we've had such a fallback already, once. It was a bad idea.
08:13 moritz (or was it from method to sub?)
08:28 masak hm, wasn't that mediated by some marker or other?
08:28 * masak seems to recall putting a '*' before a routine name in the declaration
08:31 moritz there's 'is export' these days
08:31 moritz which exports a method as a sub
08:35 kivutar joined #perl6
08:40 masak in practice, I never use that.
08:40 masak methods are methods.
08:41 FROGGS_ a contract is a contract is a contract
08:41 FROGGS_ (but only between Ferengies)
08:41 masak that seems to be the consensus on p5 CPAN as well, where the syntactic distinction between subs and methods isn't even there.
08:42 dayangkun joined #perl6
08:42 dakkar joined #perl6
08:43 jjk joined #perl6
08:45 jjk joined #perl6
08:46 pecastro joined #perl6
09:07 cibs joined #perl6
09:21 FROGGS_ TimToady: should Buf have a split method?
09:23 oetiker joined #perl6
09:24 donaldh joined #perl6
09:29 dayangkun joined #perl6
09:30 fhelmberger joined #perl6
09:30 masak lizmat: can I remove S17-concurrency-OLD.pod? if not, what's blocking on doing so?
09:30 masak or "what is it blockng on?", rather
09:33 dalek specs: f04f0ab | (Elizabeth Mattijsen)++ | S17-concurrency-OLD.pod:
09:33 dalek specs: Remove old S17
09:33 dalek specs: review: https://github.com/perl6/specs/commit/f04f0abee9
09:33 masak \o/
09:33 masak lizmat++
09:47 Psyche^_ joined #perl6
09:53 Ven joined #perl6
09:55 masak r: class Conf { has @.boxes where { all(@$_) >= 0 } }; my $c = Conf.new(:boxes[ 2, 2, -1 ]); say $c.perl
09:55 camelia rakudo-{parrot,jvm,moar} f1b05d: OUTPUT«Conf.new(boxes => Array.new(2, 2, -1))␤»
09:55 masak should this be allowed?
09:56 moritz nope
09:57 Ven m: class Conf { has @.boxes where { say @$_.perl; all(@$_) >= 0 } }; my $c = Conf.new(:boxes[ 2, 2, -1 ]); say $c.perl
09:57 camelia rakudo-moar f1b05d: OUTPUT«Conf.new(boxes => Array.new(2, 2, -1))␤»
09:57 Ven masak: It doesn't even look like the `where` is evaluated
09:57 dalek nqp: 2657b1e | (Elizabeth Mattijsen)++ | tools/build/MOAR_REVISION:
09:57 dalek nqp: Bump MOAR_REVISION
09:57 dalek nqp: review: https://github.com/perl6/nqp/commit/2657b1e873
09:58 Ven "make: write error Failed running make install at /Users/foo/.rakudobrew/bin/rakudobrew line 23." Oh :(
09:58 moritz "write error" looks like "disc full" to me
09:58 Ven Actually, moar-HEAD doesn't contain a `bin` directory.
09:59 ChoHag If I have three attributes in a class (%.a, %.b, %.c) how can I write a method in which one of the arguments determines which attribute to process the other arguments with?
09:59 Ven ChoHag: I'm not sure I understand
09:59 moritz I think ChoHag wants indirect lookup
09:59 ChoHag method bar { eval "say \%.$^a" } achieves it, uglily.
09:59 Ven oh. $a.'arg';
09:59 lizmat feels to me you need one @.hashes attribute, and an index
10:00 moritz since the attributes are exposed with accessors, you can use self."$name"()
10:00 masak what lizmat said.
10:00 masak maybe binding will help here somehow, too.
10:00 ChoHag lizmat: Maybe. I'm not too happy with the design but I want to see where it goes.
10:01 moritz m: class A { has $.a = 42; has $.b = 23; method x ($which) { say self."$which"() } }; A.new.x('b')
10:01 camelia rakudo-moar f1b05d: OUTPUT«23␤»
10:01 masak r: class C { has $.x where * > 0 }; say C.new(:x(-42)).x
10:01 camelia rakudo-{parrot,jvm,moar} f1b05d: OUTPUT«-42␤»
10:01 * masak submits rakudobug
10:01 ChoHag moritz: Don't self.foo and %.foo act differently if the attribute is exposed?
10:01 moritz ChoHag: well yes, the % is also a contextualizer
10:01 moritz ChoHag: but a % contextualierizer on a % attribute is a no-op
10:02 colomon joined #perl6
10:02 Ven moritz: not a disc full, I have 200go free.
10:02 ChoHag Doesn't self.attribute restrict write access to the attribute as a method caller would?
10:03 ChoHag as it would be to a consumer of the class, I mean.
10:03 Ven `.` is the getter
10:03 Ven (and is virtual)
10:03 * Ven remembers what lizmat told him 'bout this :)
10:03 * ChoHag doesn't
10:04 moritz ChoHag: yes
10:04 lizmat $.foo uses the getter method to fetch the value of the attribute, and is subclassable
10:04 moritz ChoHag: you can try to experiment with ::('$!a') and stuff like that
10:04 lizmat $!foo accesses the attribute directly
10:04 moritz ChoHag: but I don't know if object-scope indirect method notation is implemented
10:05 moritz though in the end, you can always go through the MOP
10:05 moritz once you have the Attribute object, you can go through bind_value to set things, iirc
10:05 moritz (or was it set_value?)
10:06 masak niecza: class C { has $.x where * > 0 }; say C.new(:x(-42)).x
10:06 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0m��Postconstraints, and shapes on variable declarators NYI at /tmp/DuTwCq0lY5 line 1:�------> [32mclass C { has $.x where * > 0 [33m�[31m}; say C.new(:x(-42)).x[0m��Unhandled exception: Check failed��  ÃƒÂ¢Ã¢â€šÂ¬Ã‚¦Ã‚»
10:06 masak at least Niecza knows it can't.
10:07 ChoHag Sorry phone.
10:08 ChoHag Hmm.
10:08 moritz .oO( some people have a smart phone, some have a sorry phone )
10:08 masak sorry phones are the phones of the future, though.
10:08 ChoHag Mine's not so smart.
10:08 masak I'd rather have a phone that's sorry than one that thinks it's smart.
10:09 * moritz tried to purchase a dumb phone, bought something on ebay for 15euro, and still got something that can ran opera, capture videos, and do all that annoying stuff that drains the battery
10:10 ChoHag The problem is, at a pinch, ssh on the phone is useful.
10:10 masak moritz: surely that must be a viable niche market that someone has pounced upon? "buy this phone -- it does next to *nothing*! battery time is *great*!"
10:10 ChoHag Shop where old people shop.
10:11 ChoHag You will eventually anyway.
10:11 dalek rakudo/nom: 6dd2e80 | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION:
10:11 dalek rakudo/nom: Bump NQP_REVISION
10:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6dd2e809c3
10:12 cognominal moritz, in 10 years, maybe we will have trouble to shop for a dumb watch :)
10:13 moritz masak: there's a marked for mobile phones for elderly people
10:13 moritz masak: somehow I was convinced I'm not their target market. Maybe I'm wrong.
10:14 cognominal I want a watch that only displays time?  oh, you can use a watch for that? I use it to monitor my glycemy.
10:15 ChoHag Is there a standard idiom to move an entry from one hash to another?
10:16 cognominal my father has bought a smart phone.  It is shared with my mother which is hermetic to all things digital so she cannot use it.
10:17 Ven Nope, rakudobrew still writeerrors, even with sudo
10:17 ChoHag In 5: $x{$foo} = delete $y{$foo}; # I think
10:18 Ven In rakudo's install.txt, the "install only one backend" examples have no --backends=
10:19 ChoHag %x{$foo} = %y{$foo}:delete; # ?
10:22 Ven Are "short argument names" implemented in rakudo ?
10:27 cognominal Ven: I think you mean by that a degenerated use of subsignature
10:29 masak moritz: old people kinda have a point in this case
10:32 cognominal m:  >  sub hi( :who(:w $w)) { say $w };  hi(:w<Ven>); hi(:who<Ven>)
10:32 camelia rakudo-moar f1b05d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/lUXjIR243V�Preceding context expects a term, but found infix > instead�at /tmp/lUXjIR243V:1�------> [32m>[33m�[31m  sub hi( :who(:w $w)) { say $w };  hi(:[0m�»
10:32 cognominal m:    sub hi( :who(:w $w)) { say $w };  hi(:w<Ven>); hi(:who<Ven>)
10:32 camelia rakudo-moar f1b05d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/sE_pvF5tEI�Malformed parameter�at /tmp/sE_pvF5tEI:1�------> [32msub hi( :who([33m�[31m:w $w)) { say $w };  hi(:w<Ven>); hi(:wh[0m�    expecting any of:�        statement list�     …»
10:45 jnthn joined #perl6
10:47 Pleiades` joined #perl6
11:00 Ven Why do I get a write error on `make`, srsly >_>
11:01 Ven Oh, it actually works.
11:02 tadzik ahahaha, DSON
11:02 yoleaux 14 Jun 2014 05:55Z <thou> tadzik: Do you have any feedback on https://github.com/tadzik/panda/pull/80 ?
11:02 tadzik xfix++
11:02 tadzik oh!
11:03 * xfix .oO( nice, I get extra karma for absolutely nothing )
11:03 Ven xfix: for dson ;)
11:03 Ven in META.info, version has to be x.y.z or * ?
11:05 dalek panda: da6558d | (Tim Smith)++ | / (2 files):
11:05 dalek panda: Define make-default-ecosystem in Panda::App
11:05 dalek panda:
11:05 dalek panda: Enable Panda::App to be used by other tools to set up the same
11:05 dalek panda: ecosystem that bin/panda uses.
11:05 dalek panda: review: https://github.com/tadzik/panda/commit/da6558d3f2
11:05 dalek panda: 035ffc6 | (Tim Smith)++ | / (3 files):
11:05 dalek panda: Rename '.work' to '.panda-work'
11:05 dalek panda: review: https://github.com/tadzik/panda/commit/035ffc6995
11:05 dalek panda: 2714f9f | tadzik++ | / (4 files):
11:05 dalek panda: Merge pull request #80 from softmoth/master
11:05 dalek panda:
11:05 dalek panda: Factor out make-default-ecosystem() for external scripts
11:05 dalek panda: review: https://github.com/tadzik/panda/commit/2714f9f7ff
11:06 tadzik Ven: I don't think we ever specified that
11:06 Ven tadzik: mmh. I'd like to know to make a xyz tool
11:06 * tadzik sort of expected https://github.com/xfix/Acme-DSON/blob/master/META.info to be in DSON
11:06 xfix tadzik: wouldn't work.
11:06 xfix Otherwise, I would do that.
11:06 tadzik I know it can't be, but that'd be hilarous nonetheless
11:07 tadzik especially after seeing the README
11:08 Ven It could be, then compiled ;)
11:11 Pleiades` joined #perl6
11:13 dmol joined #perl6
11:13 xfix tadzik: I originally planned README.md, like I do in my other projects, but I decided to make plain text file that is DSON itself, because the module itself is a joke anyway.
11:16 Ven tadzik: https://github.com/xfix/Acme-DSON/pull/1
11:16 xfix Ven: not valid DSON.
11:16 xfix Object literals end with 'wow'.
11:17 Ven xfix: fixed already
11:17 xfix Merged.
11:19 xfix Also, it seems that DSON removed 'next'.
11:19 xfix I'll update DSON now.
11:20 Ven xfix++ :D
11:22 xfix Done.
11:26 wingfold joined #perl6
11:27 brrt joined #perl6
11:29 masak how do I mark the last statement in a routine, in the case it is a statement-modifier for loop, as being the return value?
11:29 masak put it in parens?
11:29 * masak consults S04 on this
11:29 Ven masak: statement-modifier for loop ?
11:30 masak Ven: ... if ... for ...;
11:30 masak oh, parens is what doctor S04 orders.
11:30 masak or the 'lazy' keyword.
11:31 masak I think I prefer the parens in this case; a bit less obtrusive.
11:31 * masak is writing a blog post
11:32 kurahaupo joined #perl6
11:33 Ven m: say foo; sub foo { (1 if True for ^5); }
11:33 camelia rakudo-moar f1b05d: OUTPUT«1 1 1 1 1␤»
11:34 Ven .oO( That's a pretty bad way to write 1 x 5 )
11:35 masak m: say foo; sub foo { 1 if True for ^5 }
11:35 camelia rakudo-moar f1b05d: OUTPUT«Nil␤»
11:35 masak that's what I ran into.
11:35 masak I'm writing fairly FP-ish code, fwiw.
11:35 masak so I guess I had the expectation of implicit return of the (lazy) list.
11:36 tadzik we need dsonlint.com
11:39 Ven masak: would be inconsistent with for vs do for
11:39 Ven masak: FWIW, ruby gets away with it because it doesn't really have a `for` construct
11:39 Ven (I mean, gets away with implicit returns everywhere and performance)
11:40 Ven CoffeeScript doesn't get away with it and plenty of time we see people add `null` at the end of their functions not to have a `for` loop at the end of the function
11:41 masak that's the situation Perl 6 used to be in before TimToady++ changed the spec.
11:41 masak but (especially after what just happened) I realize that this is a damned-if-you-do-damned-if-you-don't kind of design decision.
11:43 SamuraiJack joined #perl6
11:46 Ven Most definitely.
11:46 Ven As I said -- Ruby niftily (?) gets away with it because Array#each returns itself.
11:47 Ven (In LS, we allow you to prefix your function sigil with ! to remove the implicit return)
11:49 igorsutton joined #perl6
11:50 dmdr joined #perl6
11:51 spider-mario_ joined #perl6
11:55 spider-mario joined #perl6
12:03 masak just wanted to point out that the REPL currently dies after ~50 evaluations, with the error "Spesh: failed to fix up handlers (-1, 110, 110)"
12:04 lizmat better than ~13  :-)
12:04 Ven "Unhandled exception: failed to load library 'dynext/libperl6_ops_moar.dylib'" :'(
12:05 * lizmat wonders whether "is cached" would make sense on a class
12:05 Ven lizmat: on a BUILD, maybe
12:05 Ven Anytime I try to access to perl6 outside of my rakudo directory, it blows up
12:05 lizmat well, but then you would have to have a BUILD or new or bless
12:05 lizmat Ven: gist ?
12:06 Ven lizmat: gist of ?
12:06 lizmat the blowup?
12:06 Ven lizmat: "Unhandled exception: failed to load library 'dynext/libperl6_ops_moar.dylib'    at <unknown>:1  (/Users/notliz/os/rakudo/perl6.moarvm::303)"
12:07 psch joined #perl6
12:07 psch hi #perl6
12:07 lizmat psch o/
12:07 lizmat Ven: sorry, doesn't ring a bell  :-(
12:07 Ven I already had that last time I built rakudo on a debian.
12:07 Ven Do I need to have the .dylib in my path or something ?
12:07 psch i found a segfault!
12:08 psch look at RT#69492
12:08 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=69492
12:08 psch *looking
12:08 psch trying to get .name for a anon named segfaults moar
12:08 psch +parameter
12:09 masak yes, definitely better than ~13.
12:09 psch additionally, i think the test for the ticket isn't quite sufficient, i.e. even sub foo {} has at least one ':'; but i don't think testing for ':($' instead is much better
12:09 Ven masak: tried both 13 and 50 here, doesn't fail running
12:09 Ven Also tried on my windows last time, definitely doesn't blow up at 13.
12:09 Ven Here is moar, my windows has parrot.
12:10 lizmat Ven: fwiw, I have some symlinks to perl6 executables in my path, maybe that makes a difference ?
12:10 Ven lizmat: Absolutely no clue ..
12:11 Ven I'll try and rebuild ...
12:15 Ven nope, no luck.
12:17 Ven my perl is 5.16, so that didn't blew up.
12:17 lizmat after the Configure, the version of perl5 should really not matter
12:17 Ven I'll reconfigure and remake.
12:18 bebus joined #perl6
12:18 FROGGS_ masak: "Spesh: failed to fix up handlers (-1, 110, 110)" this was fixed a week ago
12:18 Ven FROGGS_: hey -- is your windows build process documented somewhere ?
12:18 FROGGS_ hmmm, maybe it got reintroduced...
12:19 FROGGS_ Ven: build what? I usually do not build windows itself :o)
12:19 bebus left #perl6
12:19 Ven FROGGS_: rakudo*
12:19 FROGGS_ ahh, star
12:19 Ven FROGGS_: wait, you mean you're not bill gates ?
12:19 FROGGS_ *g*
12:20 FROGGS_ I have a 10 line walkthrough of the build process, hold on
12:20 Ven Nope, reconfigured, remaked. remakeinstalled. still won't work.
12:20 Ven What am I to do if I can't p6 while I'm supposed to work ?!
12:20 FROGGS_ coffee?
12:21 Ven FROGGS_: wait, you mean you're not the coffee guy either ?
12:21 FROGGS_ and office sleep should be very healthy also
12:21 FROGGS_ I am a coffee guy
12:21 Ven FROGGS_: wait, you mean you're not the pillow guy either ?
12:21 FROGGS_ :P
12:22 FROGGS_ every morning it fells like I should consult my pillow more often
12:22 FROGGS_ Ven: https://gist.github.com/FROGGS/b9b848250062860e61de
12:23 Ven FROGGS_: WHIPE rakudo ? Boi, what did this kid do to you ? :P
12:23 FROGGS_ Ven: rename it to 'rakudo_' :o)
12:24 Ven FROGGS_: (I was just jokign with WHIPE/WHIP)
12:24 FROGGS_ this is for rakudo@parrot star btw, in case you want to build for more just adjust step 6, and forget about step 7 and 8
12:24 FROGGS_ hmmm, what word was I thinking of?
12:25 Ven FROGGS_: wipe ?
12:25 FROGGS_ ahh, yes! :D
12:27 masak FROGGS_: seems I have a slightly ould Rakudo built. I'll rebuild and see if the problem goes away. thank you.
12:28 Ven Don't tell me nobody ever got a dylib missing with moar ? The two times I built it, I got it :o)
12:28 FROGGS_ mine is also old, so I cannot test right now
12:28 FROGGS_ (too many stuff I fiddle right now)
12:29 FROGGS_ Ven: I've never seen such an error on my linux or windows box :P
12:29 FROGGS_ so, perhaps these OSes are superior?
12:30 Ven FROGGS_: I got it on linux and osx
12:31 Ven I'll try building jvm too.
12:32 masak also, if it were up to me, we would hide the output from declaring a sub in the REPL.
12:32 masak that makes no-one happy.
12:33 Ven m: sub f {}
12:33 camelia rakudo-moar 6dd2e8: ( no output )
12:33 Ven m: sub f { say 1 }
12:33 camelia rakudo-moar 6dd2e8: ( no output )
12:33 sqirrel_ joined #perl6
12:33 Ven masak: ?
12:34 * [Coke] yawns.
12:36 masak Ven: in the REPL.
12:36 masak Ven: not using camelia.
12:36 * Ven will check his REPL when he gets one
12:38 * Ven fixed his perl 6.
12:39 masak also, while I'm proposing things: I suggest we abolish .gist, and instead make .Str more .gist-like.
12:40 masak the (IMO useless) distinction between concatenating values (which uses .Str) and &say-ing values (which uses .gist) is very distracting, and leads to bugs, which leads to sadness.
12:40 lizmat $ ack 'method gist' src/core | wc -l
12:40 lizmat 43
12:41 dayangkun joined #perl6
12:42 Ven Now to get panda.
12:42 guru joined #perl6
12:42 [Coke] masak: +1 from me on eliminating .gist
12:43 [Coke] Good luck getting TimToady to agree, however. :)
12:44 lizmat fwiw, not many gist methods have identical .Str methods
12:44 FROGGS_ hmmmm, but .gist and .Str and a Match are very different
12:46 Ven panda has no versioning ?
12:46 FROGGS_ Ven: what do you mean exactly?
12:46 Ven oh, yeah, that story about removing META.info and just using :<ver> ?
12:47 masak maybe some .gist methods have non-identical .Str methods because one of them sucks.
12:47 masak note (again) that Python has *one* way to stringify things. essentially .perl, but nicer.
12:47 FROGGS_ Ven: we will always have META.info (META6.info soonish) for distributions
12:47 masak Perl 6 has *three*. (.Str .gist .perl)
12:47 moritz sometimes the .Str method sucks, because it's very often p5 heritage
12:47 masak moritz: which we have partially gotten rid of.
12:47 masak see boolean stringification, for example.
12:48 Vlavv joined #perl6
12:48 masak used to be 0 and 1. no-one seems to mind that it's now False and True :)
12:48 FROGGS_ masak: propose something for Match
12:48 masak FROGGS_: let me think.
12:49 masak m: "foo" ~~ / f (o)* /; say $/.Str; say $/.gist; say $/.perl
12:49 camelia rakudo-moar 6dd2e8: OUTPUT«foo␤「foo」␤ 0 => 「o」␤ 0 => 「o」␤␤Match.new(orig => "foo", from => 0, to => 3, ast => Any, list => ([Match.new(orig => "foo", from => 1, to => 2, ast => Any, list => ().list, hash => EnumMap.new()), Match.new(orig => "foo", from => 2, to…»
12:49 FROGGS_ hmmm, perhaps I could live with .Str and .perl for Match
12:49 betterworld masak: python has at least str() and repr() :)
12:49 masak betterworld: oh, troo
12:49 moritz IMHO it would be fine if Match.Str was used on default output, and the .gist still be available
12:49 masak betterworld: but they are often equal, at least for the built-ins.
12:49 moritz for manual calling
12:50 FROGGS_ Match.perl is not very readable though, and Match.gist is the opposite
12:50 FROGGS_ m: say Int.Str; say Int.gist; say Int.perl
12:50 camelia rakudo-moar 6dd2e8: OUTPUT«use of uninitialized value of type Int in string context␤␤(Int)␤Int␤»
12:51 FROGGS_ I want to keep all three :/
12:51 FROGGS_ I would be fine if say would use .Str instead of .gist though
12:59 moritz note that 'Int' is available more idiomatically as .^name
13:01 Ven `$version ~~ / $<major>=\d '.' $<minor>=\d /; my %h = ($_ => $/{$_}.Int for $/.keys);` isn't there a more elegant way of doing this ?
13:02 erkan joined #perl6
13:02 lizmat make it a Version object?
13:02 FROGGS_ moritz: yes, but when I do 'say $something.^name', I don't see the value if it isnt a type object
13:02 Ven That seems really overkill
13:04 Ven I don't have any checking with Version, either
13:06 lizmat you were asking more "elegant", that could be overkill  :-)
13:07 awwaiid if version is so fundamental, maybe we should have $something.^version :)
13:07 Ven and I can't modify Version.parts.
13:09 lizmat hmmm... I'm not sure how TimToady would feel about making it mutable
13:10 molaf joined #perl6
13:11 Ven I just resorted to split.
13:11 jnap joined #perl6
13:12 moritz FROGGS_: well, .^name is the shortest way to get the type name, even if it's an instance
13:12 FROGGS_ moritz: I know
13:13 FROGGS_ but want to know from $something is what is inside, so .gist gives me a value if it has one or the typename
13:13 FROGGS_ that is, I don't want the type name if it has a value
13:14 moritz well, it really depends on the use case
13:14 moritz there are lots of situations when I'm interested in the type
13:14 moritz like, when a dispatch failed
13:21 masak r: say [2, 0] eqv (2, 0)
13:21 FROGGS_ False
13:21 masak this just surprised me. expected True.
13:21 camelia rakudo-jvm 6dd2e8: OUTPUT«(timeout)»
13:21 camelia ..rakudo-{parrot,moar} 6dd2e8: OUTPUT«False␤»
13:21 FROGGS_ I guess it is because the LHS is an item
13:22 Ven https://github.com/Nami-Doc/xyz.pm6 It works \o/
13:22 Ven ./xyz --patch will update your file, commit the change, tag the new version and push the tag
13:22 FROGGS_ such magic!
13:22 FROGGS_ :D
13:23 flaviusb joined #perl6
13:25 lizmat shouldn't that be META6.json ?
13:25 lizmat as the default I mean?
13:28 Ven Oh, I broke my perl 6 again.
13:28 dalek rakudo/nom: 4dd2cc4 | (Elizabeth Mattijsen)++ | tools/build/Makefile-JVM.in:
13:28 dalek rakudo/nom: Make sure S17-supply/watch_path.t actually compiles
13:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4dd2cc4052
13:28 * Ven fixed it again
13:29 Ven Not sure how I can go with both a .pl and one with a shebang, though :(
13:30 Ven perl6 is cool for shell scripts, it is.
13:30 Ven But I should be working at
13:31 lizmat [Coke]: I'm seeing S04-phasers/in-loop.t fail reliably on jvm now: https://gist.github.com/lizmat/2bbcb4f8799f689da1ff
13:32 lizmat is this something you've seen before?
13:32 timotimo masak: fwiw, python has two ways to stringify things; str and repr
13:32 yoleaux 06:12Z <Mouq> timotimo: I tried gtk-simple, but on the latest MoarVM it dies with "Attribute $!gtk_widget not declared in class GTK::Simple::Switch at lib/GTK/Simple.pm6:535", which is a bogus error...
13:32 donaldh lizmat: I've seen that for a while now.
13:32 timotimo oh, someone else told you that already
13:33 lizmat ah, ok... it;s just that since a long time, I wasn't able to complete the spectest on jvm
13:33 Ven Oh, project euler is down
13:33 timotimo oh, interesting error
13:34 donaldh lizmat: the in-loop tests are all marked todo but exit ungracefully on JVM so a better fudge might be required.
13:35 noganex joined #perl6
13:35 dalek gtk-simple: 5b28644 | (Timo Paulssen)++ | lib/GTK/Simple.pm6:
13:35 dalek gtk-simple: fix GTK::Simple::Switch, hopefully
13:35 dalek gtk-simple: review: https://github.com/perl6/gtk-simple/commit/5b28644ad6
13:36 bluescreen10 joined #perl6
13:42 FROGGS_ joined #perl6
13:43 FROGGS_ lizmat: you are right of course # META6.json
13:46 masak Ven: did you know that you can indent the heredocs in Perl 6, so that they follow the indent of the rest of the code?
13:46 Ven masak: yes
13:46 psch joined #perl6
13:47 masak timotimo: yes, betterworld++ pointed that out. that would be like us having .Str and .perl, I guess.
13:47 masak Ven: did you also know that a usage message is automatically generated for you? (and there are probably ways to trigger it in your xyz.pl program)
13:48 Ven masak: --help can't be generated with %*
13:48 masak you might be better off overriding USAGE, in any case.
13:48 Ven %* catches --help
13:49 Ven so no, I can't
13:51 FROGGS_ the normal way would be to add a MAIN(:$help!), MAIN(:$minor!), MAIN(:$major!) and MAIN(:$patch!),
13:52 masak well, this one seems to be able to do combinations. is that a feature?
13:58 btyler joined #perl6
14:05 masak m: my $s = set; $s (|)= 42; say $s
14:05 camelia rakudo-moar 6dd2e8: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/BfwH5vp3JD�Two terms in a row�at /tmp/BfwH5vp3JD:1�------> [32mmy $s = set; $s [33m�[31m(|)= 42; say $s[0m�    expecting any of:�        postfix�        infix stopper�        inf…»
14:05 masak m: my $s = set; $s = $s (|) 42; say $s
14:05 camelia rakudo-moar 6dd2e8: OUTPUT«set(42)␤»
14:05 masak something is wrong with the assignment variants of the set operators.
14:05 oetiker joined #perl6
14:06 masak m: my $s = set; $s ∪= 42; say $s
14:06 camelia rakudo-moar 6dd2e8: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/eDMlNVCBBN�Two terms in a row�at /tmp/eDMlNVCBBN:1�------> [32mmy $s = set; $s [33m�[31m∪= 42; say $s[0m�    expecting any of:�        postfix�        infix stopper�        inf…»
14:06 masak m: my $s = set; $s = $s ∪ 42; say $s
14:06 camelia rakudo-moar 6dd2e8: OUTPUT«set(42)␤»
14:06 * masak submits rakudobug
14:08 thou joined #perl6
14:08 pdcawley joined #perl6
14:09 lizmat could it be some internal attribute of the set operators is not correct ?
14:09 masak no idea.
14:16 masak so, FIRST doesn't run if there are no iterations.
14:16 jnthn And nor does LAST any more.
14:16 masak which phaser do I use if I want to run even when there are no iterations?
14:16 moritz INIT?
14:17 masak (I want to do an unconditional once-only take in a 'gather for')
14:17 masak moritz: trying.
14:17 masak m: say (gather for 1..3 { take $_ })
14:17 camelia rakudo-moar 6dd2e8: OUTPUT«1 2 3␤»
14:18 masak m: say (gather for 1..3 { INIT take "OH HAI"; take $_ })
14:18 camelia rakudo-moar 6dd2e8: ( no output )
14:18 masak o.O
14:18 masak I...
14:18 * masak submits rakudobug
14:18 masak r: say (gather for 1..3 { INIT take "OH HAI"; take $_ })
14:18 camelia rakudo-{jvm,moar} 6dd2e8: ( no output )
14:18 camelia ..rakudo-parrot 6dd2e8: OUTPUT«take without gather␤  in block  at gen/parrot/CORE.setting:533␤  in block  at gen/parrot/CORE.setting:569␤  in block  at /tmp/tmpfile:1␤␤»
14:18 masak oh.
14:18 masak Parrot may actually have a point.
14:19 moritz masak: maybe you want   gather { take "bla"; for 1..3 { ... } }
14:19 masak moritz: yes, that'd work.
14:19 masak moritz: I was just wondering if there is a phaser that does this.
14:19 moritz masak: on 2015-04-01 I'll propose a NORMAL phaser that runs as part of the normal code execution path
14:20 moritz masak: or maybe I'll call it BORING
14:20 lizmat r: unless do for (1) { FIRST say "first" } { say "none" }
14:20 camelia rakudo-{parrot,jvm,moar} 6dd2e8: OUTPUT«first␤none␤»
14:20 lizmat surprised to see the "non" in this case
14:20 lizmat r: unless do for () { FIRST say "first" } { say "none" }
14:20 camelia rakudo-{parrot,jvm,moar} 6dd2e8: OUTPUT«none␤»
14:21 lizmat actually, I think a NONE phaser would make sense here
14:21 lizmat for () { NONE say "none" }
14:21 masak moritz: :)
14:23 moritz masak: and the companion phaser BORAT fires mostly at random, and must be written with an additional trailing {
14:26 [Coke] lizmat: Trying to find a git grep that will tell me the answer to your question, but sounds like you already found it.
14:26 [Coke] donaldh: any more suggestions on preventing the jvm daily roast from failing using the eval server?
14:26 masak moritz: does it still adhere to the '}'-at-end-of-line-ends-statement rule?
14:27 colomon joined #perl6
14:29 moritz masak: well no, otherwise the trailing { would be a statement on its own
14:31 [Coke] donaldh: have you any idea how to bundle perl6 in a jar we could invoke from eclipse?
14:31 donaldh [Coke]: no, I tried to reproduce your problem, but without any success so far. I may need to create a VM with limited memory to force the same behaviour.
14:32 [Coke] donaldh: we can probably get you a login on the roast box to play with.
14:33 [Coke] have you tried using the perl6-roast-data runners to duplicate the issue?
14:35 donaldh [Coke]: Bundling perl6 in a jar would be a fun project. Eclipse lets you deploy plugins that expand on the filesystem so would support the current module loading. A more sophisticated approach would involve module loading using a ClassLoader
14:36 donaldh I could have a go at embedding perl6 for eclipse. Do you have a use case in mind?
14:36 [Coke] ... and I just realized I don't need the jar bundled in eclipse, I could do what I wanted as a standalone thing to start.
14:37 [Coke] donaldh: I do coldfusion development for a living. All the editors suck in various ways. I want to make a pretty printer/linter using a perl6 grammar.
14:37 [Coke] so then folks can use whatever they want to edit, but we can all agree on a standard formatting. (by which I mean, I agree, and they conform. :)
14:38 [Coke] I could use something like ANTLR, but perl6 seems much nicer.
14:38 donaldh yeah, I agree
14:39 [Coke] I have some crappy tests now written in coldfusion, but they can't handle things like embedded HTML/JS/CSS/SQL
14:39 [Coke] (which grammars would also be good for.)
14:39 donaldh This gist was the result of me running the perl6-roast-data runner: https://gist.github.com/donaldh/57020f86459600eedaa5
14:40 [Coke] ok, so you're not getting any unexpected failures.
14:40 donaldh My next step is to repeat the perl6-roast-data run inside a memory limited vm.
14:41 * donaldh was thinking of embedding perl6 inside the perl epic editor.
14:41 colomon perlcabal.org down?
14:41 lizmat works for me
14:42 lizmat however, it is bad need of an update
14:42 colomon huh
14:42 treehug88 joined #perl6
14:42 colomon looking at https://github.com/perl6/specs/blob/master/S32-setting-library/IO.pod at the moment, and it seems pretty okay (and I suspect completely up to date).
14:43 lizmat colomon: hmmm...perlcabal.org gives the pugscode.org website
14:43 lizmat some VirtualHost mixup ?
14:43 [Coke] here's more info than I've gotten before: https://gist.github.com/coke/27f00d0bed4929b8ec1b
14:44 [Coke] ^^ donaldh
14:44 donaldh [Coke]: I spent a bit of time over the weekend trying to figure out why the JVM retains so much on the heap during a spectest run. Unfortunately the profiler crashes when I try to use it so I'm having to use blunter tools.
14:47 colomon lizmat: you're right. perlcabal.org is coming out Pugs, and http://perlcabal.org/syn/ (which is always where I go) is… err, it's back now.  :)
14:47 colomon also seems to be completely up-to-date?
14:54 moritz s/Pugs/Mu
14:54 moritz /
14:58 donaldh [Coke]: Yeah, you got a hotspot VM dump that basically says a native alloc failed.
14:59 lizmat FROGGS_: is there any reason why CompUnitRepo::Distribution has a .Hash instead of a .hash ?
15:00 FROGGS_ lizmat: hmmm, no
15:00 erdic joined #perl6
15:02 [Coke] donaldh: was hoping there was something more interesting in there than that. ah well. :)
15:02 * masak is having a lot of fun solving a mathematical problem in Perl 6 today
15:04 anaeem1 joined #perl6
15:05 Ven masak: project euler is down tho :(
15:07 masak found this problem on Twitter.
15:07 masak it's been sloshing around in my brain for two days.
15:07 anaeem1 joined #perl6
15:13 dalek nqp/pmc2c_orig: 1aa8cd9 | rurban++ | src/vm/parrot/pmc/ (7 files):
15:13 dalek nqp/pmc2c_orig: pmc2c_orig: optimize 6model pmcs for the new pmc2c
15:13 dalek nqp/pmc2c_orig:
15:13 dalek nqp/pmc2c_orig: Annotate several PMC methods for unneeded or manual GC write barriers.
15:13 dalek nqp/pmc2c_orig: This requires the new pmc2c from parrot 6.5.0
15:13 dalek nqp/pmc2c_orig:
15:13 dalek nqp/pmc2c_orig: This is 2-4% faster for the nqp testsuite.
15:13 dalek nqp/pmc2c_orig: $ perf stat -r2 prove -r --exec "./nqp-p --vmlibs=nqp_dyncall_ops" t/nqp t/hll t/qregex t/p5regex t/qast t/serialization
15:13 dalek nqp/pmc2c_orig: review: https://github.com/perl6/nqp/commit/1aa8cd9821
15:14 lizmat rurban++ for not giving up on rakudo on parrot
15:19 [Coke] rurban++ # agreed.
15:21 masak rurban++ # the more backends, the better
15:24 lizmat FROGGS_: I'm considering renaming CompUnitRepo::Distribution to just Distribution
15:25 lizmat as the Distribution itself does not necessarily have anything to do with CompUnitRepo's just yet
15:25 lizmat and we might have Distributions without any installed CompUnit's, just consisting of data files et all
15:26 lizmat FROGGS_ (or anybody else): thoughts?
15:27 FROGGS_ +1
15:34 rindolf joined #perl6
15:35 masak +1
15:40 brazuca joined #perl6
15:41 masak what's the current way to define something to intercept MyType($a, $b, $c) ?
15:42 lizmat .wrap ?
15:43 masak never mind, I'll just use a sub with a lowercase letter instead.
15:43 lizmat or do you mean PARAMETERIZE_TYPE ?
15:47 masak yes, that seems to be what I wanted. lizmat++
15:47 masak but I think my current approach is nicer.
15:48 lizmat PARAMETERIZE_TYPE is not specced, afaik, and a temp hack at best (was my impression)
15:51 stux joined #perl6
15:52 xinming joined #perl6
15:53 masak m: class C { method Str { "overridden" } }; say C.new.gist
15:53 camelia rakudo-moar 4dd2cc: OUTPUT«C.new()␤»
15:53 kaare_ joined #perl6
15:53 masak m: class C { method gist { "overridden" } }; say C.new.Str
15:53 camelia rakudo-moar 4dd2cc: OUTPUT«C<140282296048608>␤»
15:59 dalek specs: 480e2ef | (Elizabeth Mattijsen)++ | S22-package-format.pod:
15:59 dalek specs: Elaborate some more on S22:
15:59 dalek specs:
15:59 dalek specs: Describe:
15:59 dalek specs: - CompUnitRepo specification (e.g. "inst:name<work>:/installed_modules")
16:00 dalek specs: - Distribution class
16:00 dalek specs: - %*CUSTOM_LIB
16:00 dalek specs: - %*INC
16:00 dalek specs: and other various tweaks, fixes and elaborations
16:00 dalek specs: review: https://github.com/perl6/specs/commit/480e2ef4bc
16:00 lizmat masak: you're getting the .Str.gist
16:02 timotimo what am i doing wrong if my blog gets most of its hits on each monday before i even posted the weekly post? >_>
16:02 lizmat not posting early enough?
16:02 lizmat actually, I think this is because it's mentioned in Gabor's Perl Weekly mail
16:03 timotimo heh :)
16:04 timotimo could be
16:05 lizmat under Weekly collections
16:05 lizmat Beginning of inlining, some GSoC work materializes, DSON encoder/decoder
16:05 timotimo ah, that's last week's
16:10 masak yes, it's got to be because of szabgab++'s newsletter.
16:14 segomos_ or people are trying to get back into the swing of work
16:14 segomos_ and not working
16:15 denis_boyun_ joined #perl6
16:15 donaldh timotimo: You said you'd post every Monday. I check during my day but it's usually not posted.
16:17 timotimo right
16:17 betterworld once the blog post is there, people stop refreshing their browsers
16:17 timotimo i should write "monday evening"
16:23 donaldh what TZ are you in?
16:24 timotimo GMT+1 i believe; CEST
16:24 molaf_ joined #perl6
16:25 brrt joined #perl6
16:26 donaldh Oh okay, evening must stretch pretty late for you ;-) I am in GMT and don't usually see your post until Tuesday.
16:26 * donaldh makes mental note to check for post on Tuesdays
16:26 denis_boyun___ joined #perl6
16:27 * donaldh is running rakudo.jvm.sh on a VM with 3GB RAM for [Coke]++
16:28 timotimo http://p6weekly.wordpress.com/?p=180&amp;shareadraft=539f1b2a1ed81 - feedback much appreciated
16:28 timotimo especially mentions of things i've forgotten
16:33 FROGGS_ ohh, inline got merged?
16:35 timotimo aye
16:35 timotimo and the revisions got bumped, too
16:35 btyler "I'ven't", while logical, would probably get you a slap on the wrist from a grammar teacher :)
16:36 timotimo i'dn't've decided against it, even if you told me that.
16:39 btyler any news from sergot++'s gsoc work?
16:40 timotimo no new blog post yet
16:40 [Coke] donaldh++
16:42 dmol joined #perl6
16:42 hoverboard joined #perl6
16:43 guru joined #perl6
16:44 Rotwang joined #perl6
16:53 lizmat timotimo: maybe explain a little more about what is so special about the JIT?
16:53 lizmat that it changes the "return 12 - 6" to machine code (is the way I understand it)
16:54 lizmat timotimo: maybe add "of the past years" to the mention of dwarring++ 's work ?
16:55 timotimo can do, thanks
16:55 amirite joined #perl6
16:59 rurban_ timotimo: you could add that the new parrot release 6.5.0 includes Chirag's work already. "Released with 6.5.0"
17:00 rurban_ and all roast spectests pass now (again) on parrot
17:00 timotimo ah, great!
17:00 tadzik timotimo:
17:00 tadzik oh, I was going to mention I'ven't too
17:01 timotimo why the hate for i'ven't?
17:01 rurban_ parrot added also namealiases for control chars, which went away with ICU 5.2
17:01 lizmat rurban_: does that mean we need to bump nqp's PARROT_REVISION ?
17:01 tadzik it looks like something between Elvish and Cthulu fhtagn
17:01 tadzik however you write the latter :)
17:01 timotimo rurban_: we do 100% of the spectests on parrot with 6.5.0?
17:01 rurban_ not yet. not yet released officially. tomorrow
17:02 rurban_ I pushed a roast pull request to FROGGS, with that it passes.
17:02 lizmat ok, will test after release then  :-)
17:02 timotimo oke! :)
17:02 SamuraiJack joined #perl6
17:03 jnap joined #perl6
17:03 rurban_ I will remove the namealias skips on the spectests also. Currently disabled because of ICU madness
17:04 flaviusb left #perl6
17:04 brrt joined #perl6
17:04 brrt left #perl6
17:04 timotimo going to publish now
17:05 lizmat timotimo++
17:06 dalek rakudo/nom: fc9dcee | (Elizabeth Mattijsen)++ | src/core/CompUnitRepo/Local (3 files):
17:06 dalek rakudo/nom: Introduce CompUnitRepo.short-id
17:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fc9dceec0b
17:08 timotimo FROGGS_: it'd be pretty excellent if there'd be a guide/example/blogpost about the thing where scripts installed via panda (or something) can differentiate between different installed versions and stuff
17:08 timotimo you know what i mean, right?
17:08 timotimo even though i fail at expressing it %)
17:10 dalek rakudo-star-daily: 9ff98d1 | coke++ | log/ (13 files):
17:10 dalek rakudo-star-daily: today (automated commit)
17:10 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/9ff98d1095
17:10 dalek rakudo-star-daily: 30f02b2 | coke++ | log/ (14 files):
17:10 dalek rakudo-star-daily: today (automated commit)
17:10 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/30f02b2e7e
17:10 dalek perl6-roast-data: 9a69a12 | coke++ | / (6 files):
17:10 dalek perl6-roast-data: today (automated commit)
17:10 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/9a69a127d0
17:10 dalek perl6-roast-data: da46d70 | coke++ | / (6 files):
17:10 dalek perl6-roast-data: today (automated commit)
17:10 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/da46d70d42
17:14 dalek rakudo/nom: 7e66d3e | (Elizabeth Mattijsen)++ | / (5 files):
17:14 dalek rakudo/nom: Part 1 CUR::Distribution -> Distribution migration
17:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7e66d3e2e1
17:15 ChoHag How can I create a class (or role?) which calls a method when an instance of the class is used in a string/numeric/etc (the Cool types) context?
17:16 timotimo well, at least .Str can just be used as a method
17:16 timotimo otherwise there's .Numeric, .Real, .Num, .Int and .Bool
17:16 lizmat method Numeric for + context
17:16 lizmat method Bool for ? context
17:16 timotimo ah, numeric is the right one?
17:17 lizmat m: say $*USER; say +$*USER; say ~$*USER
17:17 camelia rakudo-moar 4dd2cc: OUTPUT«p6eval (1005)␤1005␤p6eval␤»
17:17 lizmat Numeric is the one I use in src/core/Process.pm
17:18 denis_boyun_ joined #perl6
17:21 psch m: for 1,2,3, { say 3 } # RT#66776; this throws Comp::Group - i've replaced the one Comp::AdHoc with a narrower type (which sits in a PR now) but i'm wondering if it should just not throw Comp::Group?
17:21 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=66776
17:21 camelia rakudo-moar 4dd2cc: OUTPUT«[31m===[0mSORRY![31m===[0m�Expression needs parens to avoid taking the block�at /tmp/dpdNaCFi7L:1�------> [32mfor 1,2,3, { say 3 }[33m�[31m # RT#66776; this throws Comp::Group - i[0m�Missing block (apparently taken by expression)�at /tm…»
17:21 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=66776
17:21 ChoHag So just provide those few functions which call (variations on) my foo method?
17:21 psch m: class A { method Numeric { 5 }; method Str { "five" }; method Bool { False } }; my A $a .= new; say +$a; say ~$a; say so $a # practical example for ChoHag
17:21 camelia rakudo-moar 4dd2cc: OUTPUT«5␤five␤False␤»
17:21 ChoHag thankyou
17:22 dalek rakudo/nom: 6ca805d | (Elizabeth Mattijsen)++ | src/core/Distribution.pm:
17:22 dalek rakudo/nom: Part 2 CUR::Distribution -> Distribution migration
17:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6ca805d424
17:28 jnap joined #perl6
17:31 psch i think it does need the Comp::Group for the missing block case at least, if only for the cursor position for pointing to where the block is missing and which expression took it...
17:32 lizmat ah, ok
17:32 lizmat merging
17:32 dalek rakudo/nom: ec27142 | (Pepe Schwarz)++ | src/ (2 files):
17:32 dalek rakudo/nom: Added X::Syntax::BlockTaken and use it from the Grammar.
17:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ec27142338
17:32 dalek rakudo/nom: 09134a7 | lizmat++ | src/ (2 files):
17:32 dalek rakudo/nom: Merge pull request #280 from peschwa/nom
17:32 dalek rakudo/nom:
17:32 dalek rakudo/nom: Added X::Syntax::BlockTaken and use it from the Grammar.
17:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/09134a7c23
17:32 lizmat psch++
17:33 psch lizmat: i had $.what as 'Expression' and no ternary, but that means the caller has to hand in "Function" for the other case
17:33 lizmat yeah, got that now  :-)
17:33 lizmat I had misread  :-)
17:33 psch alright, thanks for merging
17:33 psch i'll push the tests
17:34 dalek rakudo/nom: aaa82dd | (Elizabeth Mattijsen)++ | src/core/IO.pm:
17:34 dalek rakudo/nom: No need for two calls to .print
17:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/aaa82dd97a
17:37 [Sno] joined #perl6
17:44 denis_boyun joined #perl6
17:47 carlin joined #perl6
17:49 dalek roast: d6b8fac | (Pepe Schwarz)++ | S32-exceptions/misc.t:
17:49 dalek roast: Added tests for PR 260/RT#66776
17:49 dalek roast: review: https://github.com/perl6/roast/commit/d6b8facea3
17:49 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=66776
18:02 vendethiel joined #perl6
18:04 lizmat cycling&
18:05 dalek rakudo/nom: 6e0ac15 | (Elizabeth Mattijsen)++ | src/core/IO.pm:
18:05 dalek rakudo/nom: Don't bother calling .gist for Strings
18:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6e0ac15e57
18:22 rindolf joined #perl6
18:31 Mouq joined #perl6
18:38 psch oh shucks, i didn't even mention the right PR in my roast commit :(
18:38 psch that aside, anyone who can tell me something about this? https://gist.github.com/peschwa/863b4d839e0024388052
18:39 psch in case it matters, i'm running a pae enabled 32bit debian vm
18:39 xfix It's a bug.
18:39 xfix Perl 6 should never SIGSEGV, unless you call C functions.
18:39 [Coke] p6: my $f = 5; $f.isa(Scalar)
18:40 camelia rakudo-jvm 6e0ac1: OUTPUT«(timeout)»
18:40 camelia ..rakudo-{parrot,moar} 6e0ac1, niecza v24-109-g48a8de3: ( no output )
18:40 [Coke] seems fine here. what version of perl6 are you running?
18:40 psch This is perl6 version 2014.05-197-gba608c6 built on MoarVM version 2014.05-123-g87221ba
18:41 psch fwict it only happens with passing Scalar to .isa
18:44 psch Scalar.^mro dies as well i just found out
18:44 labster joined #perl6
18:44 denis_boyun_ joined #perl6
18:47 psch .^name works; not sure what else i should/could try
18:49 [Coke] psch: please try updating your copy of moar. it's over a month old. :)
18:50 psch huh, that's curious; i ran Configure.pl after make realclean
18:50 colomon joined #perl6
18:51 dwarring joined #perl6
18:51 flussence are you doing the "use rakudo's Configure.pl to build everything" method?
18:51 psch flussence: yes, is there a better one?
18:51 flussence that's fine, but you might need to also `make clean` in the nqp/moar subdirs separately.
18:52 psch oh, i didn't; i'll do that
18:52 psch thanks
19:00 cognominal is there a way to use HLL::Grammar from rakudo?  I have asked the question a few month ago and it was no. But things may have move since then.
19:04 FROGGS_ m: use NQPHLL:from<NQP>
19:04 camelia rakudo-moar 6e0ac1: ( no output )
19:04 FROGGS_ cognominal: but this is a dangerous path...
19:04 FROGGS_ cognominal: what do you want to achieve?
19:04 dmol1 joined #perl6
19:05 cognominal FROGGS_, I want to use the EXPR rule
19:05 FROGGS_ hmmmm, I've got a Perl 6 version here...
19:05 cognominal May be I need to translated HLL::Grammar from nqp to rakudo
19:06 cognominal ho, that would be nice
19:06 FROGGS_ https://github.com/rakudo-p5/v5/blob/nqp_to_perl6/src/Perl5/Grammar.pm#L632
19:07 denis_boyun joined #perl6
19:11 itz joined #perl6
19:11 dalek doc/redesign: 3d00cff | Mouq++ | / (2 files):
19:11 dalek doc/redesign: Detect multiple subkinds on routines + note if a subkind can't be found
19:11 dalek doc/redesign:
19:11 dalek doc/redesign: This is useful for those routines defined as both a sub and method, of
19:11 dalek doc/redesign: which Perl 6 has many
19:11 dalek doc/redesign: review: https://github.com/perl6/doc/commit/3d00cffb62
19:24 [particle] joined #perl6
19:26 Psyche^ joined #perl6
19:30 treehug8_ joined #perl6
19:30 dalek doc/redesign: f019036 | Mouq++ | / (3 files):
19:30 dalek doc/redesign: Update handling of the now listy Documentable.subkind
19:30 dalek doc/redesign: review: https://github.com/perl6/doc/commit/f0190361b4
19:32 treehug__ joined #perl6
19:37 denis_boyun___ joined #perl6
19:39 brrt joined #perl6
19:46 masak m: sub infix:«~~>»($premise, $conclusion) is looser(&infix:<max>) { !$premise || $conclusion }
19:46 camelia rakudo-moar 6e0ac1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Z2H_EHRDi2�Can't use unknown trait 'is looser' in a sub+{precedence} declaration.�at /tmp/Z2H_EHRDi2:1�------> �    expecting any of:�        rw parcel hidden_from_backtrace�        pure…»
19:46 masak "unknown trait"?
19:46 masak the error report is cut off early, but "looser" is in the list of the traits it expects.
19:49 lizmat I'm not sure "is looser" is really implemented
19:50 lizmat ah, I see what the problem is
19:50 lizmat sub +[precedence] !~~ Routine
19:50 masak m: say &infix:<max>
19:50 camelia rakudo-moar 6e0ac1: OUTPUT«Sub+{<anon>}.new()␤»
19:50 dalek doc/redesign: 3b8e741 | Mouq++ | / (2 files):
19:50 dalek doc/redesign: Rename .subkind to .subkinds
19:50 dalek doc/redesign: review: https://github.com/perl6/doc/commit/3b8e7413d5
19:50 dalek doc/redesign: 57ef3c5 | Mouq++ | htmlify.p6:
19:50 dalek doc/redesign: Abstract index writing process
19:50 dalek doc/redesign: review: https://github.com/perl6/doc/commit/57ef3c5bbc
19:51 masak lizmat: why wouldn't it match Routine. it's a subclass, no?
19:51 moritz known bug
19:51 moritz my: my &c = &die;
19:51 moritz m: my &c = &die;
19:51 camelia rakudo-moar 6e0ac1: OUTPUT«Type check failed in assignment to '&c'; expected 'Callable' but got 'Sub+{<anon>}'␤  in block  at /tmp/KTRbI9uBLb:1␤␤»
19:52 moritz same bug
19:52 moritz (already submitted)
19:52 lizmat masak: &die has "is hidden_from_backtrace"
19:52 lizmat which makes it not mach
19:52 lizmat *match
19:52 masak ah :/
19:53 masak ok, anyone know an operator I can use that's just looser than || ?
19:53 masak er, rephrasing.
19:53 masak ok, anyone know how I can write to make my operator just looser than || ?
19:54 masak the one who cracks this gets a favorable mention in the blog post I'm writing... :)
19:54 segomos_ looser how?
19:54 [Coke] precedence wise.
19:55 jnap joined #perl6
19:55 [Coke] so if you have an expression with || and his new operator…
19:56 segomos_ ah didn
19:56 segomos_ ah didn't see his example earlier
19:56 lizmat perhaps the answer lies in src/core/Precedence.pm
19:56 masak segomos_: it's Perl 6 terminology. tighter/looser instead of higher/lower.
19:56 masak ooh, 'is prec' :)
19:56 masak lizmat++
19:59 masak m: sub infix:«~~>»($premise, $conclusion) is prec<j=> { !$premise || $conclusion }
19:59 camelia rakudo-moar 6e0ac1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/ChSx1DYSym�Can't use unknown trait 'is prec' in a sub+{precedence} declaration.�at /tmp/ChSx1DYSym:1�------> �    expecting any of:�        rw parcel hidden_from_backtrace�        pure d…»
19:59 * masak doesn't understand where the error comes from
19:59 Mouq m: sub infix:<ll> ($a,$b) is looser(&[||]) { "$a ll $b" }; say 1 ll 2
19:59 camelia rakudo-moar 6e0ac1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/UQKd4RUvPd�Routine given to looser does not appear to be an operator�at /tmp/UQKd4RUvPd:1�------> �»
20:00 masak surely the sub isn't a sub+{precedence} before 'is prec' has been applied!?
20:00 Mouq m: sub infix:<ll> ($a,$b) is looser(&infix:<||>) { "$a ll $b" }; say 1 ll 2
20:00 camelia rakudo-moar 6e0ac1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/cczdqQvn11�Routine given to looser does not appear to be an operator�at /tmp/cczdqQvn11:1�------> �»
20:00 masak Mouq: infix:<||> is too special. I already tried that.
20:00 Mouq Huh
20:00 segomos_ those were Ls
20:00 masak arguably, it *should* work. but it doesn't.
20:00 masak segomos_: no, in the 'is looser'.
20:01 masak segomos_: doesn't matter what the op being defined is called.
20:01 * masak compromises for now and uses parens :(
20:02 SevenWolf joined #perl6
20:02 lizmat masak: using is prec or is looser doesn't make a difference as they use the same basic mechanism to find what to apply to
20:02 lizmat and that's børked atm
20:04 masak in conclusion, I cannot set precedence right now?
20:05 lizmat it appears like that, on any operator you define
20:05 lizmat would be my conclusion
20:05 FROGGS_ isn't there a test for that?
20:06 masak I saw tests in roast with operators defined with precedence, yes.
20:07 SevenWolf joined #perl6
20:07 masak don't know if they are in spectest.data, though.
20:07 lizmat t/spec/integration/advent2012-day19.t
20:07 lizmat for instance
20:10 dalek roast: 0a4db36 | (Elizabeth Mattijsen)++ | integration/advent2012-day19.t:
20:10 dalek roast: Fix typo
20:10 dalek roast: review: https://github.com/perl6/roast/commit/0a4db36968
20:13 jnthn S06-traits/precedence.t is in spectest.data
20:14 jnthn Passes 9 out of 10 tests
20:14 lizmat jnthn: is the a performance difference between using $x and \x as a parameter to a method ?
20:14 lizmat *there
20:14 jnthn Potentially.
20:15 lizmat +    multi method print(IO::Handle:D: Str:D \x) {
20:15 lizmat +        nqp::printfh($!PIO, nqp::unbox_s(x));
20:15 lizmat would that make sense ?
20:15 jnthn Str !~~ Iterable
20:15 lizmat (rather than $value, which is what the param is called now)
20:15 jnthn So I think it optimizes away the need for a Scalar container there.
20:16 lizmat ok, then I'll commit
20:16 jnthn So $x is going to perform as well as \x
20:16 jnthn In that case.
20:16 lizmat ah, so it *doesn't* make sense
20:17 lizmat git reset --hard   # so much for that opt  :-)
20:22 moritz git reset --that-hurt
20:23 Mouq This doc work is soo boring :P It takes an eternity to re-gen the docs. I really need to implement caching of some sort..
20:23 lizmat "is cached" to the rescue?
20:23 guru joined #perl6
20:24 Mouq lizmat: Unfortunately, I mean cacheing between runs
20:24 PerlJam Mouq: continuous deployment :)
20:24 yoleaux 15 Jun 2014 11:32Z <pippo> PerlJam: I found the solution for http://irclog.perlgeek.de/perl6/2014-06-10#i_8850807 see http://irclog.perlgeek.de/perl6/2014-06-15#i_8873951
20:24 lizmat no one is stopping you from implementing "is persistent"  :-)
20:25 Mouq :)
20:26 jnthn Mouq: Thanks for reporting the Moar SEGV earlier; fixed in 462402be7f.
20:27 dalek doc/redesign: d7a28e7 | Mouq++ | htmlify.p6:
20:27 dalek doc/redesign: Write out routine sub-indices
20:27 dalek doc/redesign: review: https://github.com/perl6/doc/commit/d7a28e7e94
20:27 Mouq jnthn: \o/ Thank you :)
20:28 jnthn https://gist.github.com/peschwa/863b4d839e0024388052 also doesn't SEGV with that fix for me
20:28 dalek rakudo/nom: 09a1674 | (Elizabeth Mattijsen)++ | src/core/IO.pm:
20:28 dalek rakudo/nom: Small opt on IO.print: not sure
20:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/09a1674c79
20:28 dalek rakudo/nom: ccc5193 | (Elizabeth Mattijsen)++ | src/core/Deprecations.pm:
20:28 dalek rakudo/nom: Fix obsolete variable deprecations
20:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ccc5193d5a
20:32 jnthn Please could somebody with a Panda commit bit apply this Windows fix: https://gist.github.com/jnthn/8b51ba6d9757d84a4957
20:33 maelus joined #perl6
20:33 ChoHag Does anyone know of any documentation describing how to define and use new traits on class attributes?
20:34 dalek roast: 19bd159 | (David Warring david.warring@gmail.com)++ | integration/advent2011-day11.t:
20:34 dalek roast: removed guff
20:34 dalek roast: review: https://github.com/perl6/roast/commit/19bd159d0b
20:34 dalek roast: 68b1ae8 | (David Warring david.warring@gmail.com)++ | integration/advent2011-day15.t:
20:34 dalek roast: adding advent 2011 day 15
20:34 dalek roast: review: https://github.com/perl6/roast/commit/68b1ae83d6
20:35 PerlJam ChoHag: There's probably an advent calendar entry about it, but I don't think there's "documentation" as such.  (I do think that would make a good blog post though to help the next guy)
20:35 dalek doc/redesign: 4494168 | Mouq++ | / (2 files):
20:35 dalek doc/redesign: Use placeholder= rather than value= in search bar
20:35 dalek doc/redesign:
20:35 dalek doc/redesign: This way, "Search" disappears when focus is put in the textarea
20:35 dalek doc/redesign: review: https://github.com/perl6/doc/commit/44941685cd
20:36 ChoHag Yeah I've given up (in the best of ways) expecting full on documentation for much of perl 6.
20:36 Mouq PerlJam: Or, you know, we could add some info to perl6/doc about it :P
20:37 itz joined #perl6
20:37 PerlJam Mouq++ yeah, that too :)
20:37 jnthn r: multi trait_mod:<is>(Mu $what_is_it, :$curious!) { say $what_is_it.WHAT }; class A { has $.x is curious; } # I really don't know what this does :)
20:37 camelia rakudo-{parrot,jvm,moar} 6e0ac1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Can't use unknown trait 'is curious' in an attribute declaration.�at /tmp/tmpfile:1�------> �    expecting any of:�        rw�        readonly�        box_target�»
20:38 jnthn oops
20:38 jnthn m: multi trait_mod:<is>(Mu $what_is_it, :$curious!) { say $what_is_it.WHAT }; class A { my $.x is curious; } # I really don't know what this does :)
20:38 camelia rakudo-moar 6e0ac1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/fPr8ahe8pz�Can't use unknown trait 'is curious' in a variable declaration.�at /tmp/fPr8ahe8pz:1�------> [32ms_it.WHAT }; class A { my $.x is curious[33m�[31m; } # I really don't know what…»
20:38 jnthn Hmm
20:38 jnthn Oh...dammit
20:38 PerlJam See?!?  Even *jnthn* doesn't know how to do it!  ;)
20:38 jnthn I bet the "helpful" error message hides the candidate I'm after.
20:38 ChoHag Well if this place doesn't know I don't see what hope I have...
20:39 jnthn Oh, but it tells me what I wanted to know.
20:39 jnthn m: multi trait_mod:<is>(Variable:D $var, :$curious!) { say "in trait mod" }; class A { my $.x is curious; }
20:39 dalek rakudo/nom: 3911c1c | (Elizabeth Mattijsen)++ | t/spectest.data:
20:39 dalek rakudo/nom: Add advent2011-day15 tests
20:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3911c1c418
20:39 camelia rakudo-moar 6e0ac1: OUTPUT«in trait mod␤»
20:39 jnthn ChoHag: Well, that's how you can declare a trait that gets applied there.
20:39 ChoHag What's the :D ?
20:40 jnthn "Definite" (not a type object)
20:40 jnthn Mostly me being paranoid, 'cus I'm used to defining traits in core. :)
20:47 masak how do I sort two arrays (of known equal length) in lexicographic order, i.e. comparing elements pairwise and sorting on the first differing element?
20:47 masak the shorter the solution, the better.
20:48 masak preferably, I'd like to just use some metaop, but I don't really see how.
20:48 dalek doc/redesign: ff624ef | Mouq++ | htmlify.p6:
20:48 dalek doc/redesign: Operators are routines
20:48 dalek doc/redesign:
20:48 dalek doc/redesign: This gets as far as generating the index files, but dies trying to hack
20:48 dalek doc/redesign: together the urls for the operators. On a positive note, some of the
20:48 dalek doc/redesign: steps involved to make this work are also steps toward generalizing the
20:48 dalek doc/redesign: documentation of types, routines, etc.
20:48 dalek doc/redesign: review: https://github.com/perl6/doc/commit/ff624ef5dd
20:49 jnthn masak: Hm, example?
20:49 lizmat masak: would the result still be 2 arrays ?
20:49 Mouq sub infix:<sort> ($a, $b) { sort $a, $b }; @a Zsort @b # ??
20:50 Mouq Don't we have a zip :by(&sort), actually?
20:50 Mouq m: say zip (1,2,3), (4,5,6)
20:50 camelia rakudo-moar 6e0ac1: OUTPUT«1 4 2 5 3 6␤»
20:50 Mouq m: say zip (1,2,3), (4,5,6), :by(&sort)
20:50 camelia rakudo-moar 6e0ac1: OUTPUT«1 4 2 5 3 6␤»
20:50 Mouq m: say zip (1,2,3,9), (4,5,6,7), :by(&sort)
20:51 camelia rakudo-moar 6e0ac1: OUTPUT«1 4 2 5 3 6 9 7␤»
20:51 Mouq Hm :(
20:51 masak lizmat, jnthn: I currently have what I want as `sub array-comp(@xs, @ys) { [||] @xs »cmp« @ys }`
20:51 masak looking for better/shorted suggestions.
20:53 masak shorter*
20:53 jnthn That's already quite short :P
20:53 Mouq any @xs Zcmp@ys :P
20:54 jnthn Zcmp may allow it to short-circuit more effectively...
20:54 masak yes, good idea.
20:54 masak `any` doesn't do what I want, tho'
20:57 stux joined #perl6
20:57 dalek nqp: 9bb18da | (Elizabeth Mattijsen)++ | tools/build/MOAR_REVISION:
20:57 dalek nqp: Bump MOAR_REVISION
20:57 dalek nqp: review: https://github.com/perl6/nqp/commit/9bb18da442
20:58 vendethiel Isn't there a neater way to write `  my @parts = $version.split('.'); for @els.kv -> $k, $v { @parts[$k]++ if $v; } @parts.join('.');` ? I feel like I'm missing something
20:59 dalek doc/redesign: 8569817 | Mouq++ | htmlify.p6:
20:59 dalek doc/redesign: Make sure we sort sub-index output
20:59 dalek doc/redesign: review: https://github.com/perl6/doc/commit/8569817d20
21:01 lizmat testing bumped NQP_REVISION now
21:01 Mouq "@parts = $version.split('.') Z+ ?<<@els; @parts.join('.')", though that's not exactly readable
21:02 Mouq Technically it should be <<+<< insetad of Z+
21:05 jnthn Rakudo's startup time seems to have got quite a bit worse since the last relesae
21:05 pecastro joined #perl6
21:06 vendethiel $version.split('.').map(* + @els[(state $)++].Int).join('.');
21:06 vendethiel Okay, now I think I'm doing perl 6, not "ruby/python/php in perl 6"
21:06 lizmat jnthn: this last MOAR version bump also seems to have a negative effetc  :-(
21:06 lizmat running spectest a 2nd time
21:06 vendethiel Mouq: thanks, I went with ^ but yours is funny too P
21:08 jnthn Well, since the last MOAR_REVISION bump there was only 462402b
21:09 jnthn lizmat: Which is just an extra NULL check to avoid a SEGV. So seems...ulikely
21:09 lizmat indeed, was noise on my side
21:10 dalek rakudo/nom: 54e264e | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION:
21:10 dalek rakudo/nom: Bump NQP_VERSION
21:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/54e264ee97
21:11 jnthn lizmat: OK, phew :)
21:11 Psyche^ joined #perl6
21:11 jnthn lizmat: Is tehre any new/extra setup work of note since the last relesae?
21:11 * lizmat is looking at the log
21:12 sivoais joined #perl6
21:12 jnthn lizmat: Also this:
21:12 Mouq vendethiel: Cool :)
21:12 jnthn -    $out.print(x.gist);
21:12 jnthn -    $out.print("\n");
21:12 jnthn +    $out.print(x.gist, "\n");
21:12 jnthn Will be slower
21:12 jnthn 'cus it hits the slurpy candidate of print
21:12 jnthn Which is gonna be WAY slower than the Str-taking one.
21:12 lizmat even if you're calling it twice?
21:12 jnthn Yes.
21:12 lizmat and have an extra alias?
21:13 jnthn Because iterating the slurpy is some method calls :)
21:13 araujo joined #perl6
21:13 lizmat ok, will rewrite
21:13 jnthn Furthermore, the Moar inliner, when we get it, will be able to take a good shot at inlining the two simple .print calls
21:14 lizmat but creating a candidate for Str:D does make sense, no?
21:14 jnthn Uh, well, when the inliner can inline Rakudo methods properly
21:14 lizmat so we don't have to do the .gist ?
21:14 jnthn 6e0ac15e5 makes a lot of sense
21:14 jnthn aaa82dd9 doesn't
21:14 jnthn You are timing these before/after, I guess? :)
21:15 vendethiel Mouq: it's actually far more complicated haha :'(
21:15 lizmat only globally CPU in the spectest
21:15 jnthn Oh
21:15 lizmat but it's more or less in noise levels in the spectest
21:15 jnthn But...these things are very benchmarkable.
21:16 jnthn Right.
21:16 jnthn But a loop doing printing will show it up
21:17 jnthn Not to mention that it could make a good perl6-bench contribution; I think we've no IO tests tehre.
21:17 jnthn s/tests/benchmarks/
21:19 hoverboard joined #perl6
21:21 vendethiel Mouq: well... I ended up with this
21:22 vendethiel Mouq:   $version.split('.').map({any(@els[0..(state $)++]) ?? ( (state $)++ ?? 0 !! $_ ) !! $_}).join('.');
21:22 jnthn lizmat: Taking a read through CORE.setting to see if I spot anything that way...
21:23 timotimo i'm glad to see that commandline argument passing with utf8 stuff works out of the box in rakudo perl6
21:23 lizmat jnthn: wow, what a difference:
21:23 lizmat $ time 6 'for ^100000 { say "foo" }' >/dev/null
21:23 lizmat real0m4.296s
21:23 lizmat user0m4.090s
21:24 lizmat after: $ time 6 'for ^100000 { say "foo" }' >/dev/null
21:24 lizmat real0m1.269s
21:24 lizmat user0m1.096s
21:24 lizmat sys0m0.163s
21:24 jnthn lizmat: With what change?
21:24 timotimo what the hell did you do? o_O
21:24 lizmat undo my "optimization"
21:24 jnthn And this is why to benchmark :P
21:24 lizmat hehe, wish we had a Banchmark module
21:24 vendethiel .oO( and a banchee )
21:25 jnthn Comitting optimizations without benchmarking them is like drinking from a random bottle you find in the shed. It might be nicely matured homebrew you forgot about, or it could are arsenic.
21:25 jnthn *be
21:25 lizmat .oO( "This could go either way" )
21:25 * lizmat wonders how many people get the 3rd rock reference
21:26 vendethiel Now I really wish state++ was allowed.
21:27 lizmat as opposed to?
21:27 vendethiel (state $)++
21:27 vendethiel m: sub a { state++ }; say a; say a;
21:27 camelia rakudo-moar 6e0ac1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/_qr9KjsKH3�Malformed state�at /tmp/_qr9KjsKH3:1�------> [32msub a { state[33m�[31m++ }; say a; say a;[0m�    expecting any of:�        scoped declarator�»
21:27 Mouq std: state$++
21:27 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0m�Malformed state at /tmp/_6tsot63i8 line 1:�------> [32mstate$[33m�[31m++[0m�    expecting twigil�Parse failed�FAILED 00:00 122m�»
21:27 Mouq std: ++state$
21:27 camelia std 0f2049c: OUTPUT«ok 00:00 122m␤»
21:27 lizmat std: state++
21:27 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0m�Malformed state at /tmp/8A9psL5di1 line 1:�------> [32mstate[33m�[31m++[0m�    expecting any of:�        name�   scoped declarator�      statement end�  statement list�Parse failed�FAILED 00:01 121m�»
21:28 dalek ecosystem: dddcfd6 | segomos++ | META.list:
21:28 dalek ecosystem: Update META.list
21:28 dalek ecosystem:
21:28 dalek ecosystem: adding HTTP::Server::Async
21:28 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/dddcfd6b1f
21:28 vendethiel m: say (++state$)
21:28 camelia rakudo-moar 6e0ac1: OUTPUT«1␤»
21:28 vendethiel ooh.
21:28 timotimo yay!
21:28 timotimo segomos_++
21:28 segomos_ super basic - time to build out some middlewares for it :-)
21:29 vendethiel too bad that ...
21:29 vendethiel m: say [++state$];
21:29 camelia rakudo-moar 6e0ac1: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/uj5DPj5b8p�Unsupported use of $] variable; in Perl 6 please use $*PERL_VERSION�at /tmp/uj5DPj5b8p:1�------> [32msay [++state$][33m�[31m;[0m�»
21:29 vendethiel maybe TimToady++ will want to "fix" this one too.
21:29 lizmat wonder if we could define ++state and state++ as syntactic sugar for (++state$) and (state $)++ respectively
21:29 segomos_ m: say state$
21:29 camelia rakudo-moar 6e0ac1: OUTPUT«(Any)␤»
21:30 vendethiel lizmat: I'd like it ;-)
21:30 segomos_ what is that supposed to do?
21:30 ChoHag What does "Returns the package (class/grammar/role) to which this attribute belongs." mean in the documentation of Attribute.package?
21:30 timotimo segomos_: does the server parse the complete body of the request before calling the registered callables?
21:30 segomos_ timotimo: yea - i should add that to the readme
21:31 ChoHag I get something back, but every time I use it perl just says "Method <something, like gist> not found for invocant of class 'Foo'"
21:31 timotimo segomos_: i don't like that :)
21:31 ChoHag I want to be able to adjust the class at compile time with an attribute trait.
21:31 lizmat "adjust the class" as in re-bless (p5 speak?)
21:32 ChoHag No. In this case, adjust a class (not instance) attribute it holds.
21:32 segomos_ timotimo: what should it do/
21:32 ChoHag But I expect that adding (meta-)attributes or methods should follow roughly the same lines.
21:32 timotimo segomos_: consider websockets; IMO it should call the callables as soon as the headers are finished being parsed
21:33 btyler segomos_: woah, this is super cool. will play with it this evening :)
21:33 vendethiel "https://github.com/Nami-Doc/xyz.pm6/commit/d01f4c95b5557a27dc802cc4fdccb3c855dc1131", eww but works.
21:33 segomos_ timotimo: couldn't that lead to problems if you need the POST data (or whatever) to be completed?
21:33 ChoHag class foo { my @bar; has $baz is bingly; }, where bingly does something to @bar.
21:33 segomos_ btyler: thanks :-)
21:33 lizmat ChoHag: S12:793
21:33 synopsebot Link: http://perlcabal.org/syn/S12.html#line_793
21:33 ChoHag bingly being defined as: multi trait_mod:<is>(Attribute $a, :$bingly!) is export { ... }
21:34 timotimo segomos_: of course the data should be retrievable in a blocking manner if the user wants it
21:34 segomos_ timotimo: ahh i got you, call registered subs and *if* post data is requested then block until it's complete
21:34 jnthn ChoHag: .package is the class the attribute is declared in
21:34 timotimo IMO the registered subs ought to block by themselves
21:35 ChoHag jnthn: So what can I do with it?
21:35 segomos_ brb
21:35 ChoHag $a.package.foo complains as above for just about any foo.
21:35 jnthn ChoHag: Call a meta-method on it typically
21:35 isBEKaml joined #perl6
21:35 ChoHag $a.package.^foo?
21:36 ChoHag That complained, but I only tried one thing...
21:36 jnthn I'm not sure the .^ shortcut works because the default parent wasn't yet added
21:36 jnthn But you can get at it with .HOW
21:36 jnthn Which always works.
21:36 timotimo segomos_: also, the registered handlers could say "i'm not interested" ASAP if only the headers are needed to decide
21:36 timotimo so you can reach the correct handler with less delay
21:36 ChoHag Ah.
21:37 ChoHag Now where was that documentation I found on class meta methods...
21:37 vendethiel Golf ! {any(@els[^++state$]) ?? ( (state $)++ ?? 0 !! $_ + 1 ) !! $_}
21:37 dalek rakudo/nom: 354c5c5 | (Elizabeth Mattijsen)++ | src/core/IO.pm:
21:37 dalek rakudo/nom: Properly optimize say/note, jnthn++
21:37 dalek rakudo/nom:
21:37 dalek rakudo/nom: Committing optimizations without benchmarking them is like drinking from a
21:37 dalek rakudo/nom: random bottle you find in the shed.  It might be nicely matured homebrew you
21:37 dalek rakudo/nom: forgot about, or it could are arsenic.
21:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/354c5c50c1
21:38 jnthn m: multi trait_mod:<is>(Attribute:D $attr, :$foo!) { my $pkg = $attr.package; $pkg.HOW.add_method($pkg, 'foo', method () { say 'look a foo' }) }; class A { has $.x is foo }; A.foo
21:38 camelia rakudo-moar 3911c1: OUTPUT«look a foo␤»
21:38 jnthn ChoHag: ^^ may help
21:38 ChoHag It does. Thanks.
21:39 ChoHag There's some in S12 here too.
21:39 timotimo lizmat: so are say and note now faster than they used to be a week ago or is it back to the way it was recently?
21:39 lizmat they should be faster for a single Str
21:39 lizmat because there is no .gist done on them
21:40 lizmat but that's the only difference
21:40 timotimo ah, that's good!
21:41 donaldh joined #perl6
21:41 vendethiel the $] kills me :'(
21:41 segomos_ timotimo: awesome, gonna implement that -
21:42 donaldh [Coke]: Here's the perl6-roast-data results from earlier: https://gist.github.com/donaldh/c37b5fdf96da8f5e6e7f
21:43 dalek specs: 309a882 | (Elizabeth Mattijsen)++ | S22-package-format.pod:
21:43 dalek specs: Some more S22 tweaks, introducing .parse-spec
21:43 dalek specs: review: https://github.com/perl6/specs/commit/309a88292c
21:43 rurban joined #perl6
21:45 timotimo segomos_: in general, websocket support would be pretty nifty
21:46 segomos_ i might try to tackle that next, i've used them but never read about how they work
21:46 dmol joined #perl6
21:47 dalek doc/redesign: 4a477cb | Mouq++ | htmlify.p6:
21:47 dalek doc/redesign: Get operators-as-routines to work
21:47 dalek doc/redesign: review: https://github.com/perl6/doc/commit/4a477cbb29
21:47 dalek doc/redesign: ec0abda | Mouq++ | sketch/ (22 files):
21:47 dalek doc/redesign: Remove sketch dir
21:47 dalek doc/redesign:
21:47 dalek doc/redesign: No longer needed
21:47 dalek doc/redesign: review: https://github.com/perl6/doc/commit/ec0abda3b8
21:47 btyler segomos_: hmm, I seem to be segfaulting r-m with great regularity on the echo example (just curl-ing localhost:8080) -- have you noticed the same?
21:48 segomos_ btyler: moar has a bug where it seg faults, it only works with java right now
21:49 segomos_ i think there is a race condition or something on the moar implementation
21:49 btyler segomos_: ok, glad it isn't just me
21:49 segomos_ because it will sometimes respond and sometimes won't, and sometimes it will segfault depending on .. something :-)
21:51 lizmat segomos_: is this still on the latest and greatest after the Moar/NQP version bumps I did today?
21:51 segomos_ lizmat: i'll check it out
21:52 btyler lizmat: I tried with master/master/nom as of 20 minutes ago and still found the segfault
21:52 lizmat :-(
21:52 masak lol! I blogged! http://strangelyconsistent.org/blog/boxes-and-pebbles
21:52 lizmat I guess jnthn / nwc10 still have some heavy debugging ahaed
21:53 masak (long post. but hopefully worthwhile.)
21:53 ChoHag What does 'will' do (attribute trait)?
21:53 SevenWolf joined #perl6
21:53 ChoHag Set the default value?
21:53 [Coke] donaldh: looks much better than what I get. :)
21:54 lizmat ChoHag: set a phaser for the variable
21:54 [Coke] I only have 1GB of swap
21:54 ChoHag Oh it's always somethi (new and) weird...
21:54 donaldh We will need to look at the exact config on the roast server.
21:54 lizmat my $dbh will leave( { .disconnect };
21:54 ChoHag So what's a phaser then?
21:54 donaldh Maybe increasing the swap would be a good start
21:54 ChoHag I read something about that I didn't understand.
21:55 [Coke] wrong box.
21:55 ChoHag Or remember.
21:55 [Coke] one sec.
21:55 lizmat S04:1387
21:55 synopsebot Link: http://perlcabal.org/syn/S04.html#line_1387
21:55 ChoHag Ah yes those.
21:55 [Coke] 3954MB Mem, 0MB Swap (per htop)
21:55 ChoHag Hmm.
21:57 jnthn lizmat: Result.
21:57 donaldh Can you add some swap?
21:57 jnthn lizmat: src/core/Inc.pm takes nearly 0.1s to execute
21:57 jnthn lizmat: Which accounts for the startup time regression.
21:59 lizmat well, that's code that came from the eleven branch merge
21:59 lizmat I'm actually refactoring a lot of that
21:59 jnthn OK
21:59 jnthn Well, anything to make it not be a huge startup time regression would be really great.
22:02 lizmat I must also point out that maybe a lot of that is because a lot of directories are being tested
22:03 btyler pretty wild watching the JVM JIT warm up: I ran wrk against segomos_'s async http server. first round was ~6 requests/second, 2nd: 13, 3rd round: ~40
22:03 colomon joined #perl6
22:04 btyler 40 requests a second is well into "servicable for a wide variety of webapps" territory, so that's pretty neat :)
22:04 btyler granted it's an empty echo, but still
22:05 jnthn lizmat: I don't really have the energy to dig through the code, I'm afraid. I can just say that of all the code we run in CORE.setting's mainline at startup, Inc.pm accounts for over two thirds of the time.
22:05 lizmat ok, will see what I can do about that
22:05 jnthn lizmat++
22:05 tadzik btyler: I read that as "MoarVM JIT" and my heart stopped a little :)
22:05 dmol joined #perl6
22:06 btyler seems to be holding steady around 45-50 rps, with the occasional uncaught exception taking the server down
22:06 lizmat tadzik: be patient  :-)
22:06 btyler tadzik: heh, sorry :P
22:06 [Coke] donaldh, moritz: can we add swap to host07?
22:07 brrt left #perl6
22:07 jnthn btyler: Got a link for me to the script that SEGVs on Moar?
22:07 segomos_ https://github.com/tony-o/perl6-http-server-async/tree/master/examples
22:07 segomos_ either of those jnthn
22:07 btyler jnthn: https://github.com/tony-o/perl6-http-server-async/blob/master/examples/echoserver.pl6
22:08 btyler ran it and then curl localhost:8080
22:10 jnthn When I run it, it just says "closed"
22:10 jnthn And exits immediately.
22:10 dalek doc/redesign: ee92b0b | Mouq++ | / (2 files):
22:10 dalek doc/redesign: Generate operator index
22:10 dalek doc/redesign: review: https://github.com/perl6/doc/commit/ee92b0b65d
22:12 jnthn oh, it's 'cus port 8080 was in use
22:15 lizmat jnthn: seems that at least .06 of startup time is spent setting up CUSTOM_LIB
22:15 lizmat and testing whether directories exist
22:15 dalek doc/redesign: c0bdd05 | Mouq++ | htmlify.p6:
22:15 dalek doc/redesign: Make sure infixes in lib/Type work and stop generating html/op dirs
22:15 dalek doc/redesign: review: https://github.com/perl6/doc/commit/c0bdd05d98
22:16 lizmat I'll refactor it so that @*INC will contain strings initially only
22:16 lizmat to be turned into actual objects (or removed from @*INC)  when they're actually needed
22:17 lizmat jnthn: it feels like overkill to turn @*INC into an iterator
22:21 masak 'night, #perl6
22:21 timotimo masak: nice post!
22:22 lizmat gnight masak
22:25 jnthn 'night, masak
22:25 jnthn lizmat: yeah, think so
22:29 isBEKaml left #perl6
22:35 rurban joined #perl6
22:36 colomon joined #perl6
22:38 jnthn btyler, segomos_: I'm wondering if the issue is that .write is async, but it seems there's nothing being done with the Promise that is returned
22:38 jnthn So .close happens on the socket before the writing is done
22:38 jnthn It's SEGVing 'cus of a missing "did we close the handle" check
22:39 jnthn I'll fix that tomorrow, but I think that needs addressing in the module.
22:39 jnthn Is socket writing on an async socket actually async on the JVM?
22:40 timotimo maybe it isn't and that's the cause of the problem :)
22:41 jnthn Well, maybe it isn't and that's why the module works there :P
22:42 Araq joined #perl6
22:42 timotimo er, i mean: the cause of the lack of the problem
22:42 Araq timotimo: !
22:43 timotimo hi there!
22:47 xragnar_ joined #perl6
22:52 telex joined #perl6
23:02 jnthn sleep &
23:03 timotimo gnite jnthn
23:03 * kurahaupo watches jnthn perform "sleep" in the background while continuing other tasks :)
23:04 kurahaupo g'nite
23:06 lizmat gnight jnthn
23:07 Alina-malina joined #perl6
23:11 * lizmat also calls it a day
23:11 lizmat gnight, #perl6!
23:12 timotimo gnite lizmat
23:19 segomos_ jnthn: so is moar representative of what that async socket stuff is actually doing?
23:19 segomos_ or should be doing? is the thought that the jvm is in a workaround mode for async soxkets?
23:22 hoverboard joined #perl6
23:37 BenGoldberg joined #perl6
23:43 BenGoldberg joined #perl6

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

Perl 6 | Reference Documentation | Rakudo