»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by masak on 28 November 2015.
timotimo grondilu: did you measure performance with your latest pull request? 00:28
stmuk DrForr++ 00:34
liz++
lucs stmuk: Did you see some presentations today? 00:35
stmuk yes 00:36
stmuk Nigel Hamilton++ # whatever his nick is 00:36
dalek kudo/nom: 1f45b22 | grondilu++ | src/core/native_array.pm:
improve permutations

implement the XOR swap algorithm in a single statement. Not really necessary but still pretty cool. It should also provide a small performance improvement as we can then put the C<until> in the end, thus avoiding creating a lexical scope.
00:39
kudo/nom: 4cf0862 | grondilu++ | src/core/native_array.pm:
Update native_array.pm

use a shortcut for deciding IterationEnd
kudo/nom: e52617c | lizmat++ | src/core/native_array.pm:
Merge pull request #631 from grondilu/patch-8

improve permutations
lucs "regex" question: (trigger warning, may provoke earworm!) gist.github.com/lucs/bae8c4e4101d9476b661 00:44
jdv79 nine: not that i'm aware of. they aren't used that way together. 00:48
geekosaur lucs, try .perl.say? 00:49
say uses .gist which removes some things 00:50
lucs geekosaur: Ah, I see. Trying...
.perl.say, same result, as does using 'print'. 00:51
jdv79 nine: sorry i was out; bday and all. maybe tomorrow. 00:52
lizmat congrats jdv79 01:00
good night, #perl6! 01:01
lucs Good night lizmat
AlexDaniel grondilu: it looks like “}” is misplaced a bit :)
grondilu: line 746 01:03
ah 01:04
it does not look like you can quickly fix that. Whatever, who cares then
skids m: say Match.new(:list(2,3)).perl.say 01:06
camelia rakudo-moar e52617: OUTPUT«Match.new(ast => Any, list => (), hash => Map.new(()), orig => Any, to => 0, from => 0)␤True␤»
skids Match is pretty hnky under the hood. 01:07
lucs skids: Would you say there's nothing to worry about? 01:09
jdv79 lizmat: congrats on what - not dying? :) 01:10
cognominal what is the canonical way to do a $*OUT redirection for the time of a &run ? 01:18
leont It takes an :out parameter, I think
cognominal leont, it seems to ignore IO::PATH or IO::Handle instances 01:20
leont AFAIK it should accept the latter
cognominal indeed I made a mistake. 01:21
cognominal strangely it say the fh is still at "octet 0". Probably the source of my confusion 01:24
skids lucs: maybe worth an RT for later on, forging Match objects is probably not a priority. 01:25
lucs skids: Okay, thanks. 01:26
AlexDaniel nine: there is still something with DBIish: github.com/perl6/DBIish/issues/37#...-164211632 02:09
AlexDaniel nine: the error is different, but it points to the same line 02:09
dalek kudo/gsr: f95c144 | TimToady++ | src/Perl6/ (3 files):
Great Sink Refactor

The actions now actively mark wanted nodes so that useless use errrors will be suppressed on those nodes. This marking is recursive on the last statement of a statement list. The optimizer now pays more attention to such annotations when traversing children. Also, we now distinguish children that default to void (Stmts, Stmt, Block) from those that default to using the child values they calculate (Op, etc.).
02:16
AlexDaniel 2m34s first run, 15s second run. OK it seems like precompilation thing is actually working :) 02:20
13s third run, 12s fourth… What 02:21
dalek Heuristic branch merge: pushed 19 commits to rakudo/gsr by TimToady 02:23
AlexDaniel nine: that being said, it feels like the module itself is working 02:26
b2gills m: .say for (^100).rotor(1,9,10 xx *) # I would have thought this was tested 02:37
camelia rakudo-moar e52617: OUTPUT«(timeout)»
AlexDaniel b2gills: I'm sorry, but what would be the right behavior? 02:42
zengargoyle m: .say for (^100).rotor(1,9,lazy 10 xx 100); 02:43
camelia rakudo-moar e52617: OUTPUT«(0)␤(1 2 3 4 5 6 7 8 9)␤(10 11 12 13 14 15 16 17 18 19)␤(20 21 22 23 24 25 26 27 28 29)␤(30 31 32 33 34 35 36 37 38 39)␤(40 41 42 43 44 45 46 47 48 49)␤(50 51 52 53 54 55 56 57 58 59)␤(60 61 62 63 64 65 66 67 68 69)␤(70 71 72 73 74 75 76 77…»
zengargoyle i would expect that..
AlexDaniel b2gills: you've basically told it to rotor infinitely. You can say that it should return a lazy list, maybe
b2gills m: say (^100).rotor(1,9,10 xx 10000)[*-1] 02:43
camelia rakudo-moar e52617: OUTPUT«(90 91 92 93 94 95 96 97 98 99)␤»
b2gills 10 xx * should be a lazy list 02:44
AlexDaniel 10 xx * is
b2gills The problem is .rotor is too eager
AlexDaniel yeah, ok, I probably agree with that 02:45
zengargoyle m: .say for (^100).rotor(1,9,9,$(10 xx *)); 02:48
camelia rakudo-moar e52617: OUTPUT«(0)␤(1 2 3 4 5 6 7 8 9)␤(10 11 12 13 14 15 16 17 18)␤Cannot .elems a lazy list␤ in block <unit> at /tmp/IUgT6zNL8c:1␤␤Actually thrown at:␤␤»
dalek ast: 9977e56 | LLFourn++ | S04-blocks-and-statements/temp.t:
Tests for RT #126880

also removed unnecessary EVAL around temp @array tests
03:24
psch inspired by ab5tract++'s advent post i learned that we're able to reverse either part of a metaop assign 03:43
m: sub more-state($a?) { (state $x) = $a // ++$x }; say more-state 6; say more-state 7; say more-state 11; say more-state; 03:45
camelia rakudo-moar e52617: OUTPUT«6␤7␤11␤12␤»
psch i'm not sure the golf is worth it there specifically, but it is kind of neat
eh, wrong line copied :/
m: sub more-state($a?) { ($ [R[//]]= $a)++ }; say more-state 6; say more-state 7; say more-state 11; say more-state;
camelia rakudo-moar e52617: OUTPUT«6␤7␤11␤12␤»
psch it does seem somewhat brittle, though... 03:46
ah, no, i just did something wrong, nevermind
b2gills from earlier I guess .rotor(1,10 xx *) should be an error, but .rotor(1,|(10 xx *)) doesn't work either 03:50
psch b2gills: the clog doesn't seem to suggest it should error, more that it tries to reify too strongly? 03:54
i don't have a good intuition for what exactly can (or should) accept laziness though, so i'm likely wrong... 03:57
diakopter AlexDaniel: you discovered the magic auto-profile-guided-optimization feature 04:21
dalek ast: c205f71 | LLFourn++ | S32-list/map.t:
Test for RT #126883
04:40
dalek c: 48d263a | skids++ | doc/Language/control.pod:
Start control.pod out with statements for the truly new users.
04:50
dalek kudo/gsr: 2807a3c | TimToady++ | src/Perl6/Actions.nqp:
allow wanted to be called on bogus asts
05:14
ast: 688c43b | TimToady++ | S32-exceptions/misc.t:
allow WARNINGS to indicate a filename
05:15
AlexDaniel m: sub List { say ‘Hello world’ }; List 05:50
camelia ( no output )
AlexDaniel ouch
m: sub List { say ‘Hello world’ }; &List()
camelia rakudo-moar e52617: OUTPUT«Hello world␤»
dalek kudo/gsr: 398ac59 | TimToady++ | src/Perl6/Actions.nqp:
don't need the secondary markers anymore
06:50
dalek c: 621eb8a | skids++ | doc/Language/control.pod:
Smooth out and simplify the section on blocks a bit
07:08
dalek kudo/gsr: c64a401 | TimToady++ | src/Perl6/Actions.nqp:
traits are also wanted
08:07
kudo/gsr: 4b13795 | TimToady++ | src/Perl6/Optimizer.nqp:
allow useless use of &foo and other symbols too
Hotkeys is there any major difference between these two i.imgur.com/rDsKy3a.png 08:22
_nadim Good morning. 08:59
do "we" have standardish names for object factories? Some de-facto term.
Hazim Hello, Whin perl 6 will be released 09:40
llfourn Hazim: Christmas :) 09:41
Hazim llfourn: great news 09:42
llfourn though I think we're aiming for 17th -- so it might be before then...yes it is!
Hazim how perl6 will play QT 5 09:43
llfourn that I do not know others might :) 09:44
Hazim ok no problem, is there any good link to learn about the QT with perl6 : ) 09:45
hartenfels Hazim: I don't think there's any QT module yet. 09:47
llfourn probably not :P
stmuk modules.perl6.org suggests QT bindings are still to be done but there are GTK ones
llfourn you can check out: docs.perl6.org/language/nativecall
hartenfels I also heard that somebody's gonna do an advent post on NativeCall that talks a bit about calling into C++. 09:48
Hazim ok thanks...
should i learn the C language or i can use only perl6 with the NativeCall 09:49
dalek c: 917addb | sylvarant++ | doc/Language/concurrency.pod:
Some spelling fixes and clearer wording

Small changes to make the meaning of certain sentences clearer.
09:50
llfourn Hazim: you don't need to know C to use p6 but it's there if you need to communicate with C libs 09:51
nine Hotkeys: none that I can see.
hartenfels Hazim: To call into a C++ library like QT, you probably need to use some C++. 09:52
nine Hotkeys: though I've been asleep mere minutes ago and am only starting to have my coffee ;)
hartenfels Because C++ is a bit harder to call from outside than C.
nine hartenfels: there is at least one program using Qt in Perl 6: niner.name/talks/Leapfrogging%20the...ples/qt.pl 09:53
hartenfels Well, I guess using Inline::Perl or Inline::Python is a way too :P 09:54
That's probably the best way right now in fact.
nine At least if one doesn't know C++ 09:55
Hazim llfourn: Ok , about the hardware interface (mouse, sound card, printers....) or image manipulation, is there a function in perl 6 to do this tasks, because one from the community suggested to learn C and call this function from perl 6
hartenfels nine: Knowing C++ might make it even more desirable not to use it. 09:56
llfourn Hazim: NativeCall and IO stuff is not my area :)
nine While NativeCall works without even a compiler installed, experience suggests that one needs to know quite a bit of C to use it. Typical C APIs use custom data types and macros a lot and decifering them can be hard if one doesn't know C. 09:57
Hazim llfourn: thanks for help :) 09:58
RabidGravy Hazim, re "sound card" there is a work in progress for a PortAudio binding that shows some promise, not release yet
nine Hazim: printers on UNIX are a network service, so we should be covered quite well already
hartenfels There's also SDL bindings that can do sound I think, but it don't seem to have much documentation yet. 09:59
Hazim ok thanks to you all
perl6 still in progress i will start learn it for now , The GUI and Hardware interface is so important to the language from my humble opinion. 10:02
brrt languages don't deal with hardware, operating systems do 10:03
languages may provide bindings for libraries, but that's not the same thing
Hazim brrt: operating systems do that but i meant the function to use or read the data from the hardware 10:04
brrt that's libraries bindings, i think? well, that is what NativeCall is for
if there is a C or C++ interface to it, NativeCall can bind it and expose it to perl6 10:05
that does take some work, but not as much as in other cases
grondilu hopes that someday the bindings will auto-generate so we can just do 'use somelibrary:from<C>;'
hartenfels Sounds like a pretty neat idea actually, writing `is native('libsomething')` gets tiring after a while. 10:07
Hazim brrt: NativeCall will do the job done & thanks for the info it was helpfull
brrt you are welcome of course :-) 10:08
given DWARF debugging symbols, i'm fairly sure that's possible grondilu
grondilu hartenfels: it's not my idea though, I think it's a (very) long term goal TimToady already stated.
I don't know about DWARF, I thought :from<C> would involve parsing the headers somehow. 10:10
grondilu basically automating what humans currently do. 10:10
nine I seem to remember that someone has already started such a parser 10:11
brrt the other side of the coin is that as we make metahacking and binding easier and easier, it actually might discourage people from providing a library that does it
nine brrt: so what? 10:12
brrt so that a beginner that *doesnt* know what libfoobar even does, just wants something to foo his bars, will think 10:12
nine absolute #1 top priority for Perl: get the job done!
brrt 'but python/ruby provide a Foo library, and perl6 doesn't' 10:13
grondilu some libraries are so big you just don't want to write the bindings, even if it's only copying the names of the functions.
brrt what i kind mean, is that in java, everything is verbose and difficult and takes a billion hours to design, *hence people use standardized enterprise frameworks*
nine Making it trivial to bind native libraries frees the programmer to create a Perl6ish interface for it. 10:14
brrt and the existence of such frameworks, while insane from an outside perspective, then goes to justify the use of java
RabidGravy I've written a couple of little tools in the last year that munge the definitions in a include file into something like a useable Perl code
brrt making it harder to do something more justifies the existence of libraries
libraries go on to justify the use of a language
brrt do you see what i mean? 10:14
nine brrt: I hear you. I don't think I agree however. 10:15
brrt hmmm 10:16
i'm not100% sure i agree, either
just a nagging doubt
RabidGravy But that assumes that the C interface is similar to one you would like in Perl 6, simply binding a C library is not going to make a good Perl module
nebuchadnezzar Hotkeys: According to the documentation (doc.perl6.org/language/control#default_and_when) it can act like an if, the only thing I see is that if will to change topic ($_) in the bloc
nine RabidGravy: that's what I meant
brrt well, in contrast, what is or is not perl6ish will grow to depend on taste, hence what *you* think is a good perl6 interface will not match what a lot of others may think; 10:17
nine In general whenever people tried to make such decisions on a political basis, they lost. Like Stallman's reluctance to let GCC have a plugin interface. Thing is, people wanted to plug into their compiler. So they went to llvm instead.
I think it's actually the one instance where I really think that Stallman was just plain wrong.
brrt hence why would i use your library and have your idioms forced on me, when binding the library myself is so easy 10:18
hmm.... i'm not sure nine, i think he had a point
nine Reality proved him wrong.
brrt really?
it was not until some weeks ago that swift, which is 90% llvm magic, was 'open sourced' 10:19
nebuchadnezzar Hotkeys: I imaging that “when” will only smartmatch “$_” with its argument only if “$_” is not provided in the argument
nine His motive was a good one, but he strayed from helping people, so people went away and he lost a lot of leverage.
brrt one could provide an AwesomePlugin for gcc, keep it propietary, and benefit from 99% of the development of others, while keeping a tight lock on the users of AwesomeC
grondilu even a "dumb" binding that would stricly map the structures and functions would be useful. It could be used as an intermediary step towards a more high-level, perlish interface.
brrt hmmm 10:20
that is true, yes
nine brrt: he didn't want to risk proprietary plugins and instead lost part of the user base. That's certainly a net loss.
nebuchadnezzar when 3 { say "OK" } == when $_ ~~ 3 { say "OK" }, but when $_ %% 3 { say "OK" } will not result in when $_ ~~ $_ %% 3 { say "OK" } since programmer specify $_ in the when argument
Ulti there is a C parser in the ecosystem re: automagic native interface 10:21
brrt nine: not necessarily according to his philosophy
i'm fairly sure that if he hadn't done that, we'd have seen a propietary swift-on-gcc 10:22
well, maybe llvm would've 'won' on technical merits, but the risk was there
nine I'm quite sure we'd have seen an open sourced later swift on gcc, just like we've seen with the llvm version
brrt i'm not so sure 10:23
and in the meantime, that would have invalidated all what gnu stood for
stands for
let's put it another way 10:24
nine Why? Having a plugin interface doesn't mean that they would have to accept proprietary plugins. _If_ there were proprietary plugins, they could have still sought legal measures.
brrt i don't think gnu/stallman had any choice in the manner, given the behaviour of others and their commitment to user freedoms
ChoHag I tried creating a new adverb for a postcircumfix operator with: multi sub postcircumfix:<[ ]>(\SELF, \pos, :$new-adverb!) is rw { die "here" } 10:25
It doesn't die there.
brrt well, what would have stopped a propietary plugin-swift from a legal standpoint?
ChoHag Whether called as $foo[*]:new-adverb or postcircumfix:<[ ]>($foo, *, :new-adverb). 10:26
brrt not that it matters much; if you develop in swift then obviously open-source purity isn't your main concern
timotimo nebuchadnezzar: i'm not aware of any such magic that looks for a $_ in the argument passed to "when"
ChoHag [How] can I get my new adverb to be used? 10:27
dalek c: c99887d | (Daniel Dehennin)++ | doc/Language/control.pod:
Remove implementation notes obsoleted by 2015.09

Tested with Rakudo 2015.09 and IRC evalbot Rakudo 2015.11.505.ge.52617.c.
10:27
c: ab5de74 | (Daniel Dehennin)++ | doc/Language/control.pod:
Remove implementation notes obsoleted by 2015.11

Tested with IRC evalbot Rakudo 2015.11.505.ge.52617.c.
c: 68a913a | RabidGravy++ | doc/Language/control.pod:
Merge pull request #239 from baby-gnu/fix/obsolete-implementation-notes

Fix/obsolete implementation notes
timotimo ChoHag: you may need to put it earlier in the source, as adverbs do not take part in the sorting 10:31
ChoHag I just tried having my -e string begin with that in a BEGIN block (and *then* the use statements which were previously -M options) and it still didn't work. 10:33
Unexpected named parameter 'new-adverb' passed 10:34
All I know is that it got trapped in the bind call in m-BOOTSTRAP.nqp, then I got lost.
timotimo oh, um 10:35
wasn't postcircumfix:<[ ]> actually turned into a method? or was that reversed in the mean time?
ChoHag Rakudo's source is full of 'multi sub postcircumfix:<[ ]>' definitions. 10:36
timotimo ah, it's a sub.
Hazim good buy to all
nebuchadnezzar timotimo: So you mean, “when $_ %% 3” evaluate to “when $_ ~~ $_ %% 3” ? 10:37
ChoHag m: BEGIN { multi sub postcircumfix:<[ ]>(\SELF, \pos, :$new-adverb!) is rw { die "here" } }; my @a; say @a[0]:new-adverb
camelia rakudo-moar e52617: OUTPUT«Unexpected named parameter 'new-adverb' passed␤ in block <unit> at /tmp/LggYSsUYzA:1␤␤»
timotimo nebuchadnezzar: i'd expect so, yeah
nebuchadnezzar Hotkeys: that make a great difference between when and if ;-) 10:38
timotimo ChoHag: the thing is, there's candidates in the core that take a slurpy hash, so they'll eat all named arguments 10:39
and i think that knows about what exact adverbs are "fine"
ChoHag So basically, it's a bad idea *and* probably impossible. 10:40
timotimo sorry about that :(
we may want to have a bug about that
but postcircumfix:<[ ]> is kind of performance critical :|
ChoHag Aye. 10:41
nine This is certainly one of the oddest bugs I've seen so far: gist.github.com/niner/fbacfa535a8bd8f8104e 10:45
nine Certainly something is wrong with merging globals 10:47
nine Well with merging globals when loding the precompiled files. Because without precomp it just works 10:48
ChoHag It took me 3 days (on and off) to figure this out and now I've no idea why I wanted to... 10:50
dalek kudo/nom: 4bc8f33 | lizmat++ | src/core/ (2 files):
Remove $init-time-num leak from CORE

Related to #126889 , but that is really about another problem.
10:56
RabidGravy nine, seeing global merge failures in http::useragent on and off 10:56
lizmat timotimo: re unexpected named param, perhaps before throwing the error, we need to revisit if it really is an error 10:59
that would only make the new-adverb case slower, rather than all cases
lizmat sightseeing and decommute& 11:01
timotimo how do we reach the target lexical scope that may have the extra candidate available?
RabidGravy okay to save me from having to try every thing I can think of how would I test whether a particular sub is defined? 11:11
llfourn RabidGravy: in a particular scope? 11:12
RabidGravy yeah
jdv79 doesnt ::() work?
llfourn ^^
jdv79 i never tried
RabidGravy let's look 11:13
llfourn ::('&particular-sub')
Skarsnik ::('sym') does Callable?
And hello
jdv79 hola
llfourn ::('sym') ~~ Callable :) 11:14
RabidGravy that was the one option I hadn't considered, that works cheers
jdv79 woohoo
jnthn afternoon, #perl6 11:16
yoleaux 12 Dec 2015 22:36Z <nine> jnthn: if use lib ought to install a $?REPO and this is a lexical and we prohibit use lib in modules, those modules may not be able to load their dependencies, since they will only look in $*REPO
timotimo afternoon, jnthn! :) 11:18
jdv79 afternoon
jnthn nine: Urgh...yes, unless it's a lexical effect on a global thing... 11:19
Skarsnik Any idea on how I can have github.com/Skarsnik/nativecall-typ...ag.pm6#L19 to work? If I put like Mymodule::EXPORT::DEFAULT::.keys it works 11:20
dalek kudo/nom: 50879b2 | grondilu++ | src/core/native_array.pm:
cosmetic change in permutations

