guifa | thowe: basically, monkey typing allows you to `augment` classes | 00:57 | |
all of the MONKEY pragmas let you monkey around (get it?) with stuff that you should think twice about, generally because there be dragons | 00:59 | ||
MONKEY-SEE-NO-EVAL (see no evil hardy har har) allows the use of EVAL on potentially unsafe strings. | |||
MONKEY-GUTS allows you to use NQP operations, which are technically not part of Raku, just Rakudo, so that could shouldn't be assumed portable or stable. | 01:00 | ||
MONKEY-TYPING lets you `augment` (and down the road, `supersede`) classes. That has global effect, so you could potentially really muck with things if you augmented, say, a core Raku class and didn't handle it carefully. | 01:01 | ||
03:27
mcmillhj joined
04:22
mcmillhj left
|
|||
stevied | i'm having trouble figuring out how to pass an array literal to a function | 04:27 | |
tried `apps < /Applications /Users/stevedondley/workshop/raku >;` | 04:28 | ||
and apps `[ 'blah', 'blah2' ];` | |||
neither worked | |||
ok, it was working. I was using push to add an arrary to another array when I should have been using append | 04:42 | ||
08:18
st33v joined
11:35
sjn left
13:29
getimiskon joined
13:50
st33v left
|
|||
if I have a module on github and I push a new version to it and I'm on the p6c ecosystem, will the change be automatically picked up or do I also need to push with fez? | 15:16 | ||
lizmat | if your module is also in fez, then I would advise to just push to fez, and drop the module from the p6c ecosystem | 15:18 | |
if it is not in fez, then you don't need to do anything | |||
(except maybe migrate to fez at your convenience :-) | 15:19 | ||
gfldex | @stevied#8273 The ecosystem does not have a notion of versions, unless you do actual github releases. Even then, zef will only know about the latest release. fez at the other hand build a repo of tarballs so one can request an older version to be installed. | 16:04 | |
lizmat | stevied: when you say: "push a new version", did you update the "version" in the META6.json ? | 16:08 | |
16:12
mcmillhj joined
|
|||
mcmillhj | How can I overload stringification for a custom class? Is there a docs section on this? | 16:15 | |
lizmat | m: class Foo { method Str() { "bar" } }: say Foo.Str | ||
camelia | ===SORRY!=== Error while compiling <tmp> Confused at <tmp>:1 ------> class Foo { method Str() { "bar" } }:⏏ say Foo.Str expecting any of: colon pair |
||
lizmat | m: class Foo { method Str() { "bar" } }; say Foo.Str | ||
camelia | bar | ||
16:16
yosik joined
|
|||
lizmat | mcmillhj ^^ | 16:16 | |
in words: add a method Str | |||
m: class Foo { method Str() { "bar" } }; say Foo | |||
camelia | (Foo) | ||
lizmat | m: class Foo { method gist() { "bar" } }; say Foo | ||
camelia | bar | ||
lizmat | m: class Foo { method gist() { "bar" } }; say Foo.Str | ||
camelia | Use of uninitialized value of type Foo in string context. Methods .^name, .raku, .gist, or .say can be used to stringify it to something meaningful. in block <unit> at <tmp> line 1 |
||
lizmat | mcmillhj : and a method "gist" probably (one could refer to the other) | 16:17 | |
mcmillhj | lizmat++ Thank you! | 16:20 | |
stevied | OK, yeah. I'm on fez and p6c. So to drop p6c, I just remove from the path to the json from the manifest with a pull requests? | 16:35 | |
yes | |||
OK, yeah. I'm on fez and p6c. So to drop p6c, I just remove from the path to the json from the manifest with a pull request? | 16:36 | ||
lizmat | yeah, just make a PR to remove the module from the p6c ecosystem | 16:45 | |
stevied | ok, thanks. | 16:50 | |
so basically, my big takeaway is fez is the way to go. | 16:56 | ||
much easier to create a module with raku than perl, that's for sure | |||
good job. no more dzil 🙂 | |||
lizmat | :-) | 17:02 | |
stevied | what's the easiest way to view a pod6 doc on my local drive as html? | 17:29 | |
ok found it, nvm | 17:30 | ||
18:23
yosik left
18:26
mcmillhj left
19:28
getimiskon left
19:29
getimiskon joined
19:51
Manifest1 left
20:09
Manifest0 joined
20:15
Manifest0 left
|
|||
thowe | what did you find? | 20:17 | |
20:19
Manifest0 joined
21:14
getimiskon left
21:34
[Coke] joined
|
|||
[Coke] | the versions were intended to correspond with holiday names, so yes, C was Christmas; there was a running joke for years we'd release on Christmas (but what year, ha ha). And then we did it. | 21:36 | |
also, 6.d was the first time we shipped something that had two versions in it. | 22:29 | ||
guifa | Diwali for 6.d, so 6.e will be … Easter, I guess. Or Epiphany if we want to do it around the Christmas season. Or Earth day for April. | 23:04 | |
[Coke] | I don't think it's mandatory to have it be during the time of year of the holiday, though that's nice. | ||
guifa | I mean, it's kind of a cool thing to do for releases. Find a few cool holidays starting with $next-letter, and then whichever one is the closest one around the time of the next release, make it the name. | 23:09 | |
thowe | OK, now I'm pretty confused... So, I've been going through deFoy's "Learning Perl 6". And I found found some errors, but nothing show stopping. But now I am in the section on blocks and subroutines, and it says that blocks can't return values... And the example is shows for how subroutines CAN return values is the exact thing I have been doing with blocks... So i seems to me that blocks CAN return values. What am I missing? | 23:53 | |
gist.github.com/thowe/31d0f567e9bc...5f039165f4 | 23:56 | ||
Is that not returning the value that is being put? | 23:57 | ||
Learning Perl 6 Page 83 | 23:58 |