»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31
Set by jnthn on 28 February 2015.
timotimo retupmoca: also, could Compress::Zlib::Raw also grab the dll from that website? 00:01
00:02 kurahaupo left 00:06 kurahaupo joined, aborazmeh joined, aborazmeh left, aborazmeh joined
retupmoca timotimo: currently, I have the .dll right in the repo for zlib and openssl, since they're pretty small (very small, in the case of zlib) 00:07
but I'll add cairo and SDL to my todo list :)
and I can change the zlib/openssl .dll bundling to download like GTK does as well, if it's preferred 00:08
timotimo thank you very much 00:09
that'd be pretty cool
p6weekly.wordpress.com/?p=468&...9e63255847 - does anything seem to be missing or wrong? 00:11
00:13 yqt left 00:19 aborazmeh left 00:20 aborazmeh joined, aborazmeh left, aborazmeh joined 00:29 larion joined 00:39 laouji left 00:40 laouji joined 00:42 fhelmberger joined 00:44 laouji left, laouji joined 00:45 tinyblak joined 00:46 tinyblak_ joined 00:47 fhelmberger left 00:50 tinyblak left 01:01 Augustus joined
Augustus is anyone here familiar with the internals of NQP's regex engine? 01:02
timotimo i am a little bit 01:04
what in particular are you interested in?
Augustus I am wondering what is involved to create custom cursors 01:05
It looks like some of the matching logic is in the cursors
I was hoping that cursors were just handling walking through the input
timotimo may i ask what you're hoping to get from a custom cursor? 01:06
m: say "foo" ~~ / f { $/.CURSOR.WHAT.say } /
camelia rakudo-moar 01e174: OUTPUT«(Cursor)␤「f」␤»
timotimo m: say "foo" ~~ / f { $/.CURSOR.^mro.say } /
camelia rakudo-moar 01e174: OUTPUT«(Cursor) (Any) (Mu)␤「f」␤»
Augustus well I would like to make a cursor that generalizes from character sequences to sequences of arbitrary objects for one 01:07
but I would also like to make a bit-stream cursor
timotimo oh, i like the sound of that
but i'm not sure if that'll work well without also changing code-gen
tony-o Augustus++
Augustus it would also be nice to be able to make a cursor that walks other structurs
certain tree structures have in-order walks etc
timotimo walking tree structures can already be done quite nicely with gather/take at least :) 01:08
and since gather/take will keep generated values around, backtracking is also possible in a way
arnsholt Yeah, you don't want grammars if you want to traverse a structure
timotimo but using rules etc for that would be much better of course
Augustus can you use that to match a regex against it?
timotimo no, you cannot :(
but the design document says things about matching lists/streams/whatevs of objects against rules (that are specifically designed to handle that) 01:09
Augustus is that in an apocalypse somewhere?
I have not read through 100% of all of them 01:10
timotimo i thought it was in the synposes actually
Augustus even if there's no implementation I would love to read what other people were thinking on this subject
timotimo design.perl6.org/S05.html#Matching_...on-strings 01:11
sadly rather short :( 01:12
Augustus arnsholt: so long as you can reverse your walk in a well defined manner, or if you can suffice with simple look ahead, it makes sense to do regex matching against other structures
timotimo: thanks
timotimo hm
not as glorious as i had remembered
Augustus Forcing objects into Str can work for many interesting applications, but I think dealing with bit-streams is going to really require a custom cursor 01:14
timotimo you want non-byte-aligned specifically, right? 01:15
Augustus yeah
arnsholt Yeah, parsing non-strings is wanted, but not at all figured out ATM AFAIK
Augustus my idea is to basically compile textual regexes written with 0/1 or 0-9A-F into bit patterns 01:16
01:16 rararara left
Augustus and hopefully be able to do effecient byte operations when possible 01:17
and fall back to arbitrary bit stuff as needed
oh and obviously a special adverb on the regex to compile it to binary
probably also some special handling to deal with endianness so you can treat larger groups of bits as native integers 01:18
timotimo i wish you the best of luck with this 01:19
i'm going to bed now :)
gnite!
Augustus gn
01:25 aborazmeh left 01:29 Sqirrel left 01:31 Sqirrel joined 01:39 SomeStrangeTest joined
SomeStrangeTest hi - I'm having a problem installing Task::Star with Panda using rakudobrew 01:41
Cannot look up attributes in a type object
in method files at src/gen/m-CORE.setting:26719
that mean anything to anybody? 01:42
01:42 sirdancealot left
SomeStrangeTest line in question is: (add-to-list 'auto-mode-alist '("\\.vm$" . html-mode)) 01:43
oops, not that one
for %!dists.kv -> $path, $repo {
which I guess means dists is a type?! 01:44
01:46 ilbot3 left 01:47 ilbot3 joined, aborazmeh joined, aborazmeh left, aborazmeh joined
TimToady SomeStrangeTest: means self is a type, rather than an instantiated object 01:48
raydiak that error message might be better if it somehow mentioned or implied that type objects also mean "undefined"
SomeStrangeTest ok, that seems more likely...I see %!dists used here and there in the file and it really doesn't look like a type 01:49
this is from a fresh install of rakudobrew...what are the chances that it's broken? 01:50
TimToady the chances are always 50-50 :)
SomeStrangeTest :)
it appears my panda is altogether broken...just the command panda alone produces it 01:51
I may have confused it by installing in a weird directory
raydiak probably a totally different problem but I get a broken dependency on SVG when I try to install Task::Star...not sure where SVG went but it's...gone? from the whole ecosystem 01:52
I see the problem...trailing comma in it's new "provides" is invalid json 01:56
.tell moritz github.com/moritz/svg/pull/2 02:00
yoleaux raydiak: I'll pass your message to moritz.
tony-o timotimo: github.com/tony-o/perl6-overwatch 02:16
tossed that together, no meta and incomplete readme so far but the thing seems to work (and it seems to react faster than supervisor) 02:17
02:19 noganex_ joined 02:21 larion left 02:22 noganex left 02:24 Sqirrel left
dalek ast: 74bd2ec | Coke++ | S32-list/squish.t:
reduce scope of TODO

some of these already pass
02:27
02:31 Sqirrel joined 02:32 aborazmeh_ joined, aborazmeh_ left, aborazmeh_ joined 02:33 aborazmeh left, aborazmeh_ is now known as aborazmeh
dalek ast: e20a16b | Coke++ | S32-io/io-handle.t:
These tests pass, unfudge them.

Also track deprecation warning
02:34
kudo/nom: 6186f03 | Coke++ | t/spectest.data:
Run these pre-fudged tests
jdv79 is the GLR underway? 02:35
[Coke] no. waiting on pmi 02:40
*pmichaud
m: use Test; ok (chars "abcdef" > 4), "chars() has the right precedence (1)"; 02:44
camelia rakudo-moar 01e174: OUTPUT«Cannot call Real(Failure: ); none of these signatures match:␤ (Mu:U \v: *%_)␤ in method Real at src/gen/m-CORE.setting:4823␤ in sub infix:<>> at src/gen/m-CORE.setting:5351␤ in block <unit> at /tmp/wv90q9SFar:1␤␤»
[Coke] m: say chars "abcdef" > 4
camelia rakudo-moar 01e174: OUTPUT«Cannot call Real(Failure: ); none of these signatures match:␤ (Mu:U \v: *%_)␤ in method Real at src/gen/m-CORE.setting:4823␤ in sub infix:<>> at src/gen/m-CORE.setting:5351␤ in block <unit> at /tmp/jZlb7mKLKf:1␤␤»
[Coke] m: say chars "abcdef"
camelia rakudo-moar 01e174: OUTPUT«6␤»
[Coke] m: (chars "abcdef" ) >6 02:45
camelia ( no output )
[Coke] m: say (chars "abcdef" ) >6
camelia rakudo-moar 01e174: OUTPUT«False␤»
[Coke] Should that fail without parens? t/spec/S32-str/length.t thinks not.
02:47 Possum joined 02:49 larion joined, raiph joined
colomon hmmm 02:50
m: say sin 1 02:51
camelia rakudo-moar 01e174: OUTPUT«0.841470984807897␤»
colomon m: say sin 1 - 1
camelia rakudo-moar 01e174: OUTPUT«0␤»
colomon [Coke]: if it never worked in niecza, I wonder if it just worked in rakudo by accident. 02:52
jdv79 just curious if anyone knew if pmichaud was privately making awesome happen
02:55 larion left, kurahaupo left
dalek ast: e566f87 | Coke++ | S05-modifier/perl5_9.t:
remove old pugs fudge, add rakudo fudge
02:59
kudo/nom: fbf5f2c | Coke++ | t/spectest.data:
run recently fudged test
[Coke] jdv79: not to my knowledge.
03:01 aborazmeh left, kaare_ joined
dalek kudo/nom: a7b6849 | Coke++ | t/spectest.data:
run recently fudged test
03:06
ast: 28a9fc9 | Coke++ | S03-smartmatch/hash-hash.t:
reduce scope of todo, some of these already pass
03:07
03:08 albert joined
albert Greetings! When I try to install Task::Star with Panda I get the following error: "*resolve stage failed for Task::Star: Dependency SVG is not present in the module ecosystem". What can be the cause? 03:10
[Coke] albert: irclog.perlgeek.de/perl6/2015-03-31#i_10366478 03:11
Can folks examine S12-class/parent_attributes.t ? It's not run by default, fails, and dates from 2008. I suspect it might be no longer valid p6. 03:12
albert Thanks, Coke!
Sorry, Coke, but how this kind of error with meta.info files is supposed to be corrected? 03:26
raydiak albert: moritz (the module's owner) has to pull the fix after he wakes up (in Germany), which contains this change: github.com/moritz/svg/pull/2/files 03:30
albert Ohh, thanks! 03:31
raydiak yw :)
labster [Coke]: I use quotemeta in Perl 5 for two things: passing untrusted data into a regex, and passing untrusted data onto the command line. The first is deprecated now with double quoted strings, but the second use is still useful. 03:43
Though tbh, single quotes at the command line with that single quote escape '\'' would probably be better 03:44
03:49 larion joined
raydiak can't backslash-escape in single-quoted strings in bash, have to escape like '"'"' 03:56
03:58 Augustus left 04:06 Sqirrel left 04:12 KCL_ joined 04:17 larion left 04:24 BenGoldberg joined 04:25 molaf left 04:29 laouji left 04:30 laouji joined, skids left 04:38 BenGoldberg left 04:50 larion joined 05:06 laouji left
tony-o that '"'"' trick works p well 05:12
05:22 laouji joined 05:30 raiph left 05:31 Sqirrel joined
TimToady m: say infix:<~>('a','b','c') # oopsie on list associative operator 05:45
camelia rakudo-moar a7b684: OUTPUT«5===SORRY!5=== Error while compiling /tmp/JILrnivzqY␤Calling infix:<~>(Str, Str, Str) will never work with proto signature ($?, $?)␤at /tmp/JILrnivzqY:1␤------> 3say 7⏏5infix:<~>('a','b','c') # oopsie on list␤»
raydiak .tell moritz also SVG::Plot is missing from projects.json though I haven't a clue why...errors.json is empty, and it's even still listed on modules.perl6.org atm 05:52
yoleaux raydiak: I'll pass your message to moritz.
06:11 yeahnoob joined 06:13 Rounin joined
dalek line-Perl5: c9e8e30 | PerlJam++ | META.info:
Add {test,build}-depends to META.info
06:21
line-Perl5: 14b2b74 | niner++ | META.info:
Merge pull request #18 from perlpilot/meta

Add {test,build}-depends to META.info
Thanks to perlpilot++
06:24 telex left 06:26 telex joined
moritz raydiak: yes, I've noticed. Need to investigate 06:28
yoleaux 02:00Z <raydiak> moritz: github.com/moritz/svg/pull/2
05:52Z <raydiak> moritz: also SVG::Plot is missing from projects.json though I haven't a clue why...errors.json is empty, and it's even still listed on modules.perl6.org atm
[Tux] nine_, "META.info".IO ~~ s{author} = "auth"; # and maybe add "authors" : "Your Real Name"
nine_, "META.info".IO ~~ s{author} = "auth"; # and maybe add "authors" : [ "Your Real Name" ],
dalek ast: 7c4672c | usev6++ | S02-types/capture.t:
Add tests for RT #116002
06:32
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=116002
06:34 gfldex joined, larion left
moritz raydiak: ecosystem-api.p6c.org/projects.json lists SVG::Plot 06:35
06:37 FROGGS joined
moritz raydiak: you probably just need to update your projects.json; my hypothesis is that the ddos on github made the META.info URL unavailable for some time 06:37
FROGGS o/ 06:39
06:41 Alina-malina left
moritz raydiak: in fact, I can now install it with a newly bootstrapped panda 06:41
\o FROGGS
06:43 jack_rabbit joined 06:51 larion joined
dalek kudo/nom: 978607a | TimToady++ | src/core/Str (2 files):
infix:<~> needs list associative implementation
06:54
kudo/nom: 437fd11 | TimToady++ | src/core/precedence.pm:
add associativity into prec info carried by ops
kudo/nom: f96ad35 | TimToady++ | src/core/LoL.pm:
use correct assoc for :with in cross and zip
kudo/nom: 2b303a0 | TimToady++ | src/core/traits.pm:
don't copy assoc on tighter/looser
06:56 gfldex left 06:57 Akagi201_ left 06:58 Akagi201 joined
dalek c: 335b030 | paultcochrane++ | lib/Language/5to6.pod:
Document PERL6LIB
07:00
07:00 jack_rabbit left 07:02 xprime joined 07:05 RabidGravy joined, prime left
masak good morning, #perl6 07:08
07:09 zakharyas joined
bartolin_ o/ masak 07:09
moritz \o masak, bartolin_ 07:10
07:11 larion left
spider-mario p6weekly.wordpress.com/2015/03/31/...a-monthly/ 07:17
so that’s what they were!
I must admit that I was confused
I thought we were talking about 2015.12 because it was supposed to be 1.0 (Christmas)
bartolin_ btw timotimo++ 07:18
moritz timotimo++ 07:20
07:23 jack_rabbit joined
TimToady m: say infix:<~>('a','b','c') # better 07:24
camelia rakudo-moar 2b303a: OUTPUT«abc␤»
TimToady m: say cross(<a b>;<c d>;<e f>):with(&infix:<~>) 07:25
camelia rakudo-moar 2b303a: OUTPUT«ace acf ade adf bce bcf bde bdf␤»
TimToady m: say zip(1,2;2,3;3,4):with(&infix:<**>) 07:26
camelia rakudo-moar 2b303a: OUTPUT«1 2417851639229258349412352␤»
TimToady m: say 2 ** 3 ** 4
camelia rakudo-moar 2b303a: OUTPUT«2417851639229258349412352␤»
dalek c: aa53797 | paultcochrane++ | lib/Language/5to6.pod:
Add note about PERL6LIB being a developer convenience

Thanks to masak++ for pointing this out
07:27
nwc10 r: say 0 ** 0
camelia rakudo-moar 2b303a: OUTPUT«1␤»
nwc10 r: say 2 ** 95
camelia rakudo-moar 2b303a: OUTPUT«39614081257132168796771975168␤»
[ptc] m: say -1 ** 0 07:28
camelia rakudo-moar 2b303a: OUTPUT«-1␤»
nwc10 r: say -1 ** 0.5
camelia rakudo-moar 2b303a: OUTPUT«-1␤»
07:28 spider-mario left
nwc10 r: say (-1) ** 0.5 07:28
camelia rakudo-moar 2b303a: OUTPUT«NaN␤»
nwc10 r: say (-1) ** 0.6 07:29
camelia rakudo-moar 2b303a: OUTPUT«NaN␤»
nwc10 r: say (-1) ** (1/3)
camelia rakudo-moar 2b303a: OUTPUT«NaN␤»
[ptc] nwc10: shouldn't that be complex?
nwc10 possibly
moritz m: say (-1 + 0i) ** (1/3)
camelia rakudo-moar 2b303a: OUTPUT«0.5+0.866025403784439i␤»
nwc10 but IIRC the cube root of -1 doesn't need to be complex
[ptc] the square root has to be though...
nwc10 so I was curious if the implementation is smart enough to know that
any even root has to be 07:30
moritz there are three cube root of -1
nwc10 (I think)(and any odd root isn't)
there are 2 square roots of 4, but we only return one :-)
moritz one of them is real
nwc10 r: 4 ** 0.5
camelia ( no output )
nwc10 r: say 4 ** 0.5
camelia rakudo-moar 2b303a: OUTPUT«2␤»
nwc10 (and don't ask me about irrational roots of negatigve numbers, or whatever "all the cases that aren't m/n are called) 07:31
moritz m: say (-1).roots(3) 07:32
camelia rakudo-moar 2b303a: OUTPUT«0.5+0.866025403784439i -1+1.22464679914735e-16i 0.5-0.866025403784439i␤»
07:32 rindolf joined
masak I believe there's a notion of "canonical nth root" or something 07:32
it's whichever one has the smallest angle against the real axis in the complex plane
for square roots of positive reals, that's always a positive real 07:33
but yeah, there is some level of arbitrary in all of this
the most notable one probably being that -i could have been chosen as the imaginary unit, and it would've "all worked out", due to symmetry 07:34
masak .oO( how do you know they *didn't* choose -i as the imaginary unit, and that's what we have been calling i all this time ) o.O
moritz "by convention"
masak right. 07:35
the convention is largely sane, though.
07:37 jack_rabbit left
masak anyway -- don't think it was pointed out above -- you only get complex numbers from a calculation if you put in complex numbers as inputs. 07:39
that's why nwc10 got NaN
07:40 eli-se joined
masak I think it's a good default -- over the years, the only people I see being surprised by it are people who are testing Nth roots of negative numbers to see if complex numbers fall out ;) 07:40
and so it's a case like with `4..3`-style ranges. we could do more, and it might even seem cute today to do so, but it'd be more surprising and scary than useful. 07:41
07:41 yeahnoob left
eli-se Hello, Perl! 07:43
hello?
07:43 eli-se left 07:45 laouji left, laouji joined
masak eli-se: come back! don't leave so quickly! 07:45
07:47 mr-foobar left, eli-se joined
eli-se Internet is borked. :[ 07:48
masak have you tried turning it off and then on again?
eli-se m: my ($a, $b) = 42 xx 2; say $a, $b; 07:49
camelia rakudo-moar 2b303a: OUTPUT«4242␤»
eli-se nice :)
however 42 is evaluated twice
masak that's a feature
07:50 rurban_ joined
masak m: my @board = ['.' xx 3] xx 3; @board[1][1] = "X"; say @board.perl 07:50
camelia rakudo-moar 2b303a: OUTPUT«Array.new([".", ".", "."], [".", "X", "."], [".", ".", "."])␤»
masak eli-se: then ^^ works :)
eli-se yes :P 07:51
TimToady I don't think the 42 is re-evaluated; we notice it's a constant
masak of course, for something like 42 it could likely be optimized. but that's a diff'rent thing. I don't know if we do that.
right.
eli-se TimToady: that's an optimisation
in this case it's irrelevant since the behavior is the same
masak well, optimizations are not irrelevant.
TimToady performance is a side effect :)
eli-se the lack of heat as well 07:52
masak in fact, Perl 6 relies so heavily on optimizations that if optimizations didn't make a difference, Perl 6 wouldn't be fun to use :)
07:52 Akagi201_ joined
eli-se My terminal is bad at guillemets 07:54
or maybe it's perl6' input stuff 07:55
TimToady the REPL is bad at unicode
perl6 -e '...' works better
eli-se ok nice 07:56
07:56 Akagi201 left
eli-se I want custom sigils. 08:04
moritz make a slang! 08:06
08:06 abraxxa joined
abraxxa morning guys! 08:07
08:07 kjs_ joined, brrt joined
moritz good morning abraxxa, guys, gals, bots, and all other sentient entities 08:08
eli-se moritz: OMG
"Slang" is Dutch for snake. And Python is Dutch. Half Life 3 confirmed.
brrt good morning moritz and all 08:09
moritz bartolin_: re people who don't have a commit bit, just /msg me their github IDs 08:11
brrt yes, slang is dutch for snake, also for garden hose
eli-se tuinslang
08:12 dakkar joined 08:13 darutoko joined
masak eli-se: "slang" is short for "sublanguage" in Perl 6 lingo :) 08:13
eli-se masak: I suppose that isn't coincidental! 08:14
I have no commit bit!
08:14 Ven joined
masak .oO( subnake ) 08:14
moritz eli-se: what's your github userid?
eli-se rightfold
masak :)
stand by and watch magic happen
moritz fwiw english also has slangs
or dialects
eli-se sigils are magic
moritz eli-se: github says "already a member of this team" 08:15
eli-se I see.
I didn't know that meant I could commit
moritz eli-se: which gives you access to nearly all repos on the perl6/ organization
eli-se: in this particular case, it means that :-)
eli-se neat
moritz we're too lazy and liberal for fine-grained access control 08:16
and are only a bit more restrictive for rakudo itself
masak .oO( MLP: sigils are magic )
eli-se sigils are love. sigils are life. 08:17
masak sigils are marriage, husband and wife. 08:18
#perl6poem
moritz eli-se++, masak++ 08:19
and why do I have to think of Peter V. Brett's "Keep calm and draw wards" twitter tagline? :-)
jnthn morning, #perl6 08:20
moritz \o jnthn
08:20 azawawi joined
eli-se hello jnthn 08:20
azawawi hi
m: Supply.on_demand(sub {}) 08:21
camelia rakudo-moar 2b303a: OUTPUT«Saw 1 call to deprecated code during execution.␤================================================================================␤Method on_demand (from Supply) called at:␤ src/gen/m-Metamodel.nqp, line 1634␤Deprecated since v2015.3, will be remove…»
Ven we don't have anything related to double semicolons implemented, do we?
moritz Ven: yes we do
Ven: you can use them as separators in a signature, indicating that multi-dispatch should only consider stuff before it 08:22
(iirc)
Ven has never really understood what that meant
eli-se paamayim nekudotayim
Ven so, how can I pass the extras arguments in then? Multi dispatch will fail to match my signature
eli-se oh wait that was colon not semicolon
Ven eli-se: they changed it ;)
eli-se Ven: noooo :(
moritz Ven: depends on how you write the signature after the ;; 08:23
eli-se Ven: look!
Ven moritz: I'm interested in an exemple, or a test. the syns weren't very clear last 3 times I looked ;)
moritz m: multi a($x;; *%a) { say %a.perl }; a 1, a => 42
camelia rakudo-moar 2b303a: OUTPUT«("a" => 42).hash␤»
dalek kudo/nom: c8cab23 | jnthn++ | tools/build/NQP_REVISION:
Bump NQP_REVISION for moreinput NQP bits.
08:24
moritz Ven: S06-multi/syntax.t has some test(s)
masak eli-se++ # paamayim nekudotayim
eli-se: you are my kind of people :)
moritz Ven: the multi candidates are compile-time sorted by narrowness; this sorting ignore the part after the ;;
(iiuc) 08:25
08:25 pecastro joined
moritz *ignores 08:25
Ven there are only one test and it doesn't make sense to me, though
moritz Ven: it tests exactly what I just wrote 08:27
Ven: &foo can't sort the candidates, because (S, T) is neither narrower nor wider than (T, S)
Ven: but &bar sorts (S, T) as (S) and (T, S) as (T), and S is narrower than T 08:28
Ven how is it night?
not*
depends what you pass to it..
jnthn psch++ # moreinput
moritz Ven: no
jnthn just tried it for the first time :)
moritz Ven: a narrower type constraint is always narrower 08:29
Ven well, yeah
moritz Ven: independently of what you pass in
08:29 sdo joined
Ven m: class T{}; class S is T{}; multi foo(S $){0}; multi foo(T $){1}; say foo(T); # this should be a no-brainer 08:29
camelia rakudo-moar 2b303a: OUTPUT«===SORRY!===␤Cannot find method 'has_compile_time_value'␤»
moritz because S ~~ T and T ~~ T, but not T ~~ S
Ven uh-ho.
sdo hello
Ven o/, sdo 08:30
moritz Ven: try with a space before the {
Ven m: class T{}; class S is T{}; multi foo(S $) {0}; multi foo(T $) {1}; say foo(T); # this should be a no-brainer
camelia rakudo-moar 2b303a: OUTPUT«===SORRY!===␤Cannot find method 'has_compile_time_value'␤»
Ven m: class T {}; class S is T {}; multi foo(S $) {0}; multi foo(T $) {1}; say foo(T); # that one?
camelia rakudo-moar 2b303a: OUTPUT«1␤»
masak submits rakudobug
jnthn I bet it's the is T{} parsing as a postcircumfix...it's still a bizzare error.
Ven incomprehension-based debugging
I guess my real question is something else 08:31
m: class T{}; class S is T{}; multi foo(S $) {0}; multi foo(T $) {1}; multi foo(T $;; S $ = Mu) say foo(T);
camelia rakudo-moar 2b303a: OUTPUT«===SORRY!===␤Cannot find method 'has_compile_time_value'␤»
Ven m: class T {}; class S is T {}; multi foo(S $) {0}; multi foo(T $) {1}; multi foo(T $;; S $ = Mu) say foo(T); # whoops
camelia rakudo-moar 2b303a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/CgS9sMtgGv␤Missing block␤at /tmp/CgS9sMtgGv:1␤------> 3 foo(T $) {1}; multi foo(T $;; S $ = Mu)7⏏5 say foo(T); # whoops␤ expecting any of:␤ new name to be defined␤»
Ven I'll /msg camelia instead. 08:32
moritz you forgot to give the last multi a routine body
Ven I know. that's just enough spam for now :) 08:33
so, ;; basically means "treat every next argument as Any + no where clause"
s/next/following/
08:33 larion joined
moritz no 08:34
Ven: you know how you can sort by a transformed value?
eli-se m: my @xs = 1..10; say for @xs
Ven moritz: sort(:as) ?
camelia rakudo-moar 2b303a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4JafY5jtgr␤Unsupported use of bare "say"; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument␤at /tmp/4JafY5jtgr:1␤------> 3my @xs = 1..10; say7⏏5 for @xs␤»
sdo _my friends u r heroes
Ven eli-se: .say
eli-se dammit
moritz m: say (-1, 2, -3, 4).sort(*.abs)
camelia rakudo-moar 2b303a: OUTPUT«-1 2 -3 4␤»
masak sdo: _you are a hero too, I'm sure 08:35
eli-se moritz: that's the kind of sort I like! none of that confusing comparator stuff
moritz Ven: the ;; tells the multi sorter to sort by only stuff before the ;;
Ven: just like the above example told sort to only sort by *.abs
eli-se: me too
Ven moritz: yeah, and "Any" doesn't weigh anything either in sorting, does it :)?
sdo i am rarzan you r jane 😊
moritz Ven: it does
masak sdo: every person is the protagonist of their own subjective experience ;)
moritz Ven: it sorts tighter than Mu
Ven moritz: alright, then, "Mu". 08:36
sdo yep
moritz masak++
masak .oO( of this I have no proof )
moritz Ven: that, in turn, prevents junction autothreading
Ven moritz: sorry?
moritz m: sub f(Mu $x) { say $x.^name }; f 1|2
camelia rakudo-moar 2b303a: OUTPUT«Junction␤»
moritz m: sub f($x) { say $x.^name }; f 1|2 08:37
camelia rakudo-moar 2b303a: OUTPUT«Int␤Int␤»
Ven ah, I thought you needed to explicitly use "Junction", just like Whatever
moritz so no, replacing it with Mu is also not an accurate mental model
Ven: no, autothreading is a fallback mechanism for failed dispatches, and Junction ~~ Mu
08:38 albert left
eli-se I wonder whether it's much effort to rewrite my compiler in Perl 6 from Perl 5. 08:39
I should look into Perl 5 interop.
moritz eli-se: there's Inline::Perl5 08:40
eli-se perfect
Ven eli-se: I had a hard time convincing you... :P
08:40 sdo left
eli-se oh, only 549 LOC 08:41
Ven eli-se: will be less with p6 :P 08:43
eli-se probably :P
Nicest thing is multis for AST visiting 08:44
instead of type key and hash of subroutines
Ven write an adt, write an eval function, profit :P 08:45
.oO( so long it's not uppercased )
08:45 espadrine joined
eli-se and then delete my VM? :( 08:46
Ven just output the same bytecode. isn't that why the VM is separated? :P
eli-se but why eval 08:47
Ven that's how ADT-using people call their adt-evaluating function 08:48
eli-se I don't evaluate ASTs
Ven m: eval 1; # it's EVAL in p6 (and doesn't have the same "try" semantics as perl5
camelia rakudo-moar 2b303a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BXvyRSSJJL␤Undeclared routine:␤ eval used at line 1␤␤»
eli-se I evalute bytecode found in obejct fiels. 08:49
Ven troo
08:54 eli-se left
masak uses #| pod comments on MAIN multis for the first time 08:57
someone++
[ptc] yeah, that's very cool 09:00
Ven remember discovering that in time just for his calendar post
[ptc] today I learned about the read-write version of a for loop for @array <-> $array {} 09:01
cool stuff
masak Juerd++ # ISTR
Ven [ptc]: i think <-> is the default for $_
masak yeah, it reads *really* well
it is.
Ven m: my @a = <a b c>; for @a {.=succ;}; say @a;
camelia rakudo-moar c8cab2: OUTPUT«b c d␤»
09:02 rararara joined
moritz m: $_++ for (my @a = <a b c>); say @a 09:05
camelia rakudo-moar c8cab2: OUTPUT«b c d␤»
jnthn m: say (my @a = <a b c>)>>++
camelia rakudo-moar c8cab2: OUTPUT«a b c␤»
jnthn Darn1
moritz keep calm and use the prefix version
:-) 09:06
jnthn m: (my @a = <a b c>)>>++; say @a # but it did mutate, right? :)
camelia rakudo-moar c8cab2: OUTPUT«b c d␤»
jnthn phew :)
Bug in me, not Rakudo :)
FROGGS reports jnthnbug
jnthn EQUEUEFULL
masak m: say ++<<(my @a = <a b c>) 09:07
camelia rakudo-moar c8cab2: OUTPUT«b c d␤»
09:09 eli-se joined, laouji left 09:10 laouji joined, brrt left 09:12 rararara left
arnsholt So: 09:12
m: my $x = Proc::Async.new('ls');
camelia rakudo-moar c8cab2: OUTPUT«Proc::Async is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting:1␤ in method new at src/RESTRICTED.setting:32␤ in block <unit> at /tmp/MQjLWaS65S:1␤␤»
arnsholt j: my $x = Proc::Async.new('ls');
camelia rakudo-jvm c8cab2: OUTPUT«Could not find symbol '&Async'␤ in method <anon> at gen/jvm/CORE.setting:15804␤ in any find_method_fallback at gen/jvm/Metamodel.nqp:2897␤ in any find_method at gen/jvm/Metamodel.nqp:1052␤ in any at gen/jvm/BOOTSTRAP.nqp:1752␤ in block <unit…»
arnsholt But also:
j: use Proc::Async;
camelia rakudo-jvm c8cab2: OUTPUT«===SORRY!===␤Could not find Proc::Async in any of: /home/camelia/rakudo-inst-2/share/perl6/runtime, /home/camelia/rakudo-inst-2/share/perl6/lib, /home/camelia/rakudo-inst-2/share/nqp/lib, /home/camelia/.perl6/2015.03-120-gc8cab23/lib, /home/camelia/.perl6…»
arnsholt JVM, y u no Proc::Async?
jnthn Not implemented yet :( 09:13
arnsholt Awww
Was hoping going to JVM would shed light on the segfaults I got with Moar
eli-se JVM is good.
arnsholt: so instead you get NPEs :P 09:14
09:14 rararara joined
jnthn We've made the JVM SEGV plenty too in the history of r-j development ;P 09:14
arnsholt True that
09:14 laouji left
arnsholt But with NPE's you usually at least get some context 09:14
jnthn Aye
jnthn wants to kill all Moar SEGVs :) 09:15
eli-se What sigil do you need to get NPE context?
moritz eli-se: the nqp::null() sigil :-)
jnthn 💩
arnsholt Yeah, me too. I'll see what I can do, but likely this has something to do with the files I'm processing being big
09:16 eli-se left
rararara what is the newio branch? 09:17
jnthn rararara: I bunch of cleanups/improvements to the IO classes, largely their internals iiuc. 09:18
Though I think it implements a few missing features too 09:19
rararara why is it there a branch for that?
jnthn Same reason you'd use a branch for anything: you want the freedom as a developer to break some things for a while. 09:20
09:20 laouji joined
jnthn And since we do time-based releases, we try to keep the main branch as something we can always ship. 09:20
09:23 brrt joined 09:24 Ven left 09:25 lichtkind joined
FROGGS ++arnsholt # for porting Proc::Async to JVM 09:26
arnsholt =p
I suspect it's not Proc::Async that needs porting, it's the underlying process communication primitives 09:27
jnthn Right, the nqp:: ops
arnsholt And I'm kind of busy doing stuff for my PhD ATM =) 09:28
Although...
=D
If I get a hankerin' for some procrastination, I might give it a whack
jnthn wonders if the Perl 6 scripts arnsholt has been hacking on lately are PhD stuff :) 09:29
arnsholt They are =) 09:30
jnthn Neat :)
arnsholt I've extracted som data from the clammy hands of my boss's 20-year old (that is, developed for 20 years) Common Lisp codebase, and now it has to go into a DB 09:31
So I dump the data to file from Lisp, and munge it into the DB with Perl 6
Something went wrong when processing the largish (11M) files though, not sure what 09:33
Rerunning the scripts now to see if it's consisten
t
I'm doing the text parsing line-by-line, so it shouldn't be the grammar bits nomming all of my memory at least 09:34
Yeah, looks consistent 09:36
09:38 konsolebox joined
timotimo o/ 09:43
09:58 brrt left, brrt joined
nine_ nine@sunshine:~/Inline-Perl5 (master=)> panda gen-meta 10:03
Cannot look up attributes in a type object in method files at src/gen/m-CORE.setting:26732 in sub MAIN at /home/nine/install/rakudo/install/share/perl6/site/bin/panda:3 in block <unit> at/home/nine/install/rakudo/install/share/perl6/site/bin/panda:2
timotimo hm, do we have a ~/public_html on one of our p6c's?
10:03 yqt joined
nine_ FROGGS: ^^^^ 10:03
10:03 eli-se joined
eli-se m: 1 && 2 || 3 10:04
camelia ( no output )
eli-se allowed :[
masak m: say 1 && 2 || 3
camelia rakudo-moar c8cab2: OUTPUT«2␤»
timotimo nine_: this already came up; i'm not sure if someone is already trying to fix this
eli-se Oh right you can have non-Booleans there.
masak eli-se: did you expect that not to be allowed? why? 10:05
eli-se No I thought it was restricted to Booleans.
clang disallows it with -W{all,extra,error} flag
masak no, that's boring :)
Bool is the most covertable-to type of them all, and thus the most sensible one to coerce to implicitly 10:06
hm, maybe something like Void is more convertable-to, or maybe they tie...
moritz you can convert anything to Mu
eli-se that conversion would be the identity function
moritz or maybe I should have said: you can convert muthing to Mu :-) 10:07
eli-se: that's the best one, IMHO :-)
masak m: say int ~~ Mu 10:08
camelia rakudo-moar c8cab2: OUTPUT«True␤»
masak rockin
eli-se implicit conversion from socket to hash
or from temporary directory to socket
timotimo yeah, it turns into a hash from mac address to contents of the computer
eli-se in Scala you define these.
timotimo *all* contents
10:09 eli-se left
azawawi I think modules.perl6.org is not using the latest Perl6 ecosystem API URLs. (i.e. ecosystem-api.p6c.org/projects.json) 10:11
tadzik it used to sync hourly
moritz I ran it today several time 10:14
so it can't be *that+ much out-of-date
nine_ Seems like files cannot be called on the CompUnitRepo::Local::Installation class. It expects to be called on an object.
moritz also ecosystem-api.p6c.org/update.log contains the last log output, including a timestamp right at the top 10:15
so, 7 minutes old
tadzik oh, that's nice
moritz++
timotimo it only outputs that the likely-to-work parts succeeding, but not the upload itself? ); 10:16
;)
azawawi moritz: Browser::Open is not on the list in modules.perl6.org 10:17
moritz timotimo: which upload?
azawawi: oh, modules.perl6.org is a different beast
timotimo ah, i thought this also built modules.perl6.org 10:18
moritz my $list_url = 'raw.githubusercontent.com/perl6/ec...ETA.list';
azawawi runs nmake spectest on his newly built win32 rakudo using visual studio community 2013
moritz is that still up-to-date?
azawawi moritz: yes, browser-open is on that list 10:19
timotimo it doesn't seem like it redirects, either
tadzik is it legal JSON?
seems like 10:20
moritz Invalid source-url found: [email@hidden.address]
tadzik aha!
moritz azawawi: iirc you need to use git:// source URLs
seems not all errors end up in errors.json :( 10:21
azawawi just found it... had "Farabi6" in provides instead of "Browser::Open"... lol... azawawi--
tadzik hah :D 10:22
copypasta happens :)
timotimo [email@hidden.address] will not let you in unless you have a ssh key registered with github, isn't that right?
moritz timotimo: right
timotimo that's problematic at least 10:23
moritz though it could just accept any ssh key, and only allow cloning of public repos
(though maybe that makes debugging of permission problems harder)
azawawi tadzik: copy&paste lol 10:24
tadzik: fixed the URL also
azawawi panda install Browser::Open works now... thanks :)
tadzik: Interesting panda error after perl6 bootstrap.pl and running panda gist.githubusercontent.com/azawawi...0on%20win7 10:26
10:27 fhelmberger joined
moritz azawawi: modules.perl6.org updated 10:28
azawawi moritz: so modules.perl6.org is not maintained anymore or runs different update bots?
tadzik azawawi: huh, indee
d
nine_ I may have a fix
It seems to be a rakudobug actually 10:29
tadzik *relief*
moritz azawawi: it updates less often, and uses different logic than the ecosystem API / panda
azawawi: and it's by no means unmaintained
tadzik moritz: is it now on life support, deprecated?
oh, no
I confused things, nevermind
moritz where do you get those strange ideas? :-)
azawawi the rakudo deprecation warnings? :) 10:30
tadzik I mistook ecosystem api from the modules page :)
nine_ Does github.com/rakudo/rakudo/pull/398 make sense? Fixes the panda problem for me.
masak crazy idea: automatic Levenshtein on mis-typed constant-string MAIN parameters 10:36
nine_ not crazy at all if you ask me
FROGGS nine_: I commented 10:39
azawawi nine_: trying your branch github.com/niner/rakudo... brb 10:42
10:42 yqt left
FROGGS m: say @*INC 10:44
camelia rakudo-moar c8cab2: OUTPUT«file:/home/camelia/.perl6/2015.03-120-gc8cab23/lib inst:/home/camelia/.perl6/2015.03-120-gc8cab23 file:/home/camelia/rakudo-inst-1/share/perl6/lib file:/home/camelia/rakudo-inst-1/share/perl6/vendor/lib file:/home/camelia/rakudo-inst-1/share/perl6/site/lib…»
FROGGS m: say @*INC.grep(CompUnitRepo::Local::Installation)
camelia rakudo-moar c8cab2: OUTPUT«inst:/home/camelia/.perl6/2015.03-120-gc8cab23 inst:/home/camelia/rakudo-inst-1/share/perl6 inst:/home/camelia/rakudo-inst-1/share/perl6/vendor inst:/home/camelia/rakudo-inst-1/share/perl6/site␤»
10:44 Ven joined
nine_ FROGGS: whould this be better? github.com/niner/rakudo/commit/9c8...8f1467aea4 10:45
brrt new rule: if the customer differentiates semantically between two types of data, make two different tables, not one 10:46
FROGGS nine_: I dont spot the difference...
nine_: and I suggested the proper fix in the PR
psch \o
nine_ FROGGS: oh, push failure, I meant github.com/niner/rakudo/commit/011...2cb4ef7fe6 10:47
psch i'm wondering how to treat the history with moreinput 10:49
nine_ Created a new pull request with the updated fix github.com/rakudo/rakudo/pull/399 10:50
psch i.e. should «say "foo"\nif True;» come up as one entry in the history or rather as two 10:51
the former probably needs hoelzro++'s no-linenoise branch, in any case
dalek kudo/nom: 011c3ec | (Stefan Seifert)++ | src/core/CompUnitRepo/Local/Installation.pm:
Fix "Cannot look up attributes in a type object" in generated scripts