re-align a closing bracket
kudo/nom: a360f3b | jnthn++ | src/core/native_array.pm:
Merge pull request #632 from grondilu/patch-9

cosmetic change in permutations
llfourn Skarsnik: try .WHO.keys 11:21
jnthn Skarsnik: Won't "$module-name::EXPORT::DEFAULT" parse as a fully qualified variable name that you'd like to interpolate?
Try "{$module-name}::EXPORT::DEFAULT" or so 11:22
Skarsnik does not work still ~~ 11:24
llfourn m: module Foo { our sub test { } }; say ::('Foo').WHO.keys # not sure if this is anything close to what you want :P 11:28
camelia rakudo-moar 4bc8f3: OUTPUT«(&test)␤»
Skarsnik m: use NativeCall; my $a = "NativeCall"; say NativeCall::EXPORT::DEFAULT::.keys.elems; say ::("{$a}::EXPORT::DEFAULT").WHO.keys.elems 11:28
llfourn ohh right your looking at EXPORT::DEFAULT :\ nvm that won't work
camelia rakudo-moar 4bc8f3: OUTPUT«Could not find symbol '&DEFAULT'␤ in block <unit> at /tmp/OKtvXP1Eyw:1␤␤Actually thrown at:␤ in block <unit> at /tmp/OKtvXP1Eyw:1␤␤»
llfourn EXPORT::DEFAULT is UNIT scoped so that won't ever work..? 11:29
Skarsnik duh it work me x)
llfourn or at least that's what I though
it can work?
Skarsnik root@testperl6:~/piko/nativecall-typediag/examples# perl6 -e 'use NativeCall; my $a = "NativeCall"; say NativeCall::EXPORT::DEFAULT::.keys.elems; say ::("{$a}::EXPORT::DEFAULT").WHO.keys.elems'
15
llfourn hmm ok maybe I didn't think you could see those kind of things from outside 11:30
jnthn TimToady++ # great sink refactor 11:31
timotimo i don't even know what the GSR is there to achieve 11:32
Skarsnik the goal was to found the exported stuff x)
timotimo but TimToady++ anyway 11:33
llfourn Skarsnik: well you got to your goal I guess I learned something too :D
RabidGravy every time I have to look to work out the order of the args to Test::skip
jdv79 a multi with named would help? 11:34
RabidGravy it would 11:35
same for todo
Skarsnik hm, that does not work well if I don't use the module and require ::($module-name) does not work too 11:45
I mean I get the stuff exported but they are 'empty' as I can't test their REPR for example 11:46
nine jdv79: golfed down the URI2 bug some more: gist.github.com/niner/fbacfa535a8bd8f8104e 11:47
pjscott For a p6ish idiom for "all elements of @a have the same value", anything more elegant than all @a == @a[0] ? Suppose @a is longish expression 11:49
timotimo i'd go [==] @a
alternatively you can use 1 == @a.Set 11:50
jnthn @a.unique == 1 also
But timotimo's first one is probably the most idiomatic
pjscott sweet
timotimo i don't know if [==] short-circuits, though
m: say [==] (^1000000000) 11:51
camelia rakudo-moar a360f3: OUTPUT«False␤»
timotimo m: say [==] (^100000000000000000000)
camelia rakudo-moar a360f3: OUTPUT«False␤»
timotimo m: say [+] (^10)
camelia rakudo-moar a360f3: OUTPUT«45␤»
timotimo seems so
m: say [==] (1 xx 1000000)
camelia rakudo-moar a360f3: OUTPUT«True␤»
timotimo right, it does short-circuit, otherwise it couldn't have been as fast :)
vendethiel m: say (^100000000000000000000).reduce(* == *) 11:55
camelia rakudo-moar a360f3: OUTPUT«(timeout)» 11:55
vendethiel not quite the same, though
timotimo no, it won't be
* == * doesn't count as chaining, for one
jnthn m: say (^100000000000000000000).reduce(&infix:<==>) 11:58
camelia rakudo-moar a360f3: OUTPUT«False␤»
jnthn m: say (^100000000000000000000).reduce(&[==])
camelia rakudo-moar a360f3: OUTPUT«False␤»
timotimo i think * infixop * is a good way to get the same code, but none of the "properties" 12:00
jnthn aye
vendethiel m: (1, 1, 1).reduce(* == *) 12:06
camelia ( no output )
vendethiel m: say (1, 1, 1).reduce(* == *)
camelia rakudo-moar a360f3: OUTPUT«True␤»
vendethiel m: say (0, 0, 0).reduce(* == *)
camelia rakudo-moar a360f3: OUTPUT«False␤»
vendethiel :D
timotimo yeah.
dalek ast: 24bf700 | jnthn++ | S02-types/resolved-in-setting.t:
Test that we resolve code types in the setting.

So that users defining their own type that happens to be called Code, Block, Regex and so forth will not find themselves in a pickle. If there is real desire to override these, it is still possible, it just needs a custom setting, which seems a fair trade-off.
12:07
gauss Hi, what is the most common application of Perl nowadays? Is it suitable for end-user programming(small utilities, GUI) on Windows? 12:11
grondilu most common is system administration, I'd guess.
Skarsnik Not really for Gui
lack of binding + slow 12:12
jnthn Web is also common
tadzik Web is very common, yes
jnthn Plus some bioinformatics
grondilu instead of "web" I'd say CGI. Seems more honest. 12:13
nine grondilu: why CGI?
RabidGravy data pipeline, application integration, data transformation are some of the things I've worked on in the last ten years 12:14
grondilu I may be wrong but to me web programming in perl is not easy unless you do CGI.
RabidGravy I'd say you're wrong but hey 12:15
jnthn You're probably wrong, or I've misunderstood nearly every recent web framework talk I've seen at Perl confs recently :)
grondilu yeah I may be still living in the 90s and early 2000s 12:16
nine grondilu: I can't imagine web dev being more comfortable than in Perl actually :)
We do have really awesome frameworks
grondilu yeah but are they really better than frameworks in other languages? 12:17
llfourn grondilu: surprisingly, yes.
pdl Perl is a fast, reliable 'glue language' which makes it perfect web development projects
RabidGravy whilst I have written actual CGI programs in the recent past it's been because I have considered that just to create some data anything else would be too much overhead 12:18
stmuk they are pretty much the same as the other lang web frameworks
llfourn grondilu: Mojolicious is better than python tornado and ruby sinatra ( in my brief use of them )
stmuk almost as if ideas had been directly copied ;)
llfourn (and I'm biased)
stmuk mojo is the dogs bollocks 12:19
RabidGravy even in the early 2000s people were using straight up mod_perl stuff in lieu of anything else rather than CGI
llfourn stmuk: I disagree D:
tadzik hmm 12:20
stmuk llfourn: that means its good :D
tadzik that guy with a red valve on the back of his head, you know, when source games start?
llfourn stmuk: Oh! then I am in furious agreement :D
grondilu I don't like frameworks anyway. To me it's like I have to learn and use an other language.
tadzik what if that's bald gaben :o
jnthn (git rebase -i)++ # letting me screw up and still push commits that look great anyway :)
llfourn it's the bollocks of something awesome at least
dalek kudo/nom: 3c81e33 | jnthn++ | src/Perl6/ (3 files):
Resolve code-related objects in setting.
kudo/nom: 7ecba50 | jnthn++ | src/Perl6/ (2 files):
Fix X:: resolutions to be done in the setting.

We already caught most of these before now, but missed these ones.
kudo/nom: 1943fa8 | jnthn++ | t/spectest.data:
Run S02-types/resolved-in-setting.t.
llfourn grondilu: that's true. I think I know mojolicious better than perl itself :P 12:21
which is probably a good thing...
stmuk pbs.twimg.com/media/CWBWZKQWEAABC6N.jpg:large
RabidGravy (British vernacular idiom)++ # confusing non-native speakers and americans for ever
llfourn stmuk: heh.. I don't even 12:22
grondilu I wonder if web frameworks would gain in marketting themselves as whole programming languages
stmuk maybe next year LPW gets a Edward Snowdon style talking jnthnbot :) 12:22
llfourn RabidGravy: I'm australian lol
grondilu something like here's Mojolicious, a programming language that looks like perl but which is designed for web programming.
vendethiel m: $_ = 'a'; say 'hey' if !/b/; 12:23
camelia rakudo-moar a360f3: OUTPUT«hey␤»
pdl gauss: The thing about perl is that it's very flexible. Almost anything that another language can do, perl can either use or replicate. It's used for loads and loads of things, but what it's traditionally been most stronlgly associated with is system administration, websites, and a few domain-specific things like bioinformatics. Does that answer your question? 12:24
llfourn grondilu: you need it though. It's got a consistent event loop interface and things like Mojo::Redis and Mango which I use all the time. Oh and Mojo::UserAgent which is the greatest thing ever. Come to think of it I use Mojo outside of a web server context than in it.
gauss pdl: yep) 12:26
jnthn A consistent interface for async things is important. (Thus why Promise and Supply are part of the Perl 6 language. :))
llfourn jnthn:
I am in absolute agreement :)
I can't wait to write all that kind of stuff without loading modules
and writing Mojo::IOloop->start 12:27
RabidGravy yeah, which makes it a no-brainer for the kind of things I like to work on
llfourn which I just mistyped # see what I mean
jnthn Well, it's not just "without loading modules", it's also that when we do get a bunch of modules that expose or process async data sources, they can do it using Promise/Supply, and so can be composed easily with others.
llfourn point taken. That's so true. Mojo doesn't even have inbuilt promises... 12:29
I really secretly enjoy angular JS because of it's inbuilt promises and how all extensions use it and provide their async interfaces with it. 12:31
jnthn wonders if we can get back down to 20 xmas RTs today... :)
lunch &
RabidGravy easy 12:32
timotimo yeah. damn JS and its 50 different promise implementations
dalek kudo/nom: db6e4d4 | (Stefan Seifert)++ | src/Perl6/World.nqp:
No need to load Perl6::Module loader anymore for loading Perl6 modules
kudo/nom: 5308479 | (Stefan Seifert)++ | src/core/CompUnit/RepositoryRegistry.pm:
Don't merge symbols into Any's WHO

