»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:01 mcmillhj left 00:09 Actualeyes left 00:10 BenGoldberg joined 00:17 mcmillhj joined 00:18 rindolf left 00:23 mcmillhj left 00:25 andrei_ left 00:28 jargan is now known as jast 00:29 lookatme joined
lookatme morning 00:29
00:33 mcmillhj joined 00:35 awwaiid left
BenGoldberg m: sub foo( &bar (Int) ) { say "bar(): ", bar(42) }; foo( -> Int $a { $a * 2 } ); 00:36
camelia Too few positionals passed to 'foo'; expected 1 argument but got 0 in sub-signature of parameter &bar
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1
00:36 awwaiid joined
BenGoldberg I seem to be unable to count today. I see one argument, not zero arguments. 00:36
timotimo m: sub foo( &bar:(Int) ) { say "bar(): ", bar(42) }; foo( -> Int $a { $a * 2 } ); 00:37
camelia bar(): 84
BenGoldberg :?
timotimo yes :
BenGoldberg Thanks timotimo++
timotimo &bar (Int) is syntax for "i want &bar to unpack to something that has one positional paramer that's an Int" 00:38
00:41 mcmillhj left 00:46 ponbiki_ is now known as ponbiki
BenGoldberg Ok, but now I'm differently confused: 00:46
m: sub foo( &bar:(Int --> Int) ) { say bar(42) }; dd &foo.signature.params[0].sub_signature; 00:47
camelia Any
BenGoldberg m: sub foo( &bar (Int --> Int) ) { say bar(42) }; dd &foo.signature.params[0].sub_signature;
camelia :(Int $ --> Int)
00:47 awwaiid left
BenGoldberg Without the :, sub_signature returns something like a subroutine's signature. 00:47
With the :, it's missing.
00:47 awwaiid joined
BenGoldberg Hmm, nevermind, I understand. 00:48
lookatme m: sub foo( &bar (Int --> Int) ) { say bar(42) }; dd &foo.signature.params[0] 00:50
camelia Parameter &bar = &bar (Int $ --> Int)
lookatme m: sub foo( &bar:(Int --> Int) ) { say bar(42) }; dd &foo.signature.params[0]
camelia Parameter &bar = &bar where { ... }
00:52 mcmillhj joined, bpmedley joined 00:55 awwaiid left 00:56 mcmillhj left, awwaiid joined 01:00 Cabanossi left 01:02 Cabanossi joined, awwaiid left 01:03 awwaiid joined 01:08 awwaiid left 01:09 awwaiid joined 01:10 unop joined
BenGoldberg What's the easiest way to upgrade rakudo on windows? Reinstall? 01:14
01:14 Actualeyes joined 01:15 awwaiid left, awwaiid joined
lookatme I think so, do we have other way to do it ? 01:16
BenGoldberg The reason I ask is I'm trying to create a modified NativeCall.pm6, and it makes more sense to base it on the most up-to-date version. 01:18
Now that I think of it, I should probably (learn to) use git, check out the entire source, do tests, etc. 01:20
01:20 cpage_ left
BenGoldberg I think I'll be better off learning this sillyness under wsl bash, instead of command.com 01:20
timotimo github offers a "github for windows" tool that's quite nice 01:21
it also comes with a "git bash" or something?
BenGoldberg For reasons which now seem stupid, I chose to make my usename on my computer "Ben (user)" ... many naive tools don't work, due to the spaces in the path. 01:22
timotimo they ought to be robust enough to handle it 01:23
though of course you'll have to put quotation marks when you're using cmd.exe
BenGoldberg No, the quotation marks also need to go around "ought to" ;) 01:24
01:24 cpage_ joined
timotimo :) 01:25
BenGoldberg From within the linux subsystem, my badly chosen "C:\Users\Ben (User)\..." is close enough to invisible to not matter. 01:26
01:27 awwaiid left, mr-foobar left, awwaiid joined
BenGoldberg So, what's the first step for git to download from github.com/rakudo/rakudo ? Would I be better off asking this on #git ? 01:28
timotimo github will show you a "clone url", there's a button for that near the top right of the repo's view 01:29
it's green, it says "clone or download"
kurahaupo BenGoldberg: usually "git clone $url $targetdir"
timotimo targetdir is optional, it'll use the basename of the git repo if you say nothing
kurahaupo true 01:30
01:30 Cabanossi left, mcmillhj joined, unop left, mr-foobar joined
BenGoldberg Doing 'git clone github.com/rakudo/rakudo' ... 01:30
01:30 unop joined 01:32 Cabanossi joined
BenGoldberg wonders what's the point of Checking Connectivity *after* it's just downloaded everything. 01:32
01:36 awwaiid left
geekosaur it's building local indexes of how commits, branches, tags, etc. relate to each other 01:38
BenGoldberg After cloning, how do I compile and test? 01:40
01:42 unop left 01:43 awwaiid joined
BenGoldberg I see, there's an INSTALL.txt ... 01:45
01:46 ilbot3 left 01:48 ilbot3 joined, ChanServ sets mode: +v ilbot3 01:49 awwaiid left 01:50 rouking joined
rouking Hello peeps 01:50
What does the "is rw" attribute do when applied to a subroutine parameter? 01:51
01:51 awwaiid joined
ugexe perl Configure.pl --gen-nqp --gen-moar and then nmake test 01:52
vs2013 cross tools command prompt - i use this instead of cmd.exe as it has the visual studio compiler stuff in the path which rakudo needs to build 01:53
rightfold rouking: the caller will observe reassignment that occur in the caller 01:54
in the callee*
01:55 rouking_ joined
MasterDuke m: sub a($b is rw) { $b = 2 }; my $c = 0; say $c; a($c); say $c 01:55
camelia 0
2
rouking_ Okay, just got dc'd for some eason
Thanks 01:56
BenGoldberg So, attempting to compile and install on wsl bash, and got this familiar looking error message: 01:58
Cleaning up ...
Err
01:58 rouking left
BenGoldberg /home/goldbb/rakudo/install/bin/moar: error while loading shared libraries: libmoar.so: cannot enable executable stack as shared object requires: Invalid argument 01:58
01:58 awwaiid left
BenGoldberg only really silly people type stuff which starts with a directory path in IRC without putting /say in front. 01:59
lookatme BenGoldberg, this need some tweak on dynamic lib
BenGoldberg Yeah, I guessed that -- I think that the tweak should be part of the build process. 02:00
MasterDuke BenGoldberg: there's some command to run that will fix that. i believe it hasn't been added to the build process because upstream (microsoft) is going to fix the root problem eventually
geekosaur linux.die.net/man/8/execstack 02:01
lookatme BenGoldberg, Separate install MoarVM first
BenGoldberg How do I do that, with Configure.pl --something? 02:02
MasterDuke quotable6: execstack 02:03
02:04 awwaiid joined
quotable6 MasterDuke, gist.github.com/cd1b62f802eb262492...182bf077a9 02:04
lookatme just `sudo execstack -c /mnt/opt/rakudo-star-2016.11/lib/libmoar.so`
BenGoldberg The only things in /mnt/ are c d and e 02:05
lookatme Try that command After you install MoarVM over 02:06
`*/libmoar.so`
sorry
BenGoldberg How do I install MoarVM?
MasterDuke were you trying to build rakudo with --gen-moar? 02:07
lookatme enter nqp/MoarVM, separate compile MoarVM
MasterDuke ^^^ what he said 02:08
lookatme And when you success install MoarVM, remove --gen-moar from rakudo install command: perl Configure.pl --gen-nqp 02:09
BenGoldberg No suitable nqp executables found! Please specify some --backends, or a --prefix that contains nqp-{p,j,m} executables 02:10
MasterDuke --backends=moar 02:12
lookatme Try this `perl Configure.pl --gen-nqp --backends=moar`
BenGoldberg Ok, I think this is working... (maybe)
lookatme Oh, :)
BenGoldberg Things are compiling, anyway. 02:13
On a vaguely unrelated note, here's something interesting: 02:15
m: use NativeCall; my $errno_rw := cglobal(Str, "errno", CArray[int32]).AT-POS(0); my $errno_r := cglobal('libc.so.6', 'errno', int32); say $errno_r; ++$errno_rw; say $errno_r;
camelia 2
3
lookatme awesome, I think NativeCall document said that it's not support write global variable yet 02:23
BenGoldberg Which is silly, since if you support writable arrays, thenyou support writable global data, simply by treating it as an array with one item in it. 02:24
02:25 noganex joined, kyan left 02:28 noganex_ left 02:30 Cabanossi left 02:32 Cabanossi joined 02:36 mcmillhj left 02:41 robinsmidsrod left 02:47 mcmillhj joined 02:52 mcmillhj left, awwaiid left, mr-foobar left 02:53 awwaiid joined 03:01 Cabanossi left 03:02 Cabanossi joined, awwaiid left 03:03 awwaiid joined 03:07 geekosaur left 03:08 Actualeyes left 03:09 mr-foobar joined, geekosaur joined 03:15 Util_ is now known as Util 03:16 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 03:19 robinsmidsrod joined 03:42 Cabanossi left 03:44 Cabanossi joined 03:50 kurahaupo_ joined 03:51 khw left 03:52 kurahaupo left 03:53 awwaiid left 03:54 awwaiid joined, andrei_ joined
andrei_ How can I get a list of all methods in an object, like dir(x) in Python ? 03:57
BenGoldberg m: say Int.^methods; 03:59
camelia (Int Num Rat FatRat abs Bridge chr sqrt base polymod expmod is-prime floor ceiling round lsb msb narrow Range atanh sign asech sin tan atan2 acosech truncate asinh conj acosh pred asec cosec acotan cosh acos acosec sech unpolar log exp roots cotan sinh t…
BenGoldberg andrei_, Is that what you meant?
04:00 awwaiid left 04:01 awwaiid joined
andrei_ Yes, this is what I wanted. Is there any logic in figuring out such things, or should I just RTFM ? 04:03
BenGoldberg Perl6 tries to name things fairly obviously. But the manual definitely helps ;)
andrei_ Method starting with ^ means what? 04:04
BenGoldberg A method starting with ^ is called on the meta-object for the object. 04:05
m: say Int.HOW.methods(Int) 04:06
camelia (Int Num Rat FatRat abs Bridge chr sqrt base polymod expmod is-prime floor ceiling round lsb msb narrow Range atanh sign asech sin tan atan2 acosech truncate asinh conj acosh pred asec cosec acotan cosh acos acosec sech unpolar log exp roots cotan sinh t…
BenGoldberg It's equivilant to what I just typed above, but naturally shorter.
andrei_ Nice. I will go read about meta-objects 04:08
BenGoldberg Just in case I decide to give up on compiling and testing rakudo (which I'd really prefer to do before doing a pull-request), my modified NativeCall.pm6 can be seen here <gist.github.com/BenGoldberg1/599eb...c4568>, including several variants of cglobal, with Proxy objects whose STORE actually does something useful. 04:09
04:10 awwaiid left
BenGoldberg andrei_, Here's a good start: docs.perl6.org/language/mop 04:10
04:13 Cabanossi left 04:14 Cabanossi joined 04:23 mr-foobar left 04:25 mr-foobar joined 04:27 BenGoldberg left 04:40 pilne left 04:45 mr-foobar left 04:46 Actualeyes joined 04:49 mr-foobar joined, bwisti left
andrei_ m: say Str.^method_table{'trim'}.signature 04:51
camelia (Str:D $: *%_)
andrei_ m: say Str.^method_table{'split'}.signature
camelia (Mu $: | is raw)
andrei_ Why I cannot get the signature for split method of strings ?
04:54 curan joined
b2gills m: say Str.^method_table{'split'}.candidates.map: *.signature 04:57
camelia ((Str:D $: Regex:D $pat, $limit is copy = Inf;; :$v is copy, :$k, :$kv, :$p, :$skip-empty, *%_) (Str:D $: Cool $match;; :$v is copy, :$k, :$kv, :$p, :$skip-empty, *%_) (Str:D $: Cool $match, $limit is copy = Inf;; :$v is copy, :$k, :$kv, :$p, :$skip-empt…
b2gills You got the signature for the proto method
andrei_ WOW 04:59
05:01 astj joined
andrei_ why typing p6doc Method.signature responds No documentation found for method 'signature' ? 05:03
05:11 Cabanossi left 05:14 Cabanossi joined, cpage_ left 05:16 xtreak joined 05:20 espadrine joined 05:28 astj left 05:29 astj joined 05:34 andrei_ left 05:43 wamba joined 05:44 lowbro joined, lowbro left, lowbro joined, cpage_ joined 05:52 xtreak left 05:54 xinming left 05:56 xinming joined
moritz .tell andrei_ p6doc Code.signature works; it's not smart enough to walk the inheritance hierarchy 06:00
yoleaux moritz: I'll pass your message to andrei_.
06:03 astj left 06:04 astj joined, astj left, astj joined 06:07 andrzejku joined 06:11 Cabanossi left 06:13 Cabanossi joined 06:16 rheum101 left 06:23 andrzejku left 06:25 espadrine left 06:31 xtreak joined, cyphase left
moritz is there a way I can inspect the declarative prefix of a regex that's used for LTM? 06:32
06:37 andrzejku joined 06:38 xtreak left 06:39 ufobat joined, Entonian joined 06:42 Entonian left 06:44 parv joined
moritz also, S05 talks about PEG tie breakers, including: 2) Longest token matching: food\s+ beats foo by 2 or more positions 06:45
and later says
Note that in this case, a character class is not treated the same as an alternation.
All character classes are considered too generic to include in a longest literal string.
oh, this is about tie breaker 3 06:46
so character classes *are* part of the LTM declarative prefix that's parsed by an NFA, right? 06:47
it seems rakudo does not implement the tie breaker that prefers literals over char classes 07:01
m: say 'abc' ~~ /$<one>=[a\w] | $<two>=[ab]/
camelia 「ab」
one => 「ab」
TEttinger m: say 'abc' ~~ / $<one>=[ab] | $<two>=[a\w]/ 07:03
camelia 「ab」
one => 「ab」
TEttinger seems to just prefer order there
07:12 abraxxa joined 07:20 [ptc] joined 07:23 konsolebox_ left 07:24 konsolebox joined 07:27 kurahaupo_ left 07:28 andrzejku left 07:36 breinbaas joined 07:41 domidumont joined 07:46 domidumont left 07:47 domidumont joined 07:59 zakharyas joined 08:01 mcmillhj joined 08:05 mcmillhj left 08:08 jonas1 joined 08:12 mcmillhj joined 08:17 mcmillhj left 08:20 dakkar joined 08:23 |oLa| joined 08:29 pmurias joined 08:30 DarthGandalf left 08:31 mcmillhj joined 08:35 mcmillhj left 08:41 mcmillhj joined 08:42 robertle joined
tbrowder cschwenz: have you looked at all the meta data? i tried but didn't see anything like that 08:43
08:46 mcmillhj left 08:51 scimon joined 08:52 mcmillhj joined
scimon Morning all. 08:52
I'm having a weird issue with Travis integration in my new (terrible) Perl6 module that I'm writing while finishing up my notice period. 08:54
zef is installing modules and then the test suite isn't finding them.... though I may have a thought on why.
(Wondering if it's the PERL6LIB ENV var clashing with use lib). Hmmm. 08:56
parv interesting reply about perl6 being slower than perl5: www.reddit.com/r/perl6/comments/6h...o_gnu_yes/
scimon Anyone got any thoughts on what I can poke?
08:57 mcmillhj left
scimon (Interesting @parv) 08:59
parv scimon, you may find other interestings things at p6weekly.wordpress.com/2017/06/19/...l-6-books/ 09:00
scimon I'm keeping an eye on the books
zengargoyle scimon: have a link for the module to peek at the travis file? 09:01
zengargoyle notices YAPC videos are going up. new Damian vim talk probably means i'll be fiddling with my vim config again. :) 09:04
parv i would have preferred append() to just flatten any & all arrays unlike in "examples/append_2_arrays.pl6" (perl6maven.com/push-vs-append-on-ar...in-perl6). 09:08
09:12 ChoHag left 09:23 AlexDaniel joined 09:24 ChoHag joined 09:26 Cabanossi left 09:29 Cabanossi joined 09:31 Actualeyes left
scimon travis-ci.org/Scimon/Statico/jobs/245271957 (Sorry Standup) 09:32
09:33 TEttinger left 09:36 mscha joined
mscha Quick question: when using multiple promises (as in for ^10 { @promises.push: start { ... } }), is it possible to limit the number of simultaneous threads? Or is this by definition running 11 threads (10 + the main one) simultaneously? 09:38
09:39 geekosaur left
robertle I think it is running the promises on the default thread pool, which has a number of threads depending on RAKUDO_MAX_THREADS or so and your hardware 09:39
it may also low-cap the number of threads from your hardware to 16 09:40
09:40 lookatme left 09:41 geekosaur joined
mscha robertle: that seems to work, thanks. Do you know if there's an in-script way to set max-threads, apart from setting an environment variable? 09:49
09:50 geekosaur left 09:53 geekosaur joined
mscha m: CurrentThreadScheduler.max_threads = 3; 09:54
camelia No such method 'max_threads' for invocant of type 'CurrentThreadScheduler'
in block <unit> at <tmp> line 1
mscha m: CurrentThreadScheduler.max-threads = 3;
camelia No such method 'max-threads' for invocant of type 'CurrentThreadScheduler'
in block <unit> at <tmp> line 1
mscha :-(
09:55 jameslenz left 09:56 rindolf joined 09:58 DesertJellyFish is now known as ibouvousaime, jameslenz joined 10:01 scimon left 10:02 scimon joined
parv mscha, apparently you could specify while creating ThreadPoolScheduler: docs.perl6.org/type/ThreadPoolScheduler 10:02
10:02 eveo joined
eveo scimon: that's weird. Wonder if that's some breakage in recent zef/rakudo 10:05
parv: that response is outdated. Just yesterday .say got 55% faster
mscha: set $*SCHEDULER = ThreadPoolScheduler.new: :42max_threads 10:07
10:07 mscha left 10:08 mscha joined
eveo mscha: set $*SCHEDULER = ThreadPoolScheduler.new: :42max_threads 10:08
parv eveo, ok
mscha eveo: thanks, exactly what I needed. 10:09
eveo Or rather my $*SCHEDULER 10:10
mscha Why max_threads, though? Doesn't Perl 6 usually use kebab-case? 10:11
parv how could i modify the following to remove empty lines?
m: ThreadPoolScheduler.^methods.map( { .perl ~~ /max/ ?? .perl !! [] } ).sort.join( "\n" )
camelia ( no output )
parv m: say ThreadPoolScheduler.^methods.map( { .perl ~~ /max/ ?? .perl !! [] } ).sort.join( "\n" )
camelia





method max_threads (ThreadPoolScheduler $: *%_) { #`(Method|44882008) ... }
submethod BUILD (ThreadPoolScheduler $: Int :initial_threads($!initial_threads) = 0, Int :max_threads($!max_threads) = { ... }, *%_ --> Nil) { #`(Submethod|44…
parv i thought Nil would do better than [] but that just produces warning messages. 10:12
eveo mscha: the things you shouldn't really touch use snake case 10:13
mscha Ah, makes sense. 10:14
eveo parv: what are you trying to do?
parv print only those .perl output that have "max" in them 10:15
10:15 lowbro left
eveo m: .say for ThreadPoolScheduler.^methods».perl.grep(/max/).sort 10:15
camelia method max_threads (ThreadPoolScheduler $: *%_) { #`(Method|43558728) ... }
submethod BUILD (ThreadPoolScheduler $: Int :initial_threads($!initial_threads) = 0, Int :max_threads($!max_threads) = { ... }, *%_ --> Nil) { #`(Submethod|43559640) ... }
Geth doc: 13e0fc442a | (Jan-Olof Hendig)++ | doc/Type/Blob.pod6
Link to utf8-c8
10:18
parv eveo, thanks. is there not a perl6 construct that would cause no output similar to in perl 5 of "empty list" that collapses to nothing. e.g. map { 2 > $_ ? $_ : () } (...) -- to print numbers only less than 2. 10:19
parv misabused the quotes there. sorry. 10:23
10:24 DarthGandalf joined
eveo parv: Empty 10:25
m: say ThreadPoolScheduler.^methods.map( { .perl ~~ /max/ ?? .perl !! Empty } ).sort.join( "\n" )
camelia method max_threads (ThreadPoolScheduler $: *%_) { #`(Method|60475480) ... }
submethod BUILD (ThreadPoolScheduler $: Int :initial_threads($!initial_threads) = 0, Int :max_threads($!max_threads) = { ... }, *%_ --> Nil) { #`(Submethod|60476392) ... }
eveo Which is an empty Slip
huggable: Slip
huggable eveo, A kind of List that automatically flattens into an outer container: docs.perl6.org/type/Slip
parv eveo, huggable: oh, sweet! thanks much. 10:26
10:26 Cabanossi left 10:29 Cabanossi joined
parv i cannot tell if doc changes for "Routines supplied by" Mu or Any for the class they are supplied to. also, is there really a need to repeat such doc for a class that is not Any or Mu? 10:30
10:30 pmurias left
eveo scimon: no idea why your travis fails. Just re-ran mine and it succeeded. Looking at the commands, they're pretty much the same: travis-ci.org/zoffixznet/perl6-WWW except mine does install without --depsonly. Trying another run with --depsonly now: travis-ci.org/zoffixznet/perl6-Proc-Q 10:32
parv: all classes are Mu
parv eveo: say there is class A. Then there is B which is also A. Does B need to have full doc of methods of A, not just a pointer to that doc? 10:34
scimon Thanks eveo 10:35
I am confused. It WAS working and then it... stopped.
But running the tests locally is fine.
eveo parv: why not? Why would I need to follow a pointer somewhere instead of just looking at all the methods? This is entirely just a presentation problem. The methods aren't re-documented, those pages are assembled during site generation 10:36
10:37 mcmillhj joined
eveo Especially since some classes don't override an ancestor's method but just add more candidates. So without listing them all on the same page, you're jumping through hoops trying to find all the candidates 10:38
parv eveo: agree about presentation problem.
eveo By problem I meant a "thing" I don't consider the current presentation problematic, other than having atrocious typography. 10:39
parv oh. in that case, we just disagree (have no opinon abiut typography) 10:40
10:41 mscha left 10:42 mcmillhj left
parv curses typos 10:42
on that note, time to go is here ...
10:43 parv left
eveo scimon: nope, still works fine (other than two flopping tests): travis-ci.org/zoffixznet/perl6-Proc-Q Here's my travis file; note that it doesn't have the `script` line and uses the default script from perl6 language, although it's basically the same as yours: github.com/zoffixznet/perl6-Proc-Q...travis.yml 10:47
scimon: maybe try catching ugexe and ask for opinion? They're the author of zef
scimon I'll try. I'll keep poking it.
eveo \o 10:48
10:48 eveo left 10:53 lowbro joined, lowbro left, lowbro joined
zengargoyle scimon: pretty much what eveo said. i noticed your travis link on `zef install --debug --depsonly .` stopped after the 'Filtering' steps and never did the Testing an Install phase of the depsonly modules. not sure what the glitch is though. 10:56
scimon Might it be one of the deps? 10:57
zengargoyle did you use the --debug after having problems? 10:58
zengargoyle has never used either --debug or --depsonly. i usually just do `zef --verbose install .` and let zef test/install deps and test/install the dist, and then let the empty script: default to the prove command. (this actually i guess runs the module tests twice...) 11:00
timotimo PSA, the p6profiler-graphviz tool now understands the newer sql profile output names 11:03
wow, this one has a moiree pattern to it 11:06
hack.p6c.org/~timo/moiree_graph.png 11:07
scimon I originally had --depsonly and added --debug 11:08
11:08 travis-ci joined
travis-ci Doc build errored. Jan-Olof Hendig 'Link to utf8-c8' 11:08
travis-ci.org/perl6/doc/builds/245305365 github.com/perl6/doc/compare/1bbf3...e0fc442ade
11:08 travis-ci left
scimon I'll try various options and see what happens. 11:09
going to try --verbose --/test . (to skip the testing in zef and test in the test stage) 11:10
zengargoyle i had a working travis fail a couple of days ago. just a minor bug between the 'latest' rakudo and zef for a day. it can be a bit of a problem when the standard-ish travis basically builds the very latest of everything and can fail for mysterious temporary reasons that somebody fixes by the next day. :) 11:11
scimon (Looks like the issue is YAMLish, when I took that out of META6.json zef built all the things.) 11:12
Cheers.
zengargoyle cool. but a bit weird. :) 11:15
scimon I think the travis that mi6 made was --depsonly --/test I modified that because I wasn't sure what it was doing. 11:18
Hopefully soon I can get back to writing bad Perl6 code instead. And possibly documenting it. 11:19
11:28 araraloren joined
araraloren evening 11:29
scimon Ciao. 11:35
Ok so that didn't work. First up going to try picking the 2017.06 build rather than latest.
11:40 lucs_ is now known as lucs 11:41 Cabanossi left
nebuchadnezzar m: ($a, @c, $b) = 1..5; say "\$a = '$a', \$b = '$b', \@c = '{@c}'" 11:42
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$a' is not declared
at <tmp>:1
------> 3(7⏏5$a, @c, $b) = 1..5; say "\$a = '$a', \$b
nebuchadnezzar m: my ($a, @c, $b) = 1..5; say "\$a = '$a', \$b = '$b', \@c = '{@c}'"
camelia Use of uninitialized value $b of type Any 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
$a = '1', $b = '', @c = '2 3 4 5'
timotimo yeah, we don't have support for that 11:43
scimon hmmm that's kind of what I would expect.
Lists are slurpy.
zengargoyle scimon: hrmmm, my simple test with YAMLish as a dep and `--verbose install .` just worked....
nebuchadnezzar scimon: looks like ;-)
scimon I think it hates me. That's the next most obvious option.
11:44 Cabanossi joined
scimon nebuchadnezzar from a Perl5 perspective that's 100% what I'd expect to happen. 11:44
nebuchadnezzar I don't remember how it was in Caml, but I liked the pattern matching 11:45
timotimo if you use := there it's different
but i still believe you can't have backtracking 11:46
hm, however
m: my ($a, @b (:tail($c))) = 1..5; dd $a, @b, $c
camelia Int $a = 1
Array @b = [2, 3, 4, 5]
Mu
timotimo nope.
scimon zengargoyle: travis-ci.org/Scimon/Statico/jobs/245327549 Sigh.... Hmmmm. Something Something dark side. 11:48
I think I shall return to it post lunch.
11:48 rindolf left
scimon If it's not something people have seen before I'll poke at it and if I work it out I'll tell people. 11:48
timotimo only works for attributes or with custom .Capture 11:51
i just saw SPVM, it might be interesting to compare performance between rakudo/moar and spvm for calculation tasks 12:08
12:08 raschipi joined
Ulti found a great niche for Perl 6, Apache Spark with the perf of Scala and ease of programming of the Python version 12:11
yoleaux 9 Jun 2017 17:21Z <eveo> Ulti: Sent some PRs to fix BioInfo breakage: github.com/MattOates/BioInfo/pulls
Ulti wuh oh
raschipi eveo is Zoffix 12:13
12:13 AlexDaniel left
Ulti how do I leave messages for later? 12:15
but also thats awesome eveo++ for the how to do Slangs with back compat too 12:18
12:18 ibouvousaime is now known as DesertJellyFish
Ulti I had a gist with my failed attempt for ages 12:18
moritz .tell Ulti like this
yoleaux moritz: I'll pass your message to Ulti.
Ulti .tell eveo Thanks so much for the slang commit, I've applied your changes 12:19
yoleaux 12:18Z <moritz> Ulti: like this
Ulti: I'll pass your message to eveo.
Ulti is currently learning Scala, I'm not sure I like it :< I really want to though 12:20
12:20 eveo joined
raschipi Ulti: If you write "Zoffix" in the message, ZofBot will deliver it to him as a github message 12:20
eveo And raschipi is Fhantomas!
yoleaux 12:19Z <Ulti> eveo: Thanks so much for the slang commit, I've applied your changes
eveo m: class pop {}; my ($a, *@b, pop() :$c = @b) := |(1..5); dd $a, @b, $c
camelia 1
[2, 3, 4]
Int $c = 5
eveo Hahaha :) 12:21
(don't actually use that; it will stop working eventually)
timotimo haha
12:24 eveo left 12:34 mr-fooba_ joined
Util The Perl 6 BOF was great last night! 12:36
github.com/dcbpw/tpc-2017-dc/wiki
12:36 mr-foobar left 12:37 perlpilot joined 12:39 eiro joined 12:47 mcmillhj joined 12:48 raschipi left
moritz so, what did you talk about there? 12:49
12:52 mcmillhj left 12:59 unop joined
Util moritz: We do not have as good a record of *that* :) 13:08
Off the top of my head:
* whether we need a 6->5 tool or docs (the Pythonistas at OSCON said they were surprised at the need for a 3->2 tool). [No]
* whether we need a new doc indexing all the symbols, for another kind of lookup [maybe not, since the docs site search tool is great]
* The problem with `eqv` defaulting to "compare the .perl strings" [*lots* of discussion of the depth of the issue, and possible fixes; ctilmes plans to write one of the fixes for review]
* The not-introspectability of Junctions, since bduggan's talk showed him having to run a regex against the .perl of a Junction to get at its single value [probably just fix the MAIN options parser to not use Junctions]
* The need to document module management, or at least move mentions of `zef` closer to a brand-new user on the Docs site [Actually, it is probably OK; lembark may review]
* The need for videos.perl6.org, maybe providing the same kind of self-population as modules.perl6.org. [Instead, maybe just move Resources->Screencasts to its own page off of the home page]
* Semi-Planning for a Perl 6 Hackathon [most participants are in Dominus' class tomorrow, so we will move the Hackathon to just outside the class exit :^) ]
Hopefully others attendees will remember more. 13:09
13:09 mcmillhj joined, raschipi joined
perlpilot That looks like something I'd normally see in a blog post :) 13:12
13:12 salv0 left 13:14 eiro left, khw joined
Util perlpilot: good point. 13:16
[Coke] ffffff 13:23
13:27 unop left
Util Also: 13:27
* vrurg showed how Perl 6 already beats Perl 5 in BigInt performance (and another category I am not remembering)
* We reviewed awwaiid's upcoming lightning talk on the numerous uses of colons in Perl 6. [I think he missed 2 out of Inf-1]
* We explored why `$_ *= 10 for 1..9;` did not complain in Perl 5, but does in Perl 6. 13:28
perlpilot: I will try to make this my first ever blog post.
scimon On the "Why is my travis build failing?" question. travis-ci.org/Scimon/Statico/jobs/245356622 AND travis-ci.org/Scimon/Statico/jobs/245356619 13:30
Renaming YAMLish in META6.json to yamlish fixed it in OSX but not Linux.
(note the Repo is called yamlish)
[Coke] (oops, accidentally sent my "am i still connected" typing. :) 13:33
13:39 eveo joined
eveo scimon: that looks like a bug. YAMLish has "YAMLish" listed as name, so that name should work. 13:39
zengargoyle weird, my super simple YAMLish as a dep test passed both linux and osx: travis-ci.org/zengargoyle/p6-TestMe 13:43
eveo Ulti: do you remember what code was used to produce a Junction from MAIN? I didn't think we used any. Also, the gather/take hack is much more palatable than a .perl hack, I'd think
m: my $j = any(<a b>) | "c"; dd gather $j.map: *.take 13:44
camelia ("a", "b", "c").Seq
eveo m: my $j = any(<a b>) | "c"; dd gather $j».take
camelia ("a", "b", "c").Seq
Util [Coke]: Oh! I thought you were doing a spit-take :)
eveo: was that to me, or Ulti ? 13:45
eveo Util: you 13:46
13:46 raschipi left, eveo is now known as Utli
Utli The madness is now complete. 13:47
Util eveo: I do not, but if I see the author, or his video is posted, I will find out for you.
Utli Thanks.
Util eveo: the gather/take hack is new to me. Thanks! 13:48
Utli Generally, you're not meant to introspect Junctions. 13:49
moritz m: sub eigenstates(Junction $j) { my @r; sub (Any $x) { @r.push(@x) }($j); @r }; say eigenstates 1&2&3
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '@x' is not declared. Did you mean '$x'?
at <tmp>:1
------> 3ion $j) { my @r; sub (Any $x) { @r.push(7⏏5@x) }($j); @r }; say eigenstates 1&2&3
Util Ulti: Yes, the docs specifically say so, and Larry confirmed it.
moritz m: sub eigenstates(Junction $j) { my @r; sub (Any $x) { @r.push($x) }($j); @r }; say eigenstates 1&2&3 13:50
camelia [1 2 3]
moritz that's what I've answered in the past
Utli Don't see any use of Junctions in github.com/rakudo/rakudo/blob/nom/...re/Main.pm that would seep into userland, so I'm surprised that person needed a .perl hack
moritz same principle as gather/take, but maybe a makes it more obvious what's going on
13:52 Utli is now known as eveo 13:54 sufrostico left
eveo m: my &eigenstates = { my @a; sub { @a.push: $^x }($^j); @a }; say eigenstates 1&2&3 13:55
camelia [1 2 3]
eveo ^_^ default type constraint :)
s
m: use nqp; dd nqp::getattr(1&2&3, Junction, q|$!storage| 13:57
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in argument list; couldn't find final ')'
at <tmp>:1
------> 3p::getattr(1&2&3, Junction, q|$!storage|7⏏5<EOL>
eveo m: use nqp; dd nqp::getattr(1&2&3, Junction, '$!storage')
camelia (1, 2, 3)
eveo gutted
13:58 eveo left
moritz using nqp:: ops is cheating :-) 14:07
m: my $junction = 1&2; say $junction.^attributes[0].get_value($junction) 14:08
camelia (1, 2)
14:13 AlexDaniel joined 14:20 keylet joined 14:23 colomon joined 14:25 domidumont left, keylet left 14:26 domidumont joined, prodotiscus joined
prodotiscus I have my own repo with some perl6 coding samples on GitHub 14:28
github.com/prodotiscus/perl6-samples
Geth doc: 110aac8cce | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/phasers.pod6
Use proper POD6 comments

Otherwise the commented stuff still shows up in rendered text
prodotiscus can I add it to perl6 organization?
if the organization needs it, of course :) 14:29
moritz prodotiscus: we already have a perl6-examples repo
prodotiscus: want to contribute your examples there?
14:30 AlexDaniel left
moritz (you should be able to push directly, no PRs necessary) 14:30
prodotiscus I have the push right, yes 14:31
ok, I'll try to add the examples from my repo to perl6/perl6-examples 14:32
moritz thanks prodotiscus++ 14:33
14:36 raiph joined 14:38 lowbro left 14:40 mr-fooba_ left 14:51 mr-foobar joined
Geth perl6-examples: a31dc23689 | prodotiscus++ | categories/other/array-contains-a-value.pl
new example: determine whether an array contains a value
14:54
15:04 tardisx left, prodotiscus left 15:05 keylet joined
keylet m: my Int, Str $foo = 'foobar'; say $foo; 15:05
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed my
at <tmp>:1
------> 3my Int7⏏5, Str $foo = 'foobar'; say $foo;
15:06 wamba left
keylet can I set more than one type for a variable, so that all types except Int or Str (for example) are prohibited? 15:06
araraloren you can use subset 15:07
m: my $foo where Int | Str = "123"; 15:08
camelia ( no output )
araraloren m: my $foo where Int | Str = 1;
camelia ( no output )
araraloren m: my $foo where Int | Str = 0.1;
camelia Type check failed in assignment to $foo; expected <anon> but got Rat (0.1)
in block <unit> at <tmp> line 1
15:08 rindolf joined
araraloren This will work too 15:08
keylet thank you araraloren 15:09
araraloren ^_^ 15:10
15:13 domidumont left 15:14 bwisti joined, domidumont joined 15:16 jameslenz left 15:18 travis-ci joined
travis-ci Doc build errored. Zoffix Znet 'Use proper POD6 comments 15:18
travis-ci.org/perl6/doc/builds/245394217 github.com/perl6/doc/compare/13e0f...0aac8cce51
15:18 travis-ci left 15:20 curan left 15:23 kurahaupo joined, jameslenz joined
[Coke] [docs] will add this to contributing.md, but when adding samples to docs, use (=begin code :lang<perl5>), e.g. if it's not a perl6 snippet. 15:30
(or <haskell>, or <ruby>, etc.)
I'd also like to encourage skip-test<reason> so we can keep track of why something is being skipped. will help us tag some samples for special processing later (would let us deal with things that need to run in a standalone file, e.g.) 15:32
Geth doc: eeee090e72 | (Jonathan Worthington)++ | doc/Type/Encoding.pod6
Add some basic documentation for the Encoding role
15:33
[Coke] jnthn: those examples have {Encoding}:D as a method param. is that legal syntax? (fails here with a week old rakuo) 15:37
er, {Encoding}:D:
moritz the curlies look wrong to me
[Coke] oh, I bet it's actually just not triggering our normal "is this really a method def." check in the examples compilation. 15:38
jnthn Don't blame me, blame util/new-type.p6 15:40
Which CONTRIBUTING.md told me to use 15:41
[Coke] ah, nope, it's:
jnthn It put the curlies in :)
I just left 'em :)
[Coke] ok. if you fix the doc, I'll take the "new-type" bug.
15:41 jonas1 left
jnthn I thought maybe it was syntax to get it into the index or something 15:41
I don't know much about how p6doc works, just figured I'd try and help a little on the new encoding API :) 15:42
[Coke] nah, it was written in 2014, probably not touched much since.
Super appreciate it.
Geth doc: 695ebf5d21 | (Moritz Lenz)++ | doc/Type/Encoding.pod6
Fix type names in signatures
moritz easy karma :-)
jnthn heh, I'd just done it locally too :)
[Coke]++ and moritz++ 15:43
I'll try and fill out a few more of them in the coming days 15:44
[Coke] adds github.com/perl6/doc/issues/1392 , easy lift for someone. 15:45
jnthn :)
15:45 cdg joined 15:49 TimToady_ is now known as TimToady
keylet m: say so 'string' !~ /\w+/; 15:53
camelia 5===SORRY!5=== Error while compiling <tmp>
Unsupported use of !~ to do negated pattern matching; in Perl 6 please use !~~
at <tmp>:1
------> 3say so 'string' !~ 7⏏5/\w+/;
15:53 cdg_ joined
keylet m: say so ! ('string' ~~ /\w+/); 15:53
camelia False
keylet m: my %var; say %var.WHAT; 15:55
camelia (Hash)
keylet m: say so not ('string' ~~ /\w+/); 15:57
camelia False
15:57 cdg left, abraxxa left
keylet m: my %foo = lorem => 'ipsum'; 15:58
camelia ( no output )
keylet m: my %foo = lorem => 'ipsum', dolor => 'sit'; 15:59
camelia ( no output )
keylet is there a nice way to say it like: lorem=ipsum, dolor=sit
?
15:59 scimon left
keylet m: my %foo = lorem => 'ipsum', dolor => 'sit'; for %foo -> $k, $v { say "$k=$v, " } 16:01
camelia lorem ipsum=dolor sit,
keylet m: my %foo = lorem => 'ipsum', dolor => 'sit'; for @foo -> $k, $v { say "$k=$v, " } 16:02
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '@foo' is not declared. Did you mean '%foo'?
at <tmp>:1
------> 3= lorem => 'ipsum', dolor => 'sit'; for 7⏏5@foo -> $k, $v { say "$k=$v, " }
keylet m: my %foo = lorem => 'ipsum', dolor => 'sit'; for %foo.kv -> $k, $v { say "$k=$v, " }
camelia lorem=ipsum,
dolor=sit,
keylet wow! it works
jnthn m: my %foo = lorem => 'ipsum', dolor => 'sit'; say %foo.fmt('%s=%s', ',') # I think maybe this too 16:04
camelia lorem=ipsum,dolor=sit
araraloren awesome fmt 16:05
ruoso How do I lookup a multi that was declared in a class? I want to get a reference to the multi from outside it...
I tried TheClass::<&themulti>
but that seem to just return Any
16:06 mcmillhj left
jnthn multi sub or multi method? 16:06
Subs are lexical by default, so if sub you'll have to mark it `our`
If method, then .^lookup('themulti')
ruoso multi sub 16:07
m: class Foo { multi bar() { } }; say Foo::<&bar>
camelia (Any)
araraloren m: class F { multi f() { } }; # what's the multi mean ?
camelia ( no output )
araraloren sub or method ?
jnthn araraloren: always sub
ruoso m: class Foo { our multi bar() { } }; say Foo::<&bar>
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot use 'our' with individual multi candidates. Please declare an our-scoped proto instead
at <tmp>:1
------> 3class Foo { our multi bar() { }7⏏5 }; say Foo::<&bar>
expecting any of:
jnthn Correct error is correct :) 16:08
m: class Foo { our proto bar(|) {*}; multi bar() { } }; say Foo::<&bar>
camelia sub bar (| is raw) { #`(Sub|41318656) ... }
jnthn m: class Foo { our proto bar(|) {*}; multi bar() { } }; say Foo::<&bar>.candidates
camelia (sub bar () { #`(Sub|34257752) ... })
ruoso thanks... that's indded it
what's the meaning of having the | in the proto? 16:09
(in the signature of the proto, that is)
jnthn It means "accept any arguments"
And that you don't need a way to talk about them
proto foo($, $) {*} would mean that anything without exatly two args would fail at the proto point without even considering the multis 16:10
ruoso ah, so if I say `our proto bar() {*}` I'm telling I need at least an argument
jnthn It's usually not important, but it can be when you want to use a set of multis in a context where arity or count matter
No, that means "no arguments" 16:11
our proto bar($) {*} would mean one argument
16:11 mcmillhj joined
jnthn The * means "and now call the multi-dispatcher" 16:11
ruoso ah, got it
was thinking exactly reversed
16:12 raschipi joined
keylet m: my Str $content = 'lorem ipsum'; my Str $foo = "[*]$content[/*]"; say $foo; 16:15
camelia 5===SORRY!5=== Error while compiling <tmp>
Quantifier quantifies nothing
at <tmp>:1
------> 3em ipsum'; my Str $foo = "[*]$content[/*7⏏5]"; say $foo;
expecting any of:
list composer
term
keylet m: my Str $content = 'lorem ipsum'; my Str $foo = "[*]$content[\/*]"; say $foo;
camelia 5===SORRY!5=== Error while compiling <tmp>
Quantifier quantifies nothing
at <tmp>:1
------> 3m ipsum'; my Str $foo = "[*]$content[\/*7⏏5]"; say $foo;
expecting any of:
list composer
term
keylet m: my Str $content = 'lorem ipsum'; my Str $foo = "[*]{$content}[\/*]"; say $foo;
camelia [*]lorem ipsum[/*]
keylet m: my Str $content = 'lorem ipsum'; my Str $foo = "[*]{$content}[/*]"; say $foo;
camelia [*]lorem ipsum[/*]
16:15 |oLa| left
ruoso I'm getting 'Serialization Error: missing static code ref for closure '' (src/Perl6/World.nqp:2211) 16:16
in some cases when doing that lookup
Geth doc: e542e3c84d | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/PositionalBindFailover.pod6
PositionalBindFailover doesn't care for Iterables

  - Remove prose that talks about Iterables
  - Clarify what happens in the Seq example
  - Provide example with custom class doing PositionalBindFailover
16:17
16:17 mcmillhj left
keylet m: say True ?? 'foo'; 16:17
camelia 5===SORRY!5=== Error while compiling <tmp>
Confused: Found ?? but no !!
at <tmp>:1
------> 3say True ?? 'foo'7⏏5;
keylet m: say True ?? 'foo' !!;
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing required term after infix
at <tmp>:1
------> 3say True ?? 'foo' !!7⏏5;
expecting any of:
prefix
term
keylet can I do a void !! ?
araraloren m: say 'foo' if True; 16:18
camelia foo
16:18 eveo joined
eveo keylet: what are you trying to do? 16:18
araraloren Why not using `if`
eveo m: say ?'foo' 16:19
camelia True
eveo m: say True if 'foo'
camelia True
eveo m: 'foo' and say True
camelia True
keylet sorry :)
you should really use inline `if` 16:20
* I
eveo Sometimes `with` is more appropriate; for example an empty string and number 0 are false
`with` checks if the item is .defined 16:21
ruoso: which code produces that error?
ruoso I'm trying to nail it down to a smaller code, but haven't succeeded 16:23
eveo and `andthen` is the operator form for `with`, same as `and` is for `if`
m: 0 andthen .say
camelia 0
eveo ruoso: what's the bigger code?
ruoso let me push the latest version...
16:24 travis-ci joined
travis-ci Doc build errored. Jonathan Worthington 'Add some basic documentation for the Encoding role' 16:24
travis-ci.org/perl6/doc/builds/245421231 github.com/perl6/doc/compare/110aa...ee090e72e7
16:24 travis-ci left 16:25 dakkar left
ruoso hm, it stopped failing altogether now... 16:26
araraloren night
eveo night
16:26 araraloren left
ruoso eveo: github.com/ruoso/perl6-web-multi-dispatch is what I'm working on 16:27
I was seeing the error whne trying to have the subclass (TestApp) offer a version of generate_dispatcher which did the lookup 16:28
but now I can't reproduce it anymore
16:28 mcmillhj joined
eveo hm, OK. If you reproduce it again, report it 16:29
huggable: rakudobug
huggable eveo, Report bugs by emailing to [email@hidden.address] please include [BUG] at the start of the subject for it to be automatically tagged by the RT system.
ruoso yeah, it may be something more delicate, and I was trying to nail it down to a simpler code to report I inadvertedly made it no longer be there
16:33 travis-ci joined
travis-ci Doc build errored. Moritz Lenz 'Fix type names in signatures' 16:33
travis-ci.org/perl6/doc/builds/245424787 github.com/perl6/doc/compare/eeee0...5ebf5d2181
16:33 travis-ci left, mcmillhj left 16:44 domidumont left, mcmillhj joined
ruoso huh... it definitely is transient 16:46
the error just happened and then didn't happen in two consecutive runs of the same code
16:48 TimToady left 16:49 mcmillhj left
eveo ruoso: the "serialization" usually something with precomp. Try nuking .precomp or lib/.precomp (whereever it is) 16:49
16:51 pilne joined
ruoso yeah, I haven't seen it since 16:51
maybe I had a bad cashed precomp
do we have a inversion-of-control framework already? 16:55
I see IoC, but that seems stale since 2014
16:56 colomon_ joined
tadzik maybe it's perfect :) 16:56
16:57 colomon left, colomon_ is now known as colomon
ruoso heh, unlikely... 16:58
tests seem to fail dramatically
raschipi Not even TeX is perfect.
17:00 mcmillhj joined 17:03 zakharyas left 17:04 eveo left 17:05 mcmillhj left 17:06 mcmillhj joined 17:07 |oLa| joined 17:08 travis-ci joined
travis-ci Doc build errored. Zoffix Znet 'PositionalBindFailover doesn't care for Iterables 17:08
travis-ci.org/perl6/doc/builds/245438739 github.com/perl6/doc/compare/695eb...42e3c84d08
17:08 travis-ci left
tadzik I remember fixing it at some point, it was quite pleasant to work with 17:09
Geth doc: c128bfe132 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/PositionalBindFailover.pod6
s/once/anon var/;

  `once` is antipattern here, as it'll run once ever, even
when multiple instantces are created.
17:10
17:13 Cabanossi left, kurahaupo_ joined 17:14 Cabanossi joined
tadzik yeah, it required little fixing :0 17:15
17:17 TimToady joined
tadzik ruoso: github.com/tadzik/perl6-ioc/commit...47cb7a4b04 was what it needed 17:17
17:17 kurahaupo left
tadzik I'd open a PR but seems like my master had some commit that was completely unrelated, so it'd probably require cherry-picking and argh, I'll let someone else do it :P 17:18
17:23 kurahaupo joined, kurahaupo_ left, kurahaupo_ joined, st_elmo joined 17:25 AlexDaniel joined 17:27 kurahaupo left 17:28 st_elmo left 17:35 |oLa| left 17:36 wamba joined 17:52 |oLa| joined
[Coke] huggable: no, rakudobug is Report bugs by emailing to [email@hidden.address] 17:54
huggable [Coke], nothing found
17:54 AlexDaniel left
[Coke] huggable: rakudobug is Report bugs by emailing to [email@hidden.address] 17:54
huggable [Coke], nothing found
timotimo i think it wants ":is:"
[Coke] eveo : can you fix the huggable rakudobug fact so that it doesn't say to use [BUG] ?
huggable: rakudobug :is: Report bugs by emailing to [email@hidden.address] 17:55
huggable [Coke], Added rakudobug as Report bugs by emailing to [email@hidden.address]
[Coke] rakudobug?
huggable, rakudobug?
huggable [Coke], nothing found
17:55 eveo joined
[Coke] huggable, rakudobug 17:55
huggable [Coke], Report bugs by emailing to [email@hidden.address]
[Coke] eveo: never mind
eveo OK :)
17:55 eveo left 18:00 travis-ci joined
travis-ci Doc build errored. Zoffix Znet 's/once/anon var/; 18:00
travis-ci.org/perl6/doc/builds/245456907 github.com/perl6/doc/compare/e542e...28bfe1327d
18:00 travis-ci left
[Coke] timotimo++ eveo++ 18:03
18:09 ufobat left 18:18 raiph left, raiph joined 18:25 kaare__ left
[Coke] attempts to use filter-branch to expunge a file. 18:28
(for $dayjob)
moritz [Coke]: it's probably overkill for this simple job, but there's the "bfg repo cleaner" which you can use for such tasks 18:29
(also expunging single lines from all history, and stuff like that) 18:30
[Coke] moritz: saw that on the SO page I'm looking at, nice to know it is recommended by humans. 18:31
moritz rtyley.github.io/bfg-repo-cleaner/
18:31 kaare_ joined
[Coke] ... *facepalm* I didn't take a copy of the repo before running filter-branch (and it's a new copy of an svn conversion. crap.) 18:33
moritz++
moritz [Coke]: you can still get to the old version through git reflog
(unless you already explicitly expired the reflog) 18:34
18:45 sufrostico joined 18:48 sjoshi joined, sjoshi left
arnsholt_ The reflog saves 18:50
18:50 arnsholt_ is now known as arnsholt
arnsholt Got me out of a botched rebase once 18:50
Sadly, it doesn't fix filename limitations on Windows =(
[Coke] moritz: does it -have- to run on a bare repo?
18:51 cowens joined, andrzejku joined
moritz [Coke]: I don't think so 18:51
cowens m: "\x[d800]".say 18:52
camelia Error encoding UTF-8 string: could not encode Unicode Surrogate codepoint 55296 (0xD800)
in block <unit> at <tmp> line 1
cowens m: "\x[d800]".ord.say 18:53
moritz my last use of bfg at least two years ago, I don't remember all the gory details
camelia 55296
cowens Why does "\x[d800]" fail (as I expect), but "\x[d800]".ord not?
moritz just that your HEAD must not contain the files (or lines) you want to remove from history
cowens: it fails at the encoding step when it tries to print to STDOUT 18:54
cowens: when you do .ord, it never tries to encode the string into a buffer
cowens ah
so it fails in the REPL 18:55
19:03 kurahaupo joined, kurahaupo left, kurahaupo joined 19:05 kurahaupo__ joined, cdg joined, sjoshi joined, sjoshi left 19:07 kurahaupo_ left 19:08 kurahaupo left, cdg_ left 19:09 cdg left 19:12 cog_ joined, mr-foobar left 19:15 cognominal left 19:17 kurahaupo__ left, kurahaupo joined 19:20 jaush joined 19:36 cowens left 19:42 TEttinger joined
ruoso is there a name for the programming pattern of using the pattern matching of multi subs to implement a sort of list reduce? 19:44
(with each multi slurping the remaining arguments then recursing) 19:48
perlpilot ruoso: when you say "pattern matching", you mean "signatures", right?
ruoso yes
mixing haskell terminology
perlpilot so, like having sigs of ($a,$b,$c), ($a,$b), ($a), () ? 19:49
ruoso well, more like ("a", *@r), ( "b", *@r ), ($c)
perlpilot oh, yeah ... like (x:xs) in haskell
I don't know of a name for that 19:50
ruoso right, but in practice it would be ("a", *@r), (AContext, "b", *@r), (BContext, "c")
where the recusion would include a new argument to encode the "reduction" of the list up to that point 19:51
more importantly, because we could also have a (AContext, "d", *@r) candidate 19:52
perlpilot feels more like something you'd see in prolog in a way.
I mean "unification" is what my brain says that "pattern" should be called. 19:53
TimToady am in the other corner of the room discussing the same thing with Morris Siegel :) 19:55
ruoso I guess I should walk over 19:57
20:14 jaush left
raschipi git and apt call that "subcommands" 20:17
so by extension they should be subsubroutines 20:18
20:19 xzhao left 20:20 xzhao joined 20:24 xzhao left 20:25 xzhao joined, xzhao left
zengargoyle cargo-cults `git commit --allow-empty -m '[empty] initial commit' because somewhere, somewhen, read that some things are easier *if* there's an empty commit at the start. 20:31
20:33 espadrine joined 20:36 andrzejku left 20:39 AlexDaniel joined 20:44 j-david-lowe joined 20:49 awwaiid joined 20:58 AlexDaniel left 21:03 AlexDaniel joined 21:06 ChoHag left 21:09 awwaiid left 21:10 awwaiid joined 21:12 |oLa| left 21:16 |oLa| joined 21:18 sufrostico left, awwaiid left 21:19 awwaiid joined 21:20 mcmillhj left 21:22 raschipi left 21:23 |oLa| left 21:26 Cabanossi left 21:29 Cabanossi joined 21:34 ufobat joined 21:36 setty1 joined 22:15 wamba left 22:27 setty1 left 22:32 araujo left 22:35 rurban joined 22:40 ufobat left 22:44 mcmillhj joined 22:45 [ptc] left 22:55 mcmillhj left 23:01 rindolf left 23:05 sufrostico joined 23:06 nadim left 23:08 BenGoldberg joined
BenGoldberg m: multi foo(Int) { 'boxed' }; multi foo(int) { 'native' }; say foo(1); 23:09
camelia boxed
BenGoldberg m: multi foo(Int) { 'boxed' }; multi foo(int) { 'native' }; my int $x = 1; say foo($x); 23:10
camelia native
BenGoldberg wonders why it must be a variable in order to be native.
23:12 espadrine left 23:25 rurban left 23:27 Cabanossi left 23:29 Cabanossi joined 23:53 j-david-lowe left 23:54 cyphase joined