»ö« 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
|