When loading precomp files, load_module is called without a GLOBALish, but with Any instead. In that case, we shouldn't merge globals at all.
llfourn hides inside angularJS 12:33
pdl Followingin on from gauss' question, I would be interested to know what people on this channel think #perl6 will be most strongly associated with, what the problems are for which in a few year's time people will think "that's a job for perl6" rather than "I can do that in whatever other language I already know"
RabidGravy well, it's look at the ecosystem and see what people are already doing with it for starters :) 12:34
anyway off to get xmas tree
llfourn pdl: for me it is being able to create DSLs but have all the good stuff built in
async, module loading, loops, lexical scope 12:35
pdl RabidGravy: Mostly porting perl5 stuff, at the moment, it looks like.
llfourn, sure. There are some really fantastic things in there. 12:36
llfourn so 'hey we need a language to let our users describe XXX problem to our framework' => Perl 6
pdl What I'm wondering though is what are the things that it'll be used for.
Hm
llfourn (this is what I'm doing in Perl 6) 12:37
pdl In the same way that you *can* use R to do web dev but probably you'll be using it for stats, academia, maybe some business reporting
llfourn yes R is great for describing (and solving optimaly) some type of problems -- but Perl 6 can quickly and easily be morphed into whatever language you need 12:38
llfourn because it's written in itself 12:39
Begi2 Where should I write the doc of a module ? In the README file I guess ? 13:01
lizmat not sure if we have any official guidelines for that just yet 13:07
old-style Perl modules either carried it in the source itself, or in a separate .pod file
README I guess is the easiest visible on Github
YMMV
Skarsnik I like mi6 idea. put the doc in the "main" module and generate the readme.md from the pod 13:12
lizmat m: dd (1 => 42).key # shouldn't that be a Str ??? 13:15
camelia rakudo-moar 530847: OUTPUT«Int $var = 1␤»
llfourn lizmat: I think it should be a Int because it's a pair (anything can be the key afaik?) 13:16
lizmat m: dd Pair.new(1,42).key
camelia rakudo-moar 530847: OUTPUT«Int $var = 1␤»
lizmat in this case I agree
llfourn m: say dd { 1 => 42 }.keys[0] 13:17
camelia rakudo-moar 530847: OUTPUT«Str $var = "1"␤Nil␤»
lizmat but the fat comma is supposed to stringify anything on the left 13:17
well, barewords that is
pdl 1 is an int and not a bareword
llfourn lizmat: heh well I've been using like it doesn't do that for a while so I'm not sure :P
m: class Foo { }; dd ( Foo.new => 42 ).key 13:19
camelia rakudo-moar 530847: OUTPUT«Foo $var = Foo.new␤»
llfourn so I guess you think Int.new(1) on LHS should be Int but 1 by itself should be Str? 13:20
lizmat m: dd (NaN => 42).key 13:21
camelia rakudo-moar 530847: OUTPUT«Str $var = "NaN"␤»
llfourn m: class Foo { }; dd ( Foo => 42 ).key
camelia rakudo-moar 530847: OUTPUT«Str $var = "Foo"␤»
lizmat it seems the spec indicate that autoquoting of the fatarrow only applies to identifiers 13:22
jnthn Only things that parse as identifiers to the LHS of => are considered identifiers
lizmat so, is NaN an identifier ?
jnthn Yes
It's literally "does it match <identifier>"
lizmat m: dd (Int => 42).key
camelia rakudo-moar 530847: OUTPUT«Str $var = "Int"␤»
lizmat ok
m: dd ((Int) => 42).key 13:23
camelia rakudo-moar 530847: OUTPUT«Int $var = Int␤»
jnthn Where <identifier> is declarative, so picking that parse over the infix => falls out of LTM
grondilu m: my %h{Pair}; %h{A => "B"} = pi; say %h{A => "B"}; 13:54
camelia rakudo-moar 530847: OUTPUT«(Any)␤»
grondilu m: say (A => "B").WHICH; 13:55
camelia rakudo-moar 530847: OUTPUT«Pair|63037200␤»
grondilu ^seems very wrong 13:57
dalek ast: 91eaba2 | jnthn++ | S09-multidim/subs.t:
Add tests for subs on multi-dim arrays.

To complement the methods tests, and make sure we don't have any divergences in behavior. (We do, as noted in RT #126799, in reverse; this is being patched. But this shows that in all the other cases we are already doing the righ thting.)
jnthn Is Pair listed as a value type in the design docs, ooc? 13:58
jnthn m: my $p = A => 2; $p.value = 42; say $p 13:58
camelia rakudo-moar 530847: OUTPUT«Cannot modify an immutable Int␤ in block <unit> at /tmp/JWHaGQNiOB:1␤␤»
jnthn Guess it maybe could be one
grondilu m: use MONKEY-TYPING; augment class Pair { method WHICH { .key.WHICH ~ '=>' .value.WHICH } }; say (a => "b").WHICH; 13:59
camelia rakudo-moar 530847: OUTPUT«Method 'key' not found for invocant of class 'Any'␤ in method WHICH at /tmp/il5sLhKv1P:1␤ in block <unit> at /tmp/il5sLhKv1P:1␤␤»
grondilu m: use MONKEY-TYPING; augment class Pair { method WHICH { self.key.WHICH ~ '=>' self.value.WHICH } }; say (a => "b").WHICH;
camelia rakudo-moar 530847: OUTPUT«5===SORRY!5=== Error while compiling /tmp/w6aGdwX06Z␤Two terms in a row␤at /tmp/w6aGdwX06Z:1␤------> 3r { method WHICH { self.key.WHICH ~ '=>'7⏏5 self.value.WHICH } }; say (a => "b").WH␤ expecting any of:␤ infix␤ infi…»
grondilu m: use MONKEY-TYPING; augment class Pair { method WHICH { self.key.WHICH ~ '=>' ~ self.value.WHICH } }; say (a => "b").WHICH;
camelia rakudo-moar 530847: OUTPUT«Str|a=>Str|b␤»
grondilu FYI I thought about using pairs as keys while solving adventofcode.com/day/13 14:01
because then I could do %preferences{@permutation Z=> @permutation.rotate(1)} 14:02
lizmat grondilu: that should work fine 14:03
m: dd 1 => 2 => 3 => 4
camelia rakudo-moar 530847: OUTPUT«Pair $var = 1 => 2 => 3 => 4␤»
grondilu it did not. See above.
lizmat ah ?
grondilu you can't use pairs as keys. 14:04
m: my %h{Pair}; %h{A => "B"} = pi; say %h{A => "B"};
camelia rakudo-moar 530847: OUTPUT«(Any)␤»
dalek kudo/nom: 5b6cbc7 | lizmat++ | src/core/Pair.pm:
Fix a number of edge cases in Pair.perl

Spotted by zefram++ , cases such as Nil => 42 vs (Nil) => 42. I also found two other edge cases: NaN and Inf as a left hand side
14:05
lizmat m: my %h{Pair}; %h{A => "B"} = pi; dd %h.keys[0] # grondilu, looks like it stores ok 14:06
llfourn m: use Test do { \(snake => 'viper').say; () } # use arg named munging leaks out of just top level arguments, bug?
camelia rakudo-moar 530847: OUTPUT«Pair $var = :A("B")␤»
rakudo-moar 530847: OUTPUT«\("viper")␤»
grondilu m: my %h{Pair}; %h{A => "B"} = pi; say %h.keys.pick.perl 14:07
camelia rakudo-moar 530847: OUTPUT«:A("B")␤»
jnthn lizmat: Yes, it will, but you won't end up with it looked up OK, because the second time you mention the Pair you constuct a new one.
lizmat yeah, and it isn't a value type
jnthn m: my $p = A => "B"; my %h{Pair}; %h{$p} = 42; say %h{$p}
camelia rakudo-moar 530847: OUTPUT«42␤»
lizmat yeah, not helping much 14:08
I guess if neither of key and value are containers, we could generate a .WHICH that *is* a value type?
brb
grondilu m: my %h; %h{A => "B"} = pi; say %h.keys.pick.perl
camelia rakudo-moar 530847: OUTPUT«"A\tB"␤»
grondilu m: my %h; %h{A => "B"} = pi; say %h{A => "B"}; 14:09
camelia rakudo-moar 530847: OUTPUT«3.14159265358979␤»
grondilu lol, I guess I could do that
lizmat yup, you're effectively making it a value type that way 14:11
jnthn m: my @a[2;2] = (0,1),(2,3); say squish @a
camelia rakudo-moar 5b6cbc: OUTPUT«Cannot access 2 dimension array with 1 indices␤ in block <unit> at /tmp/4mnZOYqqSY:1␤␤»
grondilu I lose the structure in the keys though. I was planning on using it. 14:12
lizmat perhaps you need to mixin a .WHICH
hmmm....
jnthn: gist.github.com/lizmat/2b8ff5d17f6ef970fc20 # diff for fixing Slip assignment to a scalar and .map it 14:13
doesn't seem to work
decommute continues&
grondilu 15:08 < lizmat> I guess if neither of key and value are containers, we could generate a .WHICH that *is* a value type? 14:16
^I would agree with that
m: use MONKEY-TYPING; augment class Pair { method WHICH { "{self.key.WHICH} => {self.value.WHICH}" } }; say (a => "b").WHICH; # or this 14:18
camelia rakudo-moar 5b6cbc: OUTPUT«Str|a => Str|b␤»
grondilu m: use MONKEY-TYPING; augment class Pair { method WHICH { "{self.key.WHICH} => {self.value.WHICH}" } }; say (a => "b").WHICH; my %h{Pair}; %h{foo => "bar"} = pi; say %h{foo => "bar"} 14:19
camelia rakudo-moar 5b6cbc: OUTPUT«Str|a => Str|b␤3.14159265358979␤»
grondilu m: use MONKEY-TYPING; augment class Pair { method WHICH { "{self.key.WHICH} => {self.value.WHICH}" } }; my %h{Pair}; %h{foo => "bar"} = pi; say %h{foo => "bar"} 14:20
camelia rakudo-moar 5b6cbc: OUTPUT«3.14159265358979␤»
grondilu m: use MONKEY-TYPING; augment class Pair { method WHICH { "{self.key.WHICH} => {self.value.WHICH}" } }; say (a => "b").WHICH; my %h{Pair}; %h{foo => "bar"} = pi; say %h.keys.pick.perl 14:20
camelia rakudo-moar 5b6cbc: OUTPUT«Str|a => Str|b␤:foo("bar")␤»
grondilu in any case returning the WHERE of the container seems wrong to me 14:21
m: say (my $ = A => "B").WHICH;
camelia rakudo-moar 5b6cbc: OUTPUT«Pair|70037216␤»
grondilu m: say (my $ = A => "B").WHERE; 14:22
camelia rakudo-moar 5b6cbc: OUTPUT«139907610496880␤»
grondilu ah sorry that's not the WHERE
grondilu confused stuff
jnthn We don't try to use WHERE for identity, because it changes over an object's lifetime :) 14:23
Zoffix docs.perl6.org aren't being generated BTW
Last update is "Generated on 2015-12-10T13:09:43Z" 14:24
m: ^2 .grep(*.^can: 'a'); 14:26
camelia ( no output )
Zoffix m: ^2 .grep(*.^can:'a');
camelia rakudo-moar 5b6cbc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/OdIfxA9Ib7␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/OdIfxA9Ib7:1␤------> 3^2 .grep(*.^can:7⏏5'a');␤ expecting any of:␤ colon pair␤»
Zoffix That error is LTA :(
lucasb doc site error is: 'Could not find experimental in any of' 14:28
jnthn m: use experimental :macros; 14:30
camelia ( no output )
jnthn Hmm
lucasb: Do you know what Perl 6 version it's using to do the build?
lucasb build log says 2015.09-210-gef814c3, but idk... :) 14:31
jnthn yowser, that's old :)
lucasb I mean, that is just the directory under ~/doc.perl6.org/.perl6
~doc.perl6.org/.perl6 # the username is doc.perl6.org 14:32
pdl Even on 2015.11-513-g5308479 perl6/doc doesn't appear to run `make html`. github.com/perl6/doc/issues/227 looks like the problem. 14:36
The error 'Type check failed in assignment to @!categories; expected Str but got Array' is a bit perplexing to me (still very new to perl6) 14:38
pdl @!categories (declared as 'has Str @.categories' in Perl6/Documentable.pm), so isn't it expecting an array of strings? 14:39
RabidGravy yes 14:40
jnthn Yes. If I had to guess, I'd suspect a constructor call is feeding it an itemized array.
pdl Not sure what one of those is, but here's the line that's triggering the error: @!documentables.append: my $d = Perl6::Documentable.new(|%args) 14:42
Which is probably not helpful unless the unary pipe (?) is doing something bad 14:44
RabidGravy it turns the associative into named args there
lucasb m: class C { has Str @.arr }; say C.new(arr => ['a','b']) 14:45
camelia rakudo-moar 5b6cbc: OUTPUT«C.new(arr => Array[Str].new("a", "b"))␤»
lucasb m: class C { has Str @.arr }; my %h = arr => ['a','b']; C.new(|%h)
camelia rakudo-moar 5b6cbc: OUTPUT«Type check failed in assignment to @!arr; expected Str but got Array␤ in block <unit> at /tmp/8PgTIwe7qa:1␤␤»
lucasb so... in the constructor ['a','b'] gets coerced into Array[Str], but not when it's unpacked with |%h, right? 14:47
RabidGravy m: class C { has Str @.arr }; my %h<arr> := ['a','b']; C.new(|%h)
camelia rakudo-moar 5b6cbc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MlhfT4cZGu␤Shaped variable declarations not yet implemented. Sorry. ␤at /tmp/MlhfT4cZGu:1␤------> 3class C { has Str @.arr }; my %h<arr>7⏏5 := ['a','b']; C.new(|%h)␤»
RabidGravy m: class C { has Str @.arr }; my %h; %h<arr> := ['a','b']; C.new(|%h)
camelia ( no output )
RabidGravy it's that one 14:48
lichtkind masak you brushing up knuth? 14:56
Zoffix Is it possible to make constants visible in the subclass?
m: class Foo { constant foo = 42; }; class Bar is Foo { method x { return foo } }; Foo.new.x
camelia rakudo-moar 5b6cbc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/D5BLLLRRlk␤Undeclared routine:␤ foo used at line 1␤␤»
jnthn constants are our-scoped by default 14:57
So you can see it as Foo::foo
Zoffix m: class Foo { constant foo = 42; }; class Bar is Foo { method x { return Foo::foo } }; say Bar.new.x
camelia rakudo-moar 5b6cbc: OUTPUT«42␤»
Zoffix How can I avoid typing Foo:: in the subclass?
pdl m: class C { has Str @.arr }; my %h; %h = :arr(["a","b"]); C.new(|%h) 14:58
camelia rakudo-moar 5b6cbc: OUTPUT«Type check failed in assignment to @!arr; expected Str but got Array␤ in block <unit> at /tmp/sSm2xtJxMd:1␤␤»
RabidGravy m: class Foo { our constant foo = 42; }; class Bar is Foo { method x { return Foo::foo } }; say Bar.new.x 14:59
camelia rakudo-moar 5b6cbc: OUTPUT«42␤»
jnthn Zoffix: Declare the constants outside of either?
RabidGravy or that
Zoffix jnthn, thanks. That worked
jnthn Unlike some languages, Perl 6 doesn't consider subclasses as privileged in any way with regard to what symbols they can see. 15:00
pdl I think this is what's going on, in github.com/perl6/doc/blob/master/h...fy.p6#L418 15:01
Zoffix That introduces the obvious problem that I can't just make a base class that declares a whole bunch of symbols the subclasses don't need to.
lichtkind is the official wording perl 6 1.0 or perl 6.0.0 ?
jnthn Zoffix: Yes, that's not what inheritnace is for.
Zoffix I see
jnthn That's what importing is for.
Zoffix m: class Foo { method foo { say callframe.annotations } }; Foo.new.foo 15:07
camelia rakudo-moar 5b6cbc: OUTPUT«file => /tmp/vnAXFVCRPV, line => 1␤»
Zoffix Is there a way to get "Foo", the package name, as the response? The docs suggest there's no simply way: doc.perl6.org/language/5to6-perlfunc#caller
Oh wait no
Disregard, that's not what I want
m: class Foo { method foo { say callframe.annotations } }; class Bar is Foo { method bar { $.foo } }; Bar.new.bar 15:08
camelia rakudo-moar 5b6cbc: OUTPUT«file => /tmp/UwaBQ7YR_i, line => 1␤»
Zoffix This. I want to say "Foo"
This. I want to say "Bar", I mean >_<
RabidGravy You can get the package of a method: 15:13
m: class Foo { method foo { say &?BLOCK.package.^name } }; Foo.new.foo
camelia rakudo-moar 5b6cbc: OUTPUT«Foo␤»
Zoffix m: class Foo { method foo { say &?BLOCK.package.^name } }; class Bar is Foo { method bar { $.foo } }; Bar.new.bar 15:14
camelia rakudo-moar 5b6cbc: OUTPUT«Foo␤»
Zoffix I want that to say Bar. Basically, I want a class to have a method subclasses can call and if $!debug is set, I want that method to output the name of the subclass.
RabidGravy m: class Foo { method foo { say $?PACKAGE.^name } }; Foo.new.foo 15:15
camelia rakudo-moar 5b6cbc: OUTPUT«Foo␤»
RabidGravy m: class Foo { method foo { say $?PACKAGE.^name } }; class Bar is Foo {}; Bar.new.foo
camelia rakudo-moar 5b6cbc: OUTPUT«Foo␤»
RabidGravy Hmm
Zoffix m: class Foo { method foo { say $?CLASS.^name } }; class Bar is Foo {}; Bar.new.foo 15:16
camelia rakudo-moar 5b6cbc: OUTPUT«Foo␤»
lichtkind im for the perl 6.0.0
RabidGravy entirely possible that there's something in the Backtrace or Callframe that has it 15:17
lichtkind even it sounds less s a new thing
Zoffix I'm for 6.0 v1
Or rather, Perl 6 v1
lichtkind it is official?
RabidGravy of course if the method was in a role then it $?CLASS should be right
Zoffix lichtkind, what's "official"? 15:18
lichtkind well best approval by the big mustache 15:19
TimToady it will most likely be called 6c 15:20
RabidGravy what the boss said
lichtkind what the c stand for? 15:21
TimToady christmas
you you can call it 6.Christmas too
TimToady that's a language version, not a rakudo version 15:21
lichtkind allright just want to let you know i dont joking this will be headline of the biggest german article about perl 6 on christma
s
TimToady so it won't change very fast
lichtkind yes
jnthn The key thing to keep in mind is that there are now language and implementation versions. 15:22
Skarsnik wish someone add a proper https support in ua
TimToady and the next one after that will likely be Diwali
jnthn So "officially" it's like "Rakudo 2015.12 (provides Perl 6.Christmas)"
TimToady note what -v says now
jnthn Ah, implementing :) 15:23
TimToady so that rt is partly fixed, but the info is still scattered about 15:24
lichtkind haha
jnthn TimToady: Yeah, I put it on the xmas list
TimToady saw
jnthn Currently tidying up some multi-dim corner cases
Figured we'll allow .reverse and .rotate on 1-dim 15:25
TimToady have a few more things to tidy up in the gsr, but it passes all the tests
jnthn We can decide semantics for those on multi-dim in the future if we want.
Nice \o/
RabidGravy but isn't Divali like next november now? (still stuffed from all the goodies the lovely neighbours brought round)
TimToady the releases are just names, they don't have to track the dates 15:25
RabidGravy :) 15:26
jnthn That said, next November for the next *language* version is probably about right.
lichtkind TimToady so subtitel : larry set free rakudo on moar for productive use (loose translation)
TimToady, that would be allright?
TimToady that's okay 15:27
shower & 15:28
grondilu we'll we have .transpose on 2-dim? 15:30
jnthn That can be module space for now. 15:31
grondilu more generally linear algebra will be module space, I suppose.
(or PDL or whatever)
lichtkind TimToady it serves as explanation what christams means and second headline always should you give a gist of facts while being varity from first heading 15:33
TimToady, thanks
grondilu the other day I was considering updating the French wikipedia article with inforabout the christmas release, but I was not sure what to say exacly, nor which reference to add on when and where exactly did the announcement occurred. 15:35
Zoffix Well, I solved my "can't get subclass's name from class's method" problem: gist.github.com/zoffixznet/5f563d30298552acf82e
lichtkind i already udated german wikipedia a bit
but will do rest on release day
Zoffix So hackish and filthy... :)
grondilu what exactly will happen on christmas?
lichtkind yes took me weeks and weeks to clean up an article
Skarsnik the earth explode
dalek kudo/nom: cb9ccb6 | jnthn++ | src/core/Rakudo/Internals.pm:
Fix .Slip on shaped data structures.

Slip has no shape, so we produce a Slip of the leaves.
15:36
kudo/nom: c2a726e | jnthn++ | src/core/Any-iterable-methods.pm:
Add candidate for sort to fix passing multi-dim.

Rather than letting it fall to the analysis done in the existing candidate, which is doomed to fail.
kudo/nom: c086506 | jnthn++ | src/core/List.pm:
Fix reverse to directly delegate on arrays.

So we get the correct exception for reverse(@multi-dim).
kudo/nom: ba273ef | jnthn++ | src/core/ (3 files):
Allow rotate/reverse of 1-dim fixed arrays.

