»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:06 thou left 00:11 virtualsue left 00:12 avuserow left
timotimo weird. 00:14
even with panda it's sporadic rather than happening every time
00:22 kuimacro left 00:24 kuimacro joined 00:37 Alina-malina left 00:40 Alina-malina joined 00:44 pierrot left 00:55 Alina-malina left 00:59 bjz joined 01:00 raiph joined 01:01 ghostlines left 01:02 j4janicej left 01:03 Alula left 01:06 dayangkun joined 01:09 j4jackj joined 01:11 avuserow joined 01:15 j4jackj is now known as j4janicej 01:17 Alina-malina joined 01:20 tinyblak joined 01:28 tinyblak left 01:30 tinyblak joined 01:34 tinyblak left 01:35 xenoterracide_ joined 01:45 SevenWolf left 01:49 colomon left 01:56 tinyblak joined 01:57 colomon joined 02:02 m_athias left 02:03 raiph left 02:10 m_athias joined 02:15 leont left 02:24 xenoterracide_ left 02:27 xenoterracide_ joined 02:30 chenryn joined 02:34 xinming left 02:35 xinming joined 02:46 xenoterracide_ left, kaleem joined 02:55 Alula joined 03:00 pierrot joined 03:02 panchiniak left 03:14 dayangkun left 03:15 bjz left 03:25 Mso150 joined 03:31 gfldex joined 03:32 kaleem left 03:41 bjz joined
dalek ecs: 845eb79 | (Lucas Buchala)++ | S02-bits.pod:
Typos and POD fixes in S02
03:58
04:01 rmgk_ joined, rmgk is now known as Guest21717, Guest21717 left, rmgk_ is now known as rmgk 04:11 yeahnoob joined 04:20 xenoterracide joined 04:25 thou joined 04:28 gfldex left 04:36 thou left 04:44 chenryn left 05:00 chenryn joined 05:15 xenoterracide left 05:25 kaare_ joined 05:29 raiph joined 05:47 Ben_Goldberg joined, BenGoldberg left 05:48 Ben_Goldberg is now known as BenGoldberg 06:05 yeahnoob left 06:12 yeahnoob joined 06:13 kaleem joined 06:16 BenGoldberg left 06:19 yeahnoob left 06:32 yeahnoob joined
tony-o failing build on moar - anyone else having trouble with a fresh build? 06:33
06:34 jfredett left 07:04 dayangkun joined 07:10 rurban joined 07:13 dayangkun left
masak mornin', #perl6 07:22
tony-o: trying -- hold on.
07:23 yeahnoob left 07:25 denis_boyun_ joined
masak tony-o: built just fine here. 07:25
tony-o: maybe do a `git clean -xdf` and try again? 07:26
07:31 rurban_phone joined 07:34 rurban left 07:37 yeahnoob joined
dalek Iish: 23711dd | masak++ | t/99-common.pl6:
fix typo
07:44
07:44 virtualsue joined 07:46 chenryn left
moritz \o 07:57
masak o/
masak is writing a SYNOPSIS section for DBIish 07:58
07:58 pecastro_ left
moritz ++masak 07:59
07:59 baest_ is now known as baest
masak # Connect failed with error Cannot locate native library 'libsqlite3.so' 07:59
...this is after I did `sudo apt-get install sqlite3`.
what am I missing?
I suppose it's NativeCall that expects to find libsqlite3.so in a certain place. but where? 08:01
08:02 FROGGS joined
masak doing a `locate libsqlite3.so` turns up 5 hits. 08:02
08:03 ptc_p6 joined
moritz masak: hopefully somewhere where ld finds it 08:04
masak ok, backing up a bit.
I'm on a sensible Linux system. I want to use DBIish with SQLite. what do I do? 08:05
the DBIish project doesn't seem to contain instructions for how to get started. I'd love to be proven wrong on this.
assume I'm good at following instructions, but not an expert at things that end with .so 08:06
moritz TBH, I don't know 08:08
last time I tried it, it simply worked
masak I skimmed `man ld`. now I'm more confused.
bonsaikitten masak: by default things should be in the paths defined in /etc/ld.so.conf
that's where the dynamic linker will search
moritz so I guess I installed libsqlite3-dev 08:09
bonsaikitten if you have it in divergent locations you could use LD_PRELOAD to hack around it
masak ok, my /etc/ld.so.conf includes another file, /etc/ld.so.conf.d/i686-linux-gnu.conf, which mentions /lib/i386-linux-gnu, in which I *do* have a file libsqlite3.so.0 08:11
so by that measure, it oughta work.
masak tries installing libsqlite3-dev
that did it. moritz++
bonsaikitten actually ld.so.conf is only the human-readable config, 'ldconfig' command creates a ld.so.cache that is a more efficient binary format 08:12
so any updates will only become 'visible' after running ldconfig (which package managers usually trigger themselves) 08:13
moritz masak: if you're on a 64 bit linux, the /lib/i386-linux-gnu is probably a directory for 32bit libs, or something
08:14 ghostlines joined 08:19 raiph left
dalek Iish: fb833c6 | masak++ | / (2 files):
introduce a SYNOPSIS

A good synopsis helps someone get started by providing a likely code template that can be modified and built upon.
The README.md had no SYNOPSIS, and the main module file had one that targets
  developers of the module, not users.
