»ö« 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. |
|||
raiph | lue: I'm wondering if the term "NFG" is cute today but... | 00:02 | |
00:03
BenGoldberg joined
|
|||
lue | ...? | 00:03 | |
raiph | lue: I'll sleep on it and see if I understand why I got confused | 00:04 | |
lue | raiph: I think I might know what you mean, but I never heard of NFG as anything other "that special Perl 6 NF" until someone pointed out its other meaning. AFAICT no American will get weirded out :) | 00:05 | |
lue afk | |||
00:18
kbaker_ joined
00:42
[particle] left
00:43
Mouq joined
|
|||
Mouq | o/ | 00:43 | |
Perl 6 feature request: an idiomatic way to iterate over groupings of an array | 00:44 | ||
00:44
araujo left
|
|||
Mouq | for @array[0..70 X* | 00:45 | |
for @array[0..70 X+ 70*(state$)++] { } is a little clunky :P | |||
Err | |||
for @array[0...70*(state$)++] { } | 00:46 | ||
Mouq keeps messing this up | |||
I think the 0..70 X+ 70*(state$)++ was right | |||
m: for (1..*)[0..70 X+ 70*(state$)++] { .elems.say } | |||
camelia | rakudo-moar e87281: OUTPUT«1111111111111111111111111111111111111111111111111111111111111111…» | 00:47 | |
Mouq | m: while (1..*)[0..70 X+ 70*(state$)++] { $^l.elems.say } | ||
camelia | rakudo-moar e87281: OUTPUT«(timeout)71» | ||
Mouq | m: while (1..*)[^70 X+ 70*(state$)++] { $^l.elems.say } # almost... | 00:48 | |
camelia | rakudo-moar e87281: OUTPUT«(timeout)70» | ||
Mouq | Hm... | ||
m: while (1..560)[^70 Z+ 70*(state$)++] { $^l.elems.say } # almost... | |||
camelia | rakudo-moar e87281: OUTPUT«11111111» | ||
Mouq | m: while (1..560)[^70 »+» 70*(state$)++] { $^l.elems.say } | 00:49 | |
camelia | rakudo-moar e87281: OUTPUT«7070707070707070» | ||
Mouq wonders why X+ didn't work… | |||
m: say ^70 X+ 70 | 00:50 | ||
camelia | rakudo-moar e87281: OUTPUT«70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139» | ||
Mouq | m: say ^70 X+ 70*1 | ||
camelia | rakudo-moar e87281: OUTPUT«70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139» | ||
Mouq | Anyway, a (1..560).group(70) or something would be great, unless there is something like it already that I'm not aware of... | 00:53 | |
00:56
araujo joined,
raiph left
00:59
bjz left
01:00
bjz_ joined
01:24
Mouq left
01:26
FROGGS_ joined
01:30
FROGGS left
01:32
benabik joined
01:40
klapperl_ joined,
lustlife joined
01:43
klapperl left
01:45
xenoterracide joined
01:54
btyler left
|
|||
lue | With the way I imagine pack and unpack being defined for Perl 6, I don't think the two functions belong in S32::Str(ingy) anymore... | 01:57 | |
02:00
dayangkun left
02:02
dayangkun joined
02:03
rurban2 left
|
|||
lue | (I'm taking the "more human-readable" cue and imagining a pack() and unpack() using adverbs, though it's just an idea right now.) | 02:03 | |
02:12
kbaker_ left
|
|||
colomon | adverbs aren't ordered, are they? they seems like a big problem for pack / unpack. | 02:22 | |
lue | colomon: yeah. The contents of *%var seem ordered, but that's not reliable. | 02:24 | |
It's a shame, adverbs feel like the right solution, while some special formatting string feels less so. | |||
colomon | you could maybe do it as a string of methods. | 02:25 | |
lue | (not to say I'm ruling out the formatting string way, just that I would like something a bit different.) | 02:26 | |
02:27
xragnar_ joined,
xragnar left,
xragnar_ is now known as xragnar
|
|||
BenGoldberg | Surely it could be colon pairs which look like adverbs? | 02:47 | |
lue | colon pairs are adverbs :) | 02:50 | |
BenGoldberg | Hmm | ||
Is there any way to prevent adverbs from going into *%var, and force them into @_ ? | 02:51 | ||
lue | nope. | ||
colomon | you could send a list of color pairs | 02:52 | |
colon | |||
m: sub pack(@pairs) { say :@pairs.perl; }; pack((a => 10, b => 20)); | |||
camelia | rakudo-moar e87281: OUTPUT«"pairs" => $("a" => 10, "b" => 20)» | ||
colomon | but that seems a sort of fragile syntax. | 02:53 | |
for something like unpack, I'd love to see "grammars" that work on binary data. | 02:58 | ||
lue | yeah, one of the ideas floating through my head was another language on the braid, but that seems like overkill for two functions. | 02:59 | |
03:08
hoverboard joined
03:10
robinsmidsrod left
03:33
robinsmidsrod joined
04:01
kaare_ joined
04:05
kaare__ joined
04:07
kaare_ left
04:11
jnap1 left
04:25
[Sno] left
04:28
zby_home joined
04:29
zby_home left
|
|||
moritz | \o | 04:56 | |
04:56
risou is now known as risou_awy,
risou_awy is now known as risou
04:58
hoverboard left
|
|||
lue | Updated with a hopefully decent description of sprintf: gist.github.com/lue/9941658 | 04:58 | |
04:59
kaare__ left
05:00
rurban1 joined
|
|||
lue | g'night #perl6 o/ | 05:07 | |
05:08
xenoterracide left
05:09
denisboyun joined
05:11
rurban1 left
05:13
rurban2 joined
05:18
rurban2 left
05:20
BenGoldberg left,
kaare__ joined
05:44
rurban2 joined
05:49
rurban2 left,
[Sno] joined
06:05
denisboyun left
06:09
jlaire joined
06:15
darutoko joined,
telex left
06:16
telex joined
06:19
bjz_ left
06:20
bjz joined
06:27
yakudza left
06:28
FROGGS_ left
06:29
kaleem joined
06:41
FROGGS_ joined,
FROGGS_ is now known as FROGGS
06:45
rurban1 joined
06:50
rurban1 left
06:58
fhelmberger joined
07:03
bjz left,
bjz joined
|
|||
Woodi | morning #perl6 ppls :) | 07:04 | |
07:05
rurban left
|
|||
Woodi | thanx FROGGS++ # links and things | 07:05 | |
FROGGS | Woodi: you're welcome | 07:06 | |
07:07
hoelzro joined
|
|||
Woodi | yesterday I read something about LINQ 4 C++ (article was dated 1st this month) but there was links for some older pages. anyway idea is: a) nice; b) weird... | 07:07 | |
07:07
yakudza joined
|
|||
arnsholt | o/ | 07:08 | |
Woodi | there was pseudocode with select/group/other sql-like things used on native array and that was looking usefull | ||
FROGGS | o/+ | ||
-+ | |||
Woodi | hallo arnsholt | ||
Ven | Woodi: I think "Microsoft C++" is pretty horrible, tbh :x | 07:09 | |
FROGGS | I've talked to somebody at the german perl workshop who is interested in querying hashes with sql | ||
arnsholt <3 git | 07:10 | ||
Woodi | but "sql inlined" into main language is weird | ||
07:10
zakharyas joined
|
|||
Woodi | it's from Web 1.0 times :) php or C mixed with SQL construction | 07:11 | |
arnsholt | LINQ is pretty awesome, IMO | ||
Woodi | but it is alien language | 07:12 | |
arnsholt | Since it's actually part of the language, it's properly typed, unlike the stringly typed stuff you end up with in your C/PHP example | ||
Sure, the syntax is a bit funky, but it's just sugar for a normal object-based API under the hood | |||
If you don't like the syntax the functionality is available through method calls as well | 07:13 | ||
Woodi | ok, I just skimmed some examples but it is _other_ language inlined. idea of native operations on data structures has something usefull. I think SQL features should be cherry-picked | 07:14 | |
07:16
rurban joined
|
|||
Woodi | and jnthn idea of anti-sql-injections (and other mini languages) via grammar approach looked interesting too. but active records/data sources are nice. I think that ways can be merged somehow | 07:20 | |
FROGGS | Woodi: inlined SQL has the benefit that you would have compile time checking of the sql syntax | 07:21 | |
Woodi | with "prepare", yes | 07:22 | |
07:23
brrt joined
|
|||
arnsholt | With prepare, it's still run-time. With something like LINQ your program won't even compile if there's a mismatch in your "SQL" | 07:25 | |
FROGGS | WAT | 07:26 | |
jnthn++ is younger than me?? | |||
Woodi | I think it prepare and linq is same functionality... you need supply some user names etc at runtime | ||
FROGGS | what is wrong with this world?? | ||
I almost accepted that mst is, but now jnthn? | |||
>.< | |||
Woodi | but linq is safer probably | 07:27 | |
and lizmat was thinking about native-looking arrays with concurrent access, if I understand correctly... on the other hand you sometimes can partition work/matrix parts on threads and then locking is unnecesary. no free lunch, as jnthn++ said, but looking/dreaming for something ideal have bright sides :) | 07:31 | ||
dalek | kudo/nom: 1bc429c | (Tobias Leich)++ | src/Perl6/World.nqp: prevent calling getstaticcode on something NQPMu-ish On MoarVM we get away with checking for isnull, but this is not enough for JVM. This unbusts SVG::Plot and Pod::To::HTML. The error is triggered when we apply a trait to a sub or an Attribute and the module gets precompiled. |
07:44 | |
FROGGS | jnthn: sadly, URI is still broken (the lexical access thingy): gist.github.com/FROGGS/0ea5537eb675588baaa2 | 07:45 | |
07:46
rurban1 joined
07:50
dmol joined
07:51
rurban1 left,
AW3i joined
|
|||
lizmat | FROGGS: about that younger thing? I have that all the time | 07:53 | |
FROGGS | lizmat: yes, but... | ||
lizmat | :-) | 07:54 | |
07:54
kaare__ is now known as kaare_
|
|||
lizmat | I've been thinking about the sleep sort thing | 07:54 | |
where we would want to have a list of promises be returned in the order that they're kept/broken | 07:55 | ||
it feels to me that we would either want to change such a list of promises to a channel, or to a lazy list | |||
so I was wondering how this would work: | 07:57 | ||
*could | |||
07:57
rurban1 joined
|
|||
lizmat | (^10).pick(*),map( { start { sleep $_; $_ } } ).list | 07:57 | |
aka, can we create a MMD candidate with a signature of Array of Promise ? | 07:58 | ||
07:58
virtualsue joined
|
|||
FROGGS | I am unable to reply because I do not even touch the surface of this topic | 07:58 | |
lizmat | without actually needing to create the array | ||
07:59
hummeleB1 joined
08:01
rurban2 joined,
rurban1 left
|
|||
lizmat | m: my @a = gather for (^10).pick(*) {.take}; say @a # works nicely | 08:28 | |
camelia | rakudo-moar e87281: OUTPUT«8 3 6 0 4 7 9 1 5 2» | ||
lizmat | m: my @a = gather for (^5).pick(*) { start { sleep $_; .say; .take } }; sleep 6; say @a # but this doesn't ? | 08:29 | |
camelia | rakudo-moar e87281: OUTPUT«(signal ABRT)01234» | ||
lizmat | m: my @a = gather for (^3).pick(*) { start { sleep $_; .say; .take } }; sleep 3; say @a # but this doesn't ? | ||
camelia | rakudo-moar e87281: OUTPUT«(signal ABRT)012» | ||
lizmat | afk& | ||
08:31
dakkar joined
|
|||
timotimo | o/ | 08:35 | |
08:36
rurban2 left
09:07
AW3i left
09:12
FROGGS left
09:26
FROGGS joined
09:29
kurahaupo joined
|
|||
sergot | hey o/ ! | 09:31 | |
09:32
rurban1 joined
|
|||
FROGGS | hey | 09:32 | |
09:36
rurban1 left
09:43
AW3i joined
|
|||
timotimo | nqp: class Foobar { }; class Foo is Foobar { }; say(nqp::istype(Foo, Foobar)); | 10:07 | |
camelia | nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«1» | ||
10:10
aborazmeh joined
|
|||
sergot | #perl6: I work on a summary of VMs for Perl 6, I want to write a big presentation about this and I need your help! Could you fill this poll: gist.github.com/sergot/9951466 ? | 10:14 | |
I'd probably extend this poll in the nearest future, but I'll be awesome if you fill it anyway. | 10:15 | ||
FROGGS | sergot: #3 asks about a single VM... is that intentional | 10:16 | |
? | |||
sergot | FROGGS++: oh, my fault, thanks! | 10:17 | |
fixed | 10:18 | ||
FROGGS | what do you mean by VM btw? do you really mean the thing underneath the compiler? | 10:21 | |
sergot | I just need some information about VMs like Parrot, Jvm, Moar. | 10:22 | |
FROGGS | k | ||
sergot | I noticed that Moar is the fastest one, I need information about this too. | 10:23 | |
etc. | |||
:) | |||
timotimo forks the gist and fills it in | |||
sergot | timotimo++ thanks! :) | ||
Generally I want to do a big comparison of VMs, that's why I need those information. | 10:25 | ||
10:41
xinming__ left,
xinming_ joined
10:42
SamuraiJack__ joined
|
|||
FROGGS | I commented | 10:46 | |
10:47
bjz left,
bjz joined
10:49
bjz_ joined
10:53
bjz left
|
|||
timotimo | gist.github.com/timo/9952041 ← sergot | 10:53 | |
Ven | "good: it runs everywhere, even on coffeemachines" you did your job FROGGS | 10:54 | |
sergot | FROGGS++ thanks | 10:59 | |
timotimo++ thanks | |||
Ven | IO ~~ :e is for `exists`, right? | 11:01 | |
timotimo | aye | ||
Ven | I'm happy to have gotten an interest about Perl6 only now, because the project seems to be almost mature enough now (and will look "usable" to most people in 1 or 2 years) :) | 11:04 | |
"MoarVM: A metamodel-focused runtime for NQP and Rakudo (YAPC::EU 2013) (Slides)" That was the moarvm announcement ? | |||
FROGGS | Ven: it was announced on the sunday before the YAPC::NA | 11:05 | |
11:21
SamuraiJack__ left
11:23
AW3i left
11:26
rindolf joined
11:27
yakudza left
11:32
yakudza joined
11:33
rurban1 joined
|
|||
arnsholt | Yeah, I remember sitting in the hackathon room that day while scanning my inbox and suddenly going WAAAAAAAT | 11:37 | |
FROGGS | yeah :o) | ||
been there, done that | |||
11:38
rurban1 left
|
|||
Ven | I await for the perl6 conference in france/paris then ;) | 11:39 | |
FROGGS | my first impression was: ohh no, not another vm from scratch again | 11:40 | |
but well, it turned out be the best thing that could happen to perl6 | 11:41 | ||
Ven | Just wait for Perl6 on the BEAM ;) | 11:42 | |
("that's why they're all talking about actors !") | 11:43 | ||
FROGGS | I am not going to wait for anything :o) | 11:45 | |
Ven | You're going to be an actor anyway ! | 11:46 | |
FROGGS | hehe | ||
11:48
AW3i joined
11:49
LLamaRider joined
12:06
pecastro left
12:10
logie__ joined,
logie left
12:16
pecastro joined
12:21
denisboyun joined
|
|||
dalek | p/execname: 7970930 | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp: implement op execname which returns ARGV[0] This will only get useful when we provide a proper binary for nqp-m and perl6-m |
12:21 | |
LLamaRider | what was the command to shuffle an array? | 12:23 | |
FROGGS | pick? | 12:24 | |
arnsholt | r: @a = [1, 2, 3, 4, 5]; say @a.pick: * # IIRC | 12:25 | |
12:25
lustlife1 joined
|
|||
camelia | rakudo-jvm 1bc429: OUTPUT«(timeout)» | 12:25 | |
..rakudo-parrot 1bc429, rakudo-moar 1bc429: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileVariable '@a' is not declaredat /tmp/tmpfile:1------> @a⏏ = [1, 2, 3, 4, 5]; say @a.pick: * # IIR expecting any of: postfix» | |||
arnsholt | r: my @a = [1, 2, 3, 4, 5]; say @a.pick: * # IIRC | ||
Durr | |||
camelia | rakudo-parrot 1bc429, rakudo-jvm 1bc429, rakudo-moar 1bc429: OUTPUT«1 2 3 4 5» | ||
LLamaRider | pick gives you one, i was looking for something like @a.shuffle that gives me a new array with all elements jumbled up | 12:26 | |
sergot | r: my @a = [1, 2, 3, 4, 5]; say @a.roll: * | ||
12:27
lustlife left
|
|||
LLamaRider | what does the ": *" syntax mean? | 12:27 | |
camelia | rakudo-parrot 1bc429, rakudo-jvm 1bc429, rakudo-moar 1bc429: OUTPUT«(timeout)» | ||
arnsholt | Here we go: | ||
r: my @a = (1, 2, 3, 4, 5); say @a.pick(*) | |||
sergot | : my @a = <1, 2, 3, 4, 5>; say @a.pick: *; | ||
arnsholt | It's the whatever star | ||
camelia | rakudo-parrot 1bc429: OUTPUT«4 1 2 5 3» | ||
..rakudo-moar 1bc429: OUTPUT«3 5 2 1 4» | |||
..rakudo-jvm 1bc429: OUTPUT«2 1 3 5 4» | |||
LLamaRider | r: (^10).pick(*).say; | ||
camelia | rakudo-moar 1bc429: OUTPUT«6 8 7 1 0 3 4 2 9 5» | 12:28 | |
..rakudo-parrot 1bc429: OUTPUT«5 0 8 7 9 3 6 1 2 4» | |||
..rakudo-jvm 1bc429: OUTPUT«7 5 2 6 9 0 8 4 1 3» | |||
LLamaRider | got it! | ||
arnsholt | .pick takes an optional argument saying how many times you want to pick. Whatever star means all of the elements | ||
yoleaux | arnsholt: You must provide at least two options. | ||
LLamaRider | arnsholt++ I see, thanks | ||
arnsholt | And .roll does the same, but .roll is with replacement, so you can get the same element several times | 12:29 | |
12:30
pdcawley left
|
|||
LLamaRider | So I tried '(^10000).pick(*).sort;' . It took 14 seconds in MoarVM :/ | 12:30 | |
I guess I should give the core team time to do optimizations | 12:31 | ||
FROGGS | LLamaRider: how long does that take on Perl 5? | ||
LLamaRider | FROGGS: Let me write it in P5, | ||
will get back to you | |||
FROGGS | thanks | ||
12:34
rurban1 joined
|
|||
LLamaRider | 0.02 seconds | 12:34 | |
arnsholt | time perl -MList::Util -E 'sort shuffle(1..9999)' takes 0.012s on my machine | ||
LLamaRider | arnsholt: that's almost exactly the program i am running here too | ||
lizmat | $ time perl6 -e '(^10000).pick(*)' | 12:35 | |
real0m0.971s | |||
$ time perl6 -e '(^10000).pick(*).sort' | |||
real0m12.024s | |||
so it's really the .sort being slow, not the pick(*) | |||
arnsholt | I wonder why sort is so slow | 12:36 | |
lizmat | compared to each other, not to perl5 :-) | ||
FROGGS | perl6-p is even slower | 12:37 | |
41.8s | |||
arnsholt | Is our sort implemented in Perl 6, perhaps? | ||
12:37
rurban2 joined
|
|||
lizmat | yes, in src/core/List.pm | 12:38 | |
it first builds a list of values to sort by | 12:39 | ||
then sorts those with nqp::p6sort | |||
and then slices the list with the ordered indexes | |||
arnsholt | Oh. In that case, I'm guessing it's the slice being slow | 12:40 | |
lizmat | could well be | 12:41 | |
12:41
rurban1 left,
xenoterracide joined
|
|||
lizmat | nope | 12:42 | |
$ time perl6 -e 'my @a = (^10000)' | |||
real0m0.309s | |||
$ time perl6 -e 'my @a = (^10000); @a[^10000]' | |||
real0m0.518s | |||
12:42
SamuraiJack__ joined
|
|||
Woodi | sorting native type values could be optimized to native sorter... | 12:44 | |
C++ templates comes to mind :) j/k badly ! | 12:45 | ||
arnsholt | Oh, p6sort takes a closure argument. It could just be the invocation overhead of invoking the lambda O(n log n) times | ||
retupmoca | moar precompilation bugs: gist.github.com/retupmoca/9953591 | ||
lizmat | arnsholt: that seems like a good explanation to me | 12:46 | |
retupmoca | I now have two of my modules being broken by that bug :/ | ||
(when compiled, anyway) | 12:47 | ||
dalek | osystem: df9dfb7 | (Andrew Egeler)++ | META.list: Add Net::DNS Simple DNS resolver. Needs refactoring work, better tests, and more DNS query/response types, but it's a start! |
12:48 | |
LLamaRider | Dream: all ground P6 operations should be crazy fast, as near to C speed as possible | ||
and sort is maybe one of the most obvious ones | 12:49 | ||
but i also remember reading P6 is not in a stage of optimizing the interpreter yet, so i'll give it a rest for now | |||
12:55
kbaker_ joined
|
|||
FROGGS | LLamaRider: look at #moarvm and at GSoC, there is progress | 12:56 | |
but on the other hand, optimizing precomp bugs that not only retupmoca++ has, is not very helpful | 12:57 | ||
12:58
a3gis joined
13:00
pdcawley joined,
AW3i left
|
|||
Woodi | LLamaRider: probably we should stop to comparing scripting languages to C/C++ . until operations on native types will be _native_. for now that are just two different classes of languages benchmarksgame.alioth.debian.org/u6...;data=u64q | 13:05 | |
btw. do "compilation" means: no any jit required ? | 13:07 | ||
LLamaRider | Woodi: I am aware of that benchmark, we even discussed it with some colleagues recently. | 13:11 | |
We kind of had the feeling 10x-30x slower than C is the acceptable range for a scripting language | 13:12 | ||
Woodi | I will be happy with 1% better then perl5 or python :) | ||
maybe not happy but content :) | 13:13 | ||
LLamaRider | I would be content with that too, I am using P5 for production already and it's doing great for my nature of work | ||
13:15
a3gis left
|
|||
colomon | retupmoca++ # I'm seeing the same moar precomp bug in ABC | 13:16 | |
Woodi | LLamaRider: scripting/interpreted languages are good for moust cases. but when company have no money to buy more servers and is starting to cut costs by firing employes then hell gates opens for humans there and you can start to disliking all unnesesary 'interpretations' of native values... then eg. html pages done by plain C programs could help... | 13:19 | |
lizmat | If a company does not have enough money to buy more servers, and starts firing personnel, get the hell out of there | 13:23 | |
it only means that the company values hardware over people, and that's never good | |||
the people of a company should be its greatest asset | |||
13:23
bjz_ left
13:24
bjz joined,
AW3i joined
|
|||
retupmoca | colomon: I've filed a bug at github.com/MoarVM/MoarVM/issues/88 for the time being | 13:24 | |
dalek | kudo/nom: 09fbdc7 | (Elizabeth Mattijsen)++ | src/Perl6/Actions.nqp: Remove unneeded extra level of if |
13:25 | |
retupmoca | I don't know if it's moarvm-level, but hopefully that will start a discussion about it at least | ||
sergot | r: pir::time__N() | 13:34 | |
camelia | rakudo-jvm 1bc429: OUTPUT«(timeout)» | ||
( no output ) | |||
..rakudo-moar 1bc429: OUTPUT«===SORRY!===Error while compiling op call: To compile on the MoarVM backend, QAST::VM must have an alternative 'moar' or 'moarop'» | |||
sergot | How can I execute time__N without vm dependency? | ||
withour pir::, moar:: etc. | |||
without' | 13:35 | ||
moritz | r: say nqp::time_n() | 13:39 | |
camelia | rakudo-moar 1bc429: OUTPUT«1396532359.87163» | ||
..rakudo-jvm 1bc429: OUTPUT«1.39653235921E9» | |||
..rakudo-parrot 1bc429: OUTPUT«1396532348.73757» | |||
moritz | sergot: ^^ | ||
13:40
rurban2 left
13:41
rurban left
|
|||
[Coke] | lizmat++ | 13:41 | |
Woodi | hmm, nqp and rakudo installs into parrot subdirs. same case with moarvm ? | 13:42 | |
13:43
kaare_ left
13:44
a3gis joined
13:45
SamuraiJack__ left
|
|||
lizmat | m: winner * { done (Promise.new,Promise.new) {...} } | 13:47 | |
camelia | rakudo-moar 1bc429: OUTPUT«Type check failed in assignment to '&block'; expected 'Callable' but got 'Promise' in method STORE at src/gen/m-CORE.setting:7092 in block at src/gen/m-CORE.setting:18481 in sub WINNER at src/gen/m-CORE.setting:18476 in block at /tmp/lTOg…» | ||
13:48
bluescreen10 joined
|
|||
sergot | moritz++: thanks! :) | 13:48 | |
lizmat | jnthn: I think the above is caused by improper AST setup in src/Perl6/Actions.nqp, line 1369 and following | ||
actually it's line 1371, I guess, as that sets up the Promise instead of a Callable in the call to WINNER | 13:49 | ||
13:50
grondilu joined
13:52
rurban joined
|
|||
Woodi | I have 'moar' binary location in patch but nqp configure couldn't find it... | 13:58 | |
lizmat | jnthn: or maybe I should adapt WINNER to handle the list of Promises case ? | ||
retupmoca | Woodi: it looks for the moar binary in $PREFIX/bin IIRC | ||
Woodi | retupmoca: but I installed parrot and moar in other locations and prefix can point onlyto one :) | 13:59 | |
13:59
jnap joined
|
|||
retupmoca | I think they need to be in the same prefix for nqp. Not sure if you can cheat with 'ln -s' or somesuch | 14:00 | |
Woodi | I already have some environment polluted with lots of symlinks :) I install packages to some subdirs and then everything is linked to some standard prefix. must see how it will go with more backends then one | 14:04 | |
looks 'nqp-x' naming helped | 14:06 | ||
14:06
AW3i left
|
|||
Woodi | but: perl Configure.pl --backend=parrot worked without --prefix | 14:08 | |
14:11
[Sno] left
|
|||
FROGGS | there is a default prefix | 14:11 | |
but yeah, I bet there are a few issues we need to address, not only the directory structure which is put into PEFIX | 14:12 | ||
PREFIX* | |||
Woodi | I installed backends to /some/dir/backend-2014.03 then linked to /opt prefix and nqp detected parrot without problem. do --prefix for nqp means just: put nqp-x there or something more ? | 14:15 | |
probably I need something like: --parrotlocation= and --moarvmlocation | 14:20 | ||
FROGGS | it puts nqp + modules + libs + headers + docs there | ||
dalek | kudo-star-daily: 7474dc2 | coke++ | log/ (5 files): today (automated commit) |
||
Woodi | so only one backend installed at once is allowed ? | 14:21 | |
no, probably it's just in my /opt links case... | 14:23 | ||
14:23
dwarring left
|
|||
FROGGS | I always install all three backends to nqp/install | 14:25 | |
and that works well | |||
[Coke] | if I add the repository's sha, is it preferred to put it in the .csv ? | 14:28 | |
er, for perl6-roast-data | |||
14:28
hoverboard joined
|
|||
Ven | `CATCH` is basically `given $!`, when I think about it ? | 14:29 | |
FROGGS | [Coke]: in the MODULES.txt? | 14:31 | |
14:32
thou joined
|
|||
FROGGS | I think you have to | 14:32 | |
lizmat | jnthn: the problem is actually in line 1370 in src/Perl6/Actions.nqp | 14:34 | |
in the case of "done @p", it seems it pushes all elements of @p as a list, not as an item | 14:35 | ||
this causing it to take the wrong element for the block in WINNER, src/core/asyncops.pm line 48 | 14:36 | ||
so it would seem that we would need to itemize in 1370, and then handle multiple promises in WINNER | 14:37 | ||
14:37
bluescreen100 joined
|
|||
lizmat | the latter I can do, the former I'm not sure what to do | 14:37 | |
away for a few hours& | |||
Ven | but `given` should `my`, uh | ||
r: given 5 { .say; given 1 { .say; }; .say; } | |||
[Coke] | FROGGS: there is no modules text in the perl6-roast-data. | ||
camelia | rakudo-jvm 1bc429: OUTPUT«(timeout)» | 14:38 | |
..rakudo-parrot 1bc429, rakudo-moar 1bc429: OUTPUT«515» | |||
Ven | Why does the JVM Timeouts ?! | ||
FROGGS | [Coke]: ahh, I was thinking about star for some reason | ||
Ven | r-j: say "alive" | 14:39 | |
FROGGS | [Coke]: but yeah, I think it makes sense to know which version was smoked | ||
camelia | rakudo-jvm 1bc429: OUTPUT«(timeout)» | ||
[Coke] | I'm looking at code now wondering "how has this worked for the past few months..." | ||
14:40
bluescreen10 left,
camelia left
14:41
camelia joined
|
|||
FROGGS | j: say "alive" # the first one will take minutes | 14:41 | |
Ven | r-j: say "alive" | ||
I'll get you one day, FROGGS | |||
14:42
aborazmeh left,
ChanServ sets mode: +v camelia
|
|||
camelia | rakudo-jvm 1bc429: OUTPUT«(timeout)» | 14:42 | |
Ven | m: say 1 | ||
camelia | rakudo-moar 1bc429: OUTPUT«1» | ||
Ven | Basically, `try` swallows any exception unless it has a `CATCH` block in it that doesn't catch the exception ? | ||
Or will it swallow a non-catched exception for a later `CATCH` block ? | |||
14:45
xfix left,
TurkmIRC87578 joined
14:47
TurkmIRC87578 left
|
|||
FROGGS | j: say 1 | 14:49 | |
camelia | rakudo-jvm 1bc429: OUTPUT«(timeout)» | ||
FROGGS | :o( | ||
14:51
treehug88 joined
14:56
mmachenry joined
|
|||
moritz | j: say 1 | 14:56 | |
14:57
salv0 left
|
|||
camelia | rakudo-jvm 1bc429: OUTPUT«(timeout)» | 14:57 | |
14:57
salv0 joined,
btyler joined
14:59
mmachenry left
15:00
kaare_ joined
|
|||
Ven | `CHECK say now - BEGIN now; ` What is this supposed to do ? | 15:01 | |
15:02
xfix joined
|
|||
Ven | I get that BEGIN now will be calculated when entering the scope, but what's CHECK ? | 15:02 | |
Can I do `LEAVE say now - BEGIN now;` in a function ? | |||
r: sub a { LEAVE say now - BEGIN now; say "hello"; for ^500 {}; }; a(); | 15:03 | ||
camelia | rakudo-jvm 1bc429: OUTPUT«hello0.958» | ||
..rakudo-parrot 1bc429: OUTPUT«hello0.22373523» | |||
..rakudo-moar 1bc429: OUTPUT«hello0.08899836» | |||
Ven | You can see how much faster moar is .. | ||
[Coke] | ok, just adding "impl sha1" to the end of the CSV. | 15:04 | |
(because re-ordering the columns is a PITA) | 15:05 | ||
should start showing up tomorrow. | |||
was it lue++ who originally asked for that? | 15:06 | ||
15:08
a3gis left
15:09
bluescreen100 left,
bluescreen100 joined
|
|||
jnthn | o/, #perl6 | 15:10 | |
retupmoca | \o | 15:12 | |
15:12
LLamaRider left
|
|||
jnthn is done with teaching for the day :) | 15:12 | ||
15:18
rindolf left
15:20
denisboyun left
15:23
kurahaupo left
|
|||
nwc10 | jnthn: time to rehydrate? :-) | 15:26 | |
hoelzro | ahoy #perl6! | 15:28 | |
jnthn | nwc10: yeah, kinda debating where to do that | 15:29 | |
nwc10 | in a place that also sells food? :-) | ||
moritz | oh hai | 15:30 | |
jnthn | I could go over the sea to the main bit of the city, and find $interesting_bar, but I woke up with a sore foot and then stood on it teaching all day, so the hotel bar (which I believe has some decent things to drink, and nice food) is a tempting option :) | ||
moritz | question for the linguists: are there puns in all human languages? | ||
jnthn | I don't happun to know the answer | 15:31 | |
moritz | jnthn: I knew there were puns in English, thank you very much :-) | 15:32 | |
15:34
brrt left
15:38
zakharyas left
15:39
kaleem left
15:40
jnap1 joined,
jnap left,
fhelmberger left
15:48
kurahaupo joined
16:09
denis_boyun joined
16:13
jnap1 left,
jnap joined
|
|||
Ulti | moritz find it hard to imagine a pun in a click language... | 16:15 | |
geekosaur | don't see why | 16:16 | |
[Coke] | wow, I have access to another perl bug queue that has 10 year old tickets. | 16:19 | |
nwc10 | perl5? | ||
[Coke] | (and is not perl5) | ||
nwc10 | qsmtpd? | ||
Ulti | geekosaur because the sounds are kind of more discrete and harder to confuse | ||
[Coke] | aye. | ||
qpsmtpd, whoops. | |||
dalek | rl6-roast-data: 297be1b | coke++ | / (2 files): Add the sha1 of the implementation used to test |
16:22 | |
[Coke] | I'll do a fixup on today's commit to make sure the sha1s are there going forward. also, I have no idea how the sha1s were working for the past few months on the roast repo. | 16:31 | |
16:35
isBEKaml joined
16:49
hoverboard left,
rindolf joined
16:54
guru joined,
[Sno] joined,
guru is now known as Guest49731,
Guest49731 is now known as ajr_
17:00
isBEKaml left
17:01
dakkar left
|
|||
retupmoca | timotimo, *: Imlib2 now builds with this PR applied: github.com/mrhdias/perl6-Imlib2/pull/3 | 17:13 | |
17:13
virtualsue left
|
|||
retupmoca | some tests fail, but most seem to pass | 17:13 | |
17:27
SamuraiJack__ joined,
kaleem joined,
isBEKaml joined
17:32
hoverboard joined
17:38
hoverboard left
|
|||
timotimo | \o/ | 17:44 | |
for the moment, i only really need to open an image file and get the pixel values | 17:45 | ||
retupmoca | I don't recall offhand which tests were failing, but I *think* that part tested fine | 17:47 | |
timotimo | great | ||
i'm focusing on moarvm bytecode specializing for the moment, though | |||
retupmoca | yes, I'm very excited to see that hit master | 17:48 | |
Ven | ( timotimo, what's that ? ) | 17:50 | |
timotimo | the bytecode specializer? | 17:51 | |
well, when moarvm considers a piece of bytecode belonging to one particular callsite "hot", it will now use information gathered from the callsite (at run time) to create better bytecode for this particular callsite | 17:53 | ||
jnthn already implemented a cache to speed up method lookups if the given type of an argument doesn't change often as well as removing decontainerize operations if it's known that the passed value is already decont'd | 17:54 | ||
and he also made an optimization to remove checks for argument counts if the callsite "knows" the amount is correct | 17:55 | ||
i extended this argument count check thing to also cover optional arguments and now i'm working on making "istype" extremely cheap for specialized routines/methods | |||
17:57
kurahaupo left
17:58
a3gis joined
17:59
xfix left
18:01
xinming__ joined
|
|||
timotimo | sadly, the spectest suite revealed that the bytecode specializer currently causes trigonometry to no longer work | 18:03 | |
benabik | tests++ | ||
18:04
xinming_ left
18:06
xfix joined
18:08
isBEKaml left
18:12
jnap left
|
|||
moritz | colomon | 18:13 | |
erm | |||
colomon++ # writing most trig tests | |||
timotimo: do you have any numbers on the speedup? | 18:14 | ||
nwc10 | right now, #11912 :-) | 18:16 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=11912 | ||
18:18
kaleem left,
jnap joined
|
|||
timotimo | moritz: at the moment we specialize after 10 calls, so we end up doing much, much, much more specializing work than would actually pay off | 18:28 | |
moritz | timotimo: but of course it's easier to test if you specialize more often | 18:29 | |
timotimo | exactly | 18:31 | |
how do i use valgrind's profiler again? | 18:32 | ||
18:34
hummeleB1 left
|
|||
timotimo | ah | 18:34 | |
there i go | |||
i can't open the file valgrind puts out o_O | 18:37 | ||
ah, it's empty | |||
... what? | |||
oh, duh | |||
forgot that perl6-m is a shell script | 18:38 | ||
it seems like time spent in the specializer is not that big | 18:39 | ||
maybe i'll just do a benchmark run and see where it leads | 18:40 | ||
18:45
SamuraiJack__ left
|
|||
lizmat | r: sub a { for ^10 { return "foo" if $_ == 9 } }; say a | 18:50 | |
camelia | rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«foo» | 18:51 | |
18:51
rurban_ joined
|
|||
lizmat is just checking whether return from a sub from within a loop could be a problem | 18:51 | ||
timotimo | r: sub a { for ^10 { return "foo" when 9 } }; say a | ||
camelia | rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«foo» | ||
timotimo | ^ shorter :P | ||
lizmat | true, but not the point :-) | ||
looking at WINNER and wondering why things are set up the way they are | |||
lizmat is going to refactor that and hopefully fix winner * { done @p { ... } } on the fly | 18:52 | ||
jnthn | lizmat: (return from within a loop) only if you do something to make the loop lazy | ||
lizmat | ok, I don't think we have any lazy loops inside WINNER | 18:53 | |
specifically trying to get rid of $action = {...}; last } $action() | 18:54 | ||
18:54
bluescreen100 left
|
|||
timotimo | that was for some reason | 18:54 | |
18:54
bluescreen10 joined
|
|||
timotimo | i made that mistake :) | 18:54 | |
18:55
thou left
|
|||
lizmat | ok, lemme see if I can recover that reason :-) | 18:55 | |
jnthn | The specializer is relatively fast at what it does | ||
But yes, we need more data to tweak the threshold | 18:56 | ||
And it wants to be proportional to code size | |||
18:57
btyler left
18:59
btyler joined
|
|||
jnthn | lizmat: I think issue is last not being properly lexotic so if $action does a last it terminates le loop. | 19:03 | |
lizmat | but if the loop would live inside a sub, then we could just return out of it, no ? | 19:04 | |
and simplify the logic in the loop | |||
arnsholt | jnthn: Did you see the sort() slowness in the scrollback? Looks like the invoking the callback argument to p6sort is pretty expensive | 19:06 | |
jnthn | arnsholt: It *may* be that, but I think it's also because sort does...uh...a few things oddly | 19:07 | |
Like, projecting out the indicses, sorting those, then slicing | |||
Which is way too much work to be doing. | |||
lizmat | yeah, why? | ||
arnsholt | Yeah, I was a bit surprised that was what it did, but assumed there was a good reason for it | ||
lizmat | as did I | 19:08 | |
jnthn | There's no good reason at all on JVM and Moar | ||
lizmat | aha, a parrot leftover then | ||
jnthn | It's a Parrot hangover; it was a way you could use RPA's .sort | ||
lizmat | but if we change it, will it break parrot? | ||
arnsholt | Ooooooh, right | ||
jnthn | lizmat: Yeah but #?if parrot... :) | ||
lizmat | :-) | ||
timotimo | moritz: running some benchmarks now | 19:09 | |
to see if we can already see a difference in run times | |||
arnsholt | Or we could do the NQP #89 work, and remove all uses of RPA from NQP | ||
jnthn | arnsholt: That doesn't really help us here, though. | ||
arnsholt: Well, I mean, it may, but... | |||
arnsholt: ...it just means we can't use its sort. :) | 19:10 | ||
19:10
darutoko left
|
|||
jnthn | To be honest, I think there's better ways to use time thatn #89 | 19:10 | |
arnsholt | 'k | ||
Completely unrelated: Whoa, MS open-sourcing large parts of .Net? Did not see that coming | 19:11 | ||
jnthn | I didn't see what license yet | 19:12 | |
moritz | arnsholt: mostly the compiler, not the runtime | ||
jnthn: apache 2.0 | |||
jnthn | But yeah, the Roslyn open source is big news. | ||
moritz: wow, that's, like, decent. :) | |||
moritz | jnthn: aye, not some CDDL or microsoft research license thingy | ||
arnsholt | Yeah, when I saw the headline I assumed it'd be MS's shared source licence or whatever, but Apache is pretty impressive | 19:13 | |
jnthn | One other thing that surprised me is that java.lang.concurrent is in the public domain. | ||
arnsholt | Like, actual open source | ||
jnthn | arnsholt: New CEO for the win, maybe... :) | ||
arnsholt | Perhaps =) | 19:14 | |
vendethiel | timotimo: (WRT bytecode specializer) actually JITing stuff, looks neat | 19:15 | |
timotimo | no, JIT comes later :) | 19:16 | |
jnthn | Well, this is arguably JIT :) | ||
timotimo | er ... i guess | ||
jnthn | Just back to bytecode :) | ||
benabik | What licence is mono? Can they just start importing big chunks of code now? :-) | ||
moritz | jnthn: I think that open sourcing something as big as what MS did takes more time for preparation than the new CEO is in office | ||
jnthn | What's important is, it's doing a lot of the decision making a good JIT would. | ||
19:17
denis_boyun_ joined,
dwarring joined
|
|||
jnthn | moritz: Yeah, I suspect so to... | 19:17 | |
moritz: otoh, vetoing it woulda been quick. | |||
moritz | benabik: wikipedia says "MIT, LGPLv2 and GPLv2" | ||
19:18
denis_boyun left
|
|||
benabik | moritz: I also found mono-project.com/FAQ:_Licensing Turns out the answer depends on which bit of mono. :-[ | 19:18 | |
And it turns out mono already ships a fair amount of MS code. | 19:20 | ||
moritz | .oO( stereo licensing for mono ) |
||
benabik | moritz: And there’s a little bit of X11 license as well. O.o | ||
benabik should probably read up on the CLR. | 19:21 | ||
jnthn | The CLR is fairly nice, overall. | ||
benabik | Mono on OS X hasn’t really been ideal to work with, and I haven’t really wanted to poke too much at MS’s tech. But apparently a lot more of it is open than I had realized. | 19:22 | |
jnthn | benabik: Yeah, it's been gradually opening | ||
benabik | Looks like mono doesn’t need X11 on OS X anymore? | 19:24 | |
tokuhirom | perl6-m -e 'Thread.new(code => { (1..10).say }).run' cause SEGV.. | 19:25 | |
jnthn | tokuhirom: Yes, exit time is poorly handled and explosive at present. | ||
tokuhirom | oh, i see. | 19:26 | |
jnthn | tokuhirom: Will get to it shortly. | ||
tokuhirom | :) | ||
19:26
thou joined
|
|||
jnthn | m: Thread.new(code => { (1..10).say }).run.finish | 19:26 | |
camelia | rakudo-moar 09fbdc: OUTPUT«1..10» | ||
tokuhirom | oh. i should fix my code | 19:27 | |
timotimo | first of two benchmark runs done | 19:31 | |
so probably another 20 minutes until we see results | 19:32 | ||
vendethiel | can I just `shell "abc > myfile"` ? What do I remember another syntax ? | 19:40 | |
19:44
japhb_ left
|
|||
dalek | ast: 83f1c30 | (David Warring [email@hidden.address] | integration/advent2013-day15.t: adding advent 2013 day 15 |
19:46 | |
rl6-roast-data: 0b17734 | coke++ | bin/cull: Fix typo, column placement |
|||
rl6-roast-data: bb66a67 | coke++ | perl6_pass_rates.csv: today (automated commit) |
|||
19:47
ssutch joined
|
|||
[Coke] | ^^ that has the sha1 from the implementation used to run roast. | 19:48 | |
vendethiel | r: say 5..1; | ||
camelia | rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«5..1» | ||
vendethiel | r: say (5..1).list; | ||
camelia | rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«» | ||
[Coke] | huh. github.com/coke/perl6-roast-data/b..._rates.csv isn't showing them. | 19:49 | |
vendethiel: say (1..5).reverse | |||
m: say (1..5).reverse | |||
camelia | rakudo-moar 09fbdc: OUTPUT«5 4 3 2 1» | ||
vendethiel | [Coke]: thanks. Kinda "surprising" | ||
[Coke] | m: say 5,4,...1 | ||
camelia | rakudo-moar 09fbdc: OUTPUT«===SORRY!=== Error while compiling /tmp/CyLX2OMKG3Comma found before apparent series operator; please remove comma (or put parens around the ... listop, or use 'fail' instead of ...)at /tmp/CyLX2OMKG3:1------> say 5,4,…» | ||
[Coke] | m: say 5,4...1 | ||
camelia | rakudo-moar 09fbdc: OUTPUT«5 4 3 2 1» | ||
vendethiel | yep | 19:50 | |
r: say (^5).reverse | |||
19:50
japhb_ joined
|
|||
camelia | rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«4 3 2 1 0» | 19:50 | |
19:50
ssutch left
|
|||
vendethiel | r: say (^5).map: {*+1}.reverse | 19:50 | |
camelia | rakudo-parrot 09fbdc: OUTPUT«No such method 'count' for invocant of type 'List' in method reify at gen/parrot/CORE.setting:7466 in method reify at gen/parrot/CORE.setting:7381 in method reify at gen/parrot/CORE.setting:7381 in method reify at gen/parrot/CORE.setting:…» | ||
..rakudo-moar 09fbdc: OUTPUT«No such method 'count' for invocant of type 'List' in method reify at src/gen/m-CORE.setting:7521 in method reify at src/gen/m-CORE.setting:7432 in method reify at src/gen/m-CORE.setting:7432 in method reify at src/gen/m-CORE.setting:7432…» | |||
..rakudo-jvm 09fbdc: OUTPUT«No such method 'count' for invocant of type 'List' in method reify at gen/jvm/CORE.setting:7462 in method reify at gen/jvm/CORE.setting:7373 in method reify at gen/jvm/CORE.setting:7373 in method reify at gen/jvm/CORE.setting:7373 in met…» | |||
vendethiel | r: say (^5).map({*+1}).reverse | ||
camelia | rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«WhateverCode.new() WhateverCode.new() WhateverCode.new() WhateverCode.new() WhateverCode.new()» | ||
vendethiel | r: say (^5).map({$_+1}).reverse | ||
camelia | rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«5 4 3 2 1» | ||
vendethiel | WHAT DO YOU WANT FROM ME :( | 19:51 | |
jnthn | .map(*+1) :) | ||
vendethiel | {*+1} is like {{$_+1}} ? | 19:53 | |
jnthn | Right. | ||
timotimo | the performance different is tiny, but visible | 19:59 | |
and i'm not sure in which direction it points %) | |||
jnthn | We're a bit of work off having it smart enough to really get wins, I think. | 20:01 | |
I measured a small one already in a few informal bits of testing. | |||
20:03
rindolf left
|
|||
vendethiel | r: shell "say $_" for ^5. | 20:07 | |
r: shell "say $_" for ^5; | |||
camelia | rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileConfusedat /tmp/tmpfile:1------> shell "say $_" for ^5.⏏<EOL> expecting any of: postfix dotty …» | ||
( no output ) | |||
..rakudo-parrot 09fbdc, rakudo-moar 09fbdc: OUTPUT«shell is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting:2 in sub shell at src/RESTRICTED.setting:7 in block at /tmp/tmpfile:1» | |||
vendethiel | jvm isn't restricting shell ?! | ||
PerlJam | maybe it is, but it's not telling you :) | 20:08 | |
vendethiel | Sneaky | ||
20:11
rindolf joined
|
|||
benabik | r-j: say shell ‘echo oops’ | 20:17 | |
camelia | rakudo-jvm 09fbdc: OUTPUT«===SORRY!=== Error while compiling /tmp/7h4YwS1Ws2Two terms in a rowat /tmp/7h4YwS1Ws2:1------> say shell ⏏‘echo oops’ expecting any of: argument list prefix or term pre…» | ||
benabik | Bah. | ||
vendethiel | r-j: say shell "echo oops" | ||
camelia | rakudo-jvm 09fbdc: OUTPUT«Proc::Status.new(exit => 0, pid => Any, signal => 0)» | ||
vendethiel | r-j: say shell "ls" | 20:18 | |
camelia | rakudo-jvm 09fbdc: OUTPUT«Proc::Status.new(exit => 0, pid => Any, signal => 0)» | ||
vendethiel | doesn't look good anyway. FROGGS ? | ||
moritz | pleaes don't do anything to break rakudo-jvm on camelia | ||
vendethiel | I was there :P | ||
FROGGS | hmmm, I dunno why that says exit 0 :/ | 20:19 | |
vendethiel | 'cause that worked :p ? | ||
FROGGS | :o) | ||
I hope not | |||
vendethiel | try it. | ||
better to see if it's a real problem when you can control it | 20:20 | ||
moritz | it's a limitation of the evalserver setup that camelia uses for perl6-j | ||
FROGGS | vendethiel: yeah, perhaps try it locally | 20:21 | |
perl6-j -e 'say shell "echo oops"' | 20:22 | ||
oops | |||
Proc::Status.new(exit => 0, pid => Any, signal => 0) | |||
20:36
ssutch joined
|
|||
timotimo | gist.github.com/timo/96786ad28c974fdaa9d9 \o/ | 20:44 | |
vendethiel | timotimo++ | 20:48 | |
[Coke] | ok. the *CSV has the number, but have to scroll to the right to see the sha1s once it is done rendering. | ||
I will switch this and make the notes the last field, and the sha1 the second to last, so for the common case, no scrolling. | |||
but for now, you can click and hit the -> key | |||
20:50
colomon left
20:51
colomon joined
20:53
hoverboard joined
|
|||
dwarring | masak: I've changed eval(...) => EVAL(...) perl6advent.wordpress.com/2013/12/1...ting-them/ | 21:04 | |
21:07
vendethiel left,
vendethiel joined
21:10
colomon left
21:12
vendethiel left
21:13
vendethiel joined
21:18
kaare_ left
21:21
treehug88 left
|
|||
[Coke] | moritz: pcre-config on host07 - not installed. any idea how to see what version of pcre is installed there? | 21:25 | |
(and how to make sure it has UTF support?) | |||
geekosaur | look for libpcre.so.* | 21:26 | |
21:26
grondilu left
|
|||
geekosaur | (pcre-config would only be installed with a devel package on most linuxes) | 21:26 | |
21:26
kbaker_ left
|
|||
[Coke] | /usr/lib/x86_64-linux-gnu/libpcreposix.so.3.13.1 | 21:27 | |
segomos | old | ||
[Coke] | .ask moritz if we can get a recent pcre on host07 with UTF support to try to fix Pugs. Thanks! | 21:29 | |
yoleaux | [Coke]: I'll pass your message to moritz. | ||
lizmat | r: sub a (*@a) { @a.push: "foo"; say @a }; a <a b> # this feels wrong | 21:38 | |
camelia | rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«a b foo» | ||
lizmat | should we mark *@a as "is copy" for .push to work on it without problems? | ||
jnthn | lizmat: No, I think it's fine - it's "your" array really | 21:39 | |
lizmat | ok, just wondering | 21:41 | |
I mean, for scalar we must mark them as "is copy", and their "mine" as well :-) | |||
[Coke] | r: sub a (@a) { @a.push: "foo"; say @a }; a <a b> | ||
camelia | rakudo-jvm 09fbdc: OUTPUT«Cannot call 'push'; none of these signatures match::(Any:U \SELF: *@values, *%_) in any at gen/jvm/BOOTSTRAP.nqp:1212 in any at gen/jvm/BOOTSTRAP.nqp:1202 in method push at gen/jvm/CORE.setting:1610 in sub a at /tmp/tmpfile:1 in blo…» | ||
..rakudo-parrot 09fbdc: OUTPUT«Cannot call 'push'; none of these signatures match::(Any:U \SELF: *@values, *%_) in any at gen/parrot/BOOTSTRAP.nqp:1219 in any at gen/parrot/BOOTSTRAP.nqp:1210 in method push at gen/parrot/CORE.setting:1614 in sub a at /tmp/tmpfile:…» | |||
..rakudo-moar 09fbdc: OUTPUT«Cannot call 'push'; none of these signatures match::(Any:U \SELF: *@values, *%_) in method push at src/gen/m-CORE.setting:1610 in sub a at /tmp/tmpfile:1 in block at /tmp/tmpfile:1» | |||
lizmat | r: sub a ($a) { $a.push: "foo"; say $a }; a [<a b>] | 21:42 | |
camelia | rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«a b foo» | ||
[Coke] | that one bothers me more. | ||
21:43
denis_boyun_ left
|
|||
lizmat | r: my $b= [<a b>]; sub a ($a) { $a.push: "foo" }; a $b; say $b # [Coke] : you mean like this action at a distance ? | 21:43 | |
camelia | rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«a b foo» | ||
21:44
denis_boyun___ joined
21:45
grondilu joined
21:48
woolfy left
21:49
woolfy1 joined
|
|||
lizmat | r: my @b = <a b>; sub a (@a) { @a.push: "foo" }; a @b; say @b # actually the same with arrays | 21:57 | |
camelia | rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«a b foo» | ||
lizmat | r: my @b = <a b>; sub a (@a) { @a = "foo" }; a @b; say @b # resetting array at a distance | 21:58 | |
camelia | rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«foo» | ||
lizmat | r: my $b= [<a b>]; sub a ($a) { $a = ["foo"] }; a $b; say $b # only if we assign to a scalar, we get told we can't | 21:59 | |
camelia | rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«Cannot assign to a readonly variable or a value in sub a at /tmp/tmpfile:1 in block at /tmp/tmpfile:1» | ||
21:59
bluescreen10 left
22:02
dmol left,
rurban left
22:03
lustlife1 left
22:04
hoverboard left,
dmol joined,
DarthGandalf joined
|
|||
dalek | p/jnthn-lex-loc: 44181ad | jonathan++ | src/NQP/Optimizer.nqp: Start recording var decls/usages. |
22:04 | |
p/jnthn-lex-loc: d062aa3 | jonathan++ | src/NQP/Optimizer.nqp: Implement lexical => local lowering. |
|||
p/jnthn-lex-loc: a83cec1 | jonathan++ | src/NQP/Optimizer.nqp: Can lower $/ and self also. |
|||
22:06
grondilu left
|
|||
[Coke] | jnthn: poisened -> poisoned, prolly. | 22:08 | |
22:09
bjz_ joined
|
|||
[Coke] | weird that you got it everywhere but the comment. :) | 22:09 | |
22:09
bjz left
|
|||
[Coke] | so this is making this block local where possible? | 22:09 | |
jnthn++ | |||
jnthn | [Coke]: yeah :) | ||
[Coke] | jnthn++, continuing to be awesome. | 22:10 | |
jnthn | [Coke]: Well, not just the block, but the variables. | ||
[Coke]: It'll help spesh do its thing on NQP code much better once I get the next round of patches in there. | |||
Apart from that'll make it clever enough I'll actually have to imlement deopt. | |||
*imlement | 22:11 | ||
geekosaur | an imp stole your p | 22:12 | |
(or your implement) | 22:13 | ||
timotimo | jnthn: does it already turn blocks into stmts? | ||
dalek | p/jnthn-lex-loc: 39e7a00 | jonathan++ | src/NQP/Optimizer.nqp: Fix spello; [Coke]++. |
22:14 | |
jnthn | timotimo: yes | 22:15 | |
22:15
bjz_ left,
bjz joined
|
|||
timotimo | that's excellent news :) | 22:17 | |
tested with how many backends so far? :) | |||
jnthn | Moar only. | 22:18 | |
timotimo | should i test more than just moar? | ||
jnthn | If anybody wants to take up testing this more widely, that'd be wonderful. | ||
Yeah, 'cus the optimizer affects all backends. | |||
I don't immediately see why it'd break things. | |||
But should try on all of them. | |||
22:20
hoverboard joined
|
|||
jnthn | If no NQP and Rakudo spectests regressions are observed in any backend, I'm happy for it to be merged | 22:20 | |
Will be away teaching tomorrow, so I won't get to it for a bit. | 22:22 | ||
But if somebody else would like to, that's great. :) | |||
22:22
rurban joined
22:23
telex left
|
|||
jnthn | Also a p6bench run for NQP on the various backends before/after this could be wise. | 22:24 | |
timotimo | Exception in thread "main" org.perl6.nqp.runtime.UnwindException | ||
22:24
telex joined
|
|||
timotimo | not quite sure how to interpret and/or fix this | 22:24 | |
jnthn | :/ | 22:26 | |
22:26
a3gis left
|
|||
jnthn | Me either. | 22:26 | |
Where's that from? | |||
22:27
BenGoldberg joined
22:28
dmol left
|
|||
timotimo | ./nqp-j --target=jar --output=NQPP5QRegex.jar \ | 22:29 | |
gen/jvm/stage2/NQPP5QRegex.nqp | |||
so "first piece of code to translate with the stage1" | 22:30 | ||
jnthn | Try adding --stagestats to see where it blows up | ||
timotimo | will d | 22:31 | |
immediately | |||
as in: | 22:33 | ||
it dies before it outputs anything | |||
jnthn | ugh :( | ||
ok, no idea | 22:34 | ||
There's an env var you can set that gives explicit exceptions. | |||
(the jvm ones) | |||
I need to sleep now | |||
'night | |||
timotimo | okay | 22:35 | |
i'll continue with parrot and moar only | |||
22:40
rindolf left,
denis_boyun___ left
|
|||
timotimo | Stage parse : make: *** [CORE.setting.moarvm] Segmentation fault | 22:41 | |
22:42
denisboyun joined
22:48
denisboyun left
|
|||
timotimo | doesn't crash without spesh branch | 22:52 | |
22:57
a3gis joined
|
|||
dalek | kudo/nom: 972ef02 | (Elizabeth Mattijsen)++ | src/core/Numeric.pm: Allow for .sleep on numbers Getting tired of typing "sleep $_" all the time, while ".sleep" sits in my fingers |
22:58 | |
lizmat | aka: $ perl6 -e 'say time; $_ = 2; .sleep; say time' | 22:59 | |
1396565955 | |||
1396565957 | |||
and with that inspiration, I bid you all a good night! | |||
22:59
btyler left
|
|||
lizmat | git diff | 23:00 | |
timotimo | was a dumb idea to try to run the spectests with spesh | 23:04 | |
but without spesh i get all except roles/anonymous and the concurrency tests workin' | 23:05 | ||
this is more serious, though: Stage parse : Null PMC access in get_string() | 23:06 | ||
23:06
xenoterracide left
23:10
colomon joined
23:11
bjz left,
bjz_ joined
23:12
hoverboard left
23:14
Khisanth left
23:18
hoverboard joined,
xenoterracide joined
23:20
colomon left
23:28
Khisanth joined
23:29
a3gis left
23:42
xinming__ left
23:44
xenoterracide left
23:48
xinming_ joined
23:55
xenoterracide joined
23:59
colomon joined
|