Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-04-29

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 raydiak yep looks like jnthn++ already had the same grammar idea and started implementing it (though a couple years of bitrot makes it segfault): https://github.com/jnthn/grammar-generative
00:01 raydiak TimToady: do you know if it met any particular obstacles other than X::NoTuits?
00:06 jack_rabbit joined #perl6
00:19 raiph joined #perl6
00:25 dalek ecosystem: bc31998 | (David Warring david.warring@gmail.com)++ | META.list:
00:25 dalek ecosystem: moved Test::Builder to perl6-community-modules
00:25 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/bc3199859c
00:27 skids raydiak: https://github.com/skids/perl6netpack/bl​ob/master/IPv4/lib/IPv4/Grammar.pm6#L122  those were my thought on the matter years ago.
00:28 skids (That and a more formalized way to specify a default actions.)
00:35 skids But mainly my biggest wish for grammars is reducing the "make foo.ast" boilerplate when you need to skip up the tree.
00:38 skids Some form of advanced "make" that walks the sub-tree to find asts or sub-sub-rules maybe.
00:39 raydiak or a default action which does so, and gets overridden if you define your own
00:40 skids ...and a way to elide a shim rule, say lie a <..rule> that would be invisible but whose subrules would still appear where it does.
00:48 Zoffix joined #perl6
00:50 tinyblak joined #perl6
00:52 mr_ron joined #perl6
00:52 mr_ron left #perl6
01:23 vendethiel joined #perl6
01:25 konsolebox joined #perl6
01:25 konsolebox joined #perl6
01:26 timotimo you can still just put { make $<foo> } at the end of your regex
01:56 muraiki if I create a promise using async and the code inside of async throws an exception, does that result in a failed promise or do I have to do that manually?
02:02 skids timotimo: It's that you have to either put { make $<foo><bar>[42]<fnord> } at branch tops or put { make blah } on every rule.
02:03 skids (or if you are talking aout default actions, if you { make $<foo> } that happens even when alternate actions are specified.)
02:04 timotimo no, not default actions
02:04 timotimo just that you don't have to build methods for everything
02:06 dayangkun joined #perl6
02:14 chenryn joined #perl6
02:20 muraiki it looks like the promise fails, woot
02:21 muraiki does anyone know how I can redirect stdout/stderr locally?
02:22 muraiki I'm trying to run two shell commands in parallel, but I don't really want their output interleaved :)
02:22 vendethiel joined #perl6
02:27 dnmfarrell is there a way to check for the existence of named captures in $/? Something like $/<singeline_format_text>:exists
02:28 timotimo that should work, yes
02:28 timotimo you can also get $/.keys
02:28 timotimo muraiki: you can use Async::Process for that
02:28 timotimo http://doc.perl6.org/type/Proc::Async
02:29 muraiki timotimo: thanks!
02:29 timotimo you're welcome
02:29 timotimo hm, also there's open :pipe
02:30 timotimo not documented on doc.perl6.org it seems?
02:30 dnmfarrell timotimo: hmm it doesn't like $?<name>:exists is there a way I can use the hash interface like: $?{"name"}:exists (that example doesn't work either, I think)
02:31 timotimo you want $/ of course
02:31 dnmfarrell yeah sorry bad typing
02:31 timotimo m: "hello" ~~ / (.) $0 /; say $/.keys
02:31 camelia rakudo-moar 59b893: OUTPUT«0␤»
02:31 timotimo m: "hello" ~~ / (.) $0 /; say $/.perl
02:31 camelia rakudo-moar 59b893: OUTPUT«Match.new(orig => "hello", from => 2, to => 4, ast => Any, list => (Match.new(orig => "hello", from => 2, to => 3, ast => Any, list => (), hash => EnumMap.new()),), hash => EnumMap.new())␤»
02:31 timotimo m: "hello" ~~ / (.) $0 /; say $/.hash.keys
02:31 camelia rakudo-moar 59b893: OUTPUT«␤»
02:31 timotimo m: "hello" ~~ / (.) $0 /; say $/.list
02:31 camelia rakudo-moar 59b893: OUTPUT«「l」␤»
02:31 timotimo m: "hello" ~~ / (.) $0 /; say $/.list.perl
02:31 camelia rakudo-moar 59b893: OUTPUT«(Match.new(orig => "hello", from => 2, to => 3, ast => Any, list => (), hash => EnumMap.new()),)␤»
02:31 timotimo right, match objects are a tiny bit different i suppose?
02:32 dnmfarrell yeah I'm getting a "you can't adverb that" error
02:32 timotimo m: "hello" ~~ / <foo=alpha><bar=alpha> /; say $/.keys
02:32 camelia rakudo-moar 59b893: OUTPUT«alpha foo bar␤»
02:32 timotimo m: "hello" ~~ / <foo=alpha><bar=alpha> /; say $/<foo>:exists
02:32 camelia rakudo-moar 59b893: OUTPUT«True␤»
02:32 timotimo m: "hello" ~~ / <foo=alpha><bar=alpha> /; say $/<yoink>:exists
02:32 camelia rakudo-moar 59b893: OUTPUT«False␤»
02:32 timotimo give me your exact code please?
02:32 timotimo seems like the adverb is attaching to the wrong thing?
02:33 dnmfarrell $/.<url>:exists
02:33 dalek ecosystem: fbdea2d | tony-o++ | META.list:
02:33 dalek ecosystem: Perl6 Templates that compile to subs
02:33 dalek ecosystem:
02:33 dalek ecosystem: Yet another perl6 templating module. Compiles to subs, fairly quick
02:33 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/fbdea2d16a
02:33 dnmfarrell I tried: $/<url>:exists  and: $/{"url"}:exists
02:34 timotimo m: "hello" ~~ / <foo=alpha><bar=alpha> /; say $/.<yoink>:exists
02:34 camelia rakudo-moar 59b893: OUTPUT«False␤»
02:34 timotimo m: "hello" ~~ / <foo=alpha><bar=alpha> /; say $/<yoink>:exists
02:34 camelia rakudo-moar 59b893: OUTPUT«False␤»
02:34 timotimo m: "hello" ~~ / <foo=alpha><bar=alpha> /; say $/{'yoink'}:exists
02:34 camelia rakudo-moar 59b893: OUTPUT«False␤»
02:34 dnmfarrell *cries*
02:34 timotimo huh. what's your exact version?
02:34 timotimo m: "hello" ~~ / <foo=alpha><bar=alpha> /; say $/.{'yoink'}:exists
02:34 camelia rakudo-moar 59b893: OUTPUT«False␤»
02:34 timotimo did you perhaps put spaces in there somewhere?
02:35 muraiki timotimo: I'm looking at Async::Process, but it's not clear to me how to get the exit code of the program. I can see how to check whether launching the program succeeded or not, but do you know how to get the exit code?
02:35 dnmfarrell I have this: if ($/.<url>:exists && $/.<singleline_format_text>:exists)
02:37 timotimo muraiki: well, .start gives back a promise that you can wait on
02:37 timotimo and the resulting value of the promise will be a Proc::Status object
02:38 muraiki oh! nice. thanks!
02:38 timotimo m: "hello" ~~ / <foo=alpha><bar=alpha> /; say $/.{'yoink'}:exists && $/.{'barf'}:exists
02:38 camelia rakudo-moar 59b893: OUTPUT«5===SORRY!5=== Error while compiling /tmp/CLs0vYlphR␤You can't adverb that␤at /tmp/CLs0vYlphR:1␤------> 3/.{'yoink'}:exists && $/.{'barf'}:exists7⏏5<EOL>␤    expecting any of:␤        pair value␤»
02:38 timotimo m: "hello" ~~ / <foo=alpha><bar=alpha> /; say $/.{'yoink'}:exists and $/.{'barf'}:exists
02:38 camelia rakudo-moar 59b893: OUTPUT«False␤»
02:38 timotimo the precedence bites you here
02:38 timotimo m: "hello" ~~ / <foo=alpha><bar=alpha> /; say ($/.{'yoink'}:exists) && ($/.{'barf'}:exists)
02:38 camelia rakudo-moar 59b893: OUTPUT«False␤»
02:38 tony-o muraiki: promise.result will have .exitcode in it
02:38 timotimo m: "hello" ~~ / <foo=alpha><bar=alpha> /; say $/{'yoink'}:exists && $/{'barf'}:exists
02:38 camelia rakudo-moar 59b893: OUTPUT«5===SORRY!5=== Error while compiling /tmp/J93BUkOCeo␤You can't adverb that␤at /tmp/J93BUkOCeo:1␤------> 3 $/{'yoink'}:exists && $/{'barf'}:exists7⏏5<EOL>␤    expecting any of:␤        pair value␤»
02:39 dnmfarrell damn, you're right
02:39 tinyblak_ joined #perl6
02:39 timotimo std: "hello" ~~ / <foo=alpha><bar=alpha> /; say $/{'yoink'}:exists && $/{'barf'}:exists
02:39 camelia std 28329a7: OUTPUT«ok 00:00 141m␤»
02:39 timotimo i wonder if std thinks this is okay because it doesn't analyze far enough?
02:40 dnmfarrell timotimo: thanks that was driving me a bit nuts
02:40 timotimo star-m: "hello" ~~ / <foo=alpha><bar=alpha> /; say $/{'yoink'}:exists && $/{'barf'}:exists
02:40 camelia star-m 2015.03: OUTPUT«5===SORRY!5=== Error while compiling /tmp/eTNwRoC9vK␤You can't adverb that␤at /tmp/eTNwRoC9vK:1␤------> 3 $/{'yoink'}:exists && $/{'barf'}:exists7⏏5<EOL>␤    expecting any of:␤        pair value␤»
02:40 dnmfarrell what's std, a parser?
02:40 timotimo at least it has been like that in the last release
02:40 timotimo yes, std is the reference grammar
02:44 tony-o timotimo: the Proc::Async exitcode seems to be multiplied by 256.  shell script with 'exit 1' has an exit code of 256 , exit 2 => 512, etc.  i'm running freshly build p6
02:46 rmgk_ joined #perl6
02:47 tony-o https://gist.github.com/to​ny-o/adeb3a9d3288f894e118
02:48 tony-o m: https://gist.github.com/to​ny-o/ad52076865a21edec940
02:48 camelia rakudo-moar 59b893: OUTPUT«IO::Socket::INET is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in method new at src/RESTRICTED.setting:32␤  in block <unit> at /tmp/9gxcCFURYp:5␤␤»
02:48 timotimo ah, yes, that's the actual exit code
02:49 timotimo is there no accessor for what a user thinks of as an exit code?
02:49 tony-o that other gist is still borken too ::
02:49 tony-o mm, not from Proc::Status
02:50 tony-o Proc::Status.new(exitcode => 1280, pid => Any, signal => Any)
02:50 timotimo ah, that one ;(
02:50 tony-o it's always what the user thinks the exit code is  * 256, it seems
02:50 tony-o m: 5* 1280
02:50 camelia rakudo-moar 59b893: ( no output )
02:50 tony-o m: say 5* 1280
02:50 camelia rakudo-moar 59b893: OUTPUT«6400␤»
02:51 tony-o m: say 5* 25
02:51 timotimo it ought to set the status via the status method
02:51 camelia rakudo-moar 59b893: OUTPUT«125␤»
02:51 tony-o m: say 5* 256
02:51 camelia rakudo-moar 59b893: OUTPUT«1280␤»
02:51 tony-o i give up
02:51 timotimo $!exitcode = $new_status +> 8
02:51 tony-o fancy
02:52 timotimo that doesn't seem like it's being called, though
02:52 timotimo all the users of Proc::Status seem to just set the values in the constructor
02:52 muraiki hrm, am I doing something bad if I get the error: P6opaque: no such attribute '$!tappers_lock'
02:52 tony-o probably - what's your CStruct look like?
02:53 muraiki I don't even know what a CStruct is, heh
02:53 tony-o do you have a gist?
02:54 noganex_ joined #perl6
02:54 timotimo ... CStruct?
02:54 muraiki https://gist.github.com/mu​raiki/1211c20fc0d1f2f7af33
02:54 tony-o i've only ever seen that P6Opaque error when i try to access something that wasn't part of a class .. repr('CStruct') ...
02:55 muraiki sorry but I can't provide the full program... you'd need a config file that has some company specific stuff in it. but I can try to make something generic if necessary, but that would probably have to be tomorrow
02:55 muraiki without the taps it works fine
02:55 muraiki so I imagine I am doing something bad there, heh
02:55 timotimo that can't be right, because P6Opaque is a repr and if you use a CStruct repr, you should never get errors for a P6Opaque thingie
02:56 tony-o timotimo: maybe i was confused, i was trying a lot of stuff trying to get csv parsing with NativeCall to work :/
02:56 timotimo mhm
02:56 timotimo muraiki: can you print out the .perl of the .stdout and .stderr?
02:56 muraiki sure
02:58 tony-o i'm fried, apparently. later
02:58 muraiki hrm, if I "say $proc.stdout.perl" I just get "Supply.new"
02:58 colomon joined #perl6
03:00 muraiki ah, initializing $stdout and $stderr to "" seems to fix it
03:01 muraiki but now I'm getting a warning "use of uninitialized value of type Any in numeric context" on line 14
03:01 muraiki let me .perl the promise
03:02 tony-o signal might be any
03:03 muraiki yeah, that's it
03:03 muraiki pid is also Any
03:04 tony-o ($promise.result.signal // 0) != 0
03:05 muraiki thanks!
03:05 muraiki er... but now I ran it once and got the tappers_lock error, then I ran it a second time and got "Unhandled exception in code scheduled on thread 139942201779968 MVMArray: Index out of bounds"
03:06 muraiki running it a third time yielded "No appropriate parametric role variant available for 'Buf"
03:06 muraiki all sorts of fun things :n
03:07 muraiki well I really need to get to bed, but hopefully I can debug this more tomorrow
03:07 muraiki thanks for your help, everyone
03:07 muraiki :)
03:42 Alina-malina joined #perl6
03:54 raiph joined #perl6
04:16 nbdsp joined #perl6
04:19 jack_rabbit joined #perl6
04:33 chenryn joined #perl6
04:33 diana_olhovik_ joined #perl6
04:49 mr-foobar joined #perl6
04:51 kaare_ joined #perl6
04:54 fhelmberger joined #perl6
05:02 quester joined #perl6
05:18 cschwenz joined #perl6
05:31 alini joined #perl6
05:44 rindolf joined #perl6
05:52 masak morning, #perl6
05:55 domidumont joined #perl6
05:59 sjn \o
06:00 domidumont joined #perl6
06:09 diana_olhovik_ joined #perl6
06:09 xfix joined #perl6
06:24 pierrot joined #perl6
06:31 kst joined #perl6
06:44 nbdsp joined #perl6
06:44 nbdsp Greetings! Could someone advise please what is the fastest way to iterate over a list of lines with space separated words (like this: '1 word1 A') and place the second and third words of each line into a tuple in a second list. When I use: for @list1 { my ($a $b $c) = $_.words; @list2.push( $b, $c ); } or for @list1 { $_ ~~ m:s/\d+ (<-[\ ]>+) (\w)/; @list2.push: ( $/[0], $/[1]); } - this ways take about 3 minutes to iterate over a list
06:44 nbdsp on a machine with a 1.2 Ghz single core processor. Is such timing normal?
06:46 moritz nbdsp: your first line was truncated after "over a list w"
06:47 nbdsp Greetings! Could someone advise please what is the fastest way to iterate over a list of lines with space separated words (like this: '1 word1 A') and place the second and third words of each line into a tuple in a second list.
06:47 nbdsp When I use: for @list1 { my ($a $b $c) = $_.words; @list2.push( $b, $c ); } or for @list1 { $_ ~~ m:s/\d+ (<-[\ ]>+) (\w)/; @list2.push: ( $/[0], $/[1]); } - this ways take about 3 minutes to iterate over a list with 100.000 lines on a machine with a 1.2 Ghz single core processor. Is such timing normal?
06:47 RabidGravy joined #perl6
06:48 moritz I'd write it as @list = @list1.map({ .words[0, 1]})
06:48 moritz but no idea if it's faster
06:48 moritz and yes, list iteration is known to be rather slow
06:48 nbdsp moritz: thanks.
06:49 FROGGS joined #perl6
06:50 _mg_ joined #perl6
07:02 nbdsp The variant with .map is slower than the one with regexes. =(  Unfortunate slowness for such a common programming task. :(
07:05 moritz yes, that's why we're all eager for the Great List Refactoring (GLR) to happen, which hopefully makes that faster
07:05 moritz but most of us are too scared or don't feel qualified to it themselves
07:08 moritz TimToady++ is moving in that direction, afaict
07:10 nbdsp moritz: thanks, will be waiting for improvements.
07:13 Rounin joined #perl6
07:18 virtualsue joined #perl6
07:19 kaare_ joined #perl6
07:41 darutoko joined #perl6
07:42 cschwenz joined #perl6
07:44 telex joined #perl6
07:45 jnthn raydiak: On Grammar::Generative, the talk about it http://jnthn.net/papers/2013​-yapcna-grammar-generate.pdf was met with some amount of terror and incomprehension. :) I still think it's an interesting idea, though. :)
07:46 pdcawley joined #perl6
07:48 quester left #perl6
07:49 DrForr jnthn: I've been thinking about that myself, but not quite as rigorously.
07:53 alini joined #perl6
08:00 RabidGravy nothing like a bit of terror and incomprehension
08:00 DrForr My talks just are met with incomprehension.
08:02 RabidGravy all good fun
08:02 labster That generative grammar talk reminded me of all of the seminars I sat through in grad school -- interesting and fairly neat, but I only understood 20% of it.
08:05 zakharyas joined #perl6
08:14 RabidGravy if one uses "earliest" with a list of channels is it possible to get the actual channel that won in the "done" block?  The code in asyncops says not but there may be something I missed
08:21 dakkar joined #perl6
08:21 larion joined #perl6
08:23 salva joined #perl6
08:24 RabidGravy ah, no got it - you can do a "done" or a more with a specific channel rather than a '*'
08:24 RabidGravy or rather as well as a '*'
08:26 RabidGravy anyway off to the seaside for the day
08:27 itz_ a rainy day?
08:33 rurban joined #perl6
08:39 andreoss joined #perl6
08:45 masak labster: that generative talk will probably go to history as jnthn's least generally understandable talk.
08:45 masak labster: my two lasting impressions of it is pmichaud walking out of the talk mumbling that something was bothering him about it all
08:45 masak labster: and sorear sitting at the edge of his seat during the talk, loudly saying "this is awesome"
08:46 masak the rest of the audience... looked a bit stunned :)
08:46 itz_ is it on video? :)
08:47 masak quite possibly
08:47 FROGGS joined #perl6
08:47 masak I remember there being recordings at that YAPC::NA
08:47 masak yep, here: https://www.youtube.com/watch?v=RPQvtfwsilM
08:48 masak also -- haha -- "backtions" :P
08:48 itz_ ty
08:48 masak they're the dual of "actions", of course :D
08:48 masak jnthn++
08:49 espadrine joined #perl6
08:50 konsolebox joined #perl6
08:51 brrt joined #perl6
08:56 fhelmberger joined #perl6
08:57 masak if I gave an online course "Category Theory for programmers", who on this channel would be interested? (a "yes" answer is not binding in any way. just probing for interest.)
08:58 lizmat good *, #perl6!
08:59 masak \o lizmat
09:00 brrt \o masak, lizmat
09:00 brrt i would have some interest in that, yes
09:02 masak yay one participant
09:04 xfix joined #perl6
09:04 xfix joined #perl6
09:06 itz_ if it were branded "Category Theory for Dummies" with a nice yellow book
09:06 lizmat my arrows are going both ways on this one
09:07 [ptc] masak: +1
09:07 cdc masak: will it be a live course?
09:08 masak yes. on IRC.
09:08 labster hmmm, maybe
09:08 masak itz_: yeah, yellow books about Category Theory tend to be nice and slow in their explanation :P
09:10 FROGGS masak: I'd be interested
09:10 Ven joined #perl6
09:11 masak wow, that's 3 interested and 2 maybes.
09:11 rindolf joined #perl6
09:11 masak in the first 15 minutes of asking.
09:11 masak I think we might have something here.
09:12 masak some context: category theory is "the branch of mathematics school never told you about (but should have)"
09:12 masak it unifies so many things. it explains a fair bunch of things, too.
09:12 masak it's very relevant to programming, especially things to do with types.
09:12 masak but also in relating programs and types to other fields.
09:13 masak I just submitted a course abstract to Edument about category theory. I don't expect that course to ever go off, because the IT industry doesn't work like that.
09:13 labster A man can always dream.
09:13 masak right.
09:13 masak but it's nice to see there's some interest here :)
09:14 masak I'll... get back to y'all about details. it may happen. then again, it may not.
09:14 masak lunch &
09:16 FROGGS might it may happen in May if I may ask?
09:17 labster I always feel like my computer science education is somewhat lacking, probably because I studied meteorology in university.  So topics like this are interesting to me.
09:23 Ven https://github.com/jnthn/grammar-generative/bl​ob/master/lib/Grammar/Generative.pm6#L107-110 I'm not sure I get what's that for
09:28 Ven m: say 1 xx * Z+< 0..*;.
09:28 camelia rakudo-moar 59b893: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uOY3MlxAMo␤Bogus statement␤at /tmp/uOY3MlxAMo:1␤------> 3say 1 xx * Z+< 0..*;.7⏏5<EOL>␤    expecting any of:␤        dotty method or postfix␤»
09:28 Ven m: say (1 xx * Z+< 0..*)
09:28 camelia rakudo-moar 59b893: OUTPUT«1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576 2097152 4194304 8388608 16777216 33554432 67108864 134217728 268435456 536870912 1073741824 2147483648 4294967296 8589934592 17179869184 34359738368 68719476736…»
09:33 Ven masak: I'd be interested :)
09:33 CurtisOvidPoe joined #perl6
09:37 dalek rakudo/nom: f433a2f | lizmat++ | src/Perl6/World.nqp:
09:37 dalek rakudo/nom: Simplify UNIT tagging
09:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f433a2f1cc
09:39 cognominal joined #perl6
09:39 laouji joined #perl6
09:41 cognominal I failed to generate a pdf book from the "category theory" category in wikipedia because some page is misformatted.
09:41 cognominal Galois connexions make me more or less understdood the business of adjoints
09:41 _mg_ joined #perl6
09:45 kaare__ joined #perl6
09:51 arnsholt masak: I would be interested in a CT course too
09:52 masak cool, cool.
09:52 * masak makes a note "interest exists (!)"
09:53 masak cognominal: ok, now you made me interested in Galois connections. gotta read up on those ;)
09:54 cognominal the pb with category theory is it usually uses examples from parts of math I don't know.
09:55 masak right.
09:55 masak yeah, I've basically had to learn a lot of group theory and topology in the past two years or so, in order to appreciate the examples.
09:55 cognominal Basic group theory, I know. So the value of Galois connexions.
09:55 masak s/a lot of/a very modest amount of/
09:56 skids joined #perl6
09:58 cognominal On the other hand, when you know something, CT permits to translate part of your knowledge to very different parts of maths making them easier.
10:01 cschwenz left #perl6
10:01 cognominal I remember in high school being very pissed off and excited at the same time, when the trigonometry formula I had trouble to memorize, were a trivial consequence of complex exponentials algebraic property.
10:04 masak ah yes. http://en.wikipedia.org/wiki/Euler%27s_formula
10:06 cognominal so they are down to earth examples of CT after all..
10:07 sven_123 joined #perl6
10:07 masak there are a lot of things in that region of math that end up equivalent.
10:07 masak for example, complex numbers can be represented as 2x2 matrices of reals with a certain shape.
10:08 masak and so complex multiplication can be put into correspondence with matrix multiplication.
10:08 masak (and that's also a way to remember some sine and cosine laws)
10:08 cognominal After college, I felt I learnt all the bourbakic bureaucratie without the interesting things that motivated them. Learing about CT makes me things I had not been swindled after all.
10:09 cognominal s/things/think/
10:09 masak heh, even Bourbaki didn't use the (early) results of Bourbaki. :P
10:10 masak the first volume produced (with set foundations) basically quickly became out-of-date and something to ignore.
10:10 masak they still had an undeniably big influence, though.
10:11 masak http://en.wikipedia.org/wiki/B​ourbaki_dangerous_bend_symbol for example
10:12 masak and ∅ for http://en.wikipedia.org/wiki/Empty_set
10:17 cognominal Also after learning all these alphabets and notations (matrices, indices, exponent...), it was quite a let down to go back to upper case ASCII for programming. I naively thought this notation wealth was used in programming wiithout thinking too much how it could be entered from the terminal. At least, that prepared me to the idea of rich syntax à la Perl.
10:20 Zoffix left #perl6
10:20 Ven joined #perl6
10:27 vendethiel joined #perl6
10:31 pdcawley_ joined #perl6
10:32 andreoss m: my $x = 'before colon: after';  $x.subst: /<?before before \s colon\:> \w+/, 'xxx', :i;
10:32 camelia rakudo-moar f433a2: ( no output )
10:33 andreoss m: my $x = 'before colon: after';  say $x.subst: /<?before before \s colon\:> \w+/, 'xxx', :i;
10:33 camelia rakudo-moar f433a2: OUTPUT«xxx colon: after␤»
10:33 DrForr I keep meaning to make 3+@a⃗ be a valid quaternion representation.
10:33 andreoss why?
10:33 DrForr (look carefully at the @a)
10:34 andreoss is <?before .. > the right syntax for looking behind?
10:36 andreoss m: my $x = 'before colon: after';  say $x.subst: /<?after before \s colon\: \s*> \w+/, 'xxx', :i;
10:36 camelia rakudo-moar f433a2: OUTPUT«before colon: xxx␤»
10:36 andreoss okay
10:39 alini joined #perl6
10:42 zakharyas1 joined #perl6
10:58 masak cognominal: I've more and more opened up to the idea of Unicode identifiers. I've come to realize that what was holding me back from that was mostly irrational fear.
10:59 lizmat .oO( the fear of APL? )
10:59 masak I still think it's a freedom-under-responsibility thing, mind. but so are many things in Perl.
10:59 masak lizmat: more like the fear of not being able to enter characters, or having them display wrong on screen, or encode wrong on disk.
11:00 masak those fears are unwarranted, because they have good solutions.
11:00 lizmat well, as long as their not synthetic, it should be ok
11:00 masak as in, multiple codepoints?
11:00 lizmat otoh, synthetic unicode ops *would* be the ultimate dogfooding  :-)
11:00 masak even that ought to be OK...
11:00 lizmat the ones with negative code point values in NFG
11:00 masak right.
11:01 masak yeah, if we pull off NFG right, those should be on completely equal footing.
11:03 masak cognominal: oh, I see how Galois connections made you think of adjoints. I'm only on the definition, but yeah, I see it.
11:03 lizmat s/if/when/   # trust in jnthn
11:05 * masak .oO( wenn ) :P
11:07 lizmat introducing false friends...   tssk!
11:07 masak hey! some of my best friends are false
11:07 masak oh wait
11:08 masak (I believe in English the term is "false cognate", perhaps, and that "false friend" might itself be a false cognate)
11:09 lizmat ok, maybe "false friend" is a dutchism  :-)
11:10 lizmat maybe not, if we're to believe WP: http://en.wikipedia.org/wiki/False_friend
11:10 masak yeah, maybe not.
11:11 masak in Swedish, we also have it as "false friend", so I think I assumed that was a false cognate
11:12 cognominal masak, about Galois connections, you will like this one too :  http://www.cs.toronto.edu/~azadeh/page11​/page8/teaching/fall09/abstraction1.pdf
11:12 masak thanks.
11:12 masak teaching now; will read later :)
11:15 tinyblak joined #perl6
11:18 dalek rakudo/nom: 9826595 | lizmat++ | src/Perl6/ (2 files):
11:18 dalek rakudo/nom: First scaffolding auth/version in module loading
11:18 dalek rakudo/nom:
11:18 dalek rakudo/nom: This basically introduces the temporary "use cur" pragma, and the @?INC
11:18 dalek rakudo/nom: compile time array with string representations of CompUnitRepo's to search.
11:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9826595c03
11:22 FROGGS ohh cool, lizmat++
11:23 masak oh, "use cur" is temporary?
11:23 masak I feel terribly out of touch on all this.
11:24 lizmat well, perhaps we will s/lib/cur/
11:24 lizmat *I* think it makes sense, but I'm not alone  :-)
11:25 lizmat masak: I guess reading up on S11/S22 may help
11:25 lizmat it's been ripening for 1+ year now  :-)
11:26 FROGGS hmmm, I have nostalgic feelings about use lib :/
11:26 lizmat well, that's why I said "cur" would be temporary
11:27 FROGGS yeah, and it is at least a very good way to play with it, even when that will be renamed to lib
11:27 lizmat that's the idea, and I hope I won't be the only one playing with it  :-)
11:27 FROGGS yes, I'll check it, though $work, you know :o(
11:28 masak cognominal: that was a fun read -- thanks.
11:28 dalek rakudo/nom: 902c291 | lizmat++ | src/Perl6/World.nqp:
11:28 dalek rakudo/nom: use cur should unshift, not push  :-)
11:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/902c291dd3
11:28 FROGGS we shall add extensive tests for 'use cur' me thinks
11:29 FROGGS like a pandaish scenario
11:30 lizmat well, we need extensive tests: if we rename "cur" to "lib" later, that should be an easy fix
11:45 _mg_ joined #perl6
11:53 sqirrel joined #perl6
12:07 domidumont joined #perl6
12:12 dalek rakudo/nom: 1a4d47f | lizmat++ | t/01-sanity/54-use-lib.t:
12:12 dalek rakudo/nom: Add some 'use cur^Wlib' sanity tests
12:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1a4d47f14c
12:14 dalek perl6-examples: e5c0ba2 | andreoss++ | / (14 files):
12:14 dalek perl6-examples: Merge pull request #1 from perl6/master
12:14 dalek perl6-examples:
12:14 dalek perl6-examples: merge with orig
12:14 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/e5c0ba22a2
12:14 dalek perl6-examples: 0e374a6 | (Andrei Osipov)++ | categories/euler/prob059-andreoss.pl:
12:14 dalek perl6-examples: [euler] problem 59, add back previosly removed lines
12:14 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/0e374a6968
12:14 dalek perl6-examples: 2b08b3c | (Zoffix Znet)++ | categories/euler/prob059-andreoss.pl:
12:14 dalek perl6-examples: Merge pull request #23 from andreoss/prob059
12:14 dalek perl6-examples:
12:15 dalek perl6-examples: Fix errors in solution to Problem 59
12:15 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/2b08b3c1e4
12:19 dalek rakudo/nom: cbf849f | lizmat++ | t/01-sanity/54-use-lib.t:
12:19 dalek rakudo/nom: Add some more sanity tests
12:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cbf849fcef
12:39 lucasb joined #perl6
12:44 FROGGS joined #perl6
12:44 hobbs joined #perl6
12:47 OODavo left #perl6
12:48 lucasb Hello channel
12:48 FROGGS lucasb: hello receiver :o)
12:48 lizmat lucasb o/
12:48 DrForr Afternoon.
12:48 lucasb FROGGS, lizmat, DrForr: o/ :)
12:49 lucasb Since there is happening some refactoring in Grammar and World, what is your opinion about moving those levenshtein subs into a separate file and be included and used from World? Is it worth it or it's too much trouble? The only methods that use them are suggest_{typename,lexicals,routines}.
12:49 petercommand joined #perl6
12:51 FROGGS my feeling is that these might want to be moved to nqp
12:51 FROGGS like there is sprintf.nqp in HLL
12:51 FROGGS we could move levenshtein to this place, and also punycode in case we are going to implement it
12:52 brrt joined #perl6
12:55 lizmat FROGGS: I was actually thinking of moving the Levenshtein code to Perl6 / settings
12:55 lizmat but I agree they should become more accessible
12:55 FROGGS does that actually work?
12:56 lucasb Second thing is: what is your opinion about making levenshtein suggestion optional? Maybe turned on/off at compilation time, or a cmdline switch, or a pragma. Doesn't it incur a little time penalty? The default could be on, and if some programmer doesn't want to wait those miliseconds, it could turn it off.
12:56 FROGGS ohh, perhaps yes, when it only called from typed exceptions
12:56 lucasb m: my ($foo1, $foo2, $foo3, $foo4, $foo5); $foo1
12:56 camelia rakudo-moar cbf849: ( no output )
12:56 lizmat well, I want to be able to call it for method not found errors during runtime
12:56 lucasb m: my ($foo1, $foo2, $foo3, $foo4, $foo5); $foo
12:56 camelia rakudo-moar cbf849: OUTPUT«5===SORRY!5=== Error while compiling /tmp/2kD6XNwBqO␤Variable '$foo' is not declared. Did you mean any of these?␤    $foo1␤    $foo2␤    $foo3␤    $foo4␤    $foo5␤␤at /tmp/2kD6XNwBqO:1␤------> 3$foo1, $foo2, $foo3, $foo4, $foo5); $fo…»
12:57 FROGGS lucasb: if you end up there, it is too late to worry about performance
12:57 lizmat m: class A {}. A.frobnicate
12:57 camelia rakudo-moar cbf849: OUTPUT«5===SORRY!5=== Error while compiling /tmp/aiM1cia_Bt␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/aiM1cia_Bt:1␤------> 3class A {}. 7⏏5A.frobnicate␤»
12:57 lizmat m: class A {}; A.frobnicate
12:57 camelia rakudo-moar cbf849: OUTPUT«Method 'frobnicate' not found for invocant of class 'A'␤  in block <unit> at /tmp/Y1m8b0Usnz:1␤␤»
12:57 FROGGS aye
12:58 lizmat meanwhile my head hurts from looking at the module loading code again
12:58 FROGGS :/
12:58 FROGGS I like that code somehow :o)
12:58 FROGGS can't even tell why
12:59 timotimo o/
12:59 rarara Hello, I don't have a culture in CS and I am now learning (from you) about the concept of Grammars; Only one thing is preventing me form using them and is memory usage and I would like to ask to you if there are already elegant solutions to my problems.
12:59 lizmat well, my next step will be to have @*INC/%*CUSTOM_LIB only have strings
12:59 FROGGS hi timotimo
12:59 lizmat and vivify CUR objects on demand
13:00 lizmat but that will be tomorrow, after a visit to AmsterdamX.pm
13:00 rarara Imagine the computer is you, and someone is talking to you some simple sentences: I think that you would not store all the information in a parse tree
13:00 FROGGS rarara: did you hit some memory usage issues?
13:00 DrForr rarara: if you're using perl{6}? you shouldn't be worrying about memory.
13:00 rarara I would like to be constructive
13:00 lizmat afk for rest of the day&
13:00 cognominal joined #perl6
13:01 DrForr rarara: A source file isn't a set of disconnected paragraphs.
13:01 rarara I think you would store the simple sentences, or if you want the paragrpah or the chapters
13:01 rarara DrForr I agree that for perl6 usage it is perfectly fine
13:01 rarara but what about the user which is parsing gbites of data
13:01 rarara ?
13:01 moritz rarara: there are two possible answers
13:02 DrForr Then you can use subparse().
13:02 moritz rarara: the first is to not do it in one .parse call
13:02 moritz spit by paragraphs first, for example
13:02 moritz and the second is that Perl 6 promises something called "parse tree pruning", but it's not really designed yet
13:02 rarara ok it would be a solution
13:02 moritz so, you could find a good design for that, implement it, and be happy
13:03 moritz could be as simple as Match.forget-captures
13:03 moritz that would throw away everything in the parse tree under the Match object you call it on
13:05 rarara subparse would be ok but is not a flexible mechanism; forget-captures would be nice to have
13:05 rarara I will look if I find time to learn to do it
13:08 timotimo there's going to be an element for inside regexes that'd cause the target string up to the current match position to be "cut off" and possibly forgotten, along with the matches (i guess?)
13:08 timotimo that's also not yet implemented
13:09 moritz there's <( and )>
13:09 moritz they are implemented
13:09 moritz but they don't throw away old captures; they just cause none to be made outside
13:15 rarara would this be the best documentation for the grammar api at the moment? https://github.com/perl6/spe​cs/blob/master/S05-regex.pod
13:15 moritz rarara: there's also http://doc.perl6.org/type/Grammar and http://doc.perl6.org/type/Match
13:16 FROGGS timotimo: <cut> probably, which corresponds to either ::: or ::::
13:17 FROGGS I'd love to implement it, though, need someone else's braincells for that too
13:23 moritz I thought <cut> was about backtracking ocontrol?
13:24 FROGGS "A <cut> assertion always matches successfully, and has the side effect of logically deleting the parts of the string already matched. Whether this actually frees up the memory immediately may depend [...]"
13:25 FROGGS "Attempting to backtrack past a <cut> causes the complete match to fail [...]"
13:27 moritz ok, seems my p6 memory is rusty :-)
13:29 FROGGS I guess it is fun to implement, though I know that it does not make sense to try it again with out some clarification
13:29 moritz yes, deleting stuff in an immutable string seems questionable
13:30 FROGGS S05 says that this is illegal
13:31 FROGGS though, it is tricky anyway
13:33 ir2ivps4 joined #perl6
13:36 virtualsue joined #perl6
13:36 muraiki joined #perl6
13:38 xfix joined #perl6
13:38 xfix joined #perl6
13:38 muraiki hi all. I'm having a weird problem using tap on stdout and stdin from Proc::Async. I'm getting errors sometimes but not always, so perhaps there's some kind of race condition with what I'm doing
13:38 moritz muraiki: there are known races in Proc::Async (in RT already)
13:38 muraiki oh, that explains everything :)
13:38 muraiki well darn
13:38 moritz in particular if you use multiple Proc::Async instances in the same program
13:38 muraiki yeah, that's what's happening
13:39 muraiki I'm trying to run >1 using await
13:39 muraiki I had tried using system (or maybe shell) earlier but didn't know how to redirect stdout/stderr
13:39 muraiki and eventually I'd like to be able to kill the proc if necessary, and it seems that Proc::Async is what I'd need for that anyways
13:40 timotimo es
13:40 timotimo yes, even.
13:40 timotimo i didn't know there are races for proc::async :(
13:42 raiph joined #perl6
13:44 muraiki is there anything that I can do to help, given that I know nothing about p6 development at all? haha :)
13:44 muraiki I suppose you have enough stack traces already
13:47 zakharyas joined #perl6
13:47 dalek nqp: b951514 | paultcochrane++ | tools/build/Makefile-Moar.in:
13:47 dalek nqp: Correct nqp binary cleanup in realclean target
13:47 dalek nqp: review: https://github.com/perl6/nqp/commit/b951514484
13:48 dalek doc: 1c7e923 | paultcochrane++ | lib/Type/Mu.pod:
13:48 dalek doc: Document Mu.so
13:48 dalek doc: review: https://github.com/perl6/doc/commit/1c7e923d47
13:48 dalek doc: 3afe30a | paultcochrane++ | / (2 files):
13:48 dalek doc: Merge branch 'master' of github.com:perl6/doc
13:48 dalek doc: review: https://github.com/perl6/doc/commit/3afe30a077
13:48 dalek doc: ec3bd8b | paultcochrane++ | / (7 files):
13:48 dalek doc: Merge branch 'master' of github.com:perl6/doc
13:48 dalek doc: review: https://github.com/perl6/doc/commit/ec3bd8bf39
13:48 dalek doc: feb9f6f | paultcochrane++ | lib/Type/List.pod:
13:48 dalek doc: Minor grammatical correction
13:48 dalek doc: review: https://github.com/perl6/doc/commit/feb9f6f556
13:48 dalek doc: 2cd5bfe | paultcochrane++ | type-graph.txt:
13:48 dalek doc: Add PairMap to type graph information
13:48 dalek doc: review: https://github.com/perl6/doc/commit/2cd5bfe261
13:48 dalek doc: 5f81319 | paultcochrane++ | lib/Type/Mu.pod:
13:48 dalek doc: Document Mu.not
13:48 dalek doc: review: https://github.com/perl6/doc/commit/5f81319567
13:55 ilbot3 joined #perl6
13:55 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31
13:59 timotimo it's especially weird that "$/<foo>:exists && $/<bar>:exists" applies the adverb to && even though :exists is spacelessly cuddled against the postcircumfix
14:00 timotimo i can't help but think it used to be different
14:09 Ven joined #perl6
14:10 [ptc] if rotor returns a LoL, is it expected that assignment should flatten the resulting list of lists, or retain it?
14:11 [ptc] m: say (^6).rotor(3 => -2).perl; my @blah = (^6).rotor(3 => -2); say @blah.perl;
14:11 camelia rakudo-moar cbf849: OUTPUT«((0, 1, 2), (1, 2, 3), (2, 3, 4), (3, 4, 5))␤[0, 1, 2, 1, 2, 3, 2, 3, 4, 3, 4, 5]<>␤»
14:13 [ptc] I've found that one needs to use C<lol> to force LoL context, is that then the right way to do things?
14:13 vendethiel joined #perl6
14:13 [ptc] m: say (^6).rotor(3 => -2).perl; my @blah = lol (^6).rotor(3 => -2); say @blah.perl;
14:13 camelia rakudo-moar cbf849: OUTPUT«((0, 1, 2), (1, 2, 3), (2, 3, 4), (3, 4, 5))␤[$((0, 1, 2), (1, 2, 3), (2, 3, 4), (3, 4, 5))]<>␤»
14:13 moritz or binding
14:14 moritz m: my @a := (^6).rotor(3 =>  -2); say @blah.perl;
14:14 camelia rakudo-moar cbf849: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QnFWUNZETq␤Variable '@blah' is not declared␤at /tmp/QnFWUNZETq:1␤------> 3 := (^6).rotor(3 =>  -2); say @blah.perl7⏏5;␤    expecting any of:␤        method arguments␤»
14:14 moritz m: my @a := (^6).rotor(3 =>  -2); say @a.perl;
14:14 camelia rakudo-moar cbf849: OUTPUT«((0, 1, 2), (1, 2, 3), (2, 3, 4), (3, 4, 5))␤»
14:14 [ptc] moritz: cool, thanks
14:14 [ptc] am trying to work out why a contributed example didn't work
14:15 [ptc] I'll document the two assignment cases under rotor so that this doesn't trip anyone else up
14:17 [ptc] m: my @a = lol (^6).rotor(3 =>  -2); say @a.WHAT;
14:17 camelia rakudo-moar cbf849: OUTPUT«(Array)␤»
14:17 [ptc] m: my @a := (^6).rotor(3 =>  -2); say @a.WHAT;
14:17 camelia rakudo-moar cbf849: OUTPUT«(List)␤»
14:17 [ptc] interesting
14:20 dalek perl6-examples: 86489a3 | paultcochrane++ | categories/euler/prob059-andreoss.pl:
14:20 dalek perl6-examples: Need to bind variable so as not to flatten LoL
14:20 dalek perl6-examples:
14:20 dalek perl6-examples: This then retains the List structure in the assigned variable.  Otherwise
14:20 dalek perl6-examples: it gets completely flattened into an Array.
14:20 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/86489a3839
14:24 lucasb Is there some confusion about the LoL term? I mean, one thing is ((1,2),(3,4)), and another thing is (1,2;3,4). Only the latter is a LoL in P6 terms, right?
14:27 hobbs joined #perl6
14:30 lucasb I mean, both ((1,2),(3,4)) and (1,2;3,4) are LoLs, but the second LoL is more LoLer than the first LoL :)
14:30 lucasb Just kidding... lol :)
14:31 [ptc] lucasb: I think you're right
14:31 [ptc] m: ((1,2),(3,4)).WHAT.say
14:31 camelia rakudo-moar bcf3f1: OUTPUT«(Parcel)␤»
14:31 [ptc] m: (1,2;3,4).WHAT.say
14:31 camelia rakudo-moar bcf3f1: OUTPUT«(LoL)␤»
14:35 skids joined #perl6
14:44 vendethiel joined #perl6
14:47 dalek perl6-examples: 53829ab | paultcochrane++ | t/categories/euler.t:
14:47 dalek perl6-examples: [euler] add test for prob059
14:47 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/53829abfff
14:50 dnmfarrell joined #perl6
14:54 dnmfarrell hey, how can i declare a private class attribute rw and give it a default value? has %!names is rw = john => 'smith', jane => 'smith'; gives a warning about redundant use of 'rw'
14:57 timotimo private attributes are always rw
15:00 dnmfarrell timotimo: thanks, the issue i've got is when I try to modify: has %!names is rw = john => (), jane => (); like this: self.get_names("john") = () I get an error: "cannot assign to a readonly variable"
15:01 dnmfarrell think my Perl 5 mental mp is hurting me again :)
15:01 dnmfarrell *map
15:02 FROGGS what does get_names do?
15:02 timotimo ah
15:02 timotimo get_names must be declared "is rw" if you want it to return a rw-container
15:02 telex joined #perl6
15:02 dnmfarrell return %!buffer<buffer_name>;
15:02 dalek perl6-examples: 6a70759 | paultcochrane++ | categories/euler/README.md:
15:02 dalek perl6-examples: Document adding new solutions to the Euler examples
15:02 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/6a707598a4
15:02 dnmfarrell s/buffer/names
15:02 FROGGS what timotimo said
15:03 koo6 joined #perl6
15:05 dnmfarrell FROGGS, timotimo thanks guys. I've tried that but I'm still getting the readonly error. Code is here: https://github.com/dnmfarrell/Pod-Perl5/​blob/master/lib/Pod/Perl5/ToHTML.pm#L28 can you see what's wrong?
15:07 FROGGS hmmm, this works:
15:07 FROGGS m: class Foo { has %!bar = baz => 42; method bang is rw { %!bar<baz> } }; say Foo.new.bang = 11
15:07 camelia rakudo-moar bcf3f1: OUTPUT«11␤»
15:07 FROGGS dnmfarrell: ahh, remove that return
15:07 FROGGS m: class Foo { has %!bar = baz => 42; method bang is rw { return %!bar<baz> } }; say Foo.new.bang = 11
15:07 camelia rakudo-moar bcf3f1: OUTPUT«Cannot assign to a readonly variable or a value␤  in block <unit> at /tmp/LTOomPYU56:1␤␤»
15:08 jdv79 or use return-rw i think
15:09 dnmfarrell FROGGS: works!
15:09 dnmfarrell jdv79: that works too!
15:09 timotimo hm, should return in an is rw method/sub work like return-rw perhaps?
15:09 dnmfarrell is that a bug? if a method is declared as RW, shouldn't the return value always be rw?
15:11 moritz dnmfarrell: it would be nice, but it's not that easy
15:11 moritz dnmfarrell: because the scoping for 'return' is non-trivial
15:11 moritz and it's the return that strips the container
15:15 dnmfarrell moritz: is that because you may need to return exceptions or other read only values from a RW method?
15:15 ab5tract [ptc]: IIUC, any time we currently see 'Parcel' currently is an ambiguous corner which will become a "real" version of itself on a case by case basis
15:18 raiph joined #perl6
15:18 ab5tract I have to say, the distinction between LoL and List feels somewhat as awkward as the one between Parcel and List,
15:19 moritz m: my $x = { return 5 }; sub f() is rw { $x() }; sub g() { $x() }; say f(), g()
15:19 camelia rakudo-moar bcf3f1: OUTPUT«55␤»
15:19 moritz dnmfarrell: ^^ in the example above, how would the 'return' decide whether to decontainerize?
15:20 _mg_ joined #perl6
15:21 ab5tract moritz: this is where lexotic dispatch comes into play, correct?
15:22 hobbs joined #perl6
15:22 ab5tract I remember coming across that word in the synopses and enjoying the fact that there was a proper noun for the 'thingy'
15:22 sunnavy joined #perl6
15:22 ab5tract *this 'thingy'
15:24 moritz ab5tract: yes
15:30 gfldex joined #perl6
15:33 dnmfarrell does return-rw return a copy? This is not modifying the attribute: my @buffer = self.get_buffer($buffer_name); @buffer.push: $pair;
15:36 moritz dnmfarrell: it does not
15:36 moritz m: my $x; sub f() is rw { return-rw $x }; f() = 42; say $x
15:36 camelia rakudo-moar bcf3f1: OUTPUT«42␤»
15:36 moritz as can be seen here
15:36 dnmfarrell method get_buffer (Str:D $buffer_name) is rw { return-rw %!buffer{$buffer_name}; }
15:37 moritz still not enough code to actually run it
15:39 dnmfarrell moritz: oh sure, the code is here https://github.com/dnmfarrell/Pod-Perl5/​blob/master/lib/Pod/Perl5/ToHTML.pm#L28
15:39 dnmfarrell Maybe the hash access is returning a copy, or my assignment (my @buffer = self.get_buffer($buffer_name); @buffer.push: $pair;) is creating a copy ...
15:40 moritz dnmfarrell: and what's not working?
15:41 dnmfarrell %!buffer is not modified
15:41 moritz dnmfarrell: when you do what?
15:41 dnmfarrell add_to_buffer()
15:42 moritz oh
15:42 moritz you probably want  my @buffer := self.get_buffer($buffer_name);
15:43 moritz because array assignment does a copy of the list on the RHS
15:43 dnmfarrell fg
15:43 dnmfarrell oops wrong window :)
15:43 moritz or simply self.get_buffer($buffer_name).push($pair)
15:44 dnmfarrell fg
15:45 dnmfarrell moritz: thanks, with self.get_buffer)$buffer_name).push($pair); I get: "Cannot call push(Parcel: Pair); none of these signatures match:"
15:46 dnmfarrell ugh s/)/(
15:47 moritz so, is there actually an Array in %!buffer{$buffer_name}?
15:48 dnmfarrell it's initialized as (), so it could be empty
15:48 moritz so as a Parcel, not an Array
15:49 moritz which would explain a lot
15:49 moritz so, use an Array instead
15:55 dnmfarrell moritz: I really appreciate the help, thanks. I've changed the attribute to be has %!buffer = paragraph => Array.new(), _item => Array.new(); but it's not working: "Cannot call push(Parcel: Pair); none of these signatures match: ..."
15:56 moritz dnmfarrell: what does a  say %!buffer{$buffer_name}.perl in get_buffer say?
15:58 dnmfarrell weird, the first few iterations it prints [], then [] with elements, but then later on $()
15:58 dnmfarrell let me hunt for what's changing it
15:59 dnmfarrell moritz: found it! clear_buffer was setting it back to ()
15:59 dnmfarrell moritz: thank you, sir!
16:02 domidumont joined #perl6
16:10 mohij joined #perl6
16:14 rurban joined #perl6
16:27 dnmfarrell joined #perl6
16:31 eli-se joined #perl6
16:33 rmgk joined #perl6
16:39 molaf joined #perl6
16:41 rmgk joined #perl6
16:47 domidumont joined #perl6
16:50 dalek perl6-roast-data: 7381b5d | coke++ | / (9 files):
16:50 dalek perl6-roast-data: today (automated commit)
16:50 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/7381b5d326
16:50 dalek Heuristic branch merge: pushed 16 commits to perl6-examples by paultcochrane
16:54 brrt joined #perl6
16:56 lichtkind joined #perl6
16:57 jdv79 pmichaud: what robotics comp was it that you were a part of?
16:58 rmgk joined #perl6
16:58 RabidGravy joined #perl6
17:00 RabidGravy itz_, all good fun
17:01 RabidGravy boom
17:13 kaare__ joined #perl6
17:13 andreoss joined #perl6
17:27 raiph .tell jepeway I've changed/extended my commentary at https://gist.github.com/cje​peway/42215154aff709d3efd7
17:27 yoleaux raiph: I'll pass your message to jepeway.
17:30 Rounin joined #perl6
17:36 masak heh, just found this: http://bartoszmilewski.com/2014/10/28/cat​egory-theory-for-programmers-the-preface/
17:37 masak not sure I've seen that resource before, and now it's on HN. curious coincidence. (I talked about a CT-for-programmers course today in the backlog.)
17:37 masak also, that guy in that header looks a lot like an older version of sorear.
17:39 dalek doc: 4ede88c | (Steve Mynott)++ | lib/Language/ (2 files):
17:39 dalek doc: typos
17:39 dalek doc: review: https://github.com/perl6/doc/commit/4ede88cd28
17:40 vendethiel nice :)
17:42 diana_olhovik joined #perl6
17:45 * masak , seeing a commit with the message "typos", instinctively goes "no no no! revert them" :P
17:46 FROGGS same here :o)
17:47 hobbs joined #perl6
17:48 masak I think a commit "typos" maybe belongs in a branch "mistakes"
17:52 fhelmberger joined #perl6
17:52 [ptc] the commit message is most certainly descriptive ;-)
17:52 andreoss m: Int(10).perl.say
17:52 camelia rakudo-moar bcf3f1: OUTPUT«10␤»
17:53 andreoss what is this called?
17:54 [ptc] andreoss: maybe you want something like Int(10).WHAT.say?
17:54 andreoss it's Int
17:54 [ptc] ... or maybe I've misunderstood the question
17:54 timotimo what is int called?
17:55 andreoss Class(something)
17:55 andreoss this
17:55 andreoss not Class.new(...)
17:55 timotimo type coercer
17:56 andreoss how do i handle it within class defenition?
17:59 itz_ :P
17:59 camelia joined #perl6
17:59 lucasb camelia \o/ :D
17:59 eli-se joined #perl6
17:59 lucasb nqp: for [1,2,3] { say($_) }
18:00 lucasb hello?
18:00 camelia nqp-jvm: OUTPUT«(signal ABRT)*** Error in `java': double free or corruption (out): 0x00007f3d0401a8c0 ***␤*** Error in `java': double free or corruption (out): 0x00007f3d0401a8c0 ***␤»
18:01 camelia ..nqp-parrot: OUTPUT«Can't exec "./rakudo-inst/bin/nqp-p": No such file or directory at lib/EvalbotExecuter.pm line 188.␤exec (./rakudo-inst/bin/nqp-p /tmp/tmpfile) failed: No such file or directory␤Lost connection to server irc.freenode.org.␤»
18:01 camelia ..nqp-moarvm: OUTPUT«1␤2␤3␤»
18:01 lucasb I should have said nqp-m...
18:02 lucasb Anyway, NQP's "for" flattens, but now P6's "for" doesn't flatten. Is that confusing?
18:02 skids andreoss: Right now to make a coercer for one of your classes, define a 'method poscircumfix:<( )>' if that is what you are asking.
18:03 skids *postcircumfix
18:04 rurban joined #perl6
18:05 Ulti joined #perl6
18:05 andreoss m: class X { method postcurcumfix:<()>(){say "hi"} }; X();
18:05 camelia rakudo-moar bcf3f1: ( no output )
18:06 * Ulti just opened a .pm6 file in Visual Studio Code and it got syntax highlighted!!!
18:06 andreoss m: class X { method postcurcumfix:<( )>(){say "hi"} }; X();
18:06 camelia rakudo-moar bcf3f1: ( no output )
18:06 itz_ ewwwww noone would use windows.  would they? :)
18:07 Ulti VS Code is for OSX and Linux too
18:08 skids m: class X { method postcircumfix:<( )>(){say "hi"} }; X();
18:08 camelia rakudo-moar bcf3f1: ( no output )
18:08 Ulti wow it really must have some understanding of the language too since %*LANG is highlighted as a variable
18:09 masak pro tip: do not call your class `X` -- `X::` is the namespace for exceptions in Perl 6.
18:10 skids m: class X { method postcircumfix:<( )> (|c) { say c.perl; say "hi" } }; X(4); # it gets cranky with no args.
18:10 camelia rakudo-moar bcf3f1: OUTPUT«\(4)␤hi␤»
18:11 itz_ "f you use the Fibonacci sequence for estimates your project will go slower because they are derived from a snail! "
18:12 andreoss what |c does here?
18:12 skids It means take the whole Parcel and do not do any args processing.
18:13 skids It used to be that Coercers had to be written that way, but IIRC that got changed.
18:16 raiph m: #`[DRY prepending] my $foo = '456'; my $bar = '789'; $foo [R~]= '123'; say :$foo ~ " (DRY prepend)"; $foo = '456'; '123' R[R~]= $foo; say :$foo ~ " (DRY RTL prepend)"; $foo = '456'; sub infix:<~=~>($a, $b is rw) { $b = $a ~ $b }; '123' ~=~ $foo ~=~ $bar; say :$foo ~ ' , ' ~ :$bar ~ " (DRY R2L multivar prepend)"
18:16 camelia rakudo-moar bcf3f1: OUTPUT«foo  123456 (DRY prepend)␤foo        123456 (DRY RTL prepend)␤foo    123456 , bar    123456789 (DRY R2L multivar prepend)␤»
18:18 skids raiph: you realize you said DRY four times there, right?  :-)
18:19 andreoss Ulti: i'm using css-mode in emacs for p6, cause perl-mode get pointy blocks and regexpes wrong(css-mode doesn't know about them at all, but nicely indent curly braces)
18:21 andreoss indents
18:21 Ulti andreoss vim now has really really nice Perl6 support :P
18:22 _mg_ joined #perl6
18:22 andreoss out of the box? it doesn't hightlight any syntax for me
18:23 andreoss and the feature i need the most is indenting, syntax highlighing sometimes gives headackes
18:23 raiph skids: :)
18:24 raiph andreoss: you need to get latest (7.4 iirc)
18:24 andreoss i hope for perl6tidy soon
18:24 literal andreoss: work in progress (no indenting yet), but I recently started on https://github.com/hinrik/perl6-mode
18:25 FROGGS http://blog.nix.is/perl6.vim-gets-more-love/
18:25 alini joined #perl6
18:27 raiph andreoss: I think I'm wrong about 7.4. The link FROGGS gave is what I meant.
18:30 mr-foobar joined #perl6
18:30 andreoss literal: it's 404 on MELPA
18:31 lucasb m: class A { method postcircumfix:<( )>(\x) { say 'hi' } }; A(Any.new)
18:31 camelia rakudo-moar bcf3f1: OUTPUT«hi␤»
18:31 lucasb m: class A { method postcircumfix:<( )>(\x) { say 'hi' } }; A(Any)
18:31 camelia rakudo-moar bcf3f1: ( no output )
18:31 FROGGS http://melpa.org/#/perl6-mode
18:31 FROGGS andreoss: ^^
18:31 tinyblak joined #perl6
18:31 lucasb m: class A { method postcircumfix:<( )>(Any:U \x) { say 'hi' } }; A(Any)
18:31 camelia rakudo-moar bcf3f1: ( no output )
18:31 lucasb m: class A { method postcircumfix:<( )>(Any:U \x) { say 'hi' } }; A(Any.new)
18:31 camelia rakudo-moar bcf3f1: OUTPUT«Parameter 'x' requires a 'Any' type object, but an object instance was passed␤  in method postcircumfix:<( )> at /tmp/5w9Ik64rEw:1␤  in block <unit> at /tmp/5w9Ik64rEw:1␤␤»
18:31 lucasb m: class A { method postcircumfix:<( )>(Any:U \x) { say 'hi' } }; A.new()(Any)
18:31 camelia rakudo-moar bcf3f1: OUTPUT«hi␤»
18:32 literal andreoss: hm
18:32 FROGGS m: class A { method CALL-ME(Any:U \x) { say 'hi' } }; A.new()(Any)
18:32 camelia rakudo-moar bcf3f1: OUTPUT«hi␤»
18:32 andreoss FROGGS: i just did M-x package-install RET perl6-mode and it gave me 404
18:32 literal yeah I get an error too
18:33 lucasb It works with A.new()(Any), but doesn't work with A(Any)
18:33 rivarun joined #perl6
18:33 FROGGS lucasb: A(Any) is the syntax for coercion
18:34 lucasb FROGGS: So it would never work, then?
18:36 FROGGS m: class A { method CALL-ME(*@) { say 'hi' } }; A.(Any)
18:36 camelia rakudo-moar bcf3f1: OUTPUT«hi␤»
18:36 FROGGS m: class A { method CALL-ME(*@a) { say @a.perl; say 'hi' } }; A.(Any)
18:36 camelia rakudo-moar bcf3f1: OUTPUT«[Any]<>␤hi␤»
18:36 lucasb m: class A { method postcircumfix:<( )>(Any:U \x) { say 'hi' } }; my $x; A($x)
18:36 camelia rakudo-moar bcf3f1: OUTPUT«hi␤»
18:36 lucasb Understood :)
18:36 FROGGS I hope that helps :o)
18:37 lucasb I can pass a variable that is undefined, but I can't pass a type object itself.
18:37 FROGGS correct
18:37 lucasb FROGGS: thanks!
18:37 FROGGS a literal TypeA(TypeB) is a coercer
18:37 * vendethiel doesn't think "A(B)" reads easily (as in: which is type in, which is the type out)
18:38 FROGGS you pass in a B and get an A
18:38 literal andreoss: after fiddling for a bit, I no longer get an error about it and can't reproduce it... did you try (package-refresh-contents) ?
18:38 vendethiel I guess the "in" and "out" part can be used as a mnemonic
18:39 FROGGS when you see that A() is in fact A(Any) it also gets clear
18:39 FROGGS aye
18:39 flussence makes sense to me, you just have to look at it like a function call - B is an input
18:39 andreoss literal: it works, thanks a lot
18:42 literal andreoss: it still doesn't highlight regexes/grammars/Pod/reduce-ops/hyper-ops/adverbs and some Q strings, but it gets most other things right
18:43 brrt joined #perl6
18:47 nine_ masak: category theory? sounds interesting!
18:47 yoleaux 28 Apr 2015 22:09Z <japhb> nine_: Please see http://irclog.perlgeek.de/p​erl6/2015-04-28#i_10520477 re: test failure during Inline::Perl5 install
18:47 lucasb A(B) is reverse to :a($b) :)
18:47 lucasb with A(B), you pass a B to get an A
18:47 rmgk joined #perl6
18:47 lucasb with :a($b), you pass an :a, to get it bound to $b
18:49 brrt good UGT :-)
18:50 nine_ .tell japhb I'm sorry, I cannot reproduce the Inline::Perl5 test failure here with current rakudo
18:50 yoleaux nine_: I'll pass your message to japhb.
18:52 PerlJam lucasb: do you think they should be the same?
18:53 lucasb PerlJam: No, I was just making a joke comparison :)
18:56 lucasb m: sub f(Str(Int) :Int($Str)) { say $Str.perl }; f(Int => 10)
18:56 camelia rakudo-moar bcf3f1: OUTPUT«"10"␤»
18:56 brrt the end to end argument lives again: http://notcp.io/
18:58 * PerlJam was going to ask if this was serios ... then he got to the "are you serious?" section
18:59 * flussence misread the url as "not-cpio" and agreed with it for a few seconds
18:59 PerlJam flussence: heh!  That's exactly how I read it at first :)
19:00 brrt lots of them good old spectest failures btw
19:03 flussence .oO( I don't know why more people haven't adopted SCTP, it does a lot of the fancy stuff in http2 and even has a UDP-tunnelled mode as standard )
19:03 espadrine joined #perl6
19:07 moritz flussence: probably because they have never heard of it :-)
19:08 brrt like me
19:09 skids The UDP support is new.  Before that, pretty much nothing goes anywhere is it requires a large majority firewall admins to know the difference between a port and a protocol number.
19:09 skids s/is/if/
19:09 PerlJam .oO( "The UDP support if new"?!?  ;-)
19:11 flussence oh, that'd be why then...
19:11 * brrt recently had a discussion with a VoIP company that didn't know to use UDP for SIP when targeting mobile
19:11 brrt like.... as if mobile devices are a good target for TCP
19:17 raydiak skids: sorry about disappearing in the middle of our conversation yesterday; got a call, had another emergency come up with the ex's car :P
19:20 skids raydiak: np.  jnthn++s Generative stuff was pretty interesting.
19:21 skids radiak: I'd have to work that model a bit to see how one would designate particular rules as normative, though, since lots of grammars have stuff to clean up minor infractions in them.
19:23 raydiak yeah I don't think you can probably get the clean sort of api which would be desired without a few extra little declarations and so forth for things like defaults
19:23 konsolebox joined #perl6
19:24 skids radiak: It might work really well for well defined binary data structures, though, once Buf ~~ comes to be.
19:24 raydiak and for e.g. declaring that things like /<uppercase-letter><any-letter>/ should be treated as a leaf node instead of continuing to descend into it's subrules for too-fine-grained params
19:25 RabidGravy would it be reasonable to compare "earliest" to "given" but specialized to channels?
19:26 raydiak skids: yes for binary it'd probably be very easy, but maybe sometimes so easy you don't need regexes any more :)
19:28 zakharyas joined #perl6
19:30 raydiak jnthn: what is so terrifying and incomprehensible about it?  I have two or more shoddy prototypes laying around which solve the same problem to varying degrees.  methinks people have funny ideas of good and bad...seemed more "obvious next step" than "terrifying" to me :)
19:31 eli-se joined #perl6
19:31 * raydiak often has the advantage of being too ignorant to be suitably terrified :)
19:33 lichtkind joined #perl6
19:34 masak we need volunteers at all levels of terrification capability :P
19:36 * moritz is terrified of his own incompetence, and of those who do stuff much more critical than himself
19:36 moritz not in the p6 community though :-)
19:37 masak are you saying the p6 community doesn't do critical stuff? :)
19:37 vendethiel I rejoice of my incompetence: stuff to learn, yay \o/
19:37 masak incompetence is merely the luminiferous ether for knowledge to proagate into.
19:38 masak or is that "aether"? or "æther"?
19:39 moritz masak: no, I'm saying that those doing critical stuff in p6 community don't strike me as incompetent
19:39 masak moritz: could simply be mass-delusional Dunning-Kruger :P
19:39 moritz masak: could be :-)
19:40 PerlJam moritz: apparently you don't consider yourself as doing "critical stuff in p6"?
19:40 * masak .oO( "all other communities to critical and scary things! but not us! our things are only critical!" )
19:40 moritz PerlJam: not such much anymore
19:41 moritz PerlJam: though now that you say it, it's kinda terrifying to be seen responsible for the single biggest doc effort in the community
19:41 moritz and I was never really good at writing docs :/
19:42 PerlJam moritz++ dedication and commitment trump talent for many things.  :)
19:42 masak moritz++ # a journey begins with a single step
19:42 flussence .oO( writing docs is twice as hard as debugging the program they're for )
19:43 moritz m: say WHAT lol 1, 1
19:43 camelia rakudo-moar bcf3f1: OUTPUT«(LoL)␤»
19:44 raydiak .oO( more terrified of people who *don't* have a health humility wrt their own ignorance, which *always* exists to some extent )
19:44 masak m: sub omg {}; say WHAT lol omg
19:44 camelia rakudo-moar bcf3f1: OUTPUT«(LoL)␤»
19:44 telex joined #perl6
19:44 brrt does anyone know a good html syntax highlight utility?
19:45 flussence syntax highlighting *of* html, or for?
19:45 flussence either way pygments is pretty nice...
19:45 moritz brrt: I tend to use vim through Text::VimColor for most of my hilighting needs
19:45 flussence that too :)
19:45 skids wouldn't that require a good html syntax to start with ... baddumpdump
19:46 flussence hey, html isn't bad as long as you pretend 90% of it doesn't exist :D
19:46 brrt no, i mean something which takes source, preferably in many different languages, and outputs html
19:46 moritz yes, pygments and Text::VimColor both give you that
19:47 moritz m: .say for (1, 2), (3, 4)
19:47 camelia rakudo-moar bcf3f1: OUTPUT«1 2␤3 4␤»
19:48 moritz m: .say for lol (1, 2), (3, 4)
19:48 camelia rakudo-moar bcf3f1: OUTPUT«1 2␤3 4␤»
19:48 beastd joined #perl6
19:48 moritz what exactly do we need the LoL type for, now that iterating over a traditional list-of-lists doesn't flatten?
19:48 moritz m: .say for lol (1, 2).list, (3, 4).list
19:48 camelia rakudo-moar bcf3f1: OUTPUT«1 2␤3 4␤»
19:49 PerlJam .oO( for the LoLs )
19:49 moritz m: my @a = lol (1, 2), (3, 4); say @a.perl
19:49 camelia rakudo-moar bcf3f1: OUTPUT«[1, 2; 3, 4]<>␤»
19:49 moritz m: my @a = $(1, 2), $(3, 4); say @a.perl
19:49 camelia rakudo-moar bcf3f1: OUTPUT«[1, 2; 3, 4]<>␤»
19:50 moritz a function that itemizes the sublists would work just as well; no extra type required
19:51 lucasb m: say (->{} if True)
19:51 camelia rakudo-moar bcf3f1: OUTPUT«-> () { #`(Block|73688656) ... }␤»
19:51 lucasb m: say ({$^a} if True)
19:51 camelia rakudo-moar bcf3f1: OUTPUT«True␤»
19:52 lucasb Wasn't {$^a} supposed to be a block?
19:52 raydiak m: my @a := lol (1,2),(3,4); say @a.perl; @a := $(1,2),$(3,4); say @a.perl;
19:52 camelia rakudo-moar bcf3f1: OUTPUT«(1, 2; 3, 4)␤($(1, 2), $(3, 4))␤»
19:55 lucasb m: say ({$^a}(10) if True)
19:55 camelia rakudo-moar bcf3f1: OUTPUT«10␤»
19:55 lucasb m: say ({$^a,$^b} if True)
19:55 camelia rakudo-moar bcf3f1: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤  in block <unit> at /tmp/xsiMwwd4_W:1␤␤»
19:56 lucasb m: say ({$^a} if 42)
19:56 camelia rakudo-moar bcf3f1: OUTPUT«42␤»
19:56 lucasb I think this is about a recent change, isn't it? If calls the block and passes the condition value to it. Is this correct?
19:57 lucasb * The "if" statement
19:57 masak lucasb: I'm surprised that block gets called
19:57 skids lucasb: yes.
19:57 skids m: say ( -> $a { $a } if 42)
19:57 camelia rakudo-moar bcf3f1: OUTPUT«-> ($a) { #`(Block|49176144) ... }␤»
19:57 vendethiel jnthn++ changed that yesterday IIRC, masak
19:58 yqt joined #perl6
20:00 vike joined #perl6
20:00 skids m: say ( -> $a { $a.say } for 0..1 )
20:00 camelia rakudo-moar bcf3f1: OUTPUT«0␤1␤True True␤»
20:01 beastd :q
20:01 beastd wrong window...
20:02 skids The specs never really weighed in on the if form, but had an example with the for form, and it was decided for and if should behave consistently.  But, it appears pointy blocks are not consistent yet.
20:02 jnthn The specs *do* weigh in; read S04.
20:02 skids I could not find an example in S04 using "if".
20:03 jnthn Read carefullier :P
20:03 jnthn http://design.perl6.org/S04.ht​ml#Statement-level_bare_blocks near the bottom of that section :)
20:03 * masak hugs beastd, good vim user :)
20:04 virtualsue joined #perl6
20:05 skids jnthn: ah good.
20:05 beastd masak: one of the most important programs to me ;D
20:06 masak yeah, vim is fantastic.
20:07 masak all you need to do to learn it is to view your keyboard as a Riemann surface of two keyboards, glued together :P
20:07 arnsholt Easier than growing an additional finger on each hand =p
20:08 japhb .oO( The Six-Fingered Man prefers Emacs ...? )
20:08 yoleaux 18:50Z <nine_> japhb: I'm sorry, I cannot reproduce the Inline::Perl5 test failure here with current rakudo
20:09 japhb nine_: On further rebuilds, it appears to be a flaky fault.  I don't get it every time.  :-/
20:09 japhb Guess I should .tell him that ...
20:10 japhb .tell nine_ On further rebuilds, the Inline::Perl5 test failure appears to be a flaky fault.  I don't get it every time.  :-/
20:10 yoleaux japhb: I'll pass your message to nine_.
20:11 lucasb By the specs, the behavior is correct. I'll have to get used to it.
20:12 rjbs Is Flavio Glock (still?) around?
20:12 moritz rjbs: haven't seen him much in here in the last ~3 years
20:13 moritz like, on a few single dasys
20:13 rjbs Okay.
20:13 moritz http://irclog.perlgeek.de/per​l6/search/?nick=fglock&amp;q=
20:13 rjbs his "v6" dist on CPAN is indexed for the "If" package, which conflicts with the core "if" package
20:13 rjbs I'll talk to Andreas.
20:14 moritz you can also try to email him
20:17 rjbs nod
20:21 * jnthn has another busy day and travel tomorrow
20:21 jnthn Will try to catch up on backlog...and got Friday free for Perl 6 things. :)
20:23 moritz \o/
20:23 espadrine_ joined #perl6
20:23 * moritz has Friday free for family things
20:25 moritz it being a holiday in .de
20:25 * masak has Friday free for taking to the streets and expressing his solidarity with the oppressed worker
20:25 lucasb Executing the block in "{ say $^x } for ^2" is ok by the specs, but "-> $x { say $x } for ^2" should not be executed, right?
20:25 koo6 joined #perl6
20:26 masak lucasb: that sounds familiar, yes.
20:26 * moritz finds that rather weird
20:27 masak it's anlogous to immediate blocks and pointy blocks on statement level
20:27 lucasb "->{} if condition" doesn't call the block, but "->{} for list" *calls* the block
20:27 masak m: { say "OH HAI" }; -> { say "OH BYE" }
20:27 camelia rakudo-moar bcf3f1: OUTPUT«OH HAI␤»
20:28 skids m: say ( { -> $a { $a.say } } for 0..1 ) # to be safe you could just do this
20:28 camelia rakudo-moar bcf3f1: OUTPUT«-> ($a) { #`(Block|48906672) ... } -> ($a) { #`(Block|48906736) ... }␤»
20:32 atweiden joined #perl6
20:36 spider-mario joined #perl6
20:37 espadrine_ joined #perl6
20:53 dolmen joined #perl6
20:53 khisanth_ joined #perl6
20:56 * brrt afk
21:00 labster all of my modules are finally passing their own tests.  tadzik++ for panda discovering a bug for me by using only numbers in work directory names.
21:01 labster m: False.Str.so.say #this bugs me a little
21:01 camelia rakudo-moar bcf3f1: OUTPUT«True␤»
21:04 arnsholt That way madness lies, though
21:04 arnsholt (Assuming you don't want False.Str to be "")
21:04 arnsholt We really (really, *really*) don't want ?"False" to be False
21:05 labster heh, I was the one who first committed "0" as True.
21:05 labster no, I was tempted to say False.Str should be "", but False.gist should still be "False".
21:08 labster or we could just say any string that begins with "fals" should be false, for internationalization reasons ("falso", "falsa", "falstaff", "false alarm") :P
21:09 arnsholt Hehe
21:09 arnsholt Although False.Str being "" and .gist "False" might even be semi-plausible =)
21:20 nine_ japhb: I feared as much :/ Still cannot reproduce it though after several attempts
21:20 yoleaux 20:10Z <japhb> nine_: On further rebuilds, the Inline::Perl5 test failure appears to be a flaky fault.  I don't get it every time.  :-/
21:20 nine_ japhb: maybe dependent on some GC run at the wrong time
21:20 atweiden can a hash's index be type checked?
21:24 cognominal joined #perl6
21:29 lizmat m: my %h{Int}; %h<a>     # atweiden
21:29 camelia rakudo-moar bcf3f1: OUTPUT«Type check failed in binding key; expected 'Int' but got 'Str'␤  in method AT-KEY at src/gen/m-CORE.setting:12657␤  in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:3721␤  in block <unit> at /tmp/a9wVygNrFP:1␤␤»
21:31 atweiden lizmat: ty
21:32 lizmat sometimes I wonder whether not all subs / methods in core should be 'is hidden-from-backtrace;
21:33 lizmat or at least, automatically removed from backtraces without --ll-exception
21:35 dalek rakudo-star-daily: 207a2ea | coke++ | log/ (2 files):
21:35 dalek rakudo-star-daily: today (automated commit)
21:35 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/207a2ea190
21:35 lucasb Funny, hash type constraints are swapped: it's Hash[Value,Key], and not Hash[Key,Value]. Must be because of the existence of the single form Hash[Value]
21:37 lizmat yup
21:38 lizmat I think that's a reasonable assumption  :-)
21:39 andreoss joined #perl6
21:40 larion joined #perl6
21:48 raydiak or maybe so that Hash[Type] is unsurprisingly consistent with Array[Type]
21:53 fhelmberger joined #perl6
21:56 dalek rakudo/nom: c102326 | lizmat++ | src/core/Backtrace.pm:
21:56 dalek rakudo/nom: Make an evil hack a bit less evil
21:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c102326f52
22:15 lizmat good night, #perl6!
22:21 skids joined #perl6
22:26 pierrot joined #perl6
22:31 raiph joined #perl6
22:32 pierrot joined #perl6
22:34 hobbs joined #perl6
22:34 pierrot joined #perl6
22:47 pierrot joined #perl6
22:53 vendethiel joined #perl6
23:12 erdic joined #perl6
23:17 mephinet joined #perl6
23:37 vendethiel joined #perl6
23:37 atweiden joined #perl6
23:40 pierrot joined #perl6
23:45 Zoffix joined #perl6
23:55 thou joined #perl6
23:59 thou moritz: thanks for bug report on Template::Mustache. It appears to be a bug in perl6, or changed behavior in exception handling. I'm not sure how to fix:  https://github.com/softmoth/p6-Template-​Mustache/issues/5#issuecomment-97302788
23:59 thou it doesn't fail on 2015.03 build, but does on current nom

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo