Camelia, the Perl 6 bug

IRC log for #perl6, 2012-04-30

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:15 * [Coke] uses perl6 to show his daughter how to switch between Rats and Nums
00:25 colomon [Coke]++
00:45 allbery_b joined #perl6
00:46 whiteknight joined #perl6
01:03 dalek tablets: 63e72c7 | (Herbert Breunung)++ | docs/appendix- (3 files):
01:03 dalek tablets: polishing bits
01:03 dalek tablets: review: https://github.com/perl6/tablets/commit/63e72c7747
01:04 jferrero joined #perl6
01:12 wolfman2000 joined #perl6
01:17 tokuhirom joined #perl6
01:28 geekosaur joined #perl6
01:37 ponbiki joined #perl6
01:47 FACEFOX-DOT-COM joined #perl6
01:58 eviltwin_b joined #perl6
02:11 allbery_b joined #perl6
02:19 fgomez joined #perl6
02:21 oiig_ joined #perl6
02:29 colomon Serialization Error: could not locate static code ref for closure 'string_to_bigint'  ?
02:30 sorear what's that from?
02:33 geekosaur joined #perl6
02:37 colomon rakudo
02:37 colomon but niecza won't run the code either.  :)
02:38 colomon It's Math::Vector.  Actually, rakudo runs it okay (after my latest changes) but if you try to build a PIR you get the above message.
02:38 colomon Niecza seems to get upset because it defines a new multi for infix:<*>
02:45 orafu joined #perl6
02:47 plutoid joined #perl6
02:57 TimToady niecza does not yet allow multi overrides of builtins
02:57 TimToady that's what makes it nearly impossible to port DateTime
03:00 geekosaur joined #perl6
03:00 colomon TimToady: yes, I know.  it will thwart the Math::ContinuedFraction module as soon as that's ready to go to the next stage, too.  :(
03:08 envi_ joined #perl6
03:09 eviltwin_b joined #perl6
03:12 ponbiki joined #perl6
03:13 geekosaur joined #perl6
03:24 lichtkind joined #perl6
03:24 dalek tablets: 27ddcb7 | (Herbert Breunung)++ | docs/appendix- (2 files):
03:24 dalek tablets: backlink precedence table
03:24 dalek tablets: review: https://github.com/perl6/tablets/commit/27ddcb7ef3
03:25 lichtkind is there an any-operator or anything that is callen any lowercase (grep doesnt help here)
03:25 lichtkind if not i found i fossil
03:25 lichtkind in both cases please tell phenny
03:28 Su-Shee joined #perl6
03:30 TimToady sure, there's an any listop
03:31 TimToady goes with all, none, and one
03:46 mmol_saffron joined #perl6
03:47 vlixes joined #perl6
03:58 eviltwin_b joined #perl6
04:10 allbery_b joined #perl6
04:18 eviltwin_b joined #perl6
04:20 allbery_b joined #perl6
04:21 leprevost joined #perl6
04:22 geekosaur joined #perl6
04:37 havenn joined #perl6
04:39 ponpon joined #perl6
04:40 ponbiki joined #perl6
04:50 eviltwin_b joined #perl6
05:09 dalek joined #perl6
05:12 araujo joined #perl6
05:13 araujo joined #perl6
05:16 geekosaur joined #perl6
05:32 moritz oh shark
05:43 birdwindupbird joined #perl6
05:44 replore_ joined #perl6
05:45 GlitchMr joined #perl6
06:00 eviltwin_b joined #perl6
06:12 eternaleye joined #perl6
06:13 fhelmberger joined #perl6
06:46 sergot joined #perl6
06:46 sergot hi o/
06:49 kaleem joined #perl6
06:51 sorear o.
06:51 sisar \o
06:58 arnsholt Moin
07:02 vlixes left #perl6
07:06 NamelessTee joined #perl6
07:07 fglock joined #perl6
07:09 geekosaur joined #perl6
07:17 cognominal_ joined #perl6
07:21 cognominal_ joined #perl6
07:27 daxim joined #perl6
07:28 mucker joined #perl6
07:32 moritz oh windows, how I love thee. "There was a problem sending the command to the program."
07:32 moritz this is just about the the most useless error message ever
07:33 moritz (in response to double-clicking a file)
07:33 xenu joined #perl6
07:33 sai joined #perl6
07:36 geekosaur joined #perl6
07:39 xenu_ joined #perl6
07:40 mikec moritz: nice, how helpful
07:43 flussence ooh, I think I know this one. Something to do with the filetype association having a bad DDC parameter
07:43 phenny flussence: 29 Apr 16:27Z <uvtc> tell flussence http://irclog.perlgeek.de/​perl6/2012-04-29#i_5514927 , (maybe enable issue tracker for that repo?)
07:44 eviltwin_b joined #perl6
07:49 xenu_ joined #perl6
07:57 xenu_ joined #perl6
07:57 flussence phenny: tell uvtc I think it was caused by trying to use semantically equivalent tags there while avoiding <u>. It does seem a bit wrong now that I've re-read those bits of the HTML spec.
07:57 phenny flussence: I'll pass that on when uvtc is around.
08:02 jnthn morninä
08:02 jnthn uh, *mornin'
08:04 jnthn colomon: Interested to know how you managed to trigger that error.
08:04 jnthn colomon: It shouldn't be possible.
08:07 sorear o/ jnthn
08:09 fglock \o
08:10 jnthn hi sorear
08:13 frettled good mondaymorningrrrrrr
08:16 moritz \o
08:31 brrt joined #perl6
08:32 allbery_b joined #perl6
08:32 domidumont joined #perl6
08:38 cognominal_ joined #perl6
08:40 allbery_b joined #perl6
08:43 tadzik oh shark!
08:52 cognominal_ be careful not to jump the shark.
08:52 moritz be careful not to shark the jumper!
09:12 cognominal___ joined #perl6
09:16 cognominal joined #perl6
09:19 mmol_saffron joined #perl6
09:20 eviltwin_b joined #perl6
09:35 brrt why so much syntax?
09:37 brrt especially the colon
09:39 jnthn Everybody wants the colon.
09:40 jnthn Thankfully one of the things it's used for in Perl 5 got changed to something else in Perl 6.
09:41 jnthn Otherwise it woulda had even more meanings :)
09:41 * jnthn doesn't ever really find the various uses of colons ambiguous though
09:41 jnthn Most of them boil down to adverbs or invocant-related stuff.
09:41 arnsholt TBH, I haven't really noticed much overloading of the colon
09:42 jnthn Well, a bunch of things that look like overloading really boil down to colonpairs.
09:42 jnthn sub foo(Any:D $x) { }
09:42 jnthn That's just a colonpair, for example.
09:43 mmac_ joined #perl6
09:43 arnsholt The colonpair syntax is nice. Kind of like keyword symbols in CL, just better =D
09:47 mmac_ left #perl6
09:53 tadzik 45 modules OK, 54 not -- http://tjs.azalayah.net/new.html
09:55 wolverian What are colonpairs?
09:55 gfldex :key('value')
09:56 gfldex same as Pair.new(key => 'value')
09:56 eviltwin_b joined #perl6
09:56 masak good noon, #perl6
09:56 wolverian How is that the same as Any:D?
09:57 jnthn :key('value') is just the most general case of colonpair
09:57 jnthn :key is shorthand for :key(True)
09:57 gfldex :D is the same as :D(True)
09:57 jnthn So :D is really just :D(True)
09:57 masak ooh
09:57 * masak had not realized
09:58 jnthn longname actually calls the colonpair rule, iirc.
09:58 wolverian Ah, the Any wasn't a part of the colonpair.
09:58 jnthn Right
10:00 gfldex what definedness is :D calling?
10:00 noam joined #perl6
10:01 masak perl6-compiler-unsubscribe@perl.org is the way to unsubscribe from p6c, right?
10:02 jnthn .DEFINI|TE
10:02 jnthn grr
10:02 jnthn .DEFINITE
10:02 jnthn Which is a macro
10:02 masak how is it a macro
10:02 * masak is sending a clarifying email to Emile State
10:02 jnthn It's a macro in the same way .WHAT is.
10:02 cognominal because it is defined in the compiler?
10:02 cognominal versus compiled by it.
10:03 tadzik jnthn, masak: do you have the popolnik desigs docs lying somewhere in your archive by any chance?
10:03 gfldex that macro points into the meta model?
10:04 masak tadzik: looking
10:04 araujo joined #perl6
10:04 araujo joined #perl6
10:04 jnthn gfldex: Well, it's a very primitive operation rather than boiling down to a call to a meta-method.
10:05 jnthn gfldex: At a low level, it corresponds to checking if a bit is set in the object flags.
10:05 masak tadzik: not finding any right away, no.
10:05 jnthn That is, it's really cheap.
10:05 gfldex good to hear :)
10:05 jnthn tadzik: There were...popolnik design docs?
10:05 tadzik jnthn: well, an xhtml file mberends++ sent us
10:06 jnthn ah :)
10:06 jnthn .DEFINITE is the same as the macro IS_CONCRETE(obj) in the C code.
10:08 masak tadzik: I'm pretty sure he sent us one, but my search-fu fails me.
10:08 masak jnthn: I still haven't seen exactly how things with the method call syntax can be macros.
10:08 tadzik yeah, same here :/
10:08 masak unless you want to strew textual macros all over the place, which feels... bad.
10:09 gfldex r: multi foo(Any:D $x){ say $x }; multi foo(Any){ die "welp!" }; my $i; foo $i;
10:09 p6eval rakudo 2a962e: OUTPUT«welp!␤  in sub foo at /tmp/HCu9xR8opr:1␤  in block <anon> at /tmp/HCu9xR8opr:1␤␤»
10:09 jnthn masak: I don't expect them to be implemented with the "macro" syntax somewhere.
10:10 jnthn I'm just using the same language the spec does.
10:11 masak ok, so it's just sugar for something else, in essence.
10:11 cognominal masak: because they are specialy handled by the compiler.
10:11 araujo joined #perl6
10:11 cognominal so, conceptually, they are macro.
10:12 jnthn masak: Yeah; I'm not implying they're anything you have to worry about. :)
10:13 gfldex how about "optimiser food" ?
10:13 jnthn It's nothing to do with optimization either really.
10:14 jnthn All of the .WHAT/.HOW etc map down to very primitive operations.
10:15 masak maybe "shims" is a good description of what they are.
10:18 masak though shims seem to be mostly used as a compatibility layer when an API changes.
10:18 masak apart from that, they seem to describe what's going on pretty well.
10:18 replore joined #perl6
10:18 mucker joined #perl6
10:25 dalek panda: 43c38a0 | tadzik++ | bin/masstest:
10:25 dalek panda: [masstest] Include some statistics
10:25 dalek panda: review: https://github.com/tadzik/panda/commit/43c38a0df5
10:30 brrt joined #perl6
10:38 noam joined #perl6
10:43 geekosaur joined #perl6
10:45 geekosaur joined #perl6
10:45 snearch joined #perl6
10:55 birdwindupbird joined #perl6
11:14 replore joined #perl6
11:15 colomon jnthn: 1. Grab Math::Vector.  2. run ufo.  3. make test
11:16 colomon git@github.com:colomon/Math-Vector.git
11:17 colomon With no line number or other reference, golfing this one is going to be tricky.
11:17 jnthn It can't really give you a line number.
11:17 jnthn It's an error from the serializer.
11:18 * masak .oO( Sincerely, the Serializer )
11:18 eviltwin_b joined #perl6
11:20 jnthn Golfing it ain't so bad in so far as we only serialize declarative aspects of the program
11:20 jnthn So usually most of the code is automatically irrelevant.
11:22 moritz ok, weird question. Has anyone actually precompiled a module with a big Int literal in it?
11:23 moritz fwiw all Math::Vector tests without precompilation
11:23 * masak can't recall doing that
11:23 moritz s/tests/tests pass/
11:24 jnthn "bit int literal"?
11:24 jnthn *big
11:24 jnthn Isn't that any Int literal? :)
11:24 moritz no
11:24 moritz afaict we have different codegen for small integers
11:24 moritz at least we used to
11:25 moritz nqp::p6box_i(123) vs. nqp::fromstr_I("1234555555555555555", Int) or so
11:27 * masak re-reads http://irclog.perlgeek.de/​perl6/2012-02-23#i_5199644 about group isomorphisms, and is happy to note that it still makes sense to him :)
11:27 colomon moritz: no bigints in Vector...
11:28 moritz hm, string_to_bigint comes from src/Perl6/Actions.pm
11:28 moritz why would ever take a closure of that?
11:29 jnthn moritz: Yeah, that's what I was being confused about. How on earth.
11:30 moritz and there's nothing inside string_to_bigint that could possibly create a closure either
11:30 moritz there isn't even a block inside
11:31 * colomon 's code: proudly muddling Rakudo since 2009.
11:31 jnthn Er
11:31 jnthn Is it a method?
11:31 jnthn Or a sub?
11:32 moritz our sub
11:32 jnthn our?
11:32 jnthn Does it need to be "our"?
11:32 moritz I don't think so
11:32 jnthn Me either.
11:32 jnthn Other question: does the module define custom ops?
11:32 moritz I think I just made u
11:32 moritz grrr
11:32 moritz jnthn: yes
11:33 jnthn omg u just made me!
11:33 moritz I think I just made it an our sub because we sometimes did that for code reuse between NQP and rakudo stuff
11:33 jnthn I have this horrible feeling that...
11:33 moritz but I'm fine with changing it to my
11:34 jnthn ...augmenting the grammar and/or actions triggers the SC write barrier...
11:34 moritz and we end up serializing EVERYTHING?
11:34 jnthn ...which then causes us to re-serialize chunks of stuff
11:34 mikemol It occurred to me last night that Perl 6 is taking some of the philosophy behind ALGOL 68 and attempting to reapply it in a modern context.
11:34 jnthn Likely not EVERYTHING, just everything :)
11:35 masak oh phew
11:35 jnthn Does anything with a user defined op pre-compile?
11:35 jnthn I'm guessing that this is restricted to custom circumfixes.
11:35 moritz lemme test
11:35 colomon which are in there...
11:36 moritz are circumfixes subs or methods?
11:37 jnthn subs
11:37 moritz yes, a custom circumfix is enough to trigger that error
11:37 jnthn And fits with reserializing Actions.
11:37 moritz sub circumfix:<_FROM_ _TO_>(*@) { };
11:37 moritz is enough to trigger it
11:38 moritz a custom postfix also blows up
11:38 moritz Serialization Error: unknown static lexical info type for 'postfix:sym<!>'
11:38 colomon If I comment out the custom circumfix, it now givers Serialization Error: unknown static lexical info type for 'infix:sym<⋅>'
11:39 moritz yes, it errors for all new ops, just with different error messages
11:39 jnthn OK.
11:39 jnthn That explains it nicely.
11:39 moritz overloading existing ops is fine though
11:39 moritz because they don't change the grammar
11:39 jnthn Right.
11:39 jnthn Thus why it wasn't noticed for quite a while.
11:40 * moritz -> boring lab course
11:40 jnthn .oO( they bore labs in Germany? )
11:43 daxim http://lparchive.org/Sid-Meiers-Alpha-Centaur​i/Update%2019/2-acapture_18082007_170613.jpg  # borehole cluster
11:48 colomon This is why Emmentaler is awesome: It's already pushed me to find four or five bugs in Rakudo.
11:48 jnthn Indeed.
11:49 allbery_b joined #perl6
11:49 jnthn I wish we'd had it when I did the bs work in the first place.
11:49 masak colomon++ tadzik++
11:50 derrazo joined #perl6
11:50 * colomon dreams of having Emmentaler run on both Niecza and Rakudo, with hourly updates to the status of each...
11:51 masak ooh
11:52 masak I must say -- having dreams from 2009 take hold and reify into the community a few years later... that's pretty hot.
11:55 cognominal_ joined #perl6
11:55 masak jnthn: re many confused uses of the colon: szabgab++ was giving a course in Lisbon, and I was trol^Wsitting in.
11:56 masak jnthn: and I found myself at some point saying "no, that's not an invocant colon. that's the reverse method call colon."
11:56 masak I distinctly remember people groaning with information overload :)
11:56 pernatiy joined #perl6
11:56 tokuhirom joined #perl6
11:56 ponbiki joined #perl6
11:56 daxim
11:56 arnsholt Reverse method call colon? Is that $obj.method: @args or something else?
11:57 jnthn It's still invocantesque though :)
11:58 masak arnsholt: oh, maybe that was the one I pointed out, actually. no, that's a third one. :) it's the "don't need parens for methodcall" colon.
11:59 masak arnsholt: the reverse methodcall colon is the one that allows you to do `print $fh: "LOL!"`
11:59 allbery_b joined #perl6
11:59 masak they're clearly related, but note that the reverse one contains TTIAR... so it has to be a special form of sorts.
11:59 arnsholt Huh. Wasn't consciously aware of that syntax
12:00 arnsholt TTIAR?
12:00 jnthn Rakudo has never implemented that sntax.
12:00 masak two terms in a row
12:00 arnsholt Oh, right
12:00 masak jnthn: we should put it up in the feature matrix, so it gets implemented :P
12:01 arnsholt And invocant colon is method foo($foo: $stuff)?
12:01 masak right.
12:01 arnsholt Excellent
12:01 masak angled right, I believe there could be a blog post called "All the wonderful uses of the colon", that did a fairly wide overview of Perl 6 ;)
12:02 jnthn "I love the smell of Perl 6's colon"
12:02 masak n: class A { method say(*@a) { say @a } }; my A $fh .= new; $fh say: "OH HAI"
12:02 p6eval niecza v16-23-gaa61ed5: OUTPUT«[31m===[0mSORRY![31m===[0m��Two terms in a row at /tmp/mvF4HtTntH line 1:�------> [32m*@a) { say @a } }; my A $fh .= new; $fh [33m�[31msay: "OH HAI"[0m��Parse failed��»
12:02 masak hah!
12:03 masak Niecza doesn't do it either!
12:03 masak p: class A { method say(*@a) { say @a } }; my A $fh .= new; $fh say: "OH HAI"
12:03 p6eval pugs: OUTPUT«*** ␤    Unexpected "say"␤    expecting operator␤    at /tmp/RGC3poiped line 1, column 62␤»
12:03 masak nor Pugs.
12:05 jnthn Isn't it say $fh:
12:05 tadzik any objections to merging rakudo/setenv?
12:05 jnthn tadzik: Does it break stuff? :)
12:06 jnthn Or just make things awesomer? :)
12:06 jnthn If the latter, +1...the role mixin approach seemed quite sane to me.
12:06 flussence .oO( if messing with env vars is involved, doesn't it do both? )
12:07 jnthn :)
12:07 masak jnthn: oh!
12:07 masak yes.
12:07 masak that's more consistent with Perl 5's syntax.
12:08 masak p: class A { method say(*@a) { say @a } }; my A $fh .= new; say $fh: "OH HAI"
12:08 masak n: class A { method say(*@a) { say @a } }; my A $fh .= new; say $fh: "OH HAI"
12:08 p6eval pugs: OUTPUT«(timeout)»
12:08 p6eval niecza v16-23-gaa61ed5: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Invocant handling is NYI at /tmp/kTiZa6jRdr line 1 (EOF):â�¤------> [32m } }; my A $fh .= new; say $fh: "OH HAI"[33mâ��[31m<EOL>[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1366…
12:08 masak oh, Pugs confuses subs and methods, so it might have recursed infinitely on that one.
12:09 masak p: class A { method say(*@a) { print @a, "\n" } }; my A $fh .= new; say $fh: "OH HAI"
12:09 p6eval pugs: OUTPUT«OH HAI␤»
12:09 masak \o/
12:09 tadzik jnthn: I don't think it breaks anything, no :)
12:10 tadzik it may want some spectests though
12:14 jnthn OK :)
12:15 jnthn Time to decommute...klaemdag for the win :)
12:19 NamelessTee joined #perl6
12:21 mathw Today I wrote some Perl 5, and it was very hard. I had to chain grep and map and I wanted to just use all Perl 6's lovely syntactic improvements
12:21 mathw Really makes me appreciated Perl 6 :)
12:23 allbery_b joined #perl6
12:25 lichtkind joined #perl6
12:26 lichtkind is "any"  an operator?
12:27 flussence r: say ([|] 1..5).perl
12:27 p6eval rakudo 2a962e: OUTPUT«any(any(any(any(1, 2), 3), 4), 5)␤»
12:28 oiig_ joined #perl6
12:28 flussence I'd say it's a function, but it seems pretty low level
12:28 masak lichtkind: it's a function.
12:28 lichtkind yes the junctive
12:28 lichtkind its a normal function
12:28 masak there's also the .any method
12:28 lichtkind the low level precedence of junctive or
12:29 dalek rakudo/nom: 7845b8d | tadzik++ | src/core/terms.pm:
12:29 dalek rakudo/nom: Implement setting env variables by modifying %*ENV
12:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7845b8db47
12:29 dalek rakudo/nom: 616b622 | tadzik++ | src/core/terms.pm:
12:29 dalek rakudo/nom: Fix a braino. benabik++ for noticing
12:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/616b6222cd
12:29 dalek rakudo/nom: 110f35c | tadzik++ | src/core/terms.pm:
12:29 dalek rakudo/nom: Merge branch 'setenv' into nom
12:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/110f35cce0
12:33 masak r: say "m{'o' x (15..25).roll}!"
12:33 p6eval rakudo 2a962e: OUTPUT«moooooooooooooooooooooo!␤»
12:33 tadzik r: "oooooooooooooooooooooo".chars
12:33 p6eval rakudo 2a962e:  ( no output )
12:33 tadzik r: "oooooooooooooooooooooo".chars.say
12:33 p6eval rakudo 2a962e: OUTPUT«22␤»
12:38 flussence p6: sub moo { say 'm' ~ 'o' x $^a }; ((15..25)».&moo)[0]
12:38 p6eval rakudo 2a962e: OUTPUT«moooooooooooooooooooooo␤moooooooooooooooooo​␤moooooooooooooooooooo␤moooooooooooooooo␤moooooooo​ooooooooooooo␤mooooooooooooooooo␤moooooooooooooooo​oooooooo␤mooooooooooooooo␤mooooooooooooooooooooooo​oo␤mooooooooooooooooooo␤mooooooooooooooooooooooo␤»
12:38 p6eval ..niecza v16-23-gaa61ed5: OUTPUT«mooooooooooooooo␤moooooooooooooooo␤​mooooooooooooooooo␤moooooooooooooooooo␤moo​ooooooooooooooooo␤moooooooooooooooooooo␤mo​oooooooooooooooooooo␤moooooooooooooooooooo​oo␤mooooooooooooooooooooooo␤mooooooooooooo​ooooooooooo␤mooooooooooooooooooooooooo␤»…
12:38 p6eval ..pugs: OUTPUT«*** Undeclared variable: ("$^a",MkPad (padToList [("$_",PELexical {pe_type = (mkType "Scalar"), pe_proto = <Scalar:0xf6f42d09>, pe_flags = MkEntryFlags {ef_isContext = True}, pe_store = <ref:0xf6d5e275>}),("@_",PELexical {pe_type = (mkType "Array"), pe_proto = <Array:0xf6f4…
12:38 flussence how lazy should that be?
12:40 dalek tablets: e878338 | (Herbert Breunung)++ | docs/ (3 files):
12:40 dalek tablets: finish yesterdays changes, mostly finishing touch on backlinking precedence table and also polish high xor
12:40 dalek tablets: review: https://github.com/perl6/tablets/commit/e878338f04
12:40 masak and now: from 'blimp' to 'proof' in four randomly shuffled steps!
12:40 masak r: say my $s = "blimp"; for <b p l r i oo mp f>.hash.pick(*) -> $p (:$key, :$value) { say $s.=subst($key, $value) }
12:40 p6eval rakudo 2a962e: OUTPUT«blimp␤plimp␤ploomp␤ploof␤proof␤»
12:41 masak \o/
12:42 [Coke] pure luck?
12:43 [Coke] nope.
12:43 [Coke] ah, I see it. neat.
12:45 tadzik hehe
12:47 tadzik aaargh, something broke precomp again
12:49 geekosaur joined #perl6
12:50 cognominal joined #perl6
12:50 birdwindupbird joined #perl6
12:52 zhutingting joined #perl6
12:53 dalek panda: fae8228 | tadzik++ | bin/masstest:
12:53 dalek panda: Remove masstest, it belongs to Emmentaler repo anyway
12:53 dalek panda: review: https://github.com/tadzik/panda/commit/fae8228fac
12:54 masak was gonna say.
12:55 PacoAir joined #perl6
12:56 tadzik should I add dalekhook for emmentaler too?
12:57 colomon +1
12:58 dalek emmentaler: 7eed037 | tadzik++ | masstest:
12:58 dalek emmentaler: Import masstest from panda repo
12:58 dalek emmentaler: review: https://github.com/tadzik/e​mmentaler/commit/7eed0377e1
12:58 tadzik seems to work
12:58 plutoid joined #perl6
13:01 uvtc joined #perl6
13:01 uvtc What's the difference between pick and roll?
13:01 phenny uvtc: 07:57Z <flussence> tell uvtc I think it was caused by trying to use semantically equivalent tags there while avoiding <u>. It does seem a bit wrong now that I've re-read those bits of the HTML spec.
13:03 flussence (I've changed that code to more predictable tags now, btw)
13:05 uvtc hi flussence, I was just looking at that commit. Thanks for the change. One minor nit...
13:05 benabik uvtc: Pick is "select without replacement", roll is "select with replacement"
13:05 benabik uvtc: .pick(*) is a reordering of the original while .roll(*) is an infinite list.
13:05 benabik &
13:05 flussence (as for why that repo doesn't have issues enabled: I dunno. Ask someone who can enable it :)
13:07 uvtc flussence, U<foo> is for "unusual" (according to S26), not "unimportant". I think it would be better to have U<foo> underline (that is, <ins>foo</ins>).
13:08 uvtc benabik, thank you, but I don't know what you mean by "replacement" here...
13:08 flussence S26 may say that, but I'll wait to get a few opinions first because that's a horrible abuse of HTML semantics...
13:09 PacoAir_ joined #perl6
13:10 uvtc flussence, Oh, just noticed that S26 suggests "Unusual (typically rendered with underlining)". Also, when folks see "U<>" they're probably going to think "underline", even though --- as you point out --- its not ideal.
13:11 uvtc flussence, And underlining *is* pretty unusual. :)
13:11 JimmyZ joined #perl6
13:14 uvtc dalek?
13:14 tadzik r: say time - time
13:14 p6eval rakudo 110f35: OUTPUT«0␤»
13:14 tadzik wow, it's fast :)
13:14 masak things like U<> in S26 aim to exploit *both* our presentation-based thinking about these tags, and more general, semantic, presentation-free names.
13:15 daxim the purist in me says: that's bad design
13:15 cognominal joined #perl6
13:15 flussence maybe we should go bother #whatwg to change *their* spec :)
13:15 uvtc masak, I know. Pretty <del>neat</del> sneaky. :)
13:18 uvtc underlining can be useful, for example, in cases where you've added something you want someone to look at before making it final. (Incidentally, I've never seen <mark>foo</mark>, which makes it unusual (to me), seems rather distinctive.)
13:19 uvtc Oh, new with HTML5.
13:21 eviltwin_b joined #perl6
13:22 uvtc benabik, Oh, I see! pick takes the choice it just made out of the pool of possible next-choices, whereas roll just randomly chooses again (possibly getting the same choice as last time).
13:25 NamelessTee joined #perl6
13:29 uvtc flussence, S26 says that U<> is for text of "minor significance"... If I were marking some text as having "minor significance", I'd probably render it in a lighter shade of grayishness than its surrounding text. Maybe <span class="unusual">foo</span>, then style that in my css file.
13:29 sergot joined #perl6
13:31 geekosaur joined #perl6
13:36 flussence uvtc: I think <i> (with that css) would be okay there, or at least that's the vibe I get from http://www.whatwg.org/specs/web-apps/current-work/​multipage/text-level-semantics.html#the-i-element
13:38 uvtc flussence, Tricky.
13:39 uvtc flussence, people are going to expect I<foo> to yield <i>foo</i> or equivalent (which it does now: <em>foo</em>)
13:39 uvtc flussence, people are going to expect B<foo> to yield <b>foo</b> or equivalent (which it does now: <strong>foo</strong>)
13:40 uvtc flussence, and whether it makes sense or not, people are going to expect U<foo> to yield "foo" underlined, or something vaguely equivalent.
13:43 uvtc flussence, personally, I'd probably defer to Damian/S26 and just make U<foo> yield <ins>foo</ins>. Can folks change the style of that (via css) if they so choose? Haven't tried it...
13:44 uvtc flussence, (just my 2¢, of course)
13:45 flussence if you do that, use <u>, not <ins> (which already has a strongly defined meaning)
13:46 uvtc flussence, Yow. Didn't know about <u>. Thanks. In that case, I think there's what you're looking for (for U<foo>).
13:47 uvtc tadzik, thanks for adding me to emmentaler, though, I'm not sure I know for what purpose. (Also, isn't it going to be moved under the perl6 umbrella soon?)
13:52 arnsholt Commit bits are the Perl 6 borg's means of assimilating newcomers
13:52 arnsholt One of us, one of us! =)
13:52 uvtc arnsholt, ain't it the truth?
13:53 uvtc arnsholt, :)
13:53 birdwind1pbird joined #perl6
13:54 uvtc Is there a more ideomatic way of splitting a string into a list of characters than:  my @a = 'abcd'.split('')  ?
13:55 uvtc s/ideo/idio/
13:55 [Coke] r: say 'abcd'.comb
13:55 p6eval rakudo 110f35: OUTPUT«a b c d␤»
13:55 [Coke] grok: comb
13:56 * [Coke] forgets if the grokbot is still here.
13:56 uvtc [Coke] is that comb's purpose in life?
13:56 masak [Coke]: ooh, I should write us a new grokbot.
13:56 masak in Perl 6.
13:57 [Coke] uvtc: http://perlcabal.org/syn/S32/Str.html#comb
13:57 eviltwin_b joined #perl6
13:58 masak tadzik: is there a Perl 6 IRC bot starting kit around nowadays?
13:58 [Coke] r: say 'abcd'.comb(:match)
13:58 p6eval rakudo 110f35: OUTPUT«a b c d␤»
13:58 masak 'cus that'd really halp.
13:58 [Coke] r: say 'abcd'.comb(:bletch)
13:58 p6eval rakudo 110f35: OUTPUT«a b c d␤»
13:58 [Coke] should that barf?
13:58 uvtc Coke, what is ":match" and ":bletch"?
13:59 uvtc Coke, thanks for the link to the relevant synopsis section.
13:59 masak [Coke]: methods all have a default *%_ parameter.
13:59 [Coke] uvtc: http://perlcabal.org/syn/S32/Str.html#comb
13:59 [Coke] masak: ew. what problem is that solving?
14:00 masak "interface consistency", according to S12.
14:00 [Coke] doesn't that mean you get no compiler warnings on invalid named parameters? that seems like a pretty big loss.
14:00 masak yeah, it means that.
14:00 JimmyZ and default *@_ ?
14:00 masak JimmyZ: no.
14:00 jnthn YOu'd get no compiler warnings anyway.
14:00 jnthn Since methods are late bound.
14:00 jnthn And this doesn't apply to subs.
14:00 uvtc Coke, no, I meant what the syntax means (I think it means, "I'm passing this named argument to the sub, but not passing a value, so just assume it's 'true'")
14:00 havenn joined #perl6
14:01 [Coke] uvtc: pretty much, yes.
14:01 uvtc Coke, thanks.
14:01 masak specifically, deriving classes add new named parameters. named paramters are optional by default. so (by Liskov-sorta), the base class has to be prepared for them too.
14:01 [Coke] :match is supposed to do something there (but isn't). the other one was me checking to see if a bad name complained (which it doesn't)
14:01 [Coke] jnthn: (compile time) mismatched named parameters don't cause compile time errors ever?
14:02 [Coke] or automatically generated runtime errors? (so if I wanted comb to barf on :barf, I'd have to write my own parameter mangling code to do so?)
14:03 jnthn [Coke]: I didn't say they don't ever. I said they can on subs, and subs don't get a magical *%_, so it all works out there. Methods OTOH are late-bound and do get the *%_
14:03 tyatpi joined #perl6
14:03 JimmyZ r: sub foo() returns Str { say 1; };
14:03 p6eval rakudo 110f35:  ( no output )
14:04 [Coke] jnthn: I'm not trying to put words in your mouth, just trying to figure out what to expect, is all.
14:04 jnthn r: sub foo() returns Str { say 1; }; foo() # just checking
14:04 p6eval rakudo 110f35: OUTPUT«1␤Type check failed for return value␤  in sub foo at /tmp/b8b8M08CJM:1␤  in block <anon> at /tmp/b8b8M08CJM:1␤␤»
14:04 [Coke] r: my $a = say 3; say $a.WHAT
14:04 p6eval rakudo 110f35: OUTPUT«3␤Bool()␤»
14:05 [Coke] r: say "Here's my wallet" or die
14:05 p6eval rakudo 110f35: OUTPUT«Here's my wallet␤»
14:05 jnthn [Coke]: The implcit *%_ means that for methods, the extra named args getting swallowed silently. It's spec. I've only ever half-liked it. :)
14:06 sergot joined #perl6
14:07 masak it goes back to A12, actually.
14:07 masak I think it's best explained there.
14:07 cognominal_ joined #perl6
14:08 masak http://www.perl6.org/archi​ve/doc/design/apo/A12.html -- heading "Interface Consistency".
14:08 skids joined #perl6
14:12 masak by the way, ddg gives three hits for "guthlophikralique": A12, the copy of A12 in CPAN's Perl6::Bible, and me on IRC 2.5 years ago :P
14:13 masak this was your tri-yearly "guthlophikralique" sighting report. brought to you by Mophriqualiphism, Inc.
14:13 * masak .oO( their wafers are so delicious! )
14:16 masak oh, and apparently, back in 2009, I was being happy because we'd soon be hitting 500 new/open RT tickets... from below.
14:17 Util_ joined #perl6
14:17 masak (we might just come back down to those levels. we're at 653 now.)
14:18 jnthn We're closer if you subtract testneeded too. :)
14:18 masak troo
14:24 masak r: say (1..10).reduce({$^a + $^b + $^c})
14:24 p6eval rakudo 110f35: OUTPUT«can only reduce with arity 2␤  in method gist at src/gen/CORE.setting:8667␤  in sub say at src/gen/CORE.setting:6555␤  in block <anon> at /tmp/NSqDAtwUCF:1␤␤»
14:24 SHODAN joined #perl6
14:24 masak Used to be 'Can only reduce() using a binary function for now.'
14:25 jnthn Apparently, we hardened our stance ;)
14:25 masak I prefer the current error message, which doesn't make future promises. I say we close up https://rt.perl.org/rt3/Ti​cket/Display.html?id=61610
14:36 Guest81905 :(
14:39 JimmyZ :P
14:39 masak mikec_: you do know about registering of nicks, no?
14:41 mikec_ well, it did give me plenty of warning
14:41 mikec_ sadly this one is registered too
14:41 mikec_ i'll think of something
14:42 masak you'll pick the awesomest nick.
14:42 mikec_ yes!
14:42 masak let your imagination soar!
14:42 masak something no-one has thought about, but everyone wish they had.
14:42 mikec_ haha. exactly
14:42 JimmyZ mikec6!
14:43 mikec_ :)
14:43 uvtc mike-c!
14:43 masak ultimike!
14:43 masak mikeshed!
14:43 uvtc mikec_____! The possibilities are endless. Limitless. Without bound.
14:44 masak actually, there's only a finite number of combinations of printable ASCII chars of a certain length...
14:44 mikec_ i am overwhelmed with the sheer number of permutations
14:44 masak mightymike!
14:45 masak permiketation!
14:45 masak therealmikec
14:47 mikec_ pretty long
14:47 gfldex 16 chars
14:47 flussence r: say ('mikec' ~ 'a'..'z').comb.pick(*).join
14:47 p6eval rakudo 110f35: OUTPUT«(timeout)»
14:47 mikec_ oh no!
14:48 uvtc r: 'mikec' ~ ('a'..'z').pick(4).join('')
14:48 p6eval rakudo 110f35:  ( no output )
14:48 masak r: say ('mikec' ~ 'a'..'z')
14:48 p6eval rakudo 110f35: OUTPUT«"mikeca".."z"␤»
14:48 uvtc r: say 'mikec' ~ ('a'..'z').pick(4).join('')
14:48 p6eval rakudo 110f35: OUTPUT«mikecmrnx␤»
14:49 masak r: say 'mikec' ~ ('a'..'z')
14:49 p6eval rakudo 110f35: OUTPUT«mikeca b c d e f g h i j k l m n o p q r s t u v w x y z␤»
14:49 JimmyZ [mikec]
14:49 JimmyZ [Coke]
14:49 masak r: say 'mikec' ~ ('a'..'z').join
14:49 p6eval rakudo 110f35: OUTPUT«mikecabcdefghijklmnopqrstuvwxyz␤»
14:50 sergot r: say 'mikec' ~X ('a'..'z')
14:50 p6eval rakudo 110f35: OUTPUT«===SORRY!===␤Confused␤at /tmp/6nJtrcMSOd:1␤»
14:50 sergot oh.. right :)
14:54 sergot r: say <'mikec'> X~ 'a'..'z'
14:54 p6eval rakudo 110f35: OUTPUT«'mikec'a 'mikec'b 'mikec'c 'mikec'd 'mikec'e 'mikec'f 'mikec'g 'mikec'h 'mikec'i 'mikec'j 'mikec'k 'mikec'l 'mikec'm 'mikec'n 'mikec'o 'mikec'p 'mikec'q 'mikec'r 'mikec's 'mikec't 'mikec'u 'mikec'v 'mikec'w 'mikec'x 'mikec'y 'mikec'z␤»
14:54 tadzik masak: there's a module for that, I think
14:54 masak yay
14:54 allbery_b joined #perl6
14:55 masak 'cus I would totally write a grokbot in Perl 6.
14:55 uvtc r: 'mike_c' X~ 'a'..'f'
14:55 p6eval rakudo 110f35:  ( no output )
14:55 uvtc r: say 'mike_c' X~ 'a'..'f'
14:55 p6eval rakudo 110f35: OUTPUT«mike_ca mike_cb mike_cc mike_cd mike_ce mike_cf␤»
14:55 tadzik masak: https://github.com/TiMBuS/Net--IRC/
14:55 masak \o/
14:55 masak Timbus++
14:56 tadzik also, I now has https://gist.github.com/2559005
14:56 tadzik note #46
14:56 tadzik oh, a warming email to p6c :]
14:59 uvtc Where in the synopses can I find the methods for Array documented? I don't see them in S02 nor S09.
14:59 uvtc (looking for "munch")
15:00 gfldex uvtc: http://perlcabal.org/syn/S32/Containers.html#Array
15:01 uvtc Thanks, gfldex !
15:03 colomon tadzik++
15:03 tadzik colomon: note it mentions the compiler used too :)
15:03 colomon tadzik++
15:03 tadzik :)
15:04 dalek emmentaler: ad8de41 | tadzik++ | / (2 files):
15:04 dalek emmentaler: Rename masstest to smoker. Make it generate JSON instead of an HTML file
15:04 dalek emmentaler: review: https://github.com/tadzik/e​mmentaler/commit/ad8de415b4
15:04 dalek emmentaler: ad6a7bf | tadzik++ | smoker:
15:04 dalek emmentaler: Include some statistics in the results
15:04 dalek emmentaler: review: https://github.com/tadzik/e​mmentaler/commit/ad6a7bff84
15:05 thou joined #perl6
15:07 gfldex r: sub perm(@a is rw, $i is copy){ return @a if $i-- <= 0; return @a X~ perm(@a, $i) }; say 'mikec' ~ perm 'a'..'f', 5;
15:07 JimmyZ joined #perl6
15:07 p6eval rakudo 110f35: OUTPUT«(timeout)»
15:09 gfldex r: sub perm(@a is rw, $i is copy){ say $i; return @a if $i-- <= 0; return @a X~ perm(@a, $i) }; say 'mikec' X~ perm 'a'..'f', 5;
15:09 p6eval rakudo 110f35: OUTPUT«(timeout)5␤4␤3␤2␤1␤0␤»
15:10 masak Timbus: ping
15:11 gfldex that works locally but is a tiny littly wee bit slow
15:11 lichtkind uvtc: i have another problem with markdown
15:11 gfldex flattening that list takes 3 minutes and only 256MB or ram :)
15:12 uvtc lichtkind, what's the issue?
15:12 lichtkind when i wanted define format for a:hover via css normal some text took that style too
15:13 uvtc lichtkind, Hm. I haven't run into that particular problem.
15:15 masak phenny: tell Timbus I tried to use Net::IRC but https://gist.github.com/2559145
15:15 phenny masak: I'll pass that on when Timbus is around.
15:16 uvtc lichtkind, though I don't know all that much about html & css, what's the html look like for the regular text that's not rendering with the css for a:hover?
15:16 uvtc sorry: s/that's not rendering/that's rendering/
15:19 uvtc In the synopses, re. the function signatures, is there a place where that function signature notation is explained? For example, at http://perlcabal.org/syn/S32/Containers.html#Array , if I scroll down to "rotate", there's a colon in there, and a *@n --> Array ... not sure what the notation means.
15:20 noam joined #perl6
15:25 lichtkind uvtc: which colon?
15:25 lichtkind or you mean the asterisk?
15:25 envi_|2 joined #perl6
15:26 uvtc There's a few different bits of syntax in those fn sigs that I don't understand. I thought maybe there was a "legend" somewhere that says, "in the function sigs below, here's what we mean by the following..."
15:26 kaare_ joined #perl6
15:27 uvtc Is it real Perl 6 function definition syntax, or an ad-hoc shorthand for describing how to call the various functions/subs/methods?
15:28 TimToady those are supposed to be real syntax
15:29 TimToady --> is just a way of writing the return type inside the sig
15:29 TimToady std: my Int foo ($a,$b --> Str) {...}
15:29 p6eval std fab64fc: OUTPUT«[31m===[0mSORRY![31m===[0m�Multiple prefix constraints not yet supported at /tmp/78cTECYdmy line 1:�------> [32mmy Int [33m�[31mfoo ($a,$b --> Str) {...}[0m�Malformed my at /tmp/78cTECYdmy line 1:�------> [32mmy Int [33m�[31mfoo ($a,$b --> Str) {...}[0m� …
15:29 uvtc In the method sig for rotate, why is it "@array is copy: ..." instead of "@array is copy, ..."?
15:29 TimToady hmm, that's the wrong message
15:30 TimToady that's the invocat colon
15:30 TimToady *cant
15:30 TimToady @array is the object if the current class
15:30 uvtc is "invocant" == the object on behalf of which the method was called?
15:31 TimToady yes, that's the Perl Culture term for it
15:31 TimToady sort of straddling the notion of whether the object is active or passive
15:31 uvtc (Positive motivational slogan: "Invocant? Invocan!")
15:32 uvtc Ok, so the "-->" is not connected with whatever is to its left. It's just indicating what the method returns.
15:32 TimToady it's looser than : or ,
15:32 masak aye.
15:33 kaleem joined #perl6
15:33 TimToady that's why it's bigger
15:33 uvtc Back to the sig for rotate: what's the "*" in "*@n" mean?
15:33 masak slurpy.
15:33 masak means this array parameter eats up all the remaining positional arguments.
15:34 uvtc Oh, of course. Thanks.
15:34 TimToady slurpy binding makes a list context
15:35 spider-mario joined #perl6
15:35 uvtc The way I've explained that to myself: The method is expecting a list at that position, and so enforces that expectation on what you pass in there.
15:35 TimToady of course, @array is copy is a rather weird way to write it from an FP point of view
15:36 TimToady in fact, 'is copy' is an FP code smell
15:36 TimToady since it implies you're intending to use a side effect
15:37 uvtc I've always found it a bit of extra work to remember whether or not a given method modifies its invocant.
15:37 uvtc .oO( *these* mutate, *these* don't)
15:38 masak TimToady: I can't make that make sense in my head. .rotate doesn't change the original object, it returns a fresh one. which feels very FP.
15:38 TimToady but it is going to do it by modifying the copy
15:38 TimToady rather than just reslicing it
15:38 masak oh, true.
15:39 masak ah, so you're saying that the signature somehow betrays those impure intentions.
15:39 uvtc Is the opposite of "@array is copy", "@array is rw"?
15:39 TimToady in one sense
15:40 havenn joined #perl6
15:40 noam joined #perl6
15:42 TimToady they're the same from the standpoint of revealing a writeable array to the body of the routine
15:42 masak uvtc: there are three settings: readonly, rw, and copy.
15:42 uvtc I ask because the docs there (in S32/Arrays.html#Array) for push don't say "@array is rw", even though push modifies what you pass to it.
15:42 masak uvtc: the latter two mean that you intend to mutate something. 'rw' means mutate the original, 'copy' means mutate a clone.
15:42 TimToady invocants are assumed to be mutalbe
15:43 TimToady *ble
15:43 TimToady the assumptions of OO are opposite to FP there
15:43 uvtc Oh, that's interesting (assuming them to be mutable). I'd thought t'would be t'other way round.
15:44 TimToady all mutable state is held in objects under OO think
15:44 flussence if one were to have a custom class, is there a way to detect whether it's being used as an "is readonly" so it can throw errors in mutator methods?
15:46 masak that road looks tempting, but will lead to madness.
15:46 masak trouble is, OO as such never bothered to differ between "containment" and "connection". both are attributes.
15:47 masak since there's no good way to tell those two different relations apart, there's no good way to enforce that an object never mutates "its" attributes.
15:47 masak because you can't tell which objects are contained in your object, and which ones are merely cousins.
15:48 TimToady at the moment, the best way to make attributes immutable is to derive a new class to encasulate them in the parent class
15:49 Psyche^ joined #perl6
15:49 masak we even have this muddling up in spoken language "The car HAS a motor" (physical containment), "The pond HAS a duck" (incidental containment; kinda dynamical), "Eric HAS a cousin" (in no way is the cousin contained in Eric, though)
15:49 dakkar joined #perl6
15:50 TimToady .oO(more declarators!)
15:50 masak sometimes in the literature, that last relation is called KNOWS_A. but... it's already too late.
15:50 masak I'm not sure it could be made formal and usable even if we tried. the world is just too messy.
15:51 TimToady that's why OO is so big on encapsulation, because *mess* is what's being encapsulated
15:52 TimToady even in FP-land, an object can present as immutable on the outside, but be running all sorts of mutable caching on the inside as an optimization
15:53 uvtc r: sub Int foo($a, $b --> Str) { return 'x' ~ $a ~ $b ~ 'x'; }; say foo(2,3)
15:53 p6eval rakudo 110f35: OUTPUT«===SORRY!===␤Missing block␤at /tmp/kMqjcrCrdG:1␤»
15:53 TimToady which reminds me to bug rakudofolk again that we really need //= to work right
15:53 uvtc r: sub Str foo($a, $b --> Str) { return 'x' ~ $a ~ $b ~ 'x'; }; say foo(2,3)
15:53 p6eval rakudo 110f35: OUTPUT«===SORRY!===␤Missing block␤at /tmp/sp4bfyh32_:1␤»
15:53 uvtc r: sub Str foo($a, $b --> Str) { return 'x' ~ $a ~ $b ~ 'x'; }; say foo(2,3)
15:53 p6eval rakudo 110f35: OUTPUT«===SORRY!===␤Missing block␤at /tmp/qmPYVZxV8X:1␤»
15:53 uvtc r: sub foo($a, $b --> Str) { return 'x' ~ $a ~ $b ~ 'x'; }; say foo(2,3)
15:53 p6eval rakudo 110f35: OUTPUT«x23x␤»
15:54 TimToady std: my Int sub foo ($a,$b --> Str) {...}
15:54 p6eval std fab64fc: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Extra 'of' type; already declared as type Int at /tmp/8xXkgebEpF line 1:â�¤------> [32mmy Int sub foo ($a,$b --> Str[33mâ��[31m) {...}[0mâ�¤Potential difficulties:â�¤  $b is declared but not used at /tmp/8xXkgebEpF line 1:â�¤------> [32mmy I…
15:54 TimToady std: my Str sub foo ($a,$b --> Str) {...}
15:54 p6eval std fab64fc: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Extra 'of' type; already declared as type Str at /tmp/3wXvvWzejX line 1:â�¤------> [32mmy Str sub foo ($a,$b --> Str[33mâ��[31m) {...}[0mâ�¤Potential difficulties:â�¤  $b is declared but not used at /tmp/3wXvvWzejX line 1:â�¤------> [32mmy S…
15:54 cognominal___ joined #perl6
15:54 uvtc (sorry, the first one I did was "Int" instead of "Str", then I did "Str" twice by accident)
15:55 TimToady anyway, there are actually three different places you can put the return type
15:55 uvtc Ah.
15:55 TimToady std: my Str sub foo ($a,$b) {$a ~ $b}
15:55 p6eval std fab64fc: OUTPUT«ok 00:00 44m␤»
15:55 uvtc that's one
15:55 TimToady std: sub foo ($a,$b) returns Str {$a ~ $b}
15:55 p6eval std fab64fc: OUTPUT«ok 00:00 43m␤»
15:55 uvtc Ah.
15:56 TimToady std: sub foo ($a,$b --> Str) {$a ~ $b}
15:56 p6eval std fab64fc: OUTPUT«ok 00:00 43m␤»
15:56 dalek tablets: 3bf865d | (Herbert Breunung)++ | docs/appendix-a-index.txt:
15:56 dalek tablets: finer punctioation nav menu
15:56 dalek tablets: review: https://github.com/perl6/tablets/commit/3bf865db78
15:58 TimToady we figger 3 ways to do it is probably enuff
15:59 TimToady ENUFFKISENUFFK  <-- Popeye throwing an exception
16:02 rami joined #perl6
16:02 rami seriously, how many people come here and say they are good to butterflies? :P
16:02 masak &
16:03 havenn joined #perl6
16:04 spider-mario oh, rakudo 2012.04 still fails to build from the tarball on my machine, even with parrot 4.3 :(
16:04 spider-mario with the same error
16:05 spider-mario http://ompldr.org/vZGttaQ
16:06 spider-mario parrot is 4.3.0, nqp is 2012.04.1
16:06 uvtc masak, (after backscrolling) thanks for pointing out the three settings (readonly, rw, and copy).
16:07 uvtc phenny, tell masak (after backscrolling) thanks for pointing out the three settings (readonly, rw, and copy).
16:07 phenny uvtc: I'll pass that on when masak is around.
16:08 uvtc I noticed the other day that phenny doesn't do as you ask if you say please.
16:08 uvtc phenny, please tell TimToady so and so
16:09 TimToady it does if you put the please at the end :)
16:10 diakopter phenny, pray tell
16:11 TimToady someone should write p6enny
16:11 uvtc TimToady, you wrote "more declarators!". What is a declarator? (The thing being *declared* would be the ... declar-ee ...?)
16:12 diakopter declaratee?
16:12 TimToady the declarand, we call that
16:12 uvtc Ah, yes. OK.
16:12 TimToady 'my', 'has', 'our'...
16:12 TimToady that does it
16:12 TimToady hence the -or ending
16:12 uvtc Oh. Thank you.
16:13 dalek emmentaler: c8f7091 | tadzik++ | smoker:
16:13 dalek emmentaler: Include description in results.json
16:13 dalek emmentaler: review: https://github.com/tadzik/e​mmentaler/commit/c8f7091105
16:13 dalek emmentaler: 820185a | tadzik++ | / (2 files):
16:13 dalek emmentaler: Add an HTML formatter
16:13 dalek emmentaler: review: https://github.com/tadzik/e​mmentaler/commit/820185a552
16:13 TimToady has $.foo; knows $.bar
16:13 uvtc I haven't yet seen "knows".
16:13 uvtc I see what you mean though.
16:13 TimToady that's what I meant by 'more'
16:14 uvtc Ah.
16:14 TimToady but I doubt we'll do that, for the reasons masak++ mentioned
16:14 diakopter eats
16:14 * TimToady shoots and leaves
16:15 * uvtc shoots and ladderss
16:15 uvtc Wait. Chute!
16:15 TimToady Shark!
16:16 TimToady you shouldn't put TimToady into free-association mode this early in the morning...
16:16 uvtc hahahaha
16:17 * TimToady was already in free-association mode this morning, he suspects
16:18 diakopter are we naming new declarands?
16:18 TimToady all the time
16:19 TimToady well, most of the time
16:19 TimToady arguably, anonymous declarands are really being declared
16:19 TimToady *aren't grrr
16:20 TimToady my n't key is flaking out again...
16:21 icwiener joined #perl6
16:22 allbery_b joined #perl6
16:23 jnthn nom: my $a = 42; $a //= die "well, crap"
16:23 p6eval rakudo 110f35: OUTPUT«well, crap␤  in block <anon> at /tmp/AlSitkXo8B:1␤␤»
16:23 jnthn nom: my $a = 42; $a ||= die "well, crap"
16:23 p6eval rakudo 110f35: OUTPUT«well, crap␤  in block <anon> at /tmp/suReAKJisk:1␤␤»
16:23 dalek tablets: a4183b5 | (John Gabriele)++ | docs/appendix-g-glossary.txt:
16:23 dalek tablets: added declarand & declarator to glossary
16:23 dalek tablets: review: https://github.com/perl6/tablets/commit/a4183b51eb
16:27 brrt joined #perl6
16:27 GlitchMr42 joined #perl6
16:31 TimToady perl6: say (1|2|3|4|5).perl
16:31 p6eval rakudo 110f35, niecza v16-23-gaa61ed5: OUTPUT«any(1, 2, 3, 4, 5)␤»
16:31 p6eval ..pugs: OUTPUT«(1 | 2 | 3 | 4 | 5)␤»
16:31 TimToady perl6: say ([|] 1..5).perl
16:31 p6eval niecza v16-23-gaa61ed5: OUTPUT«any(1, 2, 3, 4, 5)␤»
16:31 p6eval ..pugs: OUTPUT«(1 | 2 | 3 | 4 | 5)␤»
16:31 p6eval ..rakudo 110f35: OUTPUT«any(any(any(any(1, 2), 3), 4), 5)␤»
16:31 TimToady rakudobug
16:32 mtk joined #perl6
16:32 jnthn TimToady: Are those not equivalent?
16:33 TimToady it's supposed to notice that | is list associative and make a flat structure
16:33 TimToady it might not make a difference for |, but it might for other list associatives
16:33 TimToady perl6: say ([^^] 1..5).perl
16:34 p6eval niecza v16-23-gaa61ed5: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in class Any␤  at /home/p6eval/niecza/lib/CORE.setting line 2459 (reduceop @ 9) ␤  at /tmp/96SRgfXHQp line 1 (mainline @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3840 (ANON @ 3) ␤ …
16:34 p6eval ..pugs, rakudo 110f35: OUTPUT«5␤»
16:34 jnthn TimToady: Does that mean reduce on a list associative actually just calls the op?
16:34 jnthn (Flattening in the argument list...)
16:34 TimToady if it's defined with a slurpy, yes
16:35 jnthn Well, the op probably is defined in various ways and all we see is the controlling proto...
16:35 jnthn Maybe that's enough, though.
16:35 sergot rakudo/install/bin/perl6: error while loading shared libraries: libicuuc.so.48: cannot open shared object file: No such file or directory - there is iCu 49. What should I do? :)
16:35 TimToady well, the fact that the operator is list associative should probably be recording somewhere meta-y
16:36 thelazydeveloper joined #perl6
16:36 jnthn ah...good point.
16:36 jnthn We must have that info somewhere... :)
16:36 dalek tablets: d1c13dc | (Herbert Breunung)++ | docs/appendix-g-glossary.txt:
16:36 dalek tablets: explaining parameter better in glossary
16:36 dalek tablets: review: https://github.com/perl6/tablets/commit/d1c13dc5d1
16:36 dalek tablets: f09ef65 | (Herbert Breunung)++ | docs/appendix-g-glossary.txt:
16:36 dalek tablets: Merge branch 'master' of github.com:perl6/tablets
16:36 dalek tablets: review: https://github.com/perl6/tablets/commit/f09ef65077
16:37 * masak submits any(any(any(any(1, 2), 3), 4), 5) rakudobug
16:37 phenny masak: 16:07Z <uvtc> tell masak (after backscrolling) thanks for pointing out the three settings (readonly, rw, and copy).
16:37 lichtkind masak: ist it easier to say any(1..5) ?
16:39 masak lichtkind: of course it ist.
16:39 masak but that's neither here nor there.
16:42 cognominal___ joined #perl6
16:42 noam joined #perl6
16:45 noam joined #perl6
16:46 noam joined #perl6
16:48 dalek tablets: efe012c | (Herbert Breunung)++ | docs/report.pl:
16:48 dalek tablets: reporter script using now prinf and it looks just better
16:48 dalek tablets: review: https://github.com/perl6/tablets/commit/efe012c2ef
16:54 kaleem joined #perl6
16:58 uvtc What's the difference between `my %h = ();` and `my %h = {};`?
16:58 uvtc (to start yourself off with an empty hash)
16:59 PerlJam uvtc: "my %h;"  gets you an empty hash
16:59 uvtc Oh, so it does. Thanks, PerlJam.
17:01 PacoAir joined #perl6
17:03 masak uvtc: `my %h = ();` creates a list, and the runtime has to drop the contents into a new Hash. `my %h = {};` creates a new Hash.
17:04 uvtc Does `my %h;` really create the hash, or is it autovivified (correct term?) only when you add the first pair to it?
17:05 geekosaur joined #perl6
17:05 masak uvtc: yes.
17:05 masak :P
17:05 PerlJam heh
17:05 masak uvtc: as far as I know, it's really created, and is defined, and all that.
17:06 masak pmichaud has been wondering whether it should be created in an undefined state, due to features I clamored for many years ago.
17:07 PerlJam What would be the up-side of creating an undefined Hash?
17:09 TimToady working more like scalars do
17:10 TimToady the ability to say %hash //= ...
17:10 masak right.
17:10 PerlJam makes sense
17:11 masak in fact, the angle I had when doing lots of complaining (in RT bug reports, no less) was that it wasn't possible to tell from inside of a routine whether a parameter had been passed or not.
17:11 masak that's sort of the same initialized/not-initialized distinction, if you squint.
17:11 mikemol joined #perl6
17:11 TimToady more like the Nil distinction, methinks
17:11 PerlJam masak: but I could pass an undefined hash as the parameter  :)
17:12 masak PerlJam: indeed you could.
17:12 masak and the issue was never resolved. neither the real-world one nor the RT one :)
17:12 TimToady Nil is an encapsulated semi-predicate problem :)
17:13 TimToady it's a do-what-I-mean when I mean there's nothing here really
17:14 TimToady biab &
17:14 masak nod.
17:14 masak r: say Nil ~~ Hash
17:14 p6eval rakudo 110f35: OUTPUT«False␤»
17:15 masak but it's hard to fit a Nil inside a %h parameter ;)
17:17 masak p6: sub foo(@a, $b) {}; foo(5)
17:17 p6eval niecza v16-23-gaa61ed5: OUTPUT«Potential difficulties:â�¤  @a is declared but not used at /tmp/PFnbgh7miG line 1:â�¤------> [32msub foo([33mâ��[31m@a, $b) {}; foo(5)[0mâ�¤  $b is declared but not used at /tmp/PFnbgh7miG line 1:â�¤------> [32msub foo(@a, [33mâ��[31m$b) {}; foo(5)[0mâ�¤â�¤Unhandl…
17:17 p6eval ..pugs: OUTPUT«*** No compatible multi variant found: "&foo"␤    at /tmp/J6iprwKJLK line 1, column 21 - line 2, column 1␤»
17:17 p6eval ..rakudo 110f35: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'foo' will never work with argument types (int) (line 1)␤    Expected: :(@a, $b)␤»
17:19 [Coke] spider-mario: can you post the /entire/ build log?
17:20 geekosaur joined #perl6
17:21 spider-mario [Coke] : should I also post that of nqp?
17:21 spider-mario or just rakudo?
17:21 spider-mario (nqp built fine, I think)
17:21 spider-mario oh, I don’t have it anymore, anyway
17:22 [Coke] start with a clean star, log everything up to the failure?
17:22 spider-mario http://ompldr.org/vZGtuaw
17:23 [Coke] so, "git clean -xdf && perl Configure.pl && make 2>&1 | tee build.log", or so?
17:23 [Coke] spider-mario: ... you're using a pre-installed NQP?
17:23 [Coke] and not the one that comes with?
17:23 spider-mario I am packaging nqp and rakudo for arch
17:24 spider-mario in two packages
17:24 spider-mario I am done with nqp, I think
17:24 spider-mario it builds and installs fine
17:25 spider-mario (and I am packaging tarballed releases)
17:25 spider-mario (nqp 2012.04.1 and rakudo star 2012.04)
17:26 [Coke] so why is star involved if you're packing individually?
17:27 [Coke] or did I misread star
17:27 [Coke] ?
17:27 spider-mario it makes no difference whether I build rakudo or rakudo star
17:28 eviltwin_b joined #perl6
17:28 spider-mario (but I’m making one package for nqp and one for rakudo star)
17:28 spider-mario (or “the rest of” rakudo star, if you consider nqp to be part of it)
17:29 [Coke] given that it's bundled inside star, ja.
17:29 spider-mario is it?
17:29 [Coke] yes!
17:29 spider-mario oh, it is
17:30 spider-mario but, well, parrot is already a separate package on arch
17:30 [Coke] star is a distro. which is why I was confused that you're re-distro-ing it. ;)
17:30 [Coke] what is "arch" ?
17:30 spider-mario I thought it’d make sense to split nqp out of it as well
17:30 spider-mario arch linux
17:31 rualdo11 left #perl6
17:31 sorear good * #perl6
17:31 sorear masak: hi
17:32 [Coke] ok. if I had access to a box running arch, I'd probably verify that a standalone star works. (let it build everything that it shipped with and install it in the default location.)
17:32 [Coke] then I'd try to build star using the installed NQP (making sure it's the same as the one that ships, which it sounds like you did.)
17:33 spider-mario a standalone star from git works
17:33 spider-mario not sure about the 2012.04 tarball
17:33 spider-mario (I’m speaking of rakudo now)
17:34 spider-mario I don’t know why I’m saying that I don’t know
17:34 spider-mario I am tired :(
17:36 [Coke] rakudo star or rakudo compiler ?;)
17:36 spider-mario :)
17:37 [Coke] (standalone star from git) the star in git isn't standalone.
17:37 [Coke] you need the /tarball/ to get the star release.
17:37 spider-mario it isn’t, but its Configure.pl does fetch the appropriate nqp and parrot
17:37 [Coke] star in git is just for people who release star. (which you kind of are, but not exactly. ;)
17:37 moritz and the README says so
17:38 [Coke] I'm assumig you're getting the wrong nqp somewhere.
17:38 [Coke] so if a self-contained (even if from git) star works, that's a plausable theory.
17:38 spider-mario actually, the reason why it still failed seems to be that I forgot to change a path in the PKGBUILD, so makepkg wouldn’t clean before building
17:38 [Coke] do you have multiple nqps or parrots installed in your system dir?
17:38 moritz star is a distribution. If distributors want to take the star distro, that's fine
17:39 spider-mario so I had leftovers of the compilation with 4.2
17:39 [Coke] yay.
17:39 spider-mario and it seems to work now
17:39 spider-mario sorry for your time :(
17:39 dalek rakudo/nom: c7bf334 | jnthn++ | src/ (3 files):
17:39 dalek rakudo/nom: Make //=, ||= and &&= thunky with their RHS.
17:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c7bf3344bc
17:39 dalek rakudo/nom: 1c92d0a | jnthn++ | src/core/List.pm:
17:39 dalek rakudo/nom: The splice implementation relied on the previously incorrect semantics of //= in a rather subtle way. This makes it work again now //= is fixed.
17:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1c92d0a5f8
17:39 [Coke] spider-mario: no worries, glad you figured it out!
17:40 [Coke] moritz does not work with jnthn, does he? only masak?
17:41 moritz [Coke]: no
17:41 sorear masak: ping
17:43 havenn joined #perl6
17:43 dalek roast: a88ff3d | jnthn++ | S03-operators/short-circuit.t:
17:43 dalek roast: A couple of unfudges, and a correction.
17:43 dalek roast: review: https://github.com/perl6/roast/commit/a88ff3d1bf
17:45 moritz jnthn: fwiw changing 'our sub string_to_bigint' to 'my' doesn't fix the general problem with precompiling modules with new ops (as you probably have guessed :-)
17:47 uvtc r: my %h = <a 1 b 2 c 3>; %h.delete{'a'}; say %h
17:47 p6eval rakudo 110f35: OUTPUT«("a" => "1", "b" => "2", "c" => "3").hash␤»
17:47 dalek roast: f14b0fb | jnthn++ | S03-operators/short-circuit.t:
17:47 dalek roast: Some more Rakudo unfudges; also turn some skip into todo.
17:47 dalek roast: review: https://github.com/perl6/roast/commit/f14b0fbf30
17:47 jnthn moritz: No, I didn't think it would.
17:48 brrt joined #perl6
17:48 jnthn TimToady: //= and friends should now be more to your liking in Rakudo :)
17:48 uvtc How does one delete a pair from a hash in the most socially acceptable manner possible?
17:48 uvtc (trying that above line in my R* 2012.4 repl kills it.)
17:48 moritz in rakudo, %hash.delete($key)
17:48 TimToady \o/
17:49 moritz in spec p6, %hash{$key}:delete
17:49 jnthn uvtc: Kills the REPL? It works here...
17:49 moritz jnthn: with curly braces after the delete?
17:49 PerlJam .oO( "socially acceptable" manner of deleting a pair? )
17:50 uvtc Sorry -- my usual pastebin has gone away. Just a sec.
17:51 uvtc https://refheap.com/paste/2475
17:51 jnthn moritz: I didn't even spot that thinko :)
17:51 jnthn moritz: But it still doesn't kill it.
17:51 uvtc ... and then it dumps me back at my shell prompt.
17:51 uvtc (forgot to include that in the paste)
17:51 tyatpi joined #perl6
17:52 uvtc PerlJam, just poking fun at myself for using "one" that way... Better: how do I delete an item from a has with extreme prejudice? :)
17:53 PerlJam uvtc: extreme prejudice would be nuking the entire hash just to get at one element :)
17:53 uvtc jnthn, Yes. Kills it. I'm on Lubuntu 12.04 now.
17:53 moritz %h.=grep(!*.key eq 'todelete')
17:53 TimToady kill $*PID probably works too
17:53 dalek book: 78f3e2a | moritz++ | src/subs-n-sigs.pod:
17:53 dalek book: correct explanation of our-scoping
17:53 dalek book: review: https://github.com/perl6/book/commit/78f3e2a374
17:53 dalek book: 5965554 | moritz++ | src/subs-n-sigs.pod:
17:53 dalek book: trivial importing example
17:53 dalek book: review: https://github.com/perl6/book/commit/5965554329
17:54 sorear qx[reboot -f]
17:55 uvtc Anyone able to reproduce my problem?
17:56 sorear phenny: tell masak I have much less time today than I thought.  We may have to make this an
17:56 phenny sorear: I'll pass that on when masak is around.
17:56 sorear phenny: tell masak "April 31" release :D
17:56 phenny sorear: I'll pass that on when masak is around.
17:56 masak sorear: pong.
17:56 phenny masak: 17:56Z <sorear> tell masak I have much less time today than I thought.  We may have to make this an
17:56 phenny masak: 17:56Z <sorear> tell masak "April 31" release :D
17:57 masak sorear: it's up to you.
17:57 sorear ?
17:57 masak sorear: I'm nomming dinner now; after that I'm free for releng'ing.
17:57 jnthn masak: I thought we had an RT for //= and ||= and so on not doing the right thing with the RHS, but can't find it.
17:57 masak jnthn: lemme find it for you.
17:57 jnthn masak: Feel free to try your luck :)
17:58 masak jnthn: https://rt.perl.org/rt3/Ti​cket/Display.html?id=77420
17:58 jnthn masak: Feel free to just resolve it; we have test coverage now.
17:58 masak oki
17:58 * masak resolves it
17:58 sorear masak: I have to go within 30m and I may not be back until after you are asleep
17:58 sorear masak: do you have any questions to give me now?
17:58 jnthn masak: Thanks.
17:58 masak sorear: one that I thought of -- how will I know what to write for a changelog?
17:58 uvtc re deleting from hash, works fine this way though: https://refheap.com/paste/2476
17:58 masak is that clear from the release guide?
17:59 uvtc jnthn, ^^
18:01 sorear masak: git log v<last>...HEAD
18:01 jnthn uvtc: Yeah, I'd expect it to work that way.
18:01 uvtc Should I file a bug report?
18:03 TimToady if you're referring to .delete{} not working, that's expected
18:03 uvtc TimToady, yes, thanks. Why is it expected?
18:03 TimToady because .delete doesn't return anything you can subscript
18:04 allbery_b joined #perl6
18:04 TimToady rakudo provides the .delete() workaround to the absense of .{}:delete
18:05 TimToady spec uses the latter because subscripting is potentially more complicated than can fit easily into a method's arguments, and does magic with semicolons for multiple dimensions
18:05 uvtc TimToady, sorry, I don't understand. Just to be clear, I'm talking about this paste https://refheap.com/paste/2475 where perl6 crashes (and returns me to my shell prompt).
18:05 uvtc TimToady, it looks to me like I'm creating a hash,
18:05 uvtc TimToady, then trying to delete one item/pair in it,
18:06 uvtc TimToady, but it's failing. Whereas, it works if I create the hash in a slightly different manner.
18:06 masak sorear: ok, sounds easy enough.
18:06 sorear uvtc: You invented the %h.delete{foo} syntax.
18:06 TimToady but you haven't specified which element to delete--the .{} syntax happens after the .delete
18:06 moritz and it should still not crach the REPL
18:07 jnthn uvtc: ah, it crashes here too when spread over two lines.
18:07 * jnthn wonders why on earth it does that.
18:07 sorear masak: anything else?
18:07 jnthn ah
18:07 jnthn > my %h = <a 1 b 2 c 3>;
18:07 jnthn ("a" => "1", "b" => "2", "c" => "3").hash
18:07 jnthn > say (%h.delete{'a'}).WHAT
18:07 jnthn Failure()
18:07 TimToady well, the final error message is correct-ish, there's no .{} defined on the List returned, but the prior messages are kinda bogus
18:07 uvtc Oh! Hah. Sorry. I was using curlies instead of parens!
18:08 jnthn moritz: Is there some issue with Failure being handled in the repl?
18:08 uvtc Whoopsie. Sorry about that. :)
18:08 TimToady there are far too few brackets in ASCII for Perl 6 not to care about the difference :)
18:08 TimToady as it is, {} are overloaded a bit more than is comfortable
18:08 TimToady though not as heavily in P6 as they were in P5
18:09 uvtc kids are even wearing them on their teeth!
18:09 * TimToady has Invisaligns® instead
18:09 uvtc Brace yourselves!
18:10 TimToady I believe P5 overloads braces 6 different ways (at least)
18:10 moritz jnthn: oh, might be
18:10 moritz jnthn: when we stringify a Failure, it goes Boom. That's by design.
18:10 jnthn moritz: ah, yeah...
18:11 jnthn And then boom goes the repl with it...
18:11 moritz so we should probably catch that
18:11 TimToady Do, or do not--there is no try...
18:11 moritz but there is a CATCH :-)
18:12 TimToady I guess Perl 6 proves that there isn't always a CATCH.
18:12 jnthn moritz: yeah.
18:15 moritz jnthn: shall I try to fix it?
18:16 jnthn moritz: Go ahead...I need to make some food here. :)
18:17 jnthn I figured out what's up with the pre-comp/operator issue too.
18:17 moritz nqp: { CATCH { nqp::say($_) }; pir::die("foo") }
18:17 p6eval nqp: OUTPUT«foo␤»
18:17 eviltwin_b joined #perl6
18:17 jnthn Though need to ponder the best solution a bit more.
18:18 Chillance joined #perl6
18:18 moritz catch the error, print the exception?
18:18 moritz note that the error usually contains the Failure message
18:18 jnthn Yeah, sounds sane.
18:23 sorear what happens if you feed class { method Str { die "pie" } } to the REPL?
18:23 sorear masak: I leave now, good luck
18:24 colomon o/
18:24 dalek rakudo/nom: 5ea23bc | moritz++ | src/Perl6/Actions.pm:
18:24 dalek rakudo/nom: make a sub lexcical
18:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5ea23bcd32
18:24 dalek rakudo/nom: 2da78a1 | moritz++ | src/Perl6/Compiler.nqp:
18:24 dalek rakudo/nom: [REPL] catch and print errors from stringification
18:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2da78a11b1
18:24 moritz masak: it responds with <anon>()
18:24 uvtc r: my @a = <a b c>; @a.delete(1); say @a
18:24 p6eval rakudo 1c92d0: OUTPUT«use of uninitialized value of type Any in string context  in method Str at src/gen/CORE.setting:670␤␤a  c␤»
18:24 masak moritz: mistab?
18:26 uvtc Is that the correct way to remove an item from the inside of an array?
18:26 TimToady not if you want the position to close up
18:26 uvtc Oh, splice?
18:26 PerlJam uvtc: splice is traditional
18:26 uvtc Thank you.
18:26 uvtc splice is nice
18:26 uvtc it's thrice nice, actually.
18:26 TimToady delete is not guaranteed to work on arrays that don't support undefined elements
18:27 TimToady a compact array will almost certainly blow up if you try to delete
18:27 uvtc I've not yet learned about "undefined elements" in Perl 6. Do regular Perl 6 arrays support undefined elements?
18:28 TimToady you just did that
18:28 uvtc Oh, I also don't know what a "compact array" is.
18:28 TimToady packed array of, say, ints
18:28 masak or objects made up only of natives.
18:28 TimToady you can have an undefined Int, but not an undefined int
18:29 TimToady you can have an undefined num, but only by representing it as NaN :)
18:29 jnthn nom: my $a = int; say "Heeeey, I have an undefined {$a.^name}"
18:29 p6eval rakudo 1c92d0: OUTPUT«Heeeey, I have an undefined int␤»
18:29 jnthn :P
18:30 TimToady um, no
18:30 jnthn I know, I'm kidding :)
18:30 PerlJam TimToady: What about arrays that have defaults?  if you delete an element, it really just reverts to the default value, right?
18:30 TimToady in that case, it might work
18:30 cognominal_ joined #perl6
18:31 uvtc "compact array" =? typed array (and the type is a native type)
18:31 masak nom: my int $a; say "jnthn is just kidding, it's not undefined, it's $a"
18:31 p6eval rakudo 1c92d0: OUTPUT«jnthn is just kidding, it's not undefined, it's 0␤»
18:31 TimToady a sparse array might actually delete the element, for instance
18:31 TimToady uvtc: yes
18:31 masak nom: my nom $a; say $a
18:31 p6eval rakudo 1c92d0: OUTPUT«===SORRY!===␤Malformed my␤at /tmp/9I6yDnUNd4:1␤»
18:31 masak nom: my num $a; say $a
18:31 birdwindupbird joined #perl6
18:31 p6eval rakudo 1c92d0: OUTPUT«NaN␤»
18:31 masak NaN? really?
18:32 masak n: my num $a; say $a
18:32 p6eval niecza v16-23-gaa61ed5: OUTPUT«[31m===[0mSORRY![31m===[0m��Malformed my at /tmp/GHcel18eES line 1:�------> [32mmy[33m�[31m num $a; say $a[0m��Parse failed��»
18:32 masak shouldn't that be 0 too?
18:32 TimToady no natives in niecza yet
18:32 TimToady why should it be 0?
18:32 TimToady NaN more accurately represents uninitialized
18:33 TimToady and will more likely catch those errors
18:33 flussence .oO( maybe int should initialise to a random value, like C : )
18:34 TimToady then we could rewrite rogue in Perl 6, and preproduce the superarrow bug
18:34 TimToady s/pre/re/
18:35 masak TimToady: not sure whether or not I agree that NaN represents uninitialized... but doesn't the spec say native things initialize to their zero?
18:35 masak I think that's much more sensible, at least.
18:35 masak again,
18:35 jnthn The spec says that native nums initialize to NaN
18:35 masak r: say my int $a
18:35 p6eval rakudo 1c92d0: OUTPUT«0␤»
18:35 jnthn I remember having it as 0 and having to go fix it.
18:35 masak jnthn: oh, ok :/
18:36 masak well, it seems an unnecessary default to me. and inconsistent with the int case.
18:36 uvtc Oh, @a.splice(...) splices in-place. Didn't expect that. Thought I'd have to do @a .= @a.splice(...) ...
18:36 TimToady S02:1229
18:36 masak I'd rather have an array of nums fill up with zeroes than with NaNs.
18:37 uvtc Er, sorry: s/@a .= @a.splice/@a .= splice/
18:37 masak but I won't push it. there doesn't seem to be general assent to it being the wrong default.
18:38 TimToady = 0 xx *;  # how hard can it be?
18:38 PerlJam depends on how many times we have to type it.
18:39 masak TimToady: what's the use case for the default of an array full of NaNs?
18:40 * jnthn afk for a bit, dinner
18:40 masak I can give you three use cases right off the bat for the default of an array full of zeroes.
18:40 TimToady blowing up when you can't know whether 0 is valid or not; it's a form of the semi-predicate problem
18:41 TimToady sub zero { 0 xx * }
18:41 TimToady = zero
18:42 masak NaN doesn't blow up. it propagates silently through calculations.
18:42 TimToady indeed, and that is a feature
18:42 masak it's a bit similar to C's not initializing arrays at all, so they come to life filled with garbage.
18:42 TimToady that's spelled '= *' in Perl 6
18:43 TimToady (when applied to native arrays)
18:44 masak you mean 'my num @a = *;' ?
18:44 TimToady that would be more like the original superarrow bug in rogue
18:44 TimToady yes, same spec paragraph I pointed to before
18:44 TimToady probably only for shaped arrays
18:45 masak ah, there it is. thank you.
18:45 TimToady my int @a[10] = *;  # garbage
18:45 masak I imagine it only works in a declaration :)
18:45 TimToady my int $arrowhits = *;  # :)
18:46 PerlJam .oO( Why would you *want* garbage? )
18:46 geistteufel joined #perl6
18:47 TimToady my int @a[MAXINT] is addr(0) = *;  # all of memory :)
18:48 PerlJam though the text does say "whatever was already there" .... maybe you've got a custom allocator behind the scenes giving your nums some special values.
18:48 TimToady more likely, you do that in hot code because you know (or think you know) that all the elements will be set by the algorithm anyway, and initializing will just slow it down
18:49 TimToady but in the case of remapping a block of memory, you generally don't want to initialize it.
18:51 TimToady though I suppose 'is addr' could suppress that too; maybe = * should really be an 'is uninitialized' trait or some such
18:51 TimToady then addr implies uninitialized, maybe
18:52 PerlJam wfm
18:52 TimToady come to think of it, 'is rw' is already implying lack of initializaiton when used on a parameter
18:54 TimToady and = * is a bit short, huffmanly speaking, for something that can get you into trouble if you prematurly optimize
18:54 TimToady *rel
18:57 masak wfm
19:03 geistteufel joined #perl6
19:03 PerlJam I think I'd feel weird writing Perl code to talk to A-to-D controllers and such. :-)
19:13 uvtc r: say $*DISTRO
19:13 p6eval rakudo 2da78a: OUTPUT«Dynamic variable $*DISTRO not found␤  in method gist at src/gen/CORE.setting:8668␤  in sub say at src/gen/CORE.setting:6556␤  in block <anon> at /tmp/CDJetLIecg:1␤␤»
19:14 uvtc (that one causes my perl6 to quit)
19:15 sftp joined #perl6
19:15 uvtc (same with $*UID)
19:16 jnthn uvtc: Same underlying cause that moritz++ and I discussed earlier.
19:16 dalek specs: 5bb94ec | larry++ | S02-bits.pod:
19:16 dalek specs: Remove =* init; add 'is default(*)' and such
19:16 dalek specs:
19:16 dalek specs: The = * initiazer is too huffmanly short, and we need those semantics
19:16 dalek specs: for other traits anyway, so make it 'is default(*)'.  We're also
19:16 dalek specs: wanting defaults for other containers (such as KeySets), so spec
19:16 dalek specs: the 'default' trait on containers in general.
19:16 dalek specs: review: https://github.com/perl6/specs/commit/5bb94ec3ac
19:16 uvtc jnthn, thanks.
19:17 TimToady PerlJam: we'll turn you into a Perl 6 Kernel hacker one of these days
19:18 TimToady we just need someone to write the Linux API emulator first to steal all their mindshare
19:19 TimToady "Perl 6 as a better C"
19:20 arnsholt PerlJam: Zavolaj/NativeCall is shaping up to be a really nice FFI library as well =)
19:22 * TimToady wonders if the defaulting mechanism is really 'does Default[42]'
19:25 * TimToady notes that he has defaulted to skipping lunch, which seems suboptimal...
19:25 replore joined #perl6
19:29 tyatpi joined #perl6
19:31 xinming_ joined #perl6
19:34 LylePerl joined #perl6
19:35 LylePerl Would it be ok to message the Perl 6 announce and workshop lists with details about our event in Bristol?
19:36 LylePerl Possibly write a small blog post?
19:38 * masak goes into Niecza releng mode
19:38 masak people, don't commit to Niecza now for a while, m'kay? :)
19:41 cognominal joined #perl6
19:45 havenn joined #perl6
19:46 jnthn LylePerl: Workshop list for sure - not sure about announc.
19:46 jnthn LylePerl: And +1 to blog post :)
19:46 jnthn LylePerl: I'll probably mention that I'm going in one of my posts too.
19:51 geekosaur joined #perl6
19:54 sudokode joined #perl6
19:55 dalek niecza: e119231 | masak++ | docs/announce.v17:
19:55 dalek niecza: Add announce.v17
19:55 dalek niecza: review: https://github.com/sorear/niecza/commit/e119231a3e
19:56 colomon \o/
19:56 masak reviews warmly welcomed.
19:57 dalek niecza: ef12629 | masak++ | docs/announce.v17:
19:57 dalek niecza: [docs/announce.v17] updated link in the end
19:57 dalek niecza: review: https://github.com/sorear/niecza/commit/ef12629234
19:59 ponbiki joined #perl6
20:00 * TimToady is so tired of github's putting a narrow column of useful data down the middle of a sea of polar ice on both sides
20:01 masak my github doesn't do that.
20:01 masak and my screen is pret-ty wide.
20:02 TimToady maybe it's a ff thing
20:02 masak oh! of course, with the default text zoom, it's quite silly.
20:02 masak but I do Ctrl + nowadays without thinking.
20:02 masak I'd rather do that than strain my eyes.
20:03 * TimToady uses NoSquint
20:03 masak reading Chinese characters (and hearing horror stories about Chinese-lang scholars) taught me to go easy on the eyes :)
20:03 * jnthn doesn't notice it, but probably due to a relatively low resolution (again, for the sake of the eyes)
20:03 TimToady otoh, for editing my CJK character descriptions, I CTRL+ my term 4 times
20:03 masak TimToady: how's http://strangelyconsistent.org/ on that account?
20:04 TimToady pretty okay; a few weird wraps when the text is zoomed more than the box holds, but other than that, pretty okay
20:05 masak \o/
20:05 TimToady much rather have weird wraps than a horizontal scrollbar
20:05 masak aye.
20:05 TimToady and I almost always get scrollbars with github
20:05 TimToady have to click through to the raw
20:06 TimToady maybe they're optimizing for iPhone or something...
20:07 * TimToady hates the modern trend toward phone-as-GUI unification
20:07 masak sorear: first snag: `make spectest` two levels down into next/next gives 'make: t/run_spectests: Command not found'
20:07 masak sorear: `make spectest` in the niecza directory itself seems to work, though.
20:08 TimToady I don't have a mouse in order to pretend I'm making touchscreen gestures...
20:08 masak TimToady: I hate when websites say they're "optimized for the iPad", and that means you can't use the website on the iPad, and have to download their crappy app instead.
20:08 masak which costs money.
20:09 masak lessons from running 'make spectest' on Niecza: the spectest suite is full of potential difficulties and undefinedness warnings.
20:10 masak also, Niecza runs the spectests quite slowly. *yawn*
20:11 eviltwin_b joined #perl6
20:12 colomon masak: yes, remember sorear lets me be the one to run make spectest all the time.  though it's reasonably snappy with TEST_JOBS=4
20:12 jnthn masak: Nice exception: booking.com, whose app is free and actually beats the website in some ways. And you can still use the site if you like. :)
20:16 masak colomon: oh, TEST_JOBS works for Niecza, too? ...of course it does.
20:16 masak jnthn: ooh
20:17 masak ah well, it's almost done now.
20:17 colomon masak: of course, that means you have undefinedness warnings flying across your window at a very high speed... ;)
20:17 masak hm, 'secret key not available'. how do I create me a gpg key to sign the tag with?
20:18 moritz gpg --gen-key
20:18 masak ah, gpg --gen-key
20:18 masak moritz: thanks :)
20:18 moritz masak: yw :-)
20:19 dalek nqp/toqast: ea5e3c6 | jnthn++ | src/QAST/Compiler.nqp:
20:19 dalek nqp/toqast: BlockInfo methods to register parameter and variable declarations, tracking the native type and register vs. local.
20:19 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/ea5e3c67dc
20:19 geekosaur joined #perl6
20:20 masak gpg asking gnarly questions :)
20:20 masak how long do I want this key to be valid?
20:20 masak days? years?
20:21 masak if I pick 5y, what happens with the tag after that?
20:21 masak if I pick 1 day, what happens then?
20:21 bruges joined #perl6
20:21 TimToady probably someone can't revert to an older version?
20:21 * masak confused
20:22 masak colomon: t/spec/S32-str/indent.t has a TODO passed: 45. just so you know ;)
20:22 colomon masak: also, I've been getting a fail for env.t
20:22 colomon masak++
20:22 eviltwin_b joined #perl6
20:23 masak t/spec/S02-magicals/env.t has a failed test (10), and t/spec/S03-operators/short-circuit.t has a TODO passed (74) and a bad plan (82 'stead of 80).
20:23 masak colomon: how common is it to have a few failures before release? what's the normal procedure for that?
20:23 masak specifically, are failures show-stoppers?
20:24 colomon let me look at short-circuit.t.  I wouldn't worry about env.t ... if it weren't so gnarly, I'd have TODO'd that one already.
20:25 jnthn The todo pass is probably because I corrected a bogus test in there earlier today.
20:25 jnthn The test count was incorrect after I did some unfudging, so I twiddled that.
20:26 jnthn I'm guessing there's somewhere that a test results in two oks, but isn't marked #?DOES or so.
20:27 * colomon goes looking at it...
20:27 jnthn nqp: my $a := 'lol'; say("oh {nqp::uc($a)}")
20:27 p6eval nqp: OUTPUT«oh LOL␤»
20:29 uvtc I'm trying to iterate over an array in a nested data structure, but I'm not sure how to "cast to array": https://refheap.com/paste/2479 (see the XXX).
20:30 moritz uvtc: for @$v ->
20:30 moritz r: my $v = [1, 2, 3]; .say for @$v;
20:30 p6eval rakudo 2da78a: OUTPUT«1␤2␤3␤»
20:30 TimToady or $v.values, or .kv, or .pairs
20:30 uvtc Oh, thanks, moritz. Same as Perl 5.
20:31 TimToady r: my $v = [1, 2, 3]; .say for $v[]
20:31 p6eval rakudo 2da78a: OUTPUT«1␤2␤3␤»
20:31 TimToady there's also that, if you want a postfix form
20:32 uvtc Oooh, not quite like P5. It won't let me do the more verbose @{$v}
20:32 TimToady std: @{$v}
20:32 p6eval std fab64fc: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of @{$v}; in Perl 6 please use @($v) at /tmp/GmYxcClDXU line 1:�------> [32m@{$v}[33m�[31m<EOL>[0m�Parse failed�FAILED 00:00 40m�»
20:33 TimToady r: my $v = [1, 2, 3]; .say for @($v)
20:33 p6eval rakudo 2da78a: OUTPUT«1␤2␤3␤»
20:33 uvtc I *like* $v.values though.
20:33 alvis` joined #perl6
20:33 uvtc TimToady, Oh, parens instead of curlies.
20:33 TimToady that's one of the overloadings of {} that we took away in p6
20:33 TimToady also this:
20:33 TimToady std: "${_}"
20:33 p6eval std fab64fc: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of ${_}; in Perl 6 please use {$_} at /tmp/FX5XAgwZZ_ line 1:�------> [32m"${_}[33m�[31m"[0m�Parse failed�FAILED 00:00 41m�»
20:34 colomon masak: ignore short-circuit.t failure.  :)
20:34 TimToady in this case it's really a closure interpolation
20:35 TimToady but @() is more like Array()
20:35 TimToady r: my $v = [1, 2, 3]; .say for Array($v)
20:35 p6eval rakudo 2da78a: OUTPUT«1␤2␤3␤»
20:36 masak Niecza v17 released. announcement sent to p6c and p6a.
20:36 masak standing down releng mode.
20:36 TimToady masak++
20:38 colomon \o/
20:38 dalek niecza: d41bc4d | masak++ | FETCH_URL:
20:38 dalek niecza: Update bootstrap to v17
20:38 dalek niecza: review: https://github.com/sorear/niecza/commit/d41bc4db82
20:38 * masak beams with pride
20:38 masak I... I hope I did that right :)
20:38 allbery_b joined #perl6
20:39 dalek nqp/toqast: 8ee175e | jnthn++ | src/QAST/Compiler.nqp:
20:39 dalek nqp/toqast: Allocate registers for lexicals at the point of declaration, including params. Also (untested) code gen for lexical and local declarations, including natively typed ones.
20:39 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/8ee175e861
20:40 TimToady masak: I have a problem
20:40 TimToady https://gist.github.com/2562494
20:42 masak TimToady: thanks for reporting. I'll check this out.
20:42 masak oh! yes.
20:43 dalek niecza: b8fcf85 | masak++ | FETCH_URL:
20:43 dalek niecza: no, that wasn't it. this is it
20:43 dalek niecza:
20:43 dalek niecza: TimToady++ for quick reporting
20:43 dalek niecza: review: https://github.com/sorear/niecza/commit/b8fcf85025
20:43 masak TimToady: re-pull and try again.
20:44 TimToady looking much better
20:44 masak \o/
20:45 uvtc I've been writing up some brief basic docs to fill a niche that I'm seeing. They're mostly harmless, and located on the wiki: <http://wiki.perl6.org/Most​ly%20Harmless%20Docs/Main>. I'm up to "Nested Data Structures".
20:46 masak uvtc++
20:47 uvtc Thanks, masak. That's the 2nd time you've done that!
20:48 jnthn uvtc++ # nice! :)
20:48 jnthn uvtc: 2/5         #=> 0.4  (no need to do 2.0/5)
20:48 jnthn uvtc: In that one, it may be worth noting somehow that it's a Rat, not a Num
20:48 colomon oh, for pete's sake
20:48 jnthn (e.g. it's not floating point, like the ones above with the exponent)
20:48 masak uvtc: I will do it a lot more if you keep being a cool guy!
20:49 * colomon was commenting on parrot not working with his perlbrew perl
20:49 TimToady masak++ for ++'ing uvtc++
20:49 uvtc jnthn, With the Mostly Harmless Docs, I'm particularly interested in not scaring off new users.
20:50 jnthn uvtc: Agree with that goal, I just think it's an important distinction. :)
20:50 jnthn Not sure what the least scary way to convey it is.
20:50 lichtkind joined #perl6
20:51 uvtc At this point, I'd guess that the least scary way would be to not mention those types and just say that the integer division gives you a float.
20:51 lichtkind would anybody check my attemt to explain a capture?
20:51 jnthn uvtc: My point is that integer division doesn't give you a float. ;-)
20:52 uvtc ?
20:52 uvtc r: say 2/5
20:52 p6eval rakudo 2da78a: OUTPUT«0.4␤»
20:52 jnthn r: say (2/5).WHAT
20:52 p6eval rakudo 2da78a: OUTPUT«Rat()␤»
20:52 uvtc Bingo. A float.
20:52 jnthn r: say (2/5).perl
20:52 p6eval rakudo 2da78a: OUTPUT«2/5␤»
20:52 uvtc Hm.
20:52 jnthn Note that it preserves the numerator and denominator.
20:52 jnthn Also
20:52 lichtkind masak:  ?
20:52 jnthn r: say 0.4.WHAT
20:52 p6eval rakudo 2da78a: OUTPUT«Rat()␤»
20:52 jnthn r: say 0.4.perl
20:52 p6eval rakudo 2da78a: OUTPUT«2/5␤»
20:52 jnthn Same there
20:52 jnthn r: say 0.4e0
20:52 p6eval rakudo 2da78a: OUTPUT«0.4␤»
20:52 jnthn r: say 0.4e0.WHAT
20:52 p6eval rakudo 2da78a: OUTPUT«Num()␤»
20:52 jnthn r: say 0.4e0.perl
20:52 p6eval rakudo 2da78a: OUTPUT«0.4e0␤»
20:53 jnthn It's the exponent that makes it a float.
20:53 jnthn Could always just say "floating point" and "rational" rather than mentioning the type names.
20:53 uvtc Full disclojure: I'm particularly susceptible to being scared by advanced features. :)
20:54 jnthn Well, this feature mostly exists to keep the scared from getting wrong answers. ;)
20:54 masak lichtkind: ¿
20:55 lichtkind masak: would you be so kind and check my glossar entry for capture (not the online version)
20:55 uvtc jnthn, If 2/5 is a rational number (able to be expresses as a fraction), then why does perl6 print it out all dressed up like a float?
20:55 masak lichtkind: thanks for asking so nicely. I don't really know where you want me to check.
20:55 uvtc s/expresses/expressed/
20:56 masak lichtkind: when indicating online resources, it's always much easier if you provide a URL.
20:56 uvtc Is it just the repl doing that for me?
20:56 masak uvtc: 0.4 is a rational number too.
20:56 jnthn uvtc: It stringifies that way as it's what people usually expect to read.
20:56 [Coke] masak++ # niecza
20:56 lichtkind masak: i thought i ask before uploading
20:56 uvtc So Perl 6 supports rational numbers like Scheme does?
20:57 masak yes.
20:57 uvtc Ohhhhhhh.
20:58 [Coke] r: say (2/3+5/6).perl
20:58 p6eval rakudo 2da78a: OUTPUT«3/2␤»
20:58 uvtc How does rakudo know 0.4 is rational? It actually checks to see if it can rationalize it?
20:59 uvtc (Just when I think this rabbit hole doesn't go any deeper... :) )
21:00 masak uvtc: every such number with a finite decimal expansion is a rational number.
21:00 masak (because you can write it as p/q, where q is some power of 10)
21:00 * uvtc leaves mark on own forehead from palm
21:00 masak ;)
21:02 uvtc jnthn, masak, thanks.
21:02 TimToady perl6: say pi.WHAT
21:03 p6eval rakudo 2da78a, niecza v17-2-gb8fcf85: OUTPUT«Num()␤»
21:03 p6eval ..pugs: OUTPUT«Rat␤»
21:03 eviltwin_b joined #perl6
21:04 TimToady pugs: say pi.perl
21:04 p6eval pugs: OUTPUT«3141592653589793/1000000000000000␤»
21:04 masak Pugs is a little bit biblical.
21:05 TimToady at least it admits it
21:05 * masak .oO( arrrr! pi Rat! )
21:06 TimToady masak's pun puts TimToady to sleep
21:06 TimToady nap &
21:09 masak sleep well, TimToady. dream of integral pies.
21:09 allbery_b joined #perl6
21:09 [Coke] I am not sure I could handle even a single integral pie.
21:11 uvtc joined #perl6
21:11 geekosaur joined #perl6
21:12 brrt joined #perl6
21:13 uvtc Sorry there. Time running out for me today. jnthn: it sounds like rakudo tries to keep things as accurate as possible (using Rats), only resorting to floats when it has to (for example, as you point out, when you use e for exponent, or when you multiply by pi or e (base of natural logs)).
21:14 baest joined #perl6
21:14 uvtc But since the string representation of Rats looks just like floats, it appears to me that the casual user doesn't even need to be aware of Rats.
21:14 brrt left #perl6
21:14 jnthn uvtc: Yes, there's very much a sense of trying to do the right thing. :)
21:15 uvtc jnthn, Very good. :)
21:20 masak right, the idea is not to bother the type-unaware user with types.
21:21 * jnthn is probably somebody who finds it a little hard to imagine being type-unaware when learning a language, even though it's not at all unusual to be.
21:22 gfldex you can get pretty far without types in javascript
21:24 geekosaur joined #perl6
21:27 eviltwin_b joined #perl6
21:34 ponbiki joined #perl6
21:34 sjn joined #perl6
21:35 havenn joined #perl6
21:37 xenu joined #perl6
21:38 allbery_b joined #perl6
21:52 dalek tablets: e411bfa | (Herbert Breunung)++ | docs/appendix-g-glossary.txt:
21:52 dalek tablets: explaining argument, parameter capture codepoint - masak++
21:52 dalek tablets: review: https://github.com/perl6/tablets/commit/e411bfa683
21:53 allbery_b joined #perl6
21:53 sisar joined #perl6
21:54 masak 'night, #perl6
21:54 allbery_b joined #perl6
22:01 eviltwin_b joined #perl6
22:04 sisar phenny, tell tadzik, regarding popolnik, maybe you were looking for http://pastebin.com/hmjcndwB
22:04 phenny sisar: I'll pass that on when tadzik is around.
22:05 allbery_b joined #perl6
22:06 whiteknight joined #perl6
22:26 havenn joined #perl6
22:30 skids joined #perl6
22:33 tyatpi joined #perl6
22:34 plutoid joined #perl6
22:40 markam joined #perl6
22:41 markam Hi #perl6 , I'm trying to do \w only if there is more than one character, and then [A-Z|a-z] if there IS only one character... any help with this grammar?
22:45 sivoais joined #perl6
22:47 cognominal_ joined #perl6
22:48 cognominal___ joined #perl6
22:49 markam in other words I am trying to make an 'identifier' statement that can be numbers, letter, or underscores, but can not begin with letters. Any help or direction is appreciated.
22:51 TimToady perl6: 'F00' ~~ / <ident> /
22:51 p6eval rakudo 2da78a, niecza v17-2-gb8fcf85:  ( no output )
22:51 p6eval ..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤    unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.​13.20120203/blib6/pugs/perl5/lib';␤    eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** Can't locate P…
22:51 cognominal joined #perl6
22:51 TimToady perl6: say 'F00' ~~ / <ident> /
22:51 p6eval pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤    unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.​13.20120203/blib6/pugs/perl5/lib';␤    eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** Can't locate P…
22:51 p6eval ..niecza v17-2-gb8fcf85: OUTPUT«#<match from(0) to(3) text(F00) pos([].list) named({"ident" => #<match from(0) to(3) text(F00) pos([].list) named({}.hash)>}.hash)>␤»
22:51 geekosaur joined #perl6
22:51 p6eval ..rakudo 2da78a: OUTPUT«=> <F00>␤ ident => <F00>␤␤»
22:53 eviltwin_b joined #perl6
22:58 lestrrat joined #perl6
23:00 * TimToady wonders if we should force people to use ~~= s/foo/bar/ and make ~~ s/// just return the modified string
23:00 TimToady (only if we switch s/// to an OKness protocol, of course)
23:02 tokuhirom joined #perl6
23:02 TimToady or maybe we should kick s/// out of ~~ somehow
23:03 TimToady just need to come up with a different way of attaching the source string
23:04 TimToady a non-smartmatch topicalizer would do it
23:04 allbery_b joined #perl6
23:07 allbery_b joined #perl6
23:11 thou joined #perl6
23:15 havenn joined #perl6
23:19 whiteknight joined #perl6
23:23 havenn joined #perl6
23:26 eviltwin_b joined #perl6
23:28 geekosaur joined #perl6
23:37 pernatiy joined #perl6
23:40 noam joined #perl6
23:43 eviltwin_b joined #perl6
23:46 allbery_b joined #perl6
23:51 geekosaur joined #perl6
23:57 geekosaur joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs