»ö« 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.
AlexDaniel if I have a Buf with bytes of a double, how can I convert it to num64? 00:01
I'm reading these from a binary file
ipatrol m: my $name = 'exclaim'; sub exclaim ($phrase) { say "$phrase !!!";} &::<$name>('hello'); 00:02
camelia WARNINGS for <tmp>:
Useless use of "&" in expression "sub exclaim ($phrase) { say \"$phrase !!!\";} &::<$name>('hello')" in sink context (line 1)
No such method 'CALL-ME' for invocant of type 'Str'
in block <unit> at <tmp> line 1
AlexDaniel (so technically I just want to get a bunch of floating points from a binary file)
ipatrol m: my $name = 'exclaim'; sub exclaim ($phrase) { say "$phrase !!!";} &$::<$name>('hello'); 00:03
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$' is not declared
at <tmp>:1
------> 3xclaim ($phrase) { say "$phrase !!!";} &7⏏5$::<$name>('hello');
AlexDaniel OK, I need Numeric::Pack, thanks
ipatrol m: my $name = 'exclaim'; sub exclaim ($phrase) { say "$phrase !!!";} $::<$name>('hello');
camelia 5===SORRY!5=== Error while compiling <tmp>
Strange text after block (missing semicolon or comma?)
at <tmp>:1
------> 3 exclaim ($phrase) { say "$phrase !!!";}7⏏5 $::<$name>('hello');
expecting any of:
infix
infix…
ipatrol m: my $name = 'exclaim'; sub exclaim ($phrase) { say "$phrase !!!";} ::{"&$name"}('hello'); 00:04
camelia 5===SORRY!5=== Error while compiling <tmp>
Confused
at <tmp>:1
------> 3xclaim ($phrase) { say "$phrase !!!";} :7⏏5:{"&$name"}('hello');
expecting any of:
colon pair
ipatrol m: my $name = 'exclaim'; sub exclaim ($phrase) { say "$phrase !!!";} ::{'&exclaim'}('hello'); 00:05
camelia 5===SORRY!5=== Error while compiling <tmp>
Confused
at <tmp>:1
------> 3xclaim ($phrase) { say "$phrase !!!";} :7⏏5:{'&exclaim'}('hello');
expecting any of:
colon pair
ipatrol I'm trying to programatically create a bunch of rules in a grammar from the entries of a list. Any ideas? 00:06
awwaiid hmm 00:13
ipatrol perl6advent.wordpress.com/2015/12/...-grammars/ 00:16
m: say Metamodel::GrammarHOW;
camelia (GrammarHOW)
awwaiid I wonder if you are going meta unnecessarily 00:17
maybe you can show me what code you wish you could do, like with an example list
it's a dynamic list, and so references to it are dynamic somehow too? 00:18
ipatrol awwaiid: Unlike the author of that above link, I am aware of how to build regex rules programatically, so I think I can avoid the EVAL 00:19
awwaiid yeah but I think the EVAL is not just for the rule, but for the named-rule 00:20
er, not just the content but for the name too
I tried assigning to ::('&exclaim') and that didn't work out 00:21
ipatrol awwaiid: it looks like he left them anonymous
awwaiid $grmr.^add_method('TOP',
EVAL 'token { <' ~ $<rule>[0].ast.key ~ '> }');
named it TOP 00:22
ipatrol yeah, but that's not part of the EVAL 00:22
awwaiid ah true that. that .^add_method might be what you are looking for then 00:22
ipatrol the code definition itself is anonymous
awwaiid hook that sucker onto a Grammar 00:23
ipatrol awwaiid: no, it says it should only be used before a type is composed
awwaiid m: grammar Pets { }; Pets.^add_method('TOP', rule { "fish" }); say Pets.parse("fish"); say Pets.parse("fishies") 00:26
camelia 「fish」
Nil
ipatrol awwaiid: I'm not saying it doesn't work, but if the docs are to be believed, we're getting into some real black magic here, even by Perl* standards. 00:27
awwaiid mmm. not tooooo black magic I think. what's your bigger project? 00:28
ipatrol awwaiid: parsing fansub titles
ipatrol which are laid out according to like two dozen different, conflicting formats, and can't even agree on what to use as whitespace 00:29
awwaiid ah cool. So you have like a list of certain legal keywords that you're trying to bake in? ahh intersting
ipatrol awwaiid: well, a list of keywords/key regexes, at least 00:30
awwaiid maybe you can make the grammar more permissive and then do a second level of validation 00:31
ipatrol awwaiid: whatever I do is going to have to take multiple passes. I'm not even sure if a P6 grammar is even the right tool for the job. 00:32
awwaiid or another dimension of evil is you could take in your lists of things and output raw p6 source code itself
ipatrol ew 00:33
awwaiid :)
skids .u interval 00:34
yoleaux No characters found
skids .u range
yoleaux U+2A65 Z NOTATION RANGE ANTIRESTRICTION [Sm] (⩥)
ipatrol awwaiid: I was hoping to use protoregexes for most of the task 00:36
awwaiid ah cool. I've not used those 00:40
you make like specialized grammars for the major formats? 00:41
Zoffix [Coke]: oh, that's likely because I designed the SQASHathon flyer on A4 paper. A4 has √2 dimensions, which humans like second most (after golden ratio), but living in North America, I never get to design on that paper, so I used it for the flyer :) I'm gonna export a US Letter size tomorrow, so people with US paper could print them too :) 00:42
[Coke]: yeah, I can make bug admins, but skids was already listed as bug admin, yet lacking bug admin features and I've no clue why. 00:43
ipatrol awwaiid: I tried that at first. The problem is there are no "major formats" 00:46
I've come to the point where I would love to strangle every fansubber who ever made a release for not settling on some common format, but sadly that is not going to happen, nor would it help 00:48
raschipi Zoffix: It's good to design on A-format paper because one can print in half or double size without having to stretch. That way you design a big flyer, a small flyer and a poster all in one go. 01:21
Zoffix Yeah 01:24
raschipi Another thing √2 gives is the ability of printing 4 small flyers in an A4 sheet. 01:28
Zoffix And if you add a lot of them together, you can make a pie \o/ 01:32
Zoffix m: my &prefix:<√> = &sqrt; my $*TOLERANCE = 0.0002; say π ≅ 01:40
2*(2/√2)*(2/√(2+√2))*(2/√(2+√(2+√2)))*(2/√(2+√(2+√(2+√2))))*(2/√(2+√(2+√(2+√(2+√2)))))*(2/√(2+√(2+√(2+√(2+√(2+√2))))))*(2/√(2+√(2+√(2+√(2+√(2+√(2+√2)))))))*(2/√(2+√(2+√(2+√(2+√(2+√(2+√(2+√2))))))))*(2/√(2+√(2+√(2+√(2+√(2+√(2+√(2+√(2+√2)))))))))*(2/√(2+√(2+√(2+√(2+√(2+√(2+√(2+√(2+√(2+√2))))))))))
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing required term after infix
at <tmp>:1
------> 3 &sqrt; my $*TOLERANCE = 0.0002; say π ≅7⏏5<EOL>
expecting any of:
prefix
term
raschipi m: my &prefix:<√> = &sqrt; my $*TOLERANCE = 0.0002; say π ≅ 2*(2/√2)*(2/√(2+√2))*(2/√(2+√(2+√2)))*(2/√(2+√(2+√(2+√2))))*(2/√(2+√(2+√(2+√(2+√2)))))*(2/√(2+√(2+√(2+√(2+√(2+√2))))))*(2/√(2+√(2+√(2+√(2+√(2+√(2+√2)))))))*(2/√(2+√(2+√(2+√(2+√(2+√(2+√(2+√2))))))))*(2/√(2+√(2+√(2+√(2+√(2+√(2+√(2+√(2+√2)))))))))*(2/√(2+√(2+√(2+√(2+√(2+√( 01:41
camelia 5===SORRY!5=== Error while compiling <tmp>
Prefix √ requires an argument, but no valid term found
at <tmp>:1
------> 3√(2+√2)))))))))*(2/√(2+√(2+√(2+√(2+√(2+√7⏏5<EOL>
expecting any of:
prefix
ipatrol good God man 01:42
AlexDaniel “Two terms in a row (runaway multi-line <> quote starting at line 15 maybe?)” 01:43
yesss, thank you very much
BooK which package should I install to get Test::Util? 07:58
BooK ah, it's in roast/packages, but that isn't in the list of searched paths when running fudgeandrun 08:11
cschwenz is irclog.perlgeek.de down? 08:21
BooK downforeveryoneorjustme.com/irclog.perlgeek.de 08:22
cschwenz :-( 08:22
timotimo BooK: there's a very big problem with argument handling if you allow --foo bar instead of --foo=bar 08:42
consider:
timotimo tries to unknot his brain
one multi candidate asks for a Str :$foo, the other for a Bool :$foo 08:43
one of the two (and i'm not sure which one it has to be for the problem to appear) wants a Str after that, the other takes no positional parameters 08:44
Ulti notices that #perl6 has a surprising number of people lurking 08:45
jast ... and sometimes some of them surface to make an irrelevant comment, only to disappear immediately afterwards
timotimo okay, someone has to figure out if there's a way to get a contradictory set of MAIN signatures and command line argument sets 08:46
Ulti jast but not you, since that was spot on :P
Skarsnik Well it's the user fault in this case?
Ulti timotimo: do people oerload flags like that? 08:47
Skarsnik timotimo, probably need to look at this issue from the other side. What is the need for a Bool $:foo and Str $:foo at the same time 08:48
Ulti I've never seen something thats a boolean flag and sometimes takes an argument... is that in the POSIX description of command line flags?
timotimo there's flags like that
Ulti ;_;
Skarsnik --verbose
timotimo sed's in-place flag takes a file extension optionally
Ulti --verbose on its own usually assumes a default Int though in my experience
as in you can have default parameterised numbers 08:49
Skarsnik true
Ulti hmm actually thats an even worse case for you something that expects a parameter with a default AND there is a boolean
but yeah I hadnt considered verbose 08:50
Skarsnik timotimo, how does that look? the 2 usage
timotimo probably always with a = 08:51
Ulti hah so in the case of verbose being a default int or a boolean it just calls the first to appear in the source file... 08:52
no warning is perhaps not the best
I take it this was the original convo
actually this in general is perhaps more of a problem away from MAIN I have some rinky dink multi subs where some of them its possible are never reachable and I've not noticed 08:53
Skarsnik m: multi sub foo(Str $plop) {say "first"}; multi sub foo(Str:D $plop) {say "second"}; foo("j"); foo(Str:U); 08:57
camelia Ambiguous call to 'foo'; these signatures all match:
:(Str $plop)
:(Str:D $plop)
in block <unit> at <tmp> line 1
Skarsnik m: multi sub foo(Str:U $plop) {say "first"}; multi sub foo(Str:D $plop) {say "second"}; foo("j"); foo(Str:U);
camelia second
first
Ulti so its specifically just the dispatch of MAIN from the parsing of the parameters? 09:01
Skarsnik what is the equivalent of pel5 'x'? xx .join ? 09:04
Ulti oo that is good, just tried tricking it with having a default but its genuinely smart enough to dispatch to the method with a default when the variable isnt defined
nice 09:05
Skarsnik just x
'hi' x 2 eq 'hihi'
or to be super crazy why not [~] 'hi' xx 2 09:07
I feel like Perl 6 actually follows the Python methodology of there is one obvious way to do it really... but in a pinch you can do whatever you like if you work yourself into a corner 09:08
one obvious way and its probably a four character infix operator 09:09
Ven`` Mh, reading the Cro talk again. I'm wondering why: 09:23
class Echo does Cro::Transform { method consumes { A } method produces { B } }
instead of, say:
Ven`` class Echo does Cro::Transform[A, B] {} 09:23
timotimo i wonder if there's a reason to do caculations inside consumes and produces 09:23
Ven``
.oO( role TypedTransform[::From, ::To] { method consumes { From } method produces { To } } }
09:24
timotimo: don't think so. I can think of a stateful transformer that'd change its `produces` type, but probably not its consumes.. 09:25
Ven`` mh, maybe I'd like to have a typed Supply as well 09:25
timotimo it's probably because every piece of the pipeline has consumes and transforms and multiple chained things get from their contents what they consume and produce 09:26
and putting that in the type is probably a bit of a hassle, or a DRY-violation
i.e. why have Cro::ManyThingsInARow[A, E].new(AB, BC, CD, DE)?
Ven`` sorry? 09:27
if you have a A -> B and a B -> C, you have a A -> C
timotimo if XY is a thing that consumes X and produces Y
Ven`` timotimo: yes? 09:29
you don't compose it that way usually, do you?
Ven`` I have yet to see a "composeN" that was correctly typed in most languages, to be honest – even worse in the case of a slurpy/array 09:30
sena_kun you can file an issue with the design question if you want. 09:33
Ven`` sena_kun: but where? 09:34
sena_kun github.com/croservices/cro-core
:)
Ven`` sena_kun: would you happen to be Altai-man by any chance? 09:35
sena_kun yeah.
Ven`` then I must say – great job :D. 09:36
sena_kun thanks a lot. \o/ 09:38
Ven`` I was reading the cro-websocket code. It manages to be very readable even though it's fairly low-level, really nice 09:39
sena_kun the API(and, well, all APIs of cro) was designed by jnthn++, so yes, it's very neat, especially Router pieces and overall pipeline-thingy concept. 09:41
Skarsnik can like part of cro be used alone? Like the cro websocket part to write async websocket client 09:44
sena_kun there is a dependency graph between modules, see cro.services/docs/module-structure - basically, yes, but it will be core + http + ssl + websockets, since websockets rely on http+ssl anyway. 09:46
Ven`` posted here – github.com/croservices/cro-core/issues/1 09:47
sena_kun Ven``++ 09:48
Skarsnik m: say "a" ~~ /b/ 09:53
camelia Nil
Skarsnik m: say "a" ~~ /a/
camelia 「a」
Skarsnik damn the fancy [ cut me some character in my terù 09:58
Geth marketing: 708427c9a7 | (Zoffix Znet)++ | 3 files
Add US-Letter-sized SQASHAthon poster
12:05
census Zoffix sos emergency 12:06
Zoffix [Coke]: I added US-Letter sized SQUASHathon poster, if you need it: github.com/perl6/marketing/raw/mas...Letter.pdf
[Coke] Zoffix++
Zoffix census: what is it? 12:08
census i just deleted one of the programs i wrote. i can't recover it
i think i can rewrite it using the log and my knowledge
Zoffix heh
census also the program you wrote about socks i still didn't get it to work 12:09
Zoffix census: you should sign up to GitHub and use version control. That way even if you delete your local copy, you still have online version
census Zoffix i know i should have. do you think my pastebins still work or they got deleted within 24 hours 12:10
Zoffix census: they're still there: pastebin.com/VPTE8T8e 12:11
census Zoffix no it's not that one i lost
it's the very first one i wrote that you helped with for the pubmed website
census i just ran the one by the way you just recovered and i got an error at the line: my $url = [www.expressvpn.com/what-is-my-ip]; 12:12
census it says " expecting any of: colon pair" 12:12
Zoffix Yeah, because it still has the same error you asked about yesterday. 12:13
It's about Unicode brackets coming out as question marks. 12:14
census Zoffix pastebin.com/fWCb83Wq didn't i fix that problem? 12:18
Zoffix census: no, you used square brackets instead of 「 and 」 12:20
census Zoffix by the way i recovered my first code :) 12:21
Zoffix \o/.
census Zoffix which key is square bracket? i did [ in the code 12:22
raschipi census: you need square quotes, not square brackets. And your keyboard probably doesn't have a key for it, depending on which country you are. 12:23
Zoffix On my keyboard, it's G18 that types both brakets :)
raschipi sena_kun: does you keyboard have keys for them? 12:23
Zoffix census: I also mentioned yesterday the ASCII only alternative to these quoters. See the reference page: docs.perl6.org/language/unicode_texas
census raschipi do you mean either " OR ' ? 12:24
sena_kun robertle, for who?
argh.
raschipi for 「 and 」
sena_kun what an irony.
nope.
I use hhkb.
census raschipi yes i'm not following what to be typing exactly 12:25
sena_kun with us/ru layouts. I could type 「 and 」 with Japanese input(by mozc) before, but void linux doesn't support it yet. :/
raschipi census, ude Q// instead, then. 12:26
Zoffix That won't work. The quoted text uses // in it 12:27
census raschipi Q//
raschipi use*
census my $url = Q//www.expressvpn.com/what-is-my-ip//Q; ?
Zoffix census: just use single quotes 12:29
census my $url = 'www.expressvpn.com/what-is-my-ip'; 12:30
thanks Zoffix now i got the following error: error while setting up ssl connection (No connection could be made because the target machine actively refused it.) at C:/Strawberry/perl/site/lib/LWP/Protocol/socks.pm line 91. 12:33
pastebin.com/VgWWgjtw 12:34
Zoffix census: you gonna have to learn to debug problems on your own instead of asking other humans to solve each of your issues.
Try googling for that error message. 12:35
census Zoffix thank you i completely understand your point. i'm just a little out of my element on this one. i did successfully debug a lot of the 2nd website i had been working on independently without mentioning it hree 12:36
sena_kun rt.perl.org/Public/Bug/Display.html?id=130857 - if I have this one(unhandled Failure detected in DESTROY) while doing `require`, how bad it is? 12:38
census i did google about the line 91 and i didn't come up with anything
perlpilot census: Are you mixing Perl 5 and Perl 6? Perl 6 doesn't use -> like you're using it in that last paste.
oh, never mind ... I see that you're calling out to Perl 5 now.
formatting is weird 12:39
Zoffix sena_kun: it means you never handle a Failure 12:41
m: sub stuff { fail }; my $x = stuff; say 'Eh, $x is fine. Let us ignore the failure'
camelia Eh, $x is fine. Let us ignore the failure
Zoffix ^ if that 12:42
sena_kun well, I understood that, but I have a `catch { default {} }` block and it doesn't help much.
Zoffix ^ if that $x is GCed that warning will come out
sena_kun hmmm.
Zoffix sena_kun: there's no real relevance between an unhandled Failure and a CATCH block. 12:43
sena_kun yes, I see now.
Zoffix CATCH doesn't catch failures, only exceptionsd.
.Bool or .defined on Failure handles it
sena_kun so I need to fire the failure or.
Zoffix sena_kun: what's the actual code?
sena_kun give me a second...
github.com/croservices/cro/blob/ma...or.pm6#L31 - this one. gist.github.com/Altai-man/ba6320ad...543dbc107a - the warning points to the line I selected, which is odd. 12:45
census perlpilot do you know how to fix the error i received?
Skarsnik the message is pretty clear 12:46
Geth_ perl6-most-wanted: 44c0e68d14 | (Tom Browder)++ (committed using GitHub Web editor) | most-wanted/modules.md
a Perl 6 wrapper for libmilter.a
census Skarsnik i've been googling about the error 12:47
raschipi census: look at the httpd log of the computer you're trying to access and see if it registered why the connection was refused. 12:51
right, you aren't trying to access your own computers
Zoffix sena_kun: what rakudo version are you on?
sena_kun Zoffix, 2017.08-28
census raschipi how may i do that? i googled about it but am not seeing clear directions on how to do so 12:52
moritz connection refused means there's nothing listening on the port, or a firewall is blocking the request (though they typically just drop the packets, causing a timeout)
sena_kun built on MoarVM version 2017.08.1-19-g151a2563 if it matters too.
Zoffix sena_kun: weird. There shouldn't be any failures in that code. The Failure from that `require` should get sunk and explode and the explosion caught by the CATCH block. 12:53
Zoffix I can't repro the issue with a golfed loop tho 12:54
sena_kun :/ 12:54
Zoffix sena_kun: I would bet there's a rakudo bug lurking somewhere 12:54
Zoffix And maybe that Failure doesn't get sunk, hence the warning 12:54
sena_kun that is what I've been afraid of - rakudo bug. :/ Thanks for opinion, thuogh. 12:55
*though
census moritz are you saying i need to disable a firewall?
moritz census: do you have one running? 12:56
census moritz i'm not sure. i don't really use the computer i'm on often. it's not a version of windows i'm comfortable with but i'm using it solely for perl6 access 12:57
sena_kun Zoffix, btw, did you try a golfed loop once or multiply times? Because it is a race-like issue(sometimes there is no warning). 12:58
moritz census: can you access the URL with a browser?
Zoffix sena_kun: I was trying perl6 -e 'loop { for <a> { require ::($_); given ::($_) { "in".say }; CATCH { default { } } } }'
sena_kun ah, okay.
Ven`` is there a way to pick a path for rakudo star? even a somewhat contrived way 13:00
Zoffix sena_kun: report it as a bug. And you can probably work around it by using require differently. Something like try require ::($_); if $! { $warnings.emit(~$!) if $warnings; next; }
(and remove CATCH block)
census moritz Yes, very much so
moritz Ven``: you mean an installation path?
Ven``: perl Configure.pl --prefix=yourpath 13:01
Ven`` moritz: can I do that in the rakudo star directory?
on wndows, sorry.
I forgot to mention that...
Skarsnik hm should zef check for update when the version is * in the META file? 13:02
Zoffix Ven``: IIRC you can't pick it on Windows in its installer.
moritz Ven``: in the tarball that you dowloaded
Ven`` ah :(
raschipi Skarsnik: Why would it? * means any version is fine...
moritz Ven``: you have to build from source
Zoffix Ven``: you could build rakudo from sauce: github.com/zoffixznet/r#windows
sena_kun Zoffix, wow, perfect. workaround works fine. \0/ thanks a lot. about rakudobug - even without a golfed version is fine, I guess, so I'll file it now...
Ven`` There's a 2012 issue that mentions a problem with parrot, so I wasn't sure if it wsa still a problem 13:03
Zoffix: thanks for that
Zoffix sena_kun: yeah, a repro case would be nice to have, but even without it at least we know there might be a problem somewhere in that construct.
Skarsnik raschipi, dunno * in the metafile for a module is "whatever I did not put a version" for me
Zoffix Skarsnik: * version in META file is invalid 13:04
Skarsnik pass Test::Meta x) 13:04
Zoffix Just hasn't been updated to handle that.
huggable: version 13:05
huggable Zoffix, * as version in meta file should not be allowed: irclog.perlgeek.de/perl6-dev/2017-...i_14743468
Zoffix Skarsnik: opened an Issue: github.com/jonathanstowe/Test-META/issues/28 13:06
Skarsnik :) 13:11
jdv79 is there a way to do what p5's delete does? 13:15
Zoffix :delete adverb
jdv79 that is, remove and return
Zoffix m: my @a = <a b c>; dd @a[1]:delete; dd @a
camelia Str @a = "b"
Array @a = ["a", Any, "c"]
Zoffix (same for hashes) 13:16
census mofitz my goal ultimately is to run my code but through TOR
jdv79 trying to avoid a race between the distinct :delete and read
Zoffix census: did you change the port in the code?
jdv79 or other way round
Zoffix census: for the sock proxy 13:16
jdv79 do i really need to explicitly use Lock for this? 13:17
not a huge deal. just seems weird to have to do that 13:18
Zoffix Yeah, I don't think any Array operations are atomic
jdv79 ok
census Zoffix i have to add the correct one about TOR i presume? 13:23
Zoffix Yeah :)
Run netstat it'll probably tell you what port the proxy's on 13:24
census in my old code i did a line like my $proxy = socks://10.0.2.2:9150
Zoffix census: right, so socks:// part is the proxy address. Use that in your new code
eiro hello 13:25
Zoffix eiro: hi \o
Bonjour, sava :)
eiro Zoffix, ça va et toi ? 13:26
census salut eiro ! j'aime parler en francais aussi
Zoffix je vais bien également
:)
eiro which is not friendly for most of the channel members :) 13:27
so let's try in english
Zoffix Good plan :)
census d'accord = okay
perlpilot eiro: we could always google translate what you say :)
eiro Zoffix, i didn't mention you spoke french
perlpilot, isn't it a little boring ? 13:28
perlpilot french? yes, yes it is sometimes. ;-) 13:28
Zoffix eiro: sadly, I don't. Though living in a country where French is one of the official languages, I hope to learn it one day :)
eiro wow .. how about a perl6 bot that detects the used language and translate if needed ? ;)
what ? where are you living ? 13:29
Zoffix eiro: Canada. English and French are official languages
buggable: eco IRC::Client
buggable Zoffix, IRC::Client 'Extendable Internet Relay Chat client': github.com/zoffixznet/perl6-IRC-Client 2 other matching results: modules.perl6.org/s/IRC%3A%3AClient
Zoffix ^ good start for that bot :D
perlpilot my ancestors on my mother's side from my grandparents back 1000 year or so are french, but my mom and siblings never learned it (presumably so her parents could converse without the kids knowing what was said) and I never learned it. Kinda sad. 13:30
eiro Zoffix, Quebec ... because i don't think the rest of the canada has french as official language ?
Zoffix eiro: it' 13:31
eiro you have to know the Canadian french is different from the french french ... a lot of shortcuts that sounds very nicely
i love it
Zoffix eiro: it's country-wide. French is the "default" language in Quebec, while English is the default one in, say, Ontario, but you can deal with gov totally in French and it's required by law that you'd be able to . 13:32
census Zoffix i don't think it matters what i want to do. at least not for the google site. it seems google may have banned tor?
Zoffix census: maybe
eiro well .. knowing english is good enough
hoo ... i didn't know that ... 13:33
arghh.. need to work .. cya
Zoffix \o
census Zoffix okay i was mistaken. i figured it out 13:34
eiro (now i remember why i left this chan previously: it's so interesting i spent too much time backlogging)
census i'm not sure how to run netstat. i want the TOR info don't i?
census i ran netstat in the cmd but wont' that only give me info about my own info ? now the TOR 13:34
Zoffix No idea. I don't use TOR 13:35
census TOR is a separate browser. i don't know how to explain it well 13:36
i'm not sure what you wanted me to find with netstat but i ran it
Zoffix: Step one should be to try to use a SOCKS proxy rather than an HTTP proxy. Typically Tor listens for SOCKS connections on port 9050. Tor Browser listens on port 9150. If your application doesn't support SOCKS proxies, feel free to install privoxy. 13:38
Zoffix Right, so use 9050 port to connect from your code to 13:38
Zoffix &
BooK hey eiro 13:43
census i did this in perl5 with WWW::Mechanize --- i don't know how to modify it for here
census i did a line like my $proxy = "socks://localhost:9150"; and then i think i did $mech->proxy(['http', 'https'], $proxy); 13:45
Zoffix census: the code you were having square bracket issues with this morning solves that very problem 13:49
census so in place of socks://127.0.0.1:2225 i shoudl try socks://localhost:9150 ?
census I'm able to connect to the website, but in perl i'm still getting error while setting up ssl connection (Bad address) at C:/Strawberry/perl/site/lib/LWP/Protocol/socks.pm line 91. 13:53
census Zoffix does that mean i'm putting in the incorrect statement for $ua->proxy([qw/http https/] => "socks://localhost:9150"); ? 13:59
Zoffix No idea 14:02
sjn good *, #perl6 14:04
El_Che is that an atom or an asterisk operator? Not clear on my shell 14:09
</troll mode off>
sjn it's a "whatever" :)
Zoffix \o 14:10
sjn is having a look at Cro
Zoffix \
\o/
Skarsnik the fancy bracket of Match hide _ that goes after x) 14:11
in my term
sjn is exploring Cro while eating a Poké bowl and drinking some Club Mate at his local hackerspace o/ 14:12
wow, I've become a hipster
sjn Hurry! I need to do something uncool! o_O 14:12
sjn reads some Perl 14:13
*phew*
hipsterization avoided \o/
stmuk I missed www.youtube.com/watch?v=I7O6Raj922U 14:22
census Zoffix is there a non-TOR one i can test out?
sjn Zoffix: hey, weird thing; attempting to install IO::Path::ChildSecure with zef the regular way fails, but when doing the same with "zef install ." in the git repo succeeds. They report the same version 14:23
Zoffix sjn: which is what?
(the version)
sjn ===> Testing [FAIL]: IO::Path::ChildSecure:ver('1.001005')
sjn Zoffix: Failed test 'when we die, error message tells us which Rakudo version needed' 14:25
t/01-operation.t line 116
This is Rakudo version 2017.08-42-gf1b086308 built on MoarVM version 2017.08.1-19-g151a25634
Zoffix sjn: I fixed that this morning. Though the version was bumped and 1.001005 has the fix. Are you sure both of them report installing the same version? 14:26
Installs for me fine on 2017.07-22-g02667bd
Zoffix sjn: you could try zef uninstall RakudoPrereq 14:27
That module turned out to be crap :)
Doesn't play well with precompiled modules
sjn don't have it
yes, I'm sure the version numbers are the same 14:28
Skarsnik hm zef probably does not like switchint to * has version to a proper version
Zoffix sjn: no idea :/ I bumped the versionone more time now, just in case. 14:30
sjn Zoffix: here's the full output: gist.github.com/sjn/080f9e6d7fbf19...7130292379 14:31
Zoffix sjn: what about zef --/cached install IO::Path::ChildSecure
sjn tries that 14:32
Skarsnik hm zef info does not show the version?
sjn that worked
Zoffix sjn: weird. I guess there was a cached older version with the bug that somehow got reported as 1.001005 version? :/ 14:33
sjn could be
Zoffix I now tweaked failing test's description so if any more failures like that show up I could see whether the test matches the reported version 14:34
Skarsnik: it does, on Identity line
$ zef info IO::Path::ChildSecure
- Info for: IO::Path::ChildSecure
- Identity: IO::Path::ChildSecure:ver('1.001005')
Skarsnik - Identity: App::GPTrixie
Zoffix buggable: eco App::GPTrixie
buggable Zoffix, App::GPTrixie 'Generate NativeCall code from C headers file': github.com/Skarsnik/gptrixie
sjn still thinks the --/something convention is weird <_< 14:35
Skarsnik I just added a correct version
Zoffix Skarsnik: no idea :(
sjn anyhoo, thanks
I'll bug you more as I try to install Cro :)
Zoffix :)
sjn (at least when it comes to the zofmodules :) 14:36
Zoffix buggable: eco author:zoffix
buggable Zoffix, Found 36 results: Acme::Anguish, IRC::Client, WWW, GlotIO, CoreHackers::Sourcery. See modules.perl6.org/s/author%3Azoffix
Zoffix Prolly no other are used by Cro 14:37
Skarsnik can I force him to check for a new version on github?
Zoffix It checks on ecosystem-api.p6c.org/projects.json IIRC 14:38
star: use LWP::Simple; LWP::Simple.get("ecosystem-api.p6c.org/projects.json...t;name> eq "App::GPTrixie").<version>.say 14:39
camelia ===SORRY!===
P6M Merging GLOBAL symbols failed: duplicate definition of symbol INET
Zoffix :(
Skarsnik duh
sjn gets a weird test error with Cro::HTTP:ver('0.7') but the tests succeed anyway 14:40
Zoffix Listed as 0.21
sjn "Sudden error" o_O
Zoffix Skarsnik: try running zef update
Skarsnik hm it probably don't think * -> 0.21 is an update 14:42
Zoffix nah, it does
Skarsnik: you got an older installed version of App::GPTrixie and info is reporting that. Run zef install App::GPTrixie and it'll update. (run zef update first tho) 14:43
Skarsnik bisectable@superserver:~/git/whateverable$ zef install App::GPTrixie 14:44
All candidates are currently installed
No reason to proceed. Use --force-install to continue anyway
after an update
nativecallable6, typedef foo unsigned int foo; struct s {foo a;}; 14:45
nativecallable6 Skarsnik, gist.github.com/d17678be54178e394b...e3bfc023f5
Skarsnik nativecallable6, typedef foo unsigned int; struct s {foo a;}; 14:46
nativecallable6 Skarsnik, gist.github.com/d47793ad77150bba95...4221bffd77
Zoffix Skarsnik: doesn't pick up newer version of my module either, so it's not due to "*" version: gist.github.com/zoffixznet/f032a31...97d478b605 14:46
Skarsnik nativecallable6, typedef unsigned int foo; struct s {foo a;}; 14:47
nativecallable6 Skarsnik, class s is repr('CStruct') is export {␤ has foo $.a; # Typedef<foo>->|unsigned int| a␤}
Zoffix Even zef --/cached --force-install install IO::Path::ChildSecure doesn't pick it up
Zoffix has no idea why
Zoffix nativecallable6, int foo[42] 14:48
nativecallable6 Zoffix, gist.github.com/ae562213beec2d3d6e...e2291d3426 14:49
Skarsnik nativecallable6, int foo[42]; 14:50
nativecallable6 Skarsnik,
Skarsnik nativecallable6, extern int foo[42];
nativecallable6 Skarsnik, our $foo is export = cglobal(LIB, "foo", CArray[int32]);
Skarsnik I should put a special message when it fail x) 14:53
Zoffix That's pretty cool 14:53
Zoffix nativecallable6: extern int z = 42; extern bool y[z]; 14:54
nativecallable6 Zoffix, gist.github.com/17e822fd35bbdbbfca...eff7fad6b0
Skarsnik C does not support that 14:55
Zoffix Mine does...
C99 does
Skarsnik not with extern probably? 14:56
Zoffix Oh, extern isn't 14:57
Zoffix Thanks :) 14:57
"f.c:6:17: error: object with variably modified type must have no linkage"
Skarsnik t.c:1:12: warning: ‘a’ initialized and declared ‘extern’ 14:58
extern int a = 4;
Zoffix Ah 14:58
Skarsnik nativecallable6: int z = 42; extern bool y[z]; 14:59
nativecallable6 Skarsnik, gist.github.com/2c9b3b8376c65bc0da...a8fc933c9f
Skarsnik make sens to refuse
extern mean the symbol is not here, but defined elsewhere. I don't really make sens to have "dynamique" type defintion for it 15:00
mattr Hello, I noticed quoting with two adverbs like q:s:a// can be shortened to qs:a// but qsa// will fail (Two terms in a row). Is this a bug? cf. examples.perl6.org/categories/cookb...ction.html 15:18
Zoffix mattr: Don't think so. The shortened version is 'q' (or 'Q') + 1 adverb. With 'qsa' it's ambiguous whether the 'sa' is one adverb ('sa') or two ('s' and 'a') 15:21
mattr Zoffix: Thank you very much. Yes I was wondering about ambiguity since there is :to. Thanks for all the great work! So long from Tokyo. 15:23
Zoffix \o
Zoffix .hug 15:31
huggable hugs everyone
Zoffix :)
P6steve hi - what is the best place to report a bug in raked*, please? 15:41
rakudo* 15:42
Skarsnik hm, you probably need to identify whee the bug came from 15:42
P6steve I think I have it isolated in the source - it's related to multi dispactch
Skarsnik so in rakudo. not a module 15:45
perlpilot P6steve: What's the bug? 15:46
P6steve this works: multi sub infix:<+> (Measure:D $left, Measure:D $right) is equiv( &infix:<+> ) is export { 15:47
this doesn't: multi sub infix:<+> (Measure:D $left, Any:D $right where Measure|Real|Str) is equiv( &infix:<+> ) is export {
where the params are Distance and Distance 15:48
class Distance is Measure is export {}
P6steve (works fine with Str on RHS) 15:49
Zoffix P6steve: when you say doesn't work, what behaviour are you oserving? 15:49
m: class Measure {}; multi sub infix:<+> (Measure:D $left, Any:D $right where Measure|Real|Str) { say "got it" }; Measure.new + Measure.new 15:50
camelia WARNINGS for <tmp>:
Useless use of "+" in expression ".new + Measure.new" in sink context (line 1)
got it
P6steve rakudo hangs
Zoffix m: class Measure {}; multi sub infix:<+> (Measure:D $left, Any:D $right where Measure|Real|Str) { "got it" }; say Measure.new + 42
camelia got it
perlpilot P6steve: what version of rakudo are you using?
Zoffix That sounds familiar
Skarsnik R* I think 15:51
P6steve This is Rakudo version 2017.04.3 built on MoarVM version 2017.04-53-g66c6dda implementing Perl 6.c.
Zoffix P6steve: does it still hang if you use something other than + as symbol? 15:52
Zoffix P6steve: also, are you sure you're not using the very same + inside the body, causing infinite recursion? 15:53
P6steve I tried with <--> ... works fine 15:54
Zoffix Yey, found the ticket
Oh wait, no :(
Was looking at this one: rt.perl.org/Ticket/Display.html?id...et-history
huggable: rakudobugs 15:55
huggable Zoffix, Report bugs by emailing to [email@hidden.address]
Zoffix P6steve: you can report by just emailing ^ there
P6steve I have a += in the method handler, no doubt something uses + lower in the stack
Skarsnik Wow my weird branch on gptrixie still segfault rakudo 15:57
was already the case with 2016 build x) 15:59
P6steve but not feeding the += with Measure as either param
Zoffix Something using + lower in the stack doesn't matter much, as your custom op is lexically scoped, so it only will be used by things that see it 16:00
Does --optimize=off avoid the hang?
But in any case, you can report it as a bug. If it turns out not to be, no harm done. Would be handy to have actual code that reproduces the issue to look at.
--optimize=off being the command line switch to perl6 executable 16:01
Skarsnik hm, how to trace where it sigsev in the perl6 code?
sena_kun perl6-debug-m instead of perl6? 16:02
and you need to configure moar for debugging
ugh, stop
*perl6-gdb-m
^ the right one.
or perl6-valgrind-m. 16:03
Skarsnik gdb tell me where it fail on Moar
not really where in the p6 code
#0 0x00007ffff780a264 in MVM_gc_mark_collectable () from //opt/lib/libmoar.so 16:04
#1 0x00007ffff780ab2c in process_worklist () from //opt/lib/libmoar.so
hm x)
P6steve --optimize=off still hangs 16:07
I'll post the code to rakudobug mail 16:08
Skarsnik If I comment github.com/Skarsnik/gptrixie/blob/...ss.pm6#L73 it does not segfault 16:09
MasterDuke_ Skarsnik: you can `call MVM_dump_backtrace(tc)` in gdb to get a perl 6 backtrace 16:19
yoleaux 15:48Z <Zoffix> MasterDuke_: you were curious about purpose of atomics: texlution.com/post/golang-lock-fre...mic-value/
Skarsnik MasterDuke_, need a debug build or that I guessN
MasterDuke_ not for the p6 backtrace 16:21
Skarsnik I don't have the variable
Skarsnik I mean the symbols 16:22
since it's not a build with the debug symbols
hm
could have them generated on a side? like debian does with lib 16:23
MasterDuke_ what does `call MVM_dump_backtrace(tc)` in gdb output?
Skarsnik No symbol table is loaded. Use the "file" command. 16:24
since I don't have a debug build of moar
MasterDuke_ you shouldn't need it for MVM_dump_backtrace
ruoso__ Is there a way to tell a grammar that I want the whitespaces to be captured without me having to rewrite everything as tokens?
MasterDuke_ but i do always build moar with --debug=3 for better C backtraces 16:25
ruoso__ Or, alternatively, is there a way for the ws token to inject a capture to the outside rule? Basically, I have things that are syntactically whitespace, but I still want to preserve them... 16:26
MasterDuke_ Skarsnik: you probably aren't inside the moarvm/perl6 process anymore
i get the same error if i do that inside a plain gdb session 16:27
Skarsnik without debug symbol I don't think you have somethinh else that the name of functions 16:27
Zoffix ruoso__: that's the default behaviour, isn't it? 16:28
m: say "foo bar" ~~ /\S+ <ws> \S+/
camelia 「foo bar」
ws => 「 」
Zoffix m: say "foo bar" ~~ /\S+ <ws> \S+/; say $<ws>.chars
camelia 「foo bar」
ws => 「 」
4
ruoso__ Zoffix: not when using rules
docs.perl6.org/language/grammars#ws
MasterDuke_ Skarsnik: try running your code with perl6-gdb-m again 16:29
MasterDuke_ and then try call MVM_dump_backtrace(tc) immediatelly after the segv 16:29
Skarsnik that what I did 16:29
Zoffix m: grammar { rule TOP { \S+<ws> \S+ } }.parse: "foo bar"; $<ws>.chars.say 16:30
camelia 3
MasterDuke_ can you post a one-liner? or put the script on the whateverable server?
Zoffix ruoso__: just stick the <ws> token where you want it (without separating it with whitespace) 16:31
ruoso__ Right, yeah... I could replace all my rules by tokens with explicit whitespace 16:31
but that will make the code terribly illegible
Skarsnik I don't manage to make it smaller x)
Zoffix I don't understand what you're trying to do then. 16:32
ruoso__ I'm writing a fortran parser, where whitespace can be literally anywhere
inline comments (which are not part of the standard, but is supported by some compilers) count as whitespace (due to continuation lines)
Zoffix m: grammar { rule TOP { \S+ [:!s \S+ <ws> \S+] \S+ } }.parse: "bar foo bar ber"; $<ws>.chars.say
camelia 3
MasterDuke_ Skarsnik: gotta afk for a bit, but i think it should work without requiring a moarvm built with --debug
maybe ask timotimo or ugexe or nine, etc 16:33
ruoso__ so I have things like "rule keyword_integer { 'I' 'N' 'T' 'E' 'G' 'E' 'R' }"
because yes, you can have space and even break the line in the middle of the f-ing keyword 16:34
and I want to ignore most whitespace, except, if someone does "INT ! some comment\n +EGER a"
I want to be able to catch the "! some comment" part 16:35
Skarsnik that's newx)
===SORRY!===
Missing or wrong version of dependency '/tmp/gptrixie/../exemel/lib/XML/Grammar.pm6 (XML::Grammar)' (from '/tmp/gptrixie/../exemel/lib/XML/Element.pm6 (XML::Element)')
Zoffix ruoso__: you could redefine ws token
ruoso__ I did...
and that works
but then when I have a "rule", it eats the whitespace 16:36
ruoso__ without capturing 16:36
ugexe Skarsnik: try deleting and .precomp dirs in your project folder (and maybe ~/.perl6 too)
Zoffix ruoso__: and you want to capture the comments, but not ws without comments?
ruoso__ well, I could deal with every ws being captured 16:37
what I can't deal with is having to rewrite the 'keyword_integer' as "token keyword_integer { 'I' <ws> 'N' <WS> ..." 16:38
Skarsnik ugexe, hm did not solve the issue
ruoso__ because that will make the code unbearable
Skarsnik it's weird because I use lot of version of rakudo along one installed and the first time I get that 16:39
raschipi NeuralAnomaly: status
NeuralAnomaly raschipi, Use releasable6 bot instead. e.g. try: releasable6: status
raschipi releasable6: status
releasable6 raschipi, Next release in 17 days and ≈2 hours. No blockers. Changelog for this release was not started yet
raschipi, Details: gist.github.com/04c5a5847c53984f20...773b7c7fed
ugexe Skarsnik: if you switch to another version it goes away then I guess? 16:42
raschipi Shouldn't bots have voice? 16:44
Skarsnik not all? 16:46
meh it stopped segfaulting now
ok this is weird 16:49
raschipi I though voice was used in this channel to indicate which nicks are bots...
Zoffix m: grammar { token ws { \s* | " ! " (\N+) \s* { $*COMMENT = ~$0 } }; rule integer { I N T E G E R }; rule TOP { :my $*COMMENT; <integer> }; }.parse: "INTEGER", actions => class { method integer ($/) { say "parsed an integer" ~ (" with $*COMMENT" with $*COMMENT)}};
camelia parsed an integer
Zoffix m: grammar { token ws { \s* | " ! " (\N+) \s* { $*COMMENT = ~$0 } }; rule integer { I N T E G E R }; rule TOP { :my $*COMMENT; <integer> }; }.parse: "INT ! meows\nEGER", actions => class { method integer ($/) { say "parsed an integer" ~ (" with $*COMMENT" with $*COMMENT)}};
camelia parsed an integer with meows
ugexe Skarsnik: you might try and get a diff of RAKUDO_MODULE_DEBUG=1 when it segfaults and when it does not segfault
Zoffix ruoso__: ^ utilizing a dynamic variable is the only thing I can think of
geekosaur tt's convention, but the folks who make bots are not the ones who have chanserv access to voice them 16:50
*it's
Zoffix releasable6 just runs on the non-auto-voiced host
Skarsnik gist.github.com/Skarsnik/b90dbc7ea...1b95b87a91 16:51
raschipi Thanks, I was just confused wondering if the convention had changed. 16:52
geekosaur bleh. is that host's name / address consistent?
Skarsnik ugexe, this make little sense (I cleared ~/perl6/.precomp a bit before) the perl6 is instaalled systemwide in root
I think it's chanserv/nickserv refusing the auth of the bots after 5 for whateverable 16:53
ruoso__ Zoffix: interesting... I need to think about the life-cycle of that variable a bit... but this may work... 16:54
ugexe you deleted ../exemel/lib/.precomp ?
Skarsnik :NickServ!NickServ@services. NOTICE nativecallable6t There are already 5 sessions logged in to whateverable (maximum allowed: 5).
Zoffix geekosaur: usually is
ah hehe :)
Skarsnik so that probably why they don't get voiced
Zoffix Well, serves you guys right. Making all these bots. Instead of having one bot doing many features : 16:55
:)
Wonder how long it'll take for there to be more bots here than humans :)
Skarsnik ugexe, hm I install perl6 and modules as root, so I could not affect the precomp normaly? 16:56
ugexe i dunno what it will try to do in that situation (read the stale precomps, or write updated precomp somewhere else) 17:00
Skarsnik normaly when I switch rakudos it just reprecomp module (passed as -I ...) each switch 17:01
ugexe maybe you can golf it down into bisect: `use lib ‘data/all-modules/Skarsnik/p6-Foo-Bar’; use Foo::Bar; say Foo::Bar::whatever;` ? 17:05
ChristopherBotto Hello everyone. o/ 17:08
Skarsnik the issue I trie to golf it a bit but no chance
like skarsnik@vps300582:/tmp/gptrixie$ perl6 -I lib -e 'use GPT::Class; use XML; my FundamentalType $fp .= new(:name("foo")); say $fp type-eq <const foo> ' 17:09
just work
Zoffix \o
ChristopherBotto m: [0, 1, 2, Any].grep(&so)
camelia ( no output )
ChristopherBotto m: say [0, 1, 2, Any].grep(&so)
camelia (1 2)
ChristopherBotto m: say [0, 1, 2, Any].grep(*.defined)
camelia (0 1 2)
ChristopherBotto m: say [0,1,2,Any].grep(&defined) 17:10
camelia Cannot resolve caller ACCEPTS(Sub+{<anon|56691824>}: Int); none of these signatures match:
(Mu:U $: \topic, *%_)
(Mu:U $: Mu:U \topic, *%_)
in block <unit> at <tmp> line 1
ChristopherBotto Hi Zoffix. o/
I was wondering why I can use &so in grep but not &defined.
Zoffix s: say &defined ~~ Callable
SourceBaby Zoffix, Something's wrong: False␤␤ERR: Cannot resolve caller sourcery(Bool); none of these signatures match:␤ ($thing, Str:D $method, Capture $c)␤ ($thing, Str:D $method)␤ (&code)␤ (&code, Capture $c)␤ in block <unit> at -e line 6␤␤
Zoffix oops
m: say &defined ~~ Callable 17:11
camelia False
Zoffix ChristopherBotto: looks like this bug: rt.perl.org/Ticket/Display.html?id...et-history
ChristopherBotto m: say &so ~~ Callable
camelia True
ChristopherBotto Zoffix: Thanks! 17:12
ugexe Skarsnik: that is different, you were using -I ../exemel/lib before
Skarsnik yeah but without that. The whole code still segfault 17:13
m: class A {;}; my A $a .= new(:name:<foo>); # lta error ? 17:14
camelia ===SORRY!===
This type (QAST::WVal) does not support positional operations
Zoffix Skarsnik: yup, please report it 17:15
huggable: rakudobugs
huggable Zoffix, Report bugs by emailing to [email@hidden.address]
leont It seems a recent rakudo broke my module (YAMLish) 17:17
Values that used to be Any are not Nil 17:18
There may be arguments why Nil is better, but it is breaking tests now
Zoffix Do you have some golfed code reproducing the issue? We could use the bot to bisect to which commit caused it 17:19
leont Still figuring out what's going on 17:20
ugexe which test file/number?
leont The change is on any YAML input that contains "- ~", that I have figured out 17:21
First suspect is the line containing «make @<list-entry>».ast.list» 17:22
ugexe bisect: gist.githubusercontent.com/ugexe/2...fbd146/1.t 17:24
bisectable6 ugexe, Successfully fetched the code from the provided URL.
ugexe, Bisecting by output (old=2015.12 new=3e13825) because on both starting points the exit code is 1
ugexe, bisect log: gist.github.com/e711cb109bb7e118d8...45077b96ad
ugexe, (2016-12-05) github.com/rakudo/rakudo/commit/0b...000bacfb51
Zoffix bisect: old=2017.03,new=HEAD gist.githubusercontent.com/ugexe/2...fbd146/1.t 17:24
bisectable6 Zoffix, Successfully fetched the code from the provided URL.
Zoffix, On both starting points (old=2017.03 new=3e13825) the exit code is 1 and the output is identical as well
Zoffix, gist.github.com/14a189ef54d5f76d6c...ca6aa915ed
ugexe bisect: old=2017.03,new=HEAD gist.githubusercontent.com/ugexe/2...fbd146/1.t 17:26
bisectable6 ugexe, Successfully fetched the code from the provided URL.
ugexe, On both starting points (old=2017.03 new=3e13825) the exit code is 1 and the output is identical as well
ugexe, gist.github.com/a4d54a8488eaad633b...27d94d3b09
ugexe bisect: old=2017.03,new=HEAD gist.githubusercontent.com/ugexe/2...000ed5/1.t
bisectable6 ugexe, Successfully fetched the code from the provided URL.
ugexe, Bisecting by output (old=2017.03 new=3e13825) because on both starting points the exit code is 1
bisectable6 ugexe, bisect log: gist.github.com/4efef7081f490eef24...f95b445f70 17:27
ugexe, (2017-03-18) github.com/rakudo/rakudo/commit/bf...1cf4d1c43d
ugexe gah
Zoffix :)
I think the `use lib` is missing `/lib/` in the end, but if I look at data/all-modules/Leont/yamlish/ there's nothing in it 17:29
ugexe c: use lib 'data/all-modules/leont/yamlish'; use YAMLish;
committable6 ugexe, ¦use: «Cannot find this revision (did you mean “all”?)»
ugexe c: HEAD use lib 'data/all-modules/leont/yamlish'; use YAMLish;
committable6 ugexe, ¦HEAD(3e13825): «»
Zoffix :o 17:30
weird
ugexe lowercased the L
Zoffix ooooh
ugexe bisect: old=2017.03,new=HEAD gist.githubusercontent.com/ugexe/2...aab593/1.t
bisectable6 ugexe, Successfully fetched the code from the provided URL.
ugexe, On both starting points (old=2017.03 new=3e13825) the exit code is 0 and the output is identical as well
ugexe, Output on both points: «1..20␤ok 1 - ␤ok 2 - ␤ok 3 - ␤ok 4 - ␤ok 5 - ␤ok 6 - ␤ok 7 - ␤ok 8 - ␤ok 9 - ␤ok 10 - ␤ok 11 - ␤ok 12 - ␤ok 13 - ␤ok 14 - ␤ok 15 - ␤ok 16 - ␤ok 17 - ␤ok 18 - ␤ok 19 - ␤ok 20 - »
ugexe well, that test works still 17:31
bisect: old=2017.03,new=HEAD gist.githubusercontent.com/ugexe/b...1d9c5f/2.t 17:32
bisectable6 ugexe, Successfully fetched the code from the provided URL.
ugexe, Bisecting by exit code (old=2017.03 new=3e13825). Old exit code: 0 17:33
ugexe, bisect log: gist.github.com/bdae0c3541fa2df72e...f744f21ca8
ugexe, (2017-08-21) github.com/rakudo/rakudo/commit/5d...72387e9f75
Zoffix \o/
c: 2017.07,HEAD '' ~~ /^/; $/.ast.^name.say 17:35
committable6 Zoffix, ¦2017.07: «NQPMu» ¦HEAD(3e13825): «Nil»
Zoffix c: 2017.01,2017.07,HEAD '' ~~ /^/; $/.ast.^name.say 17:36
committable6 Zoffix, ¦2017.01: «Any» ¦2017.07: «NQPMu» ¦HEAD(3e13825): «Nil»
Zoffix The Any -> NQPMu change was due to merging of Match and Cursor
The nqp::isconcerete is probably too big a hammer for that test tho. What if code makes a type object, or even a Failure ends up being made? 17:38
m: "" ~~ /^/; make Int; $/.ast.say
camelia Nil
Zoffix m: "" ~~ /^/; make Failure.new; $/.ast.say
camelia Failed

Actually thrown at:
in block <unit> at <tmp> line 1
Zoffix Ok, failure blows up
Oh right, 'cause it's concrete duh :)
c: 2017.01,2017.07,HEAD "" ~~ /^/; make class Meows {}; $/.ast.say 17:39
committable6 Zoffix, ¦2017.01,2017.07: «(Meows)» ¦HEAD(3e13825): «Nil»
TimToady m: "foo bar".match(/:s (foo) (bar)/).chunks.say 17:43
camelia (0 => 「foo」 ~ => 1 => 「bar」)
TimToady ruoso__: ^^^
that might be useful to you 17:44
Zoffix Oh cool. TimToady++
TimToady otoh this is a spot where the typical fortran compiler violates one-pass parsing, so it depends on how bug-compatible you wanna be 17:47
stmuk stmuk.wordpress.com/2017/08/30/swi...shop-2017/ 17:49
moritz stmuk++ 17:59
ruoso__ TimToady: I have actually finished writing the grammar, which indeed parses a sizeable bunch of legacy fortran I have around... 18:04
(without require two-passes)
leont ugexe, Zoffix: so what do I need to do? Will this be fixed in rakudo? Should I work around it in my code? 18:05
Zoffix leont: perhaps talk to lizmat++ about it? IMO Nil is a more correct return value than an Any in that case. The one potential improvement I see is using something more precice than nqp::isconcrete, so that one could make() type objects and get them back on the other end instead of Nil 18:10
Zoffix Nil is absence of a value, while Any is just the default default of uninitialized variables and parameters that don't got an explicit type contraint on them 18:10
hythm m: my @a = <a b c>; say ~@a; # how to make output a, b ,c 18:16
camelia a b c
Zoffix m: my @a = <a b c>; say @a.join: ", "
camelia a, b, c
hythm Thanks Zoffix 18:17
Zoffix Any time
leont Meh, can't get my test to work :-/ 18:21
Zoffix :( 18:22
leont Due to [Nil] turning into [Any], yet my code does get Nil into something that deeply equals [] but not () 18:23
AlexDaniel Interesting code style thingy here: github.com/perl6/doc/issues/1477#i...-326077311 . I don't think I ever shared this idea before, but there it is now :) 18:25
ruoso__ TimToady: I'm not quite sure how your example helps me, tho... 18:26
m: grammar Foo { rule TOP {:s <a> <b> }; rule a {:s a }; rule b {:s b } }; say Foo.parse("a b").gist
camelia 「a b」
a => 「a 」
b => 「b」
ruoso__ the space is not captured
Zoffix AlexDaniel: haha, I actually saw that "good form" comment a couple days ago and wanted to remove it. I don't follow that advise. I use lack of the colon to indicate the value is used as a return value and we loosely use that style in rakudo's core code too :) 18:27
AlexDaniel Zoffix: yeah, that's exactly my point 18:28
Zoffix ruoso__: it's not the :s that makes the example work (rule already has :s enabled), it's the .chunks method
AlexDaniel Zoffix: well, except that I go one step further and use “well, there's always something returned (maybe), so there's always no semicolon” :) 18:29
Zoffix But if I'm not using the return value, I'd put the semicolon 18:30
leont Is there a method that returns the object itself without modification? (may sounds silly, but it's for a test)
ruoso__ m: grammar Foo { rule TOP { <r_a> <r_b> }; rule r_a { a }; rule r_b { b } }; say Foo.parse("a b")<r_a>.chunks
camelia (~ => a )
Zoffix it's more tangible in large if {} else {} constructs and the like where you have a screenful of code that determines the return value and the lack of semicolon is a subtle reminder 18:31
leont: .self
leont: it's only special in Failure, where it explodes unhandled failures, but still functions as "return self" for already handled Failures
m: say $_ === .self with class {}.new 18:32
camelia True
ruoso__ Zoffix: but .chunks also doesn't seem to split the whitespace out (see my latest `m:` eval) 18:35
Zoffix ruoso__: yeah, it only separates the chunks on capture boundaries 18:36
ruoso__ Compared to explicit token+ws
m: grammar Foo { token TOP { <r_a> <ws> <r_b> }; token r_a { a <ws> }; token r_b { b <ws> } }; say Foo.parse("a b").chunks
camelia (r_a => 「a 」
ws => 「 」 ws => 「」 r_b => 「b」
ws => 「」)
Zoffix m: grammar Foo { rule TOP { <r_a> <r_b> }; rule r_a { (a) }; rule r_b { (b) } }; say Foo.parse("a b")<r_a>.chunks 18:37
camelia (0 => 「a」 ~ => )
ruoso__ i.e.: accumulate inline comments in the matching 18:38
then consume them from the action methods
But I think the dynamic variable may be a good-enough solution
Zoffix: I see.. but that will make for some very fragile action method code 18:42
hythm m: say Array[Str].new("a", "b", "c").join: ", "; # This works 18:44
camelia a, b, c
hythm Not sure why I'm getting this error:
(error) Invocant of method 'join' must be an object instance of type 'List', not a type object of type 'Array[Str]'. 18:45
Zoffix m: say Array[Str].join: ", "; 18:46
camelia Invocant of method 'join' must be an object instance of type 'List', not a type object of type 'Array[Str]'. Did you forget a '.new'?
in block <unit> at <tmp> line 1
Zoffix hythm: you're trying to call .join on a type object instead of an actual Array with stuff in it
leont How does my code get a Nil in a []? I don't quite get this 18:48
hythm Zoffix, makes sense, checking the code
AlexDaniel leont: sorry I may have missed it, but where's your code? 18:51
leont YAMLish 18:55
I haven't been able to golf it down yet though :-/
In my understanding, an Array shouldn't ever contain Nil, right? 18:56
Zoffix It could 18:58
my @a; @a[1] := Nil; dd @a
m: my @a; @a[1] := Nil; dd @a
camelia Array @a = [Any, Nil]
kannan how do we find out what are the modules installed? 19:02
Skarsnik hm
Skarsnik something to do will calling stuff on CompUnit class 19:03
Zoffix kannan: zef list --installed
kannan oh ok. i did try a man zef , i should look in the docs.perl6.org i suppose. Thanks Zoffix
Zoffix kannan: zef --help :)
kannan oh ok, lol 19:04
its for times like these i made ful disclaimer that i am noob :)
Zoffix Yeah, me too.
AlexDaniel ⚠ Community Bug SQUASHathon blogs.perl.org/users/zoffix_znet/20...athon.html
Zoffix AlexDaniel: BTW, using Geth's guts, it's possible to have SQUASHathon's bot notify for extra GitHub's events, such as when some user "takes" an issue, etc 19:05
AlexDaniel Zoffix: yup, this is what I'm doing 19:06
andrzejku_ hey
Zoffix AlexDaniel++ sweet 19:07
Zoffix andrzejku_: hey 19:07
andrzejku_ I know that there is Perl6 gnuplot
but I would try to create a new one
or it is not good? 19:08
Skarsnik try to fix what bother you in the original one first
AlexDaniel Zoffix: I wonder how loud it is going to be. I have a feeling that we should only be mentioning first things by a user here. Like “🍕 user X made his first commit” etc. 19:09
AlexDaniel Zoffix: but maybe I'm over-estimating the amount of people :) 19:09
Zoffix AlexDaniel: I was thinking of a more practicle side: "user x self-assigned 'Improve Proc::Async docs' issue" tells other users to stay away from Proc::Async file so we avoid merge conflicts 19:10
And too-loud can be fixed when it happens.
AlexDaniel Zoffix: okay. Well, github.com/rakudo/rakudo/wiki/Mont...uash%20Day recommends to self-assign yourself before working on something, but I don't know if many will do it (and if it's going to help) 19:11
andrzejku_ Skarsnik it is hard to fix 19:29
the API is not good 19:30
Skarsnik huggable, eco gnuplot
huggable Skarsnik, nothing found
andrzejku_ eco Gnuplot 19:32
huggable, eco Gnuplot
huggable andrzejku_, nothing found
andrzejku_ huggable, eco Chart
huggable andrzejku_, nothing found
andrzejku_ huggable, you dumb
huggable andrzejku_, nothing found
Skarsnik huggable, eco plot 19:33
huggable Skarsnik, nothing found
Zoffix wrong bot, bud 19:34
buggable: eco gnuplot
buggable Zoffix, Chart::Gnuplot 'A Perl 6 bindings for gnuplot': github.com/titsuki/p6-Chart-Gnuplot
Skarsnik lol 19:36
mspo muggleable: are you a wizard? 19:39
raschipi mspo: i2.kym-cdn.com/photos/images/newsfe...wizard.jpg 19:42
mspo pluggable: try this adapter next time 19:43
Zoffix AlexDaniel: I think if a lot of people turn up, we should be prepared for "Git 101" questions, like `git pull --rebase` to avoid a merge commit, etc. Also, I don't expect people to read the entire CONTRIBUTING.md doc. It's too huge and most users don't need to do lengthy builds of the docs system locally. They can just edit the POD; if they really want, check it for syntax errors with perl6 --doc=HTML 19:44
doc/Type/Whatever.pm; and move on
raschipi Iwill wake up early Saturday. 19:46
Zoffix m: say 185/280
camelia 0.660714
Zoffix ⅔ of issues are "doc"-labeled Issues
Wonder what the "new" Issue label means... 19:48
AlexDaniel Zoffix: yep, same question. What “new” is I can understand, what I don't understand is who is going to maintain these labels 19:50
Zoffix AlexDaniel: what is "new"? 19:50
(given issues are dated and sorted chronologically already) 19:51
AlexDaniel Zoffix: ok, just looked at what is marked “new”, I take my words back
Zoffix :D
Zoffix &
AlexDaniel maybe it's stuff that requires new text? 19:51
AlexDaniel not explained here also: github.com/perl6/doc/blob/master/C...rting-bugs 19:52
Geth_ perl6-most-wanted: 8d7457963f | (Tom Browder)++ (committed using GitHub Web editor) | most-wanted/bindings.md
perl 6 wrapper for libmilter

