»ö« 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 declaration␤at <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 declaration␤at <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 1␤␤Actually 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 declared␤at <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«1␤1␤»
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«11176␤11176␤»
buharin nooo
in function
create 2 funds
psch m: sub f { say $*PID }; sub g { say $*PID }; f; g
camelia rakudo-moar 5ca24c: OUTPUT«11178␤11178␤»
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«called␤True␤»
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«True␤False␤»
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...␤5␤6␤»
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«True␤True␤»
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«True␤False␤»
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 unambiguous␤package 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 from␤at <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«oi␤True␤»
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 context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in sub term:<━> at <tmp> line 1␤No 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 Buzz␤1␤2␤Fizz␤4␤Fizz Buzz␤Fizz␤7␤8␤Fizz␤Fizz Buzz␤11␤Fizz␤13␤14␤Fizz Buzz␤16␤17␤Fizz␤19␤Fizz Buzz␤Fizz␤22␤23␤Fizz␤Fizz Buzz␤26␤Fizz␤28␤29␤Fizz Buzz␤31␤32␤Fizz␤34␤Fizz Buzz␤Fizz␤…»
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 initializer␤at <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 $buff␤Malformed my␤at <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 declared␤at <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 code␤at <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«1␤2␤3␤»
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 declared␤at <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 declared␤at <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 bracket␤at <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