»ö« 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. |
|||
vendethiel | github.com/Nami-Doc/Typeclassopedi...opedia.pm6 | 00:00 | |
Mouq | r: my &a = {$^a; False}; my &b = {$^b; True}; say (&a|&b)(1) | ||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«any(False, True)» | ||
Mouq | r: my &a = {$^a; False}; my &b = {$^b; True}; say so (&a|&b)(1) | ||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«True» | ||
00:02
denis_boyun left
00:14
dmol left
|
|||
masak | lol, me blogged! strangelyconsistent.org/blog/parsin...ented-text | 00:16 | |
(doesn't happen often these days) | |||
timotimo | i'm glad :) | 00:17 | |
masak: would have wished for a tiny bit more explanation for my $partial_indent = ~$1; | 00:21 | ||
oh, when you look at the commit, it's much clearer | |||
dalek | osystem: 6c42a57 | (Carl Mäsak)++ | META.list: [META.list] add Text::Indented |
00:22 | |
lue | masak: elsif $newindent < indent() { decreaseindent; } isn't code-styled | ||
masak | lue: thank you. fixing. | ||
it wasn't indented properly... ironically enough. | 00:23 | ||
lue | :) | 00:24 | |
masak | hm, I wonder if the test cases are better off without their surrounding block braces... | 00:25 | |
timotimo | just indent them instead | ||
masak | good idea. | 00:26 | |
Mouq | std: mi// | ||
camelia | std 09dda5b: OUTPUT«===SORRY!===Bogus term at /tmp/tBQzgJCKnP line 1 (EOF):------> mi//⏏<EOL>Undeclared routine: 'mi' used at line 1Parse failedFAILED 00:00 123m» | ||
masak | curlies removed: strangelyconsistent.org/blog/parsin...ented-text | 00:29 | |
00:32
hoverboard joined
|
|||
masak | 'night, #perl6 | 00:32 | |
lue | ♞ masak o/ | 00:34 | |
timotimo | 'night masak | 00:35 | |
i would like a "use NativeCall::Library $path;" for use in blocks where all sub declarations are supposed to be "is native($path)" | 00:39 | ||
hm, but then wouldn't these subs have to be "our" scoped? | |||
r: { sub foo() { say "hi" } }; foo | |||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared routine: foo used at line 1» | 00:40 | |
timotimo | r: { our sub foo() { say "hi" } }; foo | ||
00:40
cognominal left
|
|||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared routine: foo used at line 1» | 00:40 | |
timotimo | er ... | ||
vendethiel | Mouq, how did you look up a unicode char by its name already ? please :) | 00:41 | |
Mouq | vendethiel: I didn | 00:47 | |
't :) | |||
I grep'ped through all the characters and selected the ones that matched what I was looking for | 00:48 | ||
m: say (.base(16),.chr,.&uniname) if .&uniname ~~ /A/|/B/ for 0..0xffff | |||
camelia | rakudo-moar ffa572: OUTPUT«(timeout)1 START OF HEADING2 START OF TEXT4 END OF TRANSMISSION6 ACKNOWLEDGE7 BELL8 BACKSPACE9 CHARACTER TABULATIONB LINE TABULATIOND | 00:49 | |
timotimo | oh my, boldface | ||
vendethiel | m: say (.base(16),.chr,.&uniname) if .&uniname ~~ /kiss/ for 0..0xffff | ||
camelia | ( no output ) | ||
vendethiel | m: say (.base(16),.chr,.&uniname) if .&uniname ~~ /KISS/ for 0..0xffff | ||
camelia | ( no output ) | ||
Mouq | Haha | ||
timotimo | why would you ~~ /A/|/B/ rather than /A|B/? | ||
Mouq | Mine is blinking | ||
tadzik | RESISTANCE IS FUTILEYOU WILL BE ASSIMILATED | ||
vendethiel | should match U+1F48B, U+1F48F, U+1F618 | ||
Mouq | m: say (.base(16),.chr,.&uniname) if .&uniname ~~ /KISS/ for 0..0x1ffff | 00:50 | |
camelia | rakudo-moar ffa572: OUTPUT«1F48B 💋 KISS MARK1F48F 💏 KISS1F617 😗 KISSING FACE1F618 😘 FACE THROWING A KISS1F619 😙 KISSING FACE WITH SMILING EYES1F61A 😚 KISSING FACE WITH CLOSED EYES1F63D 😽 KISSING CAT FACE WITH CLOSED EYES» | ||
vendethiel | Mouq++ # hugs n kisses | ||
Mouq | 😘 | 00:51 | |
m: say (.base(16),.chr,.&uniname) if .&uniname ~~ /MU/ for 0..0x1ffff | 00:55 | ||
camelia | rakudo-moar ffa572: OUTPUT«D7 × MULTIPLICATION SIGN39C Μ GREEK CAPITAL LETTER MU3BC μ GREEK SMALL LETTER MU59D ֝ HEBREW ACCENT GERESH MUQDAM5A3 ֣ HEBREW ACCENT MUNAH749 ݉ SYRIAC MUSIC789 މ THAANA LETTER MEEMU78D ލ THAANA LETTER LAAMUA01 ਁ GURMUKHI S…» | ||
Mouq | m: say (.base(16),.chr,.&uniname) if .&uniname ~~ /\bMU\b/ for 0..0x1ffff | 00:56 | |
camelia | ( no output ) | ||
Mouq | m: say "無".&uniname # ah | ||
camelia | rakudo-moar ffa572: OUTPUT«<CJK Ideograph>» | 00:57 | |
00:58
jnap left
|
|||
lue | Its name should rather be <CJK UNIFIED IDEOGRAPH-7121> IIRC | 00:59 | |
timotimo | so uniname needs to have special handling if the name is "CJK Ideograph"? | ||
lue | timotimo: well, there are ranges of codepoints where the name has to be generated. Forget the specific form for unified ideographs, but it's something like what I said. | 01:01 | |
timotimo | fair enough | ||
01:01
BenGoldberg left
|
|||
timotimo | make tests? :3 | 01:01 | |
lue | hopefully the name would be there from the start, instead a special handler in the name retrieval function :) | ||
timotimo | well, this way the unicode database will be a bit smaller | 01:02 | |
and if the names are just "CJK UNIFIED IDEOGRAPH-0001" through "CJK UNIFIED IDEOGRAPH-9999", that's quite a lot of space saved | |||
lue | true | ||
timotimo | that database isn't compressed in memory, mind you | 01:03 | |
hoelzro: are you working on the vim syntax highlighting at all? it seems like "has $.y is rw" starts some kind of quoting at the y | 01:05 | ||
actually | |||
it thinks the i is a delimiter for a y/// quote, that's why the next 3 is are bold and after the third i it goes back to normal again m) | |||
lue | we don't have y/// in the first place, unless I'm mistaken. | 01:07 | |
timotimo | right | ||
but the vim syntax highlighting sure thinks we do :) | |||
01:07
BenGoldberg joined
|
|||
timotimo | well, if i write "has $.m is foo" it'll do the same thing | 01:17 | |
r: given "hi there" { when sithereiwherei { say "oh" } } | 01:18 | ||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«===SORRY!===Function 'sithereiwherei' needs parens to avoid taking the blockat /tmp/tmpfile:1------> here" { when sithereiwherei { say "oh" }⏏ }Missing block (appar…» | ||
timotimo | so characters like these are not actually valid as terminators | ||
so it shouldn't even do it then | 01:19 | ||
lue | timotimo: I also think variable names should be interpreted as variable names :) | ||
timotimo | interestingly, it also recognizes $.y) as the beginning of a y/// and thinks the next ) is the second / in there | ||
yes, they should, but there's only so much you can do with just a lexer :P | |||
oh | 01:21 | ||
haha | |||
it was using the perl5 syntax highlighter all along | |||
with the p6 highlighter it works | 01:22 | ||
lue | timotimo: you mentioning lexers reminds me that I'm reluctant to touch my p6-mode for emacs because it needs to effectively parse, not lex, Perl 6, and I worry that I can't do that without unavoidable slowdown :/ | 01:24 | |
timotimo | yeah | 01:25 | |
lue | timotimo: do you have a link to the p6 highlighter? Might be helpful for me as a reference. | ||
timotimo | i'm also kind of worried about my QtCreator integration project | ||
it comes pre-installed with vim | 01:26 | ||
lue | ah, OK. | ||
timotimo | er. at least i think it does | ||
01:29
jnap joined
|
|||
lue | looking at perl6.vim: Various tricks depending on context. I.e. we can't know when Perl | 01:29 | |
" expects «*» to be a string or a hyperoperator. | |||
Mouq | lue: github.com/petdance/vim-perl | 01:31 | |
j/k | |||
github.com/vim-perl/vim-perl | |||
lue | I seriously wonder if implementing Perl6-scripting support for emacs (alongside ELisp) would be just as complex (or maybe even less so) than trying to write an ELisp-based Perl 6 mode :P | 01:32 | |
Mouq: already found it :) | |||
01:32
BenGoldberg left
01:33
jnap left
01:38
raiph joined
01:41
BenGoldberg joined
|
|||
Mouq | r: sub infix:<pl-eq> is equiv<eq> ($a,$b) { True } | 02:01 | |
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileMissing blockat /tmp/tmpfile:1------> sub infix:<pl-eq> is equiv<eq> ⏏($a,$b) { True } expecting any of: …» | ||
Mouq | r: sub infix:<pl-eq> is equiv(&[eq]) ($a,$b) { True } | ||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileMissing blockat /tmp/tmpfile:1------> sub infix:<pl-eq> is equiv(&[eq]) ⏏($a,$b) { True } expecting any of: …» | ||
Mouq | r: sub infix:<pl-eq> ($a,$b) is equiv(&[eq]) { True } | ||
camelia | ( no output ) | ||
Mouq | r: sub infix:<pl-eq> ($a,$b) is equiv(&[eq]) { say ($a, $b) }; say "ship" pl-eq "ships" and "test" pl-eq "tests" | 02:02 | |
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«ship shipsTruetest tests» | ||
02:02
cognominal joined
|
|||
Mouq | r: sub infix:<pl-eq> ($a,$b) { say ($a, $b) }; say "ship" pl-eq "ships" and "test" pl-eq "tests" | 02:02 | |
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«ship shipsTruetest tests» | ||
Mouq | r: sub infix:<pl-eq> ($a,$b) { say ($a, $b) }; say "ship" pl-eq "ships" && "test" pl-eq "tests" | 02:03 | |
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«ship shipstest testsTrue» | ||
Mouq | r: sub infix:<pl-eq> ($a,$b) { say ($a, $b) }; say "ship" pl-eq "ships" & "test" pl-eq "tests" | 02:04 | |
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«ship shipstest testsall(True, True)» | ||
Mouq | r: sub infix:<pl-eq> ($a,$b) is equiv(&[eq]) { say ($a, $b) }; say "ship" pl-eq "ships" & "test" pl-eq "tests" | ||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«ship shipsship testships teststest testsall(True, True)» | ||
Mouq | So it does work! | ||
\o/ | |||
r: sub infix:<pl-eq> ($a,$b) is equiv<eq> { say ($a, $b) }; say "ship" pl-eq "ships" & "test" pl-eq "tests" | 02:05 | ||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileCan't use unknown trait 'is equiv' in a sub+{precedence} declaration.at /tmp/tmpfile:1------>  expecting any of: rw parcel hi…» | ||
02:14
pecastro joined
|
|||
TimToady | neither .parse nor .subparse will do scanning for you, because parsing doesn't scan unless you tell it to | 02:16 | |
don't confuse parsing with what m// and s/// do | |||
Mouq | Compare: api.metacpan.org/source/DCONWAY/Lin...lections.t and the hopeful gist.github.com/Mouq/dfe7388636027e527e86 | 02:18 | |
TimToady | and .subparse is really just the old .parse semantics that didn't care about $ at the end | ||
arguably, .subparse should allow a :c option and .parse shouldn't :) | 02:19 | ||
lue | TimToady: ah, and I see S05 implies that ^ is still a thing by mentioning "You may pass a :pos argument to start parsing at some position other than 0" | 02:20 | |
timotimo | ah, so subparse anchors $, but not ^? | ||
lue | timotimo: other way | ||
timotimo | er | ||
i think it may very well be helpful to speak of scanning or nonscanning behavior | |||
TimToady | basically, if you want to scan, put .*? <( at the front of your grammar | 02:21 | |
lue | timotimo: as I said, S05 implies (by way of talking about passing :pos) that ^ anchoring is a thing. | ||
timotimo | oke | ||
lue | Though in fairness it should be more explicit, and the preceding sentence saying "If you wish to parse a portion of a text, then use the .subparse method instead." almost defeats the implication by :pos | ||
TimToady | well, since it doesn't scan. .parse (without a :pos) is automatically anchored | ||
but I dunno if it's really a good idea to restrict use of :pos to .subparse | 02:22 | ||
it's really more .parse-to-completion and .parse-to-somewhere | 02:23 | ||
lue | You can use :p and :c with m// and friends, last I checked. | ||
02:25
xragnar_ joined,
xragnar left,
xragnar_ is now known as xragnar
02:30
jnap joined
02:34
jnap left
|
|||
Mouq | p6: my $_ = $3 // ''; | 02:35 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«Potential difficulties: Useless redeclaration of variable $_ (see line 0) at /tmp/tmpfile line 1:------> my $_ ⏏= $3 // '';» | ||
..rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«Potential difficulties: Redeclaration of symbol $_ at /tmp/tmpfile:1 ------> my $_ ⏏= $3 // '';» | |||
Mouq | r: my $_ = $3 // ''; m/test/ | 02:36 | |
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«Potential difficulties: Redeclaration of symbol $_ at /tmp/tmpfile:1 ------> my $_ ⏏= $3 // ''; m/test/» | ||
Mouq | I wonder why I'm getting a LTA error for that | 02:37 | |
TimToady | well, you are redeclaring $_ uselessly | ||
Mouq | TimToady: Yeah, but I'm getting | 02:38 | |
===SORRY!=== | |||
Cannot find method 'value' | |||
And I'm having trouble golfing it | |||
TimToady | r: my multi $_ = $3 // ''; m/test/ | ||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«Potential difficulties: Redeclaration of symbol $_ at /tmp/tmpfile:1 ------> my multi $_ ⏏= $3 // ''; m/test/» | ||
TimToady | n: my multi $_ = $3 // ''; m/test/ | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«===SORRY!===Multi variables NYI at /tmp/5d_L1gaITr line 1:------> my multi $_ ⏏= $3 // ''; m/test/Potential difficulties: Useless redeclaration of variable $_ (see line 0) at /tmp/5d_L1gaITr l…» | ||
Mouq | (Solved by using `given` in this case, but that error is awful) | 02:39 | |
TimToady | m: $_ = $3 // ''; m/test/ | ||
camelia | ( no output ) | ||
02:44
klapperl joined
02:47
klapperl_ left
02:48
FROGGS_ joined
02:51
Sqirrel left
02:52
FROGGS left,
Sqirrel joined
03:06
iolympian joined,
iolympian left
03:24
raiph left
03:28
rurban1 joined
03:30
jnap joined
03:35
jnap left
03:41
logie_ joined
03:58
xenoterracide left
04:11
hoverboard left
04:18
thou joined
04:31
jnap joined
04:35
jnap left
04:40
adu joined
04:44
kaare__ joined
04:47
xenoterracide joined
04:52
xenoterracide left
04:55
japhb joined
04:59
japhb_ joined
05:09
xenoterracide joined
05:18
yves__ joined
05:20
rurban1 left
05:28
adu left
05:32
jnap joined
05:36
jnap left
05:38
darutoko joined
05:40
thou left
05:43
Guest97287 is now known as ponbiki
05:45
Mouq left
06:02
rurban1 joined
06:03
slavik left
06:04
SamuraiJack_ joined
06:06
rurban1 left
06:33
jnap joined
06:37
jnap left
06:38
SamuraiJack_ left
|
|||
moritz | good morning | 06:43 | |
dilbert.com/fast/2014-03-23/ apples to oranges! | |||
06:44
Mouq joined
06:49
Mouq left
06:54
japhb_ left
06:55
japhb left
06:57
japhb joined
06:59
japhb_ joined
07:03
rurban1 joined
07:07
rurban1 left
07:34
jnap joined
07:38
jnap left
07:40
BenGoldberg left
08:03
rurban1 joined,
Fg_ left
08:08
rurban1 left
08:15
xenoterracide left
08:30
rindolf joined
08:34
jnap joined
08:35
nagu left
08:39
jnap left
08:40
kivutar left,
sqirrel_ joined
08:54
virtualsue joined
09:04
rurban1 joined
09:09
rurban1 left
09:12
rindolf left
09:19
kurahaupo joined,
dmol joined
09:24
mls_ joined
09:27
mls left,
SamuraiJack_ joined
09:34
virtualsue left
|
|||
masak | antenoon, #perl6 | 09:34 | |
today's autopun spotting: twitter.com/indec/status/447201158222712832 | |||
09:35
bjz left
|
|||
moritz | \o masak | 09:35 | |
09:35
jnap joined,
bjz joined
|
|||
moritz | nice one | 09:35 | |
masak | best response to that one so far: 'wait, where is the second tweet?' | ||
FROGGS_ | :o) | 09:36 | |
09:36
mls joined
09:37
rindolf joined
09:40
mls_ left,
jnap left,
pippo_ joined,
denis_boyun joined
09:41
mls_ joined
09:44
mls left
09:46
virtualsue joined,
mls joined
09:47
mls_ left
09:56
daniel-s left
09:57
daniel-s joined
10:07
rurban1 joined,
dagurval left
10:08
dagurval joined
10:09
Gothmog_ left
10:10
Gothmog_ joined
10:11
rurban1 left
10:12
mls_ joined
10:15
mls left
10:17
mls joined
10:18
mls_ left
10:22
mls_ joined
10:24
mls left
10:26
mls_ left
10:27
mls joined
10:28
slavik joined
10:36
jnap joined
10:40
jnap left
|
|||
vendethiel | masak: in your blog post, header "multi-step de-indents", you say `is $root.items.elems, 3, 'three things on the top level';`, when it looks to me there's only 2 | 10:41 | |
10:44
spider-mario joined
10:49
JimmyZ_ joined
|
|||
nwc10 | .tell arnsholt was "cmd: Rounded run time per iteration: 1.5828e+02 +/- 7.2e-01 (0.5%)", jastcompiler "cmd: Rounded run time per iteration: 1.457e+02 +/- 1.5e+00 (1.0%)" | 10:51 | |
yoleaux | nwc10: I'll pass your message to arnsholt. | ||
10:52
sjn_ joined,
virtualsue left
|
|||
masak | vendethiel: the three "things" are (a) a line, (b) a suite, (c) another line. | 10:53 | |
vendethiel: suites are "located" in the indentation level above them. | |||
vendethiel: put differently a suite is a sequence of Str|Suite objects. | |||
actually, I wanted to declare @.items as a subtype of Any where { Str | Suite } | |||
but I found no way to use the subtype "early enough", before the class block was closed. | |||
vendethiel | ah, alright | ||
masak | m: class Foo { subtype Item of Any where Str | Foo; has Item @.items }; say "alive" | 10:54 | |
camelia, you there? | |||
10:54
sjn left
|
|||
camelia | rakudo-moar ffa572: OUTPUT«===SORRY!=== Error while compiling /tmp/a5P3aMpZbGTwo terms in a rowat /tmp/a5P3aMpZbG:1------> class Foo { subtype Item of Any ⏏where Str | Foo; has Item @.items }; say expecting any of: post…» | 10:54 | |
10:55
hugme left
|
|||
masak | vendethiel: conceptually, it makes sense, I think. | 10:55 | |
10:55
hugme joined,
ChanServ sets mode: +v hugme
|
|||
masak | vendethiel: because a suite is "grouped together" and in some sense gets treated the same way as one line. | 10:55 | |
10:55
Bucciarati joined
|
|||
vendethiel | it does, it does | 10:55 | |
masak | m: class Foo { subset Item of Any where Str | Foo; has Item @.items }; say "alive" | ||
camelia | rakudo-moar ffa572: OUTPUT«alive» | ||
masak | huh. | ||
m: class Foo { subset Item of Any where Str | Foo; has Item @.items }; given Foo.new { .items.push("foo"); .items.push(Foo.new); .items.push(42) }; say "alive" | 10:56 | ||
camelia | rakudo-moar ffa572: OUTPUT«Type check failed in .push; expected 'Item' but got 'Int' in block at src/gen/m-CORE.setting:7967 in method push at src/gen/m-CORE.setting:7953 in method push at src/gen/m-CORE.setting:1610 in block at /tmp/komlFzrLWG:1» | ||
masak | ooh, it works. | ||
masak adds it to the code | |||
10:57
anocelot left,
anocelot joined
|
|||
masak | m: class Foo { subset Item where Str | Foo; has Item @.items } | 10:57 | |
camelia | ( no output ) | ||
masak | ooh, even that works. | ||
vendethiel | well, of Any is implicit | 10:58 | |
masak | apparently. | ||
sometimes I suffer from old war wounds and PTSD of earlier iterations of Rakudo :P | 10:59 | ||
what's a nice way to turn the string "PartialIndent" into "partial indent" in Perl 6? | 11:00 | ||
FROGGS_ | good that I joined that late :o) | ||
masak | for that matter, how do I match on uppercase? | 11:01 | |
vendethiel | [:upper:] ? | ||
FROGGS_ | m: say 'PartialIndent'.split(/<?:Lu>/) | ||
camelia | rakudo-moar ffa572: OUTPUT« Partial Indent» | ||
masak | m: say "PartialIndent".comb(/<:Lu><:Ll>+/) | 11:02 | |
camelia | rakudo-moar ffa572: OUTPUT«Partial Indent» | ||
FROGGS_ | m: say 'PartialIndent'.split(/<?:Lu>/)>>.lc.grep(?*).join(' ') | ||
camelia | rakudo-moar ffa572: OUTPUT«partial indent» | ||
masak | yeah. | ||
FROGGS_++ | |||
m: say "PartialIndent".comb(/<:Lu><:Ll>+/)>>.lc.join(' ') | 11:03 | ||
camelia | rakudo-moar ffa572: OUTPUT«partial indent» | ||
masak | hehe, I've never used a call to an inner sub in a parameter default before :) it works. | 11:04 | |
m: class PartialIndent {}; sub say-nicely($c, $message = format-nicely $c.^name) { sub format-nicely($string) { $string.comb(/<:Lu><:Ll>+/)>>.lc.join(' ') }; say $message }; say-nicely PartialIndent | 11:06 | ||
camelia | rakudo-moar ffa572: OUTPUT«partial indent» | ||
11:07
rurban1 joined
|
|||
FROGGS_ | interesting O.o | 11:08 | |
vendethiel | Perl6++ | ||
looks more like an implem. detail to me, though ? | 11:09 | ||
Is it speced that way ? | |||
FROGGS_ | n: class PartialIndent {}; sub say-nicely($c, $message = format-nicely $c.^name) { sub format-nicely($string) { $string.comb(/<:Lu><:Ll>+/)>>.lc.join(' ') }; say $message }; say-nicely PartialIndent | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«partial indent» | ||
FROGGS_ | why does that even work? | 11:11 | |
vendethiel | probably because the "default" is pushed inside the body | 11:12 | |
11:12
rurban1 left
|
|||
FROGGS_ | it only works for subs, not for vars btw | 11:13 | |
vendethiel | probably because of that | ||
r: say $a; my $a = 5; | |||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileVariable '$a' is not declaredat /tmp/tmpfile:1------> say $a⏏; my $a = 5; expecting any of: postfix» | ||
vendethiel | r: say a; sub a { 5; } | ||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«5» | ||
FROGGS_ | r: say a; { sub a { 5; } } | ||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared routine: a used at line 1» | 11:14 | |
FROGGS_ | that should happen | ||
vendethiel | subs are hoisted, so even if compilers transform `sub stuff($foo = a) { sub a { 5 }; say $foo; }` | ||
to `sub stuff($foo = a) { sub a { 5 }; $foo = a; say $foo; }` | |||
this will work - that's my guess, at least. | |||
I meant, transform it to `sub stuff($foo?) { $foo = a; sub a { 5 }; say $foo; }` | 11:16 | ||
FROGGS_ | hmmm | ||
11:20
xenoterracide joined
11:24
Ulti_ joined
11:27
hoelzro_ joined
11:28
tokuhirom_ joined
11:29
pecastro_ joined,
hugme left,
Gothmog_ left,
dagurval left,
rindolf left,
kurahaupo left,
pecastro left,
araujo left,
dalek left,
masak left,
Yappo__________8 left,
sjohnson left,
cosimo left
11:30
tokuhirom_ is now known as tokuhirom,
dalek joined,
ChanServ sets mode: +v dalek,
Gothmog_ joined
11:31
denis_boyun left,
ilbot3 joined
11:32
breinbaas joined,
araujo joined,
jlaire joined
11:33
masak joined
11:34
masak is now known as Guest23182
11:37
jnap joined,
cosimo joined,
Yappo__________8 joined,
jtpalmer joined
11:39
hugme joined,
ChanServ sets mode: +v hugme
11:41
rindolf joined,
jnap left
11:43
kivutar joined,
rurban joined
11:44
sjohnson joined
11:45
Guest23182 is now known as masak_
|
|||
masak_ | grrr. | 11:45 | |
11:45
dagurval joined,
dagurval left,
dagurval_ joined
|
|||
masak_ | vendethiel: no, Perl 6 doesn't do sub hoisting. | 11:48 | |
vendethiel | masak_: how do you call it then ? | ||
masak_ | vendethiel: it's just that you can call a sub before you declare it. | ||
vendethiel | r: say a; sub a { 5 } | ||
11:48
rurban1 joined
|
|||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«5» | 11:48 | |
masak_ | vendethiel: as long as it's visible in the scope where you're calling it. | ||
11:48
IllvilJa left
|
|||
vendethiel | that's what I call hoisting, yes | 11:48 | |
masak_ | vendethiel: and subs in the big sub are visible from its parameter list. | 11:49 | |
vendethiel: well, in JavaScript where they talk about hoisting, there's an actual separation between declaration and initialization sometimes. | |||
vendethiel: nothing of that sort happens in Perl 6. | |||
vendethiel: a sub declared with the 'sub' keyword is simply visible within its scope at all times. it doesn't get assigned at the top of the block, not even conceptually. | 11:50 | ||
it just is. | |||
vendethiel | in JS, variables declarations (only the name) are hoisted, but named functions are hoisted (with their body) - that's the difference | 11:51 | |
doesn't mean "hoisting" is a less fit word for what perl6 is doing, is it ? | |||
masak_ | to me it's a bad fit, because I associate it with pieces of code (conceptually) moving around in the source during compilation. | 11:52 | |
that doesn't happen in Perl 6. | |||
instead, the parser assumes that the thing you called which it doesn't recognize is a sub that you will declare later. if you don't -- error. | 11:53 | ||
vendethiel | that's a bit of an implementation detail though | ||
but that's why I asked how you'd call it | 11:54 | ||
masak_ | "calling a sub before it's declared" :) | 11:56 | |
& | |||
vendethiel | well - fair enough then | ||
11:58
pippo__ joined,
pippo__ left
12:00
sqirrel_ left
12:03
virtualsue joined
12:14
IllvilJa joined,
xenoterracide left
12:19
brrt joined
12:37
jnap joined
12:41
Sqirrel left
12:42
jnap left
12:45
Sqirrel joined
12:50
masak_ is now known as masak
12:51
masak is now known as Guest64457,
Guest64457 is now known as masak_
12:59
Mouq joined
13:00
Sqirrel left
|
|||
tadzik | Cannot call 'Real'; none of these signatures match: | 13:06 | |
:(Mu:U \v: *%_) | |||
wat | |||
I don't even know where to look :o | |||
FROGGS_ | --ll-exception? | ||
13:06
Sqirrel joined
|
|||
colomon | Text::Indented! \o/ | 13:07 | |
FROGGS_ | tadzik: btw, do you have a nqp-2014.03 tarball that an be uploaded by someone who has perms? | ||
tadzik | oh, forgot about that | ||
FROGGS_ .oO( Pun::Intended? ) | |||
tadzik | no, I have to create one | ||
FROGGS_ | k, because I no permissions to upload it, otherwise I had tried | 13:08 | |
ahh, and tag MoarVM perhaps? | |||
I think this did not happened yet | |||
did not happen* | |||
tadzik | I thought jnthn did that | ||
he was releasing moarvm | |||
btw, my game is aweosme | 13:09 | ||
I'll release and blog about it in the coming hours :) | |||
FROGGS_ | github.com/MoarVM/MoarVM/releases | ||
tadzik | and I'll do a contest of sorts | ||
FROGGS_ | yay! | ||
tadzik | stay tuned! | ||
FROGGS_ | tadzik++ | ||
I will :o) | |||
and btw, I think my slides are going to be awesome :o) | |||
13:11
Sqirrel left
|
|||
masak_ | colomon: I like it when five-minute "hm, this shouldn't be so hard..." hack sessions turn into a 3-hour adventure. | 13:12 | |
13:12
Timbus left
|
|||
masak_ | colomon: I should do more of that :) | 13:12 | |
colomon | +1 | ||
colomon hates it when five-minute "hm, this shouldn't be so hard..." hack sessions turn into weeks of (unbillable) $work | 13:13 | ||
JimmyZ_ | tadzik: I played your game, and I got segfault when free the game | ||
masak_ | I should add that it was three hours of *straightforward* hacking. no blockers anywhere, really. | 13:14 | |
tadzik | JimmyZ_: which one? | ||
JimmyZ_: and, you probably need to update your moarvm | |||
dalek | p: 9ef5690 | (Tobias Leich)++ | tools/build/MOAR_REVISION: bumped moar revision |
||
JimmyZ_ | tadzik: segfault at github.com/tadzik/p6steroids/blob/...st.pl#L289 | 13:15 | |
tadzik | JimmyZ_: is it on moarvm? | 13:16 | |
JimmyZ_ | yeah | ||
tadzik | if yes, then is moarvm up to date? | ||
because I've seen that before, and it goes away when you update moarvm | |||
(or use a different backend :)) | |||
JimmyZ_ | not sure, I can confirm it tomorrow | 13:17 | |
13:17
JimmyZ_ is now known as JimmyZ
|
|||
colomon | nativecall is working well enough on Moar to use SDL?!? | 13:17 | |
JimmyZ | yeah | 13:18 | |
colomon | \o/ | ||
tadzik | colomon: sure it is | 13:19 | |
colomon: wait till you see my gaem :D | |||
colomon | hmmm, sdl for mac.... | 13:20 | |
tadzik | sdl2 | ||
colomon | SDL2-2.0.3.dmg downloading... | ||
tadzik | :) | 13:21 | |
colomon should really be $working... | |||
tadzik | FROGGS_: uploaded | ||
thanks for the reminder | |||
FROGGS_ | tadzik++ | ||
colomon | updating my rakudo... | 13:22 | |
13:23
lue joined,
sjn_ is now known as sjn
|
|||
colomon has figured out a way to duplicate his $work bug not on Windows Vista! o/ | 13:24 | ||
tadzik | \o/ | ||
FROGGS_ | \o/ | 13:25 | |
colomon | now the only step left to fixing it before the deadline today is "a miracle occurs". | ||
FROGGS_ | :/ | 13:26 | |
turn it off and on again? | |||
Mouq | colomon: You may need to get SDL_gfx | 13:28 | |
colomon | errr… ^D doesn't work to exit the perl6-m REPL on OS X? | ||
Mouq | ^C ? | ||
colomon | Mouq: yes, that did it. ^Z didn't, weirdly enough. | 13:29 | |
sdlwrapper.c:2:10: fatal error: 'SDL_gfxPrimitives.h' file not found | 13:30 | ||
sounds like Mouq was right | |||
tadzik | oh, that's a different game | 13:31 | |
behold! github.com/tadzik/ThroughTheWindow | |||
colomon: this one is sdl2, no other deps | |||
please give it a try | |||
and do play the manual soundtrack, it's an important part | |||
13:32
Sqirrel joined
|
|||
tadzik | github did weird things to the readme | 13:34 | |
colomon | ld: library not found for -lnsl | ||
colomon does not remember if he has heard Me First etc do this one before. | 13:35 | ||
tadzik | :o | ||
masak_ | tadzik: looks like you wanted README.md | ||
tadzik | masak_: yeah, that too | ||
colomon: ah, the flags may be different on a mac :| | |||
geekosaur | nsl? that's a solaris thing | ||
tadzik | there is some arcane incantation in zavolaj's repo | ||
geekosaur | most other systems have it in libc | ||
colomon is totally failing to get this makefile to work. | 13:38 | ||
13:38
jnap joined
13:39
Sqirrel left
|
|||
tadzik | colomon: have no fear | 13:41 | |
I'm putting together a Configure.pl that'll work | |||
Mouq | tadzik++ | 13:42 | |
(I can't either) | |||
13:42
jnap left
|
|||
colomon | \o/ | 13:44 | |
timotimo | well, i could install and play the beta version yesterday | ||
13:44
daniel-s left
|
|||
Mouq got further by adding "-I/Library/Frameworks/SDL.framework/Headers -framework SDL" | 13:45 | ||
tadzik | colomon: should work now | ||
timotimo | Mouq: isn't sdl2-config supposed to do that for you? | ||
colomon had added -I~/Frameowkrs/SDL2.framework/Headers to his makefile | |||
make: sdl2-config: Command not found | 13:46 | ||
Mouq | Bluh, SDL2 would probably be a good idea | ||
tadzik | bah | ||
those macs | 13:47 | ||
is there a dev-package for macs, like libsdl2-dev for debians? | |||
colomon | tadzik: checking it now | 13:48 | |
tadzik | cross-platformism, y u so hard | ||
colomon | the alleged devel platform doesn't have it either. | 13:49 | |
I'm going to try building from source | 13:50 | ||
tadzik | :| | 13:51 | |
colomon: did you check /sw/bin and /opt/local/bin? | 13:52 | ||
13:52
dmol left
|
|||
colomon | tadzik: it's a framework, everything is in ~/Library | 13:52 | |
tadzik | internet says it might be there | ||
ah | |||
colomon | I'm going to use the Source | ||
Mouq | I definitely don't have a `sdl2-config` | 13:53 | |
colomon | okay, make worked this time | 13:54 | |
starting music... | |||
doh, no nativecall! | |||
13:56
kaare__ left,
guru joined
13:57
guru is now known as Guest97139,
Guest97139 is now known as ajr_
13:58
kaare__ joined,
kaare__ is now known as kaare_
|
|||
Mouq | Haha, tadzik++ | 13:59 | |
Got it working after installing from the SDL2 source | |||
13:59
SamuraiJack_ left
|
|||
tadzik | :) | 14:00 | |
colomon | =========================================== | 14:02 | |
Game over! You traveled 532 pixels | |||
=========================================== | |||
2684 ticks in 533 iterations | |||
That's 5.035647 ticks per update | |||
Longest frame took 49 ticks | |||
13 frames skipped | |||
14:03
dmol joined
|
|||
colomon | tadzik++ | 14:03 | |
tadzik | :) | ||
Congratulations :) | |||
masak_ | tadzik++ | 14:07 | |
14:07
masak_ is now known as masak
14:10
iolympian1 joined,
FROGGS_ is now known as FROGGS
|
|||
Mouq | tadzik: gist.github.com/Mouq/0eddb558f2dbf3b1b1c0 | 14:11 | |
tadzik | ah :) | 14:12 | |
nice improvement | |||
I'll apply it as soon as I finish writing the blog post | 14:13 | ||
Mouq | Well, except that you can just hop in the air continuously :) | ||
tadzik | wait, I don't immediately get it | ||
what does it do? | |||
I thought it's "press longer to jump higher" | |||
but now I'm not sure :) | 14:14 | ||
Mouq | Yeah, but I didn't fix it to make it only work once | ||
tadzik | wordpress is crazy | 14:16 | |
lizmat just had to get back to Perl 5 to prevent a CPAN module getting bumped from Debian | |||
Mouq | Haha, this is actually harder than the original gist.github.com/Mouq/a12b912ecbd7999bd5c4 | 14:22 | |
14:22
Sqirrel joined
|
|||
Mouq | (Well, assuming you don't just hold <space> indefinitely :P) | 14:23 | |
14:34
denis_boyun joined
|
|||
tadzik | lol, I blug: ttjjss.wordpress.com/2014/03/23/per...he-window/ | 14:36 | |
vendethiel | tadzik++ # lots of people making that same mistakes right now ;-) | 14:37 | |
tadzik | :) | ||
Mouq | tadzik++ | 14:38 | |
vendethiel | "I chose Perl 6 for performance reasons! Ain’t that something to tell my grandkids about." Ha ! | ||
14:39
jnap joined
|
|||
vendethiel | tadzik: aren't dashes more perl6-y than underscore, though ? | 14:39 | |
vendethiel .oO(Hoping that won't start a flame war ...) | 14:40 | ||
masak | it's a matter of taste, IMHO. | ||
vendethiel | definitely, but it's nice to have conventions | ||
masak | some people say that "dashes are for high-level APIs, underscores for low-level APIs" | ||
moritz | it_kinda_is | ||
masak | but even that is a rule of thumb. | ||
personally, I like the highlighting that vim gives me when I use underscores :> | 14:41 | ||
tadzik | vendethiel: yeah, they are. Did I leave _ somewhere? | ||
vendethiel | "vim driven development" | ||
Mouq | tadzik: The only thing major thing I've run into was that if you set a velocity to a non-Int/int, it breaks mysteriously because x and y expect to be Int. Easy fix, but was annoying when I ran into it | ||
masak | vendethiel: Perl 6 has conventions, but mostly it leaves you to go forth and be a responsible adult. :) | ||
vendethiel | tadzik: I mean the method names | 14:42 | |
tadzik | Mouq: oh, also you may get stuck in a ground at some point :) | ||
vendethiel: oh, indeed | |||
Mouq | tadzik: Hasn't happened yet :) | ||
tadzik | Mouq: the proper way to handle this would be to, in physics(), move everything pixel-by-pixel, checking events every time | 14:43 | |
otherwise, you may get right through an obstacle, and the collision detection will never kick in | |||
I got away without it because the jump always ends exactly at the ground level, not lower :P | |||
moritz | tadzik++ # blog, game | ||
timotimo | it'll be easy to turn that game into FlappyRunner | 14:44 | |
14:44
jnap left
|
|||
tadzik | yep :) | 14:44 | |
moritz | I see that tadzik got the essentials of game programming correct already: cheat wherever you can :-) | ||
vendethiel | I remember that from a game called TeeWorlds. If you went really, really fast, you'd just get through obstacles :D. | 14:45 | |
tadzik | I did my homework :P | ||
ha, Teeworlds! | |||
timotimo | teeworlds is cool | 14:48 | |
14:48
iolympian1 left
|
|||
vendethiel | They don't really have that much dev though, iirc | 14:50 | |
Mouq | Isn't there a way to round a number to a certain precision in Perl 6? | 14:52 | |
Oh, round | |||
:P | |||
tadzik | hah | 14:53 | |
masak .oO( couldn't they have given it a more intuitive name? ) :P | |||
tadzik | I think C++ has set_precision or something | ||
someone should have round_to_precision | |||
Mouq | tadzik: btw, are you putting steroids into the ecosystem? | 14:55 | |
14:55
brrt left
|
|||
tadzik | Mouq: at some point, yes | 14:55 | |
Mouq | tadzik: Sweet :) | 14:56 | |
colomon | dash! dash! dash! | ||
tadzik | now, a new challenge | ||
package moarvm, rakudo along with the game, to distribute a single executable | |||
colomon was apparently backlogging without realizing it... | |||
masak | colomon: that discussion was so 20 minutes ago! :P | 15:00 | |
tadzik | nice, I can bundle moarvm and rakudo with the game, and it only weights 22 MBs | 15:01 | |
I wonder if it works though | |||
moritz | is Moar relocatable? | ||
tadzik | yes | 15:02 | |
apparently | |||
I'll try to run it a new user account | |||
heh, I have a user "timo" here | |||
15:03
thou joined
|
|||
tadzik | yep, it works :) | 15:03 | |
moritz has a user "tjs" here | |||
moritz deletes | |||
oh wait, I was on feather | 15:04 | ||
timotimo | \o/ | ||
moritz | (just kidding) | ||
timotimo | only 22 megabytes for the whole game! | ||
is that compressed? | |||
tadzik | :D | 15:05 | |
no, uncompressed | |||
I just copied a some moarvm files | |||
gist.github.com/tadzik/9724234 | 15:06 | ||
who'll be the first to write a bundler? :) | |||
moritz | au usually is :-) | ||
tadzik | :) | ||
ah, it's dynlinked to /home/tadzik/.rakudobrew/moar-HEAD/install/lib/libmoar.so | 15:07 | ||
booo | 15:08 | ||
so, +3.5 megabytes | |||
also, semi-relocatable :/ | |||
timotimo | well, that's quite a bit of cost for boilerplate, but i'd assume it grows very slowly | ||
due to the expressiveness of Perl 6 code :P | 15:09 | ||
tadzik | :) | ||
timotimo | it's not quite a 96k game, that's for sure | 15:10 | |
tadzik | not with the runtime :) | ||
15:11
breinbaas left
15:13
breinbaas joined
15:18
virtualsue left
15:19
brrt joined,
jnap joined
|
|||
moritz | well, the 96k games also don't contain the complete design of the processor and the operating system | 15:23 | |
timotimo | :) | 15:25 | |
15:26
zakharyas joined
|
|||
Mouq | This is pretty awesome to be able to play around with. tadzik++ | 15:26 | |
15:29
rindolf left
|
|||
tadzik | :) thank you | 15:30 | |
15:37
jnap left
15:39
rindolf joined
15:46
denis_boyun left
15:47
spider-mario left
|
|||
Mouq | Finally got hold-to-jump right github.com/Mouq/ThroughTheWindow | 15:47 | |
.oO( What, I was planning on doing things today? No. Nope, not anymore :P ) |
15:48 | ||
15:49
rindolf left
|
|||
tadzik | :) | 15:53 | |
I see that you're getting ready for the contest :) | 15:54 | ||
masak | tadzik: ss/I'll be better <(of)>/off/ | ||
15:55
Timbus joined
|
|||
tadzik | oh, thank you | 15:58 | |
16:05
mtk left
|
|||
moritz | masak: that )> was redundant :-) | 16:16 | |
masak | hah. :) | 16:17 | |
16:20
kivutar left
|
|||
itz__ | does panda have moar-support merged I forget? | 16:21 | |
Mouq | itz__: It does :) | 16:22 | |
16:30
SamuraiJack_ joined
16:34
kurahaupo joined
16:46
Ulti_ is now known as Ulti
17:18
kurahaupo left
17:20
pmurias joined
|
|||
pmurias | tadzik: MoarVM is faster then typescript? | 17:21 | |
masak | pmurias: I honestly don't know by which measure TypeScript would be "slow". it compiles down to JavaScript, mostly by erasure. | 17:22 | |
timotimo | pmurias: only compile-time wise ;) | 17:23 | |
pmurias | that's what I suspected | ||
timotimo: so the compiler startup is slow? | 17:24 | ||
(when not using an IDE for it?) | 17:25 | ||
17:25
mls_ joined
|
|||
moritz | well, generated javascript could also be suffciently indirect to be slow | 17:26 | |
timotimo | that's kind of hard for javascript | 17:27 | |
given how crazy v8 and friends are | |||
17:28
mls left
|
|||
moritz | how fast is nqp-js? | 17:30 | |
timotimo | oh ... well ... | 17:33 | |
you may have a point there :) | |||
vendethiel | though js might be the fastest backend | 17:36 | |
17:40
ajr_ left,
guru joined
17:41
kurahaupo joined,
guru is now known as Guest65722,
Guest65722 is now known as ajr_
17:51
kurahaupo left
17:52
xenoterracide joined
17:53
brrt left
17:56
ajr_ left
17:59
kurahaupo joined
18:04
xenoterracide left
18:10
xenoterracide joined
18:11
hoverboard joined
18:15
SamuraiJack_ left
18:19
avar joined,
avar left
18:20
avar joined
18:21
kurahaupo left
18:28
ajr_ joined
|
|||
timotimo | how should i implement :chomp for quoting? | 18:34 | |
so far, there's a "method postprocess", for things like run, var, words, ... | 18:35 | ||
it would probably make sense to implement it as a postprocessor, but the current model only envisions a single postprocessor to exist | |||
jnthn | With mixins, same as the other adverbs. | 18:36 | |
timotimo | yeah, but when i mixin a method postprocessor, it will only call that | ||
jnthn | Then just check if the language has a .chomp or so | ||
timotimo | i thought of that, too, but i thought it would pessimize all quotings | 18:37 | |
jnthn | The postprocessor can look at other properties, no? | ||
timotimo | i'm not sure i understand | ||
you mean i should teach all postprocessors to look if there's a .chomp? | |||
jnthn | ah, I see what you mean...it wants to work with all of them. | ||
Hmmm. | |||
timotimo | yes, it does | 18:38 | |
jnthn | Maybe it can happen somewhere around the place that calls the postprocessor? | ||
timotimo | i'm glad i'm not just too dumb :P | ||
jnthn | Well, it's been a while since I hacked on this :) | ||
timotimo | it could, aye | ||
so, the :chomp adverb shouldn't introduce an actual chomp call that would remove newlines from the very end if the user interpolates something? | 18:39 | ||
i.E. q:chomp"hello there, $foo"; with $foo = "timo\n";, will that result in "hello there, timo\n" or "hello there, timo"? | |||
18:43
moukeddar joined
|
|||
moukeddar | o/ #perl6 | 18:43 | |
Mouq | o/ moukeddar | ||
timotimo | i just got a mail with broken umlauts/utf8 from the GPW team | 18:44 | |
>_< | |||
FROGGS | timotimo: it is from barbie not from the gpw orga | 18:46 | |
jnthn | It's a good job German doesn't use umlauts...oh, wait... | ||
FROGGS | :P | ||
jnthn | timotimo: Well, I'd hope in the constant string case we can do it automatically | ||
FROGGS | jnthn: you don't even use lauts! | ||
(at least not in your name) | 18:47 | ||
jnthn | They're overrated :P | ||
timotimo | jnthn: yes, that's exactly what i'm hoping to make | ||
jnthn | timotimo: but yeah, call back to .chomp call or so. | ||
timotimo | just like when i fixed heredoc dedenting some time ago | ||
so, :chomp on a quoter should also chomp from interpolated strings? | 18:48 | ||
Mouq | timotimo: You could model it off of postprocess_words | ||
timotimo | before i implement it, i'd like to spec that | ||
Mouq: postprocess_words is b0rked, though :P | |||
jnthn | That'd seem reasonable... | ||
Mouq | Oh | ||
timotimo | it would be quite a challenge to make that thing work properly | ||
jnthn | b0rked? Really? | 18:49 | |
Example? | |||
timotimo | r: say <<foo\ bar>>.elems | ||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«2» | ||
Mouq | timotimo: That's postprocess_quotewords | ||
timotimo | oh! | ||
oops :) | |||
so postprocess_words is just <foo bar baz>? | 18:50 | ||
Mouq | yeah | ||
timotimo | r: say <foo bar\ baz>.elems | ||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«3» | ||
timotimo | but that should have 2 elems, shouldn't it? | ||
jnthn | I'm not actually sure :) | ||
Mouq | I was just saying with respect to using $past.has_compile_time_value | ||
FROGGS | r: say < $< $> >.elems | ||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«1» | ||
FROGGS | this should have two :o) | ||
18:51
darutoko left
|
|||
timotimo | github.com/rakudo/rakudo/blob/nom/...ns.nqp#L13 ← Mouq, i'm responsible for most of this code, so i know how this should be implemented ... probably :) | 18:51 | |
Mouq | timotimo: Heh, ok :) | ||
timotimo | you see, i'm an expert! | 18:52 | |
Mouq | And timotimo++ | ||
18:54
kurahaupo joined
18:55
ssutch joined
18:57
Sqirrel left
|
|||
Mouq | r: say <a \qq<bc d {1+14} \q:w<$not interpolated>> e> | 18:58 | |
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«a bc d 15 $not interpolated e» | ||
Mouq | r: say <a \qq<bc d {1+14} \q:w<$not interpolated>> e>.perl | ||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«("a", "bc", "d", "15", "\$not", "interpolated", "e").list» | ||
Mouq | Huh | 18:59 | |
My thought is that would be "a", "bc d 15 $not interpolated", "e" | |||
n: say <a \qq<bc d {1+14} \q:w<$not interpolated>> e>.perl | |||
camelia | niecza v24-109-g48a8de3: OUTPUT«("a", "bc", "d", val("15"), "\$not", "interpolated", "e").list» | ||
timotimo | i don't think i know anything about how all that is supposed to work o_O | ||
Mouq | n: say <a \q:to/INTERPOLATED_HERDOC/ e>.perl b c d INTERPOLATED_HEREDOC | 19:01 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«===SORRY!===Ending delimiter INTERPOLATED_HERDOC not found at /tmp/tix8puJe45 line 2:------> <BOL>⏏ b cParse failed» | ||
Mouq | r: say <a \q:to/INTERPOLATED_HERDOC/ e>.perl b c d INTERPOLATED_HEREDOC | ||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileEnding delimiter INTERPOLATED_HERDOC not foundat /tmp/tmpfile:4------> INTERPOLATED_HEREDOC⏏<EOL> expecting any of…» | ||
Mouq | r: say <a \q:to/INTERPOLATED_HERDOC/ e>.perl; b c d INTERPOLATED_HEREDOC | 19:02 | |
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileEnding delimiter INTERPOLATED_HERDOC not foundat /tmp/tmpfile:4------> INTERPOLATED_HEREDOC⏏<EOL> expecting any of…» | ||
Mouq | r: say <a {q:to/INTERPOLATED_HERDOC/} e>.perl; b c d INTERPOLATED_HEREDOC | ||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared name: INTERPOLATED_HEREDOC used at line 4Undeclared routines: b used at line 2 c used at line 2 d used at lin…» | ||
Mouq | Bluh | ||
r: say <a \qq<{q:to/INTERPOLATED_HERDOC/}> e>.perl; b c d INTERPOLATED_HEREDOC | |||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileEnding delimiter INTERPOLATED_HERDOC not foundat /tmp/tmpfile:4------> INTERPOLATED_HEREDOC⏏<EOL> expecting any of…» | ||
Mouq | Admittedly, anyone doing that in actual code deserves to be punched. | 19:03 | |
r: say <a \qq<{q:to/INTERPOLATED_HEREDOC/}> e>.perl; b c d INTERPOLATED_HEREDOC | |||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«("a", "b", "c", "d", "e").list» | ||
Mouq | Yay! | 19:04 | |
r: say <a \q:to/INTERPOLATED_HEREDOC/ e>.perl; b c d INTERPOLATED_HEREDOC | |||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«("a", "b", "c", "d", "e").list» | ||
Mouq is done spamming :P | |||
vendethiel | r: say < $< $> > | 19:07 | |
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«$<$>» | ||
vendethiel | r: say < $< $> >.perl | ||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«"\$<\$>"» | ||
Mouq | std: < $< $> > | ||
camelia | std 09dda5b: OUTPUT«ok 00:00 121m» | ||
Mouq | Why does that even parse? | ||
pmurias | moritz: have you measured the performance of nqp-js? | ||
moritz: the code it currently generates is extremely stupid atm | 19:08 | ||
Mouq | Oh, duh <nibbler> is recursive, and so matching braces are fine | 19:10 | |
r: say < anything < $> >.perl | 19:11 | ||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«("anything", "<\$>").list» | ||
Mouq | r: say < anything < some thing else > >.perl | ||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«("anything", "<some", "thing", "else>").list» | ||
pmurias | I haven't intentionally measure the performance of nqp-js yet, but early self hosting seems to be significantly faster then the equaly stupid perl5 code kp6 emitted | ||
19:11
hoverboard left
|
|||
Mouq | r: say < anything \< some thing else \> >.perl | 19:13 | |
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«("anything", "\\<", "some", "thing", "else", ">")» | ||
Mouq | r: say < anything < some thing else \> >.perl | ||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUnable to parse expression in quote words; couldn't find final '>' at /tmp/tmpfile:1------> < anything < some thing else \> …» | ||
Mouq | std: say < anything < some thing else \> >.perl | ||
camelia | std 09dda5b: OUTPUT«===SORRY!===Unable to parse quote words at /tmp/zYGCu_alcc line 1:------> say ⏏< anything < some thing else \> >.perlCouldn't find final '>'; gave up at /tmp/zYGCu_alcc line 1 (EOF):------> < anything < s…» | ||
moritz | pmurias: no, I haven't; that's why I asked | 19:15 | |
Mouq | .ask TimToady Should :q be able to escape its starter? This is the same as asking if, e.g. "< \< >" should produce "<" or "\<", considering that "< < >" is a syntax error | 19:16 | |
yoleaux | Mouq: I'll pass your message to TimToady. | ||
FROGGS | "< \< >" has to produce '<' IMO | 19:17 | |
19:17
zakharyas left
19:21
hoverboard joined
|
|||
Mouq | n: < \< >.say | 19:21 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«\<» | ||
Mouq doesn't understand what's wrong with « » | 19:27 | ||
p6: « 'a thing' b ».perl.say # nietza is wrong here | |||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«("a thing", "b")» | ||
..niecza v24-109-g48a8de3: OUTPUT«("'a", "thing'", "b")» | |||
Mouq | *niecza | ||
19:28
Sqirrel joined
|
|||
Mouq | p6: say « :Mon(1) Tue Wed Thu Fri Sat Sun » | 19:28 | |
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«Tue Wed Thu Fri Sat Sun» | ||
..niecza v24-109-g48a8de3: OUTPUT«:Mon(1) Tue Wed Thu Fri Sat Sun» | |||
Mouq | p6: say enum « :Mon(1) Tue Wed Thu Fri Sat Sun » | ||
camelia | rakudo-jvm ffa572: OUTPUT«EnumMap.new("Thu", 2, "Sun", 5, "Wed", 1, "Sat", 4, "Fri", 3, "Tue", 0, "Mon", 1, )» | ||
..rakudo-parrot ffa572, rakudo-moar ffa572: OUTPUT«EnumMap.new("Mon", 1, "Tue", 0, "Wed", 1, "Thu", 2, "Fri", 3, "Sat", 4, "Sun", 5, )» | |||
..niecza v24-109-g48a8de3: OUTPUT«Use of uninitialized value in string context at /home/p6eval/niecza/boot/lib/CORE.setting line 1355 (warn @ 5)  at /home/p6eval/niecza/boot/lib/CORE.setting line 266 (Mu.Str @ 15)  at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval…» | |||
19:30
rindolf joined
19:31
virtualsue joined
19:32
pmurias left
|
|||
nwc10 | timotimo: I got that mail too. The source is wierd. It's not obvious how it is messed up. | 19:37 | |
Seems to contain munged escape codes | |||
timotimo | hmm | 19:40 | |
i wonder how hard it is to write a simulator for reaction-diffusion systems | 19:41 | ||
nwc10 | aha, no, that's something stupid my setup is doing locally | ||
it's double encoded, I think. | |||
Mouq | .ask TimToady And is "In addition, the double angles allow for comments beginning with #. These comments work exactly like ordinary comments in Perl code" still valid and just NYI? | 19:42 | |
yoleaux | Mouq: I'll pass your message to TimToady. | ||
FROGGS | Program received signal SIGSEGV, Segmentation fault. | 19:51 | |
#1 MVM_frame_inc_ref (tc=tc@entry=0x603500, frame=0x0) at src/core/frame.c:43 | |||
#2 0x00007ffff588a1e4 in p6captureouters (tc=0x603500) at src/vm/moar/ops/perl6_ops.c:502 | |||
:( | 19:52 | ||
timotimo | y? | ||
19:53
Ihasntgotnosandw joined
|
|||
Ihasntgotnosandw | greetins, ladies and gentlemen | 19:53 | |
I'm new on this perl 6 thing, what's it about? | |||
timotimo | does your name mean you don't have any sand? | 19:54 | |
Mouq | Well, it's an awesome programming language | ||
Ihasntgotnosandw | my name means that I don't have no sandwich | 19:55 | |
timotimo | ah! | ||
Ihasntgotnosandw | I'm concidering to try perl out | ||
timotimo | it seems the irc server cut off the sandwich part of your name :( | ||
so you really don't have a sandwich | |||
not even in your name | |||
somehow that's pretty fitting | |||
FROGGS | hehe | ||
Ihasntgotnosandw | well, it's a double negative | 19:56 | |
I don't have no sandwich | |||
FROGGS | timotimo: btw, I run into that problem when compiling v5 | ||
timotimo | FROGGS: ;( | ||
maybe you're trying to capture outers, but there is no outer frame? | |||
moritz | r: say 'Ihasntgotnosandw' ~~ 'has no sandwich' | 19:58 | |
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«False» | ||
moritz | r: say 'Ihasntgotnosandw' ~~ 'has a sandwich' | ||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«False» | ||
FROGGS | timotimo: I am throwing an exception now, I hope the backtrace shows something useful | 19:59 | |
timotimo | Ihasntgotnosandw: so, do you already have experience with programming languages? | ||
Mouq | r: say 'Ihasntgotnosandw'.lc.comb ⊇ <has no sandwich>».comb | 20:00 | |
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«False» | ||
Ihasntgotnosandw | I do have experience with some programming languages, but not perl | ||
Mouq | r: say 'Ihasntgotnosandw'.lc.comb,'c' ⊇ <has no sandwich>».comb | ||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«i h a s n t g o t n o s a n d wFalse» | ||
Ihasntgotnosandw | I'm new with perl, it will be amazing to get started with it | ||
Mouq | r: say ('Ihasntgotnosandw'.lc.comb,'c' ⊇ <has no sandwich>».comb) | ||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«i h a s n t g o t n o s a n d w False» | ||
timotimo | perl6: my $alpha = "foo"; my $beta = "bar"; qww[$alpha $beta]; | ||
Mouq | Oh | ||
camelia | ( no output ) | ||
..niecza v24-109-g48a8de3: OUTPUT«Potential difficulties: $alpha is declared but not used at /tmp/tmpfile line 1:------> my ⏏$alpha = "foo"; my $beta = "bar"; qww[$a $beta is declared but not used at /tmp/tmpfile line 1:------> my $alpha = "foo"…» | |||
Mouq | r: say ('Ihasntgotnosandw'.lc.comb,'c') ⊇ <has no sandwich>».comb | ||
20:00
kivutar joined
|
|||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572: OUTPUT«True» | 20:00 | |
Mouq | There | 20:01 | |
So you almost has no sandwich | |||
20:01
Ihasntgotnosandw left
|
|||
timotimo | :o | 20:01 | |
perl6: my $alpha = "foo"; my $beta = "bar"; say qww[$alpha $beta]; $alpha ~ $beta; | |||
camelia | rakudo-parrot ffa572, rakudo-jvm ffa572, rakudo-moar ffa572, niecza v24-109-g48a8de3: OUTPUT«$alpha $beta» | 20:02 | |
20:03
mtk joined
|
|||
FROGGS | hmmm, it is the invocation of: rakudo/src/Perl6/World.nqp:1717: nqp::p6captureouters2([$code], nqp::getstaticcode($!resolved)); | 20:03 | |
20:04
toebu joined
|
|||
FROGGS | (when loading Perl5::Terms from Perl5::Config) | 20:04 | |
20:05
brrt joined
|
|||
Mouq | FROGGS: Do you think it's related to segfaults I was getting with Pod::To::HTML? | 20:06 | |
FROGGS | Mouq: yes | ||
though, it is hard for me to golf down | |||
because there is a lot of magic happening in v5 | |||
might be easier to golf down Pod::To::HTML | 20:07 | ||
jnthn | It'll be almost certainly golfable to something involving roles, I imagine. | ||
20:07
hoverboard left
|
|||
FROGGS | there are roles in Perl5::Terms, yes | 20:08 | |
timotimo | roles: does anybody even use them? should we strip them from the language? | 20:09 | |
FROGGS | Perl5::Config does not touch these roles though, it just loads Perl5::Terms in EXPORT | ||
timotimo: :P | |||
dalek | ast: a62e0ae | (Timo Paulssen)++ | S02-literals/quoting.t: rakudo.moar doesn't need to skip openpipe any more. |
20:12 | |
timotimo | more passing tests for rakudo.moar! | ||
20:13
denis_boyun joined
|
|||
FROGGS | timotimo++ | 20:16 | |
20:16
sisar joined
|
|||
Mouq | Can perl6.org/compilers/features be updated as well? ("run, qx") | 20:17 | |
FROGGS | hmmm, I thought TimToady++ did that | 20:18 | |
Mouq | Oh, he did | ||
FROGGS | github.com/perl6/features/commit/5...8bea4d2f17 | ||
yeah | |||
Mouq | " The page itself was updated Sun Mar 2 07:12:01 2014 " | ||
FROGGS | The data to generate this page was last updated Fri Jan 17 02:42:02 2014 ; The page itself was updated Sun Mar 2 07:12:01 2014 | 20:19 | |
Mouq | I think there were a bunch of cron jobs that used to be run and no longer are (e.g. modules.perl6.org) | ||
20:19
BenGoldberg joined
|
|||
moritz | cron on feather2 still runs though :) | 20:20 | |
FROGGS | jnthn: damn, I was hoping to be able to compile v5 when I just do not inc that frame when it is NULL, but now it hangs where is segfaulted before :/ | ||
jnthn | FROGGS: Yeah, I was figuring if that thing comes out null something else is adrift...it shoulnd't happen. | ||
FROGGS | jnthn: would it be of any help when I would golf it down for you? | 20:21 | |
jnthn | FROGGS: Yes. I'll be home by this time tomorrow and will have a decentish tuit supply this week. | 20:22 | |
moritz checks the various cron jobs | |||
FROGGS | well, I am going to give a v5 talk on wednesday, but no pressure *g* | ||
jnthn | oh, should probably unbust that then :) | 20:23 | |
FROGGS | well, I could go back by a week, but when I can golf it it would be nice anyway | ||
Mouq: you just compiled Pod::To::HTML to get that problem? | 20:24 | ||
Mouq | Yeah | ||
panda install --notests Pod::To::HTML | |||
perl6 -MPod::To::HTML -e1 | 20:25 | ||
FROGGS | k | ||
Mouq | Segfaults for me | ||
FROGGS | thanks | ||
moritz | perlpunks.de/paste/show/532f4323.4de6.32b output from the modules.perl6.org cron job | ||
oh my | 20:26 | ||
the script that calls it starts with git-pull -x -f | |||
erm, -q -f | |||
but, current versions of debian don't put the dashed git commands into $PATH | |||
so It has to be called as git pull | |||
timotimo | we need monitoring :) | 20:27 | |
20:27
Araq joined
|
|||
FROGGS | nagios \o/ | 20:27 | |
timotimo | kanla \o/ | ||
lizmat | FROGGS++ for v5 | ||
Mouq | moritz++ | 20:28 | |
FROGGS | lizmat: the pause patches got applied, now only the indexer is left TBD :o) | ||
lizmat | do you mean that panda can install from CPAN already ?? | 20:29 | |
FROGGS | no | ||
lizmat | okok | ||
FROGGS | we need the indexer for that | ||
lizmat | no pressure :-) | ||
why ? we need a recommendation manager, afaics | |||
FROGGS | but you can upload a Perl 6 dist, it goes into the Perl6/ subdir, and it will not get picked up for Perl5ish indexing | 20:30 | |
lizmat | or am I missing something ? | ||
indeed, that was the plan :-) | |||
FROGGS | you also need to find dists by name (or provides) | ||
lizmat | indeed, so we need a recommendation manager | ||
FROGGS | and that is what we need to provide: 02packages like list of all dists as json or so | ||
lizmat | which is what a recommendation manager is, to an extent | 20:31 | |
FROGGS | no, even without recommendations you need to know what tarballs are there | ||
lizmat | ah, ok | ||
yeah, got ya | |||
basically, an "available distributions" list | 20:32 | ||
moritz | "features" cronjob likewise fixed | ||
FROGGS | lizmat: yes, exactly | ||
moritz++ | |||
lizmat | FROGGS++ :-) | ||
FROGGS | :o) | ||
20:33
sisar left
|
|||
masak | FROGGS++ lizmat++ moritz++ | 20:34 | |
Araq | any release date for Perl 6? | 20:35 | |
moritz | Araq: well, the compiler has monthly releases; no release date for the language spec yet | 20:36 | |
Araq | so what does the compiler implement then? | 20:37 | |
lizmat | 90+% of the spec ? | ||
.oO( lies, damn lies and statistics ) |
|||
30.6K spectests ? | 20:38 | ||
3 backends ? | |||
Mouq | *3.5 backends ? | 20:39 | |
:) | |||
moritz | Araq: the unreleased spec | ||
lizmat | isn't number of backends a native int ? | ||
moritz | Araq: we haven't released the specs; they escaped | 20:40 | |
Araq | well what's missing? and why not call it 1.0 already? | 20:41 | |
Mouq wanted to throw nqp-js in too | 20:42 | ||
lizmat | which would mean that nqp has 4 backends, and rakudo 3 (so far) | 20:43 | |
looking forward to adding js to the rakudo backend list! | 20:44 | ||
jnthn | Araq: Parts of the spec we perhaps could. But just freezing and throwing out the spec in whatever form it happens to be in, regardless of where implementations of it are at, would be enormously unhelpful. | ||
Araq: Most of what drives spec changes now is implementations saying "hang on, that bit...it's nuts" :) | 20:45 | ||
FROGGS | or like the concurrency implementation that was done recently, and was specced afterwards (you cannot really spec that out of thin air) | 20:46 | |
jnthn | Araq: It's not a waterfall model. Spec and implementation learn from each other. | ||
20:46
brrt left
|
|||
timotimo | it's more a whirlpool | 20:46 | |
FROGGS | *g* | 20:47 | |
nice and warm :o) | |||
Araq | well what's missing? what about some examples? | ||
timotimo | only arcane parts :P | ||
FROGGS | Araq: here are some details: ethercalc.org/i982ooyabg.html | 20:48 | |
timotimo | that spreadsheet is weird to me | ||
FROGGS | I dunno if that list is really helpful for you though | ||
Mouq | perlcabal.org/syn/ "[DRAFT]" and "(TBD)" | ||
FROGGS | yeah | ||
Mouq: it is not that easy though, because some are marked draft where I don't really see that these are so slushy | 20:49 | ||
lizmat | As far as I'm concerned, [DRAFT] could be removed from S22 | ||
FROGGS | then do it :o) | ||
20:50
baest joined
|
|||
Mouq | FROGGS: True. I don't really see S14 as a draft either at this point | 20:50 | |
FROGGS | Araq: this might be easier to read: github.com/rakudo/rakudo/blob/nom/docs/ROADMAP | ||
lizmat | FROGGS: where does that page live ? | ||
20:50
Rotwang joined
|
|||
lizmat | found it | 20:50 | |
20:51
ajr_ left
|
|||
dalek | : 1c70bc0 | (Elizabeth Mattijsen)++ | docs/feather/syn_index.html: Fix references of S22 and S11 |
20:54 | |
Mouq | Is S18-Compiling really something that needs its own Synopsis at this point? | ||
lizmat++ | |||
lue | Mouq: since the synopses are based off that one Perl book, my guess is that it's related to compiling Perl 6. | 20:56 | |
dalek | : 3930588 | (Elizabeth Mattijsen)++ | docs/feather/syn_index.html: Refine reference to S17 (hardly a draft anymore) |
||
ecs: 991c0bf | (Elizabeth Mattijsen)++ | S17-concurrency.pod: Undraft S17 |
20:57 | ||
FROGGS | jnthn: I golfed it for Pod::To::HTML | 20:58 | |
it is just: | |||
#= hi | |||
sub hallo { } | |||
lue | Mouq: S27 seems similarly useless :) | ||
FROGGS | jnthn: precompile, and use that | ||
jnthn: v5 must be something else though | 20:59 | ||
Mouq | FROGGS++ | 21:00 | |
It might be a symptom of the same thing though | |||
21:00
virtualsue left
21:02
moukeddar left
|
|||
FROGGS | might be, yeah | 21:02 | |
Mouq wonders if S29 and S32 can/ought to be merged | 21:03 | ||
timotimo | hmm | 21:05 | |
one is mostly for classes and methods, the other mostly for subs | |||
lue | Mouq: looks to me S29 needs to be thrown out and replaced. | ||
21:09
kurahaupo left,
kaare_ left
21:19
brrt joined
21:20
brrt left
21:25
hoverboard joined
|
|||
FROGGS | jnthn: two very very simple test cases: github.com/FROGGS/frame_inc | 21:26 | |
masak | Mouq: in fact, S32 was pulled out of S29 once. | 21:32 | |
Mouq: but I agree since then S32 has gotten more love. and maybe S29 fills no need anymore. | |||
moritz | S29 is mostly builtins that aren't yet properly put into classes | 21:33 | |
21:36
Mouq left
|
|||
colomon | hey, no need to class-ify everything. that's java-think. | 21:37 | |
vendethiel | colomon: java-think is to factorify everything ;) | 21:38 | |
21:41
telex left
|
|||
FROGGS | colomon: I like that you can choose whether you call it as a sub or as a method (like I prefer to call 'item' as a method) | 21:41 | |
21:42
telex joined
|
|||
colomon | FROGGS: I think the point is that the S29 things don't have method forms yet. | 21:45 | |
FROGGS | colomon: exactly, and I try to say that I like to have methods forms for most built-ins | 21:46 | |
colomon | Ah. I'm trying to say that, while I like it for most (all?) of the ones we have methods for -- I too prefer method form -- I don't think everything has to be a method. | 21:47 | |
FROGGS | only if it makes sense, aye | ||
colomon | the example I'm thinking of is "shell" | ||
FROGGS | yes, or 42.sleep | 21:48 | |
I would never write that | |||
colomon | erxactly! | 21:49 | |
exactly! | |||
vendethiel | "42.sleep" is not a java-ish way, though | 21:50 | |
FROGGS | I am not familiar with Java | 21:52 | |
jnthn | PillowFactory.getPillow().sleep(new WinksValueObject(40)); /* there! */ | ||
vendethiel | java-ish way would be `Factory sleepFactory = new sleepFactory(); var sleep = sleepFactory.createSleepObject(); sleep.sleepForDuration(sleep.convertSeconds(42));` | 21:53 | |
lue | I think S29 could be useful, it's just got a lot of oldisms, and a general "this hasn't been updated for years" feel. | ||
jnthn | FROGGS: Thanks for the extra cases | ||
FROGGS: cloned them locally in case I've energy to look en route | |||
21:54
Araq left
|
|||
FROGGS | jnthn++ | 21:54 | |
:o) | |||
21:54
Sqirrel left
22:01
pippo_ left
22:06
Mouq joined
|
|||
masak | FROGGS: 42.sleep feels distinctively Rubyish to me. | 22:06 | |
FROGGS: Ruby does have the 42.times method, among other things. because ints should totally be responsible for control flow :) | 22:07 | ||
vendethiel | *and* ruby for loops get translated to `x.times` | ||
or `.each`, for that matters | |||
jnthn | Control flow is an integral part of any programming language... :P | ||
FROGGS | I perhaps get more in touch with ruby this year ("in touch at all" I should say) | ||
22:11
Sqirrel joined
22:14
colomon left
22:20
Sqirrel left
22:21
Sqirrel joined
22:23
colomon joined
|
|||
Mouq | r: .say for CORE::.pairs | 22:34 | |
camelia | rakudo-parrot ffa572: OUTPUT«"\&bag" => 3927"\&mix" => 3931"Version" => 3935"\&infix:<=>" => 3939"\&infix:<does>" => 3943"\&infix:<but>" => 3947"\&SEQUENCE" => 3951"\&WHAT" => 3955"\&VAR" => 3959"\&infix:<...>" => 3963"\&infix:<...^>" => 4367"\&undef…» | ||
..rakudo-jvm ffa572: OUTPUT«"Supply" => Mu"Iterator" => Mu"\&infix:<||>" => Mu"\&infix:<~>>" => Mu"\&WHAT" => Mu"\&all" => Mu"\&postcircumfix:<[ ]>" => Mu"\&THROW" => Mu"\&slurp" => Mu"\&gist" => Mu"\$WINNER_KIND_MORE" => Mu"\&infix:<∋>" => Mu"Has…» | |||
..rakudo-moar ffa572: OUTPUT«"\%DEPRECATIONS" => Mu"\&fail" => Mu"\&zip" => Mu"\%pvalcodecache" => Mu"\%propcodecache" => Mu"\$?TABSTOP" => Mu"\$UINT64_UPPER" => Mu"\$sprintfHandlerInitialized" => Mu"\$default" => Mu"\$NaN" => Mu"\$Inf" => Mu"\&samewit…» | |||
22:40
Sqirrel left
22:42
Sqirrel joined
22:46
denis_boyun left
22:56
Sqirrel left
|
|||
lizmat | gnight, #perl6! | 23:03 | |
Mouq | night lizmat! | 23:05 | |
masak | 'night, #perl6 | ||
Mouq | night masak! | ||
23:08
mtk left
23:09
Rotwang left
23:10
Psyche^ left
23:14
Sqirrel joined
|
|||
timotimo | gnite | 23:19 | |
23:25
dmol left
23:36
hoverboard left
|
|||
timotimo | numberwang-2048 is the best 2048 i've seen so far | 23:36 | |
colomon | numberwang! | 23:40 | |
tadzik | pmu<TAB><TAB> | 23:43 | |
:| | |||
23:43
Sqirrel left
23:44
Sqirrel joined
|
|||
timotimo | pmuchaud? | 23:48 | |
23:49
ssutch_ joined
|
|||
tadzik | pmurias :) | 23:51 | |
re moarvm faster than typescript: because of ~3-seconds-long compile times with typescript, the development cycle on moarvm was just a lot more pleasant | |||
hah, someone reddited it: www.reddit.com/r/perl/comments/216d..._one_week/ | 23:52 | ||
raiph++ | |||
ssutch_ | i clicked that link at exactly the same time you posted it | 23:54 | |
but on reddit | |||
23:54
Mouq left
23:55
sftp joined
|
|||
tadzik | :) | 23:57 | |
23:57
Mouq joined
|
|||
timotimo | ohai ssutch_ | 23:58 | |
ssutch_ | hello! | ||
timotimo | will you be taking part in the game contest? | ||
ssutch_ | there's a game contest? | ||
tadzik | yep | ||
at the bottom of the post | |||
ssutch_ | ah cool, i haven't finished it yet | 23:59 | |
timotimo | no need to finish the contest right now | ||
ssutch_ | (the post) |