»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
00:01
ivanshmakov joined
00:04
dmol left
|
|||
[Coke] | jnthn++ | 00:08 | |
timotimo | oh wow. | 00:09 | |
00:16
Akagi201 joined
00:17
cooper_ left
00:18
thou left
00:19
cooper_ joined
00:20
thou joined
00:21
Akagi201 left
00:28
cooper_ left
00:31
cooper_ joined
00:34
thou left
00:35
raiph left
00:38
erkan left
00:47
telex left
00:48
telex joined
|
|||
hoelzro | yoleaux: seen pmurias | 00:51 | |
.seen pmurias | |||
yoleaux | I saw pmurias 29 Jul 2014 21:22Z in #perl6: <pmurias> psch: it's the same big number I get | ||
hoelzro | .tell pmurias I got NQP JS building after a rebase on the latest nqp: github.com/hoelzro/nqp/tree/nqp-js | ||
yoleaux | hoelzro: I'll pass your message to pmurias. | 00:52 | |
01:03
eternaleye left
01:08
cbk1090 joined
01:14
cooper_ left
01:15
cooper_ joined
01:16
dayangkun joined
01:17
Akagi201 joined
01:22
Akagi201 left,
cooper_ left
|
|||
cbk1090 | I guess I'm asking what does the Record:data part mean? | 01:22 | |
sorry didn't mean to send that over on the line. | |||
01:23
cbk1090 left,
cooper_ joined
01:24
Akagi201 joined
|
|||
TimToady fails to see any significant use of after anywhere in the compiler; nearly all of them are a single character | 01:27 | ||
and hence hardly need to be flipped in the first place | 01:28 | ||
jnthn: ^^ | |||
or am I missing something? | 01:29 | ||
01:29
cooper_ left
|
|||
TimToady | it's not like I'm half blind...oh wait... | 01:29 | |
01:30
cooper_ joined
01:32
hoverboard joined
01:35
BenGoldberg joined,
cooper_ left
01:36
cooper_ joined
|
|||
hoelzro | TimToady: do you mind if I ask you a quick question about your recent changes to S26? | 01:36 | |
01:44
klapperl_ joined
01:47
akaseki joined
|
|||
hoelzro | in the changes you made, it seems like multiple leading comments are separated by a newline | 01:47 | |
but if I have a POD block like =begin NAME\nfoo\nbar\n=end NAME, $=pod[$idx] ends up being 'foo bar', so I would've expected it to be space (rather than newline) separated | 01:48 | ||
should I change the S26 stuff to reflect this? | |||
01:48
klapperl left
01:49
BenGoldberg left
01:53
araujo left
01:54
araujo joined
01:56
chenryn joined
02:00
xiaomiao is now known as AmazingPudding
02:01
btyler joined
02:03
btyler left
02:05
btyler joined
|
|||
timotimo | tomorrow i'll probably write an application that wants to parse json documents at interactive speeds ... :\ | 02:06 | |
our parse-json benchmark is still at about 1.6 times per second | |||
02:07
bjz_ left
|
|||
timotimo | well, okay, the document we parse is 33.682kb big | 02:07 | |
... actually, that's 33684 characters | 02:08 | ||
hoelzro | wow, that's a big improvement over the last time I tried parsing JSON | ||
02:08
BenGoldberg joined
|
|||
hoelzro | it was like .03 times per second then =P | 02:08 | |
timotimo | not really, though | ||
in my long-term benchmarks it seems like we've only gotten faster a tiny bit | |||
moar-nqp is about 2.5x faster than rakudo-moar and perl5 is about 10x faster still | 02:09 | ||
at least rakudo-moar is exactly as fast as nqp-parrot, heh. | |||
hoelzro | =) | 02:10 | |
02:10
thou joined
|
|||
timotimo | japhb: would it be possible to massage something like "characters per second" into the parse-json benchmark plot we output? | 02:12 | |
that might make it more sensible | |||
hmm. actually, we might want to have multiple documents, which would turn the graph into a scatter plot ... | |||
(since different documents will differ in depth and number of objects created in total etc etc) | 02:13 | ||
hoelzro | timotimo: the performance issue I found with JSON was object creation | ||
so that would be an alternative benchmark | |||
timotimo | ... yeah, it most probably is that :( | ||
hm, did we ever bench how >>.foo compares against .map: *.foo? | 02:14 | ||
02:14
thou left
|
|||
timotimo | m: my @a = 1 .. 1000; @a>>.is-prime; say now - BEGIN now; | 02:14 | |
camelia | rakudo-moar 820565: OUTPUT«0.0246440» | ||
timotimo | m: my @a = 1 .. 1000; @a.map( *.is-prime ); say now - BEGIN now; | 02:15 | |
camelia | rakudo-moar 820565: OUTPUT«0.02609814» | ||
02:15
[particle] joined
|
|||
timotimo | m: my @a = 1 .. 100000; @a>>.is-prime; say now - BEGIN now; | 02:15 | |
camelia | rakudo-moar 820565: OUTPUT«(timeout)» | ||
timotimo | m: my @a = 1 .. 5000; @a>>.is-prime; say now - BEGIN now; | ||
camelia | rakudo-moar 820565: OUTPUT«1.20515505» | ||
timotimo | m: my @a = 1 .. 5000; @a.map( *.is-prime ); say now - BEGIN now; | ||
camelia | rakudo-moar 820565: OUTPUT«1.1574913» | ||
timotimo | is-prime is probably not the right method for this | 02:16 | |
Str is probably cheap. | |||
m: my @a = 1 .. 100000; @a.map( *.Str ); say now - BEGIN now; | |||
camelia | rakudo-moar 820565: OUTPUT«0.482987» | ||
timotimo | m: my @a = 1 .. 100000; @a>>.Str; say now - BEGIN now; | ||
camelia | rakudo-moar 820565: OUTPUT«0.5566723» | ||
timotimo | m: my @a = 1 .. 1000000; @a.map( *.Str ); say now - BEGIN now; | ||
camelia | rakudo-moar 820565: OUTPUT«5.4631956» | ||
timotimo | m: my @a = 1 .. 1000000; @a>>.Str; say now - BEGIN now; | ||
camelia | rakudo-moar 820565: OUTPUT«6.3738923» | ||
timotimo | that won't give us a 10x speed increase | 02:17 | |
02:17
noganex joined
|
|||
timotimo | maybe we could try to have a benchmark parse-json-no-actions | 02:17 | |
hoelzro | I think I tried that once | 02:18 | |
02:18
lustlife joined
|
|||
hoelzro | like a year ago | 02:18 | |
it'd be worth trying agani | |||
*again | 02:19 | ||
hmm | |||
I don't know how hashes are implemented at the moment | |||
but in a JSON document, for example, the keys are known in advance | |||
I' | |||
I'm sure there are plenty such scenarios; I wonder if that case could be optimized? | |||
02:20
noganex_ left
|
|||
timotimo | i will try it again | 02:20 | |
a parser that can assume a fixed structure can certainly be much faster | |||
if it's acceptable to segfault or undefinedly-behave given a malformed document, you can skip a whole bunch of stuff | 02:21 | ||
like, look only at the first letter of a key and decide which key it'll be, if it can be decided at that point already | |||
hoelzro | you're talking about applying my idea in the grammar? | 02:22 | |
I was thinking of doing it in the actions, or rather, in the Hash constructor | |||
btyler | what about nativecall bindings to libjansson (or similar)? might be easier than working out tricky optimizations in p6-land | 02:23 | |
timotimo | well, completely unrelated to that, i've been interested in making a json parser that doesn't use the grammar machinery and see if it can be any faster | ||
btyler: well volunteered! ;) | |||
btyler | timotimo: just pondering if the purpose is "parse json fast from p6 code" or "parse json fast -in- p6 code" | ||
timotimo | right; in my personal case, it's "parse json fast from p6 code" | 02:24 | |
extra bonus: i know that the document format is at least somewhat fixed | |||
but i'd rather our parse-json module (or a json::fast module) would be usable for this task than hacking something myself | |||
sadly, i don't have an example document of the type handy, otherwise i'd benchmark with that to get some more relevant numbers | |||
02:26
hoverboard left
|
|||
timotimo | m: say "rakudo does {687956 / 40} characters per second when parsing perl6 code, including building the AST and stuff." | 02:30 | |
camelia | rakudo-moar 820565: OUTPUT«rakudo does 17198.9 characters per second when parsing perl6 code, including building the AST and stuff.» | ||
timotimo | m: say "rakudo does {33682 / (1 / 1.3)} CPS when parsing json including building the object" | ||
camelia | rakudo-moar 820565: OUTPUT«rakudo does 43786.6 CPS when parsing json including building the object» | ||
timotimo | at least we parse json faster than perl6 code. anything else would have been very surprising | 02:31 | |
02:32
btyler left
|
|||
timotimo | though it kinda surprises me we're only about 2.5x faster at json than we are at p6 code; maybe because the actions in the core setting are written in nqp and can generate tighter code? | 02:34 | |
02:35
btyler joined
02:38
aoseki joined
02:40
akaseki left,
ariden__ joined,
btyler left
02:41
btyler joined
02:43
aoseki left
|
|||
grondilu | m: say "{.perl}" for 1/3, 1; | 02:44 | |
camelia | rakudo-moar 820565: OUTPUT«NilNil» | ||
grondilu | n: say "{.perl}" for 1/3, 1; | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«<1/3>1» | ||
grondilu | p: say "{.perl}" for 1/3, 1; | ||
camelia | rakudo-parrot 820565: OUTPUT«<1/3>1» | ||
grondilu | m: say "{.perl}" given 1/2 | 02:45 | |
camelia | rakudo-moar 820565: OUTPUT«Nil» | ||
hoelzro | *that's* where the 130 second parse comes from - my S26 branch o_O | ||
timotimo | whoa, how'd you manage that? | 02:46 | |
hoelzro shrugs | |||
probably introduced a horrible regex into the grammar! | |||
I just rebased; maybe I missed some handy optimization work | 02:47 | ||
02:47
jnap1 left
|
|||
timotimo | that would be one hell of an optimization ... | 02:49 | |
02:49
raiph joined
|
|||
hoelzro | heh | 02:50 | |
indeed | |||
that'll be the last thing I do before the final submission as a PR, I guess | |||
yeah, no | 02:51 | ||
same parse time | |||
02:52
ariden__ left
02:53
akaseki joined
|
|||
dalek | ast/S26-WHY: c28851f | (Rob Hoelz)++ | S26-documentation/ (12 files): Change .content to .contents for POD blocks To match up with specs |
02:55 | |
timotimo | wow, what. | 02:59 | |
parse-json vs parse-json-no-obj-creation ... | |||
not that big of a difference | |||
t.h8.lv/p6bench/2014-07-30-json_stuff.html | 03:00 | ||
t.h8.lv/p6bench/2014-07-30-recent-rakudos.html - here's a comparison with a few more historical versions | 03:03 | ||
8205 is today's rakudo, 319 is a few days old | |||
huh, the charrange benchmark confuses me | 03:05 | ||
but it could very well be that it has been fixed between benchmark runs | |||
oh d'oh! | 03:06 | ||
i've accidentally overwritten the parse-json benchmark with the parse-json-no-obj-creation | 03:07 | ||
m) | |||
03:07
hoverboard joined
|
|||
dalek | rl6-bench: 2f84e2d | (Timo Paulssen)++ | / (3 files): new benchmark: json parsing without creating objects |
03:08 | |
timotimo | damnit, i wanted to go to bed %) | 03:11 | |
hoelzro | timotimo: isn't it like 5AM by you? | 03:12 | |
timotimo | yes >_< | 03:13 | |
hoelzro | then go to bed =) | ||
timotimo | i spent much of last day sleeping off my ear infection, so i'm not terribly tired | ||
hoelzro | don't get me wrong; it's nice to have someone to talk to while I'm actually working on stuff =) | ||
timotimo | feels more like an obligation than a physiological necessity at this moment | ||
hoelzro | ah | 03:14 | |
you're making *me* feel bad for wanting to go to bed =P | 03:19 | ||
timotimo | t.h8.lv/p6bench/2014-07-30-json-speed.html - btw | ||
hoelzro | wow | ||
timotimo | oh, i put one too many rakudos in there | ||
hoelzro | that's underwhelming | ||
timotimo | refresh for less spam | ||
it is, isn't it? | |||
hoelzro | oh well, you never know until you measure | 03:20 | |
timotimo | i'm somewhat surprised to say the least | ||
hoelzro | me too | ||
timotimo | at least now we know that our json parsing alone isn't perfect | ||
hoelzro | indeed! | ||
timotimo | so we can have a look at what exactly we're spending our time doing there and maybe find something that'll improve parsing across the board | ||
hoelzro | that would be great | 03:21 | |
timotimo heads off to bed | |||
hoelzro | after S26, I would be interested in working on that | ||
I'm hoping to start writing bindings to webservices | |||
'night timotimo | |||
timotimo | sounds lovely :) | 03:22 | |
ttyl | |||
hoelzro | later | ||
TimToady | p6: printf "%+.5f", pi | 03:25 | |
camelia | rakudo-{parrot,jvm,moar} 820565: OUTPUT«3.14159» | ||
..niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: invalid format specifier at /home/p6eval/niecza/lib/CORE.setting line 1403 (sprintf @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 1404 (printf @ 5)  at /tmp/tmpfile line 1 (mainline @ 3)  at /home/p6eval/niecz…» | |||
TimToady | no +? | 03:26 | |
03:28
Rotwang left
|
|||
TimToady | should print out +3.14159 | 03:28 | |
space doesn't work either, which appears to be a regression from rakudo version #22 "Thousand Oaks", according to rosettacode.org/wiki/Roots_of_unity#Perl_6 | 03:33 | ||
btyler | anyone know what env var needs to be set for dyncall to find a native lib? NativeCall/dyncall can't find the darn thing in /usr/local/lib. tried CPATH/DYLD_FALLBACK_LIBRARY_PATH/LIBRARY_PATH. also only have a wee bit of C knowledge, so my model is probably rather out of line with reality | 03:35 | |
03:36
thou joined
|
|||
TimToady | used to be LD_LIBRARY_PATH back in the day | 03:36 | |
btyler | oh, also, this is OSX. not sure if that matters | ||
TimToady | well, almost certainly they've changed it, since Apple can't leave any interface alone | 03:37 | |
03:42
itz joined
03:44
itz_ left
03:48
kaare_ joined
03:53
AmazingPudding is now known as bonsaikitten
03:58
nbrown joined
04:02
xenoterracide_ left,
xenoterracide_ joined,
ventica joined
|
|||
ventica | m: say "o/"; | 04:02 | |
camelia | rakudo-moar 820565: OUTPUT«o/» | ||
04:07
xenoterracide_ left
04:09
eternaleye joined
04:13
thou left
04:16
rindolf joined
|
|||
rindolf | Hi all. | 04:19 | |
04:22
chenryn left,
kurahaupo left
04:23
nbrown left
04:27
aoseki joined
|
|||
btyler | doh, typo in the "is native('foo')" library name. that -would- make it hard to find | 04:28 | |
04:29
akaseki left
|
|||
dalek | ast: f0033ca | (David Warring [email@hidden.address] | S32-str/sprintf.t: added sprintf test cases for "%+.5f" "%.5f" |
04:30 | |
dwarring | TimToady: ^^ hope that covers the regressions | ||
04:39
gamo joined
04:40
thou joined
|
|||
gamo | perl6 is slower than perl5 | 04:41 | |
04:46
BenGoldberg left
04:47
raiph left
|
|||
dwarring | afk | 04:48 | |
btyler | woohoo, got some really basic JSON parsing going with libjansson and nativecall | ||
nativecall is incredible | |||
04:53
chenryn joined
04:58
nbrown joined
05:01
kurahaupo_mobile joined
05:06
[Sno] left
05:09
nbrown left
05:12
ventica left
05:32
vendethiel left
05:36
jnap joined
05:37
djanatyn left
|
|||
dalek | p: 854efd3 | duff++ | / (2 files): RT #122437 fix sprintf regression The " " and "+" flags weren't being taken into account for floating point numbers. Added checks for these flags and some tests. |
05:37 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122437 | ||
05:38
djanatyn joined
05:50
Possum joined
05:58
gfldex left
05:59
FROGGS joined
06:07
denis_boyun_ joined
06:13
SevenWolf joined
|
|||
dalek | ast: b25116e | duff++ | S06-other/misc.t: Add a couple of tests for RT #76096 |
06:16 | |
ast: 5b6b146 | duff++ | S32-str/sprintf.t: Update tests for RT #122437 |
|||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=76096 | ||
Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122437 | |||
kudo/nom: 11e1937 | duff++ | tools/build/NQP_REVISION: bump NQP_REVISION to get sprintf fixes |
|||
sergot | hi o/ | 06:17 | |
avuserow | \o | 06:20 | |
06:27
sftp left
06:31
[Sno] joined
06:32
sftp joined
06:34
jnap left
06:36
denis_boyun_ left
06:37
denis_boyun joined
06:40
jnap joined
06:42
SevenWolf left
06:51
chenryn left
|
|||
avuserow | I gathered the parrot segfault traceback from a coredump: gist.github.com/avuserow/5da7dc1a8a0d8211bdf3 . It happens intermittently on jsonrpc/t/server.t, but sometimes other tests fail. This is on Fedora 19 64-bit fwiw. | 06:51 | |
I can provide more info if needed. Seems reasonably reproducible if I run it a few times. | 06:52 | ||
06:54
zakharyas joined
07:01
chenryn joined
|
|||
avuserow | I just updated the above gist. I'm also seeing segfaults in the doc/t/typegraph.t test intermittently. I was able to replicate the same backtrace on two machines (though both running the same Linux setup) | 07:05 | |
I think the parrot spectests are clean here (with a few TODOs passing), where "here" is testing the July releases of Parrot/Rakudo/etc | 07:06 | ||
should I be filing these into a specific bug tracker? let me know. | 07:08 | ||
and with that, good night #perl6 | |||
moritz | good night avuserow | ||
ingy | you guys are funny | 07:27 | |
I'm reading perlcabal.org/syn/S02.html | |||
todo(:parrøt<0.42>, :dötnet<1.2>)); | |||
:P | |||
07:30
FROGGS left
07:34
virtualsue joined
07:38
darutoko joined
07:39
kst` joined
07:40
oetiker joined,
kst left
07:42
pecastro left
07:43
kst`` joined
07:44
kst` left
07:45
jnap left,
oetiker left
07:46
jnap joined,
oetiker joined
07:51
dmol joined
07:55
denis_boyun left
07:56
denis_boyun joined
|
|||
masak | good morning, #perl6 | 07:57 | |
nwc10 | good masak, #perl6 | ||
or something like that | |||
08:01
hoverboard left
|
|||
moritz | \o * | 08:03 | |
btyler | timotimoe: re your "well volunteered", here's a starting point for bindings to libjansson: github.com/kanatohodets/p6-json-jansson | ||
08:03
FROGGS joined
|
|||
btyler | timotimo* | 08:04 | |
unfortunately there's something really funky going on where the JSON primitives only get spit out some of the time | 08:05 | ||
once I figure that out I'll start working on loading the JSON into a p6 data structure, ether pulling it from C-land on-demand via a proxy, or just chomping through it as soon as jansson has it parsed | 08:06 | ||
08:07
thou left
08:11
kaare_ left
08:17
kaare_ joined
08:26
kivutar joined
08:28
dmol left
08:29
Ven joined
|
|||
Ven | Wow, I just learned that Ruby 2.0 was actually started in 2003 :o) | 08:30 | |
and it got released in 2013 | |||
I also just learned that Ruby has call/cc ! | |||
nwc10 | but, was the Ruby 2.0 from 2003 any relation to the 1.99999999999 that was released in 2013? | 08:31 | |
has PHP decided whether the next version is 6 or 7? And whether it's anything more than marketing? | |||
08:31
kivutar left
08:32
Akagi201_ joined
08:33
Akagi201 left,
denis_boyun left
|
|||
moritz | maturing a dynamic language sure seems like a painful process | 08:34 | |
08:34
denis_boyun_ joined
08:35
fhelmberger joined
|
|||
nwc10 | Once you have a userbase, anything you change breaks your existing users' code. | 08:35 | |
It's not clear that any dynamic language has yet demonstrated success | 08:36 | ||
08:37
pmurias joined
|
|||
pmurias | hoelzro: great! | 08:37 | |
yoleaux | 00:52Z <hoelzro> pmurias: I got NQP JS building after a rebase on the latest nqp: github.com/hoelzro/nqp/tree/nqp-js | 08:38 | |
08:38
Akagi201 joined,
Akagi201_ left
|
|||
Ven | moritz: "dynamic language" ? | 08:40 | |
nwc10 | one specific problem is that if you are deploying source code, rather than compiled code, any newer version of the runtime has to be source-compatible | 08:41 | |
you don't have "existing binaries" that just keep working. | |||
Ven | dynamic = interpreted ? | 08:44 | |
08:44
Akagi201 left,
Akagi201_ joined
|
|||
Ven | nwc10: sometimes, you rely on environment stuff that isn't available (like dlls) | 08:45 | |
pmurias | how do I switch my git repo to hoelzro's one? | 08:46 | |
08:46
jnap left
|
|||
Ven | pmurias: what do you mean ? You can add his as a remote | 08:46 | |
nwc10 | Ven: yes, agree. | ||
FROGGS | pmurias: git remote add hoezlro <url> | 08:47 | |
and then you can checkout hoelzro instead of origin | |||
moritz | Ven: "dynamic language" as in perl, python, ruby, js, php | 08:48 | |
Ven | moritz: as in unityped ? as in interpreted ? | ||
moritz | Ven: if you want a definition, it would be run-time typed | ||
those languages are *not* untyped | 08:49 | ||
Ven | I didn't write untyped. | ||
FROGGS | what is 'unityped' ? | ||
moritz | oh, I thought unityped was a typo for untyped | ||
sorry | |||
Ven | FROGGS: existentialtype.wordpress.com/2011/...languages/ | ||
08:49
kurahaupo_mobile is now known as kurahaupo
|
|||
Ven | moritz: why would it be harder than maturing a statically typed language ? You usually can't break people's code | 08:50 | |
admittedly, if you do, you'll (probably) know sooner, but that's still broken. | |||
FROGGS | Ven: no, unityped does not fit here I think | ||
pmurias | FROGGS: and how can I make it the defaul? | 08:51 | |
Ven | FROGGS: << we have no choice but to regard it as a value of the “one true type” that is classified, not typed, as an integer >> | ||
FROGGS | pmurias: edit your .git/config? I dunno how mad that is | ||
moritz | Ven: I have no idea, I merely observe that python, ruby, perl and php seem to have more trouble than C++, C#, Fortran and C, for example | 08:52 | |
nwc10 | C++, C#, Fortran and C all have more than one "vendor", and have a standards committee to design what is accepted | ||
Ven | moritz: do they ? I don't know Fortran, C is pretty much unevolving, C++ adds features that would be done 10 times better if they could break BC, and C# is going in a "dynamic" direction | ||
nwc10 | oh, crap, not C# sort of | 08:53 | |
Ven | I think c++ is really the counter-example to "statically languages have a easy (kinda) time growth" | ||
nwc10 | problem continues to exist between keyboard and chair | ||
moritz | Ven: well, C++ evolution isn't pretty, but it looks like all major compilers seem to either implement C++11, or are pretty much on their way to do it. No huge fragmentation of the language and community | 08:54 | |
08:54
molaf_ joined
|
|||
Ven | moritz: you must mean on their way to C++14, by now :). I don't see fragmentations in the hundreds of ruby or even scheme implementations | 08:54 | |
(or they're labeled as such, such as rubinius X and racket) | 08:55 | ||
cognominal | When you ship a binary, you don't have the problem of mismatch of interpreter and source, whatever mismatch may mean. On the other hand the binary is tied to an OS and an processor instruction set. | 08:56 | |
Ven | cognominal: and to some environmental stuff, often | ||
cognominal | yes | ||
08:56
Akagi201_ left
08:57
kivutar joined,
molaf left
09:03
jnap joined
09:06
virtualsue left
09:09
Akagi201 joined
09:10
cooper_ left
09:11
cooper_ joined
09:15
Akagi201_ joined
|
|||
eiro | hello guys | 09:17 | |
09:18
Akagi201 left
|
|||
Ulti | ohai | 09:18 | |
cognominal | I think that so called dynamic languages come with very different cultures that implies degrees of freedom provided by the decoupling from a processor instruction set. That leads to the freedom and the necessity to create a culture/ecosystem with many ways to go astray. With smalltalk, one seems to eventually get the worse all posible worlds. It comes with its own "OS" which is really an evolving image so good luck for a portable scr | 09:19 | |
ipt, you don't get to chose you editor, the editing environment.has not evolved eons. Ruby has choosed to fully embrace the web but nodejs can do it more fully. The Perl crowd choosed to stay in a ghetto, less though than smalltalk, by ignoring the client side of the web and staying resolutely a tty culture. I am not sure if that culture comes from some leader(s) vision, accidental constraints, or happenstance. | |||
FROGGS | hi eiro | ||
cognominal | salut | ||
09:20
Akagi201_ left
|
|||
nwc10 | not convinced that "Ruby chose to fully embrace the web" It's more selection bias - Ruby wasn't really visble until Rails appeared, and Rails is all about the web | 09:23 | |
cognominal | I am curious how many people here are runing their irc client in a tty multiplexor à la screen or tmux :) | ||
nwc10 is using tmux | |||
cognominal | nwc10, so that falls in the category happenstance :) | ||
moritz happily uses both screen and tmux, depending on the context (but screen for irss) | 09:24 | ||
bonsaikitten | quassel is quite useful | ||
much less affected by laggy connections | 09:25 | ||
Ven | cognominal: java is decoupled from the processor instruction set, too | 09:26 | |
cognominal | that confirms my suspicion : Perl people thrive in the tty world. | 09:27 | |
09:27
thou joined
|
|||
moritz | cognominal: or maybe IRC people thrive in the tty world :-) | 09:27 | |
cognominal: selection bias and all that :-) | |||
cognominal | :) | 09:28 | |
moritz | .oO( now that I know about selection bias, I see it everywhere! ) |
||
cognominal | :) | 09:29 | |
09:31
thou left
|
|||
pmurias | cognominal: do ruby people irc through their web browsers? | 09:32 | |
cognominal | pmurias, I don't know. | 09:34 | |
My thought is that Perl 6 is a heck of a language, but a language is nothing without a media. | 09:36 | ||
Ven | pmurias: I actually do. hahahahaha | 09:37 | |
(only when not at home, though :b. But then, I usually don't do ruby at home) | |||
masak | cognominal: I'm on screen. | ||
moritz | btw convos.by/ is a web-based IRC client written in perl | 09:38 | |
09:45
ilogger2 joined,
ChanServ sets mode: +v ilogger2
09:46
[particle] joined
|
|||
zengargoyle | meh, web is just a sparkly tty anyway. | 09:57 | |
10:04
virtualsue joined
10:06
spider-mario joined
|
|||
masak | p6: printf "%+.5f", pi | 10:07 | |
camelia | rakudo-jvm 11e193: OUTPUT«(timeout)» | 10:08 | |
..niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: invalid format specifier at /home/p6eval/niecza/lib/CORE.setting line 1403 (sprintf @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 1404 (printf @ 5)  at /tmp/tmpfile line 1 (mainline @ 3)  at /home/p6eval/niecz…» | |||
..rakudo-{parrot,moar} 11e193: OUTPUT«+3.14159» | |||
masak | aha, PerlJam++ fixed it :) | 10:09 | |
10:09
Woodi joined
|
|||
cognominal | zengargoyle: and mostly a readonly tty if one has only access to the browser, except for wikis. The wikipedia has not strayed far apart from the original wiki concept except very recently. | 10:12 | |
10:15
spider-mario left
|
|||
moritz | m: say nqp::iscclass( nqp::const::CCLASS_PRINTING, nqp::unbox_s("a"), 0) | 10:17 | |
camelia | rakudo-moar 11e193: OUTPUT«1» | ||
10:17
chenryn joined
|
|||
moritz | m: print nqp::iscclass( nqp::const::CCLASS_PRINTING, nqp::unbox_s(chr($_)), 0) for 0..255; | 10:17 | |
camelia | rakudo-moar 11e193: OUTPUT«0000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111» | ||
moritz | m: print nqp::iscclass( nqp::const::CCLASS_PRINTING, nqp::unbox_s(chr($_)), 0) for 0..2550; | ||
camelia | rakudo-moar 11e193: OUTPUT«0000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111…» | ||
10:25
jnap joined
|
|||
masak closes his eyes and imagines a classify-into-ranges builtin | 10:28 | ||
probably a good case for a module, more realistically. | |||
also, probably quite close to skip lists. | |||
Ven | masak: classify-into-ranges ? | 10:29 | |
rindolf | zengargoyle: I might as well argue that reddit has no advantage over Usenet. | 10:33 | |
masak | Ven: with what moritz did above, it would return (0 => 0..31, 1 => 32..2550) | ||
rindolf | zengargoyle: or that we should still use a chisel and a mallet. | ||
zengargoyle: cuneiform, anyone? ;-) | |||
zengargoyle, cognominal : www.robcottingham.ca/cartoon/archiv...rain-fire/ | 10:34 | ||
10:42
xragnar_ joined,
xragnar_ is now known as xragnar
|
|||
nwc10 | cmd: Rounded run time per iteration: 4.736e+02 +/- 1.2e+00 (0.3%) | 10:52 | |
compare with | |||
cmd: Rounded run time per iteration: 7.1820e+01 +/- 4.2e-02 (0.1%) | |||
n: say 4.736e+02 / 7.1820e+01 | |||
camelia | niecza v24-109-g48a8de3: OUTPUT«6.5942634363686983» | ||
nwc10 | pmurias: MoarVM about 6.5 times faster than parrot at compiling the setting | 10:53 | |
10:56
chenryn left
11:15
thou joined
|
|||
moritz | with or without JIT? | 11:18 | |
nwc10 | JIT isn't helping (yet) with the setting | ||
moritz | so without? | 11:19 | |
nwc10 | yes, without | ||
11:19
thou left
11:26
jnap left
11:28
jnap joined
|
|||
pmurias | hoelzro: ping | 11:35 | |
hoelzro | pmurias: pong | 11:40 | |
morning #perl6 | |||
pmurias | hoelzro: did you need to enable regex lib to compile QAST::Compiler? | 11:45 | |
hoelzro | pmurias: yes | ||
11:53
bjz joined
11:58
dmol joined
12:02
nbrown joined
|
|||
pmurias | hoelzro: ok, it's seem I could just have enabled it instead of trying to remove regex-lib dependencies from QAST::Compiler | 12:05 | |
12:06
nbrown left
|
|||
timotimo | hmm. apparently turning the panda-projects.json (that perl6-bench uses for the json benchmarks) into a pure-ascii file doesn't change performance one bit | 12:23 | |
though there are multibyte characters in the original file that probably caused our code-index-using methods to linear-search every time rather than directly skip | 12:24 | ||
and even specifying :enc('ascii') on spurt doesn't seem to help | |||
hoelzro | timotimo: I tried a benchmark once on a JSON file that was " " x 4000 ~ "{}" | 12:25 | |
timotimo | how well did that go? | ||
zengargoyle | i'm not so sure reddit has anything over usenet in its prime. it was much easier to find groups, follow threads, bash on the 'n' key and make killfiles than it is to muddle through reddit. :) | ||
hoelzro | well, it demonstrated that the parser wasn't the bottleneck =) | ||
eiro | an equivalent of the s/a/b/r in perl6 ? (the r modifier) | ||
timotimo | what does r do again? | 12:26 | |
hoelzro | r returns the new string | ||
zengargoyle | plus you could just grep through /var/spool/news ... | ||
grondilu | eiro .subst: /a/, "b" I think | ||
hoelzro | rather than modifying the target in place | ||
eiro | timotimo, s/a/b/r is like s/a/b/; $_ | ||
grondilu, thx :) | |||
timotimo | ah | ||
huf | more like ($x = $_) =~ s/a/b/; $x | 12:27 | |
masak | I don't see why we couldn't also have s:r/// | ||
eiro | (didn't expect a method here | ||
masak | would be a nice side-port from Perl 5 ;) | ||
masak goes ahead and specs :r | |||
eiro | masak, :r is :rachet in perl6 | ||
grondilu | well, you can always s:P5:r/// | ||
masak | eiro: oh, dang. | ||
yes, so it is. | |||
grondilu | m: $_ = "foo"; say s:P5:r/foo/bar; say $_ | 12:28 | |
camelia | rakudo-moar 11e193: OUTPUT«===SORRY!=== Error while compiling /tmp/5QgY2KeMKCMalformed replacement part; couldn't find final /at /tmp/5QgY2KeMKC:1------> $_ = "foo"; say s:P5:r/foo/bar; say $_⏏<EOL> expecting any of: po…» | ||
grondilu | m: $_ = "foo"; say s:P5:r/foo/bar/; say $_ | ||
camelia | rakudo-moar 11e193: OUTPUT«barbar» | ||
grondilu | oh that unexpectidly failed | ||
eiro | s:P5:r is boring to write but still more natural than $_.substr( for me | 12:29 | |
grondilu was expecting barnfoo | |||
not substr, subst | |||
masak | eiro: hm. since :r is taken, I don't really know how to spec this. | ||
eiro: someone needs to come up with a nice letter we can use :) | |||
12:30
Ven joined
|
|||
zengargoyle | is :c for copy taken? | 12:30 | |
masak | didn't we use to have :c for continue? | ||
grondilu | it ha sto be one letter, right? | ||
moritz | we still have that | ||
eiro | m: "the winner is " ~ 'a'..'z'.pick | ||
camelia | ( no output ) | ||
zengargoyle | :v vivify | ||
eiro | m: say "the winner is " ~ 'a'..'z'.pick | ||
camelia | rakudo-moar 11e193: OUTPUT«"the winner is a".."z"» | ||
masak | grondilu: preferably one letter and then an expanded word. | ||
eiro | oops :) | ||
masak | eiro: precedence. | ||
moritz | precedence | 12:31 | |
moritz too slow | |||
masak | moritz: precedence. | ||
eiro | m: say "the winner is " ~ ('a'..'z'.pick) | ||
camelia | rakudo-moar 11e193: OUTPUT«the winner is a b c d e f g h i j k l m n o p q r s t u v w x y z» | ||
masak | as in "comes first" :P | ||
eiro | arff ... forget | ||
masak | eiro: fail :P | ||
everybody wins! \o/ | |||
eiro | i'll try i my vi | ||
moritz | m: say "the winner is" ~ ('a'..'z').pick | ||
camelia | rakudo-moar 11e193: OUTPUT«the winner isk» | ||
masak | eiro: "I don't want to understand the problem, I just want to fix it!" | 12:32 | |
hoelzro | k is for kopy! | ||
masak | hoelzro: :D | ||
masak could go with :k | |||
eiro | oohhh! i see the precedence pb now! thanks! | ||
:kopy :) i love the idea | 12:33 | ||
masak | :k as in :keep | ||
eiro | :s for send (as :r is taken) | ||
:p for pass | |||
zengargoyle | :d for dup | ||
masak | eiro: :p is also taken. | 12:34 | |
eiro | oh ... right | ||
dup is a nice idea as it's not in memory | |||
nwc10 | what is the current return value from s/// in perl 6? | 12:35 | |
eiro | easy to remember | ||
nwc10, the result of the substitution (True or False) | |||
masak | nwc10: list of matches? | ||
eiro | Bool:D | ||
zengargoyle | $/ ? | ||
masak | eiro: only in bool context. | ||
oh, in Perl 6. | |||
m: say "foo" ~~ /foo/ | |||
camelia | rakudo-moar 11e193: OUTPUT«「foo」» | ||
masak | m: $_ = "foo"; say s/foo/bar/ | ||
camelia | rakudo-moar 11e193: OUTPUT«bar» | 12:36 | |
masak | result string. | ||
psch points at github.com/rakudo/rakudo/pull/295#...t-49851923 | |||
nwc10 | in that, it's not clear that r is useful | ||
masak | nwc10: it is if you don't want to change $_ | ||
eiro | so why is my code broken ? .oO( and did i make some noise for nothing ) | ||
nwc10 | ah yes | ||
psch | to expand on that: spec has been updated to have s/// always return a Match object, the PR implements that | ||
eiro | dup seems to be perfect ! | ||
dalek | ast/S26-WHY: ef3e966 | (Rob Hoelz)++ | S26-TODO: More notes |
12:37 | |
timotimo | btyler: wow, i didn't expect you'd actually do it :) | 12:38 | |
carlin | ha, so "well voluntered" actually works every now and then | 12:45 | |
13:03
thou joined
13:08
thou left
13:21
cooper_ joined
|
|||
pmurias | how should I switch my repo nqp-js to the hoelzro++ version rebased on top of current nqp? | 13:31 | |
moritz | pmurias: you mean, completely replace your current stuff? | 13:33 | |
pmurias | yes | ||
hoelzro rebased my current stuff on top of a current nqp and added some commits to make it work | 13:34 | ||
moritz | pmurias: and is his stuff in the main nqp repo? or in a fork? | ||
pmurias | it's in his repo on github, mine is in my repo | 13:35 | |
moritz | pmurias: git remote add hoelzro [email@hidden.address] | ||
pmurias: git fetch --all | |||
pmurias: git reset --hard hoelzro/master; git push --force | 13:36 | ||
pmurias: (assuming the branch is 'master' and the repo is 'nqp', not 'nqp-js' or some such) | |||
dalek | Heuristic branch merge: pushed 442 commits to nqp-js by pmurias | 13:42 | |
13:45
raiph joined
|
|||
Ven | hoelzro++ pmurias++ :) | 13:45 | |
13:50
jnap left
|
|||
pmurias | hmm do we care about supporting nqp::pow_I($num, $big) where $num != 1|0 and $big is a number so big that it doesn't fit in a double? | 13:55 | |
moritz | we might | 13:56 | |
though it's a pretty simple simple mapping | 13:57 | ||
+- Inf | |||
(only -Inf if $big is odd and $num is negative) | |||
pmurias | is Inf a bignum? | ||
moritz | open question | ||
pmurias | in nqp | 13:58 | |
moritz | we'd like our integers to be able to represent +-Inf | ||
in NQP, +-Inf are always "Num" (aka double) | |||
13:59
thou joined
|
|||
pmurias | $big <= 5970554685064519000 is the point things currently break on 32bit sytems in nqp | 14:00 | |
* nqp-js | 14:01 | ||
btyler | timotimo: well, I wanted to play with nativecall, and getting something more-or-less working went rather quickly | ||
unfortunately there's a major race somewhere. some executions work great, others start spitting out undefined values once I index into the json a bit | 14:02 | ||
moritz | pmurias: I wouldn't worry about it until somebody submits a bug report :-) | ||
psch | pmurias: that breakage comes straight from bigint.js though | ||
pmurias | yes | ||
Ven | p6: say(999999999999999999999999999993425234523452345234523452345 / 100000000000000000000000000000000000000000000000000000) | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«10000.000000000002» | 14:03 | |
..rakudo-{parrot,jvm,moar} 11e193: OUTPUT«10000» | |||
psch | i didn't figure out how libgmp does bigint in the exponent, or how bigint.js maps bigint in the exponent to libgmp though | ||
Ven | ruby gives me 9999. | ||
hoelzro | the branch is indeed nqp-js =/ | ||
pmurias: did you get it to work? | |||
pmurias | hoelzro: yes | ||
hoelzro | great! | 14:04 | |
pmurias | now running 'make test' | ||
Ven | python also gives 9999 | ||
tadzik | with or without print? | ||
Ven | |||
pmurias | psch: bigint.js converts the exponent first to a js number and then to a unsigned integer of some sort | 14:05 | |
psch: but I think I'll just handle 1 ** ... and 0 ** ... specially for now | 14:06 | ||
hoelzro: it fails some tests but I'm looking into that | 14:12 | ||
hoelzro | ok, cool | 14:26 | |
timotimo | btyler: do the json_array_get and object_get return a JSON or do they return a JSON *? | 14:29 | |
dalek | kudo/nqp-dogfood: 397b4e4 | duff++ | tools/build/ (4 files): convert gen-cat.pl to nqp and use it |
14:30 | |
PerlJam | [Coke]_: Have a look at the nqp-dogfood branch. I haven't tested it thoroughly but it seems to work. :) | 14:31 | |
btyler | timotimo: they all return a JSON * | ||
timotimo | btyler: you may need to have that as returns CArray[JSON] then | 14:32 | |
btyler | json_dumps is the only method I bound that doesn't return json_t * in jansson land | ||
timotimo | and wrap that c-level sub with a sub that just returns the [0] | ||
btyler | ok. why's that? | 14:33 | |
timotimo | i'm not 100% sure if it'll help | ||
btyler | (my C chops are weak, looking to learn) | ||
timotimo | well, in C a pointer to something and an array of something is "the same thing" | ||
btyler | right | 14:34 | |
timotimo | but a pointer to something and a struct of something isn't | ||
btyler | ah, ok | ||
timotimo | i'm not sure if nativecall is able to turn "returns JSON" into "needs a pointer dereference" properly | ||
on the other hand: | |||
btyler | I originally had JSON is repr CPointer, but I needed access to the type struct member | ||
timotimo | if you have class JSON is repr CPointer | ||
right, but you can do that with nativecast :) | |||
btyler | because jansson implements typeof as a bunch of macros that operate on the struct | ||
timotimo | you'll have a class JSONInternal is repr('CStruct') | ||
btyler | and nativecall can't see macros (I think) | ||
timotimo | that's correct, macros disappear when we only have the .so file | 14:35 | |
btyler | would the mismatch between struct/pointer explain 'only sometimes' missing data? | ||
timotimo | could be | 14:36 | |
a pointer would be a 64bit int, your CStruct would probably have the $!type aligned to 32 or 64 bit | |||
and the refcount is probably 64 bit as well - you are on a 64bit machine, are you not? | |||
btyler | yeah | ||
well, size_t, which nativecall doesn't have | 14:37 | ||
14:37
treehug88 joined
|
|||
btyler | type is an enum member | 14:37 | |
timotimo | jnthn: can you say something about that? if we have a class Foo is repr('CStruct'), do we need to annotate things that take Foo * in C as CArray[Foo]? or will nativecall magically infer "this needs to be a pointer" when passing and "this needs to be deref'd" when returning? | ||
14:37
molaf joined
|
|||
timotimo | FROGGS would know about this, too -^ | 14:38 | |
btyler | hmm, CArray[JSON] and index-zeroing sounds like a recipe for out of bounds reading | 14:39 | |
timotimo | you think so? | ||
btyler | most of those methods return an int of some kind if they fail | ||
excuse me, NULL | 14:40 | ||
but again, C newb :) | |||
timotimo | a NULL will be represented as a CArray type object | 14:41 | |
so you can .defined it | |||
m: say Any[0] | |||
camelia | rakudo-moar 11e193: OUTPUT«===SORRY!===Type Any cannot accept type arguments» | ||
timotimo | m: my $foo; say $foo[0]; | ||
btyler | oh ok | ||
camelia | rakudo-moar 11e193: OUTPUT«(Any)» | ||
timotimo | my Bool @test; say @test[0]; | ||
m: my Bool @test; say @test[0]; | |||
camelia | rakudo-moar 11e193: OUTPUT«(Bool)» | ||
timotimo | if everything works fine, it'll give you a type object of your JSON struct class | 14:42 | |
btyler | oh, cool | ||
well, having it be repr(CPointer) seems like a clearer indication of what's going on, so how do I use native cast to deref and access the struct members? | 14:43 | ||
14:43
chenryn joined
|
|||
btyler | any good examples floating around github? | 14:43 | |
timotimo | i have not yet tried NativeCast, but i assume it'd look something like my $as_struct = nativecast($the_thing, MyJSONStructClass); say $as_struct.type | 14:44 | |
nope | |||
the signature is $target-type, $source | |||
so switch the thing and the struct class | |||
14:46
ribasushi joined
|
|||
timotimo | jnthn: the zavolaj TODO says "support callbacks"; can i remove that item from the list? how about "properly support sized types in structs/arrays", i don't know how much that entails | 14:47 | |
Woodi | afternoon ppls :) | 14:48 | |
timotimo | hey woodi, how are you today? :) | ||
Woodi | um, warm summer last few days :) | ||
ppls started complaing on 2nd day | 14:49 | ||
but I like it :) | |||
timotimo | :) | ||
Woodi | so, what's about R* lastly ? on probably was baked last week... | 14:50 | |
*one was... | |||
timotimo | avuserow is working on a R* release this month :) | ||
Woodi | any links ? | ||
timotimo | i think it will be ready this week, but you'd have to ask them personally | ||
Woodi | k, thanx | ||
btw. that 800k patch was nice :) | 14:51 | ||
timotimo | definitely. good eye on that bug, i must say | ||
Woodi | btw2., lastly I was reading about grsecurity/Pax (a very small bit) and one of problems with that stuff is that JITted software do not work, need to be "marked" with special script... If we assume traditional *nixes are a bit old and new security stuff *should* be default then maybe JITs should be programmed with some awareness ? </handwaving> | 14:55 | |
timotimo | that may be simple to do, but it might also be a policy thing whether or not to allow things like the moarvm jit | 14:58 | |
it can be enabled/disabled at configure time (and with an environment variable, but that's not worth much in this context) | 14:59 | ||
15:00
raiph left
|
|||
TimToady | if you run into that situation, you just turn your jit into a normal compile-time optimizer, maybe with feedback from previous runs :) | 15:00 | |
Ven | eh, I can't remember the name of the ruby tool that did that. | 15:01 | |
hoelzro | Ven: did what? | 15:04 | |
Ven | specialization based off previous program run | ||
hoelzro | oh, that's a new one to me... | 15:05 | |
Woodi | TimToady: oo, yes, forbide all that TooLateCalculations and just save apprun profile :) something like tweaking SQL queries maybe ? | ||
timotimo | gcc can compile a profiling thingie into your application to aid a later compilation with branch prediction | 15:06 | |
15:06
Akagi201 joined
|
|||
Woodi | data is gathered runtime ? | 15:07 | |
timotimo | yes | ||
Woodi | for some years I wish to have Perl6 C backend ;) | 15:08 | |
Ven | you're wishing somebody a lot of pain | ||
timotimo | i read a good article on why a perl c backend would be useless | ||
Ven | link it then! :) | 15:09 | |
Woodi | yes, pleas :) | ||
timotimo | www.perl.com/pub/2001/06/27/ctoperl.html | 15:11 | |
Woodi | btw, just something hit me... there are cars with turbo which adds some horsepower above some rpm's... but that turbo cars have some user experienced "lag" just before turbo turns on... so there are twin turbo cars, they are much better... so maybe double JIT ? one turning on faster and second later ? :) | 15:12 | |
reading :) | |||
Ven | timotimo: ah, I wasn't thinking about speed. It's just nice to be able to compile something and distribute that. | ||
Woodi: FWIW, some JS engines have around 3 or 4 "JITs" (or stage-optimizers) :P | |||
timotimo | Woodi: there's jits that will only mildly optimize something that's only mildly warm and then re-optimize with more "power" when it's considered hot | 15:13 | |
Woodi | damn, patents probably already pending ? :) | ||
TimToady | Damn the patents, full speed ahead! | 15:14 | |
timotimo | TimToady: unfortunately, "full speed ahead" is patented | ||
as is "damn the patents" | |||
also, you'll need to stop calling yourself "Larry Wall", there's a patent on that, too | 15:15 | ||
TimToady | what about the comma? | ||
timotimo | comma's fine, but not the colon. | ||
TimToady | hoelzro: on your question, I just meant that there's a newline like in normal pod where a paragraph might contain a newline; that's not intended to prevent normal paragraph reflow | 15:17 | |
hoelzro | ah ha | ||
ok, that sounds good to me! | |||
Woodi | ok, so reading article from link above and including that prepatented thingies, the only way to have good speed ups is to build custom software... | 15:19 | |
timotimo | no, you can have jit compilers :) | ||
Woodi | can I have patent on "custom software" pls ? ;) | ||
gene | |||
..ral programmers can do "general programming" ;) | 15:20 | ||
it's Apple patented square ? :) | |||
[Coke]_ | PerlJam++ # (nqp-dogfood) awesome! | 15:21 | |
dalek | kudo-star-daily: fbfd206 | coke++ | log/ (14 files): today (automated commit) |
15:28 | |
rl6-roast-data: b654aca | coke++ | / (5 files): today (automated commit) |
|||
TimToady | p6: say "{.perl}" given 1/2 | 15:29 | |
[Coke] | java: 20 failures; moar: clean; parrot: 1791 | ||
camelia | rakudo-parrot 11e193, niecza v24-109-g48a8de3: OUTPUT«0.5» | ||
..rakudo-{jvm,moar} 11e193: OUTPUT«Nil» | |||
TimToady | did anyone file this bug ^^ | ||
(found by grondilu++) | 15:30 | ||
timotimo | m: say $_ given 1 | ||
camelia | rakudo-moar 11e193: OUTPUT«1» | ||
timotimo | m: say $_ given "hello" | ||
camelia | rakudo-moar 11e193: OUTPUT«hello» | ||
timotimo | m: say $_ given 1/2 | ||
camelia | rakudo-moar 11e193: OUTPUT«0.5» | ||
timotimo | m: say "{$_}" given 1/2 | ||
camelia | rakudo-moar 11e193: OUTPUT«» | ||
timotimo | m: say "{$_.perl}" given 1/2 | ||
camelia | rakudo-moar 11e193: OUTPUT«Nil» | ||
timotimo | yeah, that's strange | ||
TimToady | m: say "{OUTER::<$_>.perl}" given 1/2 | 15:31 | |
camelia | rakudo-moar 11e193: OUTPUT«Nil» | ||
timotimo | m: say "$_.perl()" given 1/2 | ||
camelia | rakudo-moar 11e193: OUTPUT«0.5» | ||
15:32
raiph joined
|
|||
timotimo | the code we generate for that is quite terrible %) | 15:32 | |
TimToady | m: given 1/2 { {.perl.say} } | 15:34 | |
camelia | rakudo-moar 11e193: OUTPUT«0.5» | ||
timotimo | in the qast, we call the block that contains $_.perl with p6capturelex and refer to the $_ via getlexouter("$_") | ||
no clue if that's correct or not | |||
TimToady | 私も… | 15:36 | |
[Coke] | ... I plugged that into google translate, which was still set on translating into spanish; thankfully it was preschool spanish. :) | 15:37 | |
15:38
chenryn left
|
|||
carlin | ahau ano hoki | 15:42 | |
15:43
ventica joined
15:44
dmol left,
Ven left
|
|||
TimToady | Maori, eh? | 15:44 | |
carlin | Te Reo is part of the NZ school curriculum, but I barely remember any of it. Remember more of the German I learned for a year | 15:52 | |
15:54
slavik joined
15:56
chenryn joined
16:01
chenryn left
16:03
iarna joined
|
|||
TimToady | perhaps, instead of cluttering options space, we could just mixin a .result attribute to the Match returned by s/// | 16:13 | |
not sure what the performance hit would be... | 16:14 | ||
but might be worth it for cleanliness | |||
also, decouples the fetch from the s///, like this: when s/// -> $s { say $s.result } | 16:18 | ||
or my $s = $foo ~~ s///; say $s.result; | 16:19 | ||
feel free to bikeshed something shorter than .result | 16:21 | ||
.got maybe | |||
PerlJam | What does .result return exactly? | ||
(and where is the beginning of this discussion?) | 16:22 | ||
TimToady | .r if you want to hark to p5's s///r | ||
PerlJam | oh, so $foo didn't get modified in your example? | ||
TimToady | oh, good question | 16:23 | |
hmm | |||
16:23
iarna is now known as iarna_
|
|||
TimToady | yeah, that's a problem | 16:24 | |
16:24
iarna_ is now known as iarna
|
|||
TimToady goes to get more (obviously needed) coffee | 16:24 | ||
16:25
iarna left
|
|||
pmurias | don't we have none destructive substitution with .subst? why do we need /r? | 16:26 | |
16:26
iarna joined
|
|||
pmurias | *non-destructive | 16:26 | |
PerlJam | indeed. | 16:27 | |
TimToady | well, .subst is kinda ugly on replacements using $0 etc. | 16:28 | |
ventica | m: [*] ^7 | 16:30 | |
camelia | ( no output ) | ||
ventica | m: [*] 1..7 | ||
camelia | ( no output ) | ||
TimToady | say | ||
ventica | derp | ||
m: say [*] ^7 | |||
camelia | rakudo-moar 11e193: OUTPUT«0» | ||
ventica | m: say [*] 1..7 | ||
camelia | rakudo-moar 11e193: OUTPUT«5040» | ||
ventica | why? | ||
TimToady | 0 * | 16:31 | |
ventica | ^7 is shorthand for 1..7 no? | ||
PerlJam | m: say ^7 | ||
camelia | rakudo-moar 11e193: OUTPUT«0..^7» | ||
ventica | oh | ||
m: say 0 [*] ^7 | |||
camelia | rakudo-moar 11e193: OUTPUT«0» | ||
ventica | hrm | ||
oh | |||
haha | |||
righ | |||
ventica crawls back under rock | |||
grondilu is surprise 0 [*] ^7 is valid syntax | |||
PerlJam too | 16:32 | ||
grondilu | *d | ||
btyler | timotimo: I added the struct representation and access it via nativecast (so cool!) but sadly the race stuff is still there | ||
grondilu | std: 0 [*] ^5 | ||
TimToady | m: say 1 [[[[[+]]]]] 1 | ||
camelia | std 0f2049c: OUTPUT«Potential difficulties: Useless use of [] around infix op at /tmp/kM82UNhlIz line 1:------> 0 ⏏[*] ^5ok 00:01 123m» | ||
rakudo-moar 11e193: OUTPUT«2» | |||
btyler | the weirdest thing is that it races between accesses during the same program run | ||
grondilu | std: 0 * ^5 | 16:33 | |
camelia | std 0f2049c: OUTPUT«ok 00:01 123m» | ||
grondilu | m: say 0 * ^5 | ||
btyler | ie my $foo = $json.get(0).get("tags").get(0); say $foo for 1 .. 15; | ||
camelia | rakudo-moar 11e193: OUTPUT«0» | ||
btyler | it's uninitialized a few times early on | ||
then the data suddenly appears | |||
grondilu | m: say 0 * 1..2 | ||
camelia | rakudo-moar 11e193: OUTPUT«0..2» | ||
TimToady | I don't know why you think that's so mysterious, scalar ^5 is just 5 | ||
grondilu | oh | ||
indeed | |||
TimToady | m: say + ^5 | ||
camelia | rakudo-moar 11e193: OUTPUT«5» | ||
TimToady | m: $_ = 41; $_ [[[[[+]]]]]= 1; .say | 16:34 | |
camelia | rakudo-moar 11e193: OUTPUT«42» | ||
ventica | O.o | ||
TimToady | S03:4945 | 16:35 | |
synopsebot | Link: perlcabal.org/syn/S03.html#line_4945 | ||
PerlJam | ah | 16:37 | |
TimToady | so by definition, infix + can be replaced by [+], producing another infix, and since that's an infix, can be replaced by [[+]] | ||
note it's very carefully stated to be in that direction | |||
[+] is not always an ordinary infix | |||
a reduction, for instance, or in the &[+] construct | |||
neither of those are infixes | 16:38 | ||
timotimo | btyler: did you add lots and lots of debug output? :) | ||
TimToady | but the [&foo] construct is an infix, so you can reduce with [[&foo]] | ||
16:39
fhelmberger joined
|
|||
TimToady | m: say [[&atan2]] 1,1 | 16:39 | |
camelia | rakudo-moar 11e193: OUTPUT«0.785398163397448» | ||
btyler | timotimo: I haven't started adding any to jansson itself yet, that seems like the next step | ||
timotimo | ah, ok | 16:40 | |
TimToady | m: say [[[[&atan2]]]] 1,1 | ||
camelia | rakudo-moar 11e193: OUTPUT«0.785398163397448» | ||
TimToady | but not: | ||
timotimo installs jansson | |||
TimToady | m: say [&atan2] 1,1 | ||
camelia | rakudo-moar 11e193: OUTPUT«===SORRY!=== Error while compiling /tmp/wj1TXGrpeHTwo terms in a rowat /tmp/wj1TXGrpeH:1------> say [&atan2] ⏏1,1 expecting any of: postfix infix stopper infix or meta-infi…» | ||
TimToady | m: say [&atan2].WHAT | 16:41 | |
camelia | rakudo-moar 11e193: OUTPUT«(Array)» | ||
16:41
virtualsue left
|
|||
TimToady | m: say [*].WHAT | 16:41 | |
camelia | rakudo-moar 11e193: OUTPUT«(Int)» | ||
16:43
AndChat-188244 joined
16:46
dmol joined
|
|||
timotimo | btyler: could you push your stuff so i can test it, too? | 16:47 | |
btyler | timotimo: yep, just a minute ago | ||
github.com/kanatohodets/p6-json-jansson | |||
starting to printf-ify jansson | 16:48 | ||
using the most recent jansson release tag (v2.6) | |||
timotimo | also, what's the flag you pass to json_loads? | ||
btyler | JSON_DECODE_ANY: parse plain values, not only JSON objects | 16:49 | |
was mostly for testing, could probably remove it now | |||
timotimo | OK | ||
btyler | jansson.readthedocs.org/en/2.6/apiref.html great docs | 16:50 | |
timotimo | that outputs "quis" 15 times for me | ||
btyler | every time? | ||
16:50
denis_boyun_ joined
|
|||
btyler | hmmm | 16:50 | |
I almost always get at least one "use of uninitialized value of type Str in string context ..." | 16:51 | ||
usually >1 | |||
timotimo | huh | ||
yes, i get that every time, too :\ | |||
btyler | well, at least it isn't a platform related issue :) | ||
timotimo | have to go afk for a bit | ||
btyler | ok, I'll keep poking | ||
oh jeez, it's even crazier: I bumped up the count and saw "quis" followed by uninitialized followed by more quis | 16:53 | ||
17:02
FROGGS joined,
Rotwang joined
|
|||
FROGGS | timotimo: I think the answer is: NativeCall will know | 17:06 | |
17:06
fhelmberger left
|
|||
timotimo | FROGGS: it would be fantastic if you could help btyler out while i commute around; github.com/kanatohodets/p6-json-jansson | 17:11 | |
FROGGS | btyler: I can just clone and will run into the said issue? | 17:12 | |
btyler | FROGGS: yep | 17:13 | |
well, and install libjansson | |||
github.com/akheron/jansson | |||
timotimo | yeah, perl6 examples/jansson.p6 | ||
dalek | kudo/nom: 509b1a4 | duff++ | src/core/Temporal.pm: RT #121990 DateTime/Date smartmatching |
||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121990 | ||
btyler | oh, hmm, might have been missing a flag to json_dumps | 17:14 | |
splattered fprintfs all over jansson's innards | |||
yep! I was missing the ENCODE_ANY flag to json_dumps | 17:15 | ||
deeply weird that it ever succeeded | |||
FROGGS | ewww, do I need sphinx? | 17:17 | |
timotimo | of course not | 17:18 | |
btyler | I think that's just if you want to generate the docs yourself | ||
here they are: jansson.readthedocs.org/en/2.6/apiref.html | |||
anyways, I just pushed and it seems to be happy now | |||
I don't understand why it ever allowed spitting out single values when that flag was off | 17:19 | ||
oh! actually | |||
I didn't even specify that flag | |||
so it was uninitialized | |||
timotimo | yeah | ||
17:19
AndChat-188244 left
|
|||
btyler | doh | 17:19 | |
timotimo | you gave it a b0rked stack :) | ||
(maybe) | |||
btyler | awesome | ||
that makes sense | |||
timotimo | oh, it probably expected to have the argument passed via a register | 17:20 | |
in which case ... yeah ... :) | |||
btyler | well, timotimo, once I hook this up to a p6 data structure, it ought to be fast enough for whatever you had in mind | ||
parses 'big.json' (about 10 megabytes) in under 2 seconds on my machine | |||
timotimo | neato | ||
i hope our json::tiny will get at least somewhat close to that speed | 17:21 | ||
btyler | of course | ||
jeez, NativeCall kind of blows my mind. hooking that up was so easy | 17:22 | ||
timotimo | yeah, nativecall's interface is pretty darn awesome | 17:23 | |
FROGGS | as if it was properly designed :o) | 17:24 | |
ha carlosdelrey! we have awesome things! | |||
btyler | time to make bindings to *all* the libraries | 17:25 | |
timotimo | %) | 17:26 | |
does nativecall already know about Buf? | |||
17:33
vendethiel joined
|
|||
dalek | ast: d5bf9b7 | duff++ | S32-temporal/DateTime.t: Add a couple of tests for RT 121990 |
17:35 | |
avuserow | btyler++ # JSON::Jansson | 17:36 | |
avuserow found nativecall really awesome for what it supported, but quickly ran into unsupported areas | 17:37 | ||
btyler | avuserow: not quite there yet in terms of usability (you just index into the json blob with .get(key)), but hopefully it will be soon | ||
FROGGS | timotimo: I don't think so... it knows about null terminated strings and CArrays of certain size... Buf needs a length, and that is the missing bit | ||
avuserow | btyler: sure, but you're getting started and trying out nativecall, which is worthwhile already IMO | 17:39 | |
17:44
[Sno] joined
17:45
Jimmy2 joined,
Jimmy2 left
17:47
gfldex joined
|
|||
eiro | anyone used to nativecall can help? github.com/eiro/p6-lab/blob/master/girepo.p6 | 18:03 | |
i commmented the source with the stderr and why i'm confused | 18:04 | ||
(and yes: i want to implement a complete gtk binding) | |||
FROGGS | eiro: let's see | 18:05 | |
eiro: don't make it a method on a class | 18:06 | ||
eiro | just a sub ? | ||
FROGGS | yes | ||
eiro | ok. trying | ||
FROGGS | when you call a method on a class the class (or the class' instance) will be passed as the first argument, similar to perl 5 | 18:07 | |
timotimo | i'm glad jansson also offers an iterator thingie | ||
FROGGS | that's why you get that message that (GIRepository) was passed | ||
btyler | timotimo: yep, just got that going :) | ||
PerlJam | Well ... the method should work, he just shouldn't have passed an arg to the sub that's not expecting any. | ||
18:08
raiph left
|
|||
FROGGS | btyler: somehow it can't find the libjansson.so even when I made a symlink to /usr/lib/libjansson.so | 18:08 | |
PerlJam | eiro: my take ... you declared g_irepository_get_loaded_namespaces to take no parameters, yet you passed one when you called it. | 18:09 | |
FROGGS | ohh | ||
eiro | FROGGS, that's why i used (self) as argument. it was logic for me that gobject_call became gobject.call | ||
PerlJam | Though the error message is slightly LTA | ||
FROGGS | eiro: PerlJam is right | ||
I didn't read the source right | |||
timotimo | btyler: sweet! | 18:10 | |
eiro | googling "LTA", please wait | ||
btyler | "less than awesome" | ||
FROGGS | less than awesome | ||
when you get an error message that says something completely different that what you made wrong... like when internal informations are shows that have not much todo with your code | |||
eiro | would i look stupid if i admit i don't have a clue about the PerlJam's line meaning ? | 18:11 | |
PerlJam | eiro: who cares?!? :) | ||
btyler | no worries, I spent a bunch of time similarly confused with NativeCall :) | ||
just yesterday | |||
eiro | :) | ||
FROGGS | eiro: sub g_irepository_get_loaded_namespaces () takes no arguments, so don't pass self to it | ||
eiro | oohhh! right | 18:12 | |
PerlJam | being confused by NativeCall is a rite of passage for those that would use it to great effect :) | ||
eiro | it works! damn | ||
FROGGS | nice :o) | ||
eiro | thank you so much guys! | 18:13 | |
FROGGS | PerlJam: but to be fair it is easier to get confused with XS :o) | ||
eiro | right: i was so impressed by XS code i never had the courage to dive in it | ||
btyler | ^ same | 18:14 | |
eiro | nativecall is so engaging i felt dumb not to try | ||
PerlJam | FROGGS: I dunno ... XS has much more documentation around it these days as compared with NativeCall. | ||
18:14
Ven joined
|
|||
FROGGS | it is "just" a very mature C and macro mixup | 18:14 | |
eiro | but now i have to read the XS code to understand what's the next steps of my program :) | 18:15 | |
FROGGS | PerlJam: yes, but also you need like 400 pages to describe XS where you only need five to describe NativeCall | ||
:o) | |||
PerlJam | true. | ||
TimToady | part of the XS problem is that it essentially reveals all the internals of P5 as the api | ||
eiro | it seems FROGGS is comparing perl and python | ||
18:16
telex joined
|
|||
FROGGS | eiro: no, I don't know any python | 18:16 | |
I am talking about these things: perldoc.perl.org/perlguts.html#Assigning-Magic | |||
eiro | i was joking about the number of lines of codes :) | 18:17 | |
PerlJam | FROGGS: I think he meant that, in a similar manner, it takes 500 pages to explain Perl and only 5 to explain Python :) | ||
FROGGS | ahh | ||
well, I have to believe you guys :o) | 18:18 | ||
eiro | FROGGS, which one of us ? because we have 2 opposite perspective sightly | ||
18:18
raiph joined
|
|||
FROGGS | TimToady: and rakudo's extops are one step into having XS again :P | 18:18 | |
eiro: I just believe everything about Python from now on *g* | 18:19 | ||
eiro | :) | ||
FROGGS | I just know Python from the RosettaCode examples.... and mostly these are a WAT to me | 18:20 | |
eiro | WAT? | ||
TimToady | well, the pythonistas are obvlivious to the fact that their REPL is not a good thing to show off on RC | ||
eiro: you need to see S99 for these things | |||
PerlJam | someone should teach one of the bots to give out definitions | ||
eiro | like the awesome talk about javascript and ruby awesomeness ? | 18:21 | |
TimToady | perlcabal.org/syn/S99.html | ||
but yeah, the awesome talk about WAT | |||
eiro | www.youtube.com/watch?v=Othc45WPBhA | 18:22 | |
i would like to be a so entertaining speaker! | |||
TimToady | www.destroyallsoftware.com/talks/wat <-- that one | ||
eiro | yep | ||
FROGGS | ohh, then I'd choose to be like rjbs :o) | ||
eiro | TimToady, thanks for the link: starting reading. | 18:24 | |
what RC is? | |||
18:24
Alula_ joined
|
|||
TimToady | RosettaCode | 18:24 | |
FROGGS | .org | ||
eiro | ooohhh ok | ||
we need the #perlfr bot here: it helps a lot for defititions | 18:25 | ||
TimToady | though I see the glossary has Request Context fo rthat | ||
eiro | release candidate here | ||
dalek | ecs: 6f53541 | TimToady++ | S99-glossary.pod: add RC === RosettaCode |
18:28 | |
TimToady | ooh, that too | ||
[Coke] | jnthn: did you see I posted a one liner that shows at least part of the parrot breakage? | 18:29 | |
dalek | ecs: 4634ae4 | TimToady++ | S99-glossary.pod: RC = Release Candidate |
18:30 | |
18:31
MilkmanDan joined
18:32
cognominal joined
18:35
yogan joined
18:44
cognominal left
18:45
cognominal joined
|
|||
japhb_ | Are there any Perl 6 | 18:45 | |
'ers that will be in the Dublin area mid-September? | 18:46 | ||
FROGGS | not me | ||
japhb_ | (I'll be there the week of Sept 15-19, and wondering if I should stay around for a meetup ...) | ||
jnthn probably won't even be in Europe then | |||
japhb_ | Don't tell me you'll be in the United States .... | 18:47 | |
18:48
cooper- joined
|
|||
jnthn | No :) | 18:48 | |
japhb_ | timotimo, FROGGS: You're lucky I happen to have seen a highlight here. You both said things in my direction recently, but since I don't backlog #perl6, I would have missed them (yoleaux FTW ... now if we just had it in #moarvm). | 18:49 | |
In any case ... | |||
timotimo: Yes, we can change the work calculation for parse-json to incorporate the file length. For doing lots of different json files, I'd just do all of them and sum, as a first approximation. Otherwise ETOOMUCHDATA | 18:50 | ||
And yes, a match-json (your parse-json-no-actions) test sounds like a good idea. Care to make it? :-) | 18:51 | ||
The >>.foo versus .map: *.foo comparison sounds interesting | 18:52 | ||
woolfy | japhb: I know that Tim Bunce lives in county Limerick, which hardly is "the Dublin area". | ||
dalek | p: 2a9c45d | jnthn++ | src/ (2 files): Avoid a closure per NFA evaluation. We achieve this by a re-think of how we work with the NFA cache. Needs a patch to the Rakudo MOP also for its regexes/grammars to work with this change. For CORE.setting this saves a dozen GCs from the code objects produced alone. |
||
18:52
virtualsue joined
|
|||
japhb_ | It would want my long-term idea of being able to overlay multiple plots (to compare different tests) | 18:53 | |
woolfy: Ah, interesting. | |||
18:54
cooper_ left
|
|||
woolfy | japhb: lizmat and I will be just back from the Swiss Perl Workshop (5&6 Sept) and we might go to YAPC::brasil (19&20 Sept). We did not give going to Dublin area much thought yet. Any reason we should? | 18:54 | |
(Tim is of course not really a Perl 6-er) | 18:55 | ||
dalek | kudo/nom: c9ad800 | jnthn++ | src/Perl6/Metamodel/MethodContainer.nqp: Support extended NFA cache API. This supports Cursor optimizations recently made in NQP. |
18:56 | |
18:56
cooper_ joined
|
|||
japhb_ | woolfy: No, nothing in particular. Just if there was a hive of 6'ers there, I'd visit it. | 18:56 | |
And yeah, knew Tim was not a heavy 6er | |||
eiro | what is an enum for NativeCall ? | 18:57 | |
jnthn | S17-supply/batch.t (I think) is insanely slow. | ||
18:58
denis_boyun_ left
|
|||
jnthn | uniq.t too | 18:58 | |
woolfy | japhb: lizmat and I are always in for a visit to Ireland, specifically county Clare and surroundings, so now I am disappointed that you don't give me a special reason... | ||
PerlJam | woolfy: to see japhb! Maybe in a pub. :) | ||
japhb_ | timotimo: Ah, reading on, I can see that you *did* create a new JSON parsing test, thank you. From your graph, it looks like it does more to improve rakudo-moar than nqp-moar, relatively speaking. | ||
TimToady | hmm, compiling Test.pm: Cannot find method 'cache_get' | ||
18:59
rurban joined
|
|||
japhb_ | It'll be my first time in Ireland, actually. | 18:59 | |
jnthn | Guess who doesn't ready commit messages :P | ||
*read | |||
18:59
cognome joined,
cognominal__ joined,
cognominal left
|
|||
jnthn | TimToady: Just git pull; the Rakudo patch the NQP one needed is in now too | 18:59 | |
19:00
cognominal joined
|
|||
japhb_ | FROGGS: Ah, yes, being able to have better control of the scaling than just linear or doubling seems useful. I've particular thought that it might be nice to handle n**2 and n**3 algorithm scaling sanely. | 19:00 | |
FROGGS | +1 | 19:01 | |
:o) | |||
19:01
rurban left,
rurban joined,
Ven left
|
|||
TimToady | jnthn: wasn't clear from that at what point it applied inside rakudo | 19:01 | |
19:01
SevenWolf joined
19:02
Ven joined
|
|||
TimToady | should it be faster on compiing rakudo's CORE.setting? doesn't seem to be offhand | 19:03 | |
jnthn | Here it was around 1.5s faster for me. | 19:04 | |
19:04
trick joined,
SevenWolf left,
trick is now known as Sevenwolf
19:05
virtualsue left
|
|||
vendethiel | m: say so (5 & 7).is-prime | 19:11 | |
camelia | rakudo-moar 509b1a: OUTPUT«True» | ||
19:12
laz3r1c0m joined
|
|||
laz3r1c0m | Hola, mis SaludOS | 19:12 | |
tenia una pregunta, estoy siguiendo un curso y me quedo estancado en las referencias | |||
no entiendo del todo bien el concepto de las referencias | 19:13 | ||
si una referencia hace mencion al lugar de memoria de otro valor, en que se diferencia de una variable, al fin de todo la referencia contiene el valor de memoria | |||
de la otra variable | |||
pero no entiendo el uso que se le da a la misma | 19:14 | ||
FROGGS | laz3r1c0m: I might be able to help if you wrote in english | ||
19:14
cognominal left
19:15
cognominal joined
|
|||
laz3r1c0m | oh sorry | 19:15 | |
okay i will try it | |||
FROGGS | I could translate a bit using google translate | ||
laz3r1c0m | I was studing perl and i cant understand very well the references part | ||
19:16
rurban left
|
|||
FROGGS | laz3r1c0m: is that Perl 5 you are talking about or Perl 6? | 19:16 | |
vendethiel | (that's perl 5, not perl 6) | ||
19:16
pecastro joined
|
|||
FROGGS | that matters a lot and this here is a Perl 6 specific channel | 19:16 | |
laz3r1c0m | Look i think like this: " If a reference is a memory direction of a variable, why i should use a direction of memory instead of a direct value " | ||
FROGGS | laz3r1c0m: are you talking about Perl 5 or 6? | 19:17 | |
laz3r1c0m | sorry my ignorance, i think | ||
i still talking about perl 5 | |||
eiro | any "use warnings qw( FATAL )" in perl6 ? | ||
FROGGS | for Perl 5 please go to irc.perl.org #perl-help | ||
laz3r1c0m | Thank you FROGGS! | 19:18 | |
FROGGS | laz3r1c0m: sorry I can't help :/ | ||
vendethiel | well, you're free to learn about Perl 6 in the process, too :) | ||
eiro | definitly :) | ||
FROGGS | eiro: m: use fatal; say "{Any}"; # dunno what is fatal with this pragma | ||
laz3r1c0m | No matter, thanks for give me the right side to ask : ) | ||
FROGGS | err | ||
m: use fatal; say "{Any}" | |||
camelia | rakudo-moar 509b1a: OUTPUT«use of uninitialized value of type Any in string context in block at /tmp/appNSbAmCe:1» | ||
FROGGS | m: use fatal; say "{Any}"; say "alive" | 19:19 | |
camelia | rakudo-moar 509b1a: OUTPUT«use of uninitialized value of type Any in string context in block at /tmp/en5bm2oJ9a:1alive» | ||
19:19
laz3r1c0m left
|
|||
eiro | exactly what i need! thanks | 19:19 | |
vendethiel | oh. | ||
m: try { say "{Any}" CATCH { default { say "got it" } }; say "alive" }; | |||
camelia | rakudo-moar 509b1a: OUTPUT«===SORRY!=== Error while compiling /tmp/0RacuOxtuYTwo terms in a rowat /tmp/0RacuOxtuY:1------> try { say "{Any}" ⏏CATCH { default { say "got it" } }; say  expecting any of: postfix …» | ||
vendethiel | m: try { say "{Any}"; CATCH { default { say "got it" } }; say "alive" } # try implies use fatal | 19:20 | |
camelia | rakudo-moar 509b1a: OUTPUT«use of uninitialized value of type Any in string context in block at /tmp/rCF3Sfzsgi:1alive» | ||
vendethiel | uh? | ||
FROGGS | ? | ||
hoelzro | did anyone else see that R* "1.0" post on proggit? | ||
vendethiel | I thought `try` implied `use fatal` | ||
eiro | ok. i try with the debuger | ||
19:22
Woodi left
|
|||
FROGGS | hoelzro: I did | 19:23 | |
19:23
ventica left
|
|||
eiro | and found the error: i don't know how to test/set a NULL repr('CStruct') | 19:24 | |
hoelzro | FROGGS: I think it's someone trolling =/ | 19:25 | |
mainly because it's talking about 1.0 and it's pointing to a 4-year old post =( | |||
FROGGS | eiro: OpaquePointer.new should give you a NULL pointer, and then you can cast it to that struct | ||
btyler | hoelzro: carlosdelray is educated_foo's troll account, he's been particularly active lately | ||
hoelzro | ah ha | ||
btyler | see "rakudo jvm put out to pasture" in /r/perl | ||
FROGGS | eiro: though, casting *to* the struct should happily explode | ||
btyler | just silly stuff | 19:26 | |
FROGGS | hoelzro: I know he's just trolling, but I can still reply with useful informations for other readers | ||
hoelzro | that's true | ||
eiro | FROGGS, i'll defer this problem by not handling errors for the moment :) i'm so impatient to have a gtk container loaded ... | 19:27 | |
FROGGS | *g* | 19:28 | |
that's a good attitude | |||
19:29
cognominal left
19:30
cognominal joined
19:32
Ven left
19:35
cognome left,
cognome joined,
dwarring joined
19:40
rurban joined
|
|||
ChoHag | What would I need to do (install and follow the development of (and anything else?)) to switch to building rakudo without the --gen-* flags? | 19:41 | |
And btw threading in moar seems to work despite the code I'm throwing at it. | 19:42 | ||
hoelzro | ChoHag: you'll need a VM (such as Parrot or Moar) and NQP | ||
19:44
cognominal left
19:45
Sevenwolf left,
cognominal joined
19:51
kurahaupo joined
19:54
rurban left
19:57
cooper_ left
|
|||
cognominal__ | does Perl 6 expose an abstraction similar to mktemp(3) or tmpfile(3)? | 19:57 | |
19:58
cooper_ joined
|
|||
jnthn | I think I recall IO::Spec in CORE having something along those lines | 19:59 | |
hoelzro | there's tmpdir | ||
19:59
cognominal left
|
|||
hoelzro | but interestingly enough, no mktemp =/ | 20:00 | |
20:00
cognominal joined
|
|||
cognominal__ | I see a $*TMPDIR in S16 | 20:00 | |
20:01
nbrown joined,
rurban joined
|
|||
geekosaur | mktemp(3) is considered insecure and obsolete these days | 20:01 | |
PerlJam | cognominal__: github.com/perlpilot/p6-File-Temp/ | 20:02 | |
cognominal__ | thx | 20:03 | |
PerlJam | (panda is your friend too... panda install File::Temp :) | 20:04 | |
cognominal__ | m: say $*TMPDIR | 20:05 | |
camelia | rakudo-moar c9ad80: OUTPUT«IO::Path</tmp>» | ||
20:05
nbrown left,
treehug88 left
|
|||
cognominal__ | Perljam, yes, with moar, it is not unbearably slow anymore. | 20:06 | |
PerlJam | indeed, moar++ | ||
cognominal__ | moar++, jnthn++ # chromatic whines on reddit, but there is a time for doing architectural work and a time for fixing bugs. Anyway performancewise, jnthn's work is already paying off and I hope even more so in a few months. | 20:10 | |
vendethiel | well, spending ten years on some project to see it "go sleeping" might be frustrating, uh. | 20:11 | |
the journey is often more interesting; though | |||
cognominal__ | jnthn was the prince who waked up the sleeping beauty :) | 20:13 | |
TimToady | well, unresolved technical debt sometimes produces unresolvable cultural debt | ||
20:17
cognominal left,
cognominal joined
|
|||
vendethiel | it definitely does -- who in their right mind would maintain *that* ? | 20:20 | |
;-) | |||
TimToady | well, nobody in their right mind would maintain *this* either, but we'll leave that be :) | 20:21 | |
PerlJam | chromatic's problem IMHO, is really one of synchronicity. He and Perl6 fell out of sync and from his perspective, it's all "our fault" (at least that's how it always seems when he comments about p6 these days) | ||
TimToady | well, I'm not interested in burning anyone's bridges for them, they can do that themownselves | 20:23 | |
20:24
pmurias joined
|
|||
TimToady | Damaged soldiers should not be considered enemy combatants. | 20:24 | |
PerlJam | chromatic: If you're still watching us from afar, o/ *hug* :-) | 20:25 | |
pmurias | he does have some valid points, but he is likely bitter from doing a lot of boring work for nothing | 20:26 | |
lizmat is catching up on backlog of ~ 8 days | 20:27 | ||
cognominal__ | well, my comment was probably inappropriate. | ||
lizmat | [Coke]: wrt to throws_like: are you implying that if any of the subtests is correct, the "todo" will be marked as passed ? (even if other subtests fail?) | 20:28 | |
20:29
iarna left
|
|||
lizmat | m: say "Life, the Universe and Everything".WHY # just checking | 20:29 | |
camelia | rakudo-moar c9ad80: OUTPUT«42» | ||
20:30
iarna joined
|
|||
TimToady | m: say "Life, the Universe, and Everything".WHY | 20:30 | |
camelia | rakudo-moar c9ad80: OUTPUT«(Any)» | ||
lizmat | TimToady: would that be an English / US grammar distinction? | 20:32 | |
or is that comma needed always ? | |||
TimToady | no, that would be correct vs incorrect :) | ||
20:32
cognominal left,
cognominal joined
|
|||
lue | If you're are interested in clarity of written statements, the oxford comma is always correct :) | 20:32 | |
TimToady | it's a subject of much debate, but I much prefer the form with the comma because it's less ambiguous, and that's where you put a pause when speaking | ||
lue | *you are | 20:33 | |
20:33
denis_boyun_ joined
|
|||
TimToady | so it's linguistically correct too | 20:33 | |
jnthn | And sometimes it can change the meaning of things quite dramatically :D | ||
lizmat | in Dutch, having a comma before an "and" is considered incorrect | ||
lue | TimToady: same here. There's a song title that confused me for a while until I realized it was missing that final comma, for instance :) | ||
lizmat | that much I remember from Dutch class in high school, at least :-) | ||
PerlJam idly wonders if that easter egg will make it to the changelog since it's clearly the subject of several commits ;) | |||
TimToady | well, maybe the Dutch teachers were also wrong :) | 20:34 | |
PerlJam | .oO( What do the Dutch know about English anyway? ;) |
||
TimToady | there've certainly been enough proscriptive/prescriptive English teachers | ||
lue | Dutch is just a strange mixture of English and German anyway :P | ||
lizmat | PerlJam: I mean in Dutch, a comma before an "en" (which is the Dutch equivalent of "and") | ||
TimToady also is firmly in favor of logical quoting | |||
the typesetters union notwithstanding | 20:35 | ||
jnthn | The thing that burned the Oxford comma rule into my brain was the "We invited the strippers, JFK and Stalin" one :) I'll leave those of you curious enough to search for the illustration that made it unforgettable. :P | 20:36 | |
lue | TimToady: "I am saying a full sentence." he said. instead of "I am saying a full sentence," he said. ? I prefer not mucking with the punctuation myself (at least put the changes in square brackets, like when you change words in the text :P) | 20:37 | |
vendethiel | Eh. In france, every teacher will tell you not to put accents on caps. They're all wrong :( | ||
TimToady | and the proof-texts for the opposite view tend to be sentence fragments | ||
vendethiel | .oO( so much for our lil' keyboards ) |
||
lizmat | www.verbicidemagazine.com/wp-conten...-Comma.jpg gives a good visual cue | 20:38 | |
lizmat has that now burned in her brain as well :-) | |||
however, the title of the book was without comma: en.wikipedia.org/wiki/Life,_the_Uni...Everything | 20:39 | ||
timotimo | this may be a dumb question ... but how do i ask a socket if the other side has disconnected? | ||
TimToady | those were days of dark oppression in many ways | ||
lue | lizmat: Well, Adams did go to Cambridge... :) | 20:40 | |
timotimo | there is no .eof for sockets at least ... | ||
20:40
virtualsue joined
|
|||
timotimo | apparently that just means that .get will give me something undefined .. | 20:41 | |
20:41
denis_boyun_ left
|
|||
TimToady | We invited Fred, a bartender, and a clown. <-- usual sort of argument for leaving the comma out | 20:41 | |
but this is more properly resolved with parens, We invited Fred (a bartender) and a clown | 20:42 | ||
We invited Fred (a bartender and a clown) | |||
and leaving out the comman does not preclude the last interpretation in any case | 20:43 | ||
tadzik | like in that joke with 3 guys buried in the same grave | ||
lue | You could use em dashes too, if you have a strange aversion to parens. | 20:44 | |
dalek | kudo/nom: 6663be6 | (Elizabeth Mattijsen)++ | src/core/Str.pm: Oxford Commafication |
||
vendethiel | TimToady: cases: 1. 3 people 2. Fred is a bartender. 3. Fred is a group of two people. 4. Fred is only one talented guy | ||
TimToady | anyway, we use parens (and sometimes dashes) frequently in modern written English for appostives | ||
vendethiel | are there more ? | ||
TimToady | so there's no excuse for using commas when it's ambiguous | ||
carlin | m: say "Answer to the Ultimate Question of Life, the Universe, and Everything".WHAT | 20:45 | |
camelia | rakudo-moar c9ad80: OUTPUT«(Str)» | ||
vendethiel | m: say 42.WHY | ||
camelia | rakudo-moar c9ad80: OUTPUT«(Any)» | ||
20:46
Ven joined
20:47
cognominal left,
cognominal joined
|
|||
jnthn | arrgh | 20:48 | |
lue would enjoy the error messages and warnings that would come out of a Slang::English or whatever :) "Ambiguous meaning in comma list without oxford comma; please insert an oxford comma, or separate appositives with parens or dashes, or..." | |||
jnthn finds the bug that was sinking is sink improvemnts... | |||
lizmat | .oO( is it talk like a pirate day already? ) |
||
timotimo | turns out JSON::Tiny parses the documents i need to parse in 0.1 seconds and i have 3 seconds to calculate and formulate a response | ||
jnthn: yay, fixing sink! | 20:49 | ||
TimToady | Sink me! | ||
jnthn | Well, it's not fixing it | ||
lizmat | .oO( what where you sinking? ) |
20:50 | |
TimToady | or was the Scarlet Pimpernel saying "Sync me!" | ||
jnthn | It's dealing with the fact that every sinkable statement constructed 12+ QAST nodes which generated a bunch of instructions | ||
20:50
molaf left
|
|||
TimToady | heh, only one instruction in P5 :) | 20:50 | |
jnthn | And it's such an incredibly common thing that improving it has shaved me close to another second off setting compilation time. | 20:51 | |
TimToady: Well, here it's checking if it's concrete, and then if it's got a sink method | 20:52 | ||
I'm guessing by one instruction you mean one Perl 5 op, rather than one CPU instruction? | 20:53 | ||
TimToady | sure, but all it does is record itself as the current statement, in case we need the line number | 20:54 | |
well, and call FREETMPS | |||
which is the equivalent of sink in P5 | |||
20:54
ariden__ joined
|
|||
TimToady | at least, that's all it did the last time I looked at it | 20:55 | |
20:55
ariden__ is now known as shiroseki
|
|||
TimToady | which was only most of two decades ago :) | 20:55 | |
Ven starts fighting the regex war | 20:56 | ||
jnthn | Darn, a few new spectest fails. | ||
[Coke] | lizmat: you have subtests. one of the fails. the whole test fails. you mark the whole test TODO, but because one of the subtests passed, the whole test is marked TODO PASSED. yes. | ||
lizmat | that shouldn't happen, that's a bug | ||
[Coke] | do we have tests of how subtests should work? ;) | 20:58 | |
I am basing this off an attempt to fudge a file a few weeks ago. | |||
...er, maybe a week ago, if it's when the wife was in hospital. (she's fine) | |||
lizmat | well, I read that earlier today, when backlogging | 20:59 | |
[Coke] | I can probably come up with a test case if that'd help. | ||
dalek | p-js: 01781f3 | (Pawel Murias)++ | tools/build/ (2 files): "make js-clean" actually does some cleanup |
21:00 | |
p-js: 5d0e94c | (Pawel Murias)++ | Configure.pl: Enable --no-clean option in Configure.pl. |
|||
lizmat | fwiw, I'm seeing parse times of settings go down below 38 seconds now, jnthn++ | ||
[Coke]: testing now myself, don't worry | |||
[Coke] | lizmat++ thanks! | ||
21:02
cognominal left,
cognominal joined
21:05
kivutar joined
|
|||
lizmat | [Coke]: cannot reproduce in a simple case: gist.github.com/lizmat/c12ccd3b9812f49188b1 | 21:06 | |
21:08
kurahaupo_mobile joined
|
|||
lizmat | m: use Test; throws_like( { ... }, Exception } # seems the yadayadayada is not caught | 21:09 | |
camelia | rakudo-moar c9ad80: OUTPUT«===SORRY!=== Error while compiling /tmp/A4u2iX2m7gUnable to parse expression in argument list; couldn't find final ')' at /tmp/A4u2iX2m7g:1------> e Test; throws_like( { ... }, Exception ⏏} # seems the yadayaday…» | ||
timotimo | m: class Test { has Int ($.red, $.green) }; Test.new(:red(1), $green("hello")).say; | ||
lizmat | m: use Test; throws_like( { ... }, Exception ) # seems the yadayadayada is not caught | ||
camelia | rakudo-moar c9ad80: OUTPUT«===SORRY!=== Error while compiling /tmp/1JR2g40P8YVariable '$green' is not declaredat /tmp/1JR2g40P8Y:1------> en) }; Test.new(:red(1), $green("hello")⏏).say; expecting any of: postfix» | ||
rakudo-moar c9ad80: OUTPUT« 1..2Unhandled exception: Stub code executed at <unknown>:1 (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295) from src/gen/m-CORE.setting:12912 (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE…» | |||
timotimo | m: class Test { has Int ($.red, $.green) }; Test.new(:red(1), :green("hello")).say; | ||
camelia | rakudo-moar c9ad80: OUTPUT«Type check failed in assignment to '$!green'; expected 'Int' but got 'Str' in block at src/gen/m-CORE.setting:859 in method BUILDALL at src/gen/m-CORE.setting:842 in method bless at src/gen/m-CORE.setting:831 in method new at src/gen/m-COR…» | ||
timotimo | ah, cool | ||
21:11
kurahaupo left
|
|||
lizmat | weirder: looks like the yadayadayada is executed *before* throws_like is called | 21:13 | |
hoelzro | lizmat: how are you determining that? | 21:14 | |
lizmat | stack trace with --ll-exception | ||
hoelzro | ah ha | 21:16 | |
21:16
Ven left
21:17
cognominal left,
cognominal joined
21:18
danfinch joined,
kurahaupo_mobile is now known as kurahaupo
|
|||
lizmat | hmmm... a "say" in throws_like *is* executed... | 21:21 | |
weird | |||
hoelzro | I'm wondering if this has something to do with the changes I made to lib/Test.pm, lizmat | ||
lizmat | the throws_like regression ? | 21:22 | |
or the {...} not being caught ? | |||
hoelzro | the latter | ||
I mean, it could be both, or neither | |||
21:23
cognominal left,
cognominal joined
21:24
raiph left
|
|||
dalek | kudo/nom: 7cac3a1 | duff++ | docs/ChangeLog: mention a couple of minor changes in ChangeLog |
21:25 | |
21:26
xylixy joined
21:28
xylixy left
|
|||
lizmat | I guess we *do* need tests for Test.pm | 21:29 | |
but where would they live? | |||
not in roast, I would think? | |||
as they have nothing to do with Perl 6 ? | |||
m: use Test; throws_like( { die }, Exception ) | 21:30 | ||
camelia | rakudo-moar 6663be: OUTPUT« 1..2 ok 1 - code dies ok 2 - right exception type (Exception)ok 1 - did we throws_like Exception?» | 21:31 | |
lizmat | m: use Test; throws_like( { ... }, Exception ) | ||
camelia | rakudo-moar 6663be: OUTPUT« 1..2Unhandled exception: Stub code executed at <unknown>:1 (/home/p6eval/rakudo-inst-2/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295) from src/gen/m-CORE.setting:12912 (/home/p6eval/rakudo-inst-2/languages/perl6/runtime/CORE…» | ||
lizmat | r: use Test; throws_like( { ... }, Exception ) | ||
camelia | rakudo-jvm 6663be: OUTPUT«(timeout)» | ||
..rakudo-parrot 6663be: OUTPUT«use of uninitialized value of type Nil in numeric context in sub throws_like at lib/Test.pm:260 1..2Stub code executedcurrent instr.: 'throw' pc 430184 (src/gen/p-CORE.setting.pir:179137) (gen/parrot/CORE.setting:11365)called from Sub …» | |||
..rakudo-moar 6663be: OUTPUT« 1..2Unhandled exception: Stub code executed at <unknown>:1 (/home/p6eval/rakudo-inst-2/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295) from src/gen/m-CORE.setting:12912 (/home/p6eval/rakudo-inst-2/languages/perl6/runtime/CORE…» | |||
hoelzro | lizmat: is anything under lib/ tested? | 21:32 | |
lizmat | don't think so | ||
hoelzro | =/ | ||
well, there goes our shot for precedence | |||
PerlJam | lizmat: they can live in rakudo/t somewhere. like t/rakudo/01-sanity | ||
hoelzro | maybe t/rakudo/libs or something | 21:33 | |
PerlJam | that'll work too | ||
lizmat | perhaps.. but the spectest.data file only knows about files from t/spec downwards | 21:34 | |
PerlJam | actually, looks like there are some tests for Test.pm in t/02-sanity/99-test-basic.t | ||
lizmat | ah, intriguiing | ||
PerlJam | er, 01-sanity | ||
21:36
gfldex left
|
|||
hoelzro | that could prove helpful | 21:38 | |
21:38
cognominal left
|
|||
hoelzro | I'm not done with Test.pm, so I can try to make those tests better as I go along | 21:38 | |
21:38
cognominal joined
|
|||
lizmat | what are you doing to Test.pm (must miss some vital backlog still) | 21:38 | |
hoelzro | lizmat: making it write to STDOUT/STDERR properly | 21:39 | |
lizmat | ah, ok | ||
hoelzro | you know how Perl 5 will helpfully print diag() and failures to STDERR? | ||
lizmat | you were also thinking of expanding Test.pm | ||
hoelzro | that's one thing I did | ||
lizmat | hoelzro++ | ||
PerlJam | hoelzro++ indeed. | ||
hoelzro | I also made sure that it doesn't write to STDOUT/STDERR directly, but to clones | 21:40 | |
so tests can mess with $*OUT and $*ERR without breaking tests | |||
there are a few other things as well | |||
oh! | |||
Test.pm exits with the # of failures now | |||
oh, and test failures report which file/line they happened on | 21:41 | ||
PerlJam | hoelzro: are you gonna make Test::Builder too? :) | ||
hoelzro | I was thinking about it | ||
PerlJam | I've thought about it at least twice, but never got beyond that. | 21:42 | |
hoelzro | all of my recent Rakudo work has been due to frustrations while developing a module for Perl 6 =P | ||
so we'll see how much steam I have left after S26 and test-betterer | |||
lizmat | please note that Test::Builder in Perl 5 is going through a refactor now, if I remember correctly from OSCON (or was it YAPC::NA?) | ||
hoelzro | I heard | ||
I want to add test levels to Test.pm, but I'm not sure what a 6-y interface would look like | 21:43 | ||
I'm also convinced that todo/skip can be nicer to work with, but I think that's for a different library | |||
seeing as roast and other tests would probably have to be changed =/ | |||
PerlJam | nicer how? | 21:44 | |
dalek | p: cbb30f7 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp: Make a few things as not inlinable. |
||
hoelzro | well, the whole skip 'reason', $num_tests; + comments feels wonky to me | ||
I feel like we can do better in Perl 6 | 21:45 | ||
I also want docs =) | 21:46 | ||
21:46
virtualsue left
|
|||
PerlJam | SKIP blocks and subtests would be better. | 21:49 | |
hoelzro | I guess there could be two skip impl's | 21:50 | |
skip(Str $reason, Int $count) | |||
and skip(&block, Str :$reason) | 21:51 | ||
PerlJam | hoelzro: Is there a roadmap for your S26 work somewhere so that I can see if I can contribute? | 21:53 | |
hoelzro | yes, there is! | 21:54 | |
github.com/perl6/roast/blob/S26-WHY/S26-TODO | |||
21:54
virtualsue joined,
shiroseki left
|
|||
hoelzro | let me know if you have any questions | 21:55 | |
PerlJam | I'll look at it later tonight and ping you if I have questions :) | ||
21:55
akaseki joined
|
|||
hoelzro | cool =) | 21:55 | |
btw, it slows down parsing pretty badly atm | |||
but don't get discouraged =) | 21:56 | ||
21:56
kivutar left
21:59
aoseki joined
22:00
akaseki left
22:03
nbrown joined
22:07
nbrown left
|
|||
dalek | blets: ea553e4 | (Herbert Breunung)++ | docs/appendix-g-glossary.txt: cleanup mostly at glossary section A |
22:09 | |
jnthn | Grr | ||
Well, I can't build Parrot NQP at the moment. :( | 22:10 | ||
Bunch of errors like this: | |||
stable.obj : error LNK2001: unresolved external symbol __imp_mem_sys_free | |||
stable.obj : error LNK2001: unresolved external symbol __imp_mem_sys_allocate_zeroed | |||
src\vm\parrot\pmc\nqp_group.dll : fatal error LNK1120: 48 unresolved externals | |||
22:11
kivutar joined
22:16
akaseki joined,
aoseki left
22:21
cognominal left
22:22
cognominal joined
22:23
virtualsue left
|
|||
lizmat gets some sleep& | 22:24 | ||
masak too | |||
22:24
AndChat-188244 joined
|
|||
masak | 'night, #perl6 | 22:24 | |
jnthn | 'night masak, lizmat | 22:25 | |
22:26
cognominal left
22:28
pmurias left
22:31
Psyche^_ joined
|
|||
dalek | kudo/nom: a398910 | jnthn++ | src/ (4 files): Better handling of sink. On MoarVM, this leads to a smaller QAST trees and much better code generation. On JVM and Parrot, we get the first advantage, and we could improve their code-gen in the future too. Note the Parrot bit of this is untested due to being unable to build NQP Parrot on Win32 at present; the JVM patch worked right off, though, and there's very little reason fro the Parrot one not to. Testing welcome. |
22:38 | |
p: 66af960 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp: Align :!inlinable on Moar with JVM markings. |
22:39 | ||
22:39
kivutar left
|
|||
dalek | p: f812606 | jnthn++ | tools/build/MOAR_REVISION: Bump to latest MoarVM for improvements. |
22:39 | |
kudo/nom: ae2ffe8 | jnthn++ | tools/build/NQP_REVISION: Bump NQP revision for assorted improvements. |
22:40 | ||
22:41
rurban left
22:45
rurban joined
22:58
raiph joined
|
|||
TimToady | starting a p-spectest; how clean should it be? | 22:59 | |
jnthn | Well, [Coke]++ reported we have junction issues. I wanted to looka t it but I couldn't build an nqp-p, despite some digging. :( | 23:01 | |
(Was link error with the PMCs...) | 23:02 | ||
TimToady | p-parse went down about 5 seconds since last time I did it | 23:03 | |
23:03
ventica joined
|
|||
TimToady | 99 to 94 seconds, basically | 23:04 | |
23:05
chenryn joined
|
|||
jnthn | Nice :) | 23:06 | |
timotimo | neato | 23:09 | |
23:21
kurahaupo left
|
|||
timotimo | the median of parse times is 0.29 seconds, which isn't terrible, but i wouldn't mind a factor of 10 improvement for parsing :) | 23:22 | |
23:24
chenryn left,
dmol left
|
|||
timotimo | nativecall seems unhappy about nom/master/master at the moment :( | 23:27 | |
23:27
itz_ joined
|
|||
TimToady | p-spectest results: gist.github.com/anonymous/192725c26e0d4a3b11b2 | 23:32 | |
not very pretty | |||
[Coke] | jnthn: couldn't build parrot, or couldn't build nqp-p ? | 23:33 | |
jnthn | [Coke]: nqp-p | 23:37 | |
[Coke]: Specifically, a C link error on the dynpmcs | |||
TimToady | that's nom/master/master btw | 23:38 | |
[Coke] | jnthn: were you using default versions or HEAD? | 23:41 | |
jnthn | [Coke]: PARROT_REVISION; did --gen-parrot | ||
[Coke] | roger. testing on os x... | ||
jnthn | Yeah. It was about DLL import stuff so I fear it's Windows specific. | 23:46 | |
[Coke] | bother. | 23:47 | |
maybe some symbols that used to be exported that weren't? | |||
jnthn | I guessed that and went to look | 23:49 | |
But PARROT_EXPORT or so was on them. | |||
[Coke] | ... weird. | 23:50 | |
installed parrot conflicting? | |||
(sorry, just thinking out loud, basically) | |||
jnthn | Unlikely; the link line wasn't referecning an old thing, at least... | 23:53 | |
23:56
ventica left
|