»ö« 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:16 Hor|zon joined 00:20 Hor|zon left 00:24 MikeFair_away is now known as MikeFair 00:47 Exodist left 01:11 Mso150 left 01:23 Mso150 joined 01:35 gtodd left 01:43 MikeFair is now known as MikeFair_away 01:49 FROGGS_ joined 01:52 FROGGS left 02:02 noganex_ joined 02:03 vendethiel- joined 02:04 vendethiel left 02:05 noganex left 02:11 vendethiel joined 02:13 vendethiel- left 02:17 Hor|zon joined 02:21 jepeway_ left, Hor|zon left 02:27 _slade_ left, _slade_ joined 02:28 kurahaupo left 02:39 beastd left 02:51 Exodist joined 03:00 noganex joined 03:02 noganex_ left 03:19 pat_js joined 03:25 gtodd joined 03:37 BenGoldberg left 04:18 Hor|zon joined 04:22 Hor|zon left 04:39 rindolf joined 04:44 ggoebel1111110 joined 04:47 ggoebel111119 left 04:59 petercommand joined 05:22 fhelmberger joined 05:26 fhelmberger left 05:40 MikeFair_away left 05:47 rurban joined 05:58 bjz left, bjz joined 06:03 darutoko joined 06:07 notfix is now known as xfix 06:19 Hor|zon joined 06:24 Hor|zon left 06:27 yeahnoob joined 06:30 yeahnoob left 06:59 SamuraiJack_ joined
masak alohamorning, #perl6 07:02
07:02 ribasushi left
dalek ok: 0f87d07 | masak++ | src/regexes.pod:
fix quantifier modifier thinko

