»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋 Set by Zoffix on 25 July 2018. |
|||
00:01
zacts left
00:02
Kaiepi left
00:07
regreg joined
|
|||
regreg | hello | 00:08 | |
is there any way i can distribute perl6 rakudo with my windows application? | |||
i want to distribute a script as a standalone application | |||
an .exe or even an obfuscated perl6 source file | |||
if obfuscation is not possible then plain text is an option (albeit less desirable) | 00:09 | ||
00:09
Kaiepi joined
|
|||
MasterDuke | regreg: modules.perl6.org/dist/App::Instal...ment.se%3E | 00:11 | |
regreg | MasterDuke, What you'll need | 00:12 | |
The Visual C++ build tools, and nmake/cl/link on path. Note that this does not imply installing Visual Studio; it is possible to freely download the standalone compiler. (It's probably possible, without too much trouble, to patch this tool to use other compilers.) | 00:13 | ||
isn't this unreasonable? | |||
MasterDuke | regreg: dunno, i've never needed/tried to package a script before, so i don't have any experience to compare with. however, there have been some recent changes in rakudo that may make that stuff not needed | 00:16 | |
regreg | ok | ||
i'll give it a try | |||
if nothing works then i'll just port the app to perl5 :) | |||
MasterDuke | but you would probably need to patch the module to take advantage of them | ||
00:17
Kaiepi left
|
|||
MasterDuke | other people have wanted to do the same thing, but now is usually a slow time for the channel. might try posting on stackoverflow | 00:17 | |
regreg | ok | 00:18 | |
the other variant would be tcl | |||
tcl has good packaging options | |||
but i rather like perl6 | |||
00:20
Kaiepi joined
00:35
vrurg joined
00:39
zacts joined
00:43
Kaiepi left
00:44
Kaiepi joined
00:48
zachk left
00:50
MidCheck joined
01:07
Kaiepi left
01:10
Kaiepi joined
01:12
ctilmes_ joined,
ctilmes left
01:18
squashable6 left
|
|||
guifa | p6: role A { token x { <y> }; token y { 'Y' } }; role B { token y { 'Z' } }; grammar C does A does B { token TOP { <x> } }; say C.parse("y") | 01:18 | |
evalable6 | (exit code 1) 04===SORRY!04=== Error while compiling /tmp/yW6FKtGY1y Method 'y' must be resolved by class C because it exists in multiple roles (B, A) at /tmp/yW6FKtGY1y:1 |
||
01:18
squashable6 joined
|
|||
guifa | C can’t specify <y>, though, because it’s being called by A. But <y> called from inside role A should be resolvable, no? A doesn’t do B | 01:20 | |
I’ll just go the all caps route to avoid potential clashes | 01:24 | ||
01:40
zacts left
01:47
zacts joined
02:05
Kaypie joined
02:06
Black_Ribbon left
|
|||
Geth | doc: 05888b56d6 | Coke++ | doc/Type/Metamodel/CurriedRoleHOW.pod6 fix typo |
02:17 | |
synopsebot | Link: doc.perl6.org/type/Metamodel::CurriedRoleHOW | ||
doc: d863794434 | Coke++ | xt/words.pws learn new words |
|||
02:27
netrino left
02:38
Black_Ribbon joined
02:50
epony left
03:00
MidCheck left
03:08
zacts left
03:33
hamhu3 joined,
hamhu3_ left
03:39
Kaypie left,
Kaiepi left
03:42
epony joined
03:57
MidCheck joined
04:21
zacts joined
04:31
Cabanossi left
04:37
TBC_z87 left,
Cabanossi joined
05:37
bloatable6 left,
bisectable6 left,
shareable6 left,
benchable6 left,
notable6 left,
committable6 left,
undersightable6 left,
statisfiable6 left,
evalable6 left,
nativecallable6 left,
quotable6 left,
squashable6 left,
reportable6 left,
releasable6 left,
coverable6 left,
unicodable6 left,
greppable6 left
05:38
unicodable6 joined,
ChanServ sets mode: +v unicodable6,
squashable6 joined
05:39
bisectable6 joined,
ChanServ sets mode: +v bisectable6,
evalable6 joined,
ChanServ sets mode: +v evalable6,
bloatable6 joined,
ChanServ sets mode: +v bloatable6,
quotable6 joined,
greppable6 joined
05:40
benchable6 joined,
ChanServ sets mode: +v benchable6,
reportable6 joined,
committable6 joined,
ChanServ sets mode: +v committable6,
releasable6 joined,
ChanServ sets mode: +v releasable6
05:41
coverable6 joined,
ChanServ sets mode: +v coverable6,
undersightable6 joined,
ChanServ sets mode: +v undersightable6
05:42
nativecallable6 joined,
ChanServ sets mode: +v nativecallable6,
statisfiable6 joined,
ChanServ sets mode: +v statisfiable6,
notable6 joined,
ChanServ sets mode: +v notable6,
shareable6 joined,
ChanServ sets mode: +v shareable6
05:48
squashable6 left
|
|||
tyil | weekly: www.reddit.com/r/ProgrammingLangua...e/ektxe1w/ | 05:50 | |
notable6 | tyil, Noted! | ||
05:54
squashable6 joined,
ChanServ sets mode: +v squashable6
05:56
cpan-p6 left
05:57
cpan-p6 joined,
cpan-p6 left,
cpan-p6 joined
06:07
MidCheck left
06:23
domidumont joined
06:35
atroxaper joined
|
|||
atroxaper | Hi, #perl6 ! | 06:36 | |
p6: sub o() {CATCH{default {say 'outer'}}; sub get-list() { CATCH{default {say 'inner'}}; return (1,3).map({die "$_"}).List}; get-list[0]}; o; | |||
evalable6 | outer | ||
atroxaper | As I see, `map` executes lazy. Why? And how can I prevent it? | 06:37 | |
timotimo | put .eager before .List, that should do it | ||
otherwise you can also "do for" instead of map | 06:38 | ||
actually, i'm not entirely sure if that'll also force eagerness | |||
atroxaper | timotimo: oh, I see. Did not know about .eager. Thanks! | 06:39 | |
06:39
Guest16965 left
|
|||
discord6 | <Tyler (Aearnus)> also, welcome atroxaper! | 06:46 | |
atroxaper | Is discord6 a bot? :) | 06:48 | |
timotimo | it is | 06:49 | |
atroxaper | About what? | ||
discord6 | <Tyler (Aearnus)> it's a bridge to the discord server | ||
<Tyler (Aearnus)> this is what I see from my end: cdn.discordapp.com/attachments/538...nknown.png | 06:50 | ||
atroxaper | aeruder: oh. Hello)) | ||
06:52
jmerelo joined
|
|||
jmerelo | ls | 06:52 | |
06:53
zacts left
|
|||
Elronnd | is there a way to react whenever a file changes? | 06:58 | |
moritz | Elronnd: docs.perl6.org/type/IO::Notification | 06:59 | |
Elronnd | thanks! | ||
jmerelo | notable6: there's going to be a Perl devroom in the "Spanish" FOSDEM: github.com/antoniogamiz/devroom-perl-eslibre | 07:03 | |
notable6 | jmerelo, I cannot recognize this command. See wiki for some examples: github.com/perl6/whateverable/wiki/Notable | ||
jmerelo | weekly: there's going to be a Perl devroom in the "Spanish" FOSDEM: github.com/antoniogamiz/devroom-perl-eslibre | ||
notable6 | jmerelo, Noted! | ||
Elronnd | is it legal to say something like this? react { for @watched-paths { react whenever IO::Notification.watch-path($_) { ... } } } ? | 07:07 | |
jmerelo | Elronnd: it's illegal in 23 states. You're good if you don't go to Oklahoma | ||
timotimo | that will probably not do what you want | 07:08 | |
Elronnd | jmerelo: I'll just stay in the eu, out of the way of those pesky software patents | ||
timotimo | since react blocks until everything in it is finished and i don't think a watch-path supply will ever end on its own | ||
Elronnd | timotimo: how do I do what I want, then? | ||
jmerelo | Elronnd: other than that, it's a react inside a react. So it's going to tap the supply while it's tapping the supply, creating a supply black hole. | ||
timotimo | just leave out the inner "react" | ||
Elronnd | err, yeah | ||
typo'd that | |||
ok | |||
jmerelo | Elronnd: :-) | ||
Elronnd | thanks! | 07:09 | |
timotimo | and if there's other stuff your application is supposed to do, maybe have it be a "start react" | ||
Elronnd | it's inside of a IRC::Client plugin and it says to put it like that; I assume it handles the starting? | 07:10 | |
timotimo | don't know about that, but you'll probably find out :) | 07:11 | |
Elronnd | alright! | 07:12 | |
07:21
reu left
07:24
squashable6 left,
squashable6 joined
|
|||
atroxaper | Elronnd: I try IO::Notification on my mac. Many file editors rename (move) files, change it and rename back. In such cases IO::Notification will lose a file. Vim, mac TextEditor do so. echo and nano didn't. Just FYI :) | 07:33 | |
Elronnd | atroxaper: thanks! | 07:37 | |
fortunately, that doesn't affect my use-case -- I just have to deal with logfiles that get appended to | 07:38 | ||
timotimo | ha, that's its own can of worms, i read something about how "tail -f" can lose data in some circumstances | 07:40 | |
Elronnd | --oh | 07:41 | |
how?? | |||
timotimo | can't find it any more | 07:43 | |
it's just a race condition, though | |||
ok, i think it was about when a file is truncated (by logrotate or something?) then tail can miss something that was written just before the truncation happened | 07:46 | ||
Elronnd | ahh | 07:47 | |
these files are small enough they never get truncated | |||
so not an issue then, probably | |||
s/truncated/rotated | 07:48 | ||
is there something like zip that puts it arguments into a hash where the elements of the first array are keyed to the elements of the second? | 07:56 | ||
07:56
reu joined
|
|||
timotimo | Z=> ought to do that | 07:57 | |
Elronnd | hooray! Thanks | ||
discord6 | <Tyler (Aearnus)> > ... tail can miss something that was written just before the truncation happened in which the Unix philosophy breaks down | 08:00 | |
timotimo | clearly what we actually need is tail.ko | 08:02 | |
08:08
andrzejku joined
|
|||
cpan-p6 | New module released to CPAN! Random::Choice (0.0.6) by 03TITSUKI | 08:11 | |
08:13
squashable6 left
08:15
squashable6 joined,
ChanServ sets mode: +v squashable6
|
|||
jmerelo | releasable6: status | 08:17 | |
releasable6 | jmerelo, Next release in ≈6 days and ≈10 hours. 12 blockers. 0 out of 202 commits logged | ||
jmerelo, Details: gist.github.com/c5f93faf47a905b5c8...25118974aa | |||
08:22
rindolf joined
|
|||
Geth | doc: 180ffdaf47 | (JJ Merelo)++ | doc/Type/Metamodel/ParametricRoleHOW.pod6 Adds ParametricRoleHOW refs #1306 |
08:30 | |
synopsebot | Link: doc.perl6.org/type/Metamodel::ParametricRoleHOW | ||
doc: 2401b58c64 | (JJ Merelo)++ | doc/Type/Metamodel/ParametricRoleGroupHOW.pod6 Adds ParametricRoleGroupHOW This part becomes a bit more complete, and allows us to understand the inner workings (in fact, the *high-order-work* of Perl 6). Although they are not (so much) intended for final user, they have been used, for instance, in github.com/vrurg/Perl6-OO-Plugin This closes #1306. Although there might be a few other metamodel classes that have not been documented, they are probably deeper down in the implementation and will never be seen by the user. There's no request to use them, anyway. |
|||
synopsebot | Link: doc.perl6.org/type/Metamodel::Para...leGroupHOW | ||
jmerelo | We need (more) people for the perl6 documentation project. Here's a cry for help: twitter.com/jjmerelo/status/1117348255128608768 | 08:46 | |
lizmat | weekly: twitter.com/jjmerelo/status/1117348255128608768 | 08:48 | |
notable6 | lizmat, Noted! | ||
jmerelo | Thanks, lizmat! | ||
lizmat | jmerelo: you're welcome :-) | 08:49 | |
jmerelo | lizmat: lately it's been only Coke and cfa mainly. The level of contributions has gone down like 3 years or so... I intend to request Google Season of Docs, coming up in a few days. | ||
lizmat | sounds like a great plan! | 08:50 | |
jmerelo | lizmat: but we still need a sustainable set of people giving a hand... So let's see what happens... | ||
lizmat | jmerelo++ | 08:51 | |
tyil | weekly: www.tyil.nl/post/2019/04/11/perl6-...er-images/ | 08:58 | |
notable6 | tyil, Noted! | ||
09:02
aborazmeh joined,
aborazmeh left,
aborazmeh joined
09:09
regreg left,
regreg joined
09:41
eliasr joined
09:46
[Sno] left
09:48
[Sno] joined
09:59
aborazmeh left
10:02
[Sno] left
10:23
mowcat left,
mowcat joined
10:33
molaf joined
|
|||
lizmat wonders whether this is up masak's ally: blog.wesleyac.com/posts/language-todos | 10:38 | ||
news.ycombinator.com/item?id=19656666 # HN comments | |||
*alley | 10:39 | ||
El_Che | ahaha | ||
I was looking at masak's masterplan | |||
10:49
squashable6 left,
squashable6 joined,
[Sno] joined
10:55
Black_Ribbon left
10:57
molaf left
|
|||
jmerelo | lizmat: last week I was at a functional language event. Idris was mentioned several times. I was wondering if we can do something like type-dependence with perl6. | 10:57 | |
lizmat is unsure of the exact meaning of type-dependence in this context | 10:58 | ||
jmerelo | lizmat: "where" constraints come close, but they are not enforced in compile time. | ||
lizmat: dependent types are types that depend on values defined in compile time. | |||
lizmat | isn't that what subsets are? | 10:59 | |
jmerelo | lizmat: for instance, let's say you have this-length = 5 and then define foo( array-length(5) $bar) | ||
lizmat: subsets are defined in runtime. It's close, but not exactly the same. | 11:00 | ||
lizmat | perhaps create an issue? | ||
jmerelo | lizmat: if some value does not meet the subset constraint, an error is thrown in run time; it's not a type error in compile time | 11:01 | |
lizmat: I think it's more at a fundamental language design level. Maybe an issue in problem-solving. Unless you say this is not a real problem and can be done on the current infrastructure. | |||
lizmat | well, if it *can* be determined at compile time, then maybe the static optimizer stage needs to be taught this | 11:02 | |
jmerelo | lizmat: that's basically the key. Idris runs a lot of stuff in compile time. Most stuff, as a matter of fact, that does not include system interaction. | 11:03 | |
11:04
andrzejku left
|
|||
lizmat | to an extent, that's also true in Perl 6, consider e.g. constant folding | 11:04 | |
jmerelo | lizmat: all this modulo what I understood of the talk, of course. | ||
lizmat | m: say 42 + 666 # compiled as "say 708" | ||
evalable6 | 708 | ||
jmerelo | lizmat: incidentally, I did a presentation on functional programming using Perl 6. One of the speakers mentioned that he thought Scala was a difficult language until they met perl 6 | ||
discord6 | <Tyler (Aearnus)> lizmat: my comments on that blog post www.reddit.com/r/programming/comme...e/eku49h5/ | 11:05 | |
jmerelo | lizmat: that would basically be it, but taken all the way to subsets and maybe where constraints. | ||
lizmat | if you have a square peg mind, it's hard to fit a round language in it | ||
jmerelo | lizmat: also, subsets should be actual types... | ||
lizmat | Tyler++ | 11:06 | |
discord6 | <Tyler (Aearnus)> also fwiw I don't believe it's possible to run anywhere near a negligible subset of where clauses without fundamentally changing how they work | 11:08 | |
<Tyler (Aearnus)> er, at compile time, i meant | 11:09 | ||
jmerelo | Tyler that is probably true... | ||
discord6 | <Tyler (Aearnus)> that is, unless they were restricted to things that could be statically determined about the values that they constrain but to be able to determine anything useful statically, you'd need a method of passing around proofs of those properties (and that's another bucket of worms entirely) | 11:11 | |
jmerelo | Tyler if you change "statically" to "compile time" I basically agree with you. | 11:12 | |
discord6 | <Tyler (Aearnus)> yeah, I guess that's an important distinction to make this would hypothetically take place after macro expansion and the first (few?) phasers and the like | 11:13 | |
<Tyler (Aearnus)> there's a bit that i'n left wanting with regards to the p6 type system tbh | 11:14 | ||
<Tyler (Aearnus)> **a lot that i'm left wanting | |||
MasterDuke | as i understand it, some amount of what perl 6 now does at run-time could be done at compile-time. the hope/plan is to slowly make more things compile-time | ||
jmerelo | Tyler: well, the fact that we might even talk about this shows how flexible it is. There's nothing fundamentally non-perl6y about doing that, as MasterDuke says. | 11:15 | |
MasterDuke | jmerelo: in my case, i've made fewer doc commits recently because the docs haven't as obviously needed help. i used to be able to go to almost any random page and find something to do, but that isn't the case now | 11:18 | |
discord6 | <Tyler (Aearnus)> definitely. p6 is still leagues ahead of everything comparable as far as the type system goes | ||
jmerelo | MasterDuke: the problem is mainly the pages that are missing... And sections that are missing on already existing pages. | 11:19 | |
discord6 | <Tyler (Aearnus)> while we're on this topic, I might as well throw this out there: I'd love if you could destructure on the signatures of callables like you can on positionals, so you could write functions like this: sub apply(::A $v, &f (::A --> ::B)) { f($v) } or something like that | 11:20 | |
MasterDuke | jmerelo: those are harder problems to make small contributions to. it's always easier to edit something existing than create something from scratch | ||
jmerelo | MasterDuke: you are right. But I have no idea how to fix that. | ||
MasterDuke | Aearnus: i thought there was a way to do something similar? | ||
docs.perl6.org/type/Signature#Cons..._Callables | 11:21 | ||
jmerelo | MasterDuke: you are right that, say one year ago, you could just go to one page and fix stuff. Now you have to choose one issue and research a bit (although there are easy issues too) | ||
discord6 | <Tyler (Aearnus)> MasterDuke: oh, sweet! that's pretty much what I wanted | 11:22 | |
jmerelo | MasterDuke: still, it needs to be done. Any suggestion is welcome. | ||
MasterDuke | jmerelo: i don't have any ideas yet about how to encourage creating missing pages, but as for contributions in general, a good list of easy issues is the first step | 11:25 | |
11:26
atroxaper left
|
|||
MasterDuke | jmerelo: maybe we need to make those even more obvious than sorting/filtering the list? | 11:27 | |
create another pinned issue that just contains a list of the easy ones? | |||
jmerelo: maybe extend the docs squashathon to include some of perl6.org? examples.perl6.org/ perhaps | 11:30 | ||
jmerelo | MasterDuke: no problem about that. | 11:31 | |
MasterDuke: but examples is an unexplored territory... | |||
MasterDuke: we would need to use something like Test::Script::Output to check if they work as expected. Some of them might be obsolete. | 11:32 | ||
MasterDuke: there are a couple of tags in the repo that indicate they are easy. We could also pin them, but you can only pin one (and I'd rather have the biggie 6.d issue pinned there (that one has some of them that are easy enough)) | 11:33 | ||
11:36
Ulti_ is now known as Ulti
|
|||
MasterDuke | ah, didn't know you could only pin one | 11:39 | |
jmerelo: maybe once code examples are made runnable/editable (by integrating glot.io or whatever) there might be a bunch of easy new issues around that | 11:41 | ||
jmerelo | MasterDuke: there's no problem with issues. There are quite a bunch of them. Code in example works, so I don't think there's a lot of stuff to be done creating issues for non-working pieces of code. | 11:55 | |
MasterDuke: and if something does not work, I'm afraid it's not going to be easy to fix it. It's probably due to obsolescence, or new 6.d (which is mostly not documented), so fixing code might fall into something as hard as writing new docs. | 11:57 | ||
11:59
Kaiepi joined
12:08
netrino joined
12:12
jmerelo left
12:16
snarkyboojum joined
12:20
snarkyboojum left,
snarkyboojum joined
12:29
snarkyboojum left
12:37
andrzejku joined
12:46
sena_kun joined
13:07
ufobat joined
13:11
eliasr left,
ufobat_ joined
13:15
ufobat left
13:16
molaf joined
13:50
ayerhart joined
13:52
molaf left
14:05
Kaiepi left
14:07
Kaiepi joined
14:30
Kaiepi left
14:31
Kaiepi joined
|
|||
guifa | .tell timotimo hot on the heals of yesterday’s grammar discussion, I’ve already got localized numbers (mostly) ready as a role+token. Just have to make it more lenient (accept +⁺₊➕﬩﹢+ for plus, etc)and handle prefix/suffixes for languages that use them but it’s already in GH to play with | 14:35 | |
yoleaux | guifa: I'll pass your message to timotimo. | ||
15:09
domidumont left
|
|||
masak | "on the heals of" a discussion is a nice Freudian slip, if it was a hurtful discussion ;) | 15:18 | |
timotimo | ouch. | ||
yoleaux | 14:35Z <guifa> timotimo: hot on the heals of yesterday’s grammar discussion, I’ve already got localized numbers (mostly) ready as a role+token. Just have to make it more lenient (accept +⁺₊➕﬩﹢+ for plus, etc)and handle prefix/suffixes for languages that use them but it’s already in GH to play with | ||
El_Che | masak: pbs.twimg.com/media/D4EfE-VX4AAhnDD.jpg | ||
masak | El_Che: that's a nice autopun. I've heard it somewhere or mother before. | 15:21 | |
El_Che | :) | ||
15:34
hamhu3_ joined
15:37
hamhu3 left
15:44
jmerelo joined
|
|||
Geth | perl6.org: lukasvalle++ created pull request #125: Stack Overflow question and answers |
15:50 | |
perl6.org: 1ca7313bcc | lukasvalle++ | source/community/index.html Stack Overflow question and answers |
15:51 | ||
perl6.org: af53e7e98e | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | source/community/index.html Merge pull request #125 from lukasvalle/master Stack Overflow question and answers |
|||
16:01
andrzejku left
16:09
ctilmes joined
16:11
ctilmes_ left
16:19
zacts joined
16:39
AlexDaniel left
16:40
molaf joined
16:41
molaf left
17:05
domidumont joined
17:31
zacts left
17:32
ctilmes_ joined
17:34
ctilmes left
17:37
Black_Ribbon joined
17:39
antoniogamiz joined
17:44
jmerelo left
17:47
regreg left
18:10
zakharyas joined
18:16
Kaiepi left,
Kaiepi joined
18:46
hankache joined,
nekomune left
18:47
nekomune joined
18:54
ctilmes joined,
ctilmes_ left
18:57
antoniogamiz left
19:06
domidumont left
|
|||
lizmat | weekly: thenewstack.io/a-conversation-with...-and-perl/ | 19:19 | |
notable6 | lizmat, Noted! | ||
19:19
imcsk8 left
19:20
hankache left,
imcsk8 joined
19:22
sena_kun left
19:37
sena_kun joined,
clarkema joined
20:11
|Sno| joined
20:13
[Sno] left
|
|||
masak | tfw you're wondering if your refactor went wrong, or if you just found a subtle closure-related but in Rakudo... :) | 20:38 | |
bug* | 20:39 | ||
21:02
clarkema left
21:04
zakharyas left
21:13
_jrjsmrtn joined
21:15
__jrjsmrtn__ left
21:17
Xliff joined
|
|||
Xliff | \o | 21:17 | |
21:45
random_yanek left
21:47
random_yanek joined
21:52
robertle left
21:55
AlexDaniel joined
22:38
random_yanek left
|
|||
Xliff | Does anyone know the best way to debug this? | 22:39 | |
"Circularity detected in multi sub types for &new" | |||
I almost want to say this is a bug. | 22:40 | ||
22:40
random_yanek joined
|
|||
Xliff | Method called is (Str(), Class(), Int()) and the class I am trying to dispatch via samewith is (Str(), Class(), Int(), @) | 22:41 | |
Yet it's saying that is circular. How? | |||
SmokeMachine | is there any way no `mi6 build` do not use ONLY the main module of a distribution to create the README.md? | 22:42 | |
22:43
rindolf left
|
|||
timotimo | the mi6 file lets you turn off the readme generation, that's one thing you can do | 22:43 | |
then you can make it however you want to | |||
Xliff | How would I wrap all candidates of a multi? | 22:44 | |
timotimo | wrap the proto or for-loop over the candidates i guess? | 22:45 | |
Xliff | m: 1.^lookup('STORE').candidates.say | ||
evalable6 | (exit code 1) No such method 'candidates' for invocant of type 'Mu' in block <unit> at /tmp/8ESrpFd7m0 line 1 |
||
Xliff | m: my $a = 1; $a.^lookup('STORE').candidates.say | ||
evalable6 | (exit code 1) No such method 'candidates' for invocant of type 'Mu' in block <unit> at /tmp/NbBtS7dxEp line 1 |
||
Xliff | m: my $a = 1; $a.^lookup('STORE').say | ||
evalable6 | (Mu) | 22:46 | |
timotimo | m: 1.^find_method('STORE').say | ||
Xliff | m: my $a = 1; Int.^lookup('STORE').say | ||
evalable6 | (Mu) | ||
(Mu) | |||
timotimo | oh | ||
Xliff | O_o | ||
timotimo | m: my $foo = 1; $foo.VAR.^find_method('STORE').say | ||
evalable6 | (Mu) | ||
timotimo | m: my $foo = 1; Scalar.^lookup('STORE').say | ||
evalable6 | (Mu) | ||
timotimo | too close to bedtime to figure this out maybe | 22:47 | |
Xliff | :( | ||
Thanks for trying. | |||
timotimo | m: my $foo = 1; Scalar.^methods>>.name.say | ||
evalable6 | (<anon> <anon> new name of default dynamic WHICH BUILDALL) | ||
timotimo | m: my $foo = 1; Scalar.^methods(:all)>>.name.say | ||
evalable6 | (<anon> <anon> new name of default dynamic WHICH BUILDALL serial skip ASSIGN-KEY invert cl… | ||
timotimo, Full output: gist.github.com/6cd9544afab11660ea...7e45440588 | |||
Xliff | m: Array.^find_method('map').say | ||
evalable6 | Method+{is-nodal}.new | ||
timotimo | it simply doesn't have a STORE | ||
in its method list at least | |||
22:48
sena_kun left
|
|||
Xliff | Would that be in HOW? | 22:48 | |
timotimo | it could be deeper in the 6model, actually | 22:49 | |
Xliff | m: Positional.^find_method('STORE').say | ||
evalable6 | (Mu) | ||
Xliff | m: Positional.^lookup('STORE').say | 22:50 | |
evalable6 | (Mu) | ||
timotimo | after all, we do oftentimes lower scalar assignment to literal pointer deref and storing | ||
rather than go through a method | |||
SmokeMachine | timotimo: but if I want it to regenerate the README.md but just want it thread from more files? | ||
Xliff | Well.... so much for getting WHEN in as a module! :P | ||
timotimo | you could put a STORE method in that you can use to put stuff in there, but it won't make assigning to a scalar cause the method to be called if it's overriden or wrapped | ||
have you had a look at the Tie:: namespace on modules.perl6.org? and also P5tie? all modules liz made | 22:51 | ||
perhaps they can be an inspiration to whatever you want to do | |||
Xliff | Hmmm... Thanks for the suggestion! | ||
SmokeMachine | I mean: I want to use `#| blablabla` to document my traits and operators, but those ar not defined on my main module, but its used by them... | 22:52 | |
timotimo | SmokeMachine: no idea, sorry :( | ||
SmokeMachine | timotimo: thanks.. | 22:53 | |
timotimo | i don't even see where generating the readme happens? | 22:54 | |
oh | |||
SmokeMachine: modules.perl6.org/dist/App::Mi6:cp...6.pm6#L131 | 22:55 | ||
check it out | |||
the DOC phaser could be of service here | |||
SmokeMachine | timotimo: modules.perl6.org/dist/App::Mi6:cp...6.pm6#L131 | 22:56 | |
yes... that... sorry! | |||
timotimo | you can at the very least set a filename to use for the readme generator | ||
also, it looks like mi6 uses the lib folder as its PERL6LIB, so you can have a module in there that isn't in the provides section of the META6.json | 22:57 | ||
Xliff | timotimo: Before you go, who is the best person to talk to regarding "Circularity detected in multi sub types for &new" | ||
timotimo | and that could be responsible only for readme regeneration | ||
Xliff | Because I can't figure out how a 3-arg method new doing samewith to a 4-arg multi is circular. | ||
timotimo | Xliff: all i can say is "search the git log for that" and that gives this commit: | 22:58 | |
commit 993c01e33f45e3785e56cb63da638829c4d0d305 | |||
Date: Sat Aug 16 12:45:23 2008 +0000 | |||
SmokeMachine | this just uses the first file... `perl6 --doc=Markdown lib/Red.pm6 lib/Red/Traits.pm6` :( | ||
Xliff | timotimo: LOL! Thanks. | ||
MasterDuke | Xliff: you don't want nextwith? | 22:59 | |
Xliff | MasterDuke: Tried with both. Same result. | ||
timotimo | most of the mentions of "circularity" in the git log of rakudo are about making things work with bootstrapping, i.e. "core setting is written in perl6 and wants to use some perl6 stuff in itself" | 23:00 | |
MasterDuke | hm. but samewith is for calling the same candidate. so it couldn't go from a 3-arg to a 4-arg | ||
Xliff | MasterDuke: Here's the code github.com/Xliff/p6-GtkPlus/blob/m...er.pm6#L80 | ||
MasterDuke: My understanding is that it would re-start the dispatch with different parameters. | |||
So yes, that would go from 3 to 4. | |||
I could be mistaken, but I would expect a lot more things to be breaking if that wasn't the case. | 23:01 | ||
Funny. I search for "Circularity" and get d2999d738b1216664b647ae5135adb09eb349cde | |||
MasterDuke | Xliff: i think samewith is definitely the wrong thing. what about just calling self.new with the new args explicitly? | 23:02 | |
Xliff | MasterDuke: OK. | 23:03 | |
timotimo: Uhh... that looks like code from Parrot! =) | 23:04 | ||
timotimo | Xliff: i forgot how to search for commits with text in the description, so i actually searched for commits that had changes in the files themselves including "Circularity" | ||
MasterDuke | (take my advice with a grain of salt, also currently negotiating with a sick toddler) | ||
timotimo | so perhaps try $?ROUTINE(...) | 23:05 | |
is that a thing that can help? | |||
Xliff | OK. Same error. | ||
timotimo | or is the problem actually at compile time and only about the canditates and their signatures? | ||
Xliff | No. This is runtime. | ||
git log --grep="<term>" | 23:06 | ||
timotimo: Is that $?ROUTINE or &?ROUTINE? | 23:07 | ||
timotimo | should be & | ||
Xliff | m: sub a say { &?ROUTINE.name.say }; a | ||
evalable6 | (exit code 1) 04===SORRY!04=== Error while compiling /tmp/hDJOPa7PW3 Missing… |
||
Xliff, Full output: gist.github.com/b5f631326875b6a527...5fd344e290 | |||
Xliff | m: sub a { &?ROUTINE.name.say }; a | ||
evalable6 | a | ||
Xliff | Thanks | ||
timotimo | SmokeMachine: of course, it's exactly like a regular invocation of the file | ||
SmokeMachine: that's why i suggest putting something special into a DOC phaser | |||
Xliff | This is starting to look like a bug. | 23:09 | |
I replaced call with call(1), and am still getting the same error. | |||
So it looks like a run-time computation of something that happens at compile time. I don't get to ANY of the multi methods. | |||
timotimo | SmokeMachine: like putting DOC { say "this will show up in the readme!" } in that module | ||
Xliff: anything helpful in the --ll-exception? | 23:10 | ||
Xliff | Will look. | ||
Damn. No. This is in a callback, so --ll-exception doesn't apply. | 23:11 | ||
Let me see if I can call it directly. | |||
Same result with a direct call. --ll-exception doesn't add anything new. | 23:13 | ||
SmokeMachine | timotimo: great idea! Thanks! | ||
MasterDuke | m: proto foo(|) {*}; multi foo($a) { say "1 $a"; samewith($a, 9) }; multi foo($a, $b) { say "2 $a $b" }; foo(3) # hmm, i seem to be wrong | 23:18 | |
evalable6 | 1 3 2 3 9 |
||
MasterDuke | Xliff: mea culpa ^^^ | 23:23 | |
choiboi | I've been messing around with the 'grammar' structure and I was wondering if there is any way to make `token TOP` to accept several numbers like `token TOP { <numbers> <expr> };` | ||
Xliff | MasterDuke: LOL! | ||
MasterDuke: Thanks for checking. However my code is littered with such references. I would have known if samewith was going down the wrong path a while ago. | 23:24 | ||
Still. Beggars can't be choosers. I'm always willing to take suggestions. Now working in isolation. | |||
OK. That link is good for an example. | 23:30 | ||
If I try to call GTK::Dialog::FileChooser with ANY set of arguments, I get that error. | |||
Think I should rakudobug? | |||
I will start pulling multis, now. | 23:31 | ||
MasterDuke | Xliff: what if you just add a multi with a constant, will that get called? e.g., multi new("foo"); new("foo") | 23:33 | |
oh, you have a new with just a capture, it should pick up anything les | 23:34 | ||
*else | |||
Xliff | Yep! And that was the problem. | 23:36 | |
Taking that out nixed the circularity. But why was that even getting called? | |||
Capture should have been the last multi attempted! | 23:37 | ||
23:48
evalable6 left
23:50
evalable6 joined
|
|||
MasterDuke | m: proto foo(|) {*}; multi foo($a) { say "1 $a"; samewith($a, ("_OK" => 2, "_Cancel" => 3)) }; multi foo($a, @b) { say "2 $a @b[]" }; multi foo(|c) { say "c " ~ c }; foo(4) | 23:55 | |
evalable6 | 1 4 2 4 _OK␉2 _Cancel␉3 |