»ö« 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.
[Coke] OHAI am I off the hook? 00:00
yoleaux 7 Dec 2016 23:36Z <babydrop> [Coke]: seems like we found a volunteer to fill up the last spot (tbrowder) so you're off the hook for your article
[Coke] YAY
00:00 sufrostico joined
[Coke] tbrowder++ babydrop++ 00:00
00:00 sufrosti1o joined 00:04 cognominal joined, kurahaupo_ joined 00:06 kurahaupo__ left 00:07 Actualeyes joined 00:12 pmurias left
skaji Hi! 00:15
If I create a promise (eg: my $p = start {...}), do I have to wait it (i.e. await $p)? Or can I safely ignore it?
As you know, if we use fork and create a child process, we have to wait it, otherwise it will exist as a defunct process. So I asked 00:16
00:22 pierre__ joined
babydrop skaji: safely ignore 00:22
skaji: I have 90% confidence in that answer :)
hm, 99% :) I just ran for ^1000 { start sleep 99999 } a few times and don't see any residuals in ps :) 00:24
00:24 pyrimidine joined
dalek : cad653a | (Will Coleda)++ | misc/perl6advent-2016/schedule:
tbrowder++ taking last open slot!
00:27
00:28 cpage_ joined, pyrimidine left
[Coke] m: say (0..0x1FFFF).sort(*.uniname.chars)[*-1].chr.uniname; 00:28
camelia rakudo-moar 0428b7: OUTPUT«ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM␤» 00:29
[Coke] huh.
skaji babydrop: thank you. It's true that I mentioned fok(2) and wait(2),
but I'm worried about any resouce leaks around promises 00:30
(we cannot be sure by ps(1), I think)
00:31 pyrimidine joined 00:33 cpage_ left 00:36 pyrimidine left 00:38 cpage_ joined
babydrop skaji: but I start doesn't fork, it uses threads. I don't much about it, but in the last year that I've been here, I never saw anyone mention even once that starts had to be awaited to aboid zombies 00:41
00:44 canopus left
skaji It's my bad about the example. please forget about fok/wait example. 00:47
I'm just worried about any resouce leak in perl6 around promises. 00:48
(away from IRC)
[Coke] ok. if you're really worried, please try them out, measure any leaks. 00:50
But you probably don't need to be worried. Why are you worried? 00:51
00:51 canopus joined, cognominal left 00:52 cognominal joined
skaji If I create a long running program, I want to make sure no resouce leak occur. 00:54
00:54 wamba left 00:55 sydney_falk joined 00:56 cdg_ left
dalek c: a50ac42 | coke++ | doc/Type/Cool.pod6:
update uniname/uninames docs.

  jnthn++ - closes #1019
00:57
synopsebot6 Link: doc.perl6.org/type/Cool
geekosaur [08 00:41:12] <babydrop> skaji: but I start doesn't fork, it uses threads. I don't much about it, but in the last year that I've been here, I never saw anyone mention even once that starts had to be awaited to aboid zombies 01:06
maybe on a buggy (or 2.4 kernel) linux. threads are not processes
hm, but you might still leak threads in some sense, I guess. would that be a libuv bug, or are threads using POSIX APIs directly? 01:07
01:10 aborazmeh joined, aborazmeh left, aborazmeh joined
geekosaur POSIX threads do not necessarily have to be pthread_join()ed, it depends on the underlying implementation. in the old LinuxThreads hack, you did have to or you would leak clone()d processes 01:11
in 2.6 and later kernels I don't know offhand, much less other OSes 01:12
01:14 Celelibi joined 01:15 pierre__ left
babydrop ah 01:16
geekosaur some of them might leak only thread local storage, and for some of *those* that might just be malloc() blocks whose address was only "known" to that thread 01:17
[Coke] m: say Perl.new().perl; 01:18
camelia rakudo-moar 0428b7: OUTPUT«Perl.new(compiler => Compiler.new(id => "43B4C1CEBB4FDBD96A813C805EA0537FAB635F5B.1481146226.73448", release => "", codename => "", name => "rakudo", auth => "The Perl Foundation", version => v2016.11.156.g.0428.b.79, signature => Blob, desc => Str), name …»
geekosaur but if threads are an abstraction via libuv (which they might well be; Windows threads are not POSIX threads) then you'd need to know what libuv requires to properly clean up a thread, and maybe that is already being done
01:21 pierre__ joined, cognominal left
babydrop New Advent Post: "Day 8 — How to Make, Use, and Abuse Perl 6 Subsets": perl6advent.wordpress.com/2016/12/...6-subsets/ 01:22
01:22 cognominal joined 01:25 pierre__ left 01:28 BenGoldberg joined, lucasb joined 01:30 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg
lucasb m: say $*IN.slurp-rest.chars 01:30
camelia rakudo-moar 0428b7: OUTPUT«1134␤»
lucasb m: say $*ARGFILES.slurp.chars
camelia rakudo-moar 0428b7: OUTPUT«1134␤»
BenGoldberg m: dd $*IN 01:31
camelia rakudo-moar 0428b7: OUTPUT«IO::Handle <element> = IO::Handle.new(:path(IO::Special.new(what => "<STDIN>")),:chomp)␤»
BenGoldberg m: dd $*ARGFILES
camelia rakudo-moar 0428b7: OUTPUT«IO::ArgFiles.new(:path(Any),:chomp)␤»
lucasb with $*IN I have to use '.slurp-rest', but with $*ARGFILES, I have to use '.slurp' 01:32
$*IN.slurp and $*ARGFILES.slurp-rest gives error
BenGoldberg m: $*ARGFILES.readline.say
camelia rakudo-moar 0428b7: OUTPUT«No such method 'readline' for invocant of type 'IO::ArgFiles'␤ in block <unit> at <tmp> line 1␤␤»
BenGoldberg m: $*IN.readline.say
camelia rakudo-moar 0428b7: OUTPUT«No such method 'readline' for invocant of type 'IO::Handle'␤ in block <unit> at <tmp> line 1␤␤»
BenGoldberg m: $*IN.get.say 01:33
camelia rakudo-moar 0428b7: OUTPUT«Céad slán ag sléibhte maorga Chontae Dhún na nGall␤»
BenGoldberg m: $*IN.get.say
camelia rakudo-moar 0428b7: OUTPUT«Céad slán ag sléibhte maorga Chontae Dhún na nGall␤»
BenGoldberg m: say IO::ArgFiles ~~ IO::Handle 01:34
camelia rakudo-moar 0428b7: OUTPUT«False␤»
BenGoldberg m: say IO::ArgFiles.WHAT
camelia rakudo-moar 0428b7: OUTPUT«(ArgFiles)␤»
BenGoldberg wut? 01:35
geekosaur m: say IO::ArgFiles ~~ IO::Path
camelia rakudo-moar 0428b7: OUTPUT«False␤»
BenGoldberg Why did .WHAT produce (ArgFiles) instead of (IO::ArgFiles)? 01:36
geekosaur hm, it lied to you
my class IO::ArgFiles is IO::Handle {
01:37 Unavowed joined
BenGoldberg s: $*ARGFILES, 'slurp', () 01:37
SourceBaby BenGoldberg, Something's wrong: ␤ERR: Cannot resolve caller sourcery(IO::ArgFiles, Str, List); none of these signatures match:␤ ($thing, Str:D $method, Capture $c)␤ ($thing, Str:D $method)␤ (&code)␤ (&code, Capture $c)␤ in block <unit> at -e line 6␤␤
geekosaur however it's doing weird things internally to fake being a single Handle, which is probably why it fails
right it has no slurp-rest, probably because it can't
BenGoldberg s: $*ARGFILES, 'slurp' 01:38
SourceBaby BenGoldberg, Sauce is at github.com/rakudo/rakudo/blob/0428...es.pm#L124
geekosaur not the way it is currently implemented at least
lucasb for the record, locally IO::ArgFiles ~~ IO::Handle evaluates to true. camelia said False because of the restricted setting
geekosaur: my point is just in the inconsistency in naming 01:39
babydrop BenGoldberg: because .WHAT returns a type object, which when gisted shows only the shortname
Use .^name if you mean the name
lucasb I belive that $*IN.slurp-rest and $*ARGFILES.slurp works exactly the same
01:40 espadrine left
BenGoldberg m: say IO::Handle 01:40
camelia rakudo-moar 0428b7: OUTPUT«IO::Handle is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting line 1␤ in method gist at src/RESTRICTED.setting line 33␤ in block <unit> at <tmp> line 1␤␤»
babydrop m: say Supplier::Preserving
camelia rakudo-moar 0428b7: OUTPUT«(Preserving)␤»
lucasb I mean, in this case, I had to be explicity inconsistent in methods names, because of the way the classes were written
geekosaur lucasb, those two do not, but ArgFiles slurp-rest could sanely be an alias for slurp
that is, slurp for ArgFiles is not the same as slurp for an actual Handle 01:41
lucasb yes, is slurps *all* the files
... in the argument list
geekosaur yes, which means it slurps them into a list and concatenates the list
(I hope that's lazy, or that's going to bite someone HARD at some point) 01:42
actually it slurp-rest-s them, but note that it is working on *multiple* handles, not just one
potentially
in the precise case of no parameters, yes, it is "exactly" the same. in any other case, it is not the same 01:43
tbrowder ok, anyone wanting a preview and chance to critique the 12 Dec P6 Advent can see my blog gist on github. 01:44
01:46 pierre__ joined
babydrop tbrowder: what's the URL? 01:47
BenGoldberg wonders how to concatenate a list lazily. 01:50
MasterDuke BenGoldberg: gather/take maybe? 01:51
geekosaur well, what it actually does is open every argument file and slurp-rest it, then reduce the resulting list with [~] 01:52
BenGoldberg Suppose I've got a Range, such as ^Inf. How would I produce the [~] of that Range, without things blowing up? 01:53
geekosaur I am afraid to ask what happens if someone does $*ARGFILES.slurp in a script passed several 1TB files :)
BenGoldberg thinks they get a frikkin big string. 01:54
babydrop BenGoldberg: produce to... what end?
I mean, you can't finish "producing" an infinite string. 01:55
I think the Cat type is supposed to be for something like that, innit?
01:55 kaare_ joined
babydrop Or FatCat 01:55
Yeah: design.perl6.org/S32/Containers.html multi cat ( @values --> Cat ) 01:56
Returns a Cat object, a concatenated version of the list that does the Str interface, but generates the string lazily to the extent permitted by the pattern of access to the string. 01:57
m: cat
camelia rakudo-moar 0428b7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ cat used at line 1. Did you mean 'cas'?␤␤»
babydrop NIY
BenGoldberg The common term in computer science for a String-like class which actually contains a list of strings internally is a Rope.
01:59 lucasb left
BenGoldberg A Rope created by slurping an ArgFiles should be able to lazily (without reading every single file into memory) do anything a Str can do, *except* .chars, .ords, .rindex, .end-with, or other methods which naturally need the end of the string. 02:03
samcv is there any case you have ` = <` where the < is not the start of <this> style quoting? 02:10
can anybody think of any?
02:10 kalkin- joined
samcv need to make sure if i add this syntax highlighting rule that i don't accidently run highlighting for the entire rest of the document 02:11
geekosaur I think not, it would be Two Terms In A Row
samcv yeah that's what i thought
BenGoldberg m: say <$IO>;
camelia rakudo-moar 0428b7: OUTPUT«$IO␤»
BenGoldberg m: say <$*IO>;
camelia rakudo-moar 0428b7: OUTPUT«$*IO␤»
geekosaur although... someone might conceivably come up with something, actually
BenGoldberg wonders if maybe that should produce a warning that you're trying to do a perl5-style readline. 02:12
samcv that sounds like it would have to check any < > quoted string to make sure it didn't have that? 02:13
geekosaur samcv, it's safe to do that
m: sub term:<*($a, $b) {$a + $b} say 1 <* 3
camelia rakudo-moar 0428b7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in quote words; couldn't find final '>'␤ ␤at <tmp>:1␤------> 3sub term:<*($a, $b) {$a + $b} say 1 <* 37⏏5<EOL>␤ expecting any of:␤ colon pair␤ …»
geekosaur m: sub term:<*($a, $b) {$a + $b}; say 1 <* 3
camelia rakudo-moar 0428b7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in quote words; couldn't find final '>'␤ ␤at <tmp>:1␤------> 3ub term:<*($a, $b) {$a + $b}; say 1 <* 37⏏5<EOL>␤ expecting any of:␤ colon pair␤ …»
BenGoldberg shrugs. I think people would figure out what they're dong wrong ;)
geekosaur oh, I did that wrong, wait
MasterDuke m: "foo123bar" ~~ /$<num> = <digit>+/; say $<num>
camelia rakudo-moar 0428b7: OUTPUT«[「1」 「2」 「3」]␤»
geekosaur m: sub term:<< <* >>($a, $b) {$a + $b}; say 1 <* 3
camelia rakudo-moar 0428b7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3erm:<< <* >>($a, $b) {$a + $b}; say 1 <*7⏏5 3␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ …»
geekosaur m: sub infix:<< <* >>($a, $b) {$a + $b}; say 1 <* 3 02:14
camelia rakudo-moar 0428b7: OUTPUT«4␤»
samcv this isn't applied inside regex almost certain but i'll double check that
BenGoldberg m: sub infix:[ <* ] { $^a + $^b }; say 4 <* 5;
camelia rakudo-moar 0428b7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in quote words; couldn't find final '>'␤ ␤at <tmp>:1␤------> 3 infix:[ <* ] { $^a + $^b }; say 4 <* 5;7⏏5<EOL>␤ expecting any of:␤ quote words␤ …»
geekosaur ok, you have a potential problem :)
BenGoldberg m: sub infix:<< <* >> { $^a + $^b }; say 4 <* 5;
camelia rakudo-moar 0428b7: OUTPUT«9␤»
BenGoldberg m: sub prefix:<< <* >> { $^a }; my $foo = <* 5;
camelia ( no output )
02:14 kalkin-_ left
geekosaur right, so several ways it could happen, none in stock rakudo 02:15
samcv damn.
BenGoldberg I think it's reasonable for syntax highlighters to ignore infix/prefix/etc subs. 02:16
samcv this is going to be hard to get that quoting working over multiple lines
my $foo = <* 5; this would match
hmm but that's not a stock operator though... hmm
BenGoldberg If you want it to work "perfectly", you'll have to actually parse the code the same way Rakudo does... 02:17
samcv my $swap = <-> $a, $b { ($a, $b) = ($b, $a) };
this though
though that's a special case I could add in since it's an operator. though it might already highlight as an operator, i'll have to check 02:18
geekosaur that one even if it misparses is safe, though
samcv yeah that one conflicts
geekosaur but I don't think <- can happen
samcv for sure
BenGoldberg Of course nothing prevents you from using STD.pm, and supplying your own actions object to generate highlighted text from the parse tree. 02:19
samcv atom doesn't support that though
it's basically regex based but you can have recursive rules and stuff
and include 'rules' that you create by name to apply to a matched section 02:20
BenGoldberg is guessing that this 'atom' of which you speak is not the 'atom' which competes with RSS.
samcv yesterday i got all the q/qq/Q quoting constricts generating from a script, where i have an array with a ton of quoting constricts heh
geekosaur atom.io
wannabe javascript's answer to emacs :p 02:21
samcv heh
geekosaur (ok, coffeescript...)
samcv i wish it wasn't based on electron but. i like it. and coding in vim is not fun
haha geekosaur
so i can trivially add new delimiters for both #`( and q( ). so that's great. will save me so much time
applying fixes to all of them, since Q qq and q all need seperate rules 02:22
but it uses ruby's regex engine, the oniguruma library for the syntax highlighting. and uses the same type grammars as textmate 02:23
though the file is in CSON instead of mac plist style xml
which idk if is a good thing. because having to escape things for all the regex twice sucks
i just have a from-json and to-json p6 executable using JSON::Tiny to unescape and reescape things 02:24
because you have the CSON escaping... then you have to do the escaping for the regex
and both have seperate things needing escaping
BenGoldberg So atom has node.js integrated into it... which means you can use node.js's child_process module to start external programs. Which means you can run perl6 from within atom! 02:25
samcv yep 02:26
02:26 pyrimidine joined
samcv i've never programmed node.js or javascript before though 02:26
tbrowder babydrop: gist.github.com/tbrowder/4d0091ca6...32fce640a7
samcv i might need to learn so i can make atom the best editor for perl 6
mostly just so there is some editor that is awesome for perl6 02:27
BenGoldberg Since perl6 can parse perl6 far more easily than atom can, why not run an external perl6 program to read and parse the file in the editor, and capture it's output?
02:27 pierre__ left
samcv that won't let me get syntax highlighing though.. since they're sorta seperate parts 02:28
the syntax grammars and the rest of it
plus that sounds slow :P
idk maybe there is someee way to do it but 02:29
BenGoldberg Hmm... so your highlighter is *only* allowed regex, and not arbitrary code? That sux.
02:29 seatek joined
samcv well. it works actually awesomely. but 02:29
would be nice if there were more things
BenGoldberg, check out the changelog github.com/samcv/language-perl6fe/...ANGELOG.md for the last 3 weeks i've been working on it 02:30
so sure it's not optimal.. but usually you can work around not being able to do anything non regex, since you can have subrules
though i wish it were documented better. partially learning as i go along 02:31
the biggest problem is not being able to do variable length lookbehind 02:34
tbqh
BenGoldberg is looking at your README.md, and your screenshots. Your font has a very strange way of showing @ 02:35
02:35 pierre__ joined
samcv i still don't know how i'm going to deal with not being able to do \s* positive lookbehind though 02:36
ahhh
though technically i could do (?=\s|\s\s|\s\s\s\s...) 02:37
i have been considering doing that actually.. unless somebody knows how to do such a thing in only rubyish regex 02:38
oh and i can't do \s*(capture here) either, because then the \s* gets included in the match :P
though i guess i 'could' highlight blankspace but that's kind of dumb 02:39
may interfere with other matches below it not sure
02:41 xtreak joined 02:43 Sgeo left 02:46 ilbot3 left 02:47 ilbot3 joined 02:53 pierre__ left
samcv actually... i can use \K to discard text before that point in the string. that will work. 02:56
02:59 pierre__ joined
SmokeMachine____ What format should I write for the advent calendar? Markdown? Pod? HTML? Or what? 03:02
mspo wordpress-ese 03:03
SmokeMachine____ So, should I enter the text on a wordpress' post entry page? 03:10
03:11 committable6_ left, bisectable6 left, evalable6 left, unicodable6 left, bisectable6 joined, ChanServ sets mode: +v bisectable6, committable6 joined, ChanServ sets mode: +v committable6 03:12 evalable6 joined, unicodable6 joined 03:13 pecastro joined 03:17 noganex joined 03:20 noganex_ left 03:21 cognominal left 03:22 cognominal joined 03:40 cdg joined 03:43 pierre__ left 03:45 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 03:46 pyrimidine left, sunnavy joined 03:48 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 03:50 mr_ron left, zt joined 03:51 zt left 03:53 pierre__ joined 03:55 pierre__ left 03:56 pierre__ joined, BenGoldberg left 04:00 BenGoldberg joined 04:07 pierre__ left 04:11 Sgeo joined 04:12 pierre__ joined 04:15 pierre__ left, pierre__ joined 04:19 labster left 04:31 cdg left 04:41 pierre__ left 04:42 pyrimidine joined 04:44 xtreak left 04:45 xtreak joined 04:46 pyrimidine left 04:47 pierre__ joined 04:51 pierre__ left 04:56 BenGoldberg left 05:03 khw left, giraffe left, giraffe joined, giraffe left, giraffe joined 05:06 cognominal left 05:07 cognominal joined 05:16 kurahaupo_ left 05:27 brillenfux joined 05:28 aborazmeh left 05:30 xtreak left 05:32 pyrimidine joined, xtreak joined 05:35 Sgeo_ joined 05:37 Sgeo left 05:39 mawkish joined, girafe left, girafe2 joined 05:47 Sgeo_ left 05:52 cognominal left, Sgeo joined 05:53 Cabanossi left 05:54 Cabanossi joined 05:55 zgrep left 05:59 pierre__ joined 06:05 cognominal joined 06:18 xtreak left 06:19 b7j0c joined, darutoko joined, xtreak joined
tyil samcv: atom wont be a best editor for anything tho 06:20
b7j0c perl6: my uint8 $u = 65535;
camelia rakudo-jvm 8ca367: OUTPUT«Error while reading '/home/camelia/p6eval-token': No such file or directory at /home/camelia/rakudo-j-inst/bin/eval-client.pl line 10.␤»
( no output )
b7j0c perl6: my uint8 $u = 65535;
camelia ( no output )
b7j0c perl6: my uint8 $u = 65535; say $u;
camelia rakudo-jvm 8ca367: OUTPUT«65535␤»
..rakudo-moar 0428b7: OUTPUT«255␤»
06:22 cognominal left 06:23 mawkish left, wamba joined 06:24 cognominal joined 06:27 aborazmeh joined, aborazmeh left, aborazmeh joined 06:29 xtreak left 06:30 xtreak joined 06:37 cognominal left 06:38 b7j0c left, xtreak left 06:39 Tonik joined 06:40 cibs left, bjz joined 06:41 xtreak joined, cibs joined
dalek osystem: df64bd8 | (Asato Wakisaka)++ | META.list:
add SQL::NamedPlaceholder to ecosystem.
06:42
osystem: ea32246 | Altai-man++ | META.list:
Merge pull request #271 from astj/add-sql-namedplaceholder