08:21
masak it's fun to play the role of "enlightened end user", who goes ahead and contributes an improvement rather than rant and rave about its absence. 08:26
:>
08:27 rindolf joined
moritz masak++ 08:28
bonsaikitten with some upstreams proper ranting is needed 08:31
"You're doing it wrong" as a reply to bugreports can be a bit *hnyeargh!!1*
sadly the perl6 ecosystem is too functional for such deviations ;)
08:56 telex left 08:58 telex joined, tinyblak left 08:59 tinyblak joined 09:00 tinyblak_ joined 09:02 darutoko joined 09:03 tinyblak left 09:04 rurban joined 09:07 rurban_phone left 09:10 Mso150_n joined 09:11 Mso150 left 09:14 yeahnoob left, kjs_ joined 09:18 virtualsue left, virtualsue joined
FROGGS nqp: say("foo" ~~ /<+alpha+[\< \[ \« ]>>/) 09:22
camelia nqp-moarvm: OUTPUT«Confused at line 2, near "say(\"foo\" "␤ at gen/moar/stage2/NQPHLL.nqp:481 (/home/camelia/rakudo-inst-1/languages/nqp/lib/NQPHLL.moarvm:panic:105)␤ from gen/moar/stage2/NQP.nqp:913 (/home/camelia/rakudo-inst-1/languages/nqp/lib/nqp.moarvm:comp_unit:872)␤…»
..nqp-jvm: OUTPUT«(signal ABRT)»
..nqp-parrot: OUTPUT«Confused at line 2, near "say(\"foo\" "␤current instr.: 'panic' pc 15673 (gen/parrot/stage2/NQPHLL.pir:5731) (gen/parrot/stage2/NQPHLL.nqp:425)␤»
09:23 virtualsue left
FROGGS nqp: say(":foo" ~~ /<?before ':' <+alpha+[\< \[ \« ]>> ..../) 09:23
camelia nqp-jvm: OUTPUT«(signal ABRT)»
..nqp-{moarvm,parrot}: OUTPUT«:foo␤»
FROGGS with latest parrot: 09:24
$ nqp-p -e 'say(":foo" ~~ /<?before ":" <+alpha+[\< \[ \« ]>> ..../)'
Unable to parse expression in metachar:sym<assert>; couldn't find final '>' at line 2, near "+[\\< \\[ \\\x{ab}"
I am adding a nqp test now
moritz nqp-p: /<?before ":" <+alpha+[\< \[ \« ]>>/ 09:25
camelia ( no output )
FROGGS yes, parrot 6.8.0 does that correctly 09:27
nqp-p -e 'say("foo" ~~ /<-[\«]>/)' 09:29
Unrecognized regex metacharacter < (must be quoted to match literally) at line 2, near "<-[\\\x{ab}]>/)"
nqp-p -e 'say("«" ~~ /<[\«]>/)'
Unrecognized regex metacharacter < (must be quoted to match literally) at line 2, near "<[\\\x{ab}]>/)"
nqp-p -e 'say("«" ~~ /<[«]>/)' 09:30
«
nqp: say("\\«" ~~ /<[\«]>+/) 09:34
camelia nqp-jvm: OUTPUT«(signal ABRT)»
..nqp-{moarvm,parrot}: OUTPUT««␤»
masak bonsaikitten: I think our biggest weakness in the Perl 6 community is that things get abandoned.
rurban That's probably tripping over a wrong .lex ""
masak bonsaikitten: few people spread over many modules. 09:35
rurban So a nqp problem
FROGGS it should also translate to <[\x{ab}]>, not <[\\\x{ab}]> 09:36
rurban: is the .lex bug already fixed? 09:37
rurban Not in parrot yet. Will be major imcc string handling rewrite 09:38
09:38 kjs_ left
rurban I only mentioned the problem and workaround in the change log and docs 09:39
FROGGS then I wonder how something should 'trip over a wrong .lex ""' as you say
rurban I guess it's the new nqp, not the new parrot
FROGGS hmmm, I don't think so, but I can easily check that 09:40
09:40 novice314 joined 09:41 tinyblak joined
rurban Which puts more statements into blocks, hence the regex is now a lex. It worked fine for a global 09:41
FROGGS wait, it cant be a new nqp, because the nqp here on this channel is new, but uses parrot 6.8.0
and it passes here
nqp-p: say("«" ~~ /<[\«]>/) 09:42
camelia nqp-parrot: OUTPUT««␤»
09:42 fhelmberger joined
FROGGS but I'll build nqp-2010.09 on parrot 6.9.0 now 09:42
09:43 tinyblak_ left
FROGGS 2014.09* 09:43
novice314 perl6: 1,2,3 >>~>>';' 09:44
camelia ( no output )
rurban wait. Getting better irc client
FROGGS m: say 1,2,3 >>~>>';'
camelia rakudo-moar 315ec6: OUTPUT«123;␤»
09:44 rurban left
FROGGS novice314: ^^ 09:44
09:45 rurban joined
FROGGS m: say (1,2,3) >>~>>';' 09:45
camelia rakudo-moar 315ec6: OUTPUT«1; 2; 3;␤»
rurban see github.com/parrot/parrot/issues/1095 09:47
novice314 m: say ( (1,2,3) >>~>>';' ) Z (4,5,6,7)
camelia rakudo-moar 315ec6: OUTPUT«1; 4 2; 5 3; 6␤»
FROGGS nqp-p -e 'say("«" ~~ /<[\«]>/)' 09:48
Unrecognized regex metacharacter < (must be quoted to match literally) at line 2, near "<[\\\x{ab}]>/)"
nqp-p --version
This is nqp version 2014.09 built on parrot 6.9.0 revision RELEASE_6_9_0-20-g9e8c7f1
rurban: see ^^
rurban: shall I use an older nqp?
so it really looks like something happened in parrot post 6.8.0 that introduces this problem 09:49
(which prevents rakudo from building) 09:50
masak m: say (((1,2,3) >>~>>';') Z (4,5,6,7)).perl
camelia rakudo-moar 315ec6: OUTPUT«(("1;", 4), ("2;", 5), ("3;", 6)).list␤»
novice314 m: say ( (1,2,3) >>~>>';' ) Z~ (4,5,6,7)
camelia rakudo-moar 315ec6: OUTPUT«1;4 2;5 3;6␤»
masak novice314: in Z, shortest side wins.
FROGGS like a zipper
09:58 kuimacro left
FROGGS hmm, I do not remember putting debug statements in nqp or parrot, but: 10:01
C:\nqp>nqp-p --version
win32
This is nqp version 2014.08-36-gf84a159 built on parrot 6.7.0 revision RELEASE_6_7_0
rurban: did you do that by any chance? 10:02
novice314 m: say (1,2,3) >>~>>';'<< (4,5,6,7) 10:07
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/yJktnnGBDY␤Unable to parse quote-words subscript; couldn't find right double-angle quote␤at /tmp/yJktnnGBDY:1␤------> say (1,2,3) >>~>>';'<< (4,5,6,7)⏏<EOL>␤ expecti…»
novice314 m: say ((1,2,3) >>~>>';')>>~<< (4,5,6,7) 10:08
camelia rakudo-moar 315ec6: OUTPUT«Lists on both side of non-dwimmy hyperop of infix:<~> are not of the same length␤left: 3 elements, right: 4 elements␤ in sub hyper at src/gen/m-CORE.setting:19157␤ in block at src/gen/m-CORE.setting:19137␤ in block <unit> at /tmp/nnlDQTOn7z:1…»
novice314 m: say ((1,2,3) >>~>>';')>>~<< (4,5,6) 10:09
camelia rakudo-moar 315ec6: OUTPUT«1;4 2;5 3;6␤»
FROGGS rurban: parrot 6.8.0 spits out 'index $I11, ucs4:"\x{ab}", $S11', where 6.9.0 probably spits out two extra backslashes
masak novice314: ...you can also download Rakudo and run it locally, on your own machine. ;)
FROGGS++ 10:10
10:10 kurahaupo joined, kurahaupo left
novice314 i havn't right machine now, only ipad )) 10:10
10:11 kurahaupo joined 10:12 kjs_ joined 10:13 rurban left
novice314 m: say (1,2,3) >>~>>';' >>~<< (4,5,6) 10:13
camelia rakudo-moar 315ec6: OUTPUT«1;4 2;5 3;6␤»
lizmat good *, #perl6!
I was wondering, do we have any quick way to compare 2 strings and find out how many characters they are the same from the beginning ?
peteretep You want the count of the longest mutual head? 10:14
lizmat yup
10:14 chenryn joined
lizmat m: say "foo" ~^ "foobar" # somehow with this 10:15
camelia rakudo-moar 315ec6: OUTPUT«␀␀␀bar␤»
novice314 quit
lizmat goodbye novice314
10:15 novice314 left
lizmat I guess a quick way to get rid of nulls would also work 10:16
jnthn m: say ('beetroot'.comb Zeq 'beer'.comb).first-index(!*) 10:18
yoleaux 28 Oct 2014 22:40Z <FROGGS> jnthn: that's a real life report: froggs.de/perl6/cpantesters/ (though, statically put there for review)
camelia rakudo-moar 315ec6: OUTPUT«3␤»
yoleaux 29 Oct 2014 00:22Z <japhb> jnthn: Finally a short stress test for Rakudo threading that fails many different ways, relatively quickly: irclog.perlgeek.de/perl6/2014-10-29#i_9579979
FROGGS hi jnthn!
10:18 pecastro joined
jnthn o/ 10:18
lizmat jnthn \o
I was hoping to be able to get something lower level :-) 10:19
jnthn lizmat: Oh...well if I want it fast I'd use nqp::ordat or so to pull out char codes in a loop and increment a native until I failed :) 10:20
Well, actually the thing you're incrementing is also the input to ordat :)
lizmat yeah, I figured something like that
jnthn The above is a cute way, thogh. 10:21
lizmat the ~^ you mean ?
jnthn No, what I wrote. 10:22
10:22 Isp-sec joined
lizmat ah, ok :-) yeah, true, !* :-) 10:23
jnthn The ~^ one sufers from being O(input lenght) rather than O(prefix length)
And yes, I CAN totally abuse the big O 'cus I'm on vacation still :P
FROGGS++ # cpan da testers 10:24
(And others who've contributed too)
10:24 virtualsue joined
jnthn Anyways, I'm heading home at the weekend, so will be more active here again from next week. :) 10:30
lizmat hopes jnthn has been able to have a good time away from it all :-)
jnthn Yes. Not always been so lucky with the weather, but still it's a good time down here :) 10:31
10:32 tinyblak_ joined
jnthn Also, it's very pretty :) 10:33
10:35 tinyblak left 10:39 dayangkun joined 10:41 rurban joined
masak m: say "foo/bar/baz.txt".IO.basename 10:42
camelia rakudo-moar 315ec6: OUTPUT«baz.txt␤»
lizmat but what if the current dir is "foo" ? 10:43
masak then... the basename of the IO::Path remains the same, because it's independent of the directory components...? 10:48
10:49 cognominal joined
masak I have "basename" as meaning "the thing after all the slashes". 10:49
lizmat yup, and that's what basename is
10:49 dayangkun left
lizmat it's just not what I'm looking for :-) 10:49
masak oh, sorry.
I have no idea what you were looking for :)
I needed .basename, though.
just now. 10:50
lizmat and that's there and will stay there :-)
masak ok, glad to hear it.
lizmat again, I'm not about changing the API
I'm just about streamlining the underlying mess :-)
sometimes things may have to change, e.g. as in the use of relative paths 10:51
masak *nod*
I... feel like I'm falling into a bigger discussion here.
lizmat in a world where everything is async, the concept of "current directory" is even more volatile
masak I was just testing .basename so I could use it in some code. 10:52
lizmat than it already is in a completely serial world
please continue to do so :-)
masak is using Perl 6 at $work, in production 10:54
&
11:05 tinyblak joined 11:07 tinyblak_ left 11:15 Mso150_n left 11:16 Mso150_n joined 11:19 Isp-sec left 11:20 TuxCM left 11:22 vendethiel- left 11:23 vendethiel joined, Mso150_n left 11:26 TuxCM joined 11:36 rurban left 11:37 kaleem left 11:40 rurban joined
woolfy masak++ 11:47
12:14 leont joined 12:22 kjs_ left 12:24 kjs_ joined
masak I'm trying to formulate something about how I use the "cool" features of Perl 6 much less than I think I would have predicted back in 2005. 12:29
junctions, hypers, chained comparisons, metaoperators in general, even defining operators.
when I *do* use them, I'm very glad they're there. 12:30
but something like 95% of code I write is very down-to-earth and doesn't use such features.
lizmat perhaps a blog post about this is in order ?
masak on balance, I'm much more happy about bigger features like classes/roles/methods/attributes, grammars, and Perl 6's tendency to be very refactorable. 12:31
lizmat because I think that's a very important point to make from someone in the "frontline" of using Perl6 in production
masak yes, it could easily be a blog post.
we'll see :) 12:34
12:35 kjs_ left 12:36 bartolin left 12:37 kjs_ joined 12:42 cognominal left 12:46 user3 joined 12:48 kaleem joined
user3 I have rakudo on Windows (3 Sept version) and Linux (parrot, 30 Aug). when I type perl6 at the command line and enter a session I can cycle through my commands with the up/down arrow keys on Windows but not on Linux. on Windows, is that a Perl 6 feature or is it just the up/down arrows mechanism of the cmd.exe command line? 12:49
moritz user3: it's a perl 6 feature 12:50
user3: different backends use different libraries for that 12:51
FROGGS user3: it depends on what readline library we use on these systems
on linux we can use libreadline or liblinenoise
moritz user3: for example if you use the parrot backend, you need "readline" and its development libraries installed when you configure rakudo and parrot
FROGGS user3: in case you want to build rakudo on MoarVM on linux there is an interesting option to MoarVM's configure script: 12:53
--use-readline
Disable Linenoise and try to use the system version of GNU Readline
instead.
12:53 ptc_p6 left 12:54 ptc_p6 joined
user3 noted. thx 13:00
FROGGS user3: rakudo on moarvm does the history be default 13:01
just tested
user3 I think I don't have readline's development libraries installed 13:02
13:03 guru joined, JimmyZ joined 13:04 guru is now known as Guest51819
JimmyZ user3: you can try the moarvm backends, which is much better 13:04
13:04 Guest51819 is now known as ajr_
JimmyZ *backend 13:04
13:04 azawawi joined
azawawi m: say "Hello world ~$_" for 1..5; 13:05
camelia rakudo-moar 315ec6: OUTPUT«Hello world ~1␤Hello world ~2␤Hello world ~3␤Hello world ~4␤Hello world ~5␤»
azawawi m: say "Hello world $_" for 1..5;
camelia rakudo-moar 315ec6: OUTPUT«Hello world 1␤Hello world 2␤Hello world 3␤Hello world 4␤Hello world 5␤»
azawawi m: say "Hello world {$_}" for 1..5;
camelia rakudo-moar 315ec6: OUTPUT«Hello world ␤Hello world ␤Hello world ␤Hello world ␤Hello world ␤»
azawawi hi everyone
is the above behavior by design or a bug?
masak hi azawawi
it's by design, unfortunately. 13:06
azawawi confusing
masak m: say "Hellow world $($_)" for 1..5
camelia rakudo-moar 315ec6: OUTPUT«Hellow world 1␤Hellow world 2␤Hellow world 3␤Hellow world 4␤Hellow world 5␤»
masak Hello*
azawawi: every bare block has an implicit -> $_? parameter
azawawi: the {$_} in side the qq string is such a bare block. 13:07
azawawi: when it gets called (by the string interpolator), no value is passed to it
inside*
azawawi so what's the closest to #{ ... } in ruby? 13:08
masak $(), as demonstrated above.
azawawi cool...
masak alternatively, {} works fine, as long as you're not relying on $_
azawawi rewires his mind circuits
masak: thx 13:09
masak++
masak kowtows
azawawi has perl6-debug been deprecated or removed? 13:11
i.e. perl6advent.wordpress.com/2012/12/0...-debugger/
oh perl6-debug-m 13:12
interesting i need panda install Debugger::UI::CommandLine to use it 13:14
colomon right 13:15
azawawi it is included in rakudo star right? 13:16
colomon has no idea 13:17
azawawi thinks no rakudo 2014.10 ?
JimmyZ m: $_ = 'hello world'; say $($($_)) 13:18
camelia rakudo-moar 315ec6: OUTPUT«hello world␤»
JimmyZ doesn't know what $() is ..
13:18 tinyblak left, Mouq joined 13:19 tinyblak joined
masak JimmyZ: well, (a) first off, it starts with a '$' so it interpolates 13:19
(b) secondly, what it does is take a value and put it in item context, just like .item does
Mouq m: .say for $([1, 2, 3]); .say for @([1, 2, 3]) 13:20
camelia rakudo-moar 315ec6: OUTPUT«1 2 3␤1␤2␤3␤»
JimmyZ something like my $ = xxx?
masak guess so.
Mouq also o/
masak \o
PerlJam JimmyZ: $() is like @() only itemy ;) 13:21
greets too
13:21 user3 left
masak ohaio, PerlJam 13:21
JimmyZ oh, I remember it ... I have discussed about @$xxx and $@xxxx
and @%xxx , %@xxxx
13:23 kaleem left, tinyblak left
Mouq m: +()+@$@$@$@$@$@$@$@$@$@$@$@$$@$@(1)+() 13:23
camelia ( no output )
masak rules in grammars suffer from a systemic problem similar to that in cooperative multitasking: that of a "rogue" player not handing back control to its caller. 13:24
sometimes I find myself having a mental model of grammars that ignores issues related to this.
PerlJam isn't that almost a feature though?
masak for example, I sometimes expect callee rule to understand when it's time to stop parsing, because a caller rule has some kind of stopper. 13:25
I think that's part of what made me upset about strings like "foo { bar("baz") }" once upon a time, because I (partly) have such a mental model. 13:26
PerlJam: possibly. just because I subconsciously assume that that model is in place, doesn't mean that such a model would be preferable, let alone internally consistent.
13:27 kaare_ left
PerlJam kinda sounds like "functional grammars" where a rule { <a> <b> <c> } could be thought of as "call rule a with rules b and c as parameters" (I mean, if things worked this way, callees could "know" about stoppers) 13:28
13:28 Akagi201 joined
masak yes, but I don't think that's what I mean. :) 13:29
I mean, I'm not even hunting for a mechanism to do this. 13:30
Mouq It sounds like a grammar that does classical tokenizing, I think...
masak I just find that sometimes that's the expectation I have on my own grammars, before reality sets in.
Mouq: yes, it hints at a "flat" model like that of tokenizing. 13:31
PerlJam masak: right, I understand. I sometimes fall into the same trap. But the way you phrased it made me think of FP
masak PerlJam: it's an interesting notion. by the way, rules in grammars can already take parameters. I don't tend to use that much, but some people have.
PerlJam (of course, saying "callee" in my head sounded more like "collie" and then I was wondering how to work in a pun involving Lassie ... but maybe I'm sharing too much ;) 13:33
Mouq Most of the time it's easier to use a dynamic var than parameters even if the var is only being set from the callee, since it makes it eaiser to refactor and you don't have to worry so much about how deeply nested a parameter will need to be carried
masak PerlJam: I think your pun fell down a well. :P 13:34
lizmat
.oO( well put )
13:35
PerlJam heh
masak Mouq: dynamic variables are easier on refactoring in some sense, and harder in some sense.
PerlJam #perl6++ I can always count on you guys to make me smile :)
masak m: say "$_ guys to make PerlJam smile" for 1..200 13:36
camelia rakudo-moar 315ec6: OUTPUT«1 guys to make PerlJam smile␤2 guys to make PerlJam smile␤3 guys to make PerlJam smile␤4 guys to make PerlJam smile␤5 guys to make PerlJam smile␤6 guys to make PerlJam smile␤7 guys to make PerlJam smile␤8 guys to make PerlJam smile␤9 guys t…»
masak .oO( groan ) 13:37
PerlJam
.oO( 99 smiles on the channel. take one down, pass it around ... 105 smiles on the channel )
13:38
tchrist once said something similar about linux distributions, but I think it's more apt about smiles and #perl6 13:39
colomon is intrigued that there were like 19 seasons of the Lassie TV show, 10+ theatrical movies, and yet the only plot point anyone ever remembers is a kid down a well. 13:40
huf has anyone seen any of them?
PerlJam 19 seasons? really?
azawawi farabi6 + perl6-debug-m integration in progress github.com/azawawi/farabi6/issues/16
huf frankly, i'm not even sure how i know about lassie
colomon PerlJam: 1954-1973
Mouq m: say (grammar :: {token TOP { <baz("bar")> }; token baz ($p) { foo }}).parse("foo", :actions(class :: { method TOP($/) { make $<bar> }; method baz ($/, $p) { make $p } })).ast 13:41
camelia rakudo-moar 315ec6: OUTPUT«Too few positionals passed; expected 3 arguments but got 2␤ in method baz at /tmp/GbS6U67pWv:1␤ in any !reduce at gen/moar/stage2/QRegex.nqp:771␤ in any !cursor_pass at gen/moar/stage2/QRegex.nqp:732␤ in regex baz at /tmp/GbS6U67pWv:1␤ in re…»
colomon PerlJam: also books and a radio show
masak m: say "$_ guy$($_ == 1 ?? '' !! 's') to make PerlJam smile" for 1..200
camelia rakudo-moar 315ec6: OUTPUT«1 guy to make PerlJam smile␤2 guys to make PerlJam smile␤3 guys to make PerlJam smile␤4 guys to make PerlJam smile␤5 guys to make PerlJam smile␤6 guys to make PerlJam smile␤7 guys to make PerlJam smile␤8 guys to make PerlJam smile␤9 guys to…»
Mouq Yeah, also pretty important: you need dynamic vars if you want to be able to access them from the actions. Forgot about that pretty important bit
masak colomon: I think it's a trope -- at least for me, who didn't really grow up with Lassie. I kind of associate "Lassie" <-> "kid fell down a well" 13:42
colomon: mostly, I guess, because of pop culture that made jokes using that association.
Mouq std: class :: { method foo { say "bar" }.foo
camelia std 14ad63b: OUTPUT«===SORRY!===␤Unable to parse block at /tmp/_hboH5y3x9 line 1:␤------> class :: ⏏{ method foo { say "bar" }.foo␤Couldn't find final '}'; gave up at /tmp/_hboH5y3x9 line 1 (EOF):␤------> class :: { method foo { sa…»
colomon masak: as far as I can tell, *everyone* has that association and little else
Mouq ^^ Vote to make that legal?
std: sub :: { say "bar" }() # similar to 13:43
camelia std 14ad63b: OUTPUT«ok 00:00 139m␤»
[Coke] is older than half you jokers, Coke has never even seen a real ep of lassie.
lizmat is older still and has to confess she has
Mouq std: class :: { method foo { say "bar" }}.foo #erm
camelia std 14ad63b: OUTPUT«ok 00:01 139m␤»
Mouq Oh
m: class :: { method foo { say "bar" }}.foo #erm
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/lUc6mT_uJK␤Two terms in a row␤at /tmp/lUc6mT_uJK:1␤------> class :: { method foo { say "bar" }}⏏.foo #erm␤ expecting any of:␤ postfix␤ statement end…»
Mouq Okay, so just a rakudobug 13:44
geekosaur has seen them but they left little impression (except kid always getting into some kind of trouble lassie had to save him from), the well being the one that everyone remembers)
PerlJam lizmat: did you watch it voluntarily? 13:45
I remember Lassie episodes on TV when I was a kid, but I also remember seeing the dog, going "oh, that's Lassie", then changing the channel.
lizmat well, only having 3 channels narrowed down the choices a bit :-) 13:46
[Coke] is reminded by the slow test runs to ||-ize test_summary.pl again.
lizmat also admits not even really remembering any plots, let alone wells
PerlJam From en.wikipedia.org/wiki/Lassie_(1954_TV_series) "Jon Provost called his autobiography Timmy's in the Well! because a well was the one place Timmy never fell into—abandoned mine shafts, off cliffs, into rivers, lakes, and quicksand, but never a well." 13:53
colomon lizmat: we had four channels, because we also picked up a decent signal from Canada. :) 13:54
lizmat 2NL, 1BE
colomon technically we should have also gotten three UHF channels from Detroit, but someone (probably me) put a magnet inside the TV set which completely wrecked UHF reception. 13:57
13:59 kuimacro joined 14:02 jfredett joined, zakharyas joined
dalek kudo/nom: ba385fa | Mouq++ | src/Perl6/Grammar.nqp:
Allow methods to be called on class definitions
14:11
ast: c5545ff | Mouq++ | S12-class/basic.t:
Test that methods can be called on class definitions
14:12
14:12 raiph joined 14:16 grondilu left, grondilu joined 14:19 notfix is now known as xfix
JimmyZ std: class :: { method foo { 42 }}.foo 14:20
camelia std 14ad63b: OUTPUT«ok 00:00 137m␤»
lizmat colomon: :-) 14:23
14:30 Mouq left 14:31 Alina-malina left 14:32 Alina-malina joined 14:36 molaf joined 14:40 Alina-malina left 14:41 vendethiel left 14:43 vendethiel joined 14:44 chenryn_ joined, chenryn left 14:45 azawawi left 14:46 Alina-malina joined 14:55 chenryn__ joined 14:56 chenryn_ left 15:00 kaare_ joined
timotimo o/ 15:02
lizmat timotimo \o
15:06 thou joined
masak m: class Dog {}; sub foo(&block (Dog --> Bool)) { say "OH HAI" }; foo(sub (Dog $x) { $x }) 15:16
camelia rakudo-moar 315ec6: OUTPUT«Too few positionals passed; expected 1 argument but got 0 in sub-signature of parameter &block␤ in sub foo at /tmp/wV8sisOFFO:1␤ in block <unit> at /tmp/wV8sisOFFO:1␤␤»
masak what am I doing wrong here?
m: class Dog {}; sub foo(&block:(Dog --> Bool)) { say "OH HAI" }; foo(sub (Dog $x) { $x })
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!===␤Cannot invoke this object (REPR: P6opaque, cs = 0)␤»
masak o.O
15:16 hoelzro left, hoelzro joined 15:17 brrt joined
brrt \o 15:17
what did i miss :-)
masak brrt: Perl 6 was released -- world peace -- Nobel prize -- world hunger solved. not much :P 15:18
15:18 mattp_ left
masak swiftly declares Eternal Christmas 15:18
15:18 mattp_ joined
[Coke] tries to onboard a consultant today. what a PITA. You'd think this was a solved problem by now. :P 15:20
timotimo brrt: if you blog fast enough, i'll link to your post via the weekly :P
moritz weekly \o/
gtodd !! 15:21
lizmat has been banging her head on a failure while optimizing :-(
masak PerlJam: I think you forgot to move #81 down in github.com/rakudo/rakudo/blob/nom/...e-releases
lizmat: please be more careful with your head :/ 15:22
masak hugs lizmat's head
lizmat suddenly gets a fuzzy feeling
masak probably just asphyxiation. I won't hug as hard next time. 15:23
PerlJam masak: huh. I'm sure I did it. Must not have pushed
dalek kudo/nom: 1f42001 | duff++ | docs/release_guide.pod:
update release_guide to move release #81 into the past :)
15:25
15:25 xfix is now known as notfix
PerlJam yep ... forgot to push it. 15:25
FROGGS m: sub foo ( &cb (int) ) { }; sub bar (int) { }; foo(&bar) # masak: no idea why that fails
camelia rakudo-moar 315ec6: OUTPUT«Too few positionals passed; expected 1 argument but got 0 in sub-signature of parameter &cb␤ in sub foo at /tmp/vCDVCggbtk:1␤ in block <unit> at /tmp/vCDVCggbtk:1␤␤»
masak FROGGS: the error message doesn't make any sense. 15:26
FROGGS masak: and that feature works in nativecall
it is in its test suite for example 15:27
masak even curiouser.
FROGGS and it also fails under 2014.09 15:28
(using star-m)
masak m: sub foo { 2 }; say 1 ?? foo !! 3 15:29
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!===␤Found ?? but no !!␤at /tmp/R5ijrCZXEB:1␤------> sub foo { 2 }; say 1 ?? foo !! 3⏏<EOL>␤Confused␤at /tmp/R5ijrCZXEB:1␤------> sub foo { 2 }; say 1 ?? foo !! 3⏏<EOL>␤ e…»
masak that's an LTA error message (even knowing what's going on there)
std: sub foo { 2 }; say 1 ?? foo !! 3
camelia std 14ad63b: OUTPUT«===SORRY!===␤Found ?? but no !! at /tmp/ZYLcGrJPqx line 1 (EOF):␤------> sub foo { 2 }; say 1 ?? foo !! 3⏏<EOL>␤Confused at /tmp/ZYLcGrJPqx line 1 (EOF):␤------> sub foo { 2 }; say 1 ?? foo !! 3⏏<EOL…»
masak and STD.pm6 is no better. hm.
15:29 vendethiel left
masak I ran into it in code like this: 15:31
m: module M { enum A is export <B C> }; import M; say 1 ?? B !! C
15:31 travis-ci joined
travis-ci Rakudo build failed. Jonathan Scott Duff 'update release_guide to move release #81 into the past :)' 15:31
travis-ci.org/rakudo/rakudo/builds/39843266 github.com/rakudo/rakudo/compare/b...4200169a22
15:31 travis-ci left
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!===␤Found ?? but no !!␤at /tmp/OMplHJ066n:1␤------> xport <B C> }; import M; say 1 ?? B !! C⏏<EOL>␤Confused␤at /tmp/OMplHJ066n:1␤------> xport <B C> }; import M; say 1 ?? B !! C⏏<…» 15:31
masak PerlJam: you broke the build by updating release_guide!?
FROGGS Start argument to substr out of range. Is: -1, should be in 0..0
make: *** [RESTRICTED.setting.moarvm] Error 1
masak m: module M { enum A is export <B C> }; import M; say 1 ?? A::B !! A::C 15:32
camelia rakudo-moar 315ec6: OUTPUT«B␤»
PerlJam :-(
15:32 chenryn__ left
masak m: module M { enum A is export <B C> }; import M; say B 15:32
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/lblTGtdIWs␤Undeclared name:␤ B used at line 1␤␤»
masak is this right? I thought exporting A would export B and C, too.
brrt timotimo: no blog yet :-$
timotimo OK :)
brrt masak: ah great, then i'm done
FROGGS m: module M { enum A is export <B C> }; import M; say M:: 15:33
camelia rakudo-moar 315ec6: OUTPUT«"A" => A, "B" => A::B, "C" => A::C, "EXPORT" => EXPORT␤»
FROGGS m: module M { enum A is export <B C> }; import M; say M::B
camelia rakudo-moar 315ec6: OUTPUT«B␤»
masak submits enum export rakudobug
masak submits ?? !! LTA rakudobug 15:34
15:34 notfix is now known as xfix
masak submits code object subsignature strangeness rakudobug 15:34
apparently I work in a LIFO manner today.
gtodd rakudobug must be feeling dizzy
15:34 broquaint left
gtodd with the excitement ... 15:35
15:35 JimmyZ left, vendethiel joined 15:36 broquaint joined
masak PerlJam: confirming that you pushed only a change to docs/release_guide.pod 15:36
PerlJam: meaning that travis-ci is drunk, I guess.
15:37 betterwo1ld left 15:38 betterworld joined, woshty left 15:40 Bucciarati left 15:41 kjs_ left 15:42 Bucciarati joined
masak m: for lines { .say } 15:42
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!===␤Function lines needs parens to avoid gobbling block␤at /tmp/s7drjzvj1Y:1␤------> for lines { .say }⏏<EOL>␤Missing block (apparently taken by 'lines')␤at /tmp/s7drjzvj1Y:1␤------> for line…»
15:45 woshty joined 15:55 Alula left, sqirrel_ joined 16:00 grondilu left 16:01 grondilu joined
masak idiomatic way to compare against an enum? `$value == B` or `$value ~~ B` ? or something else? 16:09
16:09 Alina-malina left 16:10 kuimacro left
lizmat +B ? 16:12
16:12 kjs_ joined
lizmat I guess the == already numifies right hand side 16:12
16:15 kaleem joined
moritz m: enum A <B C>; say C ~~ Numeric 16:15
camelia rakudo-moar 315ec6: OUTPUT«True␤»
16:15 kjs_ left
moritz lizmat: it's already numified :-) 16:15
timotimo could someone rephrase the paragraph beginning with "Other than that, the "not quite done" parts are things /usr/bin/perl5 can't do right now:" on perl6.guide? 16:16
github.com/sheriff/perl6status/ ← this page accepts pull requests i bet
masak I tend to do `==` on enum values, fwiw. 16:17
because I know they're numeric, and I like to compare as specifically as possible.
16:17 denis_boyun_ left, hobbs left 16:18 hobbs joined
masak moritz: ooc, do you tend to write `* - 1` or `*-1` ? 16:18
16:19 kjs_ joined
moritz masak: *-1 16:20
lizmat masak: fwiw, *-1 and * - $var
masak moritz: I was just thinking of github.com/moritz/perl6-wtop/blob/...pod#___top 16:21
moritz: I think that's another exception; and you just confirmed it.
moritz masak: you're right 16:22
dalek osystem: 8bde620 | (Timo Paulssen)++ | META.list:
add the sugar-free SDL2 binding module
16:24
moritz free of processed carbon hidrates? :-)
timotimo yup
raydiak timotimo++
timotimo :)
masak m: enum A <B C>; say 1 ~~ B 16:30
camelia rakudo-moar 315ec6: OUTPUT«False␤»
raydiak m: enum A <B C>; say +B; say ?B; say ?C; 16:32
camelia rakudo-moar 315ec6: OUTPUT«0␤False␤True␤»
16:34 grondilu left 16:36 brrt left 16:37 grettis joined
masak finds a use for `repeat while <expr> { ... }` 16:37
doesn't happen often.
timotimo p6weekly.wordpress.com/?p=250&s...7afa52d940 - please remind me of anything i may have missed over the last week 16:39
16:42 kjs_ left
lizmat timotimo: actually, all I did was spec the current behaviour, and use it in the spectest 16:42
all the work had been done by jnthn previously
16:42 vendethiel left
timotimo oh! 16:43
dalek kudo/nom: c430c02 | (Elizabeth Mattijsen)++ | src/core/IO.pm:
Many moer primitives
kudo/nom: 2fcc17c | (Elizabeth Mattijsen)++ | src/core/IO/File.pm:
Introducing: IO::File, for existing files

