»ö« 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.
00:01 leont left 00:09 lucasb left 00:10 firstdayonthejob left 00:14 secwang joined 00:15 pierre-vigier left
timotimo grondilu: did you measure performance with your latest pull request? 00:28
00:30 regreg left 00:31 rurban1 left 00:32 cdg joined
stmuk DrForr++ 00:34
liz++
lucs stmuk: Did you see some presentations today? 00:35
stmuk yes 00:36
00:36 lizmat joined
stmuk Nigel Hamilton++ # whatever his nick is 00:36
00:36 cdg left 00:37 leont joined 00:38 Ben_Goldberg joined, Ben_Goldberg is now known as BenGoldberg
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
00:41 lmmx left, lmmx joined
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
01:08 secwang left
lucs skids: Would you say there's nothing to worry about? 01:09
jdv79 lizmat: congrats on what - not dying? :) 01:10
01:12 secwang joined 01:14 snarkyboojum_ left
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
01:21 vendethiel left
cognominal indeed I made a mistake. 01:21
01:23 raiph left
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
01:25 telex left
lucs skids: Okay, thanks. 01:26
01:26 telex joined 01:27 llfourn joined 01:30 secwang left 01:51 labster joined 01:56 xpen joined 01:57 leont left 02:01 xpen left
AlexDaniel nine: there is still something with DBIish: github.com/perl6/DBIish/issues/37#...-164211632 02:09
02:09 moei left
AlexDaniel nine: the error is different, but it points to the same line 02:09
02:12 flussenc1 is now known as flussence
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
02:26 zengargo1le is now known as zengargoyle
AlexDaniel nine: that being said, it feels like the module itself is working 02:26
02:29 anon joined, anon is now known as Guest6941 02:33 Guest51288 left
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
02:43 secwang joined
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:␤␤»
02:54 jack_rabbit left 03:01 kid51 left 03:06 advwp left 03:09 advwp joined 03:15 advwp left 03:18 lmmx left 03:21 labster left
dalek ast: 9977e56 | LLFourn++ | S04-blocks-and-statements/temp.t:
Tests for RT #126880

