»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
flussence ! 00:00
Skarsnik It should be in the next release
ShimmerFairy m: say Perl.new
camelia rakudo-moar 2ae0df: OUTPUT«Perl 6 (6.c)␤»
masak m: say Perl.old
camelia rakudo-moar 2ae0df: OUTPUT«Method 'old' not found for invocant of class 'Perl'␤ in block <unit> at /tmp/Bb0QZUlVkM line 1␤␤»
masak aww :)
00:03 _nadim left
flussence goes off to fix up a few now-dead SSL certs on my LAN because I'm really lazy with specifying dates... 00:05
gfldex is there introspection for nodal-ness?
m: say .name, ' ', .?nodal for List.^methods 00:08
camelia rakudo-moar 2ae0df: OUTPUT«from-iterator Nil␤from-slurpy Nil␤from-slurpy-onearg Nil␤from-slurpy-flat Nil␤new Nil␤to Nil␤from Nil␤sum Nil␤fmt Nil␤reification-target Nil␤iterator Nil␤Seq True␤sink Nil␤STORE Nil␤eager Nil␤Capture Nil␤FLATTENABLE_LIST Nil…»
gfldex there is :)
[Coke] RT: 1,147; JVM: 44; weird: 13; nom: 34; glr: 6 00:10
ZoffixWin How do I represent the "null character" in a regex? <[\0]> ain't it 00:12
s/character/byte/;
RabidGravy Happy new year fromGMT+0.0001 :)
ZoffixWin m: say '0' ~~ /<[\0]>/ 00:13
camelia rakudo-moar 2ae0df: OUTPUT«「0」␤»
grondilu Happy new year guys (France here, 1am)
ZoffixWin m: say '0' ~~ /<[\[0]]>/
camelia rakudo-moar 2ae0df: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uDj_0AwG2k␤Unable to parse expression in metachar:sym<assert>; couldn't find final '>' ␤at /tmp/uDj_0AwG2k:1␤------> 3say '0' ~~ /<[\[0]7⏏5]>/␤ expecting any of:␤ term␤»
ZoffixWin -_-
RabidGravy, HNY
[Coke] m: say "\0" ~~ / "\0" /
camelia rakudo-moar 2ae0df: OUTPUT«「␀」␤»
[Coke] ^^
ZoffixWin m: say "\0" ~~ / <-["\0"]> / 00:14
camelia rakudo-moar 2ae0df: OUTPUT«Potential difficulties:␤ Quotes are not metacharacters in character classes␤ at /tmp/PFSqEC6CRH:1␤ ------> 3say "\0" ~~ / <-["\7⏏050"]> /␤ Repeated character (") unexpectedly found in character class␤ at /tmp/PFSqEC6CRH:1␤ …»
ZoffixWin [Coke], I need to do a <-[\0\n\r]> where \0 is the null byte
ShimmerFairy m: say "\0" ~~ / < \0 > /
camelia rakudo-moar 2ae0df: OUTPUT«Nil␤»
ShimmerFairy m: say "\0" ~~ / <[\c@]> / 00:15
camelia rakudo-moar 2ae0df: OUTPUT«「␀」␤»
ZoffixWin :o
ShimmerFairy ZoffixWin: ^^^ looks like you can use \c@ , at least :)
ZoffixWin ShimmerFairy, what sorcery is that?
ShimmerFairy m: say "\0" ~~ / \0 /
camelia rakudo-moar 2ae0df: OUTPUT«「␀」␤»
RabidGravy being about five miles east of Greenwich and all
ShimmerFairy Looks like \0 only doesn't work in character classes, who knows why.
timotimo \x00?
ZoffixWin m: say "\0" ~~ / <-[\x00]> /
camelia rakudo-moar 2ae0df: OUTPUT«Nil␤»
ZoffixWin m: say "f" ~~ / <-[\x00]> / 00:16
camelia rakudo-moar 2ae0df: OUTPUT«「f」␤»
ZoffixWin timotimo++
ShimmerFairy ZoffixWin: \c followed by a single character is like the ^J syntax you see in terminals, e.g. \cJ -> ^J -> LF . No clue why I reached for that first, instead of \x00 :P
hobbs H^@e^@l^@l^@o^@ ^@f^@r^@o^@m^@ ^@W^@i^@n^@d^@o^@w^@s ^@N^@T^@ 00:18
00:18 devop joined
ShimmerFairy (worth noting that \c[ doesn't work to get \e, since the left bracket will be seen as introducing something long to \c, e.g. \c[13,10] or \c[DIGIT ZERO] ) 00:20
00:21 kaare_ left 00:22 devop left 00:27 llfourn joined 00:28 ZoffixWin is now known as Zoffix_WithUnder, Zoffix_WithUnder is now known as ZoffixWin 00:29 cbk__ left 00:30 Quety joined
Quety Hello #perl6, happy new year ! 00:30
00:30 Arrowhead left
Quety I've a little question : what's your IDE for Perl6 on Linux ? 00:31
ZoffixWin Quety, Atom
I'm hoping Sublime Text 2 will eventually get a proper highlighter, because I hate Atom
00:32 llfourn left
Quety I'm in the same case that you ZoffixWin : I like Sublime but the highlight for perl6 is just horrible 00:32
00:33 FROGGS left
masak guess you have to lobby the Sublime Text people somehow 00:33
must be hard, this liking-closed-source-editors thing :P
ZoffixWin I don't think the P6 highligher is written as them
s/as/by/;
And that part *is* opensource. I just don't wanna fix it :P 00:34
masak I can sort of understand that
so... maybe 2016 is the year of vim, too? :D
'night, #perl6
ZoffixWin night
vim is for masochists :) 00:35
Quety Gute nacht masak ! :)
hobbs every year is the year of vim. 00:37
RabidGravy Quety, my IDE is Linux ;-)
hobbs 2016 might be the year of neovim :) 00:38
ShimmerFairy We really need some kind of editor that's like emacs, but Perl 6 instead of elisp :D
hobbs pmac6.
RabidGravy ZoffixWin, I've used vi for thirty years I can't fix how my brain works now
Hotkeys I use atom cause it's pretty decent and I'm a windows pleb 00:39
Quety Or there is Padre...
RabidGravy look forward to a working perl 6 port
Hotkeys is there a perl 6 linter yet for atom
00:40 cbk__ joined
ShimmerFairy Quety: true, but I vastly prefer "text editors" over fancy IDE-ish things; I also would like to see an editor as extensible as emacs, but with a different language. (If I were crazy enough...) :) 00:41
blub i cant wait for guilemacs on hurd 00:43
RabidGravy you see I've been exposed to emacs almost as long as vi but I never cleaved to it, don't know why, maybe in a hundred years someone will right a paper on it
geekosaur they exist, or existed. most of the ones I know of went commercial and died
(brief/crisp, epsilon, some editor that borland bought) 00:44
00:44 Quety left
geekosaur the 00:45
Hotkeys I tried to use vim when I had my brief affair with linux
00:45 SwellJoe left
geekosaur (still around although who knows how maintained it is. also, probably only of interest to a certain class of geek >.> ) 00:45
Hotkeys but then I went back to windows because I was using arch and arch is annoying
RabidGravy there was an editor with the old commercial watcom C distribution that did vi/emacs personalities died twenty years ago 00:46
ShimmerFairy RabidGravy: I use vim for quick in-terminal edits of stuff, but I can't imagine using it for serious editing :P 00:47
Hotkeys vim is good for serious editing especially if you make it all fancy-like
add the nerd tree 00:48
get powerline up in there
or not
if you like plain vim
ShimmerFairy I dunno, the fact that a text editor needs to be put in a special mode to edit text makes me doubtful... :P
lucs ShimmerFairy: For me, what you said, but s/vim/vi/ and s/it for/anything but Vim for/ 00:49
RabidGravy I'm quite happy with a plain old vi if it isn't the sun one
00:49 uruwi left
lucs (my Vim is kinda very very customized after 15 years of tweaking) 00:50
ShimmerFairy Really, I like emacs (and I like lisp languages too!), it's just that I suspect a really good Perl 6 major mode needs a P6 parser to be really good :)
(also, it'd be incredibly interesting to see how P6 handles in a situation like "be a text editor") 00:51
TimToady > p6 'say so "\0" ~~ /<[\0]>/'
True
was an nqp bug 00:52
ShimmerFairy TimToady: ah, I had a feeling it was a bug, since it was only character classes that didn't like it :)
geekosaur (I should install THE for old times' sake, unfortunately my rexx has probably bitrotted beyond usefulness)
ShimmerFairy ZoffixWin: ^^^ turns out you should've been able to use \0 :)
TimToady spectesting before committing though 00:53
TimToady hopes nobody put in a test for the faulty behavior... 00:54
00:55 nige1 joined
ShimmerFairy
.oO(if TimToady is always right (Rule #1), and roast is _the_ definition of v6.c, what happens when they disagree?)
00:56
TimToady that's what Rule #2 is for :)
timotimo evening TimToady 00:57
ShimmerFairy :)
timotimo and hi ShimmerFairy
TimToady well, we got through S05, which is a good sign
ShimmerFairy hai timotimo o/
btw, it's incredibly weird that "the test is wrong; just fix it" is no longer an option [without a language update] :) 00:58
RabidGravy you lot are all "west of Greenwich" now right?
timotimo is east of greenwich 00:59
RabidGravy and probably furter than Deptford or Rotherhithe
ShimmerFairy RabidGravy: We're all both, I think, but I'm at least on the west coast of the US :)
RabidGravy timotimo++
timotimo um, why do i get ++'d? 01:00
RabidGravy because
I can take it back if it makes you uncomfortable ;-)
timotimo hah 01:01
no, it's fine
i'm going to do a bit more stuff tonight
likely going to give a reason for ++ing me
dalek ast: 1417783 | TimToady++ | S05-metasyntax/charset.t:
test that \0 works inside cclasses
01:04
p: d86a422 | TimToady++ | src/QRegex/P6Regex/ (2 files):
entry for \0 was missing in character classes
01:04 cygx joined
cygx o/ 01:04
so, let's check if we've managed to hit the Ballmer peak today ;) 01:05
RabidGravy timotimo, you're going to sneak in and work out why this gdbm binding is segfaulting? nice one ;-) 01:06
dalek kudo/nom: c6cb07e | TimToady++ | tools/build/NQP_REVISION:
1st NPQ bump ever for official Perl 6 :)
TimToady er, *NQP
RabidGravy cygx, dunno about Ballmer but I shouldn't be allowed anywhere near software 01:07
ZoffixWin TimToady, you had one job!
^_^
Happy New Year everyone :D
RabidGravy TimToady :-* 01:08
ZoffixWin, and you :-*
flussence merry christmas to everyone in UTC-192
timotimo RabidGravy: i don't even know what gdbm is 01:09
ShimmerFairy part of me wishes v6.🎄 would be a valid literal Version :P
flussence gdbm is a hash-oriented database thing
RabidGravy it's a thing, store shit on disk at your behest
timotimo ah, hm 01:10
RabidGravy oh what flussence said
flussence tl;dr: disk-backed %es
I might be wrong but I *think* that's why perl5's tying feature exists... 01:11
TimToady m: say so "\0" ~~ /<[\0]>/
camelia rakudo-moar c6cb07: OUTPUT«True␤»
RabidGravy got me totally baffled to the extent I'm ignoring it
01:11 herby__ joined
herby__ Good evening, everyone! 01:12
timotimo hello herby__
RabidGravy there's an off by one error in the hash function but I can't work out how I could cause it
herby__ \o 01:13
lichtkind hai herby 01:14
perigrin flussence: I don't think you're wrong. I doubt strongly it exists because "crack" ... which is the only other explanation I have for it. 01:15
RabidGravy flussence, to the extent that it was a generalisation of the earlier (s|g|n)dbm functionality yes - TimToady may remember the history better 01:16
TimToady that was one reason for tie, yes
but I rarely do things for one reason 01:17
it was also to build an OO bridge to traditionally non-OO variables
perigrin puts that deep in the "crack" category and claims he was right. 01:18
RabidGravy and stuff
herby__ anyone doing any html parsing yet with Perl 6?
Skarsnik Yes, with Gumbo and XML
RabidGravy perigrin, where on the Westbrook-Thompson scale though? 01:19
Skarsnik herby_, skarsnik-stuff.blogspot.fr/2015/11/...nt-to.html
and really good night #perl6 this time x)
RabidGravy have fun sweety 01:20
01:20 Skarsnik left
perigrin RabidGravy: I'm ... not sure. I think it's about a 5 on the Bristol Stool Scale though. 01:21
RabidGravy I'm going around Keith Richards myself 01:22
also it allowed some nut-job to write a Linux filsystem in Perl back when fuse was young and fresh 01:23
perigrin acutally there are still nutjobs who do that. 01:24
RabidGravy cool
perigrin github.com/xantronix/Filesys-POSIX # warning Perl5.
She's one of hte nicer nutjobs I've met.
RabidGravy the looniest are the nicest 01:26
01:28 llfourn joined 01:29 lnrdo joined 01:31 sprocket left
timotimo is rewriting the hyper/race code to be a bit less convoluted 01:32
so the fix can actually perhaps land this time :)
01:33 llfourn left 01:34 rickbike left
RabidGravy as far as I'm concerbed the hyper/race stuff is in got sacrificing territory so you're cool 01:34
goat
01:35 lnrdo left
timotimo :) 01:38
yeah, i guess i'm cool
i wouldn't mind if compiling rakudo would become 2x faster again :) 01:39
01:40 nige1 left 01:44 sprocket joined 01:45 ggoebel7 left
RabidGravy just doing a half hour of seventies disco music then bed 01:47
timotimo heh. 01:48
01:50 xpen joined
RabidGravy actually no I'm thoroughly ratted, catch you all later. TimToady++ # for superhuman engagement. Love you all. 01:51
timotimo gnite RabidGravy :)
01:54 kid51 joined
herby__ Any recommended reading on creating simple parsers? I'd like to create a simple (if there is such a thing) HTML parser 01:55
I have a basic grasp on programming
and I know thats a very broad question :)
I'm just not sure where to start
01:57 RabidGravy left
timotimo hm 01:58
have you ever worked with PEG parsers or something? 01:59
or perl6 grammars/rules and such?
herby__ nope. I've lightly touched on grammars. Maybe I should start on a simpler parser than HTML?
I'm just trying to think of a simple, useful project to tackle with Perl 6
beyond hello world
i guess I could take a look at some popular Perl 5 modules, and try to recreate in Perl 6? 02:00
02:03 herby__ left 02:04 khw joined 02:07 sprocket left
cygx night o/ 02:08
02:08 cygx left 02:10 ggoebel7 joined, ggoebel7 left
[Coke] herby_: there's a list of wanted modules if you're looking to re-create something. 02:11
github.com/perl6/perl6-most-wanted...modules.md
timotimo the re-write attempt failed
y'know ... the code isn't *that* terrible 02:12
i'll just merge it
flussence
.oO( famous last words... )
02:13
oh that reminds me, I better go test that libuv 1.8 branch for brrt++
timotimo that'd be nice, yeah :)
flussence "bash: ./Configure.pl: perl: bad interpreter: No such file or directory" -- what the fffffff... 02:14
02:14 rickbike joined
flussence oh, it doesn't like it when I do ./Configure.pl, wants perl Configure.pl... 02:14
-ETOOMERRY 02:15
zacts now that Perl6 and Rakudo christmas are out, what are the current target goals or major areas being focused on with Rakudo? 02:19
timotimo ------> llable ?? $op !! try EVAL "&infix:<$op>"⏏ -> $matcher {
getting this problem while bootstrapping panda
==> Testing File::Find
how come that isn't fixed already? i thought others were using panda successfully? 02:20
02:20 BenGoldberg left 02:21 BenGoldberg joined
timotimo oh, i might need to nuke my install/ 02:22
02:24 llfourn joined
dalek kudo/nom: 20c796c | timotimo++ | src/core/HyperSeq.pm:
hyper now cares about sequence numbers of work

this code wants to get a bit cleaned up. i'm sure the control flow could be a bit less convoluted.
02:25
timotimo yes, nuking install helped 02:26
02:30 sprocket joined 02:40 acrussell left
ZoffixWin zacts, my wild guess would be bug fixes and optimization. 02:46
zacts, the .hyper is buggy and I believe >> operator still doesn't thread
ZoffixWin feels a deja vu seeing "this code wants to get a bit cleaned up." in a commit message -_- 02:47
Seems this line could just read `last unless ...` github.com/rakudo/rakudo/commit/20...f00956R182
With the if {} condition following it 02:48
zacts oh cool, thanks ZoffixWin
ZoffixWin BTW, my New Years bot crapped out and was reporting wrong times. But it got fixed after I simply restarted it. My slight worry is there might be something wrong with Promises set to execute several hours in the future :( 02:49
(that'd be fun to debug) 02:50
timotimo who's good with graphviz here?
Error: bad label format <0> r2(1) <op> const_s | <1> lits($*CTXSAVE)
^- i'm not sure why this is problematic?
ugexe class Foo { method cache { state %bar }; }; # is there anything wrong with supplying a state variable between all class instances like this? getting a segfault on a longer running process and trying to narrow down the cause 02:51
02:51 FROGGS joined
timotimo you're not doing threads, are you? 02:52
ugexe no
02:53 kid51 left
timotimo :| 02:54
if you perl6-gdb-m, you should be able to find a frame that has a tc in it and print MVM_dump_backtrace(tc)
that ought to be able to find where that is
also, please try disabling JIT and maybe also spesh 02:55
disabling JIT will give you usable stack traces in gdb
the problem with that label was that a | had gone missing because of a missing | 02:59
... 03:00
because of a missing "flat"
cdn.rawgit.com/mountainstorm/jquer.../demo.html pretty! 03:02
github.com/mountainstorm/jquery.graphviz.svg - this is what it belongs to
03:07 FROGGS left 03:10 noganex joined
lucs I named a sub in my code "run"; how can I call the P6 'run' from within it? 03:10
timotimo CORE::<&run> for example
lucs Aha, thanks. 03:11
timotimo m: say &CORE::('run')()
camelia rakudo-moar 20c796: OUTPUT«Too few positionals passed; expected at least 1 argument but got only 0 in sub-signature of parameter @args␤ in block <unit> at /tmp/UjwWaF6zkZ line 1␤␤»
timotimo m: say &CORE::('run')(1)
camelia rakudo-moar 20c796: OUTPUT«Proc.new(in => IO::Pipe, out => IO::Pipe, err => IO::Pipe, exitcode => -1, pid => Any, signal => 254)␤»
timotimo m: run(1)
camelia rakudo-moar 20c796: OUTPUT«run is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting line 1␤ in sub run at src/RESTRICTED.setting line 14␤ in block <unit> at /tmp/IS31QSRzby line 1␤␤»
timotimo oh ... crap :)
restricted setting, you're so weak
03:12 lichtkind left 03:13 noganex_ left
timotimo otherwise, OUTER:: would probably be less presumptuous 03:14
lucs timotimo: Gotcha (reading up in S02). Thanks. 03:15
03:17 lnrdo joined 03:20 AndyDee left 03:22 lnrdo left
ugexe you could also `sub run(|c) { say "xxx"; Proc.new.spawn(|c); }; run("ls");` 03:23
i guess that doesnt set all the parameters though 03:25
03:25 FROGGS joined
timotimo rc-forest-fire-stringify 103/s 44/s 03:28
1.0x 2.4x
reduce_range 51537997/s 24658809/s
1.0x 2.1x
slowdowns from 2015.11 to 2015.12
i wonder what that could be caused by
SUMMARY SCORE 100.0 95.3 03:29
deep_scan_for_interpolated_string_var 1412/s 1206/s
1.0x 1.2x
also perhaps interesting?
flussence goes to figure out how hard it'd be to make a half-decent --setting=SANDBOX using seccomp
dalek rl6-bench: 60ee6e4 | timotimo++ | bench:
exploded timings have to be appended, not pushed
03:30
autarch the doc site is all static HTML so why is it so slow to return pages? 03:31
sometimes it takes a second or two to return a page which seems really odd
is this running on a Raspberry Pi in TimToady's basement?
flussence they're all loading in ~500ms for me
timotimo autarch: it's our new donated p6c.org server 03:32
it should be rather snappy
autarch I think this should be snappy on a tiny VM machine too
timotimo damn
hack.p6c.org seems rather busy
collect.p6c.org/ 03:33
autarch it's not all the time, but sometimes it really is remarkably sluggish
does the site generation run on the same system?
timotimo jdv79: you had a job installing a v5 that had about 300 cpu-hours accumulated apparently 03:34
it's one host that hosts a bunch of virtual machines
ugexe wonder if thats why his hack.p6c.org:5000/ went down 03:35
autarch ah, so maybe stuff on another VM is causing the problem sometimes - that'd make snes
timotimo i love the SNES
hum. i have to reset my password on hack.p6c.org; i can't sudo :(
03:38 yqt left
timotimo .tell jdv79 please look into that process that's trying to install v5 and somehow eating 100% cpu 03:38
yoleaux timotimo: I'll pass your message to jdv79.
timotimo feels so powerless 03:39
03:40 FROGGS left
flussence is curious what the large network IO spikes every ten minutes mean 03:40
timotimo something rsyncing perhaps 03:41
flussence er, *5 minutes
timotimo i need rest. 03:42
gnite!
flussence o/
ehh, it's a server. 40 megs every 5 minutes is nothing
ugexe after installing a module Foo which gets precompiled, a subsequent `perl6 -e 'use Foo'` takes twice as long as running it subsequently again any number of times. why?
flussence is it making a .precomp relative to $CWD because it thinks your -e script is "there"? 03:44
autarch has there been any discussion about changing how the core Test module works? Specifically, I'd really like to see something like p5's Test::Stream - rather than just printing to stdout, emit events to 1+ listeners - the default could of course be to just turn events into prints to stdout 03:45
ugexe no
autarch is at least 4 modules down the stack from where he started earlier this week
ugexe it looks like testing precompiles a dist once, installation compiles it again, and then using a module precompiles it a third time 03:46
03:46 FROGGS joined
autarch I was trying to write Test::Class but neither Test nor Test::Builder are a good thing to build it on top of - and I was trying to write Test::Class to make it easier to test Dist::Wocky, which I was writing to make it easier to manage the other modules I started writing 03:46
03:46 anaeem1 joined
hobbs yaaaaaaaaaaaks. 03:49
03:50 SwellJoe joined 03:51 skyl4rk left
autarch I will shave all of the yaks! Or more like I'm partially shaving each of a succession of nested russian doll yaks. 03:53
once I shave the infinitessimally tiny yak at the center I can start shaving the bigger ones and so one 03:54
perigrin you're starting to sound like yenzie 03:55
if you take up knitting I'll be ... well impressed frankly.
03:56 webstrand joined
autarch who's yenzie? 03:58
I think my aunt taught me how to knit when I was a little kid but I never really did any - not my thing
blub knitting is really fun
hobbs autarch: Yanick. 04:00
autarch ah
04:03 _Vi left
webstrand I'm still having trouble packaging panda: RAKUDO_PRECOMP_PREFIX isn't available in rakudo 2015.12. It's the only way I've managed to properly install panda to a custom prefix. Does anyone have a workaround? 04:04
flussence RAKUDO_PRECOMP_PREFIX exists *because* that was impossible in 2015.12... 04:05
you either need to patch that in your rakudo package yourself, or wait for 2015.12.1 04:06
04:07 FROGGS left
webstrand I wish I had control of the rakudo package, or I'd do just that. Guess I'll go contact the maintainer, thanks. 04:09
I was wishing for some kind of monkey patch, to avoid the hassle
04:12 FROGGS joined 04:20 xpen left
ugexe yep its definately precompiling during testing, precompiling during install, and precompiling during its first use after install 04:24
i imagine the last one should not be happening 04:25
04:27 BenGoldberg left
webstrand How can I find the ~/.perl6/{version-number} path programmatically? 04:29
ugexe the last one gets precompiled with FileSystem, although its not logged with RAKUDO_LOG_PRECOMP 04:30
04:31 FROGGS left
flussence m: put $*REPO.repo-chain[0] 04:31
camelia rakudo-moar 20c796: OUTPUT«/home/camelia/.perl6/2015.12-67-g20c796c␤»
04:36 bpmedley left 04:40 rickbike left
ugexe i wish this was tested with the raw code instead of with panda. because it only happens if it doesnt install to both home and site 04:49
probably would have solved a lot of the precomp problems 04:51
if its going to be designed around panda then maybe panda should just be merged into core and be done with it 04:52
04:53 CQ2 joined 04:55 CQ left, CQ2 is now known as CQ 04:57 danthedeckie joined 04:58 danthedeckie is now known as dddddf
dddddf Good morning Perl6! Happy new year. 04:59
Hotkeys just wait a few more seconds
and I can say the same
dddddf I just started playing with perl6 after the christmas release. I have one 'why' question (so far). 05:00
Hotkeys HAPPY NEW YEAR
ZoffixWin HAPPY NEW YEAR EST!!!!
dddddf Why is 'split "I love chocolate" " "' OK, '"I love chocolate".split(" ")', OK, but '"I love chocolate".split " "' not? 05:01
Happy new year EST :-)
Hotkeys welcome to the future everyone 05:02
ugexe `.split: " "`
ZoffixWin \o/
Hotkeys ugexe: ++
m: "I love chocolate".split: " "
camelia ( no output )
Hotkeys well
m: say "I love chocolate".split: " "
camelia rakudo-moar 20c796: OUTPUT«(I love chocolate)␤»
dddddf ugexe, ahh.... cool. I must have missed that.
So that's how to do it... but now why? :-) Why does a method call need a colon? 05:03
05:04 anaeem1 left
ZoffixWin dddddf, it doesn't *need* one... you can write that as .split(" ") 05:04
ugexe to differentiate it from an attribute
ZoffixWin oh
ugexe is my guess
ZoffixWin missed the question
Hotkeys also probably to say "the stuff following this is important too"
rather than perl going 05:05
"hey whats that extra string doing there after that call?
05:05 lnrdo joined
dddddf thanks all. this new language seems like it's going to be my relaxing away from work coding for this year. :-) 05:07
Hotkeys woo 05:08
ugexe if programming isnt raising your blood pressure you are doing it wrong 05:09
Hotkeys true
05:10 lnrdo left
ZoffixWin c'mon :P 05:11
That's often true, but I feel it's true due to lack of planning :P
Unless you're doing web dev work and supporting IE ^_^
ugexe lack of planning by others :P
ZoffixWin heh
awwaiid Ahh 2016. I sense greatness. 05:12
ZoffixWin Yeah, should be a good year for Perl 6.... it got a 6 in the name of the year after all :P 05:13
zacts 2016 will rock for Perl6 I knows it
dddddf s/relax/play/ 05:14
ZoffixWin dddddf, yeah, I feel the same way :)
Though I think were I to get a Perl 6 job, I'd feel like "work" just the same :P 05:15
dddddf ZoffixWin: there's a book "reality is broken", which talks a lot about gaming, and how hard work in the right way is more "fun" and better for us than passive activities. 05:16
05:16 ZoffixWin left 05:17 ZoffixWin joined
dddddf "the opposite of play isn't work, it's depression" 05:17
ugexe work perl6 is the relaxing part
ZoffixWin dddddf, "hard work" is very different from "coding the same boring shit your boss told you to code" 05:18
dddddf ZoffixWin, No dispute there. 05:20
dalek c: 3bd21c4 | (Wenzel P. P. Peppmeyer)++ | doc/Language/operators.pod:
add example for hyperoperator with user defined operator
05:25
c: a869aa9 | (Wenzel P. P. Peppmeyer)++ | doc/Language/operators.pod:
Merge pull request #305 from gfldex/master

