»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:00 tardisx left 00:08 tardisx joined 00:25 sufrostico left 00:27 sufrostico joined 00:35 sufrostico left 00:36 sufrostico joined 00:37 vytas joined 00:38 dfcarpenterak left 00:44 Sgeo_ joined 00:46 Sgeo left 00:48 Sgeo__ joined 00:49 dfcarpenterak joined 00:50 Sgeo_ left 00:52 dfcarpenterak left 00:59 abaugher left 01:09 itaipu joined 01:10 telex left 01:13 tardisx left 01:15 telex joined
perlawhirl who's awake 01:18
01:20 sufrostico left 01:21 tardisx joined 01:23 itaipu left 01:24 Actualeyes joined
sortiz perlawhirl, I'm o/ 01:25
geekosaur fsvo "awake" 01:26
perlawhirl sortiz: this is not explicitly a perl question, but git. specifically making pull request to the ecosystem
do i need to fork the ecosystem repo to make a PR
I'm relatively green to this git stuff 01:27
geekosaur yes. you fork it, make your change(s), and make the pull request from that
perlawhirl righto 01:28
sortiz Not necessarily an explicit fork. If you change only a file, you can edit it on github, that make the dance. 01:29
Util for example when you are changing META.list 01:30
perlawhirl actually, it looks like the last commit is wrong, there's a leading "i" on the last added module in META.list 01:32
or is that some hackery for newly added module?
sortiz Let me see...
01:33 labster left
sortiz Indeed, seems a bug, changing that... 01:33
Xliff_ Hotkeys, if I didn't hate the fscking Metro look so much, I would be right there with you. 01:35
dalek osystem: 9334cbe | (Salvador Ortiz)++ | META.list:
Update META.list

Remove trailing 'i' in P6-Text-Template entry.
Xliff_ Read somewhere that some dude thought that Templates were just another form of spaghetti code.
While yes, some Templates can look god awful (depending on the complexity of the intended output), I find MVC a better design pattern than anything else. 01:36
I don't care if it "compiles" to something unreadable. I just don't want to maintain it.
sortiz perlawhirl++ # For the report. 01:37
Xliff_ www.workingsoftware.com.au/page/You...de_yes_you
sortiz Xliff_, To me the main issue with *some* template engines is that pretend to do too much, and the template ceases to be declarative, to become procedural. :) 01:39
01:39 tardisx left
Xliff_ sortiz, perl5 Template Toolkit, maybe? 01:39
01:40 kid51 left
Xliff_ In the case where the template engine offers too much. Remember: Just because you can doesn't mean you have to. 01:40
perlawhirl sortiz: leading, not trailing... but who cares :D 01:41
Xliff_ perlawhirl, o/
prl a wrl
perlawhirl haha... about to add a pr to the ecosystem
it lives: github.com/0racle/p6-wig 01:42
Xliff_ W00 h00~!
perlawhirl++
sortiz Yes, but the if an abstraction barrier can be trivially bypassed is bad design.
leading, yep :D 01:43
imo a good template engine should offer you a good *macro* system, not a new programming language. 01:45
01:45 ilbot3 left 01:47 ilbot3 joined
dalek osystem: 3795dba | 0racle++ | META.list:
Add wig to ecosystem

See github.com/0racle/p6-wig
01:51
osystem: 99aea7f | (Salvador Ortiz)++ | META.list:
Merge pull request #183 from 0racle/patch-1