also removed unnecessary EVAL around temp @array tests
03:24
03:26 advwp joined 03:27 secwang left 03:28 secwang joined 03:33 noganex joined 03:40 psch joined 03:42 BenGoldberg left
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
04:00 Zoffix joined 04:04 bjz left 04:08 bjz joined 04:10 grondilu joined 04:20 Actualeyes joined
diakopter AlexDaniel: you discovered the magic auto-profile-guided-optimization feature 04:21
04:21 secwang left 04:24 uruwi joined 04:26 yqt left 04:28 jack_rabbit joined 04:31 nowan_ joined 04:33 jack_rabbit left
dalek ast: c205f71 | LLFourn++ | S32-list/map.t:
Test for RT #126883
04:40
04:42 Actualeyes left 04:45 psy_ joined
dalek c: 48d263a | skids++ | doc/Language/control.pod:
Start control.pod out with statements for the truly new users.
04:50
04:53 vividsnow left 04:54 vividsnow joined 05:05 loren joined 05:12 vividsnow left, vividsnow joined
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
05:16 cognominal left 05:21 bjz left 05:24 bjz joined 05:40 Peter_R joined 05:41 snarkyboojum left 05:47 kaare_ joined
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␤»
05:51 khw left 06:10 adu joined 06:21 pdcawley joined 06:24 pdcawley left 06:29 pierre-vigier joined 06:42 luis joined 06:46 M-Illandan left 06:47 rosso_ joined
dalek kudo/gsr: 398ac59 | TimToady++ | src/Perl6/Actions.nqp:
don't need the secondary markers anymore
06:50
06:51 rosso_ left 06:54 AlexDaniel left 07:00 pierre-vigier left 07:02 M-Illandan joined 07:06 molaf joined 07:07 loren left
dalek c: 621eb8a | skids++ | doc/Language/control.pod:
Smooth out and simplify the section on blocks a bit
07:08
07:11 M-eternaleye joined 07:31 hassoub joined 07:32 hassoub left, hassoub joined, skids left 07:37 pierre-vigier joined 07:44 domidumont joined 07:48 darutoko joined 07:49 adhoc left 07:50 adhoc joined 07:51 koo8 left 07:52 domidumont left 07:56 rurban joined 07:57 adhoc left, pierre-vigier left 07:59 adhoc joined, pierre-vigier joined 08:00 pdcawley joined, pierre-vigier left, pierre-vigier joined 08:05 pdcawley left
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
08:12 CIAvash joined 08:22 CIAvash left
Hotkeys is there any major difference between these two i.imgur.com/rDsKy3a.png 08:22
08:24 rurban_ joined 08:30 labster joined 08:35 xfix joined 08:42 darutoko- joined 08:44 darutoko left 08:52 rindolf joined 08:53 hartenfels joined, labster left 08:54 spider-mario joined 08:55 firstdayonthejob joined 08:56 labster joined 08:57 sno joined
_nadim Good morning. 08:59
do "we" have standardish names for object factories? Some de-facto term.
09:01 brrt joined 09:06 adhoc left 09:08 adhoc joined 09:13 rindolf left 09:15 adu left 09:31 hassoub left 09:32 pierre-vigier left 09:33 domidumont joined 09:34 domidumont left, domidumont joined 09:36 Hazim joined 09:37 rindolf joined, labster left 09:38 RabidGravy joined 09:39 labster joined
Hazim Hello, Whin perl 6 will be released 09:40
09:40 pierre-vigier joined
llfourn Hazim: Christmas :) 09:41
09:42 pierre-vigier left
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
09:56 adu joined
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
10:03 diana_olhovik joined
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
10:10 labster left
grondilu basically automating what humans currently do. 10:10
10:10 labster joined
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
10:12 labster left
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!
10:13 pierre-vigier joined
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
10:14 TEttinger left
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
10:25 corbyhaas left
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?
10:26 SmokeMachine___ left, chansen_ left
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"
10:26 BuildTheRobots left
ChoHag [How] can I get my new adverb to be used? 10:27
10:27 mrsolo left
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
10:28 14WAAEER5 left 10:29 chansen_ joined 10:30 corbyhaas joined
timotimo ChoHag: you may need to put it earlier in the source, as adverbs do not take part in the sorting 10:31
10:31 BuildTheRobots joined
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.
10:34 chansen_ left
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
10:36 Hazim left
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
10:42 BuildTheRobots left, chansen_ joined 10:43 isacloud joined 10:44 olinkl joined 10:45 mrsolo joined
nine This is certainly one of the oddest bugs I've seen so far: gist.github.com/niner/fbacfa535a8bd8f8104e 10:45
10:47 kipd joined
nine Certainly something is wrong with merging globals 10:47
10:47 pnu joined, zemmihates joined
nine Well with merging globals when loding the precompiled files. Because without precomp it just works 10:48
10:48 Spot__ joined 10:50 SmokeMachine___ joined, parisba joined, parisba is now known as Guest68455
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
10:52 BuildTheRobots joined 10:53 ggherdov joined, clkao joined 10:54 jx2nas joined
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
10:56 jdong joined
RabidGravy nine, seeing global merge failures in http::useragent on and off 10:56
10:57 xpen joined 10:58 pierre-vigier left 10:59 jx2nas left
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
11:00 brrt left
lizmat sightseeing and decommute& 11:01
timotimo how do we reach the target lexical scope that may have the extra candidate available?
11:01 lizmat left 11:04 nowan joined, pRiVi left 11:06 nowan_ left 11:08 Skarsnik joined
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
11:14 pierre-vigier joined
llfourn ::('sym') ~~ Callable :) 11:14
RabidGravy that was the one option I hadn't considered, that works cheers
jdv79 woohoo
11:14 adu left 11:16 vendethiel joined
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
11:17 pRiVi joined
timotimo afternoon, jnthn! :) 11:18
jdv79 afternoon
jnthn nine: Urgh...yes, unless it's a lexical effect on a global thing... 11:19
11:20 diana_olhovik left
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
11:25 pierre-vigier left, pdl joined 11:26 Begi joined
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)␤»
11:28 Begi2 joined
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
11:31 Begi left
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
11:34 leont joined
jdv79 a multi with named would help? 11:34
RabidGravy it would 11:35
same for todo
11:36 s_kilk joined 11:38 xpen left 11:39 xpen joined
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
11:48 pjscott joined
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
11:55 xpen left
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
11:56 Actualeyes joined 11:57 s_kilk left, s_kilk joined
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
12:04 gauss joined 12:05 ChoHag left
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)
12:19 pjscott left
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
12:22 pierre-vigier joined
llfourn stmuk: heh.. I don't even 12:22
grondilu I wonder if web frameworks would gain in marketting themselves as whole programming languages
12:22 pierre-vigier left
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
12:39 RabidGravy left, lmmx joined
llfourn because it's written in itself 12:39
12:42 xpen joined 12:46 kid51 joined 12:47 csson joined 12:49 Guest6941 left 12:54 lizmat joined 13:00 jdong left 13:01 s_kilk left
Begi2 Where should I write the doc of a module ? In the README file I guess ? 13:01
13:01 Begi2 is now known as Begi
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
13:13 weihan joined
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␤»
13:17 n0xff joined
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
13:24 weihan left 13:34 lmmx left 13:44 firstdayonthejob left 13:45 lucasb joined 13:47 zakharyas joined, Zoffix left 13:48 lmmx joined, firstdayonthejob joined
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␤»
13:56 xpen left
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
13:58 lmmx left
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␤»
14:00 zakharyas left
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&
14:13 lizmat left 14:14 Zoffix joined, Zoffix left
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␤»
14:20 lambert16 joined
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")␤»
14:21 xpen joined
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
14:23 Zoffix joined
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 :(
14:26 Upasaka joined 14:27 lambert16 left
lucasb doc site error is: 'Could not find experimental in any of' 14:28
14:28 tipdbmp joined
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
14:35 lmmx joined
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
14:38 BenGoldberg joined 14:39 RabidGravy joined
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
14:50 lichtkind joined 14:51 xpen left
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␤␤»
14:58 raiph joined
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
15:21 frizzi joined
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)
15:25 frizzi left
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
15:30 cognominal joined
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
15:39 psy_ left
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
15:41 psy_ joined
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
15:45 zakharyas joined
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
15:53 patrickz joined
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"?
15:56 MadcapJake left
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.
15:57 BenGoldberg left
dalek ast: d2bc215 | jnthn++ | S04-statements/gather.t:
Tests for RT #126424.
15:58
15:58 AlexDaniel joined
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
16:01 llfourn left 16:02 BenGoldberg joined
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
16:05 Ven joined 16:06 hartenfels left, hartenfels joined
RabidGravy still getting the "Cannot find method 'run_alt' at gen/moar/stage2/QRegex.nqp:1416"" with a freshly built rakudo 16:07
16:09 gauss left
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
16:14 adhoc left 16:15 patrickz left 16:16 patrickz joined, adhoc joined
jnthn understands reverse polish, and wonders if that counts... 16:18
timotimo "reverse polish" is basically "dulling"? 16:20
Woodi timotimo: WAT ? 16:21
16:21 rurban_ left
grondilu Woodi: en.wiktionary.org/wiki/polish#Verb 16:22
en.wiktionary.org/wiki/dull#Verb 16:23
16:23 khw joined
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
16:26 pjscott joined
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
16:29 st_iron joined
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
16:32 lizmat joined
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
16:33 BenGoldberg left 16:34 Ben_Goldberg joined, pjscott left
lichtkind cheers lizmat 16:34
lizmat lichtkind o/ 16:35
16:35 patrickz left
jnthn bbl & 16:36
flussence sanity tests in rakudo seem to be failing too, probably for the same reason...
16:36 xfix left
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␤␤»
16:37 diana_olhovik_ joined, zakharyas left
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
*=>
16:42 davercc joined 16:43 espadrine joined
masak ahoy, #perl6 16:50
lizmat ahoy masak 16:51
tunnelling&
16:52 noganex left
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
16:54 WizJin left
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.
16:55 Upasaka left 16:56 noganex joined, st_iron left 16:58 diana_olhovik_ left, lmmx left, lmmx joined 17:01 WizJin joined
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
17:09 rubio_terra joined
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
17:11 zakharyas joined
chansen_ Does MoarVM use ICU internally? 17:11
lizmat chansen_: no, it doesn't
chansen_ OK 17:12
17:12 vividsnow left, vividsnow joined
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
17:14 Zoffix left
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)
17:15 curious__ joined
colomon lichtkind: pong? 17:15
lichtkind ah 17:16
you still work on Math::Vector?
17:17 skids joined
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? ;)
17:19 lizmat left, Ben_Goldberg left
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
17:24 lucasb left
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
17:26 lizmat joined
_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
17:36 zakharyas left
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
17:38 rurban left
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 :)
17:47 toto joined, toto is now known as Guest23085 17:48 lizmat left, ilmari_ is now known as ilmari, Guest23085 left 17:55 lizmat joined
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
18:02 rurban joined
Skarsnik gobbla42 18:03
oups
18:04 Zoffix joined
tadzik oh, a password :) 18:04
Skarsnik For some reason, something did not take the focus xD 18:05
18:06 BuildTheRobots left, adu joined 18:07 Skarsnik_ joined, cognominal_ joined, avalenn joined, lizmat left
nine jdv79: no, not fixed yet. I just came across two minor nits with the source while digging into your bug 18:08
18:08 BuildTheRobots joined
nine jnthn: do you have a quick idea into which direction I should investigate for this bug? gist.github.com/niner/fbacfa535a8bd8f8104e 18:09
18:09 kipd_ joined, zemmihates_ joined
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
18:10 aigan_ joined
nine skids: gist.github.com/jnthn/47a42b2e86e7e552b2e2 should be a great start in any case 18:10
18:10 clkao_ joined 18:11 mephinet- joined 18:12 Util_ joined, spidermario joined 18:13 stux|RC joined, Actualeyes1 joined, clkao left, geekosaur left, [ptc] left 18:15 WizJin left, avalenn_ left, zemmihates left, kipd left, lmmx left, spider-mario left, Util left, stux|RC-only left, mephinet left, RabidGravy left, M-eternaleye left, cognominal left, Skarsnik left, rindolf left, molaf left, hacst left, firstdayonthejob left, Actualeyes left, lizmat_ joined, aigan left, RabidGravy joined, molaf joined, virtualsue joined, clkao_ is now known as clkao, kipd_ is now known as kipd, geekosaur joined, lmmx joined, Actualeyes1 left, zemmihates_ is now known as zemmihates
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!
18:16 M-eternaleye joined
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
18:18 lmmx left, lmmx joined
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
18:19 regreg joined
TimToady m: say (9/11).base(10,42) 18:19
camelia rakudo-moar e160c9: OUTPUT«0.818181818181818181818181818181818181818182␤»
18:20 lizmat_ left
Zoffix m: say [96..104][(9/11).base(10,42).comb.grep(/\d/)».Int]».chr.join 18:20
camelia rakudo-moar e160c9: OUTPUT«`hahahahahahahahahahahahahahahahahahahahahb␤»
18:20 hacst joined
Zoffix feels satisfied 18:20
18:20 rindolf joined 18:21 firstdayonthejob joined
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␤»
18:23 WizJin joined
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? :)
18:26 rindolf left, azzure joined
mst how does base 1 even make sense? 18:26
18:26 rindolf joined
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
18:30 lestrrat joined
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)␤»
18:31 azzure left
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.
18:38 curious__ left, azzure joined
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␤»
18:39 azzure left
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 )
18:40 lucasb joined
grondilu but frankly neither solution (string or list) seems entirely satisfactory to me. 18:40
18:42 Ven left
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̅␤»
18:43 pjscott joined
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/
18:49 adhoc left
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
18:50 Skarsnik_ is now known as Skarsnik
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)␤»
18:51 azzure joined
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)»
18:57 webstrand joined
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
19:04 hankache joined
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*
19:06 FROGGS joined
pjscott Thanks mst. I was already on rakudobrew btw 19:07
FROGGS o/
19:08 WizJin left
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
19:19 hankache left
mst pjscott: ah, ok, most people with horribly outdated installs aren't 19:20
19:20 hankache joined
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
19:23 [ptc] joined
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
19:31 hankache left
RabidGravy if it was easy to make perfect software it would be boring 19:31
rindolf RabidGravy: yes. 19:33
19:33 curious__ joined 19:34 hartenfels left, KotH left, SHODAN left, risou left
RabidGravy boom 19:34
19:34 hartenfels joined, lucs joined, dpk joined, camelia joined, ab5tract joined, sftp joined, xdbr joined, ashleydev joined, moritz joined, TimToady joined, brabo joined, Fleurety joined, El_Che joined, bhm joined, freeze joined, stmuk joined, mst joined, salva joined, baest joined, felher joined, konobi joined, cosimo joined, bartolin_ joined, petercommand joined, BooK joined, Possum joined, charsbar__ joined, krunen joined, cxreg joined, jordman_ joined, btyler joined, rjbs joined, mathw_ joined, mtj_ joined, zostay joined, shmibs joined, rudi_s joined, jferrero joined, ingy joined, Bucciarati joined, johan joined, retupmoca joined, pochi joined, yeltzooo joined, saaki joined, jnthn joined, nine joined, hitchcock.freenode.net sets mode: +v camelia, jdv79 joined, tinita joined, smash joined, ponbiki joined, inokenty joined, vike joined, Ulti joined, mls joined, KotH joined, SHODAN joined, risou joined
Skarsnik this split 19:34
19:36 Celelibi joined, baest_ joined
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
19:37 dpk left, baest left
Begi What's going on here ? 19:37
19:37 curious__ left, curious__ joined
Begi Strange... 19:37
19:37 dpk joined 19:39 adhoc joined, pecastro joined
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?
19:44 pjscott left
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
19:46 cygx joined
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
20:02 sjohnsen joined 20:03 pmurias joined
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
20:06 raiph left, darutoko- left
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++
20:09 lmmx left
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
20:09 bjz left
Zoffix Consistency means predictability, and predictability means fewer errors. 20:09
20:10 curious__ left, bjz joined
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
20:12 cognominal_ left
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
20:13 cognominal_ joined
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
20:19 azzure left 20:22 xfix joined
pmurias what's the exact release date? 20:22
20:25 telex left
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
20:26 domidumont left
dalek ast: 0588402 | usev6++ | S03-metaops/reduce.t:
Fudge (skip) dying tests for JVM
20:26
20:26 telex joined
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
20:29 pyrimidine joined
jnthn I'll kill off has-accesor, since it's (a) dupe and (b) totally the odd-one-out in Attribute 20:29
20:31 cygx left 20:32 Skarsnik left
jdv79 ack grim - i don't get it. 20:33
20:35 dwarring joined
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 :)
20:36 adhoc left 20:37 bjz left 20:38 adhoc joined 20:40 TEttinger joined
dalek ast: 6bafc92 | usev6++ | S11-modules/require.t:
Remove troublesome "use lib '.'"

  ... which lead to failing tests on rakudo.jvm
20:45
20:47 pyrimidi_ joined 20:49 pyrimidine left 20:53 lizmat joined 20:57 pdl left
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
21:10 roguelazer joined, Guest68455 is now known as parisba_
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
21:15 lmmx joined
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
21:21 roguelazer left
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
21:23 spidermario is now known as spider-mario
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 :)
21:28 snarkyboojum joined
lucasb hi lizmat. do you know if LPW talks were recorded? 21:28
21:29 roguelazer joined
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
21:38 hartenfels left
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
21:41 Begi left
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
21:42 rindolf left
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?
21:51 kaare_ left
lizmat yeah, I'm confused now 21:51
could be that zefram already made a ticket for that
RabidGravy I'm permanently confused
21:51 patrickz joined
lucasb ahhh, maybe it's because it's stringified, not the real object 21:53
since its a hash key
*it's
21:55 regreg left
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
22:06 snarkyboojum left
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
22:15 rurban_ joined
lizmat jnthn: if the supply is already live, shouldn't it just return self ? 22:15
22:16 FROGGS left
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
22:21 yqt joined 22:24 lucasb left
dalek c: c1510f6 | lizmat++ | doc/Type/Supply.pod:
Add preliminary doc for Supply.share
22:26
22:26 geraud joined
lizmat is tired and goes to bed 22:28
good night, #perl6!
jnthn Rest well, lizmat++ o/
El_Che by liz 22:29
e
22:29 [particle] joined
masak 'night, #perl6 22:33
RabidGravy nighty, nighty, nighty night night 22:34
22:34 lichtkind left, espadrine left
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
22:36 webstrand left 22:38 Praise joined, Praise left, Praise joined
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?
22:43 xfix left
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:(
22:50 snarkyboojum joined
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
22:53 virtualsue left 22:54 rubio_terra left 22:55 raiph joined
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
23:21 pmurias left
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
23:54 lmmx left, lmmx joined
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
23:56 Psyche^_ joined 23:57 RabidGravy left
cognominal_ s/with panda/when using panda/ :) 23:59