add example for hyperoperator with user defined operator
05:29 anaeem1_ joined, anaeem1_ left
dalek c: 81ed009 | (Wenzel P. P. Peppmeyer)++ | doc/Language/modules.pod:
mention doc-dir for modules
05:36
c: 867e294 | (Wenzel P. P. Peppmeyer)++ | doc/Language/modules.pod:
Merge pull request #306 from gfldex/master

mention doc-dir for modules
05:38 dddddf left 05:42 Cabanossi left, SwellJoe left 05:46 Cabanossi joined 06:00 SwellJoe joined 06:15 Mouq joined 06:16 sprocket left 06:22 nige1 joined
Mouq o/ #perl6 :) a happy new year to you all 06:24
06:26 AlexDaniel joined
AlexDaniel “We really need some kind of editor that's like emacs, but Perl 6 instead of elisp :D” – actually, that would be great 06:33
06:51 Tonik joined
spacebat /quit 06:51
06:51 spacebat left, dddddf joined 06:54 lnrdo joined 06:58 lnrdo left 07:03 webstrand left 07:04 dddddf left 07:07 spacebat joined 07:12 adu joined 07:14 _Vi joined 07:19 skids joined
ShimmerFairy blog post! :) shimmeryfairy.wordpress.com/2015/1...-go-at-it/ 07:23
07:31 davercc left
Mouq My. I missed a lot that started during my brief return in November 07:34
awwaiid How close can I get to Ruby block-with-param method calls? Emulating: bleh.each_slice(2) { |s| ... } # each_slice takes an int and a block params, like def each_slice($size, &block)
I guess I should start with the block-only one
skids ShimmerFairy: sometimes the id can explain a problem much more accurately than the ego, so properly delimited rant posts can be a productive thing. Psychologically we tend to overestimate our ability to cope, though -- we put on our wooden underwear instead of our steel underwear, and still manage to get burned. 07:35
Mouq m: map(1,2,3):{ $^a + $^b} 07:37
camelia rakudo-moar 20c796: OUTPUT«===SORRY!===␤Cannot find method 'has_compile_time_value'␤»
ugexe bleh.each_slice>>.&(2, { ... }) ? 07:38
ShimmerFairy skids: that's a good point. However I suspect the crucial part is "properly delimited" :)
skids Yeah -- ever seen the Key and Peele "Obama anger interpreter" skit? Now that's demiliting :-) 07:39
07:40 _Vi left
ShimmerFairy skids: Incidentally I have. I just hope "one post" is a sufficient delimiter :P 07:42
07:42 silug left
Mouq skids: I almost went to watch it and then remembered that K&P skits will eat hours of my time and I won't even notice 07:43
awwaiid ugexe: I was hoping for more of what Mouq suggested. I'm looking for how to expose ruby blocks from inline::ruby
m: class Foo { method hmm($n, *&f) { &f($n) + 2 } } ; say Foo.new.hmm: 3, { $^a * 2 } 07:46
camelia rakudo-moar 20c796: OUTPUT«8␤»
awwaiid that'll do
07:54 kaare_ joined
Mouq As an aside, danluu.com/julialang/ is a very well written article I came across recently, discussing perceived issues with Julia lang's development/community process 07:57
07:59 silug joined
Mouq ShimmerFairy: I apparently missed a large part of the conversation that happened, but I at least think your latest post addresses the issue much better than the one before it :) 08:00
ShimmerFairy :) 08:15
08:21 pierre-vigier joined 08:23 darutoko joined 08:26 rickbike joined 08:27 rickbike left 08:38 itaipu left, |Tux| left 08:40 RabidGravy joined 08:42 lnrdo joined 08:45 nexysno_ joined 08:47 lnrdo left 08:49 FROGGS joined
timotimo meep 08:51
how's people? 08:52
RabidGravy alive-ish
:)
timotimo i have not been able to sleep long enough... feel a little zombified 08:53
zacts is Rakudo implemented in C? 08:59
(the core that is)
08:59 st_iron joined, FROGGS left
st_iron hello 08:59
happy new year my friends 09:00
RabidGravy zacts, no, moarvm is implemented in C, nqp is implemented in mostly C, rakudo is largely implemented in nqp and Perl 6 09:01
09:02 |Tux| joined
RabidGravy happy new year st_iron 09:03
st_iron p6: say 'thank you ;)' 09:04
camelia rakudo-moar 20c796: OUTPUT«thank you ;)␤»
RabidGravy ugh 09:09
09:13 FROGGS joined
timotimo rabidgravy, what makes you day thatnqp is mostly c? 09:14
RabidGravy a cursory examination of the code 09:15
timotimo huh 09:16
zacts ah ok
thanks RabidGravy
that's cool though, it's kind of lispy in a sense, that the rakduo is implemented in the language it aims to implement. I guess? :-)
kind of reminds me of rubini.us 09:17
timotimo nqp is mostly implemented in nqp imo
09:17 _nadim joined
timotimo i wonder what all the c is that you saw 09:17
_nadim Good morning and happy new year. 09:18
09:18 FROGGS left 09:19 nige1 left 09:20 pierre-vigier left
skids m: [1,2,3][0].VAR.WHAT.say; Array.new(1,2,3)[0].VAR.WHAT.say; (1,2,3)[0].VAR.WHAT.say; List.new(1,2,3)[0].VAR.WHAT.say 09:21
camelia rakudo-moar 20c796: OUTPUT«(Scalar)␤(Scalar)␤(Int)␤(Scalar)␤»
09:22 silug left, SwellJoe left
skids Should that last one be Int? Maybe missing an "is raw" on List.new()? 09:22
RabidGravy timotimo, I'm wondering too :)
09:24 nige1 joined
timotimo could be stuff for parrot? 09:29
09:34 chienjo joined 09:37 silug joined
RabidGravy actually I think it's the way that the code is layed out when rakudo's configuration has pulled the nqp and moar that confused me 09:41
(I've never checked nqp or moar out separately)
09:44 chienjo left
timotimo ah, yeah 09:50
giving the cat you love her morning belly-rubs is a good way to start the day
RabidGravy :)
09:51 _Vi joined 09:58 domidumont joined, nige1 left 10:03 domidumont left
timotimo mhhh, i love me some Captain Disillusion vidyas 10:03
10:04 domidumont joined 10:05 bpmedley joined
_nadim To Whom It May Concern github.com/perl6/ecosystem/pull/108 10:11
dalek osystem: c5fe241 | (Nadim Khemir)++ | META.list:
Add Data::Dump::Tree to ecosystem

See github.com/nkh/P6-Data-Dump-Tree.git
osystem: 906e547 | RabidGravy++ | META.list:
Merge pull request #108 from nkh/master