Add wig to ecosystem
perlawhirl sortiz: there was an error in the url of my PR :( 02:01
02:02 BenGoldberg left
sortiz perlawhirl, what is the correct one? 02:03
perlawhirl raw.githubusercontent.com/0racle/p...META6.json 02:04
02:04 labster joined
perlawhirl there was a '.git' after the module name before 02:04
so the url was invalid
dalek osystem: fbb91a5 | 0racle++ | META.list:
Add wig to ecosystem

See github.com/0racle/p6-wig
02:05
osystem: 9db9800 | (Salvador Ortiz)++ | META.list:
Merge pull request #184 from 0racle/patch-2

Fix wig URL
perlawhirl sortiz++ 02:06
sortiz Now you can remove your branches.
02:07 labster left 02:10 BenGoldberg joined 02:14 tardisx joined
perlawhirl oh, hrm... 02:16
oh, you mean the forked repos i now have?
02:17 yqt left
sortiz Yep. 02:21
perlawhirl ok done 02:25
sortiz All ready :) 02:26
ZoffixWin m: subset Foo of Int where { $_ > 10_000 or warn "You need a number more than 10,000" };␤␤␤␤my Foo $x = 42; 02:45
camelia rakudo-moar ae3a79: OUTPUT«You need a number more than 10,000 in block at /tmp/7G_HLCRktW line 1␤Type check failed in assignment to $x; expected Foo but got Int (42)␤ in block <unit> at /tmp/7G_HLCRktW line 5␤␤»
02:45 noganex joined
ZoffixWin Is there a way to make this a better error message? I could live with at least the "more than 10,000" line number being line 5; but if that Type check failed message could also be removed (and changed into the "more than 10,000") that would be great. 02:46
02:48 noganex_ left
ZoffixWin m: subset Foo of Int where { $_ > 10_000 or fail "You need a number more than 10,000 on line {(callframe 4).line}" };␤␤␤␤my Foo $x = 42; 02:52
camelia rakudo-moar ae3a79: OUTPUT«You need a number more than 10,000 on line 5␤ in block <unit> at /tmp/NdbPQyk3Bi line 1␤␤»
ZoffixWin ¯\_(ツ)_/¯
AlexDaniel m: subset Foo of Int where { $_ > 10_000 or fail "You need a number more than 10,000 but you passed $_ on line {(callframe 4).line}" }; my Foo $x = 42; 02:54
camelia rakudo-moar ae3a79: OUTPUT«You need a number more than 10,000 but you passed 42 on line 1␤ in block <unit> at /tmp/uPvYWlvgr3 line 1␤␤»
AlexDaniel ZoffixWin: that's a very important bit :)
ZoffixWin AlexDaniel++ 02:55
m: subset Foo of Int where * > 10_000; try { my Foo $x = 10; CATCH { fail "That value does not match the subset" } }; say "That value did match the subset" 03:01
camelia rakudo-moar ae3a79: OUTPUT«That value does not match the subset␤ in block at /tmp/DcnZUWk_xA line 1␤ in block <unit> at /tmp/DcnZUWk_xA line 1␤␤»
ZoffixWin This feels a bit like a hack... is there a better way to check whether the value can be used for a type (a subset in particular)?
03:02 RandalSchwartz joined
RandalSchwartz tommy is giving a perl6 talk 03:02
a question he couldn't answer: 03:03
are instance methods and class methods sharing the same namespace?
or is there a way to say "this foo method is for instances" vs "this foo method is for class"?
or if they share, what can I test inside the method to go either way? 03:04
ZoffixWin m: class Foo { method bar { self.DEFINITE ?? 'instance' !! 'class' } }; say Foo.bar; say Foo.new.bar
camelia rakudo-moar ae3a79: OUTPUT«class␤instance␤»
ZoffixWin This is possible. Unsure about whether it's shared.
RandalSchwartz ahh ok 03:05
passed that along to tommy 03:07
thanks
Xliff_ Wonder how difficult it would be to add perl 6 support to HexChat.... Hmmm.... 03:08
ZoffixWin There's Inline::Perl6 in P5 :)
Xliff_ ZoffixWin, well, I'd have to be sure that the P5 module in HexChat could handle that. 03:09
03:09 nadim left 03:10 Ben_Goldberg joined
Xliff_ ZoffixWin, so does Inline::Perl6 convert P6 code to P5, then? 03:12
Juerd RandalSchwartz: The same method is used as a class method an as an instance method. The signature can specify that the invocant must be undefined (type object => class method) or defined (not a type object => instance method)
03:13 BenGoldberg left
ZoffixWin Xliff_, I've never used it, but from the docs, I see "This module embeds a MoarVM based Rakudo Perl 6 and allows you to run Perl 6 code, load Perl 6 modules, use methods of Perl 6 objects and much more.": metacpan.org/pod/Inline::Perl6 03:13
Xliff_ Ah. OK... so it includes XS code.
That might be tricky on a Windows system. 03:14
Although I -could- run it in a VM and export to the desktop via X-Ming.... hmmmmm....,
Juerd RandalSchwartz: class Example { method cm (Example:U: $arg1, $arg2) { ... }; method im (Example:D: $arg1, $arg2) { ... } } 03:15
Xliff_ ZoffixWin, thanks for the input. 03:16
Juerd RandalSchwartz: If you want a class method and instance method to have the same name, 'multi' can be used as such:
m: class Example { multi method m (Example:U:) { say "class method" }; multi method m (Example:D:) { say "instance method" } }; Example.m; Example.new.m; 03:17
camelia rakudo-moar ae3a79: OUTPUT«class method␤instance method␤»
Juerd RandalSchwartz: If you're not using a multi method, you can determine whether it was called as a class or instance method, simply using 'defined', like: 03:18
m: class Example { method m { say .defined ?? "instance method" !! "class method" } } 03:19
camelia ( no output )
Juerd m: class Example { method m { say .defined ?? "instance method" !! "class method" } }; Example.m; Example.new.m
camelia rakudo-moar ae3a79: OUTPUT«class method␤class method␤»
Juerd Hm.
Ouch, bitten by $_ 03:20
m: class Example { method m { say self.defined ?? "instance method" !! "class method" } }; Example.m; Example.new.m
camelia rakudo-moar ae3a79: OUTPUT«class method␤instance method␤»
Juerd There :)
03:21 tardisx left 03:26 cosarara left 03:28 vytas left 03:31 Fleurety left 03:33 _notbenh joined
ZoffixWin Someone mentioned during my talks there are these for 100s of languages and we should have one for Perl 6 too: rubykoans.com/ 03:33
03:33 clkao_ joined
diakopter ZoffixWin: TimToady and others spent many hundreds of hours on the rosettacode examples 03:33
03:33 cosarara_ joined
ZoffixWin diakopter, the guy said they were hard to navigate 03:33
sortiz .tell abraxxa I finally have a working oracle test environment!
yoleaux sortiz: I'll pass your message to abraxxa.
03:33 MadcapJake_ joined, orbus_ joined
ZoffixWin (not the same guy, but someone brought up they were not ideal_ 03:33
perlawhirl ZoffixWin: did you just volunteer yourself :D
03:33 Vitrifurr joined, AiHasBeenSolved joined
ZoffixWin nope :) 03:33
03:33 nadim joined
diakopter ZoffixWin: there are per-language lists 03:33
AiHasBeenSolved wiki.opencog.org/wikihome/index.php/Ghost
AiHasBeenSolved Ghost AI coder doing his bit to promote Perl6 and Perl AI. Bye
q
quit
diakopter rosettacode.org/wiki/Category:Perl_6
03:33 AiHasBeenSolved left, retupmoc_ joined, M-tadzik joined, vytas` joined
diakopter -_- lol 03:33
ZoffixWin *shrug* I'm unsure what the exact issue was. I suggested opening an Issue on the User experience repo so it could be addressed.
03:33 andrewalker_ joined, sQuEE` joined, roguelazer_ joined, daxim_ joined, sunnavy__ joined, jnap_ joined, kipd_ joined
saaki rubykoans is really geared for learning the language in an active fashion. rosettacode is about examples of common patterns. kind of different. 03:33
03:33 Spot___ joined, MadcapJake_ is now known as MadcapJake, roguelazer_ is now known as roguelazer, clkao_ is now known as clkao, jnap_ is now known as jnap, kipd_ is now known as kipd 03:34 Spot___ is now known as Spot__ 03:35 jack_rabbit joined
skids wonders if oeis.org would welcome Perl6 worked code or not. 03:35
03:35 ChanServ sets mode: +o diakopter, diakopter sets mode: -o diakopter
diakopter oops 03:35
03:35 Fleurety_ joined 03:36 musca joined
Xliff_ **SPLIT** !!! 03:37
03:43 ecojud joined 03:47 Ben_Goldberg left 03:50 Fleurety_ is now known as Fleurety
Xliff_ W00 h00! supernovus merged my PR 03:51
ecojud well done, I'm jealous 03:52
03:52 tardisx joined 03:55 skids left 03:58 pierrot left, pierrot joined 04:04 tardisx left, labster joined 04:06 tardisx joined 04:07 tardisx left 04:08 khw left 04:09 tardisx joined 04:12 tardisx left, ecojud_ joined 04:13 tardisx joined 04:15 tardisx left, ecojud left 04:20 tardisx joined 04:25 jamesalbert joined 04:29 AlexDaniel left
jamesalbert Hey, how would I extend a module's class from a different directory. Doing Preexisting::Module::NewClass doesn't allow Preexisting::Module to load NewClass dynamically with `require ::Preexisting::Module::("NewClass")` 04:29
and by "Doing Preexisting::Module::NewClass" I mean creating a class by that name, in another directory 04:30
04:33 RandalSchwartz left 04:38 quester joined 04:43 jamesalbert left 04:44 Cabanossi left 04:46 Cabanossi joined 04:51 molaf joined, tardisx left 05:14 tardisx joined 05:28 jack_rabbit left 05:35 tardisx left 05:36 ecojud_ left 05:39 jack_rabbit joined
Xliff_ jamesalbert: Read up on "augment". 05:39
perlawhirl he's gone... 05:40
i was gonna reply, then some work stuff came up, then when i tured back he had quit
Xliff_ Oh. LOL. I didn't even see the quit message.
perlawhirl Xliff: my modules is now on the modules directory. 05:41
pretty happy about it, am inspured to do start working on some other unfinished modules i have lying around 05:42
Xliff_ Yeah. I saw. 05:43
05:43 Xliff_ is now known as Xliff
perlawhirl yes, but did you see my cool mascot for wig {[: ) 05:44
it's wearing a wig!
Xliff *snerk*
You should make it so that appears next to the project name in the modules list. 05:45
modules.perl6.org/#q=wig
perlawhirl i will
Xliff whips up a quick SVG version
05:46 tardisx joined 05:47 znpy joined 05:56 jack_rabbit left
Xliff {[: )wiki.shadowplayinternational.org/te...20logo.svg 06:01
06:01 znpy left
Xliff Er. 06:01
wiki.shadowplayinternational.org/te...20logo.svg
It's an SVG so you can download and do whatever.
The second one has character. 06:02
perlawhirl: Logo goes in logotype/logo_32x32.png and the site should automatically pick it up. 06:03
(I am assuming logo then needs to be sized 32 x 32....) 06:04
perlawhirl, note error when trying to install from panda: 06:06
fetch stage failed for wig: Failed cloning git repository 'git://github.com/0rac1e/wig.git'
This is after "panda update"
perlawhirl dagnabbit! 06:13
the source-url is wrong :(
fixed, but it will be another hour before modules directory updates 06:15
in the meantime, you could just panda install github.com/0racle/p6-wig.git
06:17 rindolf joined 06:18 RabidGravy joined
perlawhirl Xliff, i remember now. when i first created the repo it was just called wig. i renamed it to p6-wig... becuase i dunno. forgot to update the meta 06:21
this is my first github repo, first perl module... training wheel are getting a workout
06:27 araujo left, araujo joined
Xliff perlawhirl, LOL! 06:35
06:36 domidumont joined, domidumont left
Xliff Hrm. 06:36
Using the URL doesn't work, either. 06:37
perlawhirl, tried github.com/0racle/p6-wig.git
and github.com/0racle/wig.git
06:37 domidumont joined
Xliff Now why did I read that name as nomadonut? 06:37
Xliff just got his eyes checked. 06:38
06:38 wamba joined 06:39 darutoko joined
Xliff wants an infix:<∞> operator. 06:40
It should do something NIFTY! 06:41
perlawhirl hmm, panda must look at the repo's META if you give it a url
i guess the only option until the moduless dir rebuilds is to git clone, cd pg-wig, panda install . 06:42
but just wait under ~30 mins :D
06:42 domidumont left 06:47 teatime joined 06:48 sue_ joined 06:52 domidumont joined 06:54 domidumont left 06:55 CIAvash joined 06:56 domidumont joined, nadim left, tardisx left
moritz ecosystem-api.p6c.org/projects.json now has wig 06:58
06:59 nadim joined
perlawhirl thanks moritz... though i made a booboo and messed up the source url. i've fixed it... now sitting idly waiting for the build to run again :D 06:59
not long now
moritz 8,28,48 * * * * bash update.sh > update.log 2>&1 07:01
that's the update cron job for ecosystem-api.p6c.org
moritz kicks it off manually
... done 07:03
RabidGravy boom
07:05 Actualeyes left, perlawhirl left 07:06 perlawhirl joined
perlawhirl moritz++ 07:09
07:11 perlawhirl left 07:13 zakharyas joined 07:14 perlawhirl joined
perlawhirl Xliff: it works now {[: ) 07:15
07:17 yeahnoob joined, perlawhirl left 07:18 yeahnoob left, perlawhirl joined 07:20 nadim left 07:26 sunnavy__ is now known as sunnavy 07:29 Actualeyes joined, fireartist joined 07:33 anaeem1 joined 07:34 anaeem1 left 07:44 abraxxa joined 07:45 perlawhirl left
sortiz abraxxa, ping 07:46
abraxxa good morning!
yoleaux 30 Mar 2016 23:52Z <sortiz> abraxxa: Changes that only touch DBDish/Oracle* can be pushed directly to master
03:26Z <sortiz> abraxxa: I finally have a working oracle test environment!
abraxxa great!
sortiz abraxxa, I have only 5 tests failing now.
abraxxa wow, great!
that means I've wasted lots of time yesterday 07:47
sortiz :( Why?
07:48 TEttinger left
sortiz The 'is rw' is now working for handlers, the problem was the base datatype. 07:48
07:49 dakkar joined 07:51 perlawhirl joined 07:52 sue_ left 07:59 leont joined
abraxxa i'll update my checkout 08:02
sortiz: have you not pushed it yet? 08:03
sortiz I haven't pushed yet.
abraxxa so what was required to get the Oracle docker container working on your Fedora?
08:03 telex left 08:04 telex joined
sortiz As commented yesterday, my problem was with the client library vs selinux, but googling found a solution. 08:04
Pushing my WIP... 08:05
dalek Iish: b9ea19b | (Salvador Ortiz)++ | lib/DBDish/Oracle (4 files):
Oracle: WIP, Updated some bindings
08:07
sortiz abraxxa, My remaining problem is that somehow the returned strings don't match the reference ones, but seems identical. :-( 08:12
08:12 sue joined
sortiz Aha! 08:13
The returned ones are marked, for example: Str+{NativeCall::ExplicitlyManagedString} <element> = "BEOM" 08:14
08:14 sjoshi joined 08:15 sjoshi left
abraxxa sortiz: yes 08:15
sortiz: don't know where this comes from
sortiz: you wrote the OO code a bit different than I did yesterday, for example I moved OCIEnvNlsCreate into OCIEnv.new 08:16
sortiz Yes, I don't want to change the overall approach, yet :) 08:17
08:20 azawawi joined
sortiz And there are lots of calls not converted yet to avoid the CArray wrapper. 08:20
azawawi hi
RabidGravy: ping
.seen RabidGravy
yoleaux I saw RabidGravy 07:03Z in #perl6: <RabidGravy> boom
sortiz azawawi, o/ 08:21
azawawi sortiz: hi
.tell RabidGravy github.com/azawawi/perl6-file-which/issues/4 # whence is now done as per your earlier request :)
yoleaux azawawi: I'll pass your message to RabidGravy.
08:22 |Tux| joined 08:23 perlawhirl left 08:29 perlawhirl joined
abraxxa sortiz: FYI the OCI naming convention is: postfixed with p => pointer, pp => pointer to pointer 08:34
08:34 azawawi left
abraxxa so you might want to rename $envhpp to $envhp now that you're using is rw 08:34
sortiz++ # that refactor lead to really nice code! 08:35
I wonder why the is rw didn't work for me yesterday, did the same thing you did
sortiz: you seem to have tab/space problems in your editor 08:36
08:36 nadim joined
sortiz For the 'is rw' see Native.pm6#L19 08:37
08:40 g4 joined
abraxxa that does the double pointer trick? 08:40
sortiz That plus 'is rw' 08:41
Xliff perlawhirl, panda is still failing on the git clone. 08:43
==> Fetching wig
fatal: remote error:
Repository not found.
fetch stage failed for wig: Failed cloning git repository 'git://github.com/0rac1e/wig.git'
sortiz And now we can convert all subs that take an OCIEnv as first parameter to methods in that class, for example.
abraxxa I defined it as class OCIEnv is repr('CPointer') is export {}; and is rw on OCIEnvNlsCreate and it didn't work
perlawhirl try umm --force or --reinstall or something
maybe sortiz knows, but theres a dist folder, in ~/.perl6/dist on linux 08:44
that has a file in it
that still says 'wig.git' in it, it hasn't updated
Xliff "git clone github.com/0racle/wig.git; panda install ." <-- worked
perlawhirl that's weird, because the repo is now called p6-git... 08:45
maybe github remembers i renamed it and still lets you clone it via the old name ??
sortiz abraxxa, then I don't know what happened, but now is working.
Xliff perlawhirl, did you see the SVG?
abraxxa sortiz: please check your tab/space editor settings 08:46
sortiz Xliff, try 'panda update'
Xliff Oh! I see a logo. Was it one of mine or did you refont from the SVG?
perlawhirl i did, but i didn't have an editer to crop it to 32x32
nah i just knocked seomthing up in one of those icon maker sites
sortiz abraxxa, sure, don't worry about that, we have some more serious problems ;-) 08:47
08:47 perlawhirl2 joined
abraxxa sortiz: it makes reviewing commits harder when lines only have whitespace changes 08:48
Xliff *gasp* 08:49
perlawhirl has a client that ignores CTCP VERSION!!!
Philistine!
sortiz abraxxa, Yes, i know, promise fix that.
abraxxa sortiz: thanks!
Xliff Now how can I know what OS you have so that I can taunt you mercilessly? ^_^
perlawhirl2 Xliff: i just got off the train. Switched from irssi on my laptop to some app on my phone 08:50
Xliff perlawhirl, on a serious note. www.google.com/url?sa=t&rct=j&...HKKMi7uwDQ
arnsholt I used to have a client that replied to CTCP VERSION with a claim that it was running on an ENIAC =D
Xliff arnsholt++
perlawhirl2 Any recommendation for irc client on Android
Xliff perlawhirl2, Inkscape is multiplatform SVG editor that can export to PNG. 08:51
perlawhirl2 Something lite, i don't need a million protocols
arnsholt I think I had something weird for CTCP TIME as well. Can't remember what, though
Xliff perlawhirl2, I used to have one but that was WAY back in the day.,
play.google.com/store/apps/details...&hl=en
08:52 perlawhirl left
Xliff That's the default option. 08:52
Works better with a tablet. IRC demands width-based real estate.
perlawhirl2, heading to work or heading home?! 08:53
perlawhirl2 Heading home, albeit a bit late. 19:53 here 08:54
nadim Morning! 08:57
RabidGravy erp 09:02
yoleaux 08:21Z <azawawi> RabidGravy: github.com/azawawi/perl6-file-which/issues/4 # whence is now done as per your earlier request :)
RabidGravy azawawi :)
.tell azawawi RARRRR! 09:03
yoleaux RabidGravy: I'll pass your message to azawawi.
09:03 ab6tract joined
nine perlawhirl2: I just use vxconnectbot to ssh to my server where irssi is running 09:05
Xliff Rebuilding rakudo to check my Match infix:<eqv> implementation. 09:07
To my knowledge there are no formal test cases for Match... or are there? 09:08
09:10 leont left, donaldh joined 09:19 CIAvash left 09:23 xinming_ is now known as xinming
Xliff *sigh* 09:23
Now I've found a failed test case.... just when I was getting ready to push the PR.
ARGH!
I need sleep. I'll figure this out tomorrow.
'night (or 'morn for some o ya) #perl6
09:24 Xliff is now known as Xliff_z_OUT 09:25 perlawhirl joined 09:27 quester left 09:28 perlawhirl2 left 09:31 labster left 09:32 espadrine joined 09:36 sue left
ab6tract lizmat: updated the PR again :) 09:42
09:55 perlawhirl left
dalek Iish: ce20a74 | (Salvador Ortiz)++ | lib/DB (3 files):
Oracle: Passing the standard test suite

Not yet "in an ideal world", TODO #50
09:55
10:00 kid51 joined 10:04 perlawhirl joined, cibs_ joined
nadim can someone make a review on Text::Template that is in the ecosystem? it's pretty short. 10:09
10:11 cibs joined 10:14 cibs_ left
dalek Iish: 91594d7 | (Alexander Hartmaier)++ | lib/DBIish/CommonTesting.pm6:
fix typo
10:17
ab6tract jnthn: not sure if you have any objections to the PR? 10:38
lizmat ab6tract: right in the middle of something else, will try in a mo 10:52
jnthn ab6tract: Didn't have time to look yet, sorry :(
ab6tract lizmat, jnthn: no problem! sorry, just a little excited about my first NQP patch (however trivial :) ) 10:53
Ulti how much of a big deal would it to be to get some helper methods added to Duration to convert to minutes/hours/days 11:03
11:04 dvinciguerra__ joined 11:07 M-tadzik is now known as tadzik
ab6tract Ulti: sounds useful to me... a bit surprised that functionality is not already there 11:12
11:13 woodruffw joined, woodruffw left 11:14 woodruffw joined
lizmat Ulti: isn't that what polymod is ? 11:20
11:20 nemo left 11:21 nemo joined
moritz well, days is dependent on which day you're talking about 11:21
11:21 fireartist left, Some-body_ joined
moritz even minutes (there are minutes, hours, days with leap seconds) 11:21
timotimo polymod isn't enough when you have to deal with leap seconds/days/...
11:21 nemo is now known as Guest27595 11:22 cosarara_ left, pierrot left, DarthGandalf left, Upasaka_ joined, Some-body_ is now known as DarthGandalf, cosarara joined 11:23 ZoffixWin joined, ZoffixWin left, ZoffixWin joined, wtw joined, jervo joined, Timbus joined, skarn joined, nadim left
lizmat myabe I'm understanding Duration wrong then ? 11:23
11:24 Guest27595 is now known as nemo
ab6tract m: sub f() { True }; say f ?? 'yay!' !! 'nay!'; 11:28
camelia rakudo-moar ae3a79: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Nvl4jDwA5l␤Expected a term, but found either infix ?? or redundant prefix ?␤ (to suppress this message, please use a space like ? ?)␤at /tmp/Nvl4jDwA5l:1␤------> 3sub f() { True }; say f ??7⏏5 'ya…»
moritz or f() 11:29
ab6tract I would have hoped that specifying no args would provide the same behavior as an empty prototype in p5
moritz: aye, that works. but it feels weird that p6 is less capable than p5 here
moritz your hopes have been squashed
11:30 tony-o joined
ab6tract ok. well usually i like my tears to flow with an explanation 11:30
moritz m: sub term:f { True }; say f ?? 'yay' !! 'nay'
camelia rakudo-moar ae3a79: OUTPUT«5===SORRY!5=== Error while compiling /tmp/u9x4khtkwZ␤Expected a term, but found either infix ?? or redundant prefix ?␤ (to suppress this message, please use a space like ? ?)␤at /tmp/u9x4khtkwZ:1␤------> 3sub term:f { True }; say f ??7⏏5 …»
moritz m: sub term:<f> { True }; say f ?? 'yay' !! 'nay'
camelia rakudo-moar ae3a79: OUTPUT«yay␤»
moritz ab6tract: we allow post-declaration of subroutines 11:31
ab6tract: so we can't have the declaration influence the parsing
also, things get tricky once you're in multi territory
ab6tract gotcha. i had forgotten about the term category for ops 11:32
thanks for clarifying
moritz you're welcome
ZoffixWin If anyone's interested, the recording of my last night's "Wow, Perl 6!" talk has been posted and I've written up answers to some of the questions I didn't answer during the talk: blogs.perl.org/users/zoffix_znet/20...tions.html 11:36
jnthn ZoffixWin: "Can you check whether or not a value fits the subset?" - just smartmatch against the subset type 11:47
ZoffixWin :o
timotimo you, too, can be smart 11:48
jnthn m: subset Even where * %% 2; say 3 ~~ Even; say 42 ~~ Even
camelia rakudo-moar ae3a79: OUTPUT«False␤True␤»
ZoffixWin jnthn++
Ulti moritz as a unit though a duration in days would be 86400 seconds right? 11:49
like after a day you can't really talk about a unit month or year 11:50
11:50 woodruffw left
Ulti but a lot of epoch times are numbers of days since X as a real value with a decimal day 11:50
specifically MS Excel dates are :) which is what I'm playing with
11:54 kaare_ joined
timotimo ZoffixWin: sadly the noise cancellation or something else has done bad things with the audience questions in your recording :( 11:55
moritz Ulti: not all days are 86400 seconds
Ulti: which is why day isn't really a unit that can be carelessly converted from/to seconds 11:56
ZoffixWin I hear next time there'll be a better setup.
moritz has a dream that one, all our days are created equal 11:57
moritz has a dream
Ulti moritz which days arent? leap second is a specific date not a day and if you really care you can average the leap second over the calculation from knowing the full Duration 12:01
moritz Ulti: days with leap seconds, days on which DST is switched on or off
Ulti sure those are specific dates not a day
moritz days on which a country changes what timezone it considers itself to be in
Ulti you dont change the duration of a second in phyiscs because there is a leap nanosecond 12:02
moritz: those are all specific dates not the length of any day 12:03
moritz Ulti: well, if you make the distiction between a date and a day, you can't add durations based on days to datetimes anymore
Ulti even a year you can define fairly well
moritz well, a year is rougly made of 365.25 days; but if you use that definition in a datetime library, you make everybody unhappy 12:04
Ulti they arent based on days at the moment it only holds seconds, I'm suggesting if you want to know how many days those seconds add up to for no particular date you can avoid magic numbers
delta_days in Perl 5 DateTime for example
though I think that does do the full calculation
but DateTime::Duration in Perl 5 also has delta_days which is more like what I'm talking about 12:05
12:05 kid51 left
timotimo ZoffixWin: your "custom terms and operators" slide has an image, so i can't copy-paste all those values in order to try writing that program :| 12:05
Ulti DateTime delta_days tells you the actual number of days between dates but the Duration just treats a day as a unit
ZoffixWin timotimo, go nuts :) unicodeemoticons.com/
timotimo oh, fantastic 12:06
but what the hell should these actually do?
you can just turn each of them into a term and an infix alternatingly
ZoffixWin Cure cancer? That'd look good in history books :)
timotimo i was hoping i could get a way with short one-liners for the implementations 12:07
.u ❨ 12:09
yoleaux U+2768 MEDIUM LEFT PARENTHESIS ORNAMENT [Ps] (❨)
timotimo fantastic
12:10 andreoss joined
andreoss perl6-j dies with Unhandled exception: java.lang.StackOverflowError 12:13
in repl
12:14 xinming_ joined
ab6tract andreoss: not sure if the jvm backend has ever gotten on its legs after the GLR.. 12:16
timotimo only partially 12:17
could very well be that the REPL is just "too much" for it right now
12:18 xinming left 12:22 xinming joined
andreoss will be rakudo-jvm released? or it's not a priority 12:23
12:24 xinming_ left
timotimo if i understand correctly, it's currently a single of our devs who's investing time into that 12:24
12:26 Sgeo__ left
ab6tract andreoss: indeed, the moar backend gets the vast majority of work at the moment. i believe that the reasoning is more or less "one full featured and fast backends is better than multiple slow, ever so slightly broken ones" 12:28
timotimo well, a lot of the work really is cross-backend, or backend-agnostic 12:30
12:41 M-matthew left, nemo left 12:43 dvinciguerra__ left
timotimo ZoffixWin: about aborting/killing promises; nope, not possible. if you need that kind of thing, you'll have to use processes, or you'll have to build the code so that it exposes some kind of flag "should i continue working?" 12:43
12:44 nemo joined, nemo is now known as Guest52450 12:46 Guest52450 is now known as nemo 12:47 M-matthew joined 12:49 sufrostico joined 12:51 rindolf left 12:53 xinming left
timotimo oh, i just now remember, ZoffixWin, yo ucould have also shown off the ANTLR4 thingie for turning ANTLR grammars into a perl6 grammar 12:54
ZoffixWin k
timotimo in general, "kill a thread" is something you're not really getting anywhere
donaldh ab6tract: the JVM backend did just fine after the GLR 12:55
12:55 rindolf joined
donaldh ab6tract: there were some issues on the JVM backend with the precompilation changes. One those manifested as a stack overflow error. 12:55
andreoss: ^ 12:56
13:02 sufrostico left 13:13 xinming joined 13:17 sufrostico joined 13:21 cdg joined
timotimo ZoffixWin: your security tip thingie about RESTRICTED.setting is moot since you're allowed to "use nqp" and use anything moar offers 13:21
13:21 xinming left
donaldh The jvm repl blows up here: github.com/rakudo/rakudo/blob/7e8c...PL.pm#L243 13:31
hoelzro hmm...maybe we should disable REPL.pm on the JVM for now 13:32
donaldh hoelzro: Why is it: has $.compiler 13:33
hoelzro: then $!compiler = ...
timotimo because $.compiler isn't "rw" 13:34
hoelzro donaldh: well, I did it that way because the Completions role needs to access the compiler...
timotimo so you can only assign to the $! one
hoelzro ...but now that I think about it, you could still use $!compiler
timotimo with roles, yeah, you get access to the $!vars, too
hoelzro but if we went ahead and did that, it means that the Completions role would be more tightly bound to the REPL, but since it's the only usage of that role, it should probably be fine 13:35
does changing it to has $!compiler fix the issue?
13:37 Roamer` joined, pierrot joined
donaldh I'll try that 13:37
13:46 AlexDaniel joined
donaldh It's currently getting into an infinite stack recursion trying to create X::TypeCheck::Assignment 13:47
13:47 xinming joined
donaldh Trying to store to $!compiler 13:47
13:47 skids joined 13:55 robertle joined
RabidGravy can anyone think of a way to re-construct a Backtrace from a bunch of Backtrace::Frame objects? 13:55
I know that may seem a little strange but I want to deserialise a Backtrace 13:56
13:57 [Tux] joined
hoelzro interesting... 13:58
robertle tadzik: I have a environment created by rakudobrew, which I just wanted to upgrade. so I do 'rakudobrew self-upgrade', which does something, followed by 'rakudobrew build moar', which fails to compile something (pastebin.com/M5i2qzxF). deleting the directory and re-doing it from scratch works though. is this expected? odd? anything you want to have before I nuke the broken setup? 13:59
RabidGravy robertle, how old was the previous rakudo? 14:00
robertle RabidGravy: 2015.11-541-g03cbe70 built on MoarVM version 2015.11-44-ge7edb06
14:00 xinming left
RabidGravy yeah, that would probably require nuking 14:00
the way the modules are stored and loaded changed slightly after that 14:01
robertle ok, no problem! but to understand it a bit better: why? does upgrading use the already present stuff for bootstrapping, while the re-install (obviously) does not?
RabidGravy the design of CompUnit::Repository changed, it was a one off thing just prior to Christmas 14:03
14:04 wamba left
robertle k, thanks! 14:04
14:06 buharin joined 14:07 xinming joined 14:12 xinming left 14:13 Vlavv_ left 14:15 dupa joined 14:20 xinming joined 14:21 sufrostico left 14:26 xinming left
RabidGravy Actually I think I'm going ditch the intermediate Backtrace and just keep the frames, much simpler 14:26
14:26 Vlavv_ joined 14:27 dupa left, buharin left
perlawhirl pretty quiet in here 14:30
timotimo sorry about that, what can we do for you? 14:31
perlawhirl lol, i'm just thowing together a quick network audit and perl6 keeps amazing me with how little i have to work to get results
timotimo <3
perlawhirl like, i had a list of interfaces and their bandwidth in an array, in a lazy stringy way, and wanted to quickly check there bandwidths matched 14:32
m: my @ints = 'Gi0/1: 10000','Tu110: 10000','Tu120: 10000'; say [==] @ints».words»[1]
camelia rakudo-moar 7d4b3a: OUTPUT«True␤»
14:32 xinming joined
perlawhirl rather than make a data structure that makes comparison easy, i was able to compare the data structures as i wanted without too much messing around 14:33
so enjoyable
14:33 sufrostico joined
timotimo :) 14:33
[Coke] ZoffixWin++
14:33 teatime left
[Coke] (presentation) 14:33
perlawhirl yes! Zoffix++ gw 14:34
14:36 lizmat left 14:40 yqt joined 14:41 xinming left 14:44 buharin joined, dupa joined
TreyHarris Anyone used JSON::Infer? It worked very nicely to produce a class schema matching my JSON... but I am stupidly at a loss to get any actual data out of the thing by doing My::TopLevel::Generated::Class.from-json($contents). I get structure, but structure only. An example of use beyond the tests (which are so abstract that I'm not seeing where my code is different) would be very helpful. 14:45
RabidGravy Well I actually wrote it and have used it quite a bit 14:46
psch RabidGravy: if you've got a moment, can you take a look at this gist? gist.github.com/peschwa/a8fabd272c...14bdb0195b
RabidGravy: i'm mostly unsure if i'm mistreating either Audio::PortMIDI or the MIDI standard itself... :)
14:47 g4 left 14:48 sufrostico left
RabidGravy psch, I so totally haven't tested with system exclusive stuff 14:49
but I think you want to create the event with timestanp and message rather than event 14:50
psch and event-type too, probably
right, then the MfID, data and endSysEx goes into :message 14:51
RabidGravy yes
psch alright, i'll give that a try
RabidGravy well, maybe event-type "SysEx" and data-one, data-two with the actual data 14:52
It's entirely possible that SysEx doesn't work very well 14:53
psch yeah, i've only skimmed a few explanations of the packet format, didn't dig into the actual specification
but i had the hunch that the hard 64 bit for .Int could easily be wrong, especially for SysEx 14:54
RabidGravy TreyHarris, it it's not too big data can you stick it in a gist
14:54 Timbus left, dupa left, buharin left
TreyHarris RabidGravy: Yep, but I get Any, Any, Any and more Any instead of any actual scalar contents 14:54
psch ohh, and obviously i'm not sending the binary string as binary data... 14:55
i should've seen that :/
TreyHarris The structure's right. But the content's just Anys or uninitialized objects
psch m: say "010".Int
camelia rakudo-moar 7d4b3a: OUTPUT«10␤»
psch m: say "0b010".Int
camelia rakudo-moar 7d4b3a: OUTPUT«2␤»
ilmari m: say "0o010".Int
camelia rakudo-moar 7d4b3a: OUTPUT«8␤»
14:56 dvinciguerra__ joined
psch RabidGravy: i think i'll have to PR after writing a wrapper for Pm_WriteSysEx, probably :) 14:57
hoelzro ZoffixWin++ # talking
RabidGravy TreyHarris, then it's likely that the data doesn't match the generated class
which is odd but not impossible
14:57 xinming joined
psch hm, or use write(@) 14:58
TreyHarris RabidGravy: interesting. If you have a Mac, it's just the output of "brew info --json=v1 --installed". I don't see anything odd there, it's just strings.
14:59 Timbus joined
psch nope, that also doesn't work 'cause Event always pads to 64bit and that gives 32 0 bits and that is invalid MIDI... 14:59
RabidGravy TreyHarris, I don't have a Mac, can you just stick the data in a gist so I can take a look 15:00
15:04 xinming left
RabidGravy psch, www.midi.org/specifications/item/t...di-message - explains how the SysEx is packed, 15:06
15:07 khw joined
psch RabidGravy: right, that's why it's linked in clock.pl6 :) 15:07
15:07 xinming joined
RabidGravy basically you sent status => 0b11110000, data-one => MfID, then a bunch of 7-bit data then status => 0b11110111 15:08
perlawhirl can I determine which index of an array matches a particular regex?
psch alright, i'll try that
jnthn perlawhirl: .first or .grep, and pass :k to get indexes 15:09
perlawhirl jnthn++
i'm ashamed that i knew that already
psch RabidGravy++ thanks, that does what i want it to 15:11
well, having to send the endSysEx seperately is a bit annoying, but i think i can deal
TreyHarris RabidGravy: sorry, took a minute because gist doesn't support directories. See bottom for output: gist.github.com/treyharris/7b57dd3...c13938362f
RabidGravy yay! I'd go an example 15:12
tony-o perlawhirl: example?
oh, missed jnthn's comment 15:13
perlawhirl m: my @a = 'foo', 'bar', 'baz'; @a.grep(/baz/, :k)
camelia ( no output )
perlawhirl m: my @a = 'foo', 'bar', 'baz'; say @a.grep(/baz/, :k)
camelia rakudo-moar 7d4b3a: OUTPUT«(2)␤»
perlawhirl oh, i missed your 2nd comment :D 15:14
jnthn
.oO( Reading on IRC is overrated, just write stuff... )
15:15 yqt left
arnsholt Perl is a write-only language, so why shouldn't our IRC channel also be so? =) 15:15
RabidGravy TreyHarris, ah, the JSON::Class doesn't deal with data which is an array at the top level 15:16
perlawhirl arnsholt: ouch... my heart 15:17
TreyHarris RabidGravy: ah, so all I need to do is a split on the file contents and use a loop? 15:18
arnsholt =)
TreyHarris erm... "all". this isn't so easy, there are not only nesting but also escaped square brackets in the file :-/ 15:19
15:20 xinming left
TreyHarris RabidGravy: any suggestion for an easy way to separate the text into a list of texts? or is this a JSON::Class bug? 15:20
15:20 xinming joined
RabidGravy 'ang on, let me have a fiddle - I think there may be a simpler, albeit less efficient way 15:22
It's fake up a top level object 15:24
15:24 nemo left
TreyHarris nods 15:25
RabidGravy: I see where you're going. I don't like it.
15:25 nemo joined
TreyHarris is kidding 15:25
15:25 nemo is now known as Guest85074 15:26 Guest85074 is now known as nemo 15:27 TEttinger joined 15:28 buharin joined, dupa joined
TreyHarris RabidGravy: Though my stupid attempt, just wrapping the entire file in qq[\{ "contents": $contents \}], didn't change anything 15:33
15:34 domidumont left
garu tadzik: annoying ping of the day :) any chance you can take a quick look at github.com/tadzik/Bailador/pull/50? 15:36
tadzik oh, oh!
I missed it
garu \o/
tadzik looking at it right now
robertle really stupid question, but I can't work it out: which dot-method tells me what type a scalar is? so e.g. (1/3).WHICH says 'Rat|1/3', is there something that just says the type? WHICH feels wrong 15:37
garu thanks! if it sucks, just let me know and I'll do my best to fix it
tadzik All changes and new features have tests included in the commit
garu yup
tadzik somebody buy this man a beer or ten
garu \o/
15:37 perlawhirl left
garu this is actually my very first public pull request in perl 6 15:38
so I'm kind of excited :)
(and scared)
but mostly excited
tadzik m: my $a = "foo"; my $b = $a.subst(/foo/, "bar"); say $b
camelia rakudo-moar 7d4b3a: OUTPUT«bar␤»
tadzik garu: you may like that ^ )
garu O_O
*YES*
moritz robertle: .^name 15:39
m: say (1/3).^name
camelia rakudo-moar 7d4b3a: OUTPUT«Rat␤»
15:39 dupa left, buharin left
tadzik that's a ton of good stuff, I love it! 15:39
garu++
RabidGravy TreyHarris, there I've updated the gist, basically if you change the top level class to Honebrew::Formula and then add the new Homebrew::Formulas at the bottom
moritz robertle: and .WHAT gives you the type object (.^name gives you the name of the type)
RabidGravy then use "from-brew" it's all good 15:40
psch m: given 3 { when *.&[+&]: 1 { say "got 0 bit"; proceed }; when *.&[+&]: 2 { say "got 1 bit"; proceed } } # linenoise you say
camelia rakudo-moar 7d4b3a: OUTPUT«got 0 bit␤got 1 bit␤»
tadzik I'll go do a quick shopping and will merge your stuff when I'm back, I think :)
psch yes, *.&[+&]: looks pretty good indeed :)
garu tadzik: I think I need it to be case insensitive though
just in case
tadzik: which is why I did the $field ~~ s:i/^HTTPS?_//; 15:41
wish there was a way to do s///r like there is in p5
robertle moritz: great, thanks!
psch garu: there's S///
timotimo you mean like S///?
garu psch, timotimo: yeah, vendethiel mentioned it but it didn't work :( 15:42
I can't find it in docs.perl6.org/language/regexes#Substitution
timotimo yeah, you have to set $_ instead of using ~~
garu m: my $key = q<HTTP_USER_AGENT>; my $field = $key ~~ S/HTTP//; say $field 15:43
camelia rakudo-moar 7d4b3a: OUTPUT«Potential difficulties:␤ Smartmatch with S/// can never succeed because the string it returns will fail to match. You can use given instead of ~~.␤ at /tmp/OZ4eXxsIhr:1␤ ------> 3q<HTTP_USER_AGENT>; my $field = $key ~~ 7⏏5S/HTTP//; say …»
15:43 ab6tract left
psch m: my $key = q<HTTP_USER_AGENT>; my $field = S/HTTP// given $key; say $field 15:43
camelia rakudo-moar 7d4b3a: OUTPUT«_USER_AGENT␤»
psch garu: just like the message says... :)
TreyHarris RabidGravy: perfect! thanks!
timotimo i told him, the message told him, he still went for it :P
psch hm, maybe it should expand to something like "$rhs given $lhs" 15:44
garu psch: ha! sorry, but that message was less than awesome for me (someone who just got started in perl6 and doesn't really know much about 'given')
timotimo maybe we should highlight "instead" in bold or color
psch garu: yeah, that's why i was thinking it should tell the user to swap the args 15:45
garu m: my $key = q<HTTP_USER_AGENT>; my $field = $key given S/HTTP//; say $field
camelia rakudo-moar 7d4b3a: OUTPUT«Method 'match' not found for invocant of class 'Any'␤ in block <unit> at /tmp/kMDlgBWveb line 1␤␤»
RabidGravy TreyHarris, it's a bit slow for large data, but hey. I'll have a think of doing something more sensible out of the box
garu that's what I tried when I saw "use given instead of ~~" :P
timotimo do we parse Rgiven properly? :D 15:46
garu psch, timotimo: how can I volunteer to update the docs for S///? I mean, where do I send my PRs to? :) 15:47
moritz garu: perl6/doc 15:48
15:49 domidumont joined
garu moritz: thanks! 15:49
15:51 pmurias joined
pmurias nqp-js-on-js now passes all the t/nqp tests :) 15:52
RabidGravy yay! 15:53
hoelzro pmurias++ 15:54
moritz \o/
pmurias++
donaldh pmurias++ # this is when you discover nqp doesn't have enough tests 15:55
moritz donaldh: pmurias discovered this long ago. And wrote more tests!
still too few, probably, but much better than before
donaldh Yep. It will be interesting to flush out remaining gaps. 15:56
15:56 pmurias_ joined 15:58 pmurias left
jnthn pmurias_: \o/ 15:58
Nice work! :)
15:59 pmurias_ is now known as pmurias
pmurias thanks ;) 16:05
16:05 pmurias left, robertle left 16:09 nowan_ joined
psch RabidGravy: gist.github.com/peschwa/960ffaa7a7...faa92e84b2 basically abusing SysEx to for pattern programming here 16:10
it works, it's probably never been intended like that, and the standard probably also specifies something else you should use for that, but eh :) 16:11
RabidGravy :) 16:13
tadzik garu: .subst can do that too 16:23
donaldh hoelzro: This patch seems to let jvm get to the repl prompt. gist.github.com/donaldh/90687a8ecd...6c0fbf357d 16:24
tadzik subst(a, b, :i) or so
donaldh hoelzro: unfortunately I can't install panda to install linenoise, so I can't test it.
hoelzro weird, but thanks for digging in!
donaldh++
donaldh I'll keep investigating 16:25
hoelzro donaldh: wanna commit and push that? I can't do anything until after I get home from work
16:25 g4 joined, g4 left, g4 joined
donaldh Not just now. I haven't tested it on moar. 16:25
16:26 abraxxa left
hoelzro ok 16:26
16:32 leont joined
donaldh Ugh, rakudobrew build panda blows up on JVM backend. 16:42
timotimo pmurias++ # fantastic work on nqp-js in general and nqp-js-on-js in particular 16:45
16:46 AlexDaniel left
awwaiid pmurias++ # definitely 16:46
garu tadzik: do you prefer we use .subst there? Or is S/// fine? 16:47
awwaiid I keep taking a look at the progress there, but it seems like you have to load a whole lot of context into your brain to make useful contributions
tadzik garu: S/// is fine, I learned about it today :P 16:48
timotimo psch: why can't you just write * +& 2? 16:49
garu tadzik: then it's pushed! travis is just finishing up testing it, but it should be fine :)
tadzik garu: marvelous!
psch timotimo: i clearly can :)
tadzik btw, do I remember correctly that you'll be on the QAH?
16:49 maybekoo2 joined
timotimo psch: is that code reacting to a metronome or something? 16:50
psch timotimo: sort of, yeah. --server starts the server which sends each of the array fields in turn
timotimo: and each of those fields encodes which note duration fits onto that moment in the measure 16:51
well, with the caveat that note durations only fit completely into a measure, which isn't how music really works... :)
timotimo i don't even a little bit of music :\ 16:52
garu tadzik: yup! I'll meet you there :)
psch as in, a 4/4 measure can have a half on the 1 and the 3, but not on the 2 'cause then you can't fill the measure with only halfs anymore
tadzik sweet!
psch and --client reacts and play the corresponding instruments when the right moment in the measure is reached 16:53
+s
s/reacts/reacts to that encoding/ # probably
timotimo mhm
RabidGravy at some point I'm going to hook it up to some real synthesizers 16:54
timotimo CRSB are cymbal, ride, snare and base?
RabidGravy I found all my three port usb - midi adapters yesterday
psch timotimo: i read C as "closed hihat", but yeah 16:55
ah
but that was a mistake when i did that
afair :P
tadzik garu: merged :) Thanks!
RabidGravy (stupid modern day manufacturers seem to omit the midi-through port) 16:56
tadzik now, I still have yours for rakudobrew
psch i think C is crash and R sounds more like a closed hihat to me vOv
tadzik which looked good but I still didn't testit :|
psch i won't bother to look up the GM mapping though :)
timotimo General MIDI? 16:57
RabidGravy psch, computermusicresource.com/GM.Percus...eyMap.html
that's quite useful
16:57 edehont joined
garu tadzik++ # thanks! 17:00
17:01 domidumont left
garu tadzik: yeah, github.com/tadzik/rakudobrew/pull/84 17:01
17:02 dakkar left
garu tadzik: should be easy to check, just install a few tags of rakudo (both available and not available in panda as well) and see what happens :P 17:02
tadzik yep :) 17:03
garu tadzik: what I like about this patch is that it get's even better if panda's maintainers keep track of rakudo's tags 17:04
s/get's/gets/
tadzik yeah, we should :}
garu :)
but before you did so because it was nice
now it's not just nice, but useful :P
tadzik it was documentation, y;eah 17:05
garu (and if no tag is found, it'll fallback to the current behaviour of fetching HEAD)
tadzik yep
garu tadzik: again, if there's anything I can do to help get this merged, just say the word :) 17:06
17:06 rindolf left, domidumont joined
tadzik feel free to pester me if it's unmerged tomorrow morning :P 17:06
garu gotcha :) 17:07
17:11 TeamBlast joined
dalek c: eb93d54 | timotimo++ | doc/Language/performance.pod:
fix remaining references to BEGIN where it should be INIT
17:11
c: 15d362b | timotimo++ | doc/Language/performance.pod:
remove a stray "e"
c: 7658f8a | timotimo++ | doc/Language/performance.pod:
remove section "Process lazily" that looks a bit bit-rotted

anyone can feel free to write up a new version of this with a more up-to-date and correct example, though.
17:11 rindolf joined
andreoss m: my ($x, $y) = flat gather "1234 abcd" ~~ /(\d+) \s (\S+) { take ~$0,~$1 } /; say "0-$x 1-$y" 17:14
camelia rakudo-moar 7d4b3a: OUTPUT«0-1234 1-abcd␤»
timotimo the part at the very end might want revisiting, too. for example, i think in general our gather/take can be quite fast nowadays. but perhaps only in certain situations? 17:15
andreoss can i have that but without gather/take?
17:15 domidumont left, dvinciguerra__ left
timotimo of course you can :) 17:15
andreoss my ($a, $b, @c) = $var ~~ /.../; # matches go to $a, $b, @c
17:16 donaldh left
timotimo m: my ($x, $y) = "1234 abcd".match(/(\d+) \s (\S+)/).list; say "0-$x 1-$y" 17:16
camelia rakudo-moar 7d4b3a: OUTPUT«0-1234 1-abcd␤»
timotimo m: my ($x, $y) = "1234 abcd".match(/(\d+) \s (\S+)/); say "0-$x 1-$y"
camelia rakudo-moar 7d4b3a: OUTPUT«Use of uninitialized value $y of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/lidVfSLkUD line 1␤0-1234 abcd 1-␤»
timotimo m: my ($x, $y) := "1234 abcd".match(/(\d+) \s (\S+)/); say "0-$x 1-$y"
camelia rakudo-moar 7d4b3a: OUTPUT«Unexpected named argument '' passed␤ in block <unit> at /tmp/IfY_gdcoBX line 1␤␤»
timotimo OK, so you need the .list
andreoss not with ~~? 17:17
17:17 edehont left 17:18 dupa joined, buharin joined
timotimo m: my ($x, $y) = ("1234 abcd" ~~ (/(\d+) \s (\S+)/)).list; say "0-$x 1-$y" 17:19
camelia rakudo-moar 7d4b3a: OUTPUT«0-1234 1-abcd␤»
timotimo also works with ~~
17:21 sufrostico joined
andreoss m: my ($x, $y) = list ("123 abc" ~~ /(\d+) \s (\S+)/); say $x.perl; 17:21
camelia rakudo-moar 7d4b3a: OUTPUT«Match.new(ast => Any, list => (Match.new(ast => Any, list => (), hash => Map.new(()), orig => "123 abc", to => 3, from => 0), Match.new(ast => Any, list => (), hash => Map.new(()), orig => "123 abc", to => 7, from => 4)), hash => Map.new(("" => [])), orig …»
andreoss m: my ($x, $y) = list ("123 abc" ~~ /(\d+) \s (\S+)/); say "0-$x 1-$y";
camelia rakudo-moar 7d4b3a: OUTPUT«Use of uninitialized value $y of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/btQ1pverw_ line 1␤0-123 abc 1-␤»
17:22 ocbtec joined
andreoss m: my (Int() $x, Str() $y) = ("123 abc" ~~ /(\d+) \s (\S+)/).list; say $x.perl; 17:23
camelia rakudo-moar 7d4b3a: OUTPUT«Match.new(ast => Any, list => (), hash => Map.new(()), orig => "123 abc", to => 3, from => 0)␤»
andreoss can i coerce the matches to Str or Int on the way? 17:24
17:24 doctor-professor joined, sufrosti1o joined
andreoss without .map 17:24
doctor-professor Hi, I'm translating a p5 module to p6. I'm done but I'd like to know how to create a README.md file from the markdown at the end of my main script (the html tag stuff after =finish), and how to generate the META.json and minil.toml files. Anyone know how? 17:26
andreoss panda gen-meta 17:27
[Coke] pmurias++ 17:29
doctor-professor I always did like you andreoss 17:30
17:31 buharin left, dupa left 17:32 JRaspass joined, wamba joined
[Coke] (nqp-js-on-js) - any pointers on how to run this? README is still tooled to nqp-js via moarvm. 17:35
ugexe gen-meta does not account for name spaces that dont match the file system layout (or multiple declared namespaces in a single file), and bin/ wrappers strip --name from @*ARGS (which gen-meta takes as a named argument)
17:38 leont left 17:39 sortiz left 17:41 doctor-professor left
masak evening, #perl6 17:41
17:41 xinming_ joined 17:42 xinming_ left, xinming_ joined 17:43 xinming is now known as Guest33836 17:44 Guest33836 left 17:45 xinming_ is now known as xinming
[Coke] morning. 17:46
17:47 buharin joined, dupa joined
[Coke] pmurias: npm ERR! git fetch -a origin (git://github.com/pmurias/nqp-js-io.git) fatal: Unable to look up github.com (port 9418) (nodename nor servname prov 17:48
(I don't expect you to have a fix for this, but just another case of "everyone's corporate network sucks in a different way"
andreoss m: perl6 -e 'multi MAIN(Numeric $x) { say $x }; multi MAIN(Str $s) { say "str $s" }' 1.4 17:49
camelia rakudo-moar 7d4b3a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hxsB41ibTh␤Two terms in a row␤at /tmp/hxsB41ibTh:1␤------> 3perl6 -e7⏏5 'multi MAIN(Numeric $x) { say $x }; mul␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ …»
17:49 zakharyas left
andreoss m: perl6 -e 'multi MAIN(Numeric $x) { say $x }; multi MAIN(Str $s) { say "str $s" }' ; say foo 1.4 17:49
camelia rakudo-moar 7d4b3a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WiHRgQnsbB␤Two terms in a row␤at /tmp/WiHRgQnsbB:1␤------> 3perl6 -e7⏏5 'multi MAIN(Numeric $x) { say $x }; mul␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ …»
andreoss damn
m: multi foo(Numeric) { "Numeric" }; multi foo(Str) { "Str" } ; say foo(1.2)
camelia rakudo-moar 7d4b3a: OUTPUT«Numeric␤»
andreoss why this doesn't work with MAIN? 17:50
# perl6 -e 'multi MAIN(Numeric) { "Numeric" }; multi MAIN(Str) { "Str" } ;' 1.2
[Coke] main is taking IntStrs.
or other *Strs. 17:51
that'd be my guess.
geekosaur command line parameters are strings
inferring them as something else is problematic at best
andreoss geekosaur: so MAIN(Int $s) means nothing? 17:52
masak m: perl6 -e 'multi MAIN(Numeric $x) { say $x }; multi MAIN(Str $s) { say "str $s" }; 1.4
camelia rakudo-moar 7d4b3a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VxNI2v8g99␤Two terms in a row␤at /tmp/VxNI2v8g99:1␤------> 3perl6 -e7⏏5 'multi MAIN(Numeric $x) { say $x }; mul␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ …»
masak m: multi MAIN(Numeric $x) { say $x }; multi MAIN(Str $s) { say "str $s" }
camelia rakudo-moar 7d4b3a: OUTPUT«Usage:␤ /tmp/s4ieHhCYCV <x> ␤ /tmp/s4ieHhCYCV <s> ␤»
[Coke] multi MAIN (Numeric $x) { say "got Numeric"; }; multi MAIN ($x) { say "Got something"; } 17:53
17:53 JRaspass left
psch m: multi MAIN(Numeric $x) { say $x }; multi MAIN(Str $s) { say "str $s" }; MAIN <1.4> 17:53
camelia rakudo-moar 7d4b3a: OUTPUT«Ambiguous call to 'MAIN'; these signatures all match:␤:(Numeric $x)␤:(Str $s)␤ in block <unit> at /tmp/dExw5grWUp line 1␤␤»
[Coke] ^^ that works, though. not sure what your issue is.
geekosaur I would guess that, in absence of a Str multi, it would convert. but if a multi accepts Str then it probably gets it directly
psch m: say <1.4>.WHAT
camelia rakudo-moar 7d4b3a: OUTPUT«(RatStr)␤»
[Coke] yes, a RatStr is a Str.
geekosaur because there is no way to specify whether the 1.4 you passed there was intended to be a number or a string
psch [Coke]: so MAIN as entry point does something extra to resolve that dispatch..?
[Coke] note that my second one isn't a string. 17:54
if you change ($x) to (Str $x) you get "ambiguous call"
psch [Coke]: right. i suppose what i'm really wondering is what exactly in andreoss' "why doesn't it work with MAIN" that doesn't work :)
[Coke] nothing extra, it's just a multi
andreoss: perhaps gist the exact problem.
psch s/exactly/exactly it is/
[Coke] m: multi MAIN (Numeric $x) { say "got Numeric"; }; multi MAIN ($x) { say "Got something"; }; MAIN(<1.2>); MAIN("x") 17:55
camelia rakudo-moar 7d4b3a: OUTPUT«got Numeric␤Got something␤Usage:␤ /tmp/dtO1ocuZUI <x> ␤ /tmp/dtO1ocuZUI <x> ␤»
andreoss paste.debian.net/423049/ 17:56
Numeric case can't get match 17:57
*matched 17:58
[Coke] what are you invoking it with on the command line?
I get "Ambiguous call to 'MAIN'; these signatures all match" 17:59
which is exactly correct.
(if annoying)
remove the "Str" from the second sub's signature. 18:00
andreoss it works. but what the type is now? 18:01
geekosaur probably Str. the difference is that, it having not specified the type, it no longer ties with the Numeric one
[Coke] andreoss: you can easily check the type, but it's Str. 18:02
Do you get why it's a tie for MAIN args?
andreoss works with MAIN(Any) too 18:03
m: say Numeric.^mro, Str.^mro
camelia rakudo-moar 7d4b3a: OUTPUT«Method 'mro' not found for invocant of class 'Perl6::Metamodel::ParametricRoleGroupHOW'␤ in block <unit> at /tmp/nWOFwJytY4 line 1␤␤» 18:04
[Coke] m: my $main-arg=<1.2>; say $main-arg ~~ Numeric; say $main-arg ~~ Str
camelia rakudo-moar 7d4b3a: OUTPUT«True␤True␤»
[Coke] m: my $main-arg=1.2; say $main-arg ~~ Numeric; say $main-arg ~~ Str
camelia rakudo-moar 7d4b3a: OUTPUT«True␤False␤»
andreoss i get it
[Coke] ok.
andreoss why just don't consider the first multi as a match? 18:05
psch m: multi f(Mu \x) { "Mu" }; multi f(Str $x) { "Str" }; f "foo" 18:06
camelia ( no output )
[Coke] because they both match. 18:07
psch "the first" would always match Mu there
[Coke] How can we know you didn't mean *any* string on the second one?
If you want "any str that isn't also a Numeric" you can make a subset for that.
18:08 espadrine left
andreoss order of multies doesn't matter at all? 18:08
geekosaur right. Haskell does provide a way to do that, btw (OVERLAP pragma); both the class and any overlapping instances must opt in, to avoid unexpected behavior
[Coke] andreoss: not if they're both an exact match, no
geekosaur I personally think order of declaration mattering is a really *bad* idea
18:09 leont joined
TimToady order only matters if there are extra constraints 18:09
yoleaux 29 Mar 2016 21:17Z <ab5tract> TimToady: I might have found another mistaken 'useless use in sink context' warning: 'm: my $f = '25 25 25'; $f ~~ s:nth(*-1)[\d+] = 42; say $f'
[Coke] (as I understand it, could be wrong)
timotimo order of multies is important mostly for methods with named arguments
TimToady nominal matching is unordered
geekosaur sorry, no, thinko. OVERLAP allows Perl 6's more-specific behavior. This is IncoherentInstances and that is considered a really bad idea for really good reasons 18:10
18:11 dvinciguerra joined
[Coke] andreoss: subset StrOnly where {$_ ~~ Str && $_ !~~ Numeric}; multi MAIN(StrOnly $interval) ... 18:12
You could go further and make sure that the String matches your format required for strings also, and emit the usage if not.
18:16 leont left, leont joined, cdg left, {dpk} is now known as dpk 18:17 cdg joined 18:18 buharin left, dupa left 18:21 cdg left
TreyHarris I was interested to see ordering of multis matters for named arguments even when arity is different. "multi sub dwim(:$foo) {...} multi sub dwim(:$foo, :$bar)" doesn't work, the first is always called even in the presence of :bar 18:22
18:25 nadim joined
TreyHarris (you also need to specify :D on :bar or even with the correct ordering it doesn't work, everything goes to the first one) 18:25
psch m: multi sub dwim(:$foo) { "foo" }; multi sub dwim(:$foo, :$bar) { "foobar" }; say dwim :foo, :bar 18:27
camelia rakudo-moar 7d4b3a: OUTPUT«foobar␤»
psch m: class C { multi method dwim(:$foo) { "foo" }; multi method dwim(:$foo, :$bar) { "foobar" }; }; say C.dwim: :foo, :bar
camelia rakudo-moar 7d4b3a: OUTPUT«foo␤»
psch m: class C { multi method dwim(:$foo) { "foo" }; multi method dwim(:$foo, :$bar!) { "foobar" }; }; say C.dwim( :foo, :bar ) 18:28
camelia rakudo-moar 7d4b3a: OUTPUT«foo␤»
masak TreyHarris: I think that's when ordering matters. if you re-oreder those, you get the other one being called all the time.
TreyHarris yes, it was a multi method now that I look at the code in question
masak TreyHarris: also, in Perl 6, if you write several sub/method declarations on the same line, you need a semicolon to separate them 18:29
TreyHarris masak: oh, using ! instead of :D is clearer, obviously. didn't think of that
masak that wasn't me, that was psch :) 18:30
TreyHarris masak: sorry, I wasn't meaning to quote literal code, just separate it from the English surrounding it.
masak oh, ok
TreyHarris psch: indeed, that's better :)
vendethiel .tell hoelzro hoelz.ro/blog/binding-to-cpp-with-nativecall you probably want noexcept instead of throw() :) 18:32
yoleaux vendethiel: I'll pass your message to hoelzro.
hoelzro vendethiel: thanks! what's the difference? just C++11 version of throw (), or is there more to noexcept? 18:33
yoleaux 18:32Z <vendethiel> hoelzro: hoelz.ro/blog/binding-to-cpp-with-nativecall you probably want noexcept instead of throw() :)
vendethiel throw() is deprecated and will probably be removed in C++17 (well, actually, I think the paper was declined, but a lot of people are pushing to get a different kind of system instead) 18:34
18:35 dupa joined, buharin joined
vendethiel (so it's more of a general "warning" against throw(...), "throw()" is the only "good" case and that's why noexcept was added. noexcept also can be used to query the value 18:35
i.e. noexcept(sizeof(T) < 4 && noexcept(fn()))
18:40 andreoss left 18:43 Ven joined
masak this is a lovely little project: github.com/thejameskyle/the-super-tiny-compiler 18:43
HN: news.ycombinator.com/item?id=11395656
recommended reading for anyone who's ever wanted to jump into compilers but wasn't sure where to start 18:44
the comments in the code are very friendly -- in fact, they're exemplary 18:47
Guest73352 m: say (1, 22/7, 42, 300).first: * > 5, :kv, :end; # doesn't work for some reason 18:49
camelia rakudo-moar 7d4b3a: OUTPUT«Unexpected adverb 'kv' passed to first :end on List␤ in block <unit> at /tmp/H_nj45b8zZ line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/H_nj45b8zZ line 1␤␤»
Guest73352 anyone know why
moritz m: say (1, 22/7, 42, 300).first: * > 5, :kv 18:50
camelia rakudo-moar 7d4b3a: OUTPUT«Unexpected adverb 'kv' passed to first on List␤ in block <unit> at /tmp/bJq3SgpmDu line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/bJq3SgpmDu line 1␤␤»
moritz m: say (1, 22/7, 42, 300).first: * > 5
camelia rakudo-moar 7d4b3a: OUTPUT«42␤»
moritz m: say (1, 22/7, 42, 300).first: * > 5, :end
camelia rakudo-moar 7d4b3a: OUTPUT«300␤»
moritz m: say (1, 22/7, 42, 300).first: * > 5, :kv
camelia rakudo-moar 7d4b3a: OUTPUT«Unexpected adverb 'kv' passed to first on List␤ in block <unit> at /tmp/we9Riz2lcS line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/we9Riz2lcS line 1␤␤»
masak Guest73352: .first doesn't seem to have a :kv
moritz right
masak Guest73352: arguably it should
I looked at the source. it doesn't.
IMO, .first ought to have everything .grep hs 18:51
has*
Guest73352 according to the docs :kv should be there
18:51 labster joined
masak a rare case of the docs being ahead :P 18:51
Guest73352 :-)
masak .oO( quick, down-date the docs! ) :P 18:52
18:53 labster left
Guest73352 will it magically appear in the future you think? 18:53
moritz Guest73352: depends on whether lizmat backlogs and reads this conversation :-) 18:55
Guest73352 let's hope she does or I might have to report it somewhere :-) 18:57
masak knowyourmeme.com/memes/why-not-both...-have-both 18:59
18:59 Ven left
masak .oO( ¿Por qué no las dos? ) 19:00
19:04 Actualeyes left 19:05 ufobat joined 19:10 Ven joined 19:14 Ven left
Xliff_z_OUT in "perl6 -V" what variable would be the equivalent of perl5's default @INC? 19:16
masak @*INC
vendethiel there are dongers in that compiler 19:17
moritz masak: @*INC is gone
masak oh!
<!-- Static navbar -->
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
moritz m: say $*REPO.repo-chain
masak <span class="sr-only">Toggle navigation</span>
camelia rakudo-moar 7d4b3a: OUTPUT«(inst#/home/camelia/.perl6 inst#/home/camelia/rakudo-m-inst-2/share/perl6/site inst#/home/camelia/rakudo-m-inst-2/share/perl6/vendor inst#/home/camelia/rakudo-m-inst-2/share/perl6 CompUnit::Repository::AbsolutePath.new(next-repo => CompUnit::Repository::NQ…»
masak <span class="icon-bar"></span>
</button>
vendethiel oops :)
masak <a class="navbar-brand" href="#">Kenya Believe It!</a>
vendethiel masak pulling a dalek
masak </div>
<div id="navbar" class="navbar-collapse collapse">
diakopter lolz
masak <ul class="nav navbar-nav">
<li class="active"><a href="#">Tours</a></li>
vendethiel masak: sometimes it's just better to close the IRC client :P
masak <li><a href="#">My Bookings</a></li>
Xliff_z_OUT aaiee!
masak </ul>
huf will the send queue never end?
masak <ul class="nav navbar-nav navbar-right">
Xliff_z_OUT masak flood!
masak <li><a href="#"><span class="glyphicon glyphicon-shopping-cart" aria-hidden="true"></span> Cart</a></li>
</ul>
</div> 19:18
19:18 Xliff_z_OUT is now known as Xliff, ChanServ sets mode: +o moritz
masak </div> 19:18
19:18 masak was kicked by moritz (masak))
diakopter even if he closes irc, there's likely still lots of stuff queued somewhere 19:18
19:18 masak joined
masak sorry about that 19:18
vendethiel look, it's all good now :P
mst diakopter: nah, a /kick will clear that queue
moritz diakopter: that's why a kick seemed to be best solution :-)
mst that's why you /kick rather than +b
19:18 moritz sets mode: -o mohae, moritz sets mode: -o moritz
mst #ircopslyfe #themoreyouknow 19:18
vendethiel poor mohae :P
masak yes, I'm currently writing Bootstrap :P
mst masak: remember to replace the grid with something else (pocketgrid is ok) 19:19
bootstrap with its own grid is an Error
masak I... see.
irssi is great, by the way
19:19 yqt joined, Vlavv_ left
masak -!- Irssi: Pasting 25 lines to #perl6. Press Ctrl-K if you wish to do this or Ctrl-C to cancel. 19:20
it's just me who is an idiot
huf it tries
masak I pressed Ctrl-K :(
huf :)
masak it means Kancel, right?
moritz lol
huf kanker
[Coke] Kick me
diakopter Kancowl
moritz kool bean 19:21
geekosaur release the Kraken <.<
mst that's not bad rum, actually
huf i dont remember who has the ability to control kaa in the jungle book
19:29 maybekoo2 left 19:31 spider-mario joined 19:32 Actualeyes joined
Xliff What is the format to check if a class has a method defined? 19:32
ClassInst.?meth
?
19:33 Vlavv_ joined
Xliff m: say Match.?eqv 19:33
camelia rakudo-moar 7d4b3a: OUTPUT«Nil␤»
Xliff m: say Match.?perl
camelia rakudo-moar 7d4b3a: OUTPUT«Match␤»
Xliff m: say Match.?gist
camelia rakudo-moar 7d4b3a: OUTPUT«(Match)␤»
Xliff m: say Match.?bob
camelia rakudo-moar 7d4b3a: OUTPUT«Nil␤»
geekosaur that isn't check if defined, it's call-if-defined-else-nil 19:34
moritz m: say so Match.can('gist') 19:35
camelia rakudo-moar 7d4b3a: OUTPUT«True␤»
moritz m: say so Match.can('bob')
camelia rakudo-moar 7d4b3a: OUTPUT«False␤»
psch m: say Match.^can('gist') eqv Match.can('gist')
camelia rakudo-moar 7d4b3a: OUTPUT«True␤»
psch why do those do the same, ooc?
moritz psch: probably hysterical raisins 19:36
I'd be fine with only having the MOP variant 19:37
19:37 ZoffixWin left
tony-o m: class A { }; class B { method a { } }; say A.^can("a"); say B.^can("a"); 19:38
camelia rakudo-moar 7d4b3a: OUTPUT«()␤(a)␤»
tony-o Xliff^
Xliff tony-o, Thanks.
19:39 Ven joined 19:42 ZoffixWin joined, ZoffixWin left, ZoffixWin joined
ufobat after writing p5 code for the whole day i started to use -> for method invokation again ;.( 19:43
moritz ufobat: it takes some time to get used to the language switching :/
leont Try C/C++, where they both exist ;-) 19:44
Xliff What is "so"
masak I find language switching gets easier the more one does it
Xliff: it's like prefix:<?>
but much looser
Xliff m: sat Match.can('gist')
camelia rakudo-moar 7d4b3a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BLBQPi5ili␤Undeclared routine:␤ sat used at line 1. Did you mean 'set', 'say'?␤␤»
moritz switching between Perl 6 and python, I tend to forget to add 'self' in the parameter list
Xliff m: say Match.can('gist')
camelia rakudo-moar 7d4b3a: OUTPUT«(gist gist gist)␤»
Xliff m: say so Match.can('gist') 19:45
camelia rakudo-moar 7d4b3a: OUTPUT«True␤»
moritz also, doc.perl6.org/language/faq#What_is_so%3F
Xliff OK. That's what I was missing.
moritz, Thank you.
So put changed Match.pm in wrong place and .... as expected... getting odd test results. 19:46
Placing it in right place solved the problem *sigh*
19:47 dvinciguerra left
Xliff There are too many places where rakudo src exists in .rakudobrew 19:47
19:48 raoulvdberge joined
dalek osystem: e744dd3 | (Martin Barth)++ | META.list:
Update META.list

Add Time::Crontab to ecosystem See github.com/ufobat/p6-time-crontab
19:49
osystem: 7afc976 | (Zoffix Znet)++ | META.list:
Merge pull request #185 from ufobat/master

Update META.list
ufobat whee! 19:54
masak ufobat: that's you? 19:55
ufobat i am afraid, yes :(
masak oh, clearly yes
given the github URL :)
looks like nice code 19:56
ufobat the module is my approach to learn perl6
masak I don't cuddle my elses, but people vary in that regard
it's mostly because I read "Perl Best Practices" long ago :)
(and I bought the argument in there)
ufobat thank you, but i guess there is still much to do better. i am currently working on the method next-datetime to figure out which is the next date after $something
19:56 dvinciguerra joined
moritz m: say Datetime.now.delta(days => 1) 20:00
camelia rakudo-moar 7d4b3a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/AxwH9vsY0d␤Undeclared name:␤ Datetime used at line 1. Did you mean 'DateTime'?␤␤»
moritz m: say DateTime.now.delta(days => 1)
camelia rakudo-moar 7d4b3a: OUTPUT«Method 'delta' not found for invocant of class 'DateTime'␤ in block <unit> at /tmp/9rjJPnkQmZ line 1␤␤»
moritz m: say DateTime.now.later(days => 1)
camelia rakudo-moar 7d4b3a: OUTPUT«2016-04-01T22:00:36.511876+02:00␤»
moritz m: say Date.today.later(days => 1)
camelia rakudo-moar 7d4b3a: OUTPUT«2016-04-01␤»
moritz m: say Date.today + 1 20:01
camelia rakudo-moar 7d4b3a: OUTPUT«2016-04-01␤»
moritz ufobat: does any of those answer your question? :-)
ufobat ah no
i was thinking of my time::crontab
given a "10 10 * */2 *" what next after DateTime.now, thats what i meant 20:04
20:04 kaare_ left
ZoffixWin m: say v6 before v6.c 20:08
camelia rakudo-moar 7d4b3a: OUTPUT«False␤»
ZoffixWin ufobat, ^ that's how Perl sees your "perl" version in META for that module. Plain 6 is after 6.c.
You may wanna change yours to 6.* or 6.c
psch m: say DateTime.now.later(months => 2) 20:09
camelia rakudo-moar 7d4b3a: OUTPUT«2016-05-31T22:09:14.555494+02:00␤»
masak m: say DateTime.now.later(:2months) 20:10
camelia rakudo-moar 7d4b3a: OUTPUT«2016-05-31T22:10:46.768683+02:00␤»
ZoffixWin m: say DateTime.now.later: :2months 20:11
camelia rakudo-moar 7d4b3a: OUTPUT«2016-05-31T22:11:09.346483+02:00␤»
ZoffixWin :O
*:D
masak m: my &later = DateTime.now.can("later")[0]; say later DateTime.now, :2months 20:12
camelia rakudo-moar 7d4b3a: OUTPUT«2016-05-31T22:12:22.039022+02:00␤»
masak m: my &later = -> $_ = DateTime.now, *%_ { .later: |%_ }; say later :2months 20:14
camelia rakudo-moar 7d4b3a: OUTPUT«2016-05-31T22:14:36.916353+02:00␤»
tony-o p cool 20:17
20:17 darutoko left
tony-o m: say DateTime.later: :13months 20:20
camelia rakudo-moar 7d4b3a: OUTPUT«Cannot look up attributes in a type object␤ in block <unit> at /tmp/548UvfnK_9 line 1␤␤»
tony-o sweet
20:20 cdg joined
tony-o m: say DateTime.now.later: :13months 20:20
camelia rakudo-moar 7d4b3a: OUTPUT«2017-04-30T22:20:35.996770+02:00␤»
tony-o goes to look at DateTime source
20:22 cdg left
ufobat ZoffixWin, you mean the "perl" : "6" should be "perl" : "6.c"? 20:22
20:22 cdg joined
ZoffixWin ufobat, yes 20:22
RabidGravy tadzik, I just popped a tiny PR to JSON::Unmarshal when you have a minute 20:23
ufobat i am wondering, most other META files dont even have a "perl" in it, should i better remove it as well?
ZoffixWin ufobat, it's a mandatory key. 20:24
20:24 spintronic left
ZoffixWin I'm unsure what the behaviour would be for when it is omitted, but the spec declares it mandatory. 20:24
20:26 labster joined
ufobat huh! where am i mistaken, but look at e.g. raw.githubusercontent.com/masak/00.../META.info or.. anything else, there is no "perl" : something 20:26
20:27 spintronic joined, espadrine joined, spintronic left 20:29 spintronic joined
RabidGravy right, most of the tools ignore the fact that it's missing silently, but it should be there 20:30
ZoffixWin ufobat, here's the spec that declares it mandatory: design.perl6.org/S22.html#perl Sure, there are modules in the Ecosystem that don't include it. Sure, our current tools likely ignore the value of the 'perl' key entirely. But, the spec is the spec, and the tools might get molded to follow it with some unknown consequences for distros that omit the 'perl' key or have value '6' instead of '6.c' for it. I'm not saying your distro is
uninstallable right now. I'm saying it does not confirm to the spec, thus what happens due to this non-conformance in the future is simply unknown.
ZoffixWin would personally have the key optional, with the missing key taken to mean "any perl version" 20:31
ufobat of course i will fix it, i was just confused that all METAS I picked where wrong concerning the spec 20:32
thanks for pointing it out :)
20:33 dupa left, buharin left
spintronic -/exit 20:34
20:34 spintronic left
RabidGravy github.com/jonathanstowe/META6/blo...A6.pm#L184 - If you used Test::META it would fail without it 20:34
masak I think design.perl6.org/S22.html#perl was added after 007's META.info, and the latter simply hasn't been updated 20:36
PRs welcome :)
ufobat i do use Test::META, i guess i just added the "6" without reading anything at first, after it failed
RabidGravy I'm not sure whether anything *other* then Test::META actually cares TBH 20:37
20:38 Actualeyes left
masak hm. `perl` was added back in March 2014, so I'm wrong, it seems. 20:39
20:39 pmurias joined
pmurias [Coke]: hi 20:39
masak though it has been updated lately with the 6.c and 6.d details
Ven ahoy 20:40
masak frankly I'm not sure what I ought to have done to be better informed about this `perl` thing, as a module author
except read S22 more carefully, I guess
pmurias [Coke]: I'll try to clean up nqp-js-io and put it up on npm or make it optional somehow
ZoffixWin masak, here you go: github.com/masak/007/pull/135
masak ZoffixWin: merged; thank you. 20:41
ZoffixWin \o/
20:41 jsimonet joined
pmurias [Coke]: can you clone stuff from github? 20:42
Xliff 007 20:52
Yet Another Macro Language?
Or is it a Macro Language with a Silencer?
s/Silencer/Suppresor/ 20:53
20:53 agentzh joined, agentzh left, agentzh joined
nadim jnthn: this is very surprizing. this line multi sub rhs_header_filter(\r, Match $s, ($depth, i$path, $glyph, @renderings), $) compiles and runs. I don't knowif you can spot it but there is an 'i' before $path (yes I hate vi) 20:55
masak Xliff: it's kind of a sandbox for macro ideas, yes.
nadim jnthn: the surprising part is that it suns in 6 seconds while the same thing without the 'i' runs in 1.5s 20:56
masak m: sub foo(i$path) {}
camelia ( no output )
perlpilot look at the sig
I bet it's taking the leading i to be a Complex type constraint
masak m: sub foo(i$path) { say $path }; foo("hi")
camelia rakudo-moar 7d4b3a: OUTPUT«Type check failed in binding $path; expected Complex but got Str ("hi")␤ in sub foo at /tmp/ERbgTNOTH5 line 1␤ in block <unit> at /tmp/ERbgTNOTH5 line 1␤␤»
masak perlpilot: bingo.
psch m: say :(i$).perl 20:57
camelia rakudo-moar 7d4b3a: OUTPUT«:(Complex $ where { ... })␤»
psch i wonder what the where contains
masak where { $_ == i }
nadim hehe!
Xliff So here's a question. If I am making an eqv method that compares to objects.
nadim it contains something that runs very slowly I can tell you
psch m: say 1i ~~ :(i$)
camelia rakudo-moar 7d4b3a: OUTPUT«False␤»
pmurias [Coke]: make js-bootstrap; node nqp-bootstraped.js -e 'say("Hello World")', I'll updated the README tomorrow
psch m: say 0i ~~ :(i$)
camelia rakudo-moar 7d4b3a: OUTPUT«False␤»
20:57 pmurias left
Xliff Doesn't it make sense to start it with $self === $b where $b is the method argument? 20:58
perlpilot nadim: it's the same thing that allows this to work ...'
m: sub foo( 42 $x) { }
camelia ( no output )
nadim perlpilot: and what does "work" mean in this case+
perlpilot which, I admit, is surprising.
Xliff Er. self doesn't need a sigil, does it? 20:59
nadim Xliff: no
Xliff nadim, thx
perlpilot m: sub foo( 42 $x) { say "yay" }; foo(42); foo(35)
camelia rakudo-moar 7d4b3a: OUTPUT«yay␤Constraint type check failed for parameter '$x'␤ in sub foo at /tmp/ZWhgRP8HMa line 1␤ in block <unit> at /tmp/ZWhgRP8HMa line 1␤␤»
psch m: multi f (Int $) { "some Int" }; multi f (42) { "Life, the universe, and everything" }; say f 12; say f 42
camelia rakudo-moar 7d4b3a: OUTPUT«some Int␤Life, the universe, and everything␤»
21:00 skids left
psch thing is 21:00
constants are valid type constraints
masak unless they start with a minus sign
21:00 skids joined
psch and types are constants, kind of 21:00
nadim how is 42 or i a constraint? 21:01
psch nadim: kinda the same way Str is
i mean, maybe constraint isn't quite the right word there
masak it's kind of a pretend-that-this-value-is-a-type thing 21:02
psch m: sub f(-42) { }; f 12
camelia rakudo-moar 7d4b3a: OUTPUT«Constraint type check failed for parameter '<anon>'␤ in sub f at /tmp/1tixu0JZPH line 1␤ in block <unit> at /tmp/1tixu0JZPH line 1␤␤»
psch m: sub f(-42) { }; f -42
camelia ( no output )
masak oh, that works now? nice.
someone++
[Coke] .tell pmurias I can do it when not at work, but I can also do it at work if I use certain URLs.
yoleaux [Coke]: I'll pass your message to pmurias.
21:03 agentzh left
psch masak: i'm kinda thinking the other way around, fwiw. like, to install an anon class into the lexpad you assign it to a constant, so constants are the same as types (on some level) 21:03
nadim is checking all the spurious 'i' to speedup his code
[Coke] pmurias++ more JS goodness.
psch m: constant Foo = class { method foo { "bar" } }; sub f(Foo $) { }; f Foo.new
camelia ( no output )
21:03 Actualeyes joined
Xliff gist.github.com/Xliff/2907106c84e9...nt-1739145 21:03
21:03 agentzh joined, skids left
psch and clearly literals are constants in the same sense 21:03
nadim I can conceptualize 42 $something but 'i' is kinda barewordy 21:04
psch m: say i 21:05
camelia rakudo-moar 7d4b3a: OUTPUT«0+1i␤»
psch m: say i.perl
camelia rakudo-moar 7d4b3a: OUTPUT«<0+1i>␤»
psch m: say i.WHAT
camelia rakudo-moar 7d4b3a: OUTPUT«(Complex)␤»
nadim mehhh!
psch stupid maths!
21:05 yqt left 21:06 nadim left 21:08 Ven left, _nadim joined 21:10 petercommand joined 21:11 molaf left
perlpilot m: sub foo(pi) { } # there are other wordy things that can constrain, so i isn't the only one to watch out for :-) 21:11
camelia ( no output )
21:11 Actualeyes left
masak m: sub foo(NaN) { } 21:15
camelia ( no output )
geekosaur nancy typing perl 6 style 21:16
21:18 g4 left 21:31 wamba left
ufobat good night! 21:35
21:36 ufobat left, sufrosti1o left, ocbtec left 21:37 sufrostico left 21:38 sufrostico joined, sufrosti1o joined 21:39 tphilipp joined 21:40 cdg left, cdg joined 21:43 Cabanossi left 21:45 Cabanossi joined
dalek c: f711a3a | (Wenzel P. P. Peppmeyer)++ | doc/Language/ (2 files):
X<C<foo>|foo> requires the alternate name
21:47
21:56 Actualeyes joined 21:59 tphilipp left 22:01 lizmat joined, AlexDaniel joined
tony-o does passing a set to a function run that function in parallel for items in the set? 22:02
lizmat tony-o: why would it ?
psch tony-o: a set is a normal object
lizmat a set is not a junction
psch tony-o: you might be thinking of junctions
lizmat++
:)(
tony-o mm, i am thinking of junctions
MadcapJake how experimental is the cached trait? 22:04
psch m: sub f is cached { rand }
camelia rakudo-moar 7d4b3a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YUa0UHaGoM␤Use of the 'is cached' trait is experimental; please 'use experimental :cached'␤at /tmp/YUa0UHaGoM:1␤»
psch MadcapJake: i think all the experimental things are "we want to have this but aren't completely sure how the semantics and implementation have to look" 22:05
MadcapJake: iirc there was discussion for something in modulespace recently
MadcapJake hmm 22:06
psch MadcapJake: github.com/azawawi/perl6-memoize
not sure where i saw the discussion or how long ago "recently" actually was... :)
there's probably a lot to find in the clog, anyway 22:07
MadcapJake yeah found something from the memoize repo 22:08
lizmat: does cached work a little or is it really not good to try?
lizmat is cached works, for what it is supposed to do 22:09
22:09 ecojud joined
MadcapJake cool, I have a list of objects and I just want to make sure it only runs the operation if the list changes 22:10
(only in size)
psch m: use experimental :cached; sub f($) { say "calculating..."; sleep 2; "done" }; say f("foo"); say f("foo")
camelia rakudo-moar 7d4b3a: OUTPUT«calculating...␤done␤calculating...␤done␤»
psch oh duh
actually use the trait, me...
m: use experimental :cached; sub f($) is cached { say "calculating..."; sleep 2; "done" }; say f("foo"); say f("foo") 22:11
camelia rakudo-moar 7d4b3a: OUTPUT«calculating...␤done␤done␤»
psch i also have to admit i forgot a lot of what the discussion was about
i think what Memoize eventually wants to solve is the process boundary, but i might be misremembering 22:12
_nadim do we have an equivalent of Xpath for data in P6?
masak not yet 22:14
'night, #perl6
timotimo cat says: ecwoooooooooooooooooooooooooooooooooooooooooooooooooooooo
mst timotimo: say *meow* back from me 22:15
Xliff _nadim, you mean like LINQ for C#?
MadcapJake can you create a subset inside a class context? i.e., have access to self?
has? 22:16
Xliff _nadim, Actually would love to have XPath for P6 period. Or better yet... Xquery
Is there a good primer for learning how to wrap C++ libraries for P6?
timotimo i did, mst 22:17
Xliff Because there is the XQuilla project which looks like a good target.,
psch m: class A { my $subset; method set-subset { $subset := subset :: of Int where * > 0 }; method subset { $subset } }; A.set-subset; say 2 ~~ A.subset 22:18
camelia rakudo-moar 7d4b3a: OUTPUT«True␤»
Xliff Man, the web is slow, today
leont still doesn't believe good C++ will be wrappable
Though C-with-classes might
psch MadcapJake: not sure what exactly you'd need self for. if you want to build a subset relying on attributes it can't be a class variable like it is in my example 22:19
s/'d//
22:20 pdcawley joined, RabidGravy left
Xliff leont, why do you believe that? 22:20
leont What would you do with say rvalue references?
Or templates
MadcapJake yeah that's what I want, I was able to due an anon subset inside a method signature, that seems to allow access to self 22:21
Xliff Good questions. Depends on what they are used for.
I won't want to wrap the entire library. Just the important bits that would be useful.
psch m: class A { has $.foo; my $subset; method subset { $subset }; method set-subset { $subset = subset :: of A where *.foo < 5 } }; A.set-subset; my $x = A.new(:foo(5)); say $x ~~ A.subset;
camelia rakudo-moar 7d4b3a: OUTPUT«False␤»
psch MadcapJake: ^^^ that?
leont I'm sure you can wrap a useful subset, but you wouldn't be able to wrap the sort of thing I'd typically use C++ for
psch MadcapJake: oh, just putting the subset into the sig, yeah
Xliff Though c++ libs are more likely to be better served by perl6 than perl5.
22:22 ecojud left
timotimo clearly we want Inline::Cpp::GCC or Inline::Cpp::CLang or something 22:22
so that we can use templates and such
Xliff leont, most c++ projects are probably better done as c-with-classes.
leont I strongly disagree on that!
Xliff *shrug* 22:23
leont If I want that, I'd use plain old C without classes
Classes are pretty much the least interesting feature in C++ IMO
It's not coincidence C++ has been slowly moving towards more functional styles 22:24
*a
timotimo what kinds of things do you enjoy in C? all i can think of would be the STL or Qt, and those are quite very classes-stuff 22:25
class-related?
leont STL uses classes as types, but doesn't really use typical OO features like inheritance much, prefering techniques like templates 22:26
timotimo mhm
leont non-virtual methods are really just functions with a funny namespace 22:27
Xliff For a first draft XQuilla module, I'd only want something that could take an XQuery expression, and use it to parse a document and give me the resultset.
I think something like that would be great for perl6.
API example: xqilla.sourceforge.net/docs/simple-...ample.html 22:28
_nadim Xliff: then you know what your next module should be :9 22:33
22:33 autarch left, kid51 joined
Xliff _nadim, do you have a link to something that gives the general gist of how to wrap C++ code for Perl6? 22:34
I've never done it before, but wouold be willing to try.
22:35 AlexDaniel left 22:37 autarch joined
psch Xliff: github.com/rakudo/rakudo/blob/nom/...mangling.t is probably the barest of starts 22:40
well, except if "wrap" means more than "bind it with NativeCall" :)
22:42 dalek left 22:43 dalek joined, ChanServ sets mode: +v dalek 22:45 dvinciguerra_ joined 22:46 jamesalbert joined
jamesalbert Hey, I ported a perl 5's JSON::WebToken to perl 6 and all the tests are done and passing using prove, but travis-ci is failing saying "Parse errors: No plan found in TAP output". Could I get some help with this and also putting it out in the ecosystem? 22:48
timotimo sure, can you give us a link to travis' output?
22:48 dvinciguerra left
jamesalbert Awesome, thanks! Yes travis-ci.org/jamesalbert/JSON-WebToken 22:48
22:49 pdcawley left
timotimo oh, does -Ilib,t actually work? 22:50
oh, it does!
22:51 tardisx joined
jamesalbert At least on my end it does =] first time using travis-ci btw 22:51
22:51 Actualeyes left
timotimo "no plan found in tap output" usually means you're getting some kind of error output and an exit, and prove doesn't like that 22:52
it should be possible to tell prove with some flag to give you all the output, so we can see what that error message is
that'll get us much further, i expect
22:52 pdcawley joined
jamesalbert Here let me set it to verbose and get rid of --rc option (it seems to pick up .proverc by default) 22:54
timotimo i didn't know about proverc yet
22:55 Actualeyes joined, dvinciguerra__ joined 22:56 dvinciguerra_ left
jamesalbert you what else else is that I was using some options in the .proverc from the previous repo so that might be it, running it now 22:57
22:58 rindolf left 22:59 sortiz joined
timotimo you what else mate? :P 23:00
sortiz \o #perl6
timotimo hello sortiz!
aha! 23:01
you're just missing JSON::Fast
and probably all the other things, too
so i suppose you'll want to "panda install-deps ." before running prove
jamesalbert derp a lerp
timotimo sorry, "installdeps" is the name
jamesalbert wow thank you I'll add that 23:02
23:02 perlawhirl joined
timotimo um, wait, perhaps you'll also need "rakudobrew build panda" 23:02
jamesalbert add that as the last item in scripts in travis.yml?
oh no not last
so it would be:
- rakudobrew build panda
- panda installdeps . 23:03
- prove
timotimo sounds about right
jamesalbert awesome, I'll try that
timotimo perhaps we have some other flags travis understands, though. haven't used travis much myself, tbh
23:04 leont left 23:05 tphilipp joined
TimToady .tell ab5tract The optimizer was not quite the best place to fix the Useless use, so I cleaned it up for you. Thanks. 23:05
yoleaux TimToady: I'll pass your message to ab5tract.
jamesalbert yeah me neither, we'll see what happens though in a couple minutes... 23:06
sortiz timotimo, do you know if rakudo uses some kind of shared table for store strings literals?
timotimo yeah, every precompiled .moarvm file has a "string heap" at its start 23:07
so literals in the code are deduplicated
everything after that is fair game for generating lots and lots of redundant copies of strings
sortiz Aha!, that explain the bug I found yesterday, Tnks. 23:09
timotimo oh?!
diakopter there's an argument for string de-duping in a background thread (as well as during SC loading), which (assisted by the GC) could save both memory and GC time 23:10
sortiz The problem isn't the deduplication, that seems perfect. 23:11
23:12 tphilipp left
diakopter obviously it wouldn't dedupe Str objects, it would dedupe VMString objects 23:12
sortiz: okay. I was just opining for some future work
sortiz The problem is that 'explicitly-manage' is evil :-)
If you pass to them one Str var originated in a literal, all other instances are affected! 23:13
timotimo oh, that's ... funnny 23:14
perlawhirl hi perlers
sortiz Yep, The weird "action at distance" bug I ever found!
diakopter sortiz: can you make a good bug reproduction test caes? 23:15
23:15 spider-mario left
sortiz I'm not using explicitly-manage any more, I didn't found any valid use case for them, but was used a lot in DBDish. 23:16
diakopter, sure, I'll try.
perlawhirl can someone glance at this gist and tell me... am i missing something, or is this a bug: gist.github.com/0racle/0bebed6d7f5...9d04584a88
see first comment for output 23:17
the first line in the heredoc is always the missing one... whichever you put first in the heredoc
TimToady perlawhirl: 0 is false 23:19
23:19 tphilipp joined
perlawhirl of course it is! 23:19
TimToady try 'with' instead of 'if'
perlawhirl TimToady++
thanks... i wrote it that way initially and it wasn't working, but then i thought "oh i can just use a set intersection" but just wanted to make sure it wasn't a bug 23:21
23:21 vendethiel- joined
sortiz m: gist.github.com/salortiz/202c0c871...a2f01664d1 23:21
camelia rakudo-moar 103781: OUTPUT«Str $var2 = "Hola a todos"␤Str+{NativeCall::ExplicitlyManagedString} $var2 = "Hola a todos"␤»
sortiz diakopter, timotimo ^^^
timotimo jamesalbert: looks much better now! 23:22
jamesalbert yo timo, thanks a lot man. Got my tests working! Now how would I go about putting this thing out into the perlosphere?
yes thanks to you! =]
timotimo easy, just fork perl6/ecosystem, put the URL to your meta6.json into the META.list or what it's called (follow the other lines for inspiration) 23:23
23:23 vendethiel left
timotimo and commit it with a link to your repo (because then when the weekly report is made we can just click directly through from the commits list of ecosystem to all the new modules) 23:23
23:23 tphilipp left
timotimo optionally, write a blog post about it, mention it here and it'll also appear in the weekly on monday/tuesday :) 23:23
jamesalbert sweetness sounds straightforward enough. Thanks a lot! 23:24
timotimo you're welcome! 23:25
sortiz otoh, Why someone needs to "explicitly-manage" a literal that can't go anywhere? :-) 23:30
And obviously a function can't know where a var was originated. 23:31
timotimo it can at least grab the .VAR itself 23:32
that doesn't have too much info, though
timotimo gets ready for bedtime
23:34 dustinm` joined
jamesalbert updated META.list, timo you're the shit bruh. Now it's time for wienerschnitzel jalapeno tater tots drenched in tapitio 23:34
23:34 jamesalbert left
_nadim what's a Seq.new-consumed, which has given me plenty grey hair already, for construct? 23:38
it's particularely boring as it appears when I .flat an Array 23:39
23:43 AlexDaniel joined, tphilipp joined, tphilipp left
sortiz IMO the documentation of explicitly-manage is confused and misleading. 23:45
bbkr gist.github.com/bbkr/19ba690335844...09b0c0ec9c - compile time hangs forever when using such module. I think it has something to do with warning grouping mechanism. Reproducible on OS X (.precomp cleaned before test). can anyone test this and confirm?
AlexDaniel hmm lots of new modules lately :) 23:48
sortiz _nadim, Seq.new-consumed was added by moritz++ to get a better error messages, see RT#127492
bbrk, I can 'use Foo.pm' that without problems, only lots of expected warnings. 23:52
s/that// 23:53
23:54 Sgeo__ joined
bbkr sortiz: what OS do you have? 23:55
sortiz bbrk, Linux (F23) 23:56
23:56 Actualeyes left
AlexDaniel m: say pick 42, 69 for ^100 23:56
camelia rakudo-moar 103781: OUTPUT«(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)␤(69)…»
bbkr sortiz: does it also work if you extend this ladder by few lines with even more ints? 23:57
_nadim sortiz: thanks. I certainly will read it as it has been bugging me all evening.
AlexDaniel m: say pick 1,42, 69 for ^10
camelia rakudo-moar 103781: OUTPUT«(42)␤(42)␤(42)␤(42)␤(42)␤(69)␤(42)␤(69)␤(42)␤(69)␤»
23:58 pdcawley left