Add SQL::NamedPlaceholder
06:51 RabidGravy joined 06:52 bjz left 06:53 FROGGS joined 06:54 cognominal joined 06:56 domidumont joined 06:59 skids left 07:06 CIAvash joined 07:09 domidumont left, bjz joined
moritz tbrowder: if you don't have access to the p6advent blog yet, please /msg me your email address. Thanks! 07:10
07:24 domidumont joined 07:28 domidumont left 07:29 domidumont joined 07:31 fatguy joined 07:36 wamba left 07:37 cognominal left 07:39 Tonik left
fatguy is this the right channel to ask about rakudo-star docker image ? i have a problem can't run docker run -it rakudo-star -e 'say "Hello!"' 07:41
07:41 girafe2 left
FROGGS should be the right channel, yes 07:49
07:49 aborazmeh left 07:50 cognominal joined 07:54 labster joined, CIAvash left
fatguy great, in the web documentation it show it can run the command, but it failed with exec: "-E": executable file not found in $PATH 07:56
hub.docker.com/_/rakudo-star/
07:57 CIAvash joined
fatguy sorry its : exec: "-e": executable file not found in $PATH 07:57
FROGGS I'm not a docker expert and last time I tried I had problems too and gave up 07:58
ohh
brrt hmmm
FROGGS can you try this: docker run -it rakudo-star perl6 -e 'say "Hello!"'
brrt waitaminute, isn't -e interpreted as 'entrypoint' for docker 07:59
FROGGS is it?
I dunno
then the error message makes no sense to me
brrt let me check
hmm, not entirely sure, it is --entrypoint 08:01
so i'm not sure what -e does
timotimo so docker run -it rakudo-star -- perl6 -e 'say "hello!"'? or maybe put it into quotes?
apparently it's trying to execute -e as the executable
fatguy it can now with : docker run -it rakudo-star perl6 -e 'say "Hello!"'
brrt yeah, suspected as much
fatguy great, thanks 08:02
brrt :-)
08:18 ufobat joined 08:19 g4 joined 08:26 wamba joined 08:27 zakharyas joined 08:36 CIAvash left 08:37 cognominal left 08:38 cibs left 08:39 cognominal joined 08:40 cibs joined, dakkar joined, xtreak left 08:41 Alikzus joined
samcv which part of rakudo is running 'chdir'? it seems that bad things happen if the folder the shell is in does not exist 08:42
timotimo we don't chdir, because we are multithreaded and the cwd is a thing that only exists once per process 08:43
hm. at least we do that on the jvm
samcv err yeah i mean gets the current directory or whatever
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
timotimo oh, ok
samcv this is what i get running perl6 -e
timotimo we do actually have chdir in moarvm
samcv yeah there should be some check to make sure the directory exists before trying to do something to it. it assumes the cwd exists 08:44
and just either prints an error out or just goes into a loop
of error messages
timotimo hm. we don't allow you to chdir into something that doesn't exist, right? 08:45
at what point should we do the check for current-directory-existingness?
samcv at least when it starts
not sure if it will error if you delete the cwd while it's running
i'm guessing not. but at least startup sounds important 08:46
timotimo ok so the test plan is "mkdir remove-this; cd remove-this; rm -r ~/remove-this; perl6 -e 'say q/hi/'"?
samcv yeah
timotimo timo@schmand ~/delete-this> rm -rf ~/delete-this/ 08:47
fish: getcwd() failed with errno 2/No such file or directory
%)
samcv is that a shell error you're getting? 08:48
timotimo yes, fish is my shell
samcv or is that the moar error
perl 08:49
err oops. didn't mean to type here
08:55 pyrimidine left 08:57 pmurias joined
nine nine@sphinx:~> mkdir remove-this; cd remove-this; rm -r ~/remove-this; perl6 -e 'say q/hi/' 08:57
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
hi 08:58
Looks like perl6 does better at this than bash?
pmurias anyone wants to run roast/S32-num/power.t on Mac OS X? I want to check if a Mac OS X specific bug has been fixed 08:59
09:00 FROGGS left
samcv nine, you mean regarding the directory thing? 09:06
09:06 rindolf joined
timotimo i think the shell-init thing is happening before rakudo even comes up? 09:06
samcv well 09:07
you can run python, irb etc and have no issues. that shell-init eror is just one generated by the shell, but the shell continues to operate fine
nine Oohh...it's because perl6 is a shellscript! 09:08
timotimo ah, of course
samcv oh no
09:08 xtreak joined
nine > mkdir remove-this; cd remove-this; rm -r ~/remove-this; /home/nine/rakudo/install/bin/moar --execname="perl6" --libpath="/home/nine/rakudo/install/share/nqp/lib" --libpath="/home/nine/rakudo/install/share/perl6/lib" --libpath="/home/nine/rakudo/install/share/perl6/runtime" /home/nine/rakudo/install/share/perl6/runtime/perl6.moarvm -e 'say q/hi/' 09:09
hi
timotimo hi nine
nine :)
samcv yeah it starts fine if I run #!/bin/sh
exec /home/samantha/perl6/bin/moar --execname="$0" --libpath="/home/samantha/perl6/share/nqp/lib" --libpath="/home/samantha/perl6/share/nqp/lib" --libpath="/home/samantha/perl6/share/perl6/lib" --libpath="/home/samantha/perl6/share/perl6/runtime" /home/samantha/perl6/share/perl6/runtime/perl6.moarvm "$@"
09:09 zakharyas left
samcv that whole thing 09:09
timotimo yeah
brrt another fine argument for having a compiled-binary perl6 :-)
timotimo yeah :3 09:10
samcv yeah.. i could see this biting somebody in the ass
if it were a long running program or something
that was cd'd into a nonexistant dir, or even otherwise
then it tries to launch another perl6 program from in it
timotimo if we compile in the complete invocation, it'll also look a whole lot nicer in htop and ps 09:11
samcv yeah
timotimo because the whole four libpaths thing won't gobble up so much screen real estate that you have to scroll sideways for a minute before you see what the p6 file being run actually is 09:12
09:12 pierre__ left 09:13 zakharyas joined 09:15 rurban joined 09:17 wamba left 09:18 pierre__ joined 09:24 jonas1 joined 09:26 fatguy left 09:29 bjz_ joined 09:30 bjz left
tadzik m: class Awesome { has $.awesomeness-level }; my $obj1 = Awesome.new: :10000awesomeness-level; 09:35
camelia ( no output )
tadzik wat
how does that parse :o
timotimo what wat?
you remember :2nd?
and :3rd? 09:36
tadzik oh
yeah
timotimo that's how :)
i'm glad this rule exists, because it's pretty and cool
09:36 pmurias left 09:40 labster left
moritz "you think this is cute today" :-) 09:42
arnsholt Hehe 09:47
My favourites are :1rd :2st and :3nd 09:48
timotimo m: say (:-10th)
camelia rakudo-moar 0428b7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Bogus statement␤at <tmp>:1␤------> 3say (:7⏏5-10th)␤ expecting any of:␤ colon pair␤»
timotimo ^- ;(
09:48 xtreak left 09:50 pmurias joined 09:51 xtreak joined, pyrimidine joined 09:52 cognominal left 09:53 cognominal joined 09:55 cibs left, xtreak left 09:56 cibs joined 09:58 Ven joined 10:01 mawkish joined 10:03 cibs left, cibs joined, wamba joined 10:05 Ven left 10:07 Ven joined 10:11 wamba left
arnsholt timotimo: I wonder why negative numbers aren't allowed. Rakudo-bug, or intentional limitation in the grammar for some reason? 10:13
timotimo yeah, good question. clearly the rule is implemented as "when you have a number after the :, it's that"
but number as in "\d" 10:14
moritz m: say (:5.5th) 10:15
camelia rakudo-moar 0428b7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed radix number␤at <tmp>:1␤------> 3say (:57⏏5.5th)␤ expecting any of:␤ number in radix notation␤»
timotimo also interesting
jnthn Intentionally only for positive integers, afaik 10:17
moritz in base ten, no less :-) 10:18
jnthn Given people find the form confusing enough already when used beyond :1st/:2nd/:3th, I'm not sure expanding further on it is going to curry much favor. :P 10:19
timotimo hmm 10:20
could definitely be put into a slang, though :)
moritz curry
hm
time for lunch pretty soon... :-)
jnthn Also I think there's a ambiguity if you allow complex numbers :P
*an
Oh, and exponents too :) 10:21
moritz or hex numbers
jnthn Oh yes :)
m: say :0xBEEF 10:22
camelia rakudo-moar 0428b7: OUTPUT«Unexpected named argument 'xBEEF' passed␤ in block <unit> at <tmp> line 1␤␤»
timotimo aaw man
jnthn m: dd :0xBEEF
camelia rakudo-moar 0428b7: OUTPUT«block <unit>␤»
jnthn uh
m: say :0xBEEF .perl
camelia rakudo-moar 0428b7: OUTPUT«:xBEEF(0)␤»
jnthn Nice :P
timotimo ah, dd has a thing where with no parameters it says where it is?
m: dd
camelia rakudo-moar 0428b7: OUTPUT«block <unit>␤»
jnthn Yeah, but it's a sub so I'm surprised it both accepts named parameters (not the default for a sub) and then ignores them... 10:23
10:24 bjz joined, bjz_ left 10:30 seatek left 10:31 TEttinger left 10:40 Ven left, wamba joined 10:41 dogbert17_ joined
dogbert17_ o/ 10:41
any speshialists around?
dogbert17_ the silence is deafening :) 10:42
RT #130294 works if spesh is disabled 10:45
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130294
10:46 AlexDaniel joined
timotimo could you try disabling spesh a bit more fine-grainedly? 10:51
as in, first turn off SPESH_INLINE, then SPESH_OSR, then both? 10:52
and maybe see if disabling only the JIT will also cause it to still explode
AlexDaniel m: say :10<15_x> 11:04
camelia rakudo-moar 0428b7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Invalid base-10 character '_': 03157⏏5_x. Please use one of 0..9␤at <tmp>:1␤------> 3say :10<15_x>7⏏5<EOL>␤»
AlexDaniel LTA :/
11:07 rurban left
timotimo indeed 11:07
11:08 cognominal left
jnthn How so? It says which char it didn't like and shows the exact location and tells you what to use? 11:08
pmurias jnthn: it says it doesn't like '_' while it really doesn't lik 'x'
jnthn No, it doesn't like _ either
m: say :10<15_000>
camelia rakudo-moar 0428b7: OUTPUT«15000␤»
jnthn Oh...I didn't know you could do that
OK, fair enough :)
11:09 cognominal joined, rurban joined
babydrop m: use nqp; say nqp::radix_I(16, '15_x', 0, 0)[2] 11:09
camelia rakudo-moar 0428b7: OUTPUT«===SORRY!===␤Arg count 4 doesn't equal required operand count 6 for op 'radix_I'␤»
babydrop m: use nqp; say nqp::radix(16, '15_x', 0, 0)[2]
camelia rakudo-moar 0428b7: OUTPUT«2␤»
babydrop m: use nqp; say nqp::radix(16, '15_x', 0, 0)[0]
camelia rakudo-moar 0428b7: OUTPUT«21␤»
AlexDaniel babydrop: hey, wanna see a trick? 11:10
babydrop m: use nqp; say nqp::radix(10, '15_x', 0, 0)[0]
camelia rakudo-moar 0428b7: OUTPUT«15␤»
AlexDaniel m: say :10<2*3**4>
camelia rakudo-moar 0428b7: OUTPUT«162␤»
babydrop Nope
AlexDaniel well, there you go anyway :P
babydrop m: use nqp; say nqp::radix(10, '15_000', 0, 0)[0]
camelia rakudo-moar 0428b7: OUTPUT«15000␤»
babydrop m: use nqp; say nqp::radix(16, '15x', 0, 0)[2] 11:11
camelia rakudo-moar 0428b7: OUTPUT«2␤»
babydrop Well, the error's not in my code at least :}
Makes sense since 15_ is not valid, so it stops there.
AlexDaniel: it's kinda strange that with all the weird stuff that form supports that it doesn't support basic negatives 11:12
pmurias jnthn: is 'use nqp' or 'use MONKEY-GUTS' the recommended form? 11:13
babydrop lickbates "Day 8 — How to Make, Use, and Abuse Perl 6 Subsets": perl6advent.wordpress.com/2016/12/...6-subsets/ 11:14
timotimo already licked that earlier today 11:15
AlexDaniel m: say :10<0o1_2.3_4*0b1_0**0x4>
camelia rakudo-moar 0428b7: OUTPUT«167␤»
11:16 zakharyas left 11:17 mr-foobar left
AlexDaniel babydrop: but I see no bugs so far :) 11:17
jnthn pmurias: Well, `use nqp` is certainly more explicit about what you expect 11:18
And a lot shorter to type :)
11:19 zakharyas joined, donaldh joined
pmurias jnthn: was wondering if rakudo should suggest the user to use 'use MONKEY-GUTS' instead of 'use nqp' when it sees a nqp:: call 11:20
11:21 pierre__ left
nine likes how the latest 2 Inline::Perl5 bug reports could be resolved by "There's no bug there at all." and "It's a bug in the Perl 5 module you use." 11:21
timotimo hah 11:22
11:22 donaldh left
jnthn pmurias: I'm happy enough with `use nqp`. I mean, conceivably some future implementation could expose a completely different set of guts. 11:24
11:24 effbiai left 11:27 sydney_falk left, rurban left 11:28 NeuralAnomaly joined
AlexDaniel babydrop: so um… where did your comments go? 11:30
babydrop AlexDaniel: I've used my connections to remove them. 11:32
"* babydrop blocks out all of LP6 drama and focuses on code from now on"
pmurias m: "-10.3x1".parse-base(10)
camelia rakudo-moar 0428b7: OUTPUT«Invalid base-10 character '1': 0310.3x7⏏051. Please use one of 0..9␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel yea but the first one was kinda nice
:)
pmurias AlexDaniel: ^^ a related error somewhere else in the code 11:33
timotimo huh, what is LP6?
AlexDaniel pmurias: haha
babydrop Keep laughing! Just wait until you need tech support :P 11:34
AlexDaniel m: ‘-10.3z’.parse-base(10)
camelia rakudo-moar 0428b7: OUTPUT«Invalid base-10 character '': 0310.3z7⏏. Please use one of 0..9␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
babydrop I suspect that's failing to account for the minus
AlexDaniel yup
babydrop timotimo: a book 11:35
pmurias babydrop: yes, found that looking from the code and seeing bugs in math where the exception is thrown
babydrop :)
timotimo oooh that thing 11:36
11:36 donaldh joined 11:41 mawkish left
AlexDaniel yea… yea… ok RT does not like unicode 11:42
babydrop Wow, far out. titsuki++ is running a Japanese Perl 6 Advent: qiita.com/advent-calendar/2016/perl6 11:43
AlexDaniel clicks 「Download (untitled)」 … ok that's a bit better
timotimo sweet 11:44
11:45 lucasb joined 11:46 zakharyas left, pyrimidine left, pyrimidine joined, noganex_ joined 11:48 zakharyas joined, noganex left
pmurias if brian d foy doesn't get the tpf grant does he write the book (or was the grant intended just add the money to the kickstarter campaign if it wasn't full)? 11:50
11:53 cognominal left 11:54 cognominal joined
samcv something i just discovered is that Linenoise doesn't support unicode either 11:55
moritz has no idea
samcv though readline does
if you try and backspace a unicode char with too many bytes it just totally garbles the whole line, and pressing enter will get malformed utf errors 11:56
rlwrap or readline work fine tho
timotimo yeah, we can make linenoise do pretty "funny" things with backspace ;( 11:57
samcv i'm not sure, i don't have a linenoise package on my system installed other than the p6 module. does it include linenoise with it? i thought it didn't
and was just bindings but 11:58
11:58 lukaramu joined
timotimo i think the linenoise perl6 package brings source code it compiles along with it 11:58
samcv oh it does seem to have the .so file in the module
well there's a utf-8 fork of linenoise
AlexDaniel … just use readline then? :) 11:59
samcv haha
but then no tab completion
and Linenoise is in Star right?
not readline?
timotimo um, don't we have tab completion in linenoise? 12:01
samcv that's what i meant 12:03
AlexDaniel, said to use readline then :P
timotimo don't we also have tab completion in readline?
samcv gonna try out the utf-8 fork
no
timotimo damn it :< 12:04
AlexDaniel hmmm… tab completion of what?
pmurias why doesn't linenoise accept utf-8 by default? 12:05
AlexDaniel actually, readline functionality is gone now…
ahhh no 12:06
samcv gonna try the utf-8 fork. it's supposed to be able to do unicode 9 even
AlexDaniel I just had to wait a minute
samcv pmurias, it's a long standing bug
bug was opened in 2012
pmurias thought Linenoise was a pure Perl 6 thing but it's a binding :/ 12:07
12:07 CIAvash joined
timotimo linenoise was created because "readline is too fat, we can't possibly need as much code for basic readline functionality" 12:08
and then reality hit :(
12:08 FROGGS joined
lucasb dogbert17, dogbert17_: hi, are you around? 12:12
pmurias timotimo: the linenoise README doesn't make it look like a quality piece of code :/ 12:14
timotimo oh? 12:15
dogbert17_ lucasb: I'm around intermittently, pretending to do some $work 12:16
lucasb dogbert17_: did you has a 32 bit machine? I tried to reproduce your snippet
I get a segfault too
dogbert17_ I do indeed
will try the disable thingies that timotimo suggested unless someone, e.g. AlexDaniel, has already done that 12:17
timotimo thanks
i was about to ask that :)
lucasb dogbert17_: can you try to reproduce if these still segfaults for you? gist.github.com/anonymous/b32db0a4...377ed0eafd 12:18
12:18 mr-foobar joined
lucasb I can make them segfault in my 32 bit machine, but not in camelia :| 12:19
timotimo well, camelia runs on a 64bit system
lucasb timotimo: right, as I expected :)
dogbert17_: both snippets fail here. the subroutines are kind of nonsensical... I was just trying to golf your example a little bit more 12:20
disable thingies that timotimo? I disabled spesh, but it made no difference, still segfaults 12:21
timotimo MVM_SPESH_INLINE_DISABLE MVM_SPESH_OSR_DISABLE MVM_JIT_DISABLE 12:22
trying those out
lucasb will do, thanks
timotimo: just doing '$ MVM_SPESH_INLINE_DISABLE=1 MVM_SPESH_OSR_DISABLE=1 MVM_JIT_DISABLE=1 perl6 file.pl' is enough? 12:23
12:23 tokomer joined
pmurias
.oO(maybe if linenoise wast 1100 lines of Perl 6 instead of C it might actually work properly?)
12:23
timotimo please try different combinations
all of those are independent of each other
lucasb ah, ok :D lol
env vars with huge names :) 12:24
samcv ok well their example works fine with utf-8 in this branch 12:25
timotimo well, we've got an idea what to do about the problem, then?
12:25 rurban joined
samcv but i think it's not getting compiled in. need to change the gcc flags idk 12:25
dogbert17_ lucasb: your first example segfaults
lucasb: thx for helping out 12:26
lucasb since I'm on a 32 bit and there's no JIT for this platform, I guess MVM_JIT_DISABLE=1 doesn't make a difference (?)
dogbert17_: thank you for reporting the issue
timotimo ah, you're right about that 12:27
dogbert17_ lucasb: the program I used is my attempt to golf my solution to Project Euler Problem 28, I use it to keep track of lizmat's awesome array optimization work 12:28
lucasb dogbert17_: I think I solved #28 in other language :) let me see... 12:29
dogbert17_ lucasb: a shaped array turned out to be useful to my solution, took almost 7 minutes a few months ago but after lizmat started to rewrite things the same code is down to 1:35 mins 12:30
lucasb ah, here, euler #28: 1 + 3.step(1001, 2).flat_map {|i| (i*i).step(by: -(i-1)).take(4) }.reduce(:+) 12:31
what a lovely language :)
moritz m: say 1 + 3.step(1001, 2).flat_map {|i| (i*i).step(by: -(i-1)).take(4) }.reduce(:+) 12:32
camelia rakudo-moar a98724: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unexpected block in infix position (missing statement control word before the expression?)␤at <tmp>:1␤------> 3say 1 + 3.step(1001, 2).flat_map7⏏5 {|i| (i*i).step(by: -(i-1)).take(4) }.␤ expe…»
lucasb you need a rubybot for that 12:33
moritz m: say 1 + 3.step(1001, 2).flat_map: -> \i { (i*i).step(by: -(i-1)).take(4) }.reduce(&[+])
camelia rakudo-moar a98724: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in argument list; couldn't find final ')' ␤at <tmp>:1␤------> 0301, 2).flat_map: -> \i { (i*i).step(by:7⏏5 -(i-1)).take(4) }.reduce(&[+])␤ expecting any of:␤ …»
12:35 lizmat left 12:36 tokomer left 12:37 andrzejku joined
dogbert17_ my solution was considerably more stupid, tried to fill the matrix according to spec and then calc the sum 12:38
ufobat what does private mean for a attribute of a class? it doesnt have private setters/getters, right? so does it mean i can only acces private members of self or also of $others?
m: class F{has $!f; method set(F:D $f) {$!f = $f}; method x() { if $!f and not $!f!f {say "just one child"}}}; my $f = F.new(); my $g = F.new(); $f.set($g); 12:39
camelia rakudo-moar a98724: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤No such private method 'f' for invocant of type 'F'␤at <tmp>:1␤------> 3 = $f}; method x() { if $!f and not $!f!7⏏5f {say "just one child"}}}; my $f = F.ne␤»
12:39 bjz left 12:40 CIAvash left
lucasb $!f!f ? 12:41
ah, got it. sorry
well, 'has $!foo' doesn't generate accessor methods, so you can only access them directly by saying $!foo 12:44
samcv ok so it looks like this utf-8 linenoise will work, but there is a linenoiseSetEncodingFunctions() function that has to be called to enable the utf-8 functionality
lucasb so, I don't expect it to be possible to access private vars in other same-class objects, no
12:45 donaldh left, canopus left
ufobat lucasb, i should just write a private accessor for it, right? 12:48
12:53 grondilu joined, canopus joined
lucasb I thought it was possible to initialize private attrs in the constructor, but I think I may be mistaken 12:55
m: class C { has $!foo; method m() { $!foo } }; say C.new(foo=>10).m
camelia rakudo-moar a98724: OUTPUT«(Any)␤»
dogbert17_ are these spesh setting environment vars?
lucasb dogbert17_: yes. 'moar -h' shows a list of them 12:56
ufobat: I think yes, if you do 'method !foo() { $!foo }', you'll be able to call $other!foo for other same-class object 12:58
ufobat it works, yes! thanks! :) 13:00
13:00 rurban left 13:05 sena_kun joined
babydrop lucasb: it's not done automatically, but you can do that with BUILD or TWEAK submethods 13:07
m: class C { has $!foo; submethod TWEAK(:$!foo) {}; method m() { $!foo } }; say C.new(foo=>10).m
camelia rakudo-moar a98724: OUTPUT«10␤»
[Coke] AlexDaniel: is the mojibake in 130298 intentional? 13:11
babydrop "AlexDaniel │ yea… yea… ok RT does not like unicode" 13:12
I'll "Take" the ticket, since I know what it's about. 13:13
(the mojibake are quotes and the eject char showing error location) 13:14
oh, reading the description, I guess there's also poo somewhere :/ 13:15
babydrop giggles 13:17
"Hi, I’m Adrian from StrictThemes, WordPress themes makers. I have your email from your github public profile and I saw you are WordPress developer."
AlexDaniel [Coke]: you can click 「Download (untitled)」 and see what this ticket is about… 13:18
babydrop m: multi foo (Int) is default {say "here"}; multi foo (Int) {say "there"}; foo 42 13:19
camelia rakudo-moar a98724: OUTPUT«here␤»
babydrop m: multi foo (Int) {say "here"}; multi foo (Int) is default {say "there"}; foo 42
camelia rakudo-moar a98724: OUTPUT«there␤»
babydrop Neat.
TIL 13:20
lucasb babydrop: thanks. I was waiting someone introduce TWEAK to me
moritz I tend to use that to dismabiguate dispatch for allomorphs (the "is default")
AlexDaniel hmmm 13:21
so what does it do exactly?
moritz it disambiguates ambiguous dispatches
pmurias babydrop: that's what fooling around with WordPress leads to ;) 13:24
jnthn If a multi-dispatch is about to report an ambiguous dispatch error, it checks if any of them have the is default trait. If that gets it down to 1 candidate, it chooses that one.
It's a last-gasp resolution mechanism
babydrop Suddenly everyone knows of that feature? :/ 13:26
AlexDaniel yea
babydrop wishes someone would speak up when AlexDaniel and I were slinging hacks around to work around 13:27
AlexDaniel babydrop: perhaps I should start compiling a list of features nobody knows about 13:29
[Coke] what do we call java's "inner classes" in Perl 6? (ala Promise's Vow class)
13:30 kyclark joined
dalek c: 4d72090 | (Zoffix Znet)++ | doc/Language/glossary.pod6:
Mention `is default` for MMD resolution

