»ö« 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.
00:04 telex left
Sysaxed timotimo: okay, gonna free some space. Thanks 00:06
00:06 telex joined
timotimo the quickstart command just builds everything that comes after 2014.01 00:08
which may have been just fine 6 month ago :P
80d904ef (Geoffrey Broadwell 2014-10-28 19:06:06 -0700 28) $tag ~~ /^ \d**4\.\d**2 $/ && $tag ge '2014.01' 00:09
that's even more than 6 months ago actually
00:09 kurahaupo1 left
Sysaxed timotimo: that's good, I think 00:10
just gonna take a while
timotimo verily
00:11 spider-mario left 00:19 kurahaupo1 joined 00:28 cygx left 00:29 fhelmberger joined
japhb timotimo: You're welcome to change the start time to e.g. 2015.01. The 2014.01 date was chosen because it happened to be the start of moarvm support as just another backend in nom, IIRC, plus also happened to be the start of a year, so it fits the shape of people's brains. 00:32
Also, wouldn't 'make clean' remove the results of 'make install'? 00:33
Sysaxed: if you have a slow system, expect a quickstart run to take a LONG TIME.
I wish I had more perl6-shaped tuits right now. :-( 00:34
timotimo make clean should not remove the results of make install
Sysaxed that's fine, I'll just leave it overnight 00:35
or maybe even another night...
japhb heh
Well, at least you'll end up with a pretty comprehensive history ....
timotimo yeah
00:36 Akagi201 joined 00:37 lizmat left 00:38 lizmat joined, vendethiel left 00:43 rba_ joined 00:44 aborazmeh joined, aborazmeh left, aborazmeh joined 00:48 rba_ left 00:51 thou left 00:57 ][Sno][ joined 00:58 [Sno] left 01:13 TimToady left 01:15 TimToady joined 01:31 Zoffix joined 01:34 Zoffix left 01:37 aborazmeh left 01:39 aborazmeh joined, aborazmeh left, aborazmeh joined 01:44 yqt left 01:45 ilbot3 left 01:46 eiro left 01:47 ilbot3 joined 01:53 aborazmeh left 01:55 aborazmeh joined, aborazmeh left, aborazmeh joined 02:10 Sqirrel left, FROGGS left, FROGGS joined 02:11 aborazmeh left 02:12 noganex_ joined 02:15 noganex left 02:23 Akagi201 left 02:25 rmgk_ joined, rmgk left, rmgk_ is now known as rmgk 02:32 aborazmeh joined, aborazmeh left, aborazmeh joined 02:33 gtodd left 02:43 rba_ joined 02:48 rba_ left 02:55 xinming_ left 03:06 mr-foobar left 03:11 nbdsp joined 03:12 jack_rabbit joined
nbdsp Greetings! In the latest version of Rakudo navigation keys (left, right, home, end ) and even Escape key are no longer working in the REPL console. Could someone advise please is there some tweak to get them working? I'm using Linux,Bash,Vi mode. 03:15
timotimo line editor functionality has been moved from inside rakudo to a module; LineNoise 03:16
labster Same is happening in OSX REPL (though let me rebuild to see if that is still the case)
nbdsp timotimo: is this module needed to be installed with Panda? when I 'use LineNoise;' in the command line, the module is not found. 03:19
timotimo correct
nbdsp thanks 03:20
timotimo you may have to install "linenoise" system-wide so that the .so file gets found
03:21 Erendis42d left
timotimo i mean the package from your package manager 03:24
03:25 nakajima joined 03:26 nakajima left 03:27 xinming joined, Sqirrel joined
nbdsp Well, the panda has ceased to work as well: "SORRY! No candidate found for 'panda'." Don't know what it means. I pulled panda from git, and it failed to bootstrap: "Method 'name' not found for invocant of class 'Any'" 03:30
timotimo where does that occur? 03:31
your panda and rakudo are up to date, i expect? 03:32
03:33 aborazmeh left 03:34 jack_rabbit left
nbdsp I update Rakudo yesterday, and pulled panda from git now. The error happens during installing File::Find at in method revdeps at /mnt/lib/perl6/panda/lib/Panda/Ecosystem.pm:148 03:34
timotimo i didn't even realize the revdeps thing already gets used 03:35
did you rebootstrap or bootstrap? 03:36
nbdsp I did bootstrap. Will try rebootstrap now. 03:39
03:39 aborazmeh joined, aborazmeh left, aborazmeh joined
timotimo rebootstrap has the good property of cleaning stuff up before bootstrapping, but also re-installing everything you had installed before that 03:39
(but the bootstrap would clean out the info rebootstrap would use for the reinstallation) 03:42
nbdsp Is rebootstrap only for 'emergency' cases? What is normally recommended? 03:43
timotimo i always rebootstrap
03:44 rba_ joined
timotimo it'll automatically drop down to bootstrap if it detects there's no benefit to rebootstrapping 03:44
nbdsp If I installed some other stuff with panda will it be needed to reinstall in both cases or only with rebootstrap? 03:46
03:48 rba_ left
dalek ast: 8ce998e | (Nick Logan)++ | S32-io/IO-Socket-Async.t:
syntax typo correction

should pass now
03:48
nbdsp Rebootstrap seems to work OK. Thanks! Will search for linenoise package. 03:49
timotimo rebootstrap will do the reinstallation for you automatically 03:54
bootstrap will not
on my fedora system the linenoise package is just called "linenoise" 03:55
but i also see now that Linenoise comes with some C files it compiles
so maybe it ships its own copy of linenoise?
03:57 vendethiel joined 03:58 aborazmeh left
nbdsp I see that MoarVM is shipped with linenoise in 3rdparty directory. Can it somehow be used? 04:04
04:04 aborazmeh joined, aborazmeh left, aborazmeh joined
nbdsp Or this is remained from the previous version. 04:05
timotimo from the previous version, most likely 04:06
nbdsp I installed Linenoise with panda and will install linenoise to my ArchLinux. Will be using rebootstrap instead of bootstrap. Thanks for helping! 04:11
timotimo you're quite welcome
04:17 cognominal left 04:26 xinming left
raydiak I wonder...could you somehow call the actions for a match tree resulting from an earlier .parse? 04:53
04:53 nbdsp left 04:54 Erendis42d joined 04:58 nbdsp joined 05:01 tinyblak joined
raydiak if you could, Match can be used as a sort of AST, and if jnthn++'s Grammar::Generative were working, you'd have more-or-less the beginnings of parsing, AST, and generating, just by writing a grammar 05:02
05:02 rba_ joined
raydiak if not, somebody should make something like that some other way :) 05:03
05:04 smi1er left 05:09 aborazmeh left, rba_ left 05:16 vendethiel left 05:29 Erendis42d left 05:33 cognominal joined
TimToady home again, but not via Yosemite, which closed again due to snow 05:34
raydiak welcome back 05:36
05:52 kaare__ joined 06:08 araujo joined 06:09 kurahaupo1 left 06:12 kurahaupo1 joined 06:21 aindilis joined 06:22 bjz left 06:23 jack_rabbit joined, bjz joined 06:27 kurahaupo1 left 06:30 Ulti joined, lizmat left
Ulti just tried that nbdsp PoS file into a hash one liner on my laptop with an ssd and it took 40s and used over a gigabyte of RAM for a 3.9MB file :( 06:34
the slowness is maybe not quite as worrying as the 300x memory use in relation to the file size 06:35
06:38 skids left 06:40 jack_rabbit left
Ulti cygx nqp native typed version used 173MB and took 2s that is quite some difference 06:41
06:48 kurahaupo joined, domidumont joined 06:49 mr-foobar joined
[Tux] Whoooosh Nil ain't silently dropped no more in list context 06:51
Ulti on the upside translating cygx to the exact same pure Perl 6 without any nqp doodads is almost the same perf
gist.github.com/MattOates/4c9b27980d59d021761e 6s 178MB 06:52
06:53 domidumont left
Ulti so it's not so much the optimiser or anything else its perhaps the implementation of some of those builtins or just the semantics of what the one liner is really doing 06:53
06:53 domidumont joined
Ulti other than guessing native types on arbitrary text input which feels a bit unlikely 06:54
[Tux] Hmm, many old(er) perl6 scripts/programs will have to fix their code because of that 06:55
timotimo the dynamic optimizer would be able to remove boxing and unboxing if there's basically nothing in-between
and if there's a method call on a Str, for example, and that Str gets created with p6box_s, the method call could be inlined and no Str instance would have to be created
if we're lucky ;)
Ulti perhaps split with a string literal could do the same substr/index stuff if it isn't already 06:56
I imagine that is the big difference if any
[Tux] tony-o, it also broke your CSV::Parser - badly
timotimo split with a string index should be pretty good already, but i should verify 06:57
Ulti no I mean if you are splitting a string using some builtin that can take a regex what happens if you give "\t" instead
is that just used as a regex?
06:58 kurahaupo left
timotimo there is a variant that uses a Str to split 06:58
Ulti ahh ok
timotimo and another variant that uses a Regex
it's in Str.pm line 871 if you're interested 06:59
hmm. synbot could generate links to the source on github
timotimo has a look at the synbot6 source 07:01
Ulti that would be a neat feature 07:03
timotimo it'd also be cool if the RT bug lookup would also try to grab the title of the bug 07:04
Ulti hmm wonder why a map {} is used in that function rather than a more loopy loop 07:07
thats the only real difference to the cygx code 07:08
07:09 diana_olhovik joined
timotimo does rt.perl.org not expose the REST api? 07:15
moritz m: class A { has $.x = 4; say $.y = 2 * $.x }; say A.new(x => 5).y 07:20
camelia rakudo-moar 3b8b31: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7XeFI5PlPJ␤Variable $.y used where no 'self' is available␤at /tmp/7XeFI5PlPJ:1␤------> 3class A { has $.x = 4; say $.y7⏏5 = 2 * $.x }; say A.new(x => 5).y␤ expecting any of:␤ argument …»
moritz m: class A { has $.x = 4; say $.y = 2 * self.x }; say A.new(x => 5).y
camelia rakudo-moar 3b8b31: OUTPUT«5===SORRY!5=== Error while compiling /tmp/aAHPcGOMFG␤Variable $.y used where no 'self' is available␤at /tmp/aAHPcGOMFG:1␤------> 3class A { has $.x = 4; say $.y7⏏5 = 2 * self.x }; say A.new(x => 5).y␤ expecting any of:␤ argume…»
moritz m: class A { has $.x = 4; has $.y = 2 * $.x }; say A.new(x => 5).y
camelia rakudo-moar 3b8b31: OUTPUT«5===SORRY!5=== Error while compiling /tmp/JEDgBd7aPr␤Virtual call $.x may not be used on partially constructed objects␤at /tmp/JEDgBd7aPr:1␤------> 3class A { has $.x = 4; has $.y = 2 * $.x7⏏5 }; say A.new(x => 5).y␤ expecting any of:…»
moritz m: class A { has $.x = 4; has $.y = 2 * self.x }; say A.new(x => 5).y
camelia rakudo-moar 3b8b31: OUTPUT«10␤»
moritz m: class A { has $.x = 4; has $.y = 2 * $!x }; say A.new(x => 5).y 07:21
camelia rakudo-moar 3b8b31: OUTPUT«10␤»
07:22 FROGGS left
timotimo should i mail perlbug-admin about the REST interface? 07:22
07:24 cognominal left
dalek ast: b62c8ee | usev6++ | S05-capture/caps.t:
Unfudge two passing tests for rakudo.jvm
07:25
07:25 vendethiel joined 07:26 vendethiel left 07:27 rindolf joined
dalek c: 0c94ad7 | moritz++ | lib/Language/classtut.pod:
Mention build-time attribute defaults in classtut.

Closes #79
07:31
07:32 Sqirrel left, Sqirrel joined 07:35 mr-fooba_ joined 07:36 RabidGravy joined, mr-foobar left 07:37 mr-foobar joined, Sqirrel left 07:39 domidumont left 07:40 domidumont joined, mr-fooba_ left
dalek pan style="color: #395be5">perl6-examples: d6a50ce | paultcochrane++ | t/categories/cookbook/03dates-and-times.t:
[cookbook] add tests for 03-dates-and-times subcategory
07:41
pan style="color: #395be5">perl6-examples: a8c21c8 | paultcochrane++ | / (6 files):
Merge branch 'master' of github.com:perl6/perl6-examples
pan style="color: #395be5">perl6-examples: 478bb7f | paultcochrane++ | t/categories/euler.t:
[euler] update test plan
pan style="color: #395be5">perl6-examples: 092185a | paultcochrane++ | categories/euler/prob09 (2 files):
Strip trailing whitespace
pan style="color: #395be5">perl6-examples: 6fea02c | paultcochrane++ | categories/euler/prob09 (2 files):
Add vim coda
pan style="color: #395be5">perl6-examples: f7704d1 | paultcochrane++ | categories/euler/prob09 (2 files):
Wrap description text for readability
07:42 darutoko joined
dalek ast: 88920f4 | FROGGS++ | S05-modifier/ignoremark.t:
add tests for ignoremark + character classes
07:55
moritz is ignoremark in nom already? 07:56
dalek ast: 97b0db4 | usev6++ | S02-types/lists.t:
Use unique ticket number for similiar tests
ast: 629b80d | usev6++ | S16-filehandles/io.t:
Unfudge three passing tests for rakudo.jvm
moritz m: say 'foo' for Ni 07:57
camelia rakudo-moar 3b8b31: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Pi2KqVvOxW␤Undeclared name:␤ Ni used at line 1␤␤»
moritz m: say 'foo' for Nil
camelia rakudo-moar 3b8b31: OUTPUT«foo␤»
08:00 _mg_ joined
dalek kudo/nom: 9b5c02d | moritz++ | docs/ChangeLog:
Mention changed Nil semantics in changelog
08:02
08:11 Erendis42d joined 08:20 FROGGS joined 08:21 cygx joined
cygx o/ 08:21
Ulti: gist.github.com/cygx/c1d0637738717...e-bench-p6
(or anyone else interested in rakudo performance)
nbdsp: ^^^ 08:22
timotimo you're not posting the results? :P 08:23
cygx timotimo: 1.6s, 7.1s, 136.6s 08:24
08:26 domidumont left
masak good antenoon, #perl6 08:27
08:28 tgt joined 08:30 tgt left 08:31 tgt joined 08:34 rindolf left 08:36 Isp-sec joined 08:37 Erendis42d left 08:38 FROGGS left 08:40 domidumont joined 08:41 tgt left
cygx m: sub foo(\self) { self }; foo(42) 08:44
camelia rakudo-moar 9b5c02: OUTPUT«5===SORRY!5=== Error while compiling /tmp/LkfgbewhwU␤'self' used where no object is available␤at /tmp/LkfgbewhwU:1␤------> 3sub foo(\self) {7⏏5 self }; foo(42)␤ expecting any of:␤ term␤»
08:44 tinyblak left
cygx ^ should that work? 08:44
dalek ast: 2de2765 | usev6++ | S03-operators/reduce-le1arg.t:
Use unique ticket number for similiar tests
08:48
raydiak just confirmed locally that my \self, my &self, and sub self, our &self, and our sub self all do the same 08:50
RabidGravy cygx, probably not - "self" is a specially defined term
raydiak ::('self') works though
if it's a sub, self() also works
masak m: sub self() { say "don't define a sub called 'self'" }; self() 08:52
camelia rakudo-moar 9b5c02: OUTPUT«don't define a sub called 'self'␤»
masak m: sub self() { say "don't define a sub called 'self'" }; self
camelia rakudo-moar 9b5c02: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3AspCGK9H1␤'self' used where no object is available␤at /tmp/3AspCGK9H1:1␤------> 3ay "don't define a sub called 'self'" };7⏏5 self␤ expecting any of:␤ term␤»
08:59 _mg_ left
raydiak wonders why self needs to be more special-cased than a lexical like normal parameters 09:01
maybe just because it's a bad idea so we want to stop people from doing it easily at all? 09:03
RabidGravy it's probably not helpful to think of it as a variable at all, it's a special term who's value is the invocant of a method 09:05
raydiak being part of the signature really feels counter to that notion 09:07
m: class { method m { } }.^lookup("m").signature.perl.say 09:08
camelia rakudo-moar 9b5c02: OUTPUT«:(<anon> $: *%_)␤»
raydiak maybe it doesn't mean it's really a lexical name when you're in the sub body, but it's rather suggestive anyway if you ask me 09:09
RabidGravy of course you can get the invocant in a variable like that
m: class A { method a(A:d $self:) { say $self } }; A.new.a; 09:10
camelia rakudo-moar 9b5c02: OUTPUT«use of uninitialized value of type Empty in string context in block <unit> at /tmp/XC3TwZIXLu:1␤␤A.new␤»
RabidGravy eh? 09:11
(works fine here)
raydiak ah got it, the <anon> means there is no name, and I should think of self as meaning something completely different
recent glr churn, maybe you haven't rakudobrewed today?
09:12 lizmat joined
RabidGravy possibly. but it's the typoed lower case 'd' wot dun it 09:12
should of course be upper case 09:13
raydiak here's a correct example I saw a few minutes ago, then...
m: class { method m { } }.^lookup("m").signature.^methods.perl.say 09:14
camelia rakudo-moar 9b5c02: OUTPUT«use of uninitialized value of type Empty in string context␤use of uninitialized value of type Empty in string context␤use of uninitialized value of type Empty in string context␤use of uninitialized value of type Empty in string context␤(ForeignCode…»
RabidGravy boo! bad bot. bad! bad!
raydiak I've seen it here and there, figured it'll go away when more of the changes are done :)
RabidGravy the construct I showed is used in some core classes (I'm looking at Channel.list here) to give the invocant to places where it needs to be given to something that wouldn't like the term form 09:17
raydiak oh, yeah, I know all about that, I was musing about whether or not self should be overridable by a lexical name 09:18
but figured we probably disallowed it on purposed after a question like this was pondered 09:19
RabidGravy I may be wide of the mark here, but my reading of the grammar is that it's not so much explicitly disallowed as that it can't be over-ridable because of the way the grammar is formulated 09:22
raydiak m: class { method m { my \self = 42 } } # it even claims to be a lexical 09:23
camelia rakudo-moar 9b5c02: OUTPUT«===SORRY!===␤Lexical 'self' already declared␤»
09:26 Erendis42d joined
raydiak I think my meaningful productivity is used up for the night, time to rest...was nice chattin 09:27
g'night #perl6
RabidGravy nighty night
masak g'night, antipolad raydiak 09:34
er, antipodal*
09:42 baest_ joined 09:43 baest left 09:46 yqt joined
masak \o/ github.com/tadzik/synopsebot/pull/6 09:50
tadzik++
tadzik masak++ :)
I like the creative use of grammars in code that has even remotely something to do with parsing
also, this whole thing is now very easy to test
masak I was going to write a blog post about developing this patch. it was a perfect storm of nice things. 09:51
tadzik: easy, to test, but I'd get rid of the `say $e` late in the method, instead giving the class a logger attribute. 09:52
s/, //
you want me to PR that too? 09:53
tadzik masak: yeah, I looked through the code, saw the say and thought "oh look, masak forgot some debugging code"
masak wasn't mine.
tadzik then I read the diff more carefully, "oh..."
yeah :)
masak I just preserved it from before.
I thought it was used for something.
tadzik yeah, I assume so
masak if it isn't, then even easier is to remove it.
tadzik then again, it's not my code either :P
masak heh.
09:53 uncleyear left
masak just your repo :P 09:53
09:53 Erendis42d left
tadzik yeah :) 09:53
09:55 perl6ware joined
perl6ware Hello, is there a channel to report typo mistake on this page? design.perl6.org/Differences.html 09:57
masak yes, this channel! :)
welcome :)
perl6ware thank you :) 09:58
in the sigils part, $fruit[0] should be $fruits[0] 09:59
that's it.
masak oh!
yes. 10:00
perl6ware also.. say @fruit[0]; should be... say @fruits[0];
masak the original seems to be in mu:docs/Perl6/Perl5/Differences.pod 10:01
fixing.
perl6ware++
dalek : 7fb834e | (Carl Masak)++ | docs/Perl6/Perl5/Differences.pod:
correct s/fruit/fruits/ typo
masak it will probably take a little while for the HTML page to update. 10:02
perl6ware great :)
10:03 lizmat left
perl6ware thanks for fixing it that quickly. 10:03
10:03 eiro joined
masak it was an easy fix ;) 10:04
10:07 Vlavv left
masak github.com/tadzik/synopsebot/pull/7 10:08
10:11 diana_olhovik left
Ulti cygx cool I did a bit more on it gist.github.com/MattOates/77b425166a3acc8dd314 10:15
10:20 Vlavv joined
Ulti I might try ripping out that map locally and see if it changes that little benchmark at all 10:20
perl6ware Perl 6 is considerably slower than Perl 5 as for now. is it just me?
Ulti perl6ware well as that benchmark points out it can vary by a factor of 320x depending on how you write your Perl 6 10:21
doing the most shiny expressive thing is rarely the most efficient in any language 10:22
perl6ware time ./perl6 -e 'my $s; for 1..10000 {$s+=1e0/$_**2};say $s'
Ulti perl6ware add some native type information and run it again
10:23 rba_ joined
Ulti perl6ware: time ./perl6 -e 'my num $s; for 1..10000 -> num $i {$s+=1e0/$i**2};say $s' 10:26
that is 2x faster for me
perl6ware let me try. 10:27
Ulti though I get NaN :S
perl6ware oh yes it's NaN 10:28
Ulti :'( 10:29
perl6ware output should be 1.64492406689824
Ulti yeah
perl6ware time ./perl6 -e 'my $s; for 1..100000 {$s+=1e0/$_**2};say $s' <-- this works but slower than Perl 5 , i think Perl 6 need a little more time to evolve 10:30
Ulti well if you want it as evolved as Perl 5 you will be waiting another decade 10:32
perl6ware The Three Stages of Program Development: First, make it run Second, make it run right. Finally, make it run fast. Perhaps Perl6 is still in the second stage. 10:33
Ulti well it runs right
the make it fast part is the native stuff
cygx (mostly right)
;)
Ulti though I am surprised that NaN popped up I've done stuff just like that relatively recently and it was fine -___- 10:34
masak m: my num $i = 10000; say 1e0 / $i ** 2 10:35
Ulti is it just a precision thing? I tried the widest native num
camelia rakudo-moar 9b5c02: OUTPUT«This type cannot unbox to a native number␤ in block <unit> at /tmp/hAlD80qseH:1␤␤»
masak m: my num $i = 10000e0; say 1e0 / $i ** 2
camelia rakudo-moar 9b5c02: OUTPUT«1e-08␤»
Ulti aha
masak Perl 6 doesn't really have a numeric tower. 10:36
Ulti also perl6ware that was actually quite fast to begin with :P its not like you waited 546s to process a relatively small text file
in fact I would go as far to say I bet the difference between P5 and P6 is startup time 10:38
perl6ware Yes i think so, i am sure we will see a lot of improvements.
Ulti errr wat
I would rather IO was fast for most idioms than startup is 1ms faster 10:39
cygx perl6ware: arguably, if you want a fair comparison, you'd have to add a `use Moose` to your Perl5 10:40
Ulti perl6ware: add in a -MMoose to the perl one liner and get back to us ;P
cygx ;)
Ulti I am working on a little moose app at work that has a git style command line interface and deligates to an object based on the command... the startup is 3s without doing anything 10:41
perl6ware Thanks guys i will try that. Thanks for all your answers for my curious question.
Ulti just the MAIN stuff in Perl 6 makes all of that 3s go away
cygx however, the parsing speed of Perl6 is still less than stellar 10:43
Ulti the problem with comparing perl 5 to 6 is everyone is focussed on benchmarks of things in isolation and not common use cases of day to day work... IO and list manipulation are the things that have stood out for me for the last couple of years as holding me back
cygx ie if your command line thingy grows beyond a certain size, you'll have to factor out modules and precompile those
10:43 RabidGravy left
Ulti cygx yeah the 3s is only since Moose now has to reflect on a bigger list of classes 10:45
10:46 Isp-sec left 10:50 perl6ware left 10:53 rindolf joined 11:00 lizmat joined 11:04 grondilu joined
Ulti ahhh >> still does the random sort thing that might explain some of the epic slowness 11:05
11:09 yqt left 11:17 BenGoldberg joined
tadzik ugexe: ping 11:18
ugexe: I poked you about rakudobrew's windows compatibility in your (closed) PR 11:21
11:34 xinming joined, larion joined 11:36 FROGGS joined
dalek osystem: 44b5feb | cygx++ | META.list:
Add Uni63 to the ecosystem
11:37
osystem: 2a09827 | moritz++ | META.list:
Merge pull request #43 from cygx/patch-1