Or at least, do so for non-native arrays. We didn't yet implement the two operations at all on native arrays yet.
lichtkind you need a ground plan a structure and write it subheading by subheading
kudo/nom: def7024 | jnthn++ | t/spectest.data:
Run S09-multidim/subs.t.
ast: 8b9ae0a | jnthn++ | S09-multidim/ (2 files):
More multi-dim method/sub tests.
lichtkind jnthn++
grondilu I mean I'm not willing to write "official" and actually put quotes around the word. What does that mean?
dalek ast: 30a3a5f | jnthn++ | S09-multidim/ (2 files):
Test rotate/reverse on 1-dimensional arrays.
lichtkind so to repush the topic anybody interested in perl 6 article for perl.com?
Zoffix Isn't it a site for a different language? :) 15:37
lichtkind its perl.com 15:38
not perl5.com
besides it has relevance to p5
Zoffix Just scrolling through the list of those faces, I see one or two with whom I had a heated "Perl 6 is killing us all" argument. 15:39
lichtkind head plenty of the too 15:40
and were still alive
[Tux] Cannot find method 'run_alt' :(
not even in a second attempt
Zoffix There's an RT for it: rt.perl.org/Ticket/Display.html?id=126832 15:41
Zoffix lichtkind, wasn't really my point. The question at hand is: does Perl 6 infiltrate all the current "Just Perl" sites with the excuse "well, it's not perl5, so we can do that" or ruffle a ton of feathers or would our effort be better spent not doing that and positioning P6 as a new language. 15:42
s/or/and/; 15:43
lichtkind perl.com is more about the practical side and the major news items which release of p6.c is
so i guessed there will be rather seldom p6 content 15:44
but given there was no update since 14 it helps to stay recent too
Zoffix sighs 15:45
Zoffix I don't feel perl.com is an appropriate place for any P6 content and placing it there will just piss off more people that are already pissed off... but, I don't want to go down the Name Issue Argument™ again :/ 15:46
lichtkind really im surprised o now very few people who would feel that way
is see it as : reporting of what we can be proud of 15:47
RabidGravy I'm personally just ignoring that whole thing and getting on with making software in the language 15:48
jnthn RabidGravy++
leont jnthn: #126839 might be candidate for the christmas list 15:49
Zoffix Considering I have at least half a million lines of P5 code, I can't really do that.
jnthn leont: It's just a bug, doesn't raise a substantive semantic issue.
leont: I think we all agree it should work.
leont Ah, ok
jnthn leont: And it's highly unlikely anyone will come to depend on the current bug.
leont already does :-/ 15:50
jnthn Oh?
leont TAP::Harness doesn't hangs in its tests, though I could temporarily fixing it by uncommenting the Terminal::ANSIColor support
commenting
jnthn That means you want if fixed, though, not that we'll break your working code by fixing it? 15:51
*want it
(I agree it's not a nice bug, there's just limited time before xmas...)
leont Fair enough, time is short
Zoffix made me class-finding thing a sub now with a bit of tweaking: gist.github.com/zoffixznet/3022e62544149d6a03fa 15:52
Will fail if the caller is not in IRC::Client::Plugin:: tho :/
leont I'm just expecting other people to hit it soon, EVAL isn't that obscure as a feature, and because it seems to work at first it's highly confusing
Zoffix oh well
vendethiel github.com/rakudo/rakudo/commit/c08650667c can someone explain to me the behavior difference? 15:54
RabidGravy Hmm, hitting that run_alt thing in some H::UA tests now
RabidGravy updates rakudo on the grounds it can't make things any weirder
vendethiel or the interaction +@ has with multidim
jnthn vendethiel: +@a is a kind of slurpy, meaning you don't get the passed thing itself, but something that is based on its iteration 15:55
vendethiel: That means we failed to delegate the original multi-dim thing
vendethiel "based on its iteration"?
jnthn m: my @a[2;2] = (1, 2), (3, 4); sub foo(*@s) { say @s.perl }; foo(@a) 15:56
camelia rakudo-moar def702: OUTPUT«[1, 2, 3, 4]␤»
jnthn Like that.
vendethiel m: my @a[2;2] = (1, 2), (3, 4); sub foo(+@s) { say @s.perl }; foo(@a)
camelia rakudo-moar def702: OUTPUT«[1, 2, 3, 4]␤»
jnthn Multi-dim arrays, unlike just making an array of arrays, will iterate over their leaves
vendethiel ... now that's an unexpected and surprising corner case...
m: my @a[2;2;2] = ((1, 2), (3, 4)), ((5, 6),); @a.map(*.perl.say); 15:57
camelia rakudo-moar def702: OUTPUT«1␤2␤3␤4␤5␤6␤Any␤Any␤»
dalek kudo/nom: e160c98 | jnthn++ | src/core/Seq.pm:
Missing `is raw` in Seq.AT-POS.
dalek ast: d2bc215 | jnthn++ | S04-statements/gather.t:
Tests for RT #126424.
15:58
jnthn OK, if TimToady++ merges the sink refactors today I imagine we'll be rid of rt.perl.org/Ticket/Display.html?id=125769 and so get down to 20 RTs. :) 16:00
vendethiel okay, so that's because multi-dim operations work on leaves as you explained 16:02
I still consider that to be surprising, though :p
RabidGravy still getting the "Cannot find method 'run_alt' at gen/moar/stage2/QRegex.nqp:1416"" with a freshly built rakudo 16:07
RabidGravy updates Zoffix' RT 16:11
Woodi just created wikipedia's polish Perl6 page: 1 sentence - 1 link... 16:12
Zoffix cues in the Polish sausages joke
lucasb doesn't understand polish 16:13
jnthn understands reverse polish, and wonders if that counts... 16:18
timotimo "reverse polish" is basically "dulling"? 16:20
Woodi timotimo: WAT ? 16:21
grondilu Woodi: en.wiktionary.org/wiki/polish#Verb 16:22
en.wiktionary.org/wiki/dull#Verb 16:23
timotimo it's not possible to make this joke in german, because polish (nationality) is "polnisch" and polish (making something shiny) is "polieren" 16:23
lichtkind colomon ping 16:25
leont Really, someone should make a joke about Turkey, polish and Finnish, but I'm not funny enough
grondilu I've boutght a turkey, cooked it in a well-polish plate, and when I ate it I was finnish. 16:27
s/boutght/killed/
lichtkind reminds me on the epic quiz show with that stupid blonde who went over wondering: hungry is a country? 16:28
grondilu was that justin Bieber? www.youtube.com/watch?v=76CqijPNGSk
flussence good morning/* #perl6, I'm working on a rakudo package for gentoo today. I've already got moar/nqp working (and passing tests), just need to figure out how to work around precomp... 16:29
st_iron good afternoon my friends
Woodi ok, some Germans here so I can ask: do for you saying (I hear it from some UK citizen) that Poles are f*g Russians is as much *abstract* as for us ? :) 16:30
lichtkind www.youtube.com/watch?v=NQc4V_wTT_I
Woodi, please rephrase 16:31
Woodi nah, nvm :)
lichtkind there are jokes about poles
and about russians
flussence «No writeable path found in block <unit> at tools/build/install-core-dist.pl:15» -- this is the one error I can't fix 16:32
lichtkind cheers lizmat 16:34
lizmat lichtkind o/ 16:35
jnthn bbl & 16:36
flussence sanity tests in rakudo seem to be failing too, probably for the same reason...
AlexDaniel m: my @a[3]; say @a.reverse 16:37
camelia rakudo-moar e160c9: OUTPUT«[(Any) (Any) (Any)]␤»
AlexDaniel m: my @a[3,2]; say @a.reverse
camelia rakudo-moar e160c9: OUTPUT«Cannot reverse a fixed-dimension array␤ in block <unit> at /tmp/s70Osi4tmx:1␤␤»
lizmat grondilu: re making Pair conditionally a value type: the which would need to be something like self.^name ~ "|| ~ self.perl 16:40
to make sure we don't collissions on things like Nil => 42 vs (Nil) vs 42
*=>
masak ahoy, #perl6 16:50
lizmat ahoy masak 16:51
tunnelling&
moritz didn't think lizmat++ was small enough for quantum operations like tunnelling 16:52
lizmat well, within a car within a train, I'm small enough (apparently) 16:53
masak lizmat: you're on a train too? :D 16:54
lizmat yup 16:55
masak I wonder what the dot product of our velocities is.
jdv79 nine: cool. digging into that at this point is beyond me i'm afraid. 17:01
wait. is it fixed? 17:03
chansen_ Does perl6 implement the Unicode collation algorithm?
moritz chansen_: I don't think so
chansen_ moritz: :o( 17:05
Top notch unicode string implementation, but we can't sort our strings 17:06
jnthn, TimToady ^^^ 17:07
moritz let's say there's still room for improvement :-)
chansen_ True!
moritz there are lots of Unicode features/algorithms (like decomposition into words and sentences) that we don't do (yet?)
mst chansen_: getting the representation right for 6.c is the crucial thing 17:08
jnthn In general, policy so far is that anything that is language/culture specific belongs in module space.
moritz jnthn: well, the collation algorithm is supposed to work well enough for "most" data without needing to determine language 17:09
chansen_ moritz: is correct, the default algorithm works for many cases 17:10
moritz www.unicode.org/reports/tr10/
also userguide.icu-project.org/collation 17:11
chansen_ Does MoarVM use ICU internally? 17:11
lizmat chansen_: no, it doesn't
chansen_ OK 17:12
lizmat is surprised to still have 4G well into the Channel tunnel 17:12
RabidGravy it surprised me last time I was on it 17:13
flussence
.oO( maybe they have a powerline-ethernet adapter plugged into the rails )
chansen_ mst: I can understand that, but collation is a fundamental part for non US/UK developers/users
mst chansen_: I'm aware. however that can be built on top of a correct representation, whereas with the representation wrong you'd be completely stuffed, and how fundamental collation is to people's usage doesn't change that reality 17:14
dalek c: b45a10e | (Daniel Perrett)++ | htmlify.p6:
Fix type check failing (gh #227)
17:15
c: 592e4a5 | (Zoffix Znet)++ | htmlify.p6:
Merge pull request #240 from pdl/pr-type-error

Fix type check failing (gh #227)
colomon lichtkind: pong? 17:15
lichtkind ah 17:16
you still work on Math::Vector?
chansen_ mst: True, but IMHO it should be build-in considering Perl6's excellent Unicode support, it would be a major selling point compared to other languages 17:17
curious__ Looking at "methods(:local)" in docs. What other than ':local' can go there? Can it be negated?
mst chansen_: well, yes, everybody wants their biggest wishlist item built in. 17:18
timotimo the default is probably "negated :local"
jnthn chansen_: That could easily still happen in a future Perl 6 version. Showing up *now* to ask for something major that you'd like to be done in 6.Christmas is simply way, way too late.
mst I don't think he's asking for it, as such
my point is "it's not crucial because it can be added"
jnthn *nod* 17:19
moritz curious__: doc.perl6.org/type/Metamodel::Metho...od_methods :all and :local can go there
mst if you want it sooner than the current contributors want to implement it, I'm sure they'd be happy to have your help
chansen_ jnthn: I'm not asking for it this christmas! Perhaps next? ;)
mst actually 17:19
moritz curious__: and you can negate them (:!local), which does the same as not applying them
jnthn chansen_: That's more realistic, yes :)
mst jnthn: if you do implement it, totally make chansen_ help
jnthn ;-)
mst he's just the right sort of insane pedantic genius
he used to maintain a lot of the catalyst HTTP abstractions that eventually got extracted and turned into chunks of Plack 17:20
jnthn Looking just at TR10, that sounds exactly what implementing it needs. :)
mst (sadly sri happened to him, as was often the case in those days)
jnthn *Just looking
mst see also Time::Moment, wherein chansen_ applies said brilliant pedantry to datetime implementation
anybody capable of staring down datetime math, in C, without having a nervous breakdown, is a rare and useful resource 17:21
chansen_: but since I'm feeling nice today I'll wait until after 6.c is out to shout well volunteered at you :P :D
curious__ Thanks! I was struggling for a term to search for 17:23
chansen_ hugs mst for his exaggerated praise 17:24
arnsholt Well volunteered is such a good term. I use it occasionally at work when people are being overly helpful 17:25
_sri of course mst came here to attack me
masak er, of course? 17:26
chansen_ But I think I can speed up the UTF-8 processing in MoarVM, I recently submitted <gist.github.com/chansen/36544a219c...09e7dc> to p5p which could also be used in MoarVM
mst masak: didn't you know? everything I've done for ten years is part of a subtle evil plot to damage sri
masak mst: I'm only now starting to realize
mst: man, that's devious
flussence chansen_: those percentages are ...scary
_sri mst has recently been banned from the mojolicious project for abusive behavior, since then he's been badmouthing me wherever he could 17:26
masak fancy that 17:27
_sri so, take what he says with a grain of salt
mst abusive behaviour, as in "sri accused me of unbanning myself from #mojo and then banned me for saying that no, I hadn't done that"
jnthn chansen_: Such a patch to MoarVM would certainly be welcomed, if you're interested.
mst which presumably was also part of my evil plan; I wish I understood how
chansen_ flussence: it's the basic of SIMD, single instruction, multiple data 17:28
masak mst, _sri: I'm going to jump ahead a bit and declare your mutual dislike off-topic for this channel.
chansen_ jnthn: i will look into it
jnthn chansen_: There's plenty of performance improvements to be had in the normalization stuff to in Moar, since I so far focused on "try to get it right" :)
_sri masak: appreciated 17:29
mst yes. sorry. mojo's code of conduct applying to everybody except sri is a sore point. my mistake.
masak mst: don't push it ;)
flussence chansen_: makes me wonder how much of the software I'm using is using slow utf8 code... sometimes it does feel much worse than it needs to be :(
chansen_ flussence: The worst part is that many implementations simply sucks because they have not read the spec and only implement it partially and is a subject for attacks, like the one I reported for MongoDB which allowed you to smuggle characters because they didn't implement it properly! 17:33
RabidGravy Has anyone looked at rt.perl.org/Ticket/Display.html?id=126832 ? Things are properly messed up somewhere 17:34
jnthn RabidGravy: It looks like a pre-comp screw-up
lizmat jnthn: BTW, should all ad-hoc dies and fails in the core be given an exception? 17:36
flussence is all too aware there's sucky utf-8 implementations... gtk2.d used to have a big fat segfault when it encountered anything >= 0x1ffff
jnthn lizmat: In the long run, yeah. In the short term, most important thing is that no spectests expect X::AdHoc 17:37
(They should just expect Exception, so we're free to refine it later)
lizmat ok, now I'm not following
ah
jnthn I already did a pass through the tests for X::AdHoc 17:38
lizmat but that is the equivalent of using "dies-ok", which we thought was a bad thing
chansen_ flussence: the worst part is MongoDB didn't submit a CVE! I said they have to do it, but they didn't ;)
jnthn Yeah but if there isn't a typed exception to test for then we can't do better :)
lizmat because then you can have false positives because they don't die for the right reason
lizmat whcih would be my argument for making one then? 17:39
aka, fix all the dies/fails?
jnthn Oh, absolutely make one if you're in the position to do so.
lizmat ok
jnthn I'm just a bit spectical we've time to actually nail them all this side of 6.Christmas
So am hedging the testsuite so we can in the future :)
lizmat ok
btw, I think I have a solution for zefram's (1,2,3)[0] := 4 hang 17:40
spectesting now
jnthn Nice
skids Well, you can still test for Exception and then test .message, I think was the point.
jnthn Aye, though I'm not too fond it exact messages making it into the spectests either. :) 17:42
*of
Looking for "does the message contain X important thing" is sensible, though.
skids I've tried to be minimalist and do things like "these three words" must be in the .message.
right.
lizmat if you can take the time to make a test for "foo" in .message, then you could also have made an Exception for it 17:43
skids Well, minus the PR process, for me.
lizmat ak, there's that :-) 17:44
skids hopes there's an advent slated for curli because he's totally behind on what all has happened. 17:46
jnthn needs to write his advent post for the year once he's had dinner :)
masak skids: now I'm hpoing for that, too 18:00
RabidGravy I'm not sure that bisecting H::UA to see exactly where it started tickling this run_alt thing is going to help 18:01
Skarsnik gobbla42 18:03
oups
tadzik oh, a password :) 18:04
Skarsnik For some reason, something did not take the focus xD 18:05
nine jdv79: no, not fixed yet. I just came across two minor nits with the source while digging into your bug 18:08
nine jnthn: do you have a quick idea into which direction I should investigate for this bug? gist.github.com/niner/fbacfa535a8bd8f8104e 18:09
nine skids: I fear I won't have time to write about curli with a couple of bugs still needing attention. However if someone were to write a post, I'd be happy to answer any questions. 18:10
nine skids: gist.github.com/jnthn/47a42b2e86e7e552b2e2 should be a great start in any case 18:10
jnthn nine: I'd suspect it's something going wrong in resolve_repossession_conflicts 18:15
Or something around that area.
Zoffix m: say [96..104][(9/11).fmt('%.9f').comb.grep(/\d/)».Int]».chr.join
camelia rakudo-moar e160c9: OUTPUT«`hahahahah␤»
jnthn It's meant to merge stashes 18:16
dalek kudo/nom: 782f4b6 | lizmat++ | src/core/Nil.pm:
Make (1,2,3)[2] = 4 and (1,2,3)[3] give same error
nine jnthn: thanks!
jnthn dinner; bbiab :) 18:16
Zoffix m: say (9/11).fmt('%.42f') 18:17
camelia rakudo-moar e160c9: OUTPUT«0.818181818181818000000000000000000000000000␤»
Zoffix well, that's disappointing
Zoffix Though not as much as typing "9/11" into WolframAlpha :/ www.wolframalpha.com/input/?i=9%2F11 18:18
TimToady m: say (9/11).base-repeating 18:19
camelia rakudo-moar e160c9: OUTPUT«(0. 81)␤»
grondilu oops that looks wrong
TimToady m: say (9/11).base(10,42) 18:19
camelia rakudo-moar e160c9: OUTPUT«0.818181818181818181818181818181818181818182␤»
Zoffix m: say [96..104][(9/11).base(10,42).comb.grep(/\d/)».Int]».chr.join 18:20
camelia rakudo-moar e160c9: OUTPUT«`hahahahahahahahahahahahahahahahahahahahahb␤»
Zoffix feels satisfied 18:20
grondilu what is wrong is the way it's printed. Should be 0.(81) 18:21
TimToady no, that's the old way
Zoffix m: say (9/11).base-repeating.Str
camelia rakudo-moar e160c9: OUTPUT«0. 81␤»
leedo multi method extract (@nodes where { .elems == 0 }) # is this the best way to have a multi method candidate for an empty array?
Zoffix m: say pi.base-repeating
camelia rakudo-moar e160c9: OUTPUT«Method 'base-repeating' not found for invocant of class 'Num'␤ in block <unit> at /tmp/2J507SBSrP:1␤␤»
TimToady it's a list, and you can format it however you like
grondilu oh yeah, I remember now. my bad.
Zoffix m: say (3/3).base-repeating 18:22
camelia rakudo-moar e160c9: OUTPUT«(1 )␤»
Zoffix interesting....
m: say (3/3).base-repeating.elems 18:23
camelia rakudo-moar e160c9: OUTPUT«2␤»
Zoffix m: say (3/3).base-repeating[1] 18:23
camelia rakudo-moar e160c9: OUTPUT«␤»
TimToady I suppose it could return ('1','0') 18:24
Zoffix was hoping it would return 0. (9)
:)
«0. 9» I mean
TimToady <whineyvoice> Why? </whineyvoice> 18:25
Zoffix ¯\_(ツ)_/¯ so people could say it's wrong, even though it's right? :)
mst how does base 1 even make sense? 18:26
mst was oping that if you tried that, a small gnome would exit the monitor and hit Zoffix with a mallet 18:27
Zoffix mst, hm? what base 1?
mst uhhh, is base-repeating on a number nothing to do with bases? 18:28
Zoffix m: say (1/3).base-repeating
mst if so, I retract my comment and replace it with "can somebody tell me what the heck that even is so I can stop making a fool of myself, please?"
camelia rakudo-moar e160c9: OUTPUT«(0. 3)␤»
Zoffix I've no idea as to the name of the method, but it seems it's returning the repeating portion of the infinite decimal portion of a number 18:29
m: say (2/3).base-repeating
camelia rakudo-moar e160c9: OUTPUT«(0. 6)␤»
Zoffix m: say (3/3).base-repeating
camelia rakudo-moar e160c9: OUTPUT«(1 )␤»
moritz it gives you the base of a fraction and the repeating part afterwards
m: say 100 / 7
camelia rakudo-moar e160c9: OUTPUT«14.285714␤»
moritz m: say (100 / 7).base-repeating 18:30
camelia rakudo-moar e160c9: OUTPUT«(14. 285714)␤»
moritz the 285714 is repeating, the 14. is the base
TimToady that's not what "base" means there 18:30
m: say (9/11).base(2,42) 18:31
camelia rakudo-moar e160c9: OUTPUT«0.110100010111010001011101000101110100010111␤»
TimToady m: say (9/11).base-repeating(2)
camelia rakudo-moar 782f4b: OUTPUT«(0. 1101000101)␤»
mst right. the "math API designed by non-mathematicians" problem. we can write up a glossary later, I guess. 18:31
Zoffix :D 18:32
mst or at least "math API designed in such a way as to confuse *this* mathematician"
maybe I've just forgotten more of my degree than I thought
always possible
grondilu I'm not sure it's the best to return a list. 18:36
RabidGravy concludes that there is no version of H::UA will work with the current rakudo and gives up trying to fix it from here
TimToady grondilu: what would you propose instead, that wouldn't for people to parse it? 18:37
*force
grondilu I think it's ok to have people parse it.
grondilu m: "0.1(21)".match('(' ~ ')' \d+); 18:38
camelia rakudo-moar 782f4b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3CMnZqNFhx␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/3CMnZqNFhx:1␤------> 3"0.1(21)".match('(' ~ ')'7⏏5 \d+);␤ expecting any of:␤ infix␤ in…»
grondilu m: "0.1(21)".match(/'(' ~ ')' \d+ ')'/); 18:39
camelia ( no output )
grondilu m: say "0.1(21)".match(/'(' ~ ')' \d+ ')'/);
camelia rakudo-moar 782f4b: OUTPUT«Nil␤»
grondilu m: "0.1(21)".match(/'(' ~ ')' \d+/); 18:39
camelia ( no output )
TimToady is rather more partial to overbars, so prefer to leave formatting to the person who actually cares that .0001% of the time 18:40
grondilu m: say "0.1(21)".match(/'(' ~ ')' \d+/);
camelia rakudo-moar 782f4b: OUTPUT«「(21)」␤»
flussence
.oO( /me coins a new term, “mobsourcing”: leaving a problem until it gets fixed later in response to demands from an angry mob )
grondilu but frankly neither solution (string or list) seems entirely satisfactory to me. 18:40
cognominal_ on my mac, perl6 bootstrap.pl creates a folder "(HANDLED) Failed to open file" :( 18:43
Zoffix m: say π ≅ [+] (1,3...*).rotor(2).map({4/$_[0]-4/$_[1]})[^25000]
camelia rakudo-moar 782f4b: OUTPUT«False␤»
Zoffix :'(
TimToady m: my @result = "0.1", "21"; @result[1] ~~ s:g[\d] ~= "\x305"; say @result.join
camelia rakudo-moar 782f4b: OUTPUT«0.12̅1̅␤»
cognominal_ and says Successfully installed panda 18:44
pjscott Another dumb question :)
> my @a = 1..3;
1 2 3
> @a.append(4)
Method 'append' not found for invocant of class 'Array'
Zoffix pjscott, your rakudo is very old?
m: my @a = 1..3; @a.append(4); say @a
camelia rakudo-moar 782f4b: OUTPUT«[1 2 3 4]␤»
TimToady why do both my terminal and my firefox offset the overline by a character? you'd think someone wouldn've fixed that by now... 18:45
pjscott I guess it is relative... hold on
Zoffix is offset for me too
m: say π ≅ [+] (1,3...*).rotor(2).map({4/$_[0]-4/$_[1]})[^5000] :4accuracy
camelia rakudo-moar 782f4b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/64M9TOHjmV␤You can't adverb &infix:<≅>␤at /tmp/64M9TOHjmV:1␤------> 3map({4/$_[0]-4/$_[1]})[^5000] :4accuracy7⏏5<EOL>␤»
Zoffix hm
TimToady maybe when Perl 6 is done I'll fix the rest of everything...
Zoffix Could've swore I could
pjscott This is perl6 version 2015.06-294-gbc01cae built on MoarVM version 2015.06-98-gf22142b 18:46
Zoffix wooh
RabidGravy yeah pre-dates .append
Zoffix pjscott, that's like... Stone Age :)
TimToady m: say &infix:<≅>.^methods
camelia rakudo-moar 782f4b: OUTPUT«(<anon> <anon> <anon> soft <anon> <anon> yada perl <anon> onlystar candidates unwrap wrap <anon> <anon> package leave <anon> <anon> cando <anon> <anon> <anon> <anon> multi <anon> <anon> add_phaser phasers assuming WHY set_why perl of <anon> returns fire_ph…»
flussence TimToady: looks okay in urxvt, I don't think less-common combining chars and proportional fonts are well tested together :(
TimToady m: say &infix:<≅> 18:47
camelia rakudo-moar 782f4b: OUTPUT«sub infix:<≅> (Mu $?, Mu $?, *%) { #`(Sub|76233616) ... }␤»
flussence (it's 0.5ch off to the right in my firefox)
Zoffix m: say π ≅ [+] (1,3...*).rotor(2).map({4/$_[0]-4/$_[1]})[^5000], :accuracy
camelia rakudo-moar 782f4b: OUTPUT«False␤»
TimToady m: say π ≅ [+] (1,3...*).rotor(2).map({4/$_[0]-4/$_[1]})[^5000] :tolerance(0.1)
camelia rakudo-moar 782f4b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/sRGWTBHnZQ␤You can't adverb &infix:<≅>␤at /tmp/sRGWTBHnZQ:1␤------> 034/$_[0]-4/$_[1]})[^5000] :tolerance(0.1)7⏏5<EOL>␤»
pjscott Evidently 'old' has a meaning in Rakudo-world that I am unused to :) Thanks
Zoffix m: say π ≅ [+] (1,3...*).rotor(2).map({4/$_[0]-4/$_[1]})[^5000], :tolerance(0.1) 18:48
TimToady I can't?
camelia rakudo-moar 782f4b: OUTPUT«False␤»
Zoffix hm
TimToady $*TOLERANCE = 0.1; m: say π ≅ [+] (1,3...*).rotor(2).map({4/$_[0]-4/$_[1]})[^5000]
m: $*TOLERANCE = 0.1; say π ≅ [+] (1,3...*).rotor(2).map({4/$_[0]-4/$_[1]})[^5000]
camelia rakudo-moar 782f4b: OUTPUT«Cannot modify an immutable Num␤ in block <unit> at /tmp/RsUfklb1AO:1␤␤»
TimToady o_O
Zoffix m: $*TOLERANCE = 0.1; say 3 ≅ 3.1 18:49
camelia rakudo-moar 782f4b: OUTPUT«Cannot modify an immutable Num␤ in block <unit> at /tmp/bA1iiX4nTK:1␤␤»
TimToady m: my $*TOLERANCE = 0.1; say π ≅ [+] (1,3...*).rotor(2).map({4/$_[0]-4/$_[1]})[^5000]
camelia rakudo-moar 782f4b: OUTPUT«True␤»
TimToady \o/
Zoffix \o/ TimToady++ 18:49
TimToady m: my $*TOLERANCE = 0.1; say 3 ≅ 3.1 18:50
camelia rakudo-moar 782f4b: OUTPUT«True␤»
TimToady m: my $*TOLERANCE = 0.1; say 3 ≅ 3.11
camelia rakudo-moar 782f4b: OUTPUT«True␤»
TimToady er...
m: my $*TOLERANCE = 0.1; say 3 ≅ 3.2
camelia rakudo-moar 782f4b: OUTPUT«True␤»
TimToady hmm
TimToady that seems busticated 18:50
Zoffix m: my $*TOLERANCE = 0.1; say 4 ≅ 3.2
camelia rakudo-moar 782f4b: OUTPUT«False␤»
Zoffix m: my $*TOLERANCE = 0.01; say 3 ≅ 3.2
camelia rakudo-moar 782f4b: OUTPUT«False␤»
Zoffix m: say (1,3...*).rotor(2).map(*[0] + *[1])[^10]
camelia rakudo-moar 782f4b: OUTPUT«(8 24 40 56 72 88 104 120 136 152)␤»
Zoffix how come that ^ is different from the {$_[0]+$_[1]} version? 18:51
m: say (1,3...*).rotor(2).map(*[0] + *[1])[^10]
camelia rakudo-moar 782f4b: OUTPUT«(8 24 40 56 72 88 104 120 136 152)␤»
Zoffix m: say (1,3...*).rotor(2).map(*[0])[^10]
camelia rakudo-moar 782f4b: OUTPUT«(1 5 9 13 17 21 25 29 33 37)␤»
Zoffix m: say (1,3...*).rotor(2).map(*[1])[^10]
camelia rakudo-moar 782f4b: OUTPUT«(3 7 11 15 19 23 27 31 35 39)␤»
TimToady well, gotta go play a different kind of keyboard for a while... &
Zoffix weird
leont Because you use the whatever star twice?
Zoffix leont, What does it become the second time?
leont The second argument to the anonymous sub 18:52
Zoffix ah
leont *[0] + *[1] equals {$^a[0] + $^b[1]}
Zoffix m: say (1,3...*).rotor(2).map(*[0] ~ ' ' ~ *[1])[^10]
camelia rakudo-moar 782f4b: OUTPUT«(1 7 9 15 17 23 25 31 33 39 41 47 49 55 57 63 65 71 73 79)␤»
Zoffix m: say (1,3...*).map(* - *)[^10] 18:53
camelia rakudo-moar 782f4b: OUTPUT«(-2 -2 -2 -2 -2 -2 -2 -2 -2 -2)␤»
b2gills m: Buf.new(:2<11000000>,:2<10000000>).decode('utf8-c8') 18:54
camelia rakudo-moar 782f4b: OUTPUT«(signal SEGV)»
mst pjscott: delete whatever you already have installed. get rakudobrew. use that. 18:59
AlexDaniel Can I tell panda to install something from specific github repo?
timotimo i wonder if perl6 should steal a bit of c++11's random generator stuff
AlexDaniel or should I just clone it and point panda to that specific folder?
timotimo or perhaps that's moduley
mst pjscott: for a fast moving project near release, six months fits the standard definition of old, tbh
Skarsnik AlexDaniel, git clone and panda install . should work
AlexDaniel great
RabidGravy AlexDaniel, yeah the latter for the time being
flussence timotimo: maybe we oughta have a $*RNG so anyone who doesn't like the default can do what they want. And from a few recent conversations, $*TIMESOURCE would probably be useful to some too... 19:03
timotimo the thing is, our dynamic variable lookup is a noticable overhead at the moment 19:04
flussence oh... :( 19:04
timotimo and having a lookup to $*RNG everywhere ...
hmm.
vendethiel "everywhere" isn't quite true, though :)
timotimo if we had a way to keep the $*RNG lookup-less when doing something like rand() xx 1000 ... 19:05
vendethiel dynamic escape analysis *g*
pjscott Thanks mst. I was already on rakudobrew btw 19:07
FROGGS o/
timotimo vendethiel: trace jit will do this admirably 19:10
because then a dynamic variable will just become a lexical variable
Zoffix pjscott, time to build anew. There've been some changes to packaging, so your best best is to nuke everything and start from scratch
mst pjscott: ah, ok, most people with horribly outdated installs aren't 19:20
mst pjscott: note that in my real life I support right back to perl5 5.8.1, so I am aware of stability as a concept, it's just a pre-release completely new language isn't the place to expect that :) 19:21
Zoffix 5.8.1 -_-
Zoffix wouldn't want to touch those boxes with a bargepole 19:22
mst good. more consulting revenue for me :D
Zoffix heh
rindolf Zoffix: hi, sup? 19:25
Zoffix rindolf, hi... waiting for pizza. Writing IRC::Client... you?
rindolf Zoffix: I've been working on Freecell Solver.
Zoffix: I enhanced and refactored some JS code.
Zoffix Isn't that what you've been working on for years? Or was it some other game?
rindolf Zoffix: it's not a game - it's a solver for several games. 19:26
Zoffix Ahhh
jdv79 nine: ok
rindolf Zoffix: and yes - I've been working on it on and off since 2000.
Zoffix whoa
El_Che rindolf: so when is your christmas? :) 19:27
rindolf El_Che: 25 December. 19:28
mst rindolf: www.trout.me.uk/you.jpg
El_Che rindolf: a new release of perl6 and Frecell Solver!
rindolf El_Che: anyway, Freecell Solver is already at version 4.0.0 and pretty usable.
El_Che googles
rindolf El_Che: I'm not planning a new release then. 19:29
El_Che rindolf: yes, I see 4.0.0 is very recent
rindolf El_Che: but it's not perfect. 19:30
Zoffix: is IRC::Client a Perl 6 thing? 19:31
RabidGravy if it was easy to make perfect software it would be boring 19:31
rindolf RabidGravy: yes. 19:33
RabidGravy boom 19:34
Skarsnik this split 19:34
jdv79 its been weeks. wth?! 19:36
this is not normal
curious__ for self.^attributes.grep({.has-accessor}) -> $at { say $at.name," how do I call the accessor here given the attribute name"; } 19:37
Begi What's going on here ? 19:37
Begi Strange... 19:37
gfldex curious__: did you try doc.perl6.org/type/Attribute#method_set_value ? 19:39
Zoffix rindolf, yes 19:41
rindolf Zoffix: ah, what is it based on?
Zoffix nothing
rindolf Zoffix: I see. 19:42
Zoffix: did you draw any inspiration for the API from somewhere?
Zoffix rindolf, I took from PoCo::IRC the idea of mapping IRC commands to method calls and using the return values to figure out whether to stop the plugin chain, but that's about it. 19:46
cygx o/ 19:46
re panda creating directories called "(HANDLED) Failed to open file"
Zoffix And there were a lot of annoyances with PoCo IRC that I hope to not have... \
curious__ gfldex: Ah. $at.get_value(self) . Thanks. Early days. Not even very good at navigating the docs.
cygx github.com/tadzik/panda/blob/maste...App.pm#L15 should stringify the path
Zoffix That's pretty annoying IMO
underscores: doc.perl6.org/type/Attribute#method_get_value kebob: doc.perl6.org/type/Attribute#method_has-accessor 19:47
Reminds me of the PHP Training Wheels Without The Bike riling on how PHP's naming is inconsistent
cygx also, IO::Path.split and related functions likely should not handle the .open failure
rindolf Zoffix: there are some other IRC APIs now on CPAN - for IO-Async, AnyEvent, etc.
cygx I can submit some pull requests, but I cannot test things right now... 19:48
rindolf Zoffix: <perlbot> rindolf: Don't parse IRC with regex! See Bot::BasicBot, POE::Component::IRC, Net::Async::IRC, Mojo::IRC, or AnyEvent::IRC. Avoid Net::IRC.
Zoffix half of those suck 19:49
jdv79 what's wrong with parsing IRC with a regex?
its a fairly simple format 19:50
stmuk regexes are for XML! ;)
jdv79 ah...
flussence Zoffix: PHP's horrible function naming is consistent, just not in the way most people think it should be :) 19:57
Zoffix flussence, yeah, but what about us? 19:58
I'd expect all core methods to be in kebob
cygx cognominal_: github.com/tadzik/panda/pull/264/files
also, github.com/rakudo/rakudo/pull/633 19:59
flussence Zoffix: their excuse boils down to hysterical raisins, which is what perl6 is trying to get far away from. AFAIK there was an explanation for _ vs - a long time ago, something about whether end users should be using that API or not, but I dunno if it's still valid today 20:01
cognominal_ cygx, also this line with a shell instead of a run, is very suspicious : github.com/tadzik/panda/blob/maste...rap.pl#L65 20:02
Skarsnik Zoffix, You probably want priority for event (or order) Like a plugin that log will probably want to catch everthing 20:04
pmurias Zoffix: re - vs _ vs other naming conventions in the setting, there isn't any secret rule, things are just inconsistent 20:05
pmurias Zoffix: maybe we should create a Rakudo branch with things renamed to be consistent? 20:07
jdv79 is _ vs - really worth the time?
Zoffix jdv79, yes
jdv79, because the difference means users will have to look up the method names
Skarsnik I had a tag for events in my old irc 'client', like start event and end event to be called at the start/end x)
jdv79 i look method names all the time
Zoffix pmurias, if by "we" you mean someone who knows what they're doing and not a Zoffix, then yes, definitely
jdv79, well, then you're not an efficient programmer./
Skarsnik, the priority is set by the order in the plugins array 20:08
Though now that you mention it... I probably need to handle my @!plugins-essential and @!plugins in a smarter way.
Skarsnik++
Zoffix jdv79, I meant, looking them up all the time or messing up - vs. _ all the time. 20:09
jdv79 well, i'm pretty new at p6 and there's a lot of core types so no, i don't think i'm an ineffficient programmer
Zoffix Consistency means predictability, and predictability means fewer errors. 20:09
pmurias it should be possible to have sufficently advanced autocompletion just DWIM things with - vs _ 20:10
Zoffix That's horrible
jdv79 maybe you should lead the movement then.
Zoffix jdv79, I am. I'm complaining about inconsistency and pointing out another language where exact same inconsistency is problematic. 20:11
That's all I can do with my skill level.
pmurias I could donate my time towards that as I believe naming inconsistency is a horrible stain on the language
jdv79 iirc most common things are already kebabed
Skarsnik all the META stuff is underscore
jdv79 Zoffix: php's naming issues are far worse. 20:12
pmurias what I would need the most help with is having someone create and *write* down the naming convention
pmurias jdv79: "this sucks but a tiny bit less than in PHP" is not what we are hopefully aiming for in Perl 6 ;) 20:12
Skarsnik *look at DBIIsh* It has everything! 20:13
flussence "easy things should be easy, bad things should be possible but require proportional use of the shift key" - there, done :) 20:13
jdv79 it sucks a whole lot less in fact
good luck getting something like that through. i imagine it was take a language point release to do that in. 20:14
Skarsnik flussence, _ and - don't need shift on a azerty keyboard :)
El_Che Skarsnik: it's needed on a Belgian Azerty (they are on the same key)
pmurias jdv79: after christmas changing doing the rename will be a much bigger deal than now 20:15
Skarsnik fill a RT x)
jdv79 well:) same thing could be said < a fortnight from The Release.
simply not gonna happen. too late. 20:16
flussence Skarsnik: IIRC one of ` or \ or | is harder to type on an en-US than en-GB too...
jdv79 maybe in 6.c -> 6.d if there's enough support for it
pmurias what's the exact release date? 20:22
pmurias christmas or a few days before? 20:25
jdv79 i thought it was exactly xmas
jnthn The general rule is that stuff that's part of the MOP sticks with _ and other built-ins get - 20:26
Attribute is part of the MOP
So it's has-accessor that's wrong in this case.
jdv79 soft target is 17th just to leave some slack i think
dalek ast: 0588402 | usev6++ | S03-metaops/reduce.t:
Fudge (skip) dying tests for JVM
20:26
pmurias jdv79: so it's too late to fix anything and we will have to live with horrible names forever? :( 20:27
jnthn grmbl, there's a has_accessor *and* a has-accessor
jdv79 is that so you can grep for MOP crazy code quickly? :)
jnthn pmurias: You seem to think CORE.setting is full of inconsistencies. It's not.
We standardized on - for pretty much everything non-MOP 20:28
pmurias maybe it's just ack painting a grim picture with all the MOP stuff being mixed in
jnthn Probably 20:29
jnthn I'll kill off has-accesor, since it's (a) dupe and (b) totally the odd-one-out in Attribute 20:29
jdv79 ack grim - i don't get it. 20:33
pmurias jdv79: ack is a perlish grep 20:35
AlexDaniel cognominal_: yeah… in fact, panda is using 「shell」 for everything, I think that if you have a space in any path then it will freak out pretty quickly 20:36
jdv79 i know the the ack by alester. just not sure what you meant there.
AlexDaniel cognominal_: I hope that one day I will have enough free time to run-ify everything :)
dalek ast: 6bafc92 | usev6++ | S11-modules/require.t:
Remove troublesome "use lib '.'"

  ... which lead to failing tests on rakudo.jvm
20:45
nine jdv79: I think, I have a fix :) 21:03
jnthn: indeed, resolve_reposession_conflicts has been utterly broken for a couple of months at least
jdv79: could I interest you in turning my gist into a proper spec test? Testing my fix right now and will commit after the next episode of Planet Earth :) 21:06
jnthn (Planet Earth)++ 21:07
masak .oO( my favorite planet so far! ) 21:11
RabidGravy I'm quite liking Gliese 581.c 21:13
dalek kudo/nom: 82f273b | lizmat++ | src/core/Slip.pm:
Fix for #126897

And some code layout and doc
ast: b67ba84 | usev6++ | S (4 files):
Unfudge passing tests for JVM

  (some of those annoying UnwindExceptions are gone)
21:14
masak RabidGravy: me and my family are planning our vacation for 2016. how would you rate Gliese 581.c compared to, say, Madrid? 21:16
RabidGravy well you'd get some airmiles in 21:17
grondilu what's planet earth?
masak RabidGravy: I've seen some negative reviews of Gliese 581.c, some of them going so far as saying it's not habitable. say what you want about Madrid, but... 21:18
RabidGravy habitable is over-rated, we went to Blackpool once and survived
lizmat masak: when going to Madrid, make sure it's in the summer... autumn/winter can be cold in Madrid 21:19
jnthn I went to Madrid in January and it was great weather for me! ;) 21:20
RabidGravy or just go Ibiza and go large for two weeks
masak lizmat: I've actually been there in December once. it was nice :) 21:21
nicer than Sweden, anyway.
fresh oranges, yum!
lizmat been there in November once, it was cold, wet and dreary
colder than at home at the time 21:22
RabidGravy I think the only time I've been there was June and it was hot
masak ugh, Gliese 581.c is tidally locked. that settles it.
dalek ast: 6d06a5d | lizmat++ | S03-metaops/reduce.t:
Slip.perl now correctly returns slip(), fix!
21:23
RabidGravy a cruise then?
masak :P
Begi Did someone already went to Nancy (France) ? 21:24
lizmat we had a FPW there once, if I remember correctly?
vendethiel I did come there, but not for a fpw :P 21:25
RabidGravy that's the only region of France I've not been to
lizmat I remember being amazed by the en.wikipedia.org/wiki/Nancy_Guided...ht_Transit 21:26
dalek ast: da7ff73 | usev6++ | S04-phasers/in-loop.t:
Add (passing) test for RT #122134
lichtkind will the version schema go on to d e f g or ill there be a perl 6.1?
lizmat more technical background: en.wikipedia.org/wiki/Bombardier_G...ht_Transit
FROGGS lichtkind: it will probably be letters 21:27
lizmat lichtkind: who knows, with yearly language releases, we should be fine for 20+ years
using letters
masak m: say 'z'.succ 21:28
camelia rakudo-moar 782f4b: OUTPUT«aa␤»
masak we'll be fine for a while :)
lucasb hi lizmat. do you know if LPW talks were recorded? 21:28
lichtkind thanks 21:29
lizmat I think the ones in the main hall were
I think the keynote was
lucasb lizmat: ah, ok. I'll wait for them to be put online. thanks 21:30
masak waits, too 21:31
stmuk did anyone attend zefram's talk? I didn't since I would have probably heckled or something 21:36
lizmat I attended his talk 21:37
stmuk he is opening bugs again so maybe not as negative as I feared?
lizmat well, in the end he was very positive about MoarVM and nqp
but: he said it would be a good idea to throw away the rest of rakudo and build something better on top of MoarVM and nqp 21:38
lizmat he showed his issues with IterationEnd not being out-of-band 21:38
he showed some other issues, that were mostly genuiine issues 21:39
but of the type DIHWIDT (well, in my opinion :-)
stmuk :) 21:40
lizmat after his talk, and after my keynote, we talked a bit
I urged him to ticket the issues that he found, because otherwise we don't know about them and they won't get fixed
I think I made it clear they may well not be fixed before Xmas
masak in order for IterationEnd to be out-of-band, it'd need to be... not a value at all, right?
like, it could be an exception, for example
(this is how Python does it) 21:41
RabidGravy C# too iirc 21:41
lizmat not sure how we would do this *now*, it would be at least a severe performance penalty, I think
masak right
jnthn Note that you already *can* do .push-exactly(1, $buffer)
masak "don't use exceptions for non-exceptional circumstances" -- and hitting the end of an iteration is pretty non-exceptional 21:42
jnthn But the problem seems rather academic.
masak I agree
lizmat in any case, an iterator that would leak IterationEnd is just plain faulty
masak note that there are many clearly successful examples of in-band stoppers
jnthn is, btw, working on his advent post 21:42
masak ASCII NUL comes to mind
stmuk 2600hz 21:43
masak there's no way to escape a NUL. you're just expected not to use it in the middle of a string.
lucasb masak: a line "." ends insert mode in the ed text editor... is this an example too? :) 21:44
lizmat m: CORE::.keys.sort.grep( { /d$/ } ).elems.say # zefram's example 21:45
camelia rakudo-moar 82f273: OUTPUT«24␤»
masak lucasb: yes, I believe so.
lizmat m: CORE::.keys.sort.grep( { /d$/ } ).map( { $_ } ).elems.say
camelia rakudo-moar 82f273: OUTPUT«24␤»
masak lucasb: how the heck do you add a line that's just '.' in ed? :)
jnthn lizmat: Yeah, I'm aware of that one; that just wants the sentinel being a term in the parser
lizmat: And resolved in Rakudo::Internals 21:46
lichtkind could it be that panda is broken?
i get
Could not find symbol '&RepositoryRegistry'
masak m: say +CORE::.keys.grep( { /d$/ } ) 21:47
camelia rakudo-moar 82f273: OUTPUT«24␤»
moritz lichtkind: how old is your rakudo?
RabidGravy lichtkind, newish panda with slighly older rakudo?
masak why does zefram .sort when he is only interested in .elems anyway?
lizmat maybe I remembered wrong 21:48
lichtkind i thought both were recent but i currently recompile to be sure
lizmat masak: in any case, the point was that IterationEnd lives in CORE:: , and thus will end an iteration unintendedly 21:49
oddly enough, I can't reproduce at the moment
RabidGravy yeah, it looks like the panda incorporates a recent change the rakudo hasn't got 21:50
lucasb m: say CORE::.keys.sort.grep({/^It/}).map({$_})
camelia rakudo-moar 82f273: OUTPUT«(Iterable IterationBuffer IterationEnd Iterator)␤»
lucasb ^^ IterationEnd was not the end?
lizmat yeah, I'm confused now 21:51
could be that zefram already made a ticket for that
RabidGravy I'm permanently confused
lucasb ahhh, maybe it's because it's stringified, not the real object 21:53
since its a hash key
*it's
lizmat m: say CORE::.keys[0].WHAT 21:55
camelia rakudo-moar 82f273: OUTPUT«(Str)␤»
lizmat hmmm... 21:56
m: dd CORE::.keys[0]
camelia rakudo-moar 82f273: OUTPUT«Str $var = "SIGSEGV"␤»
lizmat m: dd CORE::.keys[0,1]
camelia rakudo-moar 82f273: OUTPUT«List $var = $("SIGSEGV", "WhateverCode")␤»
lichtkind sorry lizmat but i have weird error i updated perl want to call panda reboot with sudo and then it cant find perl6 which before was fine without sudo 22:01
lizmat sorry lichtkind, but I have no idea 22:02
dalek kudo/nom: da9bf6b | lizmat++ | src/core/Failure.pm:
Throw the Failure if we try to assign to it

Now that Failure inherits from Nil, the recent Nil.STORE change brought some spectest breakage to light. This seems like a good fix for that.
22:03
RabidGravy please open the pod bay doors
dalek kudo/nom: 236cd2e | jnthn++ | src/core/Supply.pm:
Fix head.

Yes, last should work here too, but done does work here already.
22:06
kudo/nom: a342eb1 | jnthn++ | src/core/Supply.pm:
Implement Supply.share (on-demand => live).
lizmat jnthn: what does Supply.share do ? 22:11
feels like identity to me?
jnthn lizmat: It taps an on-demand supply once 22:12
And allows it to be shared among many subscribers that may come and go as they please
lizmat ah, I see, it turns an on-demand into a live supply
jnthn Right :) 22:13
For an example usage, see the Perl 6 advent post I'm currently working on :P
lizmat ah, as it said in the commit message :-)
ah, ADD ( Advent Driven Development )
jnthn (Though I've used the .Net equivalent, .Publish, loads of times in the real world)
lizmat I'll write up the doc 22:15
lizmat jnthn: if the supply is already live, shouldn't it just return self ? 22:15
jnthn lizmat: My gut reaction is no 22:16
lizmat: Don't have a good argument either way yet :) 22:17
lizmat feels like it would just be adding overhead
jnthn I guess I'm worried about ref-counting style live supplies 22:18
Which we don't have yet
lizmat well, once we have those, I guess we can introspect that, no? 22:19
and then not return self :-)
anyway, just a thought :-) 22:20
jdv79 nine: sure 22:21
dalek c: c1510f6 | lizmat++ | doc/Type/Supply.pod:
Add preliminary doc for Supply.share
22:26
lizmat is tired and goes to bed 22:28
good night, #perl6!
jnthn Rest well, lizmat++ o/
El_Che by liz 22:29
e
masak 'night, #perl6 22:33
RabidGravy nighty, nighty, nighty night night 22:34
RabidGravy decides that he'll start the silan thing first, *then* do that thing he promised it's author over a year ago 22:34
jdv79 is there a diff between -I and use lib? 22:40
i mean there is. should there be and if so what is it?
RabidGravy .tell azawawi would you be cool with a PR to File::Which to make it optionally export 'whence' instead of which? It's an ancieunte SysV user thing ;-) 22:44
yoleaux RabidGravy: I'll pass your message to azawawi.
timotimo "perl 6, unicode, and you" is still pretty much unbeaten in visitors/views counts 22:49
jdv79 nine: i don't know how to write the test since use lib seems to skirt the bug:(
RabidGravy it does, I think that's a partially deliberate feature, in as much as it turns precomp off if it appears after any other "use" 22:50
or did
jdv79 huh. i guess i'll just shell out then. 22:51
RabidGravy top pro-tip of the day, always add .precomp to the .gitignore befiore doing "git add lib" 23:10
makes for a much happier life
timotimo yeah, i've already gone around and added .precomp to a bunch of gitignores 23:11
pmurias jdv79: re ack painting a grip picture, search the rakudo setting for methods that contain _ returns lots of methods that a user rarely calls 23:12
jdv79: making is appear so that things are more inconsitent then they appear
jdv79 ok 23:13
RabidGravy yeah, I'm quite happy that's quite consistent with the '-' in the core types and '_' in the MOP and internals and having to remember that shouldn't be a problem 23:18
dalek ast: 0899174 | jdv79++ | / (4 files):
Test for RT #126904.
23:29
jdv79 nine: created a ticket and assigned to you and pushed a test. maybe you can rename the test file as i'm not sure what the issue is called. thankss! 23:30
also g'nite
gfldex m: my $s = 'in Latin | doc:Lingua::Romana::Perligata'; dd $s ~~ /(<![|]>+)? \s* '|' \s* (.+)/; 23:40
camelia rakudo-moar a342eb: OUTPUT«Memory allocation failed; could not allocate 969179136 bytes␤»
RabidGravy that's a bit excessive 23:41
gfldex m: my $s = 'in Latin | doc:Lingua::Romana::Perligata'; dd ($s ~~ /(<-[|]>+)? \s* '|' \s* (.+)/)[0,1]>>.Str;
camelia rakudo-moar a342eb: OUTPUT«List $var = $("in Latin ", "doc:Lingua::Romana::Perligata")␤»
gfldex ! <-- dangerous char
cognominal_ AlexDaniel, my current problem with panda is that compilation errors give a sha1 for a filename. Pretty unhelpful. 23:46
AlexDaniel cognominal_: yes, sucks
cognominal_: I just open these files and try to guess what could that be
at the same time, I'm happy that precompilation is there 23:47
jnthn That's not really panda's fault, fwiw 23:48
AlexDaniel jnthn: good point 23:52
I wonder, is it reported?
jnthn And yeah, getting pre-comp and installation right is really tricky stuff. nine++ 23:53
AlexDaniel it's a known issue, but…
jnthn AlexDaniel: Not sure it is
flussence er... what's %*CUSTOM_LIB been replaced with today? I didn't get the memo... 23:54
AlexDaniel I hope that it will be improved before Christmas. Such stack traces just counterweight all of the effort that was put into awesome error messages… 23:55
cognominal_ s/with panda/when using panda/ :) 23:59