»ö« 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/7XeFI5PlPJVariable $.y used where no 'self' is availableat /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/aAHPcGOMFGVariable $.y used where no 'self' is availableat /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/JEDgBd7aPrVirtual call $.x may not be used on partially constructed objectsat /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/Pi2KqVvOxWUndeclared 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 availableat /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 availableat /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:1A.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 contextuse of uninitialized value of type Empty in string contextuse of uninitialized value of type Empty in string contextuse 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_E57mUndeclared 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 1Check failedFAILED 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/DxcPRNJ7PuUndeclared 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/t59tBby3buUndeclared 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 context1» | ||
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_dUhStrange 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«c5===SORRY!5=== Error while compiling EVAL_0Calling 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«bc» | ||
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«bc» | ||
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/22HNf3UrS3Undeclared 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..42Cannot 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..42not 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(÷r).say; my token d2 { x }; 'aaaxbbbxccc'.split(&d2).say # why won't token split | 19:38 | |
camelia | rakudo-moar 92aed8: OUTPUT«aaa bbb cccaaaxbbbxccc» | ||
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(÷r, 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(÷r, 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(÷r, 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(/<÷r>/, 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 /<÷r>/ 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/EwnoPla6ujVariable '$test' is not declaredat /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/6o3oEOwVQaVariable '$foo' is not declaredat /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 Variableok 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_EOmVRJiJVariable '$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
|