Add Uni63 to the ecosystem
11:38 diana_olhovik_ joined
cygx moritz++ 11:39
moritz cygx: if you accept the invitation I just sent you, you can push directly
and to a few other repos as well :-) 11:40
tadzik who and where is running synbot6? 11:41
11:41 BenGoldberg left
nwc10 FROGGS: our train set off 91 minutes late, and arrived about "63" minutes late. 11:42
tadzik and can we rename it to synopsebot, now that it's the thing we use? :)
nwc10 problems with the Škoda :-)
however, I did discover that it had Czech beer, but at Hungarian prices.
FROGGS nwc10: I am one train away from Berlin, which is nice 11:43
nwc10 (I am not sure how accuate that 63 really was, as that's what the board was telling me, and I didn't stop to measure it accurately)
cygx moritz: thanks
cygx now afk
nwc10 that train exists? or is a bus?
FROGGS nwc10: it actually is an ICE
nwc10 with a driver? 11:44
FROGGS looks like
nwc10 \o/
FROGGS :o)
nwc10 For The Win.
I hope that this celebration is not premature.
FROGGS it will be 10 minutes late so it seems to be real 11:45
11:46 eli-se joined, eli-se left 11:47 yqt joined 11:48 mr-foobar left 11:49 cygx left 11:56 Isp-sec joined 11:58 FROGGS left 12:03 _mg_ joined 12:15 telex left, FROGGS joined 12:16 telex joined 12:27 _mg_ left
tadzik URI fails tests? 12:34
where are daily smokes these days? 12:35
FROGGS tadzik: coke/star-roast-data? 12:36
tadzik FROGGS: hmm, only github.com/coke/rakudo-star-daily/...ersion.log looks updated 12:37
rest is a month old or more
something must've broken
I hope it's not panda
but there was also a webservice that colomon++ was running, irc 12:38
iirc
colomon smoke.perl6.org/report
something’s badly broken at the moment
tadzik URI looks clean though 12:39
FROGGS wasnt there an URI PR that depends on a rakudo commit from two days ago? 12:40
about Empty/Nil?
cannot look right now
tadzik hm
dalek ast: 88954b0 | usev6++ | S06-other/anon-hashes-vs-blocks.t:
Unfudge passing test for rakudo.jvm
12:41
tadzik FROGGS: there's one, yes 12:42
tadzik checks it out
it fixes stuff, yes :) 12:43
FROGGS :o) 12:46
FROGGS really knows stuff
12:57 xinming left
colomon doesn't 12:57
12:58 xinming joined
dalek ast: e8859ce | usev6++ | S32-num/power.t:
Change some fudged tests for JVM from 'skipped' to 'todo'
13:00
ast: 8e3489c | usev6++ | S16-io/getc.t:
Unfudge passing test for rakudo.jvm
kudo/nom: 9047503 | lizmat++ | src/core/Mu.pm:
Fix Empty warning on classes without attributes