The panda script failed with "Cannot look up attributes in a type object in method files at src/gen/m-CORE.setting:26732". Seems like files() expects to be called on an object. CompUnitRepo objects are to be found in @*INC.
10:54
kudo/nom: c5f2d09 | FROGGS++ | src/core/CompUnitRepo/Local/Installation.pm:
Merge pull request #399 from niner/nom

Fix "Cannot look up attributes in a type object" in generated scripts
psch hm, python and pry both stick with lines. that's probably neater if we can't supply a way to navigate up a line 10:55
and if we did supply that it'd probably be weird (FSVO weird) because ↑ means "previous line from the history"
10:57 kurahaupo1 joined
bartolin_ psch: I'd be fine with lines, too 10:59
psch realizes "line" is somewhat overloaded in that context 11:00
bartolin_: you mean "up to each \n" i think? 11:01
bartolin_ psch: yes
11:02 Alina-malina joined
psch i've wanted a "give me the whole previous statement" a few times in the python REPL at least 11:04
maybe we can get something like bash does for ^X^E
but not for the current, but the previous parse unit
although ↑ should probably be "the bit between two \n", yeah 11:06
the ^X^E idea might even work on windowses that have $EDITOR set
timotimo psch: if you can, try to be like ipython :) 11:08
psch installs ipython 11:09
ah, ipython brings up the whole parse unit 11:10
timotimo: is there a way to go up a line inside what the history brought up?
timotimo yes, with the up arrow key 11:11
11:12 eli-se joined, eli-se left
psch does that need configuring? up arrow just goes through the history for me 11:13
if i do up arrow until i have something from the history and then left arrow i can't go through the history anymore 11:14
i suppose that's when i should be able to up arrow to go up a line inside what i brought up from the history, but it doesn't work
timotimo oh 11:15
well, all i can say is: history is HARD. 11:16
psch yeah, the potential double meaning of ↑ is the most obivous hard thing 11:21
timotimo we actually need a full TUI 11:22
how does bpython control, btw?
(it even syntax-highlights as you type)
psch bpython?
dalek c: 221a53d | paultcochrane++ | lib/Language/5to6.pod:
Add quotes around environment variable assignments
11:23
psch oh, bpython is a TUI for ipython?
timotimo yes
11:23 konsolebox left
timotimo based on ncurses or actually maybe urwid 11:23
psch i just ran ipython from the shell
timotimo you should also check out "ipython qtconsole", which we could totally interface with, btw
psch ah, bpython does the "between two \n" history 11:24
timotimo all we need is for the ZMQ binding to be in a slightly better shape, but i don't know what exactly is missing
11:24 KCL joined
psch (also the "can't go through the history anymore" from above is apparently just matching-prefix history) 11:25
azawawi nine_, FROGGS: panda is now working again perfectly thanks. nine_++ 11:27
11:27 KCL_ left
timotimo ah, matching-prefix history, eh? 11:27
fish has "stuff before cursor matches anywhere in the history" lookup
so basically ^R without having to press ^R before you start typing what you're looking for
azawawi is debugging an HTTP::Server::Async test failure on win7 11:28
psch yeah, that's what i mean
timotimo interesting, i hear that the chinese government may be behind the github ddos
psch although i didn't check if it actually tosses stuff behind the cursor on up arrow when there's something matching
timotimo right 11:29
neither did i check with fish
11:31 laouji left, eli-se joined
eli-se is the Perl 6 formatting functionality in existence or documented? 11:32
all I can find is search.cpan.org/~dconway/Perl6-Form-0.04/Form.pm
tadzik there's github.com/mathw/form/ 11:33
eli-se I see. 11:34
11:39 xfix joined 11:40 eli-se left
dalek Heuristic branch merge: pushed 75 commits to rakudo/newio by lizmat 11:46
11:46 xinming joined
Ven 's fairly sure it's not a branch merge, just another day for lizmat++ 11:48
11:49 Akagi201_ left, Akagi201 joined
arnsholt "Perl v5.120.0 required (did you mean v5.12.0?)--this is only v5.16.2" \o/ 11:50
11:50 Ven left, Akagi201_ joined
nwc10 you tried 'use 5.12' ? 11:52
11:54 Akagi201 left 11:55 coffee` joined
arnsholt Yup! 12:07
nwc10 that's not going to work
arnsholt Adding the v helped =)
nwc10 blame, um, someone, um, foresight, something
for why this mess exists 12:08
arnsholt Yeah. Thankfully I've done this enough times to remember the correct way once I get smacked over the fingers like that 12:09
12:20 RabidGravy left 12:22 kurahaupo1 left 12:24 eli-se joined 12:25 brrt left, dakkar left 12:26 eli-se left, dakkar joined 12:29 eli-se joined, eli-se left 12:35 Ven joined, spider-mario joined 12:37 eli-se joined 12:39 rmgk_ joined, rmgk is now known as Guest22514, Guest22514 left, rmgk_ is now known as rmgk
hoelzro morning #perl6 12:45
f3ew waves at hoelzro 12:51
12:58 eli-se left
psch o/ hoelzro 12:58
hoelzro: do you have any input re: the REPL history discussion in the backlog? 12:59
12:59 eli-se joined 13:01 RabidGravy joined
hoelzro looks 13:08
13:09 aborazmeh joined, aborazmeh left, aborazmeh joined 13:10 rindolf left
hoelzro psch: re: multiline editing? 13:12
psch hoelzro: multiline history mostly, yeah
hoelzro there's a multiline function in lineniose
linenoise, even
github.com/hoelzro/p6-linenoise/bl...ise.pm#L23 13:13
psch do you know how it handles up/down navigation, if at all? 13:16
hoelzro I do not
I haven't tried it =/
hoelzro gets the feeling we're going to need to write our own line editor
eli-se ed 6
psch i'm hacking something together to shell out to $EDITOR on a line that's only ^X, but that's not particularly great either
hoelzro I dunno, though; I feel like keeping the default REPL simple is good, but providing a fancy REPL as a package on the side 13:17
like how timotimo mentioned bpython/ipython
psch right, i guess then orienting on python/irb (where history is line based) is good enough
hoelzro speaking of my linenoise/completion branch; could someone review it? I would really like to merge it into nom! 13:19
psch tab completion also goes to the fancy REPL package then?
hoelzro hmm 13:20
good question
I would like it in the default REPL, but I'm biased since I've spent time on it =)
eli-se liblinenoise looks neat 13:23
psch fwiw, i'd rather just a have a powerful REPL in rakudo than having to install a package
'cause i often don't run panda when hacking on rakudo, but like using the REPL 13:24
tadzik +1
eli-se except that it doesn't support NUL inside line 13:25
hoelzro that would be an argument for including Linenoise.pm inside of Rakudo as well, then
nwc10 Star?
psch right. or some PP equiv
hoelzro nwc10: that was my original thought
tadzik I'm thinking it may end up like NativeCall eventually
hoelzro I guess it depends on the people who use it
tadzik core enough to just this pit along
ship*
erm, "just ship it", dangit 13:26
13:26 eli-se left
bartolin_ psch: do you have thoughts about tests for the REPL? 13:30
the other day I added t/S02-rakudo/repl.t to rakudo which has 2 or 3 tests right now 13:31
psch bartolin_: the first thing that comes to mind is that i probably should've run those against moreinput :) 13:34
i think testing it is definitely sensible, but i'm not sure how we can test e.g. tab completion
Files=1, Tests=3, 1 wallclock secs ( 0.02 usr 0.00 sys + 0.96 cusr 0.12 csys = 1.10 CPU)
on current nom for t/02-rakudo/repl.t :/
13:35 muraiki joined
bartolin_ regarding tab completion I have no idea how to test it :/ 13:36
but at least multiline input seems to be testable with subshells:
$ (echo {; echo say 1 }) | perl6 13:37
tadzik well, it should be enough to test the backend mechanics
13:37 rararara left
muraiki if I get a "longjmp causes uninitialized stack frame" error from moarvm when trying to use a p5 object via Inline::Perl5 inside of await/start, is it right to assume that the problem lies in the underlying p5 code not being thread safe? 13:38
psch ah 13:39
2/3 pass actually on repl.t
bartolin_ psch: with a rakudo from 2-3 days ago the tests in t/02-rakudo/repl.t pass for me
*nods*
it's only one of them
psch yeah, the last failure is expected with moreinput 13:40
because we want to allow «say "hi"\n if True;» we can't insert semicolons for every \n
bartolin_ it's the missing semicolon?
and it emits an additional newline if I add a semicolon 13:41
arnsholt Yaaay. Not being a moron means my page is generated in .3 seconds instead of 3.8 \o/
psch bartolin_: what do you mean? adding a semicolon to the end of @input-lines[0] passes the test for me 13:42
Ven arnsholt: what did you change :P?
hoelzro bartolin_: I have some thoughts on testing tab completion
I'm (not secretly anymore) working on a PTY module
13:42 raiph joined
arnsholt Ven: DBI->fetchall instead of loop with individual fethrow =) 13:42
hoelzro so we can leverage that
but including that in Rakudo seems like overkill = 13:43
=/
bartolin_ psch: oh, you're right. It fails, if I also add a semicolon to @input-lines[1]
nine_ muraiki: are you using Inline::Perl5 in a threaded program?
Ven arnsholt: hahaha
nine_: seems he is :P
bartolin_ ++hoelzro
arnsholt Ven: As I said, not being an idiot helps tremendously =D
hoelzro I'm going to use it to add tests to Linenoise.pm
hmm...if we include Linenoise.pm in Rakudo, should I get rid of my repo? 13:44
or maybe it's time to talk about "dual life" modules
muraiki nine_: yes; I was trying to play with await
psch hoelzro: a commit that empties the repo and adds a "has been moved to rakudo core" is what NativeCall does i think?
nine_ muraiki: you should be fine as long as you access a $p5 only from one thread. You can use multiple Inline::Perl5 objects from different threads. That said, this is very much untested territory. 13:45
muraiki nine_: thanks. sorry that I keep finding weird ways to break things :) 13:46
13:47 tinyblak joined 13:49 tinyblak_ left
psch hm, that's definitely a bug though 13:49
bartolin_ psch: btw, S02-rakudo/repl.t is not run with 'make test' at the moment 13:50
psch the additional newline when we echo into the interpreter and end on a ;
'cause it already happens with e.g. «echo 'say "hi";' | ./perl6»
nine_ muraiki: no need to be sorry. Thanks for helping to improve Inline::Perl5 :) 13:52
13:56 skids joined
bartolin_ psch: so you wouldn't mind if I add tests like '(echo {; echo say 1 }) | perl6'? (with your work one or two tickets from RT can be closed and it would be nice to have tests for those.) 13:57
psch bartolin_: please do, i've been neglecting tests a bit for moreinput 13:59
bartolin_ psch++ # work on moreinput 14:00
psch bartolin++ # tests for moreinput 14:01
14:01 aborazmeh left
Tux__ nine_, did you see my META.info remark (here on IRC) for Inline::Perl5? 14:02
"META.info".IO ~~ s{author} = "auth"; # and maybe add "authors" : [ "Stefan Seifert" ], 14:04
nine_ Tux__: yes, thanks. That led to me trying panda gen-meta and fixing the rakudobug that broke panda. Unfortunately panda gen-meta still doesn't work for me, since it runs into an endless loop. I guess I'll just do what you say ;) 14:06
14:08 lucas2 joined 14:09 raiph left
lucas2 Hello there 14:09
14:12 azawawi left
lucas2 What do you call the "..." in sub foo(...), my (...)? Can I call it a "declaration list" for example purposes? 14:12
hoelzro lucas2: yada yada operator, iirc
psch lucas2: in sub foo(...) it's a signature, in my (...) it's a declaration list 14:13
lucas2 oh, the "..." was just a placeholder, I didn't mean the real yada yada
hoelzro oh, ok =)
psch or declarator list i think
lucas2 ok, thanks
14:16 FROGGS left
lucas2 The two cases are very similar lists, I understand. But they behave exactly the same. Shouldn't they be distinct things? 14:16
m: my (--> Int)
camelia ( no output )
14:17 eli-se joined
lucas2 m: my (Int:) 14:17
camelia ( no output )
lucas2 ^^^ These things mean something in a signature, but in a "my" declaration, they doesn't mean much, or do they?
If these 2 kinds for lists were distinct, these erroneous usages could get caught, right? 14:18
moritz in general, what goes after a 'my' is a signature, not an ordinary list 14:19
14:21 shinohai joined
lucas2 m: my (&c --> Str) = -> { 42 }; say c 14:24
camelia rakudo-moar c5f2d0: OUTPUT«42␤»
masak lucas2: yes, a lot of things should be caught in a 'my' declaration that aren't yet. 14:26
that '--> Str' there does not mean that &c returns a Str
14:30 Rounin left 14:31 raiph joined
lucas2 moritz, masak: thanks 14:32
I'm sorry for the lazy question, but is there any way I can disassemble a piece of P6 code into an AST structure or NQP ops or Moar ops? 14:33
14:33 StavroMueller joined
hoelzro lucas2: you can specify --target 14:34
moritz lucas2: run with --target=ast
hoelzro ex. perl6 --target=ast code.p6
or perl6 --target=mast code.p6 14:35
lucas2 hoelzro, moritz: thanks
14:36 telex left, rindolf joined
hoelzro you can also do moar --dump on a .moarvm MBC file 14:36
14:38 telex joined
dalek kudo/nom: 459a0cc | peschwa++ | src/Perl6/Compiler.nqp:
Insert a semicolon when we are in moreinput but get nothing.
14:41
kudo/nom: 63888cf | peschwa++ | t/02-rakudo/repl.t:
Un-TTIAR a REPL test.
14:42 eli-se left
psch bartolin_: tests in repl.t now all pass again, with the added semicolon 14:42
bartolin_: more tests welcome, as mentioned :) 14:43
psch afk a bit
Ven do we have a sexpr parser in the ecosystem already? 14:49
Ven looks at jnthn++'s old courses repo
Ven looks at masak's ipso :P 14:50
m: my %h = not => True; 14:52
camelia ( no output )
Ven seems like RT#123084 was fixed 14:53
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123084
14:57 RabidGravy left 15:09 RabidGravy joined
moritz Ven: yes, it was closed on 2015-03-02 15:11
Ven moritz: I used synopsebot to know that :)
15:12 Ven left 15:16 Ven joined 15:19 tinyblak left 15:24 phdphil joined 15:28 larion left 15:36 zakharyas left 15:37 xfix left 15:44 FROGGS joined 15:46 tinyblak joined
FROGGS #124214 is quite interesting, I intend to look into that this evening 15:46
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124214
TimToady ++FROGGS 15:47
15:50 eli-se joined 15:51 sjn__ joined
Tux__ short (beginner?) question. I I get passed a Sub in $x, what is the perl6 way to write «my @x; while (my $r = $x->()) { push @x, $r; }» ? 15:51
dalek kudo/nom: 9aecf6e | usev6++ | src/ (2 files):
Add typed exceptions for conditional operator
kudo/nom: 5668f29 | moritz++ | src/ (2 files):
Merge commit 'refs/pull/upstream/397' into nom
tadzik Tux__: just use $x.() :) 15:52
moritz Tux__: while $x() -> $r { @x.push: $r }
jnthn my @x; while $x() -> $r { push @x, $r; }
Tux__ that is DWIM
PerlJam Also, make sure you really want a while loop at all (laziness is often your friend :)
jnthn I don't object to moritz's solution, but mine functions well too :P
moritz { $x() } ... !* 15:53
15:53 Ven left
Tux__ I don't know at this point if I want lazyness. I think I do, but that is not the qquestion right now 15:53
TimToady gather while $x() -> $r { take $r } 15:54
moritz if you want laziness, the obvious... what TimToady++ said
TimToady (while $x() -> $r { $r }) # also supposed to work 15:55
15:55 Perl6_newbee joined
moritz m: sub f() { state $x = 5; --$x }; say {f()}...*.not 15:55
camelia rakudo-moar 63888c: OUTPUT«4 3 2 1 0␤»
TimToady m: sub f() { state $x = 5; --$x }; say &f...*.not 15:56
camelia rakudo-moar 63888c: OUTPUT«4 3 2 1 0␤»
moritz oh, ... is intelligent enough not to pass an argument to it 15:57
eli-se when is a library considered in-scope to be shipped with perl 6 and appear on doc.perl6.org?
moritz all the time I'm wondering if there's a sane way to write f() xx * and make it abort on the first Falsy value
15:58 kjs_ left
moritz eli-se: shipped iwht what perl 6? 15:58
*with
eli-se: Perl 6, the language? (likely roast + design docs)
eli-se well it would be quite reasonable if all Perl 6 implementations shipped with the same library
moritz or rakudo Perl 6
or rakudo star
eli-se otherwise it's kinda impossible to write any portable code
TimToady looks around for a ship
15:59 gfldex joined
ugexe how so? 15:59
moritz eli-se: well, if there's a module installer that can install a module for multiple compilers, and it uses only core functionality, depending on it doesn't reduce portability
PerlJam eli-se: does NQP count as a "perl 6 implementation"?
eli-se I don't know.
moritz I wouldn't count it 16:00
since it doesn't aim to implement some very fundamental Perl 6 elements
like lazy lists, the container model (assignment!), flattening 16:01
nor does it aim to provide most built-in types
TimToady and awesome error messages :P
PerlJam mostly awesome :)
16:02 grondilu joined
TimToady well, there will always be corners where arcane semantics produce arcane messages, but we try to keep those corners in the corners 16:02
there's some kind of conservation of pretzel logic principle there 16:03
probably related to Gödel's Theorem 16:04
ugexe wishes there was a moduleloader exception that separated the missing module name from the rest of the message
i wrote a silly dependency installer that just kept running the module over and over, parsing the missing module names from the exception message and installing them lol 16:05
tadzik ehh, I build a fresh panda and it doesn't have a gen-meta, wtf 16:07
PerlJam some simple tools that can answer the questions: which modules are installed? and which modules does this software use? would be nice
tadzik ugexe: hahah, nice
ugexe tadzik: where would gen-meta be
tadzik ugexe: it's in bin/panda
github.com/tadzik/panda/blob/maste.../panda#L54 here
ugexe ah its new. cool 16:08
tadzik yeah
PerlJam tadzik: how did you build a fresh panda? 16:09
tadzik PerlJam: with rakudobrew
build-panda
ugexe maybe need to wipe the git_reference folder?
arnsholt What source are the docs on doc.perl6.org generated from?
tadzik I don't think panda comes from git_reference
and moar-nom/panda is the lastest repo version
Tux__ m: sub foo { state int $foo = 1; }
camelia rakudo-moar 63888c: OUTPUT«===SORRY!===␤Natively typed state variables not yet implemented␤»
PerlJam aye, that's what I thought. It's in ~/.rakudobrew/moar-nom/panda/bin/panda though, right?
Tux__ :(
tadzik PerlJam: yeah
oh, paths changed 16:10
or, I have old rakudobrew
ugexe i was gonna say, hope my PR to rakudobrew path stuff isnt borked
tadzik I had merge conflicts, maybe I screwed it up 16:11
well, my ~/.rakudobrew/moar-nom/install/languages/perl6/site/bin/panda is old
it should be the one in /home/tsosnierz/.rakudobrew/moar-nom/install/share/perl6/site/bin
argh, fffffuu
when did those change 16:12
eli-se alright, time to rewrite my compiler in Perl 6
ugexe like a month ago 16:13
16:14 sirdancealot joined
tadzik heh, I ran gen-meta on IO::Capture::Simple and it ended up with "provides" : null :) 16:15
I wonder if rakudobrew should update self every now and then 16:17
eli-se Does Grammar.parse take a file handle? Or only works with strings? 16:18
16:19 adu joined
arnsholt Only strings ATM, AFAIK 16:19
jnthn There.s a .parsefile that takes a filename
arnsholt Oh, right
eli-se cool 16:20
takes no encoding though I think
TimToady yet 16:21
jnthn It can
oh, wait
I canny
I misread.
(Thought %opts went to slurp) 16:22
Tux__ m: $in=\"1,2,3";@in = gather $in.list -> $x { take $x; } 16:23
camelia rakudo-moar 5668f2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/37GOshoWvZ␤Variable '$in' is not declared␤at /tmp/37GOshoWvZ:1␤------> 3$in7⏏5=\"1,2,3";@in = gather $in.list -> $x { ␤ expecting any of:␤ postfix␤»
Tux__ is that supposed to work?
TimToady read the error
ugexe hmm somehow i ended up with .rakudobrew/bin being a file containing the panda source 16:24
jnthn Even if the vars were declared, it's still not valid.
Need a "for" after the gather
TimToady and .list won't do that
arnsholt jnthn: Shouldn't Supply.close call done on the invocant? 16:25
TimToady unless you're expecting a list of 1 argument
Tux__ m: my $in=\"1,2,3";@in = gather $in.list -> $x { take $x; } 16:26
camelia rakudo-moar 5668f2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Uf7HKpCmbl␤Variable '@in' is not declared. Did you mean '$in'?␤at /tmp/Uf7HKpCmbl:1␤------> 3my $in=\"1,2,3";@in7⏏5 = gather $in.list -> $x { take $x; }␤ expecting any of:␤ postfix␤»
Tux__ m: my $in=\"1,2,3";my @in = gather $in.list -> $x { take $x; }
camelia rakudo-moar 5668f2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/zCO19aHuii␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?)␤at /tmp/zCO19aHuii:1␤------> 3my $in=\"1,2,3";my @in = gather $in.list7⏏5 -> $x { take $x;…»
TimToady what jnthn++ said
Tux__ I had a while, and it looped forever 16:27
when I removed the while I lost it
TimToady yes, it should
jnthn said "for" 16:28
Tux__ I.AM.IMPRESSED!
dalek kudo/nom: a07f735 | jnthn++ | src/core/Grammar.pm:
Add enc named arg to parsefile for eli-se++.
TimToady wonders how much work it would be for the parser to intuit missing keywords based on statistics... :) 16:30
masak "the rest of the code makes it look like you wanted to write 'gather for' instead of just 'gather'..."
jnthn "It looks like you're trying to form a syntactically valid program. Would you like me to..." :) 16:31
Tux__ "the code is taking rather long, did you mean 'gather for' instead of 'gather while'?" 16:32
16:32 mr-foobar joined
PerlJam These all sound like excellent Perl 6 modules ;) 16:33
masak that last one would show up *all the time* though, with my legitimate but long-running gather while loops
just like Chrome's JavaScript hang heuristic drop-down dialog does 16:34
&
dalek rl6-roast-data: b35776f | coke++ | / (9 files):
today (automated commit)
16:37
16:38 tinyblak left, yqt joined
ugexe would it be better if MAIN's did not show the entire filepath of the script in its usage message? 16:39
16:39 tinyblak joined
timotimo agreed 16:39
eli-se Can you get the error position from Grammar.parse?
16:39 kjs_ joined 16:41 dakkar left 16:42 yqt left
ugexe hmm it looks like the usage message is already supposed to strip the path? 16:43
there is a strip_path_prefix in Main.pm
16:44 larion joined 16:49 fhelmberger left
dalek kudo/nom: 3aaee92 | TimToady++ | src/Perl6/Grammar.nqp:
unexpected block is probably missing keyword
16:49
16:51 Sqirrel left
ugexe ah i see why 16:51
github.com/rakudo/rakudo/blob/d4eb...pm#L78-L79 16:53
removing that "fixes" the full path in MAIN usage, but im not sure what those 2 lines were supposed to do
16:54 eli-se left
timotimo probably to ensure entering the exact thing that's in the output gives you the very same binary 16:54
ugexe (probleming being it returns on the first iteration, although you are likely to have multiple PATHs)
for me its trying to match to .rakudobrew/bin
not the actual perl6 installation path 16:55
as .rakudobrew/bin shows up first in my PATH
timotimo it probably also doesn't count sym links?
16:55 larion left 16:56 pmichaud joined
pmichaud good morning, #perl6 16:56
PerlJam pmichaud: o/ 16:57
16:57 larion joined
TimToady more morning left here than there... :) 16:57
pmichaud Agreed, it soon will not be morning here. Although it still feels very much like morning.
jnthn o/ pmichaud 16:58
pmichaud works on setting up his new p6c account 16:59
ugexe yeah i dont think it counts symlinks
17:02 shinohai left
arnsholt jnthn: Any hints on debugging why Proc::Async doesn't seem to be outputting to its stdout supply? 17:02
timotimo greetings pmichaud
17:02 shinohai joined
spider-mario <masak> just like Chrome's JavaScript hang heuristic drop-down dialog does 17:02
firefox often tells me that about one of its own scripts
I’d rather not try and click “stop the script” 17:03
nwc10 good *, Pm
17:03 pmichaud_ joined
dalek kudo/nom: bb3a17e | TimToady++ | src/Perl6/Grammar.nqp:
might be more than a term on the left
17:03
pmichaud_ hello again
I seem to have lost connection to p6c :-( 17:04
nwc10 good_ *_, Pm_
timotimo works on my end, pmichaud_ :\ 17:05
17:05 Hor|zon left
pmichaud_ I'm getting "Network is unreachable" errors. 17:05
timotimo try with ssh -v maybe?
er
-4
could be ipv6 trouble between you and p6c?
nwc10 I was wondering exactly that
PerlJam traceroute and see where it dies
pmichaud_ traceroute is successful. so is hack.p6c.org/ 17:06
PerlJam huh
timotimo well, if ssh uses v6 and fails and traceroute uses v4 and succeeds, that'll answer it
you'd want traceroute6 instead
pmichaud_ "port 22: Connection refused"
TimToady the Great Chinese Firewall ran out of ports
moritz can connect both via v4 and v6 17:07
lucas2 "before the prior" :)
nwc10 pmichaud_: I can get this after 3 or 4 failed ssh connection attempts:
ssh: connect to host irc.p6c.org port 22: Connection refused
so, it's running something like faile2ban
and you've been temporarily firewalled
pmichaud_ that could be it. I mistyped my password.
nwc10 the perl5 git server is running it
timotimo oh, yeah, that may be it
pmichaud_ I was in the process of setting up my sshkey when I did it :) 17:08
nwc10 it was funny when someone (whom I'm not going to name) managed to get users.perl5.git.perl.org firewalled from perl5.git.perl.org
timotimo moritz: if you unban pm from fail2ban, would you be so kind to document the steps needed to do that
pmichaud_ how temporary is "temporarily firewalled"? ;-) 17:09
nwc10 it will be the IP, not the user that gets banned
timotimo "Connection refused" won't even allow you to say who you are 17:10
nwc10 I've just hammered it from something in 194.166.189.32
bartolin_ pmichaud_: according to fail2ban.log "temporarily" should be over already 17:11
pmichaud_ bartolin_: aha, it is. Thanks!
17:11 Perl6_newbee left
bartolin_ yw 17:12
timotimo buys groceries
pmichaud ...and my other irssi session seems to have survived the firewalling somehow. :)
17:12 pmichaud_ left
pmichaud s/survived/recovered from/ 17:12
and ssh is now working and I'm happy. :) 17:13
PerlJam yay!
jnthn :) 17:14
adu :) 17:15
PerlJam pmichaud: Are all of the robotics competitions done?
pmichaud PerlJam: not quite. World championship is Apr 22-26.
nwc10 and, inferred from this, your team is still astoundingly successful? 17:16
pmichaud successful, yes. Astoundingly -- well, we've met our goals. :)
but it does mean that robotics prep is much less. We don't have to worry about trying to advance beyond the World Championship. :) 17:17
and I did successfully get a new car, so that's a time sink that has been done away with.
TimToady if they're bored, maybe you should set your robotics team to work on the GLR :) 17:18
nwc10 pmichaud: for a decade or two, depending on how successful Elon Musk is.
pmichaud oh, the robotics team is still hard at work on their preparations. :)
and yes, GLR is very much on my mind. 17:19
17:20 larion left
PerlJam tries to rework "Always On My Mind" lyrics to be about the GLR ... ;) 17:20
FROGGS o/
pmichaud PerlJam: as long as it's the Pet Shop Boys version, I'm fine with that. :) 17:21
TimToady m: my $in=\"1,2,3";my @in = gather $in.list -> $x { take $x; } 17:22
camelia rakudo-moar bb3a17: OUTPUT«5===SORRY!5=== Error while compiling /tmp/42fcTTk5l5␤Unexpected block in infix position (missing statement control word before the prior expression?)␤at /tmp/42fcTTk5l5:1␤------> 3my $in=\"1,2,3";my @in = gather $in.list7⏏5 -> $x { take $x; …»
17:22 Rounin joined
dalek kudo/nom: db9bd81 | TimToady++ | src/Perl6/Grammar.nqp:
word "prior" adds nothing
17:23
jnthn
.oO( The prior for tweaking error messages is high... )
17:24
TimToady gets triple karma for one prior fix
moritz what's a statement control word? 17:25
PerlJam
.oO( quadruple karma soon )
17:27 espadrine left
FROGGS isnt more like s/word/keyword/? though, I would not know what to do here also as a user 17:27
TimToady contemplates changing the message to "You can't just make shit up and expect it to work, retardo!" 17:30
FROGGS :P 17:31
[Coke] MJD-11901
17:31 RabidGravy left
pmichaud My Github connection seems to have become blindingly fast. 17:31
TimToady they upgraded the Great Firewall 17:32
pmichaud Indeed.
FROGGS perhaps they've stolen the firewall from $work, because ours is no more :S
TimToady apologies to MJD for the misquote :) 17:33
ugexe is there a global for the full path of the current p6 interpretter? like say shell("which $*EXECUTABLE_NAME") 17:40
well i guess that doesnt give the currently running perl6. more like perl -e 'print $^X' 17:42
17:43 tbrowder left
TimToady maybe 'no strict' should "internationalize" all the error messages to MJD quotes... 17:43
17:43 RabidGravy joined
FROGGS m: say $*EXECUTABLE 17:44
camelia rakudo-moar bb3a17: OUTPUT«"./rakudo-inst/bin/perl6-m".IO␤»
TimToady or maybe just do that every year on, er, tomorrow
FROGGS ugexe: ^^
m: say $*EXECUTABLE.absolute 17:45
camelia rakudo-moar bb3a17: OUTPUT«./rakudo-inst/bin/perl6-m␤»
TimToady some absolutes are relative...
FROGGS this is supposed to work though...
17:46 tinyblak left
FROGGS ugexe: I bet this is just borken here because of the way camelia works... 17:46
ugexe cool. but yea im getting some relative pieces in my path
FROGGS :S
dang
ugexe nickl@localhost:~/perl6$ perl6 -e 'say $*EXECUTABLE.absolute'
/home/nickl/.rakudobrew/bin/../moar-nom/install/bin/perl6
FROGGS yes, but that is correct 17:47
we are not cleaning it up
17:48 tinyblak joined
arnsholt Has anyone here used Proc::Async for anything non-trivial? 17:51
FROGGS no 17:58
TimToady it's very flakey, see gist.github.com/anonymous/16e85e7c3e1b95ce1577 17:59
written by a compatriot of mine at craigslist... 18:00
jnthn Not that it helps, but that looks like a more general bug than something Proc::Async specific. 18:01
18:01 Hor|zon joined
arnsholt Yeah, I'm starting to realize that it's a bit weird 18:01
Can't for the life of me figure out how to wait for the entire stdout to be read 18:02
18:02 risou is now known as risou_awy 18:03 risou_awy is now known as risou 18:05 Hor|zon left, Sqirrel joined 18:08 lucas2 left
TimToady in addtion to the hang and the "P6opaque: no such attribute '$!tappers_lock'", I also get: "This representation (Null) does not support elems" and "No appropriate parametric role variant available for 'Buf'" 18:10
18:11 mohij joined
TimToady maybe we could base a random number generator on all the entropy... 18:11
dalek p: 0ccec45 | FROGGS++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/NativeCallOps.java:
[RT 124214] return type object for NULL CPointer/CArray/CStruct case

This brings the jvm backend code in line with MoarVM.
p: e204d8a | FROGGS++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/NativeCallOps.java:
handle type objects as source in nativecallcast on jvm

Type objects represent a typed NULL.
ugexe use the rng from losethos
TimToady ohh, a new one: Cannot assign to a readonly variable or a value
dalek kudo/nom: c5c2702 | FROGGS++ | tools/build/NQP_REVISION:
bump nqp rev for nativecall@jvm fixes
18:12
TimToady and another: *** Error in `/home/larry/nom/install/bin/moar': double free or corruption (fasttop): 0x0000000001d67950 *** 18:13
it's almost like a magical 8-ball
except it also apparently tries to solve the halting problem
arnsholt Right. Even more variation than I'm seeing. I think I'll try to get by with shell()/run() 18:14
TimToady ooh, a combo: 18:15
Unhandled exception in code scheduled on thread 139977559275264
===SORRY!===
P6opaque: no such attribute '$!tappers_lock'
18:15 adu left
TimToady and: No appropriate parametric role variant available for 'Mu' 18:16
so not just 'Buf'
moritz TimToady: I've had trouble with several Proc::Async instances at once
using just one is usually fine 18:17
TimToady and the most amazing message of all:
p1 ("stdout" => "task1 ok\n").hash
p2 ().hash
p3 ("stderr" => "/bin/ls: cannot access lksdfasdfasdf: No such file or directory\n").hash
18:17 tbrowder joined
TimToady not much point in Proc::Async if you can only do one thing at a time with it... 18:18
I guess it's arguably two things...
moritz not saying I approve of the limitations :-)
TimToady but certainly the errors seem highly reproducable here... 18:19
or at least the presence of some random error :)
colomon yeah, same sort of thing I’ve gotten every time I tried getting the parallel version of the mandelbrot script to work. 18:20
jnthn If only we had as many people interested in fixing this stuff as breaking it :P 18:21
TimToady jnthn: then you would spend all day rejecting patches :P
dalek kudo/nom: 76ba0a2 | FROGGS++ | t/04-nativecall/04-pointers. (2 files):
[RT 124214] add tests for returned NULL pointers
retupmoca m: await do for ^6 { start { buf8.new } } # my best golf 18:23
camelia rakudo-moar db9bd8: OUTPUT«Unhandled exception: No appropriate parametric role variant available for 'Buf'␤ at <unknown>:1 (/home/camelia/rakudo-inst-2/share/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:23214 (/home/camelia/rakudo-inst-2/s…»
retupmoca (from #123702 )
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123702
18:26 yqt joined
FROGGS sadly valgrind is happy :/ 18:29
18:29 abraxxa left 18:34 Sqirrel left 18:37 travis-ci joined
travis-ci Rakudo build errored. Tobias Leich '[RT 124214] add tests for returned NULL pointers' 18:37
travis-ci.org/rakudo/rakudo/builds/56608663 github.com/rakudo/rakudo/compare/c...ba0a26e3fa
18:37 travis-ci left, adu joined, yqt left 18:41 grondilu left
FROGGS hmmm, probably just a hickup 18:42
nom&
18:43 kurahaupo joined
ugexe is it possible to do something like capture the path of a script A from script B when script A runs script B? not sure if thats possible at even the OS level or not... 18:43
FROGGS I dont think that this is possible 18:45
ugexe bummer. trying to figure out how to get a variable with .rakudobrew/bin/perl6 in it after *that* runs .rakudobrew/moar/install/perl6 18:46
i suppose theres no clean way to do it :(
18:48 rindolf left 18:49 Hor|zon joined
dalek ast: 82a4dd3 | usev6++ | S03-operators/ (2 files):
Use typed exceptions for conditional operator

add test for RT #123115
19:06
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123115
19:07 yqt joined
dalek ast: 6fb9590 | usev6++ | S03-operators/ternary.t:
Fix copy-and-pasto in test for RT #123115
19:08
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123115
19:13 tinyblak left
jdv79 the yapc na sched seems like on p6:( 19:14
i guess the q&a with TimToady is the p6 highlight
*light
19:15 eli-se joined
masak jdv79: many of us are in Europe, and going to NA is nontrivial :/ 19:16
jdv79 most or just many? 19:19
masak maybe even most.
depends how you count; certainly there are core people even in the Americas. 19:20
TimToady++ comes to mind ;)
eli-se .tell vendethiel if expressions work! 19:21
yoleaux eli-se: I'll pass your message to vendethiel.
vendethiel gg eli-se :)
yoleaux 19:21Z <eli-se> vendethiel: if expressions work!
vendethiel yoleaux: maybe you could stop delivering messages that have been submitted <1 minute ago? free algorithm for you..
masak but also (off the top of my head) PerlJam, pmichaud, colomon, [Coke], particle, rjbs, Util... 19:22
nwc10 I see that rjbs is doing a talk: www.yapcna.org/yn2015/talk/6038 19:23
(but not on six. I'm unaware of rjbs ever doing a six talk)
Ovid is a doing a talk. Util is doing a talk 19:24
19:24 kjs_ left
masak rjbs++ Ovid++ Util++ 19:24
PerlJam er, what? 19:25
masak sorry to highlight you like that.
PerlJam oh ... USAian
masak but while we're at it, PerlJam++ :)
PerlJam :)
jdv79 pretty sure pmichaud is in the usa 19:26
masak ...which is why he was on my list... 19:27
...unless you don't consider Texas to be a state... :P
nwc10 he's in Texas - is that part of the USA? :-)
masak beat nwc10 to it ;)
PerlJam Well ... Texas *is* like a whole other country ;)
labster nwc10: don't mess with Texas 19:28
jdv79 never been to Tx
masak has only been in Austin, which (from what he hears) is like a whole other country compared to *Texas*, so...
nwc10 labster: I am not planning to
jdv79 masak: where are you from?
masak jdv79: .se
jdv79: we're the country where you need a license to *dance*... :( 19:29
labster .uk is the best, they issue licenses to kill
19:29 adu left
jdv79 i have a friend that moved from here (nyc area) to stockholm i think 19:30
moritz ♪ dance, dance, wherever you may be ♩
jdv79 nyc is not like much of the US as well
PerlJam jdv79: New Orleans isn't like much of the US either. 19:31
dalek c: b31bdbf | (Zoffix Znet)++ | lib/Language/5to6.pod:
Removed trailing whitespace on two lines (maintain consistency)
c: ab48f45 | (Zoffix Znet)++ | lib/Language/5to6.pod:
Fixed typos
c: 0221dca | moritz++ | lib/Language/5to6.pod:
Merge pull request #69 from zoffixznet/fix_typos_in_5to6

Fix typos in 5to6
PerlJam Seattle isn't like much of the US either ;)
labster The US is actually not very much like itself.
moritz right, it's not fractal, so it can't be self-similar :-) 19:32
nwc10 I was just wondering if there's going to be a whole long list, and it will end up with Rhode Island being like the US, after every other bit is ruled out
PerlJam nwc10: I was resisting the urge to do something like that
jdv79 why RI? 19:33
TimToady well, that's where Cthulhu comes from
TimToady has actually visited the grave of Lovecraft...
(wasn't his idea though) 19:34
labster Iä camelia ftaghn.
19:34 egrep left
labster I'm starting to feel like quotemeta isn't necessary in Perl 6. Is there a major use case? 19:34
PerlJam labster: to answer the FAQ of how to do P5's quotemeta in P6 ? 19:36
19:36 egrep joined, kaare_ left
[Coke] still has his honorary Texan cert somewhere. 19:36
TimToady to answer the question, What's a meta?
mst anything quotemeta quotes, obviously
just write a for loop over 0..255 19:37
labster to the left of an ortho
jdv79 its doesn't quote though; it escapes
PerlJam labster: really, there's nothing in P6 that intrinsically *needs* quotemeta AFAICT
labster possibly use v5 blocks 19:38
dalek kudo/nom: f65ba97 | TimToady++ | src/core/L (2 files):
generalize List.reduce

Now does both N-ary reducers with left or right associativity, and all the standard reducers for binary functions of any associativity.
19:39
ast: 849f96c | TimToady++ | S32- (2 files):
update various reduction-related tests
PerlJam I'm looking at the spec on open and the flags look weird. :r, :rw, :wa, :a once they are all implemented are essentially mutually exclusive. Also, they don't replicate the functionality of fopen's r, r+, w, w+, a, a+ and I'm not sure what we would call those things if we did them. 19:43
Seems like we should have :r, :rw, :w, :wr, :wa, :rwa map to the respective fopen thingies 19:44
moritz what's w vs w+ ?
PerlJam w+ is read/write, w is just write (which implies truncation)
moritz PerlJam: it seems like we should have :r, :w, :a, and be able to use, like, more than one
:r :w instead of :rw 19:45
PerlJam sure, but how do you distinguish between read/write that clobbers the file, and one that doesn't
?
moritz :w clobbers, :a doesn't?
19:45 FROGGS left
moritz or have a separate :clobber or :noclobber or whatever we call it? 19:46
dalek osystem: f32a560 | tony-o++ | META.list:
Adding 'overwatch' to ecosystem

overwatch - help keep your scripts and other crap running
masak I've always had the differene between :w and :a as :w clobbers, :a doesn't. 19:49
similar to `>` vs `>>`
PerlJam okay, what does read/write look like when you're appending vs. not appending? 19:50
I guess I'm wondering if there's a use-case to support fopen's a+
moritz :r :w vs, :r :a
moritz thinks he missed the point of PerlJam's question 19:51
PerlJam I'm probably just not thinking or explaining clearly :) 19:52
moritz there seem to be several dimensions here:
1) the allowed operations: reading and/or writing
2) whether the file is created if it doesn't exist
3) where the stream is positioned 19:53
PerlJam aye.
moritz did I miss anything?
19:53 travis-ci joined
travis-ci Rakudo build passed. TimToady 'generalize List.reduce 19:53
travis-ci.org/rakudo/rakudo/builds/56620111 github.com/rakudo/rakudo/compare/7...5ba97911ef
19:53 travis-ci left
retupmoca whether the file is truncated 19:54
moritz right
so, one could start by making a matrix, marking those combinations that the POSIX API offers 19:55
and then thinking about how to best represent them
19:56 larion joined 19:58 brrt joined
PerlJam Why do VM versions use a string for the mode, but P6 uses Bool parameters? 19:58
or, why not continue to use a string?
19:59 darutoko left
moritz because those strings aren't exactly user-friendly 20:00
20:01 rurban_ left
[Coke] they do have the advantage of being standard. 20:06
PerlJam and small in number. 20:07
masak m: my @foo; macro x($val) { quasi { @foo.push: {{{$val}}} } }; say @foo; x 5; x 6; say @foo 20:10
camelia rakudo-moar 76ba0a: OUTPUT«␤Cannot call push(AST: Int); none of these signatures match:␤ (Any:U \SELF: *@values, *%_)␤ in any at /tmp/zC0TnNvR5L:1␤ in block <unit> at /tmp/zC0TnNvR5L:1␤␤»
masak why does it think here that the invocant to .push is an AST?
that seems very wrong.
[Coke] because it's wrapped in {{{}}} ? 20:12
PerlJam not the invocant
tony-o does panda support packages bundled that contain only a '/bin/<file>' and no actual 'lib/*' filres? 20:13
[Coke] I'm sure it thinks the integer you passed in and is wrapped by {{{}}} is the AST: Int it's complaining about, though.
20:13 kjs_ joined, tinyblak joined
masak I don't really see how 20:14
AST: Int isn't one type, it's two types.
and the colon indicates invocant
[Coke] ah, ok. 20:15
20:18 tinyblak left
TimToady m: say (2,3,4).reduce(&infix:<**>), ' ', 2 ** 3 ** 4 # right yet? (pun intended) 20:20
camelia rakudo-moar 76ba0a: OUTPUT«4096 2417851639229258349412352␤»
TimToady m: say (2,3,4).reduce(&infix:<**>), ' ', 2 ** 3 ** 4 # right makes might, or at least power in this case 20:21
camelia rakudo-moar f65ba9: OUTPUT«2417851639229258349412352 2417851639229258349412352␤»
masak how did you manage to do two evals in a row on either side of the recompile? 20:25
masak now believes TimToady has magic powers
TimToady it usually flips at about 21 minutes past the hour 20:26
PerlJam figured it was a timing thing
vendethiel Oo
TimToady admits to checking it in a different window though :)
masak TimToady: you're scary :)
20:39 Zoffix joined
Zoffix waves to the few familiar faces 20:41
It's time to get my Perl 6 cherry popped :)
masak welcome!
unsavory metaphor, but still :) 20:42
jercos hot
Zoffix \o/
vendethiel o/ 20:43
masak .oO( is there a particular reason people in IT circles need to phrase completely unrelated things in terms of virginity... ) :P
20:45 eli-se left 20:46 larion left, telex left
TimToady It really doesn't matter what you do in IT, you're just screwed. 20:47
20:48 telex joined
skids masak: I think we're all just looking for an excuse to curse since we can't do it right at our PHBs. 20:49
jdv79 repressed profanity? 20:50
Zoffix Where do these types of links supposed to lead doc.perl6.org/type/S05%2FSubstitution ? It's a 404. I see other S\d+ links here design.perl6.org/ , but there's no S05/Substitution 20:51
jdv79 i too notice it and find it unpleasant
Zoffix (I found that link on 5to6 doc)
jdv79 the docs are not in perfect shape
20:53 adu joined
Zoffix Found it: design.perl6.org/S05.html#Substitution 20:53
20:58 sjn is now known as sjn___, sjn__ is now known as sjn 21:01 sjn___ left 21:02 skids left 21:07 eli-se joined
masak m: say chr(0x2F) 21:08
camelia rakudo-moar f65ba9: OUTPUT«/␤»
masak 'night, #perl6
colomon o/
Zoffix o/ 21:10
dalek c: dcda32b | paultcochrane++ | lib/Language/5to6.pod:
Correct link to S05/Substitution

Noticed by Zoffix++ in IRC
21:13
Zoffix Awww
There's a bunch more, I was about to submit a pull :D
[ptc] Zoffix: go for your life, submit more PRs :-) 21:14
Zoffix: you'll have a commit bit before you know it ;-) 21:15
21:16 espadrine joined 21:18 rararara joined
jnthn I'll very likely be offline all tomorrow. Back Thursday morning. :) 21:20
'night o/
Zoffix [ptc], oh, seems like I already have it... 21:22
Never had commit bits before.
</disclaimer>
dalek c: 0736f88 | (Zoffix Znet)++ | lib/Language/5to6.pod:
Fixed broken links
21:23
c: 468dbc7 | (Zoffix Znet)++ | lib/Language/5to6.pod:
Merge pull request #70 from zoffixznet/fix_links_perl5to6

Fixed broken links
Zoffix ... so f I'm doing something wrong let me know :D
Would I be just cloning and pushing to perl6/doc instead of my own fork?
jdv79 what is the p6 equiv of quotemeta for a regex context? 21:25
timotimo you just match "$foo"
aaw, a no-jnthn day :| 21:26
jdv79 ah, right
tony-o timotimo: did unbuffer do anything for your HSA woes? 21:29
21:30 muraiki left
TimToady you don't even need the quotes, since $foo matches literally 21:30
timotimo tony-o: haven't tried yet 21:33
TimToady: does it automatically .Str for you, too? 21:34
21:37 sno joined, [Sno] left 21:41 kjs_ left
TimToady m: my $foo = 234; say "12345" ~~ / $foo / 21:43
camelia rakudo-moar f65ba9: OUTPUT«「234」␤»
TimToady so it would seem
21:47 lichtkind left 21:55 [Sno] joined 21:56 sno left 22:01 pecastro left 22:05 RabidGravy left
tony-o timotimo: i have a version that uses supplies instead of channels but the only part that seems better about that is that it errors instead of segfaults 22:07
timotimo oops :)
supplies instead of channels where exactly?
tony-o for the parsing/responding/timeout 22:08
timotimo oh
i kind of like having parsing and responding on different workers
tony-o gist.github.com/tony-o/dcd443f2b83bf6dae130
timotimo supplies don't introduce multithreading by themselves, unless you put a "schedule on this scheduler" thing into the chain (i think it's called .cue? and then you can .start or something) 22:09
tony-o i like that too, figured i'd try supplies temporarily while the other stuff seemed to be causing issues
timotimo i see 22:10
22:13 xprime left, vendethiel left
tony-o although this is less stable 22:14
timotimo tony-o: Pluggable lacks a provides section btw 22:15
22:15 adu left 22:16 tinyblak joined
tony-o fixed 22:17
timotimo thanks :)
hm, how come gen-meta proposes test-depends nqp? 22:18
22:19 vendethiel joined 22:20 sno joined, [Sno] left 22:22 tinyblak left 22:23 eli-se left
timotimo huh, panda install Pluggable still complains about the lack of "provides" in the META.info 22:23
ah 22:24
you forgot a , after the provides section closes, tony-o
tony-o oops
yea fixing it
comma is uploaded 22:26
22:28 espadrine left
timotimo ===SORRY!=== Error while compiling lib/Pod/Convenience.pm6 22:28
Please use !! rather than :
at lib/Pod/Convenience.pm6:106
------> d::Heading.new :level(.level - $by + $to⏏) :contents[.contents]
m: Str.new: :level(my $foo - my $bar) :foobar<hello> 22:29
camelia rakudo-moar f65ba9: OUTPUT«use of uninitialized value of type Any in numeric context in block <unit> at /tmp/1sQoe1y0tu:1␤␤use of uninitialized value of type Any in numeric context in block <unit> at /tmp/1sQoe1y0tu:1␤␤»
timotimo m: Str.new: :level(my $foo - my $bar) :foobar[.hello]
camelia rakudo-moar f65ba9: OUTPUT«use of uninitialized value of type Any in numeric context in block <unit> at /tmp/pwwlYzgCQh:1␤␤use of uninitialized value of type Any in numeric context in block <unit> at /tmp/pwwlYzgCQh:1␤␤»
timotimo m: Str.new: :level(.?foo - .?bar) :foobar[.?hello]
camelia rakudo-moar f65ba9: OUTPUT«use of uninitialized value of type Nil in numeric context in block <unit> at /tmp/kuu_SpIdpS:1␤␤use of uninitialized value of type Nil in numeric context in block <unit> at /tmp/kuu_SpIdpS:1␤␤»
timotimo hum.
ah, of course 22:30
22:30 spider-mario left
timotimo m: 1 ?? Str.new: :level(.?foo - .?bar) :foobar[.?hello] !! "omg" 22:30
camelia rakudo-moar f65ba9: OUTPUT«use of uninitialized value of type Nil in numeric context in block <unit> at /tmp/oIv5cwcehM:1␤␤use of uninitialized value of type Nil in numeric context in block <unit> at /tmp/oIv5cwcehM:1␤␤»
timotimo ...
m: 1 ?? Str.new :level(.?foo - .?bar) :foobar[.?hello] !! "omg" 22:31
camelia rakudo-moar f65ba9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8w3Eh2s9Iq␤Please use !! rather than :␤at /tmp/8w3Eh2s9Iq:1␤------> 031 ?? Str.new :level(.?foo - .?bar7⏏5) :foobar[.?hello] !! "omg"␤ expecting any of:␤ statement end␤ statem…»
timotimo that's it
but i'm not sure how this happened, or how it worked before
22:31 spider-mario joined
timotimo star-m: 1 ?? Str.new :level(.?foo - .?bar) :foobar[.?hello] !! "omg" 22:31
camelia star-m 2015.02: OUTPUT«use of uninitialized value of type Nil in numeric context in block <unit> at /tmp/73oCevRZI6:1␤␤use of uninitialized value of type Nil in numeric context in block <unit> at /tmp/73oCevRZI6:1␤␤»
tony-o timotimo: the issue appears to be with the IO::Socket::Async.tap 22:35
timotimo tap? 22:36
tony-o if i tap a new server and then just hard code a response in (without channels or supplies open outside of the ISA) i segfault after 2.5k connections
timotimo tap which of them?
tony-o tap the $!server which is a IO::Socket::Async.listen(...)
22:37 mohij left
dalek c: 479d63b | timotimo++ | lib/Pod/Convenience.pm6:
this slightly adventurous syntax used to work

