»ö« 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.
Juerd Single key compose! (Well, two keys if you count compose itself) 00:00
It actually allows the arrow keys to be used. This rocks.
AlexDaniel Juerd: except that now you have to reach for arrows :)
Juerd That would be an issue if I typed arrows all the time.
AlexDaniel ←don↑'t↔←↑y→ou?↑↑←← 00:01
Juerd Not, really, no. ↑ 00:02
s/,// 00:03
00:03 RabidGravy left 00:04 johndau joined 00:06 BenGoldberg joined 00:11 sortiz joined 00:18 wamba left 00:28 floopydoop123 joined 00:30 silug left
BenGoldberg m: my @a[-9999999999999999]; say +@a; 00:37
camelia rakudo-moar 1bbef9: OUTPUT«Memory allocation failed; could not allocate 18366744073709551624 bytes␤»
BenGoldberg m: my @a[-9223372036854775808,-2]; say +@a
camelia rakudo-moar 1bbef9: OUTPUT«-9223372036854775808␤»
BenGoldberg m: my ([$a]); $a.WHAT 00:40
camelia rakudo-moar 1bbef9: OUTPUT«(signal SEGV)»
00:41 silug joined
timotimo ouch :) 00:47
00:49 spider-mario left 01:16 vendethiel joined 01:18 tmch joined
dalek Iish: 0055e68 | (Salvador Ortiz)++ | / (2 files):
GLR test target
01:37
DBIish: 3849814 | (Salvador Ortiz)++ | lib/DBDish/StatementHandle.pm6:
DBIish: The GLR of DBDIsh. $sth.allrows now returns Seq
01:37 dalek left 01:38 vendethiel left, dalek joined, ChanServ sets mode: +v dalek 02:09 aborazmeh joined, aborazmeh left, aborazmeh joined 02:14 kid51 left 02:19 bobby_ joined
bobby_ I was curious...what is the expected speed for P6 after it finishes the optimization phase? 02:20
I guess if Perl5 is a 1 and C++ is a 5
timotimo so, the more the faster? 02:21
bobby_ is the final speed for P6 on the MoarVM with bytecode going to be faster than P5?
yes
timotimo it already is in specific cases
sometimes really noticably so
but in many other cases, we're far behind
but also, our rationals and complex numbers are noticably faster than the ones p5 has 02:22
one thing that's slower than necessary is invocation in general
bobby_ that is pretty sweet...in layman's terms, how is it faster in some areas? I know P5 is implemented in C and so is P6 right?
timotimo that, of course, isn't pretty good
moarvm is implemented in C, that's right. pretty much all of the perl6 compiler is implemented in nqp and pretty much all of the "standard library" code is in perl6 02:23
teatime psch: hehe, I've gotten really far. including ↤ as an infix operator.
timotimo when rakudo/moar gets a single loop fully inlined without invocations, it's really fast
skids bobby_: JIT would be a distinguishing speedup gain over P5 02:24
bobby_ K, that makes sense. Ahh...forgot a/b the JIT
02:25 vendethiel joined
skids Also, optimizeable OO to some extent already, vs. Moose. 02:25
bobby_ so when ya'll say JIT, is that similar to how C# does a JIT? If so, it'd be really nice to have in the neighborhood of that performance from a dynamic language. I guess that would require the user to make use of the gradual typing features to help the JITTER right? 02:26
skids bobby_: yes and not always... you can JIT based on runtime specialization at callsites. 02:27
bobby_ I'm fairly ignorant to how OO in P6 or Moose works behind the scenes, but my understanding is that although Moose is powerful, it is pretty slow
timotimo did you read the newest post up on "6guts"? 6guts.wordpress.com 02:28
there's one (newest or 2nd to newest) about speeding up accessors, that also compares against moose
bobby_ I thought i did, must have missed the Moose part
skids That is to say, if you notice that a particular call to a function at a certain point in the program is being called with an int, you can specialize/JIT for int and then undo the specialization if it gets called differently.
timotimo ah, yes, native ints and nums can drastically speed up things 02:29
but if you mix int and Int too much, you'll be boxing and unboxing a lot of the time
and that gives you a bit of GC pressure :)
bobby_ thanks everyone for the answers, I do find all the posts on the compiler and NQP internals to be very interesting, although hard to find info on the web without invoking ya'll directly :) 02:31
i recognize ur name by the way timotimo from the blog posts i've seen...thanks for all the work you've done
timotimo recently it's been almost exclusively lizmat who did the posts, though :)
jnthn has a few sets of slides and recorded talks up on youtube that explain stuff about the internals 02:32
bobby_ def recognize that name too lol
timotimo "the secret life of garbage collectors", for example (which i think is up on some website that hosts only talks) is pretty good
bobby_ I'll have to check it out
timotimo jnthn.net/papers/2014-yapceu-performance.pdf -t his one goes into internals, too, from a performance standpoint 02:33
bobby_ thanks!
I hope someone writes a P6 book at some point as well
I've asked around and haven't really gotten a response, although I see Brian D Foy might be working on a Learning Perl 6, although from his blog it looks like it is in super early stages. 02:34
timotimo that sounds about right
of course there's the perl6intro.com page which i suppose would be good as a pdf, too
that's only an intro, though
bobby_ Yea, I actually wrote a reddit post on how much i really like that intro today lol 02:36
timotimo that's certainly nice of you :) 02:37
02:37 aborazmeh left
timotimo the time where perl6 would get a ton of flak by one or two people all the darn time is apparently over 02:37
02:38 floopydoop123 left
bobby_ It's awesome, but I like the concrete-lengthy examples usually done in a book, and I can't find much of anything on the MOP that isn't super complicated...I've read about how Smalltalk and CommonLisp have a MOP, but really need to dig into how it works in P6. 02:39
timotimo github.com/timo/ADT - this module is MOPy
02:40 molaf_ joined
bobby_ sweet...pulling that up now...and glad ya'll aren't getting as much flak these days....it really looks like ya'll have a nifty language the combines the features i like in a clean way with the chances for decent performance 02:44
02:44 molaf left, kaare__ joined
timotimo it's definitely not like we don't know where our performance problems (and especially potential savings) lie 02:45
bobby_ and it looks like Jonathan is doing a good job working on those which is pretty sweet 02:47
timotimo that's right 02:48
and i'm glad TPF is accepting all those grant proposals
02:48 vendethiel left 02:51 lustlife` left
bobby_ me 2...I think ya'll will get a lot of P5 converts once the majority of the P6 language has better performance 02:51
than P5 at least...I know CPAN is huge for perl users though 02:52
is there some movement to rewrite the most important modules in P6? 02:53
Hotkeys there's a most wanted modules list somewhere
github.com/perl6/perl6-most-wanted...modules.md
bobby_ I honestly don't know, but i figure the vast majority of dowloaded P5 modules would probably fill a list of less than 50 modules (I could be way off though :)) 02:55
If all those were recoded, it seems that there'd be less pushback....once you have an XML, CSV, JSON, datadumper, Oracle/SQLServer/POSTGRES library...that sort of thing 02:56
02:56 sunnavy left 02:57 sunnavy joined 02:58 kalkin-_ joined, kalkin- left
Hotkeys bobby_: modules.perl6.org/ 02:58
There's quite a few of what you listed already
bobby_ good to hear, just read through the most wanted modules list u sent, there's a lot more on there than I thought lol 03:00
03:01 Ben_Goldberg joined 03:03 BenGoldberg left
timotimo there's also Inline::Perl5 03:06
bobby_ true...i guess it doesn't matter what your module is written in if you're just calling functions 03:16
anyway, thanks everyone! reading through all the material ya'll sent 03:17
timotimo Inline::Perl5 (and Inline::Python, too) allow you to derive your classes from other languages' classes, too 03:20
not just calling methods and functions
bobby_ well i was referring to if you have a P5 module, u might not care that it is in P5 and not P6 if you just want to use a few functions 03:21
*using inline
03:32 bobby_ left 03:35 noganex joined 03:38 noganex_ left 03:41 mohae_ joined 03:43 mohae left 03:48 TEttinger joined 03:58 Ben_Goldberg left 04:34 skids left 04:35 AlexDaniel left 04:39 khw left 05:10 Fleurety joined 05:12 jack_rabbit joined 05:15 kaare__ is now known as kaare_ 05:16 molaf_ left 05:51 Cabanossi left 05:52 Cabanossi joined 05:57 cpage_ left 05:58 cpage_ joined 06:01 musiKk_ joined 06:08 aaafoo joined
aaafoo hello 06:08
06:30 bjz joined, sjoshi joined 06:46 sno left 06:48 Actualeyes joined 06:54 sjoshi left 07:02 CIAvash joined 07:08 sjoshi joined 07:11 firstdayonthejob joined 07:15 sjoshi left 07:25 domidumont joined 07:28 sjoshi joined 07:29 domidumont left, domidumont joined 07:37 Vlavv_ left 07:41 Vlavv_ joined
moritz \o 07:41
sortiz \o moritz 07:43
07:46 nakiro joined 07:48 firstdayonthejob left 07:51 fireartist joined 07:52 FROGGS joined 08:17 darutoko joined 08:20 RabidGravy joined 08:23 zakharyas joined 08:25 abaugher left, nakiro left 08:26 abaugher joined 08:27 nakiro joined
RabidGravy harr! 08:30
Hotkeys Marnin 08:37
RabidGravy:
08:44 Actualeyes left 08:45 CIAvash left
sortiz \o RabidGravy 08:48
RabidGravy er
erp
Hotkeys You okay?
08:49 pdcawley left
RabidGravy fabulous! 08:49
08:49 pdcawley joined
kaare_ If I class b is a - and a is inother file, I seem to need to use a; first? 08:50
in another
RabidGravy yes
kaare_ ok, I just can't seem to find any definition or examples for that. 08:51
Naively as a perl 5 coder, you'd probably think it would try to find the class in the lib path
08:54 vendethiel joined
psch huh? 08:54
kaare_: you mean, if you define class B is A you want B.pm to automatically load A.pm?
09:02 rindolf joined
psch fwiw, p5 OO introduction examples also explicitly use the parent class... vOv 09:04
kaare_ psch: Not really sth I want. Just feels natural 09:05
psch yeah, i really don't agree with that
kaare_ And a lack of examples led me to ask 09:07
psch *that* point is probably valid... :)
09:10 dakkar joined
DrForr Um, if you folks promise to be gentle, 173.230.155.209/ is the start of a very much prototype Prancer-based blog. For the moment I'm just using the HTML from my Google blog, so many files are served from off-site. 09:10
RabidGravy the touchstone is that all Symbols must be defined before they are used, so you have to either define them in the compulation unit or "use" a file that does
09:10 wamba joined 09:18 vendethiel left 09:22 esh_ left 09:23 esh joined 09:27 tmch left 09:29 stmuk_ joined
moritz DrForr: looks nice 09:30
09:32 stmuk left
DrForr Thanks, but that's mostly due to Google :) Everything I serve is coming directly from Prancer, including images, to prove that it handles more than HTML. It's got session management and templates, and most content is served from dynamic routes. 09:33
Incidentally, I haven't checked. Is it possible to create dynamic variables such as $*foo in a separate namespace, or is that missing the point? I rather suspect the latter. 09:34
09:34 stmuk joined
psch m: module Foo { our $*FOO }; Foo::<$*FOO>++; say Foo::<$*FOO> 09:36
camelia rakudo-moar 1bbef9: OUTPUT«1␤»
09:37 stmuk_ left
RabidGravy yeah I think I have an "our $*FOO" in some code somewhere 09:38
DrForr I wanted to be able to keep Prancer variables in a separate namespace so they don't collide. I'd probably have a short name, or abbreviate to $*S or something. 09:39
09:45 pmurias joined
DrForr Actually, on further consideration I'd probably have a singleton object that uses the private Prancer::<$*S> variable, that way I can hide it in a separate namespace. 09:47
09:49 sjoshi left 09:52 araujo joined, candy_prolapse joined
dalek osystem: 054ce6a | titsuki++ | META.list:
Add Algorithm::SetUnion to ecosystem

See github.com/titsuki/p6-Algorithm-SetUnion
09:56
osystem: 357d05b | RabidGravy++ | META.list:
Merge pull request #175 from titsuki/add-setunion

Add Algorithm::SetUnion to ecosystem
09:58 frithnanth joined 10:02 johndau left, sjoshi joined
RabidGravy another week and *still* no-one has made an HTTP Digest auth module 10:06
tsk, slackers
DrForr I'll probably get around to it at some stage once I'm finished with other random work :) 10:07
RabidGravy I'm sorta kinda blocking on it with Sofa (or using it as an excuse to get distracted,) 10:08
10:09 aindilis left 10:10 labster left
DrForr Though it apparently relies on MD5 which IIRC is broken under a birthday attack. Not sure if that matters in this case. 10:13
RabidGravy I think that the choice of algorithm is pluggable, it's just MD5 is the most common 10:14
DrForr Yah, noted that as well upon reading. 10:15
RabidGravy I ought to pull the (partial) OAuth implementation out of the soundcloud module 10:16
10:16 aindilis joined, aindilis left
DrForr I've got to get around to doing OAuth (er, OpenID - OAuth doesn't actually do what @mgmt guessed it would do) for blogs.perl.org. 10:17
RabidGravy hasn't OpenID gone away now?
DrForr That's one of the thngs I need to look at. When the spec got written up someone stuck OpenAuth in, and as it is it took me 3 weeks to get across the point that OpenAuth wasn't what was needed or meant. 10:19
10:20 vendethiel joined 10:21 espadrine joined, aindilis joined 10:22 stmuk_ joined
DrForr m: 259-70 10:24
camelia rakudo-moar 1bbef9: OUTPUT«WARNINGS for /tmp/TjzdbipzFL:␤Useless use of "-" in expression "259-70" in sink context (line 1)␤»
DrForr m: 259 - 70 10:25
camelia rakudo-moar 1bbef9: OUTPUT«WARNINGS for /tmp/Lfwml343Ab:␤Useless use of "-" in expression "259 - 70" in sink context (line 1)␤»
DrForr m: say 259 - 70
camelia rakudo-moar 1bbef9: OUTPUT«189␤»
DrForr Sorry for the noise.
10:25 stmuk left
dbohdan Has anyone were used Perl 6 on the JVM for a (public) web application? How mature is it? 10:26
DrForr Not JVM, no. Moar is currently sitting at 173.230.155.209/ where I'm checking out speed. 10:28
Well, allow me to rephrase. I haven't used JVM for that, others may have. 10:29
10:29 stmuk joined
dbohdan Hmm. I get a Blogspot blog at that IP on port 80. 10:29
RabidGravy correct
DrForr Yep. I'm using my blog's content to test. 10:30
dbohdan Is the content pre-downloaded or does it act as a proxy?
FROGGS DrForr: the last char is a typo right? "INSERT INTO tag VALUES( 4, 'Dancer' ); -- 2 -> (2 * 2) == 4<" 10:31
10:31 stmuk_ left
DrForr Pre-downloaded, run through Prancer. It's handling static and dynamic content where I've changed links to point to localhost. Lots of it resides on other servers. 10:31
FROGGS in 173.230.155.209/2016/02/from-regula...pt_13.html
DrForr FROGGS: Probably. The original is on the actual blogspot site, it might not have the bug. 10:32
RabidGravy maybe someone ought to make a "Powered by Perl 6" badge ;-) 10:33
DrForr It's just a heavily hand-edited version of the site so I can have a few different URLs to work with.
FROGGS the html content is served quite fast I'd say
DrForr Yeah, it wasn't running all that great on my VM so I thought I'd put it up on my Linode.
FROGGS RabidGravy: or a ribbon that points to perl6.org/downloads? :o)
RabidGravy :) 10:34
FROGGS "Made with Love and Perl 6"
DrForr If someone wants to make up one I'd be happy to put it on the pages.
10:34 aaafoo left
dbohdan DrForr: I see. Here are the response times I'm getting: chunk.io/f/c4db0f66bf254ad7826d03be2ce9c098 10:34
DrForr It's only temporary anyway... so he says. 10:35
I do intend to save everything to localhost and point links locally so everything gets served out of Prancer, but that's going to be next week after I finish writing and giving talks. 10:36
RabidGravy I really ought to try and compile on my FreeBSD vm at some point, last time I tried it didn't work due to some compiler thing
DrForr dbohdan: Nice. The original content is at theperlfisher.blogspot.ro - What timings are you getting there? 10:37
dbohdan DrForr: One moment. 10:38
DrForr No hurry. I'm going to be called away to get lunch here in a few moments as it is. Tex-Mex is hard to find here... nom nom nom.
And *CRAP*, I should have brought my hot sauce. 10:39
dbohdan chunk.io/f/9f9756af6d1144d195a06296869b983c
RabidGravy I've got a bottle of some monstrous scotch bonnet sauce in the kitchen 10:42
dbohdan (Note that in my case I was redirected to theperlfisher.blogspot.nl. I am not in the Netherlands; it's a quirk with my ISP.)
10:44 vendethiel left, stmuk_ joined 10:46 stmuk left 10:47 sjoshi left 10:49 stmuk_ left, stmuk joined 10:54 stmuk_ joined, stmuk left 11:02 pecastro left, TEttinger left 11:06 Actualeyes joined
dalek osystem: 5872adc | RabidGravy++ | META.list:
Add Audio::PortMIDI

See github.com/jonathanstowe/Audio-PortMIDI
11:07
RabidGravy there, another one bites the dust 11:08
have fun
tadzik, ^
11:09 sjoshi joined, tmch joined 11:10 perlawhirl joined
tadzik \o/ 11:14
awesome!
11:15 kid51 joined
perlawhirl hi perlers 11:17
lizmat perlawhirl o/ 11:18
perlawhirl so... grammars. if i have a bunch of 'sections' : START Title \n [ <bunch of stuff> \n ]* END Title \n 11:19
how do i capture the first 'Title' to use it as the capture for the END Title
something like START <title=.word> [...] END $<title> 11:20
i should have said .. how to i capture the first 'Title' and use it to MATCH the END Title 11:21
i don't really need to capture the END on again :D just match on it
psch m: grammar G { token TOP { :my @*TITLES; <start-title> <TOP> <end-title> || .+ }; token start-title { START ' ' $<title=\w+> { @*TITLES.push: $<title> } }; token end-title { END ' ' <?{ @*TITLES[@*TITLES] }> { @*TITLES.pop } } }; say G.parse: "START foo\nbla\nEND foo" 11:25
camelia rakudo-moar 1bbef9: OUTPUT«「START foo␤bla␤END foo」␤»
psch that's probably already overkill
should be able to deal with nested titles though, i think
m: grammar G { token TOP { :my @*TITLES; <start-title> <TOP> <end-title> || .+ }; token start-title { START ' ' $<title=\w+> { @*TITLES.push: $<title> } }; token end-title { END ' ' <?{ @*TITLES[@*TITLES] }> { @*TITLES.pop } } }; say G.parse: "START foo\nSTART barbla\nEND bar\nEND foo"
camelia rakudo-moar 1bbef9: OUTPUT«「START foo␤START barbla␤END bar␤END foo」␤»
psch hm, yeah, kinda-sorta
perlawhirl: should definitely get you started, i hope :) 11:26
anchoring in start-title and end-title might already take care of the hiccup there
perlawhirl cool yep... thanks psch!
psch actually, duh 11:27
it would have a $<title> in the Match if it actually went there :/
DrForr dbohdan: Thanks, any information like that is useful. 11:30
psch perlawhirl: yeah, maybe it works as a first approach, but there's something missing... :) 11:31
11:31 pmurias left
perlawhirl actually it works pretty much as i thought... ie: START <title=.word> \n <line>* END \s+ $<title> \n 11:33
i just had an error in my initial capture which meant it wasn't matching the end properly
psch perlawhirl: oh, yeah. i was thinking across multiple tokens...
arnsholt Yeah, I was about to remark that just doing $<title> should work 11:34
11:34 ely-se joined, ely-se left
perlawhirl you're right in thinking that, though... i should probably be on the lookout for any nested sections in my data that would require a more careful solution 11:34
so thanks is still in order psch, for making me think more about errors that i might encounter in the future :D
dbohdan DrForr: You're welcome. I can run a brief stress test on your server with siege(1) if you'd like. 11:37
DrForr Hold that thought, let me get some other bits of work starightened out first. 11:40
11:41 kid51 left
dbohdan Is Perl 6 generally faster on the JVM (once it's had the time to warm up) or on the MoarVM? 11:42
arnsholt I don't think so, in general 11:43
moritz dbohdan: I know of no recent benchmarks comparing the two
DrForr I haven't done comparisons myself, wouldn't know.
RabidGravy I would also guess that they may be individually faster for different things 11:45
dbohdan The most recent comparison I have found is t.h8.lv/p6bench/2015-01-30-six_mont...akudo.html
11:50 stmuk joined 11:52 stmuk_ left
RabidGravy over a year is a looooOOoooong time in rakudo land 11:52
11:57 candy_prolapse left 11:59 foo_ joined
jnthn There's daily Perl 6 bench runs at www.moarvm.org/measurements/perl6-bench/ though they don't include JVM figures 12:00
lizmat jnthn o/ 12:03
that's because JVM currently basically doesn't run :-( 12:04
psch yeah, it kinda hobbles, doesn't it..? :S
plus not-6.c-compliant probably 12:05
lizmat currently working on making it at least come past "make test" unscathed
dbohdan Oh. 12:06
lizmat but boy, does it take long to build the settings on the JVM :-(
reminds me of the parrot days
psch lizmat: fwiw, the interop tests pass with the jvminterop branch
lizmat: i haven't merged it yet 'cause the tests are way too few, though 12:07
lizmat psch: good to know
atm, all of the nativecall tests fail because of a problem in BUILD_LEAST_DERIVED
alas, the line number in the stack trace points to a die, but the message comes from somewhere else 12:10
Cannot access a native attribute as a reference attribute
12:12 stmuk_ joined 12:14 stmuk left
jnthn lizmat: heh, and JVM actually built faster than Parrot too, as I remember it ;) 12:14
lizmat jnthn: any pointers on that error message ^^^ ? 12:15
12:17 stmuk_ left
jnthn lizmat: Probably means some code is carelessly doing getattr/bindattr in a place it should do getattr_[ins]/bindattr_[ins] 12:17
lizmat: And JVM doesn't yet manage to make those cases work out 12:18
(It'll need to eventually if we want to do things like compact structs)
lizmat but those mostly fail on MoarVM also, no ?
12:22 stmuk joined 12:24 sno joined
DrForr dbohdan: Well, the application hasn't fallen over yet. Go ahead and fire up siege, point it at the / and a /search?foo URL if you don't mind. 12:27
jnthn lizmat: "It depends". In either case you don't tend to be very helpful results. :) 12:29
lizmat ? 12:30
jnthn m: class A { has int $.x }; nqp::getattr_i(A.new(x => 42), A, '$!x').WHAT.say 12:31
camelia rakudo-moar a136eb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uu3V4_jF3z␤Could not find nqp::getattr_i, did you forget 'use nqp;' ?␤at /tmp/uu3V4_jF3z:1␤------> 3nqp::getattr_i(A.new(x => 42), A, '$!x')7⏏5.WHAT.say␤»
jnthn m: use nqp; class A { has int $.x }; nqp::getattr_i(A.new(x => 42), A, '$!x').WHAT.say
camelia rakudo-moar a136eb: OUTPUT«(Int)␤»
jnthn m: use nqp; class A { has int $.x }; nqp::getattr(A.new(x => 42), A, '$!x').WHAT.say
camelia rakudo-moar a136eb: OUTPUT«(int)␤»
jnthn You end up with *that*, which is a freak boxed form of a native type. :)
Back to $dayjob meeting... & 12:32
12:34 bjz left 12:36 bjz joined
RabidGravy right let's see what you lot broke in the last week 12:37
12:37 Sgeo__ left 12:49 domidumont left, travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Correct error message 12:49
travis-ci.org/rakudo/rakudo/builds/117434353 github.com/rakudo/rakudo/compare/0...36eb73b912
12:49 travis-ci left 12:50 domidumont joined 12:51 domidumont left, domidumont joined
RabidGravy Grr, my ancient gcc on this here FreeBSD vm doesn't like "-Wno-logical-op-parentheses" 12:52
is there anyway I can turn this off? 12:53
lizmat RabidGravy: no idea, maybe moritz FROGGS have an idea ?
FWIW, I the Travis build failure is because it cannot install perl 5.14 ?? 12:54
RabidGravy well I can move on by editing the moarvm Makefile by hand, but that's far from ideal 12:57
lizmat RabidGravy: the generator files live in tools/build/Makefile- 12:58
moritz RabidGravy: do you expect anything more actionable than "install a newer gcc"? :-) 12:59
RabidGravy I'd love to but ;-p
I really ought to upgrade the whole VM but currently it's running an EOLed FreeBSD so upgrading part of it no worky 13:01
FROGGS RabidGravy: we should probe for its support and add it conditionally... 13:03
13:05 jack_rabbit left
FROGGS RabidGravy: but wait... this warning is enabled for clang only 13:05
RabidGravy: you said you're running gcc? 13:06
RabidGravy yep
gfldex you could try a shellscript wrapper that dropps that argument
RabidGravy it totally fails to guess the right compiler so I have to tell it to use gcc ecplicitly 13:07
FROGGS RabidGravy: hmmm, so let's fix that problem instead 13:08
13:08 brrt joined
FROGGS ahh yes, clang seems to be the default for freebsd (looking at the bottom of build/setup.pm) 13:09
RabidGravy this is an ancient, now EOL Freebsd it's probably not worth fixing too hard TBH 13:11
jnthn iirc, gcc doesn't need that flag at all 'cus it doesn't whine about it 13:14
13:14 perlpilot left 13:17 Azry left, Azry joined
RabidGravy on the other hand, having fixed that manually it otherwise compiles and runs okay 13:19
[jns@jail0133 ~]$ perl6 -e 'say $*KERNEL' 13:20
freebsd (8.4.RELEASE.p.4)
and in other news you have successfully avoided breaking any of my modules this week :) 13:22
sortiz Now I understand why DBDish::mysql lacks prepared statements... yet 13:23
moritz sortiz: iirc nativecall wasn't powerful enough back when I took over DBIish from mberends 13:24
sortiz moritz, That C API is ugly ;-) 13:25
moritz sortiz: that's related, yes. It was powerful enough for postgres and sqlite3 prepared statements :-) 13:26
13:29 lucasb joined
sortiz moritz, After the ODBC experience, now working btw, mysql will not be left behind. 13:29
Azry could someone explain me why this code fails? : class a { has $.c is rw; }; class b is a { submethod BUILD(:$!c = "t"){ } }; b.new; 13:31
DrForr "It will, however, be dragged kicking and screaming." 13:32
13:32 AlexDaniel joined 13:33 FROGGS left
[Coke] m: class a { has $.c is rw; }; class b is a { submethod BUILD(:$!c = "t"){ } }; b.new; 13:35
camelia rakudo-moar a136eb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xWbfiopyrz␤Attribute $!c not declared in class b␤at /tmp/xWbfiopyrz:1␤------> 3 is a { submethod BUILD(:$!c = "t"){ } }7⏏5; b.new;␤ expecting any of:␤ horizontal whitespace␤ p…»
jnthn Azry: Because attributes are private to a class. You should be writing the initialization of $!c inside of class a
Azry: Inheritance doesn't leak attributes from base classes in Perl 6, to help prevent tight coupling between subclasses and their base classes.
gfldex m: class a { has $.c is rw; }; class b is a { method new(){ my $o = self.bless; $o.c = "t" } }; dd b.new; 13:37
camelia rakudo-moar a136eb: OUTPUT«"t"␤»
gfldex m: class a { has $.c is rw; }; class b is a { method new(){ my $o = self.bless; $o.c = "t"; $o } }; dd b.new; 13:38
camelia rakudo-moar a136eb: OUTPUT«b.new(c => "t")␤»
lucasb submethod BUILD(:$c = ...) { self.c = $c } # a workaround maybe. but idk if it's very clean
gfldex jnthn: i'm pretty sure that's a tight coupling. It's quite explicit tho.
RabidGravy does a backup 13:39
jnthn self.bless(c => "t") works just as well for that case 13:41
13:42 colomon left
Azry Is there always a better method than writing a "new" method for a class ? I think i read that i should use BUILD/BUILDALL 13:43
jnthn Azry: What are you trying to do? If you just want to set a default value for an attribute then the best thing is just has $.c = 't'; 13:44
Azry: As a rule, though, a BUILD submethod is for initialization of attributes in the current class (and you write a submethod BUILD for each class that needs it), and a custom new method is if you want to present a different public constructor interface than "a bunch of named parameters" 13:45
Azry I'm trying to add a different .new to a class which inherits from IO::Handle 13:46
so i want to initialize IO::Handle path parameter if the .new is empty for example 13:47
jnthn Sounds like you want to just be writing that differnet new method then 13:48
Azry oh ok, i just thought i read somewhere that i should avoid that, but i will try that with your explanations, thanks =) 13:49
RabidGravy you should avoid it in the absence of any other way of doing what you want to do 13:50
jnthn I see it more as differnet tools for different problems
RabidGravy er except in the absence
13:51 colomon joined
sortiz RabidGravy, I have a solution for the CArray of CStructs problem, needed for MYSQL_BIND 13:52
timotimo yeah, you can turn each CStruct into a CPointer and memcpy 13:53
RabidGravy kewl 13:55
sortiz timotimo, Better yet. ;-)
stmuk RabidGravy: I thought the gcc (rather than clang) detection of FreeBSD 8.4 was fixed? 13:57
timotimo oh hey stmuk 13:58
sortiz timotimo, Want to see in action? github.com/salortiz/NativeHelpers-...-cstruct.t 13:59
stmuk RabidGravy: 7a99212 in MoarVM should have worked (although I can't remember if I actually tested it or not)
RabidGravy dunno, I actually have a little wrapper that explicitly sets the cc so that may have confused it 14:00
timotimo oh, interesting 14:01
why is there a TypedPointer in there? 14:02
is that any different from Pointer[Foo]?
14:02 skids joined
sortiz Nop, its *the* Pointer[Foo]:D of the first element. 14:03
timotimo ah, i guess 14:04
ah, at first i thought it was a type
because of how it's capitalized
sortiz yep, the final names should be lowercase. 14:05
timotimo definitely something good-to-have 14:08
also, we'll have something for that in core at some point :)
14:09 ab6tract joined
ab6tract o/ #perl6 14:10
RabidGravy boo
ab6tract i found this benchmark produced confusing results: gist.github.com/ab5tract/2e0928088ea1f4059767
RabidGravy another external drive bites the dust
timotimo ugh 14:11
ab6tract was testing "bigint" performance vs perl5
and it seems that parallelization actually hurts the run time
timotimo ab6tract: i wonder what happens when you use brace-less while in there
ab6tract timotimo: how do you mean? and wouldn't thunking make things slower? 14:12
timotimo that's not thunking
stmuk ab6tract: have you tried restricting the size of the thread pool?
timotimo i mean $ret = $ret +| (1 +< (@ids[$c] - 1)) while $c++ < +@ids 14:13
and i wonder how much you'll save by getting +@ids up front
jnthn ab6tract: Do you have 4 cores?
ab6tract jnthn: i'm running this on a 24 core box :) 14:14
jnthn ok :)
jnthn is trying it locally
ab6tract: I get nearly factor of 2 speed-up on parallel: gist.github.com/jnthn/72f214ec027fae4aa881 14:15
ab6tract jnthn: very curious :/
RabidGravy at times like this "fsck -f -c" seems to be in order 14:16
ab6tract jnthn: i get the opposite result! gist.github.com/jnthn/72f214ec027fae4aa881
(left my numbers as comment)
nine I get 8 seconds for sequential and 10 seconds for parallel
jnthn Odd
ab6tract nine: that's about what i get on my laptop
jnthn tries it again 14:17
Got the same result again
Within noise
14:17 khw joined
timotimo i get 9.3 and 5.9 14:18
ab6tract jnthn: are you testing on windows?
jnthn yup
timotimo: 9.3 seq, 5.9 parallel?
nine Odd. Especially since the parallel version uses 400 % CPU.
timotimo aye
jnthn So faster parallel for you too
I bet you're not on Windows? :)
timotimo correct
and one of my 4 cores was busy displaying video content
jnthn ab6tract, nine, timotimo: CPU?
14:19 vendethiel joined
ab6tract "This is MoarVM version 2016.03 built with JIT support" 14:19
jnthn (Intel Core i7 quad core, HT enabled here)
perlawhirl :q
jnthn ab6tract: Same here
nine Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
14:19 rhr left
ab6tract "Intel(R) Xeon(R) CPU E5-2640 0 @ 2.50GHz" 14:19
14:20 perlawhirl left
stmuk I get 11 seq and 7 parallel Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz 14:20
ab6tract oldie but goldie ;)
timotimo model name: Intel(R) Core(TM) i5-3570 CPU @ 3.40GHz
wowza
23.44% self/children time spent inside MVM_fixed_size_alloc, says perf report 14:21
14:21 lucasb left
jnthn timotimo: Yeah, with caller being allocate_frame, no doubt? :) 14:21
timotimo how do i get perf report to say that ..