Glossary isn't the best place, but it's the only one that shows up for `multi-dispatch` search
13:30
synopsebot6 Link: doc.perl6.org/language/glossary
babydrop AlexDaniel: that'd be handy ;)
kyclark Is Zoffix around?
yoleaux 2 Dec 2016 11:14Z <gfldex> kyclark: please don't teach your students to use ‚:‘ in file names. That will end in tears.
AlexDaniel <zoffixable> *bleep blop* Current nickname is “babydrop” 13:31
arnsholt Oh, heh. : is a valid path separator on HFS+
kyclark yoleaux, that was the output of a program. Probably would have been better to run a shell script to rename them.
babydrop, I get a 404 on modules.perl6.org/dist/Subset::Common linked from the Advent article
babydrop kyclark: sup?
lucasb m: multi f is default {10}; multi f is default {20}; multi f is default {30}; say f 13:32
camelia rakudo-moar a98724: OUTPUT«30␤»
babydrop kyclark: oh, it's missing the 's': github.com/bradclawsie/Subsets-Common
jnthn [Coke]: Sometimes "nested classes", but if a "my" is stuck on the thing then "lexical class" is sometimes also used
babydrop I'll fix it in 9 hours, 'cause I forgot to commit my last minute changes and I don't wanna risk wordpress messing up the article if I change it right now :(
jnthn [Coke]: "inner class" is maybe good to not use in so far as in Java there's a relationship between the enclosing and enclosed iirc 13:33
[Coke]: Whereas in Perl 6 there's not any OO-level relationship there
lucasb the number of 'defaults' changes the outcome 13:34
if it's an even number, 3, 5, 7, no error. if it's a odd number, 2, 4, 6, then error :)
^^ Noticed the multiple 'multi's all with 'is default' ? 13:35
13:37 prammer joined 13:38 cognominal left
babydrop lucasb: that's hilarious :) Please report that bug 13:43
lucasb babydrop: gist.github.com/anonymous/a0fb2f2c...8a0a7f47ca 13:45
AlexDaniel wtf what? XDDD
lucasb oops, made a mistake with 'sub i' return 0+1i 13:46
13:46 cognominal joined
AlexDaniel oh, ok 13:47
lucasb updated: gist.github.com/anonymous/0a4db00d...a8ca2fccd2
13:48 donaldh joined
AlexDaniel soo 13:48
m: gist.githubusercontent.com/anonymo...3/file.pl6
camelia rakudo-moar a98724: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3https:7⏏5//gist.githubusercontent.com/anonymous/0␤ expecting any of:␤ colon pair␤»
lucasb the Nil values returned are because of the 'Ambiguous call to 'f'; these signatures all match' exceptions
AlexDaniel eval: gist.githubusercontent.com/anonymo...3/file.pl6
evalable6 AlexDaniel, Successfully fetched the code from the provided URL.
AlexDaniel, rakudo-moar a987242: OUTPUT«f = Nil␤g = 30␤h = Nil␤i = 50␤j = Nil␤k = 70»
AlexDaniel commit: all gist.githubusercontent.com/anonymo...3/file.pl6
committable6 AlexDaniel, Successfully fetched the code from the provided URL.
AlexDaniel, gist.github.com/94faf952835288612d...ccb7a079a9
dogbert17_ m: gist.github.com/dogbert17/41042137...c1c05055bb # lucasb 13:51
camelia rakudo-moar a98724: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3https:7⏏5//gist.github.com/dogbert17/41042137f443␤ expecting any of:␤ colon pair␤»
dogbert17_ m: gist.github.com/dogbert17/41042137...c1c05055bb
camelia rakudo-moar a98724: OUTPUT«(signal SEGV)»
dogbert17_ lucasb timotimo ^^ 13:52
lucasb dogbert17_: right, your snippets even segfaults camelia 13:53
[Coke] jnthn: I think lexical captures the one limitation there is, ja? 13:54
so we can use that. :)
dogbert17_ lucasb: have you tried the spesh settings?
13:55 mr_ron joined, wamba left
jnthn [Coke]: In the case of vow, sure 13:55
[Coke]: It's declared with my iirc
lucasb dogbert17_: only the spesh disable; didn't make a difference
jnthn m: say Promise::Voew
camelia rakudo-moar a98724: OUTPUT«Could not find symbol '&Voew'␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
jnthn m: say Promise::Vow
camelia rakudo-moar a98724: OUTPUT«Could not find symbol '&Vow'␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
jnthn Yeah
So you can't talk about it directly
mr_ron babydrop: (hopefully reaching right person) In Subset::Helper the message is 'note'd and sort of wondered why use of 'say' instead of 'note' for say ’This ain't no website containing "Perl 6"!‘; # guessing not that important 13:58
... referring to advent post
babydrop mr_ron: note sends to STDERR and say sends to STDOUT 13:59
mr_ron yes - know difference and Subset::Helper decides to 'note' to STDERR
babydrop OK 14:00
14:00 wamba joined
mr_ron seems like same use case I guess 14:00
babydrop mr_ron: I've just used `say` in the article because I knew it'll show up twice, will be LTA and I'd suggest a die instead. Last commit to Subset::Helper was half a year ago, when I barely knew Perl 6, so I've used a warning.... because I guess I thought throwing in it was bad? 14:03
dogbert17_ lucasb: confusing so maybe it's not a spesh bug at all then 14:04
Technaton I always thought that the UTF-8 characters-as-methods were a funny byproduct of Perl6 being full UTF-8-aware, but after reading Day 7 of the perl 6 advent calendar, I am not so sure anymore. How do you type ∈ without copying it from the character table application? :) 14:05
yoleaux 7 Dec 2016 01:02Z <babydrop> Technaton: the blog post I mentioned a day ago, is up: perl6advent.wordpress.com/2016/12/...ggy-types/
Technaton Wow, yoleaux is a really cool away-bot. :D
14:06 wamba left
babydrop Technaton: there are some answers here: www.reddit.com/r/perl6/comments/5g...s/dawh3oj/ 14:07
.oO( wonder why do people assume the only way to type the 10FFFF Unicode chars is to copy-paste them from somewhere... )
m: say 0x10FFFF
camelia rakudo-moar a98724: OUTPUT«1114111␤»
babydrop that's a lot of copy-pastin' 14:08
dogbert17_ timotimo lucasb the crash is in 0xb7d287a8 in MVM_fixed_size_alloc ()
14:09 wamba joined
Technaton babydrop: Well, I don't have them on my keyboard, not even with Shift+Meta. To be honest, the only time I really want a set intersection symbol is in TeX, where I type \(A \cap B\)… 14:09
moritz Tex2Perl6!
Technaton I guess I need to read up on xmodmap.
babydrop Technaton: I've met a few people who use weird unicode stuff liberally in just normal conversations... 14:10
So I guess if you can be bothered to select what you use, typing that stuff can be trivial
pmurias "bothered to select what you use"? 14:13
what does that mean?
moritz somebody goes to effort to look up some Unicode characters that they want to use 14:15
then they find an input method that works for those
babydrop pmurias: if you pre-configure some keys to type chars you like to use
moritz nobody regularly uses the whole Unicode repertoire
AlexDaniel Technaton: do you know about compose key?
Technaton: that's what you should configure
Technaton AlexDaniel: Yes, I know the compose key; I use it regularly for accented characters such as 'é'. 14:16
I never know I could use it to coax X into emitting unicode symbols, such as ⅔.
14:16 sufrosti1o left
AlexDaniel <Multi_key> <i> <n>: "∈"U2208# ELEMENT OF 14:16
14:16 sufrostico left, zakharyas left
babydrop Don't work on my compose... 14:17
14:17 brillenfux left
AlexDaniel yes, it's not there by default, I think 14:17
babydrop Ah
Technaton Yep, seems like it.
AlexDaniel but if you use the .XCompose file I linked in my reddit answer
then you'd most of the stuff you'd ever want to type
and the rest you just add yourself :) 14:18
(or send a PR for that project)
14:18 sufrostico joined, sufrosti1o joined
Technaton Nice! That's a pretty decent list. Thanks for sharing it in the first place. :) 14:19
AlexDaniel C-x 8 RET and type “element of” in emacs, that works too
does not support unicode 9 yet I think 14:20
Technaton I don't want to start an editor war, but I am more a VIM guy actually.
[Coke] did someone hURL docs.perl6.org/language/unicode_entry yet?
Technaton The .xmodmap is the cleanest solution anyways.
moritz Technaton: Ctrl+k, :help digraphs
:help :digraphs actually 14:21
AlexDaniel [Coke]: no
14:21 dj_goku_ left
Technaton This is incredibly cool. 14:22
Thanks! :)
babydrop FWIW, last I tried that XCompose advice in unicode_entry I completely messed up compose entry in my system
The " It might be necessary to install a xim bridge as well, such as uim-xim." part..
will find time to test it and improve on it 14:24
AlexDaniel
.oO( 😕 this should be taught at school )
14:25
babydrop IME most people hate stuff they learned in school. 14:26
jnthn B2Kenky
argh
(yes, password, no, not valuable, yes, already changed) :P
babydrop :) 14:27
14:29 sufrostico left, sufrosti1o left 14:30 prammer left 14:31 sufrostico joined, sufrosti1o joined
kyclark Is this the best way to use a block to create an alternate? gist.github.com/kyclark/8c281911e9...dca8059ac5 14:35
So if the user does not specify an “out” file, I want to generate one from the input name/location
moritz just write to a.out. It worked for the C compilers, it'll work for you :-) 14:36
no, just kidding. Your approach is fine
kyclark So “do {}” is the Right Way?
moritz yes
kyclark Rock on.
14:37 lizmat joined
timotimo dogbert17_: perfect. for the fixed size alloc we have a few debugging mechanisms that you can turn on 14:40
dogbert17_ timotimo: is the --valgrind and the FSA flag? 14:44
timotimo yes, either one, or the other 14:45
if the latter is turned on, the former can't do anything
14:45 sufrosti1o left 14:46 sufrostico left 14:47 sufrostico joined 14:51 nebuchadnezzar left, prammer joined 14:52 nebuchadnezzar joined 14:54 sufrosti1o joined 15:03 dj_goku joined 15:04 sufrostico left 15:05 sufrostico joined, sufrosti1o left 15:07 sufrosti1o joined 15:08 dj_goku left
dogbert17_ timotimo: does this help? gist.github.com/dogbert17/03440391...d5ea54efd6 15:14
timotimo huh 15:17
dogbert17_ timotimo: I can run perl6-gdb-m and do a 'bt full' if you want 15:22
timotimo hm, let's try it 15:23
dogbert17_ ok, hold on
timotimo: 15:26
gist.github.com/dogbert17/ad41e963...7dd43b86fc
15:28 skids joined, prammer left
babydrop .tell lizmat disregard RE 125938. someone else helpfully tested that. 15:29
yoleaux babydrop: I'll pass your message to lizmat.
15:29 prammer joined
timotimo hum. 15:29
the first paste, what flags did you use? the FSA debug thing, or --valgrind?
dogbert17_ --valgrind 15:30
btw, did jnthn release the superfix he made yesterday?
timotimo can you do the FSA debug flag instead? 15:31
15:31 eliasr joined
dogbert17_ ok 15:31
15:32 wamba left 15:33 pyrimidine left 15:34 pyrimidine joined
dogbert17_ timotimo: same result, perhaps I'm doing something wrong, what happens if you run it? 15:35
timotimo let me build latest everything first 15:36
15:37 wamba joined
jdv79 is it possible to get profiler output when the prog is terminated via ctrl-c 15:37
dogbert17_ cool, a possibly interesting piece of info, if you insert e.g. say 'hallo' as the first line in init-array, the code works ... at least for me
timotimo jdv79: difficult ;(
jdv79 i have to say it. Devel::NYTProf does it:) 15:38
i guess its ok. just annoying.
timotimo right
here's the thing:
currently moar gets a bit confused when there's more than one thread
babydrop catch the signal and exit? Would that work?
oh
timotimo when you tap the signal, you let moar start its event-loopy thread
babydrop right 15:39
timotimo and BAM, your profile becomes mostly useless
perlpilot babydrop: did you remove your comment to bdf's TPF grant proposal? 15:43
15:45 zilti1 is now known as zilti
lucasb no comments 15:46
AlexDaniel perlpilot: yup 15:47
jdv79 is the async stuff resource hungry? 15:49
just noticed the load is spiking a bit and it doesn't seem like it should
timotimo hm, we had a bug once where threads would busy-loop waiting for things to do 15:50
that should long since have been fixed
jnthn A year ago at least
timotimo you could potentially figure out what's making the load go up by running perf over it
15:50 prammer left, lucasb left
timotimo i.e. perf record -g perl6 blahblah, then perf report -g 15:50
babydrop perlpilot: "* babydrop blocks out all of LP6 drama and focuses on code from now on" 15:51
perlpilot: and yes the comment was removed upon my request.
AlexDaniel perlpilot: kinda sad, isn't it?
timotimo oh cool i get the segfault, too 15:52
babydrop No, it's awesome. All the bugs I can fix \o/
timotimo dogbert17_: for some reason i thought this only b0rked on 32bit systems so i didn't think to try 15:53
15:53 prammer joined
dogbert17_ timotimo: it borks on 64 bit as well, I just had to make the array a little larger 15:53
timotimo now to find out why we're assuming we can write past the allotted space 15:54
i haven't had a good look at the memory region stuff since it was added 15:55
dogbert17_ and why does a simple say statement make the problem go away
timotimo well, this is all about the layout of frames on the stack 15:58
perlpilot AlexDaniel: Are you pushing people to apply for TPF grants? (you can do that anyway, whether there's 10k just sitting around or not :-) 15:59
timotimo you're adding a call to something, so at least one more frame gets added to the stack
AlexDaniel perlpilot: I have never thought there is enough money that somebody could possibly consider asking for extra 10k on top of 37k he gets for some work already 16:00
16:01 Actualeyes left
perlpilot Regardless of what bdf is asking for, the TPF does have funding that people can apply for. 16:02
Didn't Karen secure a large donation before she stepped down as president? 16:03
babydrop perlpilot: and yet makk was here a few months ago saying there's trouble getting funding for marketing stuff or something?
AlexDaniel what does it mean? Is it some kind of infinite resource or what?
perlpilot AlexDaniel: infinite? no. But small, finite and mandated to fund Perl projects, yes.
babydrop perlpilot: I'm under the impression the TPF doesn't have a ton of funding (for Perl 6). So saying "anyone can apply for it" to me rings with "...to replace the current work being"
being done 16:04
being funded
16:04 dj_goku joined
dogbert17_ hopes timotimo figures it out 16:06
timotimo well, it's already acting very funny to say the least
babydrop In fact, if you read the Perl 6 specific fund it actually states its initial objective is to fund jnthn++'s work: www.perlfoundation.org/perl_6_core_...pment_fund
And in eligibility it states "To be eligible the applicant must be a contributor to Perl 6." 16:07
jnthn I don't think the application was filed against that fund, though?
iiuc it was filed as a general grant
16:09 dj_goku left
jnthn Looks that way from reading it, anyways 16:09
babydrop Well, I've no idea Perl 6 work could be funded by some "general grant". 16:10
timotimo using a region at 0xcac8830; going from 0xcae8830 (0xcac8c30) to 0xcae8830 16:11
using a region at 0xcac8830; going from 0x61cb518 (0xcac8c30) to 0xcae8830
here's where it asplodes
jnthn I'm sure somebody can correct me on the details if they know better, but so far as I understand it TPF both has a general grants process for any Perl related thing, which is operated on a quarterly process or something 16:12
timotimo jnthn: what you see here is the address of the allocated blob (i.e. where the CallStackRegion lives), the current alloc pointer, the poister to the very first alloc in parenthesis and the alloc_limit at the end
jnthn Together with targetted grants programs that have their own rules
timotimo jnthn: got a clue how the alloc pointer might be able to jump backwards to a previous region?
babydrop jnthn: noted
jnthn Such as the Perl 6 dev fund that funds my work, and the Perl 5 Core Maint Fund
timotimo there's only one thread ...
jnthn timotimo: Well, it jumps backwards when you exit that region, no? 16:13
timotimo: That is, when you pop the last callframe in the second region off the call stack, you should find yourself back in the first again 16:14
timotimo ah
maybe in that case we sometimes don't change the alloc limit properly
ah, yes
callstack_region_prev never changes the alloc_limit 16:15
uh
derp. it shouldn't
using a region at 0xcac8830; going from 0xcae8830 (0xcac8c30) to 0xcae8830 16:18
panic! we destroyed a frame on(?) the callstack and fell out of it! 16:19
using a region at 0xcac8830; going from 0x61cb518 (0xcac8c30) to 0xcae8830
for some reason we're calling frame_destroy on a non-promoted stack frame that's not on our currently active region
jnthn Is it really non-promoted, or is it considered so because it was promoted and the memory got zeroed? 16:22
timotimo i can have a look
jnthn (That is, is its address in the region)
That MVM_gc_debug_find_region could help you know if it's in a fromspace somewhere
timotimo its address is in an earlier region 16:23
16:23 cdg joined 16:24 cdg_ joined 16:25 cdg left
timotimo reads up on the x command in gdb 16:25
oh, i can just cast it to the right type 16:26
tbrowder ref advent calendar: i've seen the bad reports here about wordpress, and i have babydrop's gistmd2html code and i'm ready to create my draft. some questions first: 1. Can we see the actual format of a good looking entry somewhere? (I see slightly varying formats for the entries so far.) 2. Does the author add "Day N -- {$title}" or just "{$title}"?
3. Will I see a good (as published) preview before publishing?
timotimo it's not completely nulled
perlpilot tbrowder: 3. yes. 2. normally the author adds, but I don't know with the script. 16:27
tbrowder: and for completeness 1. dunno :-)
timotimo FWIW, the frame it points to via its ->caller is also at a wildly different address from the currently active stack region 16:28
and its flags are also 0
babydrop tbrowder: (1) here's the markup generated by the script that I simply pasted into Wordpress's HTML box: gist.github.com/zoffixznet/64de2db...366604121e which is for this entry: perl6advent.wordpress.com/2016/12/...ggy-types/ 16:30
pmurias babydrop: re problem founding marketing AFAIR the big problem with that is getting a grant for every small expense is a lot of trouble
babydrop tbrowder: (2) Yes, add the Day N — (3) yes, there's two ways of viewing the previes. First is the "previe in the editor" and once you schedule your post, you can go to scheduled posts and there'll be anotehr preview button that will lead to a proper-looking page with your article preview 16:31
(the first preview thing is fine, it's just slightly narrower than the final article, I think)
16:31 Ven joined 16:34 khw joined, Ven left 16:35 lizmat left
timotimo dogbert17_: i have to head out for a bit, but at least i have sort of a clue now about what happens 16:37
babydrop b2gills: you around? 16:38
16:39 zakharyas joined
b2gills yes 16:39
16:39 grondilu left
babydrop m: say i³ ≅ i*i*i 16:40
camelia rakudo-moar 7511b4: OUTPUT«True␤»
babydrop b2gills: in your ticket, are you saying the nearly-zero number we get is inaccurate and there's some way to get exact zero? I tried with Perl 5's Math::Complex and it gives the same result, due to log/exp involved the floating point noise occurs.
b2gills m: say [*] i xx 3; say i ** 3 16:41
camelia rakudo-moar 7511b4: OUTPUT«-0-1i␤-1.83697019872103e-16-1i␤»
babydrop I see there's DemMoivre's theorem for integer powers, but it involves cos/sin, which I think would have the same problem
s: &prefix:<[*]>, \(i xx 3) 16:42
SourceBaby babydrop, Sauce is at github.com/rakudo/rakudo/blob/7511...ps.pm#L176
tbrowder babydrop and perlpilot: thanks for the help
b2gills If the conclusion is *won't fix* I will accept it
babydrop OK. I'll search around some more if there's any trick for it.
b2gills I'm just saying that any number raised to a Positive Integer power is the same as multiplying that many copies together. 16:45
16:45 mohae joined
babydrop m: dd i.polar 16:47
camelia rakudo-moar 7511b4: OUTPUT«(1e0, 1.5707963267949e0)␤»
babydrop neat
16:48 mohae_ left
geekosaur the usual answer is to provide multiple ways to do it. for example Haskell has 3 different power operators, each with different constraints, to handle the various cases that come up 16:48
^ ^^ **
babydrop yikes 16:49
geekosaur and even that isn't sufficient for all use cases, as different algorithms for the floating point cases work better in different circumstances
(aaaand we're back in the sewer that is numerical methods again. complete with alligators.) 16:51
babydrop hm, ruby gives 0-1i and python gives -0-1i 16:55
b2gills m: multi infix:<**> ( Complex $c, Int $i --> Complex ){ if 0 <$i < 10²⁰ { my Complex $a; $a *= $c for ^$i; $a } else { $c ** $i.Num } }; say i ** 3 # We could add a :( Complex, Int ) case to &[**]
camelia rakudo-moar 7511b4: OUTPUT«-0-1i␤»
16:57 pyrimidine left, pyrimidine joined
AlexDaniel babydrop: do they? Or do they just show very small numbers as 0? 16:57
babydrop AlexDaniel: good point 17:00
[Coke] jnthn: is correct. there are specific funds that can only fund certain things. (Hague grant. Core perl 5. Core Perl 6). grants for these go through a process that in the past, went through Karen. There is also the grants committee, which handles non-specific grants; there is no requirement that they be perl 5 or perl 6. Just that they benefit the perl community. 17:01
babydrop b2gills: I tested that method and that makes the code 92 times slower (for base 30)
17:01 pyrimidine left
babydrop b2gills: so, I'm not really seeing the gain here. 17:01
17:01 pyrimidi_ joined
b2gills m: say (i ** 3).reals».fmt('%.30f'); say (1 ** 3).reals».fmt('%f') 17:02
camelia rakudo-moar 7511b4: OUTPUT«(-0.000000000000000183697019872103 -1.000000000000000000000000000000)␤No such method 'reals' for invocant of type 'Int'␤ in block <unit> at <tmp> line 1␤␤»
[Coke] the grants committee does not have a specific fund. They rank grants received in order they would prefer them funded each time period as they are reviewed. The treasurer/board then lets us know which ones can be funded. approved-but-not-funded go into a pile for next time, when they might be funded.
b2gills m: say (i ** 3).reals».fmt('%f')
camelia rakudo-moar 7511b4: OUTPUT«(-0.000000 -1.000000)␤»
[Coke] I am on the GC, happy to answer questions so people don't have to speculate.
babydrop b2gills: but that uses different methods. There's no logs/exp involved in in pow of an int
rindolf just gave me an algo to try... 17:03
babydrop tries
17:05 kyclark left, dj_goku joined
b2gills Again if the decision is *won't fix* I'll accept it. It was just ever so slightly annoying that I had to add a few more bytes to my entry. (I don't even know if that was necessary as I didn't ask the OP) 17:05
[Coke] also, I say this occasionally: I don't see a lot of perl 6 grant requests come through the general process. By all means, submit Perl 6 proposals. They're held to the same standards as the Perl 5 proposals. 17:06
babydrop [Coke]: thanks for the clarification 17:07
17:07 domidumont left
b2gills I think fewer people who only know the sixth version of Perl follow the Perl Foundation 17:08
s/know/know only/
babydrop m: say 8.5440512 / 0.1401583 17:09
camelia rakudo-moar 7511b4: OUTPUT«60.96000879␤»
babydrop :(
no good
mst b2gills: can we please stick to calling it perl6 and not pretending it's a version of the same thing as perl5 17:10
b2gills babydrop: to that I say: meh, the current result is good enough
mst I really don't want to go back to the stupid-ass arguments of the before times
babydrop b2gills: OK. Closing the ticket as won't fix.
17:10 dj_goku left
babydrop ^ that 60x was loss to that algo I've just tried. so... at least I tried :) 17:11
17:11 rurban1 joined
b2gills mst: I wrote it that way to drastically reduce the word count while keeping it understandable, I normally type 「Perl[Compose][space][space]6」 and 「Perl[Compose][space][space]5」 17:13
mst b2gills: 'perl6' or 'Perl 6' don't bother me, 'sixth version of perl' is both longer and contributes to the silly people being silly about things 17:14
and I've found that being pedantic about it at this level saves me from having to go put actual fires out later
dogbert17 timotimo: hopefully you can figure it out 17:15
b2gills mst: Which is why I always point out the differences on posts/comments whenever I see them ( i.e. I'm a fellow pedantic firefighter most of the time ) 17:16
mst b2gills: :D
17:19 girafe joined 17:22 donaldh left 17:24 girafe left 17:27 noganex_ left 17:30 kyclark joined 17:35 dj_goku joined 17:36 noganex joined 17:38 dakkar left 17:39 cognominal left
tbrowder i'm getting paranoid here and would appreciate one or two sets of eyes on my advent blog for 12 dec. anyone willing to help please msg me privately and i'll give my e-mail or phone number 17:40
17:41 dj_goku left
[Coke] I'm happy to proof a copy. 17:42
17:43 cognominal joined 17:44 domidumont joined
moritz tbrowder: do you have access to perl6advent.wordpress.com/wp-admin/ already? 17:46
17:46 zakharyas left
tbrowder moritz: i can get there, yes 17:47
17:48 jonas1 left
tbrowder i guess [Coke] can too, so that seems the best way to get other eyes on it 17:49
17:50 gregf_ left, HoboWithAShotgun joined 17:51 pyrimidi_ is now known as pyrimidine
HoboWithAShotgun rakudo: print (1/3).WHAT; 17:51
camelia rakudo-moar 7511b4: OUTPUT«Use of uninitialized value of type Rat in string context.␤Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.␤ in block <unit> at <tmp> line 1␤»
babydrop heh
nice nick
m: say (1/3).nude
camelia rakudo-moar 7511b4: OUTPUT«(1 3)␤»
babydrop m: say (1/3).^name
camelia rakudo-moar 7511b4: OUTPUT«Rat␤»
babydrop .WHAT gives you a type object which is not defined 17:52
HoboWithAShotgun (1/3) looks definitly defined to me
babydrop HoboWithAShotgun: sure, but you're calling .WHAT on it
HoboWithAShotgun: and it tells Rat, which is a type object, and type objects are not defined
m: say Rat.defined 17:53
camelia rakudo-moar 7511b4: OUTPUT«False␤»
babydrop m: dd ⅓.WHAT
camelia rakudo-moar 7511b4: OUTPUT«Rat␤»
babydrop m: say ⅓.WHAT.new: 2, 3 17:55
camelia rakudo-moar 7511b4: OUTPUT«0.666667␤»
AlexDaniel you could have used 「say」 instead
m: say (1/3).WHAT
camelia rakudo-moar 7511b4: OUTPUT«(Rat)␤»
babydrop m: print (1/3).WHO
camelia rakudo-moar 7511b4: OUTPUT«Rat»
HoboWithAShotgun I thought say and print differ only by the newline 17:56
AlexDaniel well, or that
HoboWithAShotgun: no, one calls .gist, other .Str
timotimo huh, what.
babydrop HoboWithAShotgun: no, that's in Perl 5. In Perl 6 print and put differ by newline and say is a "for humans" type of output that uses .gist output (except for Str, which are output as is)
timotimo someone's claiming ruby 2.3 rounds 2.5 up to 3 and ruby 2.4 rounds 2.5 down to 2
babydrop m: say 2.5.round 17:57
camelia rakudo-moar 7511b4: OUTPUT«3␤»
17:58 kyclark left
HoboWithAShotgun "one calls .gist, other .Str" is apparently false, rakudo: my $x = 1/3; say $x.Str; say $x.gist; 17:59
rakudo: my $x = 1/3; say $x.Str; say $x.gist;
camelia rakudo-moar 7511b4: OUTPUT«0.333333␤0.333333␤»
HoboWithAShotgun see?
babydrop HoboWithAShotgun: for some objects .Str and .gist outputs are the same :)
AlexDaniel m: my $x = 1/3; say $x; put $x
camelia rakudo-moar 7511b4: OUTPUT«0.333333␤0.333333␤»
babydrop m: my $x = 1/3 but role { method Str { "tis a Str!" }; method gist { "tis a gist!" } }; say $x.Str; say $x.gist;
camelia rakudo-moar 7511b4: OUTPUT«tis a Str!␤tis a gist!␤»
babydrop HoboWithAShotgun: ^ see 18:00
18:00 b7j0c joined
babydrop HoboWithAShotgun: so... um.. is the shotgun loaded? :) 18:01
HoboWithAShotgun i find it both amazing and disturbing how you just created an adhoc role in "one line"
babydrop ehehehe :)
AlexDaniel m: my $x = 1/3 but role { method Str { "tis a Str!" }; method gist { "tis a gist!" } }; say $x; put $x; print $x
camelia rakudo-moar 7511b4: OUTPUT«tis a gist!␤tis a Str!␤tis a Str!»
babydrop m: print 42 but "Look ma'! No roles!"
camelia rakudo-moar 7511b4: OUTPUT«Look ma'! No roles!»
babydrop ^_^
[Coke] tbrowder: fyi, day 12 is currently an empty draft here.
HoboWithAShotgun i need a book for this. is there a camel-book equivalent by now? 18:02
babydrop HoboWithAShotgun: there are 3 or four books in progress. I know one of them is meant to be done by August
[Coke] not yet. kickstarter just funding for a "Learning Perl 6" book, which I think we can expect next year if it hits.
moritz HoboWithAShotgun: if you're interested in news about Perl 6 books, please sign up for the mailing list at perl6book.com/ 18:03
babydrop HoboWithAShotgun: there's a post on that: perl6advent.wordpress.com/2016/12/...e-is-ripe/
[Coke] I think someone might be working on the camel, but no word on progress.
18:03 dj_goku joined, dj_goku left, dj_goku joined
tbrowder [Coke] (and moritz): yes, i will put in content in a bit--running it through babydrop's filter now. I'll let you know when it's there. In the meantime, consider the tile which i'm mulling over several variants: "[How to Avoid|| Avoiding || Avoid ] Namespace Pollution [with || in] Perl 6 Modules" 18:08
s/tile/title/
babydrop m: "{('How to Avoid', 'Avoiding', 'Avoid').pick} Namespace Pollution {('with', 'in').pick} Perl 6 Modules".say 18:10
camelia rakudo-moar 7511b4: OUTPUT«How to Avoid Namespace Pollution in Perl 6 Modules␤»
babydrop m: "{('How to Avoid', 'Avoiding', 'Avoid').pick} Namespace Pollution {('with', 'in').pick} Perl 6 Modules".say 18:11
camelia rakudo-moar 7511b4: OUTPUT«Avoiding Namespace Pollution with Perl 6 Modules␤»
18:11 dj_goku left
babydrop votes for that second one 18:11
18:12 aindilis joined
tbrowder heh heh, great pick! i'm gonna try that with the Florida Lottery! 18:12
b7j0c m: my uint8 $u = 256; say $u; 18:13
camelia rakudo-moar 7511b4: OUTPUT«0␤»
tbrowder well, i'll use the advent quantum secret santa idea
b7j0c native types (uint8 etc) seem uninspired...if you overflow one, you just get a silent unintended consequence 18:14
babydrop b7j0c: well, they're native :/
b7j0c i've been playing with them in code and i'm ready to put them in the "considered harmful" basket
babydrop heh
pmurias hmm, should RAKUDO_MONKEY_BUSINESS turn on *all* the monkey pragmas? 18:15
b7j0c is it just a matter of not having the implementation polished? or is failing silently conformant with the spec?
babydrop m: use MONKEY-BUSINESS; nqp::say("")
camelia rakudo-moar 7511b4: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Could not find nqp::say, did you forget 'use nqp;' ?␤at <tmp>:1␤------> 3use MONKEY-BUSINESS; nqp::say("")7⏏5<EOL>␤»
babydrop pmurias: prolly not 18:16
geekosaur m: use MONKEY; nqp::say("")
camelia rakudo-moar 7511b4: OUTPUT«␤»
babydrop b7j0c: it's by design. They're native types. You get same overflows in C (sans whatever bugs we still have in our natives)
geekosaur b7j0c, I think the intended use case is with e.g. NativeCall, where conformance with the actual platform behavior is a feature
jdv79 i think my load issue is just running a few threads of kinda not well performing code 18:17
XML and HTTP::Tinyish to be exact
18:17 Sgeo left
babydrop m: say Blob.new: 666 18:17
camelia rakudo-moar 7511b4: OUTPUT«Blob:0x<9a>␤»
jdv79 pretty sure it doesn't need to peg a core to fetch some rss and parse out some bits
babydrop ^ another location where overflows work 18:18
geekosaur the whole point of the more abstract types is to avoid the native behavior of native types; you use native types when you need the native behavior or you need to interface with code using native types
18:19 Sgeo joined
b7j0c what is the "native behavior of native types"? 18:19
HoboWithAShotgun what's the reasoning behind the existence of "$obj.method: args" and why does moritz call it "idiomatic"?
babydrop HoboWithAShotgun: as opposed to what? 18:20
That's a way to call a method with some args in Perl 6.
HoboWithAShotgun as opposed to object.method(args)"
babydrop eww gross
HoboWithAShotgun: well, the : way is less typing and less reading. So sure, I'd say it's idiomatic to use it frequently at the end of the chain. 18:21
HoboWithAShotgun i find it really hard to parse
babydrop The only point I found it's LTA is when it's followed by a block, like whenever $foo.grep: /x/ { blah blah }
geekosaur b7j0c, what the CPU does 18:22
but that question in and of itself makes me think you are missing the point
b7j0c what CPU?
geekosaur ...
pmurias b7j0c: the CPU the code is running on
babydrop b7j0c: the processor that's executing the code.
b7j0c no i get that, but i guess i am probing a bit as to some expectation of a particular platform working in a certain way 18:23
geekosaur b7j0c, yes it is absolutely possible to make Perl 6 treat even those types the way it does its own types.
b7j0c maybe next week a CPU works differently
babydrop HoboWithAShotgun: it's especially helpful with nested stuff: .grep(*.contains("foo")) vs .grep(*.contains: 'foo') or even .grep: *.contains: 'foo'
geekosaur b7j0c, you've just landed in the C-flavored soup that is why autoconf/cmake/etc. exist
it's a complete mess with very few guarantees. unfortunately it's also the only way you can interface with non-Perl code 18:24
HoboWithAShotgun ok, but now i want to call a method on that
geekosaur (barring things like ASN.1 --- which is its own kind of absolute mess)
babydrop HoboWithAShotgun: put parens on! :) 18:25
b7j0c yeah, i suppose what i wish was perl6 had more types beyond Int/Uint...i know you can make subsets, but it would have been nice for Uint8, Uint16 etc to be already there
babydrop HoboWithAShotgun: where is moritz calling it idomatic BTW?
b7j0c or at the very least, a Byte type
very handy in Go for example 18:26
HoboWithAShotgun here: perlgeek.de/blog-en/perl-6/
babydrop b7j0c: and what would they do instead of overflowing? Throw an exception?
b7j0c yes, imho
thats what subsets do, right?
babydrop b7j0c: well, IMO it's a trivial module to make. In fact, this stuff might already be in Subsets::Common
18:26 pyrimidine left
b7j0c yes, i wrote that 18:27
babydrop b7j0c: yeah, the subset of UInt where * < 255; is .....
b7j0c but i wish it wasn't needed
babydrop ... well, then you know it better than I :)
[Coke] I do like that the p5 advent is all christmas themed. I may have already said that.
18:27 pyrimidine joined
geekosaur notes that the Haskell equivalent types also don't bother with such. mostly because the primary use cases end up being talking to C or to the network and you're going to land in native types at some point either way 18:27
babydrop b7j0c: well, we can't pack up every thing in the universe into core Perl 6 in case someone decides typing half a line of code is too much work ;) 18:28
geekosaur (well, also because doing it properly needs more than Haskell. that's more Agda level types)
b7j0c true but Haskell also lets you trivially define types as I have in Subsets::Common that are first-class citizens
subsets i see as second-class citizens
[Coke] ... why?
b7j0c runtime checked instead of compile? 18:29
babydrop HoboWithAShotgun: I think you misread moritz's article. It says "you can write .method() as .method:"... and then goes on with "idiomatic form of the small Sudoku formatter", which uses both versions
b7j0c i mean, they really aren't types at all, more like sugar on functions
[Coke] rakudo does what it can at compile time, and the rest and run time. doesn't mean more stuff won't move to compile time later.
b7j0c that would be awesome!@
tbrowder [Coke] and moritz: the complete draft is there now
[Coke] rest *at* runtime 18:30
pmurias babydrop: aren't checked sized types much more efficent when integrated into the compiler?
[Coke] tbrowder: ok. meeting 3-4 that I have to actually prep for, will look this evening. ping me if you don't hear back.
AlexDaniel and if I recall correctly there is no guarantee that subset checks are run time
babydrop right
They will be compile time if it can be done, as I recall jnthn++ saying 18:31
b7j0c that would be a game changer
AlexDaniel b7j0c: oh, you sound like a right person to work on this!
b7j0c i'm too much of an idiot
AlexDaniel bummer
tbrowder [Coke] will do--no rush i think, draft is saved (whew!). i assume one shouldn't schedule it until all tweaks are done? 18:32
babydrop woooo
babydrop just got this year's Hacktoberfest shirt o/
And a bunch of Octocat stickers \o/ \o/ 18:33
18:35 pyrimidine left 18:36 pyrimidine joined
babydrop pic of the design that I mentioned is much more toned down than last years twitter.com/zoffix/status/806930851585986561 18:38
HoboWithAShotgun rakudo: say <a b c>[*/2] 18:39
camelia rakudo-moar 7511b4: OUTPUT«b␤»
HoboWithAShotgun scary
babydrop heh 18:40
rakudo: say <a b c>[*.first: *.is-prime]
camelia rakudo-moar 7511b4: OUTPUT«Nil␤»
babydrop oh right
rakudo: say <a b c>[*.grep(*.is-prime)[0]]
camelia rakudo-moar 7511b4: OUTPUT«Nil␤»
babydrop :(
oh right 18:41
dammit.. my trick won't look cool now after all the struggles!
rakudo: say <a b c>[(^*).first: *.is-prime]
camelia rakudo-moar 7511b4: OUTPUT«c␤»
babydrop rakudo: say (^2000).[(^*).first: *.is-prime, :end] 18:42
camelia rakudo-moar 7511b4: OUTPUT«1999␤»
babydrop rakudo: say (^20000).[(^*).first: *.is-prime, :end]
camelia rakudo-moar 7511b4: OUTPUT«19997␤»
18:43 labster joined
babydrop rakudo: say (^20000).[(^*).first: :end, *.first: :end, *.first: :end, *.first: :end, *.is-prime] 18:44
camelia rakudo-moar 7511b4: OUTPUT«Effective index out of range. Is: 19998, should be in 0..0␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
babydrop heh
m: say 3.first: :end 18:45
camelia rakudo-moar 7511b4: OUTPUT«Index out of range. Is: 2, should be in 0..0␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
babydrop s: (3,), 'first', \(:end) 18:46
SourceBaby babydrop, Sauce is at github.com/rakudo/rakudo/blob/7511...s.pm#L1127
babydrop weird, don't see a bug there 18:47
m: say (3,).first: :end
camelia rakudo-moar 7511b4: OUTPUT«3␤»
babydrop oh
s: 3, 'first', \(:end) 18:48
SourceBaby babydrop, Sauce is at github.com/rakudo/rakudo/blob/7511...s.pm#L1127
babydrop ...
oh ROFL
Now I see it :D
it's the cheetsy-doodle + to get .elems 18:49
I'm just talking to myself here, right? :)
It's OK. I enjoy my own company...
timotimo it's good, yeah
babydrop fixes the bug
18:51 domidumont left
HoboWithAShotgun No, don't fix it. Squash it!!eleven!!111 18:52
dalek rl6-most-wanted: 02786c3 | (David Warring)++ | most-wanted/modules.md:
Want Math::Units

Would happily trade CSS::Declarations::Units (CSS::Declarations module) for something more general purpose.
18:53
HoboWithAShotgun i'ms till trying to understand the code you posted at 12 minutes ago
18:54 cognominal left
HoboWithAShotgun i'ms till trying to understand the code you posted at 12 minutes ago 18:55
what is the value of the whatever in the indexation? 18:56
babydrop HoboWithAShotgun: the number of elements in the list
TimToady HoboWithAShotgun: to understand when to use : instead of (), you have to take into account what we call "end weight" in linguistics, which are situations where you don't want to keep information on your mental stack 18:57
HoboWithAShotgun so (^*) is a range from 0 to the number of elements
18:58 cognominal joined
babydrop HoboWithAShotgun: to.. number of elements - 1 18:58
TimToady this works well with method arguments that are complete blocks, for instance, so you can just end them with a lonely } instead of having to remember to put });
babydrop m: say (^2000).[{(0..($^elems-in-the-list-1)).first: :end, { $^index-number-from-zer-till-elems-in-the-list-minus-one.is-prime}}]
camelia rakudo-moar 7511b4: OUTPUT«1999␤»
babydrop HoboWithAShotgun: ^ longer version. The { ... } are code blocks
18:58 labster left 18:59 eliasr left, wamba left, dwarring joined
babydrop m: say (^2000).[sub ($elems-in-the-list) {(0..($elems-in-the-list-1)).first: :end, sub ($index-number-from-zer-till-elems-in-the-list-minus-one) { $index-number-from-zer-till-elems-in-the-list-minus-one.is-prime}}] 19:00
camelia rakudo-moar 7511b4: OUTPUT«1999␤»
babydrop an even longer version with subs instead of blocks :)
m: say ^3
camelia rakudo-moar 7511b4: OUTPUT«^3␤»
babydrop m: say eager ^3
camelia rakudo-moar 7511b4: OUTPUT«(0 1 2)␤»
19:00 effbiai joined, effbiai left, effbiai joined
babydrop ^ that's what that op does 19:00
(makes a Range object)
huggable: Range
huggable babydrop, Interval of ordered values: docs.perl6.org/type/Range
TimToady babydrop: superstitious parens around ($elems-in-the-list-1) 19:01
babydrop TimToady: thanks!
TimToady and that's a really good place for space around infix:<->
babydrop heheh
HoboWithAShotgun Oh, hi TimToady. :-) I still have the canvas bag you signed a couple of years ago in lisbon.
TimToady or why not just use ..^ there?
babydrop TimToady: I just tried to be a bit more verbose about what's going on 19:02
TimToady heh, was just in lisbon for Web Summit, 58,000 people...
HoboWithAShotgun for some reason my cat loves to sleep on it.
TimToady residual sharpie smell is probably catnippy :) 19:03
19:05 prammer left 19:06 Cabanossi left, Cabanossi joined, dj_goku joined, dj_goku left, dj_goku joined 19:12 dj_goku left
HoboWithAShotgun TimToady. A stern word. I have a Perl camel tatooed. That ugly butterfly won't make it I'm afraid. Seriously, what on earth? 19:13
19:13 andrzeju_ joined
perlpilot HoboWithAShotgun: next you'll be complaining that it's called "Perl 6" ... 19:13
19:14 prammer joined
babydrop HoboWithAShotgun: the butterfly is proving a good deterrent of snobby elitists 19:14
19:14 prammer left
HoboWithAShotgun indeed. it should be Perl VI ;-) 19:14
babydrop m: dd 3.first
camelia rakudo-moar 7511b4: OUTPUT«3␤»
babydrop m: dd 3.first: :p
camelia rakudo-moar 7511b4: OUTPUT«3␤»
jonadab perlpilot: Funny you should say that. We really should have Perl 7 by now.
babydrop m: dd 3.first: {True}, :p
camelia rakudo-moar 7511b4: OUTPUT«0 => 3␤»
babydrop ^ another bugglet in .first
babydrop presses the "Take" button on imaginary ticket 19:15
19:15 andrzejku left
jnthn babydrop: Where's the bug in that one? 19:15
oh, `3.first: :p` 19:16
babydrop Yeah, adverbs broke without a matcher
jnthn Yeah, I only read the line about your ^ :)
19:16 darutoko left
babydrop :) 19:16
19:16 prammer joined
dogbert17 jnthn: did you release yesterdays superbugfix? 19:17
jnthn release?
It's in MoarVM master
Ah, maybe you mean "did MOAR_REVISION get bumped"...
I can't remember :P
dogbert17 yes, did MoarVM get bumped :) 19:18
jnthn Just checked; yes
Or at least, it seems so 19:19
dogbert17 can't see your commit in 'git log', must be blind
19:19 dj_goku joined, dj_goku left, dj_goku joined
jnthn Well, NQP_REVISION certainly got bumped 19:19
Though not by me :) 19:20
dogbert17 does an NQP_REVISION bump imply a MoarVM one as well
jnthn pmurias++ did it for pow_I fixes, and that bump brought my commits along for the ride :)
Ah, I meant MOAR_REVISION got bumped, I checked that first :) 19:21
dogbert17 I just can't see the large blog post like commit in there
jnthn But yeah, looking at the commit IDs, HEAD Rakudo has it
dogbert17 aha
19:21 FROGGS left
jnthn The blog post style commit message was in the Moar repo. I did actually start writing a blog post about the fix last night 19:22
But it got late and I had to sleep before I could finish it :)
Hopefully tonight.
dogbert17 cool 19:23
19:24 cognominal left 19:26 sena_kun left 19:31 cognominal joined 19:35 lizmat joined
mspo this is under discussion in #erlang: www.hackerrank.com/challenges/john-and-fences 19:39
feels like a one-liner in perl6?
19:40 rurban1 left 19:41 domidumont joined
moritz mspo: I don't see it yet (how it can be a one-liner) 19:45
19:45 labster joined
b7j0c would be nice to see perl6 in hackerrank! 19:46
...but at least they have perl5 in most of it
19:47 krakan joined 19:50 zacts joined
mspo moritz: some kind of combo of set ops? 19:51
19:53 pyrimidine left 19:54 pyrimidine joined 19:55 girafe joined, wamba joined
babydrop I don't see how that can be modeled in a Setty/Baggy since they're unordered 19:57
19:58 aindilis left, aindilis joined
babydrop gets a headache and closes the page 19:58
19:59 pyrimidine left 20:00 zakharyas joined
moritz I believe this is a working solution, though brute force and rather crude: perlpunks.de/paste/show/5849bc36.2194.259 20:02
moritz wonders if the problem is amendable to dynamic programming
mspo yes 20:03
babydrop m: Failure.new.sink 20:06
camelia rakudo-moar 8cb3e1: OUTPUT«Failed␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
babydrop m: sink Failure.new
camelia ( no output )
babydrop feels trapped in a bug loop, fixing one bug uncovers another :o
20:08 TEttinger joined
geekosaur .oO 99 bugs in the code in the node... take one down, patch it around, 101 bugs in the code in the node 20:10
pmurias babydrop: which bug are you chasing down?
pmurias considers fixing up the InvalidCharacter exceptions 20:11
babydrop pmurias: already chased. first without matcher forgets about adverbs, but as I was writing the test I noticed sink Failure doesn't explode it, while Failure.sink does 20:12
well, I assume it's a bug and not some weird feature :P
20:17 domidumont left 20:21 pyrimidine joined 20:25 pyrimidine left
dalek c: 55a5a09 | (Zoffix Znet)++ | doc/Type/List.pod6:
Document the matcher-less .first()

  - Existed in Rakudo since pre-Christmas
  - Adverb handling on it fixed in github.com/rakudo/rakudo/commit/ababb246a3
