|
13:45
Geth left,
Geth joined
|
|||
| lucs | The `rak` module file `./t/01/basic.rakutest` has this line: | 18:08 | |
| ok MY::<&rak>, 'did rak get exported'; | |||
| What is that MY:: ? | |||
| (and the rest too) | |||
| lizmat | that's a pseudostash for the lexical pad | 18:09 | |
| lucs | Um, okay :( | ||
| lizmat | m: my $a = 42; say MY::<$a> | ||
| 42 | |||
| lucs | Hmm... | ||
| lizmat | BEGIN say MY::<$a>; my $a = 42; say MY::<$a> | 18:10 | |
| Nil | |||
| 42 | |||
| lucs | I kind of get it, I think. | 18:11 | |
| Allow me to ask another question. | |||
| `./xt/02-simple.rakutest` does a `use rak;` (fine), but then use PairMatched and PairChanged, whose scope, if I undestand correctly, should make them invisible there (`my class ...`). | 18:13 | ||
| How does that work? | |||
| *but then uses | 18:14 | ||
| lizmat | zmy class PairContext is Pair is export | 18:16 | |
| my class PairMatched is PairContext is export | |||
| the "is export" trait exports the classes | |||
| lucs | Oh my god, don't tell me I didn't read till at least the end of the line. | 18:17 | |
| lizmat | think so, I'm afraid -) | ||
| lucs | Jeebus, I'm an idiot. | ||
| Sorry about that. | |||
| lizmat | no worries... we've been all there (not reaching the end of the line before drawing conclusions :-) | 18:18 | |
| lucs | Hmm... Actually, I still have a problem: | 18:20 | |
| When I try to run the tests (`raku ./xt/02-...`), I get an "Undeclared name: PairChanged" | 18:21 | ||
| (I guess that's why I thought all that was involved in not finding the name was the 'my class' and didn't read any further.) | 18:22 | ||
| lizmat | did you run with raku -I. ? | ||
| that test file passes for me | 18:23 | ||
| lucs | I didn't. I currently think that wouldn't change anything, give me a minute to think it over before responding. | 18:24 | |
| [Coke] | you can use something like 'zef test .' which does the setup you need to use the local uninstalled modules, or specificaly set RAKULIB to . (which then reads the META6.json file info) | ||
| lizmat | zef test doesn't do tests in xt afaik | 18:26 | |
| lucs | Hmm... Note that the earlier `use rak` in the file passes, and there is no complaint about the also earlier 'PairMatched'. | 18:27 | |
| [Coke] | (correct, zef test is just t/, apologies) | 18:29 | |
| lucs | I think I have installed rak with zef in the past, I may have downloaded the source code later, and that's the test file I'm trying to run, maybe something changed between what I installed and the source I'm looking at? | ||
| [Coke] | if you already have it installed... | ||
| lucs | [Coke]: I'm just trying to figure out stuff, the code appears to work fine :) | 18:30 | |
| [Coke] | +1 | ||
| my ... was implicitly followed by "then you are probably using the already installed one if you haven't set the path to use the local version: | |||
| lucs | Yeah, I'll check. | 18:31 | |
| Yow! I have 0.0.47, and the source I have is at 0.0.65. | 18:32 | ||
| Gotta upgrade, eh. | 18:33 | ||
| Hey, general question: when you folks move up to a more recent Rakudo, isn't it painful to have to reinstall all the modules that already were with an earlier version? | 18:35 | ||
| [Coke] | as one of the two people doing releases, I'm the wrong person to ask that question. :) | 18:36 | |
| I upgrade more often than most. | |||
| lucs | `zef list --installed | wc -l # 175 :-( | ||
| lizmat | lucs: I have this policy that if I update a module, I try to make sure that all of its dependencies are at the most recent version | 18:37 | |
| (or higher) | 18:38 | ||
| lucs | That sounds like a pretty good thing. | ||
| What do you have to do when you move to a more recent Rakudo? | 18:39 | ||
| I think I have to reinstall all the modules I had, right? | |||
| [Coke] | I need to write a script that renders the installed list, then uses that list to re-install everything. | ||
| lucs | Okay, I started doing something like that, | 18:40 | |
| I'll go revise that script. | |||
| I'm kind of due. | |||
| [Coke] | I have a few App:: wrapper scripts that will do a zef install if the script isn't in my path, automatically | ||
| lucs | (Currently running 2023.02) | 18:41 | |
| Oh, by the way, adding that `-I.` works (well, I get new errors, but it's because of other outdated modules :-) | 18:46 | ||
| lizmat | zef install . --deps-only | 18:47 | |
| lucs | Um, deps-only, will it overwrite my current rak also? (which is what I want, eh) | 18:48 | |
| lizmat | --deps-only will install the modules that that version of the source needs | ||
| lucs | Okay. | 18:49 | |
| lizmat | *not* the distribution itself | ||
| lucs | So then the tests should pass. | ||
| lizmat | that's the idea... :-) | ||
| lucs | And if I want to upgrade too, I can just `zef install .` | ||
| lizmat | yup | 18:50 | |