»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:01
inra left
|
|||
jdv79 | i'm trying to call p5's Email::Simple.create() from p6 and getting "Could not find symbol 'Simple'" when called in a method but in the body of the class its fine. | 00:06 | |
also taking this class out of the app seems to fix it. so having a little trouble golfign it | |||
00:08
lukiramu left
00:18
girafe left
00:19
bjz joined
|
|||
jdv79 | m: say "foo" | 00:20 | |
camelia | rakudo-moar b7cd77: OUTPUT«foo» | ||
jdv79 | m: use Inline::Perl5; | 00:21 | |
camelia | rakudo-moar b7cd77: OUTPUT«===SORRY!===Could not find Inline::Perl5 at line 1 in: /home/camelia/.perl6 /home/camelia/rakudo-m-inst-1/share/perl6/site /home/camelia/rakudo-m-inst-1/share/perl6/vendor /home/camelia/rakudo-m-inst-1/share/perl6 CompUnit:…» | ||
00:22
lucasb left
00:25
shmibs left
|
|||
timotimo | star: use Inline::Perl5 | 00:26 | |
camelia | star-m 2016.10: OUTPUT«===SORRY!===Could not find Inline::Perl5 at line 1 in: /home/camelia/.perl6 /home/camelia/star-2016.10/share/perl6/site /home/camelia/star-2016.10/share/perl6/vendor /home/camelia/star-2016.10/share/perl6 CompUnit::Repository::…» | ||
timotimo | :( | ||
00:26
shmibs joined
|
|||
jdv79 | so, oddly it seems maybe the p5 use statement has to be both in the scope of the class declaration and the site of the call | 00:26 | |
so static and dynamic. weird. | 00:27 | ||
00:31
pmurias left
00:35
Actualeyes joined
|
|||
jdv79 | gist.github.com/anonymous/46bbf63a...d06d8c4fb5 | 00:37 | |
nine_: ^^^ ? | |||
i don't get it | |||
i guess i'll bug it. seems wrong. | 00:38 | ||
00:40
espadrine left
00:49
aborazmeh joined,
aborazmeh left,
aborazmeh joined
00:53
kyan joined
01:12
pecastro left,
Vynce left
01:13
wamba left
01:21
foo__ joined
01:23
foo__ left
01:24
shun__ joined
01:26
shun__ left,
felher left
|
|||
mr_ron | m: grammar g { regex ft { $<no>='00' | $<cl>=('4' <[2]> '2') }; regex ft3 { <ft> | $<ok3>=('4' <[23]>)} }; say '422' ~~ /<g::ft3>/ # ok so far | 01:28 | |
camelia | rakudo-moar b7cd77: OUTPUT«「422」 g::ft3 => 「422」 ft => 「422」 cl => 「422」» | ||
mr_ron | m: grammar g { regex ft { $<no>='00' || $<cl>=('4' <[2]> '2') }; regex ft3 { <ft> | $<ok3>=('4' <[23]>)} }; say '422' ~~ /<g::ft3>/ # should get same result ? | 01:29 | |
camelia | rakudo-moar b7cd77: OUTPUT«「42」 g::ft3 => 「42」 ok3 => 「42」» | ||
01:32
cdg_ left
|
|||
AlexDaniel | mr_ron: | does longest token matching, so this result is expected | 01:32 | |
and || doesn't | 01:33 | ||
mr_ron | I am mixing ltm and lexical order (there are both) | ||
AlexDaniel | oh. | 01:35 | |
01:35
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
01:36
felher joined
|
|||
AlexDaniel | mr_ron: after staring at it a bit, I think you're right | 01:38 | |
mr_ron | will double check rt and rakudobug if missing - thanks | ||
01:41
Dee joined
|
|||
AlexDaniel | m: my regex ft { ‘00’ | ‘422’ }; my regex ft3 { <ft> | ‘42’ }; say ‘422’ ~~ /<ft3>/ | 01:43 | |
camelia | rakudo-moar b7cd77: OUTPUT«「422」 ft3 => 「422」 ft => 「422」» | ||
AlexDaniel | m: my regex ft { ‘00’ || ‘422’ }; my regex ft3 { <ft> | ‘42’ }; say ‘422’ ~~ /<ft3>/ | ||
camelia | rakudo-moar b7cd77: OUTPUT«「42」 ft3 => 「42」» | ||
AlexDaniel | golfed a little bit | ||
m: say ‘422’ ~~ / [ ‘00’ | ‘422’ ] | ‘42’ / | 01:44 | ||
camelia | rakudo-moar b7cd77: OUTPUT«「422」» | ||
AlexDaniel | m: say ‘422’ ~~ / [ ‘00’ || ‘422’ ] | ‘42’ / | ||
camelia | rakudo-moar b7cd77: OUTPUT«「42」» | ||
AlexDaniel | mr_ron: ok, I think this is as short as it can get | 01:45 | |
01:45
pecastro joined
01:46
Dee left
01:59
bjz left
02:00
bjz_ joined
02:02
dugword left
|
|||
mr_ron | AlexDaniel: stepped out for a bit - thanks | 02:14 | |
02:17
labster joined,
bjz joined,
bjz_ left
02:27
kalkin- left
02:28
kalkin- joined
02:42
lmmx joined
|
|||
AlexDaniel | mr_ron: I have a feeling that this behavior is actually expected, and perhaps someone will point it out eventually | 02:43 | |
mr_ron: but so far looks like a bug to me… | |||
so yes, it would be great to have a ticket | 02:44 | ||
mr_ron | will work on ticket tomorrow morning - thanks | ||
02:45
ilbot3 left
|
|||
AlexDaniel | thank you! | 02:46 | |
.tell smls what about writing some tests too to close the ticket? :) They should probably go here: github.com/perl6/roast/blob/d1baf2...ange.t#L51 | |||
yoleaux | AlexDaniel: I'll pass your message to smls. | ||
02:47
ilbot3 joined
03:03
dugword joined
03:07
dugword left
03:22
curt_ joined
|
|||
SmokeMachine | Is it possible to have 2 versions of the same module on a distribution? | 03:30 | |
03:46
lmmx left
03:55
Vynce joined
03:57
ocbtec left
03:58
TEttinger joined
04:06
Actualeyes left
04:07
Actualeyes joined
|
|||
Geth | cosystem: FCO++ created pull request #287: Adding DateTime::Extended to the ecosystem |
04:08 | |
04:15
faraco joined
04:27
dugword joined
04:43
faraco left
04:50
bjz left
04:58
cibs left
04:59
cibs joined
05:06
BenGoldberg left
05:37
zacts joined
05:39
dugword left,
khw left
05:40
Cabanossi left
05:41
Cabanossi joined
05:48
CIAvash joined
06:21
faraco joined
06:23
bjz joined
06:39
dugword joined
06:43
raiph left
06:44
dugword left
06:48
bjz_ joined
06:49
bjz left
07:24
dugword joined,
bjz joined,
bjz_ left
07:27
aborazmeh left
07:30
dugword left
07:47
kyan left
|
|||
Geth | cosystem: 82121abe91 | (Fernando Correa de Oliveira)++ | META.list Adding DateTime::Extended to the ecosystem |
07:48 | |
08:04
cibs left
08:05
cibs joined
08:07
domidumont joined
08:10
FROGGS joined
08:13
domidumont left,
domidumont joined
08:25
Alikzus left
08:30
dugword joined
08:34
dugword left
08:35
RabidGravy joined
08:44
Alikzus joined
09:15
domidumont left
|
|||
samcv | yes SmokeMachine well at least we should be able to do that now | 09:20 | |
since the recentish changes | |||
brokenchicken | you can load two; but can you have the two in the same distro? Doesn't version get read from META file? | 09:24 | |
09:30
rindolf joined,
wamba joined
09:35
trnh joined
|
|||
Geth | cosystem: faraco++ created pull request #288: Added WebService::Gitter to ecosystem |
09:41 | |
09:45
espadrine joined,
Vynce left
|
|||
samcv | hm | 09:49 | |
would be really nice if we could have special int key hashes | 09:50 | ||
or at least have it basically flagged to always treat those as they are integers even if they're stored as strings or something. so .sort works right | |||
and don't have to .sort({$^a.Int cmp $^b.Int}) | 09:51 | ||
09:52
Tonik joined
|
|||
brokenchicken | m: my %h{Int}; %h = 42 => "meow"; say %h.keys[0].^name | 09:55 | |
camelia | rakudo-moar 2140c9: OUTPUT«Int» | ||
brokenchicken | m: my %h{int}; my int $x = 42; %h = $x => "meow"; say %h.keys[0].^name | ||
camelia | rakudo-moar 2140c9: OUTPUT«Type check failed in binding to key; expected int but got Int (42) in block <unit> at <tmp> line 1» | ||
brokenchicken | :( | 09:56 | |
m: my %h{int}; my int $x = 42; %h{$x} = "meow"; say %h.keys[0].^name | |||
camelia | rakudo-moar 2140c9: OUTPUT«Type check failed in binding to key; expected int but got Int (42) in block <unit> at <tmp> line 1» | ||
brokenchicken | m: my %h{int}; %h{my int $ = 42} = "meow"; say %h.keys[0].^name | ||
camelia | rakudo-moar 2140c9: OUTPUT«Type check failed in binding to key; expected int but got Int (42) in block <unit> at <tmp> line 1» | ||
brokenchicken | weird | ||
wtf is up with "prhero"? Some bot? | 09:57 | ||
"Repositories: 0; Stars: 1.6K".... | |||
09:59
trnh left
|
|||
Geth | cosystem: b195f63a01 | faraco++ | META.list Added WebService::Gitter to ecosystem First release. |
10:00 | |
cosystem: c1e6a55aba | (Juan Julián Merelo Guervós)++ | META.list Merge pull request #288 from faraco/master Added WebService::Gitter to ecosystem |
|||
10:01
AlexDaniel left
10:07
Tonik left
10:24
ChoHag joined
|
|||
samcv | yeah i noticed that too brokenchicken | 10:27 | |
not sure about prhero but | |||
that int doesn't work. perl 6 just boxes it up | |||
i think even if you try and unbox | |||
m: my %h{int}; my int $x = 32; %h{$x} = 'test' | |||
camelia | rakudo-moar 2140c9: OUTPUT«Type check failed in binding to key; expected int but got Int (32) in block <unit> at <tmp> line 1» | ||
samcv | m: use nqp; my %h{int}; my int $x = 32; %h{nqp::unbox_i($x)} = 'test' | 10:28 | |
camelia | rakudo-moar 2140c9: OUTPUT«Type check failed in binding to key; expected int but got Int (32) in block <unit> at <tmp> line 1» | ||
samcv | yep | ||
kalkin- | I published my new module github.com/kalkin/License-Software . Before doing a PR to ecosystem, I would ask you guys to read the README and tell me if you get what this is for | ||
brokenchicken | kalkin-: by name of the module, I'm guessing it's for programatically detecting/indicating module's lisense :) | 10:30 | |
m: use nqp; my %h{int}; my int $x = 32; %h{nqp::decont($x)} = 'test' | |||
camelia | rakudo-moar 2140c9: OUTPUT«Type check failed in binding to key; expected int but got Int (32) in block <unit> at <tmp> line 1» | ||
samcv | you used a circled letter C instead of a copyright symbol | ||
© <copyright circledletterc Ⓒ | |||
kalkin- | brokenchicken: not detecting. :) | ||
samcv: ohh, thanks | |||
samcv | np | ||
kalkin- | They look the same :-/ | 10:31 | |
samcv | wouldn't have pointed it out. but the module is a license handling one ;) | ||
brokenchicken | the latter looks like 3 times larger on my font | ||
kalkin- | samcv: yes of cours | ||
*e | |||
samcv | depends on the font, and the spacing is different | ||
brokenchicken | kalkin-: well... then I've no idea. I've read the readme and it says "applying license" which makes no sense to me. | 10:32 | |
10:32
dugword joined
|
|||
samcv | usually copyright is not centered vertically | 10:32 | |
but (C) is centered vertically | |||
the circled one | |||
copyright is higher up and usually smaller | |||
kalkin- | brokenchicken: you can use it to create tools for applying license to your source code | ||
samcv | ohhhhhhhhhhhhhh | ||
brokenchicken | kalkin-: but what does "applying license" even mean? | ||
samcv | you mean | ||
kalkin- | i.e. i have a mi6 fork which does generate all the needed license files and headers when generating a project | ||
samcv | adding headers? | ||
i had no clue what it did by reading it tbh tho | 10:33 | ||
kalkin- | That's what i expected :( | ||
samcv | except maybe it allows you to relicense other peoples work easily ;) | ||
brokenchicken | generating all the files and headers to me would be "adding a license" :) | ||
samcv | just relicense all code on your computer to your desired license ;) | ||
i like applying better | |||
well. i mean. being able to choose whatever license you want could have perks | 10:34 | ||
but would not be legal | |||
kalkin- | This library should be used by tools which create project skelletons | ||
is this a better summary? | |||
brokenchicken | Isn't there same-named module in Perl 5? Just use their desc | 10:36 | |
10:36
dugword left,
araujo left
|
|||
kalkin- | Software::License - packages that provide templated software licenses ← This makes more sense | 10:37 | |
10:37
araujo joined,
araujo left,
araujo joined,
labster left
10:43
TEttinger left
10:48
trnh joined
10:49
shayan_ left,
shayan_ joined
10:54
araujo left
10:55
araujo joined,
araujo left,
araujo joined
10:56
ChoHag left
|
|||
kalkin- | brokenchicken & samcv thanks for the critique. I reworded the descriptions and did a PR to perl6/ecosystem | 10:57 | |
brokenchicken | You did? | 10:58 | |
u lie | 10:59 | ||
:} | |||
kalkin- | License::Software - provides templated software licenses | ||
brokenchicken: Reload page? | |||
brokenchicken | There's no PR | ||
kalkin- | huch | 11:00 | |
11:00
espadrine left
|
|||
kalkin- | Ohh i thought when i change it via browser it does a PR automatically. Looks like i still have to do a PR by hand | 11:00 | |
Geth | cosystem: kalkin++ created pull request #289: Add License-Software to ecosystem |
11:01 | |
kalkin- | ahh! | ||
Geth | cosystem: 99990b1073 | (Bahtiar Gadimov)++ | META.list Add License-Software to ecosystem (#289) |
||
11:04
trnh left
11:13
faraco left
11:20
jsimonet joined
11:23
jmerelo joined
|
|||
jmerelo | hi all | 11:23 | |
p6: say 3 ≠ 4 | |||
camelia | rakudo-moar 2140c9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Confusedat <tmp>:1------> 3say 37⏏5 ≠ 4 expecting any of: infix infix stopper postfix statement end statement modifier stateme…» | ||
jmerelo | p6: 6 ≲ 8 | 11:24 | |
camelia | rakudo-moar 2140c9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Confusedat <tmp>:1------> 0367⏏5 ≲ 8 expecting any of: infix infix stopper statement end statement modifier statement modifier loop» | ||
brokenchicken | hi | ||
jmerelo | I really *expected* that to work. There is probably a good reason for not implementing those operators, but it would be really cool. | 11:25 | |
brokenchicken | heh | ||
There's the other side to "cool"... Bugs, slowness, and messy internals. | 11:26 | ||
Try to find all the commits for U+2212 minus in core. | |||
jmerelo | but | ||
p6: say 2⁷ | 11:27 | ||
camelia | rakudo-moar 2140c9: OUTPUT«128» | ||
kalkin- | when will be 2017.01 rakudo released? | ||
end of the month? | |||
brokenchicken | jmerelo: but.. | 11:28 | |
m: constant $NQP_UR = 'github.com/perl6/nqp'; | |||
camelia | ( no output ) | ||
brokenchicken | ggrrr | ||
Please hold while I rectify copy-paste issues on this dumb terminal. | |||
m: say ⁶⁶ | 11:29 | ||
camelia | rakudo-moar 2140c9: OUTPUT«46656» | ||
brokenchicken | jmerelo: ^ but | ||
Oh, and I got one more | |||
m: say my $i = 2; say $i++**2 | |||
camelia | rakudo-moar 2140c9: OUTPUT«24» | ||
brokenchicken | m: say my $i = 2; say $i++² | ||
camelia | rakudo-moar 2140c9: OUTPUT«24» | ||
brokenchicken | Oh, that's not it | 11:30 | |
CIAvash | jmerelo: irclog.perlgeek.de/perl6/2016-01-09#i_11859391 | ||
brokenchicken | m: say my $i = 2; say ++$i**2 | ||
camelia | rakudo-moar 2140c9: OUTPUT«29» | ||
brokenchicken | m: say my $i = 2; say ++$i² | ||
camelia | rakudo-moar 2140c9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Operators '++' and '²' are non-associative and require parenthesesat <tmp>:1------> 3say my $i = 2; say ++$i²7⏏5<EOL> expecting any of: postfix» | ||
brokenchicken | jmerelo: ^ another one | ||
jmerelo | so you are saying that implementing that is difficult enough, and fraught with peril | ||
brokenchicken | jmerelo: the say ⁶⁶ isn't even a bug. | ||
jmerelo | so getting into other unicode operators would make the whole thing even more difficult | 11:31 | |
brokenchicken | jmerelo: I'm saying that it's easy to add a crapton of unicode ops just so you could show a "cool" example, say, on Twitter. But I doubt many programmers would use these in production, multi-dev codebases. On the core code side however, these introduce a ton of bugs and weird edge cases that the core devs then waste time fixing and implementing; and once the bugs are fixed there's a performance penalty for | 11:32 | |
extra parsing. | |||
kalkin- | brokenchicken: but I think in the case of ≠ there shouldn't be any issues | 11:33 | |
jmerelo | @CIAvash I see, it's been discussed already. | ||
brokenchicken | heh | ||
kalkin-: yeah, I bet that's what people said when U+2212 was added. | 11:34 | ||
kalkin- | brokenchicken: :D i see | ||
jmerelo | @brokenchicken but cool examples on Twitter are cool ;-) | ||
But I see your point. | |||
brokenchicken | I doubt it's even fixed completely. | ||
Yup | |||
m: say sprintf '%-2.f', 42 | |||
camelia | rakudo-moar 2140c9: OUTPUT«42» | ||
brokenchicken | m: say sprintf '%−2.f', 42 | 11:35 | |
camelia | rakudo-moar 2140c9: OUTPUT«Directive −2.f is not valid in sprintf format sequence %−2.f in any at /home/camelia/rakudo-m-inst-1/share/perl6/runtime/CORE.setting.moarvm line 1» | ||
brokenchicken | That's after I already fixed so many bugs with it, I lost count of how many of them we had | ||
jmerelo | I see | 11:36 | |
brokenchicken | My suggestion would be to add this type of stuff as a user-space module (with slangs or custom ops). | ||
At least as a precursor to inclusion in core. So that (a) we know there's enough users to justify the addition of the op; (b) all the buggy edgecases are shaken out or at least discovered | 11:37 | ||
jmerelo | I could try and do that, sure. | 11:38 | |
brokenchicken | AlexDaniel had a gist with a whole ton of candidates. | ||
kalkin- | gist.github.com/AlexDaniel/c89bd2786f9b63f31e4c | 11:39 | |
brokenchicken | Yeah, that's the one. | ||
kalkin- | I think we have this unicode debate once a month or so ☺ | 11:40 | |
jmerelo | I'd love the electric arrow | ||
Would vote for it to go first! | |||
The "Harry Potter" operators. | 11:41 | ||
@kalkin with outcome being? Will not do it in the foreseeable future? | 11:42 | ||
kalkin- | jmerelo: no outcome. | 11:43 | |
jmerelo: if you are really interested you could write a script which downloads modules from ecosystem, runs tests on them, replaces some chars and runs the tests again | |||
this would probably uncover most bugs | |||
jmerelo | I see subscripting is mentioned in that gist. I would see subscripting as something that would be great in variable names. Not really for array indexing. | 11:44 | |
@kaling um, that's an idea. | |||
samcv | why electric one | 11:45 | |
≈ why not this then? electric doesn't look very much like the righ tone | |||
like uh ~~ | |||
≈ does though | |||
11:45
notbenh joined
|
|||
samcv | but i mean that has a real life meaning so maybe not good either | 11:45 | |
jmerelo | gist.github.com/AlexDaniel/c89bd27...3f31e4c#-1 | ||
11:45
dotness joined
|
|||
jmerelo | I guess it just looks cook. | 11:46 | |
cool, I mean. | |||
samcv | also regarding The problem is that both are not rendered very nicely by current fonts. ⩴ s also very wide. | ||
jmerelo | Probably that's a good reason too for not introducing them unless they have a pretty obvious and unambiguous meaning. | ||
kalkin- | samcv: well we could stop using monospaced fonts. there is no reason for using them, besides using vim on terminal :-/ | ||
samcv | i mean. that's the problem with the font, i mean if people want to use ::= because it's wider that's fine but, I don't think there's a problem adding them | ||
jmerelo | … is not too nice either, but there you have it. | 11:47 | |
samcv | yeah i use monospace because I don't have a way to align things up | ||
i mean | |||
kalkin- | AFAIK no terminals can cope with non monospaced fonts without getting broken | 11:48 | |
samcv | how does that relate to perl 6 though? | ||
or is that just an aside. i mean | |||
brokenchicken | kalkin-: check it out: | 11:49 | |
m: constant &infix:<≠> = &infix:<!=>; say 2 != 5 != 5 | |||
camelia | rakudo-moar 2140c9: OUTPUT«False» | ||
brokenchicken | m: constant &infix:<≠> = &infix:<!=>; say 2 ≠ 5 ≠ 5 | ||
camelia | rakudo-moar 2140c9: OUTPUT«True» | ||
kalkin- | samcv: well I proposed using long double arrow instead of ==> but this was rejected because you can't distinguish it from other double arrows in monospaced fonts | ||
samcv | is there a way to edit with a non-monospaced font but still have things align right | ||
hm | |||
i disagree with that but | |||
that's my opinion | |||
11:50
dotness left
|
|||
kalkin- | samcv: i think there is. I think unicode provides whitespace with different length? so your editor needs to be a proper typography software | 11:50 | |
samcv | i mean i disagree with that being a good reason not to allow it. in practice you should use what works best visually | ||
uhm there's east asian width property | |||
mathematical symbols usually have Neutral value for that tho | |||
or you can use Fira Code ligatures | 11:51 | ||
and it magically looks right | |||
and is the right width. but that's not relevant except for visually looking at the code | |||
kalkin- | samcv: Are the Fira Code ligatures for long double arrow and double arrow different enough? | 11:52 | |
samcv | uhm they're different widths | ||
they are the width of the ascii letters | |||
can use with terminal programs maybe too, but at least it works for atom with atom-language-perl6 | |||
and i have it disable ligatures for quoted strings and comments and pod and stuff | 11:53 | ||
or anything else that is broken into multiple uhm, tokens for the syntax highlighting grammar | |||
actually for some reason it doesn't render ==> as a ligature but probalby it's breaking it into => and = or something would have to chec | 11:54 | ||
yeah it is. | |||
i gotta head to bed. night all o/ | 11:55 | ||
kalkin- | brokenchicken: nice! | ||
samcv: night | |||
jmerelo | good night | 12:00 | |
kalkin- still dreams of having a terminal emulator where i can read manpages with proper ligatures for example for fi | 12:02 | ||
and different font sizes | |||
and a lot more | |||
Tex really spoiled me | |||
masak | yeah, wow | 12:08 | |
I could totally work with a TeX-based terminal emulator | 12:09 | ||
(hi, #perl6) | |||
12:10
fatguy joined
|
|||
moritz would hate to see "underfull hbox (badness 1000)" all the time :-) | 12:11 | ||
brokenchicken | hmmm "Parameter '$json' expected a writable container, but got Hash value" :/ but I'm giving it results of from-json stored in a var :\ | 12:17 | |
star: use JSON::Tiny; my $e = from-json '{"foo":"bar"}'; sub ($json is rw) {}($e) | 12:18 | ||
camelia | ( no output ) | ||
brokenchicken | ... so wtf... | ||
kalkin- | Is it best practice to have the POD at the bottom of the file? Or is it just best practice for perl5? | 12:19 | |
12:20
TimToady left
|
|||
kalkin- is thinking about adding Pod::EOD to his mi6 fork | 12:20 | ||
12:22
TimToady joined
|
|||
brokenchicken | star: use JSON::Tiny; my $e = from-json '{"foo":"bar"}'; sub foo ($json is rw) {}; sub bar ($e) { foo $e }($e) | 12:22 | |
camelia | star-m 2016.10: OUTPUT«Parameter '$json' expected a writable container, but got Hash value in sub foo at <tmp> line 1 in sub bar at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
brokenchicken | star: use JSON::Tiny; my $e = from-json '{"foo":"bar"}'; sub foo ($json is rw) {}; sub bar ($e is rw) { foo $e }($e) | ||
camelia | ( no output ) | ||
brokenchicken shakes head | |||
kalkin- | m: my Int $f .= new: 3 # how did this work again? | 12:26 | |
camelia | ( no output ) | ||
kalkin- | m: my Int $f .= new: 3; say $f # how did this work again? | ||
camelia | rakudo-moar 2140c9: OUTPUT«3» | ||
kalkin- | hmm weird | 12:27 | |
never mind | |||
12:31
mr_ron left
12:32
mr_ron joined
12:33
faraco joined,
dugword joined
|
|||
masak | kalkin-: what in particular is confusing you? the fact that you can pass the Int 3 to Int.new? | 12:34 | |
kalkin- | masak: i had a typo in my shell and thought the .= METHOD form is used wrong by me | ||
retyping it here properly worked | |||
12:38
dugword left
12:39
faraco left
12:49
shayan_ left
12:50
Geth left
12:51
Geth joined,
ChanServ sets mode: +v Geth
12:55
iH2O joined
|
|||
kalkin- | how can i filter a hash and get back a hash and not a list of pairs or a Seq | 12:58 | |
kalkin- tried with grep | |||
ahh i can just assign the result to Hash.new | 13:00 | ||
13:01
CIAvash left
|
|||
SmokeMachine | Can I do, on a provides block of META6.json, "A": ["lib/ver1/A.pm6", "lib/ver2/A.pm"] | 13:03 | |
brokenchicken | m: my %h = foo => 42, bar => 31337; dd %h.grep(*.value.is-prime).Hash | ||
camelia | rakudo-moar 2140c9: OUTPUT«Hash % = {:bar(31337)}» | ||
SmokeMachine | ? | 13:04 | |
And on lib/ver1/A.pm6: class A:ver<1> | 13:05 | ||
kalkin- | brokenchicken: thanks | ||
SmokeMachine: no | |||
SmokeMachine: you can do A:ver<1> : "...", A:ver<2> : "..." | 13:06 | ||
13:06
infrabyte joined
|
|||
kalkin- | the key is your compunit and the value is the source providing it | 13:06 | |
13:06
infrabyte left
|
|||
SmokeMachine | kalkin-: does that work? I tried... I probably did something wrong, but didn't work... | 13:07 | |
kalkin- | SmokeMachine: AFAIK rakudo ignores use the version and auth adverbs when you do use Foo:ver | ||
(for now) | |||
brokenchicken | it doesn't | 13:08 | |
kalkin- | brokenchicken: it doesn't ignore them or it doesn't use them? | ||
brokenchicken | doesn't ignore them | ||
m: use Test:auth<meows> | |||
camelia | rakudo-moar 2140c9: OUTPUT«===SORRY!===Could not find Test:auth<meows> at line 1 in: /home/camelia/.perl6 /home/camelia/rakudo-m-inst-1/share/perl6/site /home/camelia/rakudo-m-inst-1/share/perl6/vendor /home/camelia/rakudo-m-inst-1/share/perl6 CompUn…» | ||
brokenchicken | m: use Test:ver<70> | ||
camelia | rakudo-moar 2140c9: OUTPUT«===SORRY!===Cannot resolve caller Numeric(Version: ); none of these signatures match: (Mu:U \v: *%_)» | ||
brokenchicken | :S | ||
m: use Test:ver<6.e> | |||
camelia | rakudo-moar 2140c9: OUTPUT«===SORRY!===Could not find Test:ver<6.e> at line 1 in: /home/camelia/.perl6 /home/camelia/rakudo-m-inst-1/share/perl6/site /home/camelia/rakudo-m-inst-1/share/perl6/vendor /home/camelia/rakudo-m-inst-1/share/perl6 CompUnit:…» | ||
kalkin- | may be I misunderstood ugexe | ||
brokenchicken | m: use Test:ver<6.c>:auth<perl> | ||
camelia | ( no output ) | ||
13:09
darutoko joined,
iH2O left
|
|||
brokenchicken | kalkin-: it was probably about :ver and :auth declared in modules; and the dist uses META data instead of those IIRC | 13:09 | |
SmokeMachine: what exactly "doesn't work" mean? | 13:10 | ||
kalkin- | brokenchicken: yeah probably | ||
brokenchicken | A:ver<1> : "...", A:ver<2> : "..." is invalid JSON, for one | ||
SmokeMachine | You mean with the "s? | 13:11 | |
13:11
infrabyte joined
|
|||
SmokeMachine | I have tried :"A:ver<1>": "lib/v1/A.pm6" | 13:13 | |
And it couldn't find A:ver<1>... on a use... | |||
13:16
azawawi joined
|
|||
azawawi | hi | 13:16 | |
Started working on GTK::Scintilla tests :) # github.com/azawawi/perl6-gtk-scint...02-basic.t | 13:17 | ||
sammers | hi perl6 | 13:19 | |
13:25
bjz left
|
|||
RabidGravy | azawawi, nice one | 13:30 | |
13:35
dugword joined
|
|||
thundergnat | tell samcv "samcv> and don't have to .sort({$^a.Int cmp $^b.Int})" -- an arity 1 sort will be at least twice as fast. Try: .sort( +*.key ) | 13:35 | |
yoleaux | 7 Jan 2017 23:02Z <raiph> thundergnat: Re: "simple way to unpack a list of lists of lists" Maybe as at stackoverflow.com/a/37230217/1077672? | ||
azawawi | RabidGravy: Long time no see :) | 13:37 | |
thundergnat | .tell samcv "samcv> and don't have to .sort({$^a.Int cmp $^b.Int})" -- an arity 1 sort will be at least twice as fast. Try: .sort( +*.key | ||
yoleaux | thundergnat: I'll pass your message to samcv. | ||
RabidGravy | :) | ||
thundergnat | .tell raiph Thanks for the link. Almost exactly my question. | 13:38 | |
yoleaux | thundergnat: I'll pass your message to raiph. | ||
azawawi | RabidGravy: been busy with github.com/azawawi/SwiftyZeroMQ :) | ||
RabidGravy: and playing wow :) | 13:39 | ||
azawawi ducks | |||
13:39
dugword left
|
|||
RabidGravy | I am disconsolately looking at the Informix SDK example code trying to work out how to make DBDish::Informix | 13:41 | |
13:42
xinming_ joined
|
|||
azawawi | RabidGravy: share :) | 13:42 | |
13:45
ChoHag joined,
xinming left,
jmerelo left
|
|||
RabidGravy | I have only got as far as getting a working informix environment | 13:46 | |
azawawi | RabidGravy: what do you think $editor.get-char-at (like the scintilla docs) but $editor.char-at (more Perl6ish)? | 13:49 | |
13:51
Gasher joined
|
|||
RabidGravy | I'd go with the latter as it's shorter :) | 13:51 | |
13:52
cibs left
|
|||
azawawi | RabidGravy: cool thx | 13:52 | |
RabidGravy: Quick question on the usage of Test::META with TEST_AUTHOR. We shouldnt add Test::META to META6.info in that case, right? | 13:53 | ||
13:54
cibs joined
13:56
vimal2012 joined
|
|||
RabidGravy | You shouldn't need it if you are going to assume that it's installed no | 13:56 | |
of course you may still want to check that it's present | 13:57 | ||
13:58
lukaramu joined
14:03
zakharyas joined
14:06
curt_ left,
curt_ joined
|
|||
RabidGravy | I am in a quandary whether to use the informix CLI API or the ESQL/C interface like DBD::Informix does | 14:06 | |
14:13
vimal2012 left
|
|||
azawawi | RabidGravy: thx | 14:17 | |
14:21
cdg joined
14:27
azawawi left
14:29
RabidGravy left
14:30
wamba left,
wamba joined
|
|||
Geth | cosystem: kalkin++ created pull request #290: Add Ddt - Distribution Development Tool |
14:34 | |
cosystem: 2ba57a5cf4 | (Bahtiar Gadimov)++ | META.list Add Ddt - Distribution Development Tool |
14:35 | ||
14:36
cdg left,
domidumont joined,
RabidGravy joined
|
|||
kalkin- | If i would extend ddt to generate depends META6 field by just grepping "use .*" from source files would it be enough or are there some edge cases where I can't deduce the dependencies from source code? There shouldn't be any? | 14:39 | |
moritz | you have to be a bit more careful | 14:40 | |
first, the 'use' statement might be in pod | |||
second, 'use' could refer to internal modules (dependencies in META6.json are only for external ones) | 14:41 | ||
or to core things, like MONKEY-... pragmas | |||
kalkin- | ok, so i have to strip out internal modules, I probably should use Perl6::Parser to get only use statements outside of pod blocks and ignore the core things | 14:42 | |
anything else? | |||
DrForr pricks up his ears. | |||
kalkin- | hmm, or is using Perl6::Parser overkill… May be i can solve it differently, by using Pod::Strip, which looks less heavy to me as the Parser thingy | 14:43 | |
14:43
domidumont left
|
|||
kalkin- | but at some point i will need Perl6::Parser anyway if I want to make ddt smarter | 14:43 | |
14:45
domidumont joined
14:57
lmmx joined
|
|||
kalkin- | is it the right thing to do to set “auth” field in META6.json to “github:$USER” when source url is github? | 14:59 | |
15:01
_28_ria joined
15:05
g__k__ left
15:21
pecastro left
15:30
xinming_ left
15:31
xinming joined
|
|||
kalkin- | argle zef can't handle github https urls not ending in .git | 15:32 | |
15:36
bwisti joined,
dugword joined
15:40
dugword left
15:47
zakharyas left
15:48
zakharyas joined
15:49
holli_ joined
15:50
holli left
15:56
zakharyas left
15:57
zakharyas joined
16:00
holli__ joined
16:03
holli_ left
16:14
holli_ joined
16:16
holli__ left
16:23
lmmx left,
lmmx joined
|
|||
jdv79 | what is $() again? | 16:25 | |
16:25
shayan_ joined
16:27
dugword joined
|
|||
timotimo | isn't that $/.ast // $/.Str? | 16:28 | |
potentially || instead of // | |||
jdv79 | i just have something that i think should be a hash but seems to be a list wrapping the hash | ||
i just don't get the syntax or context of it yet | |||
timotimo | with $( ... ) you itemize a thing | 16:29 | |
but $() is A Thing | |||
m: "hello" ~~ / . /; say $().perl | |||
camelia | rakudo-moar 2140c9: OUTPUT«"h"» | ||
timotimo | m: "hello" ~~ / . { make "oh yeah" } /; say $().perl | ||
camelia | rakudo-moar 2140c9: OUTPUT«"oh yeah"» | ||
16:29
shayan_ left
|
|||
jdv79 | say $(:k('v')).WHAT | 16:30 | |
m: say $(:k('v')).WHAT | |||
camelia | rakudo-moar 2140c9: OUTPUT«(Pair)» | ||
jdv79 | m: say $(:k('v'),:k2('v')).WHAT | 16:31 | |
camelia | rakudo-moar 2140c9: OUTPUT«(List)» | ||
b2gills | m: $/ = class { method ast { 'ast' }; method Str {'Str'}}; say $() | ||
camelia | rakudo-moar 2140c9: OUTPUT«ast» | ||
b2gills | m: $/ = class { method ast { Any }; method Str {'Str'}}; say $() | ||
camelia | rakudo-moar 2140c9: OUTPUT«Str» | ||
16:31
khw joined
|
|||
jdv79 | that "looks" like a hash as an item type thing to me | 16:31 | |
timotimo | m: $/ = class { method ast { False }; method Str {'Str'}}; say $() | 16:32 | |
camelia | rakudo-moar 2140c9: OUTPUT«Str» | ||
timotimo | jdv79: not sure how you mean that | ||
b2gills | I think it should be $/.ast // $/.Str, but is $/.ast || $/.Str currently | ||
jdv79 | ok | ||
timotimo | just a list of pairs will just be a list | 16:33 | |
:1foo,:2bar only becomes a hash if it gets assigned to a %var or %(...) or .Hash or .hash | |||
but before that it's still just a List of Pair objects | 16:34 | ||
16:40
sammers left
|
|||
jdv79 | thanks | 16:43 | |
16:45
shayan_ joined
16:46
dotness joined
16:49
shayan_ left
17:01
mxco86 joined
17:09
kent\n is now known as kentnl
17:10
kentnl is now known as kent\n
17:12
dugword left
|
|||
SmokeMachine | about 2 versions of a module on the same dist: | 17:51 | |
this doesn't work... www.irccloud.com/pastebin/hnjqbRqO/ | |||
brokenchicken | SmokeMachine: why do you need to versions anyway? | 17:52 | |
SmokeMachine | brokenchicken: retro-compatibility if I change my API... | 17:53 | |
brokenchicken | "if" you change it? | ||
Basically you have no need for this ATM? | 17:54 | ||
ugexe | the confusion here is that zef understands that versioning syntax, but the CURs dont | ||
yoleaux | 13 Jan 2017 16:40Z <tbrowder> ugexe: see www.irccloud.com/pastebin/ZJJNBEL2...-data-dump | ||
brokenchicken | SmokeMachine: here's how tbrowder released two different versions: | ||
github.com/perl6/ecosystem/blob/ma...#L732-L733 | |||
SmokeMachine | brokenchicken: if I create a new API version Ill include it and my last API version (but deprecated) on my dist... | 17:55 | |
brokenchicken | SmokeMachine: "if"? So you've no actual need for this ATM? | ||
Seems you're trying to solve an invented problem... | 17:56 | ||
SmokeMachine | not yet... | ||
brokenchicken | And if you ever do create a new API; by that time our Ecosystem and supporting software may be radically different. | ||
.oO( we also have the :api<> adverb... ) |
|||
ugexe | and probably using the :api<> version thing | 17:57 | |
SmokeMachine | brokenchicken: but if Im releasing a module, it would be good to know how im doing on next releases | ||
kalkin- | TIL about :api adverb. What is the difference between :api & :ver? | ||
SmokeMachine | kalkin-: thats what I was going to ask! | 17:58 | |
ugexe | nothing yet. dont use it | ||
kalkin- | :D | ||
17:58
raschipi joined
|
|||
ugexe | or rather dont use it and expect it to do anything different yet | 17:58 | |
kalkin- | may be we should use :ver on distributions and :api on compunits | ||
brokenchicken | SmokeMachine: I already showed you a way to release two versions. You could also use a different name. Or a different auth. Or NOT pack two apis in the same distro version (those who need old one can use old version). | 17:59 | |
SmokeMachine: the only reason you'd ever have this as a real problem is if you write a succefful software and THEN also find out your current API sucks so much you have to change it entirely. For something so unlikely, feels strange to me to waste so much time trying to think how to do it right now. | 18:00 | ||
kalkin- | brokenchicken: I asked the same question a few days ago. People see :ver and expect it to somehow work | 18:01 | |
18:01
shayan_ joined
|
|||
kalkin- | and then they notice that you have to handle it manually for modules.perl6.org | 18:01 | |
ugexe | so i could easily put together a script to automatically add versions to the ecosystem, but thats going to explode the size of the package list and take longer to parse | ||
brokenchicken | kalkin-: Yes, because our current ecosystem is a temporary hack of a solution; which makes SmokeMachine's attempt to solve a problem they can't possibly encounter for another couple of years even more bizzare. | 18:02 | |
kalkin- | SmokeMachine: you could properly tag your git releases and then write a better modules.perl6.org implementation which takes it in to account | 18:03 | |
I have thought about it but it's elaborate for me and I don't have the time for it | 18:04 | ||
you could even go as far as auto add all repos from GitHub which are written in Perl6 and have a META6.json | |||
SmokeMachine: your issue is solvable, but no one yet had the time to implement it. May be you would be the first one? | 18:05 | ||
SmokeMachine | ugexe: so much longer that is it impractical? | 18:06 | |
18:06
azawawi joined
|
|||
azawawi | hi | 18:06 | |
ugexe: ping | |||
kalkin- | ugexe: I don't think it would be impractical because there're are not many properly tagged distributions on GitHub (i wrote a script to check it) | ||
SmokeMachine | kalkin-: I'd love! But im not sure I have enough knowledge to do that... | 18:07 | |
kalkin- | SmokeMachine: it's not complex. You don't even need to use perl6. I probably could do it in a shell script, but it just takes time | ||
(a middlesized shell script) | |||
azawawi | ugexe: is there a way in zef to use a Build.pm that does not depend on panda? | 18:08 | |
kalkin- | azawawi: zef build ? | ||
ugexe | SmokeMachine: pretty much (between that and how long it takes to write updates). although if the meta data was filtered down to only essential items it could help | ||
SmokeMachine | kalkin-: but I don't think (IMHO) that should be made by git tags... I would like to have more than one module version on a dist... | ||
azawawi | kalkin-: i meant Build.pm code that does not use Panda::Builder | ||
ugexe | kalkin-: you can do versions without doing a release - you can link to a tar.gz of a specific commit | 18:09 | |
azawawi: github.com/niner/Inline-Perl5/comm...b3ab3c7d11 | |||
kalkin- | ugexe: right, but I thought SmokeMachine's issue is that you have to do it by hand. Using git tags you could automate it away | 18:10 | |
azawawi | ugexe: perfect. thx | ||
ugexe++ | |||
kalkin- | ugexe: Can I install two different versions of the same dist with zef? AFAIK I can, right? if so SmokeMachine doesn't need to package both in same Distribution | 18:11 | |
ugexe | correct | ||
kalkin- | we just need an alternative to modules.perl6.org which is smarter (if some one really wants to write that) | 18:12 | |
brokenchicken | uhh, this will literally solve nothing "<kalkin-> and then write a better modules.perl6.org" | ||
Module installers don't even use that site. | 18:13 | ||
18:13
dugword joined
|
|||
brokenchicken | And wasted effort too; much better to put those coder-hours into CPAN thing ranguard and mst are working on | 18:13 | |
kalkin- | brokenchicken: ok an automatically generated META.list hosted on your own http server | ||
brokenchicken: link? | |||
SmokeMachine | what I really want is: if some one is using version A of my dist and do "use MyMod:ver<0.1>", than when it runs "zen update MyDist" and it updates to distilled version B, it will get MyMod:ver<0.2> and MyMod:ver<0.1>... so its code won't break... but will start to note() thats deprecated... | 18:14 | |
kalkin- | s/modules.perl6.org/p6c CUR | ||
brokenchicken | kalkin-: I dunno what it is. | ||
kalkin- | SmokeMachine: I'm not sure you want that. If you want to release your software with fixed version dependencies you should do that. Look for example how rvm + bundle + Gemfile combo works for Ruby | 18:15 | |
brokenchicken | I've seen an occasional link and I saw mst post the "we're running experimental uploder now" blog post, but I wouldn't say the effort is well communicated | ||
kalkin- | brokenchicken: p6c is the zef repo which is backed by the ecosystem | ||
brokenchicken | Which I'd wager is the reason why the effort is progressing very slowly. | 18:16 | |
SmokeMachine | ugexe: but if i have the MyDist version 1 and i run "zef update MyDist" it will update and I will not have the MyDist version 1 anymore, right? | ||
brokenchicken | kalkin-: "p6c"? | ||
ugexe | p6c is the terminology for *~*the ecosystem*~* | 18:17 | |
kalkin- | brokenchicken: look in to your zef config.json | ||
brokenchicken | .ask mst what's happening with the Perl 6 MetaCPAN / PAUSE effort? How can willing hands contribute? | ||
yoleaux | brokenchicken: I'll pass your message to mst. | ||
18:17
dugword left
|
|||
brokenchicken | kalkin-: I don't have zef config.json | 18:17 | |
ugexe | e.g. ecosystem-api.p6c.org/projects.json | ||
brokenchicken | right | 18:18 | |
That thing still has all the problems with our current ecosystem | |||
SmokeMachine | ugexe: ^^ | ||
kalkin- | brokenchicken: zef 2>&1|grep config.json | ||
brokenchicken | kalkin-: "zef: command not found" | ||
kalkin- | brokenchicken: well you could have just said that :P | ||
18:20
xinming left
18:21
xinming joined,
dotness left
|
|||
ugexe | SmokeMachine: that depends on you. as its been pointed out you *can* release versions to the ecosystem | 18:21 | |
kalkin- | I think i found an article shadow.cat/blog/matt-s-trout/the-ps...xperiment/ | ||
brokenchicken | kalkin-: that's the thing yes, tho AFAIK there's been more progress since that article's publishing date. | 18:22 | |
And ranguard twice was asking about how to validate dists for their upload script, and I twice responded that it's a flawed approach, and conversation went nowhere. I'm unsure if that's still the roadblock. | 18:23 | ||
18:23
infrabyte left
|
|||
kalkin- | After reading the article I'm not much smarter, because I'm never used CPAN to release anything and there is no link to code | 18:23 | |
18:23
infrabyte joined
|
|||
brokenchicken | You can *RIGHT NOW* use pause.cpan.org to upload your Perl 6 modules. Like PROPER upload them; not the crummy ecosystem we currently have | 18:24 | |
And from what I overheard while randomly glancing at the channel once in a while, zef can even install those now | |||
18:25
dotness joined
|
|||
kalkin- | so if I can upload and zef can download, what's the issue? | 18:25 | |
brokenchicken | And last year, I also seen jdv79's fork of metacpan that displayed the dists in some version or another, and IIRC one of the challenges there was that we support multi auths but Perl 5's CPAN model doesn't | ||
kalkin-: searching them, for once. | |||
ugexe | the new stuff being added isn't getting picked up by zef's indexer. FROGGs mentioned he had something extracting the meta data from the archives, but now cpan only lists the archives themselves | 18:26 | |
brokenchicken | kalkin-: also, few, if any at all, authors actually upload the modules; hence ranguard's auto-uploader script, which kind'f defeats the purpose, since it uploads whatever random commit happened to be HEAD when the script is run | ||
hmmm | |||
:( | |||
ugexe | www.cpan.org/authors/id/P/PS/PSIXDISTS/Perl6/ | 18:27 | |
note how older versions have a `*.meta` | |||
brokenchicken | huggable: cpan :is: www.cpan.org/authors/id/P/PS/PSIXDISTS/Perl6/ | 18:28 | |
huggable | brokenchicken, Added cpan as www.cpan.org/authors/id/P/PS/PSIXDISTS/Perl6/ | ||
brokenchicken | yeah :( | ||
raschipi | Does a module receive the requested version so that it can export an older interface like C does? | 18:29 | |
kalkin- | I know CPAN is a perl thing, but from reading the About Pause page I'm really hesitating to use it. as far as i understand it has an own ticketing system it has own workflows ect... I'm pretty happy with GitHub | 18:31 | |
I just want to push to some git repository properly tag it and then some Indexer can index and distribute it | |||
using git is simple, while the whole Pause/CPAN stuff reminds me of the ugly days of web back from the 90s. and I have to create an account there too | 18:32 | ||
What am I missing? | 18:33 | ||
ugexe | how often does github go down? | ||
kalkin- | ugexe: well my own git server is fine too | ||
ugexe: also PAUSE can also go down (CPAN has mirrors afaik, right?) | 18:34 | ||
18:34
dugword joined
|
|||
SmokeMachine | I can't get it!!! How does it work? www.irccloud.com/pastebin/EOJK5jTo/ | 18:35 | |
kalkin- | SmokeMachine: what are you doing? | 18:36 | |
18:36
sufrostico joined
|
|||
SmokeMachine | testing versions... | 18:36 | |
kalkin- | How want you ship them? Multiple versions in same Distribution? | ||
ugexe | you probably have to install them both and test it that way | 18:37 | |
im not sure if CURFileSystem (-I, use lib '...') does versions | |||
SmokeMachine | on this test im not use()ing :ver... | 18:38 | |
I thinks thats the use lib "."... | 18:39 | ||
ugexe | that use lib isnt doing anything | ||
SmokeMachine | yes... when I removed the "use lib "."" from the test.t it stoped working... | 18:40 | |
ugexe | are there any perl modules in cwd? | ||
SmokeMachine | without the use lib "." www.irccloud.com/pastebin/ln408db3/ | 18:41 | |
I didn't know thats recursive... | |||
ugexe | its not. what do you expect `use lib "."` to be pointing at? | 18:42 | |
because both of your modules are in sub directorys of your cwd, so unless you are in the cwd of a perl module root it shouldnt do anything | |||
SmokeMachine | Im not... | 18:43 | |
ugexe | your second example does the right thing | 18:44 | |
SmokeMachine | ugexe www.irccloud.com/pastebin/OfmFwARb/ | ||
but without the use lib "."... | |||
18:45
raschipi left
|
|||
ugexe | probably precomp related... rm -rf .precomp/ | 18:45 | |
SmokeMachine | ugexe: yes... .precomp | 18:47 | |
brokenchicken | kalkin-: you're happy with github? What about versioning? | 18:49 | |
kalkin- | brokenchicken: git tags | ||
brokenchicken | kalkin-: and how many authors use them? | ||
ugexe | add(?) github oauth and web hooks to pause | ||
18:50
xfix left
|
|||
kalkin- | brokenchicken: if you are not using them it's your fault. this is what git tags are for | 18:50 | |
If I would write a replacement script for generating the ecosystem. I would rate the module in different ways one of them would be if you are using proper versioning | 18:51 | ||
brokenchicken | heh | ||
kalkin-: and module installers would ignore any other means but tags to install? | 18:52 | ||
ugexe | thats recommendation manager, not content storage (what cpan is) | ||
kalkin- | ugexe: ohh, i thought recommendation manager === cpan | ||
18:52
xfix joined
|
|||
ugexe | metacpan would be a recommendation manager. cpan is only in the aspect that it doesnt allow multiple auths of the same dist name/ver | 18:53 | |
brokenchicken | kalkin-: and when the author goes insane and deletes their repo, you're OK with your production software breaking as a result? | ||
kalkin- | brokenchicken: this depends on your content storage policy. | ||
brokenchicken | Or when they delete all the old tags, just 'cause they felt like it, and now the version you pinned your product against no longer exists. | 18:54 | |
kalkin-: and what is that policy? | |||
kalkin- | brokenchicken: what ever the content storage admin decides. | ||
may be for your company you have an own content storage + recommendation manager which adheres to your needed policy | 18:55 | ||
brokenchicken | kalkin-: so rather than have a solid ecosystem, you're saying it's company's duty to maintain backups all of their dependencies? | ||
All because by using PAUSE you get a free ticket tracker, if you want it too? | 18:56 | ||
kalkin- | brokenchicken: no rather depending on other I preffer to depend on people I trust, this can be the CPAN admins or my company or me myself | ||
s/other/others | |||
brokenchicken | :S | ||
I'm confused then. | |||
You first say you're against CPAN, but now you say it can be CPAN? | 18:57 | ||
kalkin- | brokenchicken: I'm not against CPAN I'm for choice | ||
brokenchicken | OK | ||
ugexe | you can install cpan modules without corporate security shitting up the forced https of github | ||
kalkin- | brokenchicken: also why do we have the support field in META6 if we all going to use CPAN for tracking bugs? | 18:58 | |
brokenchicken | kalkin-: you're confused about the systems involved. | 18:59 | |
kalkin- | brokenchicken: may be… | ||
brokenchicken | kalkin-: you get shity RT tracker for free when you upload to CPAN, but no one's forcing you to use it. | ||
And that's not why we want to upload to CPAN. | 19:00 | ||
ugexe | metacpan.org/pod/distribution/Inli...line/C.pod look at where the "Issues" points to | ||
brokenchicken | As for workflow; in Perl 5 land, I'd just run "dzil release" in my terminal and it tags the release in github and upload to CPAN. The only difference from your git tag version is what you type when you're ready to realese really | 19:01 | |
19:01
Tonik joined
|
|||
brokenchicken | And yeah, you need an account, but so does GitHub; and as ugexe mentioned, perhaps there is or can be a way to auto-register via github | 19:02 | |
kalkin- | I see. | 19:03 | |
Ok the only barrier I'm having now is how can I hack PAUSE to work with Perl6? | 19:04 | ||
cpan search for PAUSE returns a ton of results | |||
brokenchicken | IIRC it already does, you just select Perl 6 in one of the fields | ||
brokenchicken logs in to look | |||
kalkin- | so what is missing? | ||
just search? | 19:05 | ||
ugexe | hack.p6c.org:5000/v0/release/ # there is also the metacpan stuff jdv79 has worked on | ||
cpan doesnt handle multiple versions of the same dist name | |||
additionally need to make sure it doesn't affect anything for the current perl 5 toolchain | 19:06 | ||
brokenchicken | kalkin-: yeah, you can select Perl 6. Never heard of PAUSE having an API; could check Dist::Zill release module or "CPAN Upload" script batman hacked on to find if they just simulate the web interface when using it from command line: i.imgur.com/fK8cYpo.png | ||
I think this one's it: metacpan.org/release/App-git-shipH | 19:08 | ||
I think this one's it: metacpan.org/release/App-git-ship | |||
19:09
darutoko left
|
|||
brokenchicken | .oO( someone motivated should write a Perl 6 PAUSE uploader script... |
19:11 | |
) | |||
I think someone shipped a Ddt distro toolkit or soemthing last night? Could be part of it. | |||
kalkin- | brokenchicken: I planned to implement some release feature at some point | ||
Yes i shiped ddt :D | 19:12 | ||
brokenchicken | \o/ | ||
19:15
confundus joined
19:17
pmurias joined
|
|||
kalkin- | How does CPAN handle different versions in Perl5, or not at all? | 19:17 | |
ugexe | it handles them as you would probably expect | ||
however, it doesnt understand Foo::Bar:ver<1>:auth<xxx> vs Foo::Bar:ver<1>:auth<qqq> | 19:18 | ||
kalkin- | ahh ic | ||
brokenchicken | kalkin-: you can never (unless you try hard) upload a version lesser than the versions you uploaded before. All of the previous versions are still available on all the mirrors, until you delete them from PAUSE. And when you do delete them, they still are permanently available on BackPAN | ||
I wonder if we can cheat with the :auth thing, by simply making it part of the version.... | 19:19 | ||
Oh, won't help | |||
never mind :P | |||
kalkin- | I can add PAUSE upload to Dtd, but I not going to hack on CPAN, because I have no expirience with Perl5 and it looks like a complex language on it's own | 19:20 | |
But first I need to clean up Dtd and remove a lot of duplicated code | 19:21 | ||
pmurias | brokenchicken: isn't :auth something that should be part of the name rather then version | ||
kalkin- | Does CPAN differentiate between Distribution and compunits? (Not that this is important at the moment…) | 19:22 | |
pmurias | kalkin-: a given distribution can contain multiple modules | 19:23 | |
ugexe | only the compiler cares about compunits | ||
a compunit is basically just a Distribution that is loaded | |||
kalkin- | I mean can I have distribution A providing Modules X, Y, Z and another Distributions providing the same modules with a different implementation, but exactly same API | 19:24 | |
19:25
MasterDuke joined
|
|||
ugexe | im not sure cpan indexes the 'provides' (although metacpan does) | 19:25 | |
kalkin- | I'm still don't understand how MetaCPAN and CPAN fit together. zef would (at some point in future) ask metacpan (because it's a recommendation manager) for some Module, get back some Distribution name and download it from CPAN? | 19:27 | |
geekosaur | you can also download from metacpan, since it provides direct links to things. might think of cpan as a database and metacpan as a fancy api for it | 19:29 | |
ugexe | cpan stores all the distributions.tar.gz | ||
metacpan searches those and makes its own index so that, yes you ask it for a module and it gives you what *it* believes to be correct | |||
19:30
ufobat joined
|
|||
kalkin- | k, thanks for the explanation | 19:30 | |
ugexe | e.g. with zef --cpan zef acts as the recommendation manager by greppign the meta data of a giant index (same as p6c). with zef --metacpan it does as you said - sends a http request and uses that (although zef does verify it matches) | 19:31 | |
19:33
zakharyas left
|
|||
kalkin- | I think I understand now | 19:34 | |
19:39
tyilanmenyn is now known as tyil
19:48
Gasher left
|
|||
kalkin- | moritz: thanks for the invitation! | 19:48 | |
moritz | kalkin-: you're welcome | 19:49 | |
19:51
bjz joined
|
|||
kalkin- | I don't want to whine, but registering with PAUSE is much more "complicated" then it should be. First of all you have to state why you are registering and second you need to be manually approved. This are more hurdles then there need to be | 19:52 | |
Or do you guys think that this keeps useless modules out of CPAN? | 19:53 | ||
19:55
AlexDaniel joined,
art_ joined,
geraud left
|
|||
art_ | Hi, everyone! Perl6 differs greatly from Perl5? What language is best to start learning? | 19:59 | |
sjn | hi art_ o/ | 20:00 | |
both languages are worth learning :) | |||
but having said that, we do have a certain bias towards Perl 6 in this channel :D | 20:01 | ||
20:01
sufrostico left
|
|||
sjn | art_: what's your goal? work? curiosity? learning to program? exploring advanced concepts? having fun? | 20:02 | |
20:02
geraud joined
|
|||
brokenchicken | art_: if your goal is to quickly get a job in the lang or web apps, go with Perl 5; if you're want something fun or fast implementation time is more important than fast run time, go with Perl 6 | 20:04 | |
And best of both worlds: learn both. | |||
mst | kalkin-: the reason for this is basically "people often think they need to register with PAUSE for reasons unrelated to uploading stuff and if they tull us that we can help them do the right thing instead" | ||
yoleaux | 18:17Z <brokenchicken> mst: what's happening with the Perl 6 MetaCPAN / PAUSE effort? How can willing hands contribute? | ||
mst | brokenchicken: no idea, jdv79 was working on the metacpan stuff | 20:05 | |
20:05
dugword left
|
|||
brokenchicken | mst: and the PAUSE stuff? SIXDIST experiment or whatever it was called? | 20:05 | |
art_ | I already have some experience with a Python, but I want something new. My question is whether the documentation on perl5 to study perl6? | ||
brokenchicken | The blog post I recall you wrote about it | 20:06 | |
art_: don't understand the question. What do you mean documentation of P5 to study P6? | |||
on P5 | |||
DrForr | art_: docs.perl6.org, though starting with perl6.org is the right place. | ||
brokenchicken would go with learnxinyminutes.com/docs/perl6/ as a starting point | 20:07 | ||
And for Perl 5, with modernperlbooks.com/ (ebook version is free, as I recall) | 20:08 | ||
DrForr | art_: The differences beftween Perl 5 and 6 are more extreme than python 2 vs. python 3. | ||
mst | errr, I think psixdists is running, ranguard's been popping up in here to ask stuff | ||
brokenchicken | Thanks. I'll touch base with ranguard and jdv79 | 20:09 | |
mst | I've not heard him grumbling about it recently so I was presuming you'd already fixed whatever was the problem last time | ||
I kind of only step in to co-ordinate here when something appears to be going sideways | |||
brokenchicken | Him is whom ranguard? | ||
mst | yes | ||
brokenchicken | Oh, no that problem is still there... | ||
mst | well, or at least, it was a "you're figuring it out" | ||
Iunno | |||
brokenchicken | But at least that gives me a starting point to make this thing move forward.... | ||
art_ | If I will learn P5 (https: //www.perl.org/docs.html) whether many changes compared to the P6 (perl6intro.com/)? | 20:10 | |
20:10
TEttinger joined
|
|||
brokenchicken | art_: yes, Perl 5 and Perl 6 are very differnt languages. | 20:10 | |
mst | basically if I hear the p5 people bitching excessively about the p6 people or vice versa, I step in; if I don't, I mostly try and leave the people who know what they're talking about to it | ||
we're currently in the latter phase | |||
brokenchicken | :) | ||
DrForr | art_: Yes, that's what I'd said above. | ||
kalkin- | mst: ahh, thanks | 20:12 | |
20:12
confundus left
|
|||
art_ | What about the language environment P5: libraries and frameworks? | 20:13 | |
brokenchicken | .ask jdv79 how is the MetaCPAN thing going? How can willing hands contribute? | ||
yoleaux | brokenchicken: I'll pass your message to jdv79. | ||
kalkin- | brokenchicken: you were faster :D | ||
brokenchicken | art_: very mature in Perl 5; basically non-existent in Perl 6 because the language is just 1 year old and because it's VERY easy to use Perl 5's libs via Inline::Perl5 | 20:14 | |
kalkin- | are there actually any reasons for not to use Inline::Perl5? | 20:15 | |
brokenchicken | art_: Perl 5: metacpan.org/ Perl 6: modules.perl6.org/ | ||
20:15
Gasher joined
20:17
domidumont left
|
|||
brokenchicken | kalkin-: putting all eggs in one basket? Needing perl 6 AND perl 5? Using an API that the author of the module may not wish to support should you encounter any issues? Often ending up with snake_case() routines (common in Perl 5) intermixed with kebab-case() routines common in Perl 6 (and its core) | 20:17 | |
20:18
lmmx left
|
|||
kalkin- | brokenchicken: ahh ok. | 20:18 | |
brokenchicken | It's not a hack, but it's not a perfect solution either. | ||
20:18
lmmx joined
|
|||
art_ | Ok, thanks. | 20:21 | |
brokenchicken | art_: there's also a perl 5's IRC channel: #perl | ||
20:22
rindolf left
|
|||
art_ | brokenchicken: Ok, but probably I will look towards P6. | 20:24 | |
sjn | art_: perl6 is really fun. I think you can look forward to exploring it :) | 20:26 | |
DrForr waves to sjn. | 20:27 | ||
20:28
azawawi left
|
|||
gfldex | art_: we got blogs! pl6anet.org/ | 20:28 | |
20:29
bjz left
|
|||
lizmat | jj.github.io/perl6em/perl6.html # Perl 6, The Musical | 20:29 | |
JJ Merelo ++ | 20:30 | ||
20:32
rindolf joined
|
|||
brokenchicken | :o | 20:34 | |
body { width: 1000px; margin: auto; } | 20:36 | ||
.seen jjmerelo | 20:38 | ||
yoleaux | I saw JJMerelo 26 Dec 2016 16:58Z in #perl6: <JJMerelo> @mst :-) | ||
brokenchicken spots the mention of ». but no word of the caveat of its autothreading. | 20:39 | ||
lizmat | I understand that comments are welcome :-) | ||
brokenchicken | Where can they be placed? | ||
m: say cos π/2 | 20:40 | ||
camelia | rakudo-moar 2140c9: OUTPUT«6.12323399573677e-17» | ||
20:40
girafe joined
|
|||
brokenchicken | And that ^ is due to π not being actual pi | 20:40 | |
lizmat | brokenchicken: I guess here github.com/JJ/perl6em | ||
brokenchicken | Thanks | ||
m: say pi | 20:41 | ||
camelia | rakudo-moar 2140c9: OUTPUT«3.14159265358979» | ||
20:41
nowan joined
|
|||
brokenchicken | hmm. rats wont help with the maximum precision we got in nums... | 20:41 | |
20:41
melezhik_ joined
|
|||
SmokeMachine | m: say (Date but role {method day {...}}) ~~ Date; role R {method day {...}; method Date(R:U:) {Date but R}}; say R.Date ~~ Date # Why the first works and the second doesn't? | 20:42 | |
camelia | rakudo-moar 2140c9: OUTPUT«TrueMethod 'day' must be implemented by R because it is required by roles: R. in any compose_method_table at gen/moar/Metamodel.nqp line 2832 in any apply at gen/moar/Metamodel.nqp line 2843 in any compose at gen/moar/Metamodel.nqp line 3015…» | ||
brokenchicken | m: say 314159265358979323846264338327950288419716939937510582/(1 ~ '0' x 53 .EVAL) | ||
camelia | rakudo-moar 2140c9: OUTPUT«3.14159265358979» | ||
brokenchicken | m: say cos 314159265358979323846264338327950288419716939937510582/(1 ~ '0' x 53 .EVAL) | ||
camelia | rakudo-moar 2140c9: OUTPUT«-1» | ||
brokenchicken | \o/ w00t | ||
20:43
nowan_ left,
Ven joined
|
|||
brokenchicken | huh, this weird | 20:44 | |
m: say cos 314159265 / 100000000 | |||
camelia | rakudo-moar 2140c9: OUTPUT«-1» | ||
brokenchicken | m: say cos Num(314159265 / 100000000) | 20:45 | |
camelia | rakudo-moar 2140c9: OUTPUT«-1» | ||
brokenchicken | :S | ||
m: say cos pi | |||
camelia | rakudo-moar 2140c9: OUTPUT«-1» | ||
brokenchicken | oh | ||
:( | |||
m: say cos 314159265358979323846264338327950288419716939937510582/(1 ~ '0' x 53 .EVAL)/2 | |||
camelia | rakudo-moar 2140c9: OUTPUT«6.12323399573677e-17» | ||
brokenchicken | awwwwww | ||
SmokeMachine | is that a bug or is it expected? | 20:46 | |
brokenchicken | Expected | ||
Not enough precision to get -0.5 | 20:47 | ||
m: say cos 1.57079632679 | |||
camelia | rakudo-moar 2140c9: OUTPUT«4.89658886014675e-12» | ||
SmokeMachine | brokenchicken: I mean this: | ||
m: say (Date but role {method day {...}}) ~~ Date; role R {method day {...}; method Date(R:U:) {Date but R}}; say R.Date ~~ Date # Why the first works and the second doesn't? | |||
camelia | rakudo-moar 2140c9: OUTPUT«TrueMethod 'day' must be implemented by R because it is required by roles: R. in any compose_method_table at gen/moar/Metamodel.nqp line 2832 in any apply at gen/moar/Metamodel.nqp line 2843 in any compose at gen/moar/Metamodel.nqp line 3015…» | ||
brokenchicken | m: (Date but role {method day {...}}).new | 20:49 | |
camelia | rakudo-moar 2140c9: OUTPUT«Cannot call Date+{<anon|54373392>}.new with no parameters in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
brokenchicken | :o | ||
m: (Date but role {method day {...}}).today.day.say | |||
camelia | rakudo-moar 2140c9: OUTPUT«15» | ||
brokenchicken | Ah right, it does have a day | ||
SmokeMachine: it's cause R.Date puns the R role, so it cries about wanting the method | 20:50 | ||
m: role R {method day {...}; method Date(R:U:) {Date but R}; method meow {} }; R.meow | |||
camelia | rakudo-moar 2140c9: OUTPUT«Method 'day' must be implemented by R because it is required by roles: R. in any compose_method_table at gen/moar/Metamodel.nqp line 2832 in any apply at gen/moar/Metamodel.nqp line 2843 in any compose at gen/moar/Metamodel.nqp line 3015 in…» | ||
brokenchicken | yup | ||
SmokeMachine | m: class C {method test {}}; (C but role {method test {...}}).c | 20:51 | |
camelia | rakudo-moar 2140c9: OUTPUT«No such method 'c' for invocant of type 'C+{<anon|72338896>}' in block <unit> at <tmp> line 1» | ||
SmokeMachine | m: class C {method test {}}; (C but role {method test {...}}).test | ||
camelia | ( no output ) | ||
SmokeMachine | m: class C {method test {}}; (C but role {method test {...}}) ~~ C | 20:52 | |
camelia | ( no output ) | ||
SmokeMachine | m: class C {method test {}}; say (C but role {method test {...}}) ~~ C | ||
camelia | rakudo-moar 2140c9: OUTPUT«True» | ||
brokenchicken | SmokeMachine: it fails before the .Date method is called; its contents are irrelevant. | ||
SmokeMachine | m: class C {method test {}}; role R {method test {...}; method C { C but R}}); R.C ~~ C | 20:55 | |
camelia | rakudo-moar 2140c9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unexpected closing bracketat <tmp>:1------> 3{method test {...}; method C { C but R}}7⏏5); R.C ~~ C» | ||
20:56
infrabyte left,
bjz joined
|
|||
SmokeMachine | m: class C {method test {}}; role R {method test {...}; method C { C but R}}; R.C ~~ C | 20:56 | |
camelia | rakudo-moar 2140c9: OUTPUT«Method 'test' must be implemented by R because it is required by roles: R. in any compose_method_table at gen/moar/Metamodel.nqp line 2832 in any apply at gen/moar/Metamodel.nqp line 2843 in any compose at gen/moar/Metamodel.nqp line 3015 i…» | ||
20:56
melezhik_ left
|
|||
brokenchicken | Not a bug. | 20:57 | |
Geth | oc: 57d5071f90 | (Wenzel P. P. Peppmeyer)++ | type-groups.json In preparation to make /type.html decent, first shot at grouping types. |
||
20:57
lizmat left
20:58
lizmat joined
|
|||
SmokeMachine | brokenchicken: why? | 20:58 | |
brokenchicken | SmokeMachine: the "R.C" part is short for "class R does R {}.C"; and that class ain't got `test` method, so it complains. | 20:59 | |
20:59
dotness left
21:00
bjz left
|
|||
SmokeMachine | :( | 21:01 | |
brokenchicken | m: class C {method test {}}; role R {method test {...}; method C { C but R}}; say R.^lookup("C")(R) ~~ C | ||
camelia | rakudo-moar 2140c9: OUTPUT«True» | ||
brokenchicken | ehehe cheetsy-doodly | ||
21:03
espadrine joined
21:04
lmmx left,
cdg joined,
Gasher_ joined,
cdg left
21:05
cdg joined,
lmmx joined,
Gasher left
21:06
dugword joined
21:10
dugword left
21:19
rindolf left
|
|||
samcv | morning | 21:22 | |
yoleaux | 13:37Z <thundergnat> samcv: "samcv> and don't have to .sort({$^a.Int cmp $^b.Int})" -- an arity 1 sort will be at least twice as fast. Try: .sort( +*.key | ||
samcv | thanks thundergnat | ||
brokenchicken | evening | 21:23 | |
samcv | m: my %hash = 1 => 'value', 2 => 'value', 10 => 'value; say %hash.sort({+*.key}) | ||
camelia | rakudo-moar 2140c9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unable to parse expression in single quotes; couldn't find final "'" at <tmp>:1------> 3, 10 => 'value; say %hash.sort({+*.key})7⏏5<EOL> expecting any of: single quotes …» | ||
samcv | m: my %hash = 1 => 'value', 2 => 'value', 10 => 'value'; say %hash.sort({+*.key}) | 21:24 | |
camelia | rakudo-moar 2140c9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Malformed double closure; WhateverCode is already a closure without curlies, so either remove the curlies or use valid parameter syntax instead of *at <tmp>:1------> 3, 10 => 'value'; say %hash.sort({…» | ||
samcv | m: my %hash = 1 => 'value', 2 => 'value', 10 => 'value'; say %hash.sort(+*.key) | ||
camelia | rakudo-moar 2140c9: OUTPUT«(1 => value 2 => value 10 => value)» | ||
samcv | cool | ||
21:28
raiph joined,
shmibs left
|
|||
brokenchicken | and - does it in reverse order | 21:29 | |
21:29
Tonik left
|
|||
kalkin- | why does +/- indicate the sort order? Is it just a nice hack or is there some reasoning behind? | 21:30 | |
timotimo | um | ||
it's because negative values are smaller than positive values | |||
brokenchicken | kalkin-: - inverts the numbers when they're being compared, and thus reverses the sort | ||
21:30
FROGGS left
|
|||
kalkin- | ohh | 21:30 | |
You just make numbers positive through using + | 21:31 | ||
(or negative through -) | |||
timotimo | you make things into numbers with + | ||
brokenchicken | right | ||
m: dd [+"42", -"42", +"-42", -"-42"] | |||
camelia | rakudo-moar 2140c9: OUTPUT«[42, -42, -42, 42]» | ||
brokenchicken | m: my %hash = 1 => 'value', 2 => 'value', 10 => 'value'; say %hash.sort(*.key.Int) | 21:32 | |
camelia | rakudo-moar 2140c9: OUTPUT«(1 => value 2 => value 10 => value)» | ||
brokenchicken | m: my %hash = 1 => 'value', 2 => 'value', 10 => 'value'; say %hash.sort(0 - *.key.Int) | ||
camelia | rakudo-moar 2140c9: OUTPUT«(10 => value 2 => value 1 => value)» | ||
timotimo | m: say +(:1foo) | ||
camelia | rakudo-moar 2140c9: OUTPUT«Cannot resolve caller Numeric(Pair: ); none of these signatures match: (Mu:U \v: *%_) in block <unit> at <tmp> line 1» | ||
21:33
shmibs joined
|
|||
kalkin- | I thought first -* & +* is some special form of whatever | 21:33 | |
brokenchicken | nope | ||
Just infix:<-> / infix:<+> | |||
err | |||
prefix:<-> / prefix:<+> | 21:34 | ||
kalkin- | prefix? | ||
right | |||
21:34
lmmx left
|
|||
SmokeMachine | m: class C {method test {}}; role R {method test {...}; method C { C but R}}; class R does R {method test {...}; method C { C but R }}; R.C ~~ C | 21:37 | |
camelia | rakudo-moar 2140c9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Redeclaration of symbol 'R'at <tmp>:1------> 3.}; method C { C but R}}; class R does R7⏏5 {method test {...}; method C { C but R » | ||
21:40
shmibs left
|
|||
SmokeMachine | When you new() a role couldn't it, when it creates the class, implement the methods required by the role? It could be implemented with ... | 21:41 | |
lizmat | when Perl 6 becomes sentient and telepathic, maybe ? | 21:42 | |
SmokeMachine | That would be the best solution for me, but if it could be done, it could at least give a different error... like: Roles that requires methods cannot "be transformed" into class | 21:43 | |
timotimo | you put ... into the role in order to make it explode when no code is provided | ||
like, explode immediately | |||
rather than having to wait for runtime to hit that code path | |||
gfldex | i wonder if ★ as an alias for the Whatever-* could improve readability | 21:45 | |
timotimo | i could see that | ||
it's potentially enough to just constant that | |||
brokenchicken | m: constant \term:<★> = Whatever; my %hash = 1 => 'value', 2 => 'value', 10 => 'value'; say %hash.sort(+★.key) | 21:46 | |
camelia | rakudo-moar 2140c9: OUTPUT«No such method 'key' for invocant of type 'Whatever' in block <unit> at <tmp> line 1» | ||
timotimo | ah | ||
apparently not | |||
sadface | |||
brokenchicken | .oO( don't improve readability in that one much either ) |
||
gfldex | in cases like ★*★ | 21:47 | |
or the other way around | |||
timotimo | well, you can use multiplication-cross for the multiplication case of * | ||
that makes it more readable, too | 21:48 | ||
gfldex | good point | ||
brokenchicken | m: role R {method day {...}; method ^pun($) { say "sod off, bruh"; }; method Date(R:U:) {Date but R}; method meow {} }; R.meow | ||
camelia | rakudo-moar 2140c9: OUTPUT«Potential difficulties: Useless declaration of a has-scoped method in multi (did you mean 'my method pun'?) at <tmp>:1 ------> 3role R {method day {...}; method7⏏5 ^pun($) { say "sod off, bruh"; }; methoMethod 'day' must be imple…» | ||
brokenchicken | .oO( in multi?? ) |
21:49 | |
ufobat | how do i check if $foo is a Bool? I think Bool is an enum so $foo ~~ Numeric is true as well | ||
brokenchicken | ufobat: $foo ~~ Bool | ||
ufobat | m: my $t = True; say so $foo ~~ Bool | ||
camelia | rakudo-moar 2140c9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable '$foo' is not declaredat <tmp>:1------> 3my $t = True; say so 7⏏5$foo ~~ Bool» | ||
gfldex | ufobat: see docs.perl6.org/language/typesystem#Metaclass | 21:50 | |
ufobat | m: my $t = True; say so $t ~~ Bool | ||
camelia | rakudo-moar 2140c9: OUTPUT«True» | ||
brokenchicken | gfldex: what's wrong with ~~ Bool? | ||
ufobat | m: my $t = True; say so $t ~~ Bool | 21:51 | |
camelia | rakudo-moar 2140c9: OUTPUT«True» | ||
ufobat | oups, | ||
SmokeMachine | brokenchicken: what's ^pun? | ||
brokenchicken | SmokeMachine: it puns the role | ||
ufobat | sorry, i'd need a False for this check | ||
brokenchicken | m: role R { method day {...}}.^pun | ||
camelia | rakudo-moar 2140c9: OUTPUT«Method 'day' must be implemented by R because it is required by roles: R. in any compose_method_table at gen/moar/Metamodel.nqp line 2832 in any apply at gen/moar/Metamodel.nqp line 2843 in any compose at gen/moar/Metamodel.nqp line 3015 in…» | ||
brokenchicken | ufobat: False what? | ||
SmokeMachine | What means pun? | ||
ufobat | my $t could either be a Numeric, String or Bool | 21:52 | |
brokenchicken | SmokeMachine: to use a role as a class | ||
ufobat: ok | |||
SmokeMachine | brokenchicken: thanks! | ||
ufobat | so my $boolean ~~ Numeric is "true" but in fact is is Bool in my $boolean | 21:53 | |
timotimo | Bool is Int | ||
brokenchicken | ufobat: !~~ is the negative of ~~ | ||
ufobat: but you're also missing that Numeric can be a Stringy too | |||
m: dd [ $_ ~~ Numeric, $_ ~~ Str ] given <42> | 21:54 | ||
camelia | rakudo-moar 2140c9: OUTPUT«[Bool::True, Bool::True]» | ||
21:54
Cabanossi left
|
|||
ufobat | hm | 21:54 | |
21:55
Cabanossi joined
|
|||
brokenchicken | m: $_ ~~ Numeric and $_ !~~ Stringy and $_ !~~ Bool and say "Just a plain 'ol Numeric" given 42 | 21:55 | |
camelia | rakudo-moar 2140c9: OUTPUT«Just a plain 'ol Numeric» | ||
brokenchicken | m: $_ ~~ Numeric and $_ !~~ Stringy and $_ !~~ Bool and say "Just a plain 'ol Numeric" given <42> | ||
camelia | ( no output ) | ||
brokenchicken | m: $_ ~~ Numeric and $_ !~~ Stringy and $_ !~~ Bool and say "Just a plain 'ol Numeric" given True | ||
camelia | ( no output ) | ||
kalkin- | I had a look at Dist::Zilla as far as I understand it has some phases it goes through and according to phases it executes some roles. AFAIK you could (dunno if it's implemented) only run in parallel the Plugins of the same phase, right? I'm asking because I need to rework the Ddt::Template code want to make Ddt concurrent, but implementing it similar to Dist::Zilla would also enforce the same concurrency limitation. Or did I misunderstood the | ||
plugin system? | |||
s/some roles/some plugins/ | 21:56 | ||
ufobat | brokenchicken, thats it for "numbers" | ||
what would it be for "plain Bool"? | |||
brokenchicken | :( | ||
ufobat: ~~ Bool, bruh | |||
ufobat | oh damn | 21:57 | |
Hotkeys_ | is there an easy way I can whitespace split a string that includes lone combining chars without going through blob/buf or something like that? | ||
m: my $s = "_x ̽"; $s.say; $s.comb(/\S+/).say #for example | |||
camelia | rakudo-moar 2140c9: OUTPUT«_x ̽(_x)» | ||
ufobat | its to late for me already, got your hint now! | ||
tyvm! | |||
ugexe | i would doubt it does anything in parallel because you lose all reproduceability | ||
brokenchicken | kalkin-: I think #perl may know the answer better... BTW: Dist::Zilla is a monster... | ||
kalkin- | brokenchicken: right good idea, will try that | ||
ugexe | oh hey this time plugin X ran before plugin Y and changed the outcome | ||
brokenchicken | heh | 21:58 | |
m: my $s = "_x ̽"; $s.say; $s.words.say | |||
camelia | rakudo-moar 2140c9: OUTPUT«_x ̽(_x)» | ||
ugexe | you can do things like this in parallel if you understand the dependency graph of all the tasks and can break it down properly | ||
kalkin- | ugexe: right, i thought first about hardcoding in the Plugin A that it can only run if Plugin B is finished, but I'm not sure if this isn't flexible enough | ||
brokenchicken | Hotkeys_: what's the desired output? | 21:59 | |
ugexe | so now you understand why i said before that plugins need to be aware of what else is going to run in its build process | ||
Hotkeys_ | ("_x", "ˣ") | ||
ugexe | otherwise you can do what zef/cur does and use a linked list and you put them in order however you want | 22:00 | |
brokenchicken | Hotkeys_: I guess not... | ||
Hotkeys_ | right now it seems to see the combining char composed onto the space and therefore treats it as part of the whitespace | ||
brokenchicken | m: say x ̽".chars | ||
camelia | rakudo-moar 2140c9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unable to parse expression in double quotes; couldn't find final '"' at <tmp>:1------> 3say x ̽".chars7⏏5<EOL> expecting any of: argument list double quotes t…» | ||
brokenchicken | m: say"x ̽".chars | ||
camelia | rakudo-moar 2140c9: OUTPUT«5===SORRY!5===Argument to "say" seems to be malformedat <tmp>:1------> 3say7⏏5"x ̽".charsTwo terms in a rowat <tmp>:1------> 3say7⏏5"x ̽".chars expecting any of: infix infix stopper st…» | ||
brokenchicken | man this stuff really tore up my terminal :( | 22:01 | |
m: " ̽".chars.say | |||
camelia | rakudo-moar 2140c9: OUTPUT«1» | ||
brokenchicken | That's what I meant. It's part of the space and gets tossed along with it | ||
kalkin- | ugexe: last time we spoke about it you mentioned some node.js build stuff? I can't remember the name of it | ||
brokenchicken | Oh | ||
brokenchicken got an idea | 22:02 | ||
Hotkeys_ | here's a thing for easy pastage :P utf8.new(95,120,32,204,189) | ||
22:02
dugword joined
|
|||
Hotkeys_ | Yeah I know it treats it like that I was just wondering if there was a way to have it not do that | 22:02 | |
Without converting to a buf and then back again | |||
brokenchicken | m: my $s = "_x ̽"; $s.split(/[(\s) {$0.chars == $0.codes}]+/).say | ||
camelia | rakudo-moar 2140c9: OUTPUT«(_x )» | ||
brokenchicken | m: my $s = "_x ̽"; $s.split(/[(\s) {$0.chars == $0.codes}]+/).elems.say | ||
camelia | rakudo-moar 2140c9: OUTPUT«2» | ||
brokenchicken | hmmmm | 22:03 | |
kalkin- | hmm I also could make Phases scoped to files. So plugin B waits for any *.pm class to be gathered so it can add instantly a license header to it | ||
brokenchicken | m: my $s = "_x ̽"; $s.split(/[(\s) {$0.chars == $0.codes}]+/).[1].uninames.say | ||
camelia | rakudo-moar 2140c9: OUTPUT«()» | ||
kalkin- | this might allow more concurrency | ||
brokenchicken | Oh, right, that's just the empty spot :( | ||
maybe samcv would have a better idea | 22:04 | ||
samcv | what are you trying to do | 22:05 | |
brokenchicken | samcv: split "_x ̽" on whitespace, to result in "_, "x ̽" | 22:06 | |
uhhh | |||
for _x to be one item and for the combining thing the second item | |||
Hotkeys_ | result in ("_x", "ˣ") | 22:07 | |
brokenchicken | m: say "ˣ".uniprops | ||
camelia | rakudo-moar 2140c9: OUTPUT«(Lm)» | ||
thundergnat | m: my $s = "_x ̽"; say $s; .say for $s.NFD; | ||
camelia | rakudo-moar 2140c9: OUTPUT«_x ̽9512032829» | ||
thundergnat | m: my $s = "_x ̽"; say $s; .chr.say for $s.NFD; | ||
camelia | rakudo-moar 2140c9: OUTPUT«_x ̽_x ̽» | ||
samcv | mabye my font rendering is tricking me? uhm | ||
22:07
rindolf joined
|
|||
samcv | let me change fonts | 22:07 | |
Hotkeys_ | given that it's a lone combining char, it'll attach to space and quotes | 22:08 | |
so yeah probably tricks | |||
samcv | m: "_x ̽".uninames.say | ||
camelia | rakudo-moar 2140c9: OUTPUT«(LOW LINE LATIN SMALL LETTER X SPACE COMBINING X ABOVE)» | ||
samcv | m: "_x ̽".uninames.perl.say | ||
camelia | rakudo-moar 2140c9: OUTPUT«("LOW LINE", "LATIN SMALL LETTER X", "SPACE", "COMBINING X ABOVE").Seq» | ||
samcv | m: "_x ̽".uniprops('GCB').perl.say | ||
camelia | rakudo-moar 2140c9: OUTPUT«("Other", "Other", "Other", "Extend").Seq» | ||
samcv | ok | ||
now i can see what's going on ;) | 22:09 | ||
also you shouldn't have a combiing x above after a space | |||
tbh but. that's not exactly the question i guess | |||
m: "_x ̽".chars.say | |||
camelia | rakudo-moar 2140c9: OUTPUT«3» | ||
samcv | so you want to split it into 4 characters? | 22:10 | |
err or split extending characters? | |||
Hotkeys_ | Ideally I want to split it by the whitespace | ||
but right now whitespace is including the combiner | |||
samcv | ok | ||
brokenchicken | m: my $s = "_x ̽"; $s.NFD.map({ .chr.uniprop('White_Space') ?? 10 !! $_ })».chr.join.words.[1].uninames.say | 22:11 | |
camelia | rakudo-moar 2140c9: OUTPUT«(COMBINING X ABOVE)» | ||
brokenchicken | m: my $s = "_x ̽"; $s.NFD.map({ .chr.uniprop('White_Space') ?? 10 !! $_ })».chr.join.words.[0].uninames.say | ||
camelia | rakudo-moar 2140c9: OUTPUT«(LOW LINE LATIN SMALL LETTER X)» | ||
samcv | ok | 22:12 | |
m: "_x ̽".split(/\s/, :includemark).perl.say | |||
camelia | rakudo-moar 2140c9: OUTPUT«("_x", "")» | ||
samcv | hm | ||
m: "_x ̽".split(/\s/, :ignoremark).perl.say | |||
camelia | rakudo-moar 2140c9: OUTPUT«("_x", "")» | ||
samcv | m: "_x ̽".split(/\s/, :ignoremark).».uninames.perl.say | ||
camelia | rakudo-moar 2140c9: OUTPUT«(("LOW LINE", "LATIN SMALL LETTER X").Seq, ().Seq)» | ||
timotimo | Str will vehemently prevent you from splitting a combiner from its letter | ||
you'll need .NFD if you want it another way | |||
samcv | yeah | ||
well doesn't have to be NFD | 22:13 | ||
NFC would work too | |||
timotimo | but only in this special case :) | ||
samcv | well. special? i mean the whole question is regarding a degenerate attached to a space | ||
that seems the exact case of what's going on atm | 22:14 | ||
timotimo | ok | ||
i didn't pay enough attention | |||
samcv | where you have a degenerate after a space, so it attaches not to anything it should. | ||
np :) | |||
we would not go against unicode spec if we didn't allow you to combine marks onto spaces | 22:15 | ||
that may be a decent thing to do | |||
i have an rt about this exact thing. let me find it | |||
timotimo | hm | ||
samcv | unicode basically says you can handle degenerates however you want as long (for the most part) | ||
Hotkeys_ | it does seem strange for combiners to attach to spaces | 22:16 | |
samcv | yeah that's why it's called a degenerate | ||
so we could not break there. I would be ok with that and could change that on MVM | |||
rt.perl.org/Ticket/Display.html?id=130384 here's the RT | |||
Hotkeys_ | they also attach to quotes so it's impossible to actually enter a string containing a lone combiner | ||
samcv | heh | ||
Hotkeys_ | :P | ||
samcv | yep | ||
see rt :P | |||
Hotkeys_ | ah | 22:17 | |
nice | |||
22:17
art_ left
|
|||
samcv | the space case is a much simpler uhm easier way to handle degenerates. but then other than spaces what do you not break at? that is the question | 22:18 | |
there's a proposal to make an invisible letter unicode.org/review/pr-41-invisible.pdf part of unicode | 22:19 | ||
and you can attach marks onto it and be all in the clear | |||
Hotkeys_ | I've seen that and like that | ||
samcv | but space seems like a simple case we could easily just change it on moarvm and not have to think too hard since there aren't any counter cases | 22:20 | |
for making it not attach to punctuation characters I would have to do more research | |||
22:20
Hotkeys_ is now known as Hotkeys
22:23
cdg_ joined,
cdg__ joined
22:25
BenGoldberg joined
|
|||
samcv | Hotkeys, i am going to see if i can add that into MVM, to not break on spaces | 22:25 | |
if it's an extend | |||
Hotkeys | ok cool | ||
22:26
cdg left
22:27
cdg_ left
|
|||
samcv | should be an easy fix at least for this case | 22:27 | |
just gotta make sure it passes all spectests | |||
which it should. but gotta double check ;) | |||
wait since when did we pass all the graphemeclusterbreak.t tests? | 22:30 | ||
timotimo | oops? | ||
samcv | did somebody remove things on accident | ||
heh | |||
i'll just regen it | 22:32 | ||
22:32
raiph left
|
|||
samcv | err maybe it was me idk. hold on gotta check | 22:33 | |
or maybe we are passing all tests and i'm just that good ;) | |||
22:33
raiph joined
|
|||
TEttinger | samcv: why stop at invisible letters, we need invisible numbers | 22:34 | |
samcv | err maybe i was running the wrong test. heh | ||
22:35
cdg__ left
|
|||
TEttinger | invsible negative-width whitespace characters | 22:35 | |
like \r on some setups, heh | 22:36 | ||
samcv | negative width? | ||
is that what the proposal says? | |||
TEttinger | why not | ||
no | |||
22:37
RabidGravy left
|
|||
TEttinger | it could in theory be useful! | 22:37 | |
overdraw was used in early APL | |||
samcv | oh negative width chars? | 22:47 | |
but… that's not plaintext tho | |||
DrForr | Nod, quad was [ overprinted with ]. | ||
samcv | unicode would never allow it | ||
heh ;) | |||
SmokeMachine | I'm not changing anything, I'm just studying... but if here: github.com/rakudo/rakudo/blob/nom/...ng.nqp#L36 | 22:48 | |
22:48
lmmx joined
|
|||
SmokeMachine | I loop on the role methods greping the .yada and .add_method on the created type... | 22:49 | |
Should it auto implemented the role's required modules on punning? | 22:50 | ||
s/role methods/role's methods/ | 22:51 | ||
Would that work? | 22:52 | ||
22:55
BenGoldberg left
22:57
itcharlie1 joined
|
|||
samcv | Hotkeys, have a fix. gotta build nqp and rakudo then run spectest. if it passes then we should be good | 22:59 | |
Hotkeys | love you platonically | 23:00 | |
samcv | np | 23:01 | |
m: say "\c[BELL]" | 23:06 | ||
camelia | rakudo-moar 2140c9: OUTPUT«🔔» | ||
samcv | yey :) | ||
u: U+7 | |||
unicodable6 | samcv, U+0007 BELL [Cc] (control character) | ||
samcv | hmm AlexDaniel unicodable6 seems to have the old info | 23:07 | |
u: bell | |||
unicodable6 | samcv, U+0007 BELL [Cc] (control character) | ||
samcv, U+237E BELL SYMBOL [So] (⍾) | |||
samcv, gist.github.com/d37370f64f576f3c7a...4044318b04 | |||
AlexDaniel | u: { $_ == 7 } | ||
unicodable6 | AlexDaniel, U+0007 BELL [Cc] (control character) | ||
AlexDaniel | what's the right answer? | ||
ah right… | 23:08 | ||
I see… | |||
samcv | u: { .uniprop('White_Space') } | 23:09 | |
AlexDaniel hides | |||
samcv | u: 0x7.uniname.say | ||
m: 0x7.uniname.say | |||
camelia | rakudo-moar 2140c9: OUTPUT«<control-0007>» | ||
unicodable6 | samcv, U+0009 CHARACTER TABULATION [Cc] (control character) | ||
samcv, U+000A LINE FEED (LF) [Cc] (control character) | |||
samcv, U+0078 LATIN SMALL LETTER X [Ll] (x) | |||
samcv, U+0030 DIGIT ZERO [Nd] (0) | |||
samcv, gist.github.com/ee088a584f227282b7...5f5d907be9 | |||
samcv | whoops | ||
23:10
shmibs joined
23:11
evalable6 left,
unicodable6 left,
benchable6 left,
bisectable6 left,
committable6 left,
statisfiable6 left
23:12
committable6 joined,
unicodable6 joined,
ChanServ sets mode: +v committable6,
ChanServ sets mode: +v unicodable6,
bisectable6 joined,
evalable6 joined,
ChanServ sets mode: +v bisectable6,
benchable6 joined,
ChanServ sets mode: +v benchable6,
statisfiable6 joined
|
|||
AlexDaniel | u: 0x7 | 23:12 | |
unicodable6 | AlexDaniel, U+0007 <control-0007> [Cc] (control character) | ||
AlexDaniel | samcv: like that? :) | 23:13 | |
samcv | yea | ||
23:17
kalkin- left
23:19
Gasher_ left
|
|||
TEttinger | uh | 23:20 | |
how would you use \c[] to produce the audible bell char? | 23:21 | ||
if BELL is an emoji | |||
m: say "\c[<control-0007>]" | |||
camelia | rakudo-moar 2140c9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unrecognized \c characterat <tmp>:1------> 3say "\c[7⏏5<control-0007>]" expecting any of: argument list double quotes term» | ||
geekosaur | m: "\c[BEL]".uniname.say | ||
camelia | rakudo-moar 2140c9: OUTPUT«<control-0007>» | ||
TEttinger | oh man | 23:22 | |
that's silly, but it works | |||
samcv | there's \c[ALERT] too | 23:23 | |
geekosaur kinda expects that anyway since the ASCII control character names are all 2 or 3 characters | |||
BEL, LF, SOH, etc. | |||
AlexDaniel | m: “\c[ALERT]”.ord.say | ||
camelia | rakudo-moar 2140c9: OUTPUT«7» | ||
AlexDaniel | alert is fine | ||
samcv | AlexDaniel, you should see github.com/MoarVM/MoarVM/commit/81...49264335bf | ||
see my commit description. it explains all the user facing changes | |||
AlexDaniel | me? | 23:24 | |
samcv | idk if you haven't seen it | ||
then you should | |||
or anybody wanting to know what the recent changes were to character naming and being able to access them | |||
oh god. at the end XD # Please enter the commit message for your changes. Lines starting | |||
hahaha | |||
oh well. | |||
damn you git | 23:25 | ||
AlexDaniel | hah | ||
I often include some lines starting with # and then wonder why they are not in my commit message | |||
samcv | hah | ||
m: say "\c[ZWJ]".uniname | 23:26 | ||
camelia | rakudo-moar 2140c9: OUTPUT«ZERO WIDTH JOINER» | ||
23:26
mr_ron left
|
|||
samcv | can do that too now :) | 23:26 | |
AlexDaniel | right! | ||
samcv | all aliases here: ftp://ftp.unicode.org/Public/UCD/latest/ucd/NameAliases.txt | ||
also Hotkeys adding space may be more complicated than I expected | 23:27 | ||
looks like unicode's grapheme break test includes that and says not to break there | |||
but. digging deeper it is more complex | |||
AlexDaniel | m: say “🙌\c[ZWJ]♂” | ||
camelia | rakudo-moar 2140c9: OUTPUT«🙌♂» | ||
Hotkeys | spooky | ||
AlexDaniel | no, it's not that one | ||
m: say “🤦\c[ZWJ]♂” | 23:28 | ||
camelia | rakudo-moar 2140c9: OUTPUT«🤦♂» | ||
AlexDaniel | .in 2y Check if Facepalm + ZWJ + Male sign finally renders a male version | 23:29 | |
yoleaux | AlexDaniel: I'll remind you on 15 Jan 2019 23:29Z | ||
samcv | m: say "\c[man astronaut: light skin tone]" | ||
camelia | rakudo-moar 2140c9: OUTPUT«👨🏻🚀» | ||
AlexDaniel | samcv: wait… how does that work? | ||
samcv | because I added it :) | ||
to MVM :) | |||
AlexDaniel | so what's the syntax exactly? | 23:30 | |
samcv | github.com/MoarVM/MoarVM/pull/492 | ||
23:30
BenGoldberg joined
|
|||
samcv | it's anything that unicode says | 23:30 | |
23:30
BenGoldberg left
|
|||
samcv | this unicode.org/Public/emoji/4.0/emoji-sequences.txt | 23:30 | |
and this unicode.org/Public/emoji/4.0/emoji-...uences.txt | |||
AlexDaniel | m: say “\c[FACE PALM: MALE SIGN]” | ||
camelia | rakudo-moar 2140c9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unrecognized character name FACE PALM: MALE SIGNat <tmp>:1------> 3say “\c[FACE PALM: MALE SIGN7⏏5]”» | ||
samcv | has to be lower case atm | 23:31 | |
AlexDaniel | m: say “\c[face palm: male sign]” | ||
camelia | rakudo-moar 2140c9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unrecognized character name face palm: male signat <tmp>:1------> 3say “\c[face palm: male sign7⏏5]”» | ||
23:31
telex left
|
|||
samcv | also. commas denote seperate characters AlexDaniel | 23:31 | |
use commas if you are specifying the exact characters. use the names listed if it's a special sequence | |||
i still need to make it case insensiteve and remove commas from like. couple with heart: woman, man | |||
you can't do "\c[couple with heart: woman, man]" because it thinks you are specfying 'couple with heart:' + 'woman' + 'man' | 23:32 | ||
AlexDaniel | ahhh I see | ||
m: say “\c[man facepalming]” | |||
camelia | rakudo-moar 2140c9: OUTPUT«🤦♂️» | ||
samcv | so need to fix that. but otherwise all the emoji sequences and zwj ones are added | ||
23:32
telex joined
|
|||
samcv | :D | 23:32 | |
m: say "\c[United States]" | |||
camelia | rakudo-moar 2140c9: OUTPUT«🇺🇸» | ||
AlexDaniel | m: dd “\c[man facepalming]”.comb.uninames | ||
camelia | rakudo-moar 2140c9: OUTPUT«Cannot resolve caller uninames(Seq); none of these signatures match: (Str:D $str) in block <unit> at <tmp> line 1» | ||
AlexDaniel | m: dd “\c[man facepalming]”.uninames | 23:33 | |
camelia | rakudo-moar 2140c9: OUTPUT«("FACE PALM", "ZERO WIDTH JOINER", "MALE SIGN", "VARIATION SELECTOR-16").Seq» | ||
AlexDaniel | why variation selector? | ||
samcv | that is variation selector for emoji presentation | ||
there is a variation selector for text presentation too | |||
but unicode has those in their list so, that's why it gives you that | |||
AlexDaniel | oh, otherwise it will render as separate characters? | ||
samcv | well. otherwise it's not forced into any presentation i think | ||
AlexDaniel | ok | 23:34 | |
samcv | not sure how computers handle it or if they even do, or phones for that matter. not sure | ||
still need to add the non emoji sequences too | |||
from here www.unicode.org/Public/9.0.0/ucd/Na...uences.txt | |||
AlexDaniel | renders like shit here, which is why I asked yoleaux to remind me in two years… | ||
samcv | heh | 23:35 | |
also the alias names also include corrections to incorrect unicode names, so it's pretty useful to support those | |||
brokenchicken | m: say “\c[man facepalming]” | ||
camelia | rakudo-moar 2140c9: OUTPUT«🤦♂️» | ||
samcv | u: U+FE18 | ||
unicodable6 | samcv, U+FE18 PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET [Pe] (︘) | ||
samcv | see how that's misspelled :P | 23:36 | |
brokenchicken | Hm, even my emoji one set on Windows can't render the facepalming | ||
AlexDaniel | yea-yea | ||
brokenchicken | Cool! | ||
samcv | but names never change! woo! | ||
but i guess it's okay since aliases exist | |||
AlexDaniel | yea | ||
skin tones render fine here, genders not really | 23:37 | ||
samcv | not sure if we want a function to get us all the unicode aliases or how that would even look. since things can have many aliases | ||
23:37
fatguy left
|
|||
AlexDaniel | most emojis I see have a woman | 23:37 | |
samcv | you're on what os? | ||
AlexDaniel | Debian | ||
unstable | |||
brokenchicken | m: say “\c[woman facepalming]” | 23:38 | |
camelia | rakudo-moar 2140c9: OUTPUT«🤦♀️» | ||
AlexDaniel | have no idea what font that is | ||
brokenchicken | m: say “\c[baby facepalming]” | ||
camelia | rakudo-moar 2140c9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unrecognized character name baby facepalmingat <tmp>:1------> 3say “\c[baby facepalming7⏏5]”» | ||
brokenchicken | .oO( ISAGN ) |
||
samcv | gonna try installing another font | ||
AlexDaniel | the current font I'm using is rather stupid to be honest. I'm not sure who had this great idea to draw gendered emojis | 23:40 | |
if there's no gender sign ZWJ-ed to it, please give me a smiley head… | |||
brokenchicken | m: say “\c[cat facepalming]” | 23:42 | |
camelia | rakudo-moar 2140c9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unrecognized character name cat facepalmingat <tmp>:1------> 3say “\c[cat facepalming7⏏5]”» | ||
brokenchicken | :( | ||
m: say “\c[cat crying]” | |||
camelia | rakudo-moar 2140c9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unrecognized character name cat cryingat <tmp>:1------> 3say “\c[cat crying7⏏5]”» | ||
brokenchicken | m: say “\c[crying catface]” | ||
camelia | rakudo-moar 2140c9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unrecognized character name crying catfaceat <tmp>:1------> 3say “\c[crying catface7⏏5]”» | ||
23:45
BenGoldberg joined
|
|||
AlexDaniel | m: say “\c[Libya]” # dammit, I was hoping for a green circle | 23:45 | |
camelia | rakudo-moar 2140c9: OUTPUT«🇱🇾» | ||
samcv | lol | 23:46 | |
i installed another font antd since there's no colors, things are even harder to tell what they are then before :P | 23:48 | ||
23:49
girafe left
23:55
lukaramu left
|
|||
BenGoldberg | m: '🍏'.uninames.say | 23:55 | |
camelia | rakudo-moar 2140c9: OUTPUT«(GREEN APPLE)» | ||
BenGoldberg | u: m:i/green/ | 23:56 | |
unicodable6 | BenGoldberg, U+006D LATIN SMALL LETTER M [Ll] (m) | ||
BenGoldberg, U+003A COLON [Po] (:) | |||
BenGoldberg, gist.github.com/1ee579c4552ed36f02...05f1cf6c02 | |||
AlexDaniel | just u: green | ||
BenGoldberg | u: green | ||
unicodable6 | BenGoldberg, U+1F005 MAHJONG TILE GREEN DRAGON [So] (🀅) | ||
BenGoldberg, U+1F332 EVERGREEN TREE [So] (🌲) | |||
BenGoldberg, gist.github.com/b2d24cbda61f4db8fc...caf1ee698c | |||
brokenchicken | even mahjong tiles are in it? | ||
Didn't even know people knew of that game heh. | 23:57 | ||
23:57
pmurias left
|
|||
brokenchicken had a time as a teen with laptop that was only good for playing mahjong and nethack... Ah.. memories | 23:57 | ||
AlexDaniel | u: TILE | ||
unicodable6 | AlexDaniel, U+22AA TRIPLE VERTICAL BAR RIGHT TURNSTILE [Sm] (⊪) | ||
AlexDaniel, U+22AB DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE [Sm] (⊫) | |||
AlexDaniel, gist.github.com/7e2e0a7adb63962ae4...a831171ae5 | 23:58 | ||
AlexDaniel | pfft. Domino tiles vertical *and* horizontal | ||
brokenchicken | .oO( would be nice to know the total chars in the gist... ) |
||
AlexDaniel | brokenchicken: github.com/perl6/whateverable/issues/88 | ||
BenGoldberg | . o O (03⏺0) | ||
brokenchicken | AlexDaniel: "testneeded"? So it's done already or what's happening? | 23:59 | |
AlexDaniel | brokenchicken: don't look at that label yet | ||
if it's open then it's not done |