20:27
synopsebot6 Link: doc.perl6.org/type/List
20:31 prammer left
babydrop m: Failure.new.eager 20:32
camelia ( no output )
babydrop That's why sink Failure.new doesn't explode, it ends up calling .eager 20:33
20:34 prammer joined 20:37 AlexDaniel left 20:39 cognominal left 20:40 espadrine joined 20:41 cognominal joined 20:44 hankache joined 20:51 SmokeMachine____ joined 20:52 SmokeMachine____ is now known as SmokeMachine 20:53 b7j0c left, zakharyas left 20:54 SmokeMachine is now known as SmokeMachine_ 20:56 SmokeMachine_ is now known as SmokeMachine 20:58 Tonik joined 21:01 pyrimidine joined 21:09 pyrimidine left 21:15 hankache left 21:16 rindolf left 21:22 rindolf joined, firstdayonthejob joined 21:36 bjz joined 21:39 bjz left 21:40 mohae_ joined 21:42 mohae left, ufobat left 21:45 firstdayonthejob left
moritz tic tac toe in Perl 6: perlpunks.de/paste/show/5849d55d.40ff.242 21:49
I now have a persistent threat to blog about that, should a hole appear in the advent calendar :-) 21:50
speaking of which, brrt, who is your article coming along? 21:51
2 hours 8 minutes left... 21:52
21:52 bjz joined 21:56 skids left
moritz if things get tight, maybe ask if you can swap with titsuki on day 11, the post seems to be ready 21:56
time for sleep here 21:57
21:59 firstdayonthejob joined 22:00 bjz left
RabidGravy moritz, do you want the 12th? I was just going to wing it anyway? 22:00
22:13 rurban joined, prammer left 22:14 Tonik left 22:18 Lucas_One left 22:23 avuserow joined 22:25 cognominal left 22:32 MasterDuke left 22:35 cognominal joined 22:36 MasterDuke joined 22:40 cognominal left 22:41 cognominal joined, matiaslina joined 22:42 khw left 22:45 RabidGravy left 22:49 firstdayonthejob left
brrt moritz: I'm nearing done-ness, actually 22:53
timotimo cool 22:54
brrt oh, sleeping already
timotimo: i'd be very grateful if you could proofread my post when i've finished it 23:02
23:04 perlawhirl joined, lukaramu left 23:07 firstdayonthejob joined 23:10 cognominal left 23:11 cognominal joined
titsuki moriz: Sorry, I noticed that I mistook the operation and posted my advent post. 23:14
23:15 Actualeyes joined 23:19 rburkholder joined, Actualeyes left
titsuki moriz: I've already changed the release date of my post. 23:21
23:23 pmurias left 23:25 cognominal left, cognominal joined
vcv_ ok, I'm missing something very obvious here... 23:31
m: my @grid = (0, 0), (0, 0); @grid[0][0] = 1;
camelia rakudo-moar 345f6a: OUTPUT«Cannot modify an immutable Int␤ in block <unit> at <tmp> line 1␤␤»
TimToady m: my @grid = [0, 0], [0, 0]; @grid[0][0] = 1; 23:33
camelia ( no output )
TimToady lists are immutable, arrays are not
vcv_ Thanks. Brain fart. 23:34
TimToady more precisely, an array will have assignable intermediate containers, while a list will have just whatever was in the list
vcv_ and if i had used scalars in place of literals, i would have been able to assign? 23:35
TimToady yes
vcv_ Thank you.
TimToady m: my int @grid = (0, 0), (0, 0); @grid[0][0] = 1;
camelia rakudo-moar 345f6a: OUTPUT«This type cannot unbox to a native integer: P6opaque, List␤ in block <unit> at <tmp> line 1␤␤»
TimToady interestin'
23:36 pyrimidine joined
TimToady m: my int @grid[2;2] = (0, 0), (0, 0); @grid[0][0] = 1; 23:36
camelia rakudo-moar 345f6a: OUTPUT«Partially dimensioned views of arrays not yet implemented. Sorry. ␤ in block <unit> at <tmp> line 1␤␤»
TimToady say wot?
brrt titsuki: ping
TimToady m: my int @grid[2;2] = (0, 0), (0, 0); @grid[0;0] = 1; 23:37
camelia ( no output )
TimToady there we go
titsuki brrt: hi
23:39 pyrimidi_ joined 23:40 cognominal left
timotimo brrt: i can try 23:40
brrt: tell me when it happens
23:40 cognominal joined
vcv_ m: my Bool @grid[50;6] is default(False); 23:41
camelia rakudo-moar 345f6a: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤is default on shaped Array[Bool] not yet implemented. Sorry. ␤at <tmp>:1␤------> 3my Bool @grid[50;6] is default(False)7⏏5;␤ expecting any of:␤ constraint␤»
vcv_ darn
23:41 pyrimidi_ left, Actualeyes joined 23:42 pyrimidine left 23:43 khw joined
brrt hi. if you want you can publish your post today, that will have no severe effects 23:45
i'm *just* done
tsitsuki: ^ 23:46
we can switch then
23:47 rurban left
dalek : 437662a | (Tom Browder)++ | misc/perl6advent-2016/schedule:
slight change to title

chosen by Zoffix (babydrop) via his Perl 6 title randomizer code
23:48
titsuki brrt: thank you for your advice, but I'll publish my post on 11 th. 23:51
23:52 girafe left
brrt alright, no problem 23:54
i'll do mine in the coming 5 minutes :-)
23:55 cognominal left
samcv where should I look for the code in perl6 that matches left and right delimiters? Pi => 'Pf' or Ps => 'Pe'; for unicode. such as in #`( or q{} things? 23:55
vcv_ What's the syntax for getting the last n elements of an array/list? @array[..*-n], @array[*-n..*] neither work 23:56
samcv for each Pi codepoint not all the matching Pf ones are 1 codepoint higher, so curious what it uses to find the paired ones
vcv_, you want the .tail method 23:58
brrt timotimo: perl6advent.wordpress.com/?p=5675
but, i'm going to hit the publish button; my own damn fault for being late :-)
timotimo brrt: odd line break in the first line 23:59
vcv_ darn, was hoping for a syntax using subscript. ok thanks