now calls forth a suggestion to "use !! instead of :" after $to.
22:37
c: 60aff10 | timotimo++ | t/pod-htmlify.t:
footer-html now takes a path to the pod file.
22:38 skids joined
timotimo this makes p6doc panda-installable again 22:38
22:43 Rounin left
timotimo someone found the weekly from the search term "nqp xxx vlpqs", wtf? 22:43
22:46 BenGoldberg joined
tony-o nqp is hawt3~ 22:47
timotimo .tell azawawi for some reason i had this change locally: $file-name .= subst('~', %*ENV<HOME>); → $file-name ~~ s/'~'/{%*ENV<HOME>}/; inside method open-file in Editor.pm6 22:49
yoleaux timotimo: I'll pass your message to azawawi.
23:04 kurahaupo left 23:05 kurahaupo joined 23:11 brrt left 23:20 rararara left 23:24 KCL_ joined 23:27 KCL left
SomeStrangeTest hi...trying to get rakudo installed and I'm stuck on the Task::Star step 23:28
error is " say defined %!dists;
"
oops
error is Could not find Template::Mojo"
this causes Bailidor to fail to install
tony-o how are you installing rakudo 23:29
SomeStrangeTest it lists a bunch of places it's looking for it, but I don't know where Panda puts things when it's trying to install so I don't really know how to proceed
following Linux instructions from here: rakudo.org/how-to-get-rakudo/ 23:30
I'm using rakudobrew
tony-o try doing 'panda install Template::Mojo'
SomeStrangeTest In hindsite that was obvious! :D 23:31
well I have a better clue now:
Zoffix I had the same error today. 23:32
Why does it do that?
SomeStrangeTest The distribution Template::Mojo does not seem to have a "provides" section in its META.info file,
and so the packages will not be installed in the correct location.
Please ask the author to add a "provides" section, mapping every exposed namespace to a
tony-o task::star probably doesn't have template::mojo listed as depends
Zoffix It does
SomeStrangeTest that error message suggests the problem is Template::Mojo
Zoffix github.com/tadzik/Task-Star/blob/m...A.info#L20 23:33
tony-o you can still install it without panda if you're just looking get past that step
SomeStrangeTest Yeah, Bailidor still fails to install with same error 23:34
tony-o clone [email@hidden.address] and copy the 'lib' folder to one of the directories listed when perl6 complains it can't find Template::Mojo (or one of the dirs listed by perl6 -e '@*INC.join("\n").say;') 23:35
23:36 raiph left
SomeStrangeTest well that got me past that...on to this! 23:38
Compiling lib/Bailador/App.pm to mbc
===SORRY!===
No STable at index 12
build stage failed for Bailador: Failed building lib/Bailador/App.pm
arnsholt Success, sort of! 23:39
Using qqx rather than Proc::Async gets rid of the segfaults 23:40
tony-o SomeStrangeTest: can you gist the full error?
SomeStrangeTest where does Panda put stuff it's trying to build?
tony-o arnsholt: for what?
arnsholt tony-o: Running a subprocess and capturing its output 23:41
SomeStrangeTest tony-o: gist.github.com/JustDust/e3f2a76edf5897be25e4 23:42
tony-o arnsholt: are you using the .stdout.act or stderr.act on it? 23:43
23:43 flussence left
arnsholt Supply has an act method? 23:44
tony-o arnsholt: github.com/tony-o/perl6-overwatch/...rwatch#L62
arnsholt Huh. Didn't find that in the docs =D 23:45
23:45 flussence joined
tony-o i found it yesterday digging around in core 23:47
SomeStrangeTest is it more normal to just manually install rakudo and modules? I get the sense that I'm just making things hard on myself trying to use the magical stuff
tony-o SomeStrangeTest: not really, i'm looking for where rakudobrew panda does it's thing - can't really find it 23:48
SomeStrangeTest hah...yeah I'm wondering whether it's very careful about cleaning up because I don't seem to have any Bailador files anywhere :D 23:49
tony-o you might have better luck with manual install if you just want to play around with perl6 instead of debugging panda stuff
SomeStrangeTest: looks like panda creates a directory called .panda-work that it cleans up when panda exits 23:51
SomeStrangeTest bad panda!
ugexe thats not bad? 23:52
if you dont want it to go away do `panda look module::name`
tony-o yea i'd rather it clean up than leave .panda-work folders everywhere lol
i already have too much .DS_store 23:53
arnsholt Heh. 392 lines per second processed by my script
SomeStrangeTest well I suppose you don't want the files unless you want them!
arnsholt Blindingly fast =D
tony-o arnsholt: did that .act thing fix the segfault?
ugexe SomeStrangeTest: you dont keep or need all the files 23:54
arnsholt tony-o: Didn't try it
ugexe the modules need to be put somewhere to be compiled
which are then installed
tony-o arnsholt: i haven't had any issues with piping it to &print for a few thousand lines so i'm curious to know if there are issues 23:55
so i can fix it and make overwatch stable-r
arnsholt The script processes 1.4 million lines of text, which in its current incarnation takes an hour. Couldn't be bothered to try another approach right now =)
tony-o nice
arnsholt Probably a lot of time spent in NativeCall (for DB interaction) and grammars for parsing 23:56
23:57 coffee` left
SomeStrangeTest ugexe:sure I understand. It's nice though when things go wrong to be able to see what's happening. My preference is to leave a trail, but tastes differ. 23:57
particularly on a failed install it makes sense to me. When everything works, yeah blow away the temp stuff
but hey, that look command addresses that perfectly so I'm satisfied :) 23:59