»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
cognominal m: sub foo(int $val is rw) { $val = 42 }; 00:00
camelia ( no output )
cognominal this should give an error. One can't mutate an int
cognominal m: sub foo(int $val is rw) { $val = 42 }; my int $i = 0; foo($i); say $i 00:01
camelia rakudo-moar 09cc2f: OUTPUT«42␤»
cognominal oops
I was wrong
m: sub foo(int $val is rw) { $val = 42 }; my $i = 0; foo($i); say $i
camelia rakudo-moar 09cc2f: OUTPUT«Expected a modifiable native int argument for '$val'␤ in sub foo at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
cognominal ok, I underdstand my mistake. 00:02
cognominal really a reference 00:03
m: sub foo(int $val is rw) { $val = 42 }; my Int $i = 0; foo($i); say $i 00:04
camelia rakudo-moar 09cc2f: OUTPUT«Expected a modifiable native int argument for '$val'␤ in sub foo at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
dalek c: e15bc8f | (Wenzel P. P. Peppmeyer)++ | doc/Language/operators.pod:
doc .&
00:06
lambd0x :'-) My first perl6 code to actually to something, 'll try to improve it later on. bpaste.net/show/bd7be883000d 00:08
*do some...
parabolize tbrowder: this is disgusting but you could explicitly create a capture and flatten it in place: `foo |\(2, 3)` 00:10
tbrowder actually, this also works: 00:14
m: sub foo($x,$y){$x+$y}; foo |(2,3);
camelia ( no output )
tbrowder m: sub foo($x,$y){ say "$x $y"}; foo |(2,3);
camelia rakudo-moar 09cc2f: OUTPUT«2 3␤»
tbrowder m: sub foo($x,$y){ say "$x $y"}; foo flat (2,3); 00:15
camelia rakudo-moar 09cc2f: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤ in sub foo at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
tbrowder m: sub foo($x,$y){ say "$x $y"}; foo (flat (2,3));
camelia rakudo-moar 09cc2f: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤ in sub foo at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
tbrowder weird...
tbrowder: scratches head and sees explanation getting complicated... 00:16
TimToady flat flattens the arguments *to* flat, but not the list in which flat occurs; in contrast | flattens into the surrounding list 00:30
yoleaux 22 Jun 2016 18:06Z <BrokenRobot> TimToady: message for you: irclog.perlgeek.de/perl6/2016-06-22#i_12713791
k0dr Looking at the docs for perl 6 and confused over documentation.perl6.org/documentation/ vs docs.perl6.org 00:31
per Util, documentation.perl6.org/ should redirect to docs.perl6.org
Not sure I can help with that. Any thoughts?
lizmat moritz knows how to fix that, but I'm not sure we should 00:32
k0dr They certainly aren't the same docs. But one does seem to have more external links. 00:33
lizmat well, simply rename documentation.perl6.org to doc.perl6.org will cause at least one link to recurse 00:34
timotimo k0dr: documentation.perl6.org isn't set up at all, so it just defaults to www.perl6.org 00:35
mspo ditto sandwiches.perl6.org 00:36
k0dr Ah yes, sorry about inflating the url. However, perl6.org/documentation/ does work and goes to a completely different place than docs.perl6.org. 00:37
timotimo yup
k0dr Is there a right or wrong? Should they be merged?
Or are these meant for different purposes/audience? 00:40
timotimo perl6.org/documentation does link to the docs.perl6.org
parabolize where is the < ... > operator tested in roast? S02-literals/allomorphic.t? what does the :v in qw:v/ ... / do? I ask because I'm trying to write a pull request for pygments.lexers.perl.Perl6Lexer.tokens. `r'<[^\s=].*?\S>', String` isn't doing the trick. It gets false matches and misses things it shouldn't. 00:54
timotimo the :v means "pass it through var", which is also what < foo > does 00:55
MasterDuke .tell tbrowder github.com/FROGGS/p6-Slang-Tuxic will let you put a space between a sub and its argument list 00:59
yoleaux 14 Jun 2016 07:34Z <lizmat> MasterDuke: Daniel Green it is :-)
MasterDuke: I'll pass your message to tbrowder.
18 Jun 2016 19:04Z <timotimo> MasterDuke: unfortunately the core dump doesn't actually give me any stack traces or anything inside :( 01:00
tbrowder MasterDuke: t'anks a lot!! 01:02
yoleaux 00:59Z <MasterDuke> tbrowder: github.com/FROGGS/p6-Slang-Tuxic will let you put a space between a sub and its argument list
MasterDuke tbrowder: welcome. i only found out about it because it's required by Text::CSV 01:03
timeless m:for "1 2 3".comb(/\d/) <-> $k { say $k; }' 01:47
m: for "1 2 3".comb(/\d/) <-> $k { say $k; }'
camelia rakudo-moar 09cc2f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Strange text after block (missing semicolon or comma?)␤at <tmp>:1␤------> 3or "1 2 3".comb(/\d/) <-> $k { say $k; }7⏏5'␤»
timeless m: for "1 2 3".comb(/\d/) <-> $k { say $k; }
camelia rakudo-moar 09cc2f: OUTPUT«Parameter '$k' expected a writable container, but got Str value␤ in block <unit> at <tmp> line 1␤␤»
timotimo random find of the day: if you have a set (maybe same with hashes?) using "if $theset{$value}" is considerably slower than "if defined $theset{$value}" 01:58
i'll now have a very long, close look at my pillow 01:59
BrokenRobot re sandwiches.perl6.org: DNS is set to point *.perl6.org to perl6.org for @reasons (IIRC it was easier than having to bug some entity to setup an extra subdomain each time we needed one)
random find of the day: /foo/ is way faster than my @wat = 'foo'; /@wat/; 02:00
m: my @c = eager ^0xFFFF .grep({$_ ~~ /BLOCK/}); say now - INIT now; 02:01
camelia rakudo-moar 09cc2f: OUTPUT«0.6439605␤»
BrokenRobot m: my @wat = 'BLOCK'; my @c = eager ^0xFFFF .grep({$_ ~~ /@wat/}); say now - INIT now; 02:02
camelia rakudo-moar 09cc2f: OUTPUT«(timeout)»
BrokenRobot m: my @wat = 'BLOCK'; my $re = rx/@wat/; my @c = eager ^0xFFFF .grep({$_ ~~ $re}); say now - INIT now;
BrokenRobot suspects there's some sort of uber optimization in place for /'just a str'/ 02:03
camelia rakudo-moar 09cc2f: OUTPUT«(timeout)»
timeless yay, i now can run code and sorta see what the code is thinking. www.irccloud.com/pastebin/r9yB0p52/myTrace.pm
Is there a better way to do what I'm trying to do?
specifically, i want to see the values of the variables used by each line
-- i can't just step through the code, it'd take too long 02:04
BrokenRobot Good grief. Some people just baffle me... www.reddit.com/r/perl/comments/4pa...re/d4jqu3f 02:11
parabolize meta brochures 02:20
timeless BrokenRobot: fwiw, i'm not sure i disagree 02:23
although, i don't understand what the blurb was
is it just "wendy's perl 6 brochure"?
BrokenRobot timeless: YAPC is in progress. Wendy has her brochure. People want digital copy to hand it out themselves as well. They got it. The End. 02:29
timeless BrokenRobot: a description could be "this is the brochure wendy is handing out at YAPC" 02:30
BrokenRobot Not everything on the Internet has to makes sense to everyone else. If you don't know who Wendy is, you can just check out the brochure. If you aren't "convinced why you should download it" then just move the fuck on
timeless that's actually useful
it saves people from clicking links they don't need to
and saves them from searching to figure out who wendy is
if you're going to use someone else's space, you should try to understand what that space's audience is 02:31
if you're posting on yapc.org, then yapc.org/wendy-brochure is probably good enough
if you're posting in a general reddit.com domain, then it wouldn't shock me for someone to slap you w/ a trout for not giving some context 02:32
BrokenRobot Why do you need context? 02:32
It's Perl 6 brochure!
1 sheet!
timeless about what?
debugging?
BrokenRobot Posted by a Perl 6 celebrity!
timeless internals?
commandlines?
migration?
installation?
BrokenRobot Open it and read it!
timeless keywords?
BrokenRobot It takes half a fuckign second!
s/Perl 6/Perl/; 02:33
lizmat it's intended to give out to passers by at the Perl booth on Perl events and non-Perl events like FOSDEM 02:35
it's intended as PR for Perl 6
it sucks a lot less than most other marketing for Perl
timeless ^^^ 02:36
and now I get back to socializing&
timeless lizmat: see, that's a great thing to include in a description 02:36
Xliff Of course.... you have to download LibreOffice (or a 3rd party viewer) to read it. 03:23
yoleaux 22 Jun 2016 05:50Z <FROGGS_> Xliff: we care about that after the merge, aye
timeless Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in method Str at /home/timeless/hg/perl6/rakudobrew/moar-nom/install/share/perl6/runtime/CORE.setting.moarvm line 1 03:26
could moar blame the caller instead of the line it's currently blaming?
dalek ecs: 340c686 | util++ | S28-special-names.pod:
Change @*INC to @?INC , which was missed in commit dd31858
03:48
russian_mafia hi 05:01
sammers anyone in here working on Bailador? 05:28
Trying to figure out how to serve up a directory without specifying direct routes. 05:29
Xliff sammers: Why would you want to use Bailador without routes? 05:51
Or are trying to have a "dispatch route"... a way to code routes to handle multiple URIs? 05:53
moritz good morning 06:04
everybody, should our canonical website be perl6.org or www.perl6.org?
lizmat perl6.org is what we have on the buttons we give to everybody 06:09
lizmat sleep& 06:10
woolfy I am Wendy. I have been doing simple marketing shit for Perl for 5+ years. I made a brochure about Perl 6. Some people wanted a copy. Some people wanted to commit changed. I make my first Github project around that file. There. 06:10
It's just marketing blurb about Perl 6. It's a brochure. Marketing. Not about internals, commandlines, migration. Brochure. Why is that difficult. 06:11
parabolize I like less characters in 'perl6.org' but I'm guessing there is more important considerations 06:13
woolfy It's not going to be a big project. But if I get a lot of stuff like nasty people on Reddit bothering me via email because of this ( www.reddit.com/r/perl/comments/4pa...re/d4jqu3f ) I will delete it and ignore requests.
sortiz moritz, I prefer the short form. But I don't see any real difference. 06:14
sammers Xliff, actually, just looking for one of the p6 modules to serve up a static directory with all of its subdirectories 06:15
redhands98100 p6: say 5.WHAT 06:23
camelia rakudo-moar 78d2ce: OUTPUT«(Int)␤»
redhands98100 p6: 5.WHAT
camelia ( no output )
russian_mafia hey can I pass to function argument anonymous function?
smls russian_mafia: You mean like this? 06:25
m: sub twice (&f) { f; f; }; twice { say "Hi" }
camelia rakudo-moar 78d2ce: OUTPUT«Hi␤Hi␤»
russian_mafia m: sub twice (&f) { f }; twice( -> () { say "fuck" }); 06:27
camelia rakudo-moar 78d2ce: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤ in block <unit> at <tmp> line 1␤␤»
russian_mafia I mean this because my callback is in second place
smls The anonymous function -> () { ... } expects a single positional argument. 06:28
russian_mafia really?
where?
smls Use -> { ... } or simply { ... } if you want no arguments.
A () inside a signature, takes a Positional. 06:29
russian_mafia lol
it is $_
?
smls Right, {...} takes zero or one arguments. -> {...} takes exactly zewro. 06:31
russian_mafia smls, thanks bro 06:31
smls m: sub f ($a, ($b, $c)) { say ($a, $b, $c) }; my @a = 4, 6; f 2, @a 06:32
camelia rakudo-moar 78d2ce: OUTPUT«(2 4 6)␤»
smls ^^ This is why () in a signature takes a Positional argument, by the way. It's used for destructuring array arguments.
russian_mafia smls, ye I see 06:33
sammers Xliff, something like this (p5): '$s=HTTP::Server::Brick->new(port=>8000); $s->mount("/"=>{path=>"."}); $s->start'
redhands98100 Thanks smls. Silly question, in your function example, if I wanted to pass f again to another function without calling f, how would I do that? 06:35
smls Write &f
redhands98100 Ah, thanks
stmuk *sigh* reddit and similar really aren't good for programming langs. I have wondered whether perl6 needs something like undeadly.org (for the OpenBSD community) 06:53
moderated, low volume classic slashdot type forum (maybe with a more modern theme) 06:54
moritz what I'd really like is a blog/rss aggregator where a few admins can also inject some custom posts 06:55
smls stmuk: Can't a subreddit be moderated and have a modern theme?
moritz like pl6anet.org, but with an option to add URLs to one-off posts 06:56
stmuk moritz: hmmm that's not a bad idea ... some commenting and upvoting of posts as well maybe 06:58
smls: yes but I'm really not that keen on reddit and, well, we are programmers! 06:59
moritz stmuk: I'm not sure comments add that much value, compared to the hassle of having to deal with spam and so on 07:03
ShimmerFairy we really need some kind of forum software in Perl 6, codenamed October naturally :) . 07:06
stmuk I was also wondering whether technical discussions might outgrow IRC
redhands98100 stumbled across a post on Perlmonks, author was unhappy about perl6 related nodes. Perhaps something like perl6monks.com 07:07
stmuk or use.perl6.org :) 07:09
ShimmerFairy stmuk: "might"?! :P
ShimmerFairy wonders when someone will pipe up and mention the mailing lists......oh.
stmuk defunct mostly 07:11
sammers Xliff, I was able to get it working, might be overkill but it does what I need gitlab.com/snippets/21446 07:14
moritz redhands98100: if I'd still be motivated to use perlmonks, I wouldn't leave just because some guy is unhappy with it
redhands98100 moritz: i guess that makes sense, so long as it doesn't make all or most of them unhappy. 07:21
p6: 42.WHAT 07:22
camelia ( no output )
moritz redhands98100: the last time I've particpated in such a discussion, it seemed that the majority (and the moderators) were fine with that, with some conditional on Perl 6 posts being recognizable from the title. Which I'm totally fine with. 07:23
redhands98100 moritz: ah I see, that makes sense. 07:25
stmuk I'd prefer a fresher forum reboot than perlmonks myself 07:26
moritz too 07:27
stmuk something that integrated more with existing p6 discussion on IRC too
smls The perlmonk forum software does feel pretty outdated and cumbersome, what with being forced to manually write out <p> and <br> tags, and things like that. 07:29
moritz also the markup is terrible, and no proper UTF-8 support 07:31
redhands98100 Perlmonks has aged a bit, but I think it's aged well, it's surprisingly functional / clean, it has an almost Craigslist like appeal
moritz non-latin1 characters are converted to &foo; entities, which don't work in <code>...</code> blocks 07:32
which can be a real PITA
smls Also, it hard wraps code to 60 or 70 chasracters. Super annoying... :P
stmuk its just slashcode isn't it? or an older fork. soylentnews.org/ uses an actively maintained forkk
moritz smls: it's configurable per user 07:33
I wonder if we should simply use a Discourse forum
it's not perfect, but it's quite functional and has a modern feel to it
smls moritz: Right, but it's only configurable on the receiving end. I'd like my posts t look readable for other, including not-logged-in readers. 07:34
moritz smls: understandable :-)
moritz perlmonks also has some non-default, modern-ish themes, but the default is still old-fashioned 07:35
stmuk does perlmonks support utf-8? 07:36
Discourse looks pretty good
moritz stmuk: as I mentioned above, UTF-8 support in perlmonks is pretty hacky (and doesn't work at all in code blocks) 07:39
stmuk ah missed that 07:40
smls A nice thing about perlmonks, though, is having a terse syntax for links to perldoc and cpan etc.
smls Could stuff like that be done as a custom extension in Discourse? 07:41
moritz dunno 07:42
stmuk I did quite like the "gitit" wiki gitit.net/
maybe something like that with threading 07:43
moritz we had that running on feather (the p6c.org precursor) for a while
but in the end, nobody used it much
redhands98100 Hmm, silly question, it looks like the .WHAT metamethod doesn't return anything, but calling 'say' on it does print something. Wonder what is happening there. 07:44
moritz redhands98100: it returns a type object
redhands98100: and .say calls its .gist method, which returns "(typename)"
stmuk yeah the problem with all this stuff is more adoption than technical .. we need something which grows out of how we discuss p6 already not something new which need adoption
not sure what :) 07:45
moritz well, we discuss Perl 6 on IRC and on reddit
and on the mailing lists, to some extend
stmuk its mostly IRC 07:46
moritz so a forum software that offered a semiautomatic way to draw a conversation from one of these sources into the forum might be a win
BooK 3
moritz BooK: nah, <3! :-)
stmuk moritz: yes
dalek Iish: e156cc0 | (Salvador Ortiz)++ | README.pod:
Add documentation for DBIish connect method.