Add Data::Dump::Tree to ecosystem
RabidGravy 491 modules now 10:13
10:13 arthur_ joined
_nadim I have a a few ideas up my sleeve 10:13
arthur_ is there a book coming? 10:14
RabidGravy I have a record number (for me anyway,) in flight
arthur_ i think the average perl programmer is about 30+ years old
he is used to read books
_nadim Does Panda, or other also write some meta data about which commit (not tag) the modules it installs come from? 10:15
RabidGravy arthur_, several people have been approached by various publishers, no-one has admitted to taking up the challenge yet
_nadim, no
_nadim arthur_: the average Perl programmer is 45!
RabidGravy: that's a pity
that loses some of the advantages of vcs, knowing what comes from where 10:16
RabidGravy well that's what tags are for 10:17
_nadim tags move
RabidGravy er only if one moves them 10:18
_nadim is there information about tags being recorded?
RabidGravy no
_nadim well then it doesn't matter if it is commits or tags, one doesn't know where a module comes from
10:19 adu left
RabidGravy the modules are versioned, it is the responsibility of the author to make sure that makes sense 10:20
_nadim Sorry but I don't buy it.
RabidGravy the github thing is a red-herring, panda only installs from there as an expedient, it could just as easily be from a tarball or something else 10:21
_nadim I understand that it is not a final solution. but I also believe that we should have something a bit more controlled when it comes to versions
I worked in a group that handld 2 thousands modules with a thousand developers, you can't imagine how much fantasy they can have :) 10:22
Well, when the day of discussing some CPAN6 comes up, I'll try to give my two cents
timotimo so ... is everybody setting ulimits on their automated jobs on hack.p6c.org? 10:23
RabidGravy you seem to be wanting to mandate a certain rigid development process for module developers, good luck with that 10:24
_nadim what I said was, meta data about what version of a software is installed should be available to look into 10:25
10:25 TEttinger left
RabidGravy you were talking about vcs commit, they are different things, yes the version that the module claims to have is recorded 10:26
_nadim I prefer a commit, a md5 of a tarball is fine, or whatnot that is unique, that doesn't mandate a development process, it mandates proper software management
Anyway, on a better note, I have ahad a great time writing my first P6 module. I like the language, and you all have done a great job. 10:29
10:30 _Vi left 10:31 _Vi joined 10:34 perlawhirl joined, aenaxi left 10:35 rindolf joined
timotimo m: my int @a[3,3] = (1, 2, 3), (3, 4, 5), (5, 6, 7); say @a[1,*] 10:35
camelia rakudo-moar 20c796: OUTPUT«Partially dimensioned views of arrays not yet implemented. Sorry. ␤ in block <unit> at /tmp/aWKqzz13Iy line 1␤␤»
timotimo m: my int @a[3,3] = (1, 2, 3), (3, 4, 5), (5, 6, 7); say @a[1;*]
camelia rakudo-moar 20c796: OUTPUT«Partially dimensioned views of arrays not yet implemented. Sorry. ␤ in block <unit> at /tmp/jrZFIPlwsC line 1␤␤»
timotimo hmm hmm. 10:36
10:38 arthur_ left
dalek c: 104331a | skids++ | doc/Type/Scalar.pod:
Add docs for Scalar type
10:41
10:42 lnrdo joined
masak good antenoon, #perl6 10:44
10:47 lnrdo left
timotimo hello masak! 10:49
hey, don't you have sudo access to hack.p6c.org?
10:49 perlawhirl left
masak dunno. don't think so. 10:51
10:51 skids left
timotimo ah, indeed 10:51
10:52 perlawhirl joined, perlawhirl left, perlawhirl joined 11:01 [patrickz] joined 11:02 virtualsue joined
[patrickz] @ugexe: Are there RT Tickets for the zef blocking precomp bugs? For the purposes oft more directed naging those could be helpful... 11:03
I think having a working and used alternative to panda will prevent more and more of the ecosys relying on it. 11:07
11:11 pierre-vigier joined 11:12 itaipu joined, pierre-vigier left 11:17 domidumont1 joined
RabidGravy right, off out to see if I can shake this hangover :-\ 11:18
have fun
11:20 domidumont left
masak .oO( do people from Australia and New Zealand have hangunders? ) 11:21
timotimo no. no. no. no. zgrviewer, you are a horrible piece of software.
11:23 nexysno_ left, RabidGravy left
timotimo xdot (aka xdot.py aka python-xdot) seems like exactly the kind of thing i want 11:24
11:26 nexysno_ joined 11:29 perlawhirl left 11:30 perlawhirl joined 11:31 nexysno_ left 11:33 kid51 joined, nexysno_ joined
_nadim is it possible to capture on a type + role? 11:36
11:37 grassass joined 11:38 nexysno_ left 11:39 lnrdo joined
_nadim say I have a Plane $hydroplane which does LandingOnWater an a Plane $plane, I want a multi that only catche one of them. 11:39
masak m: class Plane {}; role LandingOnWater {}; class HydroPlane does LandingOnWater {}; multi foo(Plane) { say "plane" }; multi foo(HydroPlane) { say "hydroplane" }; foo Plane.new; foo HydroPlane.new 11:40
camelia rakudo-moar 20c796: OUTPUT«plane␤hydroplane␤»
masak _nadim: close enough?
_nadim masak: no :) 11:41
I said role because I use a type I can not change, so mixin-in a role is all I can do, and it is at run time
was thinking about something in the lines ... multi foo(Plane does LandOnWater) 11:43
masak m: role R {}; multi check(Any) { say "doesn't do R" }; multi check(R) { say "does do R" }; check(42); check(42 but R)
camelia rakudo-moar 20c796: OUTPUT«doesn't do R␤does do R␤»
masak _nadim: better? :) 11:44
_nadim: you can also simply smartmatch `$obj ~~ R`
11:44 perlawhirl left, perlawhirl joined
_nadim gits like a glove 11:46
masak \o/
_nadim: multi dispatch works best, I find, when one implicitly leans on narrowness resolving things 11:47
in this case, R being narrower than not-R
11:47 perlawhirl left
_nadim I am Ring things. it's for the dumper, sometimes I need to do magic on some elements and I need to know which element without changing it's base type 11:48
masak cute. 11:49
_nadim I think it will be. I like multis, a lot, I rather use them than ~~, but I wonder what cost that entails.
masak surprisingly little. 11:51
11:54 Actualeyes joined 11:56 flaviusb left 12:00 bpmedley left
nine .tell ugexe yes, tony-o did offer to take on a rewrite/redesign, commited some temporary fixes but then disappeared from the project :/ 12:02
yoleaux nine: I'll pass your message to ugexe.
ChoHag So I just found out that a proto can have actual code in it before/after dispatch. 12:04
What are the limits to that?
Other than 'the signature remains unchanged' (ie. a sort of built-in callsame)? 12:05
nine .tell flussence if you want to play around with a SQLite based CompUnit::Repository, now's as good a time as any. Maybe github.com/niner/CompUnit-Repository-Panda can inspire you
yoleaux nine: I'll pass your message to flussence.
ChoHag Also how does it play with inheritence? 12:06
nine .tell perlpilot if you want to play around with a SQLite based CompUnit::Repository, now's as good a time as any. Maybe github.com/niner/CompUnit-Repository-Panda can inspire you
yoleaux nine: I'll pass your message to perlpilot.
12:07 grassass left
nine .tell ugexe Support for something like -M"no precompilation" (or rather an ENV var) is only a couple of lines of implementation away. Personally, I'm more interested in fixing the reasons for people asking for that tool instead. 12:14
yoleaux nine: I'll pass your message to ugexe.
12:14 perlawhirl joined
_nadim masak: then multi it is! It is much cleaner too. 12:17
ChoHag If those couple of lines were included, the pressure to fix those reasons would be reduced and there would be more time to produce the "right" fix rather than rushing out something "good enough". 12:19
12:20 flaviusb joined
nine ChoHag: please note that I'm not keeping anyone from adding those lines. Also I'm not rushing anything at all :) 12:20
12:20 kurahaupo` left
ChoHag And besides your premise is wrong. Code shouldn't be written in the hope that it will never fail, but with failsafes to account for when (and it's always when) it does. 12:20
12:21 zengargoylew left, nowan left
nine ChoHag: feel free to correct any results of wrong premises. 12:21
12:21 zengargoylew joined
ZoffixWin Anyone got git handy? The last module added to the ecosystem has a typo in the URL in META.list file "hhtps" instead of "https" 12:22
ChoHag The "it's open source so you fix it" is basically the programmer's equivalent of "I know you are but what am I" and about as childish. 12:23
And helpful.
ZoffixWin This I mean: github.com/perl6/ecosystem/blob/ma....list#L491
12:25 nowan joined 12:27 nige1 joined 12:28 perlawhirl left, geekosaur left
_nadim github.com/perl6/ecosystem/pull/109 12:28
dalek osystem: ae953cb | (Nadim Khemir)++ | META.list:
Add Data::Dump::Tree to ecosystem

See github.com/nkh/P6-Data-Dump-Tree.git
12:29
osystem: ea681bc | (Zoffix Znet)++ | META.list:
Merge pull request #109 from nkh/master

Fix incorrect URL
_nadim ZoffixWin: thanks for spotting it. I'll open a ticket on Test::META to catch that
ZoffixWin _nadim, erm, that's not what Test::META does
12:30 geekosaur joined 12:32 psy_ left
nine ChoHag: and why exactly should I spend my precious spare time on something that I have no interest at all in? 12:32
ChoHag Because sometimes even the uninteresting things are important.
Else why do I bother paying my bills?
nine ChoHag: childish is to expect people to do work for free for you just because you want them to.
virtualsue nine: put him on /ignore 12:33
ChoHag I expect people to take some pride in their creation.
virtualsue it's the only way
_nadim ZoffixWin: right, it's in another module
ChoHag And since I like things to not suck but know they always will: github.com/rakudo/rakudo/pull/665 12:34
ZoffixWin The errors show up here with [error] tag, so they're not uncatchable modules.perl6.org/update.log
12:34 nexysno_ joined
ZoffixWin And BTW, I see a like 3 modules failing. Inline::Ruby seems to have a wrong URL too 12:34
ChoHag I have no idea if that even works. It just looks right. 12:35
ZoffixWin :/
I'd be suspicious of any PR that includes "# Eww" in it
ChoHag Yeah I considered wiping out my fork and recreating it after I realised I'd not taken that out. 12:36
ZoffixWin heh
12:36 spider-mario joined
ChoHag But that's just too much work. 12:36
ZoffixWin *fix*; git commit; git rebase -i HEAD~2; change last commit to 's' to squash it; comment out the commit message of the last commit; git push -f 12:37
done
ChoHag I'd already pushed to github when I saw it.
And besides, I sort of suspect/hope that the variable name and its potential contents will change.
nine ChoHag: left some feedback on the PR
ZoffixWin: 'f' for fixup squashes the commits and throws away the last commit's message 12:39
ZoffixWin Learned something new!
nine ChoHag: we're in the post-christmas world now. We really should try to avoid adding stuff that we expect to change. 12:40
12:40 nexysno_ left
nine Btw. ChoHag++ for putting code where his mouth is :) 12:40
ZoffixWin :D
ChoHag Hmm. I'd like to have the 'none' option, for completeness more than practicality, but it looks like it'll have to be outside that precompile method. 12:42
12:42 itaipu left
ZoffixWin Well, it's 7:42AM, 2016. New year. New me. The possibilities are endless. 12:42
ZoffixWin does a shot of vodka. 12:43
Ah, yeah
Oh, I wanted to write a factoid bot for use in here
12:43 ZoffixWin left
nine ChoHag: maybe method may-precomp is the right place for the none option? 12:44
12:44 _mg_ joined
ChoHag Just trying to work out why $i must be less than 3 now. 12:46
Or does $i just really like that comment?
12:46 Zoffix joined 12:48 _Vi left
ChoHag Right I'm going to, again, push untested code but before I do - thoughts on the variable name and its potential contents? 12:48
I guess I could give it a compile too.
Zoffix I'd change 'read-only' to something else
to something 'no-new' 12:49
nine ChoHag: #0 ($i = 1 afterwards) is CompUnit::PrecompilationRepository::None, #1 ($i = 2 afterwards) is the first real PrecompilationRepository, #2 ($i = 3 afterwards) would be an additional repository after a use lib
ChoHag: please do a compile, make test, make spectest, panda bootstrap and installation of a module before a pull request. That's my usual routine before any commit. 12:50
ChoHag Yeah I only did it that fast to show that I'm not just all talk. 12:51
As a sysadmin I'm not overly fond of developers who don't test their work.
Zoffix ChoHag++
12:51 _Vi joined
dalek osystem: c2e5bbf | (Zoffix Znet)++ | META.list:
Fix incorrect URL to Inline::Ruby META
12:56
|Tux| csv-ip5xs 50000 17.709 17.599 12:57
test 50000 22.474 22.364
test-t 50000 12.502 12.391
ChoHag Interesting. Parse error... 12:58
13:00 Zoffix is now known as huggable, AlexDani` joined, huggable is now known as Zoffix 13:01 nige1 left 13:02 AlexDaniel left 13:03 _Vi left 13:07 AlexDani` left 13:08 nige1 joined 13:11 _Vi joined, virtualsue left
Zoffix lizmat, "I concur with timotimo, this is ENOTABUG, but a WAT!".... what's a WAT? 13:17
(on rt.perl.org/Public/Bug/Display.html?id=127091) I did reject it BTW
13:19 itaipu joined 13:20 nexysno_ joined 13:25 nexysno_ left 13:27 pierre-vigier joined 13:28 _Vi left 13:34 _Vi joined
moritz public service announcement: I'm going to do an OS-upgrade on irclog.perlgeek.de 13:35
I don't expect a big downtime, but who knows?
ChoHag Good luck.
From what to what?
moritz ChoHag: Wheezy -> Jessie (Debian) 13:36
ChoHag Ooh be careful with that one. 13:37
moritz why?
ChoHag Make sure the full reboot works. Their "lets replace the init system of all things" didn't go entirely as smoothly as they hoped.
moritz I've upgraded a few systems so far, with little hiccups
right, full reboot required
ChoHag Me too. I just recall apt complaining once and/or init breaking. 13:38
Memory is vague, I fixed it as it happened and I object to systemd on moral grounds so did whatever was necessary to ensure it didn't get installed. 13:39
13:39 skyl4rk joined
ChoHag Straight dist-upgrade in a 'normal' environment may well be OK. 13:39
13:39 Arrowhead joined
Zoffix Man, this is just sad blog.randi.io/2015/12/31/the-develo...eebsdgirl/ 13:41
Do we have a Code of Conduct (better labeled as Standard of Conduct)?
moritz iirc my main paint point in previous upgrades was that the new apache version that comes with jessie is a bit backwards incompatible, regarding authorization 13:42
ChoHag Debian are slipping in general recently.
Bit off more than they could chew, IMO.
13:42 nige1 left, FROGGS joined
moritz well, the apache change isn't their fault, that's just upstream 13:43
13:44 Arrowhead left
ChoHag Right, but if Debian were smaller there'd be more resource to make the necessary compat layers, as they used to. 13:44
Zoffix: "25 bloggers like this." 13:46
I think that may not be the most appropriate phrase...
Zoffix heh
13:47 lucasb joined
ChoHag nine: Git push to my branch restarted the same pull request. 13:49
This time, compile & tests were performed. Spectest's ongoing but it's slow and I don't forsee it impacting it at all.
I'm also still not entirely happy with the variable name/contents though I can't put my finger on why. Not really my department though. 13:50
13:51 FROGGS left
Zoffix m: my Str $x; say $x.chars 13:53
camelia rakudo-moar 20c796: OUTPUT«Use of uninitialized value of type Str in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/urzgOkLlW8 line 1␤0␤»
Zoffix FWIW, the { length $undefined-thing }triggering a warning in Perl 5 was annoying enough that on newer versions that was made to return an undef. 13:54
m: my Str $x; my $z = $x.chars;
camelia rakudo-moar 20c796: OUTPUT«Use of uninitialized value of type Str in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/c4Uc4lINIW line 1␤»
Zoffix and maybe that error is LTA :/
13:55 itaipu left, nige1 joined
ChoHag That might not be The Right Thing on objects which aren't strings per se but can be stringified. 13:56
Personally I prefer my compilers to shout at me when I'm doing stupid things. 13:57
Zoffix m: say so '' 13:58
camelia rakudo-moar 20c796: OUTPUT«False␤»
Zoffix m: say so '0'
camelia rakudo-moar 20c796: OUTPUT«True␤»
ShimmerFairy The only thing I don't like about that message is the list of suggestions, for some reason. Particularly the .say suggestion, since it's very unlike the others (and it doesn't stringify things exactly, except as a side effect of it printing to stdout, IIRC)
13:58 xpen joined, itaipu joined
Zoffix Hm, maybe the fact that '0' is False in P5 is why the length thing is a thing. 13:59
Never mind my complaint :P
moritz also I'm not sure if "uninitialized value" is a good expression. Shouldn't it be "type object"?
ShimmerFairy could an initialized value be a type object? 14:00
14:00 ilbot3 left
ChoHag That's a good point. Can anything actually *be* 'uninitialised' in perl 6? 14:00
lucasb so ilbot3 was running on the same irclog.perlgeek.de server? 14:05
14:06 FROGGS joined, itaipu left 14:08 _mg_ left
moritz lucasb: yes 14:09
14:09 nexysno_ joined 14:11 ilbot3 joined
ChoHag Went well then? 14:12
moritz nned to do the reboot now
14:12 Skarsnik joined
moritz bbl :-) 14:12
14:12 moritz left, ilbot3 left
Skarsnik Hello, happy new year :) 14:14
Zoffix HNY
14:15 _Vi left
skyl4rk hny 14:16
llfourn already 2nd in sydney but Happy new year :)
Zoffix llfourn, stop bragging, future boy :)
And damn, already 2nd! Still 9am of the 1st here in Canukistan :(
14:16 asie left
llfourn fyi Perl 6 is still incomplete in the future ;) 14:17
Zoffix heh
Skarsnik plz fix future bug :)
14:18 pierre-vigier left
_nadim any URLs for good Supply tap exaples, apart from the docs? 14:18
Zoffix Is that an implication the docs suck? :) 14:19
llfourn _nadim: perl6advent.wordpress.com/2015/12/...nous-data/
Zoffix llfourn++ 14:20
lucasb should primed/curried functions be a first-class object? the way .assuming seems to work is to EVAL new functions and this is slow.
_nadim llfourn: thabnk you 14:21
llfourn nps :)
lucasb: I wonder what a faster implemenation would look like?
Skarsnik you need some right to close a ticket?
14:21 brrt joined
llfourn Skarsnik: I think so 14:21
_nadim I start from the principle that supply tap is _the_ way to implement data pipe between threads. Is there any other construct i shoul look at?
llfourn _nadim: Whenever/react 14:22
lucasb for example: my $sub = &f.assuming('some','values'); say $sub.WHAT #=> (CurriedSub); say $sub.assumed-capture #=> ('some','values')
14:23 Zoffix left
brrt computer, messages 14:23
yoleaux 31 Dec 2015 19:08Z <bartolin_> brrt: I built rakudo HEAD using your libuv-1.8 branch on Debian 7 and FreeBSD 10.2 (both amd64). all tests for nqp and rakudo passed -- as well as "make stresstest"
Skarsnik 125706 can be closed x)
llfourn lucasb: that makes sense to me. Thanks.
brrt thanks! i'm going to merge and deal with the fallout, if any, later
lucasb llfourn: idk, but the .assuming method is very big, maybe there's space in there for optimization. and anything *not* using EVAL would be faster, I think. 14:24
14:24 moritz joined
moritz \o 14:24
ChoHag Went well then?
rindolf moritz: hi, sup?
llfourn lucasb: yes it is fairly gnarly
moritz ChoHag: had to fix a bit of apache config; logger hasn't restarted cleanly :( 14:25
ChoHag nine: Using eq complains when the variable isn't set. Would ~~ or //'' be faster/better?
"Reboot often, to ensure you can."
llfourn m: BEGIN MY::<&a> = sub { "win".say }; a(); # does anyone know how 14:26
camelia rakudo-moar 20c796: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Jih4t927Cx␤An exception occurred while evaluating a BEGIN␤at /tmp/Jih4t927Cx:1␤Exception details:␤ Cannot modify an immutable Nil␤ in code at /tmp/Jih4t927Cx line 1␤␤»
brrt \o moritz 14:27
happy new year #perl6
14:27 ilbot3 joined
moritz brrt: same to you 14:27
14:27 FROGGS left
lucasb brrt++, thanks for the libuv update initiative. 14:28
_nadim llfourn: no doc for whenever, and it is not in control flow either
lucasb brrt: I'm waiting the merge, to build a new rakudo :)
moritz logger running again; it turned out I didn't have an init script to start it
llfourn _nadim: docs.perl6.org/language/concurrency
ChoHag Yay systemd! 14:29
14:29 spider-mario left, ZoffixWin joined, nige1 left
llfourn it's there but it needs a heading. If you want to do that for us it would be great. 14:29
brrt yw lucasb :-) 14:30
what platform are you on actually?
ChoHag moritz: I make it a habit now to reboot servers after every change, however minor.
lucasb me? I'm on x86-32bit linux... but, sorry, I haven't tested the libuv branch. 14:31
ChoHag Not rebooting servers is for specialist applications, or teenagers with peni^Wuptime issues.
14:31 spider-mario joined
lucasb but libuv would have to be updated sooner or later... so, it's better to find the fallout now :) 14:31
_nadim llfourn: I can't Promise, bad pun, right now as I need to wrap my head around this and use it. but I will eventually (after my move to another town and the build of the ground of my summer house, not too long) 14:32
brrt no problem of course :-)
llfourn _nadim: cool nw. Good luck building your house! 14:33
Skarsnik brrt, can you give me quick intrusction so I can test your branch? x)
brrt it's master now 14:34
you can just ehm...
hmm
can rakudobrew build with the latest moar?
i dunno what the instructions are for the bleeding edge
i compile moar 'by hand'
lucasb would a moar & nqp bump be too trouble? 14:35
this way, more people will test
_nadim llfourn: just the basement of the summer house right now :),, but of course I went in the repo and thought "Arff, I do it now" 14:36
are the docs in another repo?
brrt no, don't want to do that
suppose it's broken
llfourn _nadim: github.com/perl6/doc
brrt then we're going to tell all the people 'checkout this broken moarvm'
well, their computers
14:37 nige1 joined
llfourn _nadim: take your time understanding it first and then you can put the heading in the appropriate place :) 14:37
_nadim: and just noticing react is not searchable either 14:38
14:39 Emeric joined
masak ZoffixWin: a WAT is a correct-by-spec feature that's somewhere between the confusing and indefensible. 14:39
ZoffixWin ah
masak ZoffixWin: it originates from this video: www.destroyallsoftware.com/talks/wat
ZoffixWin Makes me think of memesvault.com/wp-content/uploads/W...ace-02.jpg
lucasb example of a WAT: "$()" is *not* a itemized empty list :)
14:39 virtualsue joined
masak ZoffixWin: a saying here on #perl6 goes "every DWIM behavior has an equal and opposite WAT". lucasb's example is a good one. 14:40
ZoffixWin I remember that talk lol
14:41 sprocket joined 14:42 sprocket left 14:43 sprocket joined, asie joined
_nadim llfourn: is there a glossary somewhere, I always have those in more important projects. 14:44
ZoffixWin S99 i think 14:45
moritz design.perl6.org/S99.html
ZoffixWin design.perl6.org/S99.html
ZoffixWin is too slow
masak ZoffixWin: I think we have a code of conduct, though not under that name. I remember ShimmerFairy++ working on it.
ZoffixWin would love to see it
ZoffixWin also would love to see it in /topic
Makes "buddy, you're out of line, as it says in the /topic" much easier to say 14:46
14:46 brrt left
masak aye 14:47
_nadim Neither react nor ahatever is in that glossary
masak ShimmerFairy: whatever happened to the CoC thing?
dalek ecs: 73ea63d | moritz++ | S99-glossary.pod:
S99: Correct heading level
masak _nadim: well volunteered!
14:47 st_iron left
moritz _nadim: react is a syntactic construct; I don't believe it belongs into the glossary, but in the normal documentation 14:48
llfourn it should certainly be X<> linked though
_nadim masak: llfourn cheated me into this, i must be more careful next time, he's sneaky.
moritz llfourn: well volunteered :-)
ShimmerFairy masak: somewhere in the specs repo, last I recall
14:48 asie left
llfourn moritz: I already volunteered _nadim++ 14:49
moritz llfourn: well meta-volunteered :-)
ShimmerFairy lucasb: $() was supposed to be removed, since I recall people agreeing it was useless, it just didn't happen I guess.
llfourn :D
_nadim moritz: that well may be, but then I'll call it a vocabulary list, one we one goes before commiting suicide just after an exhausting doc search 14:50
lucasb ShimmerFairy: let's hope it's not in the 6.c tests, otherwise we'll have to live with it forevaaar :D
masak ZoffixWin, ShimmerFairy: found it! github.com/perl6/specs/blob/master...draft.pod6
Skarsnik m: say $() 14:51
camelia rakudo-moar 20c796: OUTPUT«Use of Nil in string context in block <unit> at /tmp/hnoGa1CuH8 line 1␤␤»
masak ZoffixWin: see what you think, especially in light of that blog post by ex-FreeBSDGirl
ShimmerFairy lucasb: it's in roast, so removal will have to be in 6.d :<
$() is $/.ast // $.Str , which I'm pretty sure no-one has used ever. 14:52
*$/.Str
14:53 _mg_ joined 14:55 pdcawley_ left 14:56 regreg joined
_nadim llfourn: I think whenever doc should go in the Supply class doc. And maybe react too. What I notice is that there's a lot of taps refered as if they were objects. I did search for type Tap before understanding it was "tapping a Supply" 14:57
14:58 xpen left
llfourn _nadim: I don't think so. They are concurrency constructs so they should go in the concurrency doc IMO. 14:58
moritz supplies are concurrency constructs 15:00
I'd be fine with either, as long as there's a cross reference
_nadim llfourn: then a list of all tings that can tap into a supply should be put there too, making the concurency document a reference document for those, my understanding, naive and naissant, was that the concurency doc was more "generic" 15:01
15:02 herby_ left
llfourn _nadim: I think everything to do with concurrency should be put there so yep 15:03
nine .tell flussence precompilation doesn't care about $*CWD. It only writes files to one of the precompilation repositories contained in modules repositories. If you use lib 'foo/lib'; we will write into foo/lib/.precomp. Without a -I, PERL6LIB or "use lib", we write into ~/.perl6/
yoleaux nine: I'll pass your message to flussence.
ZoffixWin masak, that's a nice document. The one thing I see missing from it is what to do in the exact ex-FreeBSDGirl's situation: what to do if someone attacks/harasses you repeatedly. The "handle the troll with kindness" is a nice sentiment, but I see that NOT working often enough. And I not quite sure this suffices: "your best course of action would be to ask the rest 15:04
of the community for help. (Lost of times, the Perl 6 community will already be
helping with the discussion!)". I think asking "the rest of the community" for help might be pretty difficult when you're being attacked on the basis of who you are. If someone's harrasing you in /msg, saying you're worthless contributor because you are $whatever would make it difficult to address that harrasement in the channel in fear that $whatever is actually a concern for being a worthless contributor. IMO, there should be some body one could
contact in private in case of severe harassment/abuse
I've seen posts arguing against using Perl 6 because Audrey Tang changed gender. How do you bring up attacks like that in the channel? 15:05
Anyway... those are my two cents.
ZoffixWin resumes drinking and playing Warframe
Skarsnik lol
15:06 pmurias joined
nine .tell ugexe the modules architecture was not designed just for panda at all. We cannot use the precompilation files generated on install most of the time because right now we err on the side of "better precompile too often than use outdated files". mst++ is pushing in a direction that lets us use the installation files more freely, but it's tricky. 15:07
yoleaux nine: I'll pass your message to ugexe.
El_Che tadzik: there? 15:09
ChoHag nine: Spectests pass on the latest change. If there's still something better than testing with ~~ I'm all for it.
ZoffixWin eq? 15:10
timotimo oh hey moritz 15:11
15:11 pmurias left
timotimo can you reset my password on hack.p6c.org? i must have somehow misvalued it ... 15:11
15:12 mcmillhj joined
El_Che timotimo: don't you log in with a ssh key? 15:12
timotimo El_Che: yeah, i do. but sudo wants my password :) 15:13
El_Che timotimo: ah you have root, ok
15:13 pmurias joined, asie joined
timotimo in theory i do :) 15:13
15:13 llfourn left
timotimo i'm going to kill jdv's long-running process 15:13
15:13 cognominal left, llfourn joined
pmurias ZoffixWin: re freebsdgirl, having google'ed that a lot of people are claming (and showing proof) that she was a troll herself and just got caught up in a troll war 15:14
El_Che timotimo: done 15:16
timotimo thank you
virtualsue pmurias: yes 'they' will say that
ZoffixWin seen it. Doesn't change the fact there are existing barriers to participation, otherwise I wouldn't end up going to tech meetings with ~40 people and zero women in them -_- 15:17
15:17 raiph joined
virtualsue if you're treating trolls with kindness, i'd only ask to make sure the trollee (alleged or otherwise) gets the same treatment and latitude 15:17
El_Che it's difficult to know they exact circumstancesof each case, but you can be sure that there are a lot of poisonous people out there
virtualsue i kind of despair of the day when i need to publish a code of conduct for London PM and am resigned to doing one ahead of time 'soon' 15:18
El_Che reading latest Eric Raymond's texts proofs that OSS does not mean being nice (or sane) 15:19
virtualsue and nobody here needs to tell me about barriers to participation in tech for women ;-)
15:20 [patrickz] left
masak El_Che: don't read the recent texts by Eric Raymond. :/ 15:20
huf far too much attention is given to the contents of a code of conduct (or its existence). and nowhere near enough to the fact that the abbreviation is "coc"
ZoffixWin huf++
huf i hope the next community guideline related thing someone invents will abbreviate to "dic"
timotimo
El_Che masak: it has kind of the same attraction of rotten.com at time. You know you shouldn't look,... 15:21
[ptc] huf: mst brings that up in his talks. That's why for perl it's a Statement of Conduct (iirc)
huf El_Che: :D
[ptc]: yes, i've seen people side-step it in very obvious ways
masak and in the specs repo, it's just called S27 :)
ZoffixWin :P
huf hm, that's actually the best i've seen so far 15:22
timotimo socks are all right
El_Che I proposed this minimal COC: gist.github.com/nxadm/13c4817dd1b4b792a99f . At the end of the day it doesn't come to legal rules, but what the community sees as accetable or not
15:23 pdcawley joined
Skarsnik someone can close? rt.perl.org/Ticket/Display.html?id=125706 x) 15:23
timotimo Skarsnik: please point out a commit id to rakudo and roast respectively that implement that stuff and i'll close it for you 15:24
15:24 bitmap left
jdv79 timotimo: i didnt notice. thanks. 15:24
yoleaux 03:38Z <timotimo> jdv79: please look into that process that's trying to install v5 and somehow eating 100% cpu
nine ChoHag: I usually prefer // '' to make it clear in the code that I expect this to be undefined.
jdv79 that has to be from the 21st or so
pmurias virtualsue: I have been only to Perl conferencess so I can't really judge how the things in other communities are 15:25
timotimo jdv79: i just killed it for you a few minutes before you arrived
jdv79 cool 15:26
Skarsnik timotimo, github.com/rakudo/rakudo/pull/661 github.com/rakudo/rakudo/commit/53...f94c219e08
15:27 bitmap joined
timotimo thanks 15:27
ZoffixWin pmurias, in some places, it's pretty disturbing. Spot a single non-white, non-male person on this ReactJS conf pic and I'll give you $10: twitter.com/ReactiveConf/status/66...1773102081 15:28
nine pmurias: even _if_ FreeBSDgirl was a troll which I highly doubt, the FreeBSD community would have had a troll in their midst for 13 years and invited the troll to give a talk at their conference. That would still mean, they have a problem with accepting trolls. 15:30
Doesn't change the outcome at all.
El_Che well, I find the term "white" funny in a USA context.
it mixes ethnic and culture
ZoffixWin eh, skip the white term... Find any non-male person in that pic :P
El_Che e.g. hispanic as a term while there are blond-blue-eyed-hispanics and african-black-hispanics
so silly
Skarsnik lol the reactjs pic, they all look the same x) 15:31
pmurias ZoffixWin: where I live that's what all the programmers look like 15:32
ZoffixWin Skarsnik, not so! Some have different haircuts! :)
pmurias, where is that?
15:32 nowan left
pmurias ZoffixWin: Poland 15:32
ZoffixWin pmurias, you guys have no women in Poland?
:) 15:33
it's the problem that all programmers look like that :)
ZoffixWin may be drunk to IRC now and leaves before they say something stupid
*too drunk
15:34 mscha joined, nige1 left
Skarsnik meh, it's fine 15:34
dalek rl6-roast-data: cadec8e | coke++ | / (7 files):
today (automated commit)
mscha m: say "Happy { [+]1..63 }!";
camelia rakudo-moar 20c796: OUTPUT«5===SORRY!5=== Error while compiling /tmp/c6OujqDTNc␤Two terms in a row␤at /tmp/c6OujqDTNc:1␤------> 3say "Happy { [+]7⏏051..63 }!";␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ statement…»
mscha m: say "Happy { [+] 1..63 }!"; 15:35
camelia rakudo-moar 20c796: OUTPUT«Happy 2016!␤»
timotimo i'm a long-haired programmer, i bring a little diversity to pictures that otherwise contain only short-haired white dudes!
15:35 nowan joined
masak m: m: class A::B {}; class C { has A::B $.ab .= new } # [RT #126975] 15:36
camelia rakudo-moar 20c796: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol A::B␤»
masak m: class A::B {}; class C { has A::B $.ab .= new } # [RT #126975]
camelia rakudo-moar 20c796: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol A::B␤»
masak m: m: say "OH HAI"
camelia rakudo-moar 20c796: OUTPUT«OH HAI␤»
masak m: m: m: say "OH HAI"
camelia rakudo-moar 20c796: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qsMOe0UnVC␤Redeclaration of symbol m␤at /tmp/qsMOe0UnVC:1␤------> 3m: m:7⏏5 say "OH HAI"␤»
masak m: constant foo = 42; foo: say "OH HAI" 15:37
camelia rakudo-moar 20c796: OUTPUT«5===SORRY!5=== Error while compiling /tmp/DuZG1IEVNq␤Redeclaration of symbol foo␤at /tmp/DuZG1IEVNq:1␤------> 3constant foo = 42; foo:7⏏5 say "OH HAI"␤»
lucasb m: a: b: c: say 'hi' # multiple labels shouldn't work
camelia rakudo-moar 20c796: OUTPUT«hi␤»
15:38 pmurias left
lucasb ok, maybe they should, there's nothing wrong with wanting to have multiple labels pointing to the same statement 15:38
masak I think there is. it's unnecessary and probably a thinko.
in fact, is there even a use case for putting labels on non-loops? 15:39
oh, `goto`, I guess
15:40 pmurias joined
timotimo that's the common case, yeah :P 15:40
pmurias ZoffixWin: it's a mostly male dominated profession, and from what I have seen it's mostly the case of women not choosing to do it rather then being driven out 15:41
virtualsue just fyi I founded a women's programming group in London focusing on another language, simply because the gender ratio is even more lop-sided in that area
it's not nearly as bad in Perl 15:42
15:42 regreg left
virtualsue gets back to work 15:43
El_Che virtualsue: isn't it because the language is newer and thus could benefit from cultural advances? 15:44
15:44 ZoffixWin left
El_Che advances sounds badly 15:44
nine pmurias: the question pretty much always has been, _why_ they seem to not choose it (at large). As it's an extremely complex topic with probably thousands of influences, I've become quite careful of drawing conclusions and simply deal with what's obvious and which I can acutally influence.
virtualsue yes, pretty much that
15:45 cygx joined
El_Che perl6 has a chance there, let's hope 15:45
cygx o/
15:45 regreg joined
virtualsue when numbers are "critically low", it's rather easier to get more of $minority interested when they have some segregation 15:46
15:46 pmurias left, pmurias joined
cygx pmurias: regarding female participation in open source projects particularly, from the statistics I've seen (might be out of date now), they used to be a factor of ten down from the general percentage in the business 15:47
I do believe this indicates 'cultural' problems
blub it makes a lot of sense 15:48
mscha m: my $planet = 'World'; my $html = "<b>Hello</b>, <i>$planet</i>!"; # very annoying
camelia rakudo-moar 20c796: OUTPUT«Type Str does not support associative indexing.␤ in block <unit> at /tmp/UfjZTrCCyq line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/UfjZTrCCyq line 1␤␤»
El_Che virtualsue: a good start, even when not being explicitly looking for diversity, is just being friendly. It's awful when projects turn people by being rude just because someone does have a phd on the subject
dalek blets: 372a05c | (Herbert Breunung)++ | docs/ (2 files):
pred and succ work not only on Num
15:49
timotimo hm. i should continue my work cleaning out the tpf wiki 15:51
15:51 brrt joined
brrt messages? 15:51
15:52 ChoHag left, brrt left
El_Che timotimo++ 15:52
the docs there are confusing to say the least :) 15:53
timotimo i don't know of a good place to link from the old "perl 6 executive statement" 15:54
summary*
mscha m: say '42 is a power of 2' if 42 ~~ 1,2,4...*; 15:55
camelia rakudo-moar 20c796: OUTPUT«42 is a power of 2␤»
15:55 _mg_ left 15:56 wamba joined
wamba p6: {}.push: <a =\> l a b a v a a b>; 15:56
camelia ( no output )
15:57 RabidGravy joined
wamba p6: say {}.push: <a =\> l a b a v a a b>; 15:57
camelia rakudo-moar 20c796: OUTPUT«a => [=> b], b => a, l => a, v => a␤»
RabidGravy RARR!
timotimo yo RabidGravy 15:58
back so soon?
nine .tell ShimmerFairy please tell me exactly what the git commands are that bring commits from branch curli to branch nom by solely using "git rebase". When you can do that, you may call me ignorant as much as you want.
yoleaux nine: I'll pass your message to ShimmerFairy.
RabidGravy well, it's cold outside :) But I saw the sea, had beer and got some south asian snack food so all is good 15:59
timotimo nine: i think that's what the --onto flag does
nine timotimo: nope 16:00
timotimo you're right
RabidGravy yeah I don't think you can do that directly
it's cherry pick and then rebase
[Coke] timotimo: when in doubt, link to perl6.org, I guess (for wiki cleanup) 16:01
nine timotimo: the thing is, I do actually know two ways to get the commits from the branch onto nom without using "git merge". ShimmerFairy doesn't seem to, otherwise they would have pointed that out in the blog post intead of again telling something wrong. But I'm the ignorant one who doesn't understand git...
timotimo [Coke]: well, i was hoping i could find a nice spot to point people to for most pages
16:03 nige1 joined
RabidGravy nine, I'm sure you understand git better than I do 16:03
nine RabidGravy: if you think that, then I'd be happy to help if I can :) 16:04
RabidGravy I get by and for everything else there's google 16:05
:)
16:06 nowan left 16:07 ZoffixWin joined, ZoffixWin left, ZoffixWin joined, frankjh joined
nine .tell ShimmerFairy please tell me what incentive I have for helping you in any way, when all I get from your direction is repeated public attacks on my person? Where is the fun in that? Why should I invest a single minute, when it makes me feel worse than just ignoring you as best as possible? 16:08
yoleaux nine: I'll pass your message to ShimmerFairy.
RabidGravy Hey I've worked for fairly large organisations in the last ten years that were still using CVS
nine, because we love you :) 16:09
ZoffixWin m: my $planet = 'World'; my $html = q:s"<b>Hello</b>, <i>$planet</i>!";
camelia rakudo-moar 20c796: OUTPUT«Type Str does not support associative indexing.␤ in block <unit> at /tmp/FR11LWMVwK line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/FR11LWMVwK line 1␤␤»
16:09 nowan joined
ZoffixWin hm.. shouldn't this NOT give that error due to my not interpolating :h ? 16:09
timotimo when was feather taken off the 'net? 16:10
ZoffixWin oh, it'd be %foo<bar> anyway.. never mind.. Perl5-ism
16:11 pmurias left, bitmap left, Actualeyes left
ZoffixWin m: my $planet = 'World'; my $html = "<b>Hello</b>, <i>{$planet}</i>!"; say $html # mscha, one way to get around it 16:11
camelia rakudo-moar 20c796: OUTPUT«<b>Hello</b>, <i>World</i>!␤»
16:12 ugexe left, pmurias joined
nine RabidGravy: :) 16:12
timotimo m: my $planet = 'World'; my $html = "<b>Hello</b>, <i>$planet\</i>!"; say $html; # another way 16:13
camelia rakudo-moar 20c796: OUTPUT«<b>Hello</b>, <i>World</i>!␤»
nine What I really cannot figure out for the life of mine is, what ShimmerFairy thinks such blog posts would accomplish. All it takes for me to invest hours and hours trying to fix issues with my code is a half sentence somewhere in the backlog.
timotimo btw, i imagine we could catch this in some cases in the optimizer and complain/warn early
ZoffixWin FWIW, even if we stipulate fuckups were made, what would crying about them in a blog post would accomplish?
16:13 bpmedley joined
nine There is no need at all, not the sightest to pull out the big cannons and write pages and pages. 16:13
So now that we have established, that getting me to fix things is not the goal, what the hell is? 16:14
timotimo moritz: if there are no tuits left to handle perl-6.de, maybe it'd be better to decommission it?
dalek c: 2e6a2a5 | (Steve Mynott)++ | bin/p6doc:
Improve "p6doc -f" output

Strip "routine" and "method" from results
16:15
masak hugs nine 16:16
ZoffixWin hugs ShimmerFairy 16:17
masak nine: haven't read ShimmerFairy's new attempt at ranting less yet -- but you have my support and encouragement. please don't be discouraged by long blog posts!
frankjh Hi, I am trying use perl6 and make a module for a native library. Building seems to work, however the shared library does not get loaded during 'make test'. How do I set that up?
Skarsnik hm, you can't use a field herited with $!field-name?
ZoffixWin nine, right. As I've stated earlier, perl6 got a very noticable boost in speed due to your work, so don't be discouraged :)
Skarsnik frankjh, do you have an error message? 16:18
stmuk_ nine++ # precomp had to released
ZoffixWin Skarsnik, inherited? No, don't think so. The private-things don't get passed down to subclasses IIRC
Skarsnik m: class A { has $.foo is rw = "Hello"}; class B is A { method bar( say $!foo)}; my B $b =.new; $b.bar(); 16:19
camelia rakudo-moar 20c796: OUTPUT«5===SORRY!5=== Error while compiling /tmp/5ZohQQh0FQ␤Invalid typename 'say' in parameter declaration.␤at /tmp/5ZohQQh0FQ:1␤------> 3"Hello"}; class B is A { method bar( say7⏏5 $!foo)}; my B $b =.new; $b.bar();␤»
ZoffixWin m: class Foo { has $!bar = 42; }; class Bar is Foo { method moo { say $!bar }; }; Bar.new.moo
camelia rakudo-moar 20c796: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dSWp8Gkwle␤Attribute $!bar not declared in class Bar␤at /tmp/dSWp8Gkwle:1␤------> 3Bar is Foo { method moo { say $!bar }; }7⏏5; Bar.new.moo␤ expecting any of:␤ horizontal whitespace␤»
16:19 ChoHag joined
timotimo Skarsnik: private fields are private. they don't get inherited. 16:20
Skarsnik m: class A { has $.foo is rw = "Hello"}; class B is A { method bar{ say $!foo}}; my B $b =.new; $b.bar();
camelia rakudo-moar 20c796: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nCieNDuVGK␤Attribute $!foo not declared in class B␤at /tmp/nCieNDuVGK:1␤------> 3; class B is A { method bar{ say $!foo}}7⏏5; my B $b =.new; $b.bar();␤ expecting any of:␤ horizontal wh…»
RabidGravy frankjh, is it a library you made or an installed on?
frankjh Error message is "Cannot locate native library 'libfoo.so'" ... No such file or doirectory
Skarsnik I need to use foo with . ?
timotimo yes
frankjh libfoo.so has been built: perl Configure.pl6;make ;
RabidGravy ah 16:21
Skarsnik You probably need to give the path to NC
RabidGravy check out the Inline::Perl5 source
Skarsnik by default it will search in the path dlopen/win32eqv use
ShimmerFairy nine: if you give my post a second read, you'll see that I do in fact outline exactly why I've been writing frustrated posts. And part of it is that IRC doesn't let me express my thoughts as verbosely. Apologies for desiring a better medium to transcribe my thoughts.
yoleaux 15:58Z <nine> ShimmerFairy: please tell me exactly what the git commands are that bring commits from branch curli to branch nom by solely using "git rebase". When you can do that, you may call me ignorant as much as you want.
16:08Z <nine> ShimmerFairy: please tell me what incentive I have for helping you in any way, when all I get from your direction is repeated public attacks on my person? Where is the fun in that? Why should I invest a single minute, when it makes me feel worse than just ignoring you as best as possible?
Skarsnik frankjh, try with is native('./libfoo') 16:22
or './foo'
nine ShimmerFairy: so we're still just at venting frustration?
Skarsnik timotimo, the issue with $.foo is that I will not be able to write in the attribute if it's not rw? 16:23
RabidGravy for reference I vent frustration by drinking beer and making noisy music
16:24 _mg_ joined
virtualsue RabidGravy++ 16:24
ShimmerFairy nine: Like mentioned, I tried being as reasonable as possible in my latest post, doing my best to explain better why I'm frustrated (rather than just being frustrated). If you want to continue being a jerk after that, I don't feel it's my problem anymore.
virtualsue Hey ShimmerFairy, enough with the name calling
Skarsnik Can you talk about this un private maybe? x)
virtualsue Or just not talk about it abusively
frankjh Skarsnik: so add a relative path to is native ('foo')? Relative to what?
masak it's "CURLI", not "CURI", right?
ShimmerFairy the branch pointer's named curi, IIRC 16:25
nine masak: CURLI used to be CompUnitRep::Local::Installation. Then there was a curli branch for reworking the module stuff, and now there's CompUnit::Repository::Installation which can be abbreviated to CURI
Skarsnik frankjh, I am not sure how it work stuff you build yourself and provide, you probably need to use %RESOURCESS or something like that 16:26
masak ShimmerFairy: re "if you want to continue being a jerk" -- I don't know if you notice it yourself, but you're crossing a line here, *one you set up* in S27.
frankjh Ah ok
masak ShimmerFairy: the one where you discuss the topic at hand, and don't do personal attacks just because you're frustrated. 16:27
ShimmerFairy Point is, a rushed for Christmas branched offer me little (if any) benefits and provided show-stopping bugs, of course I'm gonna be a bit pissed about said branch.
RabidGravy frankjh, it's build the module into ./resources
masak ShimmerFairy: I just re-read S27. it's a good read.
nine ShimmerFairy: maybe we can use this positively as a testcase for S27 as we clearly have a conflict that involves public name calling and more.
Skarsnik frankjh, ask nine x)
ShimmerFairy masak: well, I said "jerk" because that's how I've felt nine's behavior towards me has been (similarly as my more emotionally charged blog posts towards him), not out of any desire to engage in name-calling 16:28
virtualsue ShimmerFairy: your name calling is indefensible *full stop*
timotimo Skarsnik: i think the point about private fields is that you can freely refactor and change the class without breaking users of that class
masak ShimmerFairy: I'm not going to ask you to pull down this post -- but I think it, and your current behavior on-channel, are not as constructive as they could be.
ShimmerFairy (so yes, poor phrasing on my part in the sentence involving "jerk")
RabidGravy frankjh, as an alternative to asking nine take a look at github.com/jonathanstowe/p6-Sys-Lastlog 16:29
timotimo Skarsnik: note, however, that you can access private attributes pulled in by a role, for example, from the composing class; perhaps that helps you?
frankjh RabidGravy: Thanks for the pointer
nine ShimmerFairy: if your goal is constructive critizism, your posts really should focus on _what should we do in the future_. Reiterating what went wrong in the past and how it did hurt you is neither constructive, nor will it help all that much. 16:30
masak +1
nine ShimmerFairy: you could for example line out guidelines for how such feature branches should be handled. Where calls for review should be posted, what should be tested, how we should decide when a branch is ready.
ShimmerFairy masak: what really sucks is that the latest post is me really trying to be good about it. I thought today "hm, I want to follow up on my last post, and I don't feel so emotional over it today. It would be good for a more decent post today"
nine ShimmerFairy: that would help tremendously avoiding any discomfort in the future. 16:31
masak ShimmerFairy: if you make a new attempt, and the feedback is "yeah, still too aggressive and non-constructive", don't just *complain* about you trying!
dalek c: 749e16c | (Steve Mynott)++ | bin/p6doc:
Display things which are 'Cool' so 'p6doc -f codes' for example works
masak ShimmerFairy: instead, try to listen, and adapt.
RabidGravy the going to the pub instead of typing helps too
Skarsnik m: my %h; my %t; %h<foo> %t; # that a weird error
camelia rakudo-moar 20c796: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gY4MTk1qJA␤Undeclared routine:␤ t used at line 1␤␤»
ShimmerFairy I did think about a "what to do in the future post", but I think I felt I wouldn't do a very good job on that kind of post either :/ 16:32
masak Skarsnik: it parses it as `$h<foo> % t`
sjn \o
masak sjn: o/
ShimmerFairy RabidGravy: not when it would be both illegal for me and not at all in my area of interests
16:32 zakharyas joined
nine ShimmerFairy: even though your tone is less emotional in your latest blog post, the contents is still the same. Your still just talking about what it cost you and how wrong the actions were that no one can change now. They're done. It's happened. It won't help if you write about them 10 more times. 16:32
sjn happy new year, #perl6 \o/
Skarsnik oh right masak
masak Skarsnik: but I agree, it's confusing :)
Skarsnik I missed a ; on the previous line 16:33
16:33 _Vi joined
Skarsnik RabidGravy, you can document that somewhere? maybe in the module part or NC 16:33
nine ShimmerFairy: if you feel you cannot do a constructive post about the future, simply don't post at all. That said: even if you fail at creating sensible guidelines and post them anyway, I can guarantee you that the results will still be much better than your previous posts. 16:34
masak ShimmerFairy: "Thanks for breaking my project to make precompilation and stuff work. Really appreciate it. I didn’t really want to work on it anyway." -- that's passive-aggressive.
16:34 FROGGS joined
nine ShimmerFairy: because it's constructive. And construvie behavior invites construcitve response. 16:34
lucasb i.imgur.com/mK8xGw2.jpg
masak ShimmerFairy: I wonder how or who you think you're helping by doing this.
RabidGravy I actually went out and fixed all the things. 16:35
masak lucasb: good advice. thanks. :)
RabidGravy lucasb++ 16:36
nine /win 32
RabidGravy or I'll release the ponies
Skarsnik Yay ponies 16:37
masak thought those had been put out to pasture long ago
16:39 FROGGS left
ShimmerFairy I'll try to be more constructive in the future, but god I would love it if just once I could share an unpopular opinion or viewpoint here and have at least one person see some of the good in what I'm trying to say. In any case, now I feel like shit and it's time for bed. 16:40
16:40 ShimmerFairy left
ChoHag wtf? Why is something flashing? 16:40
flussence because win32! 16:41
yoleaux 12:05Z <nine> flussence: if you want to play around with a SQLite based CompUnit::Repository, now's as good a time as any. Maybe github.com/niner/CompUnit-Repository-Panda can inspire you
15:03Z <nine> flussence: precompilation doesn't care about $*CWD. It only writes files to one of the precompilation repositories contained in modules repositories. If you use lib 'foo/lib'; we will write into foo/lib/.precomp. Without a -I, PERL6LIB or "use lib", we write into ~/.perl6/
nine ChoHag: I seem to have missed a key in the key combo for Find... and didn't notice the ctrl+f character in the input line
ChoHag But irssi should be stripping those. 16:42
masak ShimmerFairy: there's a clear difference between an unpopular opinion and irclog.perlgeek.de/perl6/2016-01-01#i_11815276 16:43
ChoHag Maybe it doesn't strip, but also doesn't log, literal control characters.
timotimo oof. slogging through the old perl6 wiki is much more strenuous than it has any right to be ...
RabidGravy I've come to the conclusion over the years that there are people who are "just like that" and what they say might piss me off sometimes but I value it for challenging me
dalek c: 8eec870 | (Steve Mynott)++ | doc/Type/Str.pod:
list codes as one alternative to 'length'
16:44
ZoffixWin .tell ShimmerFairy I can certainly see the *reasons* for your frustration and the reasons for writing that blog post, but merely attacking the person responsible for your unpopular opinion does not make anything better. Your frustrated post could easily have been a post about a choice between poorly-tested code and a release without a key feature.
yoleaux ZoffixWin: I'll pass your message to ShimmerFairy.
pmurias masak: do you know when jnthn will be back to #perl6? (I'm assuming he is on well deserved post release vacaction ;) 16:46
Skarsnik I love mistake like "Why this code did not work" 10 min later "Ok I define the sub but forget to call it ><"
16:46 nige1 left
cygx notes that some bugs about &open opened by masak++ on my behalf are still open 16:46
ZoffixWin Yo dawg 16:47
cygx specifically #125170 and #125168
those can go
RabidGravy woot
masak pmurias: nope, no information about that -- sorry.
virtualsue pmurias: i hope he and his wife are having a wonderful holiday season and he comes back *much later* ;-)
timotimo cygx: we usually put the commit hash of rakudo/nqp/moar and roast that fix things into the "closed" message on RT; can you dig those up?
cygx timotimo: 36f773eb010df7c6b8bf0d431d209537a6061d15 16:49
masak would like to better be able to express the wrong assumption ShimmerFairy's post makes about how to herd open-source cats
cygx (rakudo, that is)
I sympathize with ShimmerFairy to a degree 16:50
flussence I'll keep my trap shut regarding the content, but I'm grateful that we as a community are mature enough to *have* an argument, and then try to get over it afterwards, instead of resorting to waving around banhammers at the first sign of disagreement. That kind of culture tends to lead to everyone trying to “make the first shot count”.
cygx I distinctly remember thinking "dude, has anyone ever tried this" at various times
masak flussence: banning someone didn't even occur to me. what good would that do? 16:51
flussence I've seen other languages get a little trigger happy with it: it does *no* good most of the time... 16:52
masak cygx: that's what the past *seven years* have been for me with Rakudo.
RabidGravy I think that was the point :)
masak cygx: still, I try to be constructive about it.
virtualsue there is the occasional person in some large communities who will not stop trolling despite a lot of effort to include them 16:53
16:53 BenGoldberg joined, bitmap joined
masak my closest thing to a straight-out rant blog post is probably this: strangelyconsistent.org/blog/the-ty...rcical-faq 16:53
I still re-read it sometimes and chuckle
virtualsue (in my limited experience)
RabidGravy :)
masak note that the only one mentioned in that post is jnthn++, who fixed the bug.
cygx I mean, this is not the first time this has come up 16:54
it's pretty close to the reason why chromatic left huffing and puffing
virtualsue i'd say you are wonderfully even-tempered masak :-) 16:55
16:56 ugexe joined
masak virtualsue: I have an extremely dry sense of humor. 16:56
virtualsue yes, i've noticed
gfldex If you share frustration with a lover you halve it. If you share it with a stranger you double it. 16:57
masak gfldex: and open source is a bunch of (relative) strangers collaborating on something 16:58
gfldex politeness is an artform very few master, but is essential to contain bad emotions in a group of humans
RabidGravy gfldex++
nailed it 16:59
timotimo i think i can appreciate that ShimmerFairy wants a bit of moral/emotional compensation for the way the early branch merge - needed though it may have been - brought her at-that-time ambitions to do good work to a grinding halt
stmuk_ BTW what happened to moar serialization? I think it was in a branch
timotimo i myself would have had a rather hard time expressing my anguish(?) at that in a suitable manner 17:00
maybe it'd be a good way forward to abstract away from the text in that post; i'm not sure ShimmerFairy actually wanted to attack nine personally, for example
masak timotimo: I don't think any of that successfully expressed anguish should come at the expense of nine losing his enthusiasm to do more good work on Rakudo core. 17:01
timotimo that's true
masak timotimo: and I think it currently does, and not because nine is being unreasonable.
RabidGravy but you need to use language carefully
gfldex i would like to add that to change the collective behaviour of a group of humans bigger 1, you pretty much require massive drama. What means that politeness often gets you fuck all. 17:02
timotimo maybe what we should take away from the post is that our "calls to test branches" should be much more institutionalized
gfldex humans are hard :(
timotimo humans are squishy
masak timotimo: "much more institutionalized" -- unless you mean "automated", good luck :P
17:03 itaipu joined
gfldex squishy objects require complex packaging 17:03
virtualsue and not safe to eat
llfourn I can sympathize. I'm glad we have CURLi even if it broke stuff. But I have a project that I haven't revisited yet because it is still pretty broken after it. It's hard for me to muster up the effort to debug code that was working before.
virtualsue *in the literal sense, thanks* :-)
timotimo masak: whenever a branch needs testing, we force everybody to switch to the branch immediately for a whole day. whoever doesn't comply has to bake cookies and distribute them across perl6 devs via snail mail.
cygx also, developers shouldn't just remain in their own specialized little sandbox that they have customized to their own needs, but from time to time try to anticioate what the average user would do
*anticipate
flussence
.oO( any human ends up dry, tough and unpleasant if you roast them for too long )
17:04
timotimo cygx: right; like "installing rakudo into the system" is so incredibly rare, as ShimmerFairy noticed
i'm reluctant to do that, for example. and i'm also reluctant to change my ways of handling my rakudo installation 17:05
:|
flussence well, rare prior to 2015.12, and then everyone who tried discovered it didn't work...
timotimo well ... yeah 17:06
apparently it used to work before curi landed, though
anyway, i have to go AFK for a bit
flussence I've spent more time in the past month trying to get it to work than writing perl6 code :D
17:07 mscha left
flussence (and I kinda succeeded!) 17:07
RabidGravy for reference I tested and fixed 29 modules and their dependencies on the 24th of december and I'm totally cool with that 17:08
17:08 Emeric left
RabidGravy work has to be done and I don't think I'm the centre of the universe 17:09
llfourn RabidGravy++
nine llfourn: I think I've seen a half sentence about something being broken there ;) If you elaborate on that, I may be of assistance.
stmuk_ 2016 will be different everything will be stable! :)
Skarsnik I made lot of module needed to be fixed, huhu 17:10
llfourn nine: see RT #127034, #127086 -- I think there are some I have yet to golf and no precompilation has worked around them in the mean time :) 17:12
RabidGravy but that's fine isn't, you could have made the changes that needed to be made such that the modules didn't need fixing :)
flussence I think I scared off the gentoo people with my over-eager attempts to throw 2015.12 at them though :(
it worked on day 1, then I looked at it a few days later and realised “oh shit” 17:13
pmurias nine: don't get discouraged by a rant or two, I find it awesome that you are working on precompilation as it's something that was very badly needed
dalek ar: 1376cda | hankache++ | docs/perl6intro.pdf:
add a pdf copy of perl6intro.com as suggested by timotimo++
ar: 6b33fe9 | (Steve Mynott)++ | docs/perl6intro.pdf:
Merge pull request #59 from hankache/master

add a pdf copy of perl6intro.com
masak yes, what pmurias said.
RabidGravy pmurias++
17:14 pippo joined
pippo o/ #perl6! Happy New Year!!! 17:14
cygx agreed, automatic precompilation was necessary
17:14 pierre-vigier joined, pippo left
nine llfourn: rt.perl.org/Ticket/Display.html?id=127086 is closed. If it's still an issue for you, please add information about why your module cannot avoid writing to STDOUT during compile time and more importantly: if you know of a platform independent way to avoid using STDOUT for passing back dependency information. 17:15
llfourn is also very appreciative of precompilation and CompUnit stuff
cygx (though I'm a bit sad that it broke my previous workflow with manual precompilation)
masak if you are doing something relatively rare, such as doing a system-wide install, and finding before everyone else that it breaks -- the experience of having your stuff break will be frustrating, and you may not get the immediate feedback you expect, but... you also have an opportunity to help make it right. this opportunity can be squandered by e.g. writing blog posts about how frustrating stuff is and how wr
ong people are
clearly I should write shorter lines :)
s/wr\nong/wrong/ :)
RabidGravy masak++ 17:16
llfourn nine: ah whoops it looks like I only get the inital bug report in my inbox and missed your followup :\
17:16 haircode joined
flussence (if only irc clients would warn you when you hit the server's maxlength limit...) 17:16
17:17 haircode left
llfourn nine: I will change all my printing to note :) 17:17
pmurias being faced with writing a Makefile to precompile Perl 6 code really made be want to rant it not being the 20th century anymore ;)
17:18 haircode joined
nine llfourn: to be fair: using STDOUT is really just a hack that is waiting for the real solution (TM). I did not anticipate actually getting through with it. 17:18
cygx commute& 17:20
nine llfourn: do you know if #127034 has been an issue when precompiled manually before the curli merge?
17:20 cygx left, _Vi left
llfourn nine: nope, no idea 17:21
nine llfourn: might be that the issue has existed for a long time and has just been brought to light by automatic precompilation 17:22
stmuk_ is there intended to be a R* based on 2015.12 or is better waiting for 2016.01 better? 17:23
llfourn nine: Probably. Precomp exposed a lot of rough edges :)
nine stmuk_: either a 2015.12.1 or 2016.01
pmurias llfourn> nine: ah whoops it looks like I only get the inital bug report in my inbox and missed your
flussence are we waiting on anything else urgent to be fixed, or could we do a 2015.12.1 soonish? 17:24
llfourn nine: fwiw I got the idea from this presentation by jnthn++ jnthn.net/papers/2015-fosdem-static-dynamic.pdf 17:25
17:25 pierre-vigier left
llfourn (page 68) 17:26
17:27 Skarsnik left
llfourn nine: btw I have noticed that you have fixed other precomp issues. Thanks. #126880 and #126878 can be closed. 17:31
nine llfourn: where is my package EXPORT::DEFAULT actually documented?
17:32 nige1 joined
llfourn nine: in synopsis? I think it's S11. 17:32
nine: design.perl6.org/S11.html#Exportation 17:33
17:33 ugexe left 17:34 _mg_ left 17:35 nowan left, bitmap left 17:36 dddddf joined
nine llfourn: why do you use BEGIN there? The code runs at BEGIN time anyway when the module is use'd? 17:36
llfourn nine: I think you're right. I think I used BEGIN just to golf it simpler. 17:37
nine llfourn: BEGIN as a statement prefix does work. I think the uninvokable object the error is talking about may be the BEGIN block
llfourn nine: hang on lememe see if I can do it without BEGIN 17:38
17:39 nowan joined
llfourn nine: ah no. The error doesn't happen until you try and call foo at runtime. 17:41
but it does need the BEGIN to trigger it... 17:42
but I don't think it's talking about the BEGIN block unless something I don't understand is happening. 17:43
17:44 ugexex joined
llfourn nine: I guess putting it in BEGIN is right though. I want to populate EXPORT::DEFAULT at compile time. 17:44
and by that I mean that I want to have EXPORT::DEFAULT serialized with all the stuff in it to the precomp file. 17:46
ugexex tony-o "disappeared" from the project because he planning and building, wanting to submit a somehwat completed implementation instead of a rough sketch. i know this because i had quite a few hour long meetings discussing my personal concerns and saw his work first hand. its not really fair to say he disappeared; all 4 people who were associated that stuff at the time also stopped at the same time
17:48 nexysno_ left
llfourn nine: I must sleep now (5am here). Thanks for taking a look. I do hope to get back to my stale projects and revive them. I should have some more concrete RTs then :). 17:52
night all happy new year :D
dalek ar: e0935ac | (Steve Mynott)++ | docs/CREDITS:
use CREDITS.p6 to add more names with some manual dedup as well
17:53
osystem: e8b823e | (Dave Rolsky)++ | META.list:
Add File::LibMagic to ecosystem
17:54
autarch oops, I didn't really mean to add that directly - forgot I actually had commit on the repo
ChoHag Ooh a room full of programmers. Probably a good place to ask this:
17:55 cygx joined
ChoHag Do any laptops these days have a decent keyboard? 17:55
My T410 is dying.
17:55 Skarsnik joined
cygx flussence: there's the switch to libuv 1.8 in the queue, but not sure if that should happen before R* 17:55
cygx thinks it would be a nice gimmick if R* happened on 'orthodox Christmas' 17:56
17:56 llfourn left
stmuk_ cygx++ 17:56
ChoHag Then we have until Thursday.
Skarsnik re
autarch ChoHag: the thinkpad keyboard is _ok_ but I prefer the older ones 17:57
flussence the libuv thing probably won't be a big enough deal to block on; old moarvm bundled 1.0 (or something like that), I've been compiling with 1.7 the whole time
autarch I have an X230 for reference
Skarsnik whelp, now I just need to generate NC code with : gist.github.com/Skarsnik/fd901dd8d26399fe4226 :)
stmuk_ ChoHag: no my T400 died recently and there are *no* keyboards with the quality of the old thinkpads
flussence has enough experience using keyboards to know I've never used a good keyboard, period.
17:57 atweiden joined
stmuk_ the "gamer" mechnical keyboards with Cherry switches are pretty good 17:58
Axord No good wars, no good keyboards.
ChoHag The one I'm using now is nice, since The Great Spillage of 2015 killed the laptop's.
autarch yeah, I'm not thrilled with lenovo for changing the design - but the new ones are usable enough - but I do most of my work on a desktop with an old IBM server keyboard (IBM 7953)
17:58 wamba left
Skarsnik I miss they keytronics keyboard from my school x) 17:59
stmuk_ there was talk of a Old School Thinkpad being released
ChoHag Really the only point in a laptop is to be a keyboard with a screen attached and neither can be found, even separately.
18:00 user74747 joined
ChoHag It's why I'm still on this even though it's now more dongle than device. 18:00
At least I'd feared as much. Now more or less confirmed. 18:01
18:06 nexysno_ joined 18:08 zwu joined
nine ugexex: sorry, I just meant, that I couldn't find anything more on the topic. It's a shame, that his input was lost in the process. 18:08
Skarsnik Is there a nice way to continue code after a MAIN block? like sub MAIN(argstuff) {}; The real code to be executed; 18:09
18:09 raiph left 18:10 _Vi joined
autarch I see the use "try" in some p6 code but it's not mentioned in the docs. Is this an outdated usage? 18:10
18:11 nexysno_ left
zwu is there examples about packages the import and declare) in the detail, the documentation is too minimal. 18:11
18:12 cognominal joined
gfldex autarch: well spotted, i will try to add try to doc.perl6.org/language/exceptions 18:13
autarch so uh, how does it work?
flussence autarch: "try" isn't as important as it is in other languages, so maybe that's why it doesn't get as much coverage
gfldex try is kind of a scope for Expection::throw
flussence it just makes fatal stuff in that scope non-fatal, basically
autarch but it doesn't pair up with a catch? 18:14
m: die q{foo}; CATCH { say "CAUGHT $_" }
flussence you can put a catch anywhere in p6
camelia rakudo-moar 20c796: OUTPUT«CAUGHT foo␤foo␤ in block <unit> at /tmp/uSspcHNbF_ line 1␤␤»
gfldex it's unfatalises if the exception is handled
cygx flussence: actually,it makes things *more* fatal, but has an implicit CATCH block that ignores errors by default
autarch note that the code I just showed spits out the "CAUGHT foo" followed by "foo\n in block ..."
lsm Green switches all the way. Now, if only a laptop had them.
cygx S04: "Additionally, the try block or statement implicitly enforces a use fatal context such that failures are immediately thrown as exceptions." 18:15
flussence autarch: it's not caught unless something in the CATCH block tests $_ as a boolean, or if there's a default {} in it
autarch flussence: ah, ok 18:16
flussence m: die q{foo}; CATCH { say ?$_; say "CAUGHT $_"; }
camelia rakudo-moar 20c796: OUTPUT«True␤CAUGHT foo␤foo␤ in block <unit> at /tmp/FhBwbM26o5 line 1␤␤»
flussence ...okay, scratch the first part
boolean is for Failure objects, you do need the given/when pattern in CATCH
18:18 pdcawley left
autarch that's kind of annoying if I want to handle _all_ exceptions the same way 18:18
dalek c: 42677fc | (Steve Mynott)++ | bin/p6doc-index:
work around PROGRAM-NAME displaying a SHA hash
18:19
18:20 frankjh left
cygx autarch: annoying how? there's default {...} 18:20
autarch cygx: just seems like tedious boilerplate when I'd rather write "CATCH { do-my-thing }"
18:22 atweiden left
ugexex m: die "foo"; CATCH { say $! } 18:23
camelia rakudo-moar 20c796: OUTPUT«Nil␤foo␤ in block <unit> at /tmp/U0Bzps4iO6 line 1␤␤»
cygx m: die "foo"; CATCH { say $_ }; say $! 18:24
camelia rakudo-moar 20c796: OUTPUT«foo␤ in block <unit> at /tmp/k4uhr2VGnB line 1␤␤foo␤ in block <unit> at /tmp/k4uhr2VGnB line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/k4uhr2VGnB line 1␤␤»
mst autarch: I can see forcing people to think about that turning out to be a nice thing for the world overall 18:25
cygx m: die "foo"; CATCH { default { say $_ } }; say $!
camelia rakudo-moar 20c796: OUTPUT«foo␤ in block <unit> at /tmp/S2gNbMs3cA line 1␤␤»
autarch ah, if I can just right default with the given that's a bit better 18:26
18:26 Tonik left
TimToady exceptions are supposed to be exceptional, so I don't see much point in huffmanizing that shorter 18:26
18:27 pdcawley joined, pdcawley left
autarch could be worse, I could be back to writing Go ;) 18:27
nine cygx: please let's identify and fix the most pressing issues before picking any release date. Picking the date in advance has shown its downsides quite well :) 18:28
18:29 nemsys left
pochi .u 束 損 18:30
yoleaux U+0020 SPACE [Zs] ( )
18:30 itaipu left
ugexex theres always `try { ... } || <handle $!>` 18:31
nine mst: your input on github.com/rakudo/rakudo/commit/92...e43d3765da would be appreciated
cygx nine: spoilsport :p
are there any pressing issues besides panda and distro packaging?
mst nine: hm. how come it needs that, given panda seems to be able to already not install already-present transitive deps? 18:32
Skarsnik cygx, document precomp stuff x)
nine mst: panda has a state file which it stores into the repo in panda/state and where it records what it installed so far. That's redundant information and therefore almost by definition out of sync
mst ah 18:33
that ... explains a number of things that were confusing me.
nine The (literally) one bit of extra information it stores is whether something was installed directly, or as a dependency of a requested module. 18:34
mst right, sec
18:35 dddddf left
flussence I'm pretty sure it changes that one bit if you install something later that turns an earlier thing into a dep... 18:35
18:35 lucasb left
nine I'll be AFK for about an hour for the last episode of Planet Earth 18:35
18:39 _Vi left, virtualsue_ joined, virtualsue left, virtualsue_ is now known as virtualsue 18:46 pmurias_ joined
dalek c: ed0278d | (Steve Mynott)++ | bin/p6doc:
work around PROGRAM-NAME displaying a SHA hash
18:47
18:47 spider-mario left
dalek c: c92167d | (Wenzel P. P. Peppmeyer)++ | doc/Language/exceptions.pod:
doc try blocks
18:47
c: 8f94623 | (Wenzel P. P. Peppmeyer)++ | doc/Language/exceptions.pod:
Merge pull request #307 from gfldex/master

doc try blocks
gfldex autarch: see github.com/perl6/doc/commit/8f94623923 18:48
18:49 anol joined, pmurias left
autarch gfldex: thanks - I think it'd be good to add some annotations to the code example to show the order of when each thing will run and be seen 18:49
18:52 average joined
mst nine: basic shape of the code looks entirely reasonable although I'm not amazingly fond of the odd mix of '$handle ||=' and '$handle //=' (and I tend towards single-assignment styles anyway) 18:52
average hey mst , happy new year
18:52 llfourn joined
average amazing that p6 was released 18:52
but now what.. 18:53
perigrin Now we try to use it in places we wouldn't have before, and write up what works nad what didn't so people with more cautious needs can follow along. Then fix what didn't work and write that up too. 18:56
gfldex average: you gonna write loads of useful modules in Perl 6 and add them to the eco system.
18:56 mscha joined 18:57 pierre-vigier joined
gfldex there are plenty of bugs to be fixed and rakudo can and will be a good bit faster 18:57
18:57 FROGGS joined, llfourn left
mst oh, hey, it's my biggest fan, the only guy I've had to reban more times than evan carroll 18:58
average wrote i.imgur.com/DrwIb.png back in the day, I'm looking forward to the next love letter, I bet it'll be even more awesome :D
18:59 nige1 left
average gfldex: getting rakudo to be faster would be nice, having more modules would be nice 18:59
[ptc] gfldex: dumb question: why don't you just commit to the doc repo directly?
average blog.garage-coding.com/2015/12/20/o...jects.html
[ptc] gfldex: that would save two emails and a pull request and a merge commit in the doc repo
average I wrote this blogpost about places where Perl5 is being used
[ptc] gfldex: I'm assuming you've got a good reason, I just haven't yet worked out what it is, and I'm curious :-)
average I believe much of the success of p5 comes from the strong positioning in certain areas that it was able to make early on 19:00
gfldex [ptc]: technically the pull request hits a build server that will test the build. Sadly that test runs for the better part on one hour, so I refuse to wait that long and just hit the button.
[ptc]: when rakudo gets faster ...
average I wonder if this is a language-design question, or if it's a user-base decision and trend question
what is p6 positioning itself for, and what niches does it plan to cover ? 19:01
perigrin "plan" is such a strong word.
[ptc] gfldex: but a push to the doc repo should also trigger a build (at least theoretically). If not, then the relevant build switch needs to be turned on
average perigrin: please replace "plan" with something else
here is another link with a survey of the Haskell eco-system github.com/Gabriel439/post-rfc/blo...er/sotu.md 19:02
19:02 bartolin_ left
perigrin average: I can't, you seem to be suggesting that p5 "planned" on covering the markets it happened to cover in the late 90s 19:02
average perigrin: maybe my suggestion is wrong
perigrin from what I can tell the only time someone Planned on Perl covering a specific nich was when TimToady first released it to work as a systems tool.
gfldex [ptc]: when you create the PR you get a little windows that would display the test result, I could wait for that, read error messages and decide if I want to hit the merge button.
19:02 pmurias_ left
average perigrin: log analysis and automation ? 19:03
[ptc] gfldex: oh, now I get you!
perigrin average: "more structured than shell, less structured than C" really ... log analysis and automation is too fine grained. 19:04
average I see, ok
19:04 pmurias joined
[ptc] gfldex: building the html locally also takes ages... However the test suite doesn't take that long 19:04
perigrin in my experience the only people who target "niches" like that are corporations who a) have a bunch of marketing and sales people sitting around and b) have the ability to really focus like that by paying people to be interested in log analysis and automation 19:05
Open Source works more as a pull than a push. "Hey I hate doing log analysis and automation because [reasons it sucks]. I found that [wiffy new tool] helped! Here's how!"
[ptc] gfldex: maybe we need to extend the test suite so that it picks up problems sooner, and people can run the tests locally to check that a push to the doc repo would work
perigrin then everyone piles on for a while
[ptc] gfldex: although, just updating text should be fine, so that wouldn't need separate PR/merge steps 19:06
average perigrin: well.. i think there's a fair amount of things that need to be in place before the "everyone piles on for a while" part
mainly quality
ooor... not many alternatives 19:07
IOW the lack of alternatives
19:07 nexysno_ joined
average perigrin: so you would advocate organic/natural growth and not a systematic plan ? 19:08
perigrin Well yeah the context surrounding programming is vastly different between 2016 and 1994 or 1987
average: I think that you can have a systematic plan all you want. I think what you'll get is organic/natural growth. 19:09
19:09 itaipu joined
perigrin so it's not advocacy so much as pessamisim. 19:09
average :)
perigrin: I agree with you that 2016 is very different from 1994/1987 19:11
perigrin I also think that being unrealisitically optimistic (read _optimistic at all_) about a systematic plan will lead to the open source community actively rejecting you as being an naieve idiot.
gfldex [ptc]: the build system doens't check if there is a =begin pod in any file. So deleting a single line in a file can make the whole doc disappear
perigrin That said, I don't disagree with actually having one though. I just think that you need to be realistic about how well such a plan will match reality. 19:12
gfldex [ptc]: that's why i made myself a little helper tha can render all doc files in 1m13s.
average so maybe the language designers have something in mind when they design the language 19:13
gfldex [ptc]: however, i do agree that for now i'm annoying and should change my workflow
19:13 nexysno_ left, zwu left
average like maybe in the '80s general purpose was fine because there weren't that many alternatives, and there were still holes in the market that needed to be filled 19:13
[ptc] gfldex: I'm not saying you're annoying :-) I was just wondering about the workflow. However, I do agree that it's sort of noisy... 19:14
average but today's languages have mostly covered the market's needs. there's also a lot of market fragmentation going on
19:14 bartolin joined 19:15 anol left
[ptc] gfldex: my gut feeling had been that people with commit bits would just `git push` to the repo. Nevertheless, if there are other ways people can be productive, I'm all for it! 19:15
average also some power law going on where 2-3 languages have near 80% marketshare, and the rest fight for the remaining 20%
autarch it seems like I get 2-3 copies of every compilation error being spit out to the console
mst and just yesterday you were complaining about not getting -enough- errors 19:16
perigrin autarch: mst's right ... seems like progress to me ...
mst you hurt the compiler's feelings and it's overcompensating
autarch haha
it's been doing this for a while, actually
virtualsue average: your conversation is a great example what i'd love to see on irc.perl.org/#perl6 19:17
Skarsnik m: say "piko{"; for ^4 -> $f {} # LTA? 19:18
camelia rakudo-moar 20c796: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PIn__Hzs8W␤Variable '$f' is not declared␤at /tmp/PIn__Hzs8W:1␤------> 3say "piko{"; for ^4 -> 7⏏5$f {} # LTA?␤»
average virtualsue: I'm glad you do, I like Freenode better tbh
virtualsue oh, that's fine
flussence Skarsnik: that error makes me go wtf
TimToady it's parsing a "", so $f is trying to interpolate 19:19
Skarsnik it's the { at the end of the %
"
TimToady -> is just string
average twitter.com/OpenCageData/status/68...8231937024
here's an oportunity ^^
mst virtualsue: average is permanently banned from irc.perl.org for disrupting every channel he's ever joined and responding to being asked to stop insulting people with ban evasion rather than thought 19:20
flussence oh right, the {
average it's an ok oportunity .. more or less
mst after the fifth channel or so we removed him from the entire network so people could actually get some work done
Skarsnik took me a while to found my mistake x)
mst we tried letting him back on earlier this year; it didn't work
19:21 pierre-vigier left
average but what I would personally like to see, is someone figuring out what 2016 really means and have p6 take over a piece of the pie. this tech pie is really weird, slices get taken away but also added ! 19:21
virtualsue heh, well i'm not surprised there is a back story, however in this case meta discussion on irc.perl.org/#perl6 wouldn't be unwelcome
masak average: "today's languages have mostly covered the market's needs" -- I used to think that was true. nowadays I think that's a too static view of things, caused by a short-term perspective.
flussence perl6 is more about writing a *good* programming language than dominating some market or other 19:22
virtualsue as this is the official channel for perl6 dev
masak average: languages are evolving all the time, cross-pollinating and influencing each other.
mst virtualsue: perhaps. but irc.perl.org is not somewhere he's permitted, full stop.
virtualsue yes i gathered that and i don't know why you are going off on me
but thanks anyway
19:22 webstrand joined
flussence if it was all about making money, I sure as hell wouldn't be here working on it in my free time. 19:23
masak average: what's more important, though, is that we (the programming guild as a whole) *suck* at developing reliable, robust software to spec, within budget, and on time.
mst I'm not going off on you. I'm just saving you the trouble, and the irc.perl.org opers a week of dropping G-lines
masak average: we know next to nothing, and our languages are definitely not covering the market's needs.
19:23 harrison__ joined
Skarsnik Finally, I wrote something to generate NC stuff from an header :) gist.github.com/Skarsnik/fd901dd8d26399fe4226 19:24
geekosaur oh, they're in here now 19:25
average masak: many people believe that the level of reliability/robustness and delivery time depend on the developers
masak: and not the language
geekosaur apparently it's time to disrupt the freenode language channels now
average sure there's always the two schools of thought like who's fault is it for something going wrong ? is it the developer's fault or the technologies he used ?
flussence Skarsnik: ooh, I want to see how much it butchers sqlite.h :D
Skarsnik I need more work on typedef and union (and see if I can grab enum that are not C enum) 19:26
average that Natanel Rubin guy blames technologies
flussence actually opens sqlite3.h... ouch. 19:27
TimToady yawns
mst flussence: quick, bleach your brain by reading a random openssl header
Skarsnik I will commit this stuff after dinner
average many blogposts from business-types blame the people
cygx
.oO( it's always the developer, never the language - that's why I do all my web programming in assembler! )
flussence mst: I've already read enough libressl patches to have permanent brain damage from that :D
Skarsnik I don't know. language does not feel important for me if you have enought manpower to make it work (see Java) 19:28
average who here likes Natanel's presentation ? 19:29
mst: you like Natanel right ?
flussence I'm beginning to see his point with all this obstinate passive-aggressiveness... 19:30
19:31 webstrand left
cygx Skarsnik: manpower does not come for free 19:31
average well, don't jump to conclusions
19:31 molaf joined
TimToady average: you're being poisonous, please stop 19:31
average i'll stop, fine
Mouq timotimo: re: irclog.perlgeek.de/perl6/2016-01-01#i_11815404 Orrr… graydon2.dreamwidth.org/1597.html bors has worked as a pretty good system for Rust developers 19:36
timotimo: Oh, wait. I'm dumbs. Just got up, ignore me, that doesn't actually adress the issue in this case :P 19:40
19:40 Dave___ joined
average TimToady: www.youtube.com/watch?v=sGWZFcsyMgA 19:40
19:40 Dave___ left 19:41 dpuu joined
pochi m: class Foo { has $!secret = (^10).pick; method sauce(Foo $other) { say $!secret + $other.$!secret } }; Foo.new().sauce( Foo.new() ) 19:42
camelia rakudo-moar 20c796: OUTPUT«Cannot find method 'CALL-ME'␤ in method sauce at /tmp/wmjj0q9DXr line 1␤ in block <unit> at /tmp/wmjj0q9DXr line 1␤␤»
19:43 spider-mario joined
pochi call who? 19:43
pochi thinks 'has $!foo' should generate a private accessor like 'has $.foo'
RabidGravy it the . you want ~ 19:44
say $!secret + $other ~ $!secret
cygx RabidGravy: you're misreading the intention
RabidGravy probably
pochi I just want to secretly add two numbers (in that example) 19:45
flussence m: class Foo { has $!secret = (^10).pick; method sauce(Foo $other) { say $!secret + $other!secret } }; Foo.new().sauce( Foo.new() )
camelia rakudo-moar 20c796: OUTPUT«5===SORRY!5=== Error while compiling /tmp/DaViY9nb7v␤No such private method 'secret' for invocant of type 'Foo'␤at /tmp/DaViY9nb7v:1␤------> 3uce(Foo $other) { say $!secret + $other!7⏏5secret } }; Foo.new().sauce( Foo.new() )␤»
gfldex pochi: private attributes are takes for inlining, if you need an accessor for a private attribute you have to write it yourself
s/takes/targets/ 19:46
pochi gfldex: well for now. But I think it would be a good idea for perl6 to auto-generate them
cygx btw, syntactically, it would have to be this: 19:47
RabidGravy but you still couldn't use another objects privates there anyway could you?
cygx m: class Foo { has $!secret = (^10).pick; method sauce(Foo $other) { say $!secret + $other!secret } }; Foo.new().sauce(Foo.new() )
camelia rakudo-moar 20c796: OUTPUT«5===SORRY!5=== Error while compiling /tmp/5fcFm1lF8o␤No such private method 'secret' for invocant of type 'Foo'␤at /tmp/5fcFm1lF8o:1␤------> 3uce(Foo $other) { say $!secret + $other!7⏏5secret } }; Foo.new().sauce(Foo.new() )␤»
pochi if you declare method !secret(), that works
19:47 spider-mario left
pochi but then I have to type stuff ... :-) 19:47
cygx pochi: you can write a trait_mod that generates the accessor for you 19:49
19:49 nexysno_ joined
nine mst: now that I've moved the actual locating of module files out of method need, FileSystem's and Installation's are so similar, I wonder if a part of it should be moved to PrecompilationRepository. The whole may-recomp and load or (precompile and load) and the say "$id $file" if precomp are identical 19:49
mst I'm not entirely clear on the difference between the two 19:50
nine which two?
gfldex pochi: if you don't want the typing, make yourself a trait to do it for you
flussence aren't they already, in purpose, identical apart from the search path for each?
mst FileSystem and Installation
ugexex thats why CompUnitRepo::Locally was a role applied to CompUnitRepo::Local::Installation and CompUnitRepo::File 19:51
::Local::File^
cygx bye o/
nine FileSystem is just a Perl 5 style directory where we locate modules by file name, Installation is more like a database that takes auth, ver and api into account when looking for modules.
19:52 cygx left
pochi cygx, gfldex: I'd really like it if it was in the language though. 19:52
19:52 pierre-vigier joined, pierre-vigier left, pierre-vigier joined
nine FileSystem's primary purpose is during development where you just want to load those modules in your lib directory, because you're working on them. 19:53
That's e.g. why we assume that we can write there.
19:53 llfourn joined 19:55 harrison__ left
Rotwang why installed modules have mangled names like /home/ubuntu/.rakudobrew/moar-nom/install/share/perl6/site/sources/1D97043E9DBF06E7193373CA595B4337F76A3450 19:57
it looks terrible in stakctraaces
Skarsnik is there a policy to add stuff on perl6 github organisation?
blame precomp x)
gfldex Skarsnik: are you asking for? doc.perl6.org/language/modules#Dis...ng_Modules 19:58
19:59 _Vi joined, llfourn left
dpuu m: my @neighbors = (-1, 0), (0, -1), (0, 1), (1, 0); my $p = [2,3]; @neighbors >>+>> $p 20:00
camelia ( no output )
dpuu m: my @neighbors = (-1, 0), (0, -1), (0, 1), (1, 0); my $p = [2,3]; say @neighbors >>+>> $p
camelia rakudo-moar 20c796: OUTPUT«[(1 2) (3 2) (2 3) (4 3)]␤»
dpuu m: my @neighbors = (-1, 0), (0, -1), (0, 1), (1, 0); my $p = [2,3]; say @neighbors >>+<< ($p xx @neighbors.elems)
camelia rakudo-moar 20c796: OUTPUT«[(1 3) (2 2) (2 4) (3 3)]␤»
nine Rotwang: because module names may use full Unicode and not all file systems support that. And different distributions may contain files with the same name, so we need to disambiguate. That said, I believe we can still do better in the backtraces.
20:01 zwu joined
dpuu extension rules for hyper>+>> confused me ... Any way to not need the explicit "($p xx @neighbors.elems)" 20:01
m: my @neighbors = [0,0] xx 4; my $p = [2,3]; say @neighbors >>+>> $p 20:03
camelia rakudo-moar 20c796: OUTPUT«[[2 2] [3 3] [2 2] [3 3]]␤»
gfldex m: my @neighbors = (-1, 0), (0, -1), (0, 1), (1, 0); my $p = [2,3]; say @neighbors.flat >>+>> $p;
camelia rakudo-moar 20c796: OUTPUT«((1 2) (3 2) (2 3) (4 3))␤»
timotimo oh, it must be because it descends into structures, eh?
gfldex m: my @neighbors = (-1, 0), (0, -1), (0, 1), (1, 0); my $p = [2,3]; dd @neighbors.flat; 20:04
camelia rakudo-moar 20c796: OUTPUT«($(-1, 0), $(0, -1), $(0, 1), $(1, 0)).Seq␤»
dpuu yes. compiled fine but took a while to figure out why my tests were failing
gfldex m: my $neighbors = (-1, 0), (0, -1), (0, 1), (1, 0); my $p = [2,3]; say @neighbors.flat >>+>> $p;
camelia rakudo-moar 20c796: OUTPUT«5===SORRY!5=== Error while compiling /tmp/DxdneRKBgV␤Variable '@neighbors' is not declared. Did you mean '$neighbors'?␤at /tmp/DxdneRKBgV:1␤------> 3-1), (0, 1), (1, 0); my $p = [2,3]; say 7⏏5@neighbors.flat >>+>> $p;␤»
gfldex m: my $neighbors = (-1, 0), (0, -1), (0, 1), (1, 0); my $p = [2,3]; say $neighbors.flat >>+>> $p;
camelia rakudo-moar 20c796: OUTPUT«WARNINGS for /tmp/Y8boa42P3R:␤Useless use of constant integer 0 in sink context (lines 1, 1, 1, 1, 1, 1, 1)␤Useless use of constant integer 1 in sink context (lines 1, 1, 1, 1)␤Useless use of "-" in expression "-1" in sink context (line 1)␤(1 3)␤»
gfldex should't >>+>> round robin in it's RHS? 20:05
nine Now if only I could find a good method name for load-precompiled-or-precompile-if-source-changed-and-then-load
ugexex i used -I on a cluster so slaves could load modules off a central read only network share that a master controlled/rotated fwiw. maybe something else fills that role now
dpuu m: my @kNeighbors_n8 = ([X] (-1,0,1) xx 2).grep: { .all != 0 }; say "this is cool: {@kNeighbors_n8}" 20:06
camelia rakudo-moar 20c796: OUTPUT«this is cool: -1 -1 -1 0 -1 1 0 -1 0 1 1 -1 1 0 1 1␤»
gfldex m: my $neighbors = ((-1, 0), (0, -1), (0, 1), (1, 0)); my $p = (2,3); say $neighbors.flat >>+>> $p;
camelia rakudo-moar 20c796: OUTPUT«(1 3 2 2 2 4 3 3)␤»
nine www.snarky.ca/the-stages-of-the-pyt...transition
dpuu m: my @kNeighbors_n8 = ([X] (-1,0,1) xx 2).grep: { .all != 0 }; say "this is cool: {@kNeighbors_n8.perl}"
camelia rakudo-moar 20c796: OUTPUT«this is cool: [(-1, -1), (-1, 0), (-1, 1), (0, -1), (0, 1), (1, -1), (1, 0), (1, 1)]␤»
gfldex m: my $neighbors = ((-1, 0), (0, -1), (0, 1), (1, 0)).flat; my $p = (2,3); say $neighbors >>+>> $p; 20:08
camelia rakudo-moar 20c796: OUTPUT«(1 3 2 2 2 4 3 3)␤»
masak moritz: hm, getting "Internal Server Error" when I use irclog.perlgeek.de's search 20:09
20:09 _Vi left, zwu left
Mouq m: my @neighbors = [0,0] xx 4; my $p = [2,3]; say @neighbors >>+>> $p, * 20:10
camelia rakudo-moar 20c796: OUTPUT«[[2 2] [3 3] [2 2] [3 3]]*␤»
Mouq m: my @neighbors = [0,0] xx 4; my $p = [2,3]; say @neighbors >>+>> ($p, *)
camelia rakudo-moar 20c796: OUTPUT«[[2 3] [2 3] [2 3] [2 3]]␤»
gfldex dpuu: i think the problem is that >>+>> is a meta-operator, not a meta-meta-operator 20:11
_nadim I'm going to have a few questions about concurency in the coming days, and try your patience too :), if I have an object $o and schedule two tasks with $p1 = start {$o.something) ; $p2 = start {$.something}; this is a receipt for crash, right?
Mouq m: my @neighbors = [0,0] xx 4; my $p = [2,3]; say @neighbors >>+>> (@$p)
camelia rakudo-moar 20c796: OUTPUT«[[2 2] [3 3] [2 2] [3 3]]␤»
gfldex m: my $neighbors = ((-1, 0), (0, -1), (0, 1), (1, 0)); my $p = (2,3); say $neighbors »>>+<<» $p 20:14
camelia rakudo-moar 20c796: OUTPUT«((1 2) (3 2) (2 3) (4 3))␤»
dpuu +Mouq: thanks for the ($p, *) tip
20:15 Sqirrel joined
gfldex m: my $neighbors = ((-1, 0), (0, -1), (0, 1), (1, 0)); my $p = (2,3); say $neighbors »>>+<<» ($p, *) 20:15
camelia rakudo-moar 20c796: OUTPUT«((1 3) (2 2) (2 4) (3 3))␤»
Skarsnik gfldex, no on the perl6 sub on github (like perl6/DBIish) 20:16
20:19 Jukka_ joined 20:21 darutoko left 20:22 zwu joined 20:23 _Vi joined
Skarsnik how do I negate a regex (not a !~~), it's to pass to something that take a regex 20:24
20:24 jameslenz joined
zwu I don't like to use the full name for class definition, such as class X::Y::Z::MyClass {...}, is there any short name support as module X { module Y { module Z { class MyClassA {...} class MyClassB ...}}} 20:24
Skarsnik export your class? 20:26
RabidGravy zwu, what you have there will work 20:27
zwu RabidGravy, thanks, but haven't found in the doc.
20:28 domidumont1 left
RabidGravy m: module X { module Y { module Z { class MyClassA {} }}}; say X::Y::Z::MyClassA.new 20:28
camelia rakudo-moar 20c796: OUTPUT«X::Y::Z::MyClassA.new␤»
20:28 lucasb joined 20:30 pierre-vigier left, mscha left
Skarsnik I want to negate /^__/, I am too tired to think x) 20:30
dalek c: f6854ec | (Wenzel P. P. Peppmeyer)++ | doc/Language/operators.pod:
doc handling of LoLs with hyper operators
c: bb83569 | (Wenzel P. P. Peppmeyer)++ | doc/Language/operators.pod:
Merge pull request #308 from gfldex/master

doc handling of LoLs with hyper operators
20:31 TEttinger joined, zwu left
dalek k-simple: b1ddeb2 | (Naoum Hankache)++ | lib/GTK/GDK.pm6:
int -> int32

  ===SORRY!===
You should not return a non NativeCall supported type (like Int inplace of int32), truncating errors can appear with different architectures
20:32
k-simple: fcc0a6f | (Naoum Hankache)++ | lib/GTK/GDK.pm6:
int -> int32
k-simple: 49bec90 | (Naoum Hankache)++ | lib/GTK/Simple.pm6:
int -> int32
k-simple: 7ffd587 | RabidGravy++ | lib/GTK/ (2 files):
Merge pull request #22 from hankache/master

Replace int with int32
20:32 zwu joined, protium joined
Skarsnik damn too fast for me xD 20:32
20:33 telex left
masak zwu: also consider using `constant` 20:33
Skarsnik m: say "__" ~~ /<-^__>/; 20:34
camelia rakudo-moar 20c796: OUTPUT«5===SORRY!5===␤Unrecognized regex metacharacter < (must be quoted to match literally)␤at /tmp/6pUQd5if0N:1␤------> 3say "__" ~~ /<-7⏏5^__>/;␤Unrecognized regex metacharacter - (must be quoted to match literally)␤at /tmp/6pUQd5if0N:1␤-…»
masak m: constant CPR = X::Pragma::CannotPrecomp; say CPR
camelia rakudo-moar 20c796: OUTPUT«(CannotPrecomp)␤»
20:34 telex joined
Skarsnik m: say "__" ~~ /^<-__>/; 20:34
camelia rakudo-moar 20c796: OUTPUT«Method '__' not found for invocant of class 'Cursor'␤ in block <unit> at /tmp/EptCmQkqJN line 1␤␤»
masak Skarsnik: what are you trying to do? 20:35
gfldex i shall now resume with docing exceptions by docing resuming of exceptions
zwu I saw most of exception class definition github.com/rakudo/rakudo/blob/nom/...ception.pm is using the full name under global scope, such as my class X::AdHoc is Exception , my class X::NQP::NotFound is Exception. Since they are all under namespace X, why not to use the module X {...}
20:35 SwellJoe joined
Skarsnik to have the oposide of /^__/ -> to no match stuff begining with __; but it's too give to a method that take a regex, so I can't do !~~ 20:35
20:35 pierre-vigier joined
Skarsnik Oh I can write * !~~ /^__/ x) 20:37
lucasb Skarsnik: but the method expects a regex object or a whatervercode object? 20:38
by WhaterverCode object, I meant Callable 20:39
20:39 zwu left
Skarsnik it's the elements method of XML, you can write my @not-red = $div.elements(:class(* ne 'red')); :) 20:39
masak m: say "__" ~~ / ^ <!before "__"> /
camelia rakudo-moar 20c796: OUTPUT«Nil␤»
masak m: say "foo" ~~ / ^ <!before "__"> /
camelia rakudo-moar 20c796: OUTPUT«「」␤»
masak m: say so "foo" ~~ / ^ <!before "__"> / 20:40
camelia rakudo-moar 20c796: OUTPUT«True␤»
20:41 _Vi left
RabidGravy zwu, they're not exactly equivalent 20:42
m: class Y::Foo {}; say Y.HOW; module Z {}; say Z.HOW 20:43
camelia rakudo-moar 20c796: OUTPUT«Perl6::Metamodel::PackageHOW.new␤Perl6::Metamodel::ModuleHOW.new␤»
RabidGravy oh left again
flussence disappears for an hour or two, but leaves this for thought -- “==> Please make sure that inst#/home/foo/.perl6/$version/bin is in your PATH” isn't sustainable. We can't expect every end user to modify .bashrc every time their distro updates perl6.
RabidGravy I would say a packager would make there own arrangements 20:44
thir
their 20:45
even
20:46 dpuu left 20:47 Jukka_ left
lucasb oh, it's under ~/.perl6 now? last time I played with it, it was installing under share/perl6/site/bin 20:47
*it's installing under
ugexex it installs wherever you tell it 20:49
20:50 pjscott joined
Skarsnik flussence, if you want to have fun github.com/Skarsnik/gptrixie 20:52
20:53 llfourn joined 20:54 _Vi joined
Rotwang docs say that Tap has mettod tappers, however this is not the case 20:54
m: say so <tappers> eq any(Tap.^mro>>.^methods>>.gist) 20:55
camelia rakudo-moar 20c796: OUTPUT«False␤»
Rotwang What I want to do is to see if someone is tapped to my supply.
20:55 Holz joined
Rotwang or, i want to see if the tap is open 20:57
20:57 llfourn left, xxpor_lap left
dalek c: 6d0cfe4 | (Wenzel P. P. Peppmeyer)++ | doc/ (2 files):
doc resuming of exceptions
20:59
c: ede8def | (Wenzel P. P. Peppmeyer)++ | /:
Merge remote-tracking branch 'upstream/master'
c: 51383a7 | (Wenzel P. P. Peppmeyer)++ | doc/ (2 files):
Merge pull request #309 from gfldex/master

doc resuming of exceptions
Skarsnik m: role R { has int $!a }; class A does R { method a() { $!a = 42 } }; say A.new.a 21:00
camelia rakudo-moar 20c796: OUTPUT«Cannot assign to an immutable value␤ in method a at /tmp/mb0PbyS_Zt line 1␤ in block <unit> at /tmp/mb0PbyS_Zt line 1␤␤»
ugexex it used to be .taps, but it looks like that doesnt work now 21:01
Rotwang wrong, supply should have tappers 21:03
m: say so <tappers> eq any(Supply.^mro>>.^methods>>.gist)
camelia rakudo-moar 20c796: OUTPUT«False␤»
ugexex the docs literally say .taps, so i dont know what you are talking about 21:04
.tappers gives you the taps, which is different from what you asked 21:05
should give^
Rotwang ugexex: I confused Tap with Supply, docs say that Supply has method tapper when it doesn't 21:06
tappers*
gfldex Rotwang: see github.com/rakudo/rakudo/blob/f2dd.../Supply.pm 21:07
the list of tappers is there, but there is no public interface
ugexex yes, it also has .taps which says its supposed to give you the count of subsribers which is what you asked. .tappers gives you the actual taps. (although neither .taps or .tappers work now, like i said)
21:07 yqt joined
gfldex and i believe it would be rather difficult to provide a thread safe way to deal with the problem 21:08
Rotwang ok, thanks, the docs should be updated though 21:12
RabidGravy just doing it
;-p
Rotwang thanks [:
dalek c: 402d4d4 | RabidGravy++ | doc/Type/Supply.pod:
Remove taps/tappers
21:14
21:16 pjscott left
RabidGravy when I updated them before I was aware of the way it has changed regarding creating Supplys but not so much of what was taken out altogether 21:17
21:21 edehont joined
Skarsnik RabidGravy, if you have some time, can you play around with github.com/Skarsnik/gptrixie and the lib you already bind to see if that work nicely? I am too tired to work on it, but I am not against some feedback (it far from being complete) 21:21
21:22 edehont left
RabidGravy I had a look, I'll play in the morning though 21:23
21:25 pierre-v_ joined
Skarsnik I will try to bind gstreamer with it x) 21:26
21:27 Holz left, pi1 left 21:28 pi1 joined, pierre-vigier left 21:29 vendethiel joined 21:30 CQ left
nine .tell flussence absolutely. We really should install those wrappers in /usr/bin or ~/bin if we can't write to the former. The wrappers themselves are independent of Perl or module version. 21:30
yoleaux nine: I'll pass your message to flussence.
mst nine: I ... would worry slightly about the possible risks of making ourselves assume that 21:34
21:36 rindolf left, pi1 left
moritz well, to $PREFIX/bin 21:36
nine mst: you mean the latter part?
moritz hm, still dangerous 21:37
mst nine: assuming they'll remain independent
that's a constraint that we might not want to buy
mst points out that yesterday was "fun with wrappers" day
moritz if rakudo and panda is installed via a package manager, $PREFIX will be /usr, but that doesn't mean panda-installed stuff should end up with a /usr/ $PREFIX
nine moritz: well $PREFIX/bin with fallback to ~/bin 21:38
mst given the horrors we've experienced over the years from 'cpan as root', I'm not sure I'm convinced 21:39
21:39 flaviusb left
Skarsnik github.com/perl6/gtk-simple/pull/2...-168339317 I am confused. NC is outisde the spec, why should it stay compatible with 6.c (buggy) release? 21:40
nine mst: most of the wrapper code is actually error handling. The .files method is the only virtually unchanged part remaining from the CompUnitRepo era. We really should design an interface for the use case it's used for. That could cut down the necessary code in the wrappers. 21:41
And therefore the possibilities for incompatibilities.
21:41 pi1 joined
mst nine: yes. it should, in theory, be fine. but my "what could possibly go wrong?" alarm is going off :P 21:42
21:42 pi1 left 21:43 pi1 joined
nine Perl 5 modules happily install much larger scripts into bin/. Whatever we do can only be an improvement on that. 21:44
21:44 lnrdo left 21:46 z8 joined 21:48 pi1 left, pi4 joined
mst well, yes, I'm just trying to not commit to things that would restrict how much of an improvement later :) 21:49
21:50 pi4 left, pi1 joined, krunen joined 21:52 pmurias left, pmurias joined
nine mst: learning from Catalyst here: the less code in the script, the better :) Then upgrades don't hurt anymore. 21:53
mst that was not a hilarious transition.
21:53 pi1 left
pmurias nine: is the code in the wrapper script precompiled? 21:53
nine pmurias: nowan
pmurias: no
21:54 llfourn joined, lucasb left, pi1 joined
pmurias nine: so once we transition to it being precompiled things will change? 21:55
flussence ~/bin is LTA because that's too generic and global. perl5 local::lib uses ~/perl5/bin, we should probably follow that lead. 21:57
yoleaux 21:30Z <nine> flussence: absolutely. We really should install those wrappers in /usr/bin or ~/bin if we can't write to the former. The wrappers themselves are independent of Perl or module version.
flussence (or better yet, add XDG/equivalent stuff to IO::Spec alongside .tmpdir and .path and have it work off that) 21:58
dalek kudo/nom: f5903a5 | (Stefan Seifert)++ | lib/NativeCall.pm6:
Downgrade NativeCall type checks to warnings

While showing real portability bugs in NativeCall using code, these checks were not present in a 6.c based release. Regardless of NativeCall being checked by the spectests, there's no reason to hurt users of code, that did work on common platforms with a previous release. The warnings complain loudly enough to alert
  developers of the need to fix the issues. Until that's done, users can still
use the mostly working versions.
21:58 pierre-v_ left
Skarsnik err 21:59
flussence ((I wish I'd known about the IO::Spec stuff before that first silly patch I wrote for .precomp stuff))
Skarsnik that will make all the test fail
RabidGravy flussence, I implemented at least some of that XDG stuff in XDG::BaseDirectory
21:59 llfourn left 22:00 bitmap joined
nine Skarsnik: damn...I thought, the tests passed, but that must have been a previous run. Getting tired. 22:01
Skarsnik they use lives-ok dies-ok
22:01 ugexe joined
nine flussence: IO::Path is one of my absolute favourite Perl 6 features :) It's the first time that I'm voluntarily writing platform independent code. 22:02
Skarsnik maybe you can have a var/something to force to die on that
but the 18 test does not have a plan. maybe make test pass?
22:02 pi1 left
nine Skarsnik: no, it's indeed failing 22:02
22:03 pi1 joined
Skarsnik I don't get the 'plan' thing. it's cute when you have like 20 test 22:03
mst test plans are almost always satan. 22:04
flussence TAPv14 really needs to fix that, have a way to say "keep going until I say stop" in the header instead of "until I fall off the end of this test script" 22:05
Skarsnik thre is a done-testing 22:06
RabidGravy I've become a fan of sub tests 22:07
Skarsnik it need a warn-ok x)
nine m: { warn "foo"; CONTROL { die $_};}
camelia rakudo-moar 20c796: OUTPUT«foo␤ in block at /tmp/3daMDWa5LD line 1␤ in block <unit> at /tmp/3daMDWa5LD line 1␤␤»
Skarsnik well Test
flussence m: use Test; exit; lives-ok { fail }; done-testing;
22:07 zwu joined
camelia ( no output ) 22:07
nine Skarsnik: easy upgrading of warnings to failures ^^^
RabidGravy nine++ # you learn something new every day 22:08
Skarsnik CONTROL catch the warning? 22:09
22:09 pi1 left
nine warnings are CONTROL exceptions that can be .resume'd 22:09
zwu how to access the "static" variable defined in class as my scope? class A { my $s = "static_variable"; } . In other scope, how can we access the variable $s?
22:09 pi1 joined
_nadim I have two promises sharing a channel. one sends, one receives. the one that receives gets scheduled first. I am expecting it to block till something is send but it does not, instead it get's Any, while the other promise sends Ints. 22:09
nine It's one of those things you learn when you try to embed Perl 6 in Perl 5 despite Moar not having any embedding interface ;) 22:10
Skarsnik zwu, well it's defined as my, you need to use our if you want to make it readable with $A::s
nine Skarsnik: with such a CONTROL block all tests pass except for line 111: eval-dies-ok 'use NativeCall; sub test(Int $a) is native("fake") {*};', "Bad trait declaration"; 22:11
zwu Sharsnik, thanks.
22:11 ugexex left
Skarsnik nine, maybe you can update 04/17.t to catch the missing version warning x) 22:11
RabidGravy zwu or provide a method (possibly rw) that closes over the vatiable
i.e "class A { my $s; method s() is rw { $s }}" 22:12
Skarsnik nine, eval-dies-ok is an internal EVAL call in Test, that probably why
add the CONTROL in the eval string probably 22:13
22:13 ugexe left, bitmap left
nine Skarsnik: doesn't help. Maybe it doesn't work that way for compile time warnings 22:13
Skarsnik Oh it could be 22:14
22:14 xxpor_lap joined 22:15 ugexex joined
Skarsnik mark the test as todo? but... it's important the test that use eval work correctly ~~ 22:18
masak where's the default implementation of <ws>?
ah, src/QRegex/P6Regex/Grammar.nqp in nqp 22:19
dalek kudo/nom: 3568c1e | (Stefan Seifert)++ | t/04-nativecall/18-routine-sig-sanity.t:
Unbust NativeCall tests broken by downgrade of type checks
RabidGravy or apply the trait at run-time as a sub call?
masak no, wait. that's for Perl 6 grammars :) 22:20
nine Skarsnik: I commented out the one test
Need to get some sleep. Good night!
ugexex pmurias: the wrapper serves as the perl6 entry point to the precompiled bin script
Skarsnik 'night nine 22:21
nine ugexex: the bin scripts are not precompiled.
ugexex ok, they used to be, and that was the purpose
nine ah, interesting
22:22 Sqirrel left 22:25 regreg left
Mouq masak: nqp/src/QRegex/Cursor.nqp 22:25
22:26 vendethiel left, vendethiel joined
_nadim When do state get initalised? I send a state, that i initialize, in a channel, the first time Any is received on the other end rather than the 0 I send. 22:27
masak Mouq: thank you. 22:28
_nadim If I move the state outside the sub, then it works fine 22:29
22:33 kaare_ left
Mouq _nadim: state variables get initialized during the first run of a subroutine when they're encountered. I believe there's still a bug where if your first run of the routine doesn't include the state declaration, but later ones do, the variable won't be initialized 22:37
22:39 BenGoldberg left
Mouq Hm. Or maybe not… 22:40
m: sub f($x) { return if $x == 1; state %h = a => 1; say %h.perl }; f 1; f 2; # there it is, RT #102994 22:42
camelia rakudo-moar 3568c1: OUTPUT«{}␤»
22:42 regreg joined 22:43 BenGoldberg joined, ugexex left 22:45 itaipu left
masak Mouq: I'm semi-tempted to call that notabug 22:45
autarch what is the type of C in this code - "class C { }; say C" ? 22:46
22:46 zakharyas left
pochi Hm, a class and a subclass can't share private implementation? 22:46
Juerd autarch: The type is C. 22:47
Skarsnik autarch, Type C?
Juerd m: class C { }; say C
camelia rakudo-moar 3568c1: OUTPUT«(C)␤»
Juerd m: class C { }; say C.WHAT
camelia rakudo-moar 3568c1: OUTPUT«(C)␤»
autarch hmm, not sure how to ask this. I know C is a C, but what is C a type of?
there's no Class class is what I'm getting at, so what is it? 22:48
pochi Mu?
autarch it must be something more specific, right?
Juerd m: class C { }; my C $example; say $example
camelia rakudo-moar 3568c1: OUTPUT«(C)␤»
pochi m: class C {}; say C.^mro
camelia rakudo-moar 3568c1: OUTPUT«((C) (Any) (Mu))␤»
Mouq masak: Perhaps, but it definitely is revealing as to the workings of `state` :)
Juerd autarch: The type C evaluates to a type object, which is an undefined value that does know its type. 22:49
autarch but what type are type objects? there's no Type class either
Juerd autarch: An undefined typed variable, and the literal class identifier, are the same thing.
masak Mouq: I was a little less sure after reading the ticket. seems pugs got it right...
Mouq masak: And if notabug, IMO at least deserves documentation
autarch let me rephrase - in this code - "class C { }; class B { };" both B & C are instances of ...?
Juerd They're not instances
Mouq (not to mention testing)
autarch is it just Any? 22:50
Juerd They're types, or classes.
masak autarch: B and C are classes, not instances
autarch: an instance would be C.new
Skarsnik that's a good question
autarch so if I wanted to store this in an attribute, what type is the attribute?
RabidGravy the .HOW is wgat gives it's "classiness"
Juerd autarch: Compare to Perl 5: Foo->new... Foo is not an instance, it's a class name. In Perl 6, classes are declared instead of just strings
RabidGravy Mu
autarch note that I don't want to store a specific class instance (like B or C), I want to store a thing that is a package 22:51
RabidGravy yeah Mu
autarch but if I allow a Mu I'm allowing _anything_
Juerd autarch: The attribute can be C or C:U
autarch like if I'm storing info about a call stack - the call originated at $.package - what is $.package?
Skarsnik ::Mu ?
autarch bleah, that seems wrong
m: class Foo { has Mu $.package }; say Foo.new( package => 42 ).package 22:52
camelia rakudo-moar 3568c1: OUTPUT«42␤»
autarch yeah, that's just not helpful
Mouq Metamodel::?
RabidGravy well you could do a "subset Classy of Mu where { $_.HOW ~~ ClassHOW }"
Mouq m: package foo {}; say foo.HOW
camelia rakudo-moar 3568c1: OUTPUT«Perl6::Metamodel::PackageHOW.new␤»
Skarsnik m: class Foo { has Mu:: $.package }; say Foo.new( package => 42 ).package
camelia rakudo-moar 3568c1: OUTPUT«42␤»
autarch RabidGravy: yeah, that works, except it should allow modules, grammars, roles, etc.
Skarsnik m: class Foo { has ::Mu $.package }; say Foo.new( package => 42 ).package 22:53
camelia rakudo-moar 3568c1: OUTPUT«Type check failed in assignment to $!package; expected Mu but got Int␤ in block <unit> at /tmp/lUcqBkIvD9 line 1␤␤»
Juerd autarch: If you want to store type objects, you could use the type Any:U, which accepts only undefined values. Type objects are specific kinds of undefined.
Skarsnik m: class C {}; class Foo { has ::Mu $.package }; say Foo.new( package => C ).package
camelia rakudo-moar 3568c1: OUTPUT«Type check failed in assignment to $!package; expected Mu but got C␤ in block <unit> at /tmp/YYp_d532UO line 1␤␤»
Juerd autarch: Then you can't assign a defined value.
autarch Juerd: hmm, that might work, although it would be confusing as heck to read
Juerd m: my Any:U $example; $example = "won't";
camelia rakudo-moar 3568c1: OUTPUT«Type check failed in assignment to $example; expected Any:U but got Str␤ in block <unit> at /tmp/W4miPS3l6W line 1␤␤»
autarch maybe I'm better off storing the meta object in this case ...
Juerd m: my Any:U $example; $example = Str;
camelia ( no output )
22:55 AndyDee joined
Skarsnik RabidGravy, this does not work if you are in the class at compile time :) 22:55
autarch basically, I want to store the location _in the code base_ where an event happened - so I'd have line, file, Routine, and containing thingy - I'm getting hung up on that last bit 22:56
Juerd autarch: Types aren't locations though
autarch right, it's not a type - I think it's a package?
22:56 llfourn joined
Skarsnik maybe just store the name? 22:56
Juerd autarch: I think it is, and packages are just names, strings, iirc. 22:57
RabidGravy doesn't Backtrace or Callframe already get you some or all of that?
autarch Skarsnik: it'd be nice to at least know that the Str I'm storing is the name of a package and not some random thing
22:57 espadrine joined
autarch RabidGravy: Great question - I'll look 22:57
geekosaur $?PACKAGE ?
RabidGravy m: package F { }; say F.HOW 22:58
camelia rakudo-moar 3568c1: OUTPUT«Perl6::Metamodel::PackageHOW.new␤»
Juerd autarch: Do you have that for filenames, though? That it is a filename instead of just a name? In general, global namespaces tend to just have strings.
RabidGravy m: package F { }; say F.HOW.^mro
camelia rakudo-moar 3568c1: OUTPUT«((PackageHOW) (Any) (Mu))␤»
geekosaur m: class C { method x () { $?PACKAGE } } C.new.x.say
camelia rakudo-moar 3568c1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1gKAGuHjQy␤Strange text after block (missing semicolon or comma?)␤at /tmp/1gKAGuHjQy:1␤------> 3class C { method x () { $?PACKAGE } }7⏏5 C.new.x.say␤ expecting any of:␤ infix␤ …»
autarch CallFrame looks very useful - it's not listed on the docs site
geekosaur whoops
m: class C { method x () { $?PACKAGE } }; C.new.x.say
camelia rakudo-moar 3568c1: OUTPUT«(C)␤»
geekosaur hm, maybe not
autarch unfortunately Callframe doesn't store the package either ;) 23:00
Mouq autarch: I don't think Callframe is an official Perl 6 class
autarch it's in the rakudo/core dir - that doesn't mean official? 23:01
RabidGravy one of those has a block method which has package
well
Mouq autarch: as in, not part of the official public API. AKA there's no tests in Roast for it
autarch I see
23:01 llfourn left
RabidGravy m: say callframe; 23:01
camelia rakudo-moar 3568c1: OUTPUT«/tmp/1r_lW3cnn0 at line 1␤»
Skarsnik could still be useful to be documented somewhere
RabidGravy m: say callframe.WHAT;
camelia rakudo-moar 3568c1: OUTPUT«(CallFrame)␤»
autarch and I note that Backtrace does not use CallFrame at all, instead implementing it's own Backtrace::Frame class 23:02
Juerd autarch: Also, not everything's documented just yet :(
Skarsnik like NC is rakudo but documented x)
autarch Juerd: believe me, I've noticed ;)
Mouq Oh, my be, callframe is in Roast
RabidGravy so if callframe is "official" CallFrame is :)
Mouq my bad*
Juerd autarch: Yeah. I'm just saying it so you know it's not you :)
autarch heh, I never assume it's me
Juerd autarch: I was questioning my own ability to search.
autarch I've learned to fallback to opening up rakudo/core and digging around as needed 23:03
Mouq I was thinking last night about having something to do a basic parse of src/core and crosscheck that with doc to see what's declared but not documented 23:04
RabidGravy that's the nice thing about the way rakudo is made, it is easy to do that
Juerd Mouq: Sounds like a good idea! 23:05
autarch yeah, I really do appreciate that - though sometimes the nqp::fleeblebroxglubber stuff gets a bit confusing 23:06
RabidGravy yeah and you look in nqp and it's actually a moarvm Op and off down the rabbithole 23:07
23:07 leont joined
Mouq FWIW NQP has most of its operators documented: github.com/perl6/nqp/blob/master/d...s.markdown 23:08
Skarsnik Does MoarVM has some doc on its C struct?
autarch heh, I think Backtrace doesn't work as written ... or I'm losing it (totally possible) 23:09
m: sub foo { return Backtrace.new }; my $bt = foo; say $bt[0].code; say $bt[0].package
camelia rakudo-moar 3568c1: OUTPUT«-> { #`(Block|70813648) ... }␤Method 'package' not found for invocant of class 'Block'␤ in block <unit> at /tmp/gMpDBsSIj5 line 1␤␤»
autarch internally Backtrace::Frame tries to call "$.code.package"
RabidGravy yeah, I think I found that and had to do some additional test 23:10
23:11 sprocket left
autarch Backtrace doesn't seem to be very well tested in roast from a quick grep 23:11
_nadim Mouq: thanks, that must be it :)
23:13 lucasb joined
_nadim Bleaaah, double free or corruption and SIGABRT. Now this is not something I can golf down. the code itself is very short but it uses a module. what do I do with it? 23:14
I wrote +@rendering, I meant @renderings.lines. he first crashes, the second not 23:15
masak 'night, #perl6
_nadim night masak
23:16 RabidGravy left
pochi m: class X::Grrr is Exception {}; say X::Grrr.WHAT 23:16
camelia rakudo-moar 3568c1: OUTPUT«(Grrr)␤»
pochi why not (X::Grrr) ?
autarch so it looks like $code.package is _sometimes_ set, at least for Routine objects, but this attribute isn't documented 23:17
Mouq 'night masak! Your latest blog posts and advent article were fantastic btw ^^ 23:19
lucasb m: sub f { fail }; my $x = f; say 'hi' 23:20
camelia rakudo-moar 3568c1: OUTPUT«hi␤»
23:20 espadrine left
lucasb m: my $x = fail; say 'hi' 23:21
camelia rakudo-moar 3568c1: OUTPUT«Failed␤ in block <unit> at /tmp/jwigvqvgsK line 1␤␤»
lucasb ^^ known issue, right? 23:22
23:24 Skarsnik left 23:30 jshy joined 23:31 aindilis left, jshy left 23:35 zwu left, yurivish_ joined
vendethiel what's Perl 6's equivalent to Perl 5's continue? 23:40
TimToady NEXT
vendethiel thanks :) 23:41
dalek blets: dc8a66a | (Herbert Breunung)++ | docs/appendix-a-index.txt:
took over some minor grammar flattenings from decasm++
23:42
23:47 virtualsue left 23:50 firstdayonthejob left
lucasb nevermind my previous question about 'fail'. I see that 'fail' immediately throws the exception unless it's a return value 23:53
m: my $x = Exception.new.fail; say 'hi'
camelia ( no output )
lucasb ^^ but what about this? if it's not an issue, at least is LTA, because no message to the user is print 23:54
23:54 Kcop joined 23:56 emdashcomma left 23:57 siriu5b_ joined, siriu5b_ left, siriu5b_ joined
lucasb see this method: github.com/rakudo/rakudo/blob/nom/...pm#L80-L86 23:57
and this commit by jnthn: github.com/rakudo/rakudo/commit/31...ff9d239cd8
23:57 klapperl_ joined, xxpor_lap left, llfourn joined
lucasb so I wonder if the method Exception.fail should be handled like that jnthn's commit 23:57
23:58 pRiVi_ joined, corbyhaas_ joined 23:59 ilmari_ joined, bartolin_ joined, Cabanoss- joined, lucasb left, maddingu1 joined, avalenn_ joined, pierre-vigier joined, BuildTheRobots_ joined