🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku Set by ChanServ on 14 October 2019. |
|||
00:13
Wahnberger left
00:22
jaldhar_ left,
jaldhar_ joined
00:23
jaldhar_ left
00:24
jaldhar_ joined
00:34
jaldhar_ left,
jaldhar_ joined,
chloekek left
00:38
wildtrees left
00:39
jaldhar_ left
00:40
jaldhar_ joined
00:41
jaldhar_ left
00:42
RubioTerra left,
jaldhar_ joined
00:46
Altai-man_ left
|
|||
SmokeMachine | xinming: I've started implementing json for SQLite (github.com/FCO/Red/commit/57e86fea...77cb84a19) if you would like to take a look... | 00:57 | |
00:57
jaldhar_ left
00:58
jaldhar_ joined
|
|||
SmokeMachine | xinming: an example www.irccloud.com/pastebin/RgUpYYHa/ | 00:58 | |
01:16
ZzZombo_ joined
01:19
ZzZombo_ is now known as ZzZombo
01:41
jaldhar_ left
01:42
jaldhar_ joined
01:48
veesh_ joined
01:50
veesh left
01:51
veesh_ is now known as veesh
|
|||
xinming | SmokeMachine: I don't think we need to enable update support for json columns, The reason is, app level support is enough. Even in Pg, IIRC, If we want to update the json column, We'll have to update the whole column too. | 01:57 | |
02:07
jaldhar_ left
02:08
jaldhar_ joined
02:10
jaldhar_ left,
jaldhar_ joined
02:12
jaldhar_ left,
jaldhar_ joined
|
|||
guifa | .tell senakun I just looked back at my calendar code, it was apparently a lot more alpha status than beta status like I thought and so def not usable for what you needed. Sorry if you ended up spending more time than necessary realizing that in testing | 02:19 | |
tellable6 | guifa, I'll pass your message to sena_kun | ||
SmokeMachine | xinming: we need it, because one may need, for example, update a Json field in a json column for every record on a table... and looping for every row, and updating isn’t a good idea... | 02:21 | |
02:39
Xliff joined
|
|||
Xliff | . | 02:40 | |
02:43
hythm joined
|
|||
Xliff | o/ | 02:44 | |
hythm | Xliff, wondering if you know off the top of your head, when selecting GTK FlowBox children by clicking the mouse button and drag to form a rectangle, the current behavior is selecting all the children range between button press to button release... is there a way to change this to select only the children under the formed rectangle? | 03:03 | |
Xliff | Hmmm... | ||
That's a hardcoded GTK thing. | |||
I will have to look into it. | |||
Yeah. It's built into flowbox. | 03:04 | ||
developer.gnome.org/gtk3/stable/gt...ectionMode | |||
hythm | ok thanks, I thought its some kind of a setting, like SELECT_MODE_MULTIPLE or something,, i searched online but did not find anything useful | 03:05 | |
Xliff | That looks to be the only control you have. | ||
You do have GTK_SELECTION_MULTIPLE | |||
hythm | right, this is the one that allow selecting multiple childrens | ||
Xliff | Yes. | 03:06 | |
But how the children are selected is left to the flowbox implementation. | |||
hythm | makes sense... i thought its common thing, as for example its most natural,,, like selecting multiple files in a file manager application | 03:07 | |
Xliff | Unfortunately, I don't know of a way to do what you suggest without reimplenting flowbox, which is non-trivial. | ||
And probably best left to C code. | 03:08 | ||
hythm | got it | ||
Xliff | You would have to do CTRL-click to have precise selection options. | 03:09 | |
Your way makes more sense, though. | |||
hythm | yes, thats what im doing | ||
Xliff | :) | ||
03:18
stoned75 joined
03:31
stoned75 left
|
|||
ZzZombo | m: my $a = 1, $b := $a;$a = Nil;dd $b | 03:39 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '$b' is not declared at <tmp>:1 ------> 3my $a = 1, 7⏏5$b := $a;$a = Nil;dd $b |
||
ZzZombo | m: my $a = 1;my $b := $a;$a = Nil;dd $b | ||
camelia | Any $a = Any | ||
ZzZombo | Why does this report `$a` rather than `$b`? | ||
Xliff | You bound $b to $a | 03:40 | |
03:49
jaldhar_ left,
jaldhar_ joined
04:23
hythm left
|
|||
Xliff | What's the best way to recompile perl6 after rakudobrew has installed it? | 04:52 | |
Also: Why am I getting this -- Unhandled exception: Missing or wrong version of dependency 'gen/moar/Grammar.nqp' (from 'gen/moar/perl6.nqp') | 04:54 | ||
Trying to rebuild nqp in nqp/ I get this -- Unhandled exception: Missing or wrong version of dependency 'gen/moar/stage2/MASTNodes.nqp' (from 'gen/moar/stage2/NQP.nqp') | 04:56 | ||
dir | 05:19 | ||
05:27
wamba joined
06:05
jmerelo joined
06:23
Geth left
07:00
wamba left
07:42
jmerelo left
08:11
Xliff left
08:31
xinming_ joined
08:33
xinming left
08:38
mid_home left
09:03
scimon joined
|
|||
scimon | Morning | 09:03 | |
09:10
sena_kun joined
|
|||
ZzZombo | m: Blob.new.^methods>>.say | 09:23 | |
camelia | STORE allocate read-int8 read-int16 read-int32 read-int64 read-int128 read-uint8 read-uint16 read-uint32 read-uint64 read-uint128 read-num32 read-num64 read-bits read-ubits Capture Numeric Int bytes chars deco… |
||
ZzZombo | m: Blob.new.write(my $a=1).say | ||
camelia | No such method 'write' for invocant of type 'Blob' in block <unit> at <tmp> line 1 |
||
ZzZombo | m: Blob.new.write-uint8(my $a=1).say | ||
camelia | No such method 'write-uint8' for invocant of type 'Blob' in block <unit> at <tmp> line 1 |
||
ZzZombo | m: Buf.new.^methods>>.say | 09:24 | |
camelia | write-int8 write-int16 write-int32 write-int64 write-int128 write-uint8 write-uint16 write-uint32 write-uint64 write-uint128 write-num32 write-num64 write-bits write-ubits pop shift reallocate splice push append… |
||
ZzZombo | m: Buf.new.write-uint8(my $a=1).say | ||
camelia | Too few positionals passed; expected 3 or 4 arguments but got 2 in block <unit> at <tmp> line 1 |
||
ZzZombo | m: Buf.new.append(my $a=1).say | ||
camelia | Buf:0x<01> | ||
09:30
Altai-man_ joined
09:32
sena_kun left
|
|||
ZzZombo | m: class C[Int $a] { method m(){$a.say}};C[1].new.say | 09:34 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse class definition at <tmp>:1 ------> 3class C7⏏5[Int $a] { method m(){$a.say}};C[1].new. expecting any of: generic role |
||
ZzZombo | m: role R[Int $a] { method m(){$a.say}};R[1].new.say | ||
camelia | R[Int].new | ||
ZzZombo | m: role R[Int $a] { method m(){$a.say}};R[1].new.m.say | ||
camelia | 1 True |
||
SmokeMachine | m: class C { method ^parametize(Mu:U $type) { $type } }; say C[Int] | 09:35 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> C cannot be parameterized at <tmp>:1 ------> 3tize(Mu:U $type) { $type } }; say C[Int]7⏏5<EOL> |
||
09:36
donaldh joined
|
|||
SmokeMachine | m: class C { method ^ parameterize(Mu:U $type) { $type } }; say C[Int] | 09:46 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Missing block at <tmp>:1 ------> 3class C { method7⏏5 ^ parameterize(Mu:U $type) { $type } }; |
||
SmokeMachine | m: class C { method ^parameterize(Mu:U $type) { $type } }; say C[Int] | 09:47 | |
camelia | ===SORRY!=== Too many positionals passed; expected 2 arguments but got 3 |
||
SmokeMachine | m: class C { method ^parameterize($, Mu:U $type) { $type } }; say C[Int] | ||
camelia | (Int) | ||
09:47
wamba joined
10:11
wamba left
|
|||
ZzZombo | SmokeMachine: what's the first argument for the method? | 10:14 | |
SmokeMachine | ZzZombo: the own object… all `$obj.^method(|c)` is the same as `$obj.HOW.method($obj, |c)` | 10:15 | |
ZzZombo | ah, I see. What does it return? | 10:16 | |
SmokeMachine | ZzZombo: what do you mean? | 10:18 | |
ZzZombo | Scratch that. How do I actually get the parameter to the class this way? | 10:19 | |
To replicate `method m(){$a.say}` in the earlier sample. | |||
10:32
daxim left
|
|||
SmokeMachine | m: class C { method ^parameterize($self, Mu:U $type) { my $new = $self.HOW.new_type: :name(“{ $type.^name }[{$self.^name}]”); $new.^add_parent: $self; $new.^compose; $new }; method m { self.say } }; C[Int].new.m # ZzZombo ? | 10:32 | |
camelia | Int[C].new | ||
SmokeMachine | the opposite! | 10:33 | |
m: class C { method ^parameterize($self, Mu:U $type) { my $new = $self.HOW.new_type: :name(“{ $self.^name }[{$type.^name}]”); $new.^add_parent: $self; $new.^compose; $new }; method m { self.say } }; C[Int].new.m | |||
camelia | C[Int].new | ||
SmokeMachine | ZzZombo: why would you like to do something like that? | 10:34 | |
10:38
daxim joined
10:40
cpan-raku left
10:41
cpan-raku joined,
cpan-raku left,
cpan-raku joined
10:47
tyil left
10:48
tyilanmenyn joined
|
|||
ZzZombo | Well, yes, but why not let to just define parametric classes the same way as roles? | 11:04 | |
jnthn | Why not just write a role if you want parametricity? | 11:09 | |
But ultimatey, the answer is becuase type parameters are lexical, and that implies immutability, but classes are open. | 11:13 | ||
Also, from a design perspective, roles are the means for re-use, and classes for instance management, and being parametric is primarily a re-use thing. | 11:14 | ||
11:22
wamba joined
11:31
sena_kun joined
11:33
Altai-man_ left
11:47
joule joined
11:54
daxim left
11:59
ggoebel left,
daxim joined
12:19
wamba left
|
|||
ZzZombo | m: -> returns 42 { 41 } | 12:26 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Invalid typename 'returns' in parameter declaration. at <tmp>:1 ------> 3-> returns7⏏5 42 { 41 } |
||
AlexDaniel | m: say -> --> 42 { }() | 12:27 | |
camelia | 42 | ||
ZzZombo | m: -> --> 42 { 41 } | 12:34 | |
camelia | WARNINGS for <tmp>: Useless use of constant integer 41 in sink context (line 1) |
||
ZzZombo | m: -> --> 42 { return 41 } | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> No return arguments allowed when return value 42 is already specified in the signature at <tmp>:1 ------> 3-> --> 42 { return 41 7⏏5} |
||
12:35
jaldhar_ left
12:36
patrickb joined,
jaldhar_ joined
|
|||
patrickb | . | 12:36 | |
tellable6 | 2019-11-08T10:04:40Z #raku-dev <El_Che> patrickb: set-env.sh is problematic. It set relative paths in the PATH: export PATH=./../bin:./../share/perl6/site/bin:... | ||
patrickb | .tell El_Che That's fatal. I get absolute paths. How did you manage to do that? To which shell is /bin/sh linked to on your system? | 12:39 | |
tellable6 | patrickb, I'll pass your message to El_Che | ||
ZzZombo | m: multi sub {} | 12:42 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> An anonymous routine may not take a multi declarator at <tmp>:1 ------> 3multi sub {}7⏏5<EOL> |
||
El_Che | patrickb: bash on ubuntu 19.10, not linked to dash and the like | ||
ZzZombo | m: only sub {} | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> An anonymous routine may not take a only declarator at <tmp>:1 ------> 3only sub {}7⏏5<EOL> |
||
ZzZombo | a only | ||
:/ | |||
patrickb | El_Che: When I execute that script with bash, I also don't get relative paths. This will be an interesting bug to track down. How did you call that script? Just `./set-env.sh` ? | 12:44 | |
oh have to leave now | |||
back in the evening | |||
12:44
patrickb left
|
|||
El_Che | no prob | 12:46 | |
12:53
jaldhar_ left
12:54
jaldhar_ joined
|
|||
xkr47 | oh my, it looks like raku is sucking me in like perl5 did 20 years ago | 12:54 | |
El_Che | xkr47: that's the secret plan | 12:55 | |
12:56
jaldhar_ left,
jaldhar_ joined
|
|||
xkr47 | I just love that you have `.Str`, `.gist` and `.perl` on all objects | 12:59 | |
and how say uses it etc | |||
El_Che | xkr47: yeah, consistency and a huge std-lib are big plusses | 13:05 | |
13:06
jaldhar_ left
|
|||
xkr47 | p6: say /foo/[0][0][0][0] | 13:06 | |
camelia | /foo/ | ||
13:06
jaldhar_ joined
|
|||
xkr47 | it is funnay! | 13:06 | |
I don't know what happens yet, but it's interesting to try to figure out :) | |||
sena_kun | xkr47, IIRC what lizmat explained to me about this, when you are using indexing on scalars, they are turned into a single-item list, you take its first element, and again and again. | 13:10 | |
tellable6 | 2019-11-06T23:16:34Z #cro <japhb> sena_kun Content-Disposition header? | ||
hey sena_kun, you have a message: gist.github.com/6102db6b4f85829e53...1ccc1f1958 | |||
lizmat | m: say 42[0] | ||
camelia | 42 | ||
lizmat | m: say 42[0][0][0][0] | ||
camelia | 42 | ||
xkr47 | :D | ||
so everything is a list! :D | 13:11 | ||
13:12
jaldhar_ left,
jaldhar_ joined
13:14
jaldhar_ left,
jaldhar_ joined
13:16
jaldhar_ left,
jaldhar_ joined
|
|||
ZzZombo | m: 42 [say] 24 | 13:19 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Missing infix inside [] at <tmp>:1 ------> 0342 [7⏏5say] 24 expecting any of: bracketed infix infix infix stopper |
||
ZzZombo | m: 42 [&say] 24 | 13:20 | |
camelia | WARNINGS for <tmp>: 4224 Useless use of &say in sink context (line 1) |
||
ZzZombo | wut | 13:21 | |
13:22
lucasb joined
13:30
Altai-man_ joined
13:33
sena_kun left
13:34
Xliff joined
|
|||
Xliff | o/ | 13:35 | |
13:47
jaldhar_ left
13:48
jaldhar_ joined
13:49
abraxxa joined
|
|||
abraxxa | why does this not match a single comment line? | 13:49 | |
token comment { '#' \N* } | |||
13:50
kktt joined,
jaldhar_ left,
jaldhar_ joined
|
|||
abraxxa | ah, token comment { '#' \N*\n } does match <comment>* | 13:50 | |
what's the best practise of not capturing linefeeds? | 13:51 | ||
13:52
chloekek joined,
chloekek left
|
|||
jnthn | If you want to eat something but exclude it from the capture, use <( and/or )> | 13:53 | |
token comment { '#' \N* )> \n } or so | |||
abraxxa | or? | ||
I came up with: token comment { <.ws> <( '#' \N* )> \n } | 13:54 | ||
13:54
tyilanmenyn is now known as tyil
|
|||
abraxxa | that allows whitespace before the # which happens in the Filehol config files I have to parse | 13:54 | |
jnthn | That also works :) | ||
13:55
chloekek joined
|
|||
abraxxa | thanks! | 13:56 | |
down to one unparsable file now | |||
token comment { <.ws> <( '#' \N* )> \n <.ws> } | 13:57 | ||
that now also works for a comment line followed by an indented config line | |||
all files parse ;) | |||
weekend! bye! | 13:58 | ||
13:59
abraxxa left
14:03
wamba joined
|
|||
xkr47 | how Do I quickest find the implementation of some routine or method? like the source code.. | 14:04 | |
14:04
Xliff left
|
|||
xkr47 | like Str for example | 14:05 | |
Altai-man_ | source: help | ||
I am not sure the great bot for that is online... | |||
xkr47 | is there a cli for it? p6doc obv would be a great place.. | ||
14:06
wamba left
|
|||
jnthn | m: say .file, ":", .line for Str.^lookup("flip") | 14:06 | |
camelia | SETTING::src/core.c/Str.pm6:3005 | ||
14:06
wamba joined
|
|||
ZzZombo | If only that could be turned easily into a link to the file in the repo? | 14:07 | |
14:07
wamba left
|
|||
xkr47 | yeah! | 14:07 | |
wait, we've got raku, we can do it! | 14:08 | ||
jnthn | In some not too distant Comma version, we'll also figure out some way to point at CORE.setting sources and so be able to jump to them in the IDE also :) | ||
ZzZombo | What is Comma? | 14:09 | |
jnthn | A Raku IDE | ||
14:09
wamba joined
|
|||
xkr47 | can has! | 14:09 | |
jnthn | commaide.com/ | ||
Altai-man_ | so someone volunteers to maintain github.com/zoffixznet/perl6-sourceable ? :) | ||
jnthn | Wonder if it can be brought into the general whateverable fold :) | 14:10 | |
Altai-man_ | I think whateverable is maintained by AlexDaniel, who is pretty (ok, very) busy, so would be nice to have another person to look into it. | 14:11 | |
AlexDaniel | yeah, I'd gladly run and maintain it | ||
anyone can PR it to whateverable :) | |||
14:11
jaldhar_ left
14:12
jaldhar_ joined
|
|||
xkr47 | how do you do `$foo =~ s/x/y/r`` | 14:12 | |
AlexDaniel | btw I also have a draft of synopsebot based on whateverable | ||
timotimo | m: my $foo = "hello"; $foo ~~ s/e/u/; say $foo | 14:13 | |
camelia | hullo | ||
AlexDaniel | but yeah, maybe I'll get to commit it next week after the release | ||
xkr47 | ugh | ||
14:13
ZzZombo left,
ZzZombo joined
|
|||
ZzZombo | Wait, can Comma be integrated, with say Android Studio, since that based on IntelliJ? | 14:13 | |
timotimo | yeah, comma is available as a plugin, too | 14:14 | |
14:14
wamba left
|
|||
timotimo | it's not guaranteed to work 100%, but it'll surely do most of what it's supposed to do | 14:14 | |
Altai-man_ | technically - yes, in reality your mileage may vary. | ||
timotimo | one issue is jetbrains based IDEs that don't have the concept of "SDK" | 14:15 | |
webstorm has that problem | |||
Altai-man_ | most issues I saw with webstorm were because working with sdk interesting there. | ||
yes | |||
timotimo | you can't tell comma where to find your perl6 stuff, because it relies on the intellij code to manage that and offer the UI and all that | ||
Altai-man_ | so no nice completion and "undefined" are everywhere, but you still have local things and editing. | ||
timotimo | Altai-man_: you think it could just take paths from an env var? | ||
AlexDaniel | Altai-man_: wanna try making a PR for sourcebot? This file you just throw away, whateverable does all that for you: github.com/zoffixznet/perl6-source...rceable.p6 | ||
Altai-man_: then you just take this file and call it Sourceable.p6 github.com/zoffixznet/perl6-source...urcery.pm6 | 14:16 | ||
or maybe not, you can keep it as a lib too | 14:17 | ||
Altai-man_ | timotimo, technically we can, but we probably don't want to do it silently and default-y. what if a user wants to use various binaries? | ||
I think the sane option is to detect if we're in idea or not and if not add an action for sdk setting | |||
AlexDaniel | Altai-man_: here's the shortest bot: github.com/perl6/whateverable/blob...allable.p6 | ||
ZzZombo | I don't want yet another IDE just for Raku, so I'd like to know if Comma is better than, say, Raku extension for Atom or VS Code? | ||
xkr47 | ===SORRY!=== Error while compiling: | ||
:: not yet implemented | |||
timotimo | comma understands perl6 code | 14:18 | |
Altai-man_ | AlexDaniel, will see what I can do tomorrow! Thanks for your guidelines. Also need to revive some my PRs to roast... | ||
timotimo | it has its own parser | ||
El_Che | ZzZombo: Comma is based on Intellij and/or and Intellij plugin | ||
timotimo | full-featured parser | ||
El_Che | Intellij has lots of support for many languages and formats | ||
AlexDaniel | Altai-man_: then after adapting the code just a little bit `sake debug:sourceable` should run the bot, that's about it | ||
Altai-man_ | AlexDaniel, saved those instructions, thanks. inb4: history | 14:19 | |
xkr47 | m: my $f = Str.^lookup("flip"); my $u = $f.file; $u ~~ s!SETTING\:\:!github.com/rakudo/rakudo/blob/master/!; say $u ~ "#L" ~ $f.line | ||
camelia | github.com/rakudo/rakudo/blob/mast...m6#L3005 » | ||
xkr47 | it worked! | 14:20 | |
AlexDaniel | Altai-man_: fwiw you can also use Whateverable as an external lib, like here: github.com/FCO/RedBot/tree/whateverable | ||
Altai-man_: but I'd recommend not to if you want me to run it :) | 14:21 | ||
that is, just commit it to whateverable repo | |||
chloekek | Hello. | 14:26 | |
AlexDaniel | o/ | ||
chloekek | It's been a while since I used Raku. | 14:27 | |
Seems Rakudo is still at the same version, neat. | 14:28 | ||
timotimo | that's a positive way to express that we haven't released in a little while | 14:31 | |
chloekek | Means I don't have to update my nix package. :) | 14:32 | |
timotimo | no packages need to be nixed | 14:34 | |
SmokeMachine | jnthn: Would you mind if I do a feature request for Comma? Whould that be possible to Comman follow meta-methods? I mean, if I cmd+click something like `$model.^columns` it go to `MetamodelX::Red::Model.columns()`? | ||
chloekek | I forgot what part of integrating raku with nix was so much work, but it wasn't rakudo. | 14:37 | |
Ah it was dealing with repositories, distributions, and install-dist.p6. | |||
timotimo | m: say [(0 xx 10).keys] | 14:39 | |
camelia | [0 1 2 3 4 5 6 7 8 9] | ||
chloekek | And generating the PERL6LIB environment variable, especially. | 14:40 | |
timotimo | ^- this is how to make a range from 0 to n-1 in javascript :P | ||
chloekek | m: say [(0 xx 10)] | ||
camelia | [0 0 0 0 0 0 0 0 0 0] | ||
chloekek | Ah yeah of course. | 14:41 | |
timotimo | [...Array(10).keys()] | ||
jnthn | SmokeMachine: Can request it, though it's not quite trivial to make happen :) | 14:43 | |
chloekek | LiveScript has syntax [x til y] and it generates an IIFE with a for loop in it. | ||
Meh, materialized ranges. | 14:44 | ||
timotimo | what's an IIFE? | 14:45 | |
chloekek | An immediately-invoked function expression; (function() { ... })() | ||
Basically what Raku has the do keyword for; do { ... } | |||
So that you can put statements where expressions are expected. | 14:46 | ||
m: my $x = 1; my \y := $x; y = 2; say y; | 14:48 | ||
camelia | 2 | ||
ZzZombo | Ah, can somebody explain the `handles` trait and it's practical use? | 14:50 | |
lizmat | is there something lacking in docs.raku.org/language/typesystem#...it-handles ? | 14:53 | |
ZzZombo | I don't understand why would one use that, the page does nothing to explain that I'm afraid. | 14:55 | |
timotimo | ah, good to know | 15:03 | |
"handles" is to make delegation trivial so that you can compose instead of derive | |||
like, you don't have to derive from Array just to add a method or two if you can just put the array into an attribute and have all its methods forwarded | 15:04 | ||
(and also: you can then easily plop in arbitrary types that conform to the methods) | |||
SmokeMachine | jnthn: it would make my life so much easier... | 15:07 | |
timotimo | that will require comma to understand EXPORTHOW properly | 15:11 | |
currently iirc it just has a list of stuff that it understands to be class-like: monitor, actor, model | |||
jnthn | Yeah, it doesn't track EXPORTHOW at all | 15:17 | |
SmokeMachine | jnthn: is this track planned? | 15:18 | |
15:21
GxD joined,
GxD left
|
|||
jnthn | Eventually, though wasn't high on the todo list since there (until Red) wasn't really that much call for it | 15:22 | |
That said, being able to auto-complete meta-methods would probably fall out of the work | |||
Altai-man_ | m: Int.HOW.^methods.say; | 15:25 | |
camelia | (archetypes new new_type add_fallback compose roles role_typecheck_list is_composed setup_junction_fallback find_method_fallback has_fallbacks set_name set_shortname name shortname WHY set_why set_language_version lang-rev-before ver auth api set_ver … | ||
15:30
sena_kun joined
|
|||
timotimo | the original question was to go-to-definition for meta methods | 15:31 | |
jnthn | Yeah, but resolution and auto-complete fall out of the same mechanism, pretty much | 15:32 | |
15:32
Altai-man_ left
|
|||
timotimo | right | 15:33 | |
15:37
wamba joined
|
|||
SmokeMachine | jnthn: the next one is just an wish… but would that be possible, some day, to add Red’s model here? usercontent.irccloud-cdn.com/file/.../image.png | 15:47 | |
I know that’s probably too much... | 15:48 | ||
ZzZombo | "Traits are subs declared in the form trait_mod<VERB>, where VERB stands for the name like is, does or handles." -- this suggests it's possible to create custom traits with arbitrary names, but that's wrong AFAIK. | ||
m: multi trait_mod:<asd>(Routine $a) { dd $a };sub s asd {} | 15:49 | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Missing block at <tmp>:1 ------> 3it_mod:<asd>(Routine $a) { dd $a };sub s7⏏5 asd {} expecting any of: new name to be defined |
||
SmokeMachine | ZzZombo: maybe bacause asd isn’t a verb?! (jusgt kidding...) | ||
15:49
jaldhar_ left
15:50
jaldhar_ joined
|
|||
jnthn | "I can't be asd" sounds verby to me :P | 15:54 | |
SmokeMachine: That one is significantly easier; please give us a wish list. Actually I'm surprised `monitor` isn't there as an option already. | |||
SmokeMachine | jnthn: I thought monitor and actor would be there already... | 15:56 | |
jnthn | Well, they kind of imply a chain of consequences: you need the `use` needing the `use` might imply a META6.json `depends`, etc. | 15:58 | |
16:10
Xliff joined
|
|||
SmokeMachine | jnthn: but is that possible to include that? | 16:11 | |
16:12
chloekek left
|
|||
Xliff | vrurg: You around? Applied patch and recompiled, but still no luck. | 16:16 | |
jnthn | SmokeMachine: Yeah, make an issue | 16:22 | |
16:25
ubz-dih_ left
|
|||
SmokeMachine | jnthn: issues 59 and 60 were created... | 16:32 | |
jnthn | Thanks! | 16:33 | |
16:38
lizmat_ joined
|
|||
vrurg | Xliff: send me the instructions, I would try locally. Will be away for a while though. | 16:38 | |
SmokeMachine | jnthn: another question: when I do `given 42 { when :is-prime {...} }` while I’m writing the `:is-prime` should comma auto-complete that? | 16:39 | |
sena_kun | SmokeMachine, `.is-prime` maybe? But nope, Comma doesn't take candidates from `given` (yet). | 16:41 | |
SmokeMachine | sena_kun: no, :is-prime... | ||
sena_kun | o.O | ||
16:41
lizmat left
|
|||
SmokeMachine | m: say 42 ~~ :is-prime | 16:41 | |
sena_kun | m: given 42 { when :is-prime { 42.say } } | ||
camelia | False | ||
( no output ) | |||
SmokeMachine | m: say 2 ~~ :is-prime | ||
camelia | True | ||
jnthn | No, since it's actually just a totally ordinary Pair | ||
16:41
lizmat_ is now known as lizmat
|
|||
sena_kun | ah, I remember, it is something about smartmatching against Pair... | 16:42 | |
I see | |||
no, it can't autocomplete that | |||
SmokeMachine | jnthn: but isn’t every ordinary pair in an smart-match mean a method call? | ||
jnthn | Pairs are just used for too many htings... | ||
*things | |||
I guess if we know we're in a smart-match context maybe we can though | 16:43 | ||
sena_kun | `.is-prime` would be another question because it is a call and we can do things for guessing what's the topic | ||
jnthn | Like pair after ~~ for after when | ||
*or after when | |||
SmokeMachine | Is `42 ~~ :is-prime` is a call as is `42.is-prime`... | 16:44 | |
jnthn | Not really, it's :is-prime.ACCEPTS(42) | ||
SmokeMachine | jnthn: but it’s being called internally… I mean the &is-prime runs somehow… right? | 16:45 | |
jnthn | Yes, it's one multi candidate of ACCEPTS | ||
multi method ACCEPTS(Pair:D: Mu $other) { | 16:46 | ||
nqp::if( | |||
nqp::can($other,(my $method := $!key.Str)), | |||
($other."$method"().Bool === $!value.Bool), | |||
SmokeMachine | So, wouldn’t it make sense to auto-complete? | ||
16:46
Tirifto joined
|
|||
jnthn | SmokeMachine: It's a very special case, and we'd only want it to auto-complete when it's quite likely to be useful | 16:46 | |
It should be possible, though | |||
Similarly, we could auto-complete pairs in argument lists with the names of the accepted named arguments of the target of the call :) | 16:47 | ||
SmokeMachine | jnthn: and sorry for all this odd requests... | ||
jnthn | They're all quite reasonable. :) Just not all totally easy. ;-) | ||
But that's never stopped us so far :D | 16:48 | ||
SmokeMachine | jnthn: that would be wonderful! but wouldn’t *%_ make it herder? | ||
jnthn | Well, yeah, then we don't have any guidance on what to offer :) | ||
Xliff | hi, jnthn! | ||
Any progress on github.com/jnthn/p6-io-socket-asyn...issues/44? | |||
SmokeMachine | s/herder/harder/ | ||
m: my method bla {}.signature.say | 16:49 | ||
camelia | (Mu: *%_) | ||
jnthn | Xliff: No, it makes no sense whatsoever; I did wonder if it was a generic NativeCall bug (some setup race in there), but failed to reproduce such | ||
SmokeMachine | jnthn: I mean that *%_ ^^ | 16:50 | |
Xliff | jnthn: You were never able to reproduce? | ||
jnthn | Xliff: Pretty sure I tried doing so and didn't... | ||
Xliff | jnthn: OK. I will try and rerun with latest rakudo and update the bug. Maybe it got fixed?! %) | 16:51 | |
I love it when bugs grow legs and walk away. | |||
jnthn | Xliff: Possibly :) If it's still there for you, let me know | ||
Xliff | jnthn: Will do. Thanks! | ||
17:02
scimon left
17:06
jaldhar_ left,
jaldhar_ joined
17:07
patrickb joined
17:13
jaldhar_ left
17:14
jaldhar_ joined
17:19
jaldhar_ left
17:20
jaldhar_ joined
17:21
jaldhar_ left
17:22
jaldhar_ joined
17:27
jaldhar_ left
17:28
jaldhar_ joined
17:30
jaldhar_ left,
Altai-man_ joined,
jaldhar_ joined
17:31
jaldhar_ left
17:32
patrickb left,
jaldhar_ joined,
sena_kun left
18:12
jaldhar_ left,
jaldhar_ joined
18:27
jaldhar_ left
18:28
jaldhar_ joined
18:29
wamba left
18:32
lucasb left
18:43
jaldhar_ left
18:44
jaldhar_ joined
18:48
wildtrees joined
18:50
jaldhar_ left
|
|||
Xliff | vrurg: Is there a way I can check to see if your patch is applied, programmatically? | 19:02 | |
vrurg | Xliff: perhaps in a hacky way, by checking Stash for TAKE-SNAPSHOT method. | 19:03 | |
Xliff: I'd like you to test the case from 3075 on your side. Because if you get a problem on your HEAD that could be something unrelated. | 19:04 | ||
Xliff | Yeah. It's not there. WTF? | 19:10 | |
I patched the files. :/ | |||
So I install via rakudobrew. What's the best way to insure I rebuild properly? | |||
vrurg | You could actually checkout directly from my repo and checkout rakudo_3075 branch | 19:18 | |
Xliff | OK. URL? | 19:19 | |
vrurg | github.com/vrurg/rakudo/tree/rakudo_3075 | ||
Xliff | ./Configure.pl --gen-moar --gen-nqp ? | 19:21 | |
vrurg | Right. | 19:23 | |
19:30
sena_kun joined,
sena_kun left
19:32
Altai-man_ left
|
|||
Xliff | vrurg: OK, rakudo built, however now I can't build zef. | 19:51 | |
Missing or wrong version of dependency 'core#sources/70EBDA25F44EBFF8734F739F5779D64914083409 (CompUnit::Repository::Staging)' (from 'core#sources/1C08282E0E9C9AD04D60AE924EF6A2DD50636161 (NativeCall::Compiler::GNU)' | 19:52 | ||
vrurg | Does rakudo pass make test? | ||
Xliff | Yeah. Might be my environment. Not sure. | 19:53 | |
I've got your bin aliased to 'perl6', but the rakudobrew'd version is still on PATH | 19:54 | ||
vrurg | Xliff: just run with the full binary path. | 19:59 | |
Xliff | kk | 20:00 | |
vrurg | When I test I often run ~/src/.../perl6 | ||
Xliff | Using full path, still get same error. | 20:01 | |
Let me move zef out of perl6 tree | 20:02 | ||
Still same. But with zef?! | |||
vrurg | Xliff: try make test in rakudo's build dir. | 20:06 | |
Xliff | That's where I ran it the first time. | 20:07 | |
vrurg | PR fails on travis and I can't reproduce the problem. Perhaps you have it too. | ||
Ok, then I'll need to get back to it and try installing zef from scratch. Frankly saying, I have it and required modules pre-installed. | 20:08 | ||
Presumably, PR breaks it. | |||
Xliff | :( | ||
Think it's something with the Stash? | 20:09 | ||
vrurg | Will see. Leave it for now. | 20:10 | |
Xliff | OK | ||
20:27
patrickb joined
21:00
kktt left,
kktt joined
21:04
cpan-raku left
21:05
cpan-raku joined,
cpan-raku left,
cpan-raku joined
21:28
chloekek joined
21:30
joule left
22:14
MasterDuke joined
22:54
MasterDuke left
22:56
kktt left
22:59
chloekek left
23:04
patrickb left
23:08
jaldhar_ joined
23:28
jaldhar_ left
23:29
jaldhar_ joined
|