»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
loops Feel a little sheepish about mentioning this, but for any Zsh users in the crowd.. is.gd/GcEBYq 00:10
timotimo oh that's nice 00:59
but i've switched to fish a long time ago
MasterDuke timotimo: ping 02:30
loops timotimo: have never tried Fish, but saw that 3.0 was just released 02:37
melezhik hi! I am getting this error - P6opaque: no such attribute '$!storage' on type Map in a Hash when trying to bind a value 02:38
gist.github.com/melezhik/77f8f0fc8...9dfb6c092b
any thoughts? thanks ...
loops melezhik: did you see github.com/rakudo/rakudo/issues/1407 ? 02:44
melezhik: it's already marked closed though, so probably not your issue directly, but someone mentions a "root cause" like maybe it's still lurking 02:45
melezhik loops: I have taken a look at issue ... let's see how it helps me ... 02:48
loops melezhik: it may be a red herring... 02:50
melezhik well, I reinstalled my rakudo and the issue has gone 02:53
now it is rakudo.x86_64 0:0.2018.11-1.el7
it was rakudo-pkg.x86_64 2018.09-01
loops melezhik: cool, nice when the fix has already been made 02:55
melezhik loops: yeah (-: thanks for help anyway .... 03:00
AlexDaniel :( RIP, perlpilot 03:23
Xliff Yes. 03:25
nelsonhb The Greater Yuezhi initially migrated northwest into the Ili Valley (on the modern borders of China and Kazakhstan), where they reportedly displaced elements of the Sakas. They were driven from the Ili Valley by the Wusun and migrated southward to Sogdia and later settled in Bactria, where they then defeated the Greco-Bactrian Kingdom. 07:23
jmerelo m: say %*LANG.perl 09:04
camelia Failure.new(exception => X::Dynamic::NotFound.new(name => "\%*LANG"), backtrace => Backtrace.new)
jmerelo m: say %?LANG.perl 09:05
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '%?LANG' is not declared
at <tmp>:1
------> 3say 7⏏5%?LANG.perl
jmerelo m: say $?LANG.perl 09:08
camelia Perl6::Grammar.new() #`[140422519891864]
jmerelo m: say $*LANG.perl
camelia Failure.new(exception => X::Dynamic::NotFound.new(name => "\$*LANG"), backtrace => Backtrace.new)
jmerelo m: use nqp; say %*LANG.perl 09:10
camelia Failure.new(exception => X::Dynamic::NotFound.new(name => "\%*LANG"), backtrace => Backtrace.new)
jmerelo m: use nqp; say %?LANG.perl
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '%?LANG' is not declared
at <tmp>:1
------> 3use nqp; say 7⏏5%?LANG.perl
jmerelo m: say $?LANG.perl 09:12
camelia Perl6::Grammar.new() #`[140364072859544]
jmerelo m: say %?RESOURCES 09:16
camelia Nil
jmerelo m: say ::?CLASS
camelia 5===SORRY!5=== Error while compiling <tmp>
No such symbol '::?CLASS'
at <tmp>:1
------> 3say ::?CLASS7⏏5<EOL>
jmerelo m: class Foo { say ::?CLASS } 09:17
camelia (Foo)
Geth doc: 2e4a143ad8 | (JJ Merelo)++ | doc/Type/Any.pod6
Reflow and fix
09:20
doc: a7970071de | (JJ Merelo)++ | doc/Language/variables.pod6
Eliminates indexing for %?LANG

Which is not actually implemented, and also for &?ROUTINE, which is indexed again further down. Closes #2523
synopsebot Link: doc.perl6.org/type/Any
Link: doc.perl6.org/language/variables
SmokeMachine jmerelo: is it harder to explain the variable if the “box” point to another “box” called container? 09:34
jmerelo SmokeMachine: don't quite follow you. In what context? 09:35
SmokeMachine jmerelo: the tweet you retweeted 09:38
twitter.com/programarfacil/status/...09760?s=21 09:39
jmerelo I assumed that, but the concept of "container" in the Perl 6 context took me off course... 09:42
The thing is, in Perl 6 containers can actually contain other containers, that's the whole "item" thing... You actually "unbox" variables via <>
I have used successfully the "label" or tag concept in the Perl world. I would say it works better than the "box" 09:43
jmerelo SmokeMachine: but answering your original cuestion, well, "container" and "box" are not so different in Spanish. And is you use complex data structures the whole boxing construct becomes too complicated. Tagging, on the other hand, is much easier. 09:46
El_Che jmerelo: box is a tainted term
languages like Java box and unbox variables
putting a type in a more generic one 09:47
jmerelo El_Che: typecasting? 09:47
El_Che automatically
no
jmerelo El_Che: like what we do with native types in Perl 6?
El_Che docs.oracle.com/javase/tutorial/ja...oxing.html
yes
Autoboxing is the automatic conversion that the Java compiler makes between the primitive types and their corresponding object wrapper classes. For example, converting an int to an Integer, a double to a Double, and so on. If the conversion goes the other way, this is called unboxing. 09:48
it's not really casting as the rules what you can unbox is straight forward and no information is lost
jmerelo El_Che: that's interesting :-) As far as interesting goes (for me) in the Java world, that is ;-) 09:52
moritz I'm working on a small book project again (though nothing p6 related): leanpub.com/debian 10:04
El_Che moritz: congrats! 10:08
jmerelo moritz: great! 10:10
El_Che moritz: you're making a name for yourself as an author. Nice. 10:13
moritz El_Che: nothing to congratulate on, just 20 pages so far :) 10:28
El_Che moritz: you tell me, I am writing a thesis atm 10:29
(I have written more on irc than on the text editor :) ) 10:30
jmerelo El_Che: good luck with that. Remember that it's not got to be perfect, it's got to be there. 10:36
El_Che jmerelo: yeah, I will bug you sometime in the feature if you have the time :) 10:37
jmerelo El_Che: happy to help :-) 10:40
jmerelo (or be in the jury :-) ) 10:40
moritz El_Che: what's your topic?
El_Che jmerelo: I'll keep that in mind!
El_Che however, I feel I don't have as much control on that part 10:41
I feel my advisor is thinking on people that like me :)
there are some people I met along the way in the faculty that would really appreciate being in the jury 10:43
we'll see, but I'll have you in mind once it's time to secure the names
jmerelo :-)
Sure
BTW, just baked a Docker container with the full documentation
El_Che send me a mail if you wish, with some specifics about your professorship? 10:44
jmerelo: I saw that!
nice
jmerelo Should be available here: cloud.docker.com/repository/docker...perl6-doc/ 10:45
jmerelo Hum, that's a personal URL. 10:45
Let me see
jmerelo That's the thing hub.docker.com/r/jjmerelo/perl6-doc 10:46
Geth doc: 1f754577f8 | (JJ Merelo)++ | README.md
Fixes URL
10:50
El_Che who has the rakudo top space? 10:55
Since I broke the wifi antenna cable on my linux machine, I temporarely switched to a mac. What's needed to have rakudo in homebrew? I see only Rakudo Star :( 11:00
lizmat El_Che: if you can cable between the linux box and your mac, you could share your internet connection of your mac with your linux machine 11:04
lizmat only compiles from source on her MBP
El_Che lizmat: I broke the inside antena and removed the card. Will go for something usb-like (is my oldish laptop-as-a-desktop machine) 11:06
I was moving most of my stuff here to 5ghz 11:07
and switched a lot of internal wifi cards around. But one of the antenna cable on my laptop was stuck 11:08
and took the part of the card itself
so until I can get it out, I can't connect it to a new card :(
lizmat the joys of hardware hacking :-) 11:11
El_Che lizmat: macos on azerty is painful :) Took me a while to understand Karabiner to fix it
lizmat hence my suggestion of sharing the internet connection, so you could continue to work on your linux box 11:12
El_Che typing ó o n mac os azertty: alt + shift + & + o
omg
fixed that with Karabiner :)
lizmat you could also do: keep o pressed down until menu appears, then 1
El_Che ´ + o = ó
lizmat: that's too slow 11:13
e.g. when writing in Spanish :)
lizmat ok :-)
El_Che it good to work on an other OS once in a while
bbl, food 11:14
mornfall i'm not getting any captures in a regex match in a program, but an identical regex works in repl... any ideas what could be going wrong? :\ 11:37
(the whole thing matches, it just doesn't have any captures in it?) the regex is /^\*(\d+.?\d*)$/; 11:39
oh. oh! 11:40
mornfall i said $foo ~~ /$rx/ instead of $foo ~~ $rx :( 11:41
pmurias m: use Test;is-deeply(&infix:<(+)>(Set, Set), bag(Set, Set)); 13:35
camelia ok 1 -
lizmat pmurias: that is correct: the bag() forces Bag semantics on (+) 13:41
m: dd Set (+) Set
camelia (Set=>2).Bag
lizmat that I will have to think about while I'm away& 13:42
timotimo isn't (+) Bag anyway? 13:46
pmurias timotimo: I was testing that because that test fails in precompiled mode but works in un-precompiled mode 14:00
timotimo that sounds strange 14:02
pmurias second bug that only appears in precompiled mode 14:03
&[!<] also works is not-precompiled mode too (got a fix that's not yet in master) 14:04
jmerelo squashable6: status 16:45
squashable6 jmerelo, ⚠🍕 Next SQUASHathon in 5 days and ≈17 hours (2019-01-05 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
jmerelo Spread the word!
AlexDaniel: I love this: github.com/rakudo/rakudo/wiki/save...-ASCII#-11 16:50
kybr how do i search for the --> operator? as in proto fib(UInt:D \n --> UInt:D) {*} 19:41
lizmat m: proto fib(UInt:D \n --> UInt:D) {*}; dd &fib.returns 19:42
camelia UInt:D
lizmat kybr: is that what you mean ?
kybr i want to read the docs on -->
lizmat aahh...
I think you need to make a doc issue for that :-) 19:43
kybr ok. if i had to translate it to english, --> would be "returns"
lizmat docs.perl6.org/routine/returns # closest thing 19:44
kybr docs.perl6.org/type/Signature#--%3E 19:45
lizmat kybr++ 19:46
Xliff \o 20:16
Xliff m: grammar T { TOP { <a>+ }; token a { 'a'<b>+ }; token b { 'b' }; }; class A { method TOP { say "TOP" }; method a { say "a" }; method b { say "b" }; }; T.parse("abba", actions => A.new) 20:20
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing required term after infix
at <tmp>:1
------> 3grammar T { TOP { <a>+ 7⏏5}; token a { 'a'<b>+ }; token b { 'b' };
expecting any of:
prefix
term
Xliff m: grammar T { rule TOP { <a>+ }; token a { 'a'<b>+ }; token b { 'b' }; }; class A { method TOP { say "TOP" }; method a { say "a" }; method b { say "b" }; }; T.parse("abba", actions => A.new) 20:21
camelia Too many positionals passed; expected 1 argument but got 2
in method b at <tmp> line 1
in regex b at <tmp> line 1
in regex a at <tmp> line 1
in regex TOP at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff m: grammar T { rule TOP { <a>+ }; token a { 'a'<b>+ }; token b { 'b' }; }; class A { method TOP($/) { say "TOP" }; method a($/) { say "a" }; method b($/) { say "b" }; }; T.parse("abba", actions => A.new) 20:21
camelia b
b
a
Xliff m: grammar T { rule TOP { <a>+ }; token a { 'a'<b>+ }; token b { 'b' }; }; class A { method TOP($/) { say "TOP" }; method a($/) { say "a" }; method b($/) { say "b" }; }; T.parse("abbababbab", actions => A.new) 20:22
camelia b
b
a
b
a
b
b
a
b
a
TOP
kybr after a quick look, i still don't know how to do what i'd like. i think that the search box on docs.perl6.org should map "-->" to docs.perl6.org/type/Signature#--%3E --- does the search system support mabnualy inserting index entries?
lizmat kybr: yes, using X<> afaik 20:23
Xliff Wow! Even if the grammar doesn't match at the top level, action methods are still executed? 20:25
m: grammar T { rule TOP { <a>+ }; token a { 'a'<b>+ }; token b { 'b' }; }; class A { method TOP($/) { say "TOP" }; method a($/) { say "a" }; method b($/) { say "b" }; }; T.parse("a", actions => A.new)
camelia ( no output )
Xliff m: grammar T { rule TOP { <a>+ }; token a { 'a'<b>+ }; token b { 'b' }; }; class A { method TOP($/) { say "TOP" }; method a($/) { say "a" }; method b($/) { say "b" }; }; T.parse("ab", actions => A.new)
camelia b
a
TOP
Xliff m: grammar T { rule TOP { <a>+ }; token a { 'a'<b>+ }; token b { 'b' }; }; class A { method TOP($/) { say "TOP" }; method a($/) { say "a" }; method b($/) { say "b" }; }; T.parse("abba", actions => A.new)
camelia b
b
a
Xliff ^^ Why didn't TOP run 20:26
lizmat Xliff: as soon as anything matches, it will run the associated action, afaik yes
Xliff m: grammar T { rule TOP { <a>* }; token a { 'a'<b>+ }; token b { 'b' }; }; class A { method TOP($/) { say "TOP" }; method a($/) { say "a" }; method b($/) { say "b" }; }; T.parse("abba", actions => A.new)
camelia b
b
a
TOP
lizmat otherwise keeping track of what should be executed when would be... rather tiresome ?
Xliff OK. That makes sense, now.
Thanks, lizmat! 20:27
Geth doc: c713826cee | (karl yerkes)++ (committed using GitHub Web editor) | doc/Type/Signature.pod6
put --> in the search index

  [-->](docs.perl6.org/type/Signature#--%3E)
20:39
synopsebot Link: doc.perl6.org/type/Signature
kybr i hope that works :D 20:40
lizmat we'll see 20:46
kybr how often does the docs site rebuild? daily? 21:14
timotimo multiple times daily 21:15
moritz kybr: there's a cron job that runs every 10 minutes or so, and it rebuilds if new commits were pushed 21:17
timotimo and if the cronjob isn't already running (or is that implied in every cronjob?) 21:18
moritz only one builds runs at a given time, correct 21:24
Ven`` You must construct additional builds 21:31
moritz I must? why? 21:33
Ven`` pylons are cool 21:34
lizmat hmmm.. doc build appears to be stuck at github.com/perl6/doc/commit/1f754577 ? 21:36
perhaps because of app.shippable.com/github/perl6/doc.../1/console ? 21:37
kybr's commit at github.com/perl6/doc/commits/master has a red cross because of ^^^ 21:38
moritz docs.perl6.org/build-log/?C=N;O=D doesn't list anything after 2018-12-12, which is strange 21:39
lizmat news.perlfoundation.org/2018/12/gra...-comp.html # not related
moritz I'm now triggering a build manually to see what happens 21:40
lizmat moritz++ 21:41
moritz build-2018-12-29T20:40+00:00.log looks like a successful build 21:42
moritz docs.perl6.org says "Generated on 2018-12-29T21:00:25Z" 21:43
which would be consistent if the build took 20 minutes
lizmat hmnm the cross-reference for --> didn't materialize :-( 21:45
Geth doc: 1ba6c5d7f4 | (Elizabeth Mattijsen)++ | doc/Type/Signature.pod6
Properly escape --> cross reference
21:48
synopsebot Link: doc.perl6.org/type/Signature
Geth doc: 91b2cee1e5 | (Moritz Lenz)++ | util/update-and-sync
[build] copy build log for successful builds as well
21:51
kybr lizmat: thanks. X«|-->» is cool 21:56
kybr hmm. i see the red X on my commit, but havent seen anything in the shippable logs that would have helped me figure out what my error was. 22:05
Xliff <kybr> lizmat: thanks. X«|-->» is cool 22:43
yoleaux 22:37Z <jnthn> Xliff: Yes, submethods are added via .^add_method; it drops them into a different table based on a type distiction.
Xliff Oh, good!
kyber: What does that do? 22:44
kybr, even.
kybr i'm a teacher 23:45