»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:00
_28_ria joined
|
|||
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:01 | |
00:03
cyphase joined
00:10
dugword left
00:16
_28_ria left
00:18
_28_ria joined,
_28_ria left
|
|||
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
00:24
benji is now known as Guest30283
|
|||
Guest30283 | How do I make sure a string follows the format of a url, 'https:// *' or 'http:// *' | 00:24 | |
00:26
AlexDaniel joined
00:32
BenGoldberg joined
|
|||
AlexDaniel | m: say ‘’ ~~ /^ https? ‘://’ / | 00:34 | |
camelia | rakudo-moar e195e5: OUTPUT«「」» | ||
AlexDaniel | m: if '' ~~ /^ https? '://' / { say ‘yeah!’ } | 00:35 | |
camelia | rakudo-moar e195e5: OUTPUT«yeah!» | ||
00:35
Guest30283 left
|
|||
AlexDaniel | you're welcome! | 00:36 | |
too bad adding a space between http and s will give a warning… | |||
Geth | oc: 705cc7de6f | (Samantha McVey)++ | highlights/package.json Add some more info to npm package.json Will suppress some warnings of a missing repository |
00:45 | |
oc: d6a7645a3e | (Samantha McVey)++ | util/compile-sass.sh Make sure we check more than if the sass command just exists before falling back We should fall back if we get an error-code running the program |
|||
00:47
raschipi joined
00:53
lep-delete left
00:55
lep-delete joined
|
|||
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 en.wikipedia.org/wiki/Option_type) | ||
TimToady | 'course the tty has to be set up first with stty, which is non-portable | 01:00 | |
01:00
astj_ joined
|
|||
japhb | TimToady: Oh nice, that's a cleaner version of an idea that was rattling around my head | 01:02 | |
TimToady | then I do @INPUT ~= $s.comb so I can do my own escape recognition | 01:03 | |
and all my other input routines just recognize and pull stuff out of @INPUT | |||
japhb | TimToady: Won't you fall out of that repeat...until before you have the full escape? | ||
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 | |
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 | |||
TimToady | well, my switch is 'when "\e"' and then I get more | ||
japhb | TimToady: Ah, gotcha. | 01:05 | |
TimToady: Do you have this abstracted into a module yet? | |||
TimToady | nope | ||
japhb | No reason for me to do so if you're already 90% there .... | ||
japhb is slowly gearing up to build a terminal widget library, but having to invent mortar before being able to place the bricks | 01:06 | ||
01:08
travis-ci joined
|
|||
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.org/perl6/doc/builds/194334178 github.com/perl6/doc/compare/ffb02...a7645a3e67 | |||
01:08
travis-ci left
|
|||
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. | ||
BenGoldberg | Unless they've got a :D attached. | ||
MasterDuke | TimToady: fyi, i left a robo-message for you in -dev | 01:10 | |
Geth | oc: 93ffee0855 | (Samantha McVey)++ | util/compile-sass.sh Try and fix travis build |
01:11 | |
01:11
kaare_ left
|
|||
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,
aborazmeh left,
aborazmeh joined,
telex left
01:17
telex joined
|
|||
BenGoldberg | m: my $x; dd $x.?y.?z; | 01:23 | |
camelia | rakudo-moar e195e5: OUTPUT«Nil» | ||
BenGoldberg wonders why Nil instead of Mu. | 01:24 | ||
m: my $x = Nil; dd $x; | |||
camelia | rakudo-moar e195e5: OUTPUT«Any $x = Any» | ||
BenGoldberg | m: my $x = Mu; dd $x; | 01:25 | |
camelia | rakudo-moar e195e5: OUTPUT«Mu $x = Mu» | ||
BenGoldberg | m: my $x = Any; dd $x; | ||
camelia | rakudo-moar e195e5: OUTPUT«Any $x = Any» | ||
raschipi | Nil is the absence of a value. | ||
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:26
agentzh left
|
|||
raschipi | An empty slip is also an acceptable value to return and you couldn't tell the method wasn't actually there. | 01:27 | |
It has to return something loopy enough so the programmer can tell for sure what happened. | 01:28 | ||
loony* | |||
TimToady | note that a slip has many more methods defined on it than Nil does | 01:29 | |
raschipi | It would be useful if it returned a Failure telling more about what happened. | 01:31 | |
TimToady | a Failure is supposed to throw whenever you try to use it as a real value | 01:32 | |
because lazy exceptions | |||
but that would be too lazy | |||
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 | ||
raschipi | Returning a Failure would force people to deal with the case that the method isn't there. | ||
If I call an inexisting method, would I get a Failure or an Exception? | 01:34 | ||
Without the '?'. | 01:35 | ||
TimToady | m: say 42.foo.WHAT | ||
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
|
|||
travis-ci | Doc build passed. Samantha McVey 'Try and fix travis build' | 01:36 | |
travis-ci.org/perl6/doc/builds/194337433 github.com/perl6/doc/compare/d6a76...ffee085509 | |||
01:36
travis-ci left
|
|||
TimToady | it throws immediately, it would appear | 01:36 | |
raschipi | BenGoldberg: Does that answer your question? | 01:38 | |
m: say 42.foo.WHAT; CATCH { default { say "gotcha!" } } | 01:41 | ||
camelia | rakudo-moar e195e5: OUTPUT«gotcha!» | ||
01:42
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg,
pisa joined
01:43
mr_ron joined,
BenGoldberg left
01:44
BenGoldberg joined,
mr_ron left,
zacts joined,
dugword joined
|
|||
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 | |
and perl6 --starget=parse example.pl it works | |||
brokenchicken | What's mbc? | 01:51 | |
pisa | MoarVM byte code | ||
brokenchicken | Ah | ||
pisa | the rakudo doc says it can dump some stages of the perl6 programs | 01:52 | |
github.com/rakudo/rakudo/blob/nom/...unning.pod | |||
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:54 | |
01:55
kaare_ joined
|
|||
BenGoldberg hadn't thought of that. | 01:55 | ||
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:56 | |
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
|
|||
raschipi | BenGoldberg: Well, they can't. This is only valid for checks on return types. Asigning it will blow up. | 02:00 | |
BenGoldberg | m: sub foo() --> Int:D { Nil }; dd foo(); | 02:01 | |
camelia | rakudo-moar e195e5: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Missing blockat <tmp>:1------> 3sub foo()7⏏5 --> Int:D { Nil }; dd foo(); expecting any of: new name to be defined» | ||
BenGoldberg | m: sub foo(--> Int:D) { Nil }; dd foo(); | ||
camelia | rakudo-moar e195e5: OUTPUT«Nil» | ||
BenGoldberg | m: sub foo(--> Int:D) { Nil }; my Int:D $bar = 42; | ||
camelia | ( no output ) | ||
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» | ||
BenGoldberg | m: sub foo(--> Int:D) { Nil }; my Int:D $bar = foo(); | ||
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» | ||
AlexDaniel | this new error message is pretty nice by the way | ||
brokenchicken | Nil bypasses return type constraint (and Failure is Nil) | ||
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 foundat <tmp>:1------> 3class Meows is Nil {}; --7⏏5> Int:D { Meows }().WHAT.say expecting any of: prefix» | ||
brokenchicken | m: class Meows is Nil {}; -> --> Int:D { Meows }().WHAT.say | ||
camelia | rakudo-moar e195e5: OUTPUT«Nil» | ||
brokenchicken | m: class Meows is Nil {}; -> --> Int:D { Meows }().^name.say | ||
camelia | rakudo-moar e195e5: OUTPUT«Meows» | ||
BenGoldberg | "cannot be itself" is slightly strange wording ;) | ||
raschipi | You should see what we had before: "type Int:D cannot be Int:D". That was really confusing. | 02:05 | |
AlexDaniel | skids++ | 02:06 | |
(0a1d93253) | |||
raschipi: actually… | |||
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» | ||
AlexDaniel | ah, indeed | ||
c: 0a1d9325~200 sub foo(--> Int:D) { Nil }; my Int:D $bar = foo(); | |||
committable6 | AlexDaniel, ¦«0a1d9325~200»: | ||
raschipi | m: sub foo(--> Int:D) { Nil }; my Int:D $bar is default 42 = foo(); | ||
camelia | rakudo-moar e195e5: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Two terms in a rowat <tmp>:1------> 3Int:D) { Nil }; my Int:D $bar is default7⏏5 42 = foo(); expecting any of: constraint infix infix stopper postfix…» | ||
AlexDaniel | raschipi: “expected Int:D but got Int:D” is not worse than that ↑ | ||
BenGoldberg | I'd have prefered something like "expected value type $t1 cannot assign to container type $t2" | ||
raschipi | Yes, it was even worse than I remebered. | 02:08 | |
Something like: "expected value type Int:D cannot assign to container type Int:D"? | 02:10 | ||
skids | Problem is "container" has a different shade of meaning. | 02:11 | |
raschipi | "expected value type Int:D cannot assign to Int:D", then? | 02:12 | |
skids | Well, it's "type object" usually, but that takes a while to sink in wen first learning the language. | 02:13 | |
02:13
z8 joined
|
|||
skids | And saying it's an "open set" might be to mathy. | 02:14 | |
too | |||
02:15
_28_ria joined,
z8 left,
pisa left
|
|||
TimToady | it's really more of a linguistic idea, just common generic nouns | 02:16 | |
like "man" in "Socrates is a man." | |||
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- left,
kalkin- joined
|
|||
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. | ||
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") | ||
brokenchicken | .oO( but what color is the bikeshed?.... ) |
02:20 | |
raschipi | "Expected instance of type Int:D, but got an undefined object instead." | ||
brokenchicken: Let we have fun. | |||
02:20
rmusial left
02:21
abruanese left
|
|||
brokenchicken | Is Int:D even a type? | 02:21 | |
02:21
Ben_Goldberg joined
02:22
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg,
kaare_ left
02:24
kaare_ joined
|
|||
raschipi | brokenchicken: How can it be defined when Int isn't real? | 02:25 | |
brokenchicken | raschipi: what do you mean? | 02:26 | |
raschipi | brokenchicken: twitter.com/officialjaden/status/3...04?lang=pt | 02:27 | |
02:27
rmusial joined
|
|||
TimToady | m: say Int ~~ Real; # :-) | 02:27 | |
camelia | rakudo-moar e195e5: OUTPUT«True» | ||
brokenchicken | ... | ||
raschipi: fuck you too | 02:28 | ||
TEttinger | it's a meme | ||
02:28
abruanese joined,
yqt left
02:29
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
|
|||
raschipi | brokenchicken: Sorry for offending you, it was meant as a joke. | 02:32 | |
samcv | can someone help me out with this error i'm seeing gist.github.com/13a1b7175588374df2...35f33e23c4 | 02:36 | |
gist.github.com/13a1b7175588374df2...35f33e23c4 | |||
says it's on line 19 | |||
AlexDaniel | дрикр еххох мессаге? :) | 02:38 | |
which error message? :) | |||
AlexDaniel did it again | |||
TimToady | samcv: you gave the same link twice, if the first was meant to be the message | ||
samcv | oops looks like it did paste twice | 02:39 | |
Cannot resolve caller infix:<+>(Mu, Int); none of these signatures match: | |||
02:39
mr-foobar left
|
|||
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 | ||
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» | ||
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 | ||
kalkin- | I thought Foo::Bar is a sub scope of Foo, so it should have access to all stuff in Foo? | ||
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 | ||
raschipi | kalkin-: Doesn't work that way. | 02:42 | |
brokenchicken | m: dd Nil<meows> | 02:43 | |
camelia | rakudo-moar e195e5: OUTPUT«Nil» | ||
kalkin- | m: module Foo { sub f { say "Asd" } class Bar { method new { f() } } }; Foo::Bar.new | 02:44 | |
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 …» | ||
kalkin- | m: module Foo { sub f { say "Asd" }; class Bar { method new { f() } } }; Foo::Bar.new | 02:45 | |
camelia | rakudo-moar e195e5: OUTPUT«Asd» | ||
02:45
ilbot3 left
|
|||
kalkin- | raschipi: but why does the scoping work in the example above? | 02:45 | |
brokenchicken | m: my %h = 0 => 'a' => Nil; dd %h{0}<z> | ||
camelia | rakudo-moar e195e5: OUTPUT«Mu» | ||
brokenchicken | kalkin-: because Bar is inside Foo | 02:46 | |
m: dd (:42a)<foo> | 02:47 | ||
camelia | rakudo-moar e195e5: OUTPUT«Mu» | ||
kalkin- | k, so why did you guys decide in perl6 that if the scopes are spited up in files, it behaves differently? | ||
brokenchicken | samcv: ^ cause of issue | ||
samcv | reading | ||
kalkin- | there must be some logic behind this which I don't understand yet | ||
02:47
ilbot3 joined
|
|||
samcv | ok thanks brokenchicken | 02:49 | |
brokenchicken | wonder if Nil or Any is a better choice there | ||
m: my %h; dd %h<blah> | |||
camelia | rakudo-moar e195e5: OUTPUT«Any %h = Any» | ||
TimToady | kalkin-: that looks buggy to me; Bar shouldn't be findable inside Foo | 02:50 | |
oh, wait, I misread | 02:51 | ||
class Bar is inside of Foo | 02:52 | ||
kalkin- | TimToady: yes | ||
TimToady | but brokenchicken++ said that already; should learn to read | ||
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. | ||
kalkin- | i see | 02:55 | |
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:56 | ||
samcv | i'm not sure why this isn't working though gist.github.com/6493f4a0c49fc7515b...2444708e92 | 02:57 | |
i moved the code all into file scope and used my. doesn't work using our either | |||
Unexpected named argument 'exists' passed | |||
i haven't had this issue before with nonhashes and such | 02:58 | ||
brokenchicken | kalkin-: why do you need a simple way for that? | ||
samcv: precedence, you're passing :exists to ! | 02:59 | ||
m: my %h; say !$h<foo>:exists | |||
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» | ||
brokenchicken | m: my %h; say !%h<foo>:exists | ||
camelia | rakudo-moar e195e5: OUTPUT«Unexpected named argument 'exists' passed in block <unit> at <tmp> line 1» | ||
brokenchicken | m: my %h; say !(%h<foo>:exists) | ||
camelia | rakudo-moar e195e5: OUTPUT«True» | ||
samcv | ah ok | ||
brokenchicken | m: my %h; say %h<foo>:!exists | ||
camelia | rakudo-moar e195e5: OUTPUT«True» | ||
brokenchicken | m: my %h; say %h<foo>:exists.not | ||
camelia | rakudo-moar e195e5: OUTPUT«True» | ||
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 | |
03:00
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
|
|||
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:01 | |
03:02
labster left
|
|||
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 | |
kalkin-: and I gess Foo::Bar in a separate file just affects the namespace stuff but not scoping | |||
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 | |
03:05
cyphase left
|
|||
kalkin- | It's two different concepts which are intermixed and hard to keep apart, when learning | 03:05 | |
brokenchicken | kalkin-: same as how you can access Foo::some-routine() | 03:06 | |
kalkin-: without importing it (and pollutting the nasmespace into which you'd export it) | |||
And you won't be able to access it if you stick a `my` before it | |||
03:06
aborazmeh left
|
|||
brokenchicken | m: module Foo { sub f { say "Asd" }; my class Bar { method new { } } }; Foo::.keys.say | 03:07 | |
camelia | rakudo-moar e195e5: OUTPUT«()» | ||
brokenchicken | m: module Foo { sub f { say "Asd" }; my class Bar { method new { } } }; Foo::Bar | ||
camelia | rakudo-moar e195e5: OUTPUT«Could not find symbol '&Bar' in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
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. | ||
BenGoldberg | m: module Foo { sub Bar { say 42 } }; my class Foo::Bar { }; dd Foo::Bar | 03:08 | |
camelia | rakudo-moar e195e5: OUTPUT«Foo::Bar» | ||
BenGoldberg | m: module Foo { sub Bar { say 42 } }; my class Foo::Bar { }; dd Foo::Bar() | ||
camelia | rakudo-moar e195e5: OUTPUT«Foo::Bar(Any)» | ||
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 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
brokenchicken | m: module Foo { our sub Bar { say 42 } }; my class Bar { }; dd Foo::Bar | ||
camelia | rakudo-moar e195e5: OUTPUT«42Bool::True» | ||
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
|
|||
brokenchicken | kalkin-: scopes are governed by files and blocks; not by naming. That I guess is the crux of any confusion here. | 03:11 | |
BenGoldberg: Foo::Bar() is a coercer, innit? | |||
kalkin- | brokenchicken: ohh that's a very good summary! | ||
it makes it easier to remember | 03:12 | ||
brokenchicken | BenGoldberg: oh | ||
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
|
|||
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)» | ||
brokenchicken | hehe | ||
m: module Foo { our sub Bar { say 42 } }; my class Foo::Bar { }; dd &Foo::Bar() | 03:14 | ||
camelia | rakudo-moar e195e5: OUTPUT«42Bool::True» | ||
brokenchicken | m: module Foo { our sub Bar { say 42 } }; sub Foo::Bar { say "meow" }; &Foo::Bar() | ||
camelia | rakudo-moar e195e5: OUTPUT«42» | ||
brokenchicken | m: module Foo { our sub Bar { say 42 } }; sub Foo::Bar { say "meow" }; Foo::Bar() | ||
camelia | rakudo-moar e195e5: OUTPUT«42» | ||
brokenchicken | m: module Foo { our sub Baz { say 42 } }; sub Foo::Bar { say "meow" }; Foo::Bar() | ||
camelia | rakudo-moar e195e5: OUTPUT«Could not find symbol '&Bar' in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
brokenchicken | hmm, mkay | 03:15 | |
BenGoldberg | m: dd sub Foo::Bar { }; | ||
camelia | rakudo-moar e195e5: OUTPUT«Sub Foo::Bar = sub Foo::Bar () { #`(Sub|47526504) ... }» | ||
BenGoldberg | m: dd sub Foo::Bar { 42 }; dd Foo::Bar(); | ||
camelia | rakudo-moar e195e5: OUTPUT«Sub Foo::Bar = sub Foo::Bar () { #`(Sub|63320808) ... }Could not find symbol '&Bar' in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
BenGoldberg | m: dd sub Foo::Bar { 42 }; dd &Foo::Bar(); | ||
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» | ||
BenGoldberg headscratches. | 03:16 | ||
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
|
|||
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» | ||
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:19 | |
raschipi | BenGoldberg: We even have the MOP to do it. | 03:20 | |
Perl6 doesn't enforce hygiene. | 03:22 | ||
BenGoldberg | m: sub Foo::Bar { 42 }; say Foo::Bar(); | ||
camelia | rakudo-moar e195e5: OUTPUT«Could not find symbol '&Bar' in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
BenGoldberg | So it that ^ a bug? | ||
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 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
brokenchicken | There's a ticket on the topic: rt.perl.org/Ticket/Display.html?id...et-history | ||
BenGoldberg | brokenchicken++ | 03:28 | |
I was about to file a rakudobug :) | |||
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:29 | |
03:30
kyan left
|
|||
raschipi | japhb: Use a semaphore. | 03:31 | |
japhb | raschipi: I'm not sure that works for my use case. Can you expand on that suggestion a bit? | 03:32 | |
raschipi | Have a shared variable and check it's value before suppling something. When you don't want more things, change the value. | 03:35 | |
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)) | ||
raschipi: Yeah, that's roughly what I thought you meant. | |||
03:35
labster joined
|
|||
raschipi | Put both in a class and pass the class around. | 03:35 | |
03:35
hartenfels left
|
|||
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 | |
Hmmm, that might work a little better. | |||
raschipi | It's not builtin, no. | ||
03:36
bhm left
|
|||
japhb | dang, I was hoping I was just missing something obvious. | 03:36 | |
03:36
bhm joined
|
|||
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:42
abruanese left
03:43
rmusial left,
cale2 joined,
dugword left
03:48
noganex_ joined
03:49
rmusial joined
|
|||
raschipi | night people | 03:50 | |
03:50
raschipi left
03:52
noganex left
03:55
rmusial left
03:58
dugword joined
04:00
abruanese joined
04:05
abruanese left
|
|||
ingy | can panda install from a module repo clone dir? | 04:09 | |
geekosaur | I think it's panda install /path/to/dir ? | 04:10 | |
ingy | I'll try it | ||
geekosaur: worked perfectly. cheers! | 04:12 | ||
fwiw I did: cd /path/to/module; panda install --prefix=... . | 04:13 | ||
04:18
cale2 left
|
|||
AlexDaniel | m: say “\c[male facepalming]” | 04:24 | |
camelia | rakudo-moar 9728c4: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unrecognized character name male facepalmingat <tmp>:1------> 3say “\c[male facepalming7⏏5]”» | ||
AlexDaniel | what was it… | ||
m: say “\c[man facepalming]” | 04:25 | ||
camelia | rakudo-moar 9728c4: OUTPUT«🤦♂️» | ||
TimToady | now that we have lowercase char names, we could probably use at least a colon after "character name" | 04:26 | |
samcv | use a colon? | 04:30 | |
TimToady | in the error message | ||
04:30
BenGoldberg left
|
|||
samcv | ah | 04:30 | |
TimToady | it's LTA | ||
samcv | where did you want a colon? | 04:31 | |
oh, unrecognized character name: male facepalming | |||
^ like that? | |||
TimToady | yup | ||
samcv | we could use a comma. since commas denote different characters already | 04:32 | |
and can't exist in the names. (i need to strip commas from the unicode emoji names fyi) | |||
those cannot be accessed because of that | |||
04:32
BenGoldberg joined
|
|||
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 | ||
samcv | true | 04:34 | |
but we can be sure commas will never appear in a name | |||
since there are colons that are in names | |||
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… | ||
samcv | m: say "\c[abc, xyz]" | ||
camelia | rakudo-moar 9728c4: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unrecognized character name abcat <tmp>:1------> 3say "\c[abc7⏏5, xyz]"» | ||
samcv | yeah quotes would be fine | ||
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]” | ||
camelia | rakudo-moar 9728c4: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unrecognized character name family: manat <tmp>:1------> 3say “\c[family: man7⏏5, boy]”» | ||
samcv | yeah i need to fix that to have no comma :\ | ||
AlexDaniel | “Unrecognized character name: family: man” would be crazy | 04:37 | |
samcv | hahaha | ||
AlexDaniel | oh, it would be “Unrecognized character name: family: man, boy” | ||
TimToady | Unrecognized character name: "family: man" would be okay | ||
or use square brackets even | 04:38 | ||
Unrecognized character name: [family: man, boy] | |||
since people are used to seeing squares anyway after \c | |||
samcv | could do squares I guess hmm | 04:41 | |
though if somebody does \c[BOY, MAN] | |||
m: "\c[BOYMAN]" | |||
camelia | rakudo-moar 9728c4: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unrecognized character name BOYMANat <tmp>:1------> 3"\c[BOYMAN7⏏5]"» | ||
samcv | m: "\c[BOYMAN, MANBOY]" | ||
camelia | rakudo-moar 9728c4: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unrecognized character name BOYMANat <tmp>:1------> 3"\c[BOYMAN7⏏5, MANBOY]"» | ||
04:44
khw left,
agentzh joined
04:48
agentzh left
04:49
rmusial joined
04:53
Mer joined,
Mer left
05:00
rmusial left
05:02
wamba joined
|
|||
brokenchicken | ah, dammit... still stopping to receive updates even with those ssh opts :( | 05:03 | |
samcv | does this look fine to people a.uguu.se/zz7huLeRoR8l.png | 05:04 | |
05:06
rmusial joined
|
|||
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 | ||
japhb: what is it? | |||
geekosaur | command line should override though | ||
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 | ||
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 | ||
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:12 | |
(With the ability to stop the input loop, which was the key thing I needed.) | 05:13 | ||
AlexDaniel | samcv: side-by-side comparison with quotes? | 05:14 | |
05:15
rmusial left,
jdmmmmm left
|
|||
samcv | here's with quotes a.uguu.se/CeMBkSrPlG1u.png | 05:16 | |
05:18
Actualeyes left
|
|||
AlexDaniel | 🤷 | 05:19 | |
to me [] feel a bit unnatural | 05:20 | ||
who cares though, let's try [] | 05:21 | ||
samcv | AlexDaniel, it has been done | 05:26 | |
05:30
CIAvash joined
05:33
rmusial joined
05:38
Actualeyes joined
|
|||
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:46 | |
05:47
skids left
|
|||
TimToady | it might be superstitious | 05:49 | |
or a holdover from when I had a larger number in the read | 05:51 | ||
japhb | Yeah, seems likely | 05:52 | |
06:13
wamba left
06:19
wamba joined
06:21
dugword left
06:26
BenGoldberg left
06:28
wamba left
|
|||
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
|
|||
ingy waves | 06:42 | ||
06:42
bjz left
06:43
bjz joined
06:50
labster left,
labster joined,
labster left
|
|||
ingy | how come I can't mv a p6 install directory? | 06:50 | |
Is that to make p6 be consistent with p5 annoyances? ;) | 06:51 | ||
06:52
RabidGravy joined
|
|||
ingy channels TheGoodTrollOfTheWest™ | 06:53 | ||
06:54
bjz left
06:55
telex left
06:56
telex joined
06:58
domidumont joined
07:06
curt__ joined
07:07
bjz joined
07:09
curt_ left
|
|||
ingy | the good troll sleeps & | 07:11 | |
07:15
domidumont left
07:17
pecastro left
07:19
cibs left
07:20
wamba joined
07:21
cibs joined
07:23
parv joined
|
|||
AlexDaniel | ingy: it is not movable indeed | 07:28 | |
ingy: I think timotimo had some progress with this issue | |||
07:29
xtreak left
07:32
xtreak joined
07:39
darutoko joined
07:40
aindilis joined
07:56
Woodi joined
08:01
salva joined
08:03
bob777 joined
08:04
bob777 left
|
|||
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. | ||
timotimo | i ran into the same brick wall someone else recently ran into before me | 08:12 | |
AlexDaniel | timotimo: which is? | 08:16 | |
timotimo | hm, was it loading the core setting or something? that violently exploded? | 08:17 | |
08:18
z8 joined
08:19
domidumont joined,
zakharyas joined,
rindolf joined
08:21
abraxxa joined,
dugword joined
08:23
domidumont left
08:24
domidumont joined
08:25
Guest35314 left,
mr-foobar joined,
z8 left,
xtreak left,
z8 joined,
dugword left
08:26
xtreak joined
08:33
dogbert17 left,
giraffe joined
08:34
giraffe is now known as Guest54596,
domidumont left
08:37
koki joined,
koki left
08:38
z8 left
08:39
koki joined
08:40
mr-foobar left
08:45
koki left,
koki joined,
Actualeyes left
08:46
koki left,
koki joined
08:47
koki1 joined,
koki1 left
08:48
Actualeyes joined
08:51
koki left,
koki joined
|
|||
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…» | ||
AlexDaniel | m: grammar A { token TOP { <so1> }; token so1 { foo } }; say A.parse('foo') | ||
camelia | rakudo-moar 582260: OUTPUT«「foo」 so1 => 「foo」» | ||
08:58
ChoHag joined,
raiph left,
raiph joined
09:01
jonas1 joined
09:02
rumble joined,
grumble left,
rumble is now known as grumble
09:03
parv left
09:04
bjz_ joined
|
|||
timotimo | it's just calling the so method that everything has? | 09:06 | |
m: grammar A {}; say A.so | |||
camelia | rakudo-moar 582260: OUTPUT«False» | ||
09:06
bjz left
|
|||
timotimo | 0: | 09:08 | |
b. | 09:09 | ||
sk7bhk7g8 | |||
sk | 09:10 | ||
– | |||
Dβ | |||
apologies, l | |||
apologies, cleaning the keyboard | |||
09:14
espadrine_ joined
09:16
mr-foobar joined
09:23
dakkar joined
|
|||
moritz uses his screen lock when cleaning keyboard :-) | 09:23 | ||
09:23
araujo left
|
|||
moritz | if I accidentally type my password while cleaning, I know it's too weak :-) | 09:23 | |
AlexDaniel | help! | 09:28 | |
mch: class C { method defined { True } }; say ?C | |||
committable6 | AlexDaniel, ¦«2015.12»: True¦«HEAD»: False | ||
AlexDaniel | is it supposed to work? | ||
bisect: class C { method defined { True } }; say ?C | |||
bisectable6 | AlexDaniel, Bisecting by output (old=2015.12 new=5822605) because on both starting points the exit code is 0 | ||
AlexDaniel, bisect log: gist.github.com/c0e3dbde17a7e23a65...fc871fb99d | |||
AlexDaniel, (2016-03-18) github.com/rakudo/rakudo/commit/24...8bc884d682 | |||
AlexDaniel | ok, looking at this commit message I'd say “yes”, but still unsure | 09:29 | |
wait, but that's a type object | 09:30 | ||
that doesn't matter | 09:31 | ||
ok | |||
timotimo | good point, moritz | 09:32 | |
but it was kind of an emergency cleaning thing :) | |||
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,
araujo left,
araujo joined
|
|||
moritz | juicehose :-) | 09:37 | |
timotimo | yup | 09:43 | |
09:45
xtreak left
09:52
azawawi joined
|
|||
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) | ||
azawawi | just found a windows build error for rakudo | ||
samcv | optimizing some things | ||
azawawi | ci.appveyor.com/project/azawawi/pe...2egle#L148 | ||
c:\users\appveyor\rakudobrew\moar-nom\nqp\moarvm\src\core/frame.h(196) : error C2375: 'MVM_frame_destroy' : redefinition; different linkage | 09:53 | ||
09:53
shun_ joined
|
|||
committable6 | azawawi, ¦«\users\appveyor\rakudobrew\moar-nom\nqp\moarvm\src\core/frame.h(196)»: Cannot find this revision (did you mean “2016.08.1”?) | 09:53 | |
09:53
shun_ left
|
|||
azawawi | maybe related to it github.com/MoarVM/MoarVM/commit/39...efb3abdebb ? | 09:54 | |
samcv | this was using .match, not testing the nqp op change in speed | ||
AlexDaniel | haha committable6 | 09:56 | |
samcv++ | |||
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 1Actually thrown at: in block <unit> at /tmp/VkHqITB_8M line 1 «exit code = 1» | ||
AlexDaniel | ↑ pfft, .chrs was doing » in 2015.12 | ||
10:00
tam_ joined,
tam_ left
|
|||
samcv | hmm only seems to make long haystacks faster | 10:02 | |
really short ones it does slow down | |||
by about the same much as the other speedup | |||
10:03
azawawi left
|
|||
samcv | though i've seen this: www.codeproject.com/Articles/25056...x4167485xx | 10:04 | |
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 | ||
let me find a place where you can actually get the zip files | |||
oh I can login with my github accuont on this site at least | 10:06 | ||
shows 4-6x faster than GCC memmem which is about as fast as ours is atm | 10:08 | ||
10:09
ChoHag left,
xtreak joined
10:11
bjz_ left,
bjz joined
10:23
araujo left
10:25
bjz left
10:34
bjz joined
|
|||
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 | ||
lizmat: I'll pass your message to AlexDaniel. | |||
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. | ||
AlexDaniel | . | ||
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:35Z <lizmat> AlexDaniel: so I'd rather not change that unless jnthn TimToady think it should be changed | |||
10:35
ChoHag joined
10:40
luiz_lha joined,
xtreak left,
espadrine_ left
10:43
xtreak joined
10:45
abraxxa left
10:46
xtreak left,
abraxxa joined
10:48
xtreak joined
10:52
raschipi joined,
wamba left
10:54
abraxxa left
10:55
abraxxa joined
10:56
astj_ left
10:58
astj joined
|
|||
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
Actualeyes left
|
|||
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» | ||
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! | ||
or else your own trait mod will be called for anything and everything | |||
also, must me "multi sub" | |||
kalkin- | timotimo: Thanks! | 11:11 | |
11:11
TEttinger left
|
|||
kalkin- | I tried before with ! | 11:11 | |
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
xtreak left
|
|||
timotimo | we could probably output other named parameters that get passed i guess? | 11:12 | |
or the whole call capture? (with only types instead of values) | |||
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:13 | |
timotimo | hm. how about this | 11:14 | |
we look in outer scopes if there's a multi defined with the same name | |||
kalkin- | ^ doesn't imply how I fix the error | 11:19 | |
*how I can fix the error (lost a verb) | 11:21 | ||
timotimo | right | 11:22 | |
the important step was missing | |||
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 | |||
then we can say almost for sure that putting a multi there would fix things | |||
kalkin- | yeah I think this could fit | 11:24 | |
arnsholt | For generating the error, I hope | 11:29 | |
timotimo | of course | ||
arnsholt | 'Cause that'd cause spurious warnings in the case where you *do* want to shadow a symbol in an outer scope | ||
Good, good | |||
Just had to make sure =) | |||
timotimo | of course | ||
though you can put "only" in front for those cases :) | |||
arnsholt | Troo, troo | 11:30 | |
timotimo | but still | 11:31 | |
we definitely want to teach perl6-fixit (or what it's called) to understand that error message ;) | |||
samcv | ok. i just made it 10x faster | 11:33 | |
\\o// | |||
timotimo | oh yeah!! | 11:34 | |
samcv | running nqp::index. may make other things a bunch faster too, need to check those as well | ||
for ah uh | |||
the needle is only 5 characters | |||
have not tested for large needles but it's going to be crazy | |||
11:35
ChoHag left
|
|||
DrForr | Hrm, looks like I need to revitalize my local perl6-Just-F-ing-Fix-It :) | 11:35 | |
timotimo | yeah, what's the proper name of that tool again, DrForr? | 11:36 | |
DrForr | Uh, just that, I haven't uploaded it to github :) | 11:37 | |
arnsholt | samcv: Sounds promising! | 11:38 | |
What did you implement? | |||
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:39 | |
what does .match usually use to search for things? index? | 11:41 | ||
moritz | regexes, iirc | 11:44 | |
11:44
azawawi joined
|
|||
azawawi | hi | 11:44 | |
samcv | andrewalker, in index | ||
azawawi | any reason ^add_method is not ^add-method? | ||
samcv | the moarvm op that's behind nqp::index | ||
lizmat | azawawi: because :-) | 11:45 | |
11:45
sena_kun joined
|
|||
samcv | lizmat, in perl 6, what does like .match use? | 11:45 | |
i have a 10x speedup in nqp::index but not seeing much gains in perl 6 lang with using .match | |||
azawawi | lizmat: ? :) | ||
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 github.com/azawawi/perl6-odoo-clie...t.pm6#L128 :) | ||
lizmat | samcv: not understanding your question precisely | ||
timotimo | samcv: did you also optimize rindex? | ||
samcv | no I didn't | ||
does match use more of rindex? | |||
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? :) | ||
timotimo | - QAST::Regex(:rxtype(scan) :subtype()) | ||
- hello world | |||
^- this is what it looks like if the optimizer has figured out there's a literal we can scan for | 11:48 | ||
in --target=optimize | |||
lizmat | azawawi: my understanding is that jnthn is mildly against it | ||
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 | ||
samcv | i still am not sure what the answer is. so it isn't using nqp::index very much? | 11:49 | |
timotimo | yeah | ||
but i was wrong about one thing | 11:50 | ||
samcv | what is it doing? | ||
or can we use index more? | |||
timotimo | scan + literal turns into index, not into rindex | ||
samcv | also note that needle's have to be >=2 chars to get an improvement | ||
timotimo | the regex optimizer is not very good yet. not at all. | ||
azawawi | lizmat: fair enough. Thanks for the explanation :) | ||
samcv | so is it still doing a lot of rindex? | ||
timotimo | no, the only optimization we have uses index, not rindex | 11:51 | |
samcv | can you make me a regex which _will_ use index? | 11:52 | |
i'd like to be able to check some measurable improvement on the perl 6 side | |||
azawawi | lizmat: but is it meant for public consumption? since I did not see any example on docs.perl6.org/routine/add_method | ||
timotimo | /foobar/ should use index | 11:53 | |
samcv | timotimo, so i want to do perl6 --target=optimize? and check for index? | ||
timotimo | what regexes were you testing? | ||
no, it will not show "index" | |||
lizmat | azawawi: good question: I think it's fair to say that any change there will break a lot | ||
timotimo | you want to look for nodes with rxtype(scan) that contain a string directly as their first child | ||
lizmat | azawawi: don't we have some documentation about the MOP ? | ||
azawawi | lizmat: aha docs.perl6.org/type/Metamodel$COLO...dContainer . My bad | 11:54 | |
samcv | oh hey | ||
9x faster | 11:55 | ||
awesome!!!! | |||
timotimo | neato | ||
samcv | huggable, release | ||
huggable | samcv, nothing found | ||
timotimo | NeuralAnomaly: status | ||
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 perl6.fail/release/stats for details | ||
samcv | uhm what other tests should i do, like needle lengths | ||
timotimo | tests, as in, stuff to measure how well your code does? | 11:56 | |
samcv | yes | ||
11:57
azawawi left
|
|||
timotimo | good question | 11:57 | |
samcv | i have only tested on one document and one needle which is only 5 chars long | ||
my $var = slurp "BidiCharacterTest.txt"; my $t1 = now; for ^100 { $var.match(/'# EOF'/) }; say now - $t1; | |||
fyi it will search for the letter F and find plenty of those | |||
in this file, 7.6MB big | 11:58 | ||
12:00
zakharyas left
|
|||
timotimo | mhm | 12:02 | |
you also generate a proper skip table? | |||
samcv | no | 12:03 | |
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? | ||
i.e. won't you miss needles in the middle sometimes? | 12:05 | ||
12:05
mxco86 joined
|
|||
samcv | oh yeah. that is true. and NYI | 12:05 | |
timotimo | ok, if it's only NYI that's fine | 12:06 | |
samcv | somehow it seems to find them all though | 12:07 | |
well. probably not ALL | |||
but most of them | |||
timotimo | but depending on the needle and the haystack you may not get any performance improvement at all | ||
12:10
domidumont joined
12:15
ggoebel left
|
|||
lizmat | samcv: maybe the implementation of Str.split(@needles) can be an inspiration ? | 12:19 | |
arnsholt | samcv++ # String improvement of all kinds! | 12:24 | |
*s | |||
12:26
domidumont left
12:27
domidumont joined
12:40
raschipi left
|
|||
samcv | hmm i could always make searching for a set of repeated characters faster for now? | 12:41 | |
idk how much the time to check it would be | |||
could only trigger for long haystacks or something | 12:42 | ||
DrForr | Oh, cool, I just segfaulted perl6. (It's not up-to-date though.) | 12:44 | |
Been a while. | 12:46 | ||
lizmat | 💭 up-to-date perl6 has new, improved segfaults 💭 | ||
DrForr | I'll rebuild and see what happens. | ||
lizmat | .u 💭 | ||
yoleaux | U+1F4AD THOUGHT BALLOON [So] (💭) | ||
samcv | nice | ||
12:48
fugue_ joined
|
|||
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:50 | |
lizmat | feels like a firewall issue | 12:51 | |
AlexDaniel | fyi, zef is preferred over panda | ||
El_Che | AlexDaniel: is it? | ||
AlexDaniel | I think so | ||
DrForr | Segfault goes away after rebuilt, whew. | 12:52 | |
*rebuild | 12:55 | ||
El_Che | AlexDaniel: if so, it should be clarified. Pretty confusing to newbies, imho. For the record, I like both projects | 12:56 | |
AlexDaniel | El_Che: it already is: github.com/perl6/doc/commit/4a2ebf...90210232c2 | 12:58 | |
12:59
fugue_ left
|
|||
AlexDaniel | this thread has some justification | 13:00 | |
www.reddit.com/r/perl6/comments/55babx | |||
El_Che | AlexDaniel: I'll have a look later. Thx for the links! | 13:02 | |
13:09
ggoebel joined
13:12
domidumont left,
domidumont joined
13:21
AlexDaniel left
13:22
zakharyas joined,
dugword joined
13:27
dugword left
13:40
bjz left
|
|||
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:52 | |
something like a singleton but survives to different module loads... | 13:53 | ||
moritz | if you use an outer lexical as the state var for the singleton, does that not work? | 13:57 | |
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 .... | ||
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. | |||
06:33Z <japhb> jnthn: I've found a workaround for now. | |||
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. | ||
jdv79 | HTML::Entity is broken. is there an alternative? | 14:07 | |
or does anyone get what's broken about it? | |||
Geth | oc: Altai-man++ created pull request #1155: Two minor fixes |
14:16 | |
14:22
charsbar joined
14:30
nicq20 joined
14:31
eliasr joined
|
|||
nicq20 | Hello \o | 14:31 | |
So, what is an IO::ArgFiles? | |||
sena_kun | >For windows compatibility, .p6 is the preferred extension for cross-platform scripts. | 14:33 | |
[Coke] drinks YA coffee. | 14:34 | ||
sena_kun | What exactly does it mean? | ||
arnsholt | Coffee with homeopathic quantities of coffee, possibly? =) | 14:35 | |
mst | yet another coffee, I would presume | ||
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
|
|||
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? | ||
Geth | oc: 2d68aa0a20 | Altai-man++ | template/search_template.js Limit search results to 50 |
14:39 | |
oc: 9f8c5f619b | Altai-man++ | doc/Language/modules.pod6 Make META6.json searchable |
|||
oc: 841ac539e4 | Altai-man++ | 2 files Merge pull request #1155 from Altai-man/master Two minor fixes |
|||
rindolf | jdv79: hi, how are you? | 14:45 | |
[Coke] is just cog in great $dayjob machine. Best cog, great cog, fantastic gears. | 14:46 | ||
nine | nicq20: IO::ArgFiles is for automagically processing files passed on the command line. | 14:48 | |
nicq20 | nine: Huh, ok. Thakn you! | 14:49 | |
*thank | |||
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:50 | |
14:51
hchienjo joined
14:52
skids joined
14:54
hchienjo left
|
|||
nicq20 | nine: Is IO::ArgFiles only for command line stuff then? | 14:54 | |
nine | nicq20: that's a fair characterization, yes | ||
nicq20 | nine: Thanks, I saw it mentioned in some of the docs, but there is no doc for it. | 14:57 | |
nine | nicq20: you could help the next one by submitting a doc patch :) Feel free to just re-use my answer | 14:59 | |
15:00
Tonik joined
|
|||
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 | |
15:01
wamba joined
15:04
sammers left
|
|||
nicq20 | Well, looks like there IS a page for IO::ArgFiles, but the web site just will not show it. | 15:10 | |
nine | huh? | 15:11 | |
nicq20 | nine: github.com/perl6/doc/blob/master/d...rgFiles.pm | 15:12 | |
nine: docs.perl6.org/type/IO$COLON$COLONArgFiles | |||
15:13
zakharyas left
|
|||
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
jonas1 left,
haxmeister joined
|
|||
[Coke] | moritz++ # book | 15:15 | |
nine doesn't know too much about doc.perl6.org | |||
15:16
sammers joined
15:17
cdg joined
15:20
alimon joined,
zakharyas joined
|
|||
dalek | href="https://modules.perl6.org:">modules.perl6.org: 78e5e79 | [email@hidden.address] | templates/root/index.html.ep: Replace panda by zef following github.com/perl6/doc/commit/4a2ebf...90210232c2 |
15:24 | |
href="https://modules.perl6.org:">modules.perl6.org: 18279ad | nxadm++ | templates/root/index.html.ep: Merge pull request #66 from nxadm/master Replace panda by zef following github.com/perl6/doc/commit/4a… |
|||
Geth | oc: nicqrocks++ created pull request #1158: Fix the extension so it can be read |
15:33 | |
oc: e6aa2b7a14 | Nic++ | 2 files Fix the extension so it can be read |
|||
oc: 03431cd798 | Altai-man++ | 2 files Merge pull request #1158 from nicqrocks/patch-1 Fix the extension so it can be read |
|||
nicq20 | The file extension was .pm instead of .pod6 | ||
sena_kun | nicq20++ | 15:34 | |
15:37
cschwenz joined
|
|||
cschwenz | Given that docs.perl6.org/language/5to6-perlv..._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:38 | |
moritz | $! | 15:40 | |
nicq20 | cschwenz: docs.perl6.org/syntax/$DOLLAR_SIGN! | 15:41 | |
moritz | except that it also takes the function of p5's $@ | ||
cschwenz | ah, thanks. english parsing fail on my part. :-( | 15:49 | |
my google-fu is failing me, is there a Perl 6 equivalent to Perl 5's ">&STDOUT"? | 15:54 | ||
16:01
cschwenz left
16:04
jdmmmmm joined
16:07
domidumont left
16:12
jdmmmmm left
|
|||
ugexe | $*OUT = class :: { method print (*@args) { $do-something-with-args }; method flush { } } | 16:16 | |
16:17
nicq20 left
|
|||
moritz | there's also IO::String in the ecosystem | 16:23 | |
brokenchicken | And IO::MiddleMan | 16:24 | |
brokenchicken has no idea what ">&STDOUT" is | |||
mst | opens another filehandle pointing at stdout, which I don't honestly see why you'd need to | 16:25 | |
but he left before I noticed the question | |||
brokenchicken | oh | ||
16:27
TimToady left
16:29
TimToady joined
|
|||
Geth | oc: Altai-man++ created pull request #1159: Fix broken examples, a couple of signatures and one table |
16:42 | |
16:45
ChoHag joined
16:49
cibs left
16:50
cibs joined
16:52
jdmmmmm joined
|
|||
Geth | oc: 84c8e02d73 | Altai-man++ | 10 files Fix broken examples, a couple of signatures and one table Here are mostly 'add semicolon'-like fixes |
16:59 | |
oc: c1df4572d8 | (Jonathan Stowe)++ | 10 files Merge pull request #1159 from Altai-man/master Fix broken examples, a couple of signatures and one table |
|||
17:00
luiz_lha left
17:01
zakharyas left
17:05
nicq20 joined,
cdg left
17:06
cdg joined
17:09
sena_kun left
|
|||
nicq20 | So I think I missed it. Is 'Geth' the new 'dalek'? | 17:09 | |
moritz | yes | 17:10 | |
17:15
sena_kun joined
|
|||
nicq20 | Cool. I like the name 'dalek' better though. :) | 17:18 | |
[Coke] | we didn't own dalek, so we had to pick a new name. | 17:21 | |
moritz | we didn't? | 17:22 | |
[Coke] | didn't we? | ||
SmokeMachine | moritz: like this? www.irccloud.com/pastebin/FmJCJSvN/ | ||
[Coke] | Or: the person who rewrote it got to pick. | ||
kalkin- | hmm, handles is missing documentation, what does it do? | 17:25 | |
ohh no wrong handles lookup | |||
why are handles, fiddly & iffy part of the Glossary when they don't even have documentation? Should the be removed? | 17:26 | ||
17:26
jdmmmmm left
|
|||
brokenchicken | The person who rewrote it got to pick :) | 17:27 | |
moritz | handles should be documented | ||
kalkin- | the handles trait is documented, i just mixed it up with the handles entry in Glossary | ||
17:27
FROGGS joined
|
|||
kalkin- | Should I make a PR to doc to remove the Glossary entries for fiddly iffy and handles? | 17:28 | |
[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... | ||
[Coke] | assign it to me, I'm happy to rip things out. :) | ||
nicq20 | brokenchicken: Oh, I get it! (Sorry, had to look it up. Never played Mass Effect. >_<) | 17:34 | |
17:34
raschipi joined
|
|||
brokenchicken | :o | 17:35 | |
17:36
zakharyas joined
|
|||
kalkin- | Coke: according to #728 fiddly & iffy are the reasons for the glossary to exists. “If only there was a definition.” :) | 17:36 | |
for handles there is only a questionmark | |||
brokenchicken | nicq20: that's like saying you never heard the Moonlight Sonata. | 17:37 | |
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:38 | |
kalkin- | My English isn't great, but my interpretation of iffy would be: ”Suboptimal code” & for fiddly: “Brittle and complicated code”? | 17:39 | |
But I seriosly don't know what handles should be for, besides the obvious dictionary definition | 17:40 | ||
s/be for/stand for/g | |||
nicq20 | brokenchicken: Well it seems to have had a Mass Affect! :D | 17:42 | |
wow that was bad. | |||
17:51
alimon left
17:53
dakkar left,
cibs left
17:54
hchienjo joined
17:55
cibs joined
17:59
hchienjo left
|
|||
[Coke] | fiddly and iffy appear in the source for rakudo, so presumbably mean something specific. | 18:01 | |
18:01
Cabanossi joined
18:06
cdg left
18:09
mawkish__ joined
18:11
nicq20 left
|
|||
brokenchicken | Yeah, they're showing in some error messages | 18:12 | |
*shown | |||
TimToady | fiddly means "too complicated to apply a metaop to" | ||
brokenchicken | m: say 1 R?? 2 !! 3 | ||
camelia | rakudo-moar 2f69be: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Cannot reverse the args of ?? because conditional operators are too fiddlyat <tmp>:1------> 3say 1 R?? 2 !!7⏏5 3» | ||
brokenchicken | m: say 42 !+ 42 | ||
camelia | rakudo-moar 2f69be: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Cannot negate + because additive operators are not iffy enoughat <tmp>:1------> 3say 42 !7⏏5+ 42 expecting any of: infix infix stopper» | ||
TimToady | and iffy means it's often used as a boolean value | 18:13 | |
so even though && isn't strictly returning a boolean, we think of it that way | |||
kalkin- | TimToady: I will add your explanation to #728 | 18:14 | |
TimToady | m: say [.] 'a', 'b' | ||
camelia | rakudo-moar 2f69be: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Malformed postfix callat <tmp>:1------> 3say [.7⏏5] 'a', 'b'» | ||
ilmari | it's not often you get complaints that something isn't iffy _enough_ ;) | ||
TimToady | m: say [.=] 'a', 'b' | ||
camelia | rakudo-moar 2f69be: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Cannot reduce with .= because dotty infix operators are too fiddlyat <tmp>:1------> 3say [.=]7⏏5 'a', 'b'» | ||
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 fiddlyat <tmp>:1------> 3say [ff]7⏏5 'a', 'b'» | ||
timotimo | m: sub infix:<??>($a, $b) { }; 1 R?? 2 | ||
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» | ||
timotimo | neat. | ||
18:16
webstrand left,
Cabanossi left
|
|||
kalkin- | TimToady: do you also know how the “handles” entry in Glossary should be defined? | 18:16 | |
brokenchicken | .oO( toss it... ) |
18:17 | |
m: sub infix:<??>($a, $b) { $a }; say 1 ?? 2 | |||
camelia | rakudo-moar 2f69be: OUTPUT«1» | ||
brokenchicken | m: sub infix:<??>($a, $b) { $a }; say 1 R?? 2 | ||
camelia | rakudo-moar 2f69be: OUTPUT«2» | ||
brokenchicken | m: sub infix:<??>($a, $b) { $a }; sub infix:<!!> { @_ }; say 1 R?? 2 !! 42 | 18:18 | |
camelia | rakudo-moar 2f69be: OUTPUT«[2 42]» | ||
TimToady | there's also "diffy", which means the type of the operator result is sufficiently different from its arguments that op= makes little sense | ||
brokenchicken | m: sub infix:<??>($a, $b) { $a }; sub infix:<!!> { @_ }; say 1 ?? 2 !! 42 | ||
camelia | rakudo-moar 2f69be: OUTPUT«[1 42]» | ||
brokenchicken | m: sub infix:<?> { @_ }; sub infix:<:> { @_ }; say 1 ? 2 : 42 | ||
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
|
|||
TimToady | kalkin-: handles should at least mention that it is the way we specify delegation between classes | 18:19 | |
kalkin- | TimToady: and may be link to trait handles? | 18:20 | |
TimToady | delegation means "pretend a part of me is the whole me" | ||
well, I don't think we need to talk about the implementation of handles there much | |||
to most users, handles is just syntax | |||
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. ) | ||
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
|
|||
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» | ||
gfldex | at least I wasn't misquoted :-> | ||
18:22
mawkish__ left
|
|||
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)» | ||
kalkin- | [Coke]: I added all the explanations TimToady provided to the issue. | ||
18:23
kyan joined
18:24
Cabanossi left
|
|||
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…» | ||
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? | ||
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 infixat <tmp>:1------> 3: You can tell by the error messages... 7⏏5) expecting any of: prefix term» | ||
TimToady | m: .oO( It's Perl: You can tell by the error messages...... ) | ||
camelia | rakudo-moar 2f69be: OUTPUT«5===SORRY!5===Undeclared name: You used at line 1Undeclared 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 …» | ||
TimToady | that's......LTA...... | ||
I guess it means I'm a user? | 18:26 | ||
18:26
Cabanossi joined
|
|||
TimToady | it seems really conf-used | 18:26 | |
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 :) | ||
raschipi | Need more quotes | 18:29 | |
TimToady | or & | ||
18:29
z8 left
|
|||
raschipi | Quotes are more useful for a begginer | 18:29 | |
TimToady | most of the time the quotes are just clutter though | 18:30 | |
also, shouldn't it say "Undeclared names" if there's more than one? | |||
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:31 | ||
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. | ||
TimToady | one place where we assume lowercase are routines, and uppercase are not | ||
anyway, I'm fine with leaving the message as is | 18:33 | ||
18:34
mawkish__ joined
|
|||
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)» | ||
TimToady | wow | 18:39 | |
now how 'bout as good a one for taxes? | |||
gfldex | Thinking about it, that error message sounds a little bit suicidal. | 18:40 | |
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» | ||
TimToady | sort of the opposite of an "easter" egg... | ||
gfldex | m: say so canabis | ||
camelia | rakudo-moar 2f69be: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: canabis used at line 1» | ||
gfldex | there we go | ||
TimToady wonders what '"canabis" used' would mean...fake weed? | 18:42 | ||
*nn I suspect | 18:43 | ||
anyway, I'm fine with leaving it ambiguous for the entertainment value :) | |||
[Coke] | kalkin-: if it's on the big issue, no need to assign it, thanks. | 18:44 | |
mspo | TimToady: resurrection jokes in January? | 18:49 | |
18:51
ggoebel left
18:52
wamba left
18:57
ggoebel joined
18:58
CIAvash left,
jdmmmmm joined
18:59
pyrimidine joined
19:00
raiph left
|
|||
jdv79 | i feel like XML might be able to do better than die "could not parse XML"; | 19:01 | |
19:02
diakopter left
19:03
raiph joined,
Tonik left
19:04
felher left
19:05
xyz__ joined
|
|||
xyz__ | :m sub f(Int @a, Int @b) {}; f([1,2,3], [4,5,6]) | 19:05 | |
: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]) | ||
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» | ||
xyz__ | rakudo: sub f(Int @a, Int @b) {}; f([1,2,3], [4,5,6]) | ||
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» | ||
xyz__ | How do I get array parameters to work? | ||
TimToady | leave off the Int, or create your arguments to actually have that type | 19:07 | |
it's not going to intuit that 1,2,3 are all Int for you; we do nominal typing at that level | |||
CIAvash[m] | xyz__: docs.perl6.org/language/traps#Type...parameters | 19:08 | |
19:08
zakharyas left
19:10
Cabanossi left
19:11
Cabanossi joined
|
|||
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:11 | |
TimToady | well, you could redefine circumfix:<[ ]> if you don't mind it running tons slower | 19:13 | |
well, I suppose it wouldn't run slower if you simply assumed they're integers, but that's also a bit antisocial | 19:14 | ||
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; | ||
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» | ||
gfldex | xyz__: ^^^ | 19:16 | |
19:16
lukaramu joined
|
|||
xyz__ | gfldex: My subroutine needs two array parameters. | 19:16 | |
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]; | ||
camelia | rakudo-moar 2f69be: OUTPUT«ohai!» | ||
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]; | ||
camelia | rakudo-moar 2f69be: OUTPUT«I haz 1 2 3 and 4 5 6» | ||
19:19
mawkish__ left
|
|||
TimToady | xyz__: both of those are checked at run time, but the Int will be faster because it's a nominal check | 19:20 | |
but then you must pass in Array[Int] as the nominal type | 19:21 | ||
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 | |||
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
|
|||
gfldex | all type checks are run time right now. Type checks on literals may become possible in a possible future. | 19:22 | |
TimToady | note however, that once you have multiple dispatch, you only have to do the check for the dispatch, not for validation | 19:23 | |
gfldex | m: my $T = Int; say 42 ~~ $T; | 19:24 | |
camelia | rakudo-moar 2f69be: OUTPUT«True» | ||
TimToady | in some cases the dispatch can even be deduced at compile time | ||
xyz__ | m: sub f(@a, @b) { say @a[0] ~ @b[0] }; &f.signature | ||
camelia | ( no output ) | ||
gfldex | xyz__: ^^^ you can create type objects at runtime | ||
xyz__ | m: sub f(@a, @b) { say @a[0] ~ @b[0] }; say &f.signature.perl | ||
camelia | rakudo-moar 2f69be: OUTPUT«:(@a, @b)» | ||
gfldex | so it would be pretty hard for the compiler to to type checks at compile time | 19:25 | |
After all Perl 6 is a dynamic dynamic language. | |||
19:25
darutoko left
|
|||
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 | ||
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. | ||
xyz__ | gfldex: I agree it's super dynamic! | ||
[Coke] | moritz++ # book | ||
brokenchicken | "all type checks are run time right now." I don't think that's true | ||
[Coke] | TimToady: and we aren't doing all the opts we could, eh? | ||
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» | ||
brokenchicken | ^ that's a compile time error | ||
gfldex | Dynamic dynamic also means it is not dynamic at some places. | ||
TimToady | [Coke]: of course we aren't | ||
moritz | [Coke]: thanks | ||
Geth | oc: 2e5d1e3bdb | (Will "Coke" Coleda)++ | 2 files move true/false/boolean glossary items to Bool Part of #728 |
||
TimToady | we'd do a lot more compile time opts if some of them weren't better done in a JIT | ||
and for some apps we'd like much better AOP optimization where jitting is too heavy or late | 19:29 | ||
all in good time | |||
[Coke] | 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. :-> | ||
moritz | m: grammar A { token TOP { <.foo('bla')> }; method foo($x) { say $x } }; A.parse('blerg') | ||
camelia | rakudo-moar 2f69be: OUTPUT«blaP6opaque: 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» | ||
moritz | how can I access the current cursor position or match or anything relevant in method foo? | 19:31 | |
19:32
Geth left
19:33
Geth joined,
ChanServ sets mode: +v Geth
|
|||
gfldex | I'm likely wrong but believe to remeber that grammar stuff is deep in nqp-land, hence the lack of introspection. | 19:33 | |
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» | ||
[Coke] | DrForr: why does Readline depend on panda? | ||
Doesn't seem to require it except insofar as you need panda or zef to install it. | |||
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«bla0» | ||
19:35
pmurias joined
|
|||
[Coke] | DrForr: github.com/drforr/perl6-readline/issues/16 | 19:39 | |
moritz | TimToady: but I can't seem to access .t^H^Hself.to or self.pos in there | 19:40 | |
19:41
felher_ joined
|
|||
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» | ||
moritz | huh | ||
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» | ||
moritz | m: grammar A { token TOP { . <.foo('bla')> }; method foo($x) { say self.pos; self.to } }; A.parse('blerg') | ||
camelia | rakudo-moar 2f69be: OUTPUT«1No 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» | ||
moritz | oh, the error related from $!pos was from trying to return a non-Cursor | 19:43 | |
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. | ||
Ah, I now notice the link to raster at the bottom. Meh. Browser supported SVGs for ages now. | 19:45 | ||
gfldex | how about mobile devices? | 19:46 | |
moritz | fwiw I originally was in favor of using PNG when embedding SVG into HTML was very unreliable | 19:48 | |
19:49
ocbtec joined
|
|||
moritz | s/embedding/usingi in <img> tags/ | 19:49 | |
now we can drop it if you want | |||
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 | ||
yoleaux | I saw samcv 12:46Z in #perl6: <samcv> nice | ||
brokenchicken | gfldex: same difference | ||
samcv | hola | ||
moritz | brokenchicken: I understand that; that#s what I'm talking about :-) | ||
que tal? | |||
samcv | [Coke], you pinged? | 19:51 | |
[Coke] | samcv: syntax highlighting on doc site borked. guessing update to highlighter code in npm to blame? | ||
gfldex | i don't got a mobile phone. So somebody else has to check. :) | ||
[Coke] | (since I don't see anything obviously wrong in util/ or recently changed in assets/) | ||
samcv | :I saw the discussion. so you can still see the css tags on the page right? | ||
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? | ||
raschipi | It's borked for me. | ||
samcv | let me check. but i think it's probably css not applying | ||
[Coke] | samcv: <span>role</span></span><span> </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 | ||
[Coke] | I don't see those classes anywhere in the generated style sheet. | ||
samcv | oh | 19:53 | |
i think. | |||
i know what is happening | |||
moritz | gfldex: I just checked with Firefox Mobile on Android, the inline SVG displays fine | ||
brokenchicken | Right, why do those classes have "syntax--" tacked on to them? | ||
[Coke] | ah, found an entry here: highlights/atom-language-perl6/styles/styles.less | ||
moritz | even the Android "Internet" browser displays them | 19:54 | |
brokenchicken | [Coke]: that's not used by doc site though | 19:55 | |
This is the highlights file: github.com/perl6/doc/blob/master/a...ights.scss | |||
It ain't got the "syntax--" on classes cause there used to be none | |||
samcv | yeah the version of highlights changed | 19:57 | |
they changed shit | |||
so it's seperated from the rest of Atom's scoping so this happened | |||
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? | ||
samcv | since it was between api's | ||
i didn't think they would do it for highlights though, would only do it for atom | |||
Geth | oc: b1d51f1f5b | (Samantha McVey)++ | assets/sass/_highlights.scss Maybe fix CSS not applying |
19:59 | |
samcv | i did a search and replace. let's see if this fixes some of them | ||
ok it went from 1.4.1 to 2.0.1 3 days ago | 20:00 | ||
20:00
labster joined
|
|||
samcv | gonna see the whole changelog | 20:00 | |
what. their changelog is shit github.com/atom/highlights/blob/v2...ANGELOG.md | 20:01 | ||
20:01
khw joined,
bjz joined
|
|||
moritz | "stuff changed. Deal with it!" | 20:02 | |
samcv | how can they just not put that change in the changelog? | ||
Bug Fixes | |||
remove iojs and 0.10 as they are no longer supported | |||
^ as if | |||
forgot the incompatibility changes... | |||
maybe I should yell at them | 20:03 | ||
gfldex | telling them softly that they got downstream may work better | ||
20:03
Actualeyes joined
|
|||
samcv | "All notable changes to this project will be documented in this file." # lol | 20:03 | |
yeah | 20:04 | ||
moritz | open an issue? | ||
samcv | once we have docs.perl6.org working again i will open an issue | ||
20:05
pyrimidine left
|
|||
brokenchicken | Adobe takes the cake on changelogs.... "bugfixed and experience improvements". Literally: twitter.com/zoffix/status/794556225866317824 | 20:05 | |
lizmat starts with the P6W, any news ? | |||
20:05
pyrimidine joined
|
|||
brokenchicken | lizmat: bartolin++ and ugexe++ are core members now (Yeah, you prolly know already :)) | 20:05 | |
El_Che | lizmat: market p6@fosdem | ||
moritz | according to twitter analytics, @perl6org had over 50k impressions over the last 4 weeks | 20:09 | |
lizmat | moritz: link ? | ||
20:10
pyrimidine left
|
|||
moritz | lizmat: twitter.com/perl6org/status/823624262690963456 | 20:12 | |
lizmat | :-) | ||
oki | |||
moritz | .oO( we're being meta here ) |
||
Geth | oc: 58b702f5e8 | (Moritz Lenz)++ | doc/Type/Cursor.pod6 Document some Cursor methods |
20:13 | |
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.files.wordpress.com/2017/01....png?w=901 | |||
20:16
raschipi left
20:17
leah2 left
20:24
xyz__ left
|
|||
[Coke] | ... oh, there's another reason to fix my wordpress install... | 20:24 | |
20:24
mr-foobar left
20:27
espadrine_ joined,
dataf3l joined
|
|||
dataf3l | hey guys | 20:27 | |
20:27
krakan joined
|
|||
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 | |
this is my version: | |||
This is Rakudo version 2016.10 built on MoarVM version 2016.10 | |||
implementing Perl 6.c. | |||
this is my command line: | |||
perl6 --ll-exception --stagestats -I. -Icontroller -Imodel serve3.p6 --port=8080 | |||
this is the (sad) result | |||
pastebin.com/HY5TPhMM | 20:29 | ||
20:30
pyrimidine joined
|
|||
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:30 | |
20:30
jdmmmmm left
|
|||
gfldex | dataf3l: did you check the syslog for OOM killer? | 20:31 | |
dataf3l | how do I check the syslog for the OOM killer ? | ||
perlpilot | dataf3l: what gfldex said. It's likely that something external to rakudo/moarvm did the killing | ||
[Coke] | Do we have a recommend amount of memory for building moar? | 20:32 | |
er, rakudo-m | |||
DrForr | Should be in /var/log/messages - you probably need sudo access. | ||
20:32
mr-foobar joined
|
|||
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 | ||
dataf3l | moritz, is that the minimum system requirement? | 20:33 | |
I’ll check | |||
brokenchicken | dataf3l: that's to build rakudo; not to run a program | ||
dataf3l: and that dump suggests to a module you use is not found | 20:35 | ||
20:35
dataf3l left
|
|||
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
|
|||
El_Che | dataf3l's irc client ran out of memory :) | 20:36 | |
brokenchicken | kalkin-: rakudo/rakudo in `js` branch | ||
dataf3l: and that dump suggests to a module you use is not found | |||
dataf3l: try without all those extra flags tacked on. And what's -Icontroller? -Imodule? Are those actual paths to module? | |||
El_Che | dataf3l: I built debs/rpms for my cloud machines: github.com/nxadm/rakudo-pkg/releas...ag/2017.01 | ||
dataf3l | I already built rakudo | ||
I’m just trying to build a program | |||
these are paths to folders with pm6 files | |||
El_Che | dataf3l: it's rakudo + zef + panda | ||
[Coke] | "build a program?" | 20:37 | |
dataf3l | run a program | ||
[Coke] | which program? | ||
dataf3l | my program | ||
it serves on port 8080 and does simple postgresql insertion stuff | |||
nothing fancy | |||
kalkin- | Hmm, do I understand it right, that I need moarvm/jvm + nqp + rakudo-js to transpile perl6 to JS? | ||
moritz | kalkin-: I don't think you need JVM | ||
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 | ||
dataf3l | however, rigth now it’s not the problem. | ||
brokenchicken | kalkin-: AFAIK no. | ||
[Coke] | dataf3l: I thought you just said it -was- the problem. :) | ||
brokenchicken | kalkin-: you do know JS backend is a baby, right? It managed to compile hello world just a week ago. | ||
dataf3l | no perl6 is already built | 20:39 | |
it’s just my program | |||
brokenchicken, how do you know from the log it’s a missing module!? | |||
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. | ||
perlpilot | dataf3l: probably all those calls to try-load, need, load_module, etc | ||
dataf3l | I’m going to try to verify if brokenchicken’s suggestion of a missing module first | ||
I’ll be quick | |||
brokenchicken | dataf3l: from the stacktrace. | 20:41 | |
backtrace whatver | |||
El_Che | dataf3l: ah ok, your problem is different than building then, but anyway, as you say it may be handy in the future | ||
dataf3l | oh | 20:42 | |
brokenchicken | dataf3l: but without any code we can be playing the guessing game here for hours. | ||
dataf3l | I tried to tell my boss to let me open source the code | ||
however | |||
they haven’t given me still any response on that one | |||
I don’t want to waste anybody’s time | 20:43 | ||
you guys have been amazing so far | |||
Geth | oc/master: 20 commits pushed by jonathanstowe++ review: github.com/perl6/doc/compare/58b70...22ffd98413 |
20:44 | |
20:44
wamba joined
20:45
alimon joined
|
|||
brokenchicken | ohh | 20:45 | |
dataf3l: are you doing this on Windows? | |||
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 | ||
brokenchicken | dataf3l: You could build the 2017.01 compiler release (rakudo.org/downloads/rakudo/ ) or at least the 2016.11 star (rakudo.org/downloads/star/ ) | ||
dataf3l | that makes sense | 20:48 | |
however I don’t feel it’s quite the problem | |||
I’m finding ways to get more memory | |||
do newer versions (2016.11,2017.1) use less memory ?? | |||
brokenchicken | not really | ||
perlpilot | dataf3l: eventually that statement may be true :) | 20:49 | |
lizmat | TimToady: what's the rationale for not running END in a precomp ? | ||
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? | ||
brokenchicken | dataf3l: try sticking `no precompilation` at the top of all your modules. | ||
dataf3l | may I know what that does? | 20:51 | |
lizmat | perlpilot: END blocks are by definition at runtime, no ? | ||
dataf3l | but I like precompilation!, isn’t precomp good?? | ||
brokenchicken | dataf3l: it tells the compiler to avoid precompilation of your modules. | ||
lizmat | dataf3l: precomp is good | ||
perlpilot | lizmat: aye. Maybe I'm mental, but I tend to think of precomp as "before runtime" | ||
lizmat | perlpilot: that's really an optimization | 20:52 | |
I mean, if a module hasn't been precomped already, it will get precomped automatically | |||
20:52
jferrero left
|
|||
lizmat | unless you inhibit that | 20:52 | |
20:53
girafe left
|
|||
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 | |
20:54
leah2 joined
|
|||
dataf3l | I’m not certain memory is the problem, to be honest | 20:55 | |
OK | |||
it works now | |||
I had to kill a few processes though | |||
so it *was* memory | |||
brokenchicken | dataf3l: how much does it need? | ||
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. | ||
dataf3l | this is just to run a small daemon | ||
however, once it runs, it takes less memory | |||
20:57
Tonik joined
|
|||
dataf3l | 18558 root 20 0 344568 159312 25928 S 0.0 15.7 0:03.10 moar | 20:57 | |
20:57
alimon left
20:58
alimon1 joined
|
|||
dataf3l | moar takes about 344568 VIRT, 159312 RES, 25928 of Shared memory on ubuntu 64 bits | 20:58 | |
and it’s not even doing any work yet! :) | |||
20:58
alimon1 left
|
|||
dataf3l | anyways guys, thank you so much for the help the OOM suggestion by gfldex was spot on | 20:59 | |
20:59
cale2 joined
|
|||
cale2 | Hey | 21:00 | |
[Coke] | Ho | ||
cale2 | what would the perl6 version of this website look like? www.arewewebyet.org/ | ||
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 | |||
moritz | if use of Inline::Perl5 or Inline::Python is allowed, we're web! :-) | 21:01 | |
if not, dunno | 21:02 | ||
[Coke] | (docs) we should make sure giant merges pass 'make xtest' | ||
DrForr | cale2: Bailador in native Perl 6, Inline::Perl5 lets you use perl5 web modules. | ||
moritz | ugexe.com/hello-web-with-puree-perl-6/ another native option | 21:03 | |
tadzik | puree <3 | 21:04 | |
[Coke] | (doc) xt/return-type.t complains about 'returns Int', but doesn't actually show the desired usage. | 21:05 | |
Geth | cosystem: 0b713702a5 | (David Warring)++ | META.list s/META.info/META6.json/ |
||
21:06
alimon joined
|
|||
[Coke] | DrForr: you see my Readline question? | 21:06 | |
21:06
Tonik left
21:07
bjz left
|
|||
DrForr | Haven't read my email today, will do that but it's ~bedtime out here. | 21:08 | |
Geth | oc/master: 4 commits pushed by coke++ | 21:09 | |
21:10
pmurias left
|
|||
[Coke] | DrForr: short version: readline requires panda but shouldn't. | 21:10 | |
sena_kun | [Coke]++ | ||
[Coke] | sena_kun: for doc stuff? danke | ||
sena_kun | sure. docs need more love nowadays. | 21:11 | |
21:12
pmurias_ joined
|
|||
DrForr | Ah, thanks. | 21:12 | |
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? | ||
maybe not form processing, idk | 21:15 | ||
This is the book I'm thinking about translating: github.com/astaxie/build-web-appli...preface.md | |||
21:16
agentzh joined
|
|||
cale2 | Well, that book, or this one: thewhitetulip.gitbooks.io/webapp-w...k/content/ | 21:16 | |
21:17
cdg joined,
TEttinger joined
|
|||
cale2 | moritz: That puree blog post talks about Hiker. So what is Puree exactly? lol | 21:18 | |
21:21
bjz joined
21:26
grondilu joined
|
|||
grondilu | m: my @ = 1, 0; | 21:26 | |
camelia | ( no output ) | ||
grondilu | m: my @ = 1, |0 xx 2; | ||
camelia | ( no output ) | ||
grondilu | m: my UInt @ = 1, |0 xx 2; | ||
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» | ||
grondilu | ^looks wrong to me | ||
m: my UInt @ = 1, 0, 0; | |||
camelia | ( no output ) | ||
21:27
bjz left
|
|||
grondilu | m: my UInt @ = flat 1, 0 xx 2; | 21:27 | |
camelia | ( no output ) | ||
Geth | oc: 00b15d7b21 | (Samantha McVey)++ | htmlify.p6 Speed up build by 25%, almost totally remove duplicated path errors |
21:29 | |
21:31
dataf3l left,
dataf3l_ joined
|
|||
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» | ||
grondilu | m: say my @ = 1, |0 xx 2; | 21:33 | |
camelia | rakudo-moar 6dd542: OUTPUT«[1 (0 0)]» | ||
grondilu | hum | ||
m: say .perl given my @ = 1, |0 xx 2; | |||
camelia | rakudo-moar 6dd542: OUTPUT«[1, (0, 0)]» | ||
grondilu | m: say .elems given my @ = 1, |0 xx 2; | 21:34 | |
camelia | rakudo-moar 6dd542: OUTPUT«2» | ||
grondilu | I would have bet this used to work. | 21:35 | |
[Coke] | ugexe: 'zef update' fails locally. | ||
grondilu | m: say .elems given my @ = 1, slip 0 xx 2; | ||
camelia | rakudo-moar 6dd542: OUTPUT«3» | ||
rindolf | (Samantha McVey)++ # speed up docs build | ||
21:35
FROGGS left
|
|||
grondilu | m: say .elems given my @ = 1, |rand xx 2; | 21:36 | |
camelia | rakudo-moar 6dd542: OUTPUT«2» | ||
21:37
girafe joined
|
|||
grondilu | m: say my @ = +!$++ xx 3 | 21:38 | |
camelia | rakudo-moar 6dd542: OUTPUT«[1 0 0]» | ||
rindolf | github.com/perl6/doc/commit/00b15d...c86235R965 - can't one limit the seen-temps to the numbers instead of the whole file or am I missing something? | ||
grondilu | lol that's a neat way to do it | ||
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]» | ||
Geth | cosystem: dc9a04b7c0 | (Jonathan Stowe)++ | META.list Adopt some orphaned modules |
21:40 | |
[Coke] | rindolf: doesn't matter because that should be using File::temp | ||
RabidGravy | moritz, there ^ | ||
[Coke] | github.com/perl6/doc/issues/1062 | 21:41 | |
RabidGravy | they at least somewhat build and install no | ||
w | |||
rindolf | [Coke]: ah, ok | ||
Geth | oc: 0193f3e4dc | (Samantha McVey)++ | assets/sass/_highlights.scss Revert "Maybe fix CSS not applying" This reverts commit b1d51f1f5bd05abd059ca9727ddcb768c3277d66. |
21:42 | |
oc: 9525968e78 | (Samantha McVey)++ | highlights/package.json Make sure we use highlights <2.0, to fix recent changes to highlights The scopes of all items in CSS changed their scope as of version 2, but this was not listed in the changelog on the projects page. |
|||
samcv | Github-- | ||
[Coke] | samcv: if that works, please close out github.com/perl6/doc/issues/1156 | 21:45 | |
samcv | yea | ||
[Coke] | also, please checkout github.com/perl6/doc/issues/1152 if you get a sec. | ||
samcv | want to investigate what to do, because I don't like --syntax everywhere, makes the pages bigger for no reason | ||
[Coke] | Guessing it was an untest change to the non-async path. | ||
b2gills | [Coke]: `--> Int:D` goes inside of the signature | ||
samcv | yeah | 21:46 | |
21:46
bjz joined
|
|||
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. | ||
samcv | i'm gonna try running with --no-proc-async | 21:47 | |
[Coke] | b2gills: so, method origin(Cursor:D: --> Any) ? | ||
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. :) | ||
missing an http proxy maybe? | |||
b2gills | m: method c (Cursor:D: --> Any) {} | ||
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) {}» | ||
b2gills | m: my method c (Cursor:D: --> Any) {} | 21:49 | |
camelia | ( no output ) | ||
[Coke] | so, yes. ok. fix coming. | ||
[Coke] makes sure his proxy really is set. :( | |||
dammit. ugexe++ # zef JFW. :) | 21:50 | ||
21:50
bjz left
|
|||
Geth | oc: e3ca965b8f | (Will "Coke" Coleda)++ | doc/Type/Cursor.pod6 fix return signatures (b2gills++) |
21:50 | |
21:57
travis-ci joined
|
|||
travis-ci | Doc build failed. Samantha McVey 'Maybe fix CSS not applying' | 21:57 | |
travis-ci.org/perl6/doc/builds/194589662 github.com/perl6/doc/compare/2e5d1...d51f1f5bd0 | |||
21:57
travis-ci left
|
|||
samcv | wow travis is S L O W today | 21:58 | |
made that commit 2 hours ago | 21:59 | ||
21:59
eliasr left
|
|||
RabidGravy | it's been like that for days | 22:00 | |
geekosaur | ^ | 22:01 | |
SmokeMachine | is that expected? | ||
22:01
agentzh left
|
|||
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» | ||
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 | |
22:02
pyrimidine left
|
|||
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
|
|||
SmokeMachine | 2 different errors... | 22:03 | |
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» | ||
SmokeMachine | m: constant Path = IO::Path; class C { has Path $a .= new: "."} | ||
camelia | ( no output ) | ||
SmokeMachine | ? | ||
[Coke] | doesn't help that we're doing a full rakudo build all the time. | ||
22:04
grondilu left
22:05
skids left
|
|||
RabidGravy | right that's me done | 22:06 | |
22:07
cdg left,
pyrimidine left,
cdg joined
|
|||
brokenchicken | Seems recent. I don't get that on 2017.01-1-g0c89292 | 22:08 | |
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 | ||
brokenchicken, bisect log: gist.github.com/f347668dcccd90597b...6f027a81a4 | |||
brokenchicken, (2016-02-18) github.com/rakudo/rakudo/commit/99...4283b48d0a | |||
brokenchicken | bisect: old=2017.01 new=HEAD my IO::Path $a .= new: "." | 22:10 | |
bisectable6 | brokenchicken, Cannot find revision “2017.01” | ||
22:10
RabidGravy left
|
|||
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 | ||
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 | |||
brokenchicken | Oh | 22:11 | |
ugexe | isnt that expected? | ||
m: my $a = IO::Path.new | |||
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» | ||
brokenchicken | SmokeMachine: both camelia and bisectable run restricted setting in which IO::Path is not the real IO path | ||
SmokeMachine | brokenchicken: but thats happening on my local perl6 too... | ||
22:11
AlexDaniel joined
|
|||
brokenchicken | SmokeMachine: "thats" being what? | 22:12 | |
ugexe | its like `(my $a = IO::Path.new) .= "."` | ||
SmokeMachine | brockenchicken: www.irccloud.com/pastebin/Vy0lgzqE/ | ||
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... | ||
m: constant Path = IO::Path; class C { has Path $a .= new: "."} | 22:14 | ||
camelia | ( no output ) | ||
22:14
jdmmmmm joined
|
|||
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 | |
The error is LTA tho | |||
hm | |||
OK | |||
SmokeMachine | brokenchicken: but why does that work with the constant? | ||
brokenchicken | 'cause I'm wrong. | 22:15 | |
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» | ||
SmokeMachine | ok, it really worked... | ||
brokenchicken | Guess it's a bug. | 22:17 | |
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 …» | ||
SmokeMachine | I think its happening with anything with "more than one name"... | ||
brokenchicken | yeah | ||
SmokeMachine | m: class Bla::Ble {} class C { has Bla::Ble $a .= new} | ||
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 …» | ||
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» | ||
brokenchicken | m: class C { has Supplier $a .= new} | ||
camelia | ( no output ) | ||
22:19
mawkish__ left
|
|||
brokenchicken | Ahhhh | 22:20 | |
22:20
mawkish__ joined
|
|||
brokenchicken | I think I see the bug | 22:20 | |
SmokeMachine | where? | ||
brokenchicken | Here: github.com/rakudo/rakudo/blob/nom/....nqp#L2898 | ||
The $*OFTYPE needs to be split up on `::` | 22:21 | ||
SmokeMachine | the if shouldn't do something similar? | 22:22 | |
brokenchicken | hm? the if? | 22:23 | |
SmokeMachine | brokenchicken: | ||
brokenchicken: github.com/rakudo/rakudo/blob/nom/....nqp#L2892 | |||
22:23
mawkish__ left
|
|||
SmokeMachine | brokenchicken: I mean: why aren't both doing something similar? | 22:24 | |
one for = and the other for .= | |||
brokenchicken: Ill try ro read that better! | |||
brokenchicken: nevermind... | 22:25 | ||
brokenchicken | yup, fix worked. | 22:26 | |
SmokeMachine | :) | ||
rindolf | Hi all! I'm getting a segfault - paste.debian.net/910211/ | 22:27 | |
[Coke] | rindolf: what version of rakudo, what version of docs? | 22:28 | |
rindolf | [Coke]: what is docs? | ||
[Coke] | (what version of modules installed?) | ||
rindolf: ... the repository you're building? | 22:29 | ||
rindolf | [Coke]: ah | ||
[Coke]: paste.debian.net/910212/ | 22:30 | ||
[Coke] | that version is relatively old, and there have been segfault fixes in the last quarter of 2016 | ||
please try again with 2017.01 | 22:31 | ||
(of rakudo) | |||
rindolf | [Coke]: ok | 22:32 | |
22:39
kyan left
|
|||
brokenchicken | SmokeMachine: fix shipped | 22:43 | |
SmokeMachine | brokenchicken: thanks! | ||
m: class Bla::Ble {} class C { has Bla::Ble $a .= new} | |||
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 …» | ||
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» | ||
brokenchicken | *just* shipped :) Bot hasn't updated yet | 22:45 | |
22:45
espadrine_ left
|
|||
brokenchicken | huggable: camelia | 22:45 | |
huggable | brokenchicken, Camelia updates every 20m at 8, 28, and 48 minutes of the hour | ||
brokenchicken | so in 2 minutes or so | 22:46 | |
22:47
travis-ci joined
|
|||
travis-ci | Doc build failed. Jonathan Stowe 'Merge pull request #1154 from antquinonez/master | 22:47 | |
travis-ci.org/perl6/doc/builds/194603246 github.com/perl6/doc/compare/58b70...ffd9841336 | |||
22:47
travis-ci left
22:50
lukaramu left
|
|||
brokenchicken | m: class Bla::Ble {}; class C { has Bla::Ble $a .= new} | 22:51 | |
camelia | ( no output ) | ||
brokenchicken | m: class Bla::Ble {}; class C { has Bla::Ble $a .= new}.new.a.^name.say | ||
camelia | rakudo-moar 700a07: OUTPUT«No such method 'a' for invocant of type 'C' in block <unit> at <tmp> line 1» | ||
lizmat | and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/01/23/...4-welcome/ | ||
brokenchicken | m: class Bla::Ble {}; class C { has Bla::Ble $.a .= new}.new.a.^name.say | ||
camelia | rakudo-moar 700a07: OUTPUT«Bla::Ble» | ||
22:51
haxmeister left
|
|||
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
|
|||
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. | ||
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. :) | |||
01:59Z <BenGoldberg> raiph: nvmnd raschipi++ informed me that even types with :D on them can get Nil/Failure in them. :) | |||
22:52Z <brokenchicken> raiph: to avoid user confusion, we purposely restrict release announcements to Rakudo Star only. | |||
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:55 | |
s/because/became/; | 22:56 | ||
lizmat | ah, :-) | ||
brokenchicken++ # updated | 22:57 | ||
23:00
zakaria joined
|
|||
zakaria | hi | 23:01 | |
i am trying to build panda via rakudobrew and i am failing to do it | 23:03 | ||
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
|
|||
zakaria | anyone have an idea of how to fix that? | 23:05 | |
perlawhirl | bisect: two novels and several short stories, and his debut novel 'The | 23:06 | |
zakaria | cale2: actually i built zef without problem | ||
bisectable6 | perlawhirl, On both starting points (old=2015.12 new=700a077) the exit code is 1 and the output is identical as well | ||
perlawhirl, gist.github.com/be50e7c73bb6a26a45...29654ad97d | |||
perlawhirl | oops | ||
bisect: say <one two>.categorize({ ( m:g/<[aeiou]>/ )».Str }) | |||
bisectable6 | perlawhirl, Bisecting by output (old=2015.12 new=700a077) because on both starting points the exit code is 0 | ||
perlawhirl, bisect log: gist.github.com/0e83a714dbb7b0f54a...f5075bb1c7 | 23:07 | ||
perlawhirl, (2016-04-05) github.com/rakudo/rakudo/commit/6a...822dac090b | |||
perlawhirl | bisect: say <one two>.classify({ ( m:g/<[aeiou]>/ )».Str }) | ||
bisectable6 | perlawhirl, Bisecting by output (old=2015.12 new=700a077) because on both starting points the exit code is 1 | ||
perlawhirl, bisect log: gist.github.com/e2bfa23c63593a9893...02567e1577 | 23:08 | ||
perlawhirl, (2016-05-12) github.com/rakudo/rakudo/commit/33...d4efe221de | |||
23:09
pyrimidine joined
|
|||
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:09
wamba left
|
|||
bisectable6 | perlawhirl, bisect log: gist.github.com/3f66d84e19be00ff21...00e2f3d108 | 23:10 | |
perlawhirl, (2016-05-12) github.com/rakudo/rakudo/commit/33...d4efe221de | |||
perlawhirl | msg bisectable6 | ||
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:12
cpage_ left
|
|||
zakaria | Is there any way of installing Task::Star without using zef or panda? | 23:13 | |
[Coke] | no, those are our installers. | 23:14 | |
23:14
pyrimidine left,
sena_kun left
|
|||
zakaria | Coke: panda failed to build with rakudobrew, zef is stuck on fetching OpenSSL for a wile | 23:15 | |
cale2 | where can I see docs on the perl6 command line app? | 23:16 | |
like what does perl6 -Ilib mean? | |||
gfldex | cale2: docs.perl6.org/programs/00-running | 23:18 | |
23:18
dataf3l_ left
|
|||
perlawhirl | cale2: This is also a pretty good reference on perl6 one-liners: github.com/dnmfarrell/Perl6-One-Liners | 23:19 | |
which covers use of some of the cmdline flags with example | |||
23:21
travis-ci joined
|
|||
travis-ci | Doc build failed. Will "Coke" Coleda 'update return type declaration' | 23:21 | |
travis-ci.org/perl6/doc/builds/194610877 github.com/perl6/doc/compare/22ffd...8bc268b58e | |||
23:21
travis-ci left
|
|||
brokenchicken | zakaria: you don't need Task::Star. Install just the modules you actually need. | 23:24 | |
23:30
bisectable6 joined,
ChanServ sets mode: +v bisectable6
|
|||
AlexDaniel | say <one two>.classify({ ( m:g/<[aeiou]>/ )».Str }) | 23:31 | |
01:07:54 <bisectable6> perlawhirl, Bisecting by output (old=2015.12 new=700a077) because on both starting points the exit code is 1 | |||
01:08:03 <bisectable6> perlawhirl, bisect log: gist.github.com/e2bfa23c63593a9893...02567e1577 | |||
01:08:04 <bisectable6> perlawhirl, (2016-05-12) github.com/rakudo/rakudo/commit/33...d4efe221de | |||
01:09:25 *** pyrimidine (~pyrimidin@cjfields-imac.igb.illinois.edu) has joined channel #perl6 | |||
01:09:50 <perlawhirl> bisect: old=2016.01 new=2016.10 <one two>.classify({ ( m:g/<[aeiou]>/ )».Str }) | |||
23:31
AlexDaniel left
23:32
AlexDaniel joined
|
|||
AlexDaniel | shit | 23:32 | |
6c: say <one two>.classify({ ( m:g/<[aeiou]>/ )».Str }) | 23:33 | ||
committable6 | AlexDaniel, gist.github.com/0c205f14ed25787912...df0e771f50 | ||
23:33
kyan joined
|
|||
perlawhirl | AlexDaniel: it works with categorize _now_, but i'm had old code with classify and it's throwing an error | 23:34 | |
so expected output is this | |||
m: say <one two>.categorize({ ( m:g/<[aeiou]>/ )».Str }) | |||
camelia | rakudo-moar 700a07: OUTPUT«{e => [one], o => [one two]}» | ||
23:34
rindolf left
|
|||
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:35 | |
23:37
pyrimidine joined
|
|||
AlexDaniel | well we can always check | 23:39 | |
commit: all say <one two>.classify({ ( m:g/<[aeiou]>/ )».Str }) | |||
committable6 | AlexDaniel, gist.github.com/b8ee78044f6d63dea8...45e9452ddf | ||
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
23:42
cpage_ joined,
pyrimidine left
|
|||
AlexDaniel stares at that “printf” inside .map on www.learningperl6.com/2017/01/17/b...in-perl-6/ | 23:45 | ||
cale2 | So I'm getting an error with perl6 -e 'say "Hello World"' | 23:46 | |
did the quotes for one liners change? | 23:47 | ||
AlexDaniel | what's the error? | ||
cale2 | Unable to parse expression in single quotes; couldn't find final "'" | ||
It works when I do perl6 -e "say 'Hello World'" | 23:48 | ||
brokenchicken | Are you on Windows? | ||
cale2 | Yes, in command prompt | ||
brokenchicken | Well, there's your problem. | 23:49 | |
AlexDaniel | e: printf "%04x %s\n", .ord, .uniname for $*IN.comb(/\N/) | ||
evalable6 | AlexDaniel, rakudo-moar 700a077: OUTPUT«2665 BLACK HEART SUIT1f98b BUTTERFLY0020 SPACEa49b YI RADICAL BBUT33b2 SQUARE MU S208a SU…» | ||
AlexDaniel, Full output: gist.github.com/a77f658bedead8bbc2...59b459fbf5 | |||
perlawhirl | brokenchicken: is Windows the problem... or Command prompt ? | ||
cale2 | brokenchicken: what is the issue exactly? | ||
brokenchicken | You use `"` instead of `'` on Windows | 23:50 | |
cale2 | what are the " vs ' rules in perl6 then? | ||
how will that effect your perl6 one liners? | |||
oops github.com/WildYorkies/Perl6-One-L...or-windows I'm dumb | 23:51 | ||
perlawhirl | so it's basically and unfortunate hassle due to the way Windows shell handles quotes | 23:53 | |
geekosaur | ^ | ||
TimToady suggests curly quotes inside | |||
23:53
agentzh joined
|
|||
geekosaur | well, actually not even windows shell; on Windows, this is pushed down into the program runtime before invocation of main or WinMain | 23:54 | |
23:55
cdg left
|
|||
cale2 | Yeah, that explanation in the github is great. talks about using qq// instead | 23:55 | |
23:56
perlawhirl left
23:57
girafe left
|