Discovered by 宋文泰 in rt.perl.org/Ticket/Display.html?id=122904
07:12
07:13 ribasushi joined 07:17 rurban left, rurban joined
masak a quick skim of www.cs.cmu.edu/~aldrich/papers/objects-essay.pdf indicates that it'd be of interest to people here. 07:34
HN discussion: news.ycombinator.com/item?id=8411225 07:35
vendethiel o/. 07:38
masak .oO( is that a ping-pong ball? don't crush it! ) 07:47
rurban left a comment at HN 07:49
defending functional over objects of course 07:50
masak uhm. 07:51
I really really like functional, but I'm not sure I believe it subsumes OO to the point of making it irrelevant. 07:52
in the end it comes down to different focus.
rurban sure it does. it's not irrelevant because its standard industry practice. worse is better. but is not inevitable. see e.g. CLOS 07:53
langs without even a lambda or method dispatch on arg types are doomed to have only objects 07:54
in potion objects are implemented as functions e.g. even variables are functions 07:55
07:58 spider-mario joined 07:59 spider-mario left 08:02 kurahaupo joined 08:04 spider-mario joined 08:10 kurahaupo left 08:20 Hor|zon joined 08:25 Hor|zon left 08:34 psch joined
psch hi #perl6 o/ 08:35
08:38 jack_rabbit joined
lizmat psch \o 08:39
jnthn o/ psch, lizmat 08:40
lizmat jnthn \o
psch jnthn, lizmat \o 08:41
i found the tests for -e :)
they still fail with my patch :(
08:45 gfldex joined
rurban got strange results for t/spec/S03-junctions/autothreading.t Failed 76/89 subtests but manually all tests pass with parrot and moar 08:45
lizmat rurban: on various builds I've seen various stable tests flap when doing spectest
I assume we still have a few heisengremlins in moar / libuv 08:46
jnthn lizmat: afaik, the only ones we have left in moar since the inlining/gc/continuations bug I fixed the other day are S17 ones...lemme know if you're seeing anything other than that.
lizmat jnthn: will do 08:47
08:47 jack_rabbit left
jnthn (Because all I have here are S17 flappers, and a small number of repeatable Win32 issues.) 08:47
lizmat: Did you ever get to the bottom of the io-spec-cygwin.t issue, ooc? 08:48
lizmat eh, I think I did...it went away afaict 08:49
jnthn pulls stuff and gets a new spectest run
lizmat fwiw, I'm about to unleash new chdir and indir :-) 08:50
jnthn Cool 08:53
vendethiel rurban: I strongly believe the only reason java has all these factories is because they didn't have lambdas :-) 08:54
(also, when people say "dependency injection", I tend to correct by saying "argument passing")
jnthn It's partly cultural too. 08:55
Before C# got lambdas, I don't remember it having a huge culture of factory writing.
vendethiel jnthn: I think c# guys go with the "provider" stuff instead of factories? 08:56
jnthn There's something about the Java way of API design that seems to embrace/encourage putting pattern names in class names, and using plenty of them...
vendethiel: Go with all sorts; convention-based DI containers amongst them... 08:57
vendethiel heehhe github.com/EnterpriseQualityCoding...seEdition/ :-)
rurban well, "dependency injection" is manipulating @ISA, the method dispatch
which forbids compile-time optimization of method dispatch 08:58
jnthn rurban: That isn't what it's meant on any codebase I've worked on.
rurban i.e. use oo :final forbidden in libs
vendethiel me neither
jnthn Typically I see it being used to refer to techniques like constructor injection 08:59
rurban interesting. how do you inject deps via argument passing?
jnthn And then arranging for said DI framework to be in charge of creating the "entry point" (for example, controllers in an MVC app). 09:00
rurban Ah, I see. java style
jnthn Much wider than that.
vendethiel rurban: you just pass you "db connection" as an argument instead of storing it on the object
rurban yes, I see. you need that for static languages.
jnthn vendethiel: Well, more important is that something outside of the object creates it
vendethiel jnthn: I just mean - DI is argument passing glorified. 09:01
nine Dependency injection is just "programming to an interface, not to an implementation" followed through.
jnthn vendethiel: Operationally, yes. The reasons I tend to spend time talking about it in classes is because, done right, you get looser coupling and much better testability. 09:02
nine: Yes, it's a concrete way of achieving that. 09:03
vendethiel jnthn: Compared to singleton/globals, sure. Compared to argument passing, no.
If I give you your db connection through an argument or through some instance variable, it's the *same*
actually, the argument one is less coupled, even :-)
jnthn vendethiel: Again, technically yes, but from an engineering point of view, making a decision once at object construction time when it will likely need to hold over the object's entire lifetime is likely a better design than relying on code interacting with the object to come up with an appropriate argument to pass each time. 09:05
09:05 FROGGS[mobile] joined
vendethiel jnthn: in an OO world, certainly :-). In a more functional world, you don't even have a choice 09:05
jnthn: lots of language provide some kind of option to even ease that further, from monadic stuff to implicit arguments (scala and idris/agda-like)
09:06 kurahaupo joined
lizmat jnthn: non S17 flapper: 09:07
t/spec/S04-phasers/first.t (Wstat: 65280 Tests: 1 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan. You planned 4 tests but ran 1.
Files=922, Tests=33883, 176 wallclock secs ( 9.15 usr 3.47 sys + 1068.72 cusr 158.26 csys = 1239.60 CPU)
runs fine by itself
but fails under make 09:08
jnthn Grr, I hadn't seen that issue for a long time...
lizmat reliably, so I guess technically, it's not a flapper
jnthn vendethiel: Agree, there are non-object ways to solve the same issue, but if you have objects to hand, might as well use them to their strengths. :) 09:09
dalek kudo/nom: a1da1f5 | (Elizabeth Mattijsen)++ | src/core/IO/Path.pm:
Add IO::Path.chdir
09:10
kudo/nom: de6cb3e | (Elizabeth Mattijsen)++ | src/core/io_operators.pm:
Update chdir(), add indir()
jnthn needs to get himself back into MOP stuff again in prep for working on native arrays, typed array improvements, etc, and figures he'll take on perlcabal.org/syn/S12.html#Custom_Meta-objects :) 09:14
09:15 FROGGS_ is now known as FROGGS, _slade_ left
FROGGS eww, the following borks my terminal on moar: perl6-m -e 'my $fh = open(~$*EXECUTABLE, :w, :p); $fh.print: "say 42"; $fh.close' 09:15
jnthn Due to handles being inherited, mebbe? 09:16
FROGGS jnthn: the custom metaop sounds highly "interesting" 09:17
jnthn: I guess so
we probably inherit and therefore close our own stdout
jnthn FROGGS: I don't think it'll be so hard to do, which is why I'm taking it as a warm-up task ahead of diving into some deeper 6model extensions :) 09:19
FROGGS jnthn: if you say so... I'm just scared about all these things :o)
seems like not to study CS does not pay off :o)
09:22 bartolin joined 09:25 Mso150 left
dalek kudo/nom: 7968c69 | (Elizabeth Mattijsen)++ | src/core/io_operators.pm:
Bring chdir up to spec
09:27
kudo/nom: 7dec9a9 | (Elizabeth Mattijsen)++ | src/core/io_operators.pm:
Make sure we don't lose failures
rurban darwin had the same utf8 issues as the other bsd's. e.g. t/spec/S05-mass/charsets.rakudo.parrot. fixed right now 09:34
dalek ast: ada98bc | usev6++ | S14-roles/parameterized-type.t:
Add test for RT #112970
09:45
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=112970
09:45 tinyblak joined
timotimo o/ 09:47
FROGGS o/ 09:48
lizmat $ perl6 -e '$CWD = 42; say $*CWD' 09:49
42
this seems an unwanted side effect of no strict
FROGGS timotimo o\
jnthn lizmat: Programs start out in GLOBAL, and $*FOO lookup falls back to $GLOBAL::FOO 09:50
FROGGS lizmat: at least surprising, aye
lizmat aha... hmmm.... 09:51
FROGGS I tripped over that in v5 too
lizmat jnthn: even if the var in GLOBAL is not marked as dynamic ?
$ perl6 -e '$CWD = 42; say $CWD.VAR.dynamic'
False
jnthn lizmat: Yes, dynamic is all about visibility through the lexpad 09:52
lizmat: But this is about package lookup, and packages are just glorified hashes...
lizmat hmmm..... yeah, gotcha
09:52 kaare_ joined
jnthn But yeah, it's a curious interaction of a few things that each make sense :) 09:52
lizmat maybe auto-defined vars should be in their own package, not visible to dynamic lookup ? 09:53
jnthn We could consider re-visiting if "our" scope is the right thing for undeclared variables.
lizmat :-)
09:53 virtualsue joined
jnthn Or if maybe they should be lexicals in UNIT or so 09:53
lizmat wouldn't that break a lot of opts ? 09:54
jnthn Not that I can see...are you thinking of anything in particular?
Note that it's the compiler that spots the variable is undeclared and goes off to declare it for us
lizmat true
or is it? 09:55
jnthn So it doesn't violate the "lexpad keys immutable at runtime" thing.
lizmat even if we're doing an EVAL inside a no strict block ?
jnthn Hmm
An EVAL has its own UNIT 09:56
lizmat ah, yup
psch re lax mode: S19:430 says -e doesn't default to lax mode
synopsebot Link: perlcabal.org/syn/S19.html#line_430
jnthn So it's true, but probably identifies the downfall of the approahc I suggested
FROGGS I really like to get a backtrace here:
$ perl6-p
> 1
Null PMC access in get_string()
:/
psch FROGGS, timotimo o/
FROGGS hi psch
jnthn FROGGS: Maybe comment out a CATCH somewhere in HLL::Compiler?
FROGGS tries 09:57
jnthn lizmat: (To be clear, if we declare them in UNIT, then an undeclared variable inside of an EVAL evaluated in lax mode would not be visible outside of the EVAL)
(I'm also not sure if that's a bad thing... :) 09:58
lizmat that just sounds about right to me :-)
otherwise we *would* be violating the immutability rule, right ?
09:58 virtualsue left
jnthn lizmat: Yes. Well, the alternative is to leave things as they are today and declare them our-scoped, and get the surprise you just ran into. :) 09:59
dalek kudo/nom: 3962ee5 | (Elizabeth Mattijsen)++ | src/core/IO/Path.pm:
Make IO::Path.chdir also a class method