See libmilter source at github.com/opnsense/src/tree/maste.../libmilter
20:17
perl6-most-wanted: 7b621af1b1 | (Tom Browder)++ (committed using GitHub Web editor) | most-wanted/bindings.md
create a link to the library source
20:18
Geth_ perl6-most-wanted: 5648dd8021 | (Tom Browder)++ (committed using GitHub Web editor) | most-wanted/modules.md
remove, belongs in native bindings section
20:20
[Coke] I just started adding 'new' - it was "this doesn't exist, write it" vs. "this exists, you're going to have to edit someone's work and there's probably a lot of opinions in the ticket to sort through" 20:24
mainly so I could then easily avoid the latter type when I was looking for stuff to work on.
I'll add that somewhere.
Geth doc: 9b26febb1f | (Will Coleda)++ (committed using GitHub Web editor) | CONTRIBUTING.md
Note doc sub tags, new & update
20:27
[Coke] so I'd tell newbs to look for +doc +new first because they're probably easier.
[Coke] (or just ignore them for now, that's also fine. I'm more concerned about tickets getting closed with well written prose than categorizing them; that's just a means to the end.) 20:29
gfldex m: constant aname = <foo>; sub aname { say 'oi‽' }; aname(); 20:52
camelia oi‽
gfldex m: constant aname = <foo>; sub ::(aname) { say 'oi‽' }; foo; 20:53
camelia oi‽
Zoffix
.oO( sorcery! )
20:55
gfldex .tell ipatrol not quite what you where looking for: irclog.perlgeek.de/perl6/2017-08-30#i_15093185
yoleaux gfldex: I'll pass your message to ipatrol.
gfldex is that doced? 20:57
gfldex .oO( If I have to ask that question … ) 20:59
Geth doc/molecules-patch-3: 4d069f99ef | (Christopher Bottoms)++ (committed using GitHub Web editor) | doc/Language/syntax.pod6
Cleaning up "Separating statements by semicolons"

Trying to address #1477
23:14
doc: molecules++ created pull request #1479:
Cleaning up "Separating statements by semicolons"
travis-ci Doc build failed. Christopher Bottoms 'Cleaning up "Separating statements by semicolons" 23:33
travis-ci.org/perl6/doc/builds/270215801 github.com/perl6/doc/commit/4d069f99ef96
buggable [travis build above] ☠ Did not recognize some failures. Check results manually. 23:34