Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-01-23

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 _28_ria joined #perl6
00:01 japhb The more I work on sample programs for Terminal::Print, the more I realize we need a lot more people recreating the 20th century's greatest hits so we can flesh out all the bits we've glossed over in our APIs.
00:03 cyphase joined #perl6
00:18 _28_ria joined #perl6
00:19 japhb .tell jnthn Sorry, to be clear I want to avoid doing *combiner* handling on $*IN.  I still want to pass on any above-ASCII characters I receive, I just want every input character to be passed on immediately, even if that means that I could end up with isolated combiners.
00:19 yoleaux japhb: I'll pass your message to jnthn.
00:23 benji joined #perl6
00:24 Guest30283 How do I make sure a string follows the format of a url, 'https:// *' or 'http:// *'
00:26 AlexDaniel joined #perl6
00:32 BenGoldberg joined #perl6
00:34 AlexDaniel m: say ‘https://’ ~~ /^ https? ‘://’ /
00:34 camelia rakudo-moar e195e5: OUTPUT«「https://」␤»
00:35 AlexDaniel m: if 'https://' ~~ /^ https? '://' / { say ‘yeah!’ }
00:35 camelia rakudo-moar e195e5: OUTPUT«yeah!␤»
00:36 AlexDaniel you're welcome!
00:36 AlexDaniel too bad adding a space between http and s will give a warning…
00:45 Geth doc: 705cc7de6f | (Samantha McVey)++ | highlights/package.json
00:45 Geth doc: Add some more info to npm package.json
00:45 Geth doc:
00:45 Geth doc: Will suppress some warnings of a missing repository
00:45 Geth doc: review: https://github.com/perl6/doc/commit/705cc7de6f
00:45 Geth doc: d6a7645a3e | (Samantha McVey)++ | util/compile-sass.sh
00:45 Geth doc: Make sure we check more than if the sass command just exists before falling back
00:45 Geth doc:
00:45 Geth doc: We should fall back if we get an error-code running the program
00:45 Geth doc: review: https://github.com/perl6/doc/commit/d6a7645a3e
00:47 raschipi joined #perl6
00:55 lep-delete joined #perl6
00:59 TimToady japhb: currently for single char input I use a trick like: repeat { $buf ~= $TTY.read(1) } until try my $s = $buf.decode;
00:59 yoleaux 22 Jan 2017 14:33Z <raiph> TimToady: Would you agree that, in P6, "all object types are option types" (where option type is as per https://en.wikipedia.org/wiki/Option_type)
01:00 TimToady 'course the tty has to be set up first with stty, which is non-portable
01:00 astj_ joined #perl6
01:02 japhb TimToady: Oh nice, that's a cleaner version of an idea that was rattling around my head
01:03 TimToady then I do @INPUT ~= $s.comb so I can do my own escape recognition
01:03 TimToady and all my other input routines just recognize and pull stuff out of @INPUT
01:03 japhb TimToady: Won't you fall out of that repeat...until before you have the full escape?
01:04 geekosaur this can actually be done "portably" via libuv if moar sets up fd-s that are isatty() as uv_tty_t streams
01:04 geekosaur see the ticket I linked earlier, which was about the node.js folks finding a bug in windows 8.1 and later console support when trying to switch the mode via libuv
01:04 TimToady well, my switch is 'when "\e"' and then I get more
01:05 japhb TimToady: Ah, gotcha.
01:05 japhb TimToady: Do you have this abstracted into a module yet?
01:05 TimToady nope
01:05 japhb No reason for me to do so if you're already 90% there ....
01:06 * japhb is slowly gearing up to build a terminal widget library, but having to invent mortar before being able to place the bricks
01:08 travis-ci joined #perl6
01:08 travis-ci Doc build failed. Samantha McVey 'Make sure we check more than if the sass command just exists before falling back
01:08 travis-ci https://travis-ci.org/perl6/doc/builds/194334178 https://github.com/perl6/doc/com​pare/ffb026da501a...d6a7645a3e67
01:08 travis-ci left #perl6
01:09 TimToady .tell raiph Yes, I think of them as "maybe" types, but that's the same thing.
01:09 yoleaux TimToady: I'll pass your message to raiph.
01:09 BenGoldberg Unless they've got a :D attached.
01:10 MasterDuke TimToady: fyi, i left a robo-message for you in -dev
01:10 Geth doc: 93ffee0855 | (Samantha McVey)++ | util/compile-sass.sh
01:10 Geth doc: Try and fix travis build
01:11 Geth doc: review: https://github.com/perl6/doc/commit/93ffee0855
01:15 BenGoldberg .tell raiph If an object type has either :D or :U attached to it, then it probably can't be considered an option type. :)
01:15 yoleaux BenGoldberg: I'll pass your message to raiph.
01:15 aborazmeh joined #perl6
01:15 aborazmeh joined #perl6
01:17 telex joined #perl6
01:23 BenGoldberg m: my $x; dd $x.?y.?z;
01:23 camelia rakudo-moar e195e5: OUTPUT«Nil␤»
01:24 * BenGoldberg wonders why Nil instead of Mu.
01:24 BenGoldberg m: my $x = Nil; dd $x;
01:24 camelia rakudo-moar e195e5: OUTPUT«Any $x = Any␤»
01:24 BenGoldberg m: my $x = Mu; dd $x;
01:24 camelia rakudo-moar e195e5: OUTPUT«Mu $x = Mu␤»
01:25 BenGoldberg m: my $x = Any; dd $x;
01:25 camelia rakudo-moar e195e5: OUTPUT«Any $x = Any␤»
01:25 raschipi Nil is the absence of a value.
01:26 BenGoldberg And neither Mu nor Any nor slip() would be suitable?  Note that I'm not objecting, just curious.
01:26 raschipi If returned .? (Any), that's a fine something, hypotetically, for a method to return.
01:27 raschipi An empty slip is also an acceptable value to return and you couldn't tell the method wasn't actually there.
01:28 raschipi It has to return something loopy enough so the programmer can tell for sure what happened.
01:28 raschipi loony*
01:29 TimToady note that a slip has many more methods defined on it than Nil does
01:31 raschipi It would be useful if it returned a Failure telling more about what happened.
01:32 TimToady a Failure is supposed to throw whenever you try to use it as a real value
01:32 TimToady because lazy exceptions
01:32 TimToady but that would be too lazy
01:33 raschipi And Nil doesn't. So this makes easier on the programmer if he wants to just ignore it.
01:33 TimToady this is one of those situations where we treat Nil as the most benign form of Failure
01:33 raschipi Returning a Failure would force people to deal with the case that the method isn't there.
01:34 raschipi If I call an inexisting method, would I get a Failure or an Exception?
01:35 raschipi Without the '?'.
01:35 TimToady m: say 42.foo.WHAT
01:35 camelia rakudo-moar e195e5: OUTPUT«No such method 'foo' for invocant of type 'Int'␤  in block <unit> at <tmp> line 1␤␤»
01:36 travis-ci joined #perl6
01:36 travis-ci Doc build passed. Samantha McVey 'Try and fix travis build'
01:36 travis-ci https://travis-ci.org/perl6/doc/builds/194337433 https://github.com/perl6/doc/com​pare/d6a7645a3e67...93ffee085509
01:36 travis-ci left #perl6
01:36 TimToady it throws immediately, it would appear
01:38 raschipi BenGoldberg: Does that answer your question?
01:41 raschipi m: say 42.foo.WHAT; CATCH { default { say "gotcha!" } }
01:41 camelia rakudo-moar e195e5: OUTPUT«gotcha!␤»
01:42 Ben_Goldberg joined #perl6
01:42 pisa joined #perl6
01:43 mr_ron joined #perl6
01:44 BenGoldberg joined #perl6
01:44 mr_ron left #perl6
01:44 zacts joined #perl6
01:44 dugword joined #perl6
01:50 pisa hi,  i want dump mbc for perl6 programs, and execute :  perl6   --target=mbc  example.pl  , but it prompt   "Cannot dump this object; no dump method"
01:50 pisa and perl6 --starget=parse  example.pl  it works
01:51 brokenchicken What's mbc?
01:51 pisa MoarVM byte code
01:51 brokenchicken Ah
01:52 pisa the rakudo doc says it can dump some stages of the perl6 programs
01:52 pisa https://github.com/rakudo/rak​udo/blob/nom/docs/running.pod
01:54 raschipi BenGoldberg: :D and :U types are still maybe/option types in Perl6 because a Function can still return Nil or Failure even when :D is present. They're the only undefined types that can be returned when there's a :D.
01:55 kaare_ joined #perl6
01:55 * BenGoldberg hadn't thought of that.
01:56 raschipi There's no way to declare a type that isn't maybe/option in Perl6, because a function/method can always return Failure/Nil.
01:59 BenGoldberg .tell raiph nvmnd raschipi++ informed me that even types with :D on them can get Nil/Failure in them. :)
01:59 yoleaux BenGoldberg: I'll pass your message to raiph.
01:59 ccakes joined #perl6
02:00 raschipi BenGoldberg: Well, they can't. This is only valid for checks on return types. Asigning it will blow up.
02:01 BenGoldberg m: sub foo() --> Int:D { Nil }; dd foo();
02:01 camelia rakudo-moar e195e5: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3sub foo()7⏏5 --> Int:D { Nil }; dd foo();␤    expecting any of:␤        new name to be defined␤»
02:01 BenGoldberg m: sub foo(--> Int:D) { Nil }; dd foo();
02:01 camelia rakudo-moar e195e5: OUTPUT«Nil␤»
02:01 BenGoldberg m: sub foo(--> Int:D) { Nil }; my Int:D $bar = 42;
02:01 camelia rakudo-moar e195e5: ( no output )
02:02 BenGoldberg m: sub foo(--> Int:D) { Nil }; my Int:D $bar = foo;
02:02 camelia rakudo-moar e195e5: OUTPUT«Type check failed in assignment to $bar; expected type Int:D cannot be itself (perhaps Nil was assigned to a :D which had no default?)␤  in block <unit> at <tmp> line 1␤␤»
02:02 BenGoldberg m: sub foo(--> Int:D) { Nil }; my Int:D $bar = foo();
02:02 camelia rakudo-moar e195e5: OUTPUT«Type check failed in assignment to $bar; expected type Int:D cannot be itself (perhaps Nil was assigned to a :D which had no default?)␤  in block <unit> at <tmp> line 1␤␤»
02:02 AlexDaniel this new error message is pretty nice by the way
02:02 brokenchicken Nil bypasses return type constraint (and Failure is Nil)
02:03 brokenchicken m: class Meows is Nil {}; --> Int:D { Meows }().WHAT.say
02:03 camelia rakudo-moar e195e5: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Prefix -- requires an argument, but no valid term found␤at <tmp>:1␤------> 3class Meows is Nil {}; --7⏏5> Int:D { Meows }().WHAT.say␤    expecting any of:␤        prefix␤»
02:03 brokenchicken m: class Meows is Nil {}; -> --> Int:D { Meows }().WHAT.say
02:03 camelia rakudo-moar e195e5: OUTPUT«Nil␤»
02:03 brokenchicken m: class Meows is Nil {}; -> --> Int:D { Meows }().^name.say
02:03 camelia rakudo-moar e195e5: OUTPUT«Meows␤»
02:03 BenGoldberg "cannot be itself" is slightly strange wording ;)
02:05 raschipi You should see what we had before: "type Int:D cannot be Int:D". That was really confusing.
02:06 AlexDaniel skids++
02:06 AlexDaniel (0a1d93253)
02:06 AlexDaniel raschipi: actually…
02:07 AlexDaniel c: 0a1d9325^ sub foo(--> Int:D) { Nil }; my Int:D $bar = foo();
02:07 committable6 AlexDaniel, ¦«0a1d9325^»: Type check failed in assignment to $bar; expected Int:D but got Int:D␤  in block <unit> at /tmp/u6AZdSjAAw line 1␤ «exit code = 1»
02:07 AlexDaniel ah, indeed
02:07 AlexDaniel c: 0a1d9325~200 sub foo(--> Int:D) { Nil }; my Int:D $bar = foo();
02:07 committable6 AlexDaniel, ¦«0a1d9325~200»:
02:07 raschipi m: sub foo(--> Int:D) { Nil }; my Int:D $bar is default 42 = foo();
02:07 camelia rakudo-moar e195e5: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3Int:D) { Nil }; my Int:D $bar is default7⏏5 42 = foo();␤    expecting any of:␤        constraint␤        infix␤        infix stopper␤        postfix…»
02:07 AlexDaniel raschipi: “expected Int:D but got Int:D” is not worse than that ↑
02:07 BenGoldberg I'd have prefered something like "expected value type $t1 cannot assign to container type $t2"
02:08 raschipi Yes, it was even worse than I remebered.
02:10 raschipi Something like: "expected value type Int:D cannot assign to container type Int:D"?
02:11 skids Problem is "container" has a different shade of meaning.
02:12 raschipi "expected value type Int:D cannot assign to Int:D", then?
02:13 skids Well, it's "type object" usually, but that takes a while to sink in wen first learning the language.
02:13 z8 joined #perl6
02:14 skids And saying it's an "open set" might be to mathy.
02:14 skids too
02:15 _28_ria joined #perl6
02:16 TimToady it's really more of a linguistic idea, just common generic nouns
02:16 TimToady like "man" in "Socrates is a man."
02:17 TimToady we tend to lowercase our proper nouns, and uppercase our common nouns, in that sense
02:17 skids Maybe "Expected instance of type Int:D, but got a type object instead."
02:18 kalkin- joined #perl6
02:18 raschipi BenGoldberg: What do you think? Would that be more digestible wording?
02:18 skids But I don't know if maybe we can find something future-proofed vs smiley additions.
02:19 raschipi Uuuuu, smiley adittions :D
02:19 skids (I think there was mulling over an opimization-friendly smiley that means "This class exactly, not a subclass")
02:20 brokenchicken .oO( but what color is the bikeshed?.... )
02:20 raschipi "Expected instance of type Int:D, but got an undefined object instead."
02:20 raschipi brokenchicken: Let we have fun.
02:21 brokenchicken Is Int:D even a type?
02:21 Ben_Goldberg joined #perl6
02:24 kaare_ joined #perl6
02:25 raschipi brokenchicken: How can it be defined when Int isn't real?
02:26 brokenchicken raschipi: what do you mean?
02:27 raschipi brokenchicken: https://twitter.com/officialjaden/​status/329768040235413504?lang=pt
02:27 rmusial joined #perl6
02:27 TimToady m: say Int ~~ Real;  # :-)
02:27 camelia rakudo-moar e195e5: OUTPUT«True␤»
02:27 brokenchicken ...
02:28 brokenchicken raschipi: fuck you too
02:28 TEttinger it's a meme
02:28 abruanese joined #perl6
02:29 Ben_Goldberg joined #perl6
02:32 raschipi brokenchicken: Sorry for offending you, it was meant as a joke.
02:36 samcv can someone help me out with this error i'm seeing https://gist.github.com/13a1​b7175588374df23b0735f33e23c4
02:36 samcv https://gist.github.com/13a1​b7175588374df23b0735f33e23c4
02:36 samcv says it's on line 19
02:38 AlexDaniel дрикр еххох мессаге? :)
02:38 AlexDaniel which error message? :)
02:38 * AlexDaniel did it again
02:38 TimToady samcv: you gave the same link twice, if the first was meant to be the message
02:39 samcv oops looks like it did paste twice
02:39 samcv Cannot resolve caller infix:<+>(Mu, Int); none of these signatures match:
02:40 TimToady might need to use --ll-exception to figure out where it's throwing from
02:40 brokenchicken m: my %h; %h<foo><bar> + 1
02:40 camelia rakudo-moar e195e5: OUTPUT«WARNINGS for <tmp>:␤Useless use of "+" in expression "<bar> + 1" in sink context (line 1)␤Use of uninitialized value of type Any in numeric context␤  in block <unit> at <tmp> line 1␤»
02:41 kalkin- I have a module lib/Foo.pm6 & and a class lib/Foo/Bar.pm6. In module Foo i have a sub, how do I access it in the class Foo::Bar, without doing use Foo at the top?
02:41 brokenchicken It's coming from %range-nos{$range-no}<last> being Mu somehow
02:41 kalkin- I thought Foo::Bar is a sub scope of Foo, so it should have access to all stuff in Foo?
02:41 brokenchicken And changing that elsif to elsif %range-nos{$range-no}<last> andthen %range-nos{$range-no}<last> + 1 == $point { crashes with a QAST error :S
02:46 raschipi kalkin-: Doesn't work that way.
02:46 brokenchicken m: dd Nil<meows>
02:46 camelia rakudo-moar e195e5: OUTPUT«Nil␤»
02:46 kalkin- m: module Foo { sub f { say "Asd" } class Bar { method new { f() } } }; Foo::Bar.new
02:46 camelia rakudo-moar e195e5: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Strange text after block (missing semicolon or comma?)␤at <tmp>:1␤------> 3module Foo { sub f { say "Asd" }7⏏5 class Bar { method new { f() } } }; Foo␤    expecting any of:␤        infix␤    …»
02:46 kalkin- m: module Foo { sub f { say "Asd" }; class Bar { method new { f() } } }; Foo::Bar.new
02:46 camelia rakudo-moar e195e5: OUTPUT«Asd␤»
02:47 ilbot3 joined #perl6
02:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
02:49 samcv ok thanks brokenchicken
02:49 brokenchicken wonder if Nil or Any is a better choice there
02:49 brokenchicken m: my %h; dd %h<blah>
02:49 camelia rakudo-moar e195e5: OUTPUT«Any %h = Any␤»
02:50 TimToady kalkin-: that looks buggy to me; Bar shouldn't be findable inside Foo
02:51 TimToady oh, wait, I misread
02:52 TimToady class Bar is inside of Foo
02:52 kalkin- TimToady: yes
02:52 TimToady but brokenchicken++ said that already; should learn to read
02:53 brokenchicken kalkin-: when they're in separate files, Bar is no longer inside Foo
02:53 raschipi kalkin-: It's on purpose. Say you release a module called Acme::Forsure. Someone else might have released a module called Acme. The fact that Acme exists should be irrelevant for your mudule unless you ask for it.
02:55 kalkin- i see
02:56 kalkin- This confuses me a little bit, because as a programmer reading some code I have no simple way to find out if Foo::Bar is defined inside Foo or if it an own module
02:57 samcv i'm not sure why this isn't working though https://gist.github.com/6493​f4a0c49fc7515b42482444708e92
02:57 samcv i moved the code all into file scope and used my. doesn't work using our either
02:57 samcv Unexpected named argument 'exists' passed
02:58 samcv i haven't had this issue before with nonhashes and such
02:58 brokenchicken kalkin-: why do you need a simple way for that?
02:59 brokenchicken samcv: precedence, you're passing :exists to !
02:59 brokenchicken m: my %h; say !$h<foo>:exists
02:59 camelia rakudo-moar e195e5: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$h' is not declared. Did you mean '%h'?␤at <tmp>:1␤------> 3my %h; say !7⏏5$h<foo>:exists␤»
02:59 brokenchicken m: my %h; say !%h<foo>:exists
02:59 camelia rakudo-moar e195e5: OUTPUT«Unexpected named argument 'exists' passed␤  in block <unit> at <tmp> line 1␤␤»
02:59 brokenchicken m: my %h; say !(%h<foo>:exists)
02:59 camelia rakudo-moar e195e5: OUTPUT«True␤»
02:59 samcv ah ok
02:59 brokenchicken m: my %h; say %h<foo>:!exists
02:59 camelia rakudo-moar e195e5: OUTPUT«True␤»
02:59 brokenchicken m: my %h; say %h<foo>:exists.not
02:59 camelia rakudo-moar e195e5: OUTPUT«True␤»
03:00 kalkin- brokenchicken: may be you are right and there is no reason for it. It just confuses me a little bit, but I think I will get used to it
03:00 Ben_Goldberg joined #perl6
03:01 raschipi kalkin-: In Perl6, a Class and a Module are as different as a Method is from a Function, I would say. They are very similar concepts.
03:03 brokenchicken kalkin-: I don't get what namespaces are about either. Foo::.keys gives `Bar` regardless of whether it's declared inside or not
03:03 brokenchicken kalkin-: and I gess Foo::Bar in a separate file just affects the namespace stuff but not scoping
03:05 kalkin- I thing I understand why you don't want lib/Foo/Bar.pm6 inherit the scope of lib/Foo.pm6, but why can I access Foo::Bar if it's defined inside Foo? Which purpose does it serve?
03:05 kalkin- It's two different concepts which are intermixed and hard to keep apart, when learning
03:06 brokenchicken kalkin-: same as how you can access Foo::some-routine()
03:06 brokenchicken kalkin-: without importing it (and pollutting the nasmespace into which you'd export it)
03:06 brokenchicken And you won't be able to access it if you stick a `my` before it
03:07 brokenchicken m: module Foo { sub f { say "Asd" }; my class Bar { method new { } } }; Foo::.keys.say
03:07 camelia rakudo-moar e195e5: OUTPUT«()␤»
03:07 brokenchicken m: module Foo { sub f { say "Asd" }; my class Bar { method new { } } }; Foo::Bar
03:07 camelia rakudo-moar e195e5: OUTPUT«Could not find symbol '&Bar'␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
03:07 kalkin- brokenchicken: I see the usefulness of it, but why haven't you chosen i.e another separator for differentiating between scopes and module naming. So for nested Bar you would do Foo—Bar while for modules you would do Foo::Bar.
03:08 BenGoldberg m: module Foo { sub Bar { say 42 } }; my class Foo::Bar { }; dd Foo::Bar
03:08 camelia rakudo-moar e195e5: OUTPUT«Foo::Bar␤»
03:08 BenGoldberg m: module Foo { sub Bar { say 42 } }; my class Foo::Bar { }; dd Foo::Bar()
03:08 camelia rakudo-moar e195e5: OUTPUT«Foo::Bar(Any)␤»
03:09 brokenchicken m: module Foo { sub Bar { say 42 } }; my class Bar { }; dd Foo::Bar
03:09 camelia rakudo-moar e195e5: OUTPUT«Could not find symbol '&Bar'␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
03:09 brokenchicken m: module Foo { our sub Bar { say 42 } }; my class Bar { }; dd Foo::Bar
03:09 camelia rakudo-moar e195e5: OUTPUT«42␤Bool::True␤»
03:10 brokenchicken kalkin-: Because Bar is in Foo's namespace, I guess.
03:10 BenGoldberg There seem to be two separate Foo namespaces, unless I'm confused.
03:11 cyphase joined #perl6
03:11 brokenchicken kalkin-: scopes are governed by files and blocks; not by naming. That I guess is the crux of any confusion here.
03:11 brokenchicken BenGoldberg: Foo::Bar() is a coercer, innit?
03:11 kalkin- brokenchicken: ohh that's a very good summary!
03:11 kalkin- it makes it easier to remember
03:12 brokenchicken BenGoldberg: oh
03:13 brokenchicken m: module Foo { our sub Bar { say 42 } }; my class Foo::Bar { }; dd Foo::Bar
03:13 camelia rakudo-moar e195e5: OUTPUT«Foo::Bar␤»
03:13 jdmmmmm joined #perl6
03:13 brokenchicken m: module Foo { our sub Bar { say 42 } }; my class Foo::Bar { }; dd Foo::Bar()
03:13 camelia rakudo-moar e195e5: OUTPUT«Foo::Bar(Any)␤»
03:13 brokenchicken hehe
03:14 brokenchicken m: module Foo { our sub Bar { say 42 } }; my class Foo::Bar { }; dd &Foo::Bar()
03:14 camelia rakudo-moar e195e5: OUTPUT«42␤Bool::True␤»
03:14 brokenchicken m: module Foo { our sub Bar { say 42 } }; sub Foo::Bar { say "meow" }; &Foo::Bar()
03:14 camelia rakudo-moar e195e5: OUTPUT«42␤»
03:14 brokenchicken m: module Foo { our sub Bar { say 42 } }; sub Foo::Bar { say "meow" }; Foo::Bar()
03:14 camelia rakudo-moar e195e5: OUTPUT«42␤»
03:14 brokenchicken m: module Foo { our sub Baz { say 42 } }; sub Foo::Bar { say "meow" }; Foo::Bar()
03:14 camelia rakudo-moar e195e5: OUTPUT«Could not find symbol '&Bar'␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
03:15 brokenchicken hmm, mkay
03:15 BenGoldberg m: dd sub Foo::Bar { };
03:15 camelia rakudo-moar e195e5: OUTPUT«Sub Foo::Bar = sub Foo::Bar () { #`(Sub|47526504) ... }␤»
03:15 BenGoldberg m: dd sub Foo::Bar { 42 }; dd Foo::Bar();
03:15 camelia rakudo-moar e195e5: OUTPUT«Sub Foo::Bar = sub Foo::Bar () { #`(Sub|63320808) ... }␤Could not find symbol '&Bar'␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
03:15 BenGoldberg m: dd sub Foo::Bar { 42 }; dd &Foo::Bar();
03:15 camelia rakudo-moar e195e5: OUTPUT«Sub Foo::Bar = sub Foo::Bar () { #`(Sub|75346712) ... }␤Cannot find method 'Any' on object of type List␤  in block <unit> at <tmp> line 1␤␤»
03:16 * BenGoldberg headscratches.
03:17 BenGoldberg m: module Foo { }; module Foo { sub Bar { 42 } }; Foo::Bar();
03:17 camelia rakudo-moar e195e5: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Redeclaration of symbol 'Foo'␤at <tmp>:1␤------> 3module Foo { }; module Foo7⏏5 { sub Bar { 42 } }; Foo::Bar();␤    expecting any of:␤        generic role␤»
03:17 xtreak joined #perl6
03:17 BenGoldberg m: module Foo { }; use 'MONKEY-TYPING'; module Foo { sub Bar { 42 } }; Foo::Bar();
03:17 camelia rakudo-moar e195e5: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Redeclaration of symbol 'Foo'␤at <tmp>:1␤------> 3Foo { }; use 'MONKEY-TYPING'; module Foo7⏏5 { sub Bar { 42 } }; Foo::Bar();␤    expecting any of:␤        generic role␤»
03:19 BenGoldberg I wonder if declaring/defining a subroutine in a namespace not our own is a perl5-ish thing, which is only legal by accident.
03:20 raschipi BenGoldberg: We even have the MOP to do it.
03:22 raschipi Perl6 doesn't enforce hygiene.
03:22 BenGoldberg m: sub Foo::Bar { 42 }; say Foo::Bar();
03:22 camelia rakudo-moar e195e5: OUTPUT«Could not find symbol '&Bar'␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
03:22 BenGoldberg So it that ^ a bug?
03:25 raschipi m: our sub Foo::Bar { 42 }; say Foo::Bar();
03:25 camelia rakudo-moar e195e5: OUTPUT«Could not find symbol '&Bar'␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
03:25 brokenchicken There's a ticket on the topic: https://rt.perl.org/Ticket/Displ​ay.html?id=130378#ticket-history
03:28 BenGoldberg brokenchicken++
03:28 BenGoldberg I was about to file a rakudobug :)
03:29 japhb How do you tell a Supply to stop producing values?  I don't mean closing taps, I mean I want something I can detect within a supply { } block to know I should stop generating new emits in the first place.
03:31 raschipi japhb: Use a semaphore.
03:32 japhb raschipi: I'm not sure that works for my use case.  Can you expand on that suggestion a bit?
03:33 raschipi Have a shared variable and check it's value before suppling something. When you don't want more things, change the value.
03:33 japhb (Right now I'm imagining that you're saying "Keep a semaphore for each Supply, signal the semaphore when you want to tell the Supply to stop" ... but I'm talking about when you are just passing the Supply around, not with another piece of data (the semaphore))
03:34 japhb raschipi: Yeah, that's roughly what I thought you meant.
03:34 labster joined #perl6
03:34 raschipi Put both in a class and pass the class around.
03:35 japhb That's a workaround, but I'm asking if you can do something equivalent to: my $supply = supply { loop { DONE { last }; ... emit ... } }; $supply.done;
03:35 japhb Hmmm, that might work a little better.
03:35 raschipi It's not builtin, no.
03:36 japhb dang, I was hoping I was just missing something obvious.
03:36 bhm joined #perl6
03:39 brokenchicken m: react whenever supply { loop { CONTROL { when CX::Done { last } }; emit rand } } { .say; done if $++ > 10 }
03:39 camelia rakudo-moar 9728c4: OUTPUT«MoarVM panic: Trying to unwind over wrong handler␤»
03:43 cale2 joined #perl6
03:48 noganex_ joined #perl6
03:49 rmusial joined #perl6
03:50 raschipi night people
03:58 dugword joined #perl6
04:00 abruanese joined #perl6
04:09 ingy can panda install from a module repo clone dir?
04:10 geekosaur I think it's panda install /path/to/dir ?
04:10 ingy I'll try it
04:12 ingy geekosaur: worked perfectly. cheers!
04:13 ingy fwiw I did: cd /path/to/module; panda install --prefix=... .
04:24 AlexDaniel m: say “\c[male facepalming]”
04:24 camelia rakudo-moar 9728c4: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized character name male facepalming␤at <tmp>:1␤------> 3say “\c[male facepalming7⏏5]”␤»
04:24 AlexDaniel what was it…
04:25 AlexDaniel m: say “\c[man facepalming]”
04:25 camelia rakudo-moar 9728c4: OUTPUT«🤦‍♂️␤»
04:26 TimToady now that we have lowercase char names, we could probably use at least a colon after "character name"
04:30 samcv use a colon?
04:30 TimToady in the error message
04:30 samcv ah
04:30 TimToady it's LTA
04:31 samcv where did you want a colon?
04:31 samcv oh, unrecognized character name: male facepalming
04:31 samcv ^ like that?
04:31 TimToady yup
04:32 samcv we could use a comma. since commas denote different characters already
04:32 samcv and can't exist in the names. (i need to strip commas from the unicode emoji names fyi)
04:32 samcv those cannot be accessed because of that
04:32 BenGoldberg joined #perl6
04:33 samcv but yeah even if names aren't case sensitive people can still enter in lowercase, so a comma there would be good
04:33 TimToady well, colon is slightly more correct, English-wise
04:34 samcv true
04:34 samcv but we can be sure commas will never appear in a name
04:34 samcv since there are colons that are in names
04:35 TimToady but by then you've switched into name reading mode so it's not terribly ambiguous, unless you read your sentences right to left :)
04:35 AlexDaniel what about quotes…
04:35 samcv m: say "\c[abc, xyz]"
04:35 camelia rakudo-moar 9728c4: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized character name abc␤at <tmp>:1␤------> 3say "\c[abc7⏏5, xyz]"␤»
04:35 samcv yeah quotes would be fine
04:36 TimToady mostly I tend to get rid of quotes in error messages where the token is clear (especially if there's a sigil), but we could use quotes here
04:36 AlexDaniel m: say “\c[family: man, boy]”
04:36 camelia rakudo-moar 9728c4: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized character name family: man␤at <tmp>:1␤------> 3say “\c[family: man7⏏5, boy]”␤»
04:36 samcv yeah i need to fix that to have no comma :\
04:37 AlexDaniel “Unrecognized character name: family: man” would be crazy
04:37 samcv hahaha
04:37 AlexDaniel oh, it would be “Unrecognized character name: family: man, boy”
04:37 TimToady Unrecognized character name: "family: man" would be okay
04:38 TimToady or use square brackets even
04:38 TimToady Unrecognized character name: [family: man, boy]
04:38 TimToady since people are used to seeing squares anyway after \c
04:41 samcv could do squares I guess hmm
04:41 samcv though if somebody does \c[BOY, MAN]
04:41 samcv m: "\c[BOYMAN]"
04:41 camelia rakudo-moar 9728c4: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized character name BOYMAN␤at <tmp>:1␤------> 3"\c[BOYMAN7⏏5]"␤»
04:41 samcv m: "\c[BOYMAN, MANBOY]"
04:41 camelia rakudo-moar 9728c4: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized character name BOYMAN␤at <tmp>:1␤------> 3"\c[BOYMAN7⏏5, MANBOY]"␤»
04:44 agentzh joined #perl6
04:49 rmusial joined #perl6
04:53 Mer joined #perl6
05:02 wamba joined #perl6
05:03 brokenchicken ah, dammit... still stopping to receive updates even with those ssh opts :(
05:04 samcv does this look fine to people https://a.uguu.se/zz7huLeRoR8l.png
05:06 rmusial joined #perl6
05:07 * japhb finally found an idiom that worked for a cancelable supply
05:07 brokenchicken hm, actually it may be ServerAliveInterval in .ssh/config I added while hacking oN Geth
05:07 brokenchicken japhb: what is it?
05:07 geekosaur command line should override though
05:09 japhb sub mksupply { my $done = False; supply { until $done { ... emit ... } } does role { method done { $done = True } } };  my $supply = mksupply; $supply.act: -> $v { ...; $supply.done }
05:09 brokenchicken ah
05:10 japhb So essentially carrying that flag around, but instead of doing it by class, I did it with a closure.  That was the easy bit.  The hard part was remembering I could add a method to the supply returned by a supply { } block using 'does role { ... }'
05:10 TimToady samcv: it's pretty okay
05:12 japhb That combined with a (very) mildly enhanced version of TimToady's idiom to do raw terminal input gets me a sub that takes a readable IO::Handle and produces a raw per-character Supply of its input.
05:13 japhb (With the ability to stop the input loop, which was the key thing I needed.)
05:14 AlexDaniel samcv: side-by-side comparison with quotes?
05:16 samcv here's with quotes https://a.uguu.se/CeMBkSrPlG1u.png
05:19 AlexDaniel 🤷
05:20 AlexDaniel to me [] feel a bit unnatural
05:21 AlexDaniel who cares though, let's try []
05:26 samcv AlexDaniel, it has been done
05:30 CIAvash joined #perl6
05:33 rmusial joined #perl6
05:38 Actualeyes joined #perl6
05:46 japhb TimToady: with your idiom of reading a byte at a time and trying to decode the buffer after each byte added, is it even possible to decode more than one character at that point?  Why do $s.comb after '... until try my $s = $buf.decode'?
05:49 TimToady it might be superstitious
05:51 TimToady or a holdover from when I had a larger number in the read
05:52 japhb Yeah, seems likely
06:19 wamba joined #perl6
06:33 japhb .tell jnthn I've found a workaround for now.
06:33 yoleaux japhb: I'll pass your message to jnthn.
06:34 bjz joined #perl6
06:42 * ingy waves
06:43 bjz joined #perl6
06:50 labster joined #perl6
06:50 ingy how come I can't mv a p6 install directory?
06:51 ingy Is that to make p6 be consistent with p5 annoyances? ;)
06:52 RabidGravy joined #perl6
06:53 * ingy channels TheGoodTrollOfTheWest™
06:56 telex joined #perl6
06:58 domidumont joined #perl6
07:06 curt__ joined #perl6
07:07 bjz joined #perl6
07:11 ingy the good troll sleeps &
07:20 wamba joined #perl6
07:21 cibs joined #perl6
07:23 parv joined #perl6
07:28 AlexDaniel ingy: it is not movable indeed
07:28 AlexDaniel ingy: I think timotimo had some progress with this issue
07:32 xtreak joined #perl6
07:39 darutoko joined #perl6
07:40 aindilis joined #perl6
07:56 Woodi joined #perl6
08:01 salva joined #perl6
08:03 bob777 joined #perl6
08:11 AlexDaniel .tell lizmat ok, but what about this: mch: $_ = ‘this is a test’; my @a := m:g:c/\w+{say ‘ok’}/; say @a[0] # 00003955
08:11 yoleaux AlexDaniel: I'll pass your message to lizmat.
08:12 timotimo i ran into the same brick wall someone else recently ran into before me
08:16 AlexDaniel timotimo: which is?
08:17 timotimo hm, was it loading the core setting or something? that violently exploded?
08:18 z8 joined #perl6
08:19 domidumont joined #perl6
08:19 zakharyas joined #perl6
08:19 rindolf joined #perl6
08:21 abraxxa joined #perl6
08:21 dugword joined #perl6
08:24 domidumont joined #perl6
08:25 mr-foobar joined #perl6
08:25 z8 joined #perl6
08:26 xtreak joined #perl6
08:33 giraffe joined #perl6
08:37 koki joined #perl6
08:39 koki joined #perl6
08:45 koki joined #perl6
08:46 koki joined #perl6
08:47 koki1 joined #perl6
08:48 Actualeyes joined #perl6
08:51 koki joined #perl6
08:57 AlexDaniel m: grammar A { token TOP { <so> }; token so { foo } }; say A.parse('foo')
08:57 camelia rakudo-moar 582260: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤  in any !reduce at /home/camelia/rakudo-m-inst-1​/share/nqp/lib/QRegex.moarvm line 1␤  in any !cursor_pass at /home/camelia/rakudo-m-inst-1​/share/nqp/lib/QRegex.moarvm line 1␤  in regex so at…»
08:57 AlexDaniel m: grammar A { token TOP { <so1> }; token so1 { foo } }; say A.parse('foo')
08:57 camelia rakudo-moar 582260: OUTPUT«「foo」␤ so1 => 「foo」␤»
08:58 ChoHag joined #perl6
08:58 raiph joined #perl6
09:01 jonas1 joined #perl6
09:02 rumble joined #perl6
09:04 bjz_ joined #perl6
09:06 timotimo it's just calling the so method that everything has?
09:06 timotimo m: grammar A {}; say A.so
09:06 camelia rakudo-moar 582260: OUTPUT«False␤»
09:08 timotimo 0:
09:09 timotimo b.
09:09 timotimo sk7bhk7g8
09:10 timotimo sk
09:10 timotimo
09:10 timotimo
09:10 timotimo apologies, l
09:10 timotimo apologies, cleaning the keyboard
09:14 espadrine_ joined #perl6
09:16 mr-foobar joined #perl6
09:23 dakkar joined #perl6
09:23 * moritz uses his screen lock when cleaning keyboard :-)
09:23 moritz if I accidentally type my password while cleaning, I know it's too weak :-)
09:28 AlexDaniel help!
09:28 AlexDaniel mch: class C { method defined { True } }; say ?C
09:28 committable6 AlexDaniel, ¦«2015.12»: True␤¦«HEAD»: False
09:28 AlexDaniel is it supposed to work?
09:28 AlexDaniel bisect: class C { method defined { True } }; say ?C
09:28 bisectable6 AlexDaniel, Bisecting by output (old=2015.12 new=5822605) because on both starting points the exit code is 0
09:28 bisectable6 AlexDaniel, bisect log: https://gist.github.com/c0e3​dbde17a7e23a654804fc871fb99d
09:28 bisectable6 AlexDaniel, (2016-03-18) https://github.com/rakudo/rakudo/commit/​24b4b23a80337888cf5ea47b091d218bc884d682
09:29 AlexDaniel ok, looking at this commit message I'd say “yes”, but still unsure
09:30 AlexDaniel wait, but that's a type object
09:31 AlexDaniel that doesn't matter
09:31 AlexDaniel ok
09:32 timotimo good point, moritz
09:32 timotimo but it was kind of an emergency cleaning thing :)
09:32 timotimo turns out when you compress a juicebox to throw it away in a more compact shape, the straw can act like a firehose if there is even the tiniest bit of content left in said juicebox
09:37 araujo joined #perl6
09:37 araujo joined #perl6
09:37 moritz juicehose :-)
09:43 timotimo yup
09:52 azawawi joined #perl6
09:52 azawawi hi
09:52 samcv 9.95 -> 9.5444583 seconds ( finding the index of a word located at the very end of a 7000000 character string)
09:52 azawawi just found a windows build error for rakudo
09:52 samcv optimizing some things
09:52 azawawi https://ci.appveyor.com/project/azawawi/perl6-od​oo-client/build/1.0.20/job/hu1an326g9w2egle#L148
09:53 azawawi c:\users\appveyor\rakudobrew\moar-n​om\nqp\moarvm\src\core/frame.h(196) : error C2375: 'MVM_frame_destroy' : redefinition; different linkage
09:53 shun_ joined #perl6
09:53 committable6 azawawi, ¦«\users\appveyor\rakudobrew\moar-no​m\nqp\moarvm\src\core/frame.h(196)»: Cannot find this revision (did you mean “2016.08.1”?)
09:53 shun_ left #perl6
09:54 azawawi maybe related to it https://github.com/MoarVM/MoarVM/commit/​396ee3720709d47ba1e356cba35aa1efb3abdebb ?
09:54 samcv this was using .match, not testing the nqp op change in speed
09:56 AlexDaniel haha committable6
09:56 AlexDaniel samcv++
09:57 AlexDaniel mch: [[97, 98], [99, 100, [101, 102, 103]]].chrs.say
09:57 committable6 AlexDaniel, ¦«2015.12»: a bc d e f g␤¦«HEAD»: Type check failed in converting element #0 to .chr; expected Int but got Array ($[97, 98])␤  in block <unit> at /tmp/VkHqITB_8M line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/VkHqITB_8M line 1␤ «exit code = 1»
09:57 AlexDaniel ↑ pfft, .chrs was doing » in 2015.12
10:00 tam_ joined #perl6
10:00 tam_ left #perl6
10:02 samcv hmm only seems to make long haystacks faster
10:02 samcv really short ones it does slow down
10:02 samcv by about the same much as the other speedup
10:04 samcv though i've seen this: https://www.codeproject.com/Articl​es/250566/Fastest-strstr-like-func​tion-in-C?msg=4167485#xx4167485xx
10:05 samcv this guy has made loads of different versions of string search algorithms, says his is free software, we could ask him if he could license it Artistic 2.0
10:05 samcv let me find a place where you can actually get the zip files
10:06 samcv oh I can login with my github accuont on this site at least
10:08 samcv shows 4-6x faster than GCC memmem which is about as fast as ours is atm
10:09 xtreak joined #perl6
10:11 bjz joined #perl6
10:34 bjz joined #perl6
10:34 lizmat .tell AlexDaniel This is a consequence of how the iterator works: special casing the first pull would slow down things a lot
10:34 yoleaux 08:11Z <AlexDaniel> lizmat: ok, but what about this: mch: $_ = ‘this is a test’; my @a := m:g:c/\w+{say ‘ok’}/; say @a[0] # 00003955
10:34 yoleaux lizmat: I'll pass your message to AlexDaniel.
10:35 lizmat .tell AlexDaniel so I'd rather not change that unless jnthn TimToady think it should be changed
10:35 yoleaux lizmat: I'll pass your message to AlexDaniel.
10:35 AlexDaniel .
10:35 yoleaux 10:34Z <lizmat> AlexDaniel: This is a consequence of how the iterator works: special casing the first pull would slow down things a lot
10:35 yoleaux 10:35Z <lizmat> AlexDaniel: so I'd rather not change that unless jnthn TimToady think it should be changed
10:35 ChoHag joined #perl6
10:40 luiz_lha joined #perl6
10:43 xtreak joined #perl6
10:46 abraxxa joined #perl6
10:48 xtreak joined #perl6
10:52 raschipi joined #perl6
10:55 abraxxa joined #perl6
10:58 astj joined #perl6
11:09 kalkin- m: sub trait_mod:<is>(Sub $s, :$sasl-mechanism) { say $sasl-mechanism }; sub f() is sasl-mechanism('PLAIN') {}
11:09 camelia rakudo-moar 582260: OUTPUT«PLAIN␤»
11:09 kalkin- m: sub trait_mod:<is>(Sub $s, :$sasl-mechanism) { say $sasl-mechanism }; sub f($a, $b --> Bool) is sasl-mechanism('PLAIN') {}
11:09 camelia rakudo-moar 582260: OUTPUT«PLAIN␤»
11:10 kalkin- wtf, why doesn't it work in my code? in my code “I get unexpected named argument 'onlystar' passed” at some random line
11:10 timotimo you want :$sasl-mechanism!
11:10 timotimo or else your own trait mod will be called for anything and everything
11:10 timotimo also, must me "multi sub"
11:11 kalkin- timotimo: Thanks!
11:11 kalkin- I tried before with !
11:12 kalkin- my issue was if i use sub instead of multi the error is LTA. it says: “Required named parameter 'sasl-mechanism' is not passed”
11:12 timotimo that's exactly what happens, though
11:12 timotimo we could probably output other named parameters that get passed i guess?
11:12 timotimo or the whole call capture? (with only types instead of values)
11:13 kalkin- timotimo: may be just add: “You probably wanted to define multi trait_mod instead of sub?” at the end of the error message?
11:14 timotimo hm. how about this
11:14 timotimo we look in outer scopes if there's a multi defined with the same name
11:19 kalkin- ^ doesn't imply how I fix the error
11:21 kalkin- *how I can fix the error (lost a verb)
11:21 timotimo right
11:22 timotimo the important step was missing
11:22 timotimo if there's already a multi with that name in the outer scopes we can check if any of their candidates would accept the arguments
11:22 timotimo then we can say almost for sure that putting a multi there would fix things
11:24 kalkin- yeah I think this could fit
11:29 arnsholt For generating the error, I hope
11:29 timotimo of course
11:29 arnsholt 'Cause that'd cause spurious warnings in the case where you *do* want to shadow a symbol in an outer scope
11:29 arnsholt Good, good
11:29 arnsholt Just had to make sure =)
11:29 timotimo of course
11:29 timotimo though you can put "only" in front for those cases :)
11:30 arnsholt Troo, troo
11:31 timotimo but still
11:31 timotimo we definitely want to teach perl6-fixit (or what it's called) to understand that error message ;)
11:33 samcv ok. i just made it 10x faster
11:33 samcv \\o//
11:34 timotimo oh yeah!!
11:34 samcv running nqp::index. may make other things a bunch faster too, need to check those as well
11:34 samcv for ah uh
11:34 samcv the needle is only 5 characters
11:34 samcv have not tested for large needles but it's going to be crazy
11:35 DrForr Hrm, looks like I need to revitalize my local perl6-Just-F-ing-Fix-It :)
11:36 timotimo yeah, what's the proper name of that tool again, DrForr?
11:37 DrForr Uh, just that, I haven't uploaded it to github :)
11:38 arnsholt samcv: Sounds promising!
11:38 arnsholt What did you implement?
11:39 samcv well it starts at the last character of the needle, and only falls back to the method it does now (grapheme by grapheme), in case there's a match
11:41 samcv what does .match usually use to search for things? index?
11:43 moritz regexes, iirc
11:44 azawawi joined #perl6
11:44 azawawi hi
11:44 samcv andrewalker, in index
11:44 azawawi any reason ^add_method is not ^add-method?
11:44 samcv the moarvm op that's behind nqp::index
11:45 lizmat azawawi: because  :-)
11:45 sena_kun joined #perl6
11:45 samcv lizmat, in perl 6, what does like .match use?
11:45 samcv i have a 10x speedup in nqp::index but not seeing much gains in perl 6 lang with using .match
11:45 azawawi lizmat: ? :)
11:46 lizmat azawawi: there is no particular reason, I think, except it being there before kebab-case became available
11:46 azawawi found a usecase for add_method https://github.com/azawawi/perl6-odoo-cli​ent/blob/master/lib/Odoo/Client.pm6#L128 :)
11:46 lizmat samcv: not understanding your question precisely
11:46 timotimo samcv: did you also optimize rindex?
11:46 samcv no I didn't
11:46 samcv does match use more of rindex?
11:47 timotimo we can only emit a nqp::index if we have a non-greedy scan followed by a literal
11:47 azawawi lizmat: fair enough? change? :)
11:47 timotimo - QAST::Regex(:rxtype(scan) :subtype())
11:47 timotimo - hello world
11:47 timotimo ^- this is what it looks like if the optimizer has figured out there's a literal we can scan for
11:48 timotimo in --target=optimize
11:48 lizmat azawawi: my understanding is that jnthn is mildly against it
11:48 timotimo hm. we might want to have a pass that turns .*? at the beginning of a regex into nothing if there's already a scan in front
11:49 samcv i still am not sure what the answer is. so it isn't using nqp::index very much?
11:49 timotimo yeah
11:49 timotimo but i was wrong about one thing
11:49 samcv what is it doing?
11:50 samcv or can we use index more?
11:50 timotimo scan + literal turns into index, not into rindex
11:50 samcv also note that needle's have to be >=2 chars to get an improvement
11:50 timotimo the regex optimizer is not very good yet. not at all.
11:50 azawawi lizmat: fair enough. Thanks for the explanation :)
11:50 samcv so is it still doing a lot of rindex?
11:51 timotimo no, the only optimization we have uses index, not rindex
11:52 samcv can you make me a regex which _will_ use index?
11:52 samcv i'd like to be able to check some measurable improvement on the perl 6 side
11:52 azawawi lizmat: but is it meant for public consumption? since I did not see any example on https://docs.perl6.org/routine/add_method
11:53 timotimo /foobar/ should use index
11:53 samcv timotimo, so i want to do perl6 --target=optimize? and check for index?
11:53 timotimo what regexes were you testing?
11:53 timotimo no, it will not show "index"
11:53 lizmat azawawi: good question: I think it's fair to say that any change there will break a lot
11:53 timotimo you want to look for nodes with rxtype(scan) that contain a string directly as their first child
11:53 lizmat azawawi: don't we have some documentation about the MOP ?
11:54 azawawi lizmat: aha https://docs.perl6.org/type/Meta​model$COLON$COLONMethodContainer . My bad
11:54 samcv oh hey
11:54 samcv 9x faster
11:55 samcv awesome!!!!
11:55 timotimo neato
11:55 samcv huggable, release
11:55 huggable samcv, nothing found
11:55 timotimo NeuralAnomaly: status
11:55 NeuralAnomaly timotimo, [✘] Next release will be in 3 weeks and 5 days. Since last release, there are 12 new still-open tickets (12 unreviewed and 0 blockers) and 31 unreviewed commits. See http://perl6.fail/release/stats for details
11:55 samcv uhm what other tests should i do, like needle lengths
11:56 timotimo tests, as in, stuff to measure how well your code does?
11:56 samcv yes
11:57 timotimo good question
11:57 samcv i have only tested on one document and one needle which is only 5 chars long
11:57 samcv my $var = slurp "BidiCharacterTest.txt"; my $t1 = now; for ^100 { $var.match(/'# EOF'/) }; say now - $t1;
11:57 samcv fyi it will search for the letter F and find plenty of those
11:58 samcv in this file, 7.6MB big
12:02 timotimo mhm
12:02 timotimo you also generate a proper skip table?
12:03 samcv no
12:04 samcv so it can still be faster, but it's a very good improvement for now :)
12:04 timotimo um, but if you don't generate the proper skip table, how do you know how far to advance?
12:05 timotimo i.e. won't you miss needles in the middle sometimes?
12:05 mxco86 joined #perl6
12:05 samcv oh yeah. that is true. and NYI
12:06 timotimo ok, if it's only NYI that's fine
12:07 samcv somehow it seems to find them all though
12:07 samcv well. probably not ALL
12:07 samcv but most of them
12:07 timotimo but depending on the needle and the haystack you may not get any performance improvement at all
12:10 domidumont joined #perl6
12:19 lizmat samcv: maybe the implementation of Str.split(@needles) can be an inspiration ?
12:24 arnsholt samcv++ # String improvement of all kinds!
12:24 arnsholt *s
12:27 domidumont joined #perl6
12:41 samcv hmm i could always make searching for a set of repeated characters faster for now?
12:41 samcv idk how much the time to check it would be
12:42 samcv could only trigger for long haystacks or something
12:44 DrForr Oh, cool, I just segfaulted perl6. (It's not up-to-date though.)
12:46 DrForr Been a while.
12:46 lizmat 💭 up-to-date perl6 has new, improved segfaults 💭
12:46 DrForr I'll rebuild and see what happens.
12:46 lizmat .u 💭
12:46 yoleaux U+1F4AD THOUGHT BALLOON [So] (💭)
12:46 samcv nice
12:48 fugue_ joined #perl6
12:50 fugue_ Hi #perl6. I've just installed Rakudo Star on my Win10 machine and it's working fine. However trying to install any module with panda results in "Failed cloning git repository". What can I do to analyze/resolve this problem?
12:51 lizmat feels like a firewall issue
12:51 AlexDaniel fyi, zef is preferred over panda
12:51 El_Che AlexDaniel: is it?
12:51 AlexDaniel I think so
12:52 DrForr Segfault goes away after rebuilt, whew.
12:55 DrForr *rebuild
12:56 El_Che AlexDaniel: if so, it should be clarified. Pretty confusing to newbies, imho. For the record, I like both projects
12:58 AlexDaniel El_Che: it already is: https://github.com/perl6/doc/commit/4a​2ebfbfe069fbee8b4d8b15309d6090210232c2
13:00 AlexDaniel this thread has some justification
13:00 AlexDaniel https://www.reddit.com/r/perl6/comments/55babx
13:02 El_Che AlexDaniel: I'll have a look later. Thx for the links!
13:09 ggoebel joined #perl6
13:12 domidumont joined #perl6
13:22 zakharyas joined #perl6
13:22 dugword joined #perl6
13:52 SmokeMachine I wanna write a module that starts a single promise, and if I use that module again (on a different block) it do not start that promise again... is it possible?
13:53 SmokeMachine something like a singleton but survives to different module loads...
13:57 moritz if you use an outer lexical as the state var for the singleton, does that not work?
13:59 jnthn Just store it in a lexical in the module mainline (or in a bare block in the module mainline) and export a sub that returns it
13:59 yoleaux 22 Jan 2017 23:59Z <japhb> jnthn: is there a way to stop doing encoding handling on $*IN?  I want to get truly raw .getc (one character at a time, as soon as the keypress happens), without the delay loop that comes from looking for combining characters ....
13:59 yoleaux 00:19Z <japhb> jnthn: Sorry, to be clear I want to avoid doing *combiner* handling on $*IN.  I still want to pass on any above-ASCII characters I receive, I just want every input character to be passed on immediately, even if that means that I could end up with isolated combiners.
13:59 yoleaux 06:33Z <japhb> jnthn: I've found a workaround for now.
14:01 jnthn .tell japhb Probably setting the encoding to ASCII might do it too. Otherwise, use .read(1) - after all, you're after bytes, not chars.
14:01 yoleaux jnthn: I'll pass your message to japhb.
14:07 jdv79 HTML::Entity is broken.  is there an alternative?
14:07 jdv79 or does anyone get what's broken about it?
14:16 Geth doc: Altai-man++ created pull request #1155: Two minor fixes
14:16 Geth doc: review: https://github.com/perl6/doc/pull/1155
14:22 charsbar joined #perl6
14:30 nicq20 joined #perl6
14:31 eliasr joined #perl6
14:31 nicq20 Hello \o
14:31 nicq20 So, what is an IO::ArgFiles?
14:33 sena_kun >For windows compatibility, .p6 is the preferred extension for cross-platform scripts.
14:34 * [Coke] drinks YA coffee.
14:34 sena_kun What exactly does it mean?
14:35 arnsholt Coffee with homeopathic quantities of coffee, possibly? =)
14:35 mst yet another coffee, I would presume
14:36 mst given Young Adult Coffee doesn't make a lot of sense
14:36 sena_kun arnsholt, nice spotted, but windows-related phrase was point of my interest. ;)
14:36 araujo joined #perl6
14:36 DrForr Irish coffee with homeopathic dose of coffee, especially today.
14:36 [Coke] (pull dead modules from the ecosystem) do we have a way to mark them as "invalid" or something?
14:39 Geth doc: 2d68aa0a20 | Altai-man++ | template/search_template.js
14:39 Geth doc: Limit search results to 50
14:39 Geth doc: review: https://github.com/perl6/doc/commit/2d68aa0a20
14:39 Geth doc: 9f8c5f619b | Altai-man++ | doc/Language/modules.pod6
14:39 Geth doc: Make META6.json searchable
14:39 Geth doc: review: https://github.com/perl6/doc/commit/9f8c5f619b
14:39 Geth doc: 841ac539e4 | Altai-man++ | 2 files
14:39 Geth doc: Merge pull request #1155 from Altai-man/master
14:39 Geth doc:
14:39 Geth doc: Two minor fixes
14:39 Geth doc: review: https://github.com/perl6/doc/commit/841ac539e4
14:45 rindolf jdv79: hi, how are you?
14:46 * [Coke] is just cog in great $dayjob machine. Best cog, great cog, fantastic gears.
14:48 nine nicq20: IO::ArgFiles is for automagically processing files passed on the command line.
14:49 nicq20 nine: Huh, ok. Thakn you!
14:49 nicq20 *thank
14:50 nine nicq20: it's e.g. behind the lines() function. That's equivalent to IO::ArgFiles.lines. I.e. it processes STDIN if you don't pass any files or the files you give it on the command line
14:51 hchienjo joined #perl6
14:52 skids joined #perl6
14:54 nicq20 nine: Is IO::ArgFiles only for command line stuff then?
14:54 nine nicq20: that's a fair characterization, yes
14:57 nicq20 nine: Thanks, I saw it mentioned in some of the docs, but there is no doc for it.
14:59 nine nicq20: you could help the next one by submitting a doc patch :) Feel free to just re-use my answer
15:00 Tonik joined #perl6
15:00 nicq20 nine: Ok, I'll try. Never made a new page before, so I'll try to follow the pattern of other pages.
15:00 wamba joined #perl6
15:10 nicq20 Well, looks like there IS a page for IO::ArgFiles, but the web site just will not show it.
15:11 nine huh?
15:12 nicq20 nine: https://github.com/perl6/doc/blo​b/master/doc/Type/IO/ArgFiles.pm
15:12 nicq20 nine: https://docs.perl6.org/type/IO$COLON$COLONArgFiles
15:14 nicq20 nine: Unless I misunderstand how this works, doc.perl6.org is missing the page.
15:14 ugexe weird, IO::ArgFiles is included in the type graph and links to that url (but it is indeed 404)
15:15 haxmeister joined #perl6
15:15 [Coke] moritz++ # book
15:15 * nine doesn't know too much about doc.perl6.org
15:16 sammers joined #perl6
15:17 cdg joined #perl6
15:20 alimon joined #perl6
15:20 zakharyas joined #perl6
15:24 dalek modules.perl6.org: 78e5e79 | u0097636@kuleuven.be++ | templates/root/index.html.ep:
15:24 dalek modules.perl6.org: Replace panda by zef following https://github.com/perl6/doc/commit/4a​2ebfbfe069fbee8b4d8b15309d6090210232c2
15:24 dalek modules.perl6.org: review: https://github.com/perl6/modul​es.perl6.org/commit/78e5e79b62
15:24 dalek modules.perl6.org: 18279ad | nxadm++ | templates/root/index.html.ep:
15:24 dalek modules.perl6.org: Merge pull request #66 from nxadm/master
15:24 dalek modules.perl6.org:
15:24 dalek modules.perl6.org: Replace panda by zef following https://github.com/perl6/doc/commit/4a
15:24 dalek modules.perl6.org: review: https://github.com/perl6/modul​es.perl6.org/commit/18279ad28e
15:33 Geth doc: nicqrocks++ created pull request #1158: Fix the extension so it can be read
15:33 Geth doc: review: https://github.com/perl6/doc/pull/1158
15:33 Geth doc: e6aa2b7a14 | Nic++ | 2 files
15:33 Geth doc: Fix the extension so it can be read
15:33 Geth doc: review: https://github.com/perl6/doc/commit/e6aa2b7a14
15:33 Geth doc: 03431cd798 | Altai-man++ | 2 files
15:33 Geth doc: Merge pull request #1158 from nicqrocks/patch-1
15:33 Geth doc:
15:33 Geth doc: Fix the extension so it can be read
15:33 Geth doc: review: https://github.com/perl6/doc/commit/03431cd798
15:33 nicq20 The file extension was .pm instead of .pod6
15:34 sena_kun nicq20++
15:37 cschwenz joined #perl6
15:38 cschwenz Given that https://docs.perl6.org/languag​e/5to6-perlvar#Error_Variables states 'To quote the Perl 6 docs, "$! is the error variable." That's it. All the error variables appear to have been eaten by $!.', what _is_ the Perl 6 equivalent of Perl 5's "$!"?
15:40 moritz $!
15:41 nicq20 cschwenz: https://docs.perl6.org/syntax/$DOLLAR_SIGN!
15:41 moritz except that it also takes the function of p5's $@
15:49 cschwenz ah, thanks.  english parsing fail on my part. :-(
15:54 cschwenz my google-fu is failing me, is there a Perl 6 equivalent to Perl 5's ">&STDOUT"?
16:04 jdmmmmm joined #perl6
16:16 ugexe $*OUT = class :: { method print (*@args) { $do-something-with-args }; method flush { } }
16:17 nicq20 left #perl6
16:23 moritz there's also IO::String in the ecosystem
16:24 brokenchicken And IO::MiddleMan
16:24 * brokenchicken has no idea what ">&STDOUT" is
16:25 mst opens another filehandle pointing at stdout, which I don't honestly see why you'd need to
16:25 mst but he left before I noticed the question
16:25 brokenchicken oh
16:29 TimToady joined #perl6
16:42 Geth doc: Altai-man++ created pull request #1159: Fix broken examples, a couple of signatures and one table
16:42 Geth doc: review: https://github.com/perl6/doc/pull/1159
16:45 ChoHag joined #perl6
16:50 cibs joined #perl6
16:52 jdmmmmm joined #perl6
16:59 Geth doc: 84c8e02d73 | Altai-man++ | 10 files
16:59 Geth doc: Fix broken examples, a couple of signatures and one table
16:59 Geth doc:
16:59 Geth doc: Here are mostly 'add semicolon'-like fixes
16:59 Geth doc: review: https://github.com/perl6/doc/commit/84c8e02d73
16:59 Geth doc: c1df4572d8 | (Jonathan Stowe)++ | 10 files
16:59 Geth doc: Merge pull request #1159 from Altai-man/master
16:59 Geth doc:
16:59 Geth doc: Fix broken examples, a couple of signatures and one table
16:59 Geth doc: review: https://github.com/perl6/doc/commit/c1df4572d8
17:05 nicq20 joined #perl6
17:06 cdg joined #perl6
17:09 nicq20 So I think I missed it. Is 'Geth' the new 'dalek'?
17:10 moritz yes
17:15 sena_kun joined #perl6
17:18 nicq20 Cool. I like the name 'dalek' better though. :)
17:21 [Coke] we didn't own dalek, so we had to pick a new name.
17:22 moritz we didn't?
17:22 [Coke] didn't we?
17:22 SmokeMachine moritz: like this? https://www.irccloud.com/pastebin/FmJCJSvN/
17:22 [Coke] Or: the person who rewrote it got to pick.
17:25 kalkin- hmm, handles is missing documentation, what does it do?
17:25 kalkin- ohh no wrong handles lookup
17:26 kalkin- why are handles, fiddly & iffy part of the Glossary when they don't even have documentation? Should the be removed?
17:27 brokenchicken The person who rewrote it got to pick :)
17:27 moritz handles should be documented
17:27 kalkin- the handles trait is documented, i just mixed it up with the handles entry in Glossary
17:27 FROGGS joined #perl6
17:28 kalkin- Should I make a PR to doc to remove the Glossary entries for fiddly iffy and handles?
17:30 [Coke] kalkin-: sure, although there is a huge "clean up glossary" ticket, smaller closable ones are good.
17:30 brokenchicken nicq20: Geth is more appropriate though :) Tools created to serve their masters...
17:30 [Coke] assign it to me, I'm happy to rip things out. :)
17:34 nicq20 brokenchicken: Oh, I get it! (Sorry, had to look it up. Never played Mass Effect.  >_<)
17:34 raschipi joined #perl6
17:35 brokenchicken :o
17:36 zakharyas joined #perl6
17:36 kalkin- Coke: according to #728 fiddly & iffy are  the reasons for the glossary to exists. “If only there was a definition.” :)
17:36 kalkin- for handles there is only a questionmark
17:37 brokenchicken nicq20: that's like saying you never heard the Moonlight Sonata.
17:38 sena_kun It is better to document empty entries than just remove them, imho. And we decided to just clean up, not remove Glossary entirely, didn't we?
17:39 kalkin- My English isn't great, but my interpretation of iffy would be: ”Suboptimal code” & for fiddly: “Brittle and complicated code”?
17:40 kalkin- But I seriosly don't know what handles should be for, besides the obvious dictionary definition
17:40 kalkin- s/be for/stand for/g
17:42 nicq20 brokenchicken: Well it seems to have had a Mass Affect! :D
17:42 nicq20 wow that was bad.
17:54 hchienjo joined #perl6
17:55 cibs joined #perl6
18:01 [Coke] fiddly and iffy appear in the source for rakudo, so presumbably mean something specific.
18:01 Cabanossi joined #perl6
18:09 mawkish__ joined #perl6
18:11 nicq20 left #perl6
18:12 brokenchicken Yeah, they're showing in some error messages
18:12 brokenchicken *shown
18:12 TimToady fiddly means "too complicated to apply a metaop to"
18:12 brokenchicken m: say 1 R?? 2 !! 3
18:12 camelia rakudo-moar 2f69be: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot reverse the args of ?? because conditional operators are too fiddly␤at <tmp>:1␤------> 3say 1 R?? 2 !!7⏏5 3␤»
18:12 brokenchicken m: say 42 !+ 42
18:12 camelia rakudo-moar 2f69be: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot negate + because additive operators are not iffy enough␤at <tmp>:1␤------> 3say 42 !7⏏5+ 42␤    expecting any of:␤        infix␤        infix stopper␤»
18:13 TimToady and iffy means it's often used as a boolean value
18:13 TimToady so even though && isn't strictly returning a boolean, we think of it that way
18:14 kalkin- TimToady: I will add your explanation to #728
18:14 TimToady m: say [.] 'a', 'b'
18:14 camelia rakudo-moar 2f69be: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed postfix call␤at <tmp>:1␤------> 3say [.7⏏5] 'a', 'b'␤»
18:14 ilmari it's not often you get complaints that something isn't iffy _enough_ ;)
18:14 TimToady m: say [.=] 'a', 'b'
18:14 camelia rakudo-moar 2f69be: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot reduce with .= because dotty infix operators are too fiddly␤at <tmp>:1␤------> 3say [.=]7⏏5 'a', 'b'␤»
18:15 TimToady m: say [ff] 'a', 'b'
18:15 camelia rakudo-moar 2f69be: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot reduce with ff because conditional operators are too fiddly␤at <tmp>:1␤------> 3say [ff]7⏏5 'a', 'b'␤»
18:15 timotimo m: sub infix:<??>($a, $b) { }; 1 R?? 2
18:15 camelia rakudo-moar 2f69be: OUTPUT«Potential difficulties:␤    Useless use of R?? in sink context␤    at <tmp>:1␤    ------> 3sub infix:<??>($a, $b) { }; 1 7⏏5R?? 2␤»
18:15 timotimo neat.
18:16 kalkin- TimToady: do you also know how the “handles” entry in Glossary should be defined?
18:17 brokenchicken .oO( toss it... )
18:17 brokenchicken m: sub infix:<??>($a, $b) { $a }; say 1 ?? 2
18:17 camelia rakudo-moar 2f69be: OUTPUT«1␤»
18:17 brokenchicken m: sub infix:<??>($a, $b) { $a }; say 1 R?? 2
18:17 camelia rakudo-moar 2f69be: OUTPUT«2␤»
18:18 brokenchicken m: sub infix:<??>($a, $b) { $a }; sub infix:<!!> { @_ }; say 1 R?? 2 !! 42
18:18 camelia rakudo-moar 2f69be: OUTPUT«[2 42]␤»
18:18 TimToady there's also "diffy", which means the type of the operator result is sufficiently different from its arguments that op= makes little sense
18:18 brokenchicken m: sub infix:<??>($a, $b) { $a }; sub infix:<!!> { @_ }; say 1 ?? 2 !! 42
18:18 camelia rakudo-moar 2f69be: OUTPUT«[1 42]␤»
18:18 brokenchicken m: sub infix:<?> { @_ }; sub infix:<:> { @_ }; say 1 ? 2 : 42
18:18 camelia rakudo-moar 2f69be: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of ? and : for the ternary conditional operator; in Perl 6 please use ?? and !!␤at <tmp>:1␤------> 3?> { @_ }; sub infix:<:> { @_ }; say 1 ?7⏏5 2 : 42␤»
18:19 Cabanossi joined #perl6
18:19 TimToady kalkin-: handles should at least mention that it is the way we specify delegation between classes
18:20 kalkin- TimToady: and may be link to trait handles?
18:20 TimToady delegation means "pretend a part of me is the whole me"
18:20 TimToady well, I don't think we need to talk about the implementation of handles there much
18:20 TimToady to most users, handles is just syntax
18:21 * gfldex .oO( It's Perl. You can tell by the error messages. )
18:21 TimToady m: .oO( It's Perl. You can tell by the error messages. )
18:21 camelia rakudo-moar 2f69be: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in argument list; couldn't find final ')' ␤at <tmp>:1␤------> 3.oO( It's Perl. You7⏏5 can tell by the error messages. )␤    expecting any of:␤        infix␤        …»
18:21 z8 joined #perl6
18:22 TimToady m: .oO( "It's Perl. You can tell by the error messages." )
18:22 camelia rakudo-moar 2f69be: OUTPUT«No such method 'oO' for invocant of type 'Any'␤  in block <unit> at <tmp> line 1␤␤»
18:22 gfldex at least I wasn't misquoted :->
18:23 TimToady m: .oO( It's Perl: You can tell by the error messages. )
18:23 camelia rakudo-moar 2f69be: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at <tmp>:1␤------> 3rl: You can tell by the error messages. 7⏏5)␤»
18:23 kalkin- [Coke]:  I added all the explanations TimToady provided to the issue.
18:23 kyan joined #perl6
18:24 TimToady m: .oO( It's Perl: You can tell by the error messages? )
18:24 camelia rakudo-moar 2f69be: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in argument list; couldn't find final ')' ␤at <tmp>:1␤------> 3Perl: You can tell by the error messages7⏏5? )␤    expecting any of:␤        infix␤        infix stop…»
18:24 kalkin- [Coke]: do you want to be assigned the whole issue, or should i open one for this three entries and assign it to you?
18:25 TimToady m: .oO( It's Perl: You can tell by the error messages... )
18:25 camelia rakudo-moar 2f69be: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing required term after infix␤at <tmp>:1␤------> 3: You can tell by the error messages... 7⏏5)␤    expecting any of:␤        prefix␤        term␤»
18:25 TimToady m: .oO( It's Perl: You can tell by the error messages...... )
18:25 camelia rakudo-moar 2f69be: OUTPUT«5===SORRY!5===␤Undeclared name:␤    You used at line 1␤Undeclared routines:␤    by used at line 1␤    can used at line 1. Did you mean 'tan', 'cas'?␤    error used at line 1␤    messages used at line 1␤    tell used at line 1␤    the …»
18:25 TimToady that's......LTA......
18:26 TimToady I guess it means I'm a user?
18:26 Cabanossi joined #perl6
18:26 TimToady it seems really conf-used
18:28 gfldex I'm often confused by my own thoughts, so I wouldn't blame Rakudo for being LTA.
18:28 TimToady oh, it's complaining about "by" there :)
18:29 raschipi Need more quotes
18:29 TimToady or &
18:29 raschipi Quotes are more useful for a begginer
18:30 TimToady most of the time the quotes are just clutter though
18:30 TimToady also, shouldn't it say "Undeclared names" if there's more than one?
18:31 TimToady part of the confusion is not seeing the newlines, which would line up the undeclared names and make it much more obvious what's going on
18:32 TimToady Oh, no, there's only one "name", and the rest are "routines", so that's okay
18:32 raschipi Soon you'll be like Tank looking at the Matrix, won't see the ␤, it will look like a real new line to you.
18:32 TimToady one place where we assume lowercase are routines, and uppercase are not
18:33 TimToady anyway, I'm fine with leaving the message as is
18:34 mawkish__ joined #perl6
18:38 gfldex m: do not "fear" and do not die;
18:38 camelia rakudo-moar 2f69be: OUTPUT«WARNINGS for <tmp>:␤Useless use of "not " in expression "not die" in sink context (line 1)␤»
18:39 TimToady wow
18:39 TimToady now how 'bout as good a one for taxes?
18:40 gfldex Thinking about it, that error message sounds a little bit suicidal.
18:41 TimToady m: do not die
18:41 camelia rakudo-moar 2f69be: OUTPUT«WARNINGS for <tmp>:␤Useless use of "not " in expression "not die" in sink context (line 1)␤Died␤  in block <unit> at <tmp> line 1␤␤»
18:41 TimToady sort of the opposite of an "easter" egg...
18:41 gfldex m: say so canabis
18:41 camelia rakudo-moar 2f69be: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    canabis used at line 1␤␤»
18:41 gfldex there we go
18:42 * TimToady wonders what '"canabis" used' would mean...fake weed?
18:43 TimToady *nn I suspect
18:43 TimToady anyway, I'm fine with leaving it ambiguous for the entertainment value :)
18:44 [Coke] kalkin-: if it's on the big issue, no need to assign it, thanks.
18:49 mspo TimToady: resurrection jokes in January?
18:57 ggoebel joined #perl6
18:58 jdmmmmm joined #perl6
18:59 pyrimidine joined #perl6
19:01 jdv79 i feel like XML might be able to do better than die "could not parse XML";
19:03 raiph joined #perl6
19:05 xyz__ joined #perl6
19:05 xyz__ :m sub f(Int @a, Int @b) {}; f([1,2,3], [4,5,6])
19:06 xyz__ :rakudo sub f(Int @a, Int @b) {}; f([1,2,3], [4,5,6])
19:06 sena_kun m: sub f(Int @a, Int @b) {}; f([1,2,3], [4,5,6])
19:06 camelia rakudo-moar 2f69be: OUTPUT«Type check failed in binding to @a; expected Positional[Int] but got Array ($[1, 2, 3])␤  in sub f at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
19:06 xyz__ rakudo: sub f(Int @a, Int @b) {}; f([1,2,3], [4,5,6])
19:06 camelia rakudo-moar 2f69be: OUTPUT«Type check failed in binding to @a; expected Positional[Int] but got Array ($[1, 2, 3])␤  in sub f at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
19:06 xyz__ How do I get array parameters to work?
19:07 TimToady leave off the Int, or create your arguments to actually have that type
19:07 TimToady it's not going to intuit that 1,2,3 are all Int for you; we do nominal typing at that level
19:08 CIAvash[m] xyz__: https://docs.perl6.org/languag​e/traps#Typed_Array_parameters
19:11 Cabanossi joined #perl6
19:11 xyz__ I see. However this will get the subroutine "f" difficult to use for the users. A user calling this function would need to create a real Array[Int]. Does that mean if I want the user to be able to write "f([1,2,3],[4,5,6])" my only choice is prototype "f" as "(@a, @b)"?
19:13 TimToady well, you could redefine circumfix:<[ ]> if you don't mind it running tons slower
19:14 TimToady well, I suppose it wouldn't run slower if you simply assumed they're integers, but that's also a bit antisocial
19:15 TimToady I suppose at some point we might allow a declaration of Int() @a to coerce to an integer array, but that would also entail overhead
19:15 gfldex m: sub f(*@a where .all ~~ Int){ say 'ohai!' }; f 1,2,3; f 1,"two",3;
19:15 camelia rakudo-moar 2f69be: OUTPUT«ohai!␤Constraint type check failed for parameter '@a'␤  in sub f at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
19:16 gfldex xyz__: ^^^
19:16 lukaramu joined #perl6
19:16 xyz__ gfldex: My subroutine needs two array parameters.
19:17 TimToady you can do the same in subsigs for each arg
19:17 gfldex m: sub f(@a where .all ~~ Int, @b where .all ~~ Int){ say 'ohai!' }; f [1,2,3], [4,5,6];
19:17 camelia rakudo-moar 2f69be: OUTPUT«ohai!␤»
19:19 xyz__ Would "@a where .all ~~ Int" be slower than "Int @a" at runtime, or in both cases the compiler can check at compiling time?
19:19 gfldex m: subset IntArray of Array where .all ~~ Int; sub f(IntArray \a, IntArray \b){ say "I haz {a} and {b}" }; f [1,2,3], [4,5,6];
19:19 camelia rakudo-moar 2f69be: OUTPUT«I haz 1 2 3 and 4 5 6␤»
19:20 TimToady xyz__: both of those are checked at run time, but the Int will be faster because it's a nominal check
19:21 TimToady but then you must pass in Array[Int] as the nominal type
19:21 TimToady one could write a small type inferencer and poke it into circumfix:<[ ]>, but that would also have to run at run time unless all the args were literals
19:22 xyz__ Is there a general rule on what kinds of type checkings can be done at compile time?
19:22 gfldex you don't have to do the type check in the sig. It can make sense to do it when you iterate over the values so you can short circuit.
19:22 mawkish__ joined #perl6
19:22 gfldex all type checks are run time right now. Type checks on literals may become possible in a possible future.
19:23 TimToady note however, that once you have multiple dispatch, you only have to do the check for the dispatch, not for validation
19:24 gfldex m: my $T = Int; say 42 ~~ $T;
19:24 camelia rakudo-moar 2f69be: OUTPUT«True␤»
19:24 TimToady in some cases the dispatch can even be deduced at compile time
19:24 xyz__ m:  sub f(@a, @b) { say @a[0] ~ @b[0] }; &f.signature
19:24 camelia rakudo-moar 2f69be: ( no output )
19:24 gfldex xyz__: ^^^ you can create type objects at runtime
19:24 xyz__ m: sub f(@a, @b) { say @a[0] ~ @b[0] }; say &f.signature.perl
19:24 camelia rakudo-moar 2f69be: OUTPUT«:(@a, @b)␤»
19:25 gfldex so it would be pretty hard for the compiler to to type checks at compile time
19:25 gfldex After all Perl 6 is a dynamic dynamic language.
19:26 raschipi It isn't possible at compile time, but the optimizer will be able to use this information.
19:26 moritz Perl 6: making the hard possible since 2016
19:27 * El_Che inserts a hardly possible joke
19:27 TimToady Perl 6 uses type information for multiple dispatch and for optimization.  Strong typing for strong typing's sake comes in a distant 3rd.
19:27 xyz__ gfldex: I agree it's super dynamic!
19:27 [Coke] moritz++ # book
19:27 brokenchicken "all type checks are run time right now." I don't think that's true
19:27 [Coke] TimToady: and we aren't doing all the opts we could, eh?
19:28 brokenchicken m: say "hiiiiii"; sub foo(Int) {}; foo 42e0
19:28 camelia rakudo-moar 2f69be: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Calling foo(Num) will never work with declared signature (Int)␤at <tmp>:1␤------> 3say "hiiiiii"; sub foo(Int) {}; 7⏏5foo 42e0␤»
19:28 brokenchicken ^ that's a compile time error
19:28 gfldex Dynamic dynamic also means it is not dynamic at some places.
19:28 TimToady [Coke]: of course we aren't
19:28 moritz [Coke]: thanks
19:28 Geth doc: 2e5d1e3bdb | (Will "Coke" Coleda)++ | 2 files
19:28 Geth doc: move true/false/boolean glossary items to Bool
19:28 Geth doc:
19:28 Geth doc: Part of #728
19:28 Geth doc: review: https://github.com/perl6/doc/commit/2e5d1e3bdb
19:28 TimToady we'd do a lot more compile time opts if some of them weren't better done in a JIT
19:29 TimToady and for some apps we'd like much better AOP optimization where jitting is too heavy or late
19:29 TimToady all in good time
19:30 [Coke] https://github.com/perl6/doc/pull/1131 - anyone aside from AlexDaniel have feedback on whether or not we can drop generation of .pngs for the doc site?
19:30 gfldex A language for the next 100 years is better not rushed. :->
19:30 moritz m: grammar A { token TOP { <.foo('bla')> }; method foo($x) { say $x  } }; A.parse('blerg')
19:30 camelia rakudo-moar 2f69be: OUTPUT«bla␤P6opaque: no such attribute '$!pos' in type Cursor when trying to get a value␤  in regex TOP at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
19:31 moritz how can I access the current cursor position or match or anything relevant in method foo?
19:33 Geth joined #perl6
19:33 gfldex I'm likely wrong but believe to remeber that grammar stuff is deep in nqp-land, hence the lack of introspection.
19:34 TimToady m: grammar A { token TOP { <.foo('bla')> }; method foo($x) { say $x; return self } }; A.parse('blerg')
19:34 camelia rakudo-moar 2f69be: OUTPUT«bla␤»
19:34 [Coke] DrForr: why does Readline depend on panda?
19:34 [Coke] Doesn't seem to require it except insofar as you need panda or zef to install it.
19:35 TimToady m: grammar A { token TOP { <.foo('bla')> }; method foo($x) { say $x; say self.pos; return self } }; A.parse('blerg')
19:35 camelia rakudo-moar 2f69be: OUTPUT«bla␤0␤»
19:35 pmurias joined #perl6
19:39 [Coke] DrForr: https://github.com/drforr/perl6-readline/issues/16
19:40 moritz TimToady: but I can't seem to access .tself.to or self.pos in there
19:41 felher_ joined #perl6
19:41 moritz m: grammar A { token TOP { <.foo('bla')> }; method foo($x) { say self.pos; self  } }; A.parse('blerg')
19:41 camelia rakudo-moar 2f69be: OUTPUT«0␤»
19:41 moritz huh
19:42 moritz m: grammar A { token TOP { . <.foo('bla')> }; method foo($x) { say self.pos; self  } }; A.parse('blerg')
19:42 camelia rakudo-moar 2f69be: OUTPUT«1␤»
19:42 moritz m: grammar A { token TOP { . <.foo('bla')> }; method foo($x) { say self.pos; self.to  } }; A.parse('blerg')
19:42 camelia rakudo-moar 2f69be: OUTPUT«1␤No such method 'to' for invocant of type 'A'␤  in method foo at <tmp> line 1␤  in regex TOP at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
19:43 moritz oh, the error related from $!pos was from trying to return a non-Cursor
19:44 moritz but since I want this for error handling, that's fine (I'll throw an exception anyway)
19:44 brokenchicken [Coke]: +1 on dropping PNGs. Considering they can be made from svgs with a single bash command, I find the "could be useful to some" argument weak. Especially since those pngs aren't even used on the site as far as I can see.
19:45 brokenchicken Ah, I now notice the link to raster at the bottom. Meh. Browser supported SVGs for ages now.
19:46 gfldex how about mobile devices?
19:48 moritz fwiw I originally was in favor of using PNG when embedding SVG into HTML was very unreliable
19:49 ocbtec joined #perl6
19:49 moritz s/embedding/usingi in <img> tags/
19:49 moritz now we can drop it if you want
19:50 brokenchicken moritz: that's already dropped. The question is whether to remove the tiny link under type graphs and the png file it points to
19:50 [Coke] .seen samcv
19:50 yoleaux I saw samcv 12:46Z in #perl6: <samcv> nice
19:50 brokenchicken gfldex: same difference
19:50 samcv hola
19:50 moritz brokenchicken: I understand that; that#s what I'm talking about :-)
19:50 moritz que tal?
19:51 samcv [Coke], you pinged?
19:51 [Coke] samcv: syntax highlighting on doc site borked. guessing update to highlighter code in npm to blame?
19:51 gfldex i don't got a mobile phone. So somebody else has to check. :)
19:51 [Coke] (since I don't see anything obviously wrong in util/ or recently changed in assets/)
19:51 samcv :I saw the discussion. so you can still see the css tags on the page right?
19:51 xyz__ Supposing I'm using a grammar to parse a multi-line string, is there a way to get the number of a match object in the result?
19:51 raschipi It's borked for me.
19:51 samcv let me check. but i think it's probably css not applying
19:52 [Coke] samcv: <span>role</span></span><span>&nbsp;</span><span class="syntax--entity syntax--name syntax--type syntax--class syntax--perl6fe"><span>Canine</span>
19:52 samcv yeah it's tagging the text fine
19:52 [Coke] I don't see those classes anywhere in the generated style sheet.
19:53 samcv oh
19:53 samcv i think.
19:53 samcv i know what is happening
19:53 moritz gfldex: I just checked with Firefox Mobile on Android, the inline SVG displays fine
19:53 brokenchicken Right, why do those classes have "syntax--" tacked on to them?
19:53 [Coke] ah, found an entry here: highlights/atom-language-perl6/styles/styles.less
19:54 moritz even the Android "Internet" browser displays them
19:55 brokenchicken [Coke]: that's not used by doc site though
19:55 brokenchicken This is the highlights file: https://github.com/perl6/doc/blob/m​aster/assets/sass/_highlights.scss
19:55 brokenchicken It ain't got the "syntax--" on classes cause there used to be none
19:57 samcv yeah the version of highlights changed
19:57 samcv they changed shit
19:57 samcv so it's seperated from the rest of Atom's scoping so this happened
19:58 samcv i actually had to do the reverse, after i converted some atom theme to css
19:58 gfldex do they know there is a downstream?
19:58 samcv since it was between api's
19:58 samcv i didn't think they would do it for highlights though, would only do it for atom
19:59 Geth doc: b1d51f1f5b | (Samantha McVey)++ | assets/sass/_highlights.scss
19:59 Geth doc: Maybe fix CSS not applying
19:59 Geth doc: review: https://github.com/perl6/doc/commit/b1d51f1f5b
19:59 samcv i did a search and replace. let's see if this fixes some of them
20:00 samcv ok it went from 1.4.1 to 2.0.1 3 days ago
20:00 labster joined #perl6
20:00 samcv gonna see the whole changelog
20:01 samcv what. their changelog is shit https://github.com/atom/highli​ghts/blob/v2.0.1/CHANGELOG.md
20:01 khw joined #perl6
20:01 bjz joined #perl6
20:02 moritz "stuff changed. Deal with it!"
20:02 samcv how can they just not put that change in the changelog?
20:02 samcv Bug Fixes
20:02 samcv remove iojs and 0.10 as they are no longer supported
20:02 samcv ^ as if
20:02 samcv forgot the incompatibility changes...
20:03 samcv maybe I should yell at them
20:03 gfldex telling them softly that they got downstream may work better
20:03 Actualeyes joined #perl6
20:03 samcv "All notable changes to this project will be documented in this file." # lol
20:04 samcv yeah
20:04 moritz open an issue?
20:04 samcv once we have docs.perl6.org working again i will open an issue
20:05 brokenchicken Adobe takes the cake on changelogs.... "bugfixed and experience improvements". Literally: https://twitter.com/zoffix​/status/794556225866317824
20:05 * lizmat starts with the P6W, any news ?
20:05 pyrimidine joined #perl6
20:05 brokenchicken lizmat: bartolin++ and ugexe++ are core members now (Yeah, you prolly know already :))
20:05 El_Che lizmat: market p6@fosdem
20:09 moritz according to twitter analytics, @perl6org had over 50k impressions over the last 4 weeks
20:09 lizmat moritz: link ?
20:12 moritz lizmat: https://twitter.com/perl6or​g/status/823624262690963456
20:12 lizmat :-)
20:12 lizmat oki
20:12 moritz .oO( we're being meta here )
20:13 Geth doc: 58b702f5e8 | (Moritz Lenz)++ | doc/Type/Cursor.pod6
20:13 Geth doc: Document some Cursor methods
20:13 Geth doc: review: https://github.com/perl6/doc/commit/58b702f5e8
20:15 gfldex hits on my blog went up quite a bit since the beginning of the year and I posted a lot less then I used to.
20:15 gfldex https://gfldex.files.wordpress.com/2017/01/g​fldex-wordpress-com-hits-per-week.png?w=901
20:24 [Coke] ... oh, there's another reason to fix my wordpress install...
20:27 espadrine_ joined #perl6
20:27 dataf3l joined #perl6
20:27 dataf3l hey guys
20:27 krakan joined #perl6
20:28 dataf3l when I try to compile my program on my digital ocean 1GB Ram machine it doesn’t compile and also it doesn’t send any error message at all
20:28 dataf3l this is my version:
20:28 dataf3l This is Rakudo version 2016.10 built on MoarVM version 2016.10
20:28 dataf3l implementing Perl 6.c.
20:28 dataf3l this is my command line:
20:28 dataf3l perl6 --ll-exception --stagestats -I. -Icontroller -Imodel serve3.p6 --port=8080
20:28 dataf3l this is the (sad) result
20:29 dataf3l http://pastebin.com/HY5TPhMM
20:30 pyrimidine joined #perl6
20:30 dataf3l what I don’t understand, is why there is no error message whatsoever, this is very cryptic to me as a user of the system
20:31 gfldex dataf3l: did you check the syslog for OOM killer?
20:31 dataf3l how do I check the syslog for the OOM killer ?
20:31 perlpilot dataf3l: what gfldex said.   It's likely that something external to rakudo/moarvm did the killing
20:32 [Coke] Do we have a recommend amount of memory for building moar?
20:32 [Coke] er, rakudo-m
20:32 DrForr Should be in /var/log/messages - you probably need sudo access.
20:32 mr-foobar joined #perl6
20:32 perlpilot dataf3l: also btw, not that it will necessarily help but, there are newer versions of Rakudo if you're going to build it yourself.
20:32 moritz [Coke]: 1.5GB last I experimented with it; maybe 2GB these days
20:33 dataf3l moritz, is that the minimum system requirement?
20:33 dataf3l I’ll check
20:33 brokenchicken dataf3l: that's to build rakudo; not to run a program
20:35 brokenchicken dataf3l: and that dump suggests to a module you use is not found
20:35 kalkin- Where can I find the code for rakudo-js? I found only very stale code on github
20:35 brokenchicken dataf3l: try without all those extra flags tacked on. And what's -Icontroller? -Imodule? Are those actual paths to module?
20:36 dataf3l joined #perl6
20:36 El_Che dataf3l's irc client ran out of memory :)
20:36 brokenchicken kalkin-: rakudo/rakudo in `js` branch
20:36 brokenchicken dataf3l: and that dump suggests to a module you use is not found
20:36 brokenchicken dataf3l: try without all those extra flags tacked on. And what's -Icontroller? -Imodule? Are those actual paths to module?
20:36 El_Che dataf3l: I built debs/rpms for my cloud machines: https://github.com/nxadm/rak​udo-pkg/releases/tag/2017.01
20:36 dataf3l I already built rakudo
20:36 dataf3l I’m just trying to build a program
20:36 dataf3l these are paths to folders with pm6 files
20:36 El_Che dataf3l: it's rakudo + zef + panda
20:37 [Coke] "build a program?"
20:37 dataf3l run a program
20:37 [Coke] which program?
20:37 dataf3l my program
20:37 dataf3l it serves on port 8080 and does simple postgresql insertion stuff
20:37 dataf3l nothing fancy
20:37 kalkin- Hmm, do I understand it right, that I need moarvm/jvm + nqp + rakudo-js to transpile perl6 to JS?
20:37 moritz kalkin-: I don't think you need JVM
20:38 dataf3l El_Che thanks! that will come in handy in the future for sure!
20:38 kalkin- moritz: well I meant one of the already supported VMs for NQP
20:38 dataf3l however, rigth now it’s not the problem.
20:38 brokenchicken kalkin-: AFAIK no.
20:38 [Coke] dataf3l: I thought you just said it -was- the problem. :)
20:38 brokenchicken kalkin-: you do know JS backend is a baby, right? It managed to compile hello world just a week ago.
20:39 dataf3l no perl6 is already built
20:39 dataf3l it’s just my program
20:39 dataf3l brokenchicken, how do you know from the log it’s a missing module!?
20:40 kalkin- brokenchicken: I'm actually interested in the backend itself. It doesn't matter how mature it is. Just wanted to have a look at it
20:40 [Coke] dataf3l: we can give better (any?) help if you show us the code, the command line you used, etc.
20:40 perlpilot dataf3l: probably all those calls to try-load, need, load_module, etc
20:40 dataf3l I’m going to try to verify if brokenchicken’s suggestion of a missing module first
20:40 dataf3l I’ll be quick
20:41 brokenchicken dataf3l: from the stacktrace.
20:41 brokenchicken backtrace whatver
20:41 El_Che dataf3l: ah ok, your problem is different than building then, but anyway, as you say it may be handy in the future
20:42 dataf3l oh
20:42 brokenchicken dataf3l: but without any code we can be playing the guessing game here for hours.
20:42 dataf3l I tried to tell my boss to let me open source the code
20:42 dataf3l however
20:42 dataf3l they haven’t given me still any response on that one
20:43 dataf3l I don’t want to waste anybody’s time
20:43 dataf3l you guys have been amazing so far
20:44 Geth doc/master: 20 commits pushed by jonathanstowe++
20:44 Geth doc/master: review: https://github.com/perl6/doc/c​ompare/58b702f5e8...22ffd98413
20:44 wamba joined #perl6
20:45 alimon joined #perl6
20:45 brokenchicken ohh
20:45 brokenchicken dataf3l: are you doing this on Windows?
20:47 brokenchicken dataf3l: 'cause 2016.10 release had a precomp bug in it on windows
20:47 TimToady curt__: END should not run in precomp (nor should INIT, only BEGIN/CHECK should run); please rakudobug it
20:47 brokenchicken dataf3l: You could build the 2017.01 compiler release (http://rakudo.org/downloads/rakudo/ ) or at least the 2016.11 star (http://rakudo.org/downloads/star/ )
20:48 dataf3l that makes sense
20:48 dataf3l however I don’t feel it’s quite the problem
20:48 dataf3l I’m finding ways to get more memory
20:48 dataf3l do newer versions (2016.11,2017.1) use less memory ??
20:48 brokenchicken not really
20:49 perlpilot dataf3l: eventually that statement may be true  :)
20:49 lizmat TimToady: what's the rationale for not running END in a precomp ?
20:49 brokenchicken dataf3l: are you certain it's the memory that's the problem?
20:50 perlpilot lizmat: that's not "at runtime" nor as late as possible.  Right?
20:50 brokenchicken dataf3l: try sticking  `no precompilation` at the top of all your modules.
20:51 dataf3l may I know what that does?
20:51 lizmat perlpilot: END blocks are by definition at runtime, no ?
20:51 dataf3l but I like precompilation!, isn’t precomp good??
20:51 brokenchicken dataf3l: it tells the compiler to avoid precompilation of your modules.
20:51 lizmat dataf3l: precomp is good
20:51 perlpilot lizmat: aye.  Maybe I'm mental, but I tend to think of precomp as "before runtime"
20:52 lizmat perlpilot: that's really an optimization
20:52 lizmat I mean, if a module hasn't been precomped already, it will get precomped automatically
20:52 lizmat unless you inhibit that
20:53 brokenchicken dataf3l: well, on your release precompilation is broken. You can like it all you want with a script that doesn't run, I guess.
20:54 leah2 joined #perl6
20:55 dataf3l I’m not certain memory is the problem, to be honest
20:55 dataf3l OK
20:55 dataf3l it works now
20:55 dataf3l I had to kill a few processes though
20:55 dataf3l so it *was* memory
20:55 brokenchicken dataf3l: how much does it need?
20:56 dataf3l so apparently, initialization of a perl program takes a small spike of about 300-400mb of memory
20:56 DrForr Watching top(1) during the process can give you a clue.
20:56 dataf3l this is just to run a small daemon
20:56 dataf3l however, once it runs, it takes less memory
20:57 Tonik joined #perl6
20:57 dataf3l 18558 root      20   0  344568 159312  25928 S  0.0 15.7   0:03.10 moar
20:58 alimon1 joined #perl6
20:58 dataf3l moar takes about 344568 VIRT, 159312 RES, 25928  of Shared memory on ubuntu 64 bits
20:58 dataf3l and it’s not even doing any work yet! :)
20:59 dataf3l anyways guys, thank you so much for the help the OOM suggestion by gfldex was spot on
20:59 cale2 joined #perl6
21:00 cale2 Hey
21:00 [Coke] Ho
21:00 cale2 what would the perl6 version of this website look like? http://www.arewewebyet.org/
21:00 cale2 I'm thinking of translating a golang book about web development to perl6, but I'm not sure if all of the necessary libraries exist yet
21:01 moritz if use of Inline::Perl5 or Inline::Python is allowed, we're web! :-)
21:02 moritz if not, dunno
21:02 [Coke] (docs) we should make sure giant merges pass 'make xtest'
21:02 DrForr cale2: Bailador in native Perl 6, Inline::Perl5 lets you use perl5 web modules.
21:03 moritz http://ugexe.com/hello-web-with-puree-perl-6/ another native option
21:04 tadzik puree <3
21:05 [Coke] (doc) xt/return-type.t complains about 'returns Int', but doesn't actually show the desired usage.
21:05 Geth ecosystem: 0b713702a5 | (David Warring)++ | META.list
21:05 Geth ecosystem: s/META.info/META6.json/
21:05 Geth ecosystem: review: https://github.com/perl6/e​cosystem/commit/0b713702a5
21:06 alimon joined #perl6
21:06 [Coke] DrForr: you see my Readline question?
21:08 DrForr Haven't read my email today, will do that but it's ~bedtime out here.
21:09 Geth doc/master: 4 commits pushed by coke++
21:09 Geth doc/master: 2aa66584ae | use nbsp…
21:09 Geth doc/master: 6735894fdb | remove trailing whitespace…
21:09 Geth doc/master: a6c62d5290 | Note desired state…
21:09 Geth doc/master: 998bc268b5 | update return type declaration…
21:09 Geth doc/master: review: https://github.com/perl6/doc/c​ompare/22ffd98413...998bc268b5
21:10 [Coke] DrForr: short version: readline requires panda but shouldn't.
21:10 sena_kun [Coke]++
21:10 [Coke] sena_kun: for doc stuff? danke
21:11 sena_kun sure. docs need more love nowadays.
21:12 pmurias_ joined #perl6
21:12 DrForr Ah, thanks.
21:14 DrForr Fixed and pushed.
21:14 cale2 moritz: I mean, say you're doing everything without a framework. All of the bare bones tools are there, right?
21:15 cale2 maybe not form processing, idk
21:15 cale2 This is the book I'm thinking about translating: https://github.com/astaxie/build-web-applic​ation-with-golang/blob/master/en/preface.md
21:16 agentzh joined #perl6
21:16 cale2 Well, that book, or this one: https://thewhitetulip.gitbooks.io/weba​pp-with-golang-anti-textbook/content/
21:17 cdg joined #perl6
21:17 TEttinger joined #perl6
21:18 cale2 moritz: That puree blog post talks about Hiker. So what is Puree exactly? lol
21:21 bjz joined #perl6
21:26 grondilu joined #perl6
21:26 grondilu m: my @ = 1, 0;
21:26 camelia rakudo-moar 6dd542: ( no output )
21:26 grondilu m: my @ = 1, |0 xx 2;
21:26 camelia rakudo-moar 6dd542: ( no output )
21:26 grondilu m: my UInt @ = 1, |0 xx 2;
21:26 camelia rakudo-moar 6dd542: OUTPUT«Type check failed in assignment to @; expected UInt but got List ($(0, 0))␤  in block <unit> at <tmp> line 1␤␤»
21:26 grondilu ^looks wrong to me
21:26 grondilu m: my UInt @ = 1, 0, 0;
21:26 camelia rakudo-moar 6dd542: ( no output )
21:27 grondilu m: my UInt @ = flat 1, 0 xx 2;
21:27 camelia rakudo-moar 6dd542: ( no output )
21:29 Geth doc: 00b15d7b21 | (Samantha McVey)++ | htmlify.p6
21:29 Geth doc: Speed up build by 25%, almost totally remove duplicated path errors
21:29 Geth doc: review: https://github.com/perl6/doc/commit/00b15d7b21
21:31 dataf3l_ joined #perl6
21:32 grondilu m: my Int @ = 1, |0 xx 2;
21:32 camelia rakudo-moar 6dd542: OUTPUT«Type check failed in assignment to @; expected Int but got List ($(0, 0))␤  in block <unit> at <tmp> line 1␤␤»
21:33 grondilu m: say my @ = 1, |0 xx 2;
21:33 camelia rakudo-moar 6dd542: OUTPUT«[1 (0 0)]␤»
21:33 grondilu hum
21:33 grondilu m: say .perl given my @ = 1, |0 xx 2;
21:33 camelia rakudo-moar 6dd542: OUTPUT«[1, (0, 0)]␤»
21:34 grondilu m: say .elems given my @ = 1, |0 xx 2;
21:34 camelia rakudo-moar 6dd542: OUTPUT«2␤»
21:35 grondilu I would have bet this used to work.
21:35 [Coke] ugexe: 'zef update' fails locally.
21:35 grondilu m: say .elems given my @ = 1, slip 0 xx 2;
21:35 camelia rakudo-moar 6dd542: OUTPUT«3␤»
21:35 rindolf (Samantha McVey)++ # speed up docs build
21:36 grondilu m: say .elems given my @ = 1, |rand xx 2;
21:36 camelia rakudo-moar 6dd542: OUTPUT«2␤»
21:37 girafe joined #perl6
21:38 grondilu m: say my @ = +!$++ xx 3
21:38 camelia rakudo-moar 6dd542: OUTPUT«[1 0 0]␤»
21:38 rindolf https://github.com/perl6/doc/commit/00b15d7b​21#diff-16f2390767c1219dc1e184afbec86235R965 - can't one limit the seen-temps to the numbers instead of the whole file or am I missing something?
21:38 grondilu lol that's a neat way to do it
21:39 grondilu m: say my @ = +!$++ xx 20
21:39 camelia rakudo-moar 6dd542: OUTPUT«[1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]␤»
21:40 Geth ecosystem: dc9a04b7c0 | (Jonathan Stowe)++ | META.list
21:40 Geth ecosystem: Adopt some orphaned modules
21:40 Geth ecosystem: review: https://github.com/perl6/e​cosystem/commit/dc9a04b7c0
21:40 [Coke] rindolf: doesn't matter because that should be using File::temp
21:40 RabidGravy moritz, there ^
21:41 [Coke] https://github.com/perl6/doc/issues/1062
21:41 RabidGravy they at least somewhat build and install no
21:41 RabidGravy w
21:41 rindolf [Coke]: ah, ok
21:42 Geth doc: 0193f3e4dc | (Samantha McVey)++ | assets/sass/_highlights.scss
21:42 Geth doc: Revert "Maybe fix CSS not applying"
21:42 Geth doc:
21:42 Geth doc: This reverts commit b1d51f1f5bd05abd059ca9727ddcb768c3277d66.
21:42 Geth doc: review: https://github.com/perl6/doc/commit/0193f3e4dc
21:42 Geth doc: 9525968e78 | (Samantha McVey)++ | highlights/package.json
21:42 Geth doc: Make sure we use highlights <2.0, to fix recent changes to highlights
21:42 Geth doc:
21:42 Geth doc: The scopes of all items in CSS changed their scope as of version 2,
21:42 Geth doc: but this was not listed in the changelog on the projects page.
21:42 Geth doc: review: https://github.com/perl6/doc/commit/9525968e78
21:42 samcv Github--
21:45 [Coke] samcv: if that works, please close out https://github.com/perl6/doc/issues/1156
21:45 samcv yea
21:45 [Coke] also, please checkout https://github.com/perl6/doc/issues/1152 if you get a sec.
21:45 samcv want to investigate what to do, because I don't like --syntax everywhere, makes the pages bigger for no reason
21:45 [Coke] Guessing it was an untest change to the non-async path.
21:45 b2gills [Coke]:  `--> Int:D` goes inside of the signature
21:46 samcv yeah
21:46 bjz joined #perl6
21:46 samcv i did $proc ~~ Proc::Async or something right? i forget
21:46 [Coke] b2gills: whoops. we probably need a test for actual code validation to avoid that sort of dumb mistake.
21:47 samcv i'm gonna try running with --no-proc-async
21:47 [Coke] b2gills: so,     method origin(Cursor:D: --> Any) ?
21:48 ugexe [Coke]: I cant reproduce, and the travis build from last night passed. Possibly network issue?
21:48 [Coke] ugexe: Yes, I'm very sure it's not dealing with my network at work properly. :)
21:48 [Coke] missing an http proxy maybe?
21:48 b2gills m:  method c (Cursor:D: --> Any) {}
21:48 camelia rakudo-moar 6dd542: OUTPUT«Potential difficulties:␤    Useless declaration of a has-scoped method in mainline (did you mean 'my method c'?)␤    at <tmp>:1␤    ------> 3method7⏏5 c (Cursor:D: --> Any) {}␤»
21:49 b2gills m: my method c (Cursor:D: --> Any) {}
21:49 camelia rakudo-moar 6dd542: ( no output )
21:49 [Coke] so, yes. ok. fix coming.
21:49 * [Coke] makes sure his proxy really is set. :(
21:50 [Coke] dammit. ugexe++ # zef JFW. :)
21:50 Geth doc: e3ca965b8f | (Will "Coke" Coleda)++ | doc/Type/Cursor.pod6
21:50 Geth doc: fix return signatures (b2gills++)
21:50 Geth doc: review: https://github.com/perl6/doc/commit/e3ca965b8f
21:57 travis-ci joined #perl6
21:57 travis-ci Doc build failed. Samantha McVey 'Maybe fix CSS not applying'
21:57 travis-ci https://travis-ci.org/perl6/doc/builds/194589662 https://github.com/perl6/doc/com​pare/2e5d1e3bdb12...b1d51f1f5bd0
21:57 travis-ci left #perl6
21:58 samcv wow travis is S L O W today
21:59 samcv made that commit 2 hours ago
22:00 RabidGravy it's been like that for days
22:01 geekosaur ^
22:01 SmokeMachine is that expected?
22:01 SmokeMachine m: class C { has IO::Path $a .= new: "."}
22:01 camelia rakudo-moar 6dd542: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol IO::Path␤»
22:02 geekosaur the free travis service is basically commercial travis infra being used for free stuff when it'd otherwise be idle. get enough free software projects doing that, and enough commercial users also using the infra, and yes things will suddenly slow down for us
22:02 SmokeMachine m: my IO::Path $a .= new: "."
22:02 camelia rakudo-moar 6dd542: OUTPUT«Type check failed in binding to mutate; expected Any but got IO::Path (IO::Path)␤  in block <unit> at <tmp> line 1␤␤»
22:02 pyrimidine joined #perl6
22:03 SmokeMachine 2 different errors...
22:04 SmokeMachine m: constant Path = IO::Path; class C { has IO::Path $a .= new: "."}
22:04 camelia rakudo-moar 6dd542: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol IO::Path␤»
22:04 SmokeMachine m: constant Path = IO::Path; class C { has Path $a .= new: "."}
22:04 camelia rakudo-moar 6dd542: ( no output )
22:04 SmokeMachine ?
22:04 [Coke] doesn't help that we're doing a full rakudo build all the time.
22:04 grondilu left #perl6
22:06 RabidGravy right that's me done
22:07 cdg joined #perl6
22:08 brokenchicken Seems recent. I don't get that on 2017.01-1-g0c89292
22:09 brokenchicken bisect: m: my IO::Path $a .= new: "."
22:09 bisectable6 brokenchicken, Bisecting by output (old=2015.12 new=6dd542f) because on both starting points the exit code is 1
22:09 bisectable6 brokenchicken, bisect log: https://gist.github.com/f347​668dcccd90597b3ff36f027a81a4
22:09 bisectable6 brokenchicken, (2016-02-18) https://github.com/rakudo/rakudo/commit/​9983c2c8434ed81c532a5706996f284283b48d0a
22:10 brokenchicken bisect: old=2017.01 new=HEAD my IO::Path $a .= new: "."
22:10 bisectable6 brokenchicken, Cannot find revision “2017.01”
22:10 brokenchicken bisect: old=0c89292 new=HEAD my IO::Path $a .= new: "."
22:10 bisectable6 brokenchicken, On both starting points (old=0c89292 new=6dd542f) the exit code is 1 and the output is identical as well
22:10 bisectable6 brokenchicken, Output on both points: Type check failed in binding to mutate; expected Any but got IO::Path (IO::Path)␤  in block <unit> at /tmp/QxGbRENWzj line 1␤
22:11 brokenchicken Oh
22:11 ugexe isnt that expected?
22:11 ugexe m: my $a = IO::Path.new
22:11 camelia rakudo-moar 6dd542: OUTPUT«IO::Path is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting line 1␤  in method new at src/RESTRICTED.setting line 32␤  in block <unit> at <tmp> line 1␤␤»
22:11 brokenchicken SmokeMachine: both camelia and bisectable run restricted setting in which IO::Path is not the real IO path
22:11 SmokeMachine brokenchicken: but thats happening on my local perl6 too...
22:11 AlexDaniel joined #perl6
22:12 brokenchicken SmokeMachine: "thats" being what?
22:12 ugexe its like `(my $a = IO::Path.new) .= "."`
22:12 SmokeMachine brockenchicken: https://www.irccloud.com/pastebin/Vy0lgzqE/
22:13 brokenchicken ugexe: no, it's like my IO::Path $a = IO::Path.new: "."
22:13 SmokeMachine when I use a constant, like it it works...
22:14 SmokeMachine m: constant Path = IO::Path; class C { has Path $a .= new: "."}
22:14 camelia rakudo-moar 6dd542: ( no output )
22:14 jdmmmmm joined #perl6
22:14 brokenchicken SmokeMachine: there the `=` specifies the default and not a random stick-anything-there part. I don't think it's meant to work.
22:14 brokenchicken The error is LTA tho
22:14 brokenchicken hm
22:14 brokenchicken OK
22:14 SmokeMachine brokenchicken: but why does that work with the constant?
22:15 brokenchicken 'cause I'm wrong.
22:15 SmokeMachine :)
22:16 SmokeMachine m: constant Path = IO::Path; class C { has Path $a .= new: "."}; C.new.a.say
22:16 camelia rakudo-moar 6dd542: OUTPUT«IO::Path is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting line 1␤  in method new at src/RESTRICTED.setting line 32␤  in method  at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
22:16 SmokeMachine ok, it really worked...
22:17 brokenchicken Guess it's a bug.
22:18 SmokeMachine m: class Bla::Bee {} class C { has Bla::Ble $a .= new}
22:18 camelia rakudo-moar 6dd542: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Strange text after block (missing semicolon or comma?)␤at <tmp>:1␤------> 3class Bla::Bee {}7⏏5 class C { has Bla::Ble $a .= new}␤    expecting any of:␤        infix␤        infix stopper␤ …»
22:18 SmokeMachine I think its happening with anything with "more than one name"...
22:18 brokenchicken yeah
22:18 SmokeMachine m: class Bla::Ble {} class C { has Bla::Ble $a .= new}
22:18 camelia rakudo-moar 6dd542: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Strange text after block (missing semicolon or comma?)␤at <tmp>:1␤------> 3class Bla::Ble {}7⏏5 class C { has Bla::Ble $a .= new}␤    expecting any of:␤        infix␤        infix stopper␤ …»
22:19 brokenchicken m: class C { has Supplier::Preserving $a .= new}
22:19 camelia rakudo-moar 6dd542: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol Supplier::Preserving␤»
22:19 brokenchicken m: class C { has Supplier $a .= new}
22:19 camelia rakudo-moar 6dd542: ( no output )
22:20 brokenchicken Ahhhh
22:20 mawkish__ joined #perl6
22:20 brokenchicken I think I see the bug
22:20 SmokeMachine where?
22:20 brokenchicken Here: https://github.com/rakudo/rakudo/bl​ob/nom/src/Perl6/Actions.nqp#L2898
22:21 brokenchicken The $*OFTYPE needs to be split up on `::`
22:22 SmokeMachine the if shouldn't do something similar?
22:23 brokenchicken hm? the if?
22:23 SmokeMachine brokenchicken:
22:23 SmokeMachine brokenchicken: https://github.com/rakudo/rakudo/bl​ob/nom/src/Perl6/Actions.nqp#L2892
22:24 SmokeMachine brokenchicken: I mean: why aren't both doing something similar?
22:24 SmokeMachine one for = and the other for .=
22:24 SmokeMachine brokenchicken: Ill try ro read that better!
22:25 SmokeMachine brokenchicken: nevermind...
22:26 brokenchicken yup, fix worked.
22:26 SmokeMachine :)
22:27 rindolf Hi all! I'm getting a segfault - http://paste.debian.net/910211/
22:28 [Coke] rindolf: what version of rakudo, what version of docs?
22:28 rindolf [Coke]: what is docs?
22:28 [Coke] (what version of modules installed?)
22:29 [Coke] rindolf: ... the repository you're building?
22:29 rindolf [Coke]: ah
22:30 rindolf [Coke]: http://paste.debian.net/910212/
22:30 [Coke] that version is relatively old, and there have been segfault fixes in the last quarter of 2016
22:31 [Coke] please try again with 2017.01
22:31 [Coke] (of rakudo)
22:32 rindolf [Coke]: ok
22:43 brokenchicken SmokeMachine: fix shipped
22:43 SmokeMachine brokenchicken: thanks!
22:43 SmokeMachine m: class Bla::Ble {} class C { has Bla::Ble $a .= new}
22:43 camelia rakudo-moar 6dd542: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Strange text after block (missing semicolon or comma?)␤at <tmp>:1␤------> 3class Bla::Ble {}7⏏5 class C { has Bla::Ble $a .= new}␤    expecting any of:␤        infix␤        infix stopper␤ …»
22:44 SmokeMachine m: class Bla::Ble {}; class C { has Bla::Ble $a .= new}
22:44 camelia rakudo-moar 6dd542: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol Bla::Ble␤»
22:45 brokenchicken *just* shipped :) Bot hasn't updated yet
22:45 brokenchicken huggable: camelia
22:45 huggable brokenchicken, Camelia updates every 20m at 8, 28, and 48 minutes of the hour
22:46 brokenchicken so in 2 minutes or so
22:47 travis-ci joined #perl6
22:47 travis-ci Doc build failed. Jonathan Stowe 'Merge pull request #1154 from antquinonez/master
22:47 travis-ci https://travis-ci.org/perl6/doc/builds/194603246 https://github.com/perl6/doc/com​pare/58b702f5e8f1...22ffd9841336
22:47 travis-ci left #perl6
22:51 brokenchicken m: class Bla::Ble {}; class C { has Bla::Ble $a .= new}
22:51 camelia rakudo-moar 700a07: ( no output )
22:51 brokenchicken m: class Bla::Ble {}; class C { has Bla::Ble $a .= new}.new.a.^name.say
22:51 camelia rakudo-moar 700a07: OUTPUT«No such method 'a' for invocant of type 'C'␤  in block <unit> at <tmp> line 1␤␤»
22:51 lizmat and another Perl 6 Weekly hits the Net: https://p6weekly.wordpress.co​m/2017/01/23/2017-04-welcome/
22:51 brokenchicken m: class Bla::Ble {}; class C { has Bla::Ble $.a .= new}.new.a.^name.say
22:51 camelia rakudo-moar 700a07: OUTPUT«Bla::Ble␤»
22:52 brokenchicken .tell raiph to avoid user confusion, we purposely restrict release announcements to Rakudo Star only.
22:52 yoleaux brokenchicken: I'll pass your message to raiph.
22:53 jameslenz joined #perl6
22:54 raiph thanks for tip brokenchicken++
22:54 yoleaux 01:09Z <TimToady> raiph: Yes, I think of them as "maybe" types, but that's the same thing.
22:54 yoleaux 01:15Z <BenGoldberg> raiph: If an object type has either :D or :U attached to it, then it probably can't be considered an option type. :)
22:54 yoleaux 01:59Z <BenGoldberg> raiph: nvmnd raschipi++ informed me that even types with :D on them can get Nil/Failure in them. :)
22:54 yoleaux 22:52Z <brokenchicken> raiph: to avoid user confusion, we purposely restrict release announcements to Rakudo Star only.
22:55 brokenchicken lizmat++ good weekly. Though you gave yourself too little credit. Across three commits ([78edbbb][b5293c2][c64aeb3]), .permutation because 2x to 24x faster, depending on args
22:56 brokenchicken s/because/became/;
22:56 lizmat ah,  :-)
22:57 lizmat brokenchicken++    # updated
23:00 zakaria joined #perl6
23:01 zakaria hi
23:03 zakaria i am trying to build panda via rakudobrew and i am failing to do it
23:05 cale2 zakaria: I had issues trying to build zef with rakudobrew, but I also have an old version of OSX, so I let it go
23:05 zakaria i am getting this first error message that telling me that pathspec 'nom' did not match any file(s) known to git
23:05 perlawhirl joined #perl6
23:05 zakaria anyone have an idea of how to fix that?
23:06 perlawhirl bisect: two novels and several short stories, and his debut novel 'The
23:06 zakaria cale2: actually i built zef without problem
23:06 bisectable6 perlawhirl, On both starting points (old=2015.12 new=700a077) the exit code is 1 and the output is identical as well
23:06 bisectable6 perlawhirl, https://gist.github.com/be50​e7c73bb6a26a45151529654ad97d
23:06 perlawhirl oops
23:06 perlawhirl bisect: say <one two>.categorize({ ( m:g/<[aeiou]>/ )».Str })
23:06 bisectable6 perlawhirl, Bisecting by output (old=2015.12 new=700a077) because on both starting points the exit code is 0
23:07 bisectable6 perlawhirl, bisect log: https://gist.github.com/0e83​a714dbb7b0f54a6252f5075bb1c7
23:07 bisectable6 perlawhirl, (2016-04-05) https://github.com/rakudo/rakudo/commit/​6a2ff75a61fdd49b55eec8dcb647a6822dac090b
23:07 perlawhirl bisect: say <one two>.classify({ ( m:g/<[aeiou]>/ )».Str })
23:07 bisectable6 perlawhirl, Bisecting by output (old=2015.12 new=700a077) because on both starting points the exit code is 1
23:08 bisectable6 perlawhirl, bisect log: https://gist.github.com/e2bf​a23c63593a9893829502567e1577
23:08 bisectable6 perlawhirl, (2016-05-12) https://github.com/rakudo/rakudo/commit/​33ef5a95459b95bf7256391a053550d4efe221de
23:09 pyrimidine joined #perl6
23:09 perlawhirl bisect: old=2016.01 new=2016.10 <one two>.classify({ ( m:g/<[aeiou]>/ )».Str })
23:09 bisectable6 perlawhirl, Bisecting by output (old=2016.01 new=2016.10) because on both starting points the exit code is 1
23:10 bisectable6 perlawhirl, bisect log: https://gist.github.com/3f66​d84e19be00ff21516000e2f3d108
23:10 bisectable6 perlawhirl, (2016-05-12) https://github.com/rakudo/rakudo/commit/​33ef5a95459b95bf7256391a053550d4efe221de
23:10 perlawhirl msg bisectable6
23:11 perlawhirl bisect: old=2016.01 new=2016.12 say <one two>.classify({ ( m:g/<[aeiou]>/ )».Str })
23:11 bisectable6 perlawhirl, Bisecting by output (old=2016.01 new=2016.12) because on both starting points the exit code is 1
23:13 zakaria Is there any way of installing Task::Star without using zef or panda?
23:14 [Coke] no, those are our installers.
23:15 zakaria Coke: panda failed to build with rakudobrew, zef is stuck on fetching OpenSSL for a wile
23:16 cale2 where can I see docs on the perl6 command line app?
23:16 cale2 like what does perl6 -Ilib mean?
23:18 gfldex cale2: https://docs.perl6.org/programs/00-running
23:19 perlawhirl cale2: This is also a pretty good reference on perl6 one-liners: https://github.com/dnmfarrell/Perl6-One-Liners
23:19 perlawhirl which covers use of some of the cmdline flags with example
23:21 travis-ci joined #perl6
23:21 travis-ci Doc build failed. Will "Coke" Coleda 'update return type declaration'
23:21 travis-ci https://travis-ci.org/perl6/doc/builds/194610877 https://github.com/perl6/doc/com​pare/22ffd9841336...998bc268b58e
23:21 travis-ci left #perl6
23:24 brokenchicken zakaria: you don't need Task::Star. Install just the modules you actually need.
23:30 bisectable6 joined #perl6
23:31 AlexDaniel say <one two>.classify({ ( m:g/<[aeiou]>/ )».Str })
23:31 AlexDaniel 01:07:54 <bisectable6> perlawhirl, Bisecting by output (old=2015.12 new=700a077) because on both starting points the exit code is 1
23:31 AlexDaniel 01:08:03 <bisectable6> perlawhirl, bisect log: https://gist.github.com/e2bf​a23c63593a9893829502567e1577
23:31 AlexDaniel 01:08:04 <bisectable6> perlawhirl, (2016-05-12) https://github.com/rakudo/rakudo/commit/​33ef5a95459b95bf7256391a053550d4efe221de
23:31 AlexDaniel 01:09:25 *** pyrimidine (~pyrimidin@cjfields-imac.igb.illinois.edu) has joined channel #perl6
23:31 AlexDaniel 01:09:50 <perlawhirl> bisect: old=2016.01 new=2016.10 <one two>.classify({ ( m:g/<[aeiou]>/ )».Str })
23:32 AlexDaniel joined #perl6
23:32 AlexDaniel shit
23:33 AlexDaniel 6c: say <one two>.classify({ ( m:g/<[aeiou]>/ )».Str })
23:33 committable6 AlexDaniel, https://gist.github.com/0c20​5f14ed257879127a8bdf0e771f50
23:33 kyan joined #perl6
23:34 perlawhirl AlexDaniel: it works with categorize _now_, but i'm had old code with classify and it's throwing an error
23:34 perlawhirl so expected output is this
23:34 perlawhirl m: say <one two>.categorize({ ( m:g/<[aeiou]>/ )».Str })
23:34 camelia rakudo-moar 700a07: OUTPUT«{e => [one], o => [one two]}␤»
23:35 perlawhirl i'm sure that used to work with .classify, but... as always, willing to admit i'm mistaken. but why would i have old code lying around that used classify
23:37 pyrimidine joined #perl6
23:39 AlexDaniel well we can always check
23:39 AlexDaniel commit: all say <one two>.classify({ ( m:g/<[aeiou]>/ )».Str })
23:39 committable6 AlexDaniel, https://gist.github.com/b8ee​78044f6d63dea84c2f45e9452ddf
23:40 AlexDaniel well, unless it worked before 2014.01… no :P
23:40 perlawhirl hmmm... ok. nvm... changing my code to .categorize()
23:40 zakaria left #perl6
23:42 cpage_ joined #perl6
23:45 * AlexDaniel stares at that “printf” inside .map on https://www.learningperl6.com/2017/0​1/17/bbedit-text-filters-in-perl-6/
23:46 cale2 So I'm getting an error with perl6 -e 'say "Hello World"'
23:47 cale2 did the quotes for one liners change?
23:47 AlexDaniel what's the error?
23:47 cale2 Unable to parse expression in single quotes; couldn't find final "'"
23:48 cale2 It works when I do perl6 -e "say 'Hello World'"
23:48 brokenchicken Are you on Windows?
23:48 cale2 Yes, in command prompt
23:49 brokenchicken Well, there's your problem.
23:49 AlexDaniel e: printf "%04x %s\n", .ord, .uniname for $*IN.comb(/\N/)
23:49 evalable6 AlexDaniel, rakudo-moar 700a077: OUTPUT«2665 BLACK HEART SUIT␤1f98b BUTTERFLY␤0020 SPACE␤a49b YI RADICAL BBUT␤33b2 SQUARE MU S␤208a SU…»
23:49 evalable6 AlexDaniel, Full output: https://gist.github.com/a77f​658bedead8bbc2d09759b459fbf5
23:49 perlawhirl brokenchicken: is Windows the problem... or Command prompt ?
23:49 cale2 brokenchicken: what is the issue exactly?
23:50 brokenchicken You use `"` instead of `'` on Windows
23:50 cale2 what are the " vs ' rules in perl6 then?
23:50 cale2 how will that effect your perl6 one liners?
23:51 cale2 oops https://github.com/WildYorkies/Perl6-One-Liner​s/blob/master/README.md#converting-for-windows I'm dumb
23:53 perlawhirl so it's basically and unfortunate hassle due to the way Windows shell handles quotes
23:53 geekosaur ^
23:53 * TimToady suggests curly quotes inside
23:53 agentzh joined #perl6
23:54 geekosaur well, actually not even windows shell; on Windows, this is pushed down into the program runtime before invocation of main or WinMain
23:55 cale2 Yeah, that explanation in the github is great. talks about using qq// instead

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo