»ö« 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
Ben_Goldberg joined,
kurahaupo left,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
|
|||
BenGoldberg | s: &trait_mod:<handles>, :(Attribute:D, $thunk); | 00:03 | |
SourceBaby | BenGoldberg, Ehhh... I'm too scared to run that code. | ||
yoleaux | 01:31 EST <sammers> BenGoldberg: thanks, I will take a look into %CALLER | ||
BenGoldberg | s: &trait_mod:<handles>, :(Attribute:D, $thunk) | ||
SourceBaby | BenGoldberg, Something's wrong: ERR: Cannot resolve caller sourcery(Sub, Signature); none of these signatures match: ($thing, Str:D $method, Capture $c) ($thing, Str:D $method) (&code) (&code, Capture $c) in block <unit> at -e line 6 | ||
BenGoldberg | s: &trait_mod:<handles>, (Attribute, Any) | 00:04 | |
SourceBaby | BenGoldberg, Something's wrong: ERR: Cannot resolve caller sourcery(Sub, List); none of these signatures match: ($thing, Str:D $method, Capture $c) ($thing, Str:D $method) (&code) (&code, Capture $c) in block <unit> at -e line 6 | ||
BenGoldberg | s: &trait_mod:<handles>, \(Attribute, Any) | ||
SourceBaby | BenGoldberg, Something's wrong: ERR: Could not find candidate that can do \(Attribute, Any) in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 37 in block <unit> at -e line 6 | ||
BenGoldberg | s: &trait_mod:<handles>, \(Attribute, Pair) | ||
SourceBaby | BenGoldberg, Something's wrong: ERR: Could not find candidate that can do \(Attribute, Pair) in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 37 in block <unit> at -e line 6 | ||
00:05
simcop2387 joined,
araraloren joined
|
|||
Geth | doc: e75855c412 | (Will "Coke" Coleda)++ | doc/Type/Signature.pod6 remove trailing whitespace |
00:05 | |
doc: d70c7eb92e | (Will "Coke" Coleda)++ | doc/Language/operators.pod6 fix typos |
|||
doc: e63d2e1662 | (Will "Coke" Coleda)++ | doc/Type/Signature.pod6 Avoid duped sub names pass compilation test |
|||
00:06
mcmillhj joined
|
|||
BenGoldberg | s: &trait_mod:<handles>, \(Attribute.new, sub { ... }) | 00:09 | |
SourceBaby | BenGoldberg, Ehhh... I'm too scared to run that code. | ||
BenGoldberg | s: &trait_mod:<handles>, \(Attribute.new, &foo) | ||
SourceBaby | BenGoldberg, Something's wrong: ERR: ===SORRY!=== Error while compiling -eUndeclared routine: foo used at line 6 | ||
BenGoldberg | s: &trait_mod:<handles>, \(Attribute.new, &say) | ||
SourceBaby | BenGoldberg, Something's wrong: ERR: Required named parameter 'name' not passed in block <unit> at -e line 6 | ||
00:11
rurban left
00:14
mcmillhj left
00:15
pmurias left
|
|||
IOninja | s: &trait_mod:<handles> | 00:16 | |
SourceBaby | IOninja, Sauce is at github.com/rakudo/rakudo/blob/11ee...ts.pm#L359 | ||
00:18
espadrine left,
pyrimidine joined
00:21
cyphase left
|
|||
BenGoldberg | m: class A { method foo() { "A" } }; class B { has A $.a handles * }; say B.new(a => A.new).^methods; | 00:22 | |
camelia | (a) | ||
BenGoldberg was being too specific, wasn't he ;) | |||
00:22
evalable6 joined,
ChanServ sets mode: +v evalable6,
cdg left
00:23
pyrimidine left
00:24
dct joined
00:25
cyphase joined
00:26
mcmillhj joined
|
|||
Geth | doc: bd7a64a207 | (Tom Browder)++ | doc/Type/Str.pod6 correct spelling |
00:26 | |
BenGoldberg | m: class A { method foo() { "A" } }; class B { has A $.a handles * }; say B.new(a => A.new).^find_method("foo"); | 00:30 | |
camelia | -> $self, |c is raw { #`(Block|75700104) ... } | ||
00:31
mcmillhj left
|
|||
Geth | whateverable: bbede988f6 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 13 files Lots of refactoring and other code mangling This commit introduces some functional changes and some minor code style tweaks. Issues resolved: #32 #34 #48 #49 #50 #67 #70 #88 #95 #102 #103 #105 ... (28 more lines) |
00:38 | |
00:42
zengargoyle left
|
|||
elaADnlxie wonders how many emails were sent by github | 00:43 | ||
00:43
mcmillhj joined
00:44
bjz joined
00:49
kurahaupo joined,
risou is now known as risou_awy
00:50
mcmillhj left
|
|||
IOninja | :O | 00:53 | |
* :o | |||
Well, I know how many I got... 0 | |||
elaADnlxie | 153 people didn't unwatch the repo yet, so… | 00:54 | |
m: say 12 × 153 × 2 | |||
camelia | 3672 | ||
IOninja | elaADnlxie++ | 00:55 | |
I could use some of that hacking juice you're sipping on tonight :) | 00:56 | ||
Yeah, but I never receive any email from GitHub... | |||
Is receiving it the default? | |||
elaADnlxie | I think so | ||
00:56
dct left
|
|||
elaADnlxie | when you press the watch button | 00:56 | |
though when you create a new repo in perl6 org, all members are subscribed automatically | 00:57 | ||
00:58
bjz left
|
|||
elaADnlxie | IOninja: well, most of these changes were done during my rides in a bus (usually in a standing position, because people will only start to care about me when I get old…), not tonight :) | 01:00 | |
IOninja | Standing position?... | 01:09 | |
Now I'm unsure whether to be more or less impressed... | |||
01:10
andrzejku left,
mcmillhj joined
|
|||
elaADnlxie | yea, I push the laptop with my palms against the lower part of my belly | 01:11 | |
this way I can type with both hands and still hold the laptop | |||
IOninja | 0.o | ||
elaADnlxie | oh yeah, skills you learn because using the public transport for ≈40 minute (one way) rides every day :) | 01:12 | |
IOninja | I travel the same amount, but even were I sitting it'd be uncomfortable to type because the laptop would be sliding down my lap... | 01:14 | |
I can't even picture what typing while standing on a bus looks like :D | 01:15 | ||
01:15
mcmillhj left
|
|||
elaADnlxie | I'll try to get a picture one day | 01:15 | |
IOninja | :) | 01:17 | |
llfourn | m: my @a; @a[@a.elems] := "foo" # any better way to bind the last elem of array? | 01:18 | |
camelia | ( no output ) | ||
llfourn | or rather bind to the index after the last element | ||
elaADnlxie | .last ? | 01:19 | |
.tail? | |||
ah… | |||
yea, that's not writable | 01:20 | ||
*-1 is not going to work also… | |||
llfourn | yep :\ | ||
IOninja | How come you need to bind? | 01:21 | |
llfourn | I want to have an array of pointers to scalar variables essentially | 01:22 | |
IOninja | m: my @a; @a[+@a] := "foo"; say @a | ||
camelia | [foo] | ||
IOninja | m: my @a; .[+$_] := "foo" with @a; say @a | ||
camelia | [foo] | ||
llfourn | mm +@a | 01:23 | |
Maybe I can do what I want another way. Just checking to see if there was some way of raw pushing containers. | 01:24 | ||
01:26
mcmillhj joined
|
|||
IOninja | llfourn: does it have to be an Array (as opposed to, say, a List)? | 01:28 | |
m: my $a = "meow"; my $b = "foo"; my @a := $a, $b; @a[0] = 42; @a[1] = "foooooos"; dd [ $a, $b ] | 01:29 | ||
camelia | [42, "foooooos"] | ||
llfourn | yes, this is a mutable array of variable containers :P | ||
IOninja | ok :) | ||
01:31
mcmillhj left
|
|||
IOninja | m: my $a = "meow"; my $b = "foo"; sub infix:<♥> (\a, +b) is assoc('list') { a[+a] := $_ for b }; my @a; @a♥$a♥$b; @a[0] = 42; @a[1] = "foooooos"; dd [ $a, $b ] | 01:31 | |
camelia | [42, "foooooos"] | ||
IOninja | hehe :) | ||
Love solves everything! | 01:32 | ||
llfourn | nice <3 | 01:34 | |
01:38
kurahaupo left
|
|||
elaADnlxie | IOninja: no. Proof: github.com/Love | 01:42 | |
BenGoldberg | Clearly, love needs love. | 01:43 | |
IOninja | elaADnlxie++ hah | ||
BenGoldberg | Not to mention, love cannot solve the halting problem. | ||
BenGoldberg thinks that's because love is eternal, and as a result, the halting problem is outside of it's problem domain. | 01:45 | ||
01:47
mcmillhj joined
|
|||
elaADnlxie | excuses, excuses… | 01:47 | |
01:52
mcmillhj left
01:55
pyrimidine joined
01:57
lukaramu_ left
02:18
kalkin- left
02:19
kalkin- joined
|
|||
BenGoldberg | m: my $foo = 32; dd callframe(0) | 02:19 | |
camelia | CallFrame.new(annotations => {:file("<tmp>"), :line("1")}, my => {"!UNIT_MARKER" => !UNIT_MARKER, "\$!" => Nil, "\$/" => Nil, "\$=finish" => Mu, "\$=pod" => [], "\$?PACKAGE" => GLOBAL, "\$_" => Any, "\$foo" => 32, "\$¢" => Nil, "::?PACKAGE" => GLOBAL, :… | ||
BenGoldberg | m: my \foo = 32; dd callframe(0) | 02:20 | |
camelia | CallFrame.new(annotations => {:file("<tmp>"), :line("1")}, my => {"!UNIT_MARKER" => !UNIT_MARKER, "\$!" => Nil, "\$/" => Nil, "\$=finish" => Mu, "\$=pod" => [], "\$?PACKAGE" => GLOBAL, "\$_" => Any, "\$¢" => Nil, "::?PACKAGE" => GLOBAL, :EXPORT(EXPORT),… | ||
BenGoldberg | m: my $foo = 32; dd callframe(0).my | ||
camelia | {"!UNIT_MARKER" => !UNIT_MARKER, "\$!" => Nil, "\$/" => Nil, "\$=finish" => Mu, "\$=pod" => [], "\$?PACKAGE" => GLOBAL, "\$_" => Any, "\$foo" => 32, "\$¢" => Nil, "::?PACKAGE" => GLOBAL, :EXPORT(EXPORT), :GLOBALish(GLOBAL)} | ||
BenGoldberg | m: my \foo = 32; dd callframe(0).my | ||
camelia | {"!UNIT_MARKER" => !UNIT_MARKER, "\$!" => Nil, "\$/" => Nil, "\$=finish" => Mu, "\$=pod" => [], "\$?PACKAGE" => GLOBAL, "\$_" => Any, "\$¢" => Nil, "::?PACKAGE" => GLOBAL, :EXPORT(EXPORT), :GLOBALish(GLOBAL), :foo(Mu)} | ||
BenGoldberg | I kinda sort understand why, in the \foo example, it shows up in the hash as :foo(Mu) ... but it's a bit annoying in a way, too. | 02:22 | |
BenGoldberg wonders why there is a class named '!UNIT_MARKER'. Is it named that purely to make it hard to fiddle with? | 02:25 | ||
MasterDuke | it's some sort of magic, but gets the name '!CORE_MARKER' if compiling rakudo | 02:29 | |
BenGoldberg | m: my \foo = 32; say callframe(0).my.grep: /foo/ | 02:37 | |
camelia | (foo => 32) | ||
BenGoldberg wonders where the Mu went. | |||
02:41
mcsnolte left
|
|||
BenGoldberg | Does anyone know if there's any difference between calling .^methods on a class object vs an instance of the same? | 02:48 | |
Str.^methods vs "foo".^methods? | |||
02:50
benchable6 left,
unicodable6 left,
evalable6 left,
statisfiable6 left,
committable6 left,
bisectable6 left
|
|||
elaADnlxie | m: say ("foo" but role { method pewpew {} }).^methods | 02:51 | |
camelia | (pewpew subst word-by-word tc perl comb ends-with ACCEPTS samespace wordcase indent Numeric index trim-trailing trans codes ord Str split pred ords lc fc NFC indices chars Stringy trim-leading NFD rindex samemark trim NFKC WHY gist starts-with tclc subst… | ||
elaADnlxie | BenGoldberg: do you count this as an instance of the same? ;) | ||
BenGoldberg | No, because: | ||
m: say ("foo" but role { method pewpew {} }).WHAT | 02:52 | ||
camelia | (Str+{<anon|30686304>}) | ||
BenGoldberg | m: say ("foo" but role { method pewpew {} }).WHAT === Str | ||
camelia | False | ||
elaADnlxie | m: say ("foo" but role { method pewpew {} }).WHAT ~~ Str | 02:53 | |
camelia | True | ||
llfourn | m: my $i = 2; $_ = " foo"; s/^\s ** $i//; .say # any way to quantify with a var? | 02:55 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Quantifier quantifies nothing at <tmp>:1 ------> 3my $i = 2; $_ = " foo"; s/^\s **7⏏5 $i//; .say # any way to quantify with a |
||
elaADnlxie | m: my $i = 2; $_ = " foo"; s/^\s ** {$i}//; .say | ||
camelia | foo | ||
llfourn | thx nice one | 02:56 | |
02:57
cdg joined
03:10
risou_awy is now known as risou
03:15
astj joined
03:18
noganex_ joined
03:20
astj left
03:21
noganex left
03:33
pyrimidi_ joined,
pyrimidine left
03:34
Todd joined
|
|||
Todd | need help with zef | 03:34 | |
yoleaux | 2 Mar 2017 09:33Z <IOninja> Todd: Inline::Perl5 is a Perl 6 module; you install it with `zef install Inline::Perl5` not cpan; it doesn't create "inline" files on your filesystem but installs precompiled units in CUR, so check it's installed with `perl6 -MInline::Perl5`, not grepping your system for files | ||
03:35
jeffythedragonsl joined
|
|||
Todd | cd Inline-Perl5 | 03:35 | |
zef install . | |||
... Can't locate ExtUtils/Embed.pm in @INC | |||
What next? | |||
dj_goku | Todd: why not just do: zef install Inline::Perl5 ? | 03:36 | |
03:36
evalable6 joined,
unicodable6 joined,
committable6 joined,
ChanServ sets mode: +v evalable6,
ChanServ sets mode: +v unicodable6,
ChanServ sets mode: +v committable6,
bisectable6 joined,
ChanServ sets mode: +v bisectable6,
benchable6 joined,
ChanServ sets mode: +v benchable6,
statisfiable6 joined,
ChanServ sets mode: +v statisfiable6
|
|||
Todd | Too many errors | 03:37 | |
What I did was: git clone github.com/niner/Inline-Perl5.git | |||
dj_goku | really I just installed it fine. | ||
Todd | hen I cd's into the directory | ||
dj_goku | what version of perl6 are you on? | ||
perl6 -v | 03:38 | ||
Todd | # rpm -qa rak\* | ||
rakudo-star-0.0.2016.11-1.fc25.x86_64 | |||
# perl6 --version | |||
This is Rakudo version 2016.11 built on MoarVM version 2016.11 implementing Perl 6.c. | |||
dj_goku | have you tried upgrading? | ||
Todd: I would recommend: github.com/tadzik/rakudobrew | 03:39 | ||
Todd | dnf upgrade rakudo-star and there is a new one! Installing right now | ||
# rpm -qa rak\* | 03:40 | ||
rakudo-star-0.0.2017.01-1.fc25.x86_64 | |||
03:40
wamba joined
|
|||
Todd | I am re-zef'ing | 03:40 | |
Can't locate ExtUtils/Embed.pm in @INC | 03:41 | ||
no symptom change. Rats. What now? | |||
MasterDuke | do you have that Perl 5 module installed? | ||
Todd | no. installing right now | 03:42 | |
MasterDuke | doesn't redhat break up perl5 into two packages? core one that's almost entirely useless and another one you need to get a functional perl 5? | 03:43 | |
03:43
jeffythedragonsl left
|
|||
Todd | rezeffing | 03:43 | |
===> Testing [FAIL]: LibraryMake:ver('1.0.0'):auth('github:retupmoca') Aborting due to test failure: LibraryMake:ver('1.0.0'):auth('github:retupmoca') (use --force to override) | 03:44 | ||
Should I use --force? | |||
uh oh. I have to leave for 30 minutes to handle a family matter. I will leave channel open. Thank yo all for hte help so far. Little by little! | 03:46 | ||
03:48
jeffythedragonsl joined
|
|||
jeffythedragonsl | Hey | 03:49 | |
dj_goku | MasterDuke: no idea, but this is one reason why I use perlbrew to also install perl5 so I don't have to depend on the system perl. | ||
03:49
risou is now known as risou_awy
|
|||
jeffythedragonsl | So I saw the grant to work on IO... and was wondering how hard it is to get one | 03:49 | |
03:51
jeffythedragonsl left
03:52
jeffythedragonsl joined
|
|||
MasterDuke | dj_goku: i don't use perl5 much on my home machine, so i've been fine just using whatever arch provides | 03:52 | |
dj_goku | ahh, I haven't needed to in awhile either, but really like I can use perl/rakudo(brew) to install in my home directory | 03:53 | |
MasterDuke | jeffythedragonsl: samcv has a grant proposal she's going to make this month, her and IOninja are the two most recent people to apply for Perl 6 stuff i believe | 03:54 | |
jeffythedragonsl | I mean who do they give grants to | 03:55 | |
How do they decide what needs to be done | 03:56 | ||
MasterDuke | that i don't know. but i think lizmat is on the grant board. and [Coke] is also involved somehow. i guess ask them? | 03:57 | |
jeffythedragonsl | I don't think I have the time or knowledge to be any big help, other than writing new scripts in p6 | 03:58 | |
But that is all very interesting | 04:00 | ||
MasterDuke | i can't speak to time, but i don't think you don't need all that much knowledge to start contributing | 04:04 | |
elaADnlxie | don't they have some problem with the lack of money right now? | 04:06 | |
anyway, here's a WAT | 04:07 | ||
m: my regex meh($t) { xy }; say 'xy' ~~ /^ <meh(42)> $/ | |||
camelia | 「xy」 meh => 「xy」 |
||
elaADnlxie | m: my regex meh($t) { xy }; say 'ab' ~~ /^ <meh(42)> $/ | ||
camelia | Nil | ||
04:07
jeffythedragonsl left
|
|||
elaADnlxie | m: my regex meh($t) { .. }; say 'xy' ~~ /^ <meh(42)> $/ | 04:07 | |
camelia | 「xy」 meh => 「xy」 |
||
elaADnlxie | m: my regex meh($t) { .. }; say 'xyz' ~~ /^ <meh(42)> $/ | ||
camelia | Too few positionals passed; expected 2 arguments but got 1 in regex meh at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
elaADnlxie | WAT? | 04:08 | |
MasterDuke | elaADnlxie: it depends on having a parameter in the signature | 04:09 | |
m: my regex meh() { .. }; say 'xyz' ~~ /^ <meh()> $/ | |||
camelia | Nil | ||
elaADnlxie | I'll rakudobug this before I go to bed, I guess… but I find this hard to explain | 04:10 | |
04:12
bjz joined
|
|||
Todd | I am back. I am trying --force to see what happens | 04:23 | |
perl6 -MInline::Perl5 | 04:25 | ||
gave me somethign weird | |||
You may want to `zef install Readline` or `zef install Linenoise` or use rlwrap for a line editor | |||
elaADnlxie | OK, RT #130910 | 04:26 | |
night | |||
04:26
sammers left
04:27
ZzZombo left
04:30
ZzZombo joined,
ZzZombo left,
ZzZombo joined
|
|||
dj_goku | Todd: did you look at rakudobrew by chance? | 04:30 | |
Todd | would someone throw a "perl -e -MInline::Perl5 'do something in perl 5'" for me to test if --force worked? | ||
04:33
elaADnlxie left
|
|||
dj_goku | Todd: I would recommend using rakudobrew vs your os package manager: github.com/tadzik/rakudobrew | 04:33 | |
Todd | I am looking at rakudo.org/how-to-get-rakudo/#Insta...Rakudobrew | 04:34 | |
that the best place? | |||
dj_goku | did you not see the link I posted? | ||
github.com/tadzik/rakudobrew | |||
Todd | yes I missed that. What will rakudobrew do for me? | 04:35 | |
dj_goku | Todd: hopefully circumvent all the problems you are currently having. | 04:36 | |
:D | |||
Todd | by? | ||
dj_goku | no using your os package manager? or OSes perl? | 04:37 | |
not using* | |||
Todd | on other packages where I have had to do that, such as Wine-Staging, it wa a total pain in the *** to hunt down and find all the OS's packages. The "rom-e" missing some things and leaves others in tact. So yo wind up with fractons of one versinos conflicting with the new version you install manually (make install", especially since the manual method always uses different paths (/opt vs /usr/bin vs /usr/share/bin) that it can be a bit of | 04:40 | |
So, unless force to, I have to stick with the OS's package manager (dnf). | 04:41 | ||
dj_goku | Todd: rakudobrew is self-contained to ~/.rakudobrew you delete that directory and you no longer have rakudobrew | ||
Todd | Oh I made a lot of typos in that, i hope everyone can still understand it | ||
dj_goku | I have no experience with redhat so either you try rakudobrew and I can help or you are on your own and hopefully someone else here can help you. | 04:42 | |
Todd | I think I still don't understand how it works | 04:44 | |
04:44
bjz left
|
|||
dj_goku | Todd: you clone rakudobrew repo, you export the PATH, run the command rakudobrew init, then you run rakudobrew build moar to install moarvm then you run, rakudobrew build-zef, then you'll run zef install Inline::Perl6 | 04:46 | |
just follow the installation instructions on the rakudobrew page | |||
Todd: after all that you have perl6 moarvm and you can start playing with perl6 instead of trying to figure out your operating system. | 04:48 | ||
Todd | implementing suggestin right now | ||
It is running. I thing INline ihas already been installed. "perl6 -c" is no longer throwing errors on it | 04:50 | ||
rakudobrew build moar | |||
Configuration FAIL. | 04:51 | ||
# rakudobrew build-zef rakudobrew: No version set. | |||
dj_goku | can you post the log to a pastebin? | ||
Todd | how do I do that? | 04:54 | |
dj_goku | pastebin.com | ||
04:57
Cabanoss- joined
|
|||
Todd | I just ran the test from github.com/niner/Inline-Perl5 | 04:57 | |
dj_goku | so did you get rakudobrew installed? | 04:58 | |
Todd | And although it could not conenct to the database, it did show that the Inline module was working. So for now, I am happy. | ||
05:00
Cabanossi left,
Cabanoss- is now known as Cabanossi
05:02
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
05:04
agentzh left
05:08
eroux joined,
cdg left,
BenGoldberg left
|
|||
Todd | use Inline::Perl5; | 05:09 | |
use Term::ANSIColor:from<Perl5>; | |||
print ( Term::ANSIColor::RED ~ "Red\n" ); | 05:10 | ||
Could not find symbol '&RED' | |||
How do I use the Constant from Perl5 here? | |||
05:12
eroux left
05:13
khw left
05:15
cdg joined
05:17
cdg left
|
|||
samcv | well there is a Terminal::ANSIColor plugin native perl 6 | 05:20 | |
not sure about constants | |||
Todd | Acutally, I was looking for a demonstration for my keepers file of how to use inline | 05:21 | |
samcv | ah | 05:22 | |
Todd | This worked: | 05:24 | |
use Inline::Perl5; my $i = Inline::Perl5.new; print ( $i.call( 'Term::ANSIColor::RED' ) ~ "Red\n" ~ $i.call( 'Term::ANSIColor::RESET' ) ); | |||
05:24
pyrimidi_ left
05:25
pyrimidine joined
|
|||
Todd | Still not understanding why | 05:28 | |
use Term::ANSIColor:from<Perl5>; | |||
05:28
agentzh joined
|
|||
Todd | doesn't work | 05:28 | |
signing out for the night, I hope. Thank you all for the help! | 05:34 | ||
05:34
Todd left
05:44
jsoo joined
05:46
jsoo left
|
|||
ZzZombo | m: use Inline::Perl5;use Term::ANSIColor:from<Perl5>;say Term::ANSIColor::RED ~ 'NYA'; | 05:58 | |
camelia | 5===SORRY!5=== Error while compiling /home/camelia/site#sources/FC133D3E7EC3B0CBE238C296893894C9AB745A05 (Inline::Perl5) An exception occurred while evaluating a constant at /home/camelia/site#sources/FC133D3E7EC3B0CBE238C296893894C9AB745A05 (Inl… |
||
ZzZombo | m: use Inline::Perl5;use Term::ANSIColor:from<Perl5>;say Term::ANSIColor::RED,'NYA'; | 05:59 | |
camelia | 5===SORRY!5=== Error while compiling /home/camelia/site#sources/FC133D3E7EC3B0CBE238C296893894C9AB745A05 (Inline::Perl5) An exception occurred while evaluating a constant at /home/camelia/site#sources/FC133D3E7EC3B0CBE238C296893894C9AB745A05 (Inl… |
||
06:00
rurban joined,
rurban left
06:05
bjz_ joined
|
|||
TimToady | probably needs Term::ANSIColor::Red() up there | 06:06 | |
06:15
astj joined
06:19
astj left
06:25
geekosaur left
06:26
geekosaur joined
|
|||
moritz | good morning | 06:29 | |
sjn | good *, moritz & #perl6 :) | 06:30 | |
masak | morning | 06:42 | |
it's time to name another type of joke. naming suggestions welcome. | |||
I will provide two examples of the type of joke: | |||
"Never let your sense of morals prevent you from doing what’s right." -- Isaac Asimov | |||
"Never let school get in the way of getting a good education." -- (who?) | 06:43 | ||
feels like the latter would be Mark Twain or Ambrose Bierce | 06:46 | ||
wow, Rob Pike got the question on a /. AMA 'Given the nature of current operating systems and applications, do you think the idea of "one tool doing one job well" has been abandoned?' | 06:49 | ||
and he replied 'Those days are dead and gone and the eulogy was delivered by Perl.' | 06:50 | ||
jeek | Those days are dead and gone and the eulogy was delivered by Perl. | 06:55 | |
Rob Pike (2004) in interview at slashdot.com, Oct 18 2004 | |||
masak | yep | ||
haven't thought of it that way, that Perl killed off the "one tool for one job" idea | |||
I wonder if Emacs could be said to have done the same thing? | 06:56 | ||
07:06
mcmillhj joined
07:11
mcmillhj left
|
|||
samcv | morning/night/etc everyone | 07:16 | |
07:17
darutoko joined
|
|||
Woodi_ | hallo #perl6 :) | 07:19 | |
07:20
rurban joined
|
|||
samcv | hi Woodi_ | 07:20 | |
07:22
mcmillhj joined
|
|||
Woodi_ | re one tool - one job and Perl: there is some truth in this but also such simplicity is irreplecable. just rality work that way, we sometimes need small hammer and sometimes pnumatic press | 07:23 | |
that's why multituls didn't replaced specialized tools :) | |||
TimToady | well, Perl was intended to be more like a machine shop anyway | 07:25 | |
Woodi_ | *multitools. but having such device all the time on you is great time saver :) also almoust any answer can work in 80% of cases... just in ~5% you create mortal enemy for yourself :) | ||
07:27
cibs left
|
|||
Woodi_ | btw. we live in Unix parts replacement times :) systemd, C under attack... | 07:29 | |
Perl6 ? ;) | |||
07:29
mcmillhj left,
cibs joined
07:31
CIAvash joined
|
|||
nine | moritz: not yet | 07:37 | |
07:38
robertle joined
|
|||
Woodi_ | masak: "never good jokes" ? ;) problem is that morals can be ill-formed or what's-right be disinformed... | 07:39 | |
nine | moritz: though experience with Perl 5's Inline::Python shows that it'd be relatively simple to add. The differences on the C side are quite limited. | 07:43 | |
TimToady | masak: maybe something like 'territory map' jokes, where the funny comes "the territory is not the territory, because you forgot that your territory is just a map' | 07:44 | |
07:45
LeCamarade left
07:46
LeCamarade joined
07:49
rindolf joined,
llfourn left
07:50
RabidGravy joined
|
|||
TimToady | so they're re-map-mapping or map-remapping jokes, if you want a self-referential meta definition :) | 07:51 | |
or maybe just 'remapping' jokes for short | |||
both in the sense of re-installing the map to the territory, and also in the sense of changing the denotations to the connotations of the words involved | 07:53 | ||
sjn | masak: maybe "system vs. reality" jokes? | ||
TimToady | *changing the mapping of the | ||
sjn | or plan vs. reality, if one thinks of the military | ||
TimToady | that's kind of what I was getting at, with the addition that the system has to be moved from being perceived as accurate to faulty | 07:55 | |
sjn | yep. :) | ||
TimToady | and part of the funniness comes from doing the redefinition retroactively | 07:56 | |
sjn thinks about that joke where a military vessel harshly orders a lighthouse to move away from it's course :) | 07:57 | ||
TimToady | so they're really in the category of garden path sentences | ||
or, to use a self-descriptive phrase, they're garden pathological. :) | 07:58 | ||
08:04
mcmillhj joined
08:09
mcmillhj left
|
|||
RabidGravy | boo! | 08:13 | |
08:16
dha joined
08:17
rurban left
|
|||
RabidGravy | there isn't any way to parameterise a class definition like "class Foo[something] { ... }" is there? | 08:22 | |
the grammar seems to suggest not | 08:23 | ||
there's no particular technical reason why I want to do it, it's more an aesthetic thing | 08:26 | ||
Woodi_ | RabidGravy: what "something" caould be ? a type ? | ||
*could | 08:27 | ||
RabidGravy | a type (or types in my actual case,) but anything that you can have with a parameterised role for example | 08:28 | |
08:30
llfourn joined
08:34
titsuki left
08:35
risou_awy is now known as risou
|
|||
Woodi_ | m: use MONKEY-SEE-NO-EVAL; sub c(Str $s) { my $t = 'class Foo { has TMPL $!f }';$t ~~ s/TMPL/$s/; say $t; return EVAL $t }; c("Int"); | 08:40 | |
camelia | class Foo { has Int $!f } | ||
08:41
mcmillhj joined
|
|||
RabidGravy | :-\ | 08:44 | |
08:44
bjz joined
08:45
bjz_ left,
cibs left
08:46
mcmillhj left,
jiang joined
08:47
cibs joined
|
|||
Woodi_ | RabidGravy: I bet slang doing what you want will be doing such evals :) | 08:48 | |
08:52
risou is now known as risou_awy
08:56
Todd joined
|
|||
Todd | Hi All, question on Inline::Perl5's "run" feature. how do I get my Perl 6 variable inside of a "run"? | 08:57 | |
RabidGravy | you know that the TODO list is going out of control when you look at your browser tabs, wonder why you have some open, and remember the code you started implementing something | ||
Todd | #!/usr/bin/perl6 | 08:58 | |
use Inline::Perl5; | |||
my $p6str = "string from Perl 6"; | |||
my $perl5 = Inline::Perl5.new(); | |||
$perl5.run(' print $p6str . "\n\n"; '); | |||
$p6str prit out empty | 08:59 | ||
RabidGravy | well yes | ||
the simplest way would be to interpolate | |||
Todd | What does that mean? | 09:00 | |
RabidGravy | $perl5.run(qq{ print $p6str . "\n\n";}'); | ||
Todd | here is the example I was looking at: gist.github.com/araraloren/b33529c...236d9b6c7c | ||
I will try the qq{} | |||
RabidGravy | (other alternative quoting mechanisms are available) | 09:01 | |
Todd | Number found where operator expected at (eval 7) line 1, near "Perl 6" (Do you need to predeclare Perl?) | ||
qq{} did not work. | 09:02 | ||
RabidGravy | yes it did | ||
you just need more double quotes | 09:03 | ||
that is a perl 5 error | |||
09:04
cyphase left
|
|||
Todd | where? | 09:04 | |
RabidGravy | $perl5.run(qq{ print "$p6str \n\n";}') | ||
Todd | $perl5.run(qq{ print $p6str . "\n\n"; }); | ||
araraloren | '' not support interpolate | ||
RabidGravy | yes | ||
the value of $p6str needs to be quoted | 09:05 | ||
Todd | $perl5.run(qq{ print "$p6str\n\n"; }); | ||
araraloren | m: my $p6str = "123"; "print $p6str \n\n".say | ||
camelia | print 123 |
||
Todd | worked. I get it. It thinks $p6str is a function if I don't | 09:06 | |
araraloren | m: my $p6str = "123"; 'print $p6str \n\n'.say; qq{print "$p6str\n\n"}.say | ||
camelia | print $p6str \n\n print "123 " |
||
09:06
FROGGS joined
|
|||
Todd | thank you!!! | 09:07 | |
araraloren | maybe you should refer this, learnxinyminutes.com/docs/perl6/ | 09:08 | |
Todd | I have that one. Thank you! | 09:09 | |
09:09
cyphase joined,
cyphase left
09:10
cyphase joined
|
|||
Todd | Got another Inline::Perl5 question | 09:12 | |
#!/usr/bin/perl6 | |||
use Inline::Perl5; use Term::ANSIColor:from<Perl5>; | 09:13 | ||
my $Red = Term::ANSIColor.RED; my $Reset = Term::ANSIColor.RESET; | |||
print ( $Red ~ "--Red--" ~ $Reset ~ "\n\n" ); | |||
09:13
dha left
09:14
dha joined
|
|||
Todd | the print out is indeed red, but it prints out the words "Term::ANSIColor" as well as accepting the color command. Same thing on reset too | 09:14 | |
Term::ANSIColor--Red--Term::ANSIColor | 09:16 | ||
it is red up to and including the second set of -- | 09:17 | ||
09:18
integral_ is now known as integral,
dha left
|
|||
Todd | that learn in minutes is sweet! | 09:25 | |
09:25
n1ce left
09:26
n1ce joined
09:29
pyrimidine left
09:30
pyrimidine joined
09:34
CIAvash left
09:36
risou_awy is now known as risou
09:41
bjz left
|
|||
RabidGravy | Todd, for reference there is actually a Perl 6 Term::ANSIColor (and a Terminal::ANSIColor - what's all that about?) | 09:44 | |
09:44
Actualeyes joined
|
|||
RabidGravy has another go at making a binding to poll(2) work | 09:47 | ||
Todd | Oh I do know and use it a lot. What I am doing is creating a sample program showing several different ways of doing Inline::perl5 for my internal use. The idea is to be able to reference it when I forget how to use it | ||
RabidGravy | right | ||
Todd | I was basically looking for things I knew where Perl 5 only | 09:48 | |
09:49
bjz joined
|
|||
Todd | This is all leading up to me writing a sub to collect up two log fiels, place them into a tar ball, then attach them to an eMail with Perl 5's eMail::Simple | 09:50 | |
No such critter exist for Perl6 yet | |||
I will probably hammer away using Inline::Perl5's "run" module with qq{} | 09:51 | ||
timotimo | but why? | ||
Todd | And, believe me, I'd rather be done with Perl 5 for good. the @_ metod of pasing variables to subs drives me nuts. I is like a high level language suddenly decided to inject some assembly code. I am writing in a High level language for a reason! | 09:52 | |
09:53
risou is now known as risou_awy
|
|||
timotimo | but still, why use "run"? | 09:57 | |
09:58
jiang left
|
|||
Todd | because I can code the whole thing in p5 inside the run. Take a look over at gist.github.com/araraloren/b33529c...236d9b6c7c | 09:58 | |
RabidGravy | there is an Email::Simple for Perl 6 | 09:59 | |
Todd | lines 86 to 156 | ||
RabidGravy | it may need some love but it definitely exists | ||
Todd | It doesn't take attachments at this time . Sniffle! | 10:00 | |
And I am not up to MIME::Base64 | |||
RabidGravy | well it's open source and everything, I'm sure it can be fixed to do that | ||
10:01
araraloren left
|
|||
Todd | I am no wher near capable of doing that, so i have to rely on the kindness of other fars better than I | 10:01 | |
and Inline::Perl5 Sniffle! | |||
10:02
araraloren joined
10:09
parv joined
|
|||
Todd | Got to call it a night. Thank you all for the help! | 10:09 | |
10:10
Actualeyes left
|
|||
RabidGravy | anyone got a clue as to why gist.github.com/jonathanstowe/98ea...738bd79577 segfaults? Total mystery to me, everything seems to be the right size | 10:10 | |
10:10
wamba left
|
|||
Todd | I posted the last question over on the mailing list if anyone figures out the answer | 10:10 | |
10:10
Todd left
|
|||
timotimo | what actually happens when we have "is rw" on a CArray parameter? | 10:11 | |
RabidGravy | dunno, but that doesn't actually make any difference | 10:12 | |
timotimo | OK | ||
RabidGravy | the poll call writes into the structs in the array | ||
so in theory it should set revents | 10:13 | ||
but it seems to mangle the array | |||
timotimo | it's crashing while it's trying to get an int value out of a CStruct | ||
RabidGravy | yes | 10:14 | |
timotimo | need a less optimized moar | 10:15 | |
10:15
mawkish_ joined
|
|||
RabidGravy | the array element is defined (and is a PollFD) after the call but it broken | 10:15 | |
timotimo | wait | 10:16 | |
what does poll expect the array to look like? | |||
RabidGravy | oh yes | 10:17 | |
it's a flat array isn't it, not an array of pointers | |||
boo | |||
timotimo | NativeCall doesn't have flat arrays yet | ||
not without doing magic with nativecast | 10:18 | ||
RabidGravy | yeah, this is me being stupid and reading the C signature wrong | ||
didn't sortiz do something around this? | 10:21 | ||
10:21
llfourn left
|
|||
timotimo | we have a module, yeah | 10:22 | |
RabidGravy | github.com/salortiz/NativeHelpers-...Struct.pm6 ? | 10:24 | |
timotimo | i think that's the one | 10:25 | |
10:31
Actualeyes joined
10:35
cyphase left
10:36
cyphase joined
10:37
llfourn joined,
risou_awy is now known as risou
|
|||
RabidGravy | wahay! | 10:38 | |
IT LIVES! | |||
10:42
obfusk left,
obfusk joined
|
|||
RabidGravy | there gist.github.com/jonathanstowe/98ea...738bd79577 | 10:44 | |
timotimo | mhm | ||
sjn | \o | 10:48 | |
quick question: how does one introspect slangs? (e.g. the quoting sub-language, to find out which characters can be used to quote stuff)? | 10:49 | ||
timotimo | there's no unified API for that purpose, i don't think? | 10:51 | |
llfourn | the only thing you could do is ask it what methods it has in it | ||
sjn | Well, TimToady's example used $?LANG.grammar.^methods | ||
but that was for methods in general | |||
llfourn | (where's this example?) | 10:52 | |
sjn | something similar for quoting constructs would be brillint | ||
llfourn: ah, I asked this question here a few days ago | |||
llfourn | oh ok. I thought there might be some blog post on what's happening in slangs. | ||
IOninja | .tell Todd what sort of perl5 you got installed? ExtUtils::Embed was part of it since 5.003007, so it's very strange it can't find it. FWIW, I never had problems with perlbrewed one `\curl -L install.perlbrew.pl | bash; echo 'source ~/perl5/perlbrew/etc/bashrc' >> ~/.bashrc; perlbrew install perl-stable -Duseshrplib -Dusemultiplicity; perlbrew switch perl-stable; perlbrew install-cpanm` | 10:53 | |
yoleaux | IOninja: I'll pass your message to Todd. | ||
10:53
geekosaur left
10:54
risou is now known as risou_awy
10:55
geekosaur joined
|
|||
sjn | m: $/.Str.say when /^ < pre in post circum> fix ":sym" <( .* / for $?LANG.grammar.^methods».name | 10:55 | |
camelia | <lambda> <STATEMENT_LIST( )> <( )> <[ ]> <ang> «<< >>» <« »> <{ }> <i> <++> <--> <++> <--> <ⁿ> «->» <**> <+> <~~> <~> <-> <−> <??> <?> <!> <|> <+^> <~^> <?^> <^^> <^> <*> <×> </>… |
||
sjn | llfourn: ^ | ||
IOninja | .tell dj_goku by default rakudobrew uses whatever random dev commit happened to be HEAD and has several quirks (such as having to run rehash to after install of binaries). Recommending it over properly tested and prepared releases to anyone who walks by is probably not a good idea. | 10:56 | |
yoleaux | IOninja: I'll pass your message to dj_goku. | ||
llfourn | sjn: heh nice | ||
10:57
domidumont joined
|
|||
IOninja | .tell jeffythedragonsl RE how hard is it to get a grant: the process involves community feedback and committee voting, with two major questions: (1) is the work needs doing; and (2) can this person do it well. They don't charge you for applying, so you can always try, but IMO your chances of succeeding dramatically increase if you can point at a pile of commits you've already contributed, to show what your | 11:00 | |
yoleaux | IOninja: I'll pass your message to jeffythedragonsl. | ||
11:00
Sound joined
|
|||
IOninja | work looks like. | 11:00 | |
11:00
ZzZombo_ joined,
ZzZombo is now known as Guest38938
11:01
ZzZombo_ left,
ZzZombo_ joined,
ZzZombo_ is now known as ZzZombo,
laouji joined
|
|||
IOninja | .tell jeffythedragonsl work looks like. | 11:01 | |
yoleaux | IOninja: I'll pass your message to jeffythedragonsl. | ||
11:01
Guest38938 left,
araraloren left
11:03
ZzZombo_ joined,
ZzZombo is now known as Guest15702,
domidumont left,
ZzZombo_ left,
ZzZombo_ joined,
ZzZombo_ is now known as ZzZombo
|
|||
IOninja | I came up with "Recommended Practices" tidbit while sleeping, if anyone's keeping track of them: always use sigils with your constants | 11:03 | |
11:04
domidumont joined
|
|||
IOninja | Because there's an abiguity between constants and sub calls that don't use parens and constants win. | 11:04 | |
m: sub foo { say "hi" }; foo | |||
camelia | hi | ||
IOninja | ^ normal working code; | ||
m: constant foo = 'lulz fail'; sub foo { say "hi" }; foo | |||
camelia | WARNINGS for <tmp>: Useless use of constant value foo in sink context (line 1) |
||
11:04
pmurias joined
|
|||
IOninja | ^ some sigiless constant that made way into your code | 11:04 | |
And broke it | |||
m: constant $foo = 'lulz fail'; sub foo { say $foo }; foo | 11:05 | ||
camelia | lulz fail | ||
IOninja | All's well | ||
11:05
pyrimidine left
|
|||
llfourn | Agreed. Keep 'em comin'. | 11:06 | |
11:06
Guest15702 left
|
|||
RabidGravy | yeah, at the very least don't export sigil-less constants :) | 11:07 | |
IOninja | Not good enough, unless you also `my` them. | 11:09 | |
echo 'constant foo = "luls fail"' > Foo.pm6; perl6 -I. -MFoo -e 'sub foo { say "hi" }; foo' | |||
Conflict ^ | |||
llfourn | yeah I noticed that the other day | 11:10 | |
IOninja | Well, I guess you can also avoid it by using a `module` or `class`... so yeah. | ||
llfourn | constants go into GLOBAL? | ||
m: constant $foo = "bar"; say GLOBAL::.keys | 11:11 | ||
camelia | ($foo) | ||
llfourn | :\ I'd rather that weren't the case. | ||
IOninja | No, constants are just `our` by default and since there's no package to put them in in that file, the package they use is GLOBAL | ||
It's not as scary as it looks at the first sight :) | |||
RabidGravy | m: class Foo { constant foo = "hshs"; }; say foo | 11:12 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared routine: foo used at line 1 |
||
IOninja | Right. | ||
llfourn | m: unit module Foo; constant foo = "bar"; note GLOBAL::.keys | ||
camelia | (Foo) | ||
llfourn | another reason to use 'module' | 11:13 | |
11:17
bjz left
|
|||
IOninja | m: my \foo = 'lulz fail'; sub foo { say "hi" }; foo | 11:20 | |
camelia | WARNINGS for <tmp>: Useless use of foo symbol in sink context (line 1) |
||
IOninja | Well, I guess it's a useless tidbit, 'cause we also got these things -_- | ||
And the lesson would be to use parentheses with subs, but I won't accept it... | 11:21 | ||
DEATH TO PARENS! | |||
11:21
ZzZombo_ joined,
ZzZombo is now known as Guest93075,
ZzZombo_ is now known as ZzZombo,
ZzZombo left,
ZzZombo joined
|
|||
RabidGravy | dunno, some places a sub invocation with no arguments is clearer to me with parens | 11:24 | |
IOninja | Heathen! | 11:25 | |
11:25
Guest93075 left
|
|||
RabidGravy | :-p | 11:26 | |
right now to turn this poll() malarkey into something that returns a supply that emits whenever the handle is ready | 11:27 | ||
AND THEN MY PLANS FOR WORLD DOMINATION WILL BE COMPLETE | |||
jnthn | RabidGravy: That sounds oddly like something I was doing this week :) | 11:29 | |
RabidGravy | do tell, maybe I don't have to write this after all :) | ||
jnthn | Still a WIP but github.com/jnthn/p6-ssh-libssh | 11:30 | |
11:30
Actualeyes left
|
|||
jnthn | I run the event loop on a single thread, and then stick a Promise/Supply API in front of it that hides all the evil away :) | 11:31 | |
11:32
labster left
|
|||
RabidGravy | I *think* my use is somewhat simpler, that is turning a pg-notifies into a Supply | 11:35 | |
timotimo | mhhh postgres | ||
jnthn | I don't know the pg API well enough to speculate...but hopefully :-) | ||
The libssh binding hasn't been too bad so far | 11:36 | ||
I'd kinda like to add the server parts in | |||
Primarily so I can have self-enclosed tests. | 11:37 | ||
timotimo | suddenly a ssh server that can be used from perl6 | ||
RabidGravy | github.com/jonathanstowe/DBIishX-P...GNotify.pm - but I was having a senior moment with poll the other day | ||
jnthn | timotimo: Yeah, I'm not quite sure what the applications of an SSH server written in Perl 6 would be :P | ||
A client, OTOH, is rather useful :) | 11:38 | ||
timotimo | maybe it's easier than building a server on top of openssl :) | ||
RabidGravy | in the past I've used SSH as an IPC transport, having a server cuts out a whole layer of process | 11:39 | |
timotimo | yeah, though the more processes you have the more fine-grained your failures can be | ||
jnthn | RabidGravy: Hmm, interesting. So it might be worthwhile :) | ||
timotimo | whether that is a good or bad thing is up to you of course | 11:40 | |
jnthn | (Beyond for the testing angle) | ||
11:41
TEttinger left
|
|||
llfourn | m: my @a= 1..3; @a.map: { note $++ }; @a.map: { { note $++; } } # extra curlies clears state variables? | 11:42 | |
camelia | 0 1 2 0 0 0 |
||
RabidGravy | (somewhere I've got some utterly crack-induced code which did remote method calls by sending Storable blobs over ssh) | ||
11:43
Actualeyes joined
|
|||
IOninja | llfourn: something like that. Basically if it weren't like that, then things like, say, sub foo { for ^10 { say $++ } }; would keep incrementing even between calls to &foo | 11:45 | |
sjn | o/ jnthn | ||
jnthn: maybe you can help? I'm trying to find out if it's possible to extract which quoting constructs are legal, through introspection :) | 11:46 | ||
IOninja | m: for ^5 { say $++; for ^3 { say "[" ~ $++ ~ "]" } } | 11:47 | |
camelia | 0 [0] [1] [2] 1 [0] [1] [2] 2 [0] [1] [2] 3 [0] [1] [2] 4 [0] [1] [2] |
||
sjn just looked at the git blame list, and see that TimToady is the right person to ask | |||
IOninja | sjn: I'd say no. | 11:48 | |
llfourn | IOninja: Thanks :) | ||
IOninja | sjn: just looking at a small subset of single and double quotes, they're all kinda hard-coded: github.com/rakudo/rakudo/blob/nom/...3674-L3682 | ||
sjn | yeah, I'm looking at the same spot | 11:49 | |
RabidGravy | Lawks a mercy : gist.github.com/jonathanstowe/06f5...f56a62c75a - I don't know what I was on at the time | ||
IOninja | And all the adverbial quoters are done by mixing in roles | 11:50 | |
sjn | isn't it possible to get the actual code/match/regex/whatever from the token itself? | ||
IOninja tries to find it in src/Perl6 | |||
It's here and surrounding areas: github.com/rakudo/rakudo/blob/nom/....nqp#L5023 | 11:51 | ||
During parsing adverbs are read and then it assembles role combination that can parse the quoting construct. | 11:52 | ||
timotimo | sjn: you can grab the code object, sure, but it's opaque | ||
11:52
drrho_ left
|
|||
IOninja | m: say q look mah, no quoters! | 11:54 | |
camelia | look mah, no quoters! | ||
IOninja giggles | |||
timotimo | what character is that? | 11:56 | |
IOninja | Character? There is no character!: ) | ||
timotimo | u: | ||
unicodable6 | timotimo, U+2063 INVISIBLE SEPARATOR [Cf] () | ||
timotimo | m) | ||
IOninja | aww | ||
timotimo | what fun | 11:57 | |
"I’m very excited to announce that today I’m open-sourcing a tool I’ve been working on for several months at Google. It’s called Bloaty McBloatface, and it lets you explore what’s taking up space in your .o, .a, .so, and executable binary files." | 12:02 | ||
12:03
pyrimidine joined
|
|||
RabidGravy | :) | 12:03 | |
ZZ | 12:05 | ||
timotimo | please press ctrl-c to exit vim. | ||
RabidGravy | :) | 12:08 | |
12:09
parv left
|
|||
RabidGravy | jnthn, on a completely un-related note what was your envisioned end state for Net::Stomp::Server? A fully functional server or a toolkit from which one could be made? | 12:10 | |
12:11
laouji left
12:12
domidumont left
|
|||
jnthn | RabidGravy: More the latter; something that gives you a supply of incoming connections, requests, etc. and lets you specify supplies of notifications which can be sent | 12:12 | |
RabidGravy: Basically, enough that you can write a really simple in-memory message queue in terms of it without much effort | |||
RabidGravy | okay, pretty much what I thought then :) | 12:13 | |
12:13
laouji joined,
sena_kun joined
|
|||
RabidGravy | may have a poke at it later as I have been thinking about the messaging thing recently | 12:14 | |
while I consider whether I can be arsed making the IBM MQ binding (which is more work than I anticipated :) | |||
jnthn | sjn: fwiw, there's plans to regularize the open/close quotes aspect to be Unicode property based: design.perl6.org/v6d.html#Formal_R...2FBrackets | 12:15 | |
RabidGravy | unless of course someone has an implementation of CStructs with shaped array members down the back of the sofa | ||
12:19
zakharyas joined
|
|||
jnthn | Not me, I'm afraid | 12:20 | |
12:20
AJ_ joined
|
|||
jnthn missed CStructs with callbacks in this week... | 12:20 | ||
AJ_ | hello | 12:21 | |
jnthn wanders off for luch | |||
lunch, even :) | |||
12:22
wamba joined
|
|||
sjn | jnthn: ah, cool! | 12:23 | |
timotimo | interesting. bloaty attributes the majority of our memory taken to a compunit "None". perhaps that's 3rdparty stuff that might not have been compiled -g? | ||
sjn | but with "plans", I really shouldn't hold my breath then. :-| | ||
12:24
lep-delete left
|
|||
timotimo | interesting, it also outputs one line with "[None]" after each .c that comes from 3rdparty | 12:24 | |
[None] is at 78.6% VM size, and 89.9% file size | 12:25 | ||
then comes [Other] which is 11% VM, 5.2% file | |||
and then interp.c which is 2.9% vm, 1.4% file | |||
IOninja | AJ_: \o | 12:26 | |
AJ_ | \o | 12:27 | |
12:27
lep-delete joined
12:32
ZzZombo_ joined,
ZzZombo left
12:36
cdg joined
12:38
risou_awy is now known as risou,
vendethiel joined
|
|||
IOninja spots a bug in perl6.fail :( | 12:39 | ||
Security bug :( | 12:40 | ||
12:40
lucasb joined
12:42
zakharyas left
|
|||
IOninja | or maybe with RT's API :/ | 12:43 | |
timotimo | uh oh | ||
lucasb | if the problem is in RT, then it's even more serious :) | 12:44 | |
IOninja | I guess I should hunt down right now :) | 12:45 | |
12:45
Actualeyes left
12:46
lukaramu joined
12:49
titsuki joined
|
|||
MasterDuke | timotimo: i would have guessed that the unicode db would be a decent % | 12:50 | |
12:50
perlawhirl joined
|
|||
perlawhirl | hi perlers | 12:51 | |
how are we all? | 12:52 | ||
IOninja | reat | ||
12:52
AJ_ left
|
|||
sjn | rekt? | 12:52 | |
:) | 12:53 | ||
perlawhirl: ALL IS WELL | |||
:D | |||
perlawhirl | so I wrote a few blog posts... i don't blog. I think about it, but I don't. but i started playing with matplotlib via perl6 and inline::python | ||
the process has been interesting enough for me to write something down... appreciate thoughts | |||
www.0racle.info/articles/matplotlib_in_p6_intro | |||
sena_kun | I've found a duplicate bug in RT, should I report it here? | 12:54 | |
12:54
risou is now known as risou_awy
|
|||
MasterDuke | perlawhirl: "fist few diagrams" | 12:55 | |
perlawhirl | FIST! | ||
ty... fixed | 12:56 | ||
lucasb | sena_kun: which ones? | 12:57 | |
sjn | Is there a way to to list all Unicode characters that have certain properties? | 12:58 | |
sena_kun | lucasb, rt.perl.org/Public/Bug/Display.htm...et-history and rt.perl.org/Public/Bug/Display.htm...et-history seems to report the same cases. | ||
though the old one should be expanded with info about "0x" numbers to be complete | 12:59 | ||
MasterDuke | perlawhirl: "headed of to" | ||
u: help | |||
unicodable6 | MasterDuke, Just type any unicode character or part of a character name. Alternatively, you can also provide a code snippet. # See wiki for more examples: github.com/perl6/whateverable/wiki/Unicodable | ||
MasterDuke | sjn: ^^^ | ||
lucasb | sena_kun: yes, duplicates. some RT admin should merge them | 13:00 | |
interesting that chr() with large numbers changed behavior a few times | |||
IOninja | merged | ||
MasterDuke | u: { .uniprop eq 'Nd' } | ||
13:00
Actualeyes joined
|
|||
sena_kun | IOninja++ | 13:00 | |
perlawhirl | MasterDuke: Thanks | 13:01 | |
unicodable6 | MasterDuke, U+0030 DIGIT ZERO [Nd] (0) | ||
MasterDuke, U+0031 DIGIT ONE [Nd] (1) | |||
MasterDuke, 580 characters in total: gist.github.com/dde3de180647b39976...504618e379 | |||
MasterDuke | sjn: ^^^ | ||
perlawhirl: "sink my teeth in", i would say "into", but that may be a US vs AU thing | 13:02 | ||
13:03
pyrimidine left
|
|||
perlawhirl | MasterDuke: No that's a sleep vs lack-of-sleep thing :D | 13:04 | |
MasterDuke: truth be told, I've already written parts 3 and 4, but clearly need to proof read them a bit more. | 13:05 | ||
thanks again for your grammarly assistance | 13:06 | ||
13:15
laouji left
13:16
laouji joined
|
|||
MasterDuke | perlawhirl: welcome. i was interested, having played around with matplotlib, Perl 5's Chart::Gnuplot, and then Perl 6's SVG::Plot for the *ables. but that little experimentation being the complete extent of my charting/plotting experience | 13:16 | |
13:18
pyrimidine joined
|
|||
moritz | SVG::Plot is really basic | 13:19 | |
13:20
laouji left
13:23
BenGoldberg joined
13:28
laouji joined
|
|||
RabidGravy | riginal exception: | 13:30 | |
Tried to read() on a socket from outside its originating thread | |||
which is kinda special as there ain't no socket in sight | |||
IOninja | Found the bug. It was in perl6.fail's RT module that stored the UserAgent in an attribute and re-used it for all requests and by default it keeps the cookies. So if someone logged in, that UA got the RT login cookie set. Now, even if another user specified bogus password, the RT end point use for credentials validation (which isn't a proper page; just "view ticket #1" sort of page) notices the cookie and | 13:32 | |
clears the user as already logged in under whatever user logged in last. | |||
Man. | |||
Good thing this wasn't a nuclear plant -_- | |||
13:33
lukaramu_ joined
|
|||
IOninja | Not that logged in users can do anything more than mark tickets and commits as reviewed for release ATM :) | 13:36 | |
13:37
lukaramu left
|
|||
moritz | ... then somebody would have been able to mark tickets and commits reviewed for a nuclear power plant :-) | 13:38 | |
13:42
laouji left
|
|||
BenGoldberg | I've got a question about NativeCall: | 13:55 | |
13:56
pyrimidine left,
pyrimidine joined
|
|||
BenGoldberg | There's a C API function which wants to take a callback function, it's proto is something like void registercb(int (*usercb)(char **important, void *userdata), void *userdata); | 13:57 | |
When usercb is called, important will be a NULL terminated array of strings. | |||
13:58
ZzZombo joined,
ZzZombo left,
ZzZombo joined
13:59
domidumont joined
|
|||
BenGoldberg | Should I expect sub registercb( &callback (Str @important, Pointer), Pointer ) is native(...) {}; to "just work" ? | 13:59 | |
13:59
ZzZombo_ left
|
|||
BenGoldberg | (Pretend I had the appropriate --> int32 in there) | 14:01 | |
14:01
pyrimidine left
|
|||
BenGoldberg | I'm looking through the docs, and I'm confused ;) | 14:01 | |
14:05
ZzZombo_ joined,
ZzZombo_ left,
ZzZombo_ joined,
ZzZombo is now known as Guest25223,
ZzZombo_ is now known as ZzZombo
14:06
Guest25223 left
|
|||
BenGoldberg thinks that NativeCall's docs should be split into *at least* two pages... | 14:06 | ||
14:06
pyrimidine joined
14:10
pyrimidine left
14:13
cibs left
14:15
eroux joined,
cibs joined
|
|||
BenGoldberg | Also, after I call the C API's unregistercb(), how do I tell NativeCall that the C library is done with the &callback, so that perl might eventually GC it? | 14:15 | |
RabidGravy | BenGoldberg, you'd need to make that CArray[Str] $important | 14:16 | |
BenGoldberg | Ok, that I can do. | ||
RabidGravy | it is managed by Perl 6 it will be GCd when it would normally be | 14:18 | |
14:20
llfourn left
|
|||
RabidGravy | the opposite thing is what you have to worry about, that is that it doesn't get GCd before the C library is done with it | 14:21 | |
14:22
DrForr left,
DrForr joined
14:31
llfourn joined
14:38
pyrimidine joined
14:39
risou_awy is now known as risou
14:42
pyrimidine left
14:53
BenGoldberg left,
llfourn left
14:54
labster joined
14:56
risou is now known as risou_awy
14:57
mawkish_ left,
mawkish_ joined
14:59
bwisti joined
15:01
mawkish_ left,
mawkish_ joined
15:06
skids joined
|
|||
Geth | perl6.org: c452dec5f8 | Cale++ | source/community/index.html add link to most wanted and bug tracker blog post Also beef up the "write about your experience section" |
15:09 | |
15:14
cale2 joined,
skids left
15:15
mawkish_ left
|
|||
sjn | MasterDuke: ah. | 15:16 | |
oops | |||
#fail | |||
15:19
nowan_ left
15:21
nowan joined
|
|||
RabidGravy | so I can't get the poll to work in a useful way in the general case but it works like a charm for the pg notifications | 15:22 | |
15:41
IndexMe joined
|
|||
RabidGravy | DBIishX::PGNotify is such an ugly name though | 15:43 | |
15:43
laouji joined
|
|||
IOninja | .oO( Pg::Notify ) |
15:44 | |
RabidGravy | yeah, true, it only *uses* DBIish rather than extending it | 15:47 | |
Geth | doc: hankache++ created pull request #1232: Add Pod tutorial |
15:48 | |
15:48
laouji left
15:49
llfourn joined
15:50
hankache joined
|
|||
hankache | hello #perl6 | 15:51 | |
What do you think of github.com/perl6/doc/pull/1232 | |||
I distilled S26 | 15:53 | ||
15:53
lichtkind__ left
15:54
llfourn left
|
|||
hankache | Merge it if you like it. | 15:54 | |
ciao | 15:55 | ||
15:55
hankache left
15:56
Actualeyes left
15:58
elaADnlxie joined
16:03
zakharyas joined,
laouji joined
|
|||
Geth | doc: febff7c355 | Cale++ | doc/Type/Pod/Block.pod6 Fix links for subclasses table |
16:08 | |
16:12
IndexMe left
|
|||
sena_kun | cale2, I'm not agree with ^. The original issue is github.com/perl6/doc/issues/759 and should be fixed from the root. | 16:12 | |
cale2 | sena_kun: oh shoot... did I break the table then? | 16:13 | |
I actually thought, before I pushed that, maybe we should just get rid of that table? The type graph is helpful enough. The table is sort of redundant | 16:14 | ||
sena_kun | cale2, I don't think(it is already broken), but I'd rather revert it if you're okay with it. If you want proper links in tables, Pod::To::Html is ready for some love, I think. | ||
IOninja | fwiw those perl6.party articles about tickets are a bit out of date. These days perl6.fail is much more useful than the web app they're talking about. | 16:15 | |
cale2 | sena_kun: can you revert it? I don't know how | ||
timotimo | .tell BenGoldberg currently callbacks passed to C always leak until the process ends, because we have no way of figuring out what C-land does with it. it wants to have some kind of API for sure at some point. just ... how? | ||
yoleaux | timotimo: I'll pass your message to BenGoldberg. | ||
IOninja | Clone the repo. Type "git revert febff7c355" git push | ||
Clone the repo. Type "git revert febff7c355", then git push | 16:16 | ||
sena_kun | cale2, I'll do it. | ||
And I think that the table is still useful. | |||
cale2 | IOninja: Your blog posts are helpful for onboarding people still. Unless it's so out of date that it's no longer relevant. perl6.fail/ Looks great | 16:17 | |
sena_kun: thank you | |||
Geth | doc: 5ba57ef4df | Altai-man++ | doc/Type/Pod/Block.pod6 Revert "Fix links for subclasses table" This reverts commit febff7c355fa9f7c824a03d513881894adc88cd4. This is not a valid solution. See github.com/perl6/doc/issues/759 as an original issue and irclog.perlgeek.de/perl6/2017-03-04#i_14205280 as conversation about reverting |
16:19 | |
sena_kun | done. cale2, sorry for the inconvenience. | 16:20 | |
16:21
pyrimidine joined,
laouji left
|
|||
cale2 | How should I go about creating new pages in docs? | 16:21 | |
Nothing special is needed? Just create a Declarator.pod6 file in the types/Pod/Block/ folder? | 16:22 | ||
sena_kun | cale2, you can just create *.pod6 file in appropriate directory, I guess. | ||
cale2, yes. | |||
cale2, wait a minute... | |||
16:22
ufobat joined
|
|||
sena_kun | cale2, github.com/perl6/doc/blob/master/C...ting-types - :) | 16:22 | |
cale2, don't forget about "Testing examples" section of this document too. | 16:24 | ||
cale2 | ok | ||
ah. homebrew is broken on my macbook, so most of my contributions are not exactly kosher lol | 16:25 | ||
16:25
pyrimidine left
|
|||
cale2 | I program perl6 using small samples in glot.io haha | 16:25 | |
16:26
agentzh left
|
|||
timotimo | for simpler things camelia and many of the *ables will also take a link to a github gist | 16:27 | |
16:27
agentzh joined
|
|||
cale2 | IOninja: what is the relationship between perl6.fail/ and github issues? Is perl6.fail/ for test coverage AND compiler bugs? | 16:27 | |
timotimo | the coverage on perl6.fail is just there because "why buy another domain name?" | 16:28 | |
cale2 | so rakudo uses that domain instead of using github issues. But the ROAST uses github issues | ||
timotimo | no, rakudo uses rt.perl.org, it's just that perl6.fail is a nicer interface to rt than rt is | 16:29 | |
cale2 | timotimo: that's what I meant. So if someone wants to contribute to rakudo, they wouldn't first look at github issues, they would look at perl6.fail/ | 16:30 | |
timotimo | sounds about right | ||
cale2 | But if someone wants to contribute to test coverage, they should be directed to github and NOT perl6.fail/ | ||
timotimo | not necessarily | ||
perl6.fail/t/TESTNEEDED - there is this | 16:31 | ||
IOninja | cale2: what gihub issues? what test coverage? | ||
timotimo: coverage is on perl6.WTF because why not buy another domain :) | |||
cale2: perl6.fail shows all open tickets on RT. That's it | 16:32 | ||
timotimo | oh! | ||
btw, jnthn made a very good suggestion on how to make the line numbers more sensible | |||
16:33
pyrimidine joined
|
|||
cale2 | That's a lot of zeros. Is that right? | 16:33 | |
timotimo | nah, it's broken | ||
cale2 | I'm asking about this stuff because I updated the community page with links to help ramp people up, but I think I linked the wrong thing. github.com/perl6/perl6.org/commit/...bea8836588 | 16:34 | |
linked a blog post that may be out of date | 16:35 | ||
16:37
labster left
16:38
pyrimidine left
|
|||
timotimo | gotta be AFK for a bit | 16:39 | |
16:40
risou_awy is now known as risou,
bwisti left
16:43
agentzh left
16:47
agentzh joined
16:49
Botocide joined
|
|||
Botocide | localhost:3000/7̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈xCC | 16:49 | |
IOninja | hmmm | ||
16:49
Botocide left,
ChanServ sets mode: +o mst
|
|||
mst | ah, it fixed itself | 16:49 | |
16:49
mst sets mode: -o mst
|
|||
IOninja | mst: that was me :) | 16:49 | |
m: my $x = "7" ~ "\x[308]" x 2000 | |||
camelia | Too many codepoints (2001) in grapheme in block <unit> at <tmp> line 1 |
||
mst | oh, right, I assumed spammer rather than fuckup ;) | ||
IOninja | ^ I noticed this is now the case | 16:50 | |
So I wanted to see if our Perl 6 bots would crap out if they see too many combiners. But I guess telnet doesn't send stuff right | |||
16:50
llfourn joined
|
|||
IOninja | m: try my $x = "7" ~ "\x[308]" x 2000 | 16:51 | |
camelia | ( no output ) | ||
ufobat | .seen zostay | ||
yoleaux | I saw zostay 11 Dec 2016 18:10Z in #perl6: <zostay> No. Hard to find time and when I do I keep running into obscure async bugs | ||
IOninja | So basically, we should decode all outsider data in a `try` block. | ||
hm | |||
elaADnlxie | hm | 16:52 | |
ufobat | did zostay actually create a ticket for his async bugs? i think he was struggeling with the tests here: github.com/zostay/HTTP-Request-Supply | ||
16:53
bwisti joined
16:54
zakharyas left,
khw joined
16:55
llfourn left
|
|||
zostay | I've haven't done much Perl 6 lately. Too busy with other things recently. | 16:55 | |
yoleaux | 19 Feb 2017 12:15Z <ufobat> zostay: what is the status of your HTTP-Request-Supply? i'd really love to have it on modules.perl6.org so we can have a async http p6w server | ||
ufobat | i see :) hope you find some time soon :) | 16:56 | |
unfortunatelly i cant help with the asnyc stuff, i have no clue about that kind of black magic :D | 16:57 | ||
zostay | The async bugs or just lack of understandable diagnostic messages was pretty discouraging and I haven't really tried to get back to it | ||
16:58
drrho joined
|
|||
zostay | I don't know how much that's improved in the last few months, but from what I read in p6w seems like it should be at least a bit better | 16:58 | |
ufobat | but your tests in the http:.request::supply are still failing, the are in wrong order, i assume? | ||
16:59
risou is now known as risou_awy
17:05
bwisti left
17:06
BenGoldberg joined
17:07
Ben_Goldberg joined
17:08
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg,
cale2 left
|
|||
Geth | ecosystem: 7ojo++ created pull request #302: Add Git::Simple to ecosystem |
17:10 | |
17:10
agentzh left
17:11
ZzZombo left
17:12
agentzh joined
17:13
tojo joined
17:15
tojo left
|
|||
Geth | ecosystem: cc81439bdf | (Jarkko Haapalainen)++ | META.list Add Git::Simple to ecosystem See github.com/7ojo/perl6-git-simple |
17:17 | |
ecosystem: c5d3757d1e | Altai-man++ | META.list Merge pull request #302 from 7ojo/patch-1 Add Git::Simple to ecosystem |
|||
zostay | Order is the basic problem of async | 17:19 | |
IOninja | heh, so the ton of combiners didn't knock down the bots, but apparently killed the bidirectional copy/paste between my VM and host OS :S | 17:22 | |
timotimo | wat :) | 17:23 | |
IOninja | Yeah, can't copy-paste anything anymore. | 17:24 | |
.tell SmokeMachine FWIW, when you're adding fixups to PRs, you can do `git commit --amend` to add them and then `git push -f` to force-push them (force-pushing to your fork or separate branch is OK, but never do it to master). This way history stays clean when the PR gets merged. | 17:28 | ||
yoleaux | IOninja: I'll pass your message to SmokeMachine. | ||
IOninja | I guess that's my fault for not choosing the 'Squash' option when merging -_- | 17:29 | |
17:31
Sound left
|
|||
SmokeMachine | IOninja: ok, I'm sorry | 17:48 | |
yoleaux | 17:28Z <IOninja> SmokeMachine: FWIW, when you're adding fixups to PRs, you can do `git commit --amend` to add them and then `git push -f` to force-push them (force-pushing to your fork or separate branch is OK, but never do it to master). This way history stays clean when the PR gets merged. | ||
17:49
pyrimidine joined,
lucasb left,
llfourn joined
|
|||
b2gills | .tell Todd the latest version of Perl 5 has subroutine signatures similar to that of Perl 6 | 17:51 | |
yoleaux | b2gills: I'll pass your message to Todd. | ||
17:51
laouji joined
|
|||
geekosaur | iirc they are on rhel, "latest version of Perl 5" is problematic | 17:52 | |
uh, actually centos7 | |||
anyway, ancient everything | |||
except rh keeps pissing off its enterprise customers by insisting on hotpatching systemd to close-to-latest | 17:53 | ||
17:53
pyrimidine left
17:54
llfourn left
|
|||
geekosaur | (not sure how many enterprise customers they even have left; there's been a veritable flood of them switching to SuSE) | 17:54 | |
17:55
risou_awy is now known as risou
17:56
laouji left
|
|||
b2gills | m: #`( perlawhirl ) my @a = 1..10; say @a»² | 17:59 | |
camelia | [1 4 9 16 25 36 49 64 81 100] | ||
stmuk | lose your data with btrfs on suse or suffer systemd :) | 18:00 | |
mst | geekosaur: the rule for RHELL has been "build your own perl" since 5.8.x | 18:01 | |
geekosaur: basically since the point where they deployed a patch to work around a bug in Class::DBI that made DBIx::Class 30x slower | 18:02 | ||
IOninja | m: say {$++²} … 100 | ||
camelia | (0 1 4 9 16 25 36 49 64 81 100) | ||
mst | (took me two years and getting a pumpking to yell at them to get that fixed) | ||
geekosaur | mst, yes, I know, but Todd_ has been fairly insistent on only using stuff from the package manager :/ | 18:03 | |
mst | sucks to be him then, I guess | ||
18:04
titsuki left
|
|||
mst | I should build rpms or something | 18:04 | |
BenGoldberg | m: sub foo(--> int) {3}; say foo.WHAT; | 18:05 | |
yoleaux | 11:15 EST <timotimo> BenGoldberg: currently callbacks passed to C always leak until the process ends, because we have no way of figuring out what C-land does with it. it wants to have some kind of API for sure at some point. just ... how? | ||
camelia | (Int) | ||
geekosaur 's answer is to bail from rhel/centos like everyone else; if you have a trainwreck in progress like rh does, the answer is not to replace the caboose with another engine and keep plowing forward... | 18:07 | ||
18:07
pyrimidine joined
18:08
pyrimidine left
|
|||
b2gills | m: sub foo(--> int) {3}; multi bar (Int --> 'class'){}; multi bar (int --> 'native'){}; say bar foo | 18:08 | |
camelia | class | ||
b2gills | m: sub foo(--> int) {3}; multi bar (Int --> 'class'){}; multi bar (int --> 'native'){}; say bar my int $ = 3 | 18:09 | |
camelia | native | ||
b2gills | m: sub foo(--> int) {3}; multi bar (Int --> 'class'){}; multi bar (int --> 'native'){}; say bar my int $ = foo | ||
camelia | native | ||
18:11
risou is now known as risou_awy
|
|||
BenGoldberg | timotimo, The obvious solution is to advise users to declare callback arguments as Pointer, and provide a subroutine: native_wrap_cb( Callable , Signature ), whose return object has .Pointer and .dispose. | 18:12 | |
IOninja | PSA: If you implement a feature, document it. Or least open an Issue on docs repo. No point in implementing stuff if users don't know about it. | ||
18:18
nebuchadnezzar left
18:26
agentzh left
|
|||
BenGoldberg | Another possibility would be to add something like 'sub quicksort(...) is native(...) is callback-disposing;' which would tell NativeCall that as soon as the top-level native subroutine (quicksort in this example) returns, then any callbacks passed to it will no longer be used in C-land. | 18:30 | |
IOninja | Wonder what the fastest way to count the number of times a particular char occurs. | 18:35 | |
elaADnlxie | NeuralAnomaly: status | ||
NeuralAnomaly | elaADnlxie, [✘] Next release will be in 1 week and 6 days. Since last release, there are 29 new still-open tickets (1 unreviewed and 0 blockers) and 1 unreviewed commits. See perl6.fail/release/stats for details | ||
18:40
elaADnlxie left
|
|||
IOninja | m: for ^1000_000 { $ = +'foo.bar.ber.bez'.comb: '.' }; say now - INIT now | 18:42 | |
camelia | 12.08750489 | ||
IOninja | m: use nqp; sub count($s) { my int $c = 0; my int $pos = 0; nqp::while(nqp::isge_i(0, ($c = nqp::index($s, '.', $pos))), ($c = nqp::add_i($c, 1))); $c }; for ^1000_000 { $ = count 'foo.bar.ber.bez' }; say now - INIT now | ||
camelia | 0.7614110 | ||
18:42
espadrine joined
|
|||
IOninja | m: say 12.08750/0.7614110 | 18:42 | |
camelia | 15.8751318 | ||
18:43
naxieAlDle joined
|
|||
IOninja | m: use nqp; sub count($s) { my int $c = 0; my int $pos = -1; nqp::while(nqp::isge_i(($pos = nqp::index($s, '.', ($pos = nqp::add_i($pos,1)))), 0), ($c = nqp::add_i($c, 1))); $c }; for ^1000_000 { $ = count 'foo.bar.ber.bez' }; say now - INIT now | 18:46 | |
camelia | 0.98162135 | ||
18:50
llfourn joined
18:55
llfourn left
19:08
khw left
19:12
darutoko left,
khw joined
19:22
ifim joined
|
|||
timotimo | BenGoldberg: but that's so much more work | 19:29 | |
19:30
domidumont left
|
|||
timotimo | BenGoldberg: in perl6 you can always just put your pointy blocks directly into the arg list | 19:30 | |
now you'd have to put it in together with a declaration :( | |||
BenGoldberg | Well, if you had an 'is callback-disposing' solution, you could still put point blocks directly into the arg list. | 19:31 | |
You only need a declaration for situations when you are doing library_func_register_cb(sub {...}), and (only god knows how much later) library_func_register_uncb() | 19:33 | ||
Err, unregister_cb | |||
. o O (Sorry, we're all out of uncallbacks.) | 19:34 | ||
19:35
wamba left
|
|||
geekosaur | I would be tempted to do the opposite | 19:36 | |
is foreign-persist(sub) | |||
BenGoldberg | I'm presently writing a perl6 plugin for hexchat, and one *super* commonly used thing is going to be $hook = Hook.command("custom_command_name", sub {...}), where the user can, if they want, do $hook.unhook, which removes that custom command. | ||
geekosaur | or for that matter pointers that aren't part of the result type | 19:37 | |
naxieAlDle | goddamn emacs, stop eating my cpu | ||
19:37
naxieAlDle left
|
|||
geekosaur | emacs had a transporter accident too? | 19:38 | |
BenGoldberg | It's probably gc-ing. | 19:39 | |
19:39
naxieAlDle joined
|
|||
naxieAlDle | well, it happened after I tried using perl6-mode with Grammar.nqp | 19:40 | |
BenGoldberg | Maybe you need an nqp mode? | ||
Several of the other script language plugins (perl5, python) provide a way to unload and reload individual scripts. I'd be unhappy if unloading a perl6 script merely undid the hooks, but left everything loaded in the interpreter. | 19:41 | ||
IOninja | Can a couple of people give me an example of a file extension? | 19:47 | |
19:47
agentzh joined
|
|||
IOninja | Just extension | 19:47 | |
BenGoldberg | .exe, .txt, .jpg, .jpeg, .... | ||
IOninja | And someone else? | 19:48 | |
(second person :)) | |||
BenGoldberg | Maybe 'sub blah(....) is native is persistant-callbacks(&manager(&free_er)' ... without the persistant-callbacks, the native callbacks are freed immediately. With it, the &manager function is called every time NativeCall makes a callback, and it receives a closure (&free_er) which, when called, tells nativecall to free up the C side of things. | ||
19:49
laouji joined
|
|||
IOninja | naxieAlDle: yo, give me some examples of file extensions. Just extensions, no filenames. | 19:49 | |
naxieAlDle | IOninja: .sv .hpp .docx .pm6 | 19:50 | |
IOninja | Thanks :) | ||
naxieAlDle | IOninja: how many do you need? :) | ||
IOninja | That's all. Wanted to see whether people naturally include the leading dot when talking just about extension :) | ||
19:52
llfourn joined
|
|||
BenGoldberg | That's not a fair manner of doing a survey. | 19:52 | |
He might have added the dot just because I included it. | |||
IOninja | Hehehe | ||
It's not. But it's good enough ;) | 19:53 | ||
BenGoldberg | You should have asked people to /msg you instead of saying it on the channel. | ||
IOninja | meh | ||
BenGoldberg | Try asking over on #perl | 19:54 | |
naxieAlDle | oh | ||
BenGoldberg: actually, I haven't even seen it | |||
timotimo | BenGoldberg: if there's an "unregister" function, you'll need to have stored the exact code object in some variable anyway | ||
otherwise you'll run into trouble | |||
naxieAlDle | but my brain could've picked it up automatically, that's true | ||
19:55
andrzejku joined
|
|||
geekosaur | IOninja, most of us do (because an extension doesn't *always* have a dot; a few things use _ or others) | 19:55 | |
it's fairly rare but happens just often enough that we include the leader | 19:56 | ||
19:56
risou_awy is now known as risou
|
|||
BenGoldberg | timotimo, C language users of the api get back a hexchat_hook_t* from any of the various hexchat_hook_<foo> functions; calling hexchat_unhook(thehookpointer) unregisters the callback. | 19:57 | |
geekosaur | also there's a de facto convention that "jpg" without the leader means the type/format, not the extension | ||
timotimo | OK, but on the perl6 side i don't think we have a way to say "the callback related to this pointer needs to be cleared" | ||
IOninja | geekosaur: what's this about using `_` for extensions? | 19:58 | |
19:59
llfourn left,
khw left
|
|||
geekosaur | like I said, it's very rare, but you will occasionally encounter it. like using _d to indicate a directory of additional files for a config (instead of the .d convention that came from solaris; _d was more of an AT&T thing there) | 19:59 | |
IOninja | Ah | 20:00 | |
geekosaur | I've also seen _s but I can't recall what it deoted | 20:01 | |
*denoted | |||
BenGoldberg | I seem to recall some editor (was it emacs) making a back up of a file with a ~ attached to it's name. | 20:04 | |
naxieAlDle | and also #files# for unsaved stuff, yes | 20:05 | |
20:06
cpage_ left
20:09
savasten joined
|
|||
naxieAlDle | hm, this test doesn't achieve anything, right? github.com/perl6/roast/blob/master...infix.t#L6 | 20:11 | |
IOninja | mhm, better use something weirder for the operator... | 20:12 | |
20:13
risou is now known as risou_awy
|
|||
naxieAlDle | ok I'll change it | 20:13 | |
BenGoldberg | There's already a unicode operator in that test, © | 20:17 | |
20:17
Damianz joined
|
|||
naxieAlDle | pft, no, not going to change it | 20:29 | |
there's already a test for ©, and there are some tests for actual operator overloading | |||
so this particular one is useless I guess… | |||
20:30
TEttinger joined
20:31
labster joined,
zakharyas joined
20:32
bjz joined
|
|||
lizmat | . | 20:32 | |
BenGoldberg | m: dd [gather take 5]; | 20:33 | |
camelia | [5] | ||
BenGoldberg wonders if that will always produce an array, and never get super clever and make something lazy. | |||
naxieAlDle | m: dd [lazy gather take 5]; | 20:34 | |
camelia | (5, Any, Any, Any, Any, Any, Any, Any, Any, Any... lazy list) | ||
lizmat | BenGoldberg: it's similar to 1 element slices: you always get a List there as well | 20:35 | |
naxieAlDle | ok I changed my mind :P | ||
lizmat | m: my @a = ^10; dd @a[4]; dd @a[(4,)] | ||
camelia | Int @a = 4 (4,) |
||
sjn reads Zef source code | 20:37 | ||
20:37
savasten left
|
|||
sjn | It's quite pleasant :) | 20:37 | |
20:39
jm_ joined
|
|||
BenGoldberg | m: enum Foo (qw,zero one,); say Foo.pick(*) | 20:40 | |
camelia | (one zero) | ||
BenGoldberg | m: enum Foo (qw,zero one,); say Foo.enum | ||
camelia | No such method 'enum' for invocant of type 'Foo' in block <unit> at <tmp> line 1 |
||
BenGoldberg | m: enum Foo (qw,zero one,); say Foo.enums | ||
camelia | Map.new((:one(1),:zero(0))) | ||
BenGoldberg | m: enum Foo (qw,zero one,); say Foo::zero | ||
camelia | zero | ||
BenGoldberg | m: enum Foo (qw,zero one,); say Foo::("zero") | 20:41 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Combination of indirect name lookup and call not supported at <tmp>:1 ------> 3m Foo (qw,zero one,); say Foo::("zero")7⏏5<EOL> expecting any of: argument list |
||
naxieAlDle | BenGoldberg: what are you trying to do? :) | ||
BenGoldberg | I'd like the same list as .pick(*) is giving, but without it randomizing the oder. | ||
s/oder/order/ | |||
I suppose I could sort them .... | 20:42 | ||
naxieAlDle | no-no, there was a thing, mmm | ||
m: enum Foo (qw,zero one,); say Foo.^enum_value_list | 20:43 | ||
camelia | (zero one) | ||
BenGoldberg | naxieAlDle++ | 20:44 | |
naxieAlDle | BenGoldberg: do note that this is not specced | ||
but that's what Enums use internally for .pick | 20:45 | ||
BenGoldberg | I see, it's over in meta-class-land, for some silly reason... | 20:46 | |
naxieAlDle | BenGoldberg: I guess it would make sense to add a method that will expose this thing | 20:48 | |
that's not the first time I see somebody asking for this, and I needed it myself | |||
20:49
jm_ left
|
|||
BenGoldberg | irclog.perlgeek.de/perl6/2016-05-20#i_12518778 for example ;) | 20:49 | |
20:50
irobotnot joined
|
|||
irobotnot | p6: say 3; | 20:51 | |
camelia | 3 | ||
naxieAlDle | m: say ‘hello world!’ | ||
camelia | hello world! | ||
20:52
synopsebot6 joined,
ChanServ sets mode: +v synopsebot6
|
|||
irobotnot | p6: [1..100].hyper.map({ $_ +1 }).list.say; | 20:52 | |
camelia | (2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 … | ||
IOninja | m: say ⅓ | ||
camelia | 0.333333 | ||
BenGoldberg | m: enum Foo (qw,zero one,); say ::("Foo").::; | ||
camelia | ===SORRY!=== MVMArray: Can't pop from an empty array |
||
IOninja | known issue | ||
SmokeMachine | what's the easiest way do "require A::B::*"? I mean: if is there A::B::C, A::B::D and A::B::E, I'd like to require all 3... how could I do that? | 20:53 | |
irobotnot | p6: [1..100].race.map({ $_ +1 }).list.say; | ||
camelia | (2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 … | ||
IOninja | SmokeMachine: for dir("A/B") { require .&Str } # I'm guessing... | ||
irobotnot: FWIW, you can also /msg camelia to eval in private | |||
irobotnot | IOninja: thx | 20:54 | |
IOninja | irobotnot: also, default batch size for race/hyper is 64... you may wanna use something smaller | ||
with :batch(20) for example | |||
SmokeMachine | IOninja: but if A::B::Z, by example, was installed by another dist, it won't be found, right? | ||
BenGoldberg | m: enum Foo (qw,zero one,); dd ::("Foo")::zero | ||
camelia | Foo::zero | 20:55 | |
BenGoldberg | m: enum Foo (qw,zero one,); dd ::("Foo")::.keys | ||
camelia | () | ||
IOninja | m: sleep 1 for ^4 .race: :batch; say now - INIT now | ||
BenGoldberg | m: enum Foo (qw,zero one,); dd ::Foo::.keys | ||
camelia | 1.00515620 | ||
("one", "zero").Seq | |||
20:55
llfourn joined
|
|||
IOninja | SmokeMachine: errr, just .Str not .&Str | 20:55 | |
irobotnot | IOninja: cool. I was copy-pasting from a sample | 20:56 | |
IOninja | SmokeMachine: and don't know | ||
SmokeMachine | IOninja: Im trying to do some kind of "plugin system"... | ||
IOninja | irobotnot: there's a lightning talk on .race and other things, if you're interested: perl6.party/post/Perl-6-What-Progr...re-Is-Like | ||
SmokeMachine: oh, yeah, what I said won't work for installed stuff. Never mind :) | 20:57 | ||
irobotnot | IOninja: thx. will check it out. just started with p6 | ||
SmokeMachine | any other suggestion? | ||
IOninja | SmokeMachine: dig in github.com/rakudo/rakudo/tree/nom/...e/CompUnit trying to find a method for it (I... *think*... it was added). Or ask nine / ugexe about it | 20:58 | |
You probaly want to query what's installed and grep for things that have prefix whatever. | |||
SmokeMachine | thanks! | 20:59 | |
21:00
llfourn left
21:01
buggable left,
buggable joined,
ChanServ sets mode: +v buggable
21:03
bbkr_ joined
21:04
cdg_ joined,
Gruber joined
|
|||
naxieAlDle | oh… | 21:04 | |
m: say True ⁇ True ?? 5 !! 10 ‼ 42 | 21:05 | ||
camelia | 5 | ||
IOninja | oh⁇ | ||
naxieAlDle | m: say True ⁇ False ?? 5 !! 10 ‼ 42 | ||
camelia | 10 | ||
IOninja | hahahaha | ||
naxieAlDle | m: say True ⁇ 42 ‼ False ?? 5 !! 10 | ||
camelia | 42 | ||
naxieAlDle | m: say False ⁇ 42 ‼ False ?? 5 !! 10 | ||
camelia | 10 | ||
naxieAlDle | m: say False ⁇ 42 ‼ True ?? 5 !! 10 | 21:06 | |
camelia | 5 | ||
naxieAlDle | IOninja: coincidence? I don't think so :P | ||
IOninja | naxieAlDle: coincidence with what? | ||
My using ⁇ It was. I'd type it faster if I didn't reboot my VM today and xmodmap were running | 21:07 | ||
21:07
Kaffe_ joined
|
|||
naxieAlDle | I'm impressed :) | 21:07 | |
it would take me 3 seconds just to read the thing :P | |||
IOninja | What thing? | ||
naxieAlDle | my message | 21:08 | |
IOninja | Which message? | ||
21:08
simcop2387_ joined
|
|||
IOninja doesn't get it | 21:08 | ||
But... I laughed because for a second I thought you were showing a case where using, say, `!!` instead of `‼` in a mix of ??⁇!!‼ produced different results. | 21:09 | ||
naxieAlDle | ah no, I just realized there are no tests for it | ||
IOninja | There are | 21:10 | |
naxieAlDle | but it should work as expected | ||
IOninja | Well, there are tests for ⁇‼ I mean | ||
naxieAlDle | github.com/perl6/roast/issues/248 | ||
not a big deal anyway | 21:11 | ||
IOninja | I'll write those just for fun right now | ||
21:13
cdg left,
rindolf left,
simcop2387 left,
Kaffe left,
Possum left,
kyan left,
Grrrr left,
bbkr left,
dj_goku left,
jkva_ left,
Hotkeys left,
eater left,
samcv left,
simcop2387_ is now known as simcop2387,
simcop2387 left,
simcop2387 joined
21:14
nowan_ joined,
drrho left,
ufobat left,
cibs left,
eroux left,
cyphase left,
kalkin- left,
SCHAAP137 left,
culb left,
ChoHag left
|
|||
IOninja | Actually, never mind. I need to do other things... | 21:14 | |
21:16
nightfrog joined
|
|||
naxieAlDle | IOninja: like work on IO stuff? :P | 21:17 | |
21:17
zakharyas left,
nowan left,
cdg_ left
|
|||
naxieAlDle | .oO( what “stuff”? ) |
21:17 | |
21:17
cdg joined
21:18
ufobat joined,
drrho joined,
cibs joined,
cyphase joined,
kalkin- joined,
ChoHag joined
|
|||
IOninja | naxieAlDle: yeah | 21:19 | |
Though I did find a minor bug: | |||
m: say 0 ⁇ 1 ?? 2 ⁇ 3 ?? 4 !! 5 ‼ 6 !! 7 !! 8 | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Your !! was gobbled by the expression in the middle; please parenthesize at <tmp>:1 ------> 3say 0 ⁇ 1 ?? 2 ⁇ 3 ?? 4 !! 5 ‼ 6 !! 77⏏5 !! 8 expecting any of: infix … |
||
IOninja | It wasn't !! that was gobbled, but ‼ | ||
And well, not really gobbled either.... | 21:20 | ||
I just used !! instead of ‼ | |||
See all this unicode stuff causes problems. Now it's spreading to other exceptions and makes their content somewhat nonsensical, even though in the past it made sense. | 21:21 | ||
naxieAlDle | OK OK I'll focus on finding bugs in texas operators :PPP | ||
IOninja | :) | ||
21:22
SCHAAP137 joined
21:26
cog_ joined,
avuserow left
|
|||
Geth | ecosystem: acaa154111 | (Jonathan Stowe)++ | META.list Add Pg::Notify github.com/jonathanstowe/Pg-Notify |
21:28 | |
RabidGravy | there, once I got poll(0 working twas a snap :) | 21:30 | |
21:33
nebuchadnezzar joined,
andrzejku left
|
|||
SmokeMachine | Yes, I didn't write tests mixing ⁇‼ and ??!!... :( | 21:33 | |
naxieAlDle | s: {}, 'gist' | 21:35 | |
SourceBaby | naxieAlDle, Ehhh... I'm too scared to run that code. | ||
SmokeMachine | IOninja: so, was that a bug? | ||
naxieAlDle | s: &abs, 'gist' | ||
SourceBaby | naxieAlDle, Sauce is at github.com/rakudo/rakudo/blob/b597...Mu.pm#L510 | ||
naxieAlDle | s: &infix:<+>, 'gist' | ||
SourceBaby | naxieAlDle, Sauce is at github.com/rakudo/rakudo/blob/b597...Mu.pm#L510 | ||
IOninja | s: Supplier.new.Supply, 'tap' | 21:36 | |
SourceBaby | IOninja, Sauce is at github.com/rakudo/rakudo/blob/b597...ply.pm#L77 | ||
IOninja | FWIW, I see no `on-closing` taken by that routine, so perhaps the docs ( docs.perl6.org/type/Tap ) are wrong. That's rt.perl.org/Ticket/Display.html?id=130920 | ||
SmokeMachine: what was a bug? | |||
SmokeMachine | m: say 0 ⁇ 1 ?? 2 ⁇ 3 ?? 4 !! 5 ‼ 6 !! 7 !! 8 # IOninja, this | 21:37 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Your !! was gobbled by the expression in the middle; please parenthesize at <tmp>:1 ------> 3say 0 ⁇ 1 ?? 2 ⁇ 3 ?? 4 !! 5 ‼ 6 !! 77⏏5 !! 8 # IOninja, this expecting any of: … |
||
IOninja | Yes, the error is incorrect. | ||
And this is exactly why I'm anti-adding-Uncode stuff. It's hard to forsee these distant effects. | 21:38 | ||
And then you add all these conditionals all over the codebase to handle something that'll be used by minority of users. | |||
naxieAlDle is already using it | |||
21:42
PerlJam joined
|
|||
ugexe | If you want to use CUR for a plugin system then write a CUR that subclasses CURI and loads all modules it can find when its initiated | 21:42 | |
But it would be easier to not do that and just use CUR.installed() to find what you want | 21:43 | ||
IOninja | It doesn't have a list of all the installed modules? | ||
ugexe | github.com/rakudo/rakudo/blob/nom/...on.pm#L572 | 21:44 | |
IOninja | Ah | ||
m: CompUnit::Repository::Installation.installed.say | |||
camelia | Cannot look up attributes in a CompUnit::Repository::Installation type object in block <unit> at <tmp> line 1 |
||
IOninja | m: CompUnit::Repository::Installation.new.installed.say | ||
21:44
avuserow joined
|
|||
camelia | Parameter '$prefix' requires an instance of type Str, but a type object was passed. Did you forget a .new? in block <unit> at <tmp> line 1 |
21:44 | |
ugexe | need a specific instance | ||
IOninja | m: $*REPO.installed.say | 21:45 | |
ugexe | m: say $*REPO.repo-chain[0].installed | ||
camelia | Nil | ||
ugexe | m: say $*REPO.repo-chain.map(*.?installed) | ||
camelia | (Nil (CompUnit::Repository::Installation::InstalledDistribution.new(prefix => "/home/camelia/rakudo-m-inst-2/share/perl6/site".IO(:SPEC(IO::Spec::Unix),:CWD("/home/camelia")))) () (CompUnit::Repository::Installation::InstalledDistribution.new(prefix => "… | ||
RabidGravy | which suggests to me that something should be required earlier | 21:46 | |
ugexe | such a plugin system would limit you to CURI, so no -Iwhatever | ||
this is why zef just does not use a custom plugin CUR and just does regular old dynamic load | 21:47 | ||
i have a module (not in ecosystem) called CUR::Lib which is just like CURI but without the sha1 file names which would help solve this though | 21:48 | ||
but precompile doesn't work with it unless its built with the rest of rakudo source | |||
IOninja | m: say $*REPO.repo-chain.map(*.?installed).grep({$_ !=== Nil}).flat».meta».<name> | 21:50 | |
camelia | (Inline::Perl5 CORE) | ||
21:56
llfourn joined
21:57
risou_awy is now known as risou
|
|||
RabidGravy | the tricky bit for pluggable things is that we don't store interesting enough metadata about the modules | 21:57 | |
21:58
rindolf joined
|
|||
ugexe | you have all metadata available through CompUnit.distribution.meta | 22:00 | |
so you just have to get to that | |||
again just for CURI | 22:01 | ||
RabidGravy | yes that's the stuff that isn't interesting enough | ||
22:02
llfourn left,
Possum joined,
kyan joined,
samcv joined,
eater joined,
Hotkeys joined,
jkva_ joined,
dj_goku joined
22:04
bjz left
|
|||
RabidGravy | infact as far as I can tell it doesn't even store everything in the META file | 22:04 | |
which I guess could be fixed | 22:05 | ||
I'm thinking of something like the values in the "provides" being either the Str path or an object with a "path" and optional keys, like an array[str] "implements" that could be used by pluggable loaders | 22:12 | ||
BenGoldberg | s: &callframe | ||
SourceBaby | BenGoldberg, Sauce is at github.com/rakudo/rakudo/blob/b597...ame.pm#L51 | ||
22:13
ugjka is now known as ugjka22222222222,
ugjka22222222222 is now known as ugjka
22:14
risou is now known as risou_awy
|
|||
RabidGravy | ugexe, with zef can one influence what repo does the installing? | 22:16 | |
say I had a plogin system that needed the addional data, could I use a CUR that actually stored that? | 22:17 | ||
ugexe | you can get the path of everything as well | 22:21 | |
CompUnit.distribution.content("lib/My/Module.pm").path | 22:22 | ||
introspec .meta<provides><My::Module> for the lib/MyModule.pm | |||
RabidGravy | right, but it still doesn't tell me whether some module implements some interface that I am interested in for a plugin | 22:23 | |
so some additional metadata is required, which isn't cyrrently stored | 22:24 | ||
ugexe | i imagine you would technically use the `emulates` field of meta6.json for that | ||
RabidGravy | so I guess the answer in no | ||
but I don't think that is stored | |||
ugexe | everything is stored i believe | 22:25 | |
RabidGravy | Hmm | ||
22:26
FROGGS left
|
|||
ugexe | --install-to will use whatever repo it points at to call .install(...) on. So if its CompUnit::Repository::Installable it should be compatible | 22:27 | |
your CUR would be identified with a short id, so it would be like --install-to=plugins#my/plugins | |||
RabidGravy | Ooh it does indeed store everything | 22:32 | |
sorry I was under the impression it didn't | 22:33 | ||
something weird going on with the files (it seems to have all the files in the CURI) but hey | 22:35 | ||
22:39
perlawhirl left,
Voldenet left
|
|||
BenGoldberg | m: sub foo(-->Int) {return "0"}; say foo; | 22:43 | |
camelia | Type check failed for return value; expected Int but got Str ("0") in sub foo at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
BenGoldberg | m: sub foo(-->Int) {return "0"}; | ||
camelia | ( no output ) | ||
22:44
Voldenet joined,
Voldenet left,
Voldenet joined
|
|||
BenGoldberg | Any chance that, some time in the future, return types will be checked at compile time? | 22:44 | |
geekosaur | I think stuff like that is ... not yet planned but intended? | 22:45 | |
BenGoldberg | Ok. | 22:46 | |
22:48
dct joined
|
|||
BenGoldberg | m: enum Nums (qw,zero one two,); sub foo(-->Int) { two }; say foo; | 22:48 | |
camelia | two | ||
naxieAlDle | yes | ||
I mean, the last snippet looks fine | 22:49 | ||
geekosaur | there's a lot of type inference and optimization that could be done but isn't currently being considered or worked on; we're still fixing the basics as it is | ||
naxieAlDle | though I wonder… what if it is a non-int Enum? | ||
BenGoldberg | m: enum Nums (qw,zero one two,); my int $maybe = two; say $maybe; | ||
camelia | 2 | ||
naxieAlDle | BenGoldberg: maybe you'll also like this one | 22:50 | |
m: sub foo(-->Int) { True }; say foo; | |||
camelia | True | ||
BenGoldberg | m: enum StrEnum (map { $_ => $_ }, qw,apples oranges bananananas,); say apples | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared routine: apples used at line 1 |
||
geekosaur | m: say so True ~~ Int | ||
camelia | True | ||
BenGoldberg | m: enum StrEnum (map { $_ => $_ }, qw,apples oranges bananananas,); | 22:51 | |
camelia | ( no output ) | ||
BenGoldberg | m: enum StrEnum (map { $_ => $_ }, qw,apples oranges bananananas,); say StrEnum.pick(*) | ||
camelia | (oranges oranges apples apples bananananas bananananas) | ||
BenGoldberg | m: enum StrEnum (map { $_ => $_ }, qw,apples oranges bananananas,); dd StrEnum.pick(*) | ||
camelia | (StrEnum::apples apples, StrEnum::oranges oranges, StrEnum::bananananas bananananas).Seq | ||
BenGoldberg | wft? | ||
geekosaur | pairs stringify with a separating tab | ||
BenGoldberg | m: enum StrEnum (map { $_ => $_ }, qw,apples oranges bananananas,); dd StrEnum.pick ~~ Int | 22:52 | |
camelia | Bool::True | ||
BenGoldberg | naxieAlDle, Looks like there can not exist any non-int enum. | 22:53 | |
naxieAlDle | m: enum E (A => 4.2, B => 6.9); say E.enums | ||
camelia | Map.new((:A(4.2),:B(6.9))) | ||
BenGoldberg | m: say Bool ~~ Int; # this is why you can return True from a sub declared to return Int. | 22:54 | |
camelia | True | ||
22:54
bjz joined
|
|||
BenGoldberg | m: enum E (A => 4.2, B => 6.9); sub foo(-->Int) { A }; | 22:54 | |
camelia | ( no output ) | ||
BenGoldberg | m: enum E (A => 4.2, B => 6.9); sub foo(-->Int) { A }; foo(); | ||
camelia | Type check failed for return value; expected Int but got E (E::A) in sub foo at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
BenGoldberg | Huh. | ||
naxieAlDle | ok, it DWIMs | ||
BenGoldberg | So num enums are allowed, but not strs. | 22:55 | |
naxieAlDle | m: enum E (A => ‘why’, B => ‘not’); say A; say B | ||
camelia | why not |
||
BenGoldberg | Why was my map not working? | ||
m: enum F (apple => 'apple', banana => 'banana', berrie => 'berry'); say apple | 22:56 | ||
camelia | apple | ||
naxieAlDle | m: enum F (apple => 'blapple', banana => 'banana', berrie => 'berry'); say apple | ||
camelia | blapple | ||
BenGoldberg | oh..kay. Why was my map not dwimming, then? | 22:57 | |
22:58
llfourn joined
23:02
naxieAlDle left
23:03
llfourn left
23:05
sena_kun left
23:07
bjz left
23:09
rindolf left
23:25
RabidGravy left,
bjz joined
23:34
laouji left
23:46
llfourn joined
23:53
titsuki joined
23:58
risou_awy is now known as risou
|