Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_log/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm Set by Zoffix on 27 July 2018. |
|||||||||||||||||||||||||||||||||||||||
00:17
anatofuz left,
lucasb left
00:42
anatofuz joined,
anatofuz left
01:22
anatofuz joined
01:26
anatofuz_ joined,
anatofuz left
01:51
anatofuz_ left
01:59
anatofuz joined,
anatofuz left
02:12
anatofuz joined
02:13
anatofuz left
02:17
dogbert11 left
02:18
squashable6 left
02:20
squashable6 joined,
ChanServ sets mode: +v squashable6
04:02
anatofuz joined
04:12
anatofuz left
04:14
anatofuz joined
04:16
anatofuz left
04:21
anatofuz joined
04:27
anatofuz left
04:30
anatofuz joined
04:34
anatofuz left
04:39
anatofuz joined
04:57
anatofuz left
04:58
anatofuz joined
05:02
anatofuz left
05:04
b2gills left
05:05
anatofuz joined,
b2gills joined
05:29
robertle left,
squashable6 left
05:33
squashable6 joined,
anatofuz left
05:36
anatofuz joined
05:40
anatofuz left
05:42
anatofuz joined
05:54
anatofuz left,
anatofuz joined
05:55
anatofuz left
05:56
anatofuz joined
06:09
anatofuz left
06:10
anatofuz joined
06:23
anatofuz left
|
|||||||||||||||||||||||||||||||||||||||
samcv | vrurg, well it's not language-perl6, since there haven't been new commits. and same with language-perl. so maybe some other addon you have. can i get a list of all your modules in atom? | 06:24 | |||||||||||||||||||||||||||||||||||||
06:24
anatofuz joined
|
|||||||||||||||||||||||||||||||||||||||
samcv | just do `~/.atom/packages` and should get a list of all of them | 06:24 | |||||||||||||||||||||||||||||||||||||
06:34
anatofuz left
06:35
anatofuz joined
06:41
anatofuz left
06:44
anatofuz joined
06:52
anatofuz left
06:54
anatofuz joined
07:01
anatofuz left
07:08
anatofuz joined
07:22
anatofuz left
07:23
anatofuz joined
07:28
anatofuz left
07:34
anatofuz joined
07:39
anatofuz left
07:51
anatofuz joined
07:57
anatofuz left
08:09
anatofuz joined
08:11
anatofuz left,
anatofuz joined
08:16
anatofuz left
08:18
awwaiid left
08:21
anatofuz joined,
anatofuz left
08:22
anatofuz joined
08:26
anatofuz left,
anatofuz joined
08:35
anatofuz left
08:36
anatofuz joined
08:39
anatofuz left,
anatofuz joined
08:40
anatofuz left
08:41
anatofuz joined
08:45
anatofuz left,
Ulti left
08:46
Ulti joined
09:04
tyil is now known as tyil[m],
tyil[m] is now known as tyil
09:19
anatofuz joined
|
|||||||||||||||||||||||||||||||||||||||
|Tux| |
|
09:28 | |||||||||||||||||||||||||||||||||||||
09:43
anatofuz left
09:45
anatofuz joined
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | So! We decided to include extensions in the PR so that editors only have to adapt once, yet we picked a set of extensions on a whim because we're rushing the PR for whatever reason (I wanted the rename for years, yet now somehow a few extra weeks is suddenly a problem‽). And this set of extensions 1. Is just distasteful (at the very least too long) 2. Implies that people shouldn't use .t even though we've been doing that for a long | 09:51 | |||||||||||||||||||||||||||||||||||||
time, also nobody bothered to write a justification on why it should be so (as I said previously, something something editors is very weak). All of that together doesn't sound right to me, and I'd like the rename to go as smooth as possible. | |||||||||||||||||||||||||||||||||||||||
change my mind | |||||||||||||||||||||||||||||||||||||||
I'm asking here because maybe I'm just being dumb and the situation is much clearer to everybody else. I don't want extra noise on the PR | 09:52 | ||||||||||||||||||||||||||||||||||||||
timotimo, lizmat, jnthn ↑ | 09:53 | ||||||||||||||||||||||||||||||||||||||
lizmat | I don't personally care much which extension is going to be used | ||||||||||||||||||||||||||||||||||||||
I'm open to changing this later | 09:54 | ||||||||||||||||||||||||||||||||||||||
before we actually role out 'raku' | |||||||||||||||||||||||||||||||||||||||
09:54
Kaiepi left
|
|||||||||||||||||||||||||||||||||||||||
lizmat is a little distracted by being glued to BBC wrt constitutional developments in the UK | 09:55 | ||||||||||||||||||||||||||||||||||||||
09:55
Kaiepi joined
10:04
Kaiepi left
10:05
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | but previously the PR used to say that extensions are going to change, and that it'll be decided later to which particular ones | 10:06 | |||||||||||||||||||||||||||||||||||||
but somehow we had to pick something, and we did, and now we're somehow open to changing that? | |||||||||||||||||||||||||||||||||||||||
jnthn | Are we? :) | 10:07 | |||||||||||||||||||||||||||||||||||||
lizmat | I only said that we *could* decide to change it, not that we *should* | 10:10 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | well, if we're not, I can post that as a request for changes, so that at least the test extension can be properly explored | ||||||||||||||||||||||||||||||||||||||
10:11
Kaiepi left
|
|||||||||||||||||||||||||||||||||||||||
jnthn | AlexDaniel: tbh, mostly what I saw of your argument seemed to me overly dismissive of the current reality of how editors work with file extensions, and overly optimistic about that changing. | 10:12 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | jnthn: what about having `prove` just work? | ||||||||||||||||||||||||||||||||||||||
10:13
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | or are you being overly optimistic that `prove` will change? :) | 10:13 | |||||||||||||||||||||||||||||||||||||
10:13
Kaiepi left,
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | or what's the plan? That's my main concern, really, this is not thought through at all, and not described in the PR or pretty much anywhere | 10:14 | |||||||||||||||||||||||||||||||||||||
jnthn | 1) Nothing about the presence of an alternative for .t for those who wish to use it prevents them using it. 2) Not everyone is using `prove`, and I thought we wanted to encourage use of `prove6` (whatever that ends up being called) anyway. | ||||||||||||||||||||||||||||||||||||||
10:15
Kaiepi left
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | also, me being dismissive of how editors work? I was the one who started investigating what's the actual situation with editors is while everyone was saying there are some magical problems | 10:16 | |||||||||||||||||||||||||||||||||||||
10:16
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | and turns out there's no problem with Atom, or at the very least shouldn't be | 10:16 | |||||||||||||||||||||||||||||||||||||
jnthn | Well, what I saw is you saying there shouldn't be and others saying they do have one :) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | and intellij is its own snowflake, but yet bashsupport is somehow doing it? | ||||||||||||||||||||||||||||||||||||||
10:17
Kaiepi left
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | and your 1) doesn't do it for me, I don't see why we should deliberately have a mix of extensions | 10:18 | |||||||||||||||||||||||||||||||||||||
either we encourage our own extension or we encourage .t, the PR is currently going to encourage our own extension, I'm asking why, you're telling me I'm free to use whatever extension I want | 10:19 | ||||||||||||||||||||||||||||||||||||||
lizmat | in the case of .t, originally it was thought to indicate that the script would output TAP | ||||||||||||||||||||||||||||||||||||||
jnthn | OK, I thought the PR was offering it up as an option | ||||||||||||||||||||||||||||||||||||||
So apparently I read into it what I thought it should say. | 10:20 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | “For testing, the extension `.rakutest` should be used, while the old `.t` extension will continue to be supported for 6.e, with deprecation messages appearing from 6.f onward.” | ||||||||||||||||||||||||||||||||||||||
look it even says we're deprecating it | |||||||||||||||||||||||||||||||||||||||
I have no idea how that's even going to work | |||||||||||||||||||||||||||||||||||||||
what's going to deprecate it? prove6? | |||||||||||||||||||||||||||||||||||||||
jnthn | Uff, yeah, how'd I miss that :/ | 10:21 | |||||||||||||||||||||||||||||||||||||
lizmat | well, I wrote it that way because that was what *I* thought was the result of the extension issue | ||||||||||||||||||||||||||||||||||||||
look, to me, this is not at all law to be held up until the end of times | 10:22 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | so we're open to changing that? | ||||||||||||||||||||||||||||||||||||||
jnthn: are we? ;) | |||||||||||||||||||||||||||||||||||||||
but, even if it starts saying “For testing, the extension `.rakutest` should be used.” without extra remarks, I'm not sure that's not good enough for me | |||||||||||||||||||||||||||||||||||||||
lizmat | well, as I said, .t should indicate TAP output, regardless of what executor it produces | 10:23 | |||||||||||||||||||||||||||||||||||||
at least in my opinion | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | that's correct, yes | ||||||||||||||||||||||||||||||||||||||
lizmat | but I guess it's harder to have tools adapt to that | ||||||||||||||||||||||||||||||||||||||
than it is to change to / support an alternate extension | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: what do you mean? `prove` itself already works | 10:24 | |||||||||||||||||||||||||||||||||||||
I guess prove6 doesn't, but honestly its incomplete anyway | |||||||||||||||||||||||||||||||||||||||
lizmat | I don't think prove was the problem, but other tools saying that .t implies Perl 5 code ? | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | you can have a .t file written in python, with python shebang, `prove` will run it as python | ||||||||||||||||||||||||||||||||||||||
lizmat | e.g github ? | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | why you guys keep bringing stuff as examples when you have no idea if there's an actual problem? | 10:26 | |||||||||||||||||||||||||||||||||||||
lizmat | it just goes to show how much confusion there is | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | no problem with github as far as I know | ||||||||||||||||||||||||||||||||||||||
I have all these tests with .t github.com/perl6/whateverable/tree/master/xt | |||||||||||||||||||||||||||||||||||||||
none of them seem to be detected as perl5 code | 10:27 | ||||||||||||||||||||||||||||||||||||||
lizmat | then I am ever more confused (but also still very much distracted) | 10:28 | |||||||||||||||||||||||||||||||||||||
jnthn | AlexDaniel: I guess it uses linguist for that, and I'm guessing the #! line in the tests is giving it a clue; I'm not sure how common it is to include that, however (I never do). | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | jnthn: you should include it if you want prove to run it correctly by default (funnily enough, that doesn't work for “perl6” because it has perl in it) | 10:30 | |||||||||||||||||||||||||||||||||||||
then you don't need --exec=raku on the command line | |||||||||||||||||||||||||||||||||||||||
and you can have a mix of perl5 and python and whatever else .t files | |||||||||||||||||||||||||||||||||||||||
jnthn: from what I've read linguist also can look at the presence of `use v6` | 10:31 | ||||||||||||||||||||||||||||||||||||||
I should double check that though… | 10:32 | ||||||||||||||||||||||||||||||||||||||
jnthn | AlexDaniel: If the argument is that I should include it so prove can then fail to do the right thing with it, I can see why I've not been doing it. :) | 10:35 | |||||||||||||||||||||||||||||||||||||
I agree that the situation with raku would be an improvemnet there, though. | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | Perl6Regex = /^\s*(?:use\s+v6\b|\bmodule\b|\b(?:my\s+)?class\b)/ | 10:37 | |||||||||||||||||||||||||||||||||||||
fancy | |||||||||||||||||||||||||||||||||||||||
lizmat | shouldn't that also include grammar / rule / regex ? | 10:39 | |||||||||||||||||||||||||||||||||||||
token ? | |||||||||||||||||||||||||||||||||||||||
as you could also have a file consisting of just a grammar etc. ? | 10:40 | ||||||||||||||||||||||||||||||||||||||
timotimo | .o( monitor ) | 10:43 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: well, heuristics will become much simpler once we let go of perl5 extensions | ||||||||||||||||||||||||||||||||||||||
at least some time in the future | |||||||||||||||||||||||||||||||||||||||
timotimo | would it be fine for me to put my "i would prefer shorter extensions, as well as using .t for tests" in the review i put on #89? | 10:44 | |||||||||||||||||||||||||||||||||||||
lizmat | yes | 10:47 | |||||||||||||||||||||||||||||||||||||
jnthn | AlexDaniel: An argument that distinct extensions make heuristics easier favors a .rakutest or such extension, though? :) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | jnthn: not really, because we're talking about providing the same information with a shebang | 10:49 | |||||||||||||||||||||||||||||||||||||
jnthn | AlexDaniel: I guess, but an extension isn't even a heuristic, and doesn't need looking at the content. Also...I really don't see us getting widespread adoption of a shebang in .t files. | 10:55 | |||||||||||||||||||||||||||||||||||||
(I've always used prove with the -e option) | |||||||||||||||||||||||||||||||||||||||
(Until I started using Comma's test runner instead for most things) | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | I see no problem getting a widespread adoption of a shebang in .t files | ||||||||||||||||||||||||||||||||||||||
“Create a Ruby file test.rb (or something like that)” testanything.org/testing-with-tap/ruby.html | 10:56 | ||||||||||||||||||||||||||||||||||||||
I'm now looking at how other languages do it | |||||||||||||||||||||||||||||||||||||||
it's weird | |||||||||||||||||||||||||||||||||||||||
timotimo | .junit | 10:59 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | now that I think about it, there's nothing specifically wrong with .rk or .raku extensions for test files, is there? | 11:01 | |||||||||||||||||||||||||||||||||||||
how often do you have runnable scripts that are not tests in the t/ directory? | |||||||||||||||||||||||||||||||||||||||
ok, plain `prove` won't work, but what's the point of a separate test extension anyway? | 11:02 | ||||||||||||||||||||||||||||||||||||||
I can understand the need for a distinction between executables and modules, and I can see a good argument for having a separate extension for docs | 11:03 | ||||||||||||||||||||||||||||||||||||||
but for tests? Hmm | |||||||||||||||||||||||||||||||||||||||
jnthn | Hm, it's also a way of looking at it | 11:05 | |||||||||||||||||||||||||||||||||||||
lunch & | |||||||||||||||||||||||||||||||||||||||
timotimo | right, sometimes you'll have modules in your test folder hierarchy for helpers and such | 11:07 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | treegrep: t/.*\.pl | 11:15 | |||||||||||||||||||||||||||||||||||||
greppable6 | AlexDaniel, gist.github.com/b023675f091c2b2594...1033fbdf2f | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | treegrep: t\/.*\.pl | ||||||||||||||||||||||||||||||||||||||
nine | FWIW the "perl6 is not recognized in the shebang issue" has been fixed for serveral Perl 5 versions already | ||||||||||||||||||||||||||||||||||||||
greppable6 | AlexDaniel, gist.github.com/477a913941133d053b...6a4d2295fb | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | nine: oh | 11:16 | |||||||||||||||||||||||||||||||||||||
treegrep: \/x?t\/.*\.pl | |||||||||||||||||||||||||||||||||||||||
greppable6 | AlexDaniel, gist.github.com/32ce0cf30028e86115...e9f56c5b2c | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | treegrep: \/x?t\/.*\.p[l6] | 11:17 | |||||||||||||||||||||||||||||||||||||
greppable6 | AlexDaniel, gist.github.com/e10d8c1cd4aa371116...61c2187ccc | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | wait that's a perl6 regex? | ||||||||||||||||||||||||||||||||||||||
treegrep: \/x?t\/.*\.p<[l6]] | |||||||||||||||||||||||||||||||||||||||
treegrep: \/x?t\/.*\.p<[l6]> | |||||||||||||||||||||||||||||||||||||||
greppable6 | AlexDaniel, gist.github.com/f1675d0c3bf3b50d0a...80833f22df | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, gist.github.com/ab5af49ce3e55dc815...2954125cc1 | |||||||||||||||||||||||||||||||||||||||
11:19
ugexe joined
|
|||||||||||||||||||||||||||||||||||||||
ugexe | github.com/ugexe/Perl6-CompUnit--R...6444B8FFB3 | 11:19 | |||||||||||||||||||||||||||||||||||||
End of discussion | |||||||||||||||||||||||||||||||||||||||
11:19
ugexe left
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | and what does that even mean? | 11:20 | |||||||||||||||||||||||||||||||||||||
timotimo | an example of how to use libraries for tests? | 11:21 | |||||||||||||||||||||||||||||||||||||
nine | Or...not. Apparently the fix has been reverted :/ www.nntp.perl.org/group/perl.perl5....36423.html | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | and how is that even relevant? | ||||||||||||||||||||||||||||||||||||||
#!/opt/perl64/bin/perl | 11:22 | ||||||||||||||||||||||||||||||||||||||
you've got to be kidding me | |||||||||||||||||||||||||||||||||||||||
11:23
ugexe joined
|
|||||||||||||||||||||||||||||||||||||||
ugexe | i guess I have to spell it out | 11:23 | |||||||||||||||||||||||||||||||||||||
it shows a valid reason to have script files that are not tests included in the t folder | |||||||||||||||||||||||||||||||||||||||
timotimo | ah, because there's a bin/ in there | 11:24 | |||||||||||||||||||||||||||||||||||||
ugexe | te Example doesn’t explicitly use .p6 but it just as easily could | ||||||||||||||||||||||||||||||||||||||
11:24
anatofuz left,
ugexe left
11:25
anatofuz joined
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | well, I already see that based on the output from greppable, with actual bin files that have extensions | 11:27 | |||||||||||||||||||||||||||||||||||||
I understand you could do that, but that's why I asked “how often” | 11:28 | ||||||||||||||||||||||||||||||||||||||
nine | In our (Perl 5) code base at work we have a t/generate_test_files.pl script that generates .t files for the unit tests classes in t/lib | ||||||||||||||||||||||||||||||||||||||
11:30
anatofuz left
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | so what? Now we're suddenly arguing that `prove` doing the right thing by default would be great? | 11:30 | |||||||||||||||||||||||||||||||||||||
or what's the point even, now I'm completely lost | |||||||||||||||||||||||||||||||||||||||
nine | I was just saying that it can be useful to have a distinct extension for tests. I'm still very much a fan of .t.raku or something like that btw. | 11:31 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | anyway, I'll go for a ride, then I'll submit a request for changes. The deprecation clause for .t is not going to fly for sure, and the rest about extensions is very questionable in book too | ||||||||||||||||||||||||||||||||||||||
in my book* | 11:32 | ||||||||||||||||||||||||||||||||||||||
nine | Yeah, extensions seem to be the weak point just now. But that was to be expected honestly :) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | if we want the rename to go through, it feels like the previous version of the PR is more likely to be accepted | 11:33 | |||||||||||||||||||||||||||||||||||||
the one that said that extensions will most likely change, but it'll be discussed separately | |||||||||||||||||||||||||||||||||||||||
then we can have the rename go through and we'll also be able to bikeshed extensions to death | 11:34 | ||||||||||||||||||||||||||||||||||||||
nine | jnthn: Just wanted to say that I can sympathise with and support every word of your PR approval message. Except for that I took the liberty of avoiding the energy drain by not getting involved in the discussion and focusing on fixing stuff instead :) | 11:36 | |||||||||||||||||||||||||||||||||||||
11:39
anatofuz joined
|
|||||||||||||||||||||||||||||||||||||||
timotimo | it's not like jnthn really had a choice to do that | 11:40 | |||||||||||||||||||||||||||||||||||||
i mean, he had a choice, sure, but i guess it was expected of him to pay attention | |||||||||||||||||||||||||||||||||||||||
nine | timotimo: you mean approve? | ||||||||||||||||||||||||||||||||||||||
timotimo: oh, probably you mean to participate. Yes, that was pretty much forced | 11:41 | ||||||||||||||||||||||||||||||||||||||
timotimo | no, just involve himself in general | ||||||||||||||||||||||||||||||||||||||
yeah | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | some things need to be fixed regardless of whether you want to spend your energy on them or not | 11:42 | |||||||||||||||||||||||||||||||||||||
the bigger energy drain in these cases is when you ignore, then you have to suffer for years instead | |||||||||||||||||||||||||||||||||||||||
11:44
anatofuz left
|
|||||||||||||||||||||||||||||||||||||||
nine | AlexDaniel: both true. Nevertheless I'm glad I had the option of staying out of the discussion. | 11:52 | |||||||||||||||||||||||||||||||||||||
And because of that I'm immensly grateful to you people who conducted the necessary discussion and worked towards a solution! | 11:53 | ||||||||||||||||||||||||||||||||||||||
11:55
anatofuz joined
12:01
anatofuz left
12:02
anatofuz joined
|
|||||||||||||||||||||||||||||||||||||||
jnthn | nine: I've been glad to watch you get on with stuff while my energies were being spent on this (and on a totally unreasonable number of cold-y things). | 12:15 | |||||||||||||||||||||||||||||||||||||
AlexDaniel: I'm confused, you already *did* approve the PR. | 12:18 | ||||||||||||||||||||||||||||||||||||||
On what ugexe pointed out: I've got similar stuff happening in a t/ directory too, so it's not entirely unusual to have libs/scripts there | 12:19 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel: (previous version was more likely to be accepted) then you lose my approval, so...not really :) | 12:22 | ||||||||||||||||||||||||||||||||||||||
12:49
lucasb joined
14:42
anatofuz left
14:43
anatofuz joined
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | jnthn: ok then fix this one? | 14:45 | |||||||||||||||||||||||||||||||||||||
I did approve, I changed my mind | |||||||||||||||||||||||||||||||||||||||
14:47
anatofuz left
15:05
dogbert11 joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | jnthn: work so far on making Proxy subclassable: gist.github.com/lizmat/b9dee7095a5...1b04b9dc66 | 15:12 | |||||||||||||||||||||||||||||||||||||
unfortunately fails in building with: Cannot find method 'specialize' on object of type NQPClassHOW | |||||||||||||||||||||||||||||||||||||||
at gen/moar/Metamodel.nqp:3405 (blib/Perl6/Metamodel.moarvm:compose) | |||||||||||||||||||||||||||||||||||||||
jnthn | lizmat: Perl6::Metamodel::ContainerSpecProtocol is meant to be composed into ClassHOW | 15:15 | |||||||||||||||||||||||||||||||||||||
And publish_container_spec probably needs calling from .^compose or so | |||||||||||||||||||||||||||||||||||||||
lizmat | ok, so we're good in adding an attribute to every class out there ? | ||||||||||||||||||||||||||||||||||||||
jnthn | It's not like it's every object out there :) | 15:16 | |||||||||||||||||||||||||||||||||||||
lizmat | true, but every "but" is a class, no ? | ||||||||||||||||||||||||||||||||||||||
jnthn | Yeah, though mixin caching :) | ||||||||||||||||||||||||||||||||||||||
lizmat | anyways, will try to grok what you said there and get back to you :-) | 15:17 | |||||||||||||||||||||||||||||||||||||
jnthn | So unless you're a fantastic variety of "but"s... | ||||||||||||||||||||||||||||||||||||||
oops | |||||||||||||||||||||||||||||||||||||||
you've :) | |||||||||||||||||||||||||||||||||||||||
15:17
ufobat__ joined
|
|||||||||||||||||||||||||||||||||||||||
jnthn | Probably get it to work at all first, but at some point you'll then need to look up the MRO to see if a parent has a container spec thing set up | 15:17 | |||||||||||||||||||||||||||||||||||||
Otherwise it won't actually help subclassing | 15:18 | ||||||||||||||||||||||||||||||||||||||
lizmat | well, being a fantastic variety of "but"s pretty much describes my life in the past year or so :-( | ||||||||||||||||||||||||||||||||||||||
I was thinking doing that on the trait_mod:<is> | |||||||||||||||||||||||||||||||||||||||
jnthn | No, that's the wrong place | 15:19 | |||||||||||||||||||||||||||||||||||||
It needs doing in the MOP | |||||||||||||||||||||||||||||||||||||||
lizmat | ok... | ||||||||||||||||||||||||||||||||||||||
jnthn | I think boolean spec and invocation spec have to solve the same problem, so you can crib from them | ||||||||||||||||||||||||||||||||||||||
lizmat | the ContainerSpecProtocol.nqp looks ok to you then ? | 15:20 | |||||||||||||||||||||||||||||||||||||
15:21
ufobat_ left
|
|||||||||||||||||||||||||||||||||||||||
jnthn | It looks feasibly correct (though I'm doing multiple other things at the same time as looking at it, on not enough sleep, so...) | 15:21 | |||||||||||||||||||||||||||||||||||||
lizmat | good enough for me :-) | ||||||||||||||||||||||||||||||||||||||
jnthn | I can't remember if the other two I mentioned walk the MOP inside of the role or outside of it | ||||||||||||||||||||||||||||||||||||||
lizmat | hmmm.. I need to add the new file to the list of files to concat: any idea where that loves now ? | 15:23 | |||||||||||||||||||||||||||||||||||||
ah, looks like tools/templates/common_metamodel_sources | 15:24 | ||||||||||||||||||||||||||||||||||||||
jnthn | .oO( I'm not sure I want to know where it does that... ) |
15:25 | |||||||||||||||||||||||||||||||||||||
That sounds likely. It's all moved around a bunch of late | |||||||||||||||||||||||||||||||||||||||
lizmat | and it builds! :-) | 15:29 | |||||||||||||||||||||||||||||||||||||
running spectests now | |||||||||||||||||||||||||||||||||||||||
and that's clean.. :-) | 15:38 | ||||||||||||||||||||||||||||||||||||||
15:50
anatofuz joined
15:56
MasterDuke joined
16:23
anatofuz left
16:59
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
japhb | FWIW I happen to hate long (.rakufoo style) extensions; I'm sufficiently used to having to tell prove what executable to use that I just shell aliased that problem away; the editor I currently use is aware of being able to reinterpret a file using a different language plugin; I agree that .t means 'produces TAP' not 'executed by perl5'. | 17:32 | |||||||||||||||||||||||||||||||||||||
discord6 | <Rogue> I feel like there should be FatRat versions of all the trig functions | 17:33 | |||||||||||||||||||||||||||||||||||||
<Rogue> it's quite annoying to have your number degrade as soon as you run them through a trig function | 17:34 | ||||||||||||||||||||||||||||||||||||||
[Coke] | could make multi versions of them that DTRT. | ||||||||||||||||||||||||||||||||||||||
and then use them in the scope you care about. | |||||||||||||||||||||||||||||||||||||||
discord6 | <Rogue> Or even Rat versions, since FatRats can get, well, fat | 17:35 | |||||||||||||||||||||||||||||||||||||
<Rogue> I can't make up my mind on that the conversion rules should be, though | 17:36 | ||||||||||||||||||||||||||||||||||||||
<Rogue> Obviously FatRat inputs need to lead to FatRat outputs | |||||||||||||||||||||||||||||||||||||||
<Rogue> But should Rat inputs degrade to Num by default, or remain Rat by default? Or, put another way, do we have an :exact parameter or a :fast parameter | 17:37 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | Rogue: lizmat has (had?) something (pragma/dynamic variable/etc) in the works to control what happens with Rats (e.g., should they get promoted to FatRats instead of converted to Nums). (can i add more parenthetical statements (should i?)?) | 17:38 | |||||||||||||||||||||||||||||||||||||
timotimo | how do you make a FatRat come out of a trig function? computers don't have enough ram for that | ||||||||||||||||||||||||||||||||||||||
discord6 | <Rogue> That's a good question timo | 17:39 | |||||||||||||||||||||||||||||||||||||
<Rogue> Some sort of defaulted :$precision argument? | |||||||||||||||||||||||||||||||||||||||
<Rogue> I would be pretty awesome if we could carry irrational constants around in numbers, but I know that's a pipe dream | 17:40 | ||||||||||||||||||||||||||||||||||||||
timotimo | yeah, that'd be a CAS, maybe Math::Symbolic or whatever | 17:41 | |||||||||||||||||||||||||||||||||||||
lizmat | MasterDuke Rogue github.com/rakudo/rakudo/pull/3122 | 17:50 | |||||||||||||||||||||||||||||||||||||
17:51
vrurg left
18:05
chloekek joined
18:20
anatofuz joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | jnthn: do we need a separate "publish_container_spec", why not have set_container_spec perform all of that logic ? | 18:30 | |||||||||||||||||||||||||||||||||||||
I guess so you can call it in ClassHOW.compose without worries ? | 18:33 | ||||||||||||||||||||||||||||||||||||||
discord6 | <Rogue> lizmat: that's a good idea as well, to avoid repeating your intention | 18:42 | |||||||||||||||||||||||||||||||||||||
<Rogue> but maybe introduce Rat as another possible value for things like trig functions where a FatRat could potentially become infinitely large | 18:43 | ||||||||||||||||||||||||||||||||||||||
<Rogue> not sure how (or if?) trig functions could spit out an exact answer without just rounding cleverly (which doesn't seem a good choice) | 18:45 | ||||||||||||||||||||||||||||||||||||||
<Rogue> maybe I'm going down a road that ends at a cliff here :^) | 18:46 | ||||||||||||||||||||||||||||||||||||||
18:54
anatofuz left
|
|||||||||||||||||||||||||||||||||||||||
jnthn | lizmat: Yes, so it can be applied at composition time. | 19:02 | |||||||||||||||||||||||||||||||||||||
lizmat | ok, should I look at Perl6::Metamodel::C3MRO.compute_mro to plug in checking for container_spec ? | 19:03 | |||||||||||||||||||||||||||||||||||||
jnthn | No | 19:04 | |||||||||||||||||||||||||||||||||||||
lizmat | MROBasedMethodDispatch ? | ||||||||||||||||||||||||||||||||||||||
jnthn | What you need to do is walk the mro in publish_container_spec | 19:05 | |||||||||||||||||||||||||||||||||||||
Well, check if there's one in this class, and if not, then do something like github.com/rakudo/rakudo/blob/mast...ol.nqp#L60 | |||||||||||||||||||||||||||||||||||||||
lizmat | oki | ||||||||||||||||||||||||||||||||||||||
jnthn | Basically, query classes up the MRO to see if they have a container spec | 19:06 | |||||||||||||||||||||||||||||||||||||
That'll make the subclassing of it work. | |||||||||||||||||||||||||||||||||||||||
19:39
vrurg joined
|
|||||||||||||||||||||||||||||||||||||||
Geth_ | rakudo/subclass-proxy: 4a76778c52 | (Elizabeth Mattijsen)++ | 4 files Allow sub-classing of Proxy objects Inspired by: stackoverflow.com/questions/580553...rectly-tie This allows one to say: ... (8 more lines) |
19:52 | |||||||||||||||||||||||||||||||||||||
rakudo: lizmat++ created pull request #3196: Allow sub-classing of Proxy objects |
19:53 | ||||||||||||||||||||||||||||||||||||||
lizmat | jnthn: ^^ | 19:54 | |||||||||||||||||||||||||||||||||||||
20:10
chloekek left
|
|||||||||||||||||||||||||||||||||||||||
jnthn | lizmat: Have some comments, but I think they're mostly "please delete some lines of code" :) | 20:40 | |||||||||||||||||||||||||||||||||||||
(Left the comments on the PR already) | |||||||||||||||||||||||||||||||||||||||
20:46
leont joined
20:51
anatofuz joined
|
|||||||||||||||||||||||||||||||||||||||
Geth_ | rakudo/subclass-proxy: ead4fcc3c3 | (Elizabeth Mattijsen)++ | src/Perl6/bootstrap.c/BOOTSTRAP.nqp Make sure we decont whatever we create a Proxy subclass with |
21:07 | |||||||||||||||||||||||||||||||||||||
rakudo/subclass-proxy: 963646644f | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/ContainerSpecProtocol.nqp Don't assign to "local" atteribute |
21:09 | ||||||||||||||||||||||||||||||||||||||
21:22
squashable6 left
21:24
squashable6 joined,
anatofuz left
|
|||||||||||||||||||||||||||||||||||||||
Geth_ | rakudo/subclass-proxy: fe1dcadaec | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/ContainerSpecProtocol.nqp Remove special case Since the first element of .mro is the class itself, it will find its own container_spec that way. |
21:24 | |||||||||||||||||||||||||||||||||||||
21:27
vrurg left
21:31
anatofuz joined
|
|||||||||||||||||||||||||||||||||||||||
Geth_ | ¦ problem-solving: AlexDaniel assigned to jnthn Issue New Raku file extensions github.com/perl6/problem-solving/issues/108 | 21:35 | |||||||||||||||||||||||||||||||||||||
22:03
anatofuz left,
anatofuz joined
|
|||||||||||||||||||||||||||||||||||||||
Geth_ | rakudo/subclass-proxy: 5eea5f4eb6 | (Elizabeth Mattijsen)++ | 2 files .compose_repr is only needed in the bootstrap |
22:04 | |||||||||||||||||||||||||||||||||||||
22:24
anatofuz left
22:25
anatofuz joined
22:29
anatofuz left
22:36
anatofuz joined,
anatofuz left
22:43
dogbert11 left
22:44
ccamel joined
22:47
camelCaser left
22:54
leont left
23:22
anatofuz joined
23:38
squashable6 left,
squashable6 joined
23:42
epony left,
anatofuz_ joined
23:44
anatofuz left
23:47
anatofuz_ left
|