For the so inclined, it's basically $*CWD.chdir
jnthn Auto-declaration is generally surprising in some way, as I tend to find out each time I end up writing Python. :) 10:00
timotimo hm, do we currently do mixtures of multiple -e correctly in rakudo?
FROGGS timotimo: there is a PR about that
jnthn timotimo: No, which I think is why there's a bunch of discussion around it ATM :)
FROGGS $ perl6-m -e 'say 1' -e 'say 2' 10:01
1
psch i'm still on that
HLL::CommandLine::Parser is getting in my way a bit
timotimo more importantly, i think -e 'say "init"' -pe 'say "do something"' -e 'say "done"' is nicer than using phasers ...
psch -e'say 1;' -e'say 2;' e.g. works
10:01 kjs_ joined
psch but -e 'say 1;' -e 'say 2;' doesn't 10:01
because the space after e does something about how the rest is parsed 10:02
timotimo ah, i remember looking at that!
nine finds it odd that the implementation of a language that takes parsing to whole new levels fails at parsing its command line... 10:04
vendethiel hahaha 10:06
jnthn If only we implemented the langauge in itself, then we could use its parsing technology to parse its command line... :P 10:09
timotimo we should just concatenate the options with spaces again, then we would be able to parse it in one go! :P 10:10
10:10 slavik left 10:13 xinming joined 10:15 xinming_ left
jnthn With spaces is a bad idea, but with some other sentinel (NULL) might even be feasible 10:15
10:15 tinyblak_ joined
timotimo does our parsing work properly with that kind of thing? 10:15
jnthn m: say "ab\0c\0de" ~~ / [\w+]+ % \0 / 10:18
camelia rakudo-moar 9c807f: OUTPUT«===SORRY!=== Error while compiling /tmp/Ra70SZ9ICO␤Unrecognized backslash sequence: '\0'␤at /tmp/Ra70SZ9ICO:1␤------> say "ab\0c\0de" ~~ / [\w+]+ % \⏏0 /␤ expecting any of:␤ postfix␤ infix…»
jnthn m: say "ab\0c\0de" ~~ / [\w+]+ % \x0 /
camelia rakudo-moar 9c807f: OUTPUT«「ab␀c␀de」␤␤»
jnthn m: say "ab\0c\0de" ~~ / [(\w+)]+ % \x0 /
camelia rakudo-moar 9c807f: OUTPUT«「ab␀c␀de」␤ 0 => 「ab」␤ 0 => 「c」␤ 0 => 「de」␤␤»
timotimo ah. this could actually work.
10:19 tinyblak left 10:20 denis_boyun_ joined 10:21 Hor|zon joined
jnthn Well, maybe. Just saying that if we really are struggling with scaling the current parsing, we might want to look into using the parsing tech we have :) 10:21
lizmat fwiw, I would not be in favour of allowing \0 in *code* 10:22
rurban has some pretty string ideas about that, I think
problem is that code with \0 may hide code after it in some (dumb) situations
because \0 is C's end of string marker
and would thus be an attack vector 10:23
10:23 slavik joined
timotimo this may be a good opportunity to make sure we're null-byte-clean 10:23
10:25 Hor|zon left
jnthn It's mostly an issue if you're passing strings off to C-land 10:26
timotimo aye
jnthn And yeah, there are some interesting attacks around that. But if anything we'd be reducing risk here, not increasing it... :) 10:27
My favorite attack of that kind was in combination with a badly written UTF8 decoder
timotimo IIRC, the Nintendo Wii got "pwned" because they were comparing the code's signature with strcpm instead of memcmp and the signature was "the binary" instead of "hexadecimal as ASCII"
jnthn Such that you could smuggle null bytes into places by giving the thing some invalid UTF8, which caused it to emit nulls as it decoded :)
timotimo so all you had to do was find a legit game that has a null byte near the beginning of its signature and you could brute force a colliding payload for the same signature 10:28
jnthn cute :) 10:29
Yay. My bag is packed for today's trip up to Stockholm, I've had lunch, and now I've got some free time to code :) 10:32
FROGGS sounds good :o) 10:33
10:37 tinyblak_ left, tinyblak joined
lizmat m: say $*CWD.WHAT; say nqp::iscont($*CWD) # seems to work ok 10:50
camelia rakudo-moar 3962ee: OUTPUT«(timeout)»
lizmat :-(
$ 6 'say $*CWD.WHAT; say nqp::iscont($*CWD)'
(IO::Path)
1
$ 6 'say $*TMPDIR.WHAT; say nqp::iscont($*TMPDIR)' 10:51
(IO::Path)
0
so why is one IO::Path a cont, and the other isn't ?
jnthn: ^^^ any ideas ?
timotimo "is a cont" vs "is in a cont"
as in: the IO::Path itself isn't "the cont" 10:52
lizmat $ 6 'temp $*TMPDIR'
Can only use 'temp' on a container
$ 6 'temp $*CWD'
(works fine)
FROGGS I guess TMPDIR gets bound to PROCESS and CWD not? 10:53
rurban lizmat: do you really say "string ideas", not strong ideas?
lizmat rurban: sorry, strong ideas :-)
FROGGS hehe
rurban or stringent idea
lizmat strong has the shortest StrDistance 10:54
jnthn lizmat: Probably just because one ends up getting bound into PROCESS or so, while the other is assigned. 10:55
lizmat: I doubt there's a strong design reason for those two...
lizmat aha... I see what you mean... 10:56
timotimo fwiw 10:57
timo@schmand ~/p/rakudo (nom)> perl6-m -e 'say $*CWD.VAR.WHAT'
(Scalar)
timo@schmand ~/p/rakudo (nom)> perl6-m -e 'say $*TMPDIR.VAR.WHAT'
(IO::Path)
dalek ecs: 37874f2 | (Elizabeth Mattijsen)++ | S16-io.pod:
Re-introduce tmpdir() and homedir(), update chdir()