Spotted by arnsholt++
lizmat m: (class {}).new.say 13:01
camelia rakudo-moar 9b5c02: OUTPUT«use of uninitialized value of type Empty in string context␤<anon>.new␤»
Sysaxed timotimo: Could not open timing file '/home/alex/git/perl6-bench/timings/rakudo-moar/2014.01.json': No such file or directory at /home/alex/git/perl6-bench/analyze line 218.
timotimo: what?
dalek ast: cde72ee | usev6++ | S32-num/power.t:
Fix fudging (todo instead of skip)

  ... does what commit e8859ce was supposed to do
13:04
ast: 7e2a68a | usev6++ | S32-num/power.t:
Fix quoting for fudging
13:06
bartolin sorry for the noise ...
13:07 espadrine_ joined 13:14 FROGGS left
lizmat m: (1 if 0).Str # golfed down the Empty warning 13:17
camelia rakudo-moar 9b5c02: OUTPUT«use of uninitialized value of type Empty in string context␤»
13:17 diana_olhovik_ left
lizmat m: Empty.Str # even shorter golf? 13:19
camelia rakudo-moar 904750: OUTPUT«use of uninitialized value of type Empty in string context␤»
13:23 aborazmeh joined, aborazmeh left, aborazmeh joined
dalek ast: dc34eea | usev6++ | S06-macros/quasi-blocks.t:
Unfudge passing test for rakudo.jvm
13:30
ast: e4252cd | usev6++ | S06-macros/unquoting.t:
Unfudge passing test for rakudo.jvm
13:34
ast: 6a71064 | usev6++ | S04-statements/loop.t:
Unfudge passing test for rakudo.jvm
13:40
tony-o [Tux]: csv::parser updated 13:52
dalek ast: 5232641 | usev6++ | S04-phasers/keep-undo.t:
Change fudged test for JVM from 'skipped' to 'todo'
13:54
ast: cac9919 | usev6++ | S04-phasers/in-eval.t:
Unfudge 2 passing tests for rakudo.jvm
colomon hmmm, Inline::Python is failing with 13:55
===SORRY!===
unable to find Inline/pyhelper.so IN @*INC
(many times)
tadzik is that the panda .so problem that someone mentioned? 13:56
I get gist.github.com/tadzik/390b6c6ecbc9ac39f6d3 with Inline::Perl5 13:57
lizmat Inline::Python probably needs a temporary fix like f6e299335b30f398f533e in Inline::Perl5 13:58
tadzik and it clearly fails to build stuff, but thinks it succeeded
so LibraryMake/Build.pm itself are wrong
13:58 domidumont left
lizmat github.com/niner/Inline-Perl5/comm...7da5be1730 13:58
colomon tadzik: hmm…? my guess would be it builds it, but then doesn’t know where to find what it has built 14:02
14:02 skids joined
colomon If I run Inline::Python’s configure.pl6 by hand, it definitely is building pyhelper.so 14:02
14:03 aborazmeh left
tadzik colomon: do you get a similar error? 14:04
ah, alright
lizmat colomon tadzik : it probably needs a similar patch to the one I did to Inline::Perl5 14:08
skids reminds tadzik of the Grammar::BNF PRs
tadzik skids: I think I responded to both :) 14:09
lizmat: that's Inline::Perl5 I was building :)
but for me it failed, so that's different
lizmat ok
colomon lizmat: github.com/niner/Inline-Python/blo...on.pm6#L13 seems to be the Inline::Python version? 14:11
is the .substr(5) needed to skip by the file# bit?
lizmat yup
skids tadzik: Oh, hey you jut did! :-) I'm fine with bugs being assigned to me, and can help with Grammar::BNF proper, e.g. the package could use some POD and such.
lizmat it *is* a temporary hack
skids *just 14:12
tadzik skids: so we put both in one repo?
dalek ast: a99c96f | usev6++ | S02-literals/radix.t:
Join fudges for Moar und JVM to single line
14:13
ast: 0959146 | usev6++ | S32-str/words.t:
Change fudged tests for JVM from 'skipped' to 'todo'
ast: aacaa5e | usev6++ | S17-supply/list.t:
Unfudge passing tests for rakudo.jvm
lizmat battery& 14:16
14:17 lizmat left
skids tadzik: It's a matter of taste; I'm not a big fan of microslicing myself. 14:17
tadzik skids: alright :)
skids: you're now a collaborator of Grammar::BNF 14:18
skids Cool. I'll work some more on it tommorrow. 14:20
tadzik I also updated the repo description(s)
awesome, thanks :)
colomon okay, I can confirm that adding the .substr(5) makes Inline::Python pass all tests again. 14:23
tadzik skids: do you want to be 'skids' in LICENSE or some other name?
it's actually the first time I thought about this 14:24
14:24 kaare__ left
skids tadzik: something is up with panda and the source-url field. I'll massage the license, don't worry. 14:25
tadzik hm
oh, I see it 14:26
so it never worked:) 14:27
skids Hrm weird I just fixed a small thing that failed t/abnf, but I remember it working. But turns out it wasn't a rakudo change of behavior. bizarre. 14:29
14:32 lizmat joined
dalek ast: a5397a6 | usev6++ | S05-mass/properties-general.t:
Unfudge passing tests for rakudo.jvm
14:32
tadzik skids: json of META.info is apparently invalid
but I don't see it at all
skids oh, my fault. 14:33
tadzik ahhh
no comma
I'll fix it
or did you
skids nope. Saw you say so first. 14:34
tadzik ok, now it's fixed
or so I hope :)
14:35 yqt left
tadzik we'll have to wait for ecosystem-api to pick it up 14:36
lizmat if the problem is not caused by the @*INC changes, maybe it's caused by the Empty/Nil changes ?
skids Ah I was just about to ask whether there was a delay.
tadzik yeah, I think it's hourly updated
I don't think I ever taught panda to install stuff from github repos
oh yeah, I did :) 14:37
you can do panda install git://github.com/tadzik/Grammar-BNF.git
skids Yeah, otherwise it wouldn't have broken so immediately
I'll work on that new "Empty" warning in the t/abnf results later tonight. 14:38
But it installs now so \o/
lizmat m: Empty.Str 14:39
camelia rakudo-moar 904750: OUTPUT«use of uninitialized value of type Empty in string context␤»
lizmat I still don't understand that one
tadzik skids: yeah, awesome :)
skids tadzik++ Anyway, late, have to run. 14:41
14:42 skids left
dalek ast: c9e7946 | usev6++ | S05-mass/properties-derived.t:
Unfudge passing tests for rakudo.jvm
14:43
14:44 _mg_ joined
timotimo o/ 14:45
tadzik hello timotimo 14:51
jnthn o/ timotimo
tadzik can someone IO-savvy tell me something about the method used in github.com/tadzik/File-Find/pull/5/files? 14:52
calling .relative as a mens of converting slashes feels a bit weird
dalek : d3b2d38 | usev6++ | misc/rt.perl.org/cleanup_nyc_hackathon_tickets.txt:
Keep track of merged and resolved tickets
14:54
tadzik is argumentless .relative a no-op? 14:57
timotimo AFK again 15:04
raydiak looks like without an arg it makes it relative to the cwd, and it returns a string, so never a no-op per se 15:06
.IO.Str might be closer to what was intended if you want my guess 15:07
tadzik right, I'll have to get ahold of jnthn's laptop to see if it does what it should :)
unless someone can check it for me on windows 15:08
[Tux] I got this error, and aside what I did wrong, it could be more specific, like the rest of the errors:
===SORRY!===
This type does not support positional operations
What type? What line?
jnthn That looks like an internal compiler error, rather than one with your program.
lizmat also with --ll-exception ? 15:09
[Tux] gist.github.com/Tux/dfdab139e0d3b3befa5b 15:10
15:11 _mg_ left 15:13 FROGGS joined
moritz seems I killed the www server :( 15:15
raydiak tadzik: at least as of our last star release (2015.03), I guess .Str just gives you back the string you started with, separators unchanged (tested under win 7)
.relative works though
FROGGS finally arrived at home! /o/
raydiak welcome home FROGGS :) 15:16
FROGGS :o)
[Tux] lizmat, jnthn. do you want me to try to golf that?
lizmat yes, please
jnthn [Tux]: Please, I don't immediately see what's going on from the backtrace
[Tux] hoped a "no, I already know what it is" :/
lizmat we have no idea
jnthn [Tux]: Sorry, I did try to make the ansewr that... 15:17
[Tux] (writing tests)--; # takes you off-track
jnthn Alas, don't see what it could obviously be.
ugexe m: my @a = 42; try { CATCH { default {} }; @a.clone }; say "alive" # from raydiak a few days ago 15:18
camelia rakudo-moar 904750: OUTPUT«This type does not support elems␤ in block <unit> at /tmp/OnSQFbb_5V:1␤␤»
raydiak #125109 I think we determined that it's from try not sinking hard enough, irclog link in the RT has the discussion 15:22
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125109
tadzik raydiak: that's silly 15:28
raydiak: how about .IO.path.Str?
moritz ok, turns out that the network config files on www had syntax errors
and so after a reboot, it didn't configured any interface except for the loopback one 15:29
and now it works again, except that logging in over IPv6 takes 5.5s 15:30
whereas over IPv4 it's < 0.5s
raydiak tadzik: yep seems silly to me too...probably faster or something; same result inserting .path
tadzik 3>:(
can we have .normalize? 15:31
tadzik off for now
raydiak \o
FROGGS m: say "foo\\bar".IO.path.Str
camelia rakudo-moar 904750: OUTPUT«foo\bar␤»
FROGGS m: say "foo\\bar".IO..cleanup.path.Str
camelia rakudo-moar 904750: OUTPUT«5===SORRY!5=== Error while compiling /tmp/iQXUW_E57m␤Undeclared routine:␤ cleanup used at line 1␤␤»
FROGGS m: say "foo\\bar".IO.cleanup.path.Str
camelia rakudo-moar 904750: OUTPUT«foo\bar␤»
FROGGS m: say "foo\\bar".IO.cleanup.Str 15:32
camelia rakudo-moar 904750: OUTPUT«foo\bar␤»
FROGGS hmmm
lizmat end of day one at the OSDC.no&
[Tux] This also stinks: gist.github.com/Tux/626e1b6de467f7eec4f0
moritz if anybody finds a problem with our WWW server, please tell me ASAP (here or via email)
FROGGS moritz: k
moritz until then, I consider the current incident resolved :-)
15:32 lizmat left 15:36 berekuk_ joined 15:38 yqt joined 15:39 TimToady left 15:40 berekuk_ left, berekuk_ joined, coffee` left 15:41 coffee` joined
[Tux] jnthn, here you go: 15:41
m: my%h=A:(1),B:(2);
camelia rakudo-moar 904750: OUTPUT«===SORRY!===␤This type does not support positional operations␤»
15:41 TimToady joined
[Tux] of course that should have been :A(1), :B(2) 15:42
but the error didn't really help
masak er. 15:43
raydiak std: my%h=A:(1),B:(2);
camelia std 28329a7: OUTPUT«5===SORRY!5===␤Undeclared names:␤ 'A' used at line 1␤ 'B' used at line 1␤Check failed␤FAILED 00:00 141m␤»
masak yeah, that's a better error, perhaps.
interestingly, STD doesn't parsefail on that.
[Tux] thinks he found that pretty fast :) 15:44
raydiak .msg camelia help 15:45
yoleaux raydiak: Sorry, this command is admin-only.
raydiak .msg camelia usage
yoleaux raydiak: Sorry, this command is admin-only.
raydiak erm
masak today's autopun spotting: twitter.com/silverstar22b/status/5...6795318272 15:47
raydiak thought we had some kinda deparse but doesn't see it and could be confused again
hah
TimToady masak: yes, that's just a name extended with a pair to STD; making rakudo parse those is on my todo list 15:49
mst masak: I've trained my phone to produce 'autocockwreck' 15:57
tony-o m: sub a { caller.subname.say; }; sub b { a; }; b; #should this work? github.com/perl6/roast/blob/feeea5...ller.t#L10 15:59
camelia rakudo-moar 904750: OUTPUT«5===SORRY!5=== Error while compiling /tmp/DxcPRNJ7Pu␤Undeclared routine:␤ caller used at line 1␤␤»
ugexe m: "foo\\bar".IO.resolve.say 16:01
camelia rakudo-moar 904750: OUTPUT«/home/camelia/foo\bar␤»
tony-o m: $*SPEC.catpath('foo','bar').IO.resolve.say 16:02
camelia rakudo-moar 904750: OUTPUT«Too few positionals passed; expected 4 arguments but got 3␤ in block <unit> at /tmp/L0TJ2y4q0H:1␤␤»
tony-o m: $*SPEC.catpath('', 'foo','bar').IO.resolve.say
camelia rakudo-moar 904750: OUTPUT«/home/camelia/foo/bar␤»
TimToady if we renamed Path to Fish, we could have .catfish
tony-o lol 16:03
TimToady "fishing in the filesystem"
tony-o perl6 a language of double entendres
TimToady
.oO("you can tuna filesystem, but you can't tuna fish")
16:04
we really need a listop 'tuna' too 16:05
[Tux] crap^hb
tony-o m: sub a { b(); }; sub b { caller.subname; }; say a(); 16:06
TimToady cra^tp if you have twiddle
camelia rakudo-moar 904750: OUTPUT«5===SORRY!5=== Error while compiling /tmp/t59tBby3bu␤Undeclared routine:␤ caller used at line 1␤␤»
tony-o is that NYI or is the roast out of date ?
TimToady callframe? 16:07
raydiak m: say callframe 16:08
camelia rakudo-moar 904750: OUTPUT«CallFrame.new(level => 2, annotations => {:file("/tmp/evXdmF9xo0"), :line("1")}<>, my => EnumMap.new("\$_" => Mu, :GLOBALish(Mu), "\$!" => Mu, "!UNIT_MARKER" => Mu, "\$?PACKAGE" => Mu, :EXPORT(Mu), "::?PACKAGE" => Mu, "\$/" => Mu, "\$=pod" => Mu))␤»
tony-o i was looking at this file: github.com/perl6/roast/blob/master...d/caller.t
16:09 _mg_ joined, _mg_ left, diana_olhovik joined
tony-o m: sub a { b(); }; sub b { callframe(1).perl; }; say a(); 16:10
camelia rakudo-moar 904750: OUTPUT«CallFrame.new(level => 3, annotations => {:file("/tmp/Vnqtyhw70E"), :line("1")}<>, my => EnumMap.new("\$/" => Mu, "\$_" => Mu, "\$!" => Mu, "\&?ROUTINE" => Mu, :RETURN(Mu), "\$*DISPATCHER" => Mu))␤»
raydiak looks like caller is still speculated at S06:2651 16:11
synbot6 Link: design.perl6.org/S06.html#line_2651
FROGGS TimToady: do you think we should improve :P5 regexes this year?
[Tux] FROGGS, improve speed instead :P
FROGGS [Tux]: that's not my expertise :o) 16:12
and tbh, I don't really care... it is fast enough
TimToady I think if we improve P6 regexes, P5 will also get better
P65 regexes are not fast enough yet
FROGGS TimToady: I meant feature wise
TimToady P6
[Tux] IMHO speeding up P6 regexes would really help
I think currently the speed of P6 regexes is my bottleneck 16:13
[Tux] is really impressed by the non-overhead of using objects
adding a layer almost adds no extra time 16:14
16:14 Vlavv left
raydiak regex interpolations sure would be nice to improve, speed-wise 16:17
FROGGS and sanity wise...
though, I have no idea how to get rid of that EVAL
raydiak interpolations are done via EVAL? 16:18
tony-o m: sub a { my $r; b; $r.say; }; sub b { callframe(1).my<$r> = 'sup perl6'; }; a; 16:19
camelia rakudo-moar 904750: OUTPUT«sup perl6␤»
tony-o that's pretty cool
FROGGS m: my $regex = "a+"; say "aaaaabbb" ~~ / <$regex> / # raydiak: in this case yes 16:20
camelia rakudo-moar 904750: OUTPUT«use of uninitialized value of type Empty in string context␤「aaaaa」␤»
FROGGS O.o
that warning is new I guess
raydiak ah 16:21
TimToady raydiak: yes, getting rid of that EVAL is also in my todo list, but the right way to do it involves parsing a restricted subset of regex to avoid injections
[Tux] 95% of my regex use is of that type I guess 16:22
FROGGS ewww 16:23
TimToady arguably it'd be okay if Empty stringifies to ''
16:25 thou joined
TimToady but we'll need to check what's really going on there, to see if it's a mild braino 16:26
16:26 larion left
FROGGS that might even solve: 16:26
m: say EnumMap.new.perl
camelia rakudo-moar 904750: OUTPUT«EnumMap.new(Nil)␤»
16:26 Vlavv joined
raydiak yeah I've been seeing that warning around a lot...since Nil stringified that way, and () did too, was wondering why it's not allowed for Empty 16:26
FROGGS ohh, perhaps not
TimToady m: say ~Nil
camelia rakudo-moar 904750: OUTPUT«␤»
TimToady hmm
raydiak m: class { method m { } }.^lookup("m").signature.^methods.perl.say 16:27
camelia rakudo-moar 904750: OUTPUT«(ForeignCode.new(), ForeignCode.new(), ForeignCode.new(), ForeignCode.new(), method arity (Signature $: *%_) { #`(Method|35827392) ... }, method count (Signature $: *%_) { #`(Method|35827544) ... }, method params (Signature $: *%_) { #`(Method|35827696) ..…»
raydiak ^ that one's fixed already too I guess
TimToady from Nil.pm: method Str(*@) { '' } # XXX still needs warning
perhaps now that Empty is split out, Nil can warn, and Empty not, if we decide that makes sense 16:28
but EnumMap.new(Nil) seems wrongish
dalek ast: fa77e08 | usev6++ | S16-filehandles/io.t:
Change fudged tests from 'skipped' to 'todo'
TimToady m: say EnumMap.new(Nil).perl 16:29
camelia rakudo-moar 904750: OUTPUT«Odd number of elements found where hash initializer expected␤ in block <unit> at /tmp/QXRUCvVAtC:1␤␤»
TimToady doesn't even round-trip right
tony-o that's what broke CSV::Parser ^
TimToady m: say EnumMap.new(Empty).perl 16:30
camelia rakudo-moar 904750: OUTPUT«EnumMap.new(Nil)␤»
tony-o m: say EnumMap.new.perl
camelia rakudo-moar 904750: OUTPUT«EnumMap.new(Nil)␤»
TimToady oh, it's the dratted randomization, which I've been pulling out of the .perls as fast as I see them 16:31
.perl doesn't need randomization
.perl should prefer canonicalization to sorted 16:32
testing a fix 16:33
masak +1
16:34 RabidGravy joined
tony-o m: sub a { my $r; b; $r.say; }; sub b { callframe(Sub).my<$r> = 'sup perl6'; }; a; 16:36
camelia rakudo-moar 904750: OUTPUT«Type check failed in binding $level; expected 'Int' but got 'Sub'␤ in sub b at /tmp/SwENu3uNpM:1␤ in sub a at /tmp/SwENu3uNpM:1␤ in block <unit> at /tmp/SwENu3uNpM:1␤␤»
dalek kudo/nom: ba654d8 | TimToady++ | src/core/EnumMap.pm:
EnumMap.perl should sort, not shuffle
FROGGS m: say ().pick 16:37
camelia rakudo-moar 904750: OUTPUT«Nil␤»
FROGGS TimToady: that's also wrong, no?
TimToady yes 16:38
it's assuming that .pick(1) is some kind of minimum
you wanna fix it, or shall I 16:39
FROGGS I tried to fix it and failed, so.... :o) 16:40
TimToady wait, that one's okay, it's .pick(*) that should not return Nil
FROGGS m: say ().pick(*)
camelia rakudo-moar 904750: OUTPUT«Nil␤»
FROGGS aha, okay
now I even understand the issue
TimToady since .pick defaults to 1
TimToady will backlog, and revisit if you don't get to it 16:41
16:44 kaare__ joined
raydiak m: (?*).perl.say 16:45
camelia ( no output )
raydiak m: say ?*
camelia rakudo-moar 904750: OUTPUT«WhateverCode.new()␤»
TimToady weird
m: say (?*).Str 16:46
camelia rakudo-moar 904750: OUTPUT«WhateverCode.new()␤»
TimToady m: say (?*).gist
camelia rakudo-moar 904750: OUTPUT«WhateverCode.new()␤»
raydiak m: say (?*).foobar
camelia rakudo-moar 904750: OUTPUT«WhateverCode.new()␤»
TimToady ah
m: say ((?*)).perl 16:47
camelia rakudo-moar 904750: OUTPUT«WhateverCode.new()␤»
TimToady m: ((?*)).perl.say
camelia rakudo-moar 904750: OUTPUT«WhateverCode.new()␤»
TimToady m: .perl.say given ?* 16:48
camelia rakudo-moar 904750: OUTPUT«WhateverCode.new()␤»
timotimo %) 16:49
infectious
raydiak was thinking the other day about lazy values that are infections like whatever/whatevercode 16:50
though now that I think about it you could probably write them *as* whatevercode and be done :) 16:51
TimToady well, you'd have to call them implicitly at some FETCHish point
timotimo well, WhateverCode is strictly syntactic 16:52
dalek ast: 45947e0 | usev6++ | S02-types/array.t:
Change fudged test from 'skipped' to 'todo'
16:53
ast: 43e86ad | usev6++ | S06-signature/definite-return.t:
Use unique ticket number for similiar tests
raydiak m: my $a = Whatever; say $a + 1
camelia rakudo-moar ba654d: OUTPUT«use of uninitialized value of type Whatever in numeric context␤1␤»
raydiak m: my $a = *; say $a + 1 16:54
camelia rakudo-moar ba654d: OUTPUT«Cannot call Numeric(Whatever: ); none of these signatures match:␤ (Mu:U \v: *%_)␤ in block <unit> at /tmp/cVNiu6H4K_:1␤␤»
raydiak ah sad
guess it'd be better as a proxy 16:55
TimToady one could imagine a Lazy type outside of Any that "autothreads" to a FETCH
raydiak Ah, so it collapses at the same points as junctions?
TimToady nod 16:56
raydiak I like it...
TimToady I think of Mu as really meaning "concept", where Any is the particular concept of a single object 16:57
tony-o m: sub a { my $r; await start { sleep .1; b; } $r.say; }; sub b { callframe(1).my<$r> = 'sup perl6'; }; a;
camelia rakudo-moar ba654d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qsQ7KI_dUh␤Strange text after block (missing semicolon or comma?)␤at /tmp/qsQ7KI_dUh:1␤------> 3 a { my $r; await start { sleep .1; b; }7⏏5 $r.say; }; sub b { callframe(1).my<$r> ␤ expecting an…»
tony-o m: sub a { my $r; await start { sleep .1; b; }; $r.say; }; sub b { callframe(1).my<$r> = 'sup perl6'; }; a; 16:58
camelia rakudo-moar ba654d: OUTPUT«===SORRY!===␤Cannot modify an immutable Any␤»
TimToady I suppose we could go as far as to define a Concept type under Mu, and put Junctions under that, along with any other concepts that go there, like Each or Lazy
then we could do things like $type ~~ Concept without getting false positives on Any ~~ Mu 16:59
otoh, we can always say !~~ Any currently, so I suppose we should ask ourselves whether anything can exist under Mu that is neither an object nor a concept 17:03
raydiak could we put all the "autothreading"/FETCH stuff in Concept and subclass it? if that behavior weren't so tied up in Junction specifically, we'd have implemented Each by now b/c it'd be far easier, and this Lazy idea, etc 17:04
or maybe that's a subclass of Concept, even
FROGGS m: sub foo { return }; say foo # is that correct? 17:06
camelia rakudo-moar ba654d: OUTPUT«Nil␤»
raydiak I tried to look in Junction to see how hard it'd be to make Each a long time ago, but was pretty lost and moved on to other things
TimToady FROGGS: I've been vacillating on that one; it might depend on whether the --> is listy 17:07
FROGGS TimToady: the .pick(*) issue boils down to that 17:09
TimToady testing a fix that does return () 17:14
(there and in .roll) 17:15
raydiak
.oO( wonder if Concept would instead be Abstract or something, since we already established that Any is a concept too, just a particular case of one )
17:17
TimToady well, we do use 'conceptual' to mean 'not concrete' already 17:20
though we already have non-concrete types inside Any, go figure
but those are platonic concepts, not aristotelian concepts :) 17:21
tony-o m: sub a { sub b(Callable $r) { "b".say; $r(); }; sub c() { "c".say; }; EVAL "b({ c; });"; }; a;
camelia rakudo-moar ba654d: OUTPUT«c␤5===SORRY!5=== Error while compiling EVAL_0␤Calling b(Bool) will never work with declared signature ($r)␤at EVAL_0:1␤------> 3<BOL>7⏏5b(True);␤»
raydiak wouldn't be Perl if there weren't exceptions to the rule :)
but yeah, true that Concept does already have a pretty heavy "abstract" implication when you put it that way 17:22
tony-o sub a { sub b(Callable $r) { "b".say; $r(); }; sub c() { "c".say; }; b({ c; });}; a;
m: sub a { sub b(Callable $r) { "b".say; $r(); }; sub c() { "c".say; }; b({ c; });}; a;
camelia rakudo-moar ba654d: OUTPUT«b␤c␤»
tony-o hm 17:23
raydiak m: sub a { sub b(Callable $r) { "b".say; $r(); }; sub c() { "c".say; }; EVAL 'b({ c; });'; }; a; 17:25
camelia rakudo-moar ba654d: OUTPUT«b␤c␤»
tony-o sub a { sub b(Callable $r) { "b".say; $r(); }; sub c() { "c".say; }; EVAL "b({ c; });"; }; a; #ugexe
17:25 _mg_ joined
raydiak "{ ... }" interpolates 17:26
tony-o duh
thanks raydiak
raydiak you're welcome :)
17:27 _mg_ left
raydiak wonders if he wants to bus across town again today to pull a water pump from the junkyard to fix the car for the 3rd time in the past month 17:29
TimToady wonders if the last two fixes were to the water pump as well... :) 17:30
raydiak the bussing part isn't so bad, it's the walking around with engine grime up to your elbows carrying tools and parts between busses and destinations that's the least fun part 17:31
TimToady take a can of that degreaser stuff
raydiak nope...last was a worn tire that decided to go flat all at once...one before that was the radiator blowing up because the radiator fan failed a day or two before it turned nice and I got stuck in stop & go traffic on an on-ramp 17:32
17:32 kaare__ left
TimToady water pump electrical or mechanical? 17:32
raydiak degreaser stuff...now that is something I'd keep around if I were thinking ahead. or even behind. 17:33
mechanical, timing belt drives it
TimToady so unlikely to have raced it when radiator was empty...
well, there's worse things to replace
water pumps are usually pretty easy 17:34
raydiak actually, on this one, the accessory drive belt drives the water pump, which saves me a *ton* of work not taking the timing cover off and the timing belt and all that fiddly stuff
but yeah the radiator thing probably helped induce the water pump, but it's been failing for a year, I just forgot because it settled down when it got cold, didn't start rattling again until the day before it broke 17:35
TimToady maybe we should rename this channel to #cartalk so that nothing is OT...oh wait, that's already true... 17:36
17:36 meisl joined
TimToady well, have the appropriate amount of fun 17:36
raydiak them guys are hilarious :) and know what they're talking about at the same time, it's cool 17:37
thanks, will do...at least I got paid for a site I did so if I feel too sorry for myself this time I can pay a friend for a ride or maybe a cab or something 17:38
dalek kudo/nom: 8139c05 | TimToady++ | src/core/List.pm:
don't return Nil from listy .pick or .roll
17:41
17:45 molaf joined
tony-o i think my rib came dislodged 17:45
oops 17:46
raydiak I don't feel so bad about bussing now, at least all my ribs are where they belong :) 17:47
tony-o i did mine riding a bike so don't do that :-)
TimToady when that happened to Adam he ended up with Eve :) 17:48
meisl hi all, I'm stuck with building an NQP with moar backend on Win XP - anyone to the rescue?
tony-o all i got was some road rash a 'Did Not Finish' on my race card
raydiak tony-o: heh guess it's good I don't have one...but ouch sorry to hear it :P 17:49
FROGGS meisl: I can help
TimToady meisl: several of our devs work on Windows, so should be some help available, if you can be more specific
meisl (oh, and I once broke a rib in a bike accident, too)
tony-o meisl: how are you trying to build moar/nqp?
meisl thx a lot
i have rakudo* 2015-03 installed from msi, and cloned the NQP repo 17:50
FROGGS meisl: why do you want to (re)build nqp when you have rakudo star installed?
meisl FROGGS: I want to explore the toolchain, ie make a compiler for my own toy language 17:51
17:51 kaare__ joined
meisl maybe I don't even need NQP if I have Rakudo*? 17:52
tony-o you can use the NQP that came with it?
meisl tony-o: I tried to `use NQPHLL` and then subclass HLL::Grammar but it isn't found 17:53
(NQPHLL is but HLL::Grammar isn't)
FROGGS nqp-m: use NQPHLL 17:56
camelia ( no output )
FROGGS meisl: 'nqp-m.exe -e "use NQPHLL"' should work
meisl FROGGS: yes, this works, but as I said I cannot use HLL::Grammar which I think should be in there 17:57
dalek kudo/nom: 92aed8b | TimToady++ | src/core/Mu.pm:
remove useless parens
17:58 diana_olhovik left
FROGGS nqp-m: use NQPHLL; class Foo is HLL::Grammar { } 17:58
camelia ( no output )
FROGGS meisl: see, the symbol is available
meisl (I've just read jnthns edumentab.github.io/rakudo-and-nqp-...-day1.pdf)
oh...
17:59 yqt left
FROGGS m: use NQPHLL:from<NQP>; say HLL::Grammar 17:59
camelia rakudo-moar ba654d: OUTPUT«Method 'gist' not found for invocant of class 'HLL::Grammar'␤ in block <unit> at /tmp/gdVG1RJ9ny:1␤␤»
FROGGS it is available that way too, but then you have trouble crossing the NQP<->Perl 6 language barrier 18:00
meisl hmm, yes. I've done quite some stuff in P6 already but it's becoming too slow 18:02
so maybe I should switch to NQP entirely
FROGGS: what is the :from<NQP> doing/saying? 18:03
FROGGS meisl: the module loader is pluggable, and :from says to use such a plugin 18:04
meisl aha, so can I say this in P6, too? 18:05
yes, I can! That's great :) 18:09
ok, that actually solves my initial problem - THX a lot!
FROGGS the pluggable module loader is in rakudo only
:o) 18:10
meisl I was only trying to build NQP because I couldn't get hold of HLL::Grammer / Actions / Compiler 18:11
FROGGS I see
meisl but what did you mean by problems with crossing language barrier, exactly?
FROGGS meisl: you might want to look at github.com/arnsholt/snake 18:12
meisl: you can load NQP modules, and inherit from NQP classes, but these are not quite Perl 6ish 18:13
so you need to high level-ize stuff you get from NQP, and do the opposite when passing stuff to NQP
tony-o gist.github.com/tony-o/0f8539d44a452d3765a8 18:14
18:15 domidumont joined, domidumont left
meisl sure, no .gist as we've seen. But I don't (yet) want to interoperate with P6, just see if I can push it to be self-hosting 18:16
18:16 domidumont joined
meisl thx for the github link, seems helpful 18:16
the other thing is that I've got quite a bunch of tests (in P6) already. How would I go porting them to NQP? 18:17
anything like Test.pm / prove in NQP? 18:18
18:24 rindolf left
bartolin I'm looking at S06-signature/unspecified.t in roast and I wonder what's the right way to compare signatures. 18:24
can I rely on using .perl on a signature?
m: sub positional { @_[0] }; say so &positional.signature.perl eq ':(*@_)' 18:25
camelia rakudo-moar 92aed8: OUTPUT«True␤»
bartolin I tried ~~ but it didn't work as expected 18:26
m: sub named { %_<bravo> }; say so &named.signature.perl ~~ :(*%_)
camelia rakudo-moar 92aed8: OUTPUT«False␤»
bartolin m: sub named { %_<bravo> }; say so &named.signature ~~ :(*%_) 18:27
camelia rakudo-moar 92aed8: OUTPUT«False␤»
bartolin ^^ that's what I meant
tony-o m: sub named { %_<bravo>; }; say &named.signature;
camelia rakudo-moar 92aed8: OUTPUT«(*%_)␤»
tony-o m: sub named { %_<bravo>; }; say &named.signature.^methods;
camelia rakudo-moar 92aed8: OUTPUT«<anon> <anon> <anon> <anon> arity count params returns ACCEPTS perl gist␤»
tony-o m: sub named { %_<bravo>; }; say &named.signature.params;
camelia rakudo-moar 92aed8: OUTPUT«*%_␤»
tony-o m: sub named { %_<bravo>; }; say &named.signature.params ~~ :(*%_); 18:28
camelia rakudo-moar 92aed8: OUTPUT«False␤»
tony-o m: sub named { %_<bravo>; }; say &named.signature.params.WHAT;
camelia rakudo-moar 92aed8: OUTPUT«(List)␤»
tony-o m: sub named { %_<bravo>; }; say &named.signature.params ~~ (*%_);
camelia rakudo-moar 92aed8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/22HNf3UrS3␤Undeclared name:␤ _ used at line 1␤␤»
bartolin m: sub positional { @_[0] }; say so &positional.signature ~~ :(*@_) # seems to work for positional parameters 18:29
camelia rakudo-moar 92aed8: OUTPUT«True␤»
bartolin m: sub positional { @_[0] }; say so :(*@_) ~~ &positional.signature
camelia rakudo-moar 92aed8: OUTPUT«True␤»
meisl FROGGS, tony-o: a great big THX for your help, you got me stupid going again :D 18:31
tony-o m: sub named { @_[0]; }; say &named.signature.params ~~ :(*@_); 18:32
camelia rakudo-moar 92aed8: OUTPUT«True␤»
FROGGS *g*
tony-o m: sub named { %_<hi>; }; say &named.signature.params ~~ :(*%_);
camelia rakudo-moar 92aed8: OUTPUT«False␤»
tony-o m: sub named { %_<hi>; }; say &named.signature.params;
camelia rakudo-moar 92aed8: OUTPUT«*%_␤»
tony-o m: sub named { %_<hi>; }; say &named.signature.params.^methods; 18:33
camelia rakudo-moar 92aed8: OUTPUT«new to from fmt flat list lol flattens Capture Parcel Supply eager elems gimme iterator munch pick pop shift plan roll reverse rotate splice sort uniq unique squish rotor REIFY FLATTENABLE_LIST FLATTENABLE_HASH reduce sink STORE_AT_POS combinations permuta…»
FROGGS meisl: NQP has is() and ok() built in
nqp-m: plan 42; is(11, 12, 'huh') 18:34
camelia nqp-moarvm: OUTPUT«Confused at line 2, near "plan 42; i"␤ at gen/moar/stage2/NQPHLL.nqp:516 (/home/camelia/rakudo-inst-2/share/nqp/lib/NQPHLL.moarvm:panic:105)␤ from gen/moar/stage2/NQP.nqp:921 (/home/camelia/rakudo-inst-2/share/nqp/lib/nqp.moarvm:comp_unit:872)␤ from gen/…»
FROGGS nqp-m: plan(42); is(11, 12, 'huh')
camelia nqp-moarvm: OUTPUT«1..42␤Cannot invoke this object (REPR: Null, cs = 0)␤ at /tmp/VSHXg0Xz7j:1 (<ephemeral file>:<mainline>:34)␤ from gen/moar/stage2/NQPHLL.nqp:1289 (/home/camelia/rakudo-inst-2/share/nqp/lib/NQPHLL.moarvm:eval:190)␤ from gen/moar/stage2/NQPHLL.nqp:1487 …»
meisl FROGGS: is() coerces to Str (or str?) and then does eq?
FROGGS nqp-m: plan(42); ok(11 == 12, 'huh')
camelia nqp-moarvm: OUTPUT«1..42␤not ok 1 - huh␤»
FROGGS meisl: just figured that there is no is(), just ok()
meisl ;) just guessed 18:35
but that's fine, I can build on that
hmm, but how come there isn't some infrastructure? I mean, maybe I should take a look at how NQP is tested, right? 18:37
18:39 yqt joined
FROGGS meisl: right 18:41
meisl: in one of the test files is an is() sub I think
meisl FROGGS: github.com/perl6/nqp/blob/5a33762a...-sprintf.t 18:46
but expects str s and simply does eq - anyways, I never felt comfortable with this auto-coercion in tests, quite often doing `cmp_ok ..., '===', ...` or similar 18:47
FROGGS aye 18:48
dalek ecs: 221b27d | (Steve Mynott)++ | S99-glossary.pod:
typos and whitespace fixes
meisl there seems to be a plan(), though 18:49
(never a bad thing to have `plan`)
moritz I don't see is() coercion any more or less critical than infix:<eq>, infix:<==> coercing 18:51
krakan_ at the OSDC.no panel debate yesterday there was an argument whether Perl6 was released or not 18:52
one criteria baing that there was no Debian package other than on Ubuntu
I then offered to make sure to change that 18:53
dalek ast: 2e6f3e1 | usev6++ | S06-signature/unspecified.t:
Use .perl to compare signatures; tests are passing now
meisl moritz: in tests, otherwise it's fine. but maybe it's just that I'm not used to it (I worked P5 for quite a time but started doing tests only later and elsewhere) 18:54
krakan_ but as there is in fact such a package since a couple of years I've instead contacted the maintainers to offer help in updating the packages
moritz ++krakan_
also, is_eqv exists 18:55
erm, is_deeply
FROGGS krakan_: make sure to talk to domidumont 18:56
meisl moritz: well, `is_deeply` just does `is` recursively, doesn't it? 18:57
nebuchadnezzar krakan_: bugs.debian.org/750837 in NEW queue ftp-master.debian.org/new.html
meisl moritz: (same coercion going on, I mean)
18:58 silug left
moritz meisl: no, it uses infix:<eqv> 18:59
krakan_ nebuchadnezzar: yes, I saw that - makes it a bit easier :) 19:00
meisl moritz: oh, didn't know, thx
krakan_ FROGGS: OK, will do - is he working on that as well?
meisl hmm, again re tests: seems I'm doing things as inefficient as can be ... I'm using P5's (!) `prove`: `C:\Perl\bin\prove "perl6-m -Ilib" ...` 19:06
time ago I couldn't figure any other way, but now I have to speed this up - the whole suit is now over 10 min! 19:08
moritz meisl: you might want to precompile your modules for testing
ufo && make test
github.com/masak/ufo
(be sure to read the README)
meisl moritz: yes I do want to precompile them, but wasn't able to (looking at ufo now) 19:09
domidumont krakan_: yes, I'm the sponsor of these package (I.e I'm the Debian Developer that review and upload the packages). Unfortunately, I lack time to be more active 19:10
nebuchadnezzar receives a uninterruptible SIGSTOMAC, see you
meisl (still choking on the README...)
19:12 zakharyas joined 19:13 brrt joined
brrt \o 19:14
krakan_ domidumont: OK, cool! I have some time to spend on this so I hope I can help. 19:15
19:17 domidumont left
dalek kudo/nom: 6c5d82c | TimToady++ | src/core/Nil.pm:
Empty should stringify to '' without complaint

  (Nil.Str *should* warn, but that's a different issue, with associated breakage.)
19:24
kudo/nom: 16ba247 | TimToady++ | src/core/Mu.pm:
restore use of 'if' now that Empty.Str is ''
brrt abbreviated adverb form. wow 19:27
meisl moritz: sounds all great, so I did `panda install ufo`, then `ufo & nmake test` (on WinXP) - and got `Syntax error: mkdir -p blib`
moritz: I know what the -p is for, just have to adapt it for Win - where? 19:28
moritz meisl: uhm, no idea, never worked with Perl 6 + Windows 19:29
sorry
TimToady there's a very odd bug if we make Nil.Str warn; a $setting_name ne 'CORE' issues the warning despite both $setting_name and 'CORE' being defined
19:30 mr_ron joined
meisl moritz: not a problem at all, many thx for the hint. If I find a workaround I'll pull-request :) 19:30
moritz meisl: as a workaround, 'panda install .' will also precompile and run the tests. Plus installing the module, that is :-) 19:31
meisl oh, never thought about this...
moritz fwiw rakudo's Makefile uses `perl -MExtUtils::Command -e mkpath $dir' instead of `mkdir -p $dir'
meisl that should be it, that'd be a fix rather than a workaround 19:32
19:33 _mg_ joined
timotimo brrt: you mean like :6perl? 19:33
brrt like that
meisl moritz: aye, line 14 in bin/ufo - to be tried 19:34
mr_ron m: my regex divider { x }; 'aaaxbbbxccc'.split(&divider).say; my token d2 { x }; 'aaaxbbbxccc'.split(&d2).say # why won't token split 19:38
camelia rakudo-moar 92aed8: OUTPUT«aaa bbb ccc␤aaaxbbbxccc␤»
meisl moritz: it's strange, hackily changing it in c:\rakudo\languages\perl6\site\bin\ufo - had no effect...?! Anyways, I'll investigate and thx :) 19:41
mr_ron m: my token divider { x }; 'aaaxbbbxccc'.split(&divider, 2).say; 19:42
camelia rakudo-moar 92aed8: OUTPUT«===SORRY!===␤Cannot invoke this object (REPR: Null, cs = 0)␤»
mr_ron m: my regex divider { x }; 'aaaxbbbxccc'.split(&divider, 2).say;
camelia rakudo-moar 92aed8: OUTPUT«aaa bbbxccc␤»
19:43 vendethiel joined
dalek ast: 99a3eed | usev6++ | S02-literals/quoting.t:
Fix and unfudge 3 tests
19:44
vendethiel o/, #perl6 19:47
bartolin std: EVAL("(q\0foo bar\0)")
camelia std 28329a7: OUTPUT«ok 00:00 136m␤»
bartolin m: say EVAL("(q\0foo bar\0)") 19:49
camelia rakudo-moar 16ba24: OUTPUT«foo bar␤»
19:52 Sysaxed left 19:57 muraiki joined 19:59 brrt left 20:00 muraiki left 20:01 zakharyas left
mr_ron Why don't tokens work with split. Wouldn't one want them for better perf than regex? 20:01
FROGGS mr_ron: I bet that's a bug 20:03
masak got an example?
FROGGS m: my token divider { x }; 'aaaxbbbxccc'.split(&divider, 2).say;
camelia rakudo-moar 16ba24: OUTPUT«===SORRY!===␤Cannot invoke this object (REPR: Null, cs = 0)␤»
FROGGS like ten lines ago
m: my token divider { x }; 'aaaxbbbxccc'.split(/<&divider>/, 2).say; 20:04
camelia rakudo-moar 16ba24: OUTPUT«aaa bbbxccc␤»
20:08 _mg_ left 20:10 silug joined 20:11 lizmat joined
masak even if it maybe shouldn't work in the first way, the message feels like it could be improved. 20:14
lizmat m: say ().pick(1)
camelia rakudo-moar 16ba24: OUTPUT«␤»
lizmat m: say ().pick(1).WHAT 20:15
camelia rakudo-moar 16ba24: OUTPUT«(Parcel)␤»
lizmat m: say ().pick().WHAT
camelia rakudo-moar 16ba24: OUTPUT«Nil␤»
lizmat I would argue that the former should also be Nil
mr_ron if you are including it inside a regex like /<&divider>/ are you getting any perf benefit from no backtracking or just re-use?
FROGGS lizmat: yes, I think so too
lizmat m: say ().pick(3).WHAT # should be Empty, I think 20:16
camelia rakudo-moar 16ba24: OUTPUT«(Parcel)␤»
dalek pan style="color: #395be5">perl6-examples: 9ba959a | (Steve Mynott)++ | categories/cookbook/01strings/01-0 (2 files):
correct name
FROGGS mr_ron: I dunno, I did not benchmark it yet 20:17
lizmat TimToady: why would one return () instead of Empty ? 20:18
TimToady: especially since the scalar case returns Nil ?
mr_ron thanks for looking at my under informed questions. I was playing with the split words hash example from yesterday. 20:19
lizmat TimToady: re github.com/rakudo/rakudo/commit/ba...3eeaaee9cb : if .perl is for roundtripping, why should the pairs be ordered at all? 20:26
I can see that for .gist
the reason it had a .pick(*) at all, was to simulate irreproducible hash order 20:27
which we now have, so I think EnumMap should neither .pick(*) or .sort at all
20:35 mr_ron left 20:38 Sysaxed joined
Sysaxed timotimo: hey, yesterday perl6-bench failed half way through 20:39
dalek kudo/nom: 70ac241 | lizmat++ | src/core/List.pm:
Make List.roll(1)/pick(1) match List.roll/pick
timotimo damn
Sysaxed timotimo: Could not open timing file '/home/alex/git/perl6-bench/timings/rakudo-moar/2014.01.json': No such file or directory at /home/alex/git/perl6-bench/analyze line 218.
timotimo ... huh?
Sysaxed timotimo: I've tried running it again and got the same erro 20:40
r
so, any idea?
lizmat hopes TimToady doesn't think github.com/rakudo/rakudo/commit/70ac241f82 smells too much
20:43 darutoko left
Sysaxed timotimo: I have not looked deeply into the code, but the error is just weird 20:45
timotimo: as far as I can see it should compile some other stuff, why would it even touch timing files?
20:45 kurahaupo1 joined
timotimo to write out results from benchmarking? 20:45
Sysaxed timotimo: if some of the stuff is still not compiled? I'm not sure... 20:46
timotimo: anyway, line 218 attempts to read the file 20:48
raydiak since people are around and doing things n'stuff and not in bed yet, is anyone able and willing to merge github.com/rakudo/rakudo/pull/422 or let me know how it needs to be done differently? 20:49
lizmat looks 20:50
dalek kudo/nom: f9343fe | raydiak++ | src/Perl6/Grammar.nqp:
Fix undeclared variable error

Previously it would show the cursor in a wrong (later) position and give inappropriate "expecting any of" suggestions based on that position. I'm a bit unclear on the details of this precursor thing, so please do review carefully before merging in case this is the wrong way to fix it, but what I saw seemed to suggest that precursor may be intended for these kinds of cases.
20:51
kudo/nom: 176f778 | lizmat++ | src/Perl6/Grammar.nqp:
Merge pull request #422 from raydiak/patch-1

Fix undeclared variable error
raydiak thanks lizmat++ :)
dalek ast: 102b5b5 | usev6++ | S32-str/length.t:
Use unique ticket number for similiar tests
20:52
20:53 thou left
raydiak noticed he got the PR description and the commit description mixed up while playing with github's new features 20:53
dalek : cd5e4ef | usev6++ | misc/rt.perl.org/cleanup_nyc_hackathon_tickets.txt:
Keep track of merged and resolved tickets
lizmat m: $test = 1 # just testing
camelia rakudo-moar 16ba24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/EwnoPla6uj␤Variable '$test' is not declared␤at /tmp/EwnoPla6uj:1␤------> 3$test7⏏5 = 1 # just testing␤ expecting any of:␤ postfix␤»
lizmat m: $foo.bar # just testing 20:54
camelia rakudo-moar 16ba24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6o3oEOwVQa␤Variable '$foo' is not declared␤at /tmp/6o3oEOwVQa:1␤------> 3$foo.bar7⏏5 # just testing␤ expecting any of:␤ method arguments␤ postfix␤»
lizmat raydiak: I don't see what your patch changed ?? 20:55
raydiak lizmat: I don't think it compiled yet did it? you just merged like 2 minutes ago
the evalbot I mean
lizmat yeah, I see the diff now 20:56
it's where the eject symbol is located, duh :-)
raydiak and the "expecting any of" bizarreness
20:56 zakharyas joined
lizmat right :-) 20:56
do we have tests for that?
:-)
raydiak if we do they must be fudged :) 20:57
20:59 espadrine_ left
raydiak is really just waiting on a call about a ride right now, but can try to figure out how to do that later 20:59
lizmat ok, cool!
raydiak not entirely sure how doing it *properly* would look, but I could capture the full text of the error in a CATCH and just check it against a few regexen, right? 21:02
21:02 BenGoldberg joined
raydiak one to check the cursor position, another to check for 'expecting any of' or something along those lines 21:03
21:05 laouji joined
lizmat raydiak: there throws_like 21:05
*there's
ugexe On windows: C:\rakudo>perl6 -e "'tt'.IO.resolve.IO.say" returns "C:\C:\rakudo\tt".IO 21:06
lizmat m: use Test; throws_like( q/$test = 1/, X::Undeclared, what => q/Variable/, symbol => q/$test/ ) # raydiak 21:07
camelia rakudo-moar 16ba24: OUTPUT« 1..4␤ ok 1 - '$test = 1' died␤ ok 2 - right exception type (X::Undeclared)␤ ok 3 - .symbol matches $test␤ ok 4 - .what matches Variable␤ok 1 - did we throws_like X::Undeclared?␤»
raydiak lizmat: nice looks like that'll work just fine...thanks again :) 21:08
ugexe probably because .resolve still returns a str 21:09
TimToady lizmat: Empty should not be used where () makes more sense, and in this case, the degenerate case of returning 0 arguments is perfectly well defined, so () is appropriate 21:12
also, your change to .pick(1) only makes sense if 1 is a literal
if it's a degenerate case of .pick($x) then I don't think Nil is appropriate
21:13 beastd joined
TimToady treating 1 as special when neither 0 nor 2 are treated specially is a pretty bad discontinuity 21:16
raydiak
.oO( but singularities always lead to discontinuities, the syfy channel told me so )
21:19
m: my $foo = 10; say $Foo; 21:33
camelia rakudo-moar 176f77: OUTPUT«5===SORRY!5=== Error while compiling /tmp/i_EOmVRJiJ␤Variable '$Foo' is not declared. Did you mean '$foo'?␤at /tmp/i_EOmVRJiJ:1␤------> 3my $foo = 10; say 7⏏5$Foo;␤»
dalek kudo/nom: 835d9b2 | lizmat++ | src/core/List.pm:
Revert "Make List.roll(1)/pick(1) match List.roll/pick"

  irclog.perlgeek.de/perl6/2015-05-09#i_10577120
raydiak oh good I didn't break the speling suggestions either 21:34
lizmat m: Empty.pick.say
camelia rakudo-moar 176f77: OUTPUT«Nil␤»
lizmat m: Empty.pick.say(*)
camelia rakudo-moar 176f77: OUTPUT«Cannot call say(Nil: Whatever); none of these signatures match:␤ (Obsolete:D: *%_)␤ ($: *%_)␤ in block <unit> at /tmp/zl3fqcpZ5E:1␤␤»
lizmat m: Empty.pick(*).say 21:35
camelia rakudo-moar 176f77: OUTPUT«␤»
lizmat TimToady: should calling methods like this on Empty not return Empty ? 21:36
dalek ast: a336be6 | TimToady++ | S03-metaops/reduce.t:
suppress warnings on stringified undefs

and mark [\^^] as working right, still need to fix [\xor] though
21:37 zakharyas left
TimToady the whole point of Empty is to behave benignly in list context, so I don't think Empty needs to propagate as Nil does 21:38
m: say Empty.foo
camelia rakudo-moar 176f77: OUTPUT«Method 'foo' not found for invocant of class 'Empty'␤ in block <unit> at /tmp/JhkEhuqlHT:1␤␤»
TimToady that should probably graduate to a Nil though, I suspect 21:39
I guess I'm a little surprised that fallbacks aren't inherited.. 21:40
lizmat well, I was surprised mainly that Empty needed its own Str 21:42
why didn't it inherit that from Nil ?
re fallbacks: that's probably because the fallback currently does not run at BEGIN time
TimToady Nil's Str is going to warn someday 21:43
lizmat however, adding a BEGIN breaks the build of the setting
TimToady: I understand, but atm, why was the Empty.Str needed at all ?
TimToady because I'm currently working on getting the warning back into Nil.Str, and so will need it soon anyway 21:45
21:47 telex left
dalek kudo/nom: 0b329a9 | TimToady++ | src/core/Nil.pm:
Use inheritable fallback for Nil
21:47
21:48 telex joined
lizmat ah, I now realize the ^add_fallback code predated the FALLBACK method implementation 21:49
jnthn Yes, use FALLBACK now if possible ;)
oh, maybe the patch did :) 21:50
lizmat yes, it did
jnthn Cool
jnthn still assembling slides :)
lizmat gets rid of the other add_fallback cases 21:51
I guess the "handles" trait_mod is a special case, so I won't touch that 21:53
jnthn Well, FALLBACK is also implemented in terms of add_fallback too
But yeah, leave handles as using .^add_fallback, toherwise it'll create a bug if somebody writes a class with a FALLBACK and handles :) 21:54
masak 'night, #perl6 21:57
lizmat good night, masak 21:59
ruoso changed strategy on Grammar::EBNF, using regex objects wrapping other regexes was more elegant, but I couldn't find how to expose the captures... 22:06
ruoso using EVAL instead now... 22:07
github.com/ruoso/Grammar-EBNF/blob..._example.t now works
22:08 krakan_ is now known as krakan, rhr left
raydiak gets no phone call, plans a bus trip for tomorrow instead 22:09
22:09 Isp-sec left 22:11 larion joined
dalek ast: 7749c2a | lizmat++ | S10-packages/basic.t:
Prevent confusion with new Empty
22:15
lizmat TimToady: tests from 2009, defining an Empty class 22:16
22:16 rhr joined
lizmat not sure whether they should have worked or not 22:16
this makes the tests pass
jnthn gets some proper rest
'night #perl6
colomon \o 22:17
lizmat good night, jnthn 22:18
dalek kudo/nom: 20c3ae3 | lizmat++ | src/core/Failure.pm:
use more modern FALLBACK instead of .^add_fallback
22:21
22:30 nbdsp left
lizmat also wishes #perl6 a good night 22:35
vendethiel remembers he needs to assemble slides for fpw2015 as well.. 22:40
22:43 larion left 23:00 jack_rabbit joined 23:06 beastd left 23:07 jack_rabbit left 23:13 meisl left 23:25 TimToady left 23:27 TimToady joined 23:32 kaare__ left 23:37 lizmat left 23:51 Sysaxed` joined, Sysaxed left, skids joined 23:57 laouji left 23:58 jack_rabbit joined