»ö« 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
zhmylove joined
00:04
girafe left
00:09
RabidGravy left
00:11
huggable left
00:12
huggable joined
00:26
Zoffix joined
|
|||
Zoffix | drforr1, DrForr_ where's this Prancer's at then? I'm not seeing it in the ecosystem | 00:26 | |
Hm. github.com/drforr/perl6-App-prancer .. | 00:27 | ||
Doesn't look like it's ready yet. | 00:32 | ||
00:32
Zoffix left
00:47
vike joined
|
|||
sammers | good morning | 00:53 | |
00:53
wamba joined
00:56
BenGoldberg joined
00:58
Ben_Goldberg joined
01:01
BenGoldberg left,
wamba left
|
|||
sammers | is there a way to get IO::Notification.watch-path to only add to the supply files that are not already in the supply? | 01:02 | |
I guess, that isn't what I am looking for... | |||
01:18
molaf joined,
nanis joined
01:22
FROGGS_ joined
01:23
Actualeyes joined
|
|||
sammers | ok... is there a way to see all of the paths registerd by IO::Notification.watch-path? | 01:27 | |
01:27
addison joined
|
|||
nanis | Just built Rakudo version 2016.06-17-g5ca24cc built on MoarVM version 2016.06 on Windows 10 w/ MSVC 2013. I have some spectests failing. Should I file one bug report per test file or one report listing all failing test files? | 01:30 | |
s/2013/2015/, but that doesn't matter much. | 01:31 | ||
01:36
Zoffix joined
|
|||
Zoffix | nanis, can you pastebin the failures? | 01:37 | |
nanis | Of course ... | ||
Zoffix, here is one gist.github.com/nanis/d4f5c945eda3...3db7cd1feb | 01:39 | ||
Here is another gist.github.com/nanis/997ff5a28f12...f076286e87 | 01:40 | ||
Another gist.github.com/nanis/baea84f991af...d52cd3dc2d | 01:42 | ||
Zoffix | ¯\_(ツ)_/¯ Yes, please file them. You can stuff them into a single report. | 01:43 | |
nanis | OK, just for the sake of completeness, here is one more: gist.github.com/nanis/c23a1a6a70c6...34bc73451b | ||
I'll submit the bug report in a few hours. Thank you. | 01:44 | ||
Zoffix | The last one are just passed TODOs, those are ok | ||
nanis | Ooopps ... Yeah, I got carried away there. Sorry. I was one roll :-) | 01:46 | |
I was not one roll ... "on a roll" ... Now I really am on a roll ... *sigh* | |||
01:46
nanis left
|
|||
Zoffix | :) | 01:47 | |
01:47
ilbot3 joined
|
|||
mspo | camelia: (1 .. 10).roll | 01:48 | |
m: (1 .. 10).roll | |||
camelia | ( no output ) | ||
Ben_Goldberg | This morning, I was not on a roll. I was on a bagel. | 01:49 | |
01:50
Ben_Goldberg is now known as BenGoldberg
|
|||
mspo | m: <1 .. 10>.roll | 01:50 | |
camelia | ( no output ) | ||
mspo | okay forget it ;) | ||
BenGoldberg | m: <roll muffin biscuit bagel donut>.roll.say | 01:51 | |
camelia | rakudo-moar 5ca24c: OUTPUT«bagel» | ||
BenGoldberg | camelia++ | ||
mspo, Unlike perlbot (the perl5 eval bot), camelia is not going to automatically print the result of the expression; instead you have to put an explicit print/say/note/whatever. | 01:53 | ||
Zoffix | m: constant $foo, constant $bar = 2, 3; say foo | 01:56 | |
camelia | rakudo-moar 5ca24c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Missing initializer on constant declarationat <tmp>:1------> 3constant $foo7⏏5, constant $bar = 2, 3; say foo» | ||
Zoffix | No way to initialize two constants in one go, is there? | ||
01:57
grondilu joined
02:00
_28_ria joined
02:03
kaare__ joined
|
|||
geekosaur | m: constant ($foo, $bar) = 2, 3; say 'alive' | 02:08 | |
camelia | rakudo-moar 5ca24c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Missing initializer on constant declarationat <tmp>:1------> 3constant7⏏5 ($foo, $bar) = 2, 3; say 'alive'» | ||
geekosaur | bah | ||
02:10
kid51 joined
02:14
addison left
02:15
addison joined
02:16
kid51 left
02:19
noganex_ joined
|
|||
Zoffix | Yeah, tried that first :) | 02:20 | |
02:27
kurahaupo joined
02:29
addison left
|
|||
sammers | hello, I am trying to use IO::Notification.watch-path to monitor file edits. But every edit triggers several FileRenamed / FileChanged events. | 02:30 | |
so I am trying to find a way to only run a subsequent function once after any file edit event. | 02:31 | ||
I have tried tracking the paths in a global list, and once the subsequent funtion completes remove the path from the list, but that doesn't seem to solve this... | 02:34 | ||
Zoffix | sammers, do you have any code we could play around with? | 02:35 | |
02:35
Actualeyes left
|
|||
Zoffix | sammers, I have this example and IIRC it triggers just once per edit: github.com/zoffixznet/perl6-Bailad...ilador#L38 | 02:36 | |
(same thing with syntax highlights: gist.github.com/zoffixznet/ccfb593...69c97fbe05 ) | |||
sammers | thanks, basically I am using this github.com/jnthn/perl6-reactive-sa...-commit.p6 with a few modifications | ||
Zoffix | "Latest commit d0bb243 on Apr 28, 2014".... that smells like bitrot :P | 02:37 | |
02:39
kid51 joined
02:43
kid51 left
|
|||
Zoffix | m: supply { }.uniq | 02:45 | |
camelia | rakudo-moar 5ca24c: OUTPUT«Method 'uniq' not found for invocant of class 'Supply' in block <unit> at <tmp> line 1» | ||
Zoffix | It was removed? | ||
02:45
dj_goku joined
|
|||
pmichaud | good evening, #perl6 | 02:53 | |
Zoffix | \o | ||
03:03
rgrinberg joined
|
|||
dalek | Iish: 00617dc | (Zoffix Znet)++ | README.pod: Fix typo |
03:04 | |
03:04
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
sammers | hi Zoffix, ok here is a modified version of your example gitlab.com/snippets/21397 | 03:08 | |
Zoffix | sammers, and you still get multiple notifications? | 03:09 | |
sammers | I only added a filter in main to limit the test on html files | ||
yeah | |||
it spits out four changes when I edit the file in vim | |||
and atom | |||
so I have a subdirectory called partials, and I run that script ./tester.pl6 partials | |||
but I added the partials dir to the MAIN watch list | 03:10 | ||
anyway, yeah, one file edit spits out two FileRenamed and two FileChanged events | 03:11 | ||
Zoffix | Oh | ||
:) | |||
sammers | this has to be related to the way vim writes files | ||
Zoffix | That's a "feature" of atom. It does things with files twice | ||
Try with another editor and you'll see you get just one event. | 03:12 | ||
sammers | but... I need to fine a way of only adding events if the current path isn't in an event | ||
03:12
kurahaupo left
|
|||
sammers | I use vim mainly, and it does the same | 03:12 | |
Zoffix | Really? pico doesn't | ||
sammers | atom is just for test | ||
yeah, pico triggers once | 03:13 | ||
hmm | 03:14 | ||
Zoffix | ¯\_(ツ)_/¯ | ||
sammers | enacs triggered 0 times... | 03:15 | |
Zoffix | 0.o | ||
sammers | ok, it triggered 3 times | 03:16 | |
03:16
aborazmeh left
|
|||
sammers | man, this blows | 03:16 | |
other than that issue, which appears to be non-p6 related, the supplies features seem to be working great. | 03:20 | ||
Zoffix | \o/ | ||
03:21
mcmillhj joined
|
|||
sammers | ok, enabling backupcopy in vimrc got it down to 2 events | 03:24 | |
is there any way to ignore events if they occure withing a few seconds? | 03:30 | ||
Zoffix | return unless $last - now > $few-seconds; $last = now; ... do things ... | 03:33 | |
03:34
kurahaupo joined
|
|||
sammers | ok | 03:34 | |
03:43
mohae joined
03:45
Ben_Goldberg joined
03:47
rgrinberg left
03:48
BenGoldberg left
03:53
kurahaupo left
04:11
huggable left
04:12
huggable joined
04:17
Actualeyes joined
04:26
Ben_Goldberg left
04:42
xinming_ joined
04:44
ssotka joined
05:03
Cabanossi joined
05:26
mcmillhj left
05:36
sno joined
05:41
buharin joined
|
|||
buharin | hi | 05:46 | |
FROGGS_ | .tell Xliff we care about that after the merge, aye | 05:50 | |
yoleaux | FROGGS_: I'll pass your message to Xliff. | ||
05:50
FROGGS_ left
05:56
ssotka left
06:06
CIAvash joined
06:07
ssotka joined
06:08
rurban_ joined
06:16
ssotka left
06:17
kaare__ left,
kaare__ joined,
d^_^b joined
|
|||
buharin | how can I check all globals $* | 06:18 | |
llfourn | m: my $*foo = True; note DYNAMIC::.keys | 06:19 | |
camelia | rakudo-moar 5ca24c: OUTPUT«($=pod !UNIT_MARKER EXPORT $_ $! ::?PACKAGE GLOBALish $¢ $=finish $/ $?PACKAGE $*foo)» | ||
llfourn | buharin: note $* variables are dynamic rather than global | ||
buharin | huh | ||
06:20
jjido joined
|
|||
llfourn | { my $*foo = "bar" }; say $*foo # error -- not global | 06:20 | |
buharin | $*DISTRO | ||
llfourn | m: { my $*foo = "bar" }; say $*foo # error -- not global | ||
camelia | rakudo-moar 5ca24c: OUTPUT«Dynamic variable $*foo not found in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
buharin | $*PID | ||
are they all dynamic? | |||
llfourn | yes | ||
buharin | so they are allocated on stack? | 06:21 | |
psch | i think that's too low-level a concept to properly translate | 06:22 | |
dynamic variables are resolved via the caller chain, in contrast to lexical ones, which are resolved via the outer chain | |||
m: my $lex = 1; { say $lex }; sub f { try say $lex; say "can't find $f" if $! }; f | |||
camelia | rakudo-moar 5ca24c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable '$f' is not declaredat <tmp>:1------> 3; sub f { try say $lex; say "can't find 7⏏5$f" if $! }; f» | ||
buharin | mm I got this chapter in learnxyminutes will check it | 06:23 | |
Perl6 scopes | |||
psch | m: my $lex = 1; { say $lex }; sub f { try say $lex; say "can't find \$lex" if $! }; f | ||
camelia | rakudo-moar 5ca24c: OUTPUT«11» | ||
psch | well, i'll get back to my coffee i suppose | 06:24 | |
llfourn | I'm not sure how $*PID works but I guess the compiler sticks it into DYNAMIC:: just before runtime | ||
m: BEGIN say $*PID | |||
camelia | rakudo-moar 5ca24c: OUTPUT«11121» | ||
llfourn | and I guess you could get different answers between $*PID at BEGIN and runtime due to precompilation | 06:25 | |
buharin | llfourn, PID it is runtime variable | ||
psch | i think you more often than not should get different pids in that scenario | 06:26 | |
llfourn | right but compile time has it's own runtime :) | ||
buharin | ya I know | ||
llfourn, ahh okay | 06:28 | ||
dynamic variable is called from current stack | |||
llfourn | well there is a kind of stack but it's not a lexical stack | ||
buharin | so I calling say pids should returns always a different values | ||
llfourn | m: BEGIN say $*PID; say $*PID; | 06:29 | |
camelia | rakudo-moar 5ca24c: OUTPUT«1117611176» | ||
buharin | nooo | ||
in function | |||
create 2 funds | |||
psch | m: sub f { say $*PID }; sub g { say $*PID }; f; g | ||
camelia | rakudo-moar 5ca24c: OUTPUT«1117811178» | ||
buharin | fuck | ||
xD | 06:30 | ||
llfourn | buharin: $*PID is defined in the outer scope of the compunt | ||
so it gets set before your code is called | |||
buharin | llfourn, I just thinking about how Perl execute code | 06:31 | |
I thought it is forking for every instruction | |||
;p | |||
psch | ...why would you think that | ||
llfourn | that would be painful :P | ||
06:31
jjido left
|
|||
buharin | it is all did in one thread? | 06:32 | |
llfourn | local in perl 5 and shell works the same as dynamic | ||
no it's done in multiple threads | |||
buharin | okay | ||
llfourn | m: say $*THREAD; await start { say $*THREAD } | 06:33 | |
camelia | rakudo-moar 5ca24c: OUTPUT«Thread #1 (Initial thread)Thread #3» | ||
psch | well, the interpreter itself is mostly single threaded i think | ||
i do know the jvm backend has a watch thread running, but that's probably a jvm technicality | |||
buharin | is it true that Perl got weak performance on os x? | 06:34 | |
llfourn | I don't think it's that much worse than everywhere else? | ||
buharin | I didn't check it, but my cousin is Perl master and he told me this | ||
nine | buharin: I doubt that. | 06:35 | |
06:37
firstdayonthejob joined
06:45
perlpilot_ joined,
Sgeo_ joined
06:46
dupek joined
06:47
zhmylove_ joined,
dylanwh_ joined,
NEveDko__ joined,
El_Che_ joined,
lucs_ joined,
b^_^d joined,
leedo joined
06:48
Jonis_ joined,
_mg_ joined,
dj_goku_ joined,
dj_goku_ left,
dj_goku_ joined,
wamba joined,
firstdayonthejob left,
gnull` joined,
vike1 joined
06:49
erdic_ joined
06:54
yossarian joined,
yossarian left,
Guest42010 joined
06:55
mtj__ joined
06:57
dupek is now known as possysacz_spermy,
remmie2 joined,
cpage__ joined,
possysacz_spermy left
07:00
siriu5b_ joined,
siriu5b_ left,
siriu5b_ joined,
orevdiabl joined,
Actualeyes left
07:01
finanalyst joined
07:02
olinkl_ joined
07:03
b2gills1 joined
07:04
Actualeyes joined,
d^_^b left,
buharin left,
dj_goku left,
vike left,
zhmylove left,
dylanwh left,
cpage__ is now known as cpage_,
erdic_ is now known as erdic
07:05
olinkl_ is now known as olinkl
07:09
abraxxa joined
07:12
darutoko joined
07:16
eugen joined
07:17
Ven_ joined,
Actualeyes left
07:19
Actualeyes joined
07:21
eugen left
07:24
Actualeyes left
07:25
Actualeyes joined
07:26
b2gills1 is now known as b2gills
07:38
remmie2 left
07:40
remmie joined
07:41
sjoshi joined
07:42
finanalyst left
07:43
cur8or joined,
b2gills left
07:45
g4 joined
07:51
lizmat left,
Ven_ left
07:52
Actualeyes left,
Ven_ joined
07:54
Actualeyes joined,
lizmat joined,
Actualeyes left
07:56
Actualeyes joined
07:58
b2gills joined
08:06
finanalyst joined
08:11
huggable left
08:12
huggable joined
08:14
ocbtec joined
08:16
xiaomiao joined
|
|||
dalek | c: 1a08bb7 | Altai-man++ | doc/Language/5to6-perl (4 files): SOURCES sections were removed due to github.com/perl6/doc/issues/612 |
08:21 | |
08:31
inokenty joined
08:33
dakkar joined
|
|||
llfourn | m: -> $a, $b { True }.ACCEPTS(1,2) # hmmmm | 08:35 | |
camelia | rakudo-moar 5ca24c: OUTPUT«Cannot resolve caller ACCEPTS(Block: Int, Int); none of these signatures match: (Mu:U $: \topic, *%_) (Mu:U $: Mu:U \topic, *%_) (Any:D $: Mu:D \a, *%_) (Any:D $: Mu:U \a, *%_) (Any:U $: \topic, *%_) (Code:D $self: Mu $t…» | ||
llfourn | m: -> $a, $b { True }.ACCEPTS(<1,2>) # hmmmm | ||
camelia | rakudo-moar 5ca24c: OUTPUT«Too few positionals passed; expected 2 arguments but got 1 in block <unit> at <tmp> line 1» | ||
llfourn | m: -> $a, $b { True }.ACCEPTS(\(1,2)) # =( | 08:36 | |
camelia | rakudo-moar 5ca24c: OUTPUT«Too few positionals passed; expected 2 arguments but got 1 in block <unit> at <tmp> line 1» | ||
08:37
RabidGravy joined
|
|||
psch | m: -> $x { 1 }.print | 08:40 | |
camelia | rakudo-moar 5ca24c: OUTPUT«Block object coerced to string (please use .gist or .perl to do that) in block <unit> at <tmp> line 1» | ||
psch | llfourn: precedence | ||
llfourn: wait, actually i think you mean .signature.ACCEPTS | |||
m: say -> $a, $b { True }.signature.ACCEPTS(\(1,2)) # =( | 08:41 | ||
camelia | rakudo-moar 5ca24c: OUTPUT«True» | ||
psch | m: say \(1, 1) ~~ -> $, $ { } | ||
camelia | rakudo-moar 5ca24c: OUTPUT«Too few positionals passed; expected 2 arguments but got 1 in block <unit> at <tmp> line 1» | ||
llfourn | psch: my problem is that I can't do accepts against code that takes more than one arg | ||
psch | m: say \(1, 1) ~~ (-> $, $ { }) | ||
camelia | rakudo-moar 5ca24c: OUTPUT«Too few positionals passed; expected 2 arguments but got 1 in block <unit> at <tmp> line 1» | ||
llfourn | ie I want to call it | ||
I think the capture version should work | 08:42 | ||
if not the list version | |||
psch | why do you want to call code via ACCEPTS? | ||
llfourn | long story. I want to have parameterized subset so I'm messing around with MOP. | 08:43 | |
so subset Foo of int where -> $_,$param { ... } | |||
psch | m: (1, 1) ~~ { { say $^a - $^b }(|$_) } | ||
camelia | rakudo-moar 5ca24c: OUTPUT«0» | ||
psch | llfourn: well, you get the whole LHS in $_ | 08:44 | |
llfourn: so you can lower that into the sig if you really need it like that | |||
llfourn | yeah I think named args is the way to go | ||
psch | i'm not using named args? :) | ||
llfourn | oh right >.< | ||
psch | m: \(1, 2, :3c) ~~ { { say "$^a $^b $:c" }(|$_) } # i mean, you can... | 08:46 | |
camelia | rakudo-moar 5ca24c: OUTPUT«1 2 3» | ||
psch | but then you have to have a Capture again | ||
08:47
_mg_ left
|
|||
psch | llfourn: do you have an almost-working snippet? | 08:47 | |
llfourn | hang on I'll gist it :) | ||
psch: gist.github.com/LLFourn/17eed8f486...d21174f6a0 | 08:51 | ||
08:51
luiz_lha joined
|
|||
llfourn | I would like $.refinement($obj).($checkee,|@!ss-params) to be $.refinement($obj).ACCEPTS($checkee,|@!ss-params) | 08:51 | |
or at least that's what I was trying to get to work | |||
08:51
luiz_lha is now known as Guest2606
|
|||
psch | llfourn: i don't think that's how you get there | 08:52 | |
llfourn: ACCEPTS always has :(\topic) | |||
it needs to, really | |||
08:52
Guest2606 is now known as luiz_lha
|
|||
llfourn | You're probably right. Oh wells. | 08:53 | |
it works anyway -- I'll just have to check whether the refinement is code and whether there is params to the subset | |||
psch | m: role IntsGreaterThan[::T] { method ACCEPTS(\topic) { $_ > T } }; sub f($x where IntsGreaterThan[4]) { say $x }; f 2 | 08:56 | |
camelia | rakudo-moar 5ca24c: OUTPUT«Constraint type check failed for parameter '$x' in sub f at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
psch | m: role IntsGreaterThan[::T] { method ACCEPTS(\topic) { $_ > T } }; sub f($x where IntsGreaterThan[4]) { say $x }; f 5 | ||
camelia | rakudo-moar 5ca24c: OUTPUT«Constraint type check failed for parameter '$x' in sub f at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
psch | hm | ||
oh duh | |||
\topic but $_ /o\ | |||
well, doesn't help :P | |||
probably because role parameterization doesn't work like that :) | |||
llfourn | I think it would work for ~~ ? | 08:57 | |
psch | m: role Foo[::T] { method m { T.say } }; say Foo[5] | ||
camelia | rakudo-moar 5ca24c: OUTPUT«Cannot unbox a type object in block <unit> at <tmp> line 1» | ||
psch | m: role Foo[::T] { method m { T.say } }; say Foo[5].new | ||
camelia | rakudo-moar 5ca24c: OUTPUT«Foo[Int].new» | ||
llfourn | but it wouldn't work in signatures | ||
psch | m: role Foo[::T] { method m { T.say } }; Foo[5].new.m | ||
camelia | rakudo-moar 5ca24c: OUTPUT«(Int)» | ||
psch | i don't think it would, considering the role doesn't care about the value, but only the type | 08:58 | |
llfourn | I mean it would work in 'where' but not on the LHS but by hacking subset should work like sub foo(IntsGreaterThan[5] $x) { ... } | ||
hmm | 08:59 | ||
m: role Foo { method ACCEPTS($) { say "called" } }; say 1 ~~ Foo | |||
camelia | rakudo-moar 5ca24c: OUTPUT«False» | ||
llfourn | I see. | ||
m: class Foo { method ACCEPTS($) { say "called" } }; say 1 ~~ Foo | 09:00 | ||
camelia | rakudo-moar 5ca24c: OUTPUT«calledTrue» | ||
psch | m: constant &IntsGreaterThan = sub { class :: is Int { has $.limit is required; method ACCEPTS(\topic) { topic > $!limit } }.new(limit => $^a) }; say 5 ~~ IntsGreaterThan(4); say 4 ~~ IntsGreaterThan(4) | 09:03 | |
camelia | rakudo-moar 5ca24c: OUTPUT«TrueFalse» | ||
psch | but that doesn't work as parameter | ||
(probably "thank god" at the end there :) ) | 09:04 | ||
well, as parameter *type* | |||
llfourn | yep | ||
psch | m: constant &IntsGreaterThan = sub { class :: is Int { has $.limit is required; method ACCEPTS(\topic) { topic > $!limit } }.new(limit => $^a) }; sub f($x where IntsGreaterThan(4)) { say $x }; f 5 | ||
camelia | rakudo-moar 5ca24c: OUTPUT«5» | ||
psch | m: constant &IntsGreaterThan = sub { class :: is Int { has $.limit is required; method ACCEPTS(\topic) { topic > $!limit } }.new(limit => $^a) }; sub f($x where IntsGreaterThan(4)) { say $x }; f 4 | ||
camelia | rakudo-moar 5ca24c: OUTPUT«Constraint type check failed for parameter '$x' in sub f at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
llfourn | also it doesn't cache | ||
psch | well, yeah, but caching is rather trivial there | ||
just add '@cache[$^a] //= ' ;) | 09:05 | ||
09:05
donaldh joined
|
|||
llfourn | I mean the the subset IntsGreaterThan[5] is calculated at compile time where as that one will create a new class each call (or won't it?) | 09:06 | |
psch | well, it stays runtime, but it can cache | ||
llfourn | m: sub new-class { class :: { } }; say new-class ~~ new-class | 09:07 | |
camelia | rakudo-moar 5ca24c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Expected a term, but found either infix ~~ or redundant prefix ~ (to suppress this message, please use a space like ~ ~)at <tmp>:1------> 3class { class :: { } }; say new-class ~~7⏏5 new-class…» | ||
llfourn | m: sub new-class { class :: { } }; say new-class() ~~ new-class() | ||
camelia | rakudo-moar 5ca24c: OUTPUT«True» | ||
llfourn | hmmm | ||
psch | m: constant &IntsGreaterThan = sub { state @cache; @cache[$^a] //= do { say "calculating..."; class :: is Int { has $.limit is required; method ACCEPTS(\topic) { topic > $!limit } }.new(limit => $a) } }; sub f($x where IntsGreaterThan(4)) { say $x }; f 5; f 6 | 09:08 | |
camelia | rakudo-moar 5ca24c: OUTPUT«calculating...56» | ||
psch | ^^^ there, with caching :) | ||
but as mentioned, it only gives you runtime checks, because it relies on where | 09:09 | ||
llfourn | right, what I meant was that I *think* rakudo caches answers to paramterize at compile time so the type itself is cached. So IntsGreaterThan[5] only ever exists in one place in memory. The answer is not cached of course and will have to be runtime as well. | 09:10 | |
psch | and, well, it's definitely a of more work just to replace the where block { * > 4 } with something longer *and* slower | ||
llfourn | (if the parameter is known at compile time) | 09:11 | |
psch | yeah, i think we do cache role parameterizations | 09:12 | |
09:12
eiro joined
09:13
Actualeyes left
09:34
cpage__ joined
09:35
cpage_ left,
cpage__ is now known as cpage_
09:39
domidumont joined
09:43
domidumont left,
user9 joined
09:44
domidumont joined,
Ven_ left
|
|||
gregf_ | /o\ | 09:49 | |
09:49
domidumont left
09:50
pmurias joined
|
|||
gregf_ | m: say \(1,2).^name | 09:52 | |
camelia | rakudo-moar 5ca24c: OUTPUT«Capture» | ||
09:52
wamba left
09:57
silug joined
09:59
cyphase joined,
rindolf joined
10:01
guardianJ joined,
guardianJ left
10:11
domidumont joined
10:24
domidumont left
10:25
cur8or left
10:34
_mg_ joined
10:35
TEttinger left
10:45
_mg_ left
11:03
kid51 joined
11:15
Roamer` joined
|
|||
Roamer` | hmmm, is there a way to distinguish "system" types from user-defined classes? Yes, I know this is vague :) | 11:16 | |
thing is, I just found out my Serialize::Naive doesn't work with 2016.06, since it tries a $obj.^attributes[$i].type.WHICH === $basic-type.WHICH comparison | 11:17 | ||
where $basic-type is taken from a predefined list containing Int, Int:D, UInt, UInt:D, Str, and so on | |||
and it turns out that this doesn't work in 2016.06 any more, at least for UInt:D | 11:18 | ||
err, sorry, not .WHICH | 11:19 | ||
I'm thinking of changing it to use .type.WHICH eq $basic.WHICH, but... is there a way to find out that a type is not user-defined and so I should not try to recurse into its .^attributes? | |||
just to clarify, what Serialize::Naive does now is check $obj.^attributes[..].type === $basic-type, and this doesn't work on 2016.06 | 11:20 | ||
psch | Roamer`: i'd probably check if it's in CORE::, although you'd have to go via .^base_type for smilied types | 11:24 | |
11:25
finanalyst left
|
|||
psch | Roamer`: so something like CORE::.keys.grep($attr-type.HOW ~~ DefiniteHOW ?? /{ $attr-type.^base_type.^name }/ !! /{ $attr-type.^name }/) | 11:25 | |
m: sub is-core($a) { so CORE::.keys.grep(($a.HOW ~~ Metamodel::DefiniteHOW) ?? /{ $a.^base_type.^name }/ !! /{ $a.^name }/) }; say is-core(Int:D); class A { }; say is-core(A) | 11:27 | ||
camelia | rakudo-moar 5ca24c: OUTPUT«TrueTrue» | ||
psch | but apparently that doesn't work :/ | ||
m: sub is-core($a) { so CORE::.keys.grep(($a.HOW ~~ Metamodel::DefiniteHOW) ?? $a.^base_type.^name !! $a.^name ) }; say is-core(Int:D); class A { }; say is-core(A) | 11:28 | ||
camelia | rakudo-moar 5ca24c: OUTPUT«TrueFalse» | ||
psch | but only due to unneeded regex, apparently | 11:29 | |
Roamer` | psch, that looks nice, I'll play with it... thanks! | 11:31 | |
psch, and a grep over CORE::.keys is needed because Bad Thin... err, side effects may happen if I just try a :k check? | 11:34 | ||
psch | Roamer`: nah, :k should work too i think | ||
well, if it parses at least | |||
Roamer` | m: say CORE::<Any>:k | ||
camelia | rakudo-moar 5ca24c: OUTPUT«Any» | ||
Roamer` | it worked for me here, too | 11:35 | |
11:35
donaldh left
|
|||
psch | right | 11:35 | |
m: say (CORE::<Int>:k).WHAT | |||
camelia | rakudo-moar 5ca24c: OUTPUT«(Str)» | ||
11:43
mcmillhj joined,
bjz joined
11:47
___ joined,
___ is now known as Guest78619
11:48
Guest78619 left,
Ven_ joined
|
|||
Roamer` | ok, another question: if I define a sub in a role and I don't mark it as "is export", does it pollute the namespace of classes that use it? It looks to me like it doesn't, but I'm not sure I'm checking in all the ways I need to be :) | 11:49 | |
gfldex | it does | ||
it will not overrule existing methods | 11:50 | ||
llfourn | huh? if it's a sub it won't.... | ||
gfldex | the behaviour is still undefined tho (there are not spec tests that say otherwise) | ||
sorry, i missed that bit | 11:51 | ||
psch | m: role R { sub f { say "f" } }; class C does R { method g { say f() } }; C.g | ||
camelia | rakudo-moar 5ca24c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: f used at line 1» | ||
11:51
kid51 left
|
|||
psch | m: role R { our sub f { say "f" } }; class C does R { method g { say R::f() } }; C.g | 11:51 | |
camelia | rakudo-moar 5ca24c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Cannot declare our-scoped sub inside of a role(the scope inside of a role is generic, so there is no unambiguouspackage to install the symbol in)at <tmp>:1------> 3role R { our sub f { say "f" }…» | ||
psch | the lexical scope of role (or classes for that matter) isn't composed or inherited | 11:52 | |
+s | 11:53 | ||
m: class C { our $x = "foo" }; class D is C { }; say D::<$x> | |||
camelia | rakudo-moar 5ca24c: OUTPUT«(Any)» | ||
psch | m: class C { our $x = "foo" }; class D is C { }; say C::<$x> | ||
camelia | rakudo-moar 5ca24c: OUTPUT«foo» | ||
gfldex | m: role R { sub s() { say 'oi' }; method m(){ s } }; class C does R { method n() { self.m() } }; C.new.n | ||
camelia | rakudo-moar 5ca24c: OUTPUT«oi» | ||
gfldex | m: role R { sub s() { say 'oi' }; method m(){ s } }; class C does R { method n() { self.m() }; method o() { s() }}; C.new.n | ||
camelia | rakudo-moar 5ca24c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: s used at line 1» | ||
gfldex | m: role R { sub s() is export { say 'oi' }; method m(){ s } }; class C does R { method n() { self.m() }; method o() { s() }}; C.new.n | 11:54 | |
camelia | rakudo-moar 5ca24c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: s used at line 1» | ||
Roamer` | yeah, I was just going to say that -e testing doesn't always seem to work properly with "is export" | ||
psch | well, you have to import too :) | ||
Roamer` | m: use v6.c; role Meow { sub mmsign(Int:D $val) is export { "fooo" } }; import Meow; say mmsign(4); | 11:55 | |
camelia | rakudo-moar 5ca24c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: mmsign used at line 1. Did you mean 'sign'?» | ||
psch | but roles aren't really packages | ||
m: class C { sub s() is export { say 'oi' } }; import R; say s | |||
camelia | rakudo-moar 5ca24c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Could not find module R to import symbols fromat <tmp>:1------> 3b s() is export { say 'oi' } }; import R7⏏5; say s» | ||
psch | m: class C { sub s() is export { say 'oi' } }; import C; say s | ||
camelia | rakudo-moar 5ca24c: OUTPUT«oiTrue» | ||
Roamer` | wif I put the role in a file and 'use lib', it works, but, well | ||
psch | that's probably because it gets a package because it's a single CompUnit | 11:56 | |
or something along those lines... | |||
m: say IO.HOW | 11:57 | ||
camelia | rakudo-moar 5ca24c: OUTPUT«Perl6::Metamodel::ParametricRoleGroupHOW.new» | ||
psch | m: role R { }; say R.HOW | ||
camelia | rakudo-moar 5ca24c: OUTPUT«Perl6::Metamodel::ParametricRoleGroupHOW.new» | ||
12:00
lizmat left
12:03
lizmat joined
12:07
sjoshi left
12:08
bjz left
12:09
woolfy joined
12:11
huggable left
12:12
huggable joined
|
|||
Roamer` | ah, and I just found out I'll have to recalibrate my brain WRT precedence; a sub binds more loosely than 'eq' in Perl 6? | 12:12 | |
llfourn | m: say "foo" eq "foo" # of course | 12:13 | |
camelia | rakudo-moar 5ca24c: OUTPUT«True» | ||
llfourn | same in in p5 | ||
12:13
stevieb9 joined
|
|||
Roamer` | llfourn, mm, not quite sure... | 12:13 | |
perl -e 'use v5.012; use strict; use warnings; use Data::Dumper; sub duu($) { say Dumper(\@_); }; duu 5 == 3;' | |||
this passed only "5" to the sub and then gave me a warning about a numeric comparison in void context | 12:14 | ||
geekosaur | try it with a proto of @ instead of $, which is more comparable with say | 12:15 | |
(perl5 protos are moderately evil that way) | |||
Roamer` | geekosaur, yeah, but in Perl 6 I have a sub get-type-name($type), which is closer to ($) :) | ||
psch | m: sub s($a) { $a }; say s 1 == 1 | ||
camelia | rakudo-moar 5ca24c: OUTPUT«True» | ||
psch | m: sub s(Int $a) { $a }; say s 1 == 1 | ||
camelia | rakudo-moar 5ca24c: OUTPUT«True» | ||
jnthn | In Perl 6, a sub's signature does not affect its parsing. | ||
The parsing of calls to it, that is. | |||
geekosaur | ^ whereas perl 5 protos essentially exist to mutate the parser | 12:16 | |
llfourn | yeah p5 "protos" do though p5 signatures don't afaik | ||
Roamer` | to be fair, yes, I apologize if I sounded a bit offended; I *do* know that prototypes in Perl 5 are patched over everything else and that they're weird and sometimes evil | ||
it's just that, yeah, as I said, I'll need to recalibrate my brain :) | |||
psch | i don't get it | 12:17 | |
but i suppose that's fine vOv | |||
Roamer` | whoa | ||
m: use v6; my Int $foo = 1 == 1; say $foo.perl; | 12:18 | ||
camelia | rakudo-moar 5ca24c: OUTPUT«Bool::True» | ||
Roamer` | *head scratch* now I don't get it either | ||
psch | m: say Bool ~~ Int | ||
camelia | rakudo-moar 5ca24c: OUTPUT«True» | ||
geekosaur | Enum-s are Int-s | ||
Roamer` | ahhhhh | ||
geekosaur | with some extra stuff on top | ||
gregf_ | m: my Int $foo = 1 == 1; | ||
camelia | ( no output ) | ||
gregf_ | er, how can a bool be assigned to an Int? | 12:19 | |
psch | Bool isa Int | ||
gregf_ | oh :| | ||
so true and false are enums | 12:20 | ||
Roamer` | should've been obvious in retrospect | ||
psch | enum values, yes | ||
gregf_ | oh, psch++ | ||
psch | m: say Bool.HOW | ||
camelia | rakudo-moar 5ca24c: OUTPUT«Perl6::Metamodel::EnumHOW.new» | ||
psch | m: say True.HOW | ||
camelia | rakudo-moar 5ca24c: OUTPUT«Perl6::Metamodel::EnumHOW.new» | ||
psch | well, i suppose enum values are enums too | 12:21 | |
12:21
grondilu left
|
|||
geekosaur | enum values can be thought of as constants whose type is the enum | 12:22 | |
woolfy | Several people at YAPC::NA have asked me where my Perl 6 brochure is. Here. github.com/wendyga/Perl6Brochure | 12:29 | |
12:30
kid51 joined
|
|||
woolfy | Feel free to propose alterations to me. I got a bunch already, mostly from Salve. Also, feel free to use the contents. Or link to it. | 12:31 | |
12:34
wamba joined
12:35
kid51 left
|
|||
sjn | woolfy: who is this Salve? I don't recognize that nick. :) | 12:35 | |
12:36
rgrinberg joined
|
|||
nine | sjn: it's clearly a code word | 12:36 | |
12:36
nemsys joined
|
|||
sjn | IT'S A CONSPIRACY! | 12:36 | |
sjn puts on his alu foil hat | 12:37 | ||
tadzik | if conspiracy is an art, are virtuosos of it con-artists? | 12:38 | |
woolfy | Salve Joshua Nilsen sjn: ah, I looked for 'sjn' and didn't realise you were using the long version now... :-) | ||
12:43
donaldh joined,
Sgeo_ left
|
|||
sjn has been "sjn" on irc for more than 20 years :-P | 12:45 | ||
12:46
stevieb9 left
|
|||
woolfy | But I see you now appearing here as "Salve Joshua Nilsen sjn", and on top of the list of "331 people in room", and I did look for your name 'sjn' further down in the list. That's why I didn't spot you. My bad. | 12:46 | |
12:47
cdg joined
|
|||
BrokenRobot | 331 people in room :o | 12:47 | |
12:48
nemsys left
|
|||
woolfy | Yeah, this is a nice community. And on the Facebook 'Perl6' page, we have 250+ as well. | 12:48 | |
BrokenRobot | Holy crap | ||
12:49
tbrowder left
12:51
mcmillhj left,
_mg_ joined
|
|||
BrokenRobot | .tell AlexDaniel An awesome feature for bisectable would be ability to give a gist with multiple files and it test with those files. /me trying to hunt down a precomp bug ATM :) | 12:51 | |
yoleaux | BrokenRobot: I'll pass your message to AlexDaniel. | ||
BrokenRobot | botsnack | 12:52 | |
synopsebot6 | om nom nom | ||
BrokenRobot | synopsebot6: bad bot! | ||
BrokenRobot hits synopsebot6 with a digital newspaper | |||
12:52
tbrowder joined,
Bucciarati joined
12:55
avar joined
12:56
literal joined
|
|||
tbrowder | woolfy: can you make the doc in letter format and put a pdf version of each in yr github repo? | 12:56 | |
12:57
bjz joined
|
|||
tbrowder | hm, a ltr size might run over 2 pages | 12:58 | |
12:58
pmurias left
|
|||
BrokenRobot | It doesn't open at all for me :/ "loading component library failed: file:///usr/lib/libreoffice/program/../program/libdbalo.so" | 12:58 | |
12:59
kid51 joined,
nemssy joined,
musca joined
|
|||
BrokenRobot | nm... actually cloning the repo instead of using GitHub raw worked | 13:01 | |
13:02
brrt joined
13:05
lizmat left
|
|||
woolfy | tbrowder: I will do, when I get to it... :-) | 13:06 | |
BrokenRobot | tbrowder: here's US Letter PDF: temp.perl6.party/Perl 6 Brochure.pdf | 13:07 | |
That brochure needs an update :) It still talks about 2015 Christmas release as something in the future :) | |||
temp.perl6.party/Perl%206%20Brochure.pdf | 13:08 | ||
13:08
pmurias joined
13:09
nemssy left
13:12
lizmat joined
13:16
Sgeo_ joined,
_mg_ left,
lembark joined
|
|||
lembark | Q: Does p6doc support the equivalent of "perldoc -l" or "perldoc -m"? | 13:18 | |
13:18
sufrostico joined
|
|||
BrokenRobot | Not that I know of | 13:18 | |
13:19
skids joined
|
|||
BrokenRobot | Looking at its source: nope | 13:20 | |
13:21
g4 left
|
|||
moritz | p6doc is very bare-bones at the moment | 13:25 | |
I've focused basically all of my doc efforts on the web | |||
pmichaud | good morning #perl6 | 13:29 | |
moritz | \o pmichaud | 13:30 | |
13:31
bjz left
13:32
bjz joined
13:35
abruanese joined
13:36
kid51 left
13:38
sdf_ joined
|
|||
brrt | i'm going to summon the powers of people which are more mathematically gifted than me | 13:40 | |
i have the following problem | |||
13:40
pmurias left
|
|||
brrt | I have three basic vectors: | 13:41 | |
BrokenRobot | The answer is 42 :) | ||
brrt | A,B, and D; | ||
BrokenRobot | m: 'Life, the Universe, and Everything'.WHY.say | ||
camelia | rakudo-moar 5ca24c: OUTPUT«42» | ||
brrt | I have an equation that x*A + y*B = D - c; | 13:42 | |
x, y, and c are scalar numbers | |||
i want to find x and y for minimal c | |||
lucs_ | brrt: How do you subtract a scalar from a vector? | 13:43 | |
brrt | how... | ||
well, D - c = [D_0 - c, D_1 - c, D_2 - c, ... D_n - c] | |||
the usual way | |||
lucs_ | Ah, I see | 13:44 | |
lucs_ is not the mathematically gifted person you are looking for... | |||
13:44
lucs_ is now known as lucs
|
|||
Woodi | brrt: what if there is more then one pair of x and y solving this ? | 13:45 | |
brrt | preferably all pairs? | 13:46 | |
actually, you can transform that to | |||
(x-c)*A + (y-c)*B = D | |||
hmmm | 13:47 | ||
lucs | brrt: You may want to try #math ... | ||
brrt | perhaps | ||
13:48
buharin joined
|
|||
buharin | hello my friends | 13:48 | |
BrokenRobot | \o | ||
13:51
lizmat left
13:52
domidumont joined
|
|||
llfourn | m: my @a where { .elems < 4 }; @a := <one two three> # is this meant to work? | 13:53 | |
camelia | rakudo-moar 5ca24c: OUTPUT«Type check failed in binding; expected Positional[<anon>] but got List ($("one", "two", "three")) in block <unit> at <tmp> line 1» | ||
moritz | brrt: this equation is under-determined. Can, for example, chose y = c and then resolve x to D/A +c | 13:54 | |
*You can | |||
brrt | you are correct | ||
moritz | (for A != 0) | ||
brrt | that is not in any way helpful unfortunately ^^ | ||
13:54
lembark left
|
|||
brrt | but that is my own mistake | 13:55 | |
gregf_ | m: say "foo".elems | 13:56 | |
camelia | rakudo-moar 5ca24c: OUTPUT«1» | ||
gregf_ | m: say ["foo"].elems | ||
camelia | rakudo-moar 5ca24c: OUTPUT«1» | ||
13:59
domidumont left,
lizmat joined
14:00
user9 left,
andreoss joined
14:03
Actualeyes joined
14:05
user9 joined
14:07
sdf_ left
14:10
user10 joined,
Timbus joined,
pmurias joined
14:12
user9 left,
user10 is now known as user9
14:13
Ven_ left
14:15
cdg left,
cdg joined
14:18
user9 left
14:20
Kaffe joined,
cdg left
|
|||
buharin | how to be Perl6 philosopher? | 14:20 | |
become | |||
BrokenRobot | a wat? | ||
brrt | philosophize | 14:21 | |
and focus on perl6 | |||
i wonder what philosophical question you have in mind | |||
moritz | well, write a class Philosopher with a rather generic coercer, and use it appropriately | ||
BrokenRobot | m: class Philosopher is Perl6 {} | 14:22 | |
camelia | rakudo-moar c3bb41: OUTPUT«5===SORRY!5=== Error while compiling <tmp>'Philosopher' cannot inherit from 'Perl6' because it is unknown.Did you mean 'Perl'?at <tmp>:1» | ||
BrokenRobot | aww | ||
m: class Philosopher is Perl {} | |||
camelia | ( no output ) | ||
BrokenRobot | :o | ||
andreoss | m: Perl.^methods.say | ||
camelia | rakudo-moar c3bb41: OUTPUT«(BUILD VMnames DISTROnames KERNELnames Str gist compiler name auth version signature desc)» | ||
andreoss | m: Perl.new(v7.0).say | 14:23 | |
camelia | rakudo-moar c3bb41: OUTPUT«Default constructor for 'Perl' only takes named arguments in block <unit> at <tmp> line 1» | ||
andreoss | m: Perl.new(version => v7.0).say | ||
camelia | rakudo-moar c3bb41: OUTPUT«Perl 6 (7.0)» | ||
14:24
cdg joined,
zostay left
|
|||
buharin | believe me I said truth | 14:24 | |
I study philosphy | |||
14:24
user9 joined
|
|||
DrForr_ | Zoffix: It's not on the ecosystem yet, true. Still working on bits. | 14:24 | |
moritz | si tacuisses, philosophus mansisses | ||
BrokenRobot | DrForr_: cool | 14:25 | |
14:26
cdg_ joined
|
|||
buharin | moritz: Puto multos potuisse ad sapientiam pervenire, nisi putavissent se pervenisse. | 14:26 | |
andreoss | what's this Perl class? there's no doc for it | ||
14:27
zostay joined
14:28
lizmat left,
kid51 joined
14:29
cdg left
|
|||
moritz | andreoss: iirc information about the current language version | 14:30 | |
andreoss | m: $*PERL.WHAT.say | ||
camelia | rakudo-moar 7b2710: OUTPUT«(Perl)» | ||
moritz | m: say $*PERL | 14:31 | |
camelia | rakudo-moar 7b2710: OUTPUT«Perl 6 (6.c)» | ||
moritz | m: say $*PERL.^name | ||
camelia | rakudo-moar 7b2710: OUTPUT«Perl» | ||
14:36
dha joined
14:37
kid51 left
14:41
acrussell joined
|
|||
woolfy | BrokenRobot: I did not put anything in temp.perl6.party (didn't even know that existed), somebody else must have done that. | 14:42 | |
14:42
lizmat joined
|
|||
BrokenRobot | woolfy: yeah, I did :) | 14:45 | |
14:47
brrt left
|
|||
BooK | I was wondering about this: | 14:48 | |
$ ack -c nqp:: src/core/Version.pm | |||
55 | |||
moritz | BooK: it's mostly for optimization | ||
BooK | oh | 14:49 | |
moritz | most of these uses could be done with high-level operators, just a bit slower | ||
multi method gist(Version:D:) { nqp::concat("v",$!string) } | |||
could be "v" ~ $!string just as easily | |||
14:50
uniejo joined
|
|||
BooK | shouldn't there be a perl6 repo with perl6 written in pure perl6? | 14:50 | |
woolfy | BrokenRobot: ah, ok | ||
moritz | BooK: maybe, eventually | ||
BrokenRobot wishes there was a prettier alternative for $_ | 14:51 | ||
Some single-char unicode thing. | |||
14:51
kid51 joined
|
|||
BrokenRobot | $_ just feels jarring when used with the rest of the code :/ | 14:51 | |
dalek | c: 5549fcb | Altai-man++ | / (14 files): Old 'http' links were replaced with 'https' versions. |
||
14:51
uniejo left
|
|||
lizmat | BooK: this year the emphasis is on optimizing, which unfortunately means more nqp in the core atm | 14:51 | |
BooK | make a note to remove that at some point :-) | 14:54 | |
moritz | the note is right here, in the IRC logs :-) | ||
lizmat | indeed | ||
14:54
user9 left
|
|||
lizmat looks forward to removing nqp from the settings (well, at most places) | 14:55 | ||
BrokenRobot | m: sub term:<━> { OUTER::("$_") }; ^4 .map({━ + 10}).say | ||
camelia | rakudo-moar 7b2710: OUTPUT«Use of uninitialized value $_ of type Any in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in sub term:<━> at <tmp> line 1No such symbol 'OUTER::' in sub term:<━> at <tmp> line 1 in block <…» | ||
moritz | really, it's not something we'll forget once can | ||
BrokenRobot | How to use OUTER, I thought there was a way? | ||
moritz | BooK: CALLER | ||
sorry, meant BrokenRobot | |||
BrokenRobot | Isn't CALLER meant only for dynamic variables? | 14:56 | |
14:56
kid51 left
|
|||
moritz | m: sub term:<━> { $CALLER::_ }; (^4).map({━ + 10}).say | 14:56 | |
camelia | rakudo-moar 7b2710: OUTPUT«(10 11 12 13)» | ||
14:56
donaldh left
|
|||
moritz | BrokenRobot: and guess what $_ is? :-) | 14:56 | |
14:56
lizmat left
|
|||
BrokenRobot | Alright. Thanks, moritz++ | 14:56 | |
moritz | BrokenRobot: OUTER:: looks in the lexical outer scope, so always in the scope in which you declared term:<━> | ||
psch | m: $_ = "foo"; say DYNAMIC::<$_> | ||
camelia | rakudo-moar 7b2710: OUTPUT«foo» | ||
BrokenRobot | Ah. Thanks! | 14:57 | |
moritz | dear Debian, why do I always end up having avahi-daemon installed (and it spamming my logs), even if I never recall installing it deliberately? | 14:58 | |
14:58
donaldh joined
14:59
lizmat joined
15:01
dha left,
dha joined
15:02
eiro left
15:03
uniejo joined
15:04
yx_ joined
|
|||
BrokenRobot | Omg! I totally deuglified $_ with a module <3 Perl 6! | 15:04 | |
lizmat | ?? | ||
BrokenRobot | lizmat: I didn't like how $_ looks like so I created a module that lets you change what it looks like :) | 15:05 | |
15:06
yx_ is now known as xnrand,
grondilu joined
15:07
pdcawley joined
|
|||
lizmat | looking forward to mentioning it in Ecosystem Additions next week :-) | 15:07 | |
BrokenRobot | :) | ||
BooK | I need to write my META.json to add my own module to the Ecosystem | 15:08 | |
BrokenRobot | This module can be helpful (and it's meta used as a base to start from): metacpan.org/pod/Test::META | 15:09 | |
15:09
MilkmanD1n joined
15:10
ocbtec_ joined,
Timbus left,
ocbtec left,
noganex_ left,
sjohnson joined
|
|||
BooK | one thing I was wondering, was that I saw version numbers in META files, so is there a publication process? | 15:10 | |
15:10
MilkmanD1n is now known as MilkmanDan
|
|||
BooK | other than "grab master on github" ? | 15:10 | |
lizmat | not right now, but there will be :-) | 15:11 | |
15:11
Timbus joined,
as joined,
noganex joined,
jervo joined
|
|||
ugexe | zef will use versions if it finds them, such as with jdv's metacpan demo | 15:12 | |
15:19
uniejo left
15:21
ssotka joined
15:35
maddingue joined
15:41
tokomer joined,
cdg_ left
15:43
sno left
15:46
kurahaupo joined
15:50
lizmat left
15:51
adu joined
15:53
freezerburnV joined
|
|||
dalek | c: 821b6ae | (Zoffix Znet)++ | html/.htaccess: Always use HTTPS (Closes #621) |
15:57 | |
15:57
mohae left
15:58
abraxxa left
16:00
kid51 joined
|
|||
dalek | k-simple: 40b71e0 | timotimo++ | Build.pm: downloader for dlls was missing a "flat" symptom was "couldn't parse url blah HASHHASHHASH |
16:00 | |
16:00
tokomer left
16:03
domidumont joined
16:11
huggable left
|
|||
cognominal | hi; is there any other container than Scalar ? | 16:12 | |
yoleaux | 21 Jun 2016 01:19Z <raiph> cognominal: I've posted some questions about your slang proposal at gist.github.com/cognominal/d181082...af6d51a42d | ||
16:12
huggable joined
|
|||
timotimo | Proxy is a container other than Scalar | 16:12 | |
our NativeRefs are containers, too | |||
cognominal | nice to know | 16:13 | |
16:13
lizmat joined
16:15
kid51 left
16:18
domidumont left
16:20
lizmat left
|
|||
dalek | c: aa31ec8 | (Zoffix Znet)++ | doc/Language/testing.pod: Remove needless Perl 5 module reference |
16:22 | |
moritz | Zoffix: I'm worried about your commit 821b6ae36fa630ed9b205d4321c63156587735a2 in the docs repo, because let's encrypt uses the HTTP URLs for verification | 16:23 | |
Zoffix: so the next certificate update will fail | |||
16:24
mohae joined
|
|||
moritz | should exclude .well-known/.* URLs | 16:24 | |
hahainternet | really enjoying the yapc vids this year | 16:25 | |
dalek | c: 6c18da7 | (Zoffix Znet)++ | doc/Language/testing.pod: Reword “Substitute 'damn' every time you're inclined to write 'very;' your editor will delete it and the writing will be just as it should be.”― Mark Twain |
16:26 | |
hahainternet | still audio issues, but listenable, especially cause i have ardour running :D | ||
timotimo | you're piping the audio through ardour? :) | ||
hahainternet | timotimo: all my system audio goes pulseaudio -> jack -> ardour -> jack -> alsa | 16:27 | |
dalek | c: b227d47 | moritz++ | html/.htaccess: Unbreak let's encrypt domain verification |
||
moritz | Zoffix: ^^ should fix it, I hope | ||
(untested) | |||
hahainternet | timotimo: i have a few different pulse jack sinks, hooked up to different ardour inputs, so i can switch with two clicks to a compressor chain for badly mastered audio, for example | ||
or a high-pass filter chain, for when i'm listening to things at night | 16:28 | ||
highly recommended | |||
timotimo | that's totally sensible | ||
hahainternet | it also means when someone publishes a video with a left channel only, i can just drag the panner to reduce the stereo imaging to 0, and problem solved | ||
timotimo | though as i mentioned before, i bet there's a pulseaudio one-liner that'd give me a "make only-left-channel audio enjoyable" sink, too | ||
hahainternet | there is channel mapping, so yeah you'd just have to declare a 1 channel sink i think, but panning is a bit more than the standard | 16:29 | |
16:32
dha left
|
|||
dalek | c: 88515a0 | (Zoffix Znet)++ | html/.htaccess: Use more specific HTTPS exclusion rule |
16:34 | |
BrokenRobot | moritz: letsencrypt updates certificates over unencrypted HTTP? | ||
16:38
dakkar left
|
|||
[Coke] | doing a doc build with rakudo-latest. still slowww. | 16:41 | |
16:43
donaldh left
16:45
El_Che_ is now known as El_Che
16:51
sno joined
|
|||
dalek | osystem: 63a826e | (Zoffix Znet)++ | META.list: Add Pretty::Topic to ecosystem Alias $_ topical variable to something prettier: github.com/zoffixznet/perl6-Pretty-Topic |
16:59 | |
17:04
donaldh joined
|
|||
timotimo | fantastic | 17:05 | |
BrokenRobot | Mr. Fantastic! | 17:06 | |
ilmari | Mr. Bombastic! | 17:07 | |
hahainternet | i'd like an enum, but also need an association between a single character and each enum, so for example, 'A' => ALPHA .. I can do this with an enum type and a hash, but is there anything 'nicer' i should be doing? | 17:09 | |
timotimo | you need multiple keys to point at the same enum value? | ||
stevieb | I have a bunch of subroutines (yep, subs, not methods) that are named as such: log0(), log1()..log7(). I'd like to do something like ``for (0..7){ "log$_"()}''. How in perl6 can I call a stringified sub name? | 17:10 | |
timotimo | you can grab it from the lexical environment with ::('...') | ||
cognominal | timotimo: how would you exhibit this containers using .VAR ? | ||
hahainternet | timotimo: something akin to that, i want the safety of the enum type | ||
ilmari | hahainternet: I'd use a reference table instead of an enum type | ||
then make the columns that use it foreign keys to the table | |||
that way you can more flexibly modify it too | |||
hahainternet | ilmari: there's no database :) | ||
timotimo | m: my int $foo = 10; sub do-it(int $bar is rw) { say $bar.VAR.WHAT }; do-it($foo) | ||
camelia | rakudo-moar 7b2710: OUTPUT«(IntLexRef)» | ||
cognominal | or is that things internal to rakudo | 17:11 | |
17:11
firstdayonthejob joined
|
|||
BrokenRobot | m: use Test; my $s = "is"; ::("&" ~ $s)(2, 3) | 17:11 | |
camelia | rakudo-moar 7b2710: OUTPUT«not ok 1 - # Failed test at <tmp> line 1# expected: '3'# got: '2'» | ||
ilmari | hahainternet: doh, I confused this channel with #postgresql for a moment | ||
BrokenRobot | stevieb: ^ | ||
timotimo | hahainternet: you can have a bunch of consts that are bound to the values of the enum | ||
hahainternet | ilmari: :D | ||
stevieb | BrokenRobot: cool, thanks! | ||
timotimo | cognominal: did you see my eval up there among the other stuff? | 17:12 | |
ilmari | hahainternet: I've been hacking on some enum type functionality there, so my mind went enum -> postgres | ||
hahainternet | timotimo: well that's equivalent to the hash method isn't it? { A => ALPHA } etc | ||
timotimo | hahainternet: it is, except you don't have to access a hash for that to work | ||
BrokenRobot | m: use Test; my $s = "is"; my &another-is = ::("&" ~ $s); another-is 2, 3 # stevieb <-- you can store the look up in a var too | ||
camelia | rakudo-moar 7b2710: OUTPUT«not ok 1 - # Failed test at <tmp> line 1# expected: '3'# got: '2'» | ||
timotimo | as in, the enum exports its symbols for you. if you have consts you'll also be able to export these extra names | ||
hahainternet | timotimo: you mean declare a const 'A' or similar? that'd work but i am happy with the hash lookup, just wondered if there was any facility i missed | ||
ilmari: i do like postgres' type system limited as it is, it makes things 'strong enough' | 17:13 | ||
timotimo | const A = ALPHA; const B = BETA; ... | ||
cognominal | m: sub a(int $a is rw ) { say $a.VAR }; my int $a; a($a) | ||
camelia | rakudo-moar 7b2710: OUTPUT«0» | ||
hahainternet | timotimo: i'm with you, yeah that doesn't offer any giant advantage for me, i'll stick with the simple hash which does the job | ||
thanks for the thoughts though | |||
BrokenRobot | Maybe Map a better type, since it's immutable? | 17:14 | |
cognominal | btw, a suboptimal error message... | ||
m: sub a(int $a is rw ) { say $a.VAR }; a(0) | |||
camelia | rakudo-moar 7b2710: OUTPUT«Expected a native int argument for '$a' in sub a at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
hahainternet | BrokenRobot: merci, exactly the info i want :) | ||
timotimo | ah, yes, it should complain it's not read-write | ||
hahainternet | i'm evangelising perl6, and i have to add the caveat that i've no idea what i'm talking about half the time :D | 17:15 | |
timotimo | cognominal: i'm working on a fix right now | ||
cognominal | timotimo, sorry I missed it | ||
exactly what I wanted. timotimo++ | 17:16 | ||
I needed the .WHAT, silly me. | |||
timotimo | is it "modifiable" or "modifyable"? | 17:17 | |
i think the former | |||
cognominal | me too | ||
geekosaur | the former | ||
timotimo | good | ||
hahainternet | 'mutable', just to annoy people | ||
timotimo | the commit just landed and is now open for more bikeshedding | 17:18 | |
cognominal | timotimo++ | 17:19 | |
ilmari | muteable | ||
timotimo | cognominal: pretty much everything deconts, that's why you get the value in the container rather than the container itself when you say it | 17:20 | |
zefram has a ticket open about it, but i haven't had the energy to properly address his concerns | |||
hahainternet | ilmari: mutateable :) | ||
ilmari mutes hahainternet | |||
hahainternet mutates | 17:21 | ||
ilmari | as long as you dont metastasize | ||
timotimo muus | |||
hahainternet | ilmari: isn't that the principle purpose of life? | ||
we call it something nicer though, 'childbirth' | |||
timotimo | please don't do it publically on the #perl6 irc, though | ||
hahainternet | s/principle/principal? | 17:22 | |
my grammar is poor | |||
cognominal | Can we have multiple level of containers, like multiple pointer indirection in C. Does that even make sense? | ||
I want to make slides about boxing and containers but I don't master the suject. :( | |||
timotimo | it should be possible if you write MAST directly, but not when you write perl6 code | 17:23 | |
i'm not sure if you can do it if you write nqp code. perhaps you can. | |||
you'll have to be very careful, though | |||
cognominal | ok. | 17:24 | |
timotimo, do you have a similar example for proxies ? | 17:25 | ||
timotimo | that's because rakudo pretty much deconts everywhere | ||
let me quickly whip one up | |||
m: my $foo := Proxy.new(FETCH => -> | { "yo" }); say $foo.VAR.WHAT; say $foo | |||
camelia | rakudo-moar 7b2710: OUTPUT«Required named parameter 'STORE' not passed in block <unit> at <tmp> line 1» | ||
timotimo | m: my $foo := Proxy.new(FETCH => -> | { "yo" }, STORE => -> | { }); say $foo.VAR.WHAT; say $foo | 17:26 | |
camelia | rakudo-moar 7b2710: OUTPUT«(Proxy)yo» | ||
17:26
firstdayonthejob left
|
|||
timotimo | m: my $foo := Proxy.new(FETCH => -> | { "yo" }, STORE => -> | { }); say $foo.VAR.perl | 17:26 | |
camelia | rakudo-moar 7b2710: OUTPUT«Str.new» | ||
timotimo | ^- see how the .perl method also deconts? | ||
cognominal | yes | ||
timotimo | WHAT doesn't because it's not an actual method | ||
it behaves a bit like a macro, but it's actually implemented as a special case in the grammar if i'm not mistaken | |||
cognominal | yes, that's a compile time generated code. | 17:27 | |
17:27
firstdayonthejob joined
|
|||
timotimo | oh | 17:28 | |
could someone do me a big favor and rip out @*INC from GTK::Simple::NativeLib? it's used on windows to find the .dll files it downloads during Build.pm | |||
it should instead be using %*RESOURCES | |||
but i've never worked with %*RESOURCES, and i don't have a windows machine handy to test that stuff | 17:29 | ||
cognominal | github.com/rakudo/rakudo/blob/nom/....nqp#L5240 # here the code generator for .WHAT | 17:30 | |
BrokenRobot | m: -> $x is rw {}(1) | 17:32 | |
camelia | rakudo-moar 053729: OUTPUT«Parameter '$x' expected a writable container, but got Int value in block <unit> at <tmp> line 1» | ||
BrokenRobot | timotimo: FWIW ^ other errors call it "a writeable container" not modifiable Foo | ||
timotimo | ah! | 17:33 | |
in this case it's not really a container as the user would understand it | |||
after all, they declare "my int $foo" in order to not have a container | |||
BrokenRobot | Ah | 17:34 | |
parabolize | topics shall for evermore be known as 💩 if they are generally disgusting or the_goddamnit if they are forgettable | ||
timotimo | so i'm not sure "writable container" is the best wording here | 17:35 | |
17:36
donaldh left
|
|||
BrokenRobot | I find it amusing that we have a poop emoji, yet Unicode Consortium rejected the rifle one. | 17:37 | |
mspo | BrokenRobot: agreed | ||
there is tons of weird stuff in there | |||
BrokenRobot | And man shooting a gun was one of the rejected too, wasn't it? I wonder what they'll say for man throwing poop | ||
mspo | is't :gun: already a thing anyway? | ||
BrokenRobot | Yeah | ||
mspo | I only use custom king of the hill emoji anyway :) | 17:38 | |
:boomhauer: | |||
pmichaud | good afternoon, #perl6 | ||
parabolize | its worth a try. I would use it incessantly on irc | 17:39 | |
cognominal | the rifle emoji was part of an olympic serie but google or Apple strongly objected. | ||
timotimo | is there also a "stabbing with knife" emoji that you can combine with the different "person" emoji? | ||
mspo | guess you have to use :skier: :gun: | ||
timotimo | "adult male stabbing young child" | ||
cognominal | I think the character will be there but without a associated glyph | 17:40 | |
mspo | timotimo: is that an olympic sport now? | ||
17:40
girafe joined
|
|||
timotimo | could be! | 17:40 | |
17:40
lizmat joined
|
|||
cognominal | Probably a good way to make a pedagogic distinction between the character and its glyph. | 17:41 | |
timotimo AFK | |||
cognominal | not yet a unicode proposal for unicode composition ? | 17:42 | |
s/unicode/emoji/ | |||
s:2nd/unicode/emoji/ | |||
BrokenRobot | m: '䘕'.uninames.say | 17:46 | |
camelia | rakudo-moar 053729: OUTPUT«(<CJK Ideograph Extension A>)» | ||
BrokenRobot | "Unicode Han Character 'prostitute, a trade; an occupation; a profession' (U+4615)" | ||
mspo | cognominal: great idea | 17:48 | |
cognominal | mspo: not so sure but bound to happen someday | ||
hahainternet | doesn't it already work to some extent? | 17:49 | |
damian's yapc talk showed something along those lines | |||
i believe showing two men kissing vs the alternatives, but i'd have to go back and re-watch | 17:50 | ||
17:50
dha joined
|
|||
BrokenRobot | I don't think that's in Rakudo. Wasn't that still an unfinished spec? | 17:50 | |
17:51
mr-foobar joined
17:53
uniejo joined,
spider-mario joined
|
|||
cognominal | two men and cat in quantum superposition within a box ? | 17:53 | |
parabolize | heh, that was a cool talk | ||
cognominal | probably not legal in every state | 17:54 | |
hahainternet | ah no sorry it was ricardo's talk | ||
www.youtube.com/watch?v=gmmVGPdcItM#t=20m | |||
(and in perl5) | |||
cognominal | especially with cyanure involved | ||
17:57
rurban_ left
|
|||
mspo | m: Ⅲ+Ⅷ.print | 17:57 | |
camelia | rakudo-moar 053729: OUTPUT«WARNINGS for <tmp>:Useless use of "+" in expression "Ⅲ+Ⅷ.print" in sink context (line 1)8» | ||
BrokenRobot | precedence | ||
cognominal | Is larry talking in an hour. I don't want to miss the feed | 17:58 | |
mspo | m: (Ⅷ + Ⅷ).say | ||
camelia | rakudo-moar 053729: OUTPUT«16» | ||
hahainternet | the only scheduled livestream listed was for the Q&A in 90 mins i think, but please let me know if you know more cognominal | 17:59 | |
mspo | who decided that should work? :) | ||
hahainternet | mspo: the unicode consortium i guess | ||
timotimo | anything that has a unival can be used as numbers | ||
BrokenRobot | m: say $_ %% Ⅴ*Ⅲ ?? 'Fizz Buzz' !! $_ %% Ⅲ ?? 'Fizz' !! $_ %% Ⅴ ?? 'Buzz' !! $_ for ^Ⅹ*Ⅹ | 18:00 | |
camelia | rakudo-moar 053729: OUTPUT«Fizz Buzz12Fizz4Fizz BuzzFizz78FizzFizz Buzz11Fizz1314Fizz Buzz1617Fizz19Fizz BuzzFizz2223FizzFizz Buzz26Fizz2829Fizz Buzz3132Fizz34Fizz BuzzFizz…» | ||
hahainternet | that would be beautiful if not for the poor font rendering in my terminal :( | ||
mspo | m: say ↂ + ⅿ | ||
camelia | rakudo-moar 053729: OUTPUT«11000» | ||
cognominal | hahainternet, www.youtube.com/watch?v=O8ZmqhaqaYw yea, there is even a count down | ||
BrokenRobot | m: my %h = :ↂ foo, :ⅿ bar; say %h | 18:01 | |
camelia | rakudo-moar 053729: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Malformed initializerat <tmp>:1------> 3my %h = :7⏏5ↂ foo, :ⅿ bar; say %h expecting any of: colon pair» | ||
mspo | BrokenRobot: that belongs on the resumé | ||
hahainternet | cognominal: i didn't know if that was the full session or not, i'm not really following too closely | ||
BrokenRobot | mspo: trust me, I don't want to work for any company that evuates their developers based on whether they can do FizzBuzz :) | 18:03 | |
hahainternet | i just finished a perl test for a company, it was a card game one, nothing exciting really | ||
had another test which was to make a simple webpage for retrieving from a REST API, that was a pretty good test | 18:04 | ||
mspo | make a web page for retrieving from a rest api? | ||
so a web page that calls another web page? | |||
hahainternet | a webpage that aggregates some stats from an upstream page | ||
mspo | okay | ||
hahainternet | it was all json so it's fair to call it an API imo | 18:05 | |
BrokenRobot | Last one I had was a GUI for data + upload from CVS file with very little details given to judge how you can make decisions. | ||
hahainternet | but it was a nice freeform test, so i could show off a little bit | ||
BrokenRobot had a JS injection vuln in that thing by mistake >_< | |||
mspo | the real trick is good timeouts when you are gathering from other places | ||
hahainternet | mspo: i used Go but didn't have time to add cancellation support from the start using contexts :( | ||
cognominal | I have a questionning for TimToady Larry Wall btw. Can you forward to him? There is a rakudo release every month. I don't know the version numbers. Some (Many?) linux include the december 2015 rakudo which is sloooow. When will it be time to trumpet a better rakudo even if still 1.0. When better jit has landed ? | 18:06 | |
hahainternet | but i showed off a bit by implementing background workers and dispatching in parallel for paginated replies | ||
BrokenRobot | .tell TimToady message for you: irclog.perlgeek.de/perl6/2016-06-22#i_12713791 | ||
yoleaux | BrokenRobot: I'll pass your message to TimToady. | ||
hahainternet | cognominal: diwali i think is the next milestone of note | ||
BrokenRobot | cognominal: just use .tell command :) | ||
hahainternet | but rakudo is its own project | ||
BrokenRobot | cognominal: the versions follow YYYY.MM pattern | 18:07 | |
pmichaud | cognominal: what problem is it you're really wanting to solve there? | ||
BrokenRobot | cognominal: for compiler, not the language. | ||
I'd imagine 2016.06 rakudo is way faster than 2015.12 | 18:08 | ||
cognominal | pmichaud linux distributions giving a stale aka sloooow rakudo version. | ||
pmichaud | we don't get to tell the linux distros which version of rakudo to package | ||
18:08
dupek joined
|
|||
pmichaud | that's really up to them. We always advise that they should package the most recent star release | 18:08 | |
cognominal | but we can trumpet we are way faster than in december | ||
pmichaud | trumpet where? how? | 18:09 | |
at least for debian, they already know that later versions are way faster than the one they have | |||
cognominal | I think this QA can be a good occasion. | ||
BrokenRobot | cognominal: here are some speed charts: tux.nl/Talks/CSV6/speed4.html | 18:10 | |
That's not for the whole language just a CSV module. | |||
pmichaud | here's where rakudo packaging for debian stands: packages.debian.org/search?keywords=rakudo | 18:11 | |
cognominal | And the question of versionning is not clear to me. Do we support module versionning as well. | ||
BrokenRobot | As for trumpeting, we avoid anouncing Rakudo releases to avoid confusion and only do Rakudo Star. This means the latest trumpeting would be about 2016.04 Rakudo Star, despite many speed improvements that landed since then | ||
m: use Test:ver<4343> | 18:12 | ||
camelia | rakudo-moar 053729: OUTPUT«===SORRY!===Cannot resolve caller Numeric(Version: ); none of these signatures match: (Mu:U \v: *%_)» | ||
BrokenRobot | :S | ||
m: use Test:ver<v4343> | |||
camelia | rakudo-moar 053729: OUTPUT«===SORRY!===Could not find Test:ver<v4343> at line 1 in: /home/camelia/.perl6 /home/camelia/rakudo-m-inst-2/share/perl6/site /home/camelia/rakudo-m-inst-2/share/perl6/vendor /home/camelia/rakudo-m-inst-2/share/perl6 CompUni…» | ||
pmichaud | it looks as though debian is currently packaging 2016.05 ... ? | ||
cognominal | I think I was looking manjaro when I saw a stale rakudo | 18:13 | |
mspo | did the build ever grow destdir support for the build-time dependencies of nqp and moar? | ||
if so I will restart getting into pkgsrc | |||
BrokenRobot | I got Version: 2014.07-4 in my repos :/ | ||
ilmari | BrokenRobot: that's i debian stable | 18:14 | |
BrokenRobot | Ah | ||
18:14
dupek is now known as perl-lover
|
|||
perl-lover | hi | 18:14 | |
;) | |||
pmichaud | cognominal: you can certainly talk to packagers and suggest they upgrade to later rakudos. My general feeling is to encourage whatever release corresponds to star (because there we have some feeling that modules work with that version of rakudo) | ||
ilmari | which only gets security and critical bugfixes once it's released | ||
BrokenRobot didn't know that | |||
18:14
cdg joined
|
|||
cognominal | pmichaud, ok | 18:15 | |
18:15
uniejo left
|
|||
pmichaud | I wouldn't expect packagers to keep up with bleeding rakudo... that's not normal for any language. | 18:16 | |
ilmari | pmichaud: .06 has been out less than a week. but .05 was packaged only 4 days after it was released upstream | ||
no, 9 days | |||
mspo | if the build is easy then packagers will do a better job keeping things up to date :) | ||
cognominal | so manjaro, if my memory serves me well, is not representative | ||
ilmari | .04 was packaged 6 days after the release | 18:17 | |
pmichaud | mspo: agreed completely... I've always held that if packagers will tell us what we can do to make their lives easier, we'll do it (if we can) | ||
that doesn't always mean that we can, unfortunately. | |||
mspo | pmichaud: don't try to install/rely on system-global nqp during moar build | ||
or whatever the dependency tree is/was | |||
BrokenRobot | .06 has issues with generating an .rpm | ||
pmichaud | mspo: that's one where we currently can't fix that | ||
mspo | :) | ||
pmichaud | precompiled-modules aren't currently transportable across instances of nqp | 18:18 | |
ilmari | mspo: are you trying to package all of moar, nqp and rakudo as one package? | ||
mspo | ilmari: yes, the rakudo star package, aliases to lang/perl6 | ||
18:19
acrussell left
|
|||
mspo | I don't really get why nqp is its own thing | 18:19 | |
BrokenRobot | mspo: you can build things other than Perl 6 compiler with it | ||
mspo | is it acceptable to develop things directly in nqp? | ||
ilmari | debian does it as separate packages, and nqp Build-Depends: moarvm-dev, and rakudo Build-Depends moarvm-dev and nqp | ||
nine | BrokenRobot: the .rpm issue seems to have been a one time fluke | 18:20 | |
BrokenRobot | Ah. Awesome! | ||
18:20
domidumont joined
|
|||
mspo | I recall some drama about a pod parser in nqp | 18:20 | |
ilmari: yeah that's how we will do it once there is round-tuits from someone(tm) (me, probably) | 18:21 | ||
nine | pmichaud: I'm not sure if we still need star for module compatibility. We do try to stay compatible with 2015.12 as much as possible. | ||
ilmari | does rakudo need the moarvm headers to build? | ||
mspo | ilmari: but then we are making our own "rakudo star" and have to just track it sort of manually | ||
ilmari: rakudo calls moar during the build | |||
18:22
cognominal left,
uniejo joined
18:23
cognominal joined
|
|||
pmichaud | I have always positioned nqp as "it's completely normal to develop things here" | 18:24 | |
nine | ilmari: I'm quite sure, yes. | ||
mst | pmichaud: I didn't parse that | ||
pmichaud | I see NQP as being more than simply "a language for creating Perl 6". It's designed and intended to eventually host other languages as well | ||
ilmari | mspo: yeah, but I'd have thought just the binary to run bytecode files. moarvm-dev is just the headers (/usr/include/moar/*) | ||
nine | ilmari: src/vm/moar/ops/perl6_ops.c includes moar.h | 18:25 | |
freezerburnV | What's the proper way to create a process that persists after the perl6 process has quit? | ||
mst | pmichaud: ah, so, you're sorrrrt of regarding it as an asm.js ? | ||
pmichaud | I don't know what asm.js is | ||
mst | except rather more amenable to manual implemenattion | ||
18:26
acrussell joined,
cognominal left
|
|||
pmichaud | to me, nqp is largely what parrot was trying to be | 18:26 | |
it's a platform for developing multiple HLLs that can then be run on multiple backends | |||
jdv79 | except parrot only had one backend ever, right? | 18:27 | |
nine | Well parrot was the backend :) | ||
ilmari | nine: I see tools/build/Makefile-Moar.in adds -I$(PREFIX)/include/dyncall, but I don't see any actual references to dyncall elsewhere | 18:28 | |
nine: ah, but moar.h includes dyncall.h, so it needs that in the include path | 18:29 | ||
18:30
cognominal joined
18:34
_mg_ joined,
FROGGS joined
18:37
brrt joined,
|2321 joined
18:38
perl-lover left
18:46
uniejo left
18:47
lizmat left,
Actualeyes left
18:48
zacts joined,
perl-lover joined
18:50
_mg_ left
18:51
dha left,
z8 joined
|
|||
BrokenRobot | How can I build an older rakudo commit from a checkout? It seems to still be using latest and greatest nqp/moarvm versions. I see this in the make log "Using /tmp/tmp.kAwzO2rhvR/rakudo/install/bin/nqp-m (version 2016.06 / MoarVM 2016.06)" and it fails with "failed to load library 'dynext/libperl6_ops_moar.so'" | 18:52 | |
18:52
z8 left
|
|||
nine | BrokenRobot: run config.sh before make | 18:52 | |
BrokenRobot: if that doesn't work, you need to manually install an older nqp/moar | 18:53 | ||
BrokenRobot: or wipe your install directory | |||
moritz | BrokenRobot: if you clean out install/ (and thus the "older" newest nqp/moarvm), then Configure.pl --gen-moar will build the corresponding versions for you | ||
BrokenRobot | Ah. Thanks! | 18:54 | |
cognominal | m: my buf $buff | ||
camelia | rakudo-moar 053729: OUTPUT«5===SORRY!5===Type 'buf' is not declared. Did you mean 'Buf'?at <tmp>:1------> 3my buf7⏏5 $buffMalformed myat <tmp>:1------> 3my7⏏5 buf $buff» | ||
BrokenRobot | Check it out :) twitter.com/unicode/status/745677089760698368 | ||
\o/ butterfly is sponsored :) | 18:55 | ||
And they even managed to misspell my name on the adoption list rofl: unicode.org/consortium/adopted-char...tml#g1F98B | 18:57 | ||
18:57
telex joined
|
|||
hahainternet | BrokenRobot: doh! | 18:58 | |
timotimo | zol-fix | 19:01 | |
19:03
brrt left
|
|||
timotimo | will we get a "sponsorship" module for unicode that exposes this list? | 19:03 | |
19:03
CIAvash left
19:04
andreoss left
19:05
adu left
|
|||
cognominal | timotimo, another question. The specs talk about types like buf, but they exists only in the spec. Is there unboxed types in Perl 6 besides int and num ? | 19:06 | |
timotimo | m: say buf | 19:07 | |
camelia | rakudo-moar 053729: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: buf used at line 1» | ||
19:07
xtreak joined,
addison joined
|
|||
cognominal | m: my num $i = 1.1 | 19:07 | |
camelia | rakudo-moar 053729: OUTPUT«This type cannot unbox to a native number: P6opaque, Rat in block <unit> at <tmp> line 1» | ||
cognominal | m: my num $i = 1.1.Num | ||
camelia | ( no output ) | ||
timotimo | buf isn't really "unboxed", it's "unboxing" | ||
19:07
setty2 joined
|
|||
timotimo | like my int @foo has integers in a tightly packed array | 19:07 | |
Buf is actually very much like a buf would be, i expect | 19:08 | ||
cognominal | I don´t get the unboxed versus unboxing | 19:09 | |
BrokenRobot | cognominal: there's int8, int16, int32, int64, same for num | ||
there's also str | |||
timotimo | cognominal: well, when you have an array of Int, you'll have scalar containers on top of Int objects | 19:10 | |
cognominal | my int8 $i = 0 | ||
timotimo | with an array of int, you've got only ints in it | ||
cognominal | m: my int8 $i = 0 | ||
camelia | ( no output ) | ||
BrokenRobot | Oh and uint | ||
(and uint8 ... and so on) | |||
timotimo | oh, hold on a minute, my num $i = 1.1 should tell you to try .Num on it | ||
m: my Num $foo = 1.1 | |||
camelia | rakudo-moar 053729: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Cannot assign a literal of type Rat (1.1e0) to a variable of type Num. You can declare the variable to be of type Real, or try to coerce the value with 1.1e0.Num or Num(1.1e0), or just write the value as 1.1…» | ||
timotimo | ah, only for the capitalized versions it seems | ||
we should make that also work with the native versions | 19:11 | ||
cognominal | beside integers, string and nums. Is there anything that is available in the unboxed (that is non OO form) | ||
timotimo | you want the term "native", probably | ||
cognominal | yea | ||
timotimo | there's plans for native Complex, but no implementation | ||
not sure about rat vs Rat | |||
19:11
darutoko left
19:19
ChanServ sets mode: +o mst,
|2321 was kicked by mst (|2321)),
mst sets mode: +b *!uid160582@gateway/web/irccloud.com/*,
cyphase left,
mst sets mode: -o mst
19:20
cyphase joined
|
|||
mst | (user repeatedly abused people including homophobic slurs in assorted channels, just /msg-ed them to try and deal with it got 'you know I got your dox fagboi', ran out of patience) | 19:20 | |
timotimo | "your dox"? | ||
i know "doxxed" or "to dox", but "a dox"? | |||
BrokenRobot | .oO( dox? ) |
||
timotimo | anyway, AFK for dinner reasons | 19:21 | |
mst | it means "I could publish your details if I wanted to" | ||
of course, as a director and shareholder of shadowcat, Companies House already did | |||
BrokenRobot | heh | ||
timotimo | since you're not a women, i'm pretty sure you won't have many people trying to murder or rape you when your details get out there | ||
19:21
lizmat joined
|
|||
timotimo | so ... yay i guess? | 19:21 | |
19:22
kid51 joined
|
|||
vendethiel | Q&A time! | 19:22 | |
19:23
khw joined
19:28
acrussell left
19:29
acrussell joined,
smls joined
|
|||
hahainternet | haha someone unplugged the stream D: | 19:30 | |
smls | m: my \term = 42; say term\ .Str | ||
camelia | rakudo-moar 053729: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable '&term' is not declaredat <tmp>:1------> 3my \term = 42; say 7⏏5term\ .Str» | ||
cognominal | Not even Chartreuse | ||
smls | ^^ Sigil-less terms do not like unspace after them... | ||
Is it a parser bug, or a known limitation? | |||
hahainternet | smls: probably the worst time to ask! | 19:31 | |
BrokenRobot | Why? | ||
19:31
domidumont left,
addison left
|
|||
hahainternet | there's a room full of people not ircing that would normally help | 19:31 | |
BrokenRobot: www.youtube.com/watch?v=O8ZmqhaqaYw | 19:32 | ||
BrokenRobot | Doesn't mean anyone else can't help :) | ||
BrokenRobot can't watch youtube ATM | |||
hahainternet | BrokenRobot: it's just the livestream of yapc for context | ||
vendethiel | whoops, no mic? | 19:33 | |
hahainternet | vendethiel: i've got it compressed and you can hear larry clearly, so just turn it up and pray nobody claps :) | 19:36 | |
BrokenRobot | sub foo ($c) { say $c }; foo \(4) | ||
m: sub foo ($c) { say $c }; foo \(4) | |||
camelia | rakudo-moar 053729: OUTPUT«\(4)» | ||
BrokenRobot | m: sub foo ($c) { say $c }; foo\(4) | ||
camelia | rakudo-moar 053729: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Calling foo() will never work with declared signature ($c)at <tmp>:1------> 3sub foo ($c) { say $c }; 7⏏5foo\(4)» | ||
BrokenRobot | smls: I'd say it's a bug. The spec says "Any contiguous whitespace (including comments) may be hidden from the parser by prefixing it with \" | 19:37 | |
smls | Ok, I'll submit an RT. | ||
BrokenRobot | m: say 1+3\ i | ||
camelia | rakudo-moar 053729: OUTPUT«1+3i» | ||
19:45
AlexDaniel joined
|
|||
AlexDaniel | . | 19:46 | |
yoleaux | 12:51Z <BrokenRobot> AlexDaniel: An awesome feature for bisectable would be ability to give a gist with multiple files and it test with those files. /me trying to hunt down a precomp bug ATM :) | ||
AlexDaniel | BrokenRobot: you can always give me some files and I'll run it for you | ||
BrokenRobot | AlexDaniel: well, do you have Inline::Perl5 installed? | ||
AlexDaniel | BrokenRobot: uh… does it mean that I have to install Inline::Perl5 for every build? :D | 19:47 | |
BrokenRobot | It's specifically a bug having to do with using a P5 and P6 modules in the same module | ||
lizmat | AlexDaniel: probably, yes | ||
AlexDaniel | /o\ | ||
BrokenRobot | AlexDaniel: ah, don't worry about it then :) I'm narrowing it down it nicely already | ||
AlexDaniel | ok | ||
BrokenRobot | AlexDaniel: not only Inline::Perl5 but also some ecosystem module :D | ||
It doesn't happen with just adding one P6 module by hand :P | 19:48 | ||
19:48
perl-lover left
|
|||
AlexDaniel | well, for such complex cases I think that it's better to bisect it yourself | 19:48 | |
BrokenRobot | Yeah | ||
AlexDaniel | even though it will take more than an hour probably | ||
BrokenRobot | There's probably a saner way that what I'm doing right now :) | ||
19:48
mr-foobar left
|
|||
BrokenRobot never used "bisect" | 19:48 | ||
19:48
xtreak left
19:49
xenowoolfy joined,
xenowoolfy left
|
|||
hahainternet | BrokenRobot: the git facility? it's pretty straightforward | 19:49 | |
AlexDaniel | BrokenRobot: try it, it's pretty easy | ||
BrokenRobot | I don't like learning things /o\ | ||
19:49
uniejo joined
|
|||
BrokenRobot | I narrowed it down to 67 commits already :P | 19:50 | |
BrokenRobot & # commute | |||
masak | BrokenRobot: I highly recomment (a) git bisect, (b) liking learning things ;) | 19:55 | |
recommend* | |||
19:57
xdg joined
|
|||
timeless | jnthn: hey... | 19:58 | |
github.com/jnthn/rakudo-debugger/b...ne.pm#L167 | |||
xdg | Hi. I just tried updating rakudo with "rakudobrew build moar" and got this error: gist.github.com/xdg/094377d4455766...1b2c3dafb4 | 19:59 | |
timeless | why does that file `use nqp` twice? | ||
xdg | (I did update rakudobrew first) | ||
Any suggestions? | |||
moritz | looks like a busted installation | 20:00 | |
xdg | so... blow away .rakudobrew and start over? | ||
moritz | that's what I'd do, yes | 20:01 | |
no idea if there are less invasive approaches | |||
xdg | trying that now | 20:03 | |
timeless | m: for $b ('1 2 3' ~~ /\d/) { say $b; } | ||
camelia | rakudo-moar fd98fc: OUTPUT«5===SORRY!5=== Error while compiling <tmp>This appears to be Perl 5 codeat <tmp>:1------> 3for 7⏏5$b ('1 2 3' ~~ /\d/) { say $b; }» | ||
jdv79 | or dont use rakudobrew:) | ||
20:04
uniejo left,
sno left,
uniejo joined
20:05
ZoffixMobile joined
|
|||
xdg | jdv79, that's not a helpful response unless you offer an alternative | 20:05 | |
nine | xdg: unless you are a developer who needs several parallel rakudo installations, rakudobrew is not the right tool | 20:06 | |
timeless | m: for ('1 2 3' ~~ /\d/:g) -> my $a { say $a } | 20:07 | |
camelia | rakudo-moar fd98fc: OUTPUT«5===SORRY!5=== Error while compiling <tmp>You can't adverb at <tmp>:1------> 3for ('1 2 3' ~~ /\d/:g7⏏5) -> my $a { say $a } expecting any of: pair value» | ||
nine | xdg: self!resources-dir.child($dist<files>{$prefix ~ $key}) | ||
moritz | m: for '1 2 3.comb(/\d/) -> $a { say $a } # for timeless | ||
camelia | rakudo-moar fd98fc: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unable to parse expression in single quotes; couldn't find final "'" at <tmp>:1------> 3mb(/\d/) -> $a { say $a } # for timeless7⏏5<EOL> expecting any of: single quotes …» | ||
moritz | m: for '1 2 3'.comb(/\d/) -> $a { say $a } # for timeless | ||
camelia | rakudo-moar fd98fc: OUTPUT«123» | ||
timeless | nine: that might be the case, but i've yet to see a decent "here's how to get perl6" on a non standard system (e.g. mine ppc64le) | ||
ZoffixMobile | masak, (just looked up bisect) it's basically the same as I were doing, except my method is better because (a) since I know what are the bug is in, I can choose the bisecting commit more intelligently; (b) I can blow away the repo and still continue my manual bisect :) | ||
timeless | moritz: thanks | ||
nine | xdg: git clone github.com/rakudo/rakudo.git && cd rakudo && perl Configure.pl --gen-nqp --gen-moar --backends=moar --make-install | 20:08 | |
hahainternet | ZoffixMobile: you can automate bisect with a relatively simple script though, which is where its real advantage is | ||
nine | xdg: that's really all you should need | ||
timeless: what's wrong with that ^^^? | |||
timeless | nine: well, for one, that doesn't give you a package manager | 20:09 | |
for another, panda didn't build when i tried it :) | |||
20:09
addison joined
|
|||
nine | timeless: git clone github.com/tadzik/panda.git && cd panda && perl6 bootstrap.pl | 20:09 | |
timeless | just perl6 alone doesn't get a mortal very far | ||
ZoffixMobile | I'm not in a hurry and each bisect requires me to just adjust the commit sha and re-run the command. I'm failing to see the advantage in this particular complicated case. | ||
moritz | nine: --backends=moar and --gen-nqp are implied by --gen-moar | ||
nine | moritz: oh thanks :) | ||
timeless | nine: seriously, i tried building panda, it failed, w/ a totally unhelpful error | 20:10 | |
(zef built) | |||
but... my point is that if someone comes along asking for perl6 | |||
nine | timeless: may be due to panda using File::Which which uses NativeCall | ||
timeless | the odds are that they want something similar to perl5+cpan | ||
nine | timeless: and I wouldn't be surprised by NativeCall being broken on obscure platforms | 20:11 | |
lizmat | maybe we want to revert the inclusion of File::Which on panda in the mean time ? | ||
timeless | i pasted the error i got a few weeks back here | ||
xdg | reinstalled rakudobrew worked: This is Rakudo version 2016.06-21-gfd98fc3 built on MoarVM version 2016.06 | ||
nine | timeless: yes and two lines pasted in the shell will give them the equivalent to perl5+cpan. You could even put them in a script and have them curl | bash it | ||
20:11
huggable left
20:12
huggable joined
|
|||
ZoffixMobile | timeless, those folks should just get latest R* | 20:12 | |
timeless asks brew what its opinion of panda is today | |||
wow, panda built | 20:13 | ||
timeless shrugs | |||
i suppose i could clean everything out and see if it fails, but at this point, i don't care :) | |||
the basic help from `panda` is um... not particularly readable | 20:14 | ||
'list', 'update', and 'smoke' don't take a list of module names to | |||
install. 'search' takes a string to search case-insensitively for in the | |||
database. | |||
the fact that `install.` gets wrapped to the wrong line is just plain weird. | 20:15 | ||
--force Install even if the same version of the module is already installed | |||
is a much longer line that wasn't wrapped | |||
ZoffixMobile: in case you want to just fix that :) | |||
ZoffixMobile | timeless: :/ | ||
Didn't realize I was your personal code monkey for fixing bugs in software I don't use. | 20:16 | ||
mst | timeless: paste what you got into an issue please so the exact badwrong is recorded? | ||
xdg | is there a simple summary of panda vs zef? Google failed to find anything insightful. | ||
timeless looks for panda's bug tracker | 20:17 | ||
nine | timeless: fix pushed | ||
timeless | nine: thanks :) | ||
ZoffixMobile | github.com/tadzik/panda | ||
AlexDaniel | not sure if anybody mentioned it: www.youtube.com/watch?v=O8ZmqhaqaYw | 20:18 | |
ZoffixMobile | xgd, none that I know of. zef has more features and is in more active development | ||
xdg | ZoffixMobile++ | ||
20:19
uniejo left
20:21
uniejo joined,
dha joined
20:22
adu joined
|
|||
timeless | ZoffixMobile: sorry... | 20:24 | |
ZoffixMobile | :) | ||
timeless | mst: thankfully, a bunch of people here are really fast about fixing things w/ just a line or two on irc | ||
20:25
trnh joined
|
|||
ugexe | the biggest difference, other than features/configurability, is that zef will do each step in batches. So it will fetch a module and all its deps, then test all of those modules, *then* install ALL those modules. panda will test then install each dependency before testing/installing the next. fwiw i plan to add an option to zef to allow that style of install, but the batch method makes it easier to add | 20:25 | |
concurrency and also doesn't leave unwanted deps if something upstream fails testing | |||
mst | timeless: yar, I was more thinking 'if it's programmatic line breaking they'll need to see the exact output' | 20:26 | |
nine | timeless: for the protocol, it would still have been nicer for you to just submit a pull request | ||
timeless | nine: yeah, if i had a good sense of which repo it was in/where it was, i'd do that | ||
i'm really just trying to write like 3 lines of something else | 20:27 | ||
otherwise i might never get what i'm doing done | |||
nine | timeless: well I did post the repo URL just 5 minutes before you wrote about the wrong line breaks ;) | ||
timeless | what am i doing wrong w/ perl6-debug ? www.irccloud.com/pastebin/NPVRQaL5/ | 20:28 | |
mst: yeah, you did, sorry... it's also somewhere on my computer in the rakudo space.... | 20:29 | ||
ugexe | `zef info <module-name>` will list the bugtracker for a project if one is listed | ||
timeless tries `zef info panda` | 20:30 | ||
ZoffixMobile | :o | ||
timeless | wow, impressive | ||
I suppose i should bug zef about its help www.irccloud.com/pastebin/L75YX6DM/ | 20:31 | ||
if i'm using rakudo for zef, do i use zef or rakudobrew to update zef? :) | 20:32 | ||
zef info zef | |||
Description: It's like [cpanm] wearing high heels with a tracksuit | |||
what's `cpanm`? | |||
mst | timeless: a well loved perl5 module installer | ||
timeless: CPAN, CPANPLUS, cpanm(inus) | |||
ugexe | zef --help, otherwise that usage message you see is generated by rakudo itself | ||
timeless | mst: distinct from `cpan`? | ||
mst | timeless: replacing 'cpan' for most use cases | 20:33 | |
20:33
FROGGS left
|
|||
nine | ugexe: I have a fix for the resources issue with PR 729 :) | 20:33 | |
timeless | ugexe: oh | ||
ugexe: ? www.irccloud.com/pastebin/O1gzGImI/ | 20:34 | ||
ugexe | nine: oh cool. was it related to !file-id() needing to generate a new hash with resource/ prefixed? | ||
timeless | so... | ||
ugexe | timeless: the help is lame, you cannot ask for help on a specific thing. Just `zef --help` | 20:35 | |
nine | ugexe: no, much much simpler :) Instead of having to add resources/ to the key in method resources, I have to strip it for v1 repos. I just didn't realize that you add the resources/ part already | ||
timeless | ugexe: oh... | ||
nine | ugexe: updated gist.github.com/niner/92a8e8e577ba...af5e2bdbc1 | ||
AlexDaniel | timeless: nice to see you again | ||
;) | |||
timeless | AlexDaniel: likewise | ||
unfortunately, i'm still between jobs | 20:36 | ||
timeless is trying to get the perl6-debug -D hooks to do something useful | |||
AlexDaniel | sure, like we all are :) | ||
timeless is failing miserably | |||
nine | ugexe: so now there's only the issue with the Makefile left where we still overwrite the version files with a "2" without performing a real upgrade | ||
tony-o | travis-ci.org/bbkr/GeoIPerl6 | 20:39 | |
why does travis show that as passing in the image but failed in the current tab ? .. | |||
ugexe | because the newest build passes | 20:40 | |
tony-o | the current tab shows build #8, the api also shows #8 | 20:43 | |
ugexe | nine: cool, and if I understand correctly that just means reverting that part of it altogether? | ||
20:43
wisti joined
|
|||
ugexe | Build History shows #9 as the latest | 20:43 | |
so api must be confused | |||
20:43
ZoffixMobile left
|
|||
tony-o | yea i see now, the api is just mucking it up | 20:44 | |
lizmat | battery low& | ||
tony-o | the /builds bit of the api shows it correctly | ||
20:44
lizmat left
20:45
uniejo left
20:49
sno joined
|
|||
nine | ugexe: no because then we would reset the repo version to 1 after a rakudo build even if it has already been upgraded to 2 | 20:50 | |
AlexDaniel | BrokenRobot: by the way, just in case you haven't noticed, the sources for bisectable are here: github.com/perl6/bisectbot | ||
nine | ugexe: /win 14 | 20:52 | |
ugexe: fixed in github.com/rakudo/rakudo/commit/12568089c2 | 20:53 | ||
tony-o | modules.zef.pm will have travis statuses, now - still working on a reporter for zef. does panda have a way for me to hook into the build/test process so i can send reports ? | 20:56 | |
20:56
kid51 left
|
|||
AlexDaniel | .oO( hmm… reminds me of smoke.perl6.org/report ) |
20:59 | |
21:01
uniejo joined
|
|||
tony-o | AlexDaniel: it will be similar, except it will have all of the module information + build reports in one place | 21:01 | |
readme + repository browser + repository link + other modules that meta<auth> has in the ecosystem - | 21:02 | ||
21:05
rurban_ joined
|
|||
tony-o | this is the plan, anyway | 21:05 | |
timeless | perl6-debug-m -D myTrace.pm htmlify.p6 --no-highlight | 21:07 | |
Could not find -Ilib at line 1 in: | |||
AlexDaniel: don't suppose you can explain what that error message means/how to get past it? | 21:08 | ||
21:08
Zoffix left
|
|||
AlexDaniel | timeless: unfortunately I have no idea. I've never attempted to use perl6-debug-m :/ | 21:08 | |
hm but it looks like some problem with command line arguments | 21:09 | ||
BooK | er so I `panda install`ed some module, and I'm trying to read the docs | 21:11 | |
but perl6 --doc Test::META does not seem to cooperate | |||
21:11
TEttinger joined
|
|||
timeless | BooK: you might want `p6doc` instead | 21:11 | |
mind you, i haven't gotten either to work well | |||
21:11
skids left
21:12
setty2 left
|
|||
dha | Documentation of p6 modules is... not well standardized. | 21:12 | |
21:12
kaare__ left
|
|||
timotimo | yes :( | 21:13 | |
timeless | goes the glossary define ALAP? | ||
21:13
uniejo left
|
|||
timeless | ah, it does | 21:14 | |
AlexDaniel | doc.perl6.org/language/glossary.html#ALAP | ||
:) | |||
timeless | Post-condition for block | 21:16 | |
POST {...} # assert postcondition at every block exit, after LEAVE | |||
^ is it me, or is the inconsistent hyphenation somewhat jarring for others? | |||
AlexDaniel | timeless: sure, it can be fixed | 21:17 | |
timeless | that's from `p6doc phasers` | ||
timeless isn't sure where that comes from | |||
AlexDaniel | timeless: which one do you think is more right? | 21:18 | |
21:18
addison left
|
|||
AlexDaniel | postcondition is right | 21:19 | |
done | |||
dalek | c: 51a824a | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Language/phasers.pod: Post-condition → Postcondition |
||
21:20
smls left
|
|||
timeless | Execution in the context of a block has it's own phases. | 21:20 | |
`its` is right | |||
timeless looks for a grammar checker for the file | |||
dalek | c: 68b14e2 | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Language/phasers.pod: it's → its |
||
AlexDaniel | hmmm | 21:21 | |
phases or phasers? | |||
hahainternet | i noticed in damian's talk that $xᵢ and $xⱼ now seem to work, anyone know when that was added? i was whining a few months ago about that and 2² for example, and the latter was added immediately | 21:22 | |
21:23
mr-foobar joined
|
|||
timeless | AlexDaniel: the article /seems/ to think both things exists | 21:23 | |
i can't tell if it's correct | |||
AlexDaniel | timeless: it's alright then | ||
timeless | the last instance of `Supply` should probably be C<> or L<> or something... probably C<> ? | 21:25 | |
timeless chuckles @ `p6doc Str.split | tail -20` | 21:26 | ||
21:26
acrussell left
|
|||
geekosaur | hahainternet, if you mean the literal letter subscripts, those work because they're in the Unicode category Letter | 21:27 | |
*subscript *numbers* were deemed ambiguous | |||
timeless | AlexDaniel: do you see this too? www.irccloud.com/pastebin/oeHwkQFA/ | 21:30 | |
timeless can't figure out why that would happen | 21:31 | ||
21:31
addison joined
|
|||
hahainternet | geekosaur: i'm sure that that didn't work previously, but perhaps i was doing things incorrectly | 21:31 | |
timeless | AlexDaniel: also, there's a space missing after the `,` in doc.perl6.org/language/glossary#JIT | 21:32 | |
timeless could fix but really wants to fight the debugger | |||
geekosaur | star: my $xⱼ | ||
camelia | ( no output ) | ||
AlexDaniel | timeless: hmmm I hate it when there's no space after a comma | 21:33 | |
timeless: OK I'll grep for more things like this | |||
timeless | thanks | ||
that's definitely something we should automate | |||
AlexDaniel | you mean, add tests for that? | ||
timeless | yeah | ||
p6doc -l |xargs -n1 p6doc |less | 21:34 | ||
? | |||
AlexDaniel | yup, I'm all for it. But right now you'd probably have to separate text from code examples somehow. Sure that is possible with pod parser, someone just has to do this | ||
geekosaur | wonder if there's more than one such character for some reason. the one I used lives in Latin Extended-C | 21:35 | |
AlexDaniel | what kind of tests do we have now by the way | ||
timeless | dunno | ||
AlexDaniel | timeless: hmm there are no such tests right now | 21:36 | |
geekosaur | doesn't look like it, at least for ⱼ | ||
AlexDaniel | there are some tests for pod stuff and for typegraph, but these are not about the text content | ||
21:38
xdg left
|
|||
AlexDaniel | timeless: it looks like I don't have p6doc installed the same way, so I can't run it with Str.split :/ | 21:39 | |
timeless | p6doc -l|xargs p6doc | perl -n www.irccloud.com/pastebin/FeHTpKhu/ | 21:40 | |
that seems to get a reasonable ish output | |||
the code blocks like to not include space after comma, which is definitely annoying | |||
I suppose it could look for [a-z], | 21:41 | ||
since if it's a number of UPPERCASE, it's not a word | |||
anyway, i'm not sure i found any other cases | |||
AlexDaniel | timeless: usually I just do something like grep -PR ',\w' * | less | 21:43 | |
which gives a lot of code blocks but… the output is not that huge, I can handle that | 21:44 | ||
timeless nods | |||
AlexDaniel | though I'm not sure why people don't put spaces after commas in code | ||
21:44
rgrinberg left
|
|||
timeless | i'd be tempted to ask | 21:44 | |
because it'd make this much easier :) | |||
AlexDaniel | dd @twodim[0,1;1] – it's probably OK in cases like this one | ||
timeless | yeah.. | 21:46 | |
timeless can't parse that, but, it's clearly code | 21:47 | ||
21:49
rindolf left
|
|||
masak | timeless: maybe I can help. it says "index @twodim in two dimensions. the first dimension has the values 0 and 1. the second dimension has the value 1." | 21:52 | |
so, for a matrix @twodim such as [[1, 2, 3], [4, 5, 6]], the indexing would capture [[2], [4]], I guess | 21:53 | ||
er, [[2], [5]], I mean | |||
21:55
inokenty left
21:56
dha left
|
|||
timeless | masak: thanks... | 21:56 | |
tbh, i'm more interested in how to get perl6-debug-m -D myTrace.pm ... to run | |||
21:58
Zoffix joined
|
|||
timotimo | what's -D? | 21:58 | |
timeless | timotimo: odd, it's undocumented? | 22:00 | |
timotimo | maybe? i dunno | 22:01 | |
timeless | github.com/Altai-man/perl6-Devel-Trace | ||
You can invoke tracer like perl6-debug-m -DDevel::Trace example.p6. | |||
timotimo | neat. is that much like "use trace"? | ||
probably a bit better, i guess :) | 22:02 | ||
22:02
adu left,
Zoffix left
|
|||
timeless | oh | 22:04 | |
timeless sighs | 22:06 | ||
timotimo | ah, it uses the debug hooks | 22:07 | |
that's good | |||
timeless | so, i can't figure this out | ||
22:08
rurban_ left
|
|||
timotimo | how does it fail? | 22:09 | |
timeless | like this (more or less) www.irccloud.com/pastebin/Qr799RMA/ | ||
timotimo | you did install it? | 22:10 | |
and can you "use myTrace"? or -MmyTrace from a regular script without -debug? | |||
timeless | ok | ||
by moving it into a local `lib/` directory instead of ~/.perl6, i got it to do something | 22:11 | ||
timotimo | right, inside ~/.perl6 it'd have to be installed rather than be copied over, i think | ||
timeless | you can't adverb? www.irccloud.com/pastebin/UPmCOBaB/ | 22:17 | |
timotimo | adverbs go in the front of regular expressions | 22:18 | |
s:g/.../.../ | |||
timeless | could the error be changed to say that? | ||
timotimo | it's definitely LTA | 22:19 | |
please file a rakudobug | |||
22:20
rgrinberg joined
|
|||
timeless asks zef for the info about perl6 to get the bugtracker -- and fails | 22:20 | ||
timotimo | oh | 22:21 | |
it's [email@hidden.address] | |||
timeless | oops, i needed to eat dinner 20 mins ago | ||
timeless is almost late to something | |||
timotimo | oh! | ||
bon appetit | |||
timeless | here's the script i'm using (it doesn't work) www.irccloud.com/pastebin/B2dCL6m8/myTrace.pm | 22:22 | |
22:22
girafe left
|
|||
timeless | perl6-debug-m -DmyTrace htmlify.p6 --no-highlight | 22:22 | |
as long as it's in lib/ | |||
22:22
trnh left,
wamba left
|
|||
timotimo | i didn't realize it'll look in lib/ without -Ilib | 22:23 | |
you should make extra sure you're loading the version of the script you're editing | |||
22:27
pmurias left,
lizmat joined
22:28
wisti left
22:34
spider-mario left
22:36
RabidGravy left
|
|||
masak | 'night, #perl6 | 22:38 | |
hahainternet | nn masak | 22:39 | |
22:39
skids joined
|
|||
timotimo | in method sink-all at /home/timo/perl6/install/share/perl6/runtime/./CORE.setting.moarvm line 1 | 22:43 | |
whhhyyyyy ;( | |||
aaah, with .full i get the lines, yay | 22:45 | ||
ah, the Num comes from the lines() iterator, which can have an Inf in it | 22:46 | ||
22:48
cognominal left
22:49
lambd0x joined
|
|||
lambd0x | Hi everyone! Does anyone know When will the Rakudo Perl compiler be able to generate an executable bytecode file? | 22:50 | |
22:57
firstdayonthejob left
22:59
addison left
|
|||
tbrowder | ref docs: functions | 22:59 | |
23:00
bjz left
|
|||
AlexDaniel | huggable: dunno | 23:01 | |
huggable | AlexDaniel, ¯\_(ツ)_/¯ | ||
AlexDaniel | lambd0x: ↑ | ||
lambd0x: by the way, why? | 23:02 | ||
23:02
snarkyboojum joined
23:07
snarkyboojum left
|
|||
lambd0x | AlexDaniel: I coding something and noticed that as rakudo perl is kinda new, most distros, might not ship it updated or even not ship it yet. | 23:07 | |
AlexDaniel | lambd0x: yeah, but an executable bytecode file still means that you should have rakudo installed, right? :) | 23:08 | |
what you probably want is bundle rakudo with your program… | |||
which at this moment is not possible because rakudo hardcodes some of the installation paths :( | 23:09 | ||
lambd0x | :( | ||
tbrowder | Today, I, as a newbie to p6, learned that a sub may be declared as "sub foo($a, $b){}" [no space before '('] or "sub foo ($a, $b){}" [space before '('] BUT the call must be "foo($a, $b)" because "foo ($a, $b)" is an error since only on arg is seen. It seems to me that a best practice should be to never have a space between the sub name and any use of an | 23:10 | |
opening paren whether as a call or a declaration. I see many examples in the docs of space and no space before parens in decls. In the interests of consistency alone, IMHO, we should not use the "sub foo (" form. Likewise, the doc Language | "Traps to avoid" needs to mention that incorrect usage. I'll take a stab at it if there is no objection and I have | |||
stated the situation correctly. | |||
lambd0x | AlexDaniel: thanks | 23:11 | |
AlexDaniel | lambd0x: maybe we should open a bug report with a title like “rakudo cannot be moved after installation” or something | 23:13 | |
lambd0x: this way it may partially solve your problem… well, some day | 23:14 | ||
tbrowder: I've never thought that somebody may call a function with exactly the same spacing as in declaration | 23:15 | ||
tbrowder: but you are probably right | |||
lambd0x | AlexDaniel: I saw something in StackOverFlow, an answer to a similar question made in January, explaining that since the MoarVM is kinda premature it'll take sometime but 'll be added to the maintree in the future (seems that it does exist an push suggestion there for such) | 23:16 | |
AlexDaniel: Hope won't take long. | 23:17 | ||
AlexDaniel | lambd0x: do you have a link to that answer? | ||
tbrowder | m: sub foo ($a, $b){}; foo (1, 2); | 23:18 | |
camelia | rakudo-moar 09cc2f: OUTPUT«Too few positionals passed; expected 2 arguments but got 1 in sub foo at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
AlexDaniel | lambd0x: I don't think that anybody is working on this issue. In fact, I think that nobody has it in his top 10 todo-s. | 23:19 | |
lambd0x | AlexDaniel: stackoverflow.com/questions/346631...ith-perl-6 | ||
AlexDaniel | oh, so there was such feature | 23:20 | |
cool | |||
lambd0x | Yes, but with parrot. Since the change from Parrot to Moar.. it has not been updated to work yet. | 23:21 | |
But seems, that with JVM it works | |||
stackoverflow.com/questions/271785...ile-to-exe look the answwers to the last question | |||
*answers | |||
AlexDaniel | lambd0x: cool, right. Just keep in mind that JVM backend is lagging behind a bit | 23:22 | |
by the way, what's the current status of JVM backend? | 23:23 | ||
lambd0x | Nothing is perfect, right? Just have to wait a bit. Things seems very promissing | ||
AlexDaniel | lambd0x: yup. Right now it depends on your needs. Some people are very happy with what we have now (me! Yay!), but others are very disappointed :) | 23:24 | |
lambd0x | I don't now much, I have the Moar backend here. Gentoo portage so far just offers this one. As I don't want to manually rebuilt in case of a new ebuild package release I'm sticking to the Moar | 23:25 | |
AlexDaniel | and that's fine, as long as we are moving forward | ||
lambd0x | AlexDaniel: Agreed. | ||
AlexDaniel | lambd0x: one of the biggest complaints right now is “it is too slow!”, so most efforts are put into performance issues | 23:26 | |
23:26
inokenty joined
|
|||
lambd0x | Everything that's new is mostly unstable or limited in one aspect in order to improve others, people must have patience. Things for sure gonna improve by the end of the year or closer | 23:27 | |
AlexDaniel | lambd0x: by the way, if you really want perl6 executables, maybe you can help? | ||
lambd0x | AlexDaniel: Yeah I'm aware of it. I was reading about this transition from Parrot to JVM, then to MoarVM | 23:28 | |
AlexDaniel | was there any transition at all? If I'm not mistaken, all three were supported simultaneously at some point in time | ||
23:29
cognominal joined
|
|||
AlexDaniel | it's just that parrot was dropped | 23:29 | |
lambd0x | :) | ||
I spoke a few days ago to a dev in here that explained to me that they had support for the three but had maintream dev at some and the moved the achievements to the next one | 23:31 | ||
*then... | |||
because at some point parrot became limited to the project needs | 23:32 | ||
then learned a lot about the good acpects of JVM and now are trying to apply most of these and improve performance (at this moment) | 23:33 | ||
23:33
cdg left
|
|||
timotimo | oh, i think you're right, AlexDaniel | 23:34 | |
there was a stretch of time where all three back-ends were supported on rakudo | |||
lambd0x | timotimo: hm... | ||
geekosaur | yes, there was. but the addition of moarvm led to a considerable reduction in work on the parrot backend, culminating in its removal | 23:36 | |
lambd0x | So I was wrong, sorry all :S | ||
AlexDaniel | :P | ||
timotimo | are you sure about that, geekosaur? | 23:37 | |
oh, the parrot backend | |||
i thought you meant parrot itself | |||
AlexDaniel | well, eventually kinda both | ||
geekosaur | (mostly because (a) parrot internal politics were looking bad for p6 at the time (b) moarvm was easier to work with than parrot, being designed to work with rakudo) | ||
AlexDaniel | lambd0x: but it's pretty cool that rakudo can work on different backends | 23:38 | |
and js backend is coming | |||
if somebody cared enough, maybe it would be possible to revive parrot backend… for whatever reasons… | |||
geekosaur | rakudo unicode stuff was heating up around then and parrot's unicode support at the time was being found woefully insufficient | 23:39 | |
lambd0x | AlexDaniel: Sure it is :). Also, good to learn more about this interesting dev history | ||
timotimo | huh? i don't think i knew about that unicode stuff | ||
it's just that parrot uses libiuc or what's it called... | |||
moar's unicode database should be easy-ish to transfer to parrot if we want. we might also be using it for the jvm later in development | 23:40 | ||
geekosaur | parrot's unicode was reworked a couple months after rakudo dropped support iirc. but the earlier version, while it used libicu, did not make parts of it available that rakudo needed | ||
dalek | c: a9fd27e | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/ (28 files): Space after commas As per #624 |
23:42 | |
geekosaur | (there were also questions about parrot's thread support --- but that was being rewritten from scratch around the same time that rakudo dropped the parrot backend) | 23:43 | |
parabolize | tbrowder: you can do a function call with a space between the function name and the capture if the capture isn't wrapped in parentheses like: `sub foo($x, $y){$x + $y}; foo 2, 3` | 23:54 | |
23:56
addison joined
|
|||
tbrowder | correct, and that is called the "list op" form; but if you use the "function call" form, the whitespace causes an error | 23:56 | |
parabolize | or if you declare the capture elsewhere and you pass it in: sub foo($x, $y){$x + $y}; my $c = \(2, 3); foo |$c | 23:57 | |
tbrowder | sub foo($x){}; foo ($x); | ||
m: sub foo($x){}; foo ($x); | |||
camelia | rakudo-moar 09cc2f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable '$x' is not declaredat <tmp>:1------> 3sub foo($x){}; foo (7⏏5$x);» | ||
tbrowder | m: sub foo($x){}; foo (1); | ||
camelia | ( no output ) | ||
AlexDaniel | good night o/ | ||
tbrowder | m: sub foo($x){say $x}; foo (1); | 23:58 | |
camelia | rakudo-moar 09cc2f: OUTPUT«1» | ||
23:58
AlexDaniel left
|
|||
tbrowder | m: sub foo($x, $y){say "$x, $t"}; foo (1,2); | 23:58 | |
camelia | rakudo-moar 09cc2f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable '$t' is not declaredat <tmp>:1------> 3sub foo($x, $y){say "$x, 7⏏5$t"}; foo (1,2);» | ||
tbrowder | m: sub foo($x, $y){say "$x, $y"}; foo (1,2); | 23:59 | |
camelia | rakudo-moar 09cc2f: OUTPUT«Too few positionals passed; expected 2 arguments but got 1 in sub foo at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
tbrowder | m: sub foo($x, $y){say "$x, $y"}; foo(1,2); | ||
camelia | rakudo-moar 09cc2f: OUTPUT«1, 2» | ||
tbrowder | m: sub foo($x, $y){say "$x, $y"}; foo 1,2); | ||
camelia | rakudo-moar 09cc2f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unexpected closing bracketat <tmp>:1------> 3sub foo($x, $y){say "$x, $y"}; foo 1,27⏏5);» | ||
tbrowder | m: sub foo($x, $y){say "$x, $y"}; foo 1,2; | ||
camelia | rakudo-moar 09cc2f: OUTPUT«1, 2» | ||
tbrowder | xcuse the fumbly noise |