Well, actually anything that's not a directory, at this stage
kudo/nom: a426325 | (Elizabeth Mattijsen)++ | src/core/IO/Local.pm:
Introducing: IO::Local, a role for existing paths
kudo/nom: 501b3ce | (Elizabeth Mattijsen)++ | src/core/IO/Dir.pm:
Now uses the new IO::Local role
kudo/nom: f570202 | (Elizabeth Mattijsen)++ | tools/build/ (3 files):
Make sure we also compile IO::Local/File
timotimo oooh i love moér primitives!
16:43 zakharyas left
lizmat FWIW, ^^^ is mostly scaffolding: most of that is not actually used yet 16:43
actually using the above breaks panda at the moment in an interesting way :-( 16:44
16:44 vendethiel joined
timotimo lizmat has been working on splitting a new class IO::Dir off from IO::Path, in the hopes of getting overheads down, performance up and to reach more clarity. ← does this sound representative of your efforts? 16:44
lizmat (aka no error messages whatsoever, just saying everything is done when nothing was) 16:45
timotimo: well, actually, it goes deeper than that
when I'm done, IO::Path is obsolete :-)
timotimo ah
FROGGS lizmat: maybe remove the CATCH from the panda script
timotimo so IO::Path turns into IO::Dir and IO::File?
lizmat which both consume the IO::Local role 16:46
I also envision an IO::Link (for symlinks)
timotimo how do we represent relative paths we may want to plop onto different IO::Dir instances?
lizmat an IO::PIO (for all IO objects that read / write)
typically, you wouldn't make any IO::Dir instances yourself 16:47
dir() (and its method cally friends) will create them for you
16:47 Alina-malina joined
timotimo what does the P stand for this time? :) 16:47
lizmat I have no idea 16:48
IO::Handle has a $!PIO, IO::Socket as a $!PIO
it is a parameter to many nqp:: functions
timotimo that used to be the parrot IO object
lizmat aha :-)
timotimo i suggest not holding on to that too much
lizmat well, maybe it's time to name it something else then
in any case, all basic IO operations (except reading/writing) will be possible by using subs with just strings 16:49
open() dir() pipe() rename() symlink() unlink() mkdir() rmdir() etc.etc.
gtodd oh
lizmat dir() is the one that returns IO::File/Dir/Link objects 16:50
(unless you ask for strings)
16:50 grondilu joined
timotimo IO::PIO is a role? or a class? 16:50
lizmat a role
timotimo and IO::Link a class?
lizmat yup, for symlinks (although I'm not 100% sure about that yet) 16:51
timotimo OK
lizmat so, now that most of the scaffolding is there, I can start rebuilding stuff so that I don't break the API
16:51 sqirrel_ left
lizmat but still get massively better performance 16:52
timotimo that'd be lovely :)
16:52 kaleem left
timotimo OK, i rewrote that paragraph 16:52
i'll briefly be AFK, but i'd appreciate more feedback 16:53
tony-o masak: i get an error on 'make' for Stage Parse - make: *** [CORE.setting.moarvm] Error 137
for moar ^^
lizmat timotimo: actually, it's not about a file's contents, but about reading/writing (so both file, as well as socket IO) 16:54
gtodd August:
time perl6 -e 'say "/usr/share/dict/web2".IO.slurp.lines(:eager).grep("zygote");' --> 61.24s user 0.26s system 0% cpu 1:04.1
timotimo oh
masak tony-o: did you `git clean -xdf` before configuring?
16:54 Alina-malina left
tony-o yea it was a clean clone 16:54
gtodd October:
perl6 -e 'say "/usr/share/dict/web2".IO.slurp.lines(:eager).grep("zygote");' 10.25s user 0.25s system 6% cpu 11.751 total
tony-o i just did a clean and am trying the whole build again 16:55
16:55 ghostlines left 16:56 sftp left
gtodd wheee!! :-) ... I know those are silly naive tests but 60 versus 10 seconds must partly be due to all the IO changes because my disks are still super slow :) 16:56
16:56 treehug88 joined
gtodd IO IO it's off to disk I go .... 16:56
tony-o nice
lizmat gtodd: glad to see it's working out
gtodd lizmat: that's a key adoption test for me ;-) 16:57
timotimo p6weekly.wordpress.com/?p=250&s...7b40029164
10 seconds is still not terribly good, though :\
how big is that file? 16:58
gtodd lizmat: I tried following your commits to see what magical stuff you were up to but ...
timotimo: it's a unix thing I think it's on most systems no?
timotimo: about 200k lines
timotimo i have only …are/dict/linux.words …are/dict/words 16:59
gtodd ~ 2.4Mb
timotimo which are 480k lines each
gtodd linux is more wordy :-)
timotimo 4.8 Mb
gtodd here BSDs
lizmat gtodd: if you grep for "a" ?
hmmm.. I mean, .first("a") ?
timotimo interestingly, my system takes 10 seconds as well 17:00
lizmat or drop the grep/first altogether, what is the timing then?
17:00 telex left
gtodd perl6 -e 'say "/usr/share/dict/web2".IO.slurp.lines(:eager).first("a");' 0.73s user 0.13s system 100% cpu 17:00
17:01 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Make sure we also compile IO::Local/File' 17:01
travis-ci.org/rakudo/rakudo/builds/39852911 github.com/rakudo/rakudo/compare/1...702027d6bf
17:01 travis-ci left, gfldex joined
gtodd "zygote" I made it a longish word that would be near the end (file is sorted) so there'd be more going on :-) 17:02
17:02 telex joined, sftp joined
tony-o how long does it take grep to find it? 17:03
17:05 vendethiel left
gtodd well it takes ruby ~ .20 seconds and bsdgrep and gnugrep are ~ 0.01 17:05
17:05 guru joined, guru is now known as Guest56976 17:06 fhelmberger left, ajr_ left 17:07 vendethiel joined
gtodd on these weird little tests ruby does something to go fast ... usually ruby python perl5 python3 are pretty close 17:07
lizmat looks at Travis 17:08
17:08 kjs_ joined
colomon hmmm, is it possible to set up Travis to ping the commit's author? 17:08
17:09 treehug88 left
lizmat can anyone the build failure or the restricted settings ? 17:10
*confirm
*of
tony-o masak: i'm still getting the error building moar 17:11
making rakudo on moar
lizmat tony-o: do you have a gist ?
tony-o is there a log or do you just want the line that it's crapping out on? 17:12
lizmat let's start with the line
tony-o gist.github.com/tony-o/eb3f96defe6ab155de6f
lizmat could it be that the OOM-killer hits the build provess ? 17:13
*process
tony-o: ^^^ 17:14
tony-o OOM killer?
it could, i have only 445M of memory free on that box 17:15
lizmat Out Of Memory
then I guess you don't have enough to build rakudo there :-( 17:16
tony-o ouch
lizmat Re Jarvis: rakudo builds ok for me on moar, parrot *and* jvm
17:17 treehug88 joined, rurban left
lizmat tony-o: rakudo typically takes about 700 MB when building on OSX 17:18
[Coke] 8:30 - 8:35 - "Running Perl6 on top of Google AppEngine", Attila Mihaly Balazs
^^ from www.cluj.pm/pages/events.html
is Attila on #perl6 ? 17:19
lizmat not sure 17:21
tony-o lizmat: thanks - i was trying to set up evalbot for another channel from an AWS micro :-) 17:22
timotimo the profiler seems to be a tiny bit b0rken now ... 17:24
lizmat fwiw, I feel more than just the profiler is flaky atm 17:25
at least on OSX
17:25 sqirrel_ joined, Guest56976 left
timotimo the profile only contains a single call to "unshift" and that's it 17:25
i profiled the thing gtodd pasted up there 17:26
lizmat timotimo: lemme try that as well
timotimo anyway, i'll post the weekly in a few minutes
17:26 FROGGS left, rurban joined
dalek rl6-roast-data: 6a65ed7 | coke++ | / (5 files):
today (automated commit)
17:28
timotimo post'd
[Coke] moar has LOADS of failures again on OS X.
17:29 vendethiel left
japhb timotimo++ 17:29
raiph .tell b2gills I've commented on your pi blog post; it says it awaits your moderation
yoleaux raiph: I'll pass your message to b2gills.
lizmat $ 6 'say "words".IO.slurp.lines(:eager).grep("zygote")'
zygote
real0m5.191s
$ 6 'say "words".IO.slurp.lines(:eager).grep("zygote").elems'
1
real0m0.839s
timotimo japhb: i just noticed i didn't even mention your stresstest feature work on p6bench
lizmat how can that be so many times faster ??? 17:30
timotimo lizmat: warm cache?
lizmat is the .elems making the grep eager ??
timotimo hm, perhaps. and the say is not?
lizmat nono, done this quite some times already
$ 6 '"words".IO.slurp.lines(:eager).grep("zygote")'
real0m0.734s
timotimo er ... wat 17:31
lizmat sink context making it eager ?
yes
timotimo could be
lizmat what indeed
perhaps hence the unshift() only ?
17:31 ClarusCogitatio joined
japhb timotimo: Well, maybe next week then. :-) 17:33
afk, bus stop &
timotimo where the hell are these failures in S32?
i can't find them
oh
delete-adverb.t
lizmat yeah, that flaps 17:34
quite a lot for me
timotimo ah, damn.
17:35 vendethiel joined
b2gills raiph: Should be visible now. ( good thing you messaged me, I don't normally check that ) 17:35
yoleaux 17:29Z <raiph> b2gills: I've commented on your pi blog post; it says it awaits your moderation
lizmat timotimo: confirmed, the profiler is borked 17:36
timotimo maybe it now only works if you use exit() ;) 17:37
17:37 ponbiki left
lizmat hehe... you wish 17:38
17:39 flussence left 17:45 ponbiki joined 17:48 pecastro left
timotimo running delete-adverb.t outside of the spectest suite 10 times doesn't give me a crash 17:49
lizmat yup
17:49 kjs_ left
lizmat but have you tried running a few of them simultaneously ? 17:49
17:50 sqirrel__ joined
timotimo i shall trý 17:52
17:52 Sqirrel left 17:53 sqirrel_ left
japhb
.oO( It's like 'try', but more of an accent on why you are trying ... )
17:53
timotimo seems hard to make it fail on my machine 17:54
i may need to update to the latest masters 17:55
17:57 treehug88 left
timotimo actually, it seems like i had this local change: gist.github.com/timo/3dc2ff93c49e0fd241ae 17:57
17:58 treehug88 joined, virtualsue left 18:07 sqirrel__ left 18:13 raiph left 18:19 vendethiel left 18:24 molaf left
dalek kudo/nom: 5f9a6be | (Elizabeth Mattijsen)++ | src/core/IO/ (2 files):
IO::Dir/File need to be Cool (at least for now)
18:27
18:29 vendethiel joined 18:34 leont left, flussence joined 18:42 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'IO::Dir/File need to be Cool (at least for now)' 18:42
travis-ci.org/rakudo/rakudo/builds/39863372 github.com/rakudo/rakudo/compare/f...9a6be563b9
18:42 travis-ci left 18:43 guru joined 18:44 guru is now known as ajr_ 18:50 Sqirrel joined 18:51 vendethiel left 18:53 Alina-malina joined
japhb lizmat: It seems like you've done a fair amount of code-first experimental work on IO in nom, which is causing some churn for the rest of us. Can you do the experimentation in a branch instead? 18:58
18:58 baest left, vendethiel joined, FROGGS joined
japhb It feels like the IO stuff isn't going to settle down until there's a decent mapping to the *entire* POSIX I/O functionality space, and that sounds more design-heavy to me. 18:59
19:00 grondilu left
japhb (I'm all for experimentation, but it's caused breakage that doesn't feel like it's settling down.) 19:00
lizmat I'm sorry if I'm causing any churn
could you give me an example of breakage?
fwiw, I'm not pushing unless I know the spectest is ok, and panda builds
japhb Directory produces paths/strings/dirs/files ...
lizmat then, after I push, I build parrot / jvm immediately 19:01
as in dir() ?
japhb right
19:01 grondilu joined
lizmat well, it's not going to return strings anymore unless you specifically ask for it 19:02
that much I'm sure
and I'd rather get immediate feedback
then being hit by strange phenomena whenever I merge...
this work is at the heart of all IO, I know
dalek rlito: 43c85a0 | (Flavio S. Glock)++ | / (3 files):
Perlito5 - js - create %SIG
19:03
lizmat and it's not like there are many other people committing at the moment :-(
japhb Sure, but I just meant, you've changed your mind a couple times, and each time pushed the new code to nom, did the deprecations, changed the spec, etc. But it won't be really settled down until the IO code can handle *all* the IO needs, and I have fears that this will cause design changes again -- which hit nom and spec each time.
The work and experimentation are great, I'm just asking if it can go in a branch. And we can add test runs for that branch if need be. I know Travis can do this ... I don't want to speak for [Coke], but it sounds like nothing in his automation would *prevent* such a change. 19:05
19:05 rindolf left
lizmat well, Travis atm says the build is broken, but I can't reproduce this on any backend 19:05
19:05 rindolf joined
lizmat nor does anybody else seem to have the problem 19:05
(so far) 19:06
japhb As for committing to Rakudo, yes, I know I haven't been ... but that's mostly because I'm trying to fulfill my promise to get us a good stress-test framework. :-)
lizmat japhb++
but what would automated testing of a branch bring? 19:07
I run a spectest at least 3 times an hour when I'm working
the most important reason is that working in the setting for such a deep part
breaks in interesting ways at interesting moments
japhb Feedback from *another* platform about breakage -- and in theory, we could test against e.g. all of the ecosystem to look for regressions. 19:08
Yeah, working in the setting is a real pain. :-(
lizmat well, in that case: yes, if I could have a branch tested against the eco-system, that'd be great 19:09
19:09 baest joined 19:10 Alina-malina left
japhb FROGGS: How is your cpandatesters work coming? 19:10
tadzik: Is Emmentaler still alive?
FROGGS japhb: the service is ready to get on its host, and I got my server just an hour ago...
installing the os right now :o)
so, I hope that my service is accessible via ip within the next hours 19:11
japhb \o/ 19:12
FROGGS++
FROGGS *g*
I am happy too :D
japhb FROGGS: What was the status of your big Panda and Rakudo branches? Did they get merged already? 19:13
FROGGS there are no outstanding rakudo branches
just the panda/reporter and panda/CPAN 19:14
19:14 kjs_ joined
japhb panda/reporter is for your new service, I assume. What's the state of panda/CPAN? 19:14
FROGGS the former can be merged after 2014.11 release, the latter needs more work on portability of NativeCall, Compress::Zlib etc
japhb: it only works on linux x64 so far 19:15
maybe osx, not sure
but since NativeCall has issues on 32bit I can't just ship it with panda
japhb Ah, gotcha. 19:16
FROGGS these are the new deps btw: github.com/tadzik/panda/tree/CPAN/ext
quite a lot :/
japhb Are the 32-bit NativeCall issues some really nasty deep problem, or just a SMOP that hasn't been done yet?
FROGGS somewhere in between I suppose 19:17
I tried twice to fix it, without luck
japhb Woah, yeah, that's quite a bit of new deps, though I understand the reasons.
FROGGS and jnthn++'s upcoming work could help in that area
japhb nodnod
japhb is fighting the problem of portability (in Perl 5) for his stress-testing code, so is currently feeling related pain. 19:18
FROGGS yeah
japhb
.oO( Why is it so bloody hard to portably time out and kill a spawned subprocess? )
19:19
FROGGS at $dayjob I am suffering because of a SOAP::Lite application... it is meant to task to soap1.1 and soap1.2 services, and SOAP::Lite is not made for switching between versions
ohh yeah
japhb Eww.
19:20 rindolf left, rindolf joined
colomon ye gads, that's a lot more deps for Panda. :\ 19:21
FROGGS I know :S 19:22
19:24 molaf joined
japhb I thought temp file generation was going to be a builtin, due not wanting to have different mistakes from the Perl 5 one of doing it wrong all over CPAN? 19:25
colomon FROGGS: does panda/reporter also add new deps?
FROGGS there is no built-in yet 19:26
colomon: no
colomon \o/
lizmat japhb: I feel this needs to be done at the nqp:: level
japhb would really like a reliable thread-safe does-the-best-it-can-on-the-local-OS tempfile builtin.
19:26 kurahaupo left
lizmat otherwise I would have specced and done it already 19:26
japhb lizmat: tempfiles?
FROGGS colomon: it is just that: github.com/tadzik/panda/compare/reporter 19:27
grondilu talking about NativeCall issues with 32bits, is it related to the lack of JIT on intel/32?
lizmat japhb: yes I would want a tempfile builtin as well
FROGGS grondilu: no
grondilu k
colomon FROGGS: is your server for that up and running?
FROGGS grondilu: the bug is that int should mean 32/64 bits depending on the platform... and it somehow always means 64bits atm 19:28
japhb lizmat: It may need nqp support, though it feels at a similar level to SPEC in terms of portability layer. Not wedded to that idea, though.
FROGGS colomon: in an hour perhaps :o)
19:28 kurahaupo joined
colomon FROGGS++ 19:28
colomon will go rake leaves until FROGGS is done. ;)
lizmat on the subject of IO specs: this is my current plan (which I have tested and implemented mostly):
1. IO::Spec / $*SPEC is on the way out 19:29
many of the current methods need a $*CWD and a $*SPEC specification
jnthn pointed out that we have a race condition there
since all foreseeable OSes on which rakudo will run use / as a directory delimiter (or at least can work with it) 19:30
we only need / for dir delimiter
the only Win specific thing for which IO::Spec was testing, was Driveletter:/ and //UNC/ 19:31
I think I found a cheap way of handling them as well
the only other things IO::Spec is really doing, is providing sensible defaults for different OSes (like tempdir) 19:33
FROGGS true
lizmat and many path modifying functions
so, long term goal: IO::Spec out of the core 19:34
2. most OS operations work on simple absolute paths at the lowest level
so, if you want to do a dir(), you shouldn't have to make an object of the path first before, only to get the path out of that again to do the operation 19:35
internally, the default of doing a dir, is returning a string 19:36
to easily differentiate dirs from other dirs entries, these strings get a '/' appended 19:37
this also makes it much easier to concatenate a dir with a relative path to get an absolute path
since we need to know whether something is a directory or not, we need to check, and therefore we can encapsulate that knowledge into an object of a different class 19:38
one that shares a lot with the generic file class
all objects returned by dir(), have the same API
except of course, when it doesn't make sense, or is not allowed (like open() on a directory) 19:39
fwiw, it seems that directories being represented with a trailing slash, seems to cause the most woe at the moment 19:40
I think it would be very nice if we could keep that, as it is simple, and a good visual cue whether something is a dir or not
3. IO::Path is trying to do too many things 19:41
19:41 vendethiel left
lizmat it tries to handle local file paths *and* pipe commands *and* connection strings for sockets 19:41
therefore I would like to see IO::Path go as well 19:42
instead, the .IO function (which is the main creator of IO::Path objects, IO::Handle objects before) will create an IOU object
19:42 denis_boyun_ joined
FROGGS IOU? 19:42
lizmat the "U" meaning Unidentified" 19:43
FROGGS ahh
lizmat pun intended
hmmm.... dinner ready need to go now&
FROGGS :o)
19:44 rindolf left, vendethiel joined, rindolf joined 19:45 ClarusCogitatio left 19:48 rindolf left 19:49 rindolf joined 19:50 ClarusCogitatio joined 19:51 daxim left 19:57 Mso150 joined
masak m: say "pun".indent(4) # pun, indented 19:57
camelia rakudo-moar 315ec6: OUTPUT« pun␤»
masak I can't believe no-one has done that one until now. 19:58
FROGGS >.< 19:59
japhb
.oO( Girl, Interrupted is just begging to be written ... )
FROGGS yeah, like someone missed an opportunity for years :P
masak m: for "Girl".comb { .say; last if ++state $ == 2 } # interrupted 20:00
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/aeyMOSgZQj␤Preceding context expects a term, but found infix = instead␤at /tmp/aeyMOSgZQj:1␤------> "Girl".comb { .say; last if ++state $ ==⏏ 2 } # interrupted␤»
masak m: for "Girl".comb { .say; last if ++(state $ ) == 2 } # interrupted
camelia rakudo-moar 315ec6: OUTPUT«G␤i␤»
20:00 rindolf left
masak m: for "Girl".comb { .print; last if ++(state $ ) == 2 } # interrupted 20:00
camelia rakudo-moar 315ec6: OUTPUT«Gi»
japhb I can think of so many interpretations -- concurrency seems a particularly ripe area for exploration. 20:01
.oO( Girl received SIGINT )
masak ooh, can I trigger a SIGINT in Perl 6 code? 20:02
japhb I can see code for it in Proc::Async.kill .... 20:03
masak urges japhb to produce a one-liner for camelia
japhb Damn you!
masak :>
20:05 kjs_ left, darutoko left
japhb 'Proc::Async is disallowed in restricted setting' # Had a feeling that would happen 20:06
masak aww 20:08
japhb Hmmm, it looks like we currently can only send a signal to a process for which we have a handle, which we have to get via Proc::Async.
Now if only we could get a handle on an arbitrary process .... 20:09
20:12 rindolf joined 20:14 rmgk left 20:16 rmgk joined
lizmat where was I? ah yes, 3. the IOU class 20:16
in a lot of ways, that will be like the IO::Path of today, except it won't pretend to be doing paths 20:17
depending on the method called on the object, it will do the right thing using the string (and $*CWD when needed) 20:18
so "foo".IO.open( :named )
will do an open( $*CWD ~ "foo", :named ) 20:19
FROGGS japhb / colomon: the service is running at 85.25.222.109:3000/dist/Text::Indented
japhb / colomon: next step is to get it to run on port 80 and then get a proper name
lizmat FROGGS: that URL doesn't work for me :-( 20:20
FROGGS try again
lizmat FROGGS: better!
FROGGS yeah, something manages to kill the server :o) 20:21
20:22 Alula joined
lizmat (to continue) would return an IO::Handle object 20:22
doing "echo Hello World".IO.pipe would do a pipe("echo Hello World") and return an IO::Pipe object 20:23
"localhost:25".IO.connect would return an IO::Socket object 20:24
(not sure whether we want a connect() sub)
4. IO::Handle, IO::Socket and IO::Pipe would be conumers of the IO::PIO role (PIO or some other name indicating the underlying common attribute) 20:26
:r / :w / :a would be likely attributes for IO::PIO
japhb FROGGS moritz other people: am I making sense so far ? 20:27
FROGGS lizmat: I guess... I am not concentrated enough to think of consequences 20:29
20:30 vendethiel left
moritz lizmat: sounds sane 20:30
20:36 vendethiel joined
dalek nda/reporter: 36135eb | (Tobias Leich)++ | lib/Panda/Reporter.pm:
add ip of publi cpandatesters server
20:36
lizmat 5. all paths are absolute
if you call .relative on a IO::Local, it will take C*WD and match it against the path and remove the part that's in C*CWD 20:37
*$*CWD
.absolute will just return the absolute path verbatim
moritz why?
in other languages, open($filename) works fine for relative file names without any conversions to absolute 20:38
lizmat moritz: and open("foo") will just DTRT
just like other languages
it will take $*CWD of the moment of open and prepend that if it's a relative path 20:39
FROGGS moritz: we absolutify filenames passed to open already
moritz why?
FROGGS correct, so when you change $*CWD one statement later, you still know what was meant
lizmat because $*CWD is volatile in a threaded, async world
moritz oh right, we have $*CWD 20:40
lizmat my previous approach was to keep whatever was given (absolute or relative), and keep $*CWD along as well
moritz which can be different from the OSes idea of the working directory 20:41
lizmat moritz: indeed, the OSes idea of the working directory only makes sense for initializing $*CWD at startup
nothing else
20:41 kurahaupo left
dalek href="https://cpandatesters.perl6.org:">cpandatesters.perl6.org: 7ed6c59 | (Tobias Leich)++ | app.pl:
bind to public ip
20:43
20:44 H2O1 joined
masak heh. I'm at a point where I (legitimately) need to implement a binary search -- but I feel a bit nervous because there's a widespread view that very few (something like 5% or so) manage to implement a bug-free binary search on their own. 20:45
dalek kudo/nom: 02fad28 | (Elizabeth Mattijsen)++ | src/core/IO/Local.pm:
Reminder about a bug
masak what should I do to increase my chances of success?
lizmat write many tests?
seriously, I would like to see something like that as a builtin 20:46
masak takes lizmat's advice
lizmat it could e.g. be used to make Supply.sort work gradually, instead of doing all the work at the end
20:46 rindolf left
tony-o is there a big need for that? there are a lot of ways to build it from what i've read and didn't think anybody would use something like that (at least not this early) 20:46
20:47 rindolf joined
lizmat more generally, it could make sort() be lazy :-) 20:47
dalek href="https://cpandatesters.perl6.org:">cpandatesters.perl6.org: 476f600 | (Tobias Leich)++ | app.pl:
show stats for all reports on page /recent
masak I think I agree that binary search could very well be in the core setting. 20:48
moritz masak: my approach to writing a binary search is to to only do it until ($right - $left) < 10 or so, and then do a linear scan. That's reputed to be faster (at least if the comparison is cheap), and not so much prone to off-by-one errors
masak moritz: interestingly, it decidedly wouldn't be faster in my case.
moritz: because the decision "am I too far right or not?" is lazily computed, and expensive. 20:49
20:49 kjs_ joined
masak moritz: something on the order of 0.1 s 20:49
dalek href="https://cpandatesters.perl6.org:">cpandatesters.perl6.org: b77224e | (Tobias Leich)++ | app.pl:
fix increment of native int
20:50
masak and so I really want to make as few computations as possible.
20:52 immortal joined, immortal left, immortal joined
tony-o moritz: do you have a write up or anything for that? 20:54
20:54 erkan left
moritz tony-o: nope 20:54
though I do think I've benchmarked it once in perl 5 or C, with integer comparisons (which are really dirt cheap) 20:55
tony-o do you have the code? i started writing something in p6 but it was mostly a learning exercise and couldn't find much other than contrived examples (so i don't know if i was making something useful or not) 20:56
20:56 pecastro joined 20:57 vendethiel left 20:58 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Reminder about a bug' 20:58
travis-ci.org/rakudo/rakudo/builds/39877428 github.com/rakudo/rakudo/compare/5...fad2897691
20:58 travis-ci left
moritz tony-o: nope 20:58
lizmat looks at Travis again :-(
21:00 rindolf left
FROGGS hmmm 21:01
colomon masak: List::Utils has binary search 21:03
21:04 ghostlines joined
lizmat moritz: am I correct in not seeing any RESTRICTED settings for the jvm ?? 21:04
colomon no guarentees it works and is efficient
but it does pass a few tests
masak colomon: looking.
21:04 kjs_ left
colomon masak: github.com/colomon/List-Utils/blob...5-search.t 21:04
masak: if you'd like to add tests, that would be cool. ;) 21:05
*more tests
21:06 ghostlines left
masak :) 21:06
this is not a good starting point for what I need, unfortunately.
I have: a sorted list of values, and a computationally expensive function. 21:07
21:07 Mso150_z joined, Mso150 left
masak I'm running the binary search because I want to run the expensive function the fewest possible number of times. 21:07
21:08 kjs_ joined
btyler_ git bisect is probably a rather well attended binary search implementation, since the expense of the function is "human intervention" 21:09
dalek kudo/nom: 30d6caf | (Elizabeth Mattijsen)++ | tools/build/Makefile- (2 files):
Restricted settings are built with --ll-exception

