»ö« 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 fooblaEND 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 fooSTART barblaEND barEND 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_jF3zCould 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/xWbfiopyrzAttribute $!c not declared in class bat /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 .. |