IMO this cover the issues noted by jkeenan++
BooK nah ♥
redhands98100 moritz: ah thanks 07:47
moritz m: say 4.perl; say 4.WHAT.perl; say 4.WHAT.gist; say 4.^name; say 4.^name.perl 07:48
camelia rakudo-moar 78d2ce: OUTPUT«4␤Int␤(Int)␤Int␤"Int"␤»
stmuk maybe just a bot which flattens some IRC discussion into an RSS post? not sure how to "tag" for saving on IRC 07:50
maybe "newbot: save 08:44:50-08:45:00"
moritz stmuk: the IRC logs have an "enable summary mode" button that adds check boxes to lines 07:51
stmuk: maybe that mechanism could be (ab)used for that 07:52
redhands98100 moritz: ah thank you. I suppose I was confused by expecting 5.WHAT to have an rvalue which would then be displayed by the reply.
moritz and then adding /summary to the URL exports only the summarized part, for example irclog.perlgeek.de/perl6/2016-06-23/summary
ShimmerFairy stmuk: hmm, organically-developed greater discussion method... ooh, I know! A "forum" powered by github gists! :P
stmuk that summary mode looks useful 07:53
moritz redhands98100: 5.WHAT does return a value, that value is just the type itself
moritz redhands98100: and the confusing part is that say(Int) prints "(Int)", but using it as a string results in an empty string 07:54
m: say(Int)
camelia rakudo-moar 78d2ce: OUTPUT«(Int)␤»
moritz m: say(~Int)
camelia rakudo-moar 78d2ce: OUTPUT«Use of uninitialized value of type Int in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at <tmp> line 1␤␤»
moritz (... and a warning)
sortiz redhands98100, In fact, on a recent rakudo, the REPL prints the value.
redhands98100 Ah I see, thanks for the clarification. 07:56
Woodi would like a blog generally IT-centric hosted by blogs.perl.org (but other domain)... 08:03
llfourn m: BEGIN note "foo".subst("foo","bar") 08:04
camelia rakudo-moar 78d2ce: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤An exception occurred while evaluating a BEGIN␤at <tmp>:1␤Exception details:␤ Type check failed in binding cds; expected Any but got Mu (Mu)␤ in code at <tmp> line 1␤␤»
llfourn :\
Xliff Hmmm....blog software.
It's been a while since Slashcode.
o7 #perl6. Sweet dreams. 08:05
smls llfourn: See RT 122789 08:06
llfourn RT #122789
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122789
psch m: BEGIN { my $/ := Any; note "foo".subst("foo","bar") }
camelia rakudo-moar 78d2ce: OUTPUT«bar␤»
llfourn smls: cheers
psch it's really just that we set $/ too late 08:07
llfourn ah
psch might be rather easy to patch, or might not :)
smls psch: Thanks, I added that info to the RT. 08:08
psch the exception isn't particularly weird either, in my opinion, but it depends on knowing that we use cds as "caller_dollar_slash", which explains why the solution above works
where 'we use cds' means 'the abbreviation cds expands to' i guess 08:09
redhands98100 p6: qx/whoami/ 08:21
camelia rakudo-moar 78d2ce: OUTPUT«qx, qqx is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting line 1␤ in sub QX at src/RESTRICTED.setting line 11␤ in block <unit> at <tmp> line 1␤␤»
redhands98100 Hmm, wonder how the system call restriction is implemented here. Trying to build a tryperl6.org to increase p6 exposure. 08:32
geekosaur RESTRICTED.setting is just an alternative setting ("core library", if you will) that has some functions stubbed out 08:33
geekosaur also, as it is currently set up, it's not as restricted as one could wish 08:35
psch redhands98100: fwiw, perl6 is on glot.io
redhands98100 psch: oh neat 08:39
geekosaur: ah thank you
dalek c: af0228e | (Wenzel P. P. Peppmeyer)++ | doc/Language/operators.pod:
add a few operators to the index
09:19
AlexDaniel redhands98100: do not use restricted setting if you want it to be secure 09:38
Ulti redhands98100 re perlmonks I'm not convinced language communities should bother creating their own support sites anymore, just use Stackoverflow... there are plenty of QnA on there under 'perl6' 09:49
brrt well, perlmonks is a cultural legacy 09:51
stack overflow is very effective
but not part of anyones culture like perlmonks is for perl
smls Ulti: stackoverflow is kinda impersonal though. It may be an efficient support site for people with acute programming problems, but not so much a community or a place to foster experiemenation and stuff.
Ulti yeah but the perl5 culture is one of isolation and xenophobia now
like the UK
brrt otoh, you can't force culture to develop 09:52
Ulti smls sure but I think something like IRC/Slack is more that community feel
people dont like their personality existing on the internet forever in some back water
brrt maybe not anymore
Ulti sure because back when perlmonks was invented no one had really experienced that longevity and your personality growing 09:53
because the interwebs was new
Ulti now you have the prospect of something angry and dumb you said when you were 15 being assigned to you when you are 35 looking for a job 09:54
and there is a lot of angry and dumb on perlmonks along with eloquent and egalitarian 09:56
gregf_ *uses google a lot* ;) 10:00
gfldex there should be a prize for being polite on the intarwebs
jnthn gfldex: Only a moron would suggest that! 10:01
(Dear person who wants to hire me in 15 years: I was joking :P) 10:02
psch being nice in general is underincentivized :/ 10:03
s/in general/generally/
clearly the answer is machine overlords \o/ 10:04
gregf_ being impolite helps noone.. *unless someones trolling*
gfldex well, I found that when I'm polite some ppl start to believe I like them. That can lead to problems. Being impolite can help in those situations. 10:05
Politeness requires intelligence on both ends. 10:06
gfldex the following commit seams not to have made it onto the live docs, the build log is fine tho. github.com/perl6/doc/commit/e15bc8...9acc39d859 10:10
is there a problem with sync on docs.perl6.org ? 10:11
or do I got a caching problem on my end of the web? 10:12
smls m: class A does Iterable { has @.a handles <iterator> }
camelia rakudo-moar 78d2ce: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Method 'iterator' must be implemented by A because it is required by a role␤at <tmp>:1␤»
smls ^^ Shouldn't this work?
psch smls: handles is... handled after 'does' 10:13
although i think that's only part of the explanation
smls So what's the right way to make an Iterable that delegates to @.a? 10:17
gfldex i think it should not work. A role can inject attributes into your class. handles wont do that. Further extending a type with something smartmatchable is not the same thing the delegation.
psch m: class A does Iterable { has @.a; method iterator { @.a.iterator } }; .say for A.new(:a[1,2,3]) 10:18
camelia rakudo-moar 78d2ce: OUTPUT«1␤2␤3␤»
psch i'm not sure it shouldn't work, but ISTR that there was some discussion a few weeks back that explained why it doesn't work
gfldex m: class A does Iterable { has @.a; method iterator { @.a.iterator } }; .say for A.new(:a[1,2,3]); my multi sub infix:<~~>(A:D \LHS, Iterable:U \LHR) { True }; say so A.new ~~ Iterable; 10:20
camelia rakudo-moar 78d2ce: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot override infix operator '~~', as it is a special form handled directly by the compiler␤(consider implementing an ACCEPTS method)␤at <tmp>:1␤------> 3.new(:a[1,2,3]); my multi sub infix:<~~>7…»
psch m: class A does Iterable { has @.a; method iterator { @.a.iterator } }; .say for A.new(:a[1,2,3]); say so A.new.isa(Iterable) 10:21
camelia rakudo-moar 78d2ce: OUTPUT«1␤2␤3␤False␤»
psch m: class A does Iterable { has @.a; method iterator { @.a.iterator } }; .say for A.new(:a[1,2,3]); say so A.new.does(Iterable)
camelia rakudo-moar 78d2ce: OUTPUT«1␤2␤3␤True␤»
psch m: class A does Iterable { has @.a; method iterator { @.a.iterator } }; .say for A.new(:a[1,2,3]); say so A.new ~~ Iterable 10:22
camelia rakudo-moar 78d2ce: OUTPUT«1␤2␤3␤True␤»
gfldex m: class A does Iterable { has @.a; method iterator { @.a.iterator }; multi method ACCEPTS(A:D: Iterable:U) { True } }; .say for A.new(:a[1,2,3]); say so A.new ~~ Iterable;
camelia rakudo-moar 78d2ce: OUTPUT«1␤2␤3␤True␤»
psch gfldex: why do you need the ACCEPTS candidate? 10:23
gfldex i don't really need it, just wanted to see what happens. 10:23
psch alright 10:24
gfldex m: class A does Iterable { has @.a; method iterator { @.a.iterator }; multi method ACCEPTS(A:D: Iterable:U) { True } }; .say for A.new(:a[1,2,3]); say so A.new ~~ Iterable; sub f(Iterable:D \it){ dd it }; f(A.new)
camelia rakudo-moar 78d2ce: OUTPUT«1␤2␤3␤True␤A.new(a => [])␤»
gfldex m: class A does Iterable { has @.a; method iterator { @.a.iterator }; multi method ACCEPTS(A:D: Iterable:U) { False } }; .say for A.new(:a[1,2,3]); say so A.new ~~ Iterable; sub f(Iterable:D \it){ dd it }; f(A.new)
camelia rakudo-moar 78d2ce: OUTPUT«1␤2␤3␤True␤A.new(a => [])␤»
gfldex oi! 10:25
m: class A { has @.a; method iterator { @.a.iterator }; multi method ACCEPTS(A:D: Iterable:U) { False } }; .say for A.new(:a[1,2,3]); say so A.new ~~ Iterable; sub f(Iterable:D \it){ dd it }; f(A.new)
camelia rakudo-moar 78d2ce: OUTPUT«1␤2␤3␤False␤Type check failed in binding it; expected Iterable but got A (A.new(a => []))␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
gfldex m: class A { has @.a; method iterator { @.a.iterator }; multi method ACCEPTS(A:D: Iterable:U) { True } }; .say for A.new(:a[1,2,3]); say so A.new ~~ Iterable; sub f(Iterable:D \it){ dd it }; f(A.new)
camelia rakudo-moar 78d2ce: OUTPUT«1␤2␤3␤False␤Type check failed in binding it; expected Iterable but got A (A.new(a => []))␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
gfldex looks like type checks are special 10:26
psch ..what? 10:27
gfldex: ACCEPTS is always for the RHS argument
m: class A is Int { method ACCEPTS { say "fiddlesticks" }; say A.new ~~ Int
camelia rakudo-moar 78d2ce: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3{ say "fiddlesticks" }; say A.new ~~ Int7⏏5<EOL>␤ expecting any of:␤ postfix␤ statement end␤ statement modifier␤ statement…»
psch m: class A is Int { method ACCEPTS { say "fiddlesticks" } }; say A.new ~~ Int
camelia rakudo-moar 78d2ce: OUTPUT«True␤»
psch m: class A is Int { method ACCEPTS { say "fiddlesticks" } }; say Int ~~ A.new
camelia rakudo-moar 78d2ce: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤ in method ACCEPTS at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
psch m: class A is Int { method ACCEPTS($) { say "fiddlesticks" } }; say Int ~~ A.new
camelia rakudo-moar 78d2ce: OUTPUT«fiddlesticks␤True␤»
smls Is delegation not the recommended way to make custom classes that behave similar to the built-in List and friends? 10:29
I suppose I could inherit from List, instead.
smls Hm, except that List's implementation of .new seems to skip BUILD: 10:32
m: class A is List { submethod BUILD(:$x) { say $x } }; A.new(x => 42) 10:33
camelia ( no output )
smls So I guess I'd have to implement .new as well, and use nextsame?
gfldex smls: see 2nd example in doc.perl6.org/language/variables 10:36
gregf_ smls: should be just extending? 10:50
timotimo ^- hack was just force-rebooted after going up to 200 load again 10:51
Zoffix sammers, there's Bailador::Plugin::Static plugin github.com/zoffixznet/perl6-Bailad...gin-Static 10:53
smls gregf_: I'm trying to write a class FooGroup that acts like a list of Foo objects, but also has a public $.name attribute and .subgroups method. 10:54
smls So I need to take additional (optional) parameters in .new/BUILD 10:56
Zoffix woolfy, just ignore those idiots. The Internet is chockful of people who can't create anything piling shit on those who do. 10:58
gregf_ smls: *wonders if there is a super method* 10:59
*googles*
oh, you should be able to override new. i guess BUILD gets called after new? 11:00
class MyList is List { has Str $.name; sub BUILD(%args){ super(%args); }; method subgroups(Block $bl){ self.map($bl.($_)); }}; my MyList $l = MyList.new(name => "hello"); $l.subgroups(-> $x { $x % 2 == 0 }) # doesnt compile 11:01
smls I think the default .new calls .bless, and bless calls all BUILD candidates in the inheritance hierarchy.
timotimo yeah, .bless calls BUILDALL, which does pretty much that 11:02
smls But either the .new or .bless rovided by class List, doesn;t play along... :P
*provided
timotimo personally, i'd just mix in a role after creating the list :P
no BUILD required 11:03
smls How would I get the $.name attribute etc. initialized then? 11:04
timotimo just set them 11:06
gfldex m: role R { method foo() { say 'mixed' } }; class SelfMixer { method new() { my \s = self.bless; s does R; s } }; SelfMixer.new.foo; 11:09
camelia rakudo-moar 78d2ce: OUTPUT«mixed␤»
gfldex m: role R { method foo() { say 'mixed' } }; class SelfMixer { method new() { my \s = self.bless; s does R; s } }; say so SelfMixer.new ~~ R;
camelia rakudo-moar 78d2ce: OUTPUT«True␤»
smls Interesting approach... :) 11:10
m: .say for List.^find_method("BUILD"); # Weird error message... 11:11
camelia rakudo-moar 78d2ce: OUTPUT«Method 'map' not found for invocant of class 'Mu'␤ in block <unit> at <tmp> line 1␤␤»
timotimo m: .say for Mu
camelia rakudo-moar 78d2ce: OUTPUT«Method 'map' not found for invocant of class 'Mu'␤ in block <unit> at <tmp> line 1␤␤»
gfldex if i would be a mad scientist I would choose Perl 6
smls ah, no, it makes sense
timotimo: right
timotimo .^find_method would also only return one result 11:12
(IIRC)
sammers Hi Zoffix, thanks, I was able to get it working without the plugin gitlab.com/snippets/21446, but I will take a look. 11:34
timotimo isn't it just great how afl-fuzz stumbles over a few test cases that sometimes crash during the dry run and just out-right aborts 11:40
timotimo rms and re-tries
ZoffixMobile sammers, IIRC the plugin does pretty much the same thing 11:42
sammers, I believe your version has a security hole: can read any file on the system
sammers yeah, there is absolutely no security considerations in my little script. 11:43
plugin looks good
timotimo well, at least prevent ".." in the path ...
ZoffixMobile I think same can be done with core ::Static route that was introduced after I made the plugin. I forget the details tho 11:44
timotimo wow, there's a really funky audio glitch going on in the Q&A here 11:49
alternatively: TimToady confirmed to be a robot from outer space 11:50
moritz sounds legit
sammers ZoffixMobile, what path do you pass to access local files? I tried /../path/to/local/file, but it just dumps and errs. 11:55
ZoffixW sammers, I just read it on my phone and not actually ran it. Lemme try 12:13
sammers cool, thanks 12:13
ZoffixW sammers, ah, I see. The browser seems to process the /../ before making the request. The hack works if you use telnet tho: gist.github.com/zoffixznet/61cf2b2...dd17986a8a 12:15
ZoffixW The ::Static plugin may also be broken. Looking at it now, I think this condition needs to be !~~ not ~~ :S github.com/zoffixznet/perl6-Bailad...tic.pm6#L9 12:19
m: my $asset = '/foo/../../bar.txt'; say $*SPEC.catdir: 'assets', $*SPEC.splitdir($asset).grep({ $_ ~~ $*SPEC.curupdir }); 12:21
camelia rakudo-moar 78d2ce: OUTPUT«assets/foo/bar.txt␤»
ZoffixW m: $*SPEC.curupdir.say 12:22
camelia rakudo-moar 78d2ce: OUTPUT«none(., ..)␤»
ZoffixW Ahh, it's a none junction. Nevermind
ZoffixW
.oO( counter-intuitive to ~~ with "curupdir" to mean "not curupdir" :/ )
12:23
sammers ok, thanks, I am trying the telnet commands, but it isn't returning anything... still messing with it 12:25
timotimo rm'ing so many of the afl queue, restarting over and over again ... this is not fun. i really feel resumability in afl should be improved, or maybe there's just a flag that'll do my work for me and not require full re-starts 12:27
sammers yeah, ok, it works 12:28
hmm
timotimo grrr, another one that crashed 12:30
timotimo made it to something above 11k, so it should soon-ish make it all the way through ... here's hoping! 12:31
moritz what is afl? 12:36
timotimo american fuzzy lop 12:37
a very fuzzy breed of rabbits
also a fuzzing tool
sammers ok, updated the script to drop paths with '..', thanks 12:43
[Coke] I wonder if there is an IRC client that would help me not hate IRC. 12:51
arnsholt I'm very happy with irssi
But then again, I'm one of *those* people =)
Woodi [Coke]: what are your requirments ? :) 12:53
[Coke] (and has no indication that there's a discussion behind it)
[Coke] ... did I miss a send? wtf. 12:53
(missed line) so, I use irssi; leave it running in a screen on a machine that is occasionally rebooted. restarting, I end up losing half my conversations. I have a /win, for example, that is very likely perl6-dev, but it's not rejoined properly somehow. so it just says 6:freenode (change with ^X)
timotimo ;( 12:54
i'm quite pleased with weechat
burgh! test case 011196 exploded, too 12:55
moritz [Coke]: the same happens to my irssi too, but server reboots happen seldom enough that I don't worry about it
[Coke] (I mean, there's also the architectural issue where I can't get guaranteed delivery of messages. wonder if there's a web app I can use that would provide more reliable delivery so the restarts on hack would be irrelevant.
psch autojoining channels works perfectly fine here
[Coke] moritz: we have different definitions of seldom, I guess.
psch: And where is that? 12:56
psch [Coke]: on hack with irssi
[Coke] moritz: assuming you're also running on hack.
psch: Can I see your config file?
psch [Coke]: in a bit, yeah, gonna clean it up a bit 12:57
moritz [Coke]: I run it on my own VPS
moritz [Coke]: I've also at one point set up irc.p6c.org for a VM only for IRC, but the usage was zero. 12:57
so I scraped it again
timotimo we should just reboot hack daily :P
that'll fix it real soon 12:58
psch [Coke]: gist.github.com/peschwa/ba5cec2763...606968606b is the relevant bits i'd say
[Coke] moritz: really? I didn't see that. the message must have gone out on irc, which does not guarantee delivery. :P
Woodi [Coke]: "losing conversations" - you would like to have every chat message logged to a files (like in Eve Online game, very nice for "logs leak"/"in game diplomacy" :) ) ?
psch the one thing that doesn't seem to work is the autosendcmd, but i don't really mind that
moritz [Coke]: :/
[Coke] Woodi: I can go to the irclog site for that. Ideally, it would be part of my day to day client usage. 12:59
psch i wanted to move to irc.p6c.org, but it repeated slipped my mind :/ 13:00
Woodi [Coke]: anyway Solid State Memory would be nice :) 13:00
.oO(town-wide clouds?)
13:03
moritz [Coke]: ssh [email@hidden.address] 13:04
moritz [Coke]: ... though I guess I should do a few security updates there (and reboot) before you start using it for realz :-) 13:05
(because that VM had been sleeping for about a year or so)
Woodi moritz: is it OpenBSD ? ;) 13:06
moritz Woodi: no
mantovani guys, can I use any java lib in Perl 6 ? 13:09
like Scala
moritz mantovani: only if you use the JVM backend, and that's a bit broken at the moment
psch mantovani: and even on the JVM backend that's a strong "not yet", not a "yes 13:10
"
psch mantovani: implementing a Java interface in a Perl 6 class is one thing that has not yet worked before 13:10
mantovani :'(
psch mantovani: patches welcome... :)
moritz [Coke], psch: I've security-updated and rebooted irc.p6c.org, created accounts for the both of you, and copied your ssh keys from hack over to the new machine 13:10
psch moritz: great, thanks :) 13:11
mantovani almost vendor maintain it owns Java SDK/PI library if we could use it native in Perl 6 would be perfect
moritz also tmux, screen, irssi and weechat installed
mantovani any almost vendor maintain it owns Java SDK/API library if we could use it native in Perl 6 would be perfect.*
timotimo people might be interested in quassel, btw
it has the engine vs front-end separation thing going
kind of like weechat with its relays, and irssi has something similar as well 13:12
moritz oh, quassel seems to be graphical 13:17
I just wondered why installing it would drag along another 288 packages :-) 13:18
nine Should I suggest using Inline::Java via Inline::Perl5? Or would that be even too crazy for me? ;)
smls i.imgur.com/9VY0zGR.jpg 13:19
mantovani nine: I don't want to use Java sintaxe, if I would I wouldn't need inline lol.
timotimo ah, i didn't know there isn't a CLI client for quassel 13:20
psch eh, from the looks of it you only need really need to do the construction in Java 13:21
nine mantovani: Inline::C is probably the only module in the Inline:: familiy where the "Inline" part of the name is really the important one. For all others, being able to write the code inline is merely a small extra feature and the important bit is being able to use existing code.
psch +code 13:21
timotimo now test case 011515 crashed it >:(
nine mantovani: and even Inline::C can be used as a more convenient way to use C libraries in Perl 5 than the standard XS way.
timotimo there's ~12300 files in the queue ... i don't want to do another four runs :o 13:24
[Coke] moritz: unfortunately, I can't ssh to that box from work because of the hostname. 13:28
mspo 213.95.82.55 13:33
although the ptr is revealing
mst mantovani: which part of the Inline::Java documentation implies that it requires using java syntax, or did you just answer without looking ? :P 13:35
moritz [Coke]: want me to call it 'communication.p6c.org' instead?
shorter (but still speaking) name suggestions would be welcome 13:36
mst oh, wow, your work firewall blocks any hostname with 'irc' in it?
mantovani mst: I can't extend a class or use reflection using perl5 sintaxe. at least is what I understood from the documentation.
mst this reminds me of youporn.com being unable to sponsor a perl.org ircd because their hosting company wouldn't allow it
moritz lol 13:37
mst mantovani: well, no, but that's not what you asked for.
mantovani 09:09 < mantovani> like Scala
In Scala I can do what it. 13:38
but I would prefer infinity more use perl 6 than scala.
psch mantovani: with such a strong preference you sure have to have some desire to help
*surely
nine mantovani: takes quite a few contributions till we get there
moritz if the desire is indeed infintely larger, then any finite obstacles can be overcome 13:39
mantovani Perl 6 is /win 2 13:41
I have it, I would need to read the dragon book again and it not just it, perl 6 implementation is really complex 13:43
implement a subset of java is trivial, implement a subset of perl 6 isn't. 13:44
psch mantovani: fwiw, the thing that's needed to use (more kinds of) Java classes in perl6 is mostly JAva
s/A/a/
masak .u 囍 13:49
yoleaux No characters found
masak wow, I don't see yoleaux draw a blank that often. 13:50
harmil Morning all. Can't stay, off to work, but had to paste this error, which is nearly Zen: expected Any but got Perl6::Grammar 13:52
ZoffixW woolfy, ping 14:01
ZoffixW woolfy, alternative design for your brochure: temp.perl6.party/Perl6-Brochure--Alt-Design.pdf 14:02
ZoffixW harmil, would be nice to know that code gave that error :/ 14:06
hahainternet .tell ZoffixW alternate design looks superb 14:13
yoleaux hahainternet: I'll pass your message to ZoffixW.
hahainternet i think my only criticism would be that the bullet points need to be more brief and distinct, but it's still excellent 14:14
woolfy ZoffixW: thanks. I'm at Damian's class. If there are any more proposals, please send me an email, or use that system that Github offers (I', still learning). 14:15
woolfy ZoffixW: ooh, beautiful design... (grr, now I missed some deep explanation from Damian!) 14:17
ZoffixW++ 14:20
ugexe ZoffixW: i'll replace that default path later today with a cli option. it was a left over from before %?RESOURCES when the config was actually stored in project root
lizmat Zoffix++ 14:21
harmil ZoffixW, that error was the result of trying to do some introspection that's probably not valid. It definitely was not a bug report, I was just amused by the koan-like error. 14:26
AlexDaniel Zoffix: cool, but is it still editable? 14:37
Zoffix: for example, “Perl 6” will look much better with no break space
mspo your lead in paragraphs seem wasted by attempting to explain the confusion relationship of of compilers and runtimes 14:47
instead of language features or quotes or code samples or whatever
" Any implementation that passes the official test suite 14:48
can call itself “Perl 6”."
who cares? :)
BrokenRobot AlexDaniel: good spot fixed. 14:55
AlexDaniel: FSVO "editable". It's an InDesign file but I don't think I'm allowed to share the super expensive fonts. 14:56
BrokenRobot mspo: the copy isn't mine. I just did the design for it. 14:56
stevieb ``MoarVM offers a
wider support...'' ..."a" should be removed
AlexDaniel BrokenRobot: ah okay, then I'll read it 14:57
[Coke] mst: while that's a reasonable assumption based on what I said, no. 15:03
moritz: not sure it would help to rename it. I had to go through work to get hack whitelisted. Given that there's no web site for irc, probably won't work at all.... But I can hop through hack first, that's fine. 15:04
[Coke]_ moritz++ # one irc problem down. 15:07
[Coke] 15:07
grondilu Larry only did a Q&A @YAPC::NA or is there more? 15:08
I did watch Damian's keynote and it was very cool but I'd happily watch more.
TimToady just the Q&A 15:11
grondilu ok 15:12
BooK watching pmichaud's yapc talk, and experimenting 15:13
m: my $a = "a\c[COMBINING DOT ABOVE]\c[COMBINING DOT BELOW]"; say "$a {$a.chars} {$a.codes}"
camelia rakudo-moar 9b579d: OUTPUT«ạ̇ 1 2␤»
BooK he said 3 codes in his talk
moritz [Coke]: maybe wiki.gentoo.org/wiki/SSH_jump_host...phost_list helps with going through hack
psch m: my $a = "a\c[COMBINING DOT ABOVE]\c[COMBINING DOT BELOW]"; say "$a {$a.chars} {$a.NFKD.codes}" 15:14
camelia rakudo-moar 9b579d: OUTPUT«ạ̇ 1 3␤»
BrokenRobot m: my $a = "a\c[COMBINING DOT ABOVE]\c[COMBINING DOT BELOW]"; say $a.uninames
camelia rakudo-moar 9b579d: OUTPUT«(LATIN SMALL LETTER A WITH DOT BELOW COMBINING DOT ABOVE)␤»
psch yeah, gets NFG'd
which often seems to mean "merge the first combining with the base codepoint" 15:15
but not always, because unicode vOv
BooK ok, I supposed something like that was happening
what's .NFKD ?
ilmari BooK: Normal Form Kompatible Decomposed 15:16
BooK thanks 15:17
psch was still looking that up
BrokenRobot
.oO( "Kompatible"? )
psch Decomposition probably too then 15:17
also i think we'd write that which a Bindestrich
ilmari «Normalization Form Compatibility Decomposition»
BrokenRobot Oh "In NFKC and NFKD, a K is used to stand for compatibility"
psch Normal-Form Kompatible Decomposition, because unicode now is german :P
BrokenRobot "... to avoid confusion with the C standing for composition" 15:18
psch that definitely sounds like a unicode consortium decision though
nine Does a great job at avoiding confusion, doesn't it? ;)
BrokenRobot heh
BrokenRobot oops 15:21
I accidentally killed camelia /o\
moritz how?
BrokenRobot sent `nqp: test`
psch (also, "Decomposition" is written with a "c" so it isn't confused with the K for "Kompatible" in german-NFKD) 15:22
psch BrokenRobot: only nqp-m works, nqp: tries parrot and jvm backends too 15:22
BrokenRobot ah
psch ...patches welcome vOv
moritz seems camelia recovered 15:23
m: say 'first one will be slow though, as always'
andreoss m: use variables :D; my Str $x = Str; say $x;
moritz camelia needs a bit of time to get around its flood limit after the rejoin
camelia rakudo-moar 9b579d: OUTPUT«first one will be slow though, as always␤» 15:24
camelia rakudo-moar 9b579d: OUTPUT«Type check failed in assignment to $x; expected Str:D but got Str (Str)␤ in block <unit> at <tmp> line 1␤␤» 15:24
andreoss m: use variables :D; \n my Str $x = Str; say $x; 15:25
camelia rakudo-moar 9b579d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ n used at line 1␤␤»
BrokenRobot Wow you can do that? 15:25
m: use variables :D; ␤ my Str $x = Str; say $x;
camelia rakudo-moar 9b579d: OUTPUT«Type check failed in assignment to $x; expected Str:D but got Str (Str)␤ in block <unit> at <tmp> line 2␤␤»
BrokenRobot .u ␤
yoleaux U+2424 SYMBOL FOR NEWLINE [So] (␤)
BrokenRobot m: use variables :U; my Str $x = "blarg" 15:26
camelia rakudo-moar 9b579d: OUTPUT«Type check failed in assignment to $x; expected Str:U but got Str ("blarg")␤ in block <unit> at <tmp> line 1␤␤»
BrokenRobot Amazing.
[Coke] psch: looks like my irssi file had accumulated stuff that shouldn't have been there and was missing other things. seems better now.
psch [Coke]: great :)
andreoss BrokenRobot: i wonder why that's not default
m: use parameters :D; 15:27
camelia rakudo-moar 9b579d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤use parameters not yet implemented. Sorry. ␤at <tmp>:1␤------> 3use parameters :D7⏏5;␤»
psch m: use variables :D; my $x
camelia rakudo-moar 9b579d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable definition of type Any:D (implicit :D by pragma) requires an initializer␤at <tmp>:1␤------> 3use variables :D; my $x7⏏5<EOL>␤ expecting any of:␤ constraint␤»
psch andreoss: ^^^ that's why
andreoss: it forces initializers, which usually isn't what anyone wants
andreoss my $x could be a special case 15:28
m: use variables :D; my $x = 1;
camelia ( no output )
psch andreoss: but it can't be, because they type already means it needs an initializer
andreoss: because 'variables :D' means that *all* types are *always* :D 15:29
BrokenRobot isn't a fan of "special cases"
psch and, well, :D essentially means "the thus typed variable needs an initializer" 15:31
andreoss m: sub undef { Any.new }; use variables :D; my $x = undef; $x = 1;
camelia rakudo-moar 9b579d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of undef as a value; in Perl 6 please use something more specific:␤ an undefined type object such as Any or Int,␤ :!defined as a matcher,␤ Any:U as a type constraint,␤ Nil as the abse…»
psch so if you say "let's use 'variables :D' to mean 'you have to use an initializer', but let's also add the special case for declarations without initializers to work", what exactly did you gain? 15:32
[Coke] moritz: can you install a curses c lib on irc? 15:33
BrokenRobot m: use variables :D; my @a of Int = ^10;
camelia rakudo-moar 9b579d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Int not allowed here; variable list already declared with type Any:D␤at <tmp>:1␤------> 3use variables :D; my @a of Int7⏏5 = ^10;␤ expecting any of:␤ constraint␤»
andreoss psch: this way i woudln't worry about covering cases when uninitilized objects occur 15:35
psch m: sub undef { Any.new }; use variables :D; my $x = undef(); $x = 1;
camelia ( no output )
BrokenRobot m: use variables :D; my @a = ^10; @a[2]:delete; say @a
camelia rakudo-moar 9b579d: OUTPUT«[0 1 (Any:D) 3 4 5 6 7 8 9]␤»
BrokenRobot m: use variables :D; my @a = ^10; @a[2]:delete; say "@a[2]"
camelia rakudo-moar 9b579d: OUTPUT«Use of uninitialized value @a of type Any:D in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at <tmp> line 1␤␤»
BrokenRobot That's just obscene :) 15:36
psch m: say Any.new
camelia rakudo-moar 9b579d: OUTPUT«Any.new␤»
andreoss `my Str $x` usually means `my Str:D`
psch andreoss: it really doesn't
moritz [Coke]: I've installed libncurses5 + headers 15:36
BrokenRobot andreoss: you proposal attempts to use an always-defined type as can't-assign-a-Nil-to-it 15:37
Variables aren't the only thing on the plate. There are also attributes, named args, etc. 15:38
The :D default would just get in the way all the time
andreoss what would be a common use case for putting Str as a type to a varible?
tony-o i really like that the gitlab api is on github 15:39
andreoss BrokenRobot: yep, within signatures :D even more desirable
as default
BrokenRobot andreoss: only for mandatory variables
And since named args aren't you'd have to plaster :_ all over the place just to disable a feature that shouldn've been on by default anyway 15:40
andreoss okay
psch m: sub type-grep(@a, $type) { grep @a: { $_ ~~ $type } }; say type-grep([1, 2, "foo", "bar"], Str)
camelia rakudo-moar 9b579d: OUTPUT«(foo bar)␤»
psch do that with :D vOv
BrokenRobot heh 15:41
psch i mean, my point is mostly that yes, there are cases where you probably want to only have :D
but there's also cases where you only want to have :U
so why should we make on of them the default if there's no conclusive indication for either of those two cases to be *vastly* more common?
*one 15:42
andreoss :_ is the default
psch andreoss: but you're proposing :D to be the default i thought?
andreoss it seems that :D as a default would make more sense 15:43
at leasts in signatures 15:44
BrokenRobot m: my $x := -> { my $s; Proxy.new(STORE => method (Str:D $v) {$s = $v;}, FETCH => method (){$s})}(); say $x; $x = "foo"; say $x'
camelia rakudo-moar 9b579d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3d (){$s})}(); say $x; $x = "foo"; say $x7⏏5'␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ …»
andreoss and as i see `use variables` doesn't affect signatures at all
smls psch: Most methods should ideally mark their invocant as :D, whereas very few would use :U. Just as an example. 15:45
BrokenRobot TTIAR where :S
psch BrokenRobot: the ' at the end
BrokenRobot Oh, the stray apostrophe
m: my $x := -> { my $s; Proxy.new(STORE => method (Str:D $v) {$s = $v;}, FETCH => method (){$s})}(); say $x; $x = "foo"; say $x
camelia rakudo-moar 9b579d: OUTPUT«(Any)␤foo␤»
psch smls: i don't think i agree
smls: especially self is very often desired as :U
smls Hm? 15:46
psch most of my OO code at least isn't dependent on having an initialized self
maybe because i'm bad at OO :P
psch anyway, yeah, it seems like 'variables :D' isn't even what would help there 15:47
smls psch: The default .new method doesn't use :U either, it uses :_ 15:48
psch i do think it might be interested to see (1) 'parameters :D' or 'invocants :D' implement and (2) see how often they're used
s/rested/resting/
smls: right, i misspoke. instead of "want :U" i should have written "not want :D" 15:49
...paraphrased
smls ok
BrokenRobot Make it the default and count the number of complains from people whose code got broken :P
BrokenRobot runs
psch BrokenRobot: yes, secretly do that the next release!
BrokenRobot :)
smls Heh. I used --profile on a nontrivial Perl 6 program, but I can't view the resulting HTML doc because its JavaScript brings both Firefox and Chrome to their knees. 15:52
[Coke] smls: ayup
smls It causes the browser to freeze, until after half a minute or so it offers to kill the script.
psch i think you can --profile directly to json, and there is a Qt profile viewer somewhere too
but that also has a size limit for the json it supports
moritz smls: iirc you can add --profile-filename=out.json or so
BrokenRobot m: use variables :D; sub foo (Str $ --> Str) {Str}; foo Str; &foo.signature.say
camelia rakudo-moar 9b579d: OUTPUT«(Str --> Str)␤»
[Coke] I think there is a WIP to change how that works, but no ticket to go along with it describing the effort/branch
BrokenRobot m: my @a = ^10; my $x = item @a; my $y = @a; say $x; say $y 15:58
camelia rakudo-moar 9b579d: OUTPUT«[0 1 2 3 4 5 6 7 8 9]␤[0 1 2 3 4 5 6 7 8 9]␤»
BrokenRobot
.oO( what's item for... )
psch m: my @a = ^10; my @x = item @a; my @y = @a; say @x; say @y 15:59
camelia rakudo-moar 9b579d: OUTPUT«[[0 1 2 3 4 5 6 7 8 9]]␤[0 1 2 3 4 5 6 7 8 9]␤»
BrokenRobot psch++ 16:00
[Coke] ENODOCS: item 16:01
BrokenRobot Yeah, xdg just opened an issue..
[Coke] ++ 16:02
xdg o/
BrokenRobot \o\ 16:03
redhands98100 AlexDaniel: thanks for the suggestion. It looks like glot.io allows system calls, and even has a writable fs. 16:05
AlexDaniel redhands98100: yea
[Coke] xdg: you were at the baltimore con, aye? 16:07
xdg yes 16:08
dalek c/tab-test: 3d70d4a | coke++ | t/tabs.t:
Add (failing) tab test
16:27
[Coke] AlexDaniel: there's a pull request for you. 16:29
github.com/perl6/doc/pull/627
AlexDaniel I see :)
dalek c/tab-test: 4432bf4 | coke++ | t/tabs.t:
Skip more files
16:32
travis-ci Doc build failed. Will "Coke" Coleda 'Add (failing) tab test' 16:36
travis-ci.org/perl6/doc/builds/139809102 github.com/perl6/doc/commit/3d70d4ae9d79
[Coke] "how could that break the build, it..." oh. :) 16:38
BrokenRobot :) 16:39
travis-ci Doc build failed. Will "Coke" Coleda 'Skip more files' 16:40
travis-ci.org/perl6/doc/builds/139810465 github.com/perl6/doc/compare/3d70d...32bf4ff64d
dalek c: 533a378 | (Josh Soref)++ | doc/HomePage.pod:
skip redirects for www.perl.org
16:47
[Coke] anyone want to clean up the issue labels for docs? 16:54
dogbert17 o/ #perl6 16:55
moritz: "and I should install a newer perl6 on the server that builds the docs" Has that happened? 16:57
AlexDaniel [Coke]: I can give it a try 16:58
timeless AlexDaniel: ping
AlexDaniel here! HERE! I'm here! :)
timeless I'm about to put up a PR for the fun bits :)
but ... before that
AlexDaniel yeaah!
timeless doc.perl6.org/language/regexes#Gre...tifiers:_?
do you think someone could come up w/ a better example?
err 16:59
doc.perl6.org/language/regexes#Pre...racking:_:
it's pretty hard for me to see a reason anyone would want to write /a .*: aba/
AlexDaniel timeless: you mean that example could be better?
timeless yeah 17:00
it also woudl help if `backtracking` was defined in the page
it's used here ("prevent backtracking") and in "rachet" ("backtracking is costly")
it /looks/ like ratchet has a definition of it buried near the beginning
> Without this adverb, parts of a regex will try different ways to match a string in order to make it possible for other parts of the regex to match. For example in 'abc' ~~ /\w+ ./, the \w+ first eats up the whole string, abc but then the . fails. Thus \w+ gives up a character, matching only ab, and the . can successfully match the string c. This process of 17:01
giving up characters (or in the case of alternations, trying a different branch) is known as backtracking.
(i know what it is, but really, this page should have a section for it, and link to it...)
and the example should show a case where it makes sense...
"why would anyone want to write /a .*: aba/ ?" 17:02
AlexDaniel timeless: ok github.com/perl6/doc/issues/628
timeless oh, wow. yeah. 17:03
"oops"
timeless ok, my `make html..` ran, now to run the linkchecker 17:03
AlexDaniel timeless: ok github.com/perl6/doc/issues/629 17:04
yeah, .*: is stupid… 17:05
timeless github.com/jsoref/perl6-doc/commit...19edfeda85
if you want to look before i create the pr 17:06
timeless i understand the idea of "i want a fast match or nothing" 17:06
but the example is basically "i really really want nothing almost always"
(and i'm not sure about the `almost`) 17:07
also, is there a p5 to p6 regexp converter?
timotimo i only know of :P5
dunno if Blue_Tiger does any regex munging 17:08
timeless timotimo: that lets you use a p5 regexp in p6, right?
that's not what i want
BrokenRobot timeless: were you the person hacking on converting special chars to words on the doc site? How is that going?
timotimo yup
timeless BrokenRobot: see github url above
AlexDaniel BrokenRobot: link there ↑
timeless is running the link checker now
BrokenRobot Oh. what a coincidence.
timeless i finally got it somewhere reasonable last night, and fell asleep 17:09
AlexDaniel langle rangle… lbracket rbracket… not sure if I like that
timeless fwiw, i can't use `lt` and `gt`
because doc.perl6.org/routine/gt 17:10
AlexDaniel what about left-bracket ?
timeless ambiguous since i'm currently using `-` as my concat char 17:10
it's possible to adjust by shifting the concat char
or just using `leftbracket`
AlexDaniel leftbracket?
timeless i can live w/ that
it's fairly verbose, which is something i was hoping to avoid 17:11
but, i won't die over it
(the link checker isn't fast, i should have had it run overnight, but i was on the wrong commit, so it checked something useless)
ARG
localhost:3000/language/5to6-dash-d...ash-perlop -> broken
right, so what i have right now isn't good enough 17:12
so...
BrokenRobot There's no need to escape the dash, is there?
timeless how attached to the `-` in `5to6-*` are we?
BrokenRobot: there is... sorta
it's pretty easy to end up w/ ambiguous cases, i should have maintained a list
BrokenRobot timeless: ambiguous how? 17:13
timeless eyes html/days-in-month.html and html/days-dash-in-dash-month.html 17:15
arg
timeless makes clean 17:16
AlexDaniel timeless: to me it looks like we should not escape dashes. It's OK to have ambiguous cases as long as we are not running into conflicts
BrokenRobot +1 17:17
timeless i'm pretty sure i ran into a conflict
i need to find it
part of the problem is that when you start glomming words together, it's hard to find boundaries
especially if i have to move to `leftbracket`
`leftbracketdollardollar`?
BrokenRobot Well, same there, why is < need escaping? 17:18
docs.perl6.org/routine/%3C
timeless hard to search for
BrokenRobot and "leftbracket" isn't? :)
timeless and hard to read
AlexDaniel not like someone is going to edit the url by hand? Hmm… 17:19
timeless well, for one, how does anyone know what `%3c` is
BrokenRobot By knowing percent encoding?
timeless do most people know percent encoding?
BrokenRobot Why do they need to know what it is in the first place?
timeless people do read and write urls 17:20
they also will make links to documents from outside your tool
AlexDaniel well my browser shows <
timeless my browser doesn't even escape `<` in the urlbar
BrokenRobot You can use docs.perl6.org/routine/< if you're feeling adventurous
timeless anyway, lemme find the example
it's somewhere 17:21
timeless is still waiting for a fresh build 17:21
i think `make html*` needs to do a `make somewhatclean`
specifically, it should probably empty html/*.html
ilmari make cleanish? 17:21
timeless ilmari: cleanhtml: 17:22
rm -rf html/*.html html/.*.html html/routine/ html/type/ html/op/ html/language/ html/syntax/
cleanimages:
rm -rf html/images/type-graph*
cleansearch:
rm html/js/search.js
clean:
er
clean: cleanhtml cleanimages cleansearch
thoughts? 17:23
specifically, i don't use `make clean` because it deletes the images which take even longer to rebuild
grr 17:25
(it feels like i'm using the wrong commit or broke it somehow) 17:26
timeless sighs
mst perhas the images could be moved to a realclean target? 17:31
timeless (i'm not actually sure that the system properly doesn't rebuild images, but... it really would be nice if i didn't have to think about them) 17:32
ok, so... i think the reason i wanted `dash` is because it's painful to search for `-` using google 17:34
BrokenRobot :/ 17:35
IMO you're overthinking this. You want to stuff 'dash' all over the place on an off chance some user will know to search for word 'dash' instead of the hyphen for... what? the minus operator? 17:36
timotimo i think it's helpful to have all kinds of synonyms in the search DB 17:37
BrokenRobot 5to6-dash-dash-dash-perlop is dumb
timotimo: what search DB? You mean the generated index on the docs site? 17:38
timotimo yeah
what is timeless suggesting?
i didn't look at the branch yet
BrokenRobot timotimo: google search
timeless (the branch is broken, i'm not sure how)
psch isn't it more like "replace ops in links with text for google indexing"?
timeless is on the phone 17:39
BrokenRobot The original goal of this work was to fix 404s that exist due to some operators being special characters that are treated specially by the OS or Apache, like '/' or anything that starts with '.'
AlexDaniel which is something we *really* need
psch right, but isn't there an apache directive for that? 17:40
or has that been decided to be a bad idea for reasons?
timeless no directive will fix `/`
not really
BrokenRobot psch: yes, there is, but since the directive doesn't fix all the cases, there's no point in turning it off
timeless it isn't meaningful to distinguish
psch oh, right, / remains troublesome
mst there is a directive that will make %2F ish work 17:41
but that's not honestly going to help, I don't think
psch httpd.apache.org/docs/current/mod/c...dedslashes makes it seem like it could just wreck stuff on a different layer 17:41
BrokenRobot AllowEncodedSlashes, but it doesn't help since the file isn't there.
timeless so, in an hour or so, i'll try removing the dash escaping 17:42
psch well, it's not like i really know apache vOv
timeless and getting the thing to actually run
and resync my branch
BrokenRobot Nah, it doesn't wreck stuff, unless you have shitty scripts :)
timeless and re-run the link checker
AlexDaniel timeless++
timeless returns to phone call
psch maybe descriptive links (or whatever the "everything is a path in our link, no get params" craze is called) were a bad idea all along :P 17:43
timotimo can we discover if perl6 (the repl) is being run under RLWRAP and not output "you want to install readline, linenoise, or use rlwrap" thing 17:46
timeless heh 17:47
timotimo why did i allcaps that
timeless i think i hit something like thtat
timotimo perhaps because i was wondering if it perhaps sets an env var or something
AlexDaniel psch: it's called static website :) 17:50
timotimo instead of the names of things we should just use UUIDs 17:51
that'll also let us refer to older versions with permalinks
tony-o what link checker did you end up with timeless ? 17:52
dalek ake: fbc5687 | (Pawel Murias)++ | t/more-literals.t:
Test floating point literals.
ake: 4895012 | (Pawel Murias)++ | src/Snake/Grammar.nqp:
Forbid using keywords as identifier (None remains to be turned into a readonly constant).
ake: bcd5ed4 | (Pawel Murias)++ | / (3 files):
:Other_ID_Start and :Other_ID_Continue is supported by nqp-m, use them to parse identifiers more correctly
psch AlexDaniel: but it's clearly not if "< BrokenRobot> [...] the file isn't there.", is it?
AlexDaniel: or is the problem not actually in apache but in the file system?
timeless More documentation at: validator.w3.org/docs/checklink.html
psch 'cause i've really not looked too closely at it :)
BrokenRobot psch: right htmlify.p6 doesn't create /.html 17:53
BrokenRobot / is invalid in paths isn't it? 17:53
AlexDaniel it's valid in paths :)
hoelzro|phone timotimo: I want to be able to do that
AlexDaniel it just means something different
BrokenRobot In filanmes that is
hoelzro|phone perhaps repl. pm can look at its ppid or something 17:54
timotimo hey rob!
you're quick :D
hoelzro|phone or maybe do some voodoo with /proc/self/fd/0
Hi Timo!
timotimo that's not portable :P
does rlwrap accept some escape sequences perhaps? 17:55
hoelzro|phone true, true - I figure start with something that works and then make it portable
timotimo :)
hoelzro|phone I don't know! I'll look into it
timotimo i remember a time where i was going through a huge list of ansi escape sequences that xterm and friends support and being very wowed 17:56
hoelzro|phone we could probably check if stdin is a terminal or not
timotimo isatty, eh?
hoelzro|phone hehe
yeah
the xterm escape sequence list is both aw{esome,ful}
timotimo :3 17:57
you can ask xterm to give you a checksum of screen regions
so you can see if, for example, ssh has spammed some errors over your screen since last you refreshed
hoelzro|phone wow, really? til 17:58
I'm about to duck into an appointment - we can discuss more in a bit
timotimo sure
it crashed yet again, but i'm sure this time it'll go through! (afl-fuzz, that is) 18:00
m: say ?""
camelia rakudo-moar 9b579d: OUTPUT«False␤»
timotimo aaah
lizmat pictures timotimo being attacked by his cat 18:06
timotimo only ever gets cuddle-attacked by the cats :3
pmichaud good afternoon, #perl6 18:08
BrokenRobot \o\
Why does my client send \o\ any time I type \o
\o
Oh.. maybe it's just a frequent case of fat fingers >_< 18:09
lizmat o//
pmichaud I guess \o\ is a slanted TIE fighter.
or an example of "wave your hands in the air like you just don't care" :)
\o\ /o/ \o\ \o/
mantovani he is trying to stop you to get in his company like a security guard, "\o\" 18:10
BrokenRobot "Plain blocks are also available for use as closures, but do not take an implicit $ argument like in Perl 6!" 18:12
I don't get it. How do blocks take $_ as implicit argument?
lizmat m: my $b = { say $_ }; $b(42)
camelia rakudo-moar 9b579d: OUTPUT«42␤»
lizmat m: my $b = { say $^a }; $b(42) 18:13
camelia rakudo-moar 9b579d: OUTPUT«42␤»
BrokenRobot m: my $b = -> { say $_ }; $b(42)
camelia rakudo-moar 9b579d: OUTPUT«Too many positionals passed; expected 0 arguments but got 1␤ in block <unit> at <tmp> line 1␤␤»
BrokenRobot lizmat++
lizmat a block without a sig that (implicitely) specify $_ create the -> $_ sig 18:13
timotimo pmichaud: seeing your perl6 for beginners recording right now; looking good :) 18:14
[Coke] AlexDaniel: I was thinking we could have a small chat about what we want to see there first, so we don't end up with someone reworking things and people getting grumpy 18:15
AlexDaniel [Coke]: sure
pmichaud timotimo: thanks! 18:16
pmichaud I feel like I should've given a talk that "pushed the boundaries of p6" again. :) 18:16
but that would've required... actually making a new talk. :)
timotimo also, i like your voice and way of speaking just in general :3
pmichaud I'm trying to decide when my next p6 event will be. 18:17
I'd rather not wait until next year's yapc::na if I can find something sooner.
Xliff <-o-> # Tie bomber 18:18
s/Tie/TIE/
pmichaud ooooh, alpine perl workshop :)
that's potentially an even better weekend for me than yapc::eu
[Coke] just randomly show up in albany, I can get like 5 people to a talk or something. :) 18:19
AlexDaniel [Coke]: I think that a good way to start is to get rid of ones that are not being used. For example, "ruled *" was probably a great idea but nobody is going to use these
pmichaud [Coke]: I liked kid51++'s description of "an emergency perl mongers social meeting" in response to people showing up in nyc :)
timotimo if it's not planned, but it happens anyway, it's clearly emergent 18:20
pmichaud I only got to stay for the first half of TheDamian's "Functional Programming in Perl" tutorial today... it's excellent. 18:21
AlexDaniel [Coke]: but the question is what are we trying to achieve with these labels :) The most useful out of all is probably “needs writing”, those who want to write some text for docs can just filter by this label and that's it. “needs implementing” and “search” are OK too 18:25
everything else is weird 18:26
BrokenRobot "easy" would be good too. Something for those who know very little Perl 6 to do. 18:27
AlexDaniel maybe we should add “low-hanging fruit” and “CSS”
BrokenRobot "CSS"?
moritz +1
"layout" maybe
though it doesn't happen that often 18:28
AlexDaniel it does not happen very often because I don't want to pollute the issue list with such things
if I had CSS label then I guess that I'd create some issues
timeless + # sort prorams index by file name to allow author control of order 18:30
timeless sighs
AlexDaniel yeah we should probably fix that
moritz anyway, I'm all in favor of cleanup up the issue labels; I found them to be mostly not actionable
pmichaud moritz: +1 18:32
pmichaud afk: gate, airplane boarding, flight, more 18:37
BrokenRobot flighr? 18:38
pmichaud / tbrowder Was there progress on the table pod bug?
Just wondering whether I should continue my work or you guys will sort it out
timeless AlexDaniel: fwiw, some of the pods recently added have trailing whitespace... 18:40
AlexDaniel timeless: I know. We need a test for that
or maybe not 18:41
maybe I can just clean it up once in a while…
BrokenRobot Have the build script clean it?
Same goes for tabs too probably
AlexDaniel have the build script modify source files? Uhh…
BrokenRobot Oh 18:42
OK :)
timeless there could be a script which could do the cleanup
so other people could run it
instead of just a linter that screams "you've got a trailing space here ->"
BrokenRobot How do git hooks work? Is it possible to set them up to automatically do this stuff on push/merge/GitHub on-site edit? 18:42
timeless not well 18:43
BrokenRobot Ah :(
timeless it's easier for github side to reject things
AlexDaniel BrokenRobot: yeah! We can reject commits that have trailing whitespace! Yaaay…
pmichaud BrokenRobot: I haven't had a chance to look further on the table pod bug... but it's definitely on my "to-do" list.
I won't get to it until tonight, tomorrow night, or sunday night.
BrokenRobot pmichaud: alright. I just didn't want this to slip through the cracks :) 18:44
pmichaud (trailing whitespace) trailing ws never bothered me much... periodic cleaning would be fine with me.
BrokenRobot And I tbrowder said they will work with you on it, but now I heard you're boarding a flight :)
s/I //;
pmichaud yeah, I'm about to board a flight. But I just find out that a long-ago colleague of mine is passing through the same airport at this very moment, so I'm waiting to see if we'll be able to cross paths. :) 18:45
*found out
BrokenRobot Trailing ws is annoying the moment you get someone with an editor that auto-strips it... And you get a commit that appears to change many lines even though that's just WS. 18:46
pmichaud we're trying to determine if we're in the same terminal :)
timeless pmichaud: i once met my sister @jfk
BrokenRobot And personally, in those cases I'd revert my commit, disable trailing ws trimming feature and recomming (when I'm committing to other projects), so IMO it's nice to get rid of it.
timeless she was inbound and i was outbound (we effectively traded locations) 18:47
it's pretty neat when it works
pmichaud I'd say that on around 20% of my air travels I end up unexpectedly crossing paths with someone I know at an airport. 18:48
at least for the past 4-5 years.
AlexDaniel BrokenRobot: sure-sure. The thing is, one month ago I removed trailing whitespace everywhere in the docs. Today there are 19 files with trailing whitespace. 18:50
timeless AlexDaniel: i'd be tempted to have a hook for `new files` 18:51
pmichaud for me, I wouldn't have my editor auto-strip ws, but I'd have a shortcut mapping that does it for me. :)
AlexDaniel pmichaud: yep, that's what I do 18:52
pmichaud anyway, I do have to head to the gate.... happy trails
BrokenRobot \o
moritz trailing ws isn't a big deal IMHO. Just ignore it. 18:53
BrokenRobot We should open an issue and womble this :P
dalek c: 2c1388c | (Josh Soref)++ | htmlify.p6:
spelling: program
18:55
timeless returns to trying to flip pancakes properly
Xliff Yeek@
s/\@/!/ 18:56
developer.github.com/v3/activity/e...#pushevent
BrokenRobot timeless: it's all in the wrist action ;)
timeless BrokenRobot: as timeless, i must say it's all in the timing
flip too early and it falls apart
BrokenRobot lol timeless++
timeless too late and it sticks
BrokenRobot That sounds like you need a better frying pan :P
timeless the range is gas, and i'm still very inexperienced :/ 18:57
previous batches were much better
BrokenRobot :)
timeless hasn't quite gotten the temperature right, nor the batter consistency... this time it didn't even pour properly
[Coke] AlexDaniel: catching up, all that seemed reasonable.
timeless AlexDaniel: so, on `make clean` 18:58
how opposed are people to me splitting it along the lines i described a few hours ago?
BrokenRobot I never use it, so I'm all for it :D
[Coke] timeless: checking. 19:00
timeless www.irccloud.com/pastebin/Pth2PCPZ...efile.diff
there are tabs in the real commit fwiw
Xliff What does everyone have against hard tabs? Is it the tab width thing? 19:01
timeless Xliff: in Makefile-s you need tabs :)
[Coke] if you split it up so clean does the same thing, but there's also a separate target you can run to not clean images, that's fine with me.
timeless so i'm just saying "i'm not breaking it"
[Coke] timeless: pastebin is blocked here. 19:02
BrokenRobot Xliff: yeah, pretty much.
timeless [Coke]: seriously?
dalek c: 71f3168 | (Josh Soref)++ | Makefile:
split clean into clean-html clean-images clean-search
BrokenRobot [Coke]:
[Coke]: gist.github.com/zoffixznet/f5d071b...01cd7a2123
Xliff BrokenRobot, most (modern) GUI editors make that configurable, so that seems like a moot point now.
BrokenRobot Xliff: yeah, but you aren't always viewing the file in "modern GUI editor" 19:03
Xliff kk
timeless is usually using `cat` or `web browser`
[Coke] BrokenRobot: I'd recommend 'clean' 'clean-html' and 'clean-other' 19:04
but have no real problem with your version
BrokenRobot timeless: ^
timeless [Coke]: you can fix it, it's in git :)
timeless but really, images and search are quite different 19:04
AlexDaniel timeless: what is “lgs”?
timeless i've wanted to play w/ search and not have anything to do w/ images 19:05
AlexDaniel: context?
AlexDaniel ahhh
nvm
timeless you have my attention, what did you see? :o
[Coke] timeless: if we had a real makefile, we wouldn't really need clean. 19:06
(as much)
BrokenRobot timeless: the paths in your commit
[Coke] you could change the one thing you wanted, and just regen the 2 or 3 impacted files.
BrokenRobot timeless: there's html/lgs and html/lg/
[Coke] AlexDaniel: maybe "needs fixing" is better as "needs coding" 19:07
timeless BrokenRobot: where where?
timeless is clearly blind :( 19:07
AlexDaniel [Coke]: then what is “needs implementing”?
timeless oh 19:08
timeless shrugs
the makefile had them already
i was only splitting things
i have no opinion about pre-existing conditions :)
[Coke] AlexDaniel: I have no idea what the difference is between "needs fixing" and "needs implementing"
(one of the things I was hoping we'd clean up :) 19:09
timeless oh 19:10
AlexDaniel [Coke]: “needs coding” sounds good.
timeless i think that's my terminal's pager eating letters
my terminal is X wide, and those lines are really wide, so the pager did something funny
sorry :/ 19:11
AlexDaniel [Coke]: or is it needed at all? Any issue that is not 「needs writing」 is probably 「needs coding」
[Coke] AlexDaniel: true, that's best.
FROGGS Xliff: I've merges your PR github.com/FROGGS/p6-XML-LibXML/pull/1/files as github.com/FROGGS/p6-XML-LibXML/co...9adac26a28 19:12
yoleaux 21 Jun 2016 20:38Z <Xliff> FROGGS: Do you want to worry about the errors in t/06elements.t after the merge?
AlexDaniel you can also use -label:"needs writing" if you don't want to see issues labeled as 「needs writing」 19:13
AlexDaniel ha, am I stupid or what github.com/perl6/doc/issues/570 github.com/perl6/doc/issues/622 19:15
mst I dunno, the new one's definitely a better ticket
BrokenRobot lol, yeah, looks like you've learned to use fancy pants github features :P 19:16
So if I click those checkboxes, they get checked for everyone or just me?
AlexDaniel I knew about this feature for some time
for everyone
BrokenRobot neast 19:17
*neat
timeless AlexDaniel: um, there's no explanation of what being checked mens
s/mens/means/
FROGGS you can also but that in markdown files, and it will commit if when you click
BrokenRobot :o 19:18
timeless is it `should be removed` or `should be added`?
AlexDaniel timeless: both
timeless: means that there is no issue with this term anymore
timeless could you adjust the description to indicate "checked items have been resolved" ? 19:19
(or something like that) 19:20
hoelzro o/ #perl6 19:21
BrokenRobot timeless: you can make the edit yourself :)
One of the features I hate about GitHub
timeless is so used to not being on teams
dalek c: 9fab598 | (David H. Adler)++ | WANTED:
Added duckmap and deepmap to WANTED: functions
19:22
c: a701520 | (David H. Adler)++ | / (3 files):
Merge branch 'master' of github.com/perl6/doc
AlexDaniel yeah, everyone please feel welcome to edit my issues/comments/whatever 19:23
timeless BrokenRobot: what i hate is i tried to edit it
and github ate my edits saying someone else was touching it
AlexDaniel haha
BrokenRobot :)
timeless this is why i don't like `edit` support 19:24
if it isn't google docs (or ether/pirate-pad), it isn't something i want to touch
timeless the dog-of-a-webservice that eats my homework is not my friend 19:24
BrokenRobot They actually added the "edited" indicator now. Looks like my bitching to GitHub about how the feature could be abused did have some effect \o/
timeless can i see this history of a thing? 19:25
i can't figure out what happened
dalek c: 39a5d14 | (Jan-Olof Hendig)++ | doc/Type/Nil.pod:
Method new was defined twice
BrokenRobot timeless: edit history? Nope 19:26
timeless ...
BrokenRobot hey, hosting data isn't cheap :P 19:27
This ain't Facebook! :P
geekosaur you might think they'd store issues in git :p 19:28
hoelzro timotimo: it turns out rlwrap makes a pty for its child =/ 19:29
Xliff FROGGS, \o/ 19:30
BrokenRobot It used to be worse: github.com/benkasminbullock/json-c...e/issues/2
There wasn't actually any harrasment, I just pointed out the broken code, but the dude couldn't handle it.
FROGGS Xliff: :o) 19:31
BrokenRobot Note how it doesn't say "edited" anywhere. He could've well made it look like I was spouting racist/sexist remark and I wouldn't even get a notification from GitHub
Xliff FROGGS: Like I said in my email, the next step is figuring out why the tests are failing. I feel that should be done before finishing the rest of 06elements.t 19:31
FROGGS yes, makes sense of course 19:32
though if you feel like doing other bits first, go ahead 19:33
Xliff FROGGS, LOL! Maybe a test that's a little less... ambitious, maybe? 19:33
=o)
Still, I do wanna circle back to that.
BrokenRobot, yeah. I see your point.
Xliff What did you actually say, if you don't mind me asking? 19:34
BrokenRobot Xliff: I believe that one was about inconsistent stringification of objects where sometiems it uses the HASH portion and sometimes it dies 19:35
timeless bugzilla has a complete* changelog
which makes this much better
you can review things (unless the database admin hacks it)
FROGGS Xliff: all I wanna say is: optimize for fun :o) 19:36
timeless (there's an exception which is that keywords can be renamed, in which case you won't see interim names and may have time following their history) 19:36
BrokenRobot Xliff: I basically opened three valid technical issues and wrote a negative review of the module and he didn't like the review (I edited it later to log what happened: cpanratings.perl.org/dist/JSON-Create#12286 ) 19:36
Xliff FROGGS: Roger! Wilco! 19:37
BrokenRobot Oh wow... He even packaged an entire "response" file with his distro *smh* metacpan.org/pod/distribution/JSON...sponse.pod 19:39
AlexDaniel BrokenRobot: have you seen opencart discussions?
BrokenRobot AlexDaniel: don't even know what opencart is :)
AlexDaniel BrokenRobot: well, it's something that will make you care less about this situation 19:40
BrokenRobot: because there's probably no way it could get worse…
Xliff BrokenRobot, Yow! I can see how someone thin skinned would respond in a negative manner to that.
Of course, all of these things are valid technical critiques. 19:41
AlexDaniel BrokenRobot: stuff like github.com/opencart/opencart/issues/1286
BrokenRobot: not sure if you can find the original log 19:42
Xliff If you are going to put out a module, you have to be prepared to respond to those in the most gracious manner possible...because they might be right!
AlexDaniel BrokenRobot: ah, there it is gist.github.com/uppfinnarn/9956023
BrokenRobot: “fuck off!” – summarizes opencart development 19:43
BrokenRobot wow :D
Xliff wooooow 19:45
Welcome to the Internet. Please realize that your good (or bad) behavior can follow you for a long time. 19:46
geekosaur heh 19:47
tony-o it doesn't need to, though. you can just change your name
geekosaur remembering an article from last year about teens on facebook discovering the hard way that potential employers do web searches on job applicants 19:48
Xliff tony-o, You need to do more than that... really.
tony-o Xliff: true, but only if you do more than trash talk
when i interview people i look for them on FB and twitter first 19:49
Xliff You'd be surprised how much hot water trouble trash talk will get you, in certain circles.
tony-o i found one guy that tweeted to pornstars all day
Xliff I maintain an account on neither.
tony-o you're missing nothing 19:50
Xliff Seriously... I've always had this thing about "Twitter".... how a service with the root word "twit" got so popular I just don't know.
And no... the bird does not change the meaning.
Some rich hacker somewhere is having a huge laugh at everone else's expense. 19:52
tony-o i imagine he isn't the only one 19:54
AlexDaniel “its not an XSS Vulnerability until i confirm it is!” ;) 19:56
AlexDaniel Zoffix: “a turd floating in the ocean” ahahahaha 20:03
masak Xliff: linguistic point of order: "twit" and "twitter" seem to have different etymologies, and do not share a root word. 20:07
timeless masak++ 20:07
ZoffixMobile AlexDaniel, where is that from?
AlexDaniel ZoffixMobile: well, the review claims that you said that
I mean, respone to your review 20:08
ZoffixMobile Ah, right. Yeah, at first I compared realease of yet another shitty json module to a turd in the ocean 20:09
Ptolemarch TimToady: It appears that the answer to my question is: Rather than `map { ... }, 1...99`, I needed `map { ... }, [1...99]` 20:10
AlexDaniel it's very poetic, I love that
ZoffixMobile :)
AlexDaniel [Coke]: anyway, so what's the plan?
tony-o ZoffixMobile: where is that ? 20:11
ZoffixMobile tony-o, in Perl 5 land. Some guy last year didn't like my review. He now packages a "response" with their distro: metacpan.org/pod/distribution/JSON...sponse.pod 20:13
mst ZoffixMobile: wow, that's almost as much fun as the stuff on e.g. p3rl.org/AnyEvent::Impl::POE 20:15
AlexDaniel: I remember somebody saying "my code doesn't have a vulnerability until I confirm it does" on #perl 20:16
AlexDaniel: somebody wrote a cron job that exploited it so all it displayed was the IRC log where we explained how to fix it
AlexDaniel :D
tony-o lol 20:17
mst later, he evaded his ban, apparently for the sole purpose of calling me a faggot
tony-o what a winner 20:17
mst I don't think a fresh kickban with a message of "yeah, well, I suck cock better than you write perl" was quite what he expected
ZoffixMobile rofl
tony-o ahhaha
mst (apologies for the language involved in telling that story)
(I'd already hit enter when it occurred to me people might care) 20:18
AlexDaniel psch: you gonna love that: www.unicode.org/emoji/charts/emoji-...html#1f937
tony-o wow ZoffixMobile , Ben Bullock has a thing for you 20:22
ZoffixMobile :)
TimToady Ptolemarch: oh, yeah, ... is looser than comma, while .. is tighter 20:25
Xliff masak: Point taken. However my irrational reasoning still exists. Allow me to reword: How a site with the word "twit" in it got so popular is beyond me. 21:03
Zoffix never heard 'twit' used as an insult. 21:11
AlexDaniel yea. That's kinda non-poetic 21:12
timotimo i've heard it before
it's quite british, i think
lizmat as is twat :-)
timotimo or am i confusing it with twat?
mst timotimo: no 21:13
Xliff: 'twitter' was a word in its own right beforehand
'the twittering of the dawn chorus' etc.
timotimo my ssh connection is super crazzy right now
oh! incredible! all three AFZ sessions are running at the same time now! 21:14
mst 'twit' tends to indicate 'a bit dim' whereas twat indicates 'a bit unpleasant'
timotimo it only took like one full day of deleting individual flaky files and restarting the damn thing from the very beginning
mst roughly
timotimo i didn't knw that. thanks! 21:15
timotimo hack.p6c.org/~timo/ - for your enjoyment, maybe 21:15
at some point i ought to minimize some of those crashes and compress them away so that it doesn't use up like 16 gigs of hard drive space :D 21:16
Zoffix timotimo, what's 'fuzzing'?
Xliff mst: Good to know. Maybe you missed it when I said "irrational" =) 21:17
timotimo Zoffix: it's when you have an input file that you make lots of semi-random changes to in order to get the program that consumes it to crash
Zoffix :o
mst Xliff: oh, I didn't, but still
ShimmerFairy
.oO( twit for twat )
timotimo afl in this case instruments the code to optimize changes so that they maximize the amount of different code paths taken 21:18
Xliff ShimmerFairy++
lizmat ShimmerFairy o/
ShimmerFairy \o
timotimo here i'm fuzzing .moarvm files based on the nqp stage0
mst ShimmerFairy: that's the 'house of commons' prisoners dilemma strategy clearly 21:22
ShimmerFairy mst: too bad I don't know much of UK politics :) . (though I do need to go find a site that'll report on the referendum, now that I'm reminded) 21:23
mst ShimmerFairy: well, mostly, you insert [politician you dislike] for twit and [politician you dislike even more] for twat and it generalises to most political debates 21:24
ShimmerFairy mst: oh, so like [REDACTED] and [REDACTED TO AVOID FLAME WAR]? :P
tony-o is the UK vote over? 21:27
did they tell the EU to pound sand?
ShimmerFairy tony-o: apparently, polls closed, counting starts now 21:28
tony-o: www.bbc.com/news/live/uk-politics-36570120
(the page I have up to keep an eye on it)
mst ShimmerFairy: but 'twit for twat' as a replacement for 'tit for tat' only works in en_UK hence my aiming it at our politicians :)
mst tony-o: I don't think we're going to. guess we'll find out in N hours. 21:29
ShimmerFairy mst: heh :) . At least our House democrats are starting to learn from the British Parliament's How-To Guide On Fun House Sessions™ :P
skaji Hi, I'm trying examples in doc.perl6.org/language/concurrency now.
react { whenever Supply.interval(1) -> $v { say $v; done() if $v == 4 } } 21:30
works
But if I change $v == 4 to $v == 0, then it freezes.
react { whenever Supply.interval(1) -> $v { say $v; done() if $v == 0 } } 21:31
Can someone tell me why? thanks.
Zoffix skaji, because $v starts with 1?
m: react { whenever Supply.interval(1) -> $v { say $v; done() if $v == 4 } }
camelia rakudo-moar 9b579d: OUTPUT«0␤1␤2␤3␤4␤»
mst so it never contains 4
Zoffix hmmm
mst hm, no
Zoffix m: react { whenever Supply.interval(1) -> $v { say $v; done() if $v == 0 } }
weird
camelia rakudo-moar 9b579d: OUTPUT«(timeout)0␤»
Zoffix skaji, seems a bug 21:32
huggable, rakudobug
huggable Zoffix, To report a bug, email detailed description and any test cases to [email@hidden.address] or use perl6 query on rt.perl.org ; see github.com/rakudo/rakudo/#reporting-bugs
skaji Zoffix: wow
timotimo maybe we require an emit before a done to happen, even though that's not right?
Zoffix skaji, ^ would file it, please?
tony-o react { whenever Supply.interval(1) -> $v { say $v.WHAT; done(); } }
Zoffix timotimo, but doesn't it emit a '0' anyway?
m: react { whenever Supply.interval(1) -> $v { say $v.WHAT; done(); } } 21:33
tony-o m: react { whenever Supply.interval(1) -> $v { say $v.WHAT; done(); } }
oh, thanks Zoffix
Zoffix :S
tony-o you irrational JSON hater
Zoffix :P
camelia rakudo-moar 9b579d: OUTPUT«(timeout)(Int)␤»
Ptolemarch Hmm, this input crashes the Perl6 REPL for me (2016.06; I'll try checking blead): 21:34
ShimmerFairy tony-o: it's not irrational to dislike something without support for comments [at least until very recently, IIRC] :P
Ptolemarch [1..99].map:{[$_%%5&&'fizz', $_%%3&&'buzz'].grep:Str} 21:35
tony-o ShimmerFairy: was a reference to someone complaining about Zoffix reviewing his module poorly
in a poor light, rather
ShimmerFairy ah, wouldn't know :)
Ptolemarch [1..99].map:{[$_%%5&&'fizz', $_%%3&&'buzz']}
argh, sorry, wrong window (only the last one)
Zoffix m: say [1..99].map:{[$_%%5&&'fizz', $_%%3&&'buzz']} 21:35
camelia rakudo-moar 9b579d: OUTPUT«([False False] [False False] [False buzz] [False False] [fizz False] [False buzz] [False False] [False False] [False buzz] [fizz False] [False False] [False buzz] [False False] [False False] [fizz buzz] [False False] [False False] [False buzz] [False False…»
skaji Zoffix: Okay, I will file it. thank you for your help! 21:36
Zoffix No problem 21:36
Zoffix bisect: react { whenever Supply.interval: 1 -> $ { done } } 21:39
Oops... AlexDaniel does it have freeze protection?
AlexDaniel Zoffix: well… :) 21:40
Zoffix heh
Zoffix 2016.04 still has that bug 21:42
AlexDaniel bisect: exit 42 21:43
bisectable AlexDaniel: on both starting points the exit code is 42 and the output is identical as well
AlexDaniel bisect: exit 999999999999999
bisectable AlexDaniel: on both starting points the exit code is 255 and the output is identical as well
AlexDaniel bisect: exit -99999999 21:44
bisectable AlexDaniel: on both starting points the exit code is 1 and the output is identical as well
AlexDaniel bisect: exit -999999999
bisectable AlexDaniel: on both starting points the exit code is 1 and the output is identical as well
AlexDaniel bisect: exit -999999 21:45
bisectable AlexDaniel: on both starting points the exit code is 193 and the output is identical as well
AlexDaniel bisect: exit -99999
bisectable AlexDaniel: on both starting points the exit code is 97 and the output is identical as well
Zoffix :S
AlexDaniel yeah :/
Zoffix Ptolemarch, what's the crash? And are you using Readline/Linenoise/rlwrap? 21:49
Can't reproduce on bleed without those installed
Ptolemarch I have both Readline and Linenoise installed; I'm pretty sure it's using Readline.
timotimo Zoffix: you're right, it does 21:50
maybe it gets confused because done() fires before the first emit() goes through? 21:51
Zoffix ¯\_(ツ)_/¯
Ptolemarch Zoffix: pastebin.com/YLGL8Ane
Zoffix Thanks.
m: [1..99].map:{[$_%%5&&'fizz', $_%%3&&'buzz'].grep:Str}
camelia rakudo-moar 9b579d: OUTPUT«Cannot resolve caller grep(Array: ); none of these signatures match:␤ ($: Bool:D $t, *%_)␤ ($: Mu $t, *%_)␤ in block <unit> at <tmp> line 1␤␤»
Zoffix m: [1..99].map:{[$_%%5&&'fizz', $_%%3&&'buzz'].grep: { $_ ~~ Str } } 21:52
camelia ( no output )
Zoffix Is it meant to work with just a type object passed?
bisect: [1..99].map:{[$_%%5&&'fizz', $_%%3&&'buzz'].grep:Str}
bisectable Zoffix: exit code is 1 on both starting points, bisecting by using the output
Zoffix: (2016-06-09) github.com/rakudo/rakudo/commit/b6902e5
Ptolemarch Well, not sure. I don't mean to say the code should *work*.
But it's surprising that it crashes the REPL. 21:53
woolfy Perl 5&6 course by Damian Conway ("Functional Programming in Perl") is over and was very interesting (no video or online notes).
Zoffix Ptolemarch, ah, I see :) 21:54
masak woolfy: ooc, what was the proportion of 5 vs 6?
Zoffix Ptolemarch, ok, now I can confirm it. I was running your other sample
I know which commit potentially caused this /me tries compiling that 21:55
woolfy masak: 60% about Perl 5, 40% about Perl 6 (because Perl 6 takes less effort to program and to explain)
woolfy Have to leave room now... Bye. 21:55
Zoffix m: [1..99].map:{[$_%%5&&'fizz', $_%%3&&'buzz'].grep: Str} 21:56
camelia ( no output )
Zoffix m: say [1..99].map:{[$_%%5&&'fizz', $_%%3&&'buzz'].grep: Str}
camelia rakudo-moar 9b579d: OUTPUT«(() () (buzz) () (fizz) (buzz) () () (buzz) (fizz) () (buzz) () () (fizz buzz) () () (buzz) () (fizz) (buzz) () () (buzz) (fizz) () (buzz) () () (fizz buzz) () () (buzz) () (fizz) (buzz) () () (buzz) (fizz) () (buzz) () () (fizz buzz) () () (buzz) () (fizz…»
Ptolemarch Zoffix: Yeah, basically right now I'm using a kind of FizzBuzz Golf as a way of trying to learn the language.
Zoffix ^ (that answers my earlier question)
Ptolemarch So far my best is:
m: (($_ %% 5 && 'fizz' || '')~($_ %% 3 && 'buzz' || '') || $_).say for 1..99; 21:57
camelia rakudo-moar 9b579d: OUTPUT«1␤2␤buzz␤4␤fizz␤buzz␤7␤8␤buzz␤fizz␤11␤buzz␤13␤14␤fizzbuzz␤16␤17␤buzz␤19␤fizz␤buzz␤22␤23␤buzz␤fizz␤26␤buzz␤28␤29␤fizzbuzz␤31␤32␤buzz␤34␤fizz␤buzz␤37␤38␤buzz␤fizz␤41␤buzz␤43…»
Zoffix m: say $_ %% Ⅴ*Ⅲ ?? 'Fizz Buzz' !! $_ %% Ⅲ ?? 'Fizz' !! $_ %% Ⅴ ?? 'Buzz' !! $_ for ^Ⅹ*Ⅹ
camelia rakudo-moar 9b579d: OUTPUT«Fizz Buzz␤1␤2␤Fizz␤4␤Fizz Buzz␤Fizz␤7␤8␤Fizz␤Fizz Buzz␤11␤Fizz␤13␤14␤Fizz Buzz␤16␤17␤Fizz␤19␤Fizz Buzz␤Fizz␤22␤23␤Fizz␤Fizz Buzz␤26␤Fizz␤28␤29␤Fizz Buzz␤31␤32␤Fizz␤34␤Fizz Buzz␤Fizz␤…»
Zoffix :P
Ptolemarch OMFG 21:57
Zoffix lol 21:58
Ptolemarch will have to read this code...
Zoffix: I don't suppose you're at YAPC right now? 21:59
Zoffix Nope
Zoffix It's just a nested ternary with unicode roman numerals :) 21:59
Ptolemarch OIC, right. :-)
A ternary operator was my first attempt.
skaji oops i created a ticket in perl5 queue rt.perl.org/Ticket/Display.html?id=128469 could someone modify it please? 22:01
AlexDaniel sure
nope
“Permission Denied” :/
Zoffix [Coke] can
sorry... unintentional pun :P
AlexDaniel :D 22:02
skaji AlexDaniel, Zoffix: thanks, [Coke] thanks in advance :) 22:03
Zoffix Yup. My guess was right (about REPL commit) 22:21
.tell awwaiid if you have any time, would you be able to take a look into rt.perl.org/Ticket/Display.html?id=128470 ? It was introduced by the loopy REPL commit, so maybe it'll be easier for you to fix it than the rest of us. Thanks! github.com/rakudo/rakudo/commit/6b...125250a18b 22:25
yoleaux Zoffix: I'll pass your message to awwaiid.
hoelzro timotimo: I've been looking at the rlwrap source, and I don't see any indication that it supports custom escape sequences =( 22:34
timotimo hmm
ok
hoelzro I'm wondering if we can just detect if the terminal it's attached to is in a particular mode
but then I wonder about how best to do that - an external module has problems, and I'm loathe to add another nqp:: op
timotimo mhm 22:35
hoelzro ugh, tcgetattr doesn't change under rlwrap o_O 22:38
hoelzro hmm, I have a devious alternative 22:45
what if instead of detecting rlwrap at the get-go and telling them about it if it's not present...
...we switch off line buffering on standard input and issue the help after the first time we see something like a control character? 22:46
that doesn't sound ideal, but it's a thought
timotimo oh, because rlwrap eats everything like arrow keys? 22:47
Xliff m: sub f { fail "NYI" }; f 22:49
camelia rakudo-moar 9b579d: OUTPUT«NYI␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
Xliff m: my @a = ^3; @b = ^3; say @a == @b 22:51
camelia rakudo-moar 9b579d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '@b' is not declared␤at <tmp>:1␤------> 3my @a = ^3; 7⏏5@b = ^3; say @a == @b␤»
Xliff m: my @a = ^3; my @b = ^3; say @a == @b
camelia rakudo-moar 9b579d: OUTPUT«True␤»
Xliff m: my @a = ^3; my @b = (1, 2, 3); say @a == @b
camelia rakudo-moar 9b579d: OUTPUT«True␤»
Xliff m: my @a = ^3; my @b = (1, 2, 3); say @a cmp @b
camelia rakudo-moar 9b579d: OUTPUT«Less␤»
Xliff m: my @a = ^3; my @b = (1, 2, 3); say @a eqv @b
camelia rakudo-moar 9b579d: OUTPUT«False␤»
AlexDaniel m: my @a = ^3; my @b = 5..8; say @a == @b 22:52
camelia rakudo-moar 9b579d: OUTPUT«False␤»
AlexDaniel m: my @a = ^3; my @b = 5..7; say @a == @b
camelia rakudo-moar 9b579d: OUTPUT«True␤»
AlexDaniel can't count
Xliff :p
Yeah. I just tested that.
hoelzro timotimo: yup
I should probably move my REPL wishlist out of that gist, but RT doesn't seem like the right spot for them either 22:55
timotimo that's a tiny bit evil :) 23:04
Xliff kicks git in the unmentionables for making conflicts on mergable files. 23:24
Zoffix Wasn't it you who made the conflict and git was just nice enough to point out? :P 23:25