The original idea behind unifying them into a single chdir() usage, becomes very cumbersome in the implementation. Therefore we're going back to these functions.
10:58
kudo/nom: d033738 | (Elizabeth Mattijsen)++ | src/core/io_operators.pm:
Reintroduce tmpdir(), homedir(), update chdir()
bartolin rurban: this morning I tested rakudo on latest parrot from master on freebsd. the two non-ASCII tests from S19-command-line/dash-e.t fail with non-utf8 locale, but run fine otherwise. (same result as on netbsd and linux) 11:03
dalek p: b79b20c | (Tobias Leich)++ | src/vm/parrot/QAST/Operations.nqp:
remove eof on parrot that breaks on streams

This was meant to unify the behaviour on all backends so that we detect EOF already before we attempted to read past it. Sadly this does not work out here and we have to take care about that in rakudo again.
11:04
kudo/nom: 58cd6f1 | (Tobias Leich)++ | / (2 files):
nqp::eoffh on parrot does not detect EOF early

This re-introduced code that checks if we are at EOF. Also bump nqp for nqp::eoffh fix.
11:07
kudo/nom: 71b9822 | (Tobias Leich)++ | src/Perl6/Grammar.nqp:
fix repl on parrot and jvm

  $?FILES can be NULLish and we have to check instead of strcmping it against something.