So that we at least have some more info when that goes wrong (like it does right now on Jarvis). Unfortunately, I couldn't find the place in the JVM build process to tweak. Patches welcome!
masak "well attended"?
lizmat masak: memoizing wouldn't help ? 21:10
btyler_ carefully optimized to minimize calls, like the trick moritz mentioned
timotimo what did i miss in the last few hours?
too tired to backlog :S
masak lizmat: yes, but only on a level outside of the search -- eliminating having to do exactly the same search twice.
lizmat Travis still complaining
timotimo :(
lizmat masak: why not for each test inside the sort ? 21:11
21:11 vendethiel joined
masak lizmat: the values are index positions inside a string. but for each new search, the string will differ, the values may differ, and the result may differ. 21:13
lizmat ok, gotcha :-)
colomon masak: I guess I'm not seeing why the lower-bound function isn't what you need, except possibly needing a way of specifying a different comparison function?
lizmat is waiting for Travis to complain again
timotimo i hope many people who stumbled upon the weekly via perl6.guide have put my blag into their feed reader 21:14
colomon well, except possibly for being an incorrect implementation. ;)
masak colomon: my list of values comparable to your @array is lazily computed, using an expensive function.
lizmat BTW, timotimo++ # P6 weekly
masak colomon: the point of my binary search is to avoid computing all elements in that list.
timotimo :)
colomon masak: do you mean the list itself is lazy, ie you don't know how many elements it has without computing them? 21:15
21:16 kaare_ left
masak colomon: I know how many elements it has. but I don't know whether to turn left or right down the binary search tree until I evaluate the expensive function. 21:16
21:17 Guest58887 is now known as felher
colomon right, that's the comparison 21:17
List::Utils's search should require ln N comparisons, more or less 21:18
dalek ast: ac87c83 | (Elizabeth Mattijsen)++ | integration/advent2010-day03.t:
We can only sensibly compare relative paths
masak it's a function fn($value) whose value can be "Keep" or "Break". I know that there's a limit somwhere between Keeps and Breaks. I'm trying to find the leftmost "Break".
colomon and Keeps come first? 21:19
masak right.
colomon this basic algo should do exactly that
masak ok.
...looks comparable to what I have so far :) 21:20
colomon++
lizmat has been banging her head about a dir() related test 21:22
only to find out the *old* implementation has a bug
21:23 ptc_p6 left, travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Restricted settings are built with --ll-exception 21:23
travis-ci.org/rakudo/rakudo/builds/39880697 github.com/rakudo/rakudo/compare/0...d6caf40429
21:23 travis-ci left
colomon masak: of course, now that I'm looking at this I'm wanting to make changes. ;) 21:23
lizmat m: ".git".IO.dirname.say
camelia rakudo-moar 315ec6: OUTPUT«.␤»
masak colomon: :)
lizmat would have expected ".git" 21:24
colomon lizmat: isn't that the name of the directory for the file?
lizmat m: "foo.bar".IO.dirname.say' # hmmm....
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/CBdt4Qbx7Q␤Two terms in a row␤at /tmp/CBdt4Qbx7Q:1␤------> "foo.bar".IO.dirname.say⏏' # hmmm....␤ expecting any of:␤ method arguments␤ postfix␤…»
colomon which (since it isn't specified) is .
?
lizmat m: "foo.bar".IO.dirname.say # hmmm...
camelia rakudo-moar 315ec6: OUTPUT«.␤»
lizmat hmmm... good point (I think) ;-) 21:25
colomon masak: give me a minute to try something.
lizmat colomon: thanks for the reality check
21:25 virtualsue joined
FROGGS lizmat: travis is failing for a self.bless(:parts(@parts), :plus($s.substr(*-1) eq '+')); 21:27
in Version.new
lizmat checks
FROGGS lizmat: we probably get the same when we delete our VERSION file or so
hmmm, might not be related to the VERSION file.... maybe it is about deprecations? 21:28
m: Version.new('') 21:29
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!===␤Start argument to substr out of range. Is: -1, should be in 0..0␤»
lizmat yup
ok, I'll fix that... still
weird that it starts complaining now ??
FROGGS and that we don't get that on our machines 21:30
colomon masak: OMG, just realized lower-bound / upper-bound only ever worked for numbers. sigh.
vendethiel hello, #perl6. 21:31
colomon in my defense, this is some really old p6 code.
FROGGS hi vendethiel
masak howdy, vendethiel
colomon Sept 2010...
vendethiel masak, tired, 'twas a long day. what about you
masak colomon: no matter. I'm halfway through messing up my own binary search now... :)
FROGGS okay... so who do I need to bug about a subdomain of perl6.org?
masak vendethiel: same. but doing nice Perl 6, so I'm not complaining ;) 21:32
colomon masak: anyway, my new binary-search function does exactly what you need, I think. ;)
masak :)
FROGGS [Coke]: do you know who can register subdomains to perl6.org?
21:32 ab5tract joined 21:33 kjs_ left
timotimo maybe if i try again, i'll find that blatantly obvious thing that makes JSON::Tiny slower than it could be ... 21:33
colomon timotimo++ # could really use JSON::Tiny being faster for $work 21:34
FROGGS me too
timotimo well, there's the module that binds some c library
that should have been a prefix:<++> rather than postfix:<++>, colomon :)
colomon timotimo: yes, but it changes how JSON import works (or at least, did so last time I checked)
timotimo that's true
colomon timotimo: I reward effort, too. ;)
21:35 H2O1 left
colomon I mean, I could rewrite the script in p5, too. 21:35
timotimo you'd perhaps write a little "crawler" that'll turn the data that library gives you into a regular perl6 datastructure
colomon but if JSON::Tiny just magically got faster, that would be the easiest solution for me.
lizmat m: Version.new
timotimo what kind of factor are you looking for?
camelia ( no output )
lizmat m: Version.new(Any) 21:36
camelia rakudo-moar 315ec6: OUTPUT«Default constructor for 'Version' only takes named arguments␤ in method new at src/gen/m-CORE.setting:926␤ in block <unit> at /tmp/BTwyo3nfVh:1␤␤»
lizmat m: Version.new("")
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!===␤Start argument to substr out of range. Is: -1, should be in 0..0␤»
colomon masak: Just updated List::Utils. Now has a binary-search which takes a &test argument, and returns the first index for which the test is false. 21:37
masak: I re-implemented lower-bound and upper-bound in terms of it, which means it has … 22 test cases. Not even vaguely thorough. 21:38
m: 110.log(2) 21:39
camelia ( no output )
colomon m: say 110.log(2)
camelia rakudo-moar 315ec6: OUTPUT«6.78135971352466␤»
masak colomon: thanks, I guess. I'm not convinced my particular generalization of binary search is a net utility for all possible users of a binary search routine... 21:40
21:40 xfix is now known as notfix
masak colomon: having to do a &test like that is a fairly fringe-y case. 21:40
colomon masak: totally not 21:41
21:41 firefish5000 joined
colomon lower-bound and upper-bound are both simple one-liners using the new binary-search 21:41
FROGGS moritz: from the irc logs it looks like set up doc.perl6.org... can you register a subdomain of perl6.org pointing to my server? 21:42
ab5tract colomon: you get to work in p6? 21:43
ab5tract jealous
masak ab5tract: we have openings. 21:44
ab5tract: better grab them quickly, though.
ab5tract masak: wait, what? :)
masak ab5tract: Perl 6. we have openings. if you want to work on p6.
colomon would we have to move to Sweden? 21:46
moritz FROGGS: perl6.org has a wildcard subdomain all pointing to 193.200.132.142; it seems you need a different IP, so all I can do for you is contact the domain owner
PerlJam thinks masak needs to clarify who "we" are. 21:47
masak the Perl 6 team.
btyler_ colomon: if you mean the JSON::Jansson binding I wrote, I ended up adding an option to import it into a regular data structure
dalek kudo/nom: 8a4b9e8 | (Elizabeth Mattijsen)++ | src/core/Version.pm:
Make Version.new("") not die
masak (but, yeah yeah, Edument is hiring, too...)
:P
colomon btyler_: ooooo
btyler_ which crawls the jansson structure, much like timotimo mentioned
lizmat waits for Travis again
btyler_ anyways, if you have specific requests, leave an issue, I'd be happy to jump back into that now that the dust is starting to settle for me in .nl 21:48
note that the conversion from jansson-->perl 6 structure sucks up a fair bit of time, so the advantage it enjoyed over JSON::Tiny is likely rather smaller 21:49
FROGGS moritz: I'm not yet sure if I want cpandatester.perl6.org or testers.perl6.org pointing to 85.25.222.109
moritz FROGGS: IMOH 'testers.perl6.org' is cleaner
*IMHO
timotimo btyler_: oooh, way cool :) 21:50
colomon timotimo: btw, if you'd like profiles of JSON::Tiny reads…. ;)
FROGGS moritz: that's what I think too
timotimo colomon: sure, go ahead :)
masak colomon: fwiw, here's the binary search I ended up with. gist.github.com/masak/abdbddcb25983fbd8935
FROGGS I still can register cpandatesters.org if I want to :o)
masak colomon: it seems to work now.
lizmat FROGGS: why not? 21:51
FROGGS lizmat: why not what?
lizmat register cpandatesters.org 21:52
FROGGS I dunno
moritz FROGGS: should I send the mail? 21:53
FROGGS moritz: ohh yes please
lizmat: ok, I ordered cpandatesters.org 21:55
if someone wanna be a cpanda tester: checkout panda/reporter, rebootstrap, run: PANDA_SUBMIT_TESTREPORTS=1 panda --exclude=Panda smoke (or just install dists while that env var is set) 21:59
and then the reports pop up here immediately: 85.25.222.109/recent
colomon FROGGS: "This webpage is not available" 22:00
afk # small children jumping in leaves
FROGGS eww
masak no, dangit. I want to find the last Keep! :/ 22:01
masak .oO( user requirements always change. even when you yourself are the user ) 22:02
FROGGS colomon: looks like the service dies for certain requests (via browser), but respawns and happily receives reports
weird that is
22:02 travis-ci joined
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Make Version.new("") not die' 22:02
travis-ci.org/rakudo/rakudo/builds/39884644 github.com/rakudo/rakudo/compare/3...4b9e8e92a5
22:02 travis-ci left
FROGGS lizmat++ 22:03
lizmat we still don't know where the empty Version string came from :-(
moritz FROGGS: is there an IPv6-address too?
lizmat so in a way, this was treating the symptom, not the cause :-(
FROGGS lizmat: this can also come from the os version
moritz: I'd have to set it up, but it is able to do ipv6 22:04
moritz FROGGS: let me rephrase. Should I ask for an AAAA-record right away? 22:05
FROGGS cpandatesters.org/ should now work for some of us :o)
moritz: I have no idea
PerlJam now I can't stop seeing cpan-datesters 22:06
FROGGS moritz: does that disallow ipv4?
PerlJam: :P
'sters
moritz FROGGS: no; but if you have no idea, it's better not to advertise a v6 address
FROGGS k
22:07 kjs_ joined
masak 'night, #perl6 22:07
lizmat gnight masak 22:09
FROGGS gnight masag 22:10
err, masak
ab5tract does anyone know what the deal is with all the reverse-oriented tests in S03-operators/ set.t 22:11
22:12 gfldex left 22:13 tgt joined
ab5tract they seem superflous at first glance 22:13
timotimo not seeing anything too helpful for JSON::Tiny yet :\ 22:14
i'm a bit distraught to see that possibly >>.ast is the fastest way to do what that does ...
22:15 kjs_ left, PZt joined, btyler_ left 22:16 btyler joined
tgt Hi. Is there a way to get all of the signatures for a multi sub? 22:17
m: say (1, 2, 3) div 2
camelia rakudo-moar 315ec6: OUTPUT«Cannot call 'infix:<div>'; none of these signatures match:␤:(Int:D \a, Int:D \b)␤:(int $a, int $b --> int)␤ in block <unit> at /tmp/7Ifu3HeLUs:1␤␤»
tgt I was curious about the signatures of infix:</> after seeing that error. 22:18
lizmat m: &infix<div>.signatures.say
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/4JseAwCtfx␤Undeclared routine:␤ &infix used at line 1. Did you mean '&index', '&indir'?␤␤»
moritz m: say &infix:</>.candidates>>.signature
camelia rakudo-moar 315ec6: OUTPUT«:() :(Any $x) :(Any \a, Any \b) :(Real \a, Real \b) :(Num:D \a, Num:D \b) :(num $a, num $b) :(Rational \a, Rational \b) :(Rational \a, Int \b) :(Int \a, Rational \b) :(Int \a, Int \b) :(Complex:D \a, Complex:D \b --> Complex) :(Complex:D \a, Real \b --> Co…»
moritz tgt: ^^
tgt Aha, thank you.
The code I posted seems like a bug?
[Coke] FROGGS: I don't know who owns perl6.org
lizmat m: &infix:<div>>>,candidates.signature.say 22:19
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/KqJ_aJxHN1␤Missing << or >>␤at /tmp/KqJ_aJxHN1:1␤------> &infix:<div>>>,⏏candidates.signature.say␤ expecting any of:␤ postfix␤ infix stopper␤ …»
moritz tgt: nope
lizmat m: &infix:<div>>>.candidates.signature.say
camelia rakudo-moar 315ec6: OUTPUT«No such method 'signature' for invocant of type 'Parcel'␤ in block <unit> at /tmp/kqDNiMCnT9:1␤␤»
FROGGS [Coke]: moritz++ is able to help me :o)
lizmat m: &infix:<div>.candidates>>.signature.say
camelia rakudo-moar 315ec6: OUTPUT«:(Int:D \a, Int:D \b) :(int $a, int $b --> int)␤»
ab5tract m: say (1, 2, 3).map({ $_ div 4})
camelia rakudo-moar 315ec6: OUTPUT«0 0 0␤»
ab5tract m: say (1, 2, 3).map({ $_ div 2})
camelia rakudo-moar 315ec6: OUTPUT«0 1 1␤»
tgt I'd have expected @a div $n to be exuivalent to floor(@a / $n)
timotimo huh, weird. we're doing getlexperinvtype_o for $?CLASS in nqp apparently? 22:20
PerlJam "exuivalent" should totally be a word
tgt :D Not sure how I typoed that. 22:21
moritz FROGGS, [Coke]: FTW, perl6.org is registered to Dan Wright, who happens to be treasurer of TPF
ab5tract m: my @a = 1,2,3; say @a / 2; 22:22
camelia rakudo-moar 315ec6: OUTPUT«1.5␤»
ab5tract tgt: it looks to me like @a is evaluated as number of elements when in a division
a la arrays in scalar context in p5 22:23
moritz S03 says about infix:<div>: "Not coercive, so fails on differing types"
that's what rakudo implements.
tgt Interesting. Do you know the reason behind that? 22:24
moritz sleep&
22:25 pecastro left 22:26 hagiri joined
hagiri TimToady, hello man 22:26
ab5tract tgt: honestly i don't think @a / $n should be coercive either
hagiri hello all ;)
ab5tract it seems easy enough to write @a.elems / $n for the coerced behavior 22:27
dalek ake: 5f9404b | (Arne Skjærholt)++ | src/Snake/ (2 files):
First pass implementation of list literals.

