»ö« 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.
FROGGS gnight 00:13
rurban bbkr: Looks like parrot wants to follow the established POSIX and perl5 behaviour. The specs need to changed. 00:20
socket.read returns max len bytes 00:21
but not guaranteed len bytes
pubs.opengroup.org/onlinepubs/00969.../read.html
The size argument is for languages which do not malloc buffers by themselves. The receiving buffer must be preallocated and the recv() function writes into it. 00:23
rurban But I'm not sure what the high-level parrot socket.read() method should do, since we provide the low-level recv() method also. 00:25
bbkr rurban: thanks for explanation. I've created Rakudo bug - rt.perl.org/rt3/Public/Bug/Display...?id=116288 because now Perl 6 spec is different than Rakudo behavior - ergo a bug (even if it may be rejected if perl 6 spec will change to follow POSIX way in the future) 00:41
I will copy/paste your above explanation there if you don't mind 00:42
doy perl 6 doesn't really have to follow posix 00:45
doy the spec behavior does seem more useful, given the wider variety of language features available to deal with the issues that the posix api is designed to work around 00:47
bbkr doy: i agree 00:49
bbkr FROGGS: rt.perl.org/rt3/Ticket/Display.html?id=116288 ticket about IO::Socket.read that we discussed earlier 00:52
timotimo so, *tomorrow*, i'll so totally do that screencast. for Reals. or maybe for Nums or maybe even just for Integers. 01:51
japhb_ timotimo, Pick one: doc.perl6.org/images/type-graph-Real.svg ;-) 02:39
felher Good morning, #perl6 :) 07:54
masak: I took a look at your solution. Very nice :)
moritz \o 08:07
felher o/ 08:08
FROGGS morning 08:14
moritz rakudo: say :10(':16<bad.decaf>') 08:15
p6eval rakudo cdb0fa: OUTPUT«Type check failed for return value; expected 'Numeric' but got 'Failure'␤ in sub unbase at src/gen/CORE.setting:4850␤ in block at /tmp/GgNNi1iR0o:1␤␤»
moritz rakudo: say ( { 1 + 1 }, { 2 + 2 } )>>() 08:16
p6eval rakudo cdb0fa: OUTPUT«===SORRY!===␤Error while compiling block : Error while compiling op call: Error while compiling block : Error while compiling op call: Error while compiling op call: Unknown QAST node type NQPMu␤»
dalek kudo/froggs_mergemulti: 758537f | (Tobias Leich)++ | t/spectest.data:
added test file import-multi.t