11:11
lizmat FROGGS++
FROGGS pmichaud: that should fix the REPL
will now run tests (again) and then respond to tickets/mails 11:13
lizmat: about eof on parrot... please keep in mind that you have to check .DEFINITE like I did in order not not have additional empty strings at the end of slurped files... 11:15
lizmat is that a parrot only thing ? 11:16
FROGGS lizmat: it was a parrot and jvm thing before I hacked nqp::eoffh three weeks ago, then it was not a thing and now it is a parrot thing again :o) 11:17
lizmat so, .lines and .slurp would be affected, right ?
(and .words in the future)
11:17 tinyblak_ joined
lizmat or until we have nqp::readcharsfh on parrot, right ? 11:17
11:18 tinyblak_ left 11:21 tinyblak left 11:23 fhelmberger joined 11:25 bjz left, bjz joined 11:26 FROGGS[mobile] left, FROGGS[mobile] joined
psch it occurs to me that we have two kinds of stoppers for cli args. with -e we want to stop at the last one, with -- we want to stop at the first 11:26
lizmat m: 42
camelia ( no output )
lizmat m: $*TMPDIR = 42 11:27
camelia rakudo-moar 3962ee: OUTPUT«Cannot modify an immutable IO::Path␤ in block <unit> at /tmp/etMnEm2meM:1␤␤»
lizmat m: $*TMPDIR; $*TMPDIR = 42'
camelia rakudo-moar 3962ee: OUTPUT«===SORRY!=== Error while compiling /tmp/zsJPeybRvA␤Two terms in a row␤at /tmp/zsJPeybRvA:1␤------> $*TMPDIR; $*TMPDIR = 42⏏'␤ expecting any of:␤ postfix␤ infix stopper␤ infix or m…»
lizmat m: $*TMPDIR; $*TMPDIR = 42
11:27 fhelmberger left
camelia rakudo-moar 3962ee: OUTPUT«Cannot modify an immutable IO::Path␤ in block <unit> at /tmp/P00tgYuGLq:1␤␤» 11:27
psch although i think that solves itself with the grammar i'm putting together anyway, as any stopper option is an option first... 11:28
dalek kudo/nom: e5884bf | (Elizabeth Mattijsen)++ | src/core/Process.pm:
First step in fixing $*TMPDIR
11:29
lizmat jnthn timotimo: the $*TMPDIR problem is the lazy evaluation of it 11:30
once it is initialized, a subsequent attempt to change works 11:31
$ 6 '$*TMPDIR; $*TMPDIR=42; say $*TMPDIR.VAR.WHAT'
(Scalar)
jnthn timotimo: maybe some magic in Actions/make_variable_from_parts is needed ? 11:36
11:37 vendethiel left
jnthn lizmat: I don't think so...that sounds like a level mixup.. 11:38
Feels more like we're losing the container somewhere we ought not be
lizmat testing a fix 11:39
FROGGS lizmat: I only saw fallout in .lines... but I'm not sure if that means much 11:44
dalek ast: de7eb2d | jnthn++ | S12-meta/ (5 files):
Some initial tests for EXPORTHOW.
11:47
kudo/nom: 2b2bafa | jnthn++ | src/ (2 files):
Implement EXPORTHOW::SUPERSEDE.

Also detect and complain about invalid directives, and report DECLARE and COMPOSE as NYI so far. Keep existing things working for now; we can start issuing a deprecation warning in the future for a plain use of EXPORTHOW::class, and remove it a bit further into the future.
11:57
kudo/nom: 2662e01 | jnthn++ | t/spectest.data:
Run S12-meta/exporthow.t.
11:58 robinsmidsrod left
jnthn train & 11:59
11:59 Alula left 12:00 robinsmidsrod joined
FROGGS[mobile] jnthn: have a nice time in Stockholm :o) 12:00
12:03 Alula joined 12:18 cognome joined 12:22 cognome left, Hor|zon joined, BenGoldberg joined 12:23 cognome joined 12:27 Hor|zon left 12:33 yeahnoob joined
lizmat gives up on the $*TMPDIR container issue 12:38
the workaround is simple: just mention it before in your code, and it works
because that *will* initialize and make subsequent accesses work 12:39
12:39 bjz left
FROGGS huh 12:39
t/spec/S17-procasync/print.rakudo.moar (Wstat: 256 Tests: 16 Failed: 1)
Failed test: 15
TODO passed: 12-14
was that me?
lizmat (the reason $*CWD already works, is that it currently is non lazily initialized)
no
that's a flap
12:39 bjz joined
FROGGS ohh, that one too 12:39
lizmat yup: all async features have flapping tests :-( 12:40
FROGGS :/
lizmat meanwhile I'm bisecting parrot breakage
FROGGS t/spec/S16-filehandles/io.t (Wstat: 139 Tests: 23 Failed: 0)
Non-zero wait status: 139
Parse errors: Bad plan. You planned 87 tests but ran 23.
this?
lizmat yup, a segfault 12:41
FROGGS lizmat: so you had that already before my commits today?
lizmat looks like it 12:42
FROGGS okay...
I've got not much time right now, but I can help this evening, in case there is still some breakage that needs fixing 12:43
12:53 araujo joined, araujo left, araujo joined 12:55 guru joined, guru is now known as ajr_
[TuxCM] where can I find the docs about the difference between Str and Str:D and what it is used for 12:57
BenGoldberg Str is a type. 12:58
:D is a modifier used in a parameter list.
lizmat it means a defined Str
m: say Str.DEFINITE
camelia rakudo-moar 2662e0: OUTPUT«False␤»
BenGoldberg The :D can be applied to any parameter type, not just Str.
lizmat m: say "foo".DEFINITE 12:59
camelia rakudo-moar 2662e0: OUTPUT«True␤»
BenGoldberg It's a way for the person writing the code to not have to worry about what to do if passed an undefined value.
13:00 laben joined
laben hai #perl6 o/ 13:00
13:00 kaare_ left
lizmat laben BenGoldberg [TuxCM] \o 13:00
BenGoldberg o/ 13:01
:)
laben today is a good day for updates, just a little thing needs to be fixed 13:02
lizmat: could you give a look at the build of Inline::Perl5?
13:03 vendethiel joined
laben lizmat: seems like LibraryMake broke, i get this when building I::P5 => No such method 'chdir' for invocant of type Str 13:03
panda seems to work fine 13:04
lizmat this is probably somewhere a .path that needs to be replaced by a .IO
laben need to dig a bit deeper in my logs to find the whole error trace 13:05
lizmat something is setting $*CWD to a Str, rather than an IO::Path 13:06
laben lizmat: can you reproduce it? or is it only me? 13:08
lizmat reproduced
dalek kudo/nom: 205b588 | (Elizabeth Mattijsen)++ | src/core/IO/Spec/Unix.pm:
Add naive $*SPEC.extension for basenames
13:14
kudo/nom: 762d947 | (Elizabeth Mattijsen)++ | src/core/CompUnit.pm:
Properly use basename/extension
13:17 PotatoGim^Home joined 13:19 kjs_ left 13:24 kjs_ joined 13:28 lue left
dalek nda: e3fb048 | (Elizabeth Mattijsen)++ | lib/Panda/Common.pm:
Temporary solution to Inline::Perl5 breakage
13:29
13:30 BenGoldberg left
dalek kudo/nom: 66cd275 | (Elizabeth Mattijsen)++ | src/core/io_operators.pm:
Put a canary in chdir()
13:30
lizmat laben: could you verify that the above panda update fixes your problem ?
13:31 kjs_ left
nine Why am I trying to figure out how to get syntax highlighted code into a presentation program instead of just using vim for the presentation? 13:32
laben lizmat: on it! i've started rebuilding rakudo etc right now
13:33 vendethiel- joined
dalek kudo/nom: f7dc3c3 | (Elizabeth Mattijsen)++ | src/core/io_operators.pm:
Fix typo
13:35
13:35 vendethiel left
awwaiid nine: well, you could also use vim to output html 13:36
(if your presenter takes html)
timotimo that's right, with the :hc tool, no? 13:38
laben lizmat: everything fine now :-) 13:39
lizmat cool! 13:40
nine awwaiid: you'd think that after 15 years of using vim one would just assume that there's some feature like that available :)
13:41 lue joined 13:42 FROGGS[mobile] left, FROGGS[mobile] joined
timotimo nine: if you output to html, you can usually copy&paste the formatted stuff into many gui presentation tools, like google docs presentations for example 13:43
nine timotimo: but obviously not into LibreOffice Impress. At least not without a detour through Writer. 13:45
timotimo oh :\ 13:49
13:50 laben left
dalek ecs: d8869f8 | (Elizabeth Mattijsen)++ | S02-bits.pod:
Pod would be an IO::Handle, not an IO::Path
13:53
ecs: a5df488 | (Elizabeth Mattijsen)++ | S16-io.pod:
Add indir/tmpdir/homedir to overview
14:02 denis_boyun___ joined 14:03 denis_boyun_ left
dalek kudo/nom: e418ce8 | (Elizabeth Mattijsen)++ | src/core/io_operators.pm:
Correct defaults for tmpdir() and homedir()
14:04
kudo/nom: c503e01 | (Elizabeth Mattijsen)++ | src/core/Main.pm:
Remove bare IO::Spec calls from Main
14:07 rindolf left
dalek kudo/nom: bb0f9a3 | (Elizabeth Mattijsen)++ | src/core/IO/Handle.pm:
Remove bare IO::Spec calles from IO::Handle
14:10
lizmat afk for a bit
14:13 Ven_ joined
jnthn FROGGS[mobile]: Thanks. Going for a few days concurrency teaching :) 14:15
jnthn is enjoying the autumn colors out the train window
FROGGS[mobile] jnthn: that sounds like fun and fun at the same time :o) 14:17
14:17 zakharyas joined
timotimo %) 14:18
14:19 denis_boyun___ left
dalek kudo/nom: a4d933a | jonathan++ | Configure.pl:
Find .exe/.bat in prefix on Windows.