Not very useful yet though, as we don't yet handle variables, which means for
  loops aren't happening yet.
22:28
ake: 430570e | (Arne Skjærholt)++ | src/Snake/ (2 files):
Rudimentary variable and assignment handling.
ab5tract too much contextual twiddling can only lead to trouble
tgt I'm happy to write +@a div $n. I was just changing some code from floor(@a / $n) to use div and was surprised. 22:31
ab5tract tgt: i agree, it is a bit surprising. that's why i'm uncomfortable with the @a / $n coercion :) 22:33
but perls will perl, as the saying may go 22:36
22:40 tgt left
timotimo FROGGS: why does 85.25.222.109/recent take forever to reply? 22:40
FROGGS timotimo: I'm not sure... I cannot fetch a single site right now :/ 22:42
timotimo OK
my very first optimization attempt resulted in no improvement whatsoever
hm. 22:43
maybe i should be reading a json file that takes longer than a second to load in order to profile stuff
FROGGS timotimo: looks like too many reports are fetched from database for the /recent page... so either perl6 or DBIish has a problem there 22:44
that looks kinda nice: cpandatesters.org/dist/Acme::Meow
lizmat FROGGS++ 22:49
22:52 zakharyas joined, telex left
timotimo except it takes forever to answer 22:53
let me have a quick look at your queries or something?
22:54 telex joined
timotimo oh, FROGGS 22:55
@osnames.push: $<osname> unless $<osname> ~~ any @osnames;
this seems really slow 22:56
i'd rather have a hash store these, don't you think?
dalek ake: f28eca1 | (Arne Skjærholt)++ | src/Snake/ (2 files):
Basic for loops.
ast: 0277bfb | (Elizabeth Mattijsen)++ | S32-io/dir.t:
Some intermediate dir() fudging
23:01
23:09 grettis left 23:10 ab5tract left, grettis joined
timotimo now i have a big json file, but it's kinda ... too big 23:10
yeah, 180 mb %) 23:11
23:20 denis_boyun_ left 23:21 virtualsue left
timotimo FROGGS: could panda report also send the git commit that was fetched from the repository? 23:22
23:23 grettis left 23:24 SevenWolf joined
timotimo the rakudo-moar process that's trying to from-json the 100mb file has already reached 6 gigs of ram resident memory :\ 23:30
just slurping that file gives me a half-gig sized rakudo-moar 23:31
which is also less than awesome
23:31 TimToady left 23:32 TimToady joined
lizmat timotimo: just an "path".IO.slurp ??? 23:34
23:35 treehug88 left 23:36 grettis joined 23:41 vike left 23:45 zakharyas left
lizmat gnight, #perl6! 23:49
23:54 hagiri left 23:56 ClarusCogitatio left 23:58 ClarusCogitatio joined