These tests cover the import and merging of multi subs and traits.
08:17
moritz std: my @a = 1, 2; say $a[0] 08:20
p6eval std a8bc48f: OUTPUT«===SORRY!===␤Variable $a is not predeclared (did you mean @a?) at /tmp/c_jGu1H0In line 1:␤------> my @a = 1, 2; say ⏏$a[0]␤Check failed␤FAILED 00:00 45m␤»
moritz r: my $j='A'|'B'; my $pair = $j=>'k'; $pair.kv.say 08:21
p6eval rakudo cdb0fa: OUTPUT«any(A, k, B, k)␤»
moritz r: my $j='A'|'B'; my $pair = $j=>'k'; $pair.perl
p6eval rakudo cdb0fa: ( no output )
moritz r: my $j='A'|'B'; my $pair = $j=>'k'; say $pair.perl
p6eval rakudo cdb0fa: OUTPUT«any("A" => "k", "B" => "k")␤»
moritz r: my $junc = 'A' | 'B' | 'C'; my %foo = $junc => 'a value'; say %foo.perl 08:22
p6eval rakudo cdb0fa: OUTPUT«("C" => "a value").hash␤»
FROGGS moritz: you're checking RT tickets?
moritz FROGGS: yes
dalek ast: 06074b4 | moritz++ | S04-statements/for.t:
RT #78406, block parameter ro/rw issues
08:27
Woodi morning # :) 08:48
is there in Perl6 something like Delphi 'with' ? eg.: with: is native( 'libfoo' ) is export { sub foo1(); sub foo2() } 08:50
sorear Woodi: use sub 'options' is specced to behave in that sort of way, but it's very slushy 08:52
Woodi checking... 08:53
cannot find anything in C tags... this feature adds something to block ({}) which should be textually applied to things inside. in Delphi it worked for objects, something like { .foo } or { foo } work on $_. 09:00
something like: ax + bx == x(a+b) but for blocks :) 09:01
Woodi hmm, macro ? 09:03
dalek ast: 6d4ae89 | moritz++ | S32-exceptions/misc.t:
RT #79162: two terms in a row error message
09:49
moritz std: say "Hello"\#`[Fnord],"World!" 10:13
p6eval std a8bc48f: OUTPUT«ok 00:00 43m␤»
moritz r: / a :: b / 10:14
p6eval rakudo cdb0fa: OUTPUT«===SORRY!===␤:: not yet implemented␤at /tmp/mkn8z2MUXF:1␤------> / a ::⏏ b /␤»
moritz rakudo: my $a = 42; say "$a [<file>]" 11:25
p6eval rakudo cdb0fa: OUTPUT«42 [<file>]␤»
dalek ast: b741f8d | moritz++ | S02-literals/quoting.t:
RT #85506, interpolation followed by whispace and brackets
11:28
kresike hello all you happy perl6 people 11:32
moritz \o kresike
r: say "OH HAI @a<"
p6eval rakudo cdb0fa: OUTPUT«===SORRY!===␤Unable to parse quote-words subscript; couldn't find right angle quote␤at /tmp/DYuG2g5j2V:1␤------> say "OH HAI @a<"⏏<EOL>␤ expecting any of:␤ postfix␤»
kresike moritz, o/
moritz std: say "OH HAI @a<"
p6eval std a8bc48f: OUTPUT«===SORRY!===␤Unable to parse quote-words subscript; couldn't find right angle quote at /tmp/w2LM11xhlt line 1:␤------> say "OH HAI @a<⏏"␤ expecting escape␤Parse failed␤FAILED 00:00 42m␤»
dalek ast: 472b0b8 | moritz++ | S02-literals/quoting.t:
RT #90124, unclosed quote after array variable is an error
11:35
moritz rakudo: my $i; sub foo { say $i if ++$i %% 50; eval "foo" }; foo 11:36
p6eval rakudo cdb0fa: OUTPUT«(timeout)50␤100␤150␤200␤250␤300␤»
dalek ast: 7d22621 | moritz++ | integration/weird-errors.t:
RT #90522: recurse into eval
11:39
kudo/nom: 70262f8 | moritz++ | src/utils/perl6doc (3 files):
delete old perl6doc files
11:45
moritz r: my $x; sub foo () { $x }; foo = 5 11:46
p6eval rakudo cdb0fa: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix = instead␤at /tmp/GhK2ZJJVmA:1␤------> my $x; sub foo () { $x }; foo =⏏ 5␤»
masak good time unit, #perl5 11:49
er, #perl6 :) 11:50
masak .oO( the keys are, like, right next to each other )
colomon o\
masak moritz: I never did ask you how you derived that analytical formula yesterday. how did you do it? :)
moritz masak: let P(x) be the probability that the loop length is x 11:51
masak ah, I thought so :)
moritz then the expectation value is sum x * P(x)
masak yes, I was doing some errands today and thinking about it.
moritz so, P(1) = 1 / N
masak aye.
moritz P(2) = (N - 1) / N * 1 / N 11:52
masak moritz++
moritz and so on
masak et cetera ad -Ofunum. 11:52
moritz the generalization is P(x) = N! / (N - x)! * x/N^x # plus or minus a factor N
masak now all that remains is finding a closed form :) 11:53
masak wishes he were better at generatingfunctionology
moritz fwiw, wolframalpha didn't find a closed form 11:54
masak Knuth essentially says there is one. (but I think he remembers it wrong) 11:55
moritz he could very well be right
it totally smells like it could have one
masak aye.
moritz though my statistical physics knowledge isn't of much help here 11:56
because I can't just substitute the sum by an integral :-)
masak :) 11:57
moritz off topic remark: statistical physics is a rather beautiful field, in a sense of theoretical purity, because you need only one assumption for the whole field, and that's a very sensible one 11:59
moritz the math is a bit ugly, occasionally, but that's OK :-) 11:59
masak what's the assumption? 12:01
moritz en.wikipedia.org/wiki/Ergodic_hypothesis # this one
masak the most beautiful math I've studied, by far, is complex analysis.
moritz simplified a bit, it means that non-degenerate states of the same energy mean same propability of finding a particle/system there 12:02
dalek ast: 0d9fc5d | moritz++ | S32-exceptions/misc.t:
RT #92408: detect obsolete use of . as concatenation operator
moritz masak: you should have received a few emails from RT :-) 12:03
masak I did. each one is like a new flavor of happy. :> 12:04
moritz :-)
masak (the #perl6 community is like a big multi-national machine geared towards one thing: fixing my bug reports) :P 12:05
moritz we even do analytical calculations to solve your mini-challenges :-) 12:06
masak :D
moritz r: enum A <b c d>; say b.succ.WHAT 12:07
p6eval rakudo cdb0fa: OUTPUT«Int()␤»
masak one more observation on chromatic/reddit from the last few days: it seems to me that there should be a name for the bias that happens when someone looks at a project, thinking "how hard could it be?"
moritz overconfidence 12:08
no, that's not quite it
masak if there's one thing that my ~1440 bug report have taught me, it's that implementing anything of this size is *hard*.
like really, really, hard.
it's not that the Rakudo core developers are incompetent. in fact, they some of the best developers I know. 12:09
they're
*
and Niecza and Pugs exhibit bugs too.
moritz there are two types of projects: those with lots of (discovered) bugs, and those that nobody uses
masak something like that :) 12:10
errand, bbl &
moritz r: class A { has $!b = 10; method foo() { say self!b }; }; my $b = A.new; $b.foo 12:11
p6eval rakudo 70262f: OUTPUT«No such private method '!b' for invocant of type 'A'␤ in method foo at /tmp/Rhhnue_16p:1␤ in block at /tmp/Rhhnue_16p:1␤␤»
moritz rakudo: class A { multi trait_mod:<is>( $r, :$rwr!) { $r.set_rw(); }; sub b is rwr { }; }; 12:13
p6eval rakudo 70262f: ( no output )
moritz I've been pondering (and partially practising) this for a while now, but I'd also like to talk about it now: include a bit of background information in error messages 12:17
for example, don't just write "cannot open file $filename for writing: $!" 12:18
but give some hint *why* you are trying to write to $filename in the first place
is it some state file? lock file? saved history? internal database? 12:19
moritz often that can make it much easier for the user to find out what's going on 12:19
</pondering> 12:20
arnsholt Speaking of chromatic's latest, I'm not sure what he means with "impedance mismatch of an alien memory model". Anyone know what he's referring to? 12:25
moritz shakes his head 12:27
cognominal_ Adding a rule to the Perl 6 grammar to detect bad decimal number gets the setting parsing to fail : gist.github.com/4452294 12:33
cognominal_ can someone shed light on that? 12:33
someone already spammed my gist. :( Deleted the spam. 12:34
FROGGS cognominal_: is there a method .malformed in nqp? 12:40
cognominal_ FROGGS: src/Perl6/Grammar.pm:232: method malformed($what) { 12:41
but the problem is not calling malformed. It is that the modified dec_number rule is incapable to parse the line : nqp::sleep(1e16) while True; 12:42
FROGGS ahh, sorry, thought you are talking about nqp
maybe the precedence of | and || ? 12:43
cognominal_ I think I tried that to.
cognominal_ …meaning using | instead of || 12:45
FROGGS I would try adding [ ] around the first three parts 12:46
FROGGS hmmm, no 12:48
cognominal_ adding the [] makes it to fail to recognized a range. It fails in the setting at range => (0..0) 12:56
cognominal_ that proves that my approach is naive anyway. 12:58
timotimo a 12:59
(er, why are backspace and return so close to each other?)
my gut feeling tells me "you need to match a white space there, too", but that may be wrong, too. 13:00
cognominal__ My approach breaks the LTM philosophy. I would like to be able to say : "if the parse fails later, that was because of a wrong decimal number:. 13:03
dalek kudo-js: e213611 | (Paweł Murias)++ | run_tests:
[nqp] add passing test 59 to run_tests
13:05
kudo-js: ff593aa | (Paweł Murias)++ | run (2 files):
[nqp] support :p in NQPCursor.parse, <alpha> (not yet for unicode), pass test 50
kudo-js: a033d1b | (Paweł Murias)++ | t/99-test-basic.t:
remove leftover
kudo-js: 0ee5667 | (Paweł Murias)++ | / (4 files):
start of switching to using 6model serialization, nqp::say("Hello World") works
kudo-js: 6b668cd | (Paweł Murias)++ | / (4 files):
[nqp] parse parts the serialized objects format, emit code to load the setting
kudo-js: 4067912 | (Paweł Murias)++ | / (7 files):
Loading of a minimial nqp setting works. We pass 2 tests.
masak moritz: I've seen the tip "give a hint of why" before. I believe it's a sound one. I try to aim for "wanted to do <task X> but <error condition Y>" in most of my error messages. 13:06
cognominal__ what I need is some kind of "forward backtracking" so that when the parser backtrack into dec_number it matches <decint> '.' <.malformed: 'decimal number'> 13:40
so that 1..2 will succeed and 1. + 2 fails 13:41
timotimo have you tried if matching a whitespace or some kind of terminator or negative lookahead would help? 13:42
also, are you making sure to check that there's no postfix:<.> operator?
cognominal__ I say forward backtracking because for "1. + 2", dec_number first succeeds but the calling rule fails so "1." is matched next and fail because of the .malformed 13:43
timotimo: I am not sure to understand what you propose
timotimo i'm not sure if i understand what i propose, either :| 13:44
cognominal__ :)
kresike timotimo++ #trying ☺ 13:45
cognominal__ timotimo: I need a scheme so that 1..2 will succeed and 1. + 2 fails and I want the fail to happen in the rule dec_number 13:46
timotimo kresike: do or do not, there is no try :P
cognominal__ I learn a lot by analysing my repeated fails. I wish I could be right the first time. 13:47
kresike yes, Master ☺
masak I would be content with learning after the first failure ;) 13:57
cognominal__ so would I 13:58
masak moritz: hakank did a curve fitting of the sum, and got -0.236701 + 1.22197 n^0.504039 14:06
moritz r: say exp(0.504039) 14:08
p6eval rakudo 70262f: OUTPUT«1.65539392226111␤»
moritz r: say exp(0.504039) * 2
p6eval rakudo 70262f: OUTPUT«3.31078784452222␤»
moritz r: say 9 % -9 14:17
p6eval rakudo 70262f: OUTPUT«0␤»
moritz r: say 9 % (-9)
p6eval rakudo 70262f: OUTPUT«0␤»
masak moritz: I think we can safely assume that the exponent is actually 0.5 14:18
I attacked the 1.22197 factor, but with no luck. 14:19
[Coke] fails to install Curses.pm in a perlbrew on feather. hurm.
moritz libncurses5-dev is installed
masak if Knuth's formula were correct, then the 1.22197 factor should actually be 0.8862269 14:20
r: say sqrt(pi)/2
p6eval rakudo 70262f: OUTPUT«0.886226925452758␤»
[Coke] moritz: thank you for reminding me that sysperl might actually do what I want! ;) 14:22
dalek ast: 288969f | moritz++ | S05-capture/named.t:
RT #107746, named capture when proceeded by a quantified capture
14:24
moritz it's amazing how many of the open bugs are about error message not being (quite) right 14:27
JJ_Brain Hi. I have reworked my proof of P=NP mathbin.net/136918 14:32
masak JJ_Brain: please stop bothering us with this.
masak moritz++ # I was going to give him one more chance, but I doubt it'd've helped 14:34
cognominal__ some get it wrong and don't learn from it 14:36
masak well, this is a kind of double error, too. (a) submitting a word-salad P=NP proof for people's perusal, and (b) doing it here. 14:39
PerlJam starts composing his proof that proofs that contain the phrase "most likely" aren't real proofs ;) 14:40
[Coke] seemslegit.com 14:42
dalek ast: 6ec4397 | moritz++ | S12-attributes/instance.t:
RT #110096, attributes in a sub in a class
14:48
href="https://perl6.org:">perl6.org: cac35bf | Carlin++ | source/about/index.html:
Update source/about/index.html

