»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:01
masak left,
dalek left
00:02
pmichaud left,
PerlJam left,
topo left
00:03
[Coke] left,
hugme left,
whiteknight left
00:05
Juerd left,
sergot left
00:11
Juerd joined,
topo joined
00:13
masak joined
00:14
pmichaud joined,
[Coke] joined
00:17
lawrmcfa left
00:19
PerlJam joined
00:20
sergot joined
00:22
arlinius left
00:26
p6eval joined,
ChanServ sets mode: +v p6eval,
hugme joined,
ChanServ sets mode: +v hugme
00:29
dayangkun left
00:36
dayangkun joined,
dayangkun left
|
|||
felher | TimToady++ # new rosettacode entry :) | 00:37 | |
cognominal | inifinte lazyness | 00:43 | |
*infinite | |||
01:02
FROGGS_ joined
01:03
sivoais left
01:04
anuby joined,
flightrecorder left
01:05
stopbit left,
FROGGS left
01:06
flightrecorder joined,
sivoais joined
01:08
japhb_ left
01:09
hypolin joined
01:12
jerome left
01:15
preflex left
01:21
sergot_ joined
01:24
gootle joined
01:25
sergot left,
skids left
01:26
jerome joined,
tokuhiro_ left
01:27
ServerSage left
01:32
ServerSage joined
01:33
skids joined
01:52
tadzik joined
01:55
grondilu left
02:11
hypolin left
02:13
hypolin joined
02:23
_jaldhar joined
|
|||
colomon | japhb_: I did that recently as well, see the first line of either source code block here: justrakudoit.wordpress.com/2012/10/...th-powers/ | 02:35 | |
It's quite handy. | |||
02:38
orafu left,
orafu joined
02:39
_jaldhar left
|
|||
TimToady | not just handy...it also avoids recalculating the sequence each time | 02:40 | |
02:41
_jaldhar joined
02:56
lawrmcfa joined
03:02
cibs joined
03:04
x19290 joined
03:05
x19290 left
03:07
xinming left
03:08
newbie joined,
newbie is now known as Guest35851
03:11
newbie1 joined
03:12
newbie1 left,
Guest35851 left,
newbie1 joined
|
|||
masak | it doesn't seem possible to reconcile infinite lazy lists and conc lists/mapreduce. | 03:13 | |
there's probably even a proof of that. | |||
03:14
newbie1 left
03:15
x19290 joined
|
|||
shachaf | Does "conc list" mean "binary tree"? | 03:15 | |
03:15
xinming joined,
x19290 left
|
|||
masak | yeah. | 03:16 | |
I think it's Guy Steele's name for it. | 03:17 | ||
shachaf | Have you seen FMList in Haskell? | ||
sorear | masak: do you mean cons lists? | ||
shachaf | I don't know if it's particularly related to what you're after but it's neat. | 03:18 | |
03:18
hypolin left
03:19
hypolin joined
|
|||
masak | sorear: infinite lazy lists can be implemented with cons lists. mapreducible lists can be implemented with conc lists. | 03:21 | |
it seems that even Perl 6 to some extent flirts with the duality (or whatever) of these two. | 03:22 | ||
japhb | colomon, hmmm ... that construction in your fourth-powers post is very similar in spirit, but not quite the same construction as TimToady's. He uses a sequence in both places, rather than a mapped range and a clipping sequence. I guess conceptually this generalizes well. | ||
masak | some builtins provide laziness. some provide hyperness. you can indicate which of the two you want. | ||
I guess I'm just curious *why* lazy and mapreduce seem irreconcilable. it seems perfectly obvious that they are. | 03:24 | ||
or rather, here's the thing. with both kinds of lists you can start iterate from the head of the list and nextwards. no problem. but then lazy seems to make one guarantee and mapreduce makes another. and those guarantees are incompatible. | 03:28 | ||
lazy: "I promise not to disappear in the mists of computation just because the list is potentially infinite" | 03:29 | ||
hyper: "it doesn't matter which part of the list we do first, 's all good" | |||
shachaf | What does "do first" mean? | 03:30 | |
As in an associative operation? | |||
masak | yes, I think "associative" captures what hyper guarantees here. | ||
very interesting! | |||
hm, but lazy seems to be a guarantee about termination, whereas hyper is a guarantee about ordering... | 03:31 | ||
shachaf | What's hyper? | 03:32 | |
masak | @values>>.abs | ||
shachaf probably ought to know basic Perl 6. | |||
masak | does .abs on each individual value, in an arbitrary order. the returned values are in the original order, though. | 03:33 | |
Timbus | 'conversational perl 6' | ||
masak | shachaf: more generally, hyper does a computation on the elements of a container, in an arbitrary order and possibly in parallel. | ||
think GPU. | |||
shachaf | Oh, that doesn't have to do with associativity in particular. I was thinking you meant a fold. | 03:34 | |
03:34
skids left
|
|||
TimToady | this incompatibility is precisely why we have both Z* and »*« | 03:35 | |
Timbus | masak, is there a case where you wouldn't want a hyper operator? in terms of Z+ vs >>+<< and so TimToady beats me to it | 03:36 | |
shachaf | Z+ is zipped? | ||
Timbus | but have you ever wanted a side effecty Z | ||
TimToady | it's a zip-with meta-operator | ||
shachaf | Right. | ||
TimToady | why would anyone ever want side effects? <hides under the FP hat> | 03:37 | |
Timbus | heh | ||
shachaf | So what's »*«? Cartesian product? | ||
TimToady | that's simply a parallel operation, not to be confused with mathematical vectors and such | 03:38 | |
shachaf | Oh. | ||
TimToady | which is why we no longer call them "vector ops" :) | ||
03:38
sftp left
|
|||
TimToady | use a different operator for that | 03:38 | |
but generally you use X* for normal cross-multiplication | 03:39 | ||
rn: say 1,2,3 X* 2,3 | |||
p6eval | rakudo dbf347, niecza v22-7-g7df6137: OUTPUT«2 3 4 6 6 9» | ||
Timbus | TimToady, well i'm being more specific. have you had to use side effects in a zip or cross op in any of your rosettacode submissions for example? im actually interested in their use | ||
shachaf | Are "X" and "Z" part of the language syntax or can users define things like that? | 03:40 | |
shachaf should probably read the language syntax. | |||
masak | I'm aware that we have both Z* and >>*<<. I'm curious about the incompatibility itself. | ||
TimToady | as far as I know I've only ever used internal side effects to track state in a stateful generator | ||
Timbus | sub infix:<myop> | ||
masak | seems the data structures (lazy list and conc list) are simply geared towards doing different things. | ||
TimToady | sure, though people will often misuse them | 03:41 | |
masak | a lazy list is "self-similar" in a way that allows it to continue indefinitely and thus allow infinite lazy lists. | ||
shachaf | masak: You can have a lazy infinite tree but it'll be lazy in a different way from a lazy infinite list. | ||
TimToady | and it's not out of all reason to do some parallel ops even on an infinite list | ||
masak | trees could potentially be infinite but for our purposes that's the wrong kind of infinite (destroys well-ordering). | ||
TimToady | whether by handing out bits to work on, or by dividing by some sequence of sizes that converges on infinity... | 03:42 | |
1, 2, 4, 8, 16 elements at a time, and such | |||
masak | whereas the strength of trees seems to be divide-and-conquer, something that linked lists don't do well at all. | ||
shachaf | masak: You can traverse the tree any way you like. :-) | ||
TimToady | or more likely some kind of fibonacci divvying up as the problem scales up | ||
nobody says you can't have an infinite tree :) | 03:43 | ||
masak | TimToady: hm. I see how it can be done but not how the process would know to stop. there's plenty of room at infinity. | ||
TimToady: re infinite trees, see above. they don't give you list indexes. | 03:44 | ||
TimToady | well, sure, but I thought we were talking about doing parallel ops on something infinite | ||
Timbus | the infinite tree. feels like ive been pruning this thing forever | ||
shachaf | masak: Are you thinking of the "first" element as "the one all the way on the left" or something along those lines? | ||
TimToady | or unbounded, anyway | ||
masak | "unbounded" is a much nicer word than "infinite". I must remember to use it more. | ||
shachaf: yes. | 03:45 | ||
shachaf | Well, pick the root as the first element instead. | ||
TimToady | an arbitrarily long tree can still know how to find any element N, albeit without promising equal efficiency to the early elements | ||
that being said, I think problems naturally fall into one or the other situation most of the time | 03:46 | ||
masak | right. | ||
so maybe incompatible in practice rather than inherently. | |||
TimToady | either you're trying to work behind or you're trying to work ahead | ||
masak | "work behind"? :) | 03:47 | |
TimToady | be lazy or be anti-lazy | ||
masak | ah, laziness. | ||
oh, that's a rather cute way of viewing it. TimToady++ | |||
TimToady | Rule 1: don't do it. Rule 2: don't do it now. Rule 3: don't just do one of it now. :) | 03:48 | |
masak | it also illustrates why "working ahead" and "unbounded" are a bad combination most of the time. | ||
TimToady | we do allow for batching though, much like STDIO buffers | ||
masak | yeah; every time I've run into batching in Rakudo I've hated it. | 03:49 | |
TimToady | though we also need to know when not to batch, or we can't generate Hamming numbers recursively | ||
masak | thinking "you promised me laziness and now you do this...." :( | ||
right. | |||
things like that. | |||
TimToady | if you're programming in the FP idiom it shouldn't be very noticeable | ||
masak | seems the guarantee not to work ahead can sometimes be as important as the attempt to work behind. | 03:50 | |
TimToady | obviously you should only batch where there's an obvious overhead that can be factored out | ||
if we can stall when we notice we're using something self-referentially lazy, it should work out okay | 03:51 | ||
but that's a big "if" | |||
maybe we just say that batching only works with known values, and never unlazies more than the one value necessary to progress | 03:53 | ||
TimToady waves hands in a parady of himself | |||
but you could, say, map over all the reified bits of the input, or 1 element if there are no reified elements available | 03:55 | ||
speaking of Hamming, been thinking more about a putative list merge metaoperator | 03:57 | ||
for Mop, we could say that if $value Mop $value returns either True or Order::Same, we assume they want duplicates, and otherwise remove duplicates | 03:58 | ||
so Mleg or Mge would allow duplicates, but Mlt or Mgt would not | 03:59 | ||
or something like that | |||
we'd have to decide if the default should be Mcmp or Mbefore | |||
(for a bare M op) | |||
by the above rule, Mcmp would include duplicates, but Mbefore would not | 04:01 | ||
04:01
lawrmcfa left
|
|||
TimToady | assuming M defaults to including duplicates, we get a Hamming rule of: | 04:02 | |
constant @hamming = 1, dedup (@hamming X* 2) M (@hamming X* 3) M (@hamming X* 5); | |||
with the dedup necessary | |||
if instead it defaults to deduping semantics, then it'd just be | |||
constant @hamming = 1, ((@hamming X* 2) M (@hamming X* 3) M (@hamming X* 5)); | 04:03 | ||
or maybe one would write | |||
constant @hamming = 1, do (@hamming X* 2) M (@hamming X* 3) M (@hamming X* 5); | |||
sorear | moritz: ping | 04:04 | |
04:04
cognominal_ joined
04:06
cognominal left
|
|||
TimToady | masak: another thing you should consider is that some of the things Google uses mapreduce for are essentially open-ended, much like arbitrary lists | 04:10 | |
if you search for something very common, you'll never get to the end of that list by clicking in your browser | |||
so you can do mapreduce on an infinite list, as long as you can identify when there's demand for another batch | 04:11 | ||
masak | why 'dedup' and not 'uniq'? what does the former do that the latter doesn't? | 04:20 | |
sorear | nub! | 04:21 | |
masak | TimToady: I don't buy the Google analogy. the lazy bit is in sending the result over the wire. the mapreduce has been run long before that as part of all the precomputations they do. | ||
sorear | google can't anticipate every posisble search | 04:22 | |
masak | indeed. | ||
but by the time you search, the algorithmic challenge is combining the right indices and iterating through them. | 04:23 | ||
that's a lazy task, not a hyper task. | |||
TimToady | I'll wager they don't mapreduce the parts of the search they figure you won't get to; the N results is likely a guess | 04:24 | |
however, when they give you related searches, they very likely have precalculated your results out as far to however far they think you might go, since obviously someone else has tried those searches earlier | 04:27 | ||
masak is still very fond of the "work ahead" and "work behind" terms | 04:28 | ||
TimToady | or they otherwise have some knowledge that those new keywords will cut down your search space significantly, which I suppose could be derived from the page contents somehow | ||
diakopter | I think they have magic elves | 04:31 | |
rn: say e ** (pi * i) | 04:38 | ||
p6eval | niecza v22-7-g7df6137: OUTPUT«-1+1.2246063538223773E-16i» | ||
..rakudo dbf347: OUTPUT«-1-7.28641469046904e-10i» | |||
diakopter | niecza is closer | ||
sorear | rn: say sin pi | 04:39 | |
p6eval | niecza v22-7-g7df6137: OUTPUT«1.2246063538223773E-16» | ||
..rakudo dbf347: OUTPUT«-3.52688866664137e-10» | |||
sorear | rn: say pi.WHAT | ||
p6eval | rakudo dbf347, niecza v22-7-g7df6137: OUTPUT«Num()» | 04:40 | |
masak | diakopter: re magic elves: "You confuse a high conditional likelihood from your hypothesis to the evidence with a high posterior probability of the hpothesis given the evidence" :P | ||
sorear | rn: say pi | ||
p6eval | rakudo dbf347: OUTPUT«3.14159265394248» | ||
..niecza v22-7-g7df6137: OUTPUT«3.1415926535897931» | |||
sorear | interesting | 04:41 | |
diakopter | one of those seems... off | 04:42 | |
sorear | yes | 04:43 | |
the value in Rakudo's source code agrees with the value that Niecza prints | |||
my constant pi = 3.14159_26535_89793_238e0; | |||
r: say 3.14159_26535_89793_238e0; | 04:44 | ||
p6eval | rakudo dbf347: OUTPUT«3.14159265394248» | ||
diakopter | r: say 3.14156 + 0.0000026535 | ||
p6eval | rakudo dbf347: OUTPUT«3.1415626535» | ||
sorear | r: say 0.00000000001 | 04:45 | |
p6eval | rakudo dbf347: OUTPUT«0.00000000001» | ||
sorear | r: say 0.0000000000001 | ||
p6eval | rakudo dbf347: OUTPUT«0.0000000000001» | ||
04:45
kaleem joined
|
|||
sorear | r: say 0.0000000000001e0 | 04:45 | |
p6eval | rakudo dbf347: OUTPUT«1e-13» | ||
diakopter | r: say 3.14156 + 0.0000026535 + 0.000000000089793 | ||
p6eval | rakudo dbf347: OUTPUT«3.141562653589793» | ||
sorear | r: say 1.0000000000001e0 | ||
p6eval | rakudo dbf347: OUTPUT«1.0000000000001» | ||
diakopter | r: say 3.14156 + 0.0000026535 + 0.000000000089793e0 | ||
p6eval | rakudo dbf347: OUTPUT«3.14156265358979» | ||
diakopter | r: say 3.14156 + 0.0000026535e0 + 0.000000000089793e0 | ||
p6eval | rakudo dbf347: OUTPUT«3.14156265358979» | ||
diakopter | r: say 3.14156e0 + 0.0000026535e0 + 0.000000000089793e0 | ||
p6eval | rakudo dbf347: OUTPUT«3.14156265358979» | ||
diakopter | r: say 3.14156 + 0.0000026535 + 0.000000000089793 + 0.000000000000000238 | 04:46 | |
p6eval | rakudo dbf347: OUTPUT«3.141562653589793238» | ||
diakopter | well then | ||
TimToady | r: say atan2(1,1)*4 | ||
p6eval | rakudo dbf347: OUTPUT«3.14159265358979» | ||
sorear | r: say sin atan2(1,1)*4; say sin pi | 04:47 | |
p6eval | rakudo dbf347: OUTPUT«1.22460635382238e-16-3.52688866664137e-10» | ||
sorear | r: say atan2(1,1)*4 - pi | ||
p6eval | rakudo dbf347: OUTPUT«-3.52688989124772e-10» | ||
TimToady | nr: say 3.14159_26535_89793_238e0.base(10) | 04:51 | |
p6eval | rakudo dbf347: OUTPUT«3.14159265» | ||
..niecza v22-7-g7df6137: OUTPUT«Unhandled exception: Unable to resolve method base in type Num at /tmp/JdkNqY1JmM line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4198 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4199 (module-CORE @ 574)  at /home/p6… | |||
diakopter | rn: say acos(-1) | ||
p6eval | rakudo dbf347: OUTPUT«3.14159265358979» | ||
..niecza v22-7-g7df6137: OUTPUT«3.1415926535897931» | |||
diakopter | rn: say 2*i*log((1-i)/(1+i)) | 04:52 | |
p6eval | niecza v22-7-g7df6137: OUTPUT«3.1415926535897931+0i» | ||
..rakudo dbf347: OUTPUT«3.14159265358979+0i» | |||
TimToady | sorear's original say 3.14159_26535_89793_238e0; prints a more correct value in my rakudo here. 64-bit processor maybe? | 04:53 | |
10 places of accuracy corresponds approximately to the size of a 32-bit integer | 04:54 | ||
npr: say 1.1111111111111111111111111111111111111 | 04:55 | ||
p6eval | niecza v22-7-g7df6137: OUTPUT«1.1111111111111112» | ||
..rakudo dbf347: OUTPUT«1.111111111109391735851659177569672465324» | |||
..pugs: OUTPUT«1.1111111111111111111111111111111111111» | |||
04:56
cognominal_ left
|
|||
TimToady | I get more 1's in my rakudo: 1.111111111111111116045435665000695735216 | 04:56 | |
diakopter | npr: say (1/9).Num | 04:57 | |
p6eval | rakudo dbf347: OUTPUT«0.111111111111111» | ||
..niecza v22-7-g7df6137, pugs: OUTPUT«0.1111111111111111» | |||
diakopter | whatevs | ||
sorear | TimToady: p6eval is a 64 bit machine but the rakudo binary is 32-bit. also, the rakudo binary is dated oct 11 | 04:59 | |
erm, that's today, nevermind | |||
diakopter | hee | 05:00 | |
TimToady | well, mine was older, so trying a recompile to see if I lose accuracy :D | ||
same answer, so probably 32 vs 64 | 05:05 | ||
Woodi thinks acos(-1) should return π... hovewer replacing calculator with symbolic operation handling can be not optimal for common cases :) | 05:07 | ||
but it probably depends on π use cases... | 05:08 | ||
heavy morning # :) | |||
sorear | yo Woodi | 05:09 | |
masak | Woodi: you can always build your own symbolic algebra library on top of Perl 6. | 05:11 | |
though I agree that having complex numbers and rationals is already going partway in that direction. | |||
sorear just uses maxima | 05:14 | ||
sorear thinks it's kind of weird using software that was written when his father was 6 | |||
moritz | sorear: pong | 05:15 | |
sorear | PM | ||
masak | phenny: en fr "PM"? | 05:16 | |
phenny | masak: "PM" (en to fr, translate.google.com) | ||
moritz is pretty sure that would be MP or so :-) | 05:17 | ||
05:17
erkan joined,
erkan left,
erkan joined
|
|||
sorear | phenny: en fr "MP"? | 05:18 | |
phenny | sorear: "MP" (en to fr, translate.google.com) | ||
05:18
aharoni joined
|
|||
Woodi | btw. last month there was discusion about Excel sequenes continuation like [1,2] and guesing 3... Shadows in my memory says that finding formula having few sequence numbers was popular tormenting during discret math course... | 05:20 | |
diakopter | masak: what's the shortest program that can timeout rakudo | ||
Woodi | diakopter: :) | 05:21 | |
diakopter | p6eval | ||
sorear | r: redo | ||
p6eval | rakudo dbf347: OUTPUT«redo without loop construct in block at src/gen/CORE.setting:378 in block at src/gen/CORE.setting:448 in block at /tmp/bzQ4Bwbxhf:1» | ||
Woodi | r: sleep $max+1 | ||
p6eval | rakudo dbf347: OUTPUT«===SORRY!===Variable $max is not declaredat /tmp/v8IsoVE8ya:1» | ||
sorear | r: loop; | ||
p6eval | rakudo dbf347: OUTPUT«===SORRY!===Missing blockat /tmp/oRDSJPzhnT:1» | ||
sorear | r: loop ; | ||
p6eval | rakudo dbf347: OUTPUT«===SORRY!===Missing blockat /tmp/8XFANYLFc0:1» | ||
sorear | r: loop{} | ||
p6eval | rakudo dbf347: OUTPUT«===SORRY!===Whitespace required after 'loop' at line 2, near "{}"» | ||
sorear | r: loop {} | ||
p6eval | rakudo dbf347: OUTPUT«(timeout)» | ||
sorear | r: +^Inf | 05:22 | |
p6eval | rakudo dbf347: OUTPUT«Cannot coerce Inf to an Int in method Numeric at src/gen/CORE.setting:9932 in sub prefix:<+^> at src/gen/CORE.setting:2652 in sub prefix:<+^> at src/gen/CORE.setting:2652 in block at /tmp/1tep_kwU91:1» | ||
sorear | r: [^Inf] | ||
p6eval | rakudo dbf347: ( no output ) | ||
TimToady | r: pi xx* | 05:23 | |
p6eval | rakudo dbf347: ( no output ) | ||
sorear | n: do redo | 05:24 | |
p6eval | niecza v22-7-g7df6137: OUTPUT«(timeout)» | ||
05:27
\n is now known as nyuszika7h
|
|||
sorear | TimToady: should loop control s work without braces? | 05:27 | |
TimToady | well, they certainly shouldn't work without a loop | ||
05:27
hash_table left
|
|||
sorear | do {} is a loop | 05:28 | |
masak | r: loop{} | 05:31 | |
p6eval | rakudo dbf347: OUTPUT«===SORRY!===Whitespace required after 'loop' at line 2, near "{}"» | ||
TimToady | wow, that part of the spec is so old I'd forgotten it :) | ||
masak | r: loop {} | ||
beat that ;) | |||
p6eval | rakudo dbf347: OUTPUT«(timeout)» | ||
masak | oh, it's as short as 'do redo' | 05:32 | |
how come 'do' is a loop, by the way? | |||
05:33
birdwindupbird joined
|
|||
TimToady | why not? | 05:34 | |
diakopter | masak: sorear beat you to that one | ||
masak | oh. | 05:38 | |
TimToady: both the "why" and "why not" questions are motivated, but it seems to me the burden of explanation is on the person who wants it to be a loop. since, well, it isn't. | 05:39 | ||
neither was it in Perl 5, even though "do" had different semantics there. | |||
TimToady | nr: 9**9**9 | ||
masak | s/was/is/, s/had/has/ | ||
p6eval | niecza v22-7-g7df6137: OUTPUT«(timeout)» | ||
..rakudo dbf347: ( no output ) | |||
sorear | masak: it's a loop in niecza because S04-statements/do.t wants it to be one. | ||
masak: it was a cheap way to get lots of spectests. | 05:40 | ||
diakopter | TimToady: I've been trying that one for a while | ||
:D | |||
sorear | masak: I recognize this may not be a fully satisfactory answer either | ||
masak | sorear: what part of 'do' (as per the spec) indicates that it is a loop? | ||
I just see it as an statement-to-expression converter. | 05:41 | ||
a* | |||
TimToady | the part that also occurs in "redo"? | ||
masak | ok, point very well taken. | ||
sorear | masak: S04-statements/do.t line 86 | ||
masak: also, you don't need a keyword to convert statemtnes to expressions in p6 | 05:42 | ||
masak | sorear: sure. though spectests, especially old ones, have disagreed with the synopses before. | ||
sorear | n: say (if 1 { 5 } else { 10 }) | ||
p6eval | niecza v22-7-g7df6137: OUTPUT«5» | ||
masak | sorear: well, it's nice sometimes because it needs no ending brace. | ||
diakopter | n: 9*****9 | ||
p6eval | niecza v22-7-g7df6137: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object at Niecza.StashCursor.Core (System.String key, Boolean final, Niecza.StashCursor& sc, Niecza.Variable& v, Niecza.Variable bind_to) [0x00000] in <filen… | 05:43 | |
diakopter | 0_0 | ||
I'll stash your core cursor | |||
sorear | n: no strict; moo; | 05:44 | |
p6eval | niecza v22-7-g7df6137: OUTPUT«===SORRY!===Undeclared routine: 'moo' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1437 (die @ 5)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37)  at /home/… | ||
sorear | n: no strict; &moo(); | ||
p6eval | niecza v22-7-g7df6137: OUTPUT«===SORRY!===Undeclared routine: 'moo' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1437 (die @ 5)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37)  at /home/… | ||
sorear | n: no strict; $moo(); | ||
p6eval | niecza v22-7-g7df6137: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object at Niecza.StashCursor.Core (System.String key, Boolean final, Niecza.StashCursor& sc, Niecza.Variable& v, Niecza.Variable bind_to) [0x00000] in <filen… | ||
sorear | n: $::('x'); | ||
p6eval | niecza v22-7-g7df6137: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object at Niecza.StashCursor.Core (System.String key, Boolean final, Niecza.StashCursor& sc, Niecza.Variable& v, Niecza.Variable bind_to) [0x00000] in <filen… | ||
sorear | n: $::('pi'); | ||
p6eval | niecza v22-7-g7df6137: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object at Niecza.StashCursor.Core (System.String key, Boolean final, Niecza.StashCursor& sc, Niecza.Variable& v, Niecza.Variable bind_to) [0x00000] in <filen… | ||
sorear | yikes | 05:45 | |
TimToady | pity we don't have postfix:<!> as a builtin, or it'd be easy to get a shorter timeout | 05:49 | |
diakopter | rn: say 2^^4&&&9||5~~3 | 05:50 | |
p6eval | niecza v22-7-g7df6137: OUTPUT«===SORRY!==="^^" and "||" are non-associative and require parens at /tmp/gOIZ58Idw4 line 1:------> say 2^^4&&&9||⏏5~~3Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1437 (die … | ||
..rakudo dbf347: OUTPUT«2» | |||
masak | r: say 1..* | ||
p6eval | rakudo dbf347: OUTPUT«1..Inf» | ||
masak | r: +(1..*) | 05:51 | |
p6eval | rakudo dbf347: ( no output ) | ||
masak | r: +(1...*) | ||
p6eval | rakudo dbf347: ( no output ) | ||
masak | r: say +(1...*) | ||
p6eval | rakudo dbf347: OUTPUT«Inf» | ||
masak | r: say +(1,3...*) | ||
p6eval | rakudo dbf347: OUTPUT«Inf» | ||
05:53
xinming left
|
|||
TimToady | n: + ^Inf | 05:53 | |
p6eval | niecza v22-7-g7df6137: OUTPUT«(timeout)» | ||
masak | new record. | 05:55 | |
diakopter | shortest program that fills p6eval output buffer | ||
masak | n: (^Inf)>>.say | ||
diakopter | masak: well, the original was for rakudo | ||
moritz | n: say^Inf | 05:56 | |
p6eval | niecza v22-7-g7df6137: OUTPUT«(timeout)012345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879xE2 | ||
niecza v22-7-g7df6137: OUTPUT«===SORRY!===Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/ctOiTmQHBU line 1:------> say⏏^InfUnhandled exception: Check failed at /home/p… | |||
moritz | n: say ^Inf | ||
p6eval | niecza v22-7-g7df6137: OUTPUT«0..^Inf» | ||
masak | (ranges having a sensible output)++ | ||
n: say ~^Inf | |||
p6eval | niecza v22-7-g7df6137: OUTPUT«Unhandled exception: Buffer bitops NYI at /home/p6eval/niecza/lib/CORE.setting line 1437 (die @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 3345 (prefix:<~^> @ 4)  at /tmp/wUWOFpvH0j line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.settin… | ||
masak | n: say ~ ^Inf | ||
p6eval | niecza v22-7-g7df6137: OUTPUT«(timeout)» | 05:57 | |
masak | heh. | ||
moritz | it tries to stringify the range before printing | ||
n: say @(^Inf) | |||
p6eval | niecza v22-7-g7df6137: OUTPUT«(timeout)» | ||
05:59
popl left
|
|||
Woodi | hmm, any idea for ufo for C ? | 06:01 | |
tadzik | good morning | 06:09 | |
masak | tadzik! \o/ | ||
tadzik | masak! \o/ | ||
06:10
FROGGS_ left
|
|||
masak | we're discussing matters of the infinite. | 06:10 | |
tadzik | for how long? | 06:11 | |
(Hahahahaha) | |||
japhb | awww, ENODALEK | 06:14 | |
06:14
flightrecorder left
|
|||
masak | tadzik: all I can tell you is that so far, the discussion has never ended. | 06:17 | |
tadzik | eye see | 06:19 | |
06:24
dalek joined,
ChanServ sets mode: +v dalek
|
|||
diakopter | wb | 06:24 | |
sorear | I wonder why dalek exited | ||
06:24
woosley joined
|
|||
sorear | nothing obvious on the screen | 06:24 | |
diakopter | EXTERMINATE | 06:25 | |
masak | moritz: in generalizing nested sets to DAGs, do you want multi-parent subtrees to be visited multiple times during traversal? | 06:27 | |
or just once? | |||
which operations do you care about making fast? | 06:28 | ||
diakopter | sorear: maybe some 64-bit counter rolled over on dalek | 06:30 | |
06:34
rindolf joined
|
|||
diakopter | get it? | 06:36 | |
sorear | no. | 06:39 | |
yo, rindolf | |||
diakopter | a 64-bit counter can't roll over... | ||
sorear | it can if the computer is poorly secured on a slope | 06:40 | |
diakopter | hee | ||
TimToady | I want one grain on the first square, two grains on the second square, four on the third, and so on... | ||
rindolf | sorear: hi. | 06:43 | |
diakopter | TimToady I guess I meant counting by 1 | ||
TimToady | my point is that a chessboard holds a lot of 1s | 06:44 | |
06:45
wk joined
|
|||
TimToady | alluding to en.wikipedia.org/wiki/Wheat_and_che...rd_problem | 06:45 | |
diakopter | and it takes a very long time to count that many by 1s | 06:51 | |
06:52
flightrecorder joined
|
|||
jnthn | morning o/ | 06:53 | |
diakopter | o/ | ||
sorear | o/ | ||
06:59
kurahaupo left
|
|||
jnthn | gee, a lot of backlog | 07:05 | |
phenny: tell [Coke] looking at the spectest roast data, I can't help but wonder if your Rakudo is failing to update. | 07:07 | ||
phenny | jnthn: I'll pass that on when [Coke] is around. | ||
jnthn | phenny: tell [Coke] all the S02 and S05 failures relate to features recently added to Rakudo. | ||
phenny | jnthn: I'll pass that on when [Coke] is around. | ||
jnthn | phenny: tell [Coke] Yes, something is wrong because a bunch of the most recent additions to t/spectest.data like S05-modifier/perl5_[2..4].t aren't being run. | 07:08 | |
phenny | jnthn: I'll pass that on when [Coke] is around. | ||
07:08
wk left
|
|||
jnthn | [Coke]++ # for doing these runs | 07:09 | |
07:11
fibo left,
xinming joined
07:14
rindolf left
07:15
rindolf joined,
Su-Shee joined
|
|||
Su-Shee | good morning. | 07:15 | |
07:23
rurban left
07:26
cognominal joined
07:30
zby_home joined
07:31
SamuraiJack joined
07:36
brrt joined,
rurban joined
07:48
cognominal left
07:50
cognominal joined
08:01
fgomez left
08:05
fhelmberger joined
|
|||
masak | how much time *does* it take, assuming some achievable counting speed by today's computers, to rol over a 64-bit counter? | 08:05 | |
08:07
fhelmberger left
|
|||
brrt | 2^64 ticks? | 08:07 | |
frettled | If you know it's linear counting, you can probably parallelize it a lot. | ||
brrt | simplifying a bit, making a hertz a tick | ||
08:07
fhelmberger joined
|
|||
brrt | 3ghz is 3e12 ticks | 08:07 | |
2^64 = 4e6? | 08:08 | ||
so about 3000 seconds, less than an hour i'd guess | |||
diakopter | 4e6? | ||
brrt | wait, thats wrong | 08:09 | |
08:09
wamba joined
|
|||
frettled | If you run it on a 1e4-core GPU (and you can still count 1/tick), it will take 10 seconds or so, then? | 08:09 | |
sorear | brrt: g is 1e9 | ||
frettled | (sounds implausible) | ||
sorear | masak: most modern cpus have a 64-bit register that increments on every clock cycle | ||
brrt | you get 3 orders of magnitude for every 10 orders of 2 | 08:10 | |
sorear | useful for some timing tasks | ||
masak | sorear: sounds highly useful, yes. | ||
brrt | so, 2^64 = 2^4 *10^(6*3) | ||
16e18 | |||
sorear | if, somehow, you got a state-of-2012 Intel CPU to run continuously for 68 years, the timestamp counter would roll over | ||
frettled | So use an Nvidia or AMD GPU instead. | 08:11 | |
sorear | er, actually it would be 136 | ||
jnthn has a C program running. Let's find out! :P | |||
Well | |||
Yeah, let's not | |||
brrt was also writing a c program | |||
diakopter | hee | ||
jnthn | To get 32-bit to roll over is 4s. :) | ||
sorear | frettled: parallelism does not help here, because of diakopter's scotsmanning :p | ||
brrt | 16e18 / 3e9 = 5e9 seconds | ||
sorear | brrt: protip: 2038 - 1970 = 2**31 seconds | 08:12 | |
Woodi | r: my int @a; push @a, 3; | ||
p6eval | rakudo dbf347: OUTPUT«Cannot call 'push'; none of these signatures match::(Any:U \SELF: *@values, Mu *%_) in method push at src/gen/CORE.setting:1241 in sub push at src/gen/CORE.setting:5869 in block at /tmp/Nyh_c3S2Od:1» | ||
sorear | you should have 2038 burned into your mind by now | ||
diakopter | sorear: yeah, sorry, you can't count by 2**64 :P | ||
jnthn | r: say (1 << 32) * 4 | ||
p6eval | rakudo dbf347: OUTPUT«===SORRY!===Unsupported use of << to do left shift; in Perl 6 please use +< or ~<at /tmp/zooxKKq56R:1» | ||
jnthn | r: say (1 +< 32) * 4 | ||
p6eval | rakudo dbf347: OUTPUT«17179869184» | ||
sorear | also, a state of 2012 processor has a clock frequency of 2**31 +- 1 | ||
jnthn | r: say "{((1 +< 32) * 4) / 3600} hours" | ||
p6eval | rakudo dbf347: OUTPUT«4772185.884444 hours» | ||
frettled | sorear: well, if you increase the counter in parallel on a few thousand cores, you might just increase it a few thousand times per tick instead of just once. | 08:13 | |
jnthn | r: say "{((1 +< 32) * 4) / (3600 * 24 * 365.5)} years" | ||
p6eval | rakudo dbf347: OUTPUT«544.0248386 years» | ||
frettled | Just saying. | ||
I don't know if that's possible with CUDA programming etc. | |||
brrt can't imagine it takes that long | |||
sorear | frettled: if you increase it more than once per tick, diakopter will hate you. | ||
diakopter | frettled: you can't increment a memory location in parallel; if you want it incremented, you'd have to use atomic instructions anyway | ||
frettled | diakopter: well, it turns out you can, if you know you're going to count _all_ the numbers from 0 to MAXINT_64. | 08:14 | |
diakopter: because you know that you will parallelize it, you know you can tell each of e.g. 1000 cores to start at numbers 1 through 1000, and then each increments by 1000. | 08:15 | ||
brrt | well, it takes some time, though | 08:16 | |
also, clang is pretty awesome | |||
diakopter | heh | ||
frettled: but you're not guaranteed they'll assign in order | 08:17 | ||
08:17
fgomez joined
|
|||
brrt | r: say (5e9)/(365*24*3600) | 08:18 | |
p6eval | rakudo dbf347: OUTPUT«158.548959918823» | ||
frettled | diakopter: that's not very important, the first one to reach MAX_INT_64 may get the privilege of counting from MAX_INT_64-999 to MAX_INT_64-1. | ||
08:18
cognominal left
|
|||
sorear | brrt: told you | 08:18 | |
brrt | yeah, its true | 08:19 | |
08:20
cognominal joined
|
|||
masak | r: class Unit { has $.scale }; constant years = Unit.new(:scale(3600 * 24 * 365.24), :name<years>); class Seconds { has $.seconds; method as(Unit $unit) { "{$.seconds / $unit.scale} $unit.name()" } }; sub postfix:<seconds>($seconds) { Seconds.new(:$seconds) }; say ((1 +< 32) * 4)seconds.as(years) | 08:20 | |
p6eval | rakudo dbf347: OUTPUT«No such method 'name' for invocant of type 'Unit' in method as at /tmp/x_BAPcrkRJ:1 in block at /tmp/x_BAPcrkRJ:1» | ||
masak | r: class Unit { has $.scale; has $.name }; constant years = Unit.new(:scale(3600 * 24 * 365.24), :name<years>); class Seconds { has $.seconds; method as(Unit $unit) { "{$.seconds / $unit.scale} $unit.name()" } }; sub postfix:<seconds>($seconds) { Seconds.new(:$seconds) }; say ((1 +< 32) * 4)seconds.as(years) | ||
p6eval | rakudo dbf347: OUTPUT«544.4121085 years» | ||
masak | \o/ | 08:21 | |
brrt | nice | ||
diakopter | that's a long-running program | ||
08:21
wamba left
|
|||
diakopter | like, longer than computing | 08:22 | |
sorear | some day computing will be 1000 years old. | 08:23 | |
what, then, will the longest-running computation have been? | |||
diakopter | quick, start one now | 08:24 | |
masak | clearly you're not watching enough "ancient aliens" TV shows. | ||
:P | |||
brrt | the longest running computation? | ||
the answer to the question of life, the universe, and everything | |||
sorear | masak: I watched one once, it was one too many | ||
masak | sorear: same. | 08:25 | |
jnthn just saw the reviews and was like...nah, not downloading that... | 08:26 | ||
masak | sorear: it made intelligent design seem quite reasonable in comparison. | ||
tadzik | :D | ||
masak | relatedly, I've never been able to understand how The X Files show could have the tagline "I want to believe" with a straight face. | 08:27 | |
brrt | different times | 08:28 | |
masak | not that different. it was after the invention of irony, for sure. | ||
and I remember thinking it at the time. | 08:29 | ||
diakopter | irony breeds rusty | ||
jnthn | r: class A { method m() { eval 'say self' } }; A.m | 08:30 | |
p6eval | rakudo dbf347: OUTPUT«===SORRY!==='self' used where no object is availableat eval_0:1» | ||
jnthn | r: class A { method m() { $_ = 42; eval 'say $_' } }; A.m | ||
p6eval | rakudo dbf347: OUTPUT«Any()» | ||
jnthn | r: class A { method m() { try { die "in a fire" }; eval 'say $!' } }; A.m | 08:31 | |
p6eval | rakudo dbf347: OUTPUT«Any()» | ||
jnthn | Hm | ||
I don't like any of those answers. :) | |||
masak | moritz: re DAGs and nested sets: they don't, can't generalize cleanly. cf parsing: dividing a stream of tokens into nested sets/a parse tree. a "parse DAG" could group non-contiguous tokens, and the crucial comparison trick wouldn't work. | ||
moritz: of course, now that I've said that, someone is going to prove me wrong :P | 08:32 | ||
moritz | masak: searching the internets for DAGs in SQL, I didn't find any such generalization either | ||
08:33
hoelzro|away is now known as hoelzro
|
|||
moritz | masak: and the only saneish approach seems to be store the transitive closure of the edges (ie all paths) in the DB. | 08:33 | |
which is quite a stretch, that lets nested sets look like a child's toy by comparison | |||
jnthn | .oO( using a graph database may just be saner...if only it were an option... ) |
||
moritz | jnthn: correct | ||
jnthn: and if only we didn't have ~80kloc of code and how knows how many tens of millions of row that depend on the that f*cking mysql installation+schema | 08:34 | ||
jnthn | (The Neo4j folks are based in Malmo... :)) | ||
moritz: It's OK - no, *good* - to use different persistence strategies for different bounded contexts in a system... | 08:35 | ||
moritz | well, but we don't want a context boundary at the place where the DAG comes in :( | 08:36 | |
jnthn | Hm. | ||
08:41
dakkar joined
|
|||
Woodi | I remember once hearing somone was storing SQL queries in LDAP db becouse it is specialized in searches on mainly readonly, hierarchical data... | 08:46 | |
08:47
wamba joined
|
|||
brrt | if you use clang on mac os x, it is going to take a /lot/ longer than 160 hours | 08:48 | |
jnthn | .oO( Please say brrt isn't talking about time to compile Rakudo... ) |
||
brrt | 160 years, and its about the 64-bit counter thing :-) | 08:49 | |
jnthn | oh! :) | ||
brrt | i still have to compile rakudo on this machine | ||
tadzik | now roll over an int on Rakudo | 08:50 | |
brrt | how large is a rakudo int? | 08:51 | |
moritz | as large as a parrot INTVAL | ||
08:53
Celelibi left
08:57
cognominal left
|
|||
brrt | intval is, afaik, just int | 08:57 | |
which will compile into a 32 bit integer even on 64 bit processors | 08:58 | ||
jnthn | Nope | 08:59 | |
It's 64-bit here | |||
brrt | ok, thats fair | ||
int has been 32 bit on darwin on amd64 and linux on amd64 on two occasions for me now | 09:00 | ||
with clang and gcc both | |||
sorear | brrt: INTVAL is usually intptr_t | ||
jnthn | Good news: I've got eval of self and attributes to work if they're in scope | ||
Better news: that means you can inspect attributes in the debugger | |||
Bad news: I've caused some spectest fails ;/ | |||
sorear | parrot needs a type that will allow it to pretend pointers and integers are the same | 09:01 | |
arnsholt | First you make it run, then you make it right, no? =) | ||
jnthn | It's not in any way clear to me why I've busted it... | ||
arnsholt | Yeah, that sucks | ||
jnthn tries one tweak | 09:02 | ||
09:02
cognominal joined
|
|||
jnthn | ah, that fixes at least one test... | 09:02 | |
multiple, actaully | 09:03 | ||
moritz | fwiw I have a local commit that adds \A, \Z and \z to nqp's p5regex | 09:05 | |
jnthn | \o/ | 09:06 | |
moritz | I just haven't yet got around to it test | ||
(all the old tests still pass :-) | |||
jnthn | There's quite a few in S05 | ||
S05-modifier/perl5_(5 or 6 or 7).t iirc | |||
hmmm | 09:07 | ||
class A61354_1 { | |||
eval('method x { "OH HAI" }') | |||
}; | |||
A61354_1.x; | |||
This now actually works locally | |||
We have a test that expects it to die. | |||
It works now because $?PACKAGE is correctly see to A61354_1, whereas before it was set to GLOBAL | |||
So, we passed the test due to a bug really. But...is the test actually valid? | 09:09 | ||
r: class A { BEGIN eval('method x { "OH HAI" }'); }; A.x | 09:10 | ||
p6eval | rakudo dbf347: OUTPUT«Useless declaration of a has-scoped method in mainlineNo such method 'x' for invocant of type 'A' in block at /tmp/h0H0gtY6Hl:1» | ||
jnthn | The patch I have makes that work, fwiw. Which seems useful. | ||
masak | aye. | ||
jnthn | I don't have a good way to make the one work at not the other, afaict. | 09:11 | |
masak | with the BEGIN, it definitely should work. | ||
jnthn | *and | ||
masak | hm, even without the begin, it should work. | ||
BEGIN* | |||
jnthn | So you're arguing that the test is wrong? | ||
masak | if the test expects the code to die, I argue it's wrong, yes. | ||
jnthn | wfm | 09:12 | |
jnthn is happy to hear any other views | |||
oh... | 09:13 | ||
masak realized during a walk today that he wants to give a talk "In Praise of Views and Models" | |||
jnthn | And the other test failure I have is rather interesting too | ||
class One::Two { } | 09:14 | ||
brrt | masak: views as in sql views? | ||
jnthn | eval_dies_ok 'class One::Two { }', 'cannot redeclare an existing class'; | ||
This used to work because eval always saw the current package as GLOBAL. | |||
Now it is broken because the eval call itself is done in Test, so it's checking you can declare Test::One::Two, which of course is fine. | 09:15 | ||
sorear | sleep& | 09:16 | |
brrt | sleep well | ||
jnthn | night, sorear | ||
masak | brrt: SQL views are one specific implementation of the more general concept. the "V" in "MVC" is another. caches and indices are another. read models in a CQRS-esque architecture are another. | 09:18 | |
brrt | yeah, i see what you mean | ||
masak | the general theme is perhaps "derived information". | ||
brrt | they are useful | 09:19 | |
masak | I've come to consider them to be slightly more than useful in recent months. I feel they are verging on necessary for some types of complexity. at least I don't know of any alternative way to keep complexity in check. | 09:22 | |
brrt | what, object oriented programming is not enough? :-p | ||
masak | heh. I used to be more sceptical towards OO then I am now. | 09:26 | |
though I still believe we're liking inheritance a little too much. call it our Platonic bias. | |||
brrt is pretty sceptical towards 'conventional wisdom' than to OO in general | 09:27 | ||
masak | I've seen some quite beautifully crafted OO systems. I've seen a lot of crap rendered as OO systems. a mediocre programmer is probably more likely to mess up an OO API than merely a procedural one. but to an experienced designer (and the system's consumers), the OO bits can be a real help. | 09:30 | |
moritz | in my early days of OO programming, I used to read a lot of books on OO design | 09:31 | |
brrt | no arguing there | ||
moritz | and mostly my designs were crap | ||
over-engineered and impractical | 09:32 | ||
what worked for me is starting procedural | |||
brrt | in my experience, the nicer OO design border on functional | ||
s/design/designs | |||
moritz | and then I tended to notice that I passed the same set of parameters to some functions | ||
and then I made objects of those common parameters, and replaced the subroutine calls by method calls | 09:33 | ||
and while the resulting design wasn't beautiful, it usually worked | |||
09:33
kenjiskywalker left
|
|||
moritz | and slowly I'm getting more experience, and can kinda forsee what kind of objects/classes I'll need | 09:33 | |
masak | moritz: that's a really nice way to think of it. OOD as "emerging" out of procedural design. | 09:35 | |
dalek | kudo/nom: 5a92ef1 | jnthn++ | src/Perl6/Grammar.pm: Improve eval and the REPL. This makes eval able to see any self that is in scope and also attributes. It also means $?PACKAGE in eval will work. Furtheremore, GLOBAL now is handled properly in the REPL, carried between lines rather than a fresh one per line. |
||
moritz | jnthn: are all the enabled p5regex spectests supposed to pass? | 09:37 | |
'cause I have a few failures here, and the first I looked at looks pretty much unrelated to anything that I did | |||
jnthn | moritz: They've been passing here. | 09:38 | |
They all pass in a current spectest run for me | |||
dalek | ast: 2267094 | jnthn++ | S (2 files): Fix some package/eval related issues. eval now has a better idea of current package and this can caused some issues for various tests that assumed that an eval would always start out with the current package being GLOBAL. |
||
moritz | weird, the failing tests passes in isolation | 09:40 | |
jnthn makes it so you can just write "self" at the debugger prompt to look at self. | |||
moritz | no, related to interpolation | 09:41 | |
r: use Test; my $bang = "!"; is(("a!" ~~ rx:P5/((((((((((a))))))))))$bang/ && $/), "a!", "re_tests 330/0 (428)"); done; | |||
p6eval | rakudo dbf347: OUTPUT«not ok 1 - re_tests 330/0 (428)# got: ''# expected: 'a!'1..1# Looks like you failed 1 tests of 1» | ||
moritz | r: use Test; is(("a!" ~~ rx:P5/((((((((((a))))))))))!/ && $/), "a!", "re_tests 330/0 (428)"); done; | 09:43 | |
p6eval | rakudo dbf347: OUTPUT«ok 1 - re_tests 330/0 (428)1..1» | ||
moritz | passes without the interpolation | ||
jnthn | huh, I thought all the interpolation tests were fudged | ||
You are running the fudged version of the test file, yes? :) | |||
moritz | oh, my roast copy was stale | ||
jnthn | oh :) | 09:44 | |
moritz | 'cause I ran 'make localtest' instead of 'make spectest' | ||
sorry for the noise then | |||
jnthn | That also explains it :) | ||
moritz | The program 'perl6' is currently not installed. You can install it by typing: | 09:46 | |
sudo apt-get install rakudo | |||
jnthn | Wow! | 09:48 | |
masak | \o/ | 09:51 | |
brrt | brew doesn't have it yet | 09:52 | |
moritz | (that's an off-the-shelf Ubuntu installation) | ||
brrt | nice, i thought fedora contained it as well, will have to check | 09:53 | |
09:54
wamba left
|
|||
tadzik | ha, I have the same thing here | 09:54 | |
09:54
wamba joined
|
|||
tadzik | only in bash though | 09:54 | |
09:54
Psyche^ joined
09:57
Patterner left,
Psyche^ is now known as Patterner
|
|||
tadzik | well, it'd be a lot nicer if they had something newer than 2011.07 :P | 09:57 | |
jnthn | oh, ouch! | 09:58 | |
masak | such small things matter a lot. we'll never get hard numbers of how many people will install Rakudo because of that message... but if we saw it, we'd probably consider it significant. | ||
oh and yes, we should make the Ubuntu people package a newer Rakudo :) | |||
tadzik | I'm afraid "hey, how about we package it for you?" would be better received | ||
and I have this Ubuntu machine at work... | 09:59 | ||
and a PM group friend who used to maintain a PPA with rakudo and star I think | |||
moritz | somehow my \Z and \z always seem to match :( | 10:00 | |
10:02
cognominal_ joined
10:04
cognominal left
|
|||
jnthn | moritz: Gotta head for a meeting now, but if you're still stuck with it I can look later on | 10:08 | |
10:10
anuby left
10:14
cognominal__ joined,
cognominal_ left
|
|||
jnthn | back in a few hours & | 10:17 | |
10:21
wamba left
10:33
daxim joined
10:57
kaleem_ joined
11:00
kaleem left,
gootle left
11:04
wamba joined
11:06
Su-Shee_ joined
11:09
Su-Shee left
11:16
Su-Shee_ is now known as Su-Shee
|
|||
brrt | yay, rakudo installed w/o a hig | 11:24 | |
tch | |||
11:29
wamba left
11:41
gerhard2 joined
12:02
mikemol left
12:04
mikemol joined
12:06
flightrecorder left
12:07
mucker joined
12:22
sftp joined
12:28
wamba joined
12:29
flightrecorder joined
12:33
wamba left
|
|||
[Coke] | jnthn: this is not the first time rakudo has failed to update in place. I suspect I need to cut over to doing a fresh checkout each time. | 12:36 | |
phenny | [Coke]: 07:07Z <jnthn> tell [Coke] looking at the spectest roast data, I can't help but wonder if your Rakudo is failing to update. | ||
[Coke]: 07:07Z <jnthn> tell [Coke] all the S02 and S05 failures relate to features recently added to Rakudo. | |||
[Coke]: 07:08Z <jnthn> tell [Coke] Yes, something is wrong because a bunch of the most recent additions to t/spectest.data like S05-modifier/perl5_[2..4].t aren't being run. | |||
[Coke] | jnthn: did a manual rebase, next run should go better. | 12:38 | |
12:40
gerhard2 left
13:01
fgomez left,
fgomez joined,
am0c joined
13:03
hash_table joined
13:19
GlitchMr joined,
mikemol left,
flightrecorder left
13:31
bluescreen10 joined,
marloshouse joined
13:32
hash_table left
13:47
kaleem joined
13:49
kaleem_ left,
Bob_ joined
13:50
mikemol joined
|
|||
arnsholt | I'm going on a research stay in Copenhagen in a bit, and it turns out it's in the same area as the Perl 6 CPH hackathon | 13:52 | |
13:52
Bob_ left
|
|||
moritz | \o/ | 13:53 | |
13:54
flightrecorder joined
13:59
Celelibi joined
14:04
flightrecorder left
14:05
flightrecorder joined
14:07
stopbit joined
14:12
Celelibi left
14:13
zamolxes_ left
14:15
skids joined,
fgomez left
|
|||
dalek | p: 56ae4f0 | moritz++ | / (3 files): [p5regex] implement \A, \z and \Z also add some basic tests |
14:15 | |
14:17
zamolxes joined
|
|||
dalek | ast: 567f3ca | moritz++ | S05-modifier/perl5_8.t: refudge perl5_8.t for rakudo |
14:19 | |
kudo/nom: 547fcb3 | moritz++ | t (2 files): bump NQP revision to get p5regex \A, \z and \Z also enable two more test files |
14:20 | ||
14:29
mikemol left,
PacoAir joined
14:33
kaare_ joined
14:34
Celelibi joined
14:36
fgomez joined,
sqirrel joined
|
|||
jnthn back from meeting | 14:37 | ||
14:37
mikemol joined
|
|||
brrt | \o jnthn | 14:38 | |
jnthn | arnsholt: If you have time and wanna meet up for dinner and/or beer in Copenhagen some time while you're there, let me know. It's only 45 mins from here by train :) | 14:39 | |
14:39
Celelibi left
|
|||
arnsholt | Oooh, that's an excellent idea! | 14:40 | |
I'll be there for three weeks, so I'll definitely have to take you up on that offer | |||
jnthn | moritz: wow, we got test files 7 and 8! Nice! | ||
arnsholt | (I'm there from the 22nd to the 8th) | ||
October 22nd to November 8th, that is | 14:41 | ||
moritz | jnthn: I had to fudge one test though (that uses \G) | 14:43 | |
14:44
hash_table joined
|
|||
jnthn | \G...hmm...I even forget what that one is :) | 14:46 | |
arnsholt | Anchor to end of last match under /g | ||
jnthn | ah | 14:47 | |
colomon | jnthn: I was meaning to ask the European guys around here, there's a decent chance I'll be spending a week or so in Switzerland in the near future for $work. Dunno if anyone is close enough to visit or not, looks like all of Germany is in the way for you... | 14:48 | |
moritz | colomon: feel free to drop in southern Germany at my place :-) | 14:49 | |
jnthn | And Denmark! | ||
moritz | (though we're planning to move on 2012-11-03, that might be a bit chaotic then) | ||
colomon | Mind you, I have no idea where in Switzerland... | ||
moritz | it's not that big :-) | 14:50 | |
colomon | And I don't know if I'll have any free time at all. :) | ||
jnthn | Was gonna say, Switzerland is fairly small | ||
Compared to Germany, at least | |||
And it has awesome mountains. \o/ | |||
brrt | and a fair train system, also | 14:51 | |
colomon is very much a flatlander | |||
jnthn | brrt: Yes, that's also really quite good. | ||
colomon | where I grew up, the next town over had a hill. it's maybe 50 feet high. | ||
arnsholt | In USian terms, Wikipedia informs me that Switzerland is somewhere between Maryland and West Virginia in area (closer to Maryland, really) | ||
daxim blinks | 14:52 | ||
jnthn | colomon: Sounds like the bit of Sweden I live in at the moment :) | ||
arnsholt | Or Denmark. Switzerland is a bit more hilly, let's say =) | ||
colomon | the township I lived in built an artificial hill so kids could go sledding in the winter. :) | ||
come to think of it, so did the city I live in now. ;) | 14:53 | ||
14:57
att joined
|
|||
colomon suddenly wonders about the status of his passport. | 14:57 | ||
found! | 15:02 | ||
and not yet expird. | |||
*e | |||
15:11
Celelibi joined
|
|||
colomon | jnthn: just parsed a 4.3 meg STEP file in 6m48s (on my Mac, which is a bit faster than the Linux box) | 15:14 | |
jnthn | OK, with latest Rakudo? | 15:15 | |
15:15
flightrecorder left
|
|||
jnthn | colomon: moritz's version bump should also have pulled in some code-gen improvements I did yesterday :) | 15:15 | |
jnthn works on teaching the debugger some more things | |||
15:16
Celelibi left
|
|||
colomon | oooo, will try again soon... | 15:16 | |
jnthn | There's more I can do in the code-gen area but I've switched to debugger work for now because I've got a talk on it on Saturday and want to have moar shiny stuffs :) | ||
colomon | :) | 15:18 | |
15:20
MayDaniel joined
|
|||
jnthn | I'm *so* glad I built this so I can write most of it in Perl 6 :) | 15:20 | |
15:20
ruz joined
|
|||
TimToady | colomon: note that some countries will not honor a passport with less than six months left on it | 15:23 | |
colomon | TimToady: that's good to know! But I've got several years left, it turns out. | 15:24 | |
jnthn has until 2014, and thinks that'll conincide nicely with when he runs out of pages | 15:26 | ||
colomon | Mine is pretty spectacularly unused, though ... I only got it so that I could continue going to Canada post-9/11, and that function is now handled by an enhanced driver's license. | 15:27 | |
15:28
lostuser23 joined
15:29
brrt left
|
|||
moritz | sysadm@monitor1:~ > sudo -l | 15:29 | |
User sysadm may run the following commands on this host: (root) NOPASSWD: /etc/init.d/nagios3, /usr/sbin/nagios3, /usr/bin/pkill -9 nagios3, /usr/sbin/slay nagios, | |||
(it seems every employer can log in as sysadm on this machine) | 15:30 | ||
jnthn | moritz: mischannel? :) | ||
.oO( I mean, er, what's the IP?! :D ) |
|||
moritz | jnthn: you can't :-) | ||
jnthn: not mischannel; just found it funny that there are several ways to kill nagios, available to everybody at $work :-) | 15:31 | ||
jnthn | moritz: Oh! :) | ||
moritz | (and stuff is usually pretty locked down at OS level) | ||
TimToady | masak: oh, I didn't answer irclog.perlgeek.de/perl6/2012-10-11#i_6051257 for you. Unlike 'uniq', the putative 'dedup' has the added feature of *not* treasuring up everything in a set, since it only worries about adjacent dups | 15:32 | |
15:32
thou joined
15:33
lostuser23 left
|
|||
TimToady | maybe it would be better named 'noruns' or something | 15:33 | |
jnthn | ...but that sounds like an anti-diarrhea product | 15:34 | |
TimToady | or a baseball game | 15:35 | |
15:35
rindolf left
|
|||
TimToady | well, if we build the functionality into M, then it'll be fairly rare, and we could name it something like remove-adjacent-duplicates :) | 15:36 | |
15:38
MikeFair_ left
|
|||
[Coke] | TimToady: (less than six months) That is crazy talk, sir. (but I do not dispute its truthiness) | 15:40 | |
15:40
MikeFair_ joined
|
|||
TimToady | [Coke]: the theory being that they don't want to give you a visa that is theoretically longer than your passport is good for | 15:44 | |
even if you only plan to stay a week | |||
[Coke] | ... they clearly need smarter visa end dating! | ||
(dedup) coalesce? collapse? (suggestions from some of my alums) | 15:45 | ||
TimToady | which is such a joy to deal with--see .ru | ||
[Coke] | one said "oh, that's like shell's uniq" :) | ||
TimToady | so maybe uniq is misnamed... | 15:46 | |
moritz | let's just have uniq and unique :-) | 15:47 | |
(with different semantic, of course) | |||
[Coke] | docs.python.org/library/itertools.html#recipes - "unique_justseen" | ||
meh. | |||
TimToady | wait, if we distinguish Mle from Mlt, then dedup is just Mne :) | 15:48 | |
well, it's ()Mne to work on one list :) | 15:49 | ||
am0c | To comprehend large sketch of what has been changed during years or months with perl6 and rakduo, where should I look at first? | 15:53 | |
[Coke] | "non-repeating" ? | 15:54 | |
am0c: do you really need to know what changed, or is just "how it is now" sufficient? | |||
daxim | blob.perl.org/perlweb/dev/perl6/tal...-Perl6.pdf | 15:55 | |
ancient history | 15:56 | ||
strangelyconsistent.org/blog/happy-...ary-perl-6 | |||
am0c | now may be sufficient. but I want to know tiny history just for 'months' or so. | ||
daxim | recent history, but not very detailed | ||
am0c | thank you so much, daxim | 15:57 | |
[Coke] | GlitchMr is writing up (recently only) a what's changed blog. | ||
am0c | I see | ||
daxim | then there are of course the changelogs of the softwares themselves | ||
[Coke] | I think non-repeating is the best suggestion from the RPI crowd. | 15:59 | |
am0c | thank you! | 16:00 | |
16:03
am0c left
16:05
Celelibi joined
16:10
paul3X joined
16:11
kaleem left
|
|||
paul3X | Hello, who of you use Perl on the Internet as CGI? | 16:12 | |
bbkr | newest version of JSON::RPC::Server uses PSGI | 16:13 | |
moritz | paul3X: are you asking about Perl 5 or Perl 6? | 16:14 | |
paul3X | moritz: Perl 5 | ||
moritz | paul3X: then you're a bit off-topic here | 16:15 | |
paul3X | moritz: ohh, I see, sorry then | ||
16:16
paul3X left
16:21
hoelzro is now known as hoelzro|away
16:25
tadzik left
16:27
daxim left
16:29
preflex joined
16:30
Pleiades` left
16:32
Pleiades` joined
16:40
rindolf joined
16:44
tadzik joined
16:46
dakkar left
|
|||
jnthn | Debugger now supports self, attribute introspection, step over a call and step out of the current routine. :) | 16:46 | |
ingy | jnthn: sounds ossum! | 16:47 | |
rindolf | jnthn++ | ||
jnthn | r: say 588 + 406 | ||
p6eval | rakudo 547fcb: OUTPUT«994» | ||
jnthn | Total debugger implementation still under 1000 lines of code :) | 16:48 | |
(first number is Perl 6, second is NQP) | |||
ingy | r: say 867-5309 | ||
p6eval | rakudo 547fcb: OUTPUT«-4442» | ||
16:49
birdwindupbird left
16:53
fgomez left
16:54
fglock joined
|
|||
jnthn | dinner & | 16:55 | |
16:58
integral left
17:00
integral joined,
integral left,
integral joined
17:03
Juerd left
17:04
tadzik left
|
|||
TimToady | is it already a logged bug that niecza doesn't have @*ARGS or %*ENV at BEGIN time? | 17:06 | |
dalek | rlito: b93e775 | (Flavio S. Glock)++ | / (5 files): Perlito5 - js - move Array implementation to a separate package |
17:07 | |
TimToady tried to define a constant in terms of @*ARGS, anit dint werk | |||
17:12
Chillance joined
17:13
topo left
|
|||
[Coke] | [6~[6~[5~ | 17:24 | |
colomon | jnthn: 6m48s before "member:moritz's version bump", 6m27s after. | 17:38 | |
17:43
tadzik joined
|
|||
tadzik | who killed feather? :( | 17:44 | |
17:45
Juerd joined
|
|||
tadzik | savior! | 17:45 | |
17:46
fhelmberger left
17:47
tadzik1 joined,
topo joined
17:48
kaleem joined,
wamba joined,
tadzik left
17:49
tadzik1 is now known as tadzik
|
|||
[Coke] | looks like niecza got stuck in the daily run. | 17:53 | |
17:58
flightrecorder joined
|
|||
colomon pulls latest niecza and starts looking at it on Linux. | 17:59 | ||
[Coke] | ah. wonder if someone killed the thing running the tests, but not the niecza tests themselfes, which are now running while rakudo is building. | 18:04 | |
jnthn | colomon: Another little improvement. Nice :) | 18:07 | |
colomon | indeed! :) | 18:08 | |
18:09
sivoais left
|
|||
[Coke] | me just kills the whole daily run for today. everything was in a weird state. | 18:11 | |
18:11
kaleem left
|
|||
colomon | [Coke]: I get two test files failing in my niecza spectest run, but no hangs. | 18:12 | |
[Coke] | hokay. I'll do individual runs this evening to make sure it isn't likely to explode tomorrow. | 18:16 | |
colomon++ | |||
18:21
sivoais joined
18:36
kaleem joined
18:39
kaleem left
18:44
wk joined
18:48
kurahaupo joined
|
|||
dalek | ast: 12d03bf | (Solomon Foster)++ | S12-class/basic.t: Refudge for niecza. (new test added?) |
18:51 | |
18:52
SamuraiJack left
18:54
wk left,
tokuhiro_ joined,
SamuraiJack joined,
fgomez joined
19:00
birdwindupbird joined
|
|||
sorear | good * #perl6 | 19:03 | |
diakopter | o/ | 19:06 | |
colomon | o\ | ||
jnthn | o/ | 19:07 | |
sorear | |o | 19:08 | |
19:19
popl joined,
birdwindupbird left
19:20
SamuraiJack left
19:21
birdwindupbird joined
|
|||
sergot_ | hi o/ | 19:23 | |
sorear | hey sergot_ | 19:24 | |
19:24
sergot_ is now known as sergot
|
|||
japhb | Mmmm, fooood ... | 19:26 | |
jnthn | Something nice? | 19:27 | |
japhb | Goan. Chicken Xacuti, Garlic Naan, rice to soak up the Xacuti ... :-) | ||
jnthn | Mmmmmm. | 19:28 | |
sorear | garlic nyaan | ||
japhb | Can you get decent Indian-subcontinent food in Sweden? | ||
19:28
kurahaupo left
|
|||
jnthn | Decent, yes. | 19:28 | |
Quality varies, but there's some decent stuff to be had. | 19:29 | ||
Only a few really stand-out places I've found. | |||
japhb | I remember as a youngin' having Indian food in London, and it was amazing. I think I would miss moving away from that. | ||
jnthn | Yeah, it's much easier to find great Indian-subcontinent food in the UK than here. | ||
Stockholm has some reasonable places. The one I like most is a bit out of the way from where I normally am for teaching. | 19:30 | ||
In Gothenburg it took me ages to find a place that was any better than average, but I eventually hit on one. | 19:31 | ||
japhb | heh | ||
Probably a fun research project. :-) | |||
jnthn | Yes :) | ||
Trouble is, since I found the good one, I didn't have another class in Gothenburg... | 19:32 | ||
Think I've got one or more in November. | |||
OK, question. | 19:35 | ||
I'm adding trace points to the Rakudo debugger | |||
They're like breakpoints, but instead of breaking, they evaluate an expression of some kind and log the result. | |||
19:36
fgomez left
|
|||
jnthn | It's a relatively easy feature to add, but I'm not quite sure how adding/working with them wants to look. | 19:36 | |
diakopter | macro-ish? | ||
jnthn | The breakpoint adding syntax is just | ||
bp add SomeFile:42 | |||
I can do something like | |||
tp add SomeFile:42 $some_var | 19:37 | ||
But I'm figuring most useful is if you can do things like, say you want it logged to a file. | |||
japhb | Oh, that reminds me jnthn, why do you use 'step out' instead of 'return' to mean "continue until leaving the current routine"? (I ask because 'return' is the term I'm used to, and the one the perl5 debugger uses.) | ||
diakopter | visual studio uses "step out"; eclipse uses "step return" | 19:38 | |
japhb | Do you have conditional breakpoints? | ||
jnthn | japhb: Probably because that's (a) the term the VS debugger uses, which I'm far more used to than the perl5 one, and (b) I already used 'r' to mean "run" | ||
japhb: No, not yet. It's another "easy feature", but I can think of a good syntax for that. | 19:39 | ||
japhb | diakopter, weird. Maybe it's Windows v. *nix convention | ||
jnthn | japhb: I'm not strongly attached to "step out". | ||
japhb | jnthn, the perl5 debugger just adds it as a boolean expression after the location. In your syntax: | ||
bp add Somefile:42 $some_var > 12 | |||
jnthn | japhb: I was going to for for a "if" or "unless" before the condition | 19:40 | |
japhb: Maybe that's just noise though | |||
japhb | jnthn, I'm not attached to 'return' either, it was just curiosity. In perl5db, 'r' is 'return', and 'c' is continue (what you seem to mean by 'run') | ||
diakopter | jnthn: will the evaluation of the expression modify some global hash of counters? %*tp{'my_tp'}++ | 19:41 | |
japhb | perl5db is a little *too* huffmanized, really. I can't remember a debugging session in which I haven't had to use the builtin cheat sheet. | ||
diakopter | if you wanted to count multiple things | ||
jnthn | diakopter: No, it'll just push that evaluation onto the list of seen results | ||
diakopter: They aren't for counting | 19:42 | ||
They're for seeing how something changes over time. | |||
sorear | japhb: gdb uses 'finish' to mean 'step until end of routine', and 'return' to mean 'inject a return statement *now* and don't run the rest of the routine' | ||
japhb | 'b' for set breakpoint, 'B' for delete, for instance | ||
diakopter | or, a logging watch expression | ||
*oh | |||
sorear | japhb: the WebKit Javascript debugger uses 'Step In', 'Step Out', and 'Step Over' | ||
jnthn | It's like print statement debugging without adding anything to the program and being able to add them dynamically | 19:43 | |
japhb: Yeah, that's a little too huffmanized for me. | |||
japhb | Huh. I guess this is an opportunity for us to decide what linguistically makes the most sense for us, since there isn't a really clear precedent. | ||
jnthn | japhb: That also. | ||
Mostly I want to strike a balance between not having to type too much when you learn it and learnability. | 19:44 | ||
japhb | I like your syntax a bit better. "bp add"-style syntax is easier to remember | ||
sorear | japhb: ever play with DEBUG.COM and/or the Macintosh ROM debugger? | ||
japhb | Man, I'd almost forgotten the DEBUG.COM days. Actually, I don't think I used that one much. More of Turbo Debugger, once I started DOS programming. Before that I was using EDTASM+ on the Color Computer, and before that ... well, I didn't really know how to use a debugger in my CP/M days. :-) | 19:46 | |
colomon | CP/M! | 19:51 | |
19:54
raiph joined
|
|||
sjohnson | ahh. debug.com | 19:54 | |
19:59
Patterner left
20:03
grondilu joined
20:06
GlitchMr left,
mucker left
|
|||
flussence | it seems absurd now, but the first "programming" I ever did was on one of those game console add-on cartridges with a built in hex editor... 1kB of user code! Over 4 opcodes to choose from! | 20:06 | |
(fortunately I got an actual computer not long after that :) | 20:07 | ||
moritz | it took me a while to realize that "debug.com" isn't a domain, but a DOS executable :-) | 20:08 | |
20:08
am0c joined
|
|||
jnthn | :D | 20:08 | |
Conversely, when I first saw a foo.com I momentarily wondered if websites were executables... :) | 20:09 | ||
flussence | I've come across a few that use .exe CGIs... | ||
20:16
kaare_ left,
zby_home left
20:20
arlinius joined
20:22
wamba left
|
|||
popl | You people are old. ;P My first programmable computer was a Color Computer 2. | 20:22 | |
tadzik | mine was 386, but I'm the youngest one here ;) | 20:23 | |
sorear | mine may also have been a 386? all I know for sure is that it was running Windows for Workgroups 3.11 and had 8 MB of RAM | 20:24 | |
grondilu | my API to openssl digests (github.com/grondilu/openssl) do not work with binary numbers (charactrs above 128). I can't figure out why. If someone has an idea, feel free to leave a comment, tell me later or something. | ||
tadzik | mine had 3.1, later upgraded to 3.11 | ||
also, Norton Commander | |||
grondilu | s/binary numbers/binary strings/ | 20:25 | |
moritz | define "does not work" | 20:26 | |
does give wrong results? or segfault? | |||
popl | sorear: Windows 3.1 only required a 286 so it could have been a 286. | ||
oh wait | |||
3.11 | |||
20:27
hoelzro|away is now known as hoelzro
|
|||
popl | sorear: 386 then | 20:27 | |
hoelzro | hi guys | ||
moritz started with 684 | |||
grondilu | moritz: it does not return the expected digest. | ||
20:28
wamba joined
|
|||
popl | s/with/in/ ? | 20:28 | |
I am joking, I do not even know you moritz. Please do not take offense. :P | |||
hoelzro | so I'm trying to build a rakudo * package on Arch Linux, and during make install, nqp is complaining that it can't find Perl6/Grammar.pbc. That's probably because the PBC file has been written to a staging directory for now; is there an environment variable I can set to get nqp/parrot/whatever to look in that location? | ||
moritz | erm, 486 | ||
popl: no offense taken | |||
[Coke] | my earliest programmable computer was the atari400. (followed sooner after by the C64, the C128, and the Atari500) | 20:29 | |
popl | atari! | ||
[Coke] | er, Amiga500. ETOOMUCHATARI | ||
sorear | also, I was approximately 7 when I started playing with said 386 | ||
moritz | grondilu: that's because Str.chars returns number of codepoints | ||
grondilu: but openssl wants the number of bytes | 20:30 | ||
sorear | surely openssl bindings should use Buf, not Str ? | ||
popl | Haha: 'also known as the A500 (or its code name "Rock Lobster")' | 20:31 | |
[Coke]: ^ | |||
moritz | sorear: there's no easy way to use Buf and NativeCall together atm | ||
hoelzro | is anyone able to help me with my issue building a rakudo * package? | 20:34 | |
grondilu modifies code to avoid using chars for buffers | 20:35 | ||
dalek | ecza: bbf7bbd | (Solomon Foster)++ | lib/ (3 files): Pull in John D. Cook's Special Functions C# module and use it to implement Real versions of gamma and expm1. |
20:38 | |
[Coke] | hoelzro: I don't understand what you mean by staging directory - how is this different from a normal build? | 20:40 | |
sorear | [Coke]: when you're building a .rpm or .deb, you don't want the build to affect the build system | 20:41 | |
[Coke]: so you do somethinkg like --prefix=$PWD/tmp | |||
[Coke]: but, if the software compiles in paths (like Rakudo does), they need to be correct for a _final_ install location of /usr | 20:42 | ||
hoelzro | right | 20:43 | |
so make install is trying to compile the debugger | |||
sorear | moritz: uh oh | ||
hoelzro | but Perl6/Grammar.pbc is still in $pkgdir/... | ||
20:46
kurahaupo joined
20:48
zpmorgan joined
|
|||
grondilu | even if I explicitely use $buf.elems for the length of the string made out of $buf, it still does not give the expected digest: paste.siduction.org/20121011204932 | 20:50 | |
[Coke] | so you install it where you know it doesn't go and then fixup paths later? | ||
sorear | [Coke]: sounds about right | 20:53 | |
hoelzro | is there a way to tell NQP additional directories to search? | 20:56 | |
like PERL6LIB | |||
flussence | r: say +$*IN.lines | 20:57 | |
p6eval | rakudo 547fcb: OUTPUT«1» | ||
flussence | if I do "say +open('/usr/share/dict/words').lines", niecza takes 6 seconds and rakudo takes 51. | 20:58 | |
20:59
sqirrel left
21:01
hash_table left
21:02
skids left
|
|||
hoelzro | does anyone have a Rakudo * 2012.09 RPM/DEB spec file I could look at? | 21:02 | |
I'd really like to make a package for Arch. | |||
21:03
birdwindupbird left
|
|||
dalek | rl6-bench: b8957ae | (Geoffrey Broadwell)++ | bench: Detect compiler versions at start of benchmark run |
21:12 | |
jnthn | Debugger has some basic tracepoint support now | 21:14 | |
jnthn thinks he probably has almost enough stuff to show in his talk on it now :) | |||
21:14
flightrecorder left
|
|||
japhb | jnthn++ | 21:16 | |
21:16
hoelzro is now known as hoelzro|away
|
|||
japhb | jnthn, have you hooked up the debugger repo to feed dalek? | 21:17 | |
jnthn | no | 21:18 | |
Is it interesting/worthwhile? | |||
japhb | I think so, yes | ||
I like the warm fuzzies I get from seeing commit messages on cool projects. :-) | 21:19 | ||
Plus I learn a lot by clicking on diff links for interesting-sounding commits. | |||
dalek | kudo-debugger: 9bec898 | jnthn++ | lib/Debugger/UI/CommandLine.pm: Implement step over. It takes care to try and do the right thing in the case of recursion, and recognizes when you step to a stack frame below the one you were doing a step over in, so it will pause just outside of it. |
21:20 | |
kudo-debugger: e2daca3 | jnthn++ | lib/Debugger/UI/CommandLine.pm: Factor out file/line pos parsing. |
|||
kudo-debugger: 93a4325 | jnthn++ | lib/Debugger/UI/CommandLine.pm: Implement basic tracepoints. |
|||
21:20
wamba left
|
|||
jnthn | japhb: be happy :) | 21:20 | |
japhb | I already am. ;-) | 21:21 | |
21:22
fgomez joined,
sisar joined
|
|||
flussence | ooh, it does colour! | 21:22 | |
21:23
wamba joined
21:29
tokuhiro_ left
21:32
fgomez left,
Chillance left
|
|||
flussence | that code's a lot easier to understand than I would've imagined a debugger to be :) jnthn++ | 21:36 | |
21:38
thou left
|
|||
tadzik | self.complain_about_being_dying() | 21:43 | |
so existentional... ;) | |||
21:46
MayDaniel left
|
|||
jnthn | :) | 21:47 | |
21:47
cognominal_ joined
|
|||
jnthn | sleep & | 21:47 | |
21:48
cognominal__ left
21:50
whiteknight joined
21:51
thou joined
21:53
thou left
21:59
aharoni left,
hash_table joined
22:02
bluescreen10 left
22:03
fgomez joined
22:09
wamba left
22:15
cognominal__ joined
22:17
cognominal_ left
22:18
am0c left
22:24
stopbit left
22:31
flightrecorder joined
22:38
cognominal__ left
22:40
cognominal__ joined
22:44
flightrecorder left
|
|||
japhb | Opinions requested: perl6-bench is currently a monolithic 'bench' script written in Perl 5 (to minimize timing effects from Perl 6 compilers), along with a few test files and mini-docs. However, the 'bench' script now has enough functionality in it, and more to come, that I'd like to split it into two: one script to do the core timing function, and another to do all the other things: formatting summaries, comparing multiple benchmarking r | 22:45 | |
uns, etc. | |||
So here's the part where I'd like the opinions: | |||
That core timing script pretty much has to remain Perl 5, as perl5 is the only thing that can do timings efficiently and with low enough variance. | 22:46 | ||
But the second script could be converted to Perl 6, which would of course -Ofun considerably. | |||
*However*, I hesitate a bit to do this because some of the Perl 6 compilers that perl6-bench can test (Perlito6 and I hope soon Pugs) could not compile/run modern Perl 6 code of that complexity. So even though I can benchmark them, they wouldn't be able to run the formatting program to see the results. | 22:48 | ||
22:48
cognominal__ left
|
|||
japhb | My question is: Is this an important enough consideration that I should leave the second script in Perl 5? | 22:48 | |
diakopter | why not use only one compiler for the results | ||
japhb | I'm leaning towards no, since I personally want to do the results script in Perl 6, but I'm not sure. | 22:49 | |
diakopter, What exactly do you mean? | |||
22:49
cognominal__ joined
|
|||
diakopter | eh | 22:51 | |
I'm not sure how else to put it | |||
why not use only one compiler to run the script that formats the results? | |||
japhb | Meaning, insist that e.g. Rakudo is the compiler I will assume when writing the formatting script? | 22:52 | |
And anything else is Not Supported (tm)? | |||
diakopter | sure | 22:54 | |
japhb | Fairy nuff. | ||
diakopter | or write in the rakudo/niecza subset intersection | 22:55 | |
and support two | |||
japhb | I was probably going to lean that way (supporting the intersection of the two) anyway, though I'm not above filing a bug for a feature I really want to use that's missing from one of them. ;-) | 22:56 | |
22:57
DeltaZ joined
23:05
DeltaZ left
23:11
grondilu left,
cognominal__ left
23:21
cognominal__ joined
23:26
grondilu joined
|
|||
grondilu | rn: my $m = module {}; say $m.WHAT; | 23:26 | |
p6eval | niecza v22-7-g7df6137: OUTPUT«(timeout)[auto-compiling setting]» | ||
..rakudo 547fcb: OUTPUT«<anon>()» | |||
grondilu | weird | 23:27 | |
grondilu had the idea of trying that while reading S11 | |||
« A named module declaration can occur as part of an expression, just like named subroutine declarations | 23:28 | ||
» | |||
23:32
cognominal__ left
23:35
rindolf left
23:37
thou joined
23:48
skids joined
23:53
rhr left
23:55
rhr joined
|