Means a Configure with --prefix is sufficient; before an explicit
  --backend was always needed.
14:19
jnthn oh, *that's* why things were darn slow...a hung iTunes swallwing a while core... 14:21
14:22 FROGGS[mobile] left, anaeem1_ joined, FROGGS[mobile] joined 14:23 Hor|zon joined 14:27 FROGGS[mobile]2 joined, Hor|zon left
Ven_ jnthn: why is itunes so godamn terrible, I wonder / 14:28
14:28 FROGGS[mobile] left
jnthn Ven_: tbh, I don't normally have a big problem with it 14:29
Ven_: Just now and then it does...stupid things.
Ven_ jnthn: Really? Everytime I use it, it's awkward and slow. I'm not even talking about the bad UI, but just in itself, it's a big blob of wtf 14:30
jnthn I'm often a bit surprised how much memory it wants
grondilu m: say .elems given my @ = <foo bar>
jnthn But at least on the hardware I have it's snappy enough not to bother me...
camelia rakudo-moar 2662e0: OUTPUT«(timeout)»
nine Ven_: why do people use itunes I wonder
Ven_ nine: 'cause we have apple phones 14:31
timotimo grondilu: the result is 2 on my local box
jnthn nine: It's the lazy/easy way to shove stuff onto most beloved iPhone :)
Ven_ eh. this phone is the only one I ever had, and it still works pretty well after 4 years :) 14:32
14:33 spider-mario left
grondilu m: say .elems given constant @a = <foo bar> 14:33
camelia rakudo-moar 2662e0: OUTPUT«2␤»
14:34 [TuxCM] left 14:35 kaare_ joined
grondilu m: my @a = "a", <b c>; say @a.elems; # here I expect 3 14:36
camelia rakudo-moar 2662e0: OUTPUT«3␤»
grondilu m: constant @a = "a", <b c>; say @a.elems; # here I would *also* expect 3 14:37
camelia rakudo-moar 2662e0: OUTPUT«2␤»
timotimo oh, i think our constants don't do "proper" list assignment yet
grondilu ok, good to know.
Ven_ erm. 14:39
m: say ("a", <b c>).elems
camelia rakudo-moar c503e0: OUTPUT«2␤»
Ven_ I think TimToady++ changed it not long ago
timotimo m: constant %foo = "a", "b", "hi", 2, "foo", 3; say %foo.perl; say %foo.elems; 14:41
camelia rakudo-moar c503e0: OUTPUT«("a", "b", "hi", 2, "foo", 3)␤6␤»
timotimo that's what i mean.
.o( put that in your pipe and smoke it )
lizmat S02:4690 : " integer int Integral int" regarding integer item context 14:43
synopsebot Link: perlcabal.org/syn/S02.html#line_4690
lizmat feels like a fossil
or is this just a matter of Integral and int() being NYI ? 14:44
14:46 [TuxCM] joined
jnthn lizmat: Well, int(...) would be a type coercion if it exists 14:50
lizmat but do you think it is a fossil or not?
jnthn lizmat: tbh, I don't know. 14:53
lizmat: Worth checking with TimToady
14:56 xfix is now known as notfix
dalek kudo/nom: f9c4d07 | jonathan++ | src/Perl6/Grammar.nqp:
Implement EXPORTHOW::DECLARE.
15:01
15:02 lizmat_ joined, lizmat left, lizmat_ is now known as lizmat
dalek ast: c335b12 | jonathan++ | S12-meta/ (3 files):
Tests for EXPORTHOW::DECLARE.
15:02
timotimo does that mean we can now export a "foobar" in EXPORTHOW::DECLARE and in the code using it have a foobar { ... } that creates a type with our given metaobject? 15:03
$<sym>=[$declarator] <.end_keyword>