update my domain
  theintersect.org will expire soon and could end up pointing anywhere
moritz perl6: ?(all() ~~ /^ \d+ $/) 14:51
p6eval rakudo 70262f: OUTPUT«This type cannot unbox to a native string␤ in any at src/gen/BOOTSTRAP.pm:99␤ in any !cursor_init at src/stage2/QRegex.nqp:551␤ in method ACCEPTS at src/gen/CORE.setting:10579␤ in block at /tmp/bfq0gGj3k0:1␤␤»
..niecza v24-12-g8e50362: ( no output )
moritz r: say all().perl
p6eval rakudo 70262f: OUTPUT«all()␤»
[Coke] r: say all(1..*).perl 14:58
p6eval rakudo 70262f: OUTPUT«(timeout)» 14:59
moritz r: say (<[ ]> xx 10).pick(*).join
p6eval rakudo 70262f: OUTPUT«[][][][][][][][][][]␤»
moritz r: say (<[ ]> xx 10).flat.pick(*).join
p6eval rakudo 70262f: OUTPUT«[[]][][[]]]][][][][[␤»
timotimo r: say (<[ ]> xx 4).perl 15:00
p6eval rakudo 70262f: OUTPUT«(("[", "]"), ("[", "]"), ("[", "]"), ("[", "]")).list␤»
moritz .pick should flatten, but doesn't
timotimo r: say ((1, 2) xx 4).perl
p6eval rakudo 70262f: OUTPUT«((1, 2), (1, 2), (1, 2), (1, 2)).list␤»
timotimo didn't know it did that. good to know 15:01
[Coke] is there a good read on lists, flattening, eager, etc? 15:03
I am continually surprised by rakudo here, so I need to update my brainmodel.
moritz doc.perl6.org/type/List has a bit
though probably not enough
timotimo i'd appreciate more text, too 15:04
[Coke] so, doc.perl6.org/type/List#Items%2C+Fl...and+Sigils might have answered the for loop question from the other day. 15:10
timotimo that anchor doesn't seem to work for me
[Coke] where $thing<that> had a List in it, but was treated as a single item unless you specifically said ".list"
timotimo: got it from chrome, clicking on similarly named entry in TOC 15:11
r: say <a 3 2>flat
p6eval rakudo 70262f: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/ZQK9JrqKYk:1␤------> say <a 3 2>⏏flat␤ expecting any of:␤ postfix␤ infix or meta-infix␤ infix stopper␤ statement end␤ statement modifier␤ state…
[Coke] r: say <a 3 2>.flat
p6eval rakudo 70262f: OUTPUT«a 3 2␤»
timotimo id="Items%2C+Flattening+and+Sigils" - is that even correct?
[Coke] moritz: that doc is missing .flat 15:11
[Coke] there is a conflation of + and " " which is not correct in ids (but is in URLS) 15:12
[Coke] er, not quite a conflation, but when you say "+" in the URL, that isa " ", so some browsers might be looking for an id of "Items, Flattening and Sigils" 15:14
timotimo right
masak long live IRC -- royal.pingdom.com/2012/04/24/irc-is...-live-irc/ 15:19
preaching to the choir here, of course :)
arnsholt Yeah, it was neat to see Freenode consistently growing 15:25
PerlJam I wonder if they have the data for those graphs from earlier. Say ... 1992 or so (when I first got on IRC :) 15:29
Woodi yes, since many years active new ircers recruiting is done only by via software: open source communities and game devs and pro-players :) 15:42
Woodi and some social activist too 15:43
moritz so, what would be the correct way to generate the ID?
or the anchor link, for that matter?
timotimo slugify the text, replace whitespace with _ and remove/describe special characters? 15:46
[Coke] irc-- 15:47
moritz well, the "describe special characters" is exactly what I'm interested about
[Coke] timotimo: I would probably do that, aye. make "safe" ids.
moritz more accurately, s/describe/escape/
kresike bye folks 15:48
[Coke] doesn't have to be escaped, though. you can just tr them all to _ 15:48
you want to keep unique ids (which this will slightly hurt) and keep them readable in the URL.
we do this for some links we have in house; instead of IDs, they are extra path info, so we have something like /thing/2343/This_is_the_name_of_the__thing__ 15:50
just so the user can see where they are going.
(and then we don't care what's after the id anyway)
moritz [Coke]: well, I want a simple reordering of headings not to lead to different tag locations 15:52
moritz [Coke]: and if I tr them all to _, then infix:<+> and infix:<-> are looking pretty much the same :( 15:52
colomon wonders if sorear is awake... 15:56
not_gerd hello, #perl6 15:57
moritz \o not_gerd
not_gerd moritz: irclog.perlgeek.de/perl6/2012-12-23#i_6271152
moritz not_gerd: yes, I've seen that, but it's butt ugly
moritz is there really no variant of ordinary URL encoding that works reliably for anchors? 15:58
not_gerd (original use case was mangling arbitrary unicode names to C identifiers) 15:59
moritz: there's not a lot of choice in encoding schemes: 16:00
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
so URL encoding is out 16:01
moritz so + and % are disallowed
not_gerd yes
moritz swears loudly
not_gerd though browsers might support it anyway)
a more readable alternative would be transliteration with a lookup table, eg + --> op-plus, ++ --> op-plus-plus 16:04
dalek kudo-js: 6288160 | (Paweł Murias)++ | / (4 files):
pass more tests
[Coke] not_gerd: mm, that's probably the best option. 16:05
moritz considers writing a module for it 16:07
dalek kudo-js: 63a4e76 | (Paweł Murias)++ | runtime.js:
remove js code for runtime subs which are now in the nqp setting
16:32
not_gerd commented on chromatic's blog posting: gist.github.com/f8dcceb9bcc7fc1c09c5 16:51
moritz nqp: sub f() { nqp::die("foo"); CATCH { nqp::die("bar" } } 17:13
p6eval nqp: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}' at line 2, near "nqp::die(\""␤current instr.: 'panic' pc 13231 (src/stage2/gen/NQPHLL.pir:4687) (src/stage2/gen/NQPHLL.pm:328)␤»
moritz nqp: sub f() { nqp::die("foo"); CATCH { nqp::die("bar") } }; f();
p6eval nqp: OUTPUT«(timeout)» 17:13
TimToady reboots... 17:20
TimToady checking logs...1% done 17:25
moritz welcome back TimToady
TimToady not back yet, still rebooting... 17:26
raiph (hits F10 to interrupt boot process): TimToady: do you use the irclog summary? 17:32
moritz jnthn: ping 18:02
jnthn: I'd like to address the old problem that 'perl6 nosuchfile' produces such a long backtrace, but I don't really know how 18:03
moritz the old trick (catch the error, rethrow into something that knows how to produce a pretty or no backtrace) doesn't seem to work easily, because a setting is never loaded in that case 18:04
any ideas?
dalek rl6-roast-data: 0de4f2c | coke++ | / (4 files):
today (automated commit)
18:12
moritz r: sub f($x = 1|2|3) { $x }; say f 18:14
[Coke] asks if anyone has an interest in fudging pugs.
p6eval rakudo 70262f: OUTPUT«(timeout)»
moritz hasn't 18:15
[Coke] r: @-0
p6eval rakudo 70262f: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name␤at /tmp/52SdGjLS3Y:1␤------> @⏏-0␤ expecting any of:␤ statement list␤ prefix or term␤ prefix or meta-prefix␤»
PerlJam moritz: maybe we need a die_without_backtrace
moritz PerlJam: that's easy enough to make on the Perl 6 level
PerlJam: but the code in question is all NQP 18:16
PerlJam nqp::die_without_backtrace :)
moritz r: class X::AdHoc::WithoutBT is X::AdHoc { method gist { self.message } }; method die-without-clutter($payload) { X::AdHoc::WithoutBT.new(:$payload).throw }; sub foo() { die-without-clutter 'OH HAI' }; foo() 18:17
p6eval rakudo 70262f: OUTPUT«Useless declaration of a has-scoped method in mainline␤===SORRY!===␤Undeclared routine:␤ die-without-clutter used at line 1␤␤»
moritz r: class X::AdHoc::WithoutBT is X::AdHoc { method gist { self.message } }; sub die-without-clutter($payload) { X::AdHoc::WithoutBT.new(:$payload).throw }; sub foo() { die-without-clutter 'OH HAI' }; foo()
p6eval rakudo 70262f: OUTPUT«OH HAI␤»
moritz no backtrace 18:18
raiph [Coke]: Can you help me understand "plan", "spec", etc. in the daily roast stats? 18:25
(jnthn++ explained them to me a few weeks back but I am still confused.) 18:26
Aiui:
"plan" means the sum of explicit plan numbers from tests that were run 18:27
raiph "spec" means the total based on a static analysis of the tests 18:28
raiph I'm pretty sure my understanding is wrong... 18:29
masak moritz: you can ping jnthn, but you won't get a pong in three days, methinks. 18:30
FROGGS_ moritz: you might ask JJ_Brain for help :p 18:44
moritz masak: oh well, I guess he'll backlog 18:56
moritz 's ping has a pretty large TTL 18:57
sergot hi o/ ! ! 19:01
dalek ast: 1c992e3 | moritz++ | S02-literals/quoting.t:
RT #114090, declaration in interpolation
[Coke] raiph: those come directly from roast's test_summary.pl 19:07
raiph [Coke]: oh! i'll go read it. thanks! 19:08
[Coke] (good, because I have no idea what the difference between spec & Plan is. :) 19:09
er, test_summary (no pl)
moritz r: say (1,2,3).map: { return 1 } 19:12
p6eval rakudo 70262f: OUTPUT«Can not get attribute '$!storage' declared in class 'Parcel' with this object␤ in method reify at src/gen/CORE.setting:5410␤ in method reify at src/gen/CORE.setting:5408␤ in method gimme at src/gen/CORE.setting:5798␤ in method eager at src/gen/CORE.setting:5777…
dalek ast: 096b88b | moritz++ | S03-operators/repeat.t:
RT #114670, "str" x Int
19:16
masak r: FIRST say "OH HAI" 19:23
p6eval rakudo 70262f: ( no output )
masak r: LAST say "OH HAI" 19:24
p6eval rakudo 70262f: ( no output )
diakopter r: LEAVE say "OH HAI"
p6eval rakudo 70262f: OUTPUT«OH HAI␤»
masak r: KEEP say "OH HAI" 19:26
p6eval rakudo 70262f: ( no output )
masak aww :/
[Coke] FIRST LAST LEAVE KEEP say "eek!";
r: FIRST LAST LEAVE KEEP say "eek!"; 19:27
p6eval rakudo 70262f: OUTPUT«eek!␤»
diakopter r: CATCH { say "OH HAI" }
p6eval rakudo 70262f: ( no output )
dalek kudo/nom: 6d4b902 | moritz++ | src/core/Temporal.pm:
fix DateTime.Date (RT #114758)'
20:55
ast: d0102a3 | moritz++ | S32-temporal/DateTime.t:
test DateTime.Date conversion
20:56
moritz r: say {%*ENV}.WHAT 20:58
p6eval rakudo 70262f: OUTPUT«Block()␤»
sorear colomon: hi 21:01
colomon o/
[Coke] colomon: HIO 21:02
colomon sorear: I think I've figured out that you can get an attribute via o1.GetSlot(o1.mo, "$!val") 21:02
sorear: but I don't yet have a clue what that actually returns. Well, other than it's not a P6any. 21:03
[Coke]: \o
sorear colomon: got your mail, writing reply
colomon sorear: danke 21:04
colomon has new glasses, and is once again amazed at what the world looks like 21:05
masak it is indeed quite amazing. 21:08
tadzik bah, I do need a pair too
sorear colomon: sent 21:09
colomon sorear++ # think that's enough for me to get the job done 21:10
colomon niecza> now - now 21:13
-0.00014615058898925781
r: say now - now
p6eval rakudo 6d4b90: OUTPUT«-0.0202257␤»
moritz ++colomon 21:14
PerlJam That's way too much latency between ops ;)
tadzik n: say now - now 21:16
p6eval niecza v24-12-g8e50362: OUTPUT«Unhandled exception: Cannot use value like Instant as a number␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting line 293 (Any.Numeric @ 6) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /tmp/0OO3kXutF2 line 1 (mainline @ 4…
colomon moritz: alas, my first version was cheating a bit (wouldn't have worked for classes derived from Instant) and my attempt to do it right is troubled.
moritz r: say "@a[]" 21:31
p6eval rakudo 6d4b90: OUTPUT«===SORRY!===␤Variable @a is not declared␤at /tmp/YCcw38DoVl:1␤------> say "@a[]⏏"␤ expecting any of:␤ postfix␤»
dalek ast: 8b533dd | moritz++ | S32-exceptions/misc.t:
RT #115396, undeclared variables in interpolating strings
21:36
alec is there a way to get the perl6 ebook in plaintext? 21:46
there are too many ligatures in it, imo
pdftotext doesn't even recognize some of them
so now i have a textfile full of words like 'speci cation' 21:47
Ayiko github.com/perl6/book/ ? 21:49
flussence You can run "make html" in the source tree
alec ok 21:50
alec compilation failed at bin/book-to-html line 3 21:52
can't locate Pod/PseudoPod/HTML.pm 21:53
is there an easy way to install that? 21:54
sorear colomon: reply
cpanm -S Pod::PseudoPod::HTML ?
alec ok 21:55
yes 21:58
colomon sorear++ # trying...
alec it works; html2text didn't have any trouble making plaintext
sorear++ 21:59
flussence++
Ayiko++
dalek osystem: d495511 | (Timothy Totten)++ | META.list:
Added WWW::App::Ballet, yet another Dancer-like web framework.
22:05
masak supernovus++ 22:14
masak 'night, #perl6 22:26
sorear colomon: reply 22:51
colomon sorear++ # that seems to have done it! 22:56
spectesting 22:59
timotimo panda isn't very happy when it's run with perl6-debug :| 23:25
bbkr If a Str is binary what is the fastest way to covert it into ascii or utf8? Str.encode.decode ? 23:27
latest parrot socket changes caused also get to return binary strings (spec does not say if they should be binary or not) 23:28
doy Str is unicode codepoints, Buf is bytes 23:29
bbkr that means we have rakudobug 23:30
bbkr IO::Socket.get in 2012.11 was returning unicode strings, in 2012.12 it is returning binary string 23:31
timotimo tadzik: if you have the time, the link to "masak's Pls" is dead by now and i'm not sure where it's meant to lead. 23:35
supernovus hmm, apparently read() and get() aren't the only broken methods since the IO refactor. SCGI is using recv() and it's not working either. 23:45
bbkr i cannot find recv in S32 23:48
supernovus Hmm, it must be a passthrough method to the underlying system. I'm refactoring SCGI to use read() in a Berekely style loop and will see what happens. 23:50
bbkr supernovus++ 23:52