»ö« 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 Zoffix on 25 May 2018. |
|||
00:00
TreyHarris joined
00:15
Sgeo_ joined
|
|||
Summertime | "illegally post-declared type" when using a grammar in an earlier defined function | 00:16 | |
that implies that some situations would be legal? is there examples of that? | 00:17 | ||
00:18
Sgeo left
00:19
kerframil joined
|
|||
timotimo | when you stub it? | 00:19 | |
00:22
goiuy joined
|
|||
Summertime | ah ok, so, stub, followed by the subroutine, followed by the full type definition? | 00:22 | |
hey neat it works | 00:24 | ||
00:31
goiuy left
00:33
gabiruh left
|
|||
Summertime | also is there a known reason why grammars don't have .ACCEPTS? | 00:34 | |
00:36
jeek joined
|
|||
b2gills | xinming: `:sym<foo>` is special in a regex/token/rule, in that `<sym>` will be the same as `'foo'`. | 00:52 | |
`token asdf:sym<foo> { <sym> }` works exactly the same as `token asdf:sym<foo> { 'foo' }` | 00:53 | ||
Summertime: Technically a grammar does have an ACCEPTS, but it is from Match/Any/Mu | 00:59 | ||
If you can make the case for exactly what you think it should do, go ahead and make it. | |||
m: .say for Grammar.can('ACCEPTS').map(*.candidates).flat.map(*.signature) | |||
camelia | (Mu:U: \topic, *%_) (Mu:U: Mu:U \topic, *%_) (Any:D: Mu:D \a, *%_) (Any:D: Mu:U, *%_ --> Bool::False) (Any:U: \topic, *%_) (Match:D: $, *%_) (Mu:U: \topic, *%_) (Mu:U: Mu:U \topic, *%_) (Any:D: Mu:D \a, *%_) (Any:D: Mu:U, *%_ --> Boo… |
||
01:00
jeromelanteri joined
|
|||
Kaiepi | m: my $p = start { await $p } | 01:01 | |
camelia | ( no output ) | ||
Summertime | I'd be thinking, in my most expected world, `$x ~~ G` would be interchangable with `G.parse: $x` | ||
Kaiepi | weird that throws on my version | 01:02 | |
no sane person would write this though | |||
ok now it's not...? | 01:03 | ||
never mind then | |||
oh i was typing %p instead of $p | 01:06 | ||
b2gills | m: .say for Grammar.can('ACCEPTS').map(*.candidates).flat.map(*.signature.params[0].type.^name).unique | 01:07 | |
camelia | Mu Any Match |
||
Summertime | though playing around with it more, if you want to smartmatch against a grammar, you probably are using the grammar wrong (using it as a regex replacement when its not practical for that) | 01:08 | |
it'd only be useful to call parse without corresponding actions when debugging a grammar, I think | 01:09 | ||
b2gills | Kaiepi: There is no way for that to even progress as the `start` has the vow | ||
Kaiepi | i know, i was screwing around to see if i could break something | ||
01:11
markoong left
|
|||
b2gills | m: .say for anon grammar Foo { method ACCEPTS (){}}.can('ACCEPTS').map(*.candidates).flat.map(*.signature.params[0].type.^name).unique | 01:11 | |
camelia | Foo Mu Any Match |
||
b2gills | Summertime: Since grammar is almost exactly the same as a class definition, you can always add one yourself | 01:12 | |
Summertime | ah, that is pretty neat | 01:13 | |
01:14
nightfrog left
|
|||
jnthn | `my $p = start { await $p }` is actually racey. It can die if the code in the `start` block runs before the assignment into `$p`. | 01:15 | |
01:16
warriors joined
01:17
Some-body_ joined,
DarthGandalf left
|
|||
Kaiepi | neat | 01:17 | |
01:17
Some-body_ is now known as DarthGandalf
01:19
nightfrog joined
01:21
xtreak joined
01:22
Kaiepi left
|
|||
Summertime | my token URL { :my token protocol { 'http' | 'https' }; <protocol> } etc etc | 01:28 | |
this seems like a really bad way of not filling up the scope with random names, but it works nicely? | |||
01:30
xtreak left,
uzl joined,
gabiruh joined
|
|||
uzl | Hello #perl6! | 01:33 | |
yoleaux | 20 Jul 2018 15:41Z <jmerelo> uzl: it would be better if you gather helpers and assign chapters to each of them (and meta-reviwers too). Have you used any kind of pro translator software, with thesaurus and so on? | ||
uzl | .tell jmerelo That sounds like a good idea but I'm not sure how to gather helpers. That's the main reason why I put it in the open (well, on #perl6) for if anyone is interested. | 01:36 | |
yoleaux | uzl: I'll pass your message to jmerelo. | ||
uzl | .tell jmerelo Not I haven't used any professional software. All the translation was done manually, albeit consulting multiple sources such as dictionaries, thesaurus, wikipedia entries, etc. | 01:37 | |
yoleaux | uzl: I'll pass your message to jmerelo. | ||
warriors | what did i miss | 01:38 | |
01:42
epony left
01:43
wamba left
01:44
_uzl joined,
_uzl left
01:47
uzl left
01:52
uzl joined
01:53
gabiruh left
01:56
xtreak joined,
Kaiepi joined
|
|||
uzl | I'm reading about Perl 6 Pod and looking for a module that uses it extensively for documentation. I'd like to learn more about how I'd use it to document a program. | 01:57 | |
01:57
uzl left
|
|||
AlexDaniel | treegrep: .pod6 | 02:00 | |
greppable6 | AlexDaniel, gist.github.com/a66dff1b91733d81d8...c9873603b9 | ||
02:06
sauvin left
|
|||
warriors | good luck | 02:07 | |
02:13
sauvin joined
02:18
jeromelanteri left
|
|||
warriors | so perl6 does support nested functions :) why doesnt the docs mention it :) | 02:20 | |
its a need feature | |||
neat | 02:21 | ||
benjikun | warriors: Where would you put that? | 02:26 | |
Under docs.perl6.org/language/functions ? | |||
Seems kind of random to bring up | 02:27 | ||
02:27
konsolebox left
|
|||
warriors | under blocks and lambdas | 02:28 | |
02:30
konsolebox joined
|
|||
Juerd | It does say "By default, subroutines are lexically scoped. That is, sub foo {...} is the same as my sub foo {...} and is only defined within the current scope." which implies they can be nested, but I agree that's obscure if you're looking for the specific feature. | 02:31 | |
warriors: At the bottom of the page there's a link where you can report issues. Would you be willing to report this one? | 02:32 | ||
02:35
jeromelanteri joined
|
|||
Kaiepi | i have a phobia of nested functions after node | 03:02 | |
its garbage collector didn't handle them very well | |||
Zoffix | If you're in Toronto next Thursday (July 26), join the local #Perl Mongers meeting for a double-header #Perl6 talks: "Faster Perl 6 Programs" and "Intro Into Perl 6 Regexes and Grammars". It's free: www.meetup.com/Toronto-Perl-Monger...xwpyxkbjc/ | ||
Kaiepi | hopefully perl's don't leak like that though, they're pretty useful | 03:03 | |
Zoffix | notable6: weekly two P6 talks at Toronto Perl Mongers July 26: twitter.com/zoffix/status/1020867456020213761 | 03:07 | |
notable6 | Zoffix, Noted! | ||
Zoffix | .botsnack | 03:08 | |
yoleaux | :D | ||
Zoffix | .ask jnthn does spesh do anything interesting with type constraints? What's the answer to the question: "Is there any potential performance benefit to specifying `Int` type constraint instead of just leaving it at Mu/Any?" | 03:09 | |
yoleaux | Zoffix: I'll pass your message to jnthn. | ||
Kaiepi | m: my %es5-class = sub { sub ES5Class { my $foo = 1; my $bar = 2; my %prototype; { foo => $foo, bar => $bar, prototype => %prototype } }; my %ret = ES5Class(); %ret<prototype><baz> = 3; %ret; }() | 03:11 | |
camelia | ( no output ) | ||
Kaiepi | m: my %es5-class = sub { sub ES5Class { my $foo = 1; my $bar = 2; my %prototype; { foo => $foo, bar => $bar, prototype => %prototype } }; my %ret = ES5Class(); %ret<prototype><baz> = 3; %ret; }(); say %es5-class | ||
camelia | {bar => 2, foo => 1, prototype => {baz => 3}} | ||
Kaiepi | pointless with classes but you get the idea | 03:12 | |
are IIFEs mentioned in the docs? | 03:13 | ||
03:13
Xliff joined
|
|||
Xliff | \o | 03:14 | |
yoleaux | 21 Jul 2018 08:55Z <CIAvash[m]> Xliff: '%' doesn't allow a trailing '.', '%%' does. | ||
21 Jul 2018 22:24Z <b2gills> Xliff: Was this more of what you were looking for: "aa.bb.cc" ~~ /^ [\w+]+ % '.' $/ | |||
Xliff | m: "aa.bb.cc" ~~ /^ [\w+]+ % '.' $/ | ||
camelia | ( no output ) | ||
Xliff | m: ("aa.bb.cc" ~~ /^ [\w+]+ % '.' $/).say | ||
camelia | 「aa.bb.cc」 | ||
Xliff | m: ("aa.bb." ~~ /^ [\w+]+ % '.' $/).say | ||
camelia | Nil | ||
Xliff | m: ("aa.bb" ~~ /^ [\w+]+ % '.' $/).say | 03:15 | |
camelia | 「aa.bb」 | ||
Xliff | .tell b2gills Thanks! | ||
yoleaux | Xliff: I'll pass your message to b2gills. | ||
tobs | A small doc issue: it says "`say dice + dice;` can print any number between 1 and 12" in docs.perl6.org/language/syntax#Term_term:%3C%3E but you get at least 2 pips from throwing two dice, don't you? | 03:24 | |
Xliff | tobs: I think you might be right. | 03:27 | |
03:27
kaare_ joined
|
|||
Xliff | Minimum value is 2, not 1 | 03:28 | |
03:28
spycrab0 left
03:29
rubio-terra left
|
|||
tobs | not sure if that's worth an issue though. Maybe someone with a commit bit would take care of it. | 03:30 | |
Xliff | m: term:<dice> { (1..6).pick }; say dice + dice for ^100; | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared routines: dice used at line 1. Did you mean 'die'? term:<dice> used at line 1. Did you mean 'term:<time>', 'term:<now>'? |
||
Xliff | Oh dear. Looks like that isn't working at all. | ||
m: term:<dice> { (1..6).pick }; say dice; say dice + dice for ^100; | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared routines: dice used at line 1. Did you mean 'die'? term:<dice> used at line 1. Did you mean 'term:<time>', 'term:<now>'? |
||
Xliff | m: sub dice { (1..6).pick }; say dice; say dice + dice for ^100; | 03:31 | |
camelia | 2 Too many positionals passed; expected 0 arguments but got 1 in sub dice at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
Xliff | m: sub dice() { (1..6).pick }; say dice; say dice + dice for ^100; | ||
camelia | 2 Too many positionals passed; expected 0 arguments but got 1 in sub dice at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
Xliff | m: sub dice() { (1..6).pick }; say dice; say dice() + dice() for ^100; | ||
camelia | 3 7 3 7 7 10 8 8 9 7 9 6 6 4 4 9 7 8 7 6 7 7 3 10 2 6 10 7 7 8 10 4 8 12 8 7 6 7 12 9 10 8 3 7 6 11 7 10 10 5 5 4 5 11 7 9 8 7 7 7 … |
||
Xliff | m: term:<dice> { (1..6).pick }; say dice; say dice() + dice() for ^100; | 03:32 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared routines: dice used at line 1. Did you mean 'die'? term:<dice> used at line 1. Did you mean 'term:<time>', 'term:<now>'? |
||
Xliff | Yeah. Unless I am doing something wrong, term doesn't work as advertised, anymore | ||
Anyone else on who can offer clarification. Y'all know I can be easily conf00sled. | |||
tobs | hum, it works as expected in my rakudo 2018.06 | ||
Xliff | Rakudo Star is at 2018.04 | 03:33 | |
One sec. | |||
tobs | m: sub term:<dice> { (1..6).pick }; say min((dice + dice) xx 1000) | ||
camelia | 2 | ||
Xliff | Ah! SEE! I forgot the "sub" | 03:34 | |
tobs | ha! | ||
Summertime | are pick and roll the same in this situation? | 03:35 | |
tobs | Summertime: I think so | ||
Xliff | OK. After checking 400 iterations, I get a minimum value of 2. | 03:36 | |
tobs: Bug it. It's a minor fix. | |||
tobs | the difference is with vs. without repetition, which doesn't matter for 1 pick | ||
okiedokie | |||
Xliff | Thanks. | 03:37 | |
Summertime | ... do terms take a relatively insane time to create? | 03:38 | |
m: sub term:<a>{};sub term:<b>{};sub term:<c>{};sub term:<d>{};sub term:<e>{} | 03:41 | ||
camelia | ( no output ) | ||
Summertime | m: say (INIT now) - (BEGIN now); sub term:<a>{};sub term:<b>{};sub term:<c>{};sub term:<d>{};sub term:<e>{} | 03:43 | |
camelia | 1.60135126 | ||
Summertime | 1.6 seconds @.@ | 03:44 | |
m: say (INIT now) - (BEGIN now); sub a{};sub b{};sub c{};sub d{};sub e{} | |||
camelia | 0.0166396 | ||
Xliff | The extra flexibility costs. | ||
You don't want to know how badly grammars perform in compilation. | 03:45 | ||
Summertime | thats more than a cost x.x | ||
then again its only compilation cost isn't it | |||
Xliff | m: say (INIT now) - (BEGIN now); say a+b+c+d; sub term:<a>{0};sub term:<b>{1};sub term:<c>{2};sub term:<d>{3};sub term:<e>{4} | 03:46 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared routines: a used at line 1 b used at line 1 c used at line 1 d used at line 1 |
||
Xliff | m: sub term:<a>{0};sub term:<b>{1};sub term:<c>{2};sub term:<d>{3};sub term:<e>{4}; say (INIT now) - (BEGIN now); say a+b+c+d; | ||
camelia | 0.01353 6 |
||
Xliff | m: say (INIT now) - (BEGIN now); sub term:<a>{0};sub term:<b>{1};sub term:<c>{2};sub term:<d>{3};sub term:<e>{4}; say (INIT now) - (BEGIN now); say a+b+c+d; | 03:47 | |
camelia | 2.0916655 0.01418341 6 |
||
Xliff | Ye-ouch. Yeah. Compile time cost. | ||
Summertime | hmm, why do the two begins have such vastly different times? shouldn't both run before the main bulk of compiling? | 03:50 | |
Xliff | m: say (INIT now) - (BEGIN now); sub term:<a>{0};sub term:<b>{1};sub term:<c>{2};sub term:<d>{3};sub term:<e>{4}; sub MAIN { say (INIT now) - (BEGIN now); say a+b+c+d; } | ||
camelia | 2.01751611 0.0148402 6 |
||
Xliff | ^^ Implied MAIN | 03:51 | |
Summertime | yeah but I mean, BEGIN is supposed to be some of the first things touched during compile right? shouldn't scope not matter in that case? | 03:54 | |
'Runs at compile time, as soon as possible,' -> 'Runs at compile time, as soon as compiled'? the prior wording makes it sound like it gets hoisted as a special case | 03:56 | ||
Xliff | What's the best way to convert an int or num to scientific notation? | 04:00 | |
04:01
kaare_ left
|
|||
tobs | m: say pi.fmt("%e") # Xliff | 04:01 | |
camelia | 3.141593e+00 | ||
tobs | that's one way at least | ||
Xliff | tobs++ | 04:02 | |
04:04
Kaiepi left
04:11
xtreak left
|
|||
Zoffix | Summertime: Perl 6 does single-pass parsing, so there's no "main bulk" of compiling. The difference between the two BEGINs is how long it takes to mutate the grammar 5 times to mixin those new terms. You can stick terms/custom ops into a module and it'd get precompiled and you won't need to pay for them on each run of the program. | 04:11 | |
Geth | doc: 28310695bb | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/phasers.pod6 fix bad casing |
04:13 | |
synopsebot | Link: doc.perl6.org/language/phasers | ||
Xliff | Zoffix: In the case of / \w+ % '.' /, what's the best way to add a negation to the following: | ||
Zoffix: In the case of / \w+ % '.' && '.'$/, what's the best way to add a negation to the following: | |||
Zoffix: This is a golf. It's the best way to ask without putting a lot more into the mix that will confuse the issue. | |||
But I want to NEGATE the '.'$ part | 04:14 | ||
Summertime | yeah I was just confused as to what the docs meant, also mind-read my next question with the if-modules-would-make-it-cheaper answer | ||
Geth | doc: 88fff75591 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/phasers.pod6 Expand on BEGIN phaser Be more precise about when it's run and include an example colabti.org/irclogger/irclogger_log...07-22#l177 |
04:21 | |
synopsebot | Link: doc.perl6.org/language/phasers | ||
Zoffix | Xliff: which is what? "not dot that is not at the end"? | ||
What is it meant to match, in plain English? | 04:22 | ||
Xliff | Zoffix: I do NOT want a dot at the end. | ||
namespace.table.field | |||
but not namespace.table. | |||
Zoffix | <!after '.'> $ | ||
Xliff | Of course, to make it more difficult, .table.field is allowed. | ||
And is equivalent to table.field | |||
tobs | m: say (1..100).max; say (1,2,3).max(* R/ 1); say (1..100).max(* R/ 1) | 04:23 | |
camelia | 100 Too many positionals passed; expected 1 argument but got 2 in block <unit> at <tmp> line 1 1 |
||
Zoffix | m: say <namespace.table.field namespace.table. .table.field>.grep: /^ \.? <( \w+ % \. <!after \.> $/ | ||
camelia | () | ||
Xliff | Zoffix++ | 04:24 | |
tobs | m: say (1,2,3).max(* R/ 1) | ||
camelia | 1 | ||
tobs | m: say (1..100).max(* R/ 1) | ||
camelia | Too many positionals passed; expected 1 argument but got 2 in block <unit> at <tmp> line 1 |
||
tobs | m: say (1...100).max(* R/ 1) | 04:25 | |
camelia | 1 | ||
tobs | hmmm, is this correct? | ||
I mean, the error in the middle, with a Range. | |||
Zoffix | m: for <namespace.table.field namespace.table. .table.field> { m/^ \.? <( [\w+ % \.]+ <!after \.> $/ andthen .say } | 04:28 | |
camelia | 「namespace.table.field」 「table.field」 |
||
geekosaur | tobs: docs.perl6.org/routine/max#(Range)_method_max | 04:29 | |
essentially it's an accessor for a Range endpoint, instead of a selector | 04:30 | ||
tobs | m: say (1..100).list.max(* R/ 1) | ||
camelia | 1 | ||
geekosaur | right | ||
tobs | thanks, geekosaur | ||
Zoffix | s: (1..100), 'max', \() | 04:31 | |
SourceBaby | Zoffix, Sauce is at github.com/rakudo/rakudo/blob/cb2e....pm6#L1272 | ||
Zoffix | weird that lookup points to the method method instead of the ancestor | ||
m: ^6 .^lookup("max").file.say | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Malformed postfix call (only alphabetic methods may be detached) at <tmp>:1 ------> 3^6 .7⏏5^lookup("max").file.say |
||
Zoffix | m: (^6).^lookup("max").file.say | ||
camelia | SETTING::src/core/Range.pm6 | ||
geekosaur | no,m that's just hopw I found it, I think | ||
no, that's just how I found it, I think | |||
Zoffix | looks like just a glitch in the bot; the last eval shows right file | 04:32 | |
geekosaur | nothing about how it's defined necessarily, just showing how I went looking for it, then copied the link on the result page | ||
oh | |||
you mean the source bot | |||
Zoffix | Yeah | ||
04:41
Xliff left
|
|||
Summertime | is it possible to use a grammar in a way similar to a regex? (e.g. finding multiple matches against TOP a la m/regex/) | 04:42 | |
or would the best option be to shuffle all my regexes off to a seperate module? | 04:43 | ||
04:44
Kaiepi joined
|
|||
Kaiepi | m: my $g = my grammar { has $.foo is rw; token TOP { [<a> | <b(1)>] c }; token a { a }; method b(Int $foo) { $!foo = $foo; Match.new } }; $g.parse('c'); say $g.foo | 04:44 | |
camelia | Cannot look up attributes in a <anon|1> type object in method foo at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
Kaiepi | how are attributes in grammars meant to be used? | ||
oh wait | 04:45 | ||
m: my $g = my grammar { has $.foo is rw; token TOP { [<a> | <b(1)>] c }; token a { a }; method b(Int $foo) { $!foo = $foo; Match.new } }.new; $g.parse('c'); say $g.foo | |||
camelia | (Any) | ||
Zoffix | m: grammar Foo { token TOP { <bar> | \d+ }; token bar { 'bar' } }; say "bar 42 500" ~~ /<Foo::TOP>/ | 04:53 | |
camelia | 「bar」 Foo::TOP => 「bar」 bar => 「bar」 |
||
Zoffix | m: grammar Foo { token TOP { <bar> | \d+ }; token bar { 'bar' } }; say "bar 42 500" ~~ /<Foo::bar>/ | ||
camelia | 「bar」 Foo::bar => 「bar」 |
||
Zoffix | Summertime: ^ is that what you mean? | ||
Kaiepi: `method b(Int $foo) { $!foo = $foo;` can just be written as `method b(Int $!foo) {` | 04:54 | ||
Kaiepi | yeah, it threw when i tried that | ||
Zoffix | m: my $g = my grammar { has $.foo is rw; token TOP { [<a> | <b(1)>] c }; token a { a }; method b(Int $!foo) { Match.new } }.new; $g.parse('c'); say $g.foo | ||
camelia | (Any) | ||
Kaiepi | weird | 04:55 | |
lemme see which expression i tried that threw | |||
Zoffix | m: grammar Foo { token TOP { <bar> | \d+ }; token bar { 'bar' } }; say "bar 42 500" ~~ /<meows=.Foo::bar>/ | 04:56 | |
camelia | 「bar」 meows => 「bar」 |
||
Zoffix | Summertime: ^ can also rename what the capture captures as like that ^ | ||
Kaiepi | my $g = my grammar { has $.foo; token TOP { a <a: 1> }; method a(Int $!foo) {} }.new; $g.parse('a') | ||
m: my $g = my grammar { has $.foo; token TOP { a <a: 1> }; method a(Int $!foo) {} }.new; $g.parse('a') | |||
camelia | Cannot look up attributes in a Nil type object in regex TOP at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
Kaiepi | oh wait it's not returning a match | 04:57 | |
Zoffix | Yeah, I think that's what's making it unhappy | ||
Kaiepi | m: my $g = my grammar { has $.foo; token TOP { a <a: 1> }; method a(Int $!foo) { Match.new } }.new; $g.parse('a') | ||
camelia | ( no output ) | ||
Kaiepi | yeah that's it | 04:58 | |
04:59
Zoffix left
|
|||
Summertime | Zoffix, exactly what I meant, thanks greatly! | 04:59 | |
06:05
robertle joined
06:10
phogg left
06:24
jmerelo joined
|
|||
jmerelo | releasable6: status | 06:24 | |
yoleaux | 01:36Z <uzl> jmerelo: That sounds like a good idea but I'm not sure how to gather helpers. That's the main reason why I put it in the open (well, on #perl6) for if anyone is interested. | ||
01:37Z <uzl> jmerelo: Not I haven't used any professional software. All the translation was done manually, albeit consulting multiple sources such as dictionaries, thesaurus, wikipedia entries, etc. | |||
releasable6 | jmerelo, Next release will happen when it's ready. 4 blockers. 0 out of 234 commits logged (⚠ 79 warnings) | 06:25 | |
jmerelo, Details: gist.github.com/297fec140641a8658e...468d163185 | |||
jmerelo | .tell uzl for big translations, using some software really helps speed up the process | 06:27 | |
yoleaux | jmerelo: I'll pass your message to uzl. | ||
06:28
Kaiepi left
06:29
AlexDaniel left,
AlexDaniel joined
06:30
Kaiepi joined
|
|||
Geth | doc: 950b22cbaa | (JJ Merelo)++ | doc/Language/syntax.pod6 Fixing arithmetics. And some reflow. Closes #2204, which is absolutely correct. Thanks! |
06:32 | |
synopsebot | Link: doc.perl6.org/language/syntax | ||
06:33
fake_space_whale left
06:35
Sgeo joined
06:38
Sgeo_ left
06:46
warriors left
07:04
phogg joined,
phogg left,
phogg joined
07:05
phogg left
07:07
phogg joined,
phogg left,
phogg joined,
quester left
07:30
jerome__ joined
07:34
jeromelanteri left
07:39
sena_kun joined
07:43
epony joined
07:52
SteffanW joined
07:58
wamba joined
08:06
SteffanW left
08:10
araraloren joined
|
|||
xinming | I saw thtat we can do does to the object, Is it possible to undo that? I mean strip the role off the object. | 08:10 | |
let me try | 08:11 | ||
masak | xinming: you can use `but` and keep the original | ||
xinming | Thanks... | 08:14 | |
Perl6 will be the language lasting for centuries... | |||
our slogan. :-) | |||
I understand why people say 'perl cult'... | |||
araraloren | What does the mixin working ? Is it modify the original object or create a new object ? | 08:15 | |
08:17
pecastro joined
|
|||
masak | xinming: I don't need it to last for centuries, I just want to be able to run it on my phone :P | 08:17 | |
araraloren: `does` modifies the original, `but` clones and then modifies the clone | 08:18 | ||
araraloren | masak sweet | ||
you mean on android ? | 08:19 | ||
masak | yeah, sure. | ||
heck, if it only worked on Windows Phone, I'd consider buying one | |||
araraloren | oh, does someone working on that ? | ||
porting to android | 08:20 | ||
08:20
psychoslave joined
|
|||
xinming | You can compile perl6 to js. and run in browswer of your phone. :-) | 08:20 | |
araraloren | yeah, I see. How about on native of Android ? | 08:21 | |
masak | m: sub mitosis($s1, $s2) { zip($s1.comb, $s2.comb)>>.pick.join }; say mitosis("masak", "sweet") xx 10 | 08:22 | |
camelia | (maeat sweek sweak mwsat mweat maeet maeet saset mweet maset) | ||
masak | sweek! | ||
masak is apparently a bioinformaticist | |||
stmuk | araraloren: I've heard of android ports under debian/libfakeroot (no root needed) | 08:24 | |
araraloren | oh, stmuk | ||
masak | I mean, I have Python on my phone, so why not Perl 6 | 08:25 | |
araraloren | Hmm, perl 5 can run on the phone ? | 08:26 | |
stmuk | I think you can just apt install perl on one of the play store's debians | 08:27 | |
araraloren | oh | 08:28 | |
masak | wait, "one of the play store's debians"? o.O | ||
I feel like I walked in on an alternate plot line here | |||
araraloren | yeah, atually I am not understand what he said :( | 08:29 | |
masak immediately finds "debian noroot" in the app store | 08:30 | ||
stmuk | maybe people favour this one now (not sure) | 08:33 | |
play.google.com/store/apps/details...com.termux | |||
termux.com/ | 08:36 | ||
Up-to-date versions of Perl, Python, Ruby and Node.js are all available. | 08:37 | ||
masak | ooh | 08:50 | |
stmuk: ...wow, that works beautifully. thank you. | 08:52 | ||
you've made my day :> | |||
still, I'd also like Perl 6 on there :) | |||
El_Che | masak: github.com/termux/termux-packages | 09:00 | |
masak: I guess you'll bump against rakudo not being relocatable | 09:01 | ||
it doesn't look like it does a chroot or similar | 09:02 | ||
09:03
benjikun left
|
|||
stmuk | I think it's roughly like chroot | 09:05 | |
proot-me.github.io/ and packages.debian.org/sid/libfakeroot | |||
I need to try a rakudo build | 09:06 | ||
09:10
xinming_ joined
09:13
xinming left,
HaraldJoerg joined
09:21
spycrab0 joined
09:30
psychoslave left
09:33
skids joined
09:36
jerome__ left
09:41
pmurias joined
|
|||
jmerelo | Help with this? stackoverflow.com/questions/514635...t-it-right | 09:50 | |
09:51
kaare_ joined
09:57
Zoffix joined
|
|||
Zoffix | jmerelo: .^lookup | 09:58 | |
moritz | I'll answer | ||
Zoffix | m: class Foo { has $thing = "baz"; method bar() { say $thing } }; sub quux( Callable $flimflam ) { $flimflam() }; my $foo = Foo.new; quux $foo.^lookup('bar').assuming: $foo; | 09:59 | |
camelia | baz | ||
Zoffix | The .assuming bit is just to stick the invocant as the first arg. | ||
The .^lookup returns the Method object that you can call, but you need to give it a valid arg to use as an invocant. | 10:00 | ||
There's also .^can that gives a list of methods, walking the MRO | 10:01 | ||
and .cando method that takes a Capture and gives a sorted list of candidates that can handle those args | |||
10:01
lizmat left
10:02
skids left
|
|||
jmerelo | moritz, zoffix: thanks. | 10:02 | |
moritz, zoffix: no simpler syntax, right? You simply have to go through the MOP. | 10:03 | ||
araraloren | I think no simple syntax | ||
Zoffix | Looks fairly simple as is :) | ||
10:04
Ven`` joined
|
|||
jmerelo | moritz, zoffix: as a workaround I simply defined a pointy block around that... | 10:04 | |
moritz | well, in python it's simpler | ||
Zoffix | moritz: what is it in python? | ||
moritz | in python, foo.bar() calls the method, and foo.bar returns the method bound to foo | ||
Zoffix | Ah | ||
araraloren | is python support multi candidates ? | ||
Zoffix rather use the .^lookup and #DeathToParens on regular calls | 10:05 | ||
jmerelo: that sounds good too. It doesn't have to be pointy; {$obj.meth} does the trick too | 10:06 | ||
10:10
ilogger2 joined,
ChanServ sets mode: +v ilogger2
|
|||
jmerelo | Zoffix: thanks | 10:22 | |
10:24
rindolf joined
|
|||
moritz | anything missing from my SO answer? | 10:24 | |
Zoffix | moritz: yes, the closing parentheses in the first sentence | 10:27 | |
:) | |||
moritz | fixed, and linkified lookup | 10:30 | |
jmerelo | And another one: stackoverflow.com/questions/514643...d-on-a-mix | 10:47 | |
pick is apparently still in Baggy github.com/rakudo/rakudo/blob/7629.../Baggy.pm6 | 10:49 | ||
10:49
reportable6 joined,
ChanServ sets mode: +v reportable6
|
|||
jmerelo | And Mixy does Baggy but does not support pick? github.com/rakudo/rakudo/blob/7629...e/Mixy.pm6 | 10:50 | |
10:51
Zoffix joined,
SteffanW joined
|
|||
Zoffix | jmerelo: that's a bit of a silly SO question, innit? The error is fairly explanatory | 10:52 | |
jmerelo | Zoffix: yep, but I wonder why. It's implementing that role, but overriding some functions and printing errors. It's more of a documentation question, I guess. | 10:53 | |
Zoffix: I've rephrased the question. | 10:54 | ||
Zoffix: I mean, by looking at the source I see I should use roll, instead of pick. But It's not clear to me why that's so. | 10:56 | ||
Zoffix | jmerelo: .roll and .pick are different features. | 10:58 | |
jmerelo: .pick requires removal of probabilities from the original, but you got non-integral weights and there's nothing to remove. It's like picking apples from a bag vs. picking paint from a can of paint. | 10:59 | ||
jmerelo | Zoffix: OK. | 11:00 | |
Zoffix: so maybe the Baggy role should be divided into two different roles. Pickable and Rollable. Or just put pick on its very own role. | |||
Zoffix: I'll put an issue in the documentation to fix that. | 11:01 | ||
If you are going to attend TPC in Glasgow, maybe you'd be interested in joining the perl6/doc BoF act.perlconference.org/tpc-2018-gla...tion%20BoF | 11:06 | ||
Geth | doc/mixy-meth: c32b4b35b2 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/Mixy.pod6 Document Mixy.pick/.grab/.kxxv Potential fix for D#2205 github.com/perl6/doc/issues/2205 pending resolution of github.com/rakudo/rakudo/issues/2109 |
11:13 | |
synopsebot | D#2205 [open]: github.com/perl6/doc/issues/2205 [docs][update] Document overriden roles in Mixy | ||
11:15
markoong joined
|
|||
jmerelo | Zoffix++ | 11:16 | |
releasable6: status | 11:17 | ||
releasable6 | jmerelo, Next release will happen when it's ready. 4 blockers. 0 out of 234 commits logged (⚠ 79 warnings) | ||
jmerelo, Details: gist.github.com/fd4aa1d9b697577d03...aa949f1ed6 | |||
Zoffix | jmerelo: what's "BoF"? | 11:25 | |
jmerelo | Zoffix: Birds of a Feather. Kinda workshop-inside-a-conference | ||
Zoffix | ah | 11:26 | |
jmerelo | Zoffix: will you be attending? | ||
Zoffix | No. I only attend things in Canada within 12-hour driving distance. | 11:28 | |
jmerelo | Zoffix: Glasgow is definitely not withing that range. Unless you drive jets. | 11:29 | |
11:43
kaare__ joined
11:44
Zoffix left
12:12
xtreak joined
12:20
Ven`` joined
12:21
xtreak left
|
|||
tbrowder_ | Zoffix: any interest in your area for a p6 gathering of some kind? would the Toronto PM be interested in hosting some kind of thng like the recent NL workshop! | 12:27 | |
s/!/?/ | |||
i keep seeing stats on most p6 people are in NA but where are they? | 12:28 | ||
i feel like the lone ranger sometimes. util is the closest one to me i know of and he’s about 200+ miles away. | 12:30 | ||
Geth | doc: mienaikage++ created pull request #2206: Add WinCompose to unicode_entry |
12:33 | |
12:44
curty joined
12:47
curty left
12:56
gabiruh joined
13:00
rindolf left
|
|||
ecocode | zef seems to install modules in $HOME/.perl6. But the structure of that directory is full of unreadable directories. How can I locate the directory in which a particular module has been installed? | 13:00 | |
13:02
luffysenpai joined
|
|||
El_Che | ecocode: that not zef, but rakudo sha1 dirs for precompiled modules | 13:03 | |
ecocode | well I found zef locate should show the dir but it doesn't | 13:04 | |
zef locate Cro::HTTP | |||
jnthn | Seems to do so for me | ||
ecocode | ===> From Distribution: Cro::HTTP:ver<0.7.6.1>:auth<>:api<> | ||
jnthn | Cro::HTTP is a distribution, not a module | ||
luffysenpai | Hello Zoffix | ||
jnthn | Try `zef locate Cro::HTTP::Auth` for example | ||
ecocode | ah | ||
jnthn: works! | 13:05 | ||
thx ! | |||
El_Che: learned something ;) | |||
luffysenpai | Guys the pre-existing modules for the russian txt are down | ||
El_Che | ecocode: I am sure there are pretty good reasons for the SHA1 thing, but not a fan. I am always confused as you are :) | 13:06 | |
jnthn | ecocode: Also note that while you can use this to look at what the source of an installed module is, you can't expect to edit the source files and have the changes take effect. An installation repository will go for the precompiled bytecode. | 13:08 | |
The source is retained mostly for the purpose of being able to generate updated precompilations upon Rakudo upgrades. | |||
El_Che | ecocode: most of the time I end up nuking ~/.perl6 and reinstall stuff | ||
jnthn | If wanting to tinker with a module, grab a checkout of its source, and then stick -Ipath/to/that/source and that source version will take priority over the installed one. | 13:10 | |
ecocode | jnthn: ok | 13:11 | |
I wanted to be sure I had the latest source from git repo. | 13:12 | ||
so the locate thing was ok for that | |||
good to know about the -I priority stuff though | 13:13 | ||
13:14
rindolf joined
13:16
Ven`` left
13:17
konsolebox joined
13:21
kaare__ left
13:22
luffysenpai left
|
|||
ecocode | El_Che: I'm learning perl6 and cro simultaneously.. it ain't an easy path ;) | 13:25 | |
Kaiepi | cro looks really neat | 13:26 | |
ecocode | and I added Koos to the list | ||
Kaiepi | what are you working on? | 13:27 | |
13:28
gabiruh left
|
|||
El_Che | ecocode: good choice. I approve :) | 13:28 | |
pmurias | nqp-truffle now passes 19 nqp test files :) | ||
ecocode | Kaiepi: writing a test app | ||
hoping to setup a REST API to my mysql db | |||
El_Che | pmurias: with graalvm being so fast, has your port the potential to be faster than rakudo? | 13:29 | |
ecocode | then add frontend with probably vuejs | ||
but that is far far away | |||
Kaiepi | nice | 13:30 | |
Geth | doc: d60553a801 | (Daniel Mita)++ | doc/Language/unicode_entry.pod6 Add WinCompose to unicode_entry |
13:37 | |
doc: ea00aa4e4e | (Daniel Mita)++ | doc/Language/unicode_entry.pod6 Remove WinCompose unicode code point paragraph |
|||
synopsebot | Link: doc.perl6.org/language/unicode_entry | ||
doc: cd3bb6523a | (Aleks-Daniel Jakimenko-Aleksejev)++ (committed using GitHub Web editor) | doc/Language/unicode_entry.pod6 Merge pull request #2206 from mienaikage/wincompose Add WinCompose to unicode_entry |
|||
13:39
jameslenz joined,
mscha joined
|
|||
pmurias | El_Che: rakudo-truffle being a lot faster then rakudo-moarvm currently is the plan | 13:39 | |
mscha | m: my $start = now; say await (0..5).map(-> $i { start { say "a$i"; sleep $i/5; say "b$i"; $i } }); say (now - $start).fmt('%.2f'), 's' | 13:42 | |
camelia | a0 b0 a1 a2 a3 a4 a5 b1 b2 b3 b4 b5 (0 1 2 3 4 5) 1.07s |
||
mscha | m: my $start = now; say await (0..5).map(-> $i { start { slip gather { say "a$i"; sleep $i/5; say "b$i"; take $i } } }); say (now - $start).fmt('%.2f'), 's' | ||
camelia | a0 b0 a1 b1 a2 b2 a3 b3 a4 b4 a5 b5 (0 1 2 3 4 5) 3.01s |
||
Kaiepi | oh, i was wondering what that was about | ||
mscha | Any idea why the second example doesn't run concurrently? | ||
The `gather` appears to break concurrency. | 13:43 | ||
13:43
xtreak joined
13:47
Ven`` joined
13:52
aborazmeh joined,
aborazmeh left,
aborazmeh joined
14:01
aborazmeh left
14:03
MilkmanDan joined
|
|||
pmurias | El_Che: performance is hard to make super solid predictions about, as it involves complex systems full of heuristics | 14:05 | |
El_Che | pmurias: hard core :) | 14:10 | |
jnthn | mscha: gather is lazy, the Promise evaluates to a lazy thing, and it's evaluated upon the assignment into the array after the `await` | 14:15 | |
mscha: Try putting an "eager" in before the `gather` | |||
14:25
pmurias joined
14:26
rindolf left
14:27
rindolf joined
|
|||
mscha | m: my $start = now; say await (0..5).map(-> $i { start { slip eager gather { say "a$i"; sleep $i/5; say "b$i"; take $i } } }); say (now - $start).fmt('%.2f'), 's' | 14:28 | |
camelia | a0 b0 a1 a2 a3 a4 a5 b1 b2 b3 b4 b5 (0 1 2 3 4 5) 1.07s |
||
mscha | jnthn, thanks, clear! | ||
pmurias | El_Che: but the general idea is as Truffle is good at running things that where designed without regards to how they can be optimized it likely will be a good fit for Perl 6 | 14:40 | |
El_Che | pmurias: an universal VM like parrot wanted to be? | ||
pmurias | it's what parrot was intended to be | 14:41 | |
only instead of providing an ill fitting set of ops they give you a toolset to build your own JIT that can be combined efficently with others | 14:43 | ||
moritz | sounds a bit likey pypy | 14:46 | |
pmurias | moritz: same goal, different implementation | 14:48 | |
14:48
zakharyas joined
|
|||
pmurias | plus Truffle/GraalVM is being pushed by a huge corporation planning on grabbing a bunch of markets | 14:48 | |
moritz | and typically the second project to try something like this can learn something from the first :-) | 14:50 | |
xinming_ | anyone here knows how I can do perlito6 to compile perl6 code to js? | 14:51 | |
I'm in perlito git repo, and in src6, I run perl6 -Ilib util/perlito6.pl | 14:53 | ||
14:53
kaare__ joined
|
|||
xinming_ | It seems missing modules. | 14:53 | |
14:56
molaf joined
|
|||
xinming_ | ignore me, I got some clues, will try more | 14:57 | |
14:58
warriors joined
15:04
zakharyas left
15:09
zakharyas joined,
[particle] joined
15:14
[particle] left
15:16
[particle] joined
15:20
xtreak left
15:21
xi- joined,
araraloren_ joined
15:23
MilkmanDan left,
araraloren__ joined
15:24
MilkmanDan joined
15:26
araraloren__ left,
araraloren_ left
15:30
xtreak joined
15:31
xtreak left
15:42
konsolebox left
|
|||
timotimo | i always use the online version of perlito6 to do it | 15:48 | |
fglock.github.io/Perlito/perlito/perlito6.html | |||
xinming_: ^ | |||
15:54
subroot joined
15:55
Ven`` left
|
|||
stmuk | . | 16:03 | |
16:12
fake_space_whale joined
|
|||
Geth | doc: 06b068dda4 | (JJ Merelo)++ | doc/Language/functions.pod6 Eliminates indentation |
16:17 | |
synopsebot | Link: doc.perl6.org/language/functions | ||
xinming_ | timotimo: THanks, I just wish to write do some testing on write somecode in perl6 for browser | 16:19 | |
16:20
fake_space_whale left
16:24
Zoffix joined
|
|||
Zoffix | luffysenpai, what do you mean? Which modules are down? | 16:24 | |
yoleaux | 12:16Z <jnthn> Zoffix: In various places, Mu is treated as "don't even type check this", which is why we can use it to pass around non-Perl 6 types (e.g. NQP types, VM-provided objects). So that sounds like a win. But then if we have `sub foo(Int $i) { }` then it spots Int !~~ Iterable and Iterable !~~ Int and then emits code that just deconts any incoming value but does *not* wrap it up in a readonly Scalar. For | ||
12:18Z <jnthn> Zoffix: So far as spesh goes, it will try to eliminate whatever type checks it can, usually replacing them with much cheaper deopt guards. In some cases, it do one guard of something and then avoid re-checking later, so removing type checks from whole chains of calls. | |||
12:21Z <jnthn> Zoffix: In summary, you stand to get better memory behavior with declaring the types, and in places where the default would be Any then it's all the same to spesh, so Any has no performance benefit over Int. | |||
Zoffix | Thanks. | ||
16:34
fake_space_whale joined,
andrzejku joined
|
|||
andrzejku | hi all | 16:35 | |
Geth | doc/coke/build: 926c8df9f6 | (Will "Coke" Coleda)++ | 2 files add standard progress bar |
16:36 | |
buggable | New CPAN upload: Chart-Gnuplot-0.0.6.tar.gz by TITSUKI modules.perl6.org/dist/Chart::Gnupl...an:TITSUKI | 16:40 | |
Zoffix | \o | 16:41 | |
16:42
mscha left
|
|||
andrzejku | Zoffix: we will copy your doc style | 16:44 | |
Zoffix: I hope you will be no angry | |||
Kaiepi | qemu has blazing fast speed for testing builds | 16:46 | |
Stage parse : 1481.007 | |||
some time tonight we'll see if there are any issues on netbsd at least | 16:48 | ||
ownTheLibs | hmmmmm... | ||
I did according to the instructions on the rakudo-pkg github page | |||
The repository 'dl.bintray.com/nxadm/rakudo-pkg-debs sarah Release' does not have a Release file. | 16:49 | ||
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use. | |||
that's the error I get after executing the three lines | |||
on Linux Mint, that's Ubu/Debian compatible | 16:50 | ||
16:51
robertle joined
|
|||
Zoffix | El_Che: ^ are you around? | 16:52 | |
andrzejku: knock yourself out | |||
mst | andrzejku: just everybody who has to read it | ||
mst runs | |||
andrzejku | Zoffix: what that mean? | 16:53 | |
mst | andrzejku: hea means "go for it" | ||
andrzejku | mst: ok thnks | ||
mst | andrzejku: and I was just being silly | ||
Zoffix | andrzejku: idioms.thefreedictionary.com/knock+yourself+out | 16:54 | |
ownTheLibs: installs for me on Bodhi Linux, but it's using "trusty Release" for the stuff. Doesn't look like `sarah` is available: dl.bintray.com/nxadm/rakudo-pkg-debs/dists/ | 16:59 | ||
ownTheLibs: El_Che is the author of those packages. They should be able to make builds for Mint too | |||
ownTheLibs: you could use docker `docker pull rakudo-star` from source: rakudo.org/files/star/source | 17:00 | ||
ownTheLibs: that's for Rakudo Star distribution that includes some modules. If you want the compiler-only (slightly newer), the instructions are these: rakudo.org/files/rakudo/source | 17:01 | ||
17:07
zakharyas left
17:09
zakharyas joined
|
|||
ownTheLibs | Zoffix: thanks will look into the docker | 17:10 | |
would need to learn the system first, but anyways | 17:11 | ||
Zoffix | ownTheLibs: I missed some words in that sentence. Should've been "you could use docker `docker pull rakudo-star` or build from source: rakudo.org/files/star/source" | 17:12 | |
The docker page is this: hub.docker.com/_/rakudo-star/ | 17:13 | ||
Don't know docker either. I just build the compiler from source. | |||
El_Che | ownTheLibs: it looks like an error in the instructions | ||
ah mint, I see | |||
17:14
noganex joined
|
|||
El_Che | if it's based on Ubuntu 18.04 "deb dl.bintray.com/nxadm/rakudo-pkg-debs bionic main" will work | 17:14 | |
Linux mint was based on 16.04 | 17:18 | ||
so, you would use "xenial" instead of "bionic" | 17:19 | ||
17:19
Zoffix left
|
|||
El_Che | en.wikipedia.org/wiki/Linux_Mint_v...on_history | 17:19 | |
ownTheLibs | aye will try changing that | 17:23 | |
altho I think sarah should work? | 17:24 | ||
El_Che | I am looking at the bintray api if I can create an alias (no way on the ui) | ||
ownTheLibs | now it seems to install it! | 17:25 | |
El_Che | I should be able to add the mint codenames | 17:28 | |
ecocode | if I want to add my own methods to a Role roleA from a cpan module, should I create a new roleB which somehow 'does RoleA' ? | 17:29 | |
El_Che | ownTheLibs: I added build support for mint, will see with the next release of the packages are correctly upgraded to the repo | 17:32 | |
ownTheLibs: for now use the corresponding ubuntu name | |||
en.wikipedia.org/wiki/Linux_Mint_v...on_history | |||
xinming_ | Is perl6 function concator uses o as infix? | 17:37 | |
if so, it's not defined in rakudo. :-) | |||
it's defined, I know where the mistake is | 17:38 | ||
ownTheLibs | El_Che: thanks, it was solved by doing s/sarah/xenial/ | 17:39 | |
El_Che | yes, but I changed the upload mechanisch to create sarah and co on the repo | ||
timotimo | "feel free" | 17:40 | |
oh i was scrolled up | |||
El_Che | so in the next releases it should work out of the box | ||
ownTheLibs | nice | ||
17:42
Sgeo_ joined
17:46
SteffanW left
|
|||
Kaiepi | where can i get a list of flapper tests? | 17:57 | |
AlexDaniel | Kaiepi: oh… hmm | 17:58 | |
quotable6: ZOFF?LOP | 17:59 | ||
quotable6 | AlexDaniel, OK, working on it! This may take up to three minutes (4582161 messages to process) | ||
AlexDaniel, 224 messages (2017-04-14⌁2018-04-28): gist.github.com/20546e30a6d33a518b...2e9845eda1 | 18:00 | ||
Kaiepi | sweet thanks | ||
AlexDaniel | Kaiepi: note that it doesn't include the most recent ones | ||
because irclog.perlgeek.de/ went down | |||
the bot should be tweaked to use colabti.org/ instead | 18:01 | ||
I guess… | |||
Kaiepi | oh | 18:03 | |
AlexDaniel | it's a good list anyway | 18:04 | |
18:04
pioneer42 joined,
zakharyas left
18:08
[particle] left,
[particle] joined
18:11
sivoais joined,
pioneer42 left
18:12
domidumont joined
18:14
pmurias left
18:18
domidumont left,
domidumont joined
18:19
zakharyas joined
18:20
pmurias joined
|
|||
Kaiepi | timotimo ++ on that io::socket::async commit | 18:26 | |
working out how to get the server's fd's without being hacky's been the only thing keeping me from pullreqing | 18:27 | ||
timotimo | <3 | 18:30 | |
jmaslak++ for nudging WRT the port thing | 18:31 | ||
18:32
andrzejku left
18:33
spycrab0 joined
|
|||
timotimo | would be good to know if it actually works right in every conceivable situation | 18:38 | |
i really only tested successful invocations (because it's hard to get a "port already in use" when using port 0) | 18:39 | ||
oh, hm, my test code might actually not have been corretc! | |||
El_Che | port 0? | 18:40 | |
timotimo | seems to work! | 18:41 | |
yup, port 0 asks the OS to give you a random free port to bind to | |||
you were already able to use it, but you had no simple way to figure out what port you got | |||
El_Che | really? | ||
timotimo | it's true! | ||
El_Che | something on the OS level or rakudo specific? | ||
timotimo | the problem was rakudo specific | 18:42 | |
required changes in moarvm, nqp (for the java impl) and rakudo (to actually use the info it got) | |||
El_Che | sudo sshd -p 0 | ||
Bad port number. | |||
timotimo | that's probably sshd refusing to accept 0 | 18:43 | |
but when you pass 0 to the bind function at the C level, it'll do what i described | |||
El_Che | interesting | ||
timotimo | i think this also usually happens for the local port when you connect to a server socket | 18:44 | |
i.e. you hardly ever have to worry about what port to use locally for an outgoing connection | |||
El_Che | timotimo: indeed, nc does it | ||
nc -l 0 | |||
TCP *:46515 (LISTEN) | |||
18:47
Sgeo_ left
|
|||
robertle | reminds me of something else: when binding a port through rakudo, I seem to be able to bind to only an ipv4 or an ipv6 interface, but not to both at the same time like I get with a posix bind() | 18:51 | |
so for example listen('localhost', 1234) will bind to ::1 on this machine, and to 127.0.0.1 at work, depending on system configuration. how can I bind to a port, but not to a specific address? | 18:53 | ||
this would also cause trouble opn multi-address machines independently of ipv4/ipv6... | |||
well, the | 19:01 | ||
Kaiepi | just binding to ::1 causes trouble on mine | ||
i have to use 127.0.0.1 instead of localhost | |||
robertle | latter is a bit different, ignore that. but in general it seems strange that you have to supply a hostname | ||
Kaiepi: I guess if you do that then you cannot connect remotely? with 0.0.0.0 you can connect remotely, but not over ipv6... | 19:02 | ||
Kaiepi | nope, my network doesn't support ipv6 | 19:04 | |
19:04
zakharyas left
|
|||
Kaiepi | i'm planning on getting a 6to4 tunnel set up though | 19:04 | |
19:05
zakharyas joined
|
|||
Geth | ecosystem: b7900214c4 | (Fernando Correa de Oliveira)++ (committed using GitHub Web editor) | META.list Add SeqSplitter to the ecosystem Adding github.com/FCO/SeqSplitter to the ecosystem |
19:05 | |
robertle | heh, I have the opposite problem: you can't get ipv4 connected (both ways) internet anymore... | ||
19:10
domidumont left
19:11
damaxi joined
19:19
vrurg joined
19:35
Kaiepi joined
19:42
HaraldJoerg1 joined
19:44
plutes joined
19:47
psychoslave joined
20:04
zakharyas left
20:08
dct joined
20:11
dct left
20:21
zakharyas joined
20:23
[Sno] joined
20:31
Kaiepi left,
Kaiepi joined
20:39
psychoslave left
|
|||
Kaiepi | netbsd's failing a lot of tests in the stresstest so far | 20:44 | |
9 tests and it's around a third of the way through | |||
20:46
cognominal joined
20:47
damaxi left
20:54
zakharyas left,
pmurias left
|
|||
Kaiepi | 5 not being floppers | 20:55 | |
20:58
damaxi joined
21:01
brrt joined
|
|||
brrt | \o #perl6 | 21:01 | |
what is the correct way to install p6doc | |||
i'm trying to do this with zef, and I can't | |||
21:04
damaxi left
21:07
MasterDuke joined
|
|||
warriors | what errors are u getting | 21:11 | |
21:15
eliasr joined,
cognominal left
21:16
cognominal joined
|
|||
brrt | lemmesee | 21:22 | |
Aborting due to build failure: p6doc:ver<1.001001> (use --force-build to override) | 21:23 | ||
warriors | which Perl6 version do you have | 21:33 | |
to cut it short | |||
21:36
molaf left
|
|||
warriors | i know they p6doc can fail because of some test that depend on perl6 2018 c | 21:36 | |
so upgrade to the latest Perl6 2018.c | |||
and try again | |||
:) | |||
21:37
Zoffix joined
|
|||
Zoffix | brrt: zef update | 21:37 | |
brrt | i'll try zoffix | 21:41 | |
nope, that doesn't work | 21:42 | ||
Zoffix | brrt: what does `zef info p6doc` produce? | ||
brrt: specifically, the version in `- Identity: p6doc:ver<1.002>` | 21:43 | ||
brrt: basically your zef is getting too old a version somehow. `zef update` should've fixed it. You can try `zef --/cached --debug install p6doc` to ensure it's not using something from cache and to get more debug info out. If you don't wanna figure out why it's broken, `zef install github.com/perl6/doc.git` will work | 21:48 | ||
21:57
lizmat joined
|
|||
Zoffix | m: "aa" ~~ /a a/ | 21:58 | |
camelia | Potential difficulties: Space is not significant here; please use quotes or :s (:sigspace) modifier (or, to suppress this warning, omit the space, or otherwise change the spacing) at <tmp>:1 ------> 3"aa" ~~ /a7⏏5 a/ |
||
Zoffix | "or otherwise change the spacing" <--- like what? Changing by adding more spaces doesn't help | ||
brrt | i'll retry without cached | ||
geekosaur | fwiw I've been having the same problem, --/cached doesn't help | 22:00 | |
22:03
subroot left
22:07
kerframil joined
22:18
robertle left
22:22
brrt left
22:27
konsolebox joined,
Zoffix left
|
|||
warriors | i also have a weird problem with p6doc, p6doc Str works on windows but not on linux, on linux it doesnt do anything | 22:54 | |
weirdness | |||
actually on linux it tells me no such type 'Str' | 22:56 | ||
geekosaur | it's an error in the docs | 23:07 | |
I get: ===FATAL: Table 4 has a mixture of visible and invisible column-separator types. | 23:08 | ||
23:31
TreyHarris joined
|
|||
Geth | doc: 25b80a9d29 | (Nick Logan)++ (committed using GitHub Web editor) | META6.json Fix version continuity github.com/perl6/doc/commit/5bedf6...dc41441b8f changed the version to a format incompatible with prior versions. See: $ perl6 -e 'say Version.new("1.001001") cmp Version.new("1.002")' More ... (5 more lines) |
23:34 | |
23:39
|oLa| joined
23:40
raschipi joined
|
|||
geekosaur | yey | 23:45 | |
23:45
fake_space_whale left
23:55
Zoffix joined,
markoong left
|
|||
Zoffix | gah. I had the thought of doing the comparison, but thought .002 was obviously larger >_< | 23:56 | |
What is `cc` quote tweak used for? github.com/rakudo/rakudo/blob/mast....nqp#L5263 | 23:57 | ||
It's not in the docs. In code, I can only find it mentioned on the tr///, but trying to use it says it's not allowed | |||
m: tr:c/// | |||
camelia | No such method 'trans' for invocant of type 'Any' in block <unit> at <tmp> line 1 |
||
Zoffix | m: $_ = "x"; tr:c/// | ||
camelia | ( no output ) | ||
Zoffix | m: $_ = "x"; tr:cc/// | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Adverb cc not allowed on transliteration at <tmp>:1 ------> 3$_ = "x"; tr:cc///7⏏5<EOL> |