»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
masak | 'night, #perl6 | 00:00 | |
timotimo | gnite masak | 00:01 | |
00:02
woolfy left
|
|||
timotimo | it occurs to me ... with cairo and gtk3, a nice frontend for druid should be buildable | 00:03 | |
00:03
woolfy joined
00:04
virtualsue left
00:08
xenoterracide joined
00:13
denis_boyun_ left,
xenoterracide left
00:17
PZt left
|
|||
alexghacker | timotimo++ it sounds like there needs to be something in Type coercion that prevents cycles | 00:22 | |
whether that should error or simply stop recursion and try other alternatives is another question | |||
timotimo | IMO it's just either wrong for buf to do Stringy or for i to return self.Stringy in that case | 00:23 | |
alexghacker | probably so, but there may also be a deeper problem | ||
which, I think, makes me lean towards it being an error to encounter a cycle while doing type coercion | 00:24 | ||
make problems like that visible | |||
timotimo | there's not really a concept of "type coercion" | ||
the "Stringy" method ought to do a type coercion to something that does Stringy, but it doesn't have to, it's just a method | 00:25 | ||
alexghacker | well, there's certainly an emergent behavior that I would categorize as type coercion | ||
timotimo | fair enough :) | 00:26 | |
in this case it's just BS in the implementation :) | |||
alexghacker | fair enough :) | ||
timotimo is trying unsuccessfully to build Brackets | |||
roar | 00:28 | ||
this is annoying as shit | |||
sorry, i'm not usually cursing like this | |||
00:29
ajr_ left
|
|||
timotimo | FROGGS: the name of the distribution is surprisingly small on a test results page | 00:29 | |
and it'd be nice if you could reach the github repository website for the module from the test results page and maybe also the overview lists | 00:31 | ||
timotimo sent a pull request to make Acme::DSON show up green on cpandatesters | 00:41 | ||
FROGGS: also, the tables really ought to be sortable and stuff | 00:43 | ||
00:51
grettis left
00:55
xenoterracide joined
00:59
thou left
01:11
xenoterracide left,
xenoterracide joined
|
|||
cognominal | Is there a way to force the strict mode on the Perl 6 shell? BTW: I like the non strict default | 01:15 | |
01:16
xenoterracide left
01:21
woolfy left,
Tene left,
PerlJam left,
felher left,
cotto left,
davido___ left,
pochi left,
Tekk_ left,
pochi_ joined,
Tekk_` joined
01:22
felher_ joined,
Alula left,
Tene_ joined,
Tene_ left,
Tene_ joined,
davido__ joined,
PerlJam joined,
Alula joined
01:23
ugator_ left
|
|||
raydiak | cognominal: I don't see one besides putting 'use strict;' at the beginning of your one-liner | 01:23 | |
cognominal: actually, 'use v6;' is slightly shorter and works too :) | |||
01:24
woolfy joined
|
|||
raydiak | duh, except you were asking about the REPL, not one-liners; sorry :P | 01:26 | |
01:32
PZt joined
01:36
hightower4 joined
01:41
exixt_ is now known as exixt
01:46
adu left
|
|||
timotimo | the repl has strict mode off? | 01:49 | |
damn, it does | |||
01:52
jfredett left
02:03
pecastro joined
02:06
cognominal left
02:20
avuserow joined,
FROGGS left
02:21
bjz joined
02:23
FROGGS joined
02:24
araujo left
02:25
araujo joined
|
|||
timotimo | i wonder if it'd be a better idea to build an svg rather than a bunch of divs for the icicle graph in the profiler app ... | 02:29 | |
02:39
BinGOs left,
BinGOs joined,
mst left,
BinGOs left,
BinGOs joined,
mst joined
03:03
KCL joined
03:11
[Sno] left
03:12
[Sno] joined
|
|||
japhb | timotimo: Did you ever get a chance to try `bench stress` ? | 03:23 | |
03:28
leont left
|
|||
hoelzro | is there a way to tell a quote construct to *not* interpret \\ as a single \? | 03:52 | |
raydiak | hoelzro: github.com/perl6/roast/blob/master...ting.t#L52 | 03:59 | |
hoelzro | ah, thanks raydiak! | 04:00 | |
raydiak | m: say Q{\\} | ||
camelia | rakudo-moar a0304c: OUTPUT«\\» | ||
hoelzro | m: constant @STUFF = OUTER::OUTER::.keys() | ||
camelia | rakudo-moar a0304c: OUTPUT«===SORRY!===ctxlexpad needs an MVMContext» | ||
hoelzro | that's...odd. | ||
raydiak | m: say 「\\」 | ||
camelia | rakudo-moar a0304c: OUTPUT«\\» | ||
hoelzro | m: my @STUFF = OUTER::OUTER::.keys() | 04:01 | |
camelia | ( no output ) | ||
04:01
rmgk_ joined,
rmgk left,
rmgk_ is now known as rmgk
04:03
PZt left
04:09
FROGGS left
04:10
FROGGS joined
04:13
kurahaupo_ joined
04:14
kurahaupo_ is now known as kurahaupo
|
|||
hoelzro | m: OUTER::OUTER::.pairs.map(*.value) | 04:23 | |
camelia | ( no output ) | ||
hoelzro | m: say OUTER::OUTER::.pairs.map(*.value) | 04:24 | |
camelia | rakudo-moar a0304c: OUTPUT«(Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu)» | ||
hoelzro | should those be Mus? | ||
04:31
vendethiel left
04:32
vendethiel joined
04:52
vendethiel left
04:53
xenoterracide joined
04:55
vendethiel joined
05:05
ggoebel111111113 joined
05:06
ggoebel111111112 left
|
|||
hoelzro | is glob gone? | 05:09 | |
m: &glob | |||
camelia | rakudo-moar a0304c: OUTPUT«===SORRY!=== Error while compiling /tmp/SIcLdn4z_GUndeclared routine: &glob used at line 1» | ||
05:17
vendethiel left
05:18
vendethiel joined
05:21
arcterus joined
|
|||
raydiak | dir takes a smart-match test | 05:23 | |
perlcabal.org/syn/S32/IO.html#dir() | |||
m: say dir».Str | 05:24 | ||
camelia | rakudo-moar a0304c: OUTPUT«rakudo-inst-2 evalbot .viminfo rakudo-inst-1 .bashrc .ssh std rakudo-star-2014.09.tar.gz rakudo-star-2014.09 niecza p2 .cpanm rakudo-inst bin rakudo2 perl5 p1 .local .perlbrew rakudo1 .bash_history log Perlito .rcc star evalbot.log star-2014.09» | ||
raydiak | m: say dir(:test(/i/))».Str | ||
camelia | rakudo-moar a0304c: OUTPUT«rakudo-inst-2 .viminfo rakudo-inst-1 niecza rakudo-inst bin .bash_history Perlito» | ||
raydiak | though it's not exactly globbing syntax, if that's specfically what you wanted | 05:25 | |
*specifically | |||
05:26
arcterus left,
arcterus joined
|
|||
hoelzro | raydiak: I'm curious about glob because I see artifacts referring to it in rakudo code | 05:30 | |
raydiak | hoelzro: looks like it went away at github.com/perl6/specs/commit/a2a2...ba2f996e89 | ||
hoelzro | ah, thanks! | 05:31 | |
raydiak | ah, here's something a bit more informative, dug up from the clog from the day of the other commit: github.com/perl6/specs/commit/9d5747d3d8 | 05:32 | |
and you're welcome, of course :) | |||
05:35
molaf joined
|
|||
raydiak | afaict, the 2014-10-20 result at irclog.perlgeek.de/perl6/search/?q=glob is the closest thing we ever had to a discussion about the removal of glob...???... | 05:39 | |
05:40
vendethiel left
05:41
BenGoldberg left
05:42
vendethiel joined,
tinyblak joined,
xenoterracide left,
xenoterracide joined
05:48
arcterus left
05:55
virtualsue joined,
virtualsue left
05:58
Tene_ is now known as Tene,
xinming left
05:59
xinming joined,
araujo left
|
|||
Woodi | hallo today :) | 05:59 | |
some user experience: man... these grammars are terrible... just save yourself some pain and time and just use Perl5 regexes ! | 06:02 | ||
you start with perfect: rule TOP { <marker> <inside> <marker> }; | |||
and that's all what is good in grammars | |||
at leas to start with them ;) | |||
eg. pastebin.com/nGRGmep2 | 06:03 | ||
how to use '.+' in them ? | |||
probably regexes... and what is difference in terms and rules ? "rules skips white spaces" ? good luck with that :) | 06:05 | ||
it's my at least 3rd start with grammars and this time I just giveup and dovngraded to Perl5 and have working something in 5 minutes... | 06:06 | ||
so much for baby Perl6 :) | |||
grammars are totally unintuitive, all or nothing thing | 06:07 | ||
06:08
araujo joined
06:14
xenoterracide left,
tinyblak left
06:15
tinyblak joined
06:17
Louis1951 joined
06:19
immortal joined
06:21
erkan left
06:24
vendethiel left
06:25
vendethiel joined,
Louis1951 left
06:35
vanila left
06:38
kaare_ joined
06:46
tinyblak left,
vendethiel left
|
|||
TimToady | Woodi: there are only three kinds of matchers in grammars (rule, token, and regex), yet you seem to always want to use 'rule' when token or regex would make better sense | 06:47 | |
06:47
tinyblak joined
|
|||
TimToady | you want to use .* or .+ but those only make sense with backtracking, and only 'regex' allows backtracking of the three | 06:47 | |
generally you want to start with tokens in a grammar, because those don't play games with whitespace, and don't backtrack | |||
backtracking is usually bad in a grammar | 06:48 | ||
you have a matcher defined as '{' | '}' but don't seem to realize that this matches } stuff { just as easily as { stuff } | |||
or { stuff { | |||
06:50
tinyblak_ joined
|
|||
TimToady | you also don't seem to realize that both . and \s match whitespace | 06:50 | |
s/matcher/marker/ | 06:51 | ||
sure you can use p5 regex, but you won't get a parse tree out of it | 06:52 | ||
06:53
tinyblak left
|
|||
TimToady | also, single quotes are not going to interpolate \n | 06:58 | |
07:00
arcterus joined
|
|||
TimToady | gist.github.com/anonymous/e6daa08077bbef203f1f is more like what you want | 07:01 | |
07:03
vendethiel joined
|
|||
TimToady | except, of course, that backtracking is not an efficient way to write a parser, and this code is relying on backtracking all the way back up from things to TOP in order to recognize a trailing marker | 07:04 | |
07:04
telex left
|
|||
TimToady | much better if you have tokens that are smart enough to not eat the marker in the first palce | 07:04 | |
*place | 07:06 | ||
07:06
telex joined
07:07
jfredett joined
07:08
arcterus left
07:11
jfredett left,
[Sno]_ joined
07:12
[Sno] left,
[Sno]_ is now known as [Sno]
|
|||
TimToady | anyway, .* and .+ have virtually no place in a good parser, since they are greedy and always match clear to the end of the string or file | 07:12 | |
occasionally there is a use for .*? and .+? (the frugal variants) | |||
note that grep and p5 limit . to matching inside a single line by default, so you can get away with more sloppy thinking | 07:13 | ||
but in p6, . matches any char including newline, so you want \N if you want to match something that is not a newline | 07:14 | ||
this is much more precise, but p5 and grep have taught you bad habits :) | 07:15 | ||
07:19
tinyblak_ left
07:20
kjs_ joined,
kjs_ left,
tinyblak joined
|
|||
TimToady | it's like it's more complicated to drive a car than to ride a bicycle, and you have to start observing the stop signs and speed limits...but you can go a lot further | 07:22 | |
07:24
vendethiel left
|
|||
raydiak takes notes for future Math::Symbolic::Grammar revisions | 07:29 | ||
(particularly offensive backtracking) | |||
07:29
[Sno] left
07:30
gfldex joined,
[Sno] joined
07:41
tinyblak left,
Sqirrel left
07:42
Sqirrel joined,
[Sno] left,
tinyblak joined
07:47
vendethiel joined
07:50
woolfy left
07:51
woolfy joined
07:53
woolfy left
07:56
lizmat left
08:11
tinyblak left
08:12
tinyblak joined
08:13
darutoko joined
08:19
mirjam joined
08:32
anaeem1 joined
|
|||
dalek | kudo/nom: 4969e67 | TimToady++ | src/Perl6/ (2 files): parse colon invocants like STD |
08:34 | |
ast: 88c52fa | TimToady++ | S (2 files): unfudge colon invocant tests |
|||
08:35
spider-mario joined,
spider-mario left,
spider-mario joined,
rindolf joined
08:41
tinyblak left
08:42
tinyblak joined
08:46
molaf_ joined
08:50
molaf left
08:55
gfldex left
08:58
raiph joined
09:00
tinyblak_ joined
09:03
tinyblak left
09:04
mirjam left
09:06
mirjam joined
|
|||
dalek | href="https://cpandatesters.perl6.org:">cpandatesters.perl6.org: 0ad7b0d | (Tobias Leich)++ | jobs/calc-stats.pl: fix gobbling of dist releases |
09:11 | |
09:13
raiph left
|
|||
FROGGS | fix all the things /o/ | 09:13 | |
09:25
denis_boyun_ joined
|
|||
Woodi | TimToady: I have strange feeling when using grammars... I write one and, of course, it not working, of course, my fault.. so I try something simpler, then simpler then I start from "base" things. that eventually works. then I build something bigger around this, works, and so on, and at the end I have exactly what I started with ! except it works now... | 09:33 | |
TimToady: probably it's my memory fails or I messed with input string but I just have that feeling that it is learning ! | 09:34 | ||
of course it is absurd, it would require interpreter code to be self-modifing and other things but realy who knows... | 09:35 | ||
09:37
ugator joined
09:45
FROGGS[mobile] joined
|
|||
FROGGS[mobile] | Woodi: a single character can easily make your grammar parse or fail to... like making a quantifier frugal or greedy... | 09:47 | |
09:47
tinyblak_ left
|
|||
FROGGS[mobile] | Also, when you use token when you want rules, or vice versa, has the same effect | 09:48 | |
09:48
tinyblak joined
|
|||
FROGGS[mobile] | it might look identical on the first glimpse | 09:48 | |
09:52
anaeem___ joined
09:55
exixt is now known as exixt_,
anaeem1 left
|
|||
Woodi | I just want \something that matches alphanums, white spaces and new lines to capture things between markers... | 09:55 | |
dalek | kudo/nom: f460d71 | TimToady++ | src/Perl6/ (2 files): also handle parenthesized invocant colon |
09:57 | |
ast: f211650 | TimToady++ | S12-methods/indirect_notation.t: also test parenthesized invocant colon |
|||
09:58
Mso150_d_y joined
|
|||
Woodi | and yes, sloppy thinking, it's all me... and wanting to be lazy and impatient too | 10:01 | |
and starting with 'rule TOP' is what google returns moust :) I thinked it is required and still act on this | 10:02 | ||
10:03
denis_boyun_ left
10:06
denis_boyun_ joined
|
|||
dalek | ast: 4cc6720 | TimToady++ | S12-methods/instance.t: unfudge invocant colons |
10:09 | |
10:11
tinyblak left
10:12
tinyblak joined
10:18
Mso150_d_y left,
Mso150_d_y joined
10:23
lucas_ joined,
Alina-malina left
10:24
Alina-malina joined,
Alina-malina left,
Alina-malina joined,
Alina-malina left,
Alina-malina joined
|
|||
Woodi | TimToady: example above works perfectly, thank you. but I still have no idea why with regexes it works and 'rule things { \S+ | \s+ };' or token no. will study docs. | 10:30 | |
lucas_ | hello, good morning. | 10:36 | |
Stylistic question: Wouldn't you mind if I change the remaining occurrences of infix:['...'] in S03 to use french angle quotes, like from infix:['=>'] to infix:xAB=>xBB. Or do you think it's hard to read this way? | 10:37 | ||
If "=:=" is the container identity test and "!=:=" is its negated form. Wouldn't you like having a negated shortcut like "=!="? | |||
10:37
denis_boyun_ left
|
|||
masak | morning, #perl6 | 10:41 | |
10:41
tinyblak left
10:42
tinyblak joined
|
|||
moritz | \o masak, * | 10:44 | |
colomon | o/ | 10:46 | |
masak | small self-hosting C compiler: homepage.ntlworld.com/edmund.grimle...ans/cc500/ | 10:47 | |
10:53
regreg joined
|
|||
moritz | m: say 1 # what version is it now? | 10:54 | |
camelia | rakudo-moar a0304c: OUTPUT«1» | ||
10:55
anaeem___ left
10:59
anaeem1_ joined
11:01
ggoebel111111113 left
|
|||
vendethiel | o/ #perl6 | 11:02 | |
masak | aloha [v|V]en.* | 11:08 | |
11:11
tinyblak left
11:13
tinyblak joined
11:19
ggoebel111111113 joined
11:21
regreg left
|
|||
masak | m: class Conf { has @.boxes where { all(@$_) >= 0 } }; my $c = Conf.new(:boxes[ 2, 2, -1 ]); say $c.perl | 11:22 | |
camelia | rakudo-moar a0304c: OUTPUT«Conf.new(boxes => Array.new(2, 2, -1))» | ||
masak | ESTILLNOTCHRISTMAS | 11:23 | |
m: class C { has $.x where * > 0 }; say C.new(:x(-42)).x | |||
camelia | rakudo-moar a0304c: OUTPUT«-42» | ||
lucas_ | m: sub prefix:<=^.^=> { say "oh hai, $^a" }; =^.^= '#perl6' | 11:34 | |
camelia | rakudo-moar a0304c: OUTPUT«oh hai, #perl6» | ||
11:41
tinyblak left
11:42
tinyblak joined
|
|||
FROGGS | m: say $*PERL.compiler.build-date | 11:45 | |
camelia | rakudo-moar a0304c: OUTPUT«2014-11-07T22:08:27Z» | ||
colomon | how do I ask a potentially lazy list if it has more than one element? | 11:47 | |
… I guess @a[1].defined is good enough for my purposes? | 11:48 | ||
11:48
tinyblak_ joined
11:52
tinyblak left
11:59
chenryn joined
|
|||
dalek | : 61905e1 | (Lucas Buchala)++ | docs/feather/script/update-syn: Update URL prefix for Differences.pod |
12:00 | |
: ad90770 | (Lucas Buchala)++ | docs/feather/script/update-syn: Add CSS for Differences.pod |
|||
: cfb587e | (Tobias Leich)++ | docs/feather/script/update-syn: Merge pull request #4 from lucasbuchala/fix1 Update Differences.pod generation |
|||
12:01
anaeem1_ left
|
|||
masak | I think the (often Ruby-related) revelations about DSLs often boil down to how powerful the combination of code blocks + syntactic suggestion can be. | 12:07 | |
and I think the main way macros can improve on that is to make the syntax even more suggestive. | |||
dare I suggest that Ruby has a slight edge on Perl 6 for various reasons having to do with commas and whitespace. | 12:08 | ||
using macros that hook into the Perl 6 grammar, we could regain that edge. | |||
lucas_ | FROGGS: thanks! | 12:11 | |
FROGGS | hmmm, I wonder if it would be sane to move perlcabal.org/syn/ to design.perl6.org, and shut down perl6cabal.org completely | 12:15 | |
masak | +1 | ||
FROGGS | "Where Are We? | 12:16 | |
The Pugs project was started on February 1st, 2005 by Audrey Tang. To keep up to date on the latest developments, join us on IRC (irc.freenode.net #perl6), and check out This week on Perl 6." | |||
I mean, the site can stay as long as the outdated cruft is removed... | |||
lucas_ | or maybe {specs,spec,syn,synopsis,synopses}.perl6.org | ||
FROGGS | no | ||
masak | no | ||
FROGGS | not specs and not spec | ||
the rest would work :o) | |||
masak | I prefer "design", though | 12:17 | |
lucas_ | oh, specs is not the desired word... | ||
FROGGS | yeah, pmichaud++ calls it design docs nowadays, which pretty covers it | ||
masak | "specs" means "glasses". | ||
12:18
[Sno] joined
|
|||
FROGGS | the roast repository could be made available somehow under spec.perl6.org | 12:18 | |
(in a human readable form maybe) | |||
or stats about it... coverage, todos and NYI's | 12:19 | ||
masak | I think we should avoid tying *anything* to spec.perl6.org -- better to have the tests at tests.perl6.org or roast.perl6.org or something. | ||
if we decide to put anything on spec.perl6.org, it should be a disambiguation page explaining about the spectests and the design, and linking to them. | 12:20 | ||
FROGGS | that makes sense | ||
12:21
Mso150_d_y left
|
|||
FROGGS | perl6.org is also hosted on feather? | 12:22 | |
12:25
denis_boyun_ joined
12:32
zjmarlow joined
|
|||
colomon | m: say -1.2.floor | 12:33 | |
camelia | rakudo-moar a0304c: OUTPUT«-1» | ||
12:33
zjmarlow left
|
|||
masak | precedence. | 12:33 | |
colomon | m: say (-1.2).floor | ||
camelia | rakudo-moar a0304c: OUTPUT«-2» | ||
masak | m: say -(1.2.floor) # without parens, means this | 12:34 | |
camelia | rakudo-moar a0304c: OUTPUT«-1» | ||
moritz | FROGGS: yes, perl6.org is hosted on feather2 | 12:35 | |
FROGGS: see also: github.com/perl6/infrastructure-doc | |||
12:35
denis_boyun_ left
|
|||
masak | moritz++ # for all kinds of reasons | 12:36 | |
FROGGS | ahh | ||
moritz++ # :o) | |||
moritz: so, we could easily make design.perl6.org show the synopsis? | 12:37 | ||
moritz | FROGGS: in principle, yes | 12:41 | |
FROGGS: but I'd wait a bit for the new server, and then host it there | |||
FROGGS | yes, no hurry | ||
moritz | I guess then I'll also ask Dan if we can host DNS for perl6.org ourselves | 12:42 | |
then it'll be less hassle to get new subdomains and point them seomewhere else | |||
12:42
sqirrel__ joined
|
|||
dalek | href="https://cpandatesters.perl6.org:">cpandatesters.perl6.org: 71ab0fd | (Tobias Leich)++ | app.pl: treat NOTESTS as NA |
12:50 | |
12:56
ugator left
12:59
araujo left
|
|||
bartolin | hi #perl6 | 13:00 | |
it would be great if someone takes a look at this PR: github.com/perl6/nqp/pull/197 | |||
dalek | href="https://cpandatesters.perl6.org:">cpandatesters.perl6.org: e2ea199 | (Tobias Leich)++ | app.pl: distinguish between NA and NOTESTS |
13:02 | |
href="https://cpandatesters.perl6.org:">cpandatesters.perl6.org: d576ec8 | (Tobias Leich)++ | / (2 files): correctly display NOTESTS reports |
|||
p: d666ea5 | usev6++ | src/QRegex/P6Regex/Grammar.nqp: Convert panic() call to more specific, overrideable method |
|||
p: ad973ba | (Tobias Leich)++ | src/QRegex/P6Regex/Grammar.nqp: Merge pull request #197 from usev6/master Convert panic() call to more specific, overrideable method |
|||
FROGGS | bartolin++ | ||
bartolin | thanks, FROGGS++ | 13:03 | |
13:06
beastd joined
13:07
regreg joined,
araujo joined
13:08
[Sno] left
13:09
[Sno] joined
|
|||
dalek | href="https://cpandatesters.perl6.org:">cpandatesters.perl6.org: d033bbe | (Tobias Leich)++ | / (2 files): fix display of NOTESTES, really |
13:09 | |
FROGGS | grrr, copy & pasto | 13:10 | |
I'll disable the dalek spam now | |||
13:10
immortal left
|
|||
colomon | m: sub A(@a is copy) { say @a[0]; }; say A([1, 2, 3]); my @a := 1, 2, 4 … *; say A(@a) | 13:11 | |
camelia | rakudo-moar a0304c: OUTPUT«===SORRY!=== Error while compiling /tmp/8kjEalkaXPTwo terms in a rowat /tmp/8kjEalkaXP:1------> ; }; say A([1, 2, 3]); my @a := 1, 2, 4 ⏏… *; say A(@a) expecting any of: postfix in…» | ||
colomon | argu | 13:14 | |
m: sub A(@a is copy) { say @a[0]; }; say A([1, 2, 3]); my @a := 1..*; say A(@a) | |||
camelia | rakudo-moar a0304c: OUTPUT«1True1True» | ||
colomon | m: sub A(@a is copy) { say @a[0]; }; say A([1, 2, 3]); my @a := gather loop { take 1; }; say A(@a) | ||
camelia | rakudo-moar a0304c: OUTPUT«(timeout)1True» | 13:15 | |
colomon | m: sub A(@a is copy) { say @a[0]; }; A([1, 2, 3]); my @a := gather loop { take 1; }; A(@a) | ||
camelia | rakudo-moar a0304c: OUTPUT«(timeout)1» | 13:16 | |
13:16
isBEKaml joined
|
|||
colomon | hmmm | 13:17 | |
is there a idiomatic way to copy an infinite lazy list? | |||
*potentially infinite | |||
13:19
leont joined
13:20
tinyblak_ left
|
|||
FROGGS | my @b := gather loop { take @a[$++] } # would that work? | 13:20 | |
isBEKaml | FROGGS: isn't loop *eager*? | 13:21 | |
colomon | isBEKaml: shouldn't matter | ||
as the "take" will halt its execution. | |||
maybe pause is a better word than halt | 13:22 | ||
isBEKaml | colomon: ah, I thought you wanted a lazy copy | ||
colomon | isBEKaml: that is lazy | ||
isBEKaml | colomon: good to know | ||
colomon | FROGGS: that won't work right if @a is finite, will it? | ||
13:22
ugator joined
|
|||
FROGGS | m: my @a = ^20; my @b := gather loop { take @a[$++] }; say @b | 13:23 | |
camelia | rakudo-moar a0304c: OUTPUT«0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (A…» | ||
colomon | my first stab was gather for @a -> $a is copy { take $a; } | ||
which seems to work. | 13:24 | ||
FROGGS | ahh | ||
colomon | (though it doesn't solve my current problem at all.) | ||
FROGGS | hehe | ||
colomon | (or rather, that was only stage one of my current problem, it appears.) | ||
13:25
isBEKaml left
13:26
erkan joined
13:27
Blackrush joined
|
|||
Blackrush | hi everyone, I was wondering if there were any plans to support a BEAM backend on Rakudo? | 13:27 | |
vendethiel | yo Blackrush :) | 13:29 | |
Blackrush: Do It Yourself :P | |||
Blackrush | vendethiel, hey pal :) | 13:30 | |
arnsholt | There aren't any plans ATM, I think | ||
vendethiel | it wouldn't work anyway | ||
arnsholt | The focus is JVM and Moar for the time being | ||
vendethiel | there are some semantics you can't bring to BEAM | ||
"or else..." | 13:31 | ||
arnsholt | What kind of semantics? | ||
vendethiel | the whole container thingie | 13:32 | |
Blackrush | immutability of variables i think | ||
vendethiel | beam is ssaf-based | ||
Blackrush | okay you lost me here | 13:33 | |
13:33
xinming left
13:34
xinming joined
|
|||
Blackrush | with everything going on actually on Erlang community right now I think it would be a real plus for rakudo to support such a performant VM | 13:34 | |
masak | I don't think anyone's disagreeing. but it won't happen on its own, and resources here are already spread thin. | 13:36 | |
as for myself, I'd much rather see us get further on the JS backend. ++pmurias | |||
FROGGS | +1 | 13:37 | |
vendethiel | beam, a performant VM? now you're trolling ;-) | ||
13:37
tinyblak joined
|
|||
dalek | ast: 496aa2f | usev6++ | S05-metasyntax/repeat.t: Add tests for RT #111956 |
13:37 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=111956 | ||
masak | I think BEAM can be considered to have a performance edge, at least for some concurrency stuff. | 13:38 | |
vendethiel | Well, it's meant for IO-bound stuff. If you try to do anything outside of that, it's slow as a dog | ||
13:39
anaeem1_ joined
|
|||
timotimo | vendethiel: is that slower or faster than moarvm? | 13:39 | |
vendethiel | no clue | ||
faster than moar-nojit, slower than moar-jit, I'd say | |||
masak | does BEAM have a JIT? | ||
timotimo | mhm, mhm | ||
vendethiel | no it doesn't | 13:40 | |
though there have been paper earlier in the year working on that | |||
Blackrush | well thank you guys to reply so fast | 13:46 | |
13:46
Blackrush left
13:48
haroldwu left
13:49
haroldwu joined
13:50
ugator left
|
|||
colomon | does bless copy arrays you pass it? | 13:53 | |
timotimo | i don't think it should; how else would you store a shared reference to an array into a class's attributes? | 13:54 | |
masak | m: my @a = 1, 2, 3; class C { has @.a }; my $c1 = C.new(:@a); my $c2 = C.new(:@a); say $c1.a === $c2.a | 13:55 | |
camelia | rakudo-moar a0304c: OUTPUT«False» | ||
colomon | m: class A { has @.a; }; my @a := 1..*; my @b := gather loop { take 1; }; A.new(a => @a); say "Made a"; A.new(a => @b); say "Made b" | ||
camelia | rakudo-moar a0304c: OUTPUT«(timeout)Made a» | ||
timotimo | hm | ||
dalek | : b7c41f6 | (Lucas Buchala)++ | docs/feather/syn_index.html: Update CSS for syn_index.html |
||
colomon | timotimo: it definitely does copy. or something that involves going through an entire infinite list. | 13:56 | |
but only if it doesn't know it's infinite. | |||
masak | I think I half-remember the decision to make it copy. I may even have had a hand in arguing for that. | ||
timotimo | mhm | ||
masak | but it's years ago. | ||
colomon | I don't mind copying as a concept, but copy combined with eagerly doing the copying is a bit of a disaster | 13:57 | |
masak | *nod* | 13:58 | |
m: my @a = 1..*; my @b = @a; say @b.elems | |||
camelia | rakudo-moar a0304c: OUTPUT«Inf» | ||
masak | should work more like that, no? | ||
leont | FROGGS: any documentation on close-pipe? | ||
13:59
sqirrel__ left
|
|||
colomon | afk # need exercise | 14:01 | |
FROGGS | leont: no... lizamt++ specced pipe() which return IO::Pipe, and .close will shutdown that process and return an Process::Status | 14:03 | |
leont: right now I try to merge the child process's stdout + stderr | 14:04 | ||
14:04
xtreak joined
|
|||
xtreak | perl6: say 3 | 14:05 | |
camelia | rakudo-{parrot,moar} a0304c: OUTPUT«3» | ||
FROGGS | m: say 3.^mro | ||
camelia | rakudo-moar a0304c: OUTPUT«(Int) (Cool) (Any) (Mu)» | ||
xtreak | Is perl6 gonna be released in FOSSDEM 2015? | 14:06 | |
FROGGS | xtreak: no, the plan is to release it 2015 | ||
but february is quite unlikely doable | |||
masak | xtreak: I think this new focus on "released in 2015" has both good and bad aspects to it. | 14:07 | |
timotimo | FROGGS: can the user switch between merged and separate stdout/stderr? | ||
masak | xtreak: good: we're getting a bit more focus, aiming for something. | ||
xtreak | Any specific place to read about it? I had it from reddit, HN. | ||
masak | xtreak: bad: we will inevitably waste *some* additional goodwill making some people disappointed because it's not ready for *them* and their requirements. | 14:08 | |
FROGGS | timotimo: yes | ||
masak | xtreak: it's all pretty new for us too. so I don't think there's any one place to read about it. | ||
xtreak: but you can get fresh news here. | |||
FROGGS | timotimo: though, I dunno how we can let the user slurp from both filehandles | ||
timotimo: I guess we have to return something else then a single fh from nqp::openpipe... | 14:10 | ||
timotimo | another thing i'd like to see is giving the subprocess already-opened file descriptors when spawning | ||
FROGGS | then you can have a rw pipe | ||
xtreak | I am curious as its Larry wall.. I played with perl6 but its very slow.. So even if its released its gonna be a slow one and will be optimised? | 14:11 | |
FROGGS | it is just that you cannot access fds right now at all | ||
xtreak: did you try rakudo on moarvm? a reent one? | |||
timotimo | xtreak: we're already working on optimizing the performance and have made significant progress over the last year | ||
14:12
cognominal joined
|
|||
xtreak | I had it from rakudo.org/downloads/star/ . As I am on linux I compiled it. It takes 6 seconds for a print statement from the terminal with perl6 -e "say 'hello'".. | 14:14 | |
I think I tried with parrot backend.. Not quite sure.. sorry about that.. | |||
FROGGS | xtreak: that sounds like you've chosen the jvm backend | ||
np | |||
just try the -moar tarball | 14:15 | ||
timotimo | moarvm does a startup + say "hello" in 0.4 seconds on my machine | ||
FROGGS | time perl6 -e 'say "hello xtreak"' | ||
hello xtreak | |||
real0m0.322s | |||
timotimo | (nqp-m does the same thing in 0.07s) | ||
xtreak | So can I download the tar and compile it with moar flag? I find only a single tar | 14:16 | |
timotimo | ah, yeah, the source code tars "have all of them" | ||
the flag would be --backends=moar | |||
perhaps you have to supply --gen-moar and/or --gen-nqp | |||
but i think they will be supplied automatically? | |||
FROGGS | --gen-moar implies --gen-nqp | 14:17 | |
timotimo | good | ||
FROGGS | but you have to pass --gen-moar at least | ||
then you don't have to pass --backends for example | |||
xtreak | I think I supplied it as parrot. Installed it few months back. Is nqp different from moar? | ||
FROGGS | xtreak: nqp is a part of our compiler tool chain | ||
xtreak: you probably won't ever need it directöy | 14:18 | ||
directly* | |||
xtreak | Well you reported 0.322s and timotimo reported 0.07s with nqp so I thought they are different.. | 14:19 | |
timotimo | yes, nqp is a compiler for a more simpler version of perl6; we use NQP to write the biggest portion of rakudo | ||
xtreak | So what will be the best way to compile perl6 to be fastest as of now? I am gonna compile now.. It will be helpful if u could post the flags to be set while compiling.. | 14:21 | |
timotimo | just use --gen-moar and we hope you'll be satisfied :) | ||
xtreak | Thanks timotimo. Is nqp a lightweight version of perl? | 14:22 | |
FROGGS | correct | 14:25 | |
it has all you need to build a compiler | |||
timotimo | more specifically, it's a lightweight version of perl6 | 14:26 | |
14:27
KCL_ joined
14:28
colomon left
|
|||
xtreak | I downloaded the rakudo star latest tar and also the MoarVM 2 Mb tar. Now I need to do perl Configure.pl --gen-moar . Right? | 14:30 | |
moritz | xtreak: yes | ||
timotimo | --gen-moar will checkout moarvm from github instead of using the tarball, but that should be fine | ||
14:31
KCL left
|
|||
xtreak | I have the tar ball. How can I use it? | 14:31 | |
FROGGS | xtreak: just run the configure in the star tarball... it will do what you want | 14:32 | |
xtreak | Also how can I recompile it again with parrot to check the speed ? Can I just remove the folder or any steps needed? | ||
cognominal | is the non documentation of add_fallback deliberate? | 14:33 | |
timotimo | yes, there is supposed to be a "more public" api in the future | ||
FROGGS | xtreak: you can do: perl Configure.pl --backends=moar,jvm,parrot --gen-moar --gen-parrot | 14:34 | |
xtreak: then you have all three and can compare | |||
xtreak: or leave out the jvm if you are sure you don't wanna use it | |||
cognominal | timotimo++ | 14:35 | |
xtreak | Then how can I run the compiled binary with parrot backend or MoarVM backend? | ||
FROGGS | perl6-p | ||
the moar one is perl6-m | |||
and the first option to --backend will be installed as 'perl6' | 14:36 | ||
timotimo | and "perl6" will be the one for whatever you put first in your --backends list | ||
xtreak | Ok I compiled with the moarvm backend now. I will recompile it again later. Curious about the perl6 speed. :) | 14:37 | |
FROGGS | :o) | ||
xtreak: have fun playing with it | |||
xtreak: and please report any surprises and absurdities | |||
xtreak | I am new to compiling from scratch. Thanks a lot froggs and timotimo for being patient and helpful :) | 14:38 | |
FROGGS | was a pleasure :o) | 14:39 | |
xtreak | Sure I will report the speed and also if I face a surprise.. | ||
FROGGS | thank you | ||
xtreak | Will the tests results be passed to a web service like the modules I install with CPAN? | 14:40 | |
FROGGS | xtreak: no | 14:41 | |
at least not yet | |||
xtreak | Ok.. It will be helpful if they do so to track bugs in installation.. Any ideas of why? | 14:42 | |
FROGGS | xtreak: the module test reports just exist for about a week (actually since Monday) | ||
we just need to do it | |||
timotimo | FROGGS: previous reports will not get "notests" or "na" applied to them? | 14:44 | |
FROGGS | timotimo: correct | 14:45 | |
timotimo | OK | ||
how does cpandatesters react to newer versions of modules coming out? | |||
FROGGS | need to write a script to update their grade | ||
timotimo: happily I'd hope :o) | |||
timotimo | hehe. | ||
FROGGS | it will prefer newer dist releases when it comes to dist quality if you are talking about that | 14:46 | |
timotimo | i wonder if xfix will react to my Acme::DSON pull request soon-ish | ||
that's good | |||
did you read all my feature requests? :) | |||
FROGGS | for example, in case the newer dist version has more than 20 reports, it won't consider reports for older releases | ||
yes, I put it into the TODO.md locally | |||
though, I don't agree to that: | 14:47 | ||
<timotimo> FROGGS: the name of the distribution is surprisingly small on a test results page | |||
xtreak | Ok.. I am running the rakudo-test : All pass. | 14:48 | |
timotimo | good! | ||
FROGGS | yes, it has been long since there was an issue with these tests :o) | ||
xtreak | Now I am running the spec test.. Its a huge one it seems | 14:49 | |
14:49
exixt_ is now known as exixt
|
|||
timotimo | that's right | 14:49 | |
env TEST_JOBS=4 make spectest will run 4 in parallel | 14:50 | ||
uh oh | |||
panda rebootstrap segfaults my perl6-m here | |||
FROGGS | O.o | ||
14:50
colomon joined
|
|||
FROGGS | I just did that | 14:51 | |
xtreak | Learning something new everyday :) but I started it :) | ||
FROGGS | with HEAD of moar/nqp/rakudo | ||
timotimo | that's probably my fault :\ | ||
FROGGS | ahh, pheew | ||
hmmm, I dunno how to tell libuv to merge stdour/stderr | |||
timotimo | IIRC the #libuv people are responsive and nice | 14:52 | |
FROGGS | timotimo: yes, I know that channel quite well... I just asked :o) | 14:53 | |
timotimo | FROGGS: is there any documentation for the environment variable that i have to set for panad to submit reports? | ||
FROGGS | timotimo: not yet... where should such a documentation go? and... do we want to keep that env var? | 14:54 | |
that's why I usually do btw: PANDA_SUBMIT_TESTREPORTS=1 panda --exclude=panda smoke | |||
timotimo | dunno | ||
xtreak | timotimo . You write p6weekly.wordpress.com/ ? Great. Just checked it now to know the latest improvements.. | ||
timotimo | i didn't even know "panda smoke" exists | ||
xtreak: thank you :) | |||
FROGGS | I mean, it is quite comfortable to do right now | ||
timotimo: only in the reporter branch | 14:55 | ||
timotimo | OK | ||
14:55
ClarusCogitatio left
|
|||
timotimo | should we be thinking about vandalism protection measures? | 14:55 | |
like, do you record the IP of a submission so that big chunks of bogus data from the same source could easily be wiped off the database? | 14:56 | ||
14:57
ClarusCogitatio joined
|
|||
xtreak | I just opened the test cases for spectest. Well they are huge. Is it safe to stop and run later. I think it will take a long time to finish.. | 14:57 | |
colomon | timotimo: panda smoke just installs every module (with an exclude field so you can tell panda not to install itself) | ||
FROGGS | xtreak: you don't need to run these actually | ||
xtreak | Ok. I will stop them now.. | 14:58 | |
FROGGS | colomon: correct... I non-installing thingy that does not report duplicate reports would be awesome | ||
xtreak | t/spec/S11-modules/export.rakudo.moar ......................... Dubious, test returned 22 (wstat 5632, 0x1600) | 14:59 | |
Failed 22/36 subtests | |||
(less 8 skipped subtests: 6 okay) | |||
is printed | |||
colomon | FROGGS: I'm pretty sure emmentaler can be made to do that. But I'm also pretty sure I don't have time for it today. :) | ||
FROGGS | xtreak: :/ | ||
timotimo | FROGGS, xtreak: that's probably the ctrl-c killing the test | 15:00 | |
FROGGS | colomon: I am thinking of panda actually, because I just want to fiddle with one place | ||
xtreak | I cancelled it now and am running the make install | ||
colomon | FROGGS: emmentaler is just a simple script which uses panda.pm | ||
FROGGS | ahh, hmm | ||
I see | |||
timotimo | my reports show up \o/ | ||
FROGGS | *g* | ||
xtreak | Does perl6 comes with mysql and sqlite dbd? I see them compiling.. | 15:02 | |
timotimo | we have a module called DBIish | 15:03 | |
rakudo star (which is what the distribution is called) comes with a bunch of modules | |||
perl6 itself does not, though | |||
xtreak | Now I run the make install where is ther perl6 binary located? | 15:04 | |
FROGGS | usually in install/bin/ | ||
you should put that in PATH | |||
xtreak | Ya got it.. Now it runs in | 15:06 | |
real0m0.480s | |||
user0m0.368s | |||
sys0m0.112s | |||
for say 'hello' . Awesome ;) | |||
FROGGS | yay! | ||
xtreak | How to run it with nqp? | 15:07 | |
masak | npq is already in there somewhere. | 15:08 | |
er, nqp* | |||
FROGGS | nqp-p -e 'say("hello")' | ||
and nqp-m -e 'say("hello")' | |||
xtreak | Thats magnitude of speed increase for me as I had it for 6 seconds with JVM.. So MoarVM gonna be the fastest one yet? | ||
FROGGS | yes | ||
the JVM can beat MoarVM when it comes to large data mangling or longer running apps | |||
xtreak | I ran it as ./nqp-m -e "say 'as'" inside install/bin but it prints a long error msg.. Have I missed something? | 15:12 | |
leont | You want perl6-m, not nqp-m, for actual perl 6 | 15:13 | |
15:13
immortal joined,
immortal left,
immortal joined
|
|||
leont | NQP is a limited subset of perl 6, some things are identical, some things are present | 15:14 | |
The parentheses matter apparently, for example | |||
xtreak | But in terms of dev it seems parrot has more activity.. | ||
Thanks I ran it now with the parenthesis. Its 0.100s . 4 times faster.. :) | 15:15 | ||
15:16
erkan left
|
|||
FROGGS | xtreak: parrot has one active developer | 15:17 | |
MoarVM has about 4+ devs | |||
15:17
slavik1 left
|
|||
xtreak | Great for my AMD A8 with 4GB RAM.. I hope today's play will stretch my night :) Eagerly awaiting the Tim Toady speech in FOSSDEM ;) | 15:18 | |
FROGGS | yeah, I'm also eager to see it... though, a lot of work is to be done to achieve or goals :o) | 15:19 | |
15:19
JimmyZ joined
|
|||
xtreak | Great.. So what does rakudo as a distribution mean? | 15:19 | |
FROGGS | rakudo is one compiler that complies to the Perl 6 spec | ||
there was niecza and originally pugs, but rakudo is the most advanced compiler | 15:20 | ||
xtreak | I am eager to do compiler hacking but the source looks so scary to a budding perler :( | ||
FROGGS | and actually the only one that survived, which is not a bad thing | ||
really? | |||
xtreak | So rakudo compiles to some intermediate code and they run on a VM which is MoarVM and Parrot? | 15:21 | |
FROGGS | this is how concating Buffers is implemented... it is quite readable: github.com/rakudo/rakudo/blob/nom/...uf.pm#L340 | ||
xtreak | Ya I am eager to do compiler hacking but compiler things seem little alien to me as Perl is my first language.. | 15:22 | |
Thanks I will look into it.. | 15:23 | ||
FROGGS | that explains a bit the architecture behind rakudo: www.youtube.com/watch?v=XgPh5Li3k4 | 15:24 | |
also talks like this: www.youtube.com/watch?v=bhAIyrk2ogo | 15:25 | ||
timotimo | "this video does not exist" | ||
FROGGS | eww | ||
timotimo | for the first one | 15:26 | |
FROGGS | this link works for the first pasted link: www.youtube.com/watch?v=XgPh5Li3k4...5awFKXunZX | ||
the second link should do, and was recorded recentish | |||
xtreak | I just looked into perl5 git repo. Its 75% perl. I thot its a lot of C.. I will start reading the source.. Feel great to have all of you.. Thanks a lot froggs and timotimo :) | 15:29 | |
FROGGS | xtreak: we're not talking about Perl 5 here | ||
xtreak | Ok.. | 15:30 | |
15:31
slavik joined
15:33
xtreak left
15:37
guru joined
15:38
guru is now known as Guest40087,
Guest40087 is now known as ajr_
15:39
jfredett joined,
sqirrel_ joined
15:44
mirjam left
15:46
chenryn left
15:57
gfldex joined,
xenoterracide joined
16:01
zakharyas joined
16:05
xenoterracide left
16:08
thou joined,
anaeem1_ left,
anaeem1 joined
|
|||
leont | Great. Having a segfault, but can't do xABgdb perl6 x85xBB like I'd usually do | 16:09 | |
masak | why not? | 16:10 | |
I'm asking as someone who hasn't tried doing that. | |||
leont | Because perl6 is a shell script that starts a shell script that starts moar | 16:12 | |
arnsholt | leont: Just dump the shell script and extricate the moar invocation | ||
leont | In the end, I had to do xABgdb --args /home/leon/.rakudobrew/moar-HEAD/install/bin/moar --execname=perl6 --libpath="/home/leon/.rakudobrew/moar-HEAD/install/languages/nqp/lib" --libpath="/home/leon/.rakudobrew/moar-HEAD/install/languages/perl6/lib" --libpath="/home/leon/.rakudobrew/moar-HEAD/install/languages/perl6/runtime" /home/leon/.rakudobrew/moar-HEAD/install/languages/perl6/runtime/perl6.moarvmxBB | ||
masak | what arnsholt said. | ||
arnsholt | IIRC the script is literally three lines long | ||
Yeah, it's a bit annoying | 16:13 | ||
leont | Yes, it works, but it's not very user friendly | ||
masak | maybe we should ship another script that does the gdb invocation? | ||
leont | I was thinking just that | ||
TimToady | perl6 --with=gdb or so? | ||
masak | ooh | ||
leont | Apparently, MVM_6model_find_method_cache_only is giving me a segfault when using precompiled libraries | 16:14 | |
masak | golfed reproducible steps would be much appreciated. | 16:15 | |
TimToady | sounds like maybe something is neglecting to serialize/deserialize correctly | ||
leont | At this stage, I'm not sure how to golf it. It's only failing in two of my four test-files, that is some information | 16:16 | |
TimToady | is this a precompiled-by-you library? | ||
or one of the standard ones? | 16:17 | ||
leont | By me | ||
16:18
isBEKaml joined
|
|||
TimToady | could well be tickling some construct that is incompletely implemented then | 16:18 | |
(wrt precomp) | |||
arnsholt suggests perl6 --gdb | |||
16:18
sqirrel_ left
|
|||
masak | also, the prior for a successful golfing just went up with the data "by me". | 16:18 | |
TimToady | well, a gdb backtrace might well help | ||
masak | arnsholt: +1 | 16:19 | |
arnsholt goes to implement | 16:20 | ||
TimToady | ++arnsholt | ||
arnsholt | I think someone like jnthn will have to do the Windows variant though =) | ||
leont | paste.scsys.co.uk/438375 | 16:21 | |
I seem to have figured out which line triggers it, but that's not golfing it down much :-/ | 16:24 | ||
Also, same line elsewhere doesn't crash | |||
16:24
isBEKaml left
|
|||
TimToady | is this something that worked before, and stopped working? | 16:25 | |
arnsholt | Oh, bah. Arrays aren't /bin/sh compatible | 16:26 | |
leont | No, it's after a recent change of mine, but I didn't notice before because I was testing without precompile | ||
masak | arnsholt: arrays? in bash? | ||
arnsholt | Yeah | 16:27 | |
I think those are Bash-only | |||
leont | Yeah, bash is kornish like that | 16:28 | |
arnsholt | Googling seems to indicate that they're only in bash >= 3 too | ||
16:28
JimmyZ left
|
|||
arnsholt | Every time I do argument handling in anything other than Perl, I realise how spoiled I am by Getopt::Long | 16:29 | |
Shell is particularly bad | |||
16:29
telex left
16:30
telex joined
|
|||
leont | Getopt::Long has horrible internals (it was originally written in perl 3, and has evolved parallel to perl 4-5), but it works | 16:30 | |
masak | one of the first things I tried to do in the Perl 6 universe was to port Getopt::Long. | 16:31 | |
without being guided by tests, and trying to stick as close as possible to the Perl 5 implementation. | |||
I didn't get far. | |||
and not just because Pugs probably wasn't quite ready for it, either. | 16:32 | ||
leont | I respect jv's dedication, he's maintaining that code for 24 years, but I wish it used stuff like OO instead of having everything global :-/ | 16:33 | |
masak | leont: ooc, have you tried out Perl 6's MAIN parameter handling, and if so, do you have any opinion of it? | 16:34 | |
leont | I tried it out, it didn't do everything I wanted | ||
Not sure that can be fixed | |||
something like "foo:1" in G::L is not really translatable right now | 16:35 | ||
(it means $args{foo} will be undefined by default, --foo means it's 1, and --foo=2 means it's too) | |||
It's very useful for things like verbosity IME | 16:36 | ||
ugexe | too or two? | 16:37 | |
leont | two | ||
16:37
grondilu joined
|
|||
leont | I'm suspecting my problem is bless related | 16:39 | |
masak | leont++ # spending tuits finding the problem | ||
16:41
kaare_ left
|
|||
TimToady | > cat try | 16:42 | |
sub MAIN(:$foo) { say $foo } | |||
> perl6 try | |||
(Any) | |||
> perl6 try --foo | |||
True | |||
> perl6 try --foo=2 | |||
2 | |||
looks like it already does what you want | |||
leont | I see, I should have left out the type apparently. | 16:44 | |
TimToady | we don't have coercion types yet, or you could declare it Int() to get (Int), 1, or 2 out of it | 16:45 | |
16:45
thou left
|
|||
dalek | ecs: ddb321d | (Lucas Buchala)++ | S0 (2 files): Put C<...> around code and type names in S02 and S03 |
16:45 | |
ecs: f39433d | (Lucas Buchala)++ | S03-operators.pod: Whitespace alignment for ranges and flipflops in S03 (easier to see the caret ^) |
|||
16:45
thou joined
|
|||
japhb | timotimo: stress branch ping :-) | 16:46 | |
leont | coercion types is my missing feature of choice it seems :-/ | ||
japhb | Oh screw it, I'll just merge and watch the fallout | 16:47 | |
leont | My theory was wrong, it's the line before the bless. Now I really don't understand :-/ | 16:48 | |
dalek | Heuristic branch merge: pushed 48 commits to perl6-bench by japhb | 16:49 | |
TimToady | rakudo_scalar_store calls MVM_6model_find_method_cache_only in two places, so probably one of tc, STABLE(rcd->of)->HOW, tc->instance->str_consts.type_check, or tc->instance->str_consts.accepts_type is corrupt | ||
16:50
ghostlines joined
16:54
mirjam joined
|
|||
leont was mistaken, this didn't work befpre, but failed with a very different error in the same general direction | 16:57 | ||
japhb | .tell moritz The irclog search data appears out of date -- searching for something I said in the last couple days gives no results, and even searching for my own nick shows results starting a few days ago | 17:06 | |
yoleaux | japhb: I'll pass your message to moritz. | ||
timotimo | japhb: i couldn't run it yet :/ | 17:11 | |
japhb | .tell jnthn `bench stress` and `bench diagnose` work now; try both with --verbose; html_plot output is missing, but others work (though html can be improved); you'll need IPC::Run in your perl5; let me know if you have problems. :-) | 17:13 | |
yoleaux | japhb: I'll pass your message to jnthn. | ||
timotimo | japhb: will an up-to-date rakudo it still gives the loads and loads of errors, partially in MAKE-CLEAN-PARTS | ||
which iirc is about paths or something | |||
japhb | timotimo: Yeah, I think 2014.10 will get you more happiness. | ||
moritz | japhb: thanks, I'll recreate the search index | 17:17 | |
yoleaux | 17:06Z <japhb> moritz: The irclog search data appears out of date -- searching for something I said in the last couple days gives no results, and even searching for my own nick shows results starting a few days ago | ||
lucas_ | Nobody answered me here: irclog.perlgeek.de/perl6/2014-11-08#i_9628380 | 17:20 | |
So I guess I'll just do it, ok? I think infix:xAB...xBB looks nicer than infix:['...'] even if the inside contains "<" or ">". Again, is that ok? | |||
timotimo | is that in the core setting? | 17:21 | |
17:21
kaare_ joined
|
|||
timotimo | oh, it's just in the specs | 17:21 | |
lucas_ | ops, no in specs, S03 | ||
timotimo | that should be fine | ||
lucas_ | yes | ||
timotimo: thank you | 17:22 | ||
TimToady | moritz: rakudo has not rebuilt on evalbot since Nov 5, looks like. is this an accident or by design? | ||
moritz | m: say 42 | 17:23 | |
camelia | rakudo-moar f460d7: OUTPUT«42» | ||
moritz | TimToady: looks pretty recent to me | ||
TimToady | huh, must be looking at the wrong thing then | 17:24 | |
timotimo | japhb: it's running now. i'll be AFK for a bit while it runs :) | ||
TimToady | m: say new Set: 1,2,3; | 17:25 | |
camelia | rakudo-moar f460d7: OUTPUT«set(1, 2, 3)» | ||
timotimo | oh, indirect method syntax is now implemented? | ||
japhb | timotimo: did you run `bench stress` with --verbose? | ||
timotimo | i ran "quickstress" | ||
moritz | eeks. | 17:26 | |
timotimo | should i kill it and restart? | ||
japhb | timotimo: That will build more than a few compilers ... | ||
timotimo | in that case i should be running it in a tmux anyway | ||
i'll be away from my desktop the whole evening anyway, so i can let it run for quite some time if that'd be interesting | |||
japhb | Yes, seems like a good plan | 17:27 | |
timotimo | .o( but it says "quick"stress! ) | ||
japhb | Well, the idea of the 'quick' commands is that it's one quick command and you walk away. Several hours later, you have ready made results. | 17:28 | |
timotimo | hehe | ||
hm, i still haven't turned the AST evaluation benchmark into a perl6-bench-compatible benchmark | |||
TimToady | in the overall scheme of things, a year is an eyeblink | ||
timotimo | i wonder how that should scale; just running it more times seems like a pretty boring way to scale the workload | 17:29 | |
TimToady | japhb: you should add an autoscalar that figures out the geometry of the scaling for you :) | ||
in your copious free time :) | |||
17:30
ghostlines left
|
|||
moritz | japhb: irclog.perlgeek.de/perl6/search/?ni...p;q=irclog updated for your pleasure | 17:32 | |
17:32
kaare_ left
|
|||
TimToady | moritz++ except for the "eeks" :) | 17:32 | |
timotimo | moritz: eeks what? | 17:33 | |
TimToady | moritz++ doesn't like invocant colons on the caller end of things | ||
moritz | timotimo, TimToady: the p5 folks struggle to get rid of indirect method calls; we just got them | ||
timotimo | ah | ||
TimToady | not the same at all | ||
timotimo | aren't ours saner, though? | ||
TimToady | ours is unambiguous | 17:34 | |
leont | Yeah that | ||
timotimo | i think it's kinda cute. | ||
leont | The problem with indirect method calls in perl 5 is that something as simple as xABfoo barxBB is highly ambiguous | ||
timotimo | m: sub doit($a, $b) { say "$a does $b" }; &doit 20: 14; | ||
camelia | rakudo-moar f460d7: OUTPUT«===SORRY!=== Error while compiling /tmp/RhrMtCySMhTwo terms in a rowat /tmp/RhrMtCySMh:1------> oit($a, $b) { say "$a does $b" }; &doit ⏏20: 14; expecting any of: postfix infix stopp…» | ||
timotimo | :o | ||
17:34
ghostlines joined
17:35
ghostlines left
|
|||
timotimo | m: sub doit($a, $b) { say "$a does $b" }; 20.&doit: 14; | 17:35 | |
camelia | rakudo-moar f460d7: OUTPUT«20 does 14» | ||
17:35
ghostlines joined
|
|||
TimToady | that is unambiguously a function call | 17:35 | |
timotimo | fair enough i suppose | 17:36 | |
TimToady | you can call a method with it, but only by looking up the function implementing the method yourself | ||
moritz | after a bit of pondering, I now see the symmetry between method invocant: @arglist and the declaration method(invocant: @arglist) | 17:37 | |
TimToady | m: sub doit($a, $b) { say "$a does $b" }; doit 20: 14; # should fail | ||
camelia | rakudo-moar f460d7: OUTPUT«No such method 'doit' for invocant of type 'Int' in block <unit> at /tmp/_a3kCn8V6J:1» | ||
TimToady | that's the main reason we picked colon for the signature, was for symmetry with the call :) | 17:38 | |
moritz | though I'm still not convinced that having the punctuation after the first arg determine whethere it's a function or a method call is a good idea | 17:39 | |
17:40
thou left
|
|||
TimToady | don't use it with complicated objects | 17:41 | |
17:42
exixt is now known as exixt_
|
|||
TimToady | m: my @a = 1; push @a: 2,3; say @a | 17:43 | |
camelia | rakudo-moar f460d7: OUTPUT«1 2 3» | ||
dalek | ecs: 591e783 | (Lucas Buchala)++ | S03-operators.pod: Change square brackets to french angle quotes |
17:44 | |
17:44
exixt_ is now known as exixt
|
|||
TimToady | m: my @a = 1,2,3; map @a: { "$_ mapped with endweighty function" }; say @a | 17:45 | |
camelia | rakudo-moar f460d7: OUTPUT«1 2 3» | ||
TimToady | m: my @a = 1,2,3; say map @a: { "$_ mapped with endweighty function" }; | ||
camelia | rakudo-moar f460d7: OUTPUT«1 mapped with endweighty function 2 mapped with endweighty function 3 mapped with endweighty function» | ||
TimToady | m: my @a = 1,2,3; say map ^@a: { "$_ mapped with endweighty function" }; | 17:47 | |
camelia | rakudo-moar f460d7: OUTPUT«0 mapped with endweighty function 1 mapped with endweighty function 2 mapped with endweighty function» | ||
TimToady | potentially some new idioms ripe for both use and abuse :) | ||
a way to avoid parens for people who despise (^@a).map: for instance | 17:49 | ||
but want to put the block last because of endweight | 17:50 | ||
17:50
FROGGS_ joined
|
|||
TimToady | or people who really want their constructors to remind them of C++ for some reason... | 17:51 | |
17:52
kaare_ joined
|
|||
TimToady | m: say new Set(1,2,3); # but only up to a point | 17:52 | |
camelia | rakudo-moar f460d7: OUTPUT«===SORRY!=== Error while compiling /tmp/lp46UuR_lMUnsupported use of C++ constructor syntax; in Perl 6 please use method call syntaxat /tmp/lp46UuR_lM:1------> say new Set⏏(1,2,3); # but only up to a point» | ||
17:54
Sqirrel left,
FROGGS left
|
|||
TimToady | anyway, it's definitely one of those things that opens up the style possibilities for both good and ill, very anti-Pythonic | 17:55 | |
17:55
Sqirrel joined
|
|||
masak | wait, so we support invocant colons? | 17:56 | |
m: say $*OUT: "OH HAI" | 17:57 | ||
camelia | rakudo-moar f460d7: OUTPUT«OH HAI» | ||
masak | \o/ | ||
timotimo | japhb: maybe it'd be cool if perl6-bench would set the console title every now and then so that the user could see what it's doing right now and how many other times it's going to do that thing again before starting to do another thing? | ||
masak: that's much prettier than "print >> STDOUT 'hi'" or what python2 had | |||
masak | agreed. | ||
japhb | moritz: Thank you! | ||
TimToady: Heh. Perhaps I need to use Perl 6's ... sequence identifying magic ... in that Perl 5 code. Hmmm. | 17:58 | ||
17:59
erkan joined,
erkan left,
erkan joined
|
|||
japhb | timotimo: Hmmm, interesting. Add that as a github issue? | 17:59 | |
timotimo | will do | ||
18:01
immortal left
|
|||
timotimo | oh | 18:01 | |
a few rakudo-jvms couldn't be built due to a RAM shortage | 18:02 | ||
japhb | Oh interesting | ||
How much RAM do you have free? | |||
timotimo | dunno, i just closed a chromium with lots of open tabs :P | 18:03 | |
now i got 5 gigs free | |||
japhb | Yeah, that would be a killer, given the process-per-tab architecture | ||
timotimo | heh. | ||
well, it wasn't that many. i could still see the favicons of all the tabs | 18:04 | ||
japhb | .oO( No more than 100 ... ) |
||
18:07
kaare_ left,
kaare_ joined,
ugator joined
|
|||
timotimo | i know someone who treats their tab bar quite different :P | 18:08 | |
18:17
Alina-malina left
18:18
Ven joined
18:19
ghostlines left
18:21
Ven left,
Alina-malina joined
18:22
kurahaupo1 joined
|
|||
timotimo | the "hub" commandline program created the Acme::DSON pull request in my own repository, rather than the one i forked from m( | 18:35 | |
18:35
anaeem1 left
18:36
anaeem1_ joined
|
|||
timotimo | now xfix will surely notice that i've done some work i'd like to see merged :P | 18:37 | |
18:42
zakharyas left
18:46
Pleiades` left
18:49
mirjam left
19:03
jfredett left
19:10
tgt joined,
regreg left,
kurahaupo left
19:12
tgt left
19:19
firefish5000 joined
19:28
kurahaupo1 left
20:05
Mso150_d_y joined,
erkan left
|
|||
timotimo | o/ | 20:06 | |
20:08
psch joined
|
|||
psch | hi #perl6 o/ | 20:08 | |
20:09
erkan joined,
erkan left,
erkan joined
|
|||
psch | 'infix:["+"] {...}' was surprisingly simple, but i don't see how to get 'constant $foo = "bar"; infix:[$foo] { }' works | 20:09 | |
timotimo | japhb: my system has started stress testing now | ||
Use of uninitialized value $timeout in addition (+) at /home/timo/oldhome/timo/perl6/bench/timeall line 458. | |||
psch | what ends up being passed to colonpair_nibble_to_str is a QAST::Stmts/QAST::Var(:decl()), which i don't understand how to compile-time-evaluate | 20:10 | |
for the 'constant *' case, that is | |||
timotimo | ask it if it has a compile_time_value | ||
a QAST::Var(:decl) shold have that, or might have to | 20:11 | ||
FROGGS_ | if $value_ast.has_compile_time_value { | ||
$value := $value_ast.compile_time_value; | |||
psch | timotimo: i tried that. it doesn't, and $*W.compile_time_evaluate complains about "can't evaluate null object' or similar | ||
FROGGS_ | psch: can you check if we hit that line for the constant declaration? | 20:13 | |
rakudo/src/Perl6/Actions.nqp:3431: $value := $value_ast.compile_time_value; | |||
20:13
kurahaupo joined
|
|||
timotimo | right, compile_time_evaluate needs a callable | 20:13 | |
psch | FROGGS_: will do, give me a moment | 20:14 | |
i'm on a laptop with ~90+s stage parse, so this takes a bit longer than i'm used to... :) | 20:15 | ||
timotimo | aaw | ||
FROGGS_ | ewww :o) | ||
timotimo | ask for an account on feather? | ||
psch | even though 90+s wasn't that slow a few months back. funny how quickly one gets used to "faster" | 20:16 | |
timotimo | yes | ||
i'd actually enjoy more faster :3 | |||
arnsholt | Just think back to the good old days of stage parse on Parrot =) | 20:17 | |
psch | FROGGS_: apparently my Actions.nqp is a few commits behind, i'll have to rebuild | 20:18 | |
FROGGS_ | two years ago the stage parse was about 80s | ||
(for parrot) | |||
psch | i ended up putting the debug say into the else... :) | ||
FROGGS_ | but the setting size was just the half of what we have now | 20:19 | |
psch | that's what i get for trusting those line numbers | ||
FROGGS_ | that's why I pasted the code too :o) | ||
psch | *blindly | ||
arnsholt | FROGGS_: I think it was around two minutes on my machine at the time | 20:20 | |
FROGGS_ | arnsholt: it increased at some point, aye | ||
I also had 120s+ | |||
I love my i5 :o) | 20:22 | ||
I run two virtual machines (OpenBSD x86 and OpenBSD x86_64), both smoke the ecosystem and I also run the spectest for perl6-m | 20:23 | ||
arnsholt | So nqp/docs/ops says that getlex throws an exception if the lexical doesn't exist | 20:24 | |
Is that an NQP extra, or is the Moar op supposed to do that as well? | |||
FROGGS_ | MoarVM/src/core/interp.c:192: MVM_exception_throw_adhoc(tc, "getlex: outer index out of range"); | 20:26 | |
arnsholt: ^^ | |||
timotimo | yeah, moar does it | ||
psch is reminded to exchange his windows host for a real OS soon | |||
FROGGS_: i hit the line you mentioned, but i think i found my thinko | |||
FROGGS_ | nice! | ||
psch | i've been passing the QAST::Stmts to nibble_to_str, but colonpair_nibble_to_str should probably catch that and unwrap the QAST::Var | ||
at least that's what i'm trying now | |||
'cause the Var has the compile time value, right | 20:27 | ||
FROGGS_ | psch: I just wanted to check that we actually have a compile time value in our constant... | ||
arnsholt | Hmm. I guess my compiler generates a decl where it shouldn't | ||
psch | FROGGS_: i see. good anyway, because i wouldn't want to implement compile time values for constants for operator overloading (and everything else) | 20:28 | |
arnsholt | Derp? Can't stringify this with --target=ast | ||
psch | a bit too much FUN for me, that'd be | ||
FROGGS_ | arnsholt: that sounds like you have stuff in your AST that does not belong there | 20:29 | |
arnsholt | Indeed | ||
The code runs though =) | |||
Oh | |||
FROGGS_ | arnsholt: try on another vm, that sometimes provides valuable hints | ||
arnsholt | Looks like a perverse interaction of options | ||
FROGGS_ | O.o | ||
arnsholt | I had both --target=ast and --output=test.moarvm | 20:30 | |
FROGGS_ | ohh, yes | ||
20:30
darutoko left
|
|||
FROGGS_ | don't do that :P | 20:30 | |
arnsholt | Hmm. Somehow nqp::say(a) ends up with the QAST::Var for a being :decl | 20:32 | |
Oh, no it isn't. I'm misreading the output | 20:33 | ||
The AST is several kinds of weird though. Should probably fix that anyways | 20:34 | ||
timotimo | what are you up to, arnsholt? more snake? | 20:37 | |
arnsholt | Yup | ||
timotimo | neato :) | 20:39 | |
will snake get nativecall, too? :3 | |||
arnsholt | It's got correct (more or less I think) indent handling, and rudimentary variable handling | 20:40 | |
That's a bit far off ATM =D | |||
Should probably get stuff like variables and basic control structures working first | |||
Oh, and functions ^_^ | |||
masak | arnsholt++ | ||
arnsholt | It's a bit annoying that I don't get an exception with the non-existent lexical though | 20:41 | |
timotimo | :) | ||
arnsholt | Python's concept of variable declarations proving to be more than a bit annoying | 20:42 | |
timotimo | yeah, i can only imagine | 20:43 | |
masak | m: .say for 0, 60 ... 300 | ||
camelia | rakudo-moar f460d7: OUTPUT«060120180240300» | ||
arnsholt | I can see how it's really straightforward in a simple interpreter with a chain of dicts for lexpads, but on a platform that knows about declaring variables and such, it's actually easier to do require explicit declarations | ||
masak | arnsholt: the more I learn about languages, the less I like Python's variable declaration policy. | 20:44 | |
arnsholt | Me too! | ||
"def foo(): ..." being an assignment annoys me a bit too | 20:45 | ||
masak | arnsholt: one of the most frequently occurring questions on StackOverflow about Angular is about why variables end up being assigned to the wrong scope. Angular has the same (non-)declaration policy as Python. | ||
oh, the 'def' thing doesn't bother me so much, for some reason. | |||
arnsholt | More of a mild annoyance | ||
I like to structure scripts with mainline code at the top and definitions below | 20:46 | ||
And I mess it up every time I do something in Python again, since they're spaced far enough apart for me to forget between each time =) | |||
moritz | I'm learning python for $work these days, and I don't understand the scoping at all | ||
masak | moritz: LEGB :P | 20:47 | |
arnsholt | It's pretty simple, actually | ||
moritz | masak: what des LEGB mean? | ||
arnsholt | There's the global scope, and new scopes are introduced by def and class | ||
masak | moritz: Local scope, Enclosing (function) scopes, Global scope, Builtins. | 20:48 | |
arnsholt | Assigning (note that def and class are effectively assignments) to a name creates a lexical in the closest scope, unless the name has been previousl declared "global" or "nonlocal" | ||
moritz | so no block scope scopes at all? | 20:49 | |
masak | nope | ||
arnsholt | Reading a variable finds the one in the nearest available lexical scope | ||
Also, note that nonlocal is only in Python 3 | |||
masak | moritz: thankfully, because that wouldn't work at all with the "assigning declares" policy. | ||
arnsholt | Yeah | ||
moritz | masak: aye | ||
masak | arnsholt: ...and when I asked about nonlocal on #python, they said "...but don't use it, it's not Pythonic" | ||
arnsholt | Waaaaaaat?! | 20:50 | |
masak | arnsholt: it's like, argh, they finally have a fix for their weird scoping, and then they reject it. | ||
arnsholt | It's better to do the list trick shenanigans? | ||
timotimo | that's ... kind of not so awesome | ||
arnsholt | I can sort of agree that it might be better to factor code to not need that kind of stuff, but when you do need it... | ||
masak | maybe I shouldn't speak of the #python people (or the wider community) as a homogenous group. I guess there are differing views within it. | 20:51 | |
but that's what they told me. | |||
yeah, from my point of view it's clear that Python's normal scoping policies are broken. | |||
arnsholt | It also struck me today that the assignment declares policy goes against The Zen of Python: "Explicit is better than implicit." =) | ||
20:52
crab2313 joined
|
|||
masak | arnsholt: also "In the face of ambiguity, refuse the temptation to guess." | 20:53 | |
arnsholt | Oh, that one too! | ||
masak has been teaching Python this week | 20:54 | ||
FROGGS_ | m: my Buf $a.=new | 20:55 | |
camelia | rakudo-moar f460d7: OUTPUT«Cannot modify an immutable Buf in method dispatch:<.=> at src/gen/m-CORE.setting:1313 in any at src/gen/m-Metamodel.nqp:1510 in block <unit> at /tmp/Q1K9ru8MMW:1» | ||
FROGGS_ | m: my Buf $a; say $a ~ Buf.new(65) | ||
camelia | rakudo-moar f460d7: OUTPUT«use of uninitialized value of type Buf in string context in any at src/gen/m-Metamodel.nqp:1510Memory allocation failed; could not allocate 124928 bytes» | ||
dalek | kudo/nom: 2121b16 | (Tobias Leich)++ | src/core/Buf.pm: fix `Buf.new ~ (Any)` and similar Using string operations like concat on a Buf (utf8,Blob8,...) and something that is not a Buf:D failed by eating all your memory. Now we convert the buffer types to strings when we know how, and fail otherwise. This is meant to fix RT #122600 and RT #122827. |
20:58 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122600 | ||
psch | hm | 21:01 | |
my test code is 'constant $p = "foo"; infix:[$p] { "foo" }; say 1 foo 1' | 21:02 | ||
and i end up in the line FROGGS_++ mentioned before, which is for the declaration of the constant | |||
FROGGS_ | so it parses? | 21:03 | |
psch | but in &colonpair_nibble_to_str i get a QAST::Var(lexical $p :decl) which doesn't have a compile_time_value | ||
FROGGS_ | hmmm | ||
psch | and thus nibble_to_str dies with "colonpair too complex..." | ||
FROGGS_ | and does its .value have a compile_time_value? | 21:04 | |
psch | m: sub circumfix:["a", "b"]($) { "foo" }; say a 1 b # just checking | ||
camelia | rakudo-moar f460d7: OUTPUT«===SORRY!===Cannot find method 'ast'» | ||
FROGGS_ | eww | ||
21:04
kaare_ left
|
|||
FROGGS_ | m: sub circumfix:["a b"]($) { "foo" }; say a 1 b # just checking | 21:04 | |
camelia | rakudo-moar f460d7: OUTPUT«===SORRY!=== Error while compiling /tmp/CGa69Jm6CNColon pair value '"a b"' too complex to use in nameat /tmp/CGa69Jm6CN:1------> sub circumfix:["a b"]⏏($) { "foo" }; say a 1 b # just checking» | ||
psch | FROGGS_: <semilist> (and <pblock>) don't get passed into colonpair_nibble_to_str | 21:05 | |
anyway, i'll check the .value | |||
i don't know what the right circumfix syntax is with :[] either | 21:06 | ||
21:06
Mso150_d_y left
|
|||
psch | the bit i have works for e.g. infix:["a"] and infix:["a", "b"], not sure if infix:["a b"] works as i assume would be expected | 21:07 | |
moritz | spaces in operators are forbidden | ||
21:07
Mso150_d_y joined
|
|||
masak | why is that? | 21:07 | |
moritz | probably to avoid ambiguty and/or ttiar-style stuff | 21:08 | |
moritz handwaves | |||
vendethiel | that'd be crazy Oo | ||
masak | never mind crazy -- forbidding it is a little bit boring, no? | ||
psch | m: sub infix:<$a>($, $) { "not a var, hah!" }; say 1 $a 1 # at least we allow this | 21:09 | |
camelia | rakudo-moar f460d7: OUTPUT«not a var, hah!» | ||
masak | Perl 5 allows space as the delimiter around regexes! | ||
m: sub infix:<$a>($, $) { "not a var, hah!" }; my $a; say $a $a $a | 21:10 | ||
camelia | rakudo-moar f460d7: OUTPUT«not a var, hah!» | ||
masak | :D | ||
vendethiel | please, no, no, god no. | ||
masak | m: sub infix:<$a>($, $) { "not a var, hah!" }; my $a; say $a $a $a $a $a $a $a | ||
camelia | rakudo-moar f460d7: OUTPUT«not a var, hah!» | ||
psch was a bit sad when HyperWhatever got implemented that ****** wouldn't be valid code | |||
vendethiel | hahahaha | 21:11 | |
21:11
tinyblak left
|
|||
psch | m: sub infix:<$a>($,$) { "hah!" }; my $a; say [$a] $a, $a, $a | 21:11 | |
camelia | rakudo-moar f460d7: OUTPUT«hah!» | ||
masak | Malkovich! | 21:12 | |
21:12
tinyblak joined
|
|||
psch | m: sub infix:<$a>($,$) { "hah!" }; my $a; say [$a] $a, $a [[$a]] $a, $a # | 21:13 | |
camelia | rakudo-moar f460d7: OUTPUT«hah!» | ||
psch | FROGGS_: you were refering to the .value of the QAST::Var, right? | 21:14 | |
FROGGS_ | psch: yes | ||
TimToady | m: sub infix:<$a>($,$) { say "hah!" }; my $a; [$a] $a, $a, $a | 21:15 | |
camelia | rakudo-moar f460d7: OUTPUT«hah!hah!» | ||
FROGGS_ | psch: though that might be a QAST::Want, right? | ||
psch | it SORRYs with "Can't find method" | ||
FROGGS_ | :/ | ||
psch | FROGGS_: i don't get a Want. I get a Stmts with a Var inside | ||
21:21
sqirrel_ joined
21:22
rindolf left
|
|||
psch | m: constant $foo = "bar"; BEGIN { say $foo } | 21:22 | |
camelia | rakudo-moar f460d7: OUTPUT«bar» | ||
dalek | ast: fcf5aff | (Tobias Leich)++ | S03-operators/buf.t: add tests for concating buffers This adds tests for RT #122827, RT #122600 and concating buffers to type objects. |
||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122827 | ||
psch | it's there, which probably means i have to do something to the ast to get it | ||
21:24
mirjam joined,
crab2313 left
21:26
lucas_ left
21:28
mirjam left,
mirjam joined
21:31
zakharyas joined
21:33
camelia left,
virtualsue joined
|
|||
FROGGS_ | I just killed camelia with: std: when 42 { say "This should fail" } | 21:33 | |
21:34
camelia joined
|
|||
TimToady | that's odd, parses locally | 21:35 | |
21:35
ChanServ sets mode: +v camelia
|
|||
FROGGS_ | std : OUTPUT«Can't chdir to '/home/camelia/std/snap': No such file or directory at lib/EvalbotExecuter.pm line 166... | 21:35 | |
that's what I got just now after camelia joined | 21:36 | ||
TimToady: but it should not parse according to RT #71368 | |||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=71368 | ||
FROGGS_ | m: say True ~~ Int | 21:38 | |
camelia | rakudo-moar 2121b1: OUTPUT«False» | ||
TimToady | there is no /home/camelia, should probably be /home/p6eval | ||
FROGGS_ | m: say Bool::True ~~ Int | ||
camelia | rakudo-moar 2121b1: OUTPUT«False» | ||
TimToady | it parses fine, and STD is only going to catch some subset of semantic errors, of which this is one | 21:39 | |
FROGGS_ | m: say Bool.^mro | ||
camelia | rakudo-moar 2121b1: OUTPUT«(Bool) (Cool) (Any) (Mu)» | ||
21:41
thou joined
|
|||
dalek | albot: 5fe53ad | moritz++ | build-scripts/rebuild-nqp-jvm.sh: Get rid of most absolute paths |
21:43 | |
FROGGS_ | moritz++ | 21:44 | |
21:44
[Sno] left
|
|||
masak .oO( absolute paths corrupt absolutely ) | 21:44 | ||
dalek | ake: e81b890 | (Arne Skjærholt)++ | src/Snake/Grammar.nqp: Explicit line joining with backslash-newline. |
||
ake: cd7e378 | (Arne Skjærholt)++ | src/Snake/ (2 files): Rework variable handling a bit. |
|||
vendethiel | arnsholt++ | ||
dalek | albot: 94f9eff | moritz++ | / (2 files): Get rid of most absolute paths |
21:45 | |
21:48
ajr_ left
|
|||
arnsholt | masak: Or absolute paths get absolutely corrupted? =) | 21:48 | |
21:49
wolv joined
|
|||
masak | absolutely. | 21:50 | |
arnsholt | Heehee | ||
21:54
exixt is now known as exixt_
21:55
sqirrel_ left
|
|||
TimToady | the funniest bit is that inside of processes, we're getting rid of relative paths as fast as we can :) | 21:56 | |
itz | Output from C<--profile> can be visualized by C<kcachegrind> | 21:57 | |
I'm proposing to remove that since I believe its no longer true. Can anyone confirm that? | |||
21:58
Sqirrel left
|
|||
FROGGS_ | itz: it is only true for perl6-p and nqp-p | 21:59 | |
itz | hmmm maybe I should add "for the Parrot backend" in that case? | 22:00 | |
masak | +1 | ||
22:03
BenGoldberg joined
|
|||
psch | heh, throwing the .name of the QAST::Var into $*W.find_symbol kinda works - at least i get the name and can declare the sub like that | 22:03 | |
but it breaks on bare calls with "cannot find circumfix:<( )>" | 22:04 | ||
(the fact that the approach is rather messy aside) | |||
*get the compile time value | 22:06 | ||
moritz | m: say 42 | 22:07 | |
camelia | rakudo-moar 2121b1: OUTPUT«42» | ||
masak | ship it! | ||
22:07
[Sno] joined
|
|||
moritz | seems the cron job for rebuilding works again | 22:07 | |
FROGGS_ | very nice | 22:08 | |
TimToady | m: say "\00".ords | 22:12 | |
camelia | rakudo-moar 2121b1: OUTPUT«0 48» | ||
TimToady | there are tests that assume that should throw an exception, but I can argue it both ways | 22:13 | |
(the final tests in S02-literals/char-by-number.t) | |||
22:14
exixt_ is now known as exixt
|
|||
TimToady | m: say 0123; | 22:14 | |
camelia | rakudo-moar 2121b1: OUTPUT«Potential difficulties: Leading 0 does not indicate octal in Perl 6; please use 0o123 if you mean that at /tmp/g1iz9Me1qv:1 ------> say 0123⏏;123» | ||
TimToady | in $~MAIN octaloids are merely warned about | ||
which is yet a 3rd approach | 22:15 | ||
masak | m: say 0123; #OK | ||
camelia | rakudo-moar 2121b1: OUTPUT«Potential difficulties: Leading 0 does not indicate octal in Perl 6; please use 0o123 if you mean that at /tmp/ulgTwEBhN4:1 ------> say 0123⏏; #OK123» | ||
masak | aww | 22:16 | |
22:16
spider-mario left
|
|||
TimToady | n: say 0123; #OK | 22:16 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«123» | ||
TimToady | n: say 0123; #OK octal | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«123» | ||
TimToady | n: say 0123; #OK redefined | 22:17 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«Potential difficulties: Leading 0 does not indicate octal in Perl 6; please use 0o123 if you mean that at /tmp/p9rYNlRmZz line 1:------> say 0123⏏; #OK redefined123» | ||
TimToady | that's probably a LishHF | ||
masak .oO( sir, your fruits are hanging way too lish at this point ) | 22:21 | ||
gtodd | j: say 0123 ; | 22:25 | |
camelia | rakudo-jvm 2121b1: OUTPUT«Can't open perl script "/home/camelia/jvm-rakudo/eval-client.pl": No such file or directory» | ||
TimToady | p: say 0123; | 22:26 | |
camelia | rakudo-parrot 2121b1: OUTPUT«Potential difficulties: Leading 0 does not indicate octal in Perl 6; please use 0o123 if you mean that at /tmp/350xH_NXtw:1 ------> say 0123⏏;123» | ||
gtodd | ... keeping something running on a JVM is only low hanging when you have a lot of memory available | 22:27 | |
BenGoldberg | m: say 00; | 22:28 | |
camelia | rakudo-moar 2121b1: OUTPUT«Potential difficulties: Leading 0 does not indicate octal in Perl 6; please use 0o0 if you mean that at /tmp/Tp0fcy08Zt:1 ------> say 00⏏;0» | ||
gtodd | m: say 0o0 ; | ||
camelia | rakudo-moar 2121b1: OUTPUT«0» | ||
gtodd | .o0(0o0) | ||
BenGoldberg | istm that the warning about the leading 0 ought to be omited for 00 .. 07, since they're the same in octal in decimal. | ||
s/octal in decimal/octal and decimal/ | 22:29 | ||
TimToady | But You're Thinking Of It Wrong! --The Thought Police | 22:31 | |
FROGGS_ | std: enum A <a b c>; enum B <a b c>; say B::a; say a | 22:38 | |
22:38
camelia left
|
|||
FROGGS_ | sorry | 22:38 | |
22:38
fhelmberger joined,
thou left
22:39
camelia joined
|
|||
FROGGS_ | I have a patch for RT #72696 in the queue, though it needs finetuning after $sleep | 22:39 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=72696 | ||
FROGGS_ | gnight | ||
psch | nite FROGGS_ o/ | 22:40 | |
masak: i can't ship it, it doesn't work :/ | |||
camelia | std : OUTPUT«Can't chdir to '/home/camelia/std/snap': No such file or directory at lib/EvalbotExecuter.pm line 166. EvalbotExecuter::_auto_execute(HASH(0x1c009c8), "enum A <a b c>; enum B <a b c>; say B::a; say a", GLOB(0x65c5ee8), "/tmp/2qF0YsfUw_", "std") called at lib/EvalbotE…» | ||
22:40
ChanServ sets mode: +v camelia
22:42
fhelmberger left
22:46
zakharyas left
|
|||
itz | github.com/rakudo/rakudo/pull/329 | 22:55 | |
22:56
araujo left
|
|||
dalek | kudo/nom: 7092586 | (Steve Mynott)++ | docs/running.pod: doc kcachegrind profiling for parrot backend only |
23:01 | |
kudo/nom: ddc6110 | (Steve Mynott)++ | docs/running.pod: doc profiling for MoarVM |
|||
kudo/nom: 518878c | (Steve Mynott)++ | src/Perl6/Compiler.nqp: perl6 profile help fixes |
|||
kudo/nom: 3563935 | (Carl Mäsak)++ | / (2 files): Merge pull request #329 from stmuk/nom perl6 profile help fixes |
|||
23:06
araujo joined
|
|||
timotimo | o/ | 23:07 | |
japhb: quickstress ran through | 23:10 | ||
timotimo does quickstart, too, just for fun | 23:13 | ||
23:14
dj_goku joined,
dj_goku left,
dj_goku joined
23:17
dj_goku_ left
23:30
virtualsue left
|
|||
psch goes to sleep o/ | 23:38 | ||
23:42
psch left
|
|||
timotimo | oh wow | 23:54 | |
masak | 'night, #perl6 | 23:55 | |
timotimo | method !dba is responsible for the biggest amount of BOOTStr allocations | 23:56 | |
hm. does push_s allocate a new BOOTStr in any case? | 23:57 | ||
that could be it |