Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-10-17

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 TimToady there are many cursors, of many cursor types; they are all "special" in their own way
00:01 TimToady but each of them knows what language it is parsing, and what state they represent in the current parse
00:01 perlOblivious TimToady, so you always get a $¢ when you work with regex? o.O
00:01 TimToady yes, but you're not supposed to know about that most of the time
00:01 TimToady it's more a concept
00:02 TimToady when you write a method in a grammar, the current cursor actually comes in as self, and the method returns a new cursor
00:02 TimToady nothing actually has to be called $¢
00:02 perlOblivious so you just return self+1?
00:02 TimToady that's just its name if you happen to refer to it in STD's action closures
00:03 TimToady no, a cursor is not a number
00:03 perlOblivious that is, you do self.cursor_fresh(self.pos+1)
00:03 TimToady yes, and return that
00:03 perlOblivious kewl
00:03 perlOblivious alright. thank you. this means perl already has everything i thought of :-)
00:04 TimToady well, not cursor_fresh, that's for changing type
00:04 perlOblivious then self.pos-1?
00:04 TimToady just self.cursor(self.pos + 1)
00:04 perlOblivious self.pos-1; return self?
00:04 perlOblivious ungh.
00:04 TimToady you can't modify a cursor
00:05 TimToady they are immutable
00:05 perlOblivious alright.
00:05 perlOblivious yeah, didn't make sense what i said anyway ;-)
00:05 TimToady (well, you can, if you're the optimizer, but that's cheating)
00:05 perlOblivious thanks for the clarification
00:05 perlOblivious i'll have to learn perl already.
00:05 TimToady the BIG point is that you backtrack merely by throwing away cursors, and getting the next one from a lazy list
00:06 TimToady so backtracking never has to "undo" anything it did when going forward
00:07 perlOblivious yeah. and it has to return to the state before, it's more complex than to just decrement a cursor, the transition from that state could've been a group
00:07 TimToady it's just throwing away possible future universes, like Schrödinger's Cat.  :)
00:08 mhasch poor kitten :-)
00:08 japhb_ TimToady, can a backtrack jump way back at once (dropping a pile of choice points all in one "step")?
00:08 perlOblivious TimToady, hmm, isn't it actually adding on more, given that it is going back in time, where present wasn't decided?
00:08 TimToady perlOblivious: but if the previous group was producing a lazy list of possible universes, you just throw away the current universe and pick the next on off the list, and it automatically recurses into the group through the magic of lazy lists
00:08 * japhb_ is thinking in terms of GC tuned for making the grammar engine happy
00:09 TimToady *next one
00:09 armitage81 joined #perl6
00:09 TimToady lazy lists are a way of doing poor-man's continuations
00:10 TimToady so a form of time travel, yes, in a branching universe
00:10 perlOblivious TimToady, if you're resetting state to a previous point, how would you count then?
00:10 japhb_ I guess if it's a lazy list, you never move more than one at a time ... it just may end up being logically distant, even though it's just "the next item on the list"
00:10 perlOblivious *all state
00:10 sorear perl 6 gather/take is exactly equal in power to coroutines
00:10 armitage81 joined #perl6
00:10 TimToady as long as the state of all the butterflies flapping in China is contained in the cursor, you're good to go
00:10 sorear in the macro-reducibility sense
00:11 TimToady yes, but cursors can at least be reused
00:11 mhasch can we choose between "longest match" and "first match"?
00:11 TimToady sure, use | vs ||
00:12 mhasch nice.
00:12 perlOblivious i'm thinking perl doesn't get the respect deserves - all because of the few extra ascii chars used for making code more succinct.
00:12 TimToady so cursors are a little more like continations in that respect than pure coroutines
00:12 TimToady *nuat
00:13 japhb_ TimToady, do you have any sense on how big the collection of "active" cursors gets to be in a typical STD parse?
00:13 TimToady perlOblivious: we don't want respect; we just want to help people get their work done
00:14 diakopter japhb_: it goes past warning's recursion threshold
00:14 japhb_ "Respect, no respect ... we're the ones with the chainsaw."
00:14 TimToady well, we wouldn't mind a little more respect, but it's easy to get so much respect you can't get anything else done
00:15 perlOblivious TimToady, marketing is almost everything unfortunately.
00:15 mhasch it's nice to be important, but more important to be nice
00:15 diakopter perlOblivious: I agree, at least for nowadays
00:16 diakopter 20 years ago, things were far less industrialized
00:16 perlOblivious diakopter, there's really no escaping it. flocking is human nature
00:16 perlOblivious i use marketing in quite a broad sense
00:16 diakopter me too
00:16 TimToady we do marketing; we're just subtle about it
00:16 armitage81 joined #perl6
00:17 TimToady p6 marketing is still mostly in the "Shh! Don't tell anyone yet!" stage.  :)
00:17 perlOblivious TimToady, that's actually good
00:17 perlOblivious I think
00:18 TimToady it's a phase that will pass when the time is right
00:18 perlOblivious Otherwise there'd be pressure to prematurely standardize and freeze
00:18 TimToady "Avoid success at all costs."
00:18 perlOblivious What's that?
00:18 TimToady Haskell slogan.
00:19 TimToady ours is "Second system syndrome done right!"
00:19 perlOblivious hmm... weren't they designed by a committee decades ago?
00:19 TimToady committees are people too
00:19 perlOblivious yeah, they don't meet very often though, and their agreements are pretty much set in stone
00:20 TimToady well, of course, they believe in immutable values
00:20 perlOblivious XD
00:20 TimToady we only believe in them when it's convenient
00:20 perlOblivious i only believe in mutable values when they are convenient
00:21 perlOblivious speaking of which, i just got acquainted with Rust. Quite nice
00:21 diakopter lolz; committee convenient
00:21 armitage81 joined #perl6
00:23 perlOblivious alright, nice chatting with you guys. cya
00:23 paxcoder left #perl6
00:26 armitage81 joined #perl6
00:31 armitage81 joined #perl6
00:33 supernovus joined #perl6
00:33 armitage81 joined #perl6
00:34 supernovus Fwew, well, the XML library now has some rudimentary documentation. Currently just stuffed in the README.md on github, but hey, it's better than the previous state (which was zero documentation.)
00:38 armitage81 joined #perl6
00:38 cognominal joined #perl6
00:43 cognominal_ joined #perl6
00:43 cognominal_ r: Pair.new
00:43 p6eval rakudo 2fca74:  ( no output )
00:43 cognominal_ I am not sure what to think of that. I would expect the method .new to return an instance of the same type as of the invocant, not from some base type
00:43 cognominal_ r: say Pair.new
00:43 p6eval rakudo 2fca74: OUTPUT«Any => Mu␤»
00:46 grondilu joined #perl6
00:47 skids .oO(would it be too nanny to warn/fail harmlessly if --output= is set to the same file as the program file)
00:53 * [Coke] has a qast question - if I want to not only create a lexical var but assign it a new instance of a class, how do I do that? (qast::var lets me make the lexical...)
00:56 [Coke] japhb++ # army of darkness
00:58 anuby joined #perl6
01:05 japhb_ heh
01:14 rindolf joined #perl6
01:14 hypolin joined #perl6
01:20 armitage81 joined #perl6
01:21 sjohnson joined #perl6
01:21 kst joined #perl6
01:21 gootle joined #perl6
01:21 arlinius joined #perl6
01:21 Tene joined #perl6
01:21 rhr joined #perl6
01:21 ruz joined #perl6
01:21 frettled joined #perl6
01:21 charsbar_____ joined #perl6
01:21 `patch` joined #perl6
01:30 [Coke] japhb_: new evil dead movie coming soon.
01:30 japhb_ Schweet.
01:30 japhb_ Still starring The Chin?
01:31 [Coke] nope.
01:31 rjbs It's a remake of the first one.
01:31 rjbs http://en.wikipedia.org/wik​i/Evil_Dead#The_Evil_Dead_.282013_film.29
01:31 rjbs no Ash
01:31 [Coke] rjbs: not exactly a remake, as I understand it, but definitely closer in tone to the 1st one.
01:32 rjbs I think it's as much a remake of Evil Dead as (say) Friday the 13th recently was a remake of the original.
01:32 rjbs fwiw
01:50 armitage81 joined #perl6
01:52 armitage81 joined #perl6
01:53 armitage81 joined #perl6
01:57 armitage81 joined #perl6
01:57 armitage81 joined #perl6
01:58 benabik joined #perl6
01:58 sjohnson joined #perl6
02:12 MikeFair_ joined #perl6
02:15 tokuhiro_ joined #perl6
02:27 japhb_ I'm getting this with ./perl6-debug -e 'say "test"' :
02:27 japhb_ ===SORRY!===
02:27 japhb_ P6opaque only supports type changes where the MRO of the original type is a suffix of the MRO of the new type
02:27 japhb_ Anybody else getting that?
02:28 japhb_ (Fresh 'git pull; git clean -dxf; make')
02:30 orafu joined #perl6
02:35 am0c joined #perl6
02:59 kaleem joined #perl6
03:15 sjohnson joined #perl6
03:20 cognominal joined #perl6
03:27 * [Coke] needs "make install" on the debugger.
03:29 japhb agreed
03:39 sjohnson joined #perl6
03:42 cognominal joined #perl6
03:59 thou joined #perl6
04:26 telex joined #perl6
04:37 telex joined #perl6
04:41 sorear phenny: tell masak https://mobile.twitter.com/neilty​son/status/257149014393360384?p=v
04:41 phenny sorear: I'll pass that on when masak is around.
04:46 azawawi joined #perl6
04:46 azawawi hi
04:47 azawawi what's the usual module namespace for writing language grammars in Perl?
04:48 azawawi Perl/Perl6 i.e.
04:49 sorear There isn't one yet.
04:50 azawawi i was thinking about Language::XYZ or Grammar::XYZ
04:51 azawawi do we have a smoke server somewhere for panda modules?
04:52 azawawi i.e. http://modules.perl6.org/
05:15 masak morning, #perl6
05:15 phenny masak: 04:41Z <sorear> tell masak https://mobile.twitter.com/neilty​son/status/257149014393360384?p=v
05:15 masak sorear: indeed.
05:16 masak though here we're clearly skirting the line between "self-reference" and "autopun".
05:22 * sorear wonders if masak can hear that in Tyson's voice
05:22 sorear still, I thought it would amuse you.
05:23 masak aye :)
05:23 masak I think I can hear it in Tyson's voice. I've seen him on streamed media.
05:24 masak [Coke]: I think https://rt.perl.org/rt3/Ti​cket/Display.html?id=74946 is legit, fwiw. or at least, I don't see offhand why it would not be.
05:27 GlitchMr joined #perl6
05:29 replore joined #perl6
05:32 birdwindupbird joined #perl6
05:36 moritz good morning
05:38 masak good morning, good moritz.
05:38 sorear good moritzning.
05:39 sorear how be you and Ronja?
05:39 moritz tired, otherwise quite fine
05:39 birdwindupbird joined #perl6
05:40 moritz yesterday night when I came home from $work, Ronja delightfully shouted "papa" and ran to me, throwing her into my arms
05:40 moritz that was nice :-)
05:41 TimToady Heidi did that to me once, except she was on the wrong side of the swimming pool.  :)
05:41 moritz :-)
05:41 tokuhiro_ joined #perl6
05:41 masak TimToady: how old?
05:41 TimToady good excuse for daddy to ruin a pair of shoes :)
05:42 TimToady about 2
05:42 masak oh!
05:42 masak yes, ruin those shoes.
05:43 sorear :-)
06:08 masak rn: my %h = a => "b"; %h<a> = %h.delete("a"); say %h.perl
06:08 p6eval niecza v22-13-g0d2a99e: OUTPUT«{"a" => "b"}.hash␤»
06:08 p6eval ..rakudo 2fca74: OUTPUT«().hash␤»
06:08 masak [Coke]: another indication Rakudo is doin' it rong.
06:10 sorear masak: how so?
06:10 sorear pmichaud and I reached an agreement months ago that = should evaluate its right argument first
06:10 sorear (niecza does not actually do this, yet)
06:12 simcop2387 joined #perl6
06:15 tokuhiro_ joined #perl6
06:16 masak sorear: the above niecza evaluation is consistent with infix:<=> evaluating its right argument first. the key is deleted by the rhs, and the re-inserted by the lhs.
06:17 jaldhar joined #perl6
06:18 dalek std: bcb3aa6 | larry++ | STD.pm6:
06:18 dalek std: properly diagnose missing assignop on s[]
06:18 dalek std: review: https://github.com/perl6/std/commit/bcb3aa60af
06:18 dalek std: f14804f | larry++ | STD.pm6:
06:18 dalek std: (except do it right)
06:18 dalek std: review: https://github.com/perl6/std/commit/f14804f37c
06:18 dalek std: 47e39ad | larry++ | CursorBase.pmc:
06:18 dalek std: Merge branch 'master' of github.com:perl6/std
06:18 dalek std: review: https://github.com/perl6/std/commit/47e39ad8dc
06:22 flightrecorder joined #perl6
06:22 FROGGS joined #perl6
06:29 sjohnson joined #perl6
06:29 sorear masak: ack, I misread p6eval's output and thought niecza's output was actually rakudo's
06:30 nyuszika7h joined #perl6
06:32 _jaldhar joined #perl6
06:35 _jaldhar joined #perl6
06:46 azawawi joined #perl6
06:46 azawawi hi
06:47 moritz \o
06:47 azawawi is there any modules.perl6.org test smoker?
06:48 azawawi it is been a while since i did anything interesting in the perl6 land
06:48 * azawawi takes a look at https://github.com/perl6/ecosy​stem/wiki/Most-Wanted-Modules
06:49 azawawi so what's the recommended rakudo release for playing with modules?
06:50 azawawi s/rakudo release/perl6 distro/
06:54 sorear azawawi: rakudo star
06:56 moritz azawawi: https://github.com/tadzik/emmentaler
06:58 odoacre joined #perl6
06:59 aharoni joined #perl6
07:09 brrt joined #perl6
07:14 azawawi moritz: thx
07:38 mucker joined #perl6
07:39 fhelmberger joined #perl6
07:49 mst joined #perl6
07:55 MolbOrg joined #perl6
07:57 masak <TimToady> committees are people too
07:57 masak :D
07:59 rking joined #perl6
08:01 sorear OT: α Cen Bb.  man, there is no time like the present.
08:01 masak full ACK.
08:03 masak "The planet is not in the habitable zone [...]" aww. http://en.wikipedia.org/wiki/Alpha_Centauri_Bb
08:07 FROGGS cool, didn't know
08:07 FROGGS must be a sign that they finally found an extra-solar-planet on my birthday :P
08:07 FROGGS UFP++
08:08 masak FROGGS: happy belated birthday.
08:10 sorear pretty soon exoplanet discoveries are going to be daily.
08:10 sorear maybe even in time for my 22nd
08:11 FROGGS masak: thanks ;o)
08:11 FROGGS 22nd what? not birthay, right?
08:11 FROGGS you don't look that young
08:11 tadzik :)
08:12 tadzik Life's full of surprises
08:12 FROGGS damn it, I'm an oldie
08:12 tadzik he's not that young, he's older than me :P
08:12 FROGGS and that exactly is... ?
08:12 sorear has FROGGS seen me?
08:12 FROGGS at the YAPC::EU, ya
08:13 FROGGS I made jokes afterwards here that you look like weird al, remember?
08:13 tadzik so I'm not the only one :)
08:13 sorear heh
08:13 tadzik FROGGS: I'm 21 for a few more months
08:14 FROGGS I'm 30 now ó.ò
08:15 FROGGS but hey, I can still go to toilet on my own, so thats fine
08:15 masak FROGGS: I can report that being 31 feels exactly like being 30.
08:16 FROGGS hehe
08:16 FROGGS ya, think you are right
08:16 FROGGS you'Re just getting wiser
08:17 moritz it's big-ish events that make you feel older (living abroad, becoming a parent, starting to $work), not passing of time
08:17 moritz at least for me, so far
08:17 FROGGS definitely
08:17 sorear yeah
08:17 tadzik starting to live on my own felt like quite a jump for me
08:17 sorear yapc::eu was a much bigger deal for me than my 18th
08:18 FROGGS have two kids now, the oldest one is getting three years old this xmas
08:18 sorear (age of legal majority in US)
08:20 FROGGS two sons and the fact that I'm married to the best girl there is makes me think: what did I do before all that? sure, had my own flat and a good job, but it's nothing compared to what I "have" now
08:20 FROGGS stuff like that my youngest can walk now is much of a jump to me that any of my birthdays
08:21 tadzik I view it as sort of a next level-up there is to be
08:21 FROGGS ya
08:21 tadzik as for "what did I do", well, get ready? :)
08:22 tadzik (got ready?)
08:22 moritz FROGGS: full ack
08:23 masak applied to Perl 6, it's the milestones we hit that matter, not the years that pass.
08:24 mucker joined #perl6
08:26 FROGGS true
08:26 FROGGS there are official milestones?
08:26 FROGGS (written somewhere I mean)
08:27 masak https://github.com/rakudo/r​akudo/blob/nom/docs/ROADMAP
08:28 FROGGS ohh cool, thanks
08:28 araujo joined #perl6
08:28 masak I'm not aware of a similar resource for Niecza. future milestones are sometimes mentioned with the release announcements.
08:29 jnthn japhb: I somewhat suspect something I comitted to Rakudo last night may have caused the debugger bustage.
08:31 masak I seem to recall there was at least a per-version roadmap of Pugs, but I can't find it now.
08:32 masak ah, here: https://en.wikipedia.org/w​iki/Pugs#Version_numbering
08:44 nwc10 joined #perl6
08:49 dakkar joined #perl6
08:56 kaleem joined #perl6
08:56 * moritz found http://blog.rfw.name/2012/1​0/17/c%2B%2B_templates.html quite fascinating
09:06 Timbus Andrei Alexandrescu replied :o
09:06 Timbus odd that he didnt bring up D and its compile time function evaluation
09:17 anuby joined #perl6
09:34 am0c joined #perl6
09:37 birdwindupbird joined #perl6
10:14 SamuraiJack joined #perl6
10:22 SamuraiJack_ joined #perl6
10:29 xinming joined #perl6
10:29 mucker joined #perl6
10:33 birdwindupbird joined #perl6
10:39 rindolf joined #perl6
10:47 Guest2351 joined #perl6
10:47 Guest2351 hello
10:47 am0c Hi!
10:48 Guest2351 am coo
10:48 Guest2351 where are u from
10:48 am0c It may be an obvious question for others, what is the pronunciation for 'niecza' ?
10:48 am0c from South Korea.
10:49 tadzik it's something along nye-tscha
10:49 am0c tadzik: I see. thanks!
10:50 am0c p6eval: help
10:50 p6eval am0c: Usage: <(star|pugs|nqp|b|std|niecza|rakudo|nom|npr|n|r​|perl6|prn|rn|p|rnp|nrp|pnr|rpn|p6|nr)(?^::\s) $perl6_program>
10:51 am0c p6eval: nom:: say "nom"
10:51 am0c nom:: say "nom"
10:52 am0c nr: say "nr"
10:52 moritz nom: say 'nom'
10:52 p6eval rakudo 2fca74, niecza v22-13-g0d2a99e: OUTPUT«nr␤»
10:52 p6eval rakudo 2fca74: OUTPUT«nom␤»
10:52 am0c nqp: say "nqp?"
10:52 p6eval nqp: OUTPUT«Confused at line 2, near "say \"nqp?\""␤current instr.: 'panic' pc 20008 (src/stage2/gen/NQPHLL.pir:7316) (src/stage2/gen/NQPHLL.pm:324)␤»
10:52 am0c n: say "n?"
10:52 moritz nqp doesn't like listops
10:52 p6eval niecza v22-13-g0d2a99e: OUTPUT«n?␤»
10:52 moritz you have to use say() with parens in nqp
10:52 am0c I see.
10:54 am0c dislike listops.. that's really nice explanation, easy to understand!
11:05 Su-Shee_ joined #perl6
11:19 Hor|zon well, that's actually a bad case for an array, better case for a hash
11:19 Hor|zon woops wrong channel
11:19 Hor|zon soz
11:24 birdwindupbird joined #perl6
11:28 _jaldhar joined #perl6
11:34 bbkr__ what is the syntax to declare method with quoted name (for example with dot in it)?
11:35 jnthn r: class Foo { method ::("what? spaces and stuff!") { say 42 } }; Foo."what? spaces and stuff!"()
11:35 p6eval rakudo 2fca74: OUTPUT«No such method 'what? spaces and stuff!' for invocant of type 'Foo'␤  in block  at /tmp/xWgjYSyx0H:1␤␤»
11:35 jnthn uh, I thought that...
11:35 sudokode joined #perl6
11:37 bbkr__ rakudo: class A {}; A.^add_method( "foo.bar", sub (A) { 123 } ); A."foo.bar"().say
11:37 p6eval rakudo 2fca74: OUTPUT«123␤»
11:38 jnthn r: class Foo { method ::("what? spaces and stuff!") { say 42 } }; say Foo.^methods
11:38 p6eval rakudo 2fca74: OUTPUT«::("what? spaces and stuff!")␤»
11:38 jnthn fail
11:38 bbkr__ i can do it through HOW but i was hoping for simpler syntax
11:39 bbkr__ hm, so the ::() syntax is correct but calling such method is bugged?
11:41 bbkr__ I see not - the method is registered but with ::() wrapping as part of the name
11:41 bbkr__ should I report bug?
11:43 moritz r: sub ::('&what? spaces and stuff!') () { say 42 }; say MY::.keys
11:43 p6eval rakudo 2fca74: OUTPUT«!UNIT_MARKER GLOBALish EXPORT $?PACKAGE ::?PACKAGE $_ $/ $! &&what? spaces and stuff! $=pod␤»
11:44 moritz r: sub ::('what? spaces and stuff!') () { say 42 }; ::('what? spaces and stuff!')()
11:44 p6eval rakudo 2fca74: OUTPUT«No such symbol 'what? spaces and stuff!'␤  in method <anon> at src/gen/CORE.setting:9957␤  in  at src/gen/Metamodel.pm:2401␤  in any find_method_fallback at src/gen/Metamodel.pm:2389␤  in any find_method at src/gen/Metamodel.pm:925␤  in  at src/gen/BOOTSTRAP.pm:827…
11:44 moritz r: sub ::('what? spaces and stuff!') () { say 42 }; ::('&what? spaces and stuff!')()
11:44 p6eval rakudo 2fca74: OUTPUT«42␤»
11:44 moritz r: sub ::('what? spaces and stuff!') () { say 42 }; &::('what? spaces and stuff!')()
11:44 p6eval rakudo 2fca74: OUTPUT«42␤»
11:47 bbkr__ how to co the same for class method?
11:48 moritz I don't think it works yet
11:48 MayDaniel joined #perl6
11:48 bbkr__ rakudo: Int.::("xyz")() # LTA error message IMO, worth reporting?
11:48 p6eval rakudo 2fca74: OUTPUT«No such method 'QAST::Want<-349714076>' for invocant of type 'Int'␤  in block  at /tmp/FA1GhHpXzU:1␤␤»
11:48 bbkr__ std: Int.::("xyz")()
11:48 p6eval std 47e39ad: OUTPUT«ok 00:00 42m␤»
11:56 moritz bbkr__: I'm testing a really simply patch for method ::(...)  { } now -- no idea if it'll work
11:57 pmichaud phenny: tell PerlJam  when creating the 2012.10 release, note that we need to keep PARROT_REVISION at RELEASE_4_4_0 (i.e., don't bump it up to 4.9.0 because of issue #861).
11:57 phenny pmichaud: I'll pass that on when PerlJam is around.
11:58 kaleem joined #perl6
12:02 moritz $ ./perl6 -e 'class A { method ::("spac y") () { say 42 } }; A."spac y"()'
12:02 moritz 42
12:03 moritz but it causes lots of spectestf failures :(
12:03 daxim joined #perl6
12:04 SamuraiJack__ joined #perl6
12:09 rindolf joined #perl6
12:09 pmurias joined #perl6
12:09 jnthn moritz: odd it causes failures...
12:10 moritz jnthn: I noticed that my nom was out of date; I've rebased now and spectest again
12:11 jnthn consuming outdated nom is normally bad for you...
12:11 moritz :-)
12:11 am0c anyway what is "r:" for ?
12:12 jnthn rakudo
12:12 am0c ah.. I see
12:13 am0c p6eval: help
12:13 p6eval am0c: Usage: <(star|pugs|nqp|b|std|niecza|rakudo|nom|npr|n|r​|perl6|prn|rn|p|rnp|nrp|pnr|rpn|p6|nr)(?^::\s) $perl6_program>
12:13 jnthn nom and rakudo and r are all the same these days
12:13 jnthn "prn"? sounds like a Web 2.0 site for, well... :)
12:13 am0c tehe :3
12:14 am0c then, star is now based on nom?
12:14 moritz yes
12:14 moritz since 2012-04 iirc
12:15 am0c me notes
12:15 * am0c notes
12:15 am0c that's nice!
12:20 daxim p6eval: help help
12:20 p6eval daxim: Usage: <(star|pugs|nqp|b|std|niecza|rakudo|nom|npr|n|r​|perl6|prn|rn|p|rnp|nrp|pnr|rpn|p6|nr)(?^::\s) $perl6_program>
12:20 daxim what's b?  drawing a blank there
12:21 am0c b: say "Yey"
12:21 p6eval b 922500: OUTPUT«Yey␤»
12:21 pmichaud b is the Beijing release of Rakudo  (2011.07)
12:21 pmichaud it's the version before nom.
12:22 nmishin joined #perl6
12:22 am0c b: say $?VM
12:22 p6eval b 922500: OUTPUT«===SORRY!===␤Symbol '$?VM' not predeclared in <anonymous> (/tmp/qZqIblZMuy:22)␤»
12:26 masak trim-leading and trim-trailing are in the spectests but not in S32/Str.
12:26 masak rn: say trim-trailing("oh yeah!   ")
12:26 p6eval rakudo 2fca74, niecza v22-13-g0d2a99e: OUTPUT«oh yeah!␤»
12:27 masak anyone mind if I add them to S32/Str? :)
12:27 * moritz doesn't mind
12:27 pmichaud +1 if we're sure that we're keeping them :)
12:29 dalek specs: eb7089a | masak++ | S32-setting-library/Str.pod:
12:29 dalek specs: [S32/Str] mention trim-leading and trim-trailing
12:29 dalek specs: review: https://github.com/perl6/specs/commit/eb7089a288
12:29 masak I think they're fairly established at this point.
12:30 colomon masak++
12:30 nmishin joined #perl6
12:34 masak I wonder what would happen if we gave 10 volunteers the task "find 10 things in the spec that can be improved, and propose patches to improve them".
12:35 masak omissions and typographical things rather than radical new features, of course.
12:35 am0c r: "yey".gist.say
12:35 p6eval rakudo 2fca74: OUTPUT«yey␤»
12:36 jnthn .say calls .gist, iirc. so that's probably redundant :)
12:36 masak am0c: the '.gist' is redundant; .say already prints the .gist of what jnthn said.
12:36 am0c er.. okay
12:36 jnthn uh-oh...do I really want Rakudo giving people the gist of what I said? :P
12:37 [Coke] so, regarding the debugger. Once I use make, there is no "perl6-debug" - there's an nqp script, but nqp bin/perl6-debug.nqp foo.p6 errors out. What am I missing?
12:38 jnthn make
12:40 jnthn oh, you did use make
12:40 jnthn wtf
12:40 jnthn why is there no perl6-debug?
12:41 jnthn What does "make" output for you?
12:41 [Coke] wtf. I just remade and now it's there. wtf.
12:41 [Coke] ah. some weirdness with with the literal .exe perhaps.
12:42 [Coke] or perhaps I was sleepy. jnthn++
12:42 [Coke] ah... you can't use it with straight rakudo compiler, eh?
12:43 jnthn if you make install'd Rakudo, yes but...
12:43 [Coke] star: use Term::ANSIColor
12:43 p6eval star 2012.07:  ( no output )
12:43 jnthn ...I fear a Rakudo commit I made last night busted it.
12:43 [Coke] r: use Term::ANSIColor
12:43 p6eval rakudo 2fca74: OUTPUT«===SORRY!===␤Could not find Term::ANSIColor in any of: /home/p6eval/.perl6/lib, /home/p6eval/nom-inst/lib/parrot/​4.8.0-devel/languages/perl6/lib, /home/p6eval/nom-inst/lib/parrot/4.8.​0-devel/languages/perl6/custom/lib␤»
12:43 jnthn Oh, you need to install Term::ANSIColor too :)
12:44 benabik joined #perl6
12:45 moritz jnthn: fwiw http://moritz.faui2k3.org/tmp/0001-allow-me​thod-declarations-with-indirect-name.patch is that patch. It makes several test files fail with ambiguous dispatch to method Str
12:45 moritz my only theory right now is that it misparses a method declaration somewhere
12:48 moritz $ make && ./perl6 -e 'Nil.Str'
12:48 moritz Ambiguous call to 'Str'; these signatures all match:
12:48 moritz :(Mu:U \v: Mu *%_)
12:48 moritz :(Mu : Mu *%_)
12:49 tokuhiro_ joined #perl6
12:49 am0c std: Nil.Str
12:49 p6eval std 47e39ad: OUTPUT«ok 00:00 41m␤»
12:51 jaldhar_ joined #perl6
12:51 moritz std is pretty boring, because it only parses.
12:54 am0c p6: Nil.Str
12:54 p6eval rakudo 2fca74, niecza v22-13-g0d2a99e:  ( no output )
12:56 moritz it seems my patch causes other subtle breakage as well
12:57 jerome joined #perl6
12:58 mtk joined #perl6
12:59 hash_table joined #perl6
13:00 am0c I see!
13:04 Psyche^ joined #perl6
13:05 PacoAir joined #perl6
13:06 PacoAir joined #perl6
13:06 jnthn moritz: Hmm, you switched to deflongname there...
13:06 jnthn I'm not sure that'll work out
13:11 moritz seems it doesn't, though I don't understand why it doesn't parseerror then
13:22 GlitchMr joined #perl6
13:23 atrodo joined #perl6
13:28 bloonix joined #perl6
13:38 GlitchMr perl6: .say for 10, 9, 8, +* ... *
13:38 p6eval rakudo 2fca74: OUTPUT«(timeout)10â�¤9â�¤8â�¤8â�¤8â�¤8â�¤8â�¤​8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â​�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤​8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â​�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤​8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â​�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤​8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â​�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�
13:38 p6eval ..niecza v22-13-g0d2a99e: OUTPUT«(timeout)10␤9␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8​␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8​␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8​␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8​␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤
13:39 benabik GlitchMr: +* just converts the previous number to a number.  This seems unlikely to be what you intended.
13:39 GlitchMr I just wanted identify function
13:39 GlitchMr Simple * didn't worked
13:40 benabik Ah.
13:40 sqirrel joined #perl6
13:42 moritz {$_} is the identity function
13:43 benabik True.  +* is only identity for numbers.
13:45 pmichaud perl 6:  .say for 10, 9, (8 xx *)
13:45 pmichaud perl6:  .say for 10, 9, (8 xx *)
13:46 p6eval rakudo 2fca74: OUTPUT«(timeout)10â�¤9â�¤8â�¤8â�¤8â�¤8â�¤8â�¤​8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â​�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤​8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â​�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤​8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â​�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤​8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â​�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�¤8â�
13:46 p6eval ..niecza v22-13-g0d2a99e: OUTPUT«(timeout)10␤9␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8​␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8​␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8​␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8​␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤8␤
13:47 sjn \o
13:47 Hor|zon I need a better font :D
13:47 * sjn managed to get rakudo to segfault o/
13:47 flussence why's the rakudo one got "��" on the end?
13:48 flussence truncating a ␤ on a byte?
13:49 Hor|zon GlitchMr: did you get my email? wasn't sure if you still used the myopera address
13:49 GlitchMr Yes, I've received it
13:49 GlitchMr If you mean that Pygments e-mail
13:49 Hor|zon yeah
13:50 Hor|zon are you still working on it?
13:50 GlitchMr Not really, but perhaps I'll continue it someday
13:50 Hor|zon oki doki
13:50 Hor|zon I was going to start, but I found your project on bitbucket
13:51 GlitchMr If you want to, start it
13:51 GlitchMr Currently I've problem with highlighting strings
13:51 GlitchMr I just want to make highlighter as accurate as possible
13:52 GlitchMr But thanks for reminding me
13:53 Hor|zon it was just from annoyance with Github's perl5 highlighting on perl6
13:53 bbkr__ what does : before "my" mean? there are many entries in Perl6/Grammar that look like this ":my %*RX;"
13:53 Hor|zon I was just going to "improve" the Perl 5 one under the name Perl 6
13:53 Hor|zon GlitchMr: sounds like you've thought it through a bit more
13:54 jnthn bbkr__: If yo just wrote "my" in a regex it'd match as text
13:54 jnthn :my is how you write a variable declaration in a regex
13:54 moritz bbkr__: : followed by a declaration is parsed as normal mainline code
13:54 moritz up until the final ;
13:54 Hor|zon hmm, some stop gap would be nice
13:54 bbkr__ thanks!
13:54 GlitchMr Yeah, I want let's say, q:s[] highlight $scalars, but q[] shouldn't.
13:54 moritz so   :my $x = 2 * 3;  would initialize $x with 6
13:56 Hor|zon sounds like it already works a lot better than the Perl 5 hightlighting
13:56 Hor|zon would you feel comfortable releasing it before "perfection" ?
13:57 GlitchMr Well, perhaps yes, but I don't have basic stuff too... I want to make more complex things before less complex
13:57 GlitchMr I already have support for delimiters, such as #`[[ hello ] [ world [[ ]] yep it's still comment ]]
13:58 GlitchMr (well, technically Rakudo doesn't have so good support for delimiters, but it's still part of Perl 6 specification)
14:00 jaldhar joined #perl6
14:06 Hor|zon hmm, I may play with it as well, it seems like a fun way to learn the STD module properly
14:06 stopbit joined #perl6
14:08 flightrecorder joined #perl6
14:09 hoelzro joined #perl6
14:10 [Coke] This is perl6 version 2012.09.1-36-g0937c72 built on parrot 4.8.0 revision RELEASE_4_8_0
14:10 [Coke] ^ I think this should say "rakudo" somewhere.
14:11 nyuszika7h joined #perl6
14:12 moritz nqp/src/HLL/Compiler.pm
14:12 moritz 483:        nqp::say("This is $!language version $version built on parrot $parver revision $parrev");
14:13 moritz and we should include the NQP revision
14:13 benabik You don't really want to set $!language to Rakudo because you'd like to find Rakudo with compreg("perl6").
14:13 moritz thought so
14:13 sjohnson joined #perl6
14:13 benabik Rakudo probably should just override that method and print a more custom message.  :-/
14:14 moritz aye
14:14 moritz currently I'm wondering if we store the NQP revision anywhere
14:15 skids joined #perl6
14:17 moritz what's the name of the plugin or system that allows me to injection custom javascript into webpages in firefox?
14:17 moritz ah, greasemonkey
14:18 sjn hmf. having trouble logging into rt.perl.org to submit a rakudobug
14:19 sjn anyone else having problems?
14:19 [Coke] moritz++
14:19 FROGGS joined #perl6
14:19 [Coke] sjn: I am already logged in.
14:19 jnthn sjn: You submit by sending mail
14:19 [Coke] you can't submit tickets via the webterface, though.
14:20 sjn hm
14:21 [Coke] r: say (;:[])
14:21 p6eval rakudo 2fca74: OUTPUT«␤»
14:21 sjn that kinda sucks..
14:21 sjn jnthn: which address?
14:21 [Coke] (that's specific to rt.perl.org, not rt)
14:21 [Coke] rakudobug@perl.org, I think.
14:22 aharoni joined #perl6
14:24 jnthn that one
14:24 jnthn sjn: Sending email is *much* more accessible that getting an RT account...
14:28 flussence zavolaj fails a test if I'm using panda to install it, but if I run it manually as "PERL6LIB=lib perl6 t/04-pointers.t" it's fine
14:30 skids does panda have a "dont compile" flag of some sort?
14:30 flussence there's --notests, I'm using that now...
14:31 flussence not one for skipping the compile-to-pir step though
14:31 skids Well, as a stopgap for issues that crop up it could be useful.
14:31 sjn jnthn: I already have an rt account
14:32 skids (there are similar issues pointed out to me with Sum, and also anything that accesses its own POD right now will break.)
14:32 sjn although I'm thinking Ask's bitcard thing really is more in the way than being useful :-(
14:32 * sjn has sent a mail
14:34 jnthn May just be getting unlucky with pointrs
14:34 jnthn as in, memory layout differs
14:37 flussence maybe... prove was spitting out "Wstat: 11". That's a segfault isn't it?
14:38 hash_table joined #perl6
14:39 mucker joined #perl6
14:40 GlitchMr Hor|zon: http://dl.dropbox.com/u/63913412/pygments.png
14:40 GlitchMr Putting aside lack of quote like stuff highlighting, it works rather well
14:41 GlitchMr Notice how * * * is highlighted correctly :-)
14:43 kaare_ joined #perl6
14:45 am0c joined #perl6
14:47 replore_ joined #perl6
14:47 jnthn GlitchMr: ooh, nice
14:48 Hor|zon GlitchMr: oooh, you're further than you claim ;)
14:48 arnsholt Cool!
14:49 Hor|zon I was looking for existing standalone Perl 6 highlighters to steal their tests
14:49 Hor|zon can't seem to find any...maybe Padre has some...
14:50 timotimo_ oh, you use fish. is that the newer fork of fish?
14:53 diakopter std: s[a]=*
14:53 p6eval std 47e39ad: OUTPUT«ok 00:00 43m␤»
14:53 diakopter hmm
14:53 diakopter std: s[a]
14:53 p6eval std 47e39ad: OUTPUT«[31m===[0mSORRY![31m===[0m�Missing assignment operator at /tmp/mtQrY7qbHw line 1 (EOF):�------> [32ms[a][33m�[31m<EOL>[0m�Parse failed�FAILED 00:00 42m�»
14:54 * diakopter wonders what s[a]=* does
14:56 diakopter phenny: tell TimToady try  std: /= # unblessed reference
14:56 phenny diakopter: I'll pass that on when TimToady is around.
14:56 GlitchMr s[a]=* is substitution
14:56 GlitchMr Except * in this context makes no sense
14:56 benabik joined #perl6
14:57 GlitchMr For example, s[a]='b' means replace first 'a' in $_ with 'b'.
14:57 jnthn r: my $x = "aaaa"; $x ~~ s[a] = *; say $x
14:57 p6eval rakudo 2fca74: OUTPUT«Whatever<1362513759>aaa␤»
14:58 diakopter O_O
14:58 jnthn decommute &
14:58 lumi__ See, it just replaces it with whatever
15:09 diakopter r: /@_/
15:09 p6eval rakudo 2fca74: OUTPUT«=â�€â�€â�€=â�€â�€â�€=â�€â�€â�€Sâ�€â�€â�€Oâ​�€â�€â�€Râ�€â�€â�€Râ�€â�€â�€Yâ�€â�€â�€!â�€â�€â�€=â​�€â�€â�€=â�€â�€â�€=â�€â�€â�€â�¤â�€â�€â�€Câ�€â�€â�€​aâ�€â�€â�€nâ�€â�€â�€nâ�€â�€â�€oâ�€â�€â�€tâ�€â�€â�€ â�€â�€â�€uâ�€â�€â�€sâ�€â�€â�€eâ�€â�€â�€ â�€â�€â�€pâ�€â�€â�€lâ�€â�€â�€aâ�€â�€â�€c​â�€â�€â�€eâ�€â�€â�€hâ�€â�€â�€oâ�€â�€â�€l​â�€â�€â�€dâ�€â�€â�€eâ�€â�€â�€râ�€â�€â�€ â�€â�€â�€pâ�€â�€â�€aâ�€â�€​â�€râ�€â�€â�€aâ�€â�€â�€mâ�
15:09 diakopter whee
15:10 diakopter I get lots of boxes
15:10 FROGGS unwrap them then
15:10 diakopter what does that mean
15:10 diakopter oh. heh
15:10 FROGGS ;o)
15:11 diakopter they look funny on the irclog too
15:11 diakopter it's like.. the string is utf32 but interpreted as ascii...
15:11 tokuhiro_ joined #perl6
15:12 diakopter phenny: tell jnthn try  r: /@_/ # wide chars interpreted as non-wide?
15:12 phenny diakopter: I'll pass that on when jnthn is around.
15:15 rindolf joined #perl6
15:16 diakopter phenny tell jnthn try  r: my &={say 6;}; (my &).() # should it let me redeclare & but have it still the original assigned value?
15:16 moritz r: my &={say 6;}; (my &).()
15:16 p6eval rakudo 2fca74: OUTPUT«6␤»
15:16 moritz that looks wrong
15:17 moritz r: my $ = 5; say my $
15:17 p6eval rakudo 2fca74: OUTPUT«5␤»
15:17 diakopter <- no clue
15:19 rindolf Hi all. The "Current supported release" link here is broken - http://www.parrot.org/source.html - who can I report it to?
15:19 moritz parrot-dev@lists.parrot.org
15:20 aindilis joined #perl6
15:26 sirrobert joined #perl6
15:30 birdwind1pbird joined #perl6
15:37 brrt joined #perl6
15:45 * jnthn home
15:45 phenny jnthn: 15:12Z <diakopter> tell jnthn try  r: /@_/ # wide chars interpreted as non-wide?
15:45 jnthn r: /@_/
15:45 p6eval rakudo 2fca74: OUTPUT«=â�€â�€â�€=â�€â�€â�€=â�€â�€â�€Sâ�€â�€â�€Oâ​�€â�€â�€Râ�€â�€â�€Râ�€â�€â�€Yâ�€â�€â�€!â�€â�€â�€=â​�€â�€â�€=â�€â�€â�€=â�€â�€â�€â�¤â�€â�€â�€Câ�€â�€â�€​aâ�€â�€â�€nâ�€â�€â�€nâ�€â�€â�€oâ�€â�€â�€tâ�€â�€â�€ â�€â�€â�€uâ�€â�€â�€sâ�€â�€â�€eâ�€â�€â�€ â�€â�€â�€pâ�€â�€â�€lâ�€â�€â�€aâ�€â�€â�€c​â�€â�€â�€eâ�€â�€â�€hâ�€â�€â�€oâ�€â�€â�€l​â�€â�€â�€dâ�€â�€â�€eâ�€â�€â�€râ�€â�€â�€ â�€â�€â�€pâ�€â�€â�€aâ�€â�€​â�€râ�€â�€â�€aâ�€â�€â�€mâ�
15:46 jnthn ...
15:46 pmichaud some ucs4 string is being concatenated with the ascii string somewhere
15:46 jnthn wtf.
15:46 jnthn Yeah but...
15:46 jnthn That's no damn excuse!
15:46 pmichaud and then being sent to stderr, which I suppose is not encoded as utf8
15:46 jnthn Yeah :S
15:47 jnthn Well, that's what one gets for implementing strings with encodings rather than treating encoding as a purely I/O time thing.
15:48 pmichaud ...but strings do have encodings.
15:48 jnthn In Parrot.
15:48 jnthn In Perl 6 strings are opaque thingies.
15:48 pmichaud string as a data type is an opaque thingy, yes, but internally there still has to be an encoding.
15:48 jnthn It's the transition to Buf where encoding gets interesting.
15:49 jnthn Well, if you call NFG an encoding, yes :)
15:49 pmichaud Perl 6 even goes so far as to declare that NFG is its encoding, iirc.
15:49 pmichaud by every definition I can think of, NFG is an encoding.
15:51 pmichaud the real question is probably... where's the ucs4 encoded string coming from?  ;-)
15:52 TimToady well, if an encoding has to be linear, without indirection, then NFG isn't quite one of those
15:52 phenny TimToady: 14:56Z <diakopter> tell TimToady try  std: /= # unblessed reference
15:52 TimToady NFG is also a bit of a data structure
15:53 fgomez joined #perl6
15:57 thou joined #perl6
16:07 am0c r: say ~ Rat.^attributes
16:07 p6eval rakudo 2fca74: OUTPUT«$!numerator $!denominator␤»
16:11 timotimo_ i don't quite understand what the ~ does there. is it somewhat like [~] except it does something different (insert spaces)?
16:12 TimToady r: say Rat.^attributes
16:12 p6eval rakudo 2fca74: OUTPUT«$!numerator $!denominator␤»
16:12 TimToady it's unneeded in this case
16:12 geekosaur does whatever is necessary to make it a string.. but I htought say did that itself.  like that :)
16:12 TimToady but it's stringification
16:12 timotimo_ oh, it's like this:
16:13 timotimo_ r: say +<a b c>
16:13 p6eval rakudo 2fca74: OUTPUT«3␤»
16:13 TimToady r: say "{Rat.^attributes}"; # same thing
16:13 p6eval rakudo 2fca74: OUTPUT«$!numerator $!denominator␤»
16:14 TimToady r: say '' ~ Rat.^attributes; # also same thing
16:14 p6eval rakudo 2fca74: OUTPUT«$!numerator $!denominator␤»
16:15 fglock joined #perl6
16:15 timotimo_ hm. how do i figure out what to do with an attribute?
16:15 timotimo_ r: say Rat.^attributes[0].^attributes
16:15 p6eval rakudo 2fca74: OUTPUT«No such method 'gist' for invocant of type 'BOOTSTRAPATTR'␤  in method gist at src/gen/CORE.setting:4839␤  in sub say at src/gen/CORE.setting:7268␤  in block  at /tmp/RrQkwyPFwF:1␤␤»
16:16 timotimo_ at least i can figure out that it has 10 of them
16:17 jnthn timotimo_: http://doc.perl6.org/type/Attribute :)
16:17 timotimo_ r: .name.say for Rat.^attributes[0].^attributes
16:17 p6eval rakudo 2fca74: OUTPUT«$!name␤$!rw␤$!ro␤$!has_accessor␤$!typ​e␤$!container_descriptor␤$!auto_viv_containe​r␤$!build_closure␤$!package␤$!box_target␤»
16:18 timotimo_ this is nice enough :)
16:23 kikulli joined #perl6
16:26 Chillance joined #perl6
16:29 sjohnson joined #perl6
16:36 thou joined #perl6
16:43 Hor|zon does anyone know what generates the html from pod at doc.perl6.org?
16:43 tadzik Pod::To::HTML I think
16:45 Hor|zon ooh OK
16:46 Hor|zon I noticed the "Methods supplied by class <name>" sections, just trying to figure out what does it
16:46 Hor|zon doesn't look like Pod::To::HTML
16:46 tadzik oh
16:46 tadzik moritz++ does it :)
16:47 tadzik well, methods are introspectable, it's probably generated from this
16:47 tadzik r: say Rat.^methods
16:47 p6eval rakudo 2fca74: OUTPUT«Rat FatRat new nude Num floor ceiling Int Bridge base succ pred norm abs sign conj sqrt rand sin asin cos acos tan atan atan2 sec asec cosec acosec cotan acotan sinh asinh cosh acosh tanh atanh sech asech cosech acosech cotanh acotanh round unpolar cis Complex log …
16:48 Hor|zon lol, mr lenz
16:49 moritz Hor|zon: what's so funny? :-)
16:49 moritz Hor|zon: there's a htmlify.pl script in the perl6/doc repo that generates the HTML for doc.perl6.org
16:50 Hor|zon people power
16:50 Hor|zon ah, so it is automated
16:50 diakopter TimToady: ws calls unsp and unv, and unsp calls unv, so you can remove the <.unv> from token ws
16:50 Hor|zon moritz: any thoughts on a module?
16:51 moritz Hor|zon: what module?
16:52 dalek Perlito: f81758e | (Flavio S. Glock)++ | README-perlito5-js:
16:52 dalek Perlito: Perlito5 - js - milestones - add CPAN testing
16:52 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/f81758eaee
16:53 Hor|zon a htmlify package / module
16:54 TimToady diakopter: no
16:54 tadzik it'll be more like App:: module I think
16:55 TimToady diakopter: look at what the unsp rule matches
16:56 TimToady (or ask yourself "Why is it named that?")
16:56 diakopter migrate to meeting; brb &
16:57 moritz Hor|zon: well, look at htmlify.pl and ask yourself if you find stuff worth reusing in other applications
16:57 moritz Hor|zon: if you find something, you're welcome to factor it out into a separate module
16:58 sirrobert What's a good way to show only the ends of a bunch of differently-lengthed strings.  Like:   "this is a very long string" ->  "...ery long string"
16:59 sirrobert is there an sprintf for showing the *right* $x chars of a string?
16:59 Hor|zon moritz: thanks, I was thinking of some higher level pod-to-pod niceness like htmlify already does, but maybe pod to pod, leaving the final format to another module
17:00 Hor|zon from a quick look most of the htmlify stuff is fairly format agnostic
17:00 dalek rakudo-debugger: e4c27f0 | jnthn++ | bin/perl6-debug.nqp:
17:00 dalek rakudo-debugger: Diddle %*LANG in comp_unit.
17:00 dalek rakudo-debugger:
17:00 dalek rakudo-debugger: This is where it shoulda been done in the first place. Makes things
17:00 dalek rakudo-debugger: work again with latest Rakudo.
17:00 dalek rakudo-debugger: review: https://github.com/jnthn/raku​do-debugger/commit/e4c27f0838
17:01 Hor|zon I will steal a few things if I do start a module, if you don't mind :)
17:01 jnthn [Coke]: Debugger patched for latest Rakudo.
17:03 spider-mario joined #perl6
17:03 skids r: say "string".substr(min(*-5,0),min(*,5)) # sirrobert:
17:03 p6eval rakudo 2fca74: OUTPUT«tring␤»
17:03 sirrobert skids:  ahh, great.  I was going down a dark path there... fraught with regexes and .split.reverse
17:03 sirrobert thanks =)
17:04 skids Oh actually, the second parm can be skipped.
17:04 sirrobert ahh, catch to end
17:04 sirrobert great
17:04 sirrobert so the * in that context means ...
17:04 sirrobert "the thing in question" ?
17:04 sirrobert in this case the string
17:04 sirrobert (I still haven't wrapped my head around * in a holistic way)
17:05 skids Whatever :-) length of the string.
17:05 sirrobert skids:  cool... as an aside:
17:05 diakopter TimToady: the only difference I see is the  \\ <?before [\s|'#'] >
17:06 sirrobert r: "foobarbaz".substr(*-5)
17:06 p6eval rakudo 2fca74:  ( no output )
17:06 sirrobert r: say "foobarbaz".substr(*-5)
17:06 p6eval rakudo 2fca74: OUTPUT«arbaz␤»
17:08 masak r: say "foobarbaz".substr(*/2)
17:08 p6eval rakudo 2fca74: OUTPUT«This type cannot unbox to a native integer␤  in method substr at src/gen/CORE.setting:3634␤  in block  at /tmp/40KzzZH3Ch:1␤␤»
17:08 masak r: say "foobarbaz".substr(* * .5)
17:08 p6eval rakudo 2fca74: OUTPUT«This type cannot unbox to a native integer␤  in method substr at src/gen/CORE.setting:3634␤  in block  at /tmp/jNbypEjRnD:1␤␤»
17:08 sirrobert r: say "foobarbaz".substr(*)
17:08 p6eval rakudo 2fca74: OUTPUT«No such method 'Int' for invocant of type 'Whatever'␤  in method substr at src/gen/CORE.setting:3634␤  in block  at /tmp/AkvvmoAlII:1␤␤»
17:08 masak r: say "foobarbaz".substr((*/2).Int)
17:08 p6eval rakudo 2fca74: OUTPUT«arbaz␤»
17:08 masak that was too difficult.
17:09 masak aren't Rats Cool?
17:09 moritz masak: patch it, it's not too hard :-)
17:09 masak r: say Rat ~~ Cool
17:09 p6eval rakudo 2fca74: OUTPUT«True␤»
17:09 masak so I posit it should work.
17:09 masak moritz: patching it is a good idea.
17:10 masak moritz: would you suggest I start by writing a spectest?
17:10 moritz masak: whaterver your usual workflow is
17:11 masak I'd say it's write spectest, see it fail, then patch rakudo and make sure all spectests still pass. then push spectest and rakudo patch.
17:12 masak oops, need to detrain &
17:17 TimToady diakopter: yes, well, unsp only matches unv after a backslash; what if ws needs to match unv without a backslash in front of it?
17:20 TimToady r: say "foobarbaz".substr(* div 2)
17:20 p6eval rakudo 2fca74: OUTPUT«arbaz␤»
17:21 TimToady sirrobert: use this for now^^
17:22 TimToady oh, that was masak :)
17:22 TimToady agree that a Rat should Coolify to Int in this case
17:23 skids r: multi sub foo (WhateverCode $foo) { $foo(3).say }; foo(*-1); # Didn't realize making your own Whatevers was so easy
17:23 p6eval rakudo 2fca74: OUTPUT«2␤»
17:23 sirrobert TimToady:  thanks
17:23 diakopter TimToady: oh. I forgot the \\ means something :)
17:24 bbkr joined #perl6
17:25 TimToady what did you think it didn't mean?  :)
17:30 diakopter some kind of weird alternation
17:34 sirrobert my $foo = 'foo'; my $bar = 'bar'; for ($foo, $bar) -> $x { $x = 'baz' }; say "$foo $bar";
17:34 sirrobert in a situation like that, how do I write to $foo and $bar by reference?
17:35 sirrobert so that writing to $x writes into $foo then $bar
17:35 TimToady r: my $foo = 'foo'; my $bar = 'bar'; for $foo, $bar <-> $x { $x = 'baz' }; say "$foo $bar";
17:35 p6eval rakudo 2fca74: OUTPUT«===SORRY!===␤Missing block␤at /tmp/1kJBOZM5Gg:1␤»
17:35 TimToady r: my $foo = 'foo'; my $bar = 'bar'; for $foo, $bar -> $x is rw { $x = 'baz' }; say "$foo $bar";
17:35 p6eval rakudo 2fca74: OUTPUT«baz baz␤»
17:36 sirrobert ahh
17:36 TimToady b: my $foo = 'foo'; my $bar = 'bar'; for $foo, $bar <-> $x { $x = 'baz' }; say "$foo $bar";
17:36 p6eval b 922500: OUTPUT«===SORRY!===␤Missing block at line 22, near "; say \"$fo"␤»
17:36 TimToady n: my $foo = 'foo'; my $bar = 'bar'; for $foo, $bar <-> $x { $x = 'baz' }; say "$foo $bar";
17:36 p6eval niecza v22-13-g0d2a99e: OUTPUT«baz baz␤»
17:36 sirrobert so the <-> just isn't in rakudo yet
17:36 sirrobert what is b: ?
17:36 TimToady right, though I thought it was in at one point
17:37 TimToady I have a vague recollection there were parsing problems before rakudo had LTM
17:37 TimToady so maybe not
17:37 sirrobert well, is rw works for me =)
17:37 geekosaur sirrobert, IIRC b is an older version of rakudo
17:37 sirrobert geekosaur: thanks
17:37 TimToady it would prefer to parse < over <->
17:38 sirrobert TimToady: ah, that makes sense
17:39 sorear o/
17:40 skids r: say 3 <<+<<< (1,2)  # lingering LTM problem
17:40 p6eval rakudo 2fca74: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix < instead␤at /tmp/848X61VuJB:1␤»
17:42 sirrobert While running a test (with Test.pm) is there a way of knowing the number of the test currently being run?
17:43 moritz you mean, the sequence number?
17:43 sirrobert yeah
17:44 moritz seems not, it's in a lexical variable in Test.pm
17:44 sirrobert fair enough =)
17:44 sirrobert thanks
17:44 sirrobert where is Test.pm stored?  rakudo star repo?
17:45 sirrobert ah, found it in Rakudo (not star)
17:45 jnthn skids: Do you know it's LTM, or is that just a guess?
17:46 skids Oh, a guess, sorry.
17:46 jnthn skids: No worries - if you knew it was LTM I was just gonna ask for how you knew, which may help me in tracking down the problem ;)
17:47 masak TimToady: Rakudo did <-> at one point, yes. though it was long ago. alpha, I think.
17:47 masak the b lineage never did it. nom still doesn't do it.
17:47 * masak .oO( NYRI )
17:49 masak <TimToady> I have a vague recollection there were parsing problems before rakudo had LTM
17:50 masak TimToady: well, <-> is an interesting one, isn't it?
17:50 moritz <-> lambdas were reputed to be one of them
17:50 masak because <-> belongs to the statement level, whereas < belongs to EXPR.
17:50 masak so naively it should find < and ignore <->
17:50 jnthn I think that's what I ran into last time I investigated.
17:50 masak so <-> has to be special in some way. a stopper.
17:50 jnthn And yes, when EXPR calls infix, <-> isn't on the menu.
17:50 masak right.
17:51 masak that's what I mean.
17:51 masak it's a very clear case of a more general problem: how do I tell the parser "ok, enough of the sublanguage; come back up"?
17:51 jnthn oh gosh
17:51 jnthn infix:lambda
17:53 jnthn oh, but
17:53 jnthn That does
17:53 jnthn <?before '{' | '->' >
17:53 moritz masak: you just return from your parser, and then the calling parser takes control again
17:53 jnthn Which doesn't handle <->
17:53 TimToady infixstopper calls lambda
17:54 TimToady lambda shouldn't be considered an infix
17:54 masak moritz: yesbut.
17:54 masak moritz: my point is that it doesn't happen automagically. in this case, infixstopper is needed.
17:54 jnthn TimToady: aha
17:55 TimToady I think infix:lambda is really only there to produce error messages
17:56 TimToady not sure why it has a <O(|%term)> at the end
17:57 TimToady that might be a fossil
17:57 masak do a git blame! oh wit.
17:57 masak wait*
17:57 jnthn :)
17:57 jnthn I'll have some dinner, then look at giving Rakudo an infixstopper
17:57 masak \o/
17:57 masak or should I say \<->/
17:58 TimToady well, if you're a cobra maybe
18:00 masak I can not say with certainty I'm not a cobra.
18:01 dalek Perlito: 828649a | (Flavio S. Glock)++ | / (19 files):
18:01 dalek Perlito: Perlito5 - add Perlito5X namespace
18:01 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/828649a7a8
18:01 dalek Perlito: 19136b6 | (Flavio S. Glock)++ | ChangeLog:
18:01 dalek Perlito: Perlito5 - add Perlito5X namespace - ChangeLog
18:01 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/19136b66a7
18:09 skids Perhaps the <-> just goes spinning off into space yelling "curse you skywalker"
18:11 [Coke] O_o
18:11 masak r: role W[$s] { method q { say $s; nextsame } }; ([but] class {}, W["wrapper"], W["6"], W["Perl"], W["another"], W["just"]).q
18:11 p6eval rakudo 2fca74: OUTPUT«just␤another␤Perl␤6␤wrapper␤»
18:11 _edwin joined #perl6
18:11 _edwin hi perl6!
18:11 masak hi _edwin!
18:11 _edwin should something like has @.a handles('postfix:<[]>') work?
18:12 cognominal joined #perl6
18:13 masak r: role W[$s] { method q { say $s; nextsame } }; ([but] class {}, (W[$_] for <wrapper 6 Perl another just>)).q
18:13 p6eval rakudo 2fca74: OUTPUT«just␤another␤Perl␤6␤wrapper␤»
18:13 masak _edwin: I don't see why not.
18:13 cognominal Is there a Perl6 html formatter for Perl 6 pod? I know Damian Conway as a perl5 package for that.
18:14 _edwin oh, I meant postcircumfix, but nevertheless
18:14 moritz Pod::To::Html exists, though it's far from perfect
18:15 moritz when it's installed, you can say  perl6 --doc=html yourfile > output.html
18:15 _edwin woo! handles('postcircumfix:<[ ]>') did it! :)
18:15 _edwin very cool
18:16 zby_home_ joined #perl6
18:17 cognominal thx moritz
18:19 diakopter TimToady: what is  $ { $¢.moreinput }
18:19 [Coke] p6: Nil.comb(*);
18:19 p6eval niecza v22-13-g0d2a99e:  ( no output )
18:19 p6eval ..rakudo 2fca74: OUTPUT«Cannot call 'comb'; none of these signatures match:␤:(Cool : Mu *%_)␤:(Cool : Regex $matcher, $limit = { ... }, Mu *%_)␤␤  in method comb at src/gen/CORE.setting:2101␤  in block  at /tmp/LaQ5cPmwt2:1␤␤»
18:20 am0c r: class A { has $.cat is rw = "grr.." }; A.new.cat: "meow!";
18:20 p6eval rakudo 2fca74: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤  in method cat at src/gen/CORE.setting:1590␤  in block  at /tmp/nJ54rcw3yj:1␤␤»
18:20 _edwin do I read the spec correctly, that substr is supposed to work on arrays, too?
18:20 am0c r: class A { has $.cat is rw = "grr.." }; A.new.cat( "meow!" );
18:20 p6eval rakudo 2fca74: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤  in method cat at src/gen/CORE.setting:1590␤  in block  at /tmp/QjftFcgAuE:1␤␤»
18:20 _edwin "$piece = substr(@buffer, $beg, $end - $beg);"
18:20 am0c r: class A { has $.cat is rw = "grr.." }; A.new.cat = "meow!";
18:20 p6eval rakudo 2fca74:  ( no output )
18:20 am0c r: class A { has $.cat is ro = "grr.." }; A.new.cat = "meow!";
18:20 p6eval rakudo 2fca74: OUTPUT«===SORRY!===␤Cannot call 'trait_mod:<is>'; none of these signatures match:␤:(Mu:U $child, Mu:U $parent)␤:(Attribute:D $attr, :rw(:$rw)!)␤:(Attribute:D $attr, :readonly(:$readonly)!)␤:(Attribute:D $attr, :box_target(:$box_target)!)␤:(Routine:D $r, :rw(:$rw)!)␤:(Rout…
18:20 am0c r: class A { has $.cat = "grr.." }; A.new.cat = "meow!";
18:20 p6eval rakudo 2fca74: OUTPUT«Cannot assign to a readonly variable or a value␤  in block  at /tmp/cnlXwL1BLQ:1␤␤»
18:21 am0c aha! readonly is default behavior!
18:22 arnsholt Is it possible to change/influence the behaviour of a container by applying a trait?
18:22 arnsholt Say, as a random example: my $errno is native('libc')
18:23 am0c r: class A { has $.cat = "grr.."; method meow { $.cat = "meow" }; A.new.meow;
18:23 p6eval rakudo 2fca74: OUTPUT«===SORRY!===␤Unable to parse expression in block; couldn't find final '}' at line 2, near ""␤»
18:23 am0c r: class A { has $.cat = "grr.."; method meow { $.cat = "meow" } } A.new.meow;
18:23 p6eval rakudo 2fca74: OUTPUT«===SORRY!===␤Confused␤at /tmp/ZY6jAxOglv:1␤»
18:23 am0c r: class A { has $.cat = "grr.."; method meow { $.cat = "meow" } } A.new.meow();
18:23 p6eval rakudo 2fca74: OUTPUT«===SORRY!===␤Confused␤at /tmp/GsxT7I218S:1␤»
18:23 moritz am0c: you need ; after }
18:24 masak am0c: };
18:24 am0c r: class A { has $.cat = "grr.."; method meow { $.cat = "meow" }; } A.new.meow();
18:24 p6eval rakudo 2fca74: OUTPUT«===SORRY!===␤Confused␤at /tmp/AoSYR66_YF:1␤»
18:24 masak other }
18:24 am0c r: class A { has $.cat = "grr.."; method meow { $.cat = "meow" }; }; A.new.meow();
18:24 p6eval rakudo 2fca74: OUTPUT«Cannot assign to a readonly variable or a value␤  in method meow at /tmp/zdoO1GKado:1␤  in block  at /tmp/zdoO1GKado:1␤␤»
18:24 masak heh :)
18:24 arnsholt And you want $!cat =
18:24 am0c I see. thank you :3
18:24 moritz am0c: you need to assign to $!cat, which is the actual attribute; $.cat is the attribute
18:24 masak accessor*
18:25 moritz erm yes
18:25 alester joined #perl6
18:25 moritz http://doc.perl6.org/language/objects#Attributes
18:25 * masak feels he has a right to correct moritz' typos, since their nicks both start with "m" :P
18:25 am0c I see
18:26 moritz masak: better you correct them than they go uncorrected and confuse everybody
18:27 am0c I agree!
18:27 am0c unless masak helped I would not understanded.
18:28 am0c s/ed//
18:28 masak moritz: it's weird. overall, we've met very little in meatspace, but I still feel I know how you work well enough to dare to auto-correct your typos. it's as if my simulation of you is good enough :)
18:28 moritz masak: I kinda feel the same about you
18:28 am0c heh
18:29 _edwin just thinking, it would be cool if one could "lift" methods of an attribute to methods of the class
18:29 masak that made me happy. :)
18:29 masak _edwin: isn't that what 'handles' does?
18:30 am0c so, does it mean that `has $.something"` is not a declaration for 'attribute'?
18:30 moritz am0c: it's a declaration of an attribute $!something and of an accessor
18:30 masak am0c: more like, it declares both attribute and (readonly) accessor.
18:30 _edwin as in: class Foo { has $.value lifts('prefix:<->') } would implement multi prefix:<->(Foo $x) { Foo.new(:value(- $x.value) }
18:31 moritz .oO( macros! )
18:31 _edwin masak: the difference would be the Foo.new(:value(...)) part
18:31 masak yes, I see the difference now.
18:32 masak not sure I see what the use cases would be, but certainly something like this would be *possible*, at least.
18:32 am0c I see!
18:32 masak what kind of grammar category does 'handles' belong to, anyway?
18:32 SamuraiJack joined #perl6
18:32 _edwin masak, I came accross a use case working on a RC solution, which might be considered "artificial" ;)
18:33 masak maybe, maybe not :)
18:34 am0c r: class A { has $.cat = "grr.."; method meow { $cat = "meow" }; }; A.new.meow;
18:34 p6eval rakudo 2fca74: OUTPUT«===SORRY!===␤Variable $cat is not declared␤at /tmp/nUfluf3Vt6:1␤»
18:34 am0c r: class A { has $.cat = "grr.."; method meow { $!cat = "meow" }; }; A.new.meow;
18:34 p6eval rakudo 2fca74:  ( no output )
18:35 masak moritz: linking back to an earlier topic, http://courses.csail.mit.edu/6​.851/spring12/scribe/lec1.pdf contains the phrase "our tree traversal technique is does [sic] not extend to DAGs". meaning that the nested subset algorithm doesn't work.
18:35 * am0c thinks the last code seems not good though
18:35 arnsholt Where are containers specced?
18:45 flightrecorder joined #perl6
18:47 am0c r: class A { submethod BUILD { .perl.say }; }; A.new;
18:47 p6eval rakudo 2fca74: OUTPUT«Any␤»
18:48 am0c r: class A { method p6 { .perl.say }; }; A.new.p6;
18:48 p6eval rakudo 2fca74: OUTPUT«Any␤»
18:48 masak arnsholt: what kind of containers? arrays/hashes/sets, or scalar containers holding values?
18:49 jnthn am0c: self does not go in $_
18:49 am0c I see.
18:49 masak not since 2005 ;)
18:49 am0c r: class A { method p6 { .^attributes.say }; }; A.new.p6;
18:49 p6eval rakudo 2fca74: OUTPUT«␤»
18:50 _edwin arnsholt, S32-setting-library/Containers.pod looks promising
18:50 am0c is 'Any' just to mean nothing here?
18:50 GlitchMr joined #perl6
18:51 geekosaur it's a type object, which behaves as a typed "undefined"
18:52 am0c I see..
18:52 masak am0c: what geekosaur said. each type has a type object, like the Str type has the Str type object.
18:53 masak r: say "OH HAI".defined; say Str.defined
18:53 p6eval rakudo 2fca74: OUTPUT«True␤False␤»
18:53 am0c oh, sorry for rtfm-ish question! I typed my mutterings here before I try to search them because this place is so so so kind and comfortable.
18:53 masak that's allowed.
18:54 masak rtfm-ish questions inform our documentation efforts :)
18:54 diakopter don't forget design decisions
18:55 am0c heh :3
18:57 am0c r: say Mu.WHAT
18:57 p6eval rakudo 2fca74: OUTPUT«Mu()␤»
18:58 diakopter TimToady: is <.finishlex> implicitly called at the end of a rule?
18:58 diakopter or does it not need to be called at all
19:02 diakopter oh; nm
19:03 am0c http://perlcabal.org/syn/S32/Basics.html It's interesting that Any is a role, and Mu is a class. and 'a role does a class' in this case.
19:03 jnthn masakbot: search RT <-> # :)
19:04 am0c r: class Joyable { }; role Anyway does Joyable { };
19:04 p6eval rakudo 2fca74: OUTPUT«===SORRY!===␤Joyable is not composable, so Anyway cannot compose it␤at /tmp/hrSU0a0wuJ:1␤»
19:04 jnthn am0c: The claim that Any is a role feels highly suspect.
19:05 moritz am0c: Any is a class, whatever S32::Basic might say
19:05 arnsholt masak: Yeah, sorry. Scalar containers holding stuff (I'm pondering ways to get global variables in Zavolaj)
19:05 jnthn arnsholt: "get global variables"?
19:06 fgomez joined #perl6
19:06 moritz also 'role Any does Mu' would suggest that Mu was also a role
19:06 am0c er..
19:06 amkrankruleuen joined #perl6
19:06 am0c S32::Basic says that Mu is a class though.
19:06 dalek specs: 5945c20 | moritz++ | S32-setting-library/Basics.pod:
19:06 dalek specs: [S32::Basic] Any is a class, not a role
19:06 dalek specs: review: https://github.com/perl6/specs/commit/5945c20d44
19:07 arnsholt jnthn: Stuff like errno. Non-function symbols shared in a library
19:07 _edwin .u ellipsis
19:07 phenny U+0EAF LAO ELLIPSIS (ຯ)
19:07 _edwin not what I expected :}
19:07 am0c I found a typo yey!
19:09 dalek rakudo/nom: b08d545 | jnthn++ | src/Perl6/Grammar.pm:
19:09 dalek rakudo/nom: First pass at adding $*GOAL and infixstopper.
19:09 dalek rakudo/nom:
19:09 dalek rakudo/nom: This fixes parsing of <->.
19:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b08d545633
19:09 dalek rakudo/nom: d617f7d | jnthn++ | src/Perl6/World.pm:
19:09 dalek rakudo/nom: Fix <-> semantics.
19:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d617f7d97e
19:11 SamuraiJack joined #perl6
19:12 masak jnthn++!
19:12 masak quick, release Rakudo! :P
19:13 _edwin http://rosettacode.org/wiki/Binary_strings#Perl_6
19:16 colomon _edwin++
19:17 masak arnsholt: I don't believe they are spec'd in one single place.
19:19 fhelmberger joined #perl6
19:19 dalek roast: 26d9454 | jnthn++ | S0 (3 files):
19:19 dalek roast: Unfudging/refudging for <-> fix.
19:19 dalek roast: review: https://github.com/perl6/roast/commit/26d9454e25
19:19 jnthn masak: Release isn't until tomorrow :P
19:20 arnsholt masak: Right. Off to the Rakudo code then =)
19:20 dalek rakudo/nom: 6064d0f | jnthn++ | docs/ChangeLog:
19:20 dalek rakudo/nom: Note <-> in ChangeLog.
19:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6064d0ffec
19:21 masak jnthn: maybe I could cut a "rogue masak release" tonight, and direct people to it! :D
19:21 jnthn masak: Even better, you could close the RT for <-> if we have one! :P
19:22 masak we have one.
19:22 masak shall I find it for you?
19:22 am0c jnthn++
19:22 jnthn masak: Go for it.
19:22 jnthn masak: Just resolve it; I unfudged tests.
19:22 masak https://rt.perl.org/rt3/Ti​cket/Display.html?id=74182
19:23 jnthn am0c: I hear there's a Korean Perl Workshpo.
19:23 jnthn *Workshop
19:23 * masak resolves it
19:23 jnthn am0c: Happy it's happening again. :)
19:23 am0c yes, 2 days left!
19:24 jnthn am0c: I'll have to make it over to Korea again sometime. It was great. :)
19:25 am0c Although I'm not good at Perl 6, planed to present about Perl 6. :3
19:25 jnthn ;)
19:26 diakopter phenny tell sorear leaky error:  n: /a/($_)
19:26 am0c jnthn: I will give you beers and gifts then!
19:26 diakopter n: /a/($_)
19:26 p6eval niecza v22-13-g0d2a99e: OUTPUT«Unhandled exception: System.InvalidCastException: Cannot cast from source type to destination type.␤  at Anon.1.Run.MAIN.C1ANON (Niecza.Frame ) [0x00000] in <filename unknown>:0 ␤  at Niecza.Kernel.RunCore (Niecza.Frame& cur) [0x00000] in <filename unknown…
19:27 am0c we will welcome you anytime you here >_<
19:27 am0c s/here/come/;
19:27 jnthn \o/
19:28 am0c o/
19:28 * jnthn shall see if he can manage it next year sometime
19:28 diakopter r: say /a/(1)
19:28 p6eval rakudo 2fca74: OUTPUT«No such method '!cursor_start' for invocant of type 'Int'␤  in regex  at /tmp/YZQSy8AOb4:1␤  in block  at /tmp/YZQSy8AOb4:1␤␤»
19:28 diakopter heh
19:29 moritz r: say (;:[])
19:29 p6eval rakudo 2fca74: OUTPUT«␤»
19:30 moritz r: say (;:[]).perl
19:30 p6eval rakudo 2fca74: OUTPUT«[]␤»
19:30 moritz r: say (:[]).perl
19:30 p6eval rakudo 2fca74: OUTPUT«[]␤»
19:30 moritz what does the colon do?
19:30 moritz n: say (;:[]).perl
19:30 p6eval niecza v22-13-g0d2a99e: OUTPUT«"" => []␤»
19:31 moritz that's kinda what I expected
19:31 diakopter bwahaha
19:31 diakopter rn: say (::[])
19:31 p6eval niecza v22-13-g0d2a99e: OUTPUT«Unhandled exception: System.IndexOutOfRangeException: Array index is out of range.␤  at Niecza.Kernel.InstantiateRole (Niecza.Frame th, Niecza.Variable[] pcl) [0x00000] in <filename unknown>:0 ␤  at Run.CORE.C669_param_role_inst (Niecza.Frame ) [0x00000] i…
19:31 p6eval ..rakudo 2fca74: OUTPUT«GLOBALish 7 EXPORT        11 $?PACKAGE    15 ::?PACKAGE   19 $_   23 $/   27 $!   39 $=pod        43 !UNIT_MARKER 51␤»
19:31 diakopter phenny: tell sorear another leaky error:  n: say (::[])
19:31 phenny diakopter: I'll pass that on when sorear is around.
19:32 diakopter what is rakudo doing there
19:32 moritz diakopter: symbol table
19:32 moritz r: say MY:: === ::
19:32 p6eval rakudo 2fca74: OUTPUT«False␤»
19:32 moritz r: say MY::
19:32 p6eval rakudo 2fca74: OUTPUT«PseudoStash.new("GLOBALish", GLOBAL, "EXPORT", EXPORT, "\$?PACKAGE", GLOBAL, "::?PACKAGE", GLOBAL, "\$_", Any, "\$/", Any, "\$!", Any, "\$=pod", Array.new(), "!UNIT_MARKER", !UNIT_MARKER, )␤»
19:32 diakopter oh
19:32 moritz r: say ::
19:32 p6eval rakudo 2fca74: OUTPUT«PseudoStash.new("GLOBALish", GLOBAL, "EXPORT", EXPORT, "\$?PACKAGE", GLOBAL, "::?PACKAGE", GLOBAL, "\$_", Any, "\$/", Any, "\$!", Any, "\$=pod", Array.new(), "!UNIT_MARKER", !UNIT_MARKER, )␤»
19:33 moritz nr: say (;).perl
19:33 p6eval niecza v22-13-g0d2a99e: OUTPUT«Nil␤»
19:33 p6eval ..rakudo 2fca74: OUTPUT«()␤»
19:33 moritz nr: say (;).elems
19:33 diakopter rn: say (:::[])
19:33 p6eval rakudo 2fca74, niecza v22-13-g0d2a99e: OUTPUT«0␤»
19:33 p6eval niecza v22-13-g0d2a99e: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object␤  at Niecza.StashCursor.Core (System.String key, Boolean final, Niecza.StashCursor& sc, Niecza.Variable& v, Niecza.Variable bind_to) [0x00000] in <file…
19:33 p6eval ..rakudo 2fca74: OUTPUT«===SORRY!===␤ResizablePMCArray: index out of bounds!␤»
19:33 diakopter phenny: tell sorear another:  n: say (:::[])
19:33 phenny diakopter: I'll pass that on when sorear is around.
19:34 diakopter rakudo shouldn't say that there
19:35 diakopter I wonder what index it's trying
19:35 tadzik I don't like it when things like this parse
19:35 tadzik so you make a syntax error somewhere, and there's no syntax error, it just misworks
19:36 dalek roast: f2fa61e | moritz++ | S02-types/parcel.t:
19:36 dalek roast: RT #115282, (;) parses
19:36 dalek roast: review: https://github.com/perl6/roast/commit/f2fa61e0a5
19:36 * masak submits rakudobug
19:37 jnthn diakopter: It's an internal error of some kind
19:37 jnthn My motivation to fix these things, or have them clutter RT, is relatively low, fwiw.
19:37 masak r: say (:::[])
19:37 p6eval rakudo 2fca74: OUTPUT«===SORRY!===␤ResizablePMCArray: index out of bounds!␤»
19:37 diakopter _._.
19:37 jnthn Maybe somebody else likes hunting them though.
19:37 masak jnthn: I prefer to have them in RT.
19:37 masak jnthn: could mark them up in some way if you like.
19:37 colomon rn: say (1..10).list.Array
19:38 p6eval niecza v22-13-g0d2a99e: OUTPUT«Unhandled exception: Unable to resolve method Array in type List␤  at /tmp/1zuJIDwEPl line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4212 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4213 (module-CORE @ 579) ␤  at /home…
19:38 p6eval ..rakudo 2fca74: OUTPUT«1 2 3 4 5 6 7 8 9 10␤»
19:38 masak sometimes I've given them the label [WEIRD]
19:39 diakopter my premise is that exposing such things could point to larger problems
19:39 am0c std: sub nom ($a, $b? = "question") { };
19:40 p6eval std 47e39ad: OUTPUT«Potential difficulties:â�¤  $b is declared but not used at /tmp/Sh_mbI_3X2 line 1:â�¤------> [32msub nom ($a, [33mâ��[31m$b? = "question") { };[0mâ�¤  $a is declared but not used at /tmp/Sh_mbI_3X2 line 1:â�¤------> [32msub nom ([33mâ��[31m$a, $b? = "question") { };[0mâ�¤o…
19:40 am0c std: sub nom ($a, $b? = "question") { return $a + $b; };
19:40 p6eval std 47e39ad: OUTPUT«ok 00:00 45m␤»
19:40 jnthn am0c: The default value implies the ?
19:40 jnthn So you may omit it here
19:41 am0c yes! though I was curious if I explicitly denote it when default value is provided.
19:41 colomon n: say Array.new((1..10).list)
19:41 p6eval niecza v22-13-g0d2a99e: OUTPUT«Unhandled exception: Excess arguments to List.new, used 1 of 2 positionals␤  at /home/p6eval/niecza/lib/CORE.setting line 0 (List.new @ 1) ␤  at /tmp/LGEEIrzIWT line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4212 (ANON @ 3) ␤  at /ho…
19:42 jnthn am0c: You may put it there if you wish.
19:42 jnthn am0c: It's just not required.
19:43 am0c I see.
19:43 diakopter hee hee
19:43 diakopter std: /a <~~ >/
19:43 p6eval std 47e39ad: OUTPUT«Can't locate object method "desigilname" via package "STD::Regex::_X_SsSlash::_X_SsGt" at STD.pm line 62308.␤FAILED 00:00 42m␤»
19:44 diakopter I'm getting better at this code manual inspection thing
19:44 diakopter I used to be awful. Now I'm slightly less awful
19:45 diakopter phenny tell sorear sorry for the spam - another  n: /a <~~ >/
19:47 masak diakopter: if you use phenny too much, she'll overflow and fall back to pm.
19:47 am0c std: sub foo (|bareword) { };
19:47 p6eval std 47e39ad: OUTPUT«ok 00:00 43m␤»
19:48 masak rakudo: <-> $x { }
19:48 p6eval rakudo 2fca74:  ( no output )
19:49 _edwin how difficult would string macros be to implement in rakudo?
19:49 colomon n: say (@((1..10).list)).WHAT
19:49 p6eval niecza v22-13-g0d2a99e: OUTPUT«List()␤»
19:49 diakopter phenny: tell TimToady stdbug  std: /a <~~ >/
19:49 phenny diakopter: I'll pass that on when TimToady is around.
19:49 * _edwin would love to solve an RC task with macro include($filename) {$filename.MAGIC.slurp }
19:50 colomon n: my @a = (1..10).list; say @a.WHAT
19:50 p6eval niecza v22-13-g0d2a99e: OUTPUT«Array()␤»
19:50 _edwin where .MAGIC would be incantation to evaluate an AST argument.
19:52 diakopter oh hm. the ~~ thing wasn't what I thought it was
19:53 moritz nqp: my @a := []; @a[-1]
19:53 p6eval nqp:  ( no output )
19:55 moritz r: :::[]
19:55 p6eval rakudo 2fca74: OUTPUT«===SORRY!===␤ResizablePMCArray: index out of bounds!␤»
19:55 moritz the lines that dies is
19:55 moritz @components[+@components - 1] := @components[+@components - 1] ~ (...)
19:55 moritz in World.pm
19:56 jnthn std: :::[]
19:56 p6eval std 47e39ad: OUTPUT«ok 00:00 42m␤»
19:56 tadzik ( ° ー°)
19:56 moritz (that's in dissect_longname)
19:56 moritz nqp: my @a := []; @a[+@a - 1] := @a[+@a - 1 ] ~ 'foo'
19:56 p6eval nqp: OUTPUT«ResizablePMCArray: index out of bounds!␤current instr.: '' pc 78 ((file unknown):150492226) (/tmp/qd6wCbd1F7:1)␤»
19:57 fgomez joined #perl6
19:57 moritz nqp: my @a := []; @a[+@a - 1] := @a[+@a - 1 ];
19:57 p6eval nqp: OUTPUT«ResizablePMCArray: index out of bounds!␤current instr.: '' pc 78 ((file unknown):167979266) (/tmp/TZt0kPQPtY:1)␤»
19:57 moritz nqp: my @a := []; @a[+@a - 1] := 1;
19:57 p6eval nqp: OUTPUT«ResizablePMCArray: index out of bounds!␤current instr.: '' pc 68 ((file unknown):154888031) (/tmp/UELWz4VSuD:1)␤»
19:57 moritz nqp: my @a := []; @a[+@a - 1] ;
19:57 p6eval nqp:  ( no output )
19:58 moritz ah, it's parsed bit like infix:['foo']
19:59 jnthn ah...
19:59 jnthn Hmm.
19:59 moritz except that the [] is emptz and there's a :: instead of an identifier
19:59 jnthn yeah
20:00 thou joined #perl6
20:01 Chillance joined #perl6
20:02 kurahaupo joined #perl6
20:07 am0c > my @a = (0, :a<b>, 2); my $a = @a.Parcel; $a.WHAT.say; $a.^does('Parcel()').say
20:07 am0c Parcel()
20:07 am0c False
20:07 am0c > my @a = (0, :a<b>, 2); my $a = @a.Parcel; $a.WHAT.say; $a.^isa('Parcel()').say
20:07 am0c Parcel()
20:07 am0c 0
20:07 diakopter "after Perl 6 comes out.." should probably be updated in STD.pm6
20:07 am0c is it right that 'isa' returns zero, and 'does' returns False?
20:08 pmichaud well, Rakudo and Niecza are "out", but Perl 6.0.0 isn't yet.  :-)
20:09 masak 'night, #perl6
20:09 pmichaud r:  my $a = (1,2,3); $a.WHAT.say;  $a.isa(Parcel).say
20:09 p6eval rakudo 2fca74: OUTPUT«Parcel()␤True␤»
20:09 pmichaud r:  my $a = (1,2,3); $a.WHAT.say;  $a.isa(Parcel).say;  $a.HOW.isa(Parcel).say
20:10 p6eval rakudo 2fca74: OUTPUT«Parcel()␤True␤too few positional arguments: 2 passed, 3 (or more) expected␤  in any isa at src/gen/Metamodel.pm:960␤  in block  at /tmp/2gos69bPtT:1␤␤»
20:10 pmichaud r:  my $a = (1,2,3); $a.WHAT.say;  $a.isa(Parcel).say;  $a.HOW.isa($a, Parcel).say
20:10 p6eval rakudo 2fca74: OUTPUT«Parcel()␤True␤1␤»
20:10 moritz I wonder if code like :::[] should die with "empty name disallowed" or so
20:12 birdwindupbird joined #perl6
20:13 colomon_ joined #perl6
20:14 Hor|zon moritz: I saw Pod::To::HTML for Perl 6, that's why I was thinking Pod => Pod or some kind of Pod syn tree
20:14 Hor|zon problem with pod mdules in p5 was all the reinventing of wheels
20:14 Hor|zon who cares about the final format, it's the "nice bits" we need to share
20:15 Hor|zon on that note, it would be nice to port String::Tagged
20:15 Hor|zon hmmm
20:17 _edwin std: s[]*]
20:17 p6eval std 47e39ad: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Null pattern not allowed at /tmp/ME9Siv5BjQ line 1:â�¤------> [32ms[[33mâ��[31m]*][0mâ�¤    expecting any of:â�¤ statement endâ�¤  statement listâ�¤Parse failedâ�¤FAILED 00:00 41mâ�¤Â»
20:21 Chillance joined #perl6
20:24 diakopter n: (sub { * })()
20:24 p6eval niecza v22-13-g0d2a99e: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object␤  at Niecza.Kernel.TypeDispatcher (Niecza.Frame th, Boolean tailcall) [0x00000] in <filename unknown>:0 ␤  at Niecza.Kernel.StandardTypeProtoC (Niecza.…
20:24 diakopter phenny: tell sorear sorry again, another:  n: (sub { * })()
20:24 phenny diakopter: I'll pass that on when sorear is around.
20:25 * diakopter likes the tailcall Boolean above
20:25 nlpplz joined #perl6
20:28 _edwin nr: $x='$x';eval($x).say
20:28 p6eval rakudo 6064d0: OUTPUT«===SORRY!===␤Variable $x is not declared␤at /tmp/nUS6w9XzDB:1␤»
20:28 p6eval ..niecza v22-13-g0d2a99e: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Variable $x is not predeclared at /tmp/mPVLAVWdfI line 1:â�¤------> [32m<BOL>[33mâ��[31m$x='$x';e​val($x).say[0mâ�¤â�¤Variable $x is not predeclared at /tmp/mPVLAVWdfI line 1:â�¤------> [32m$x='$x';eval([33mâ��[31m$x).say[0mâ�¤â�¤Unh…
20:28 _edwin nr: my $x='$x';eval($x).say
20:28 p6eval rakudo 6064d0, niecza v22-13-g0d2a99e: OUTPUT«$x␤»
20:28 _edwin nr: my $x='$x';$x.eval.say
20:28 p6eval niecza v22-13-g0d2a99e: OUTPUT«Unhandled exception: Variable $x is not predeclared␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1437 (die @ 5) ␤  at /home/p6eval/niecza/src/STD.pm6 line 5633 (STD.sorry @ 7) ␤  at /home/p6eval/niecza/src/NieczaActions.pm6 line 2049 (ANON @ 41) ␤  …
20:28 p6eval ..rakudo 6064d0: OUTPUT«===SORRY!===␤Variable $x is not declared␤at eval_0:1␤»
20:29 diakopter phenny: tell sorear different error:  n: (sub { ** })()
20:29 phenny diakopter: I'll pass that on when sorear is around.
20:29 _edwin why does eval($x) behave differently from $x.eval ?
20:30 _edwin does $x.eval get a different lexical scope?
20:33 tokuhiro_ joined #perl6
20:34 hash_table joined #perl6
20:39 diakopter rn: class Foo::Bar { }; sub baz(--> Foo::Bar) { Foo::Bar.new }; say baz
20:39 p6eval niecza v22-13-g0d2a99e: OUTPUT«Bar.new(...)␤»
20:39 p6eval ..rakudo 6064d0: OUTPUT«Foo::Bar.new()␤»
20:39 diakopter niecza likes the shortname; rakudo likes the long one
20:42 flightrecorder joined #perl6
20:58 benabik joined #perl6
21:09 sftp joined #perl6
21:11 _edwin http://rosettacode.org/wiki/Narcissist#Perl_6
21:12 _edwin maybe this is a motivation for implementing nested quote delimiters? *hint* *hint* ;)
21:13 kurahaupo joined #perl6
21:13 _edwin btw the perl 5 solutions cheats IMHO
21:14 diakopter _edwin: _edwin++ _edwin++ _edwin++ _edwin++ _edwin++ _edwin++ _edwin++ _edwin++
21:14 * _edwin blushes
21:15 colomon _edwin: how are nested quoting delimiters supposed to work?
21:16 _edwin like q{ this is a string and this -->q{ is just part of the string } <-- }
21:17 _edwin hm, actually if slurp() does text mode, this narcissist should also work with a Windows newline in narcissist.pl, I guess
21:19 colomon std: say  q{ this is a string and this -->q{ is just part of the string } blu + 23 43 }
21:19 p6eval std 47e39ad: OUTPUT«ok 00:00 42m␤»
21:19 colomon n: say  q{ this is a string and this -->q{ is just part of the string } blu + 23 43 }
21:19 p6eval niecza v22-13-g0d2a99e: OUTPUT« this is a string and this -->q{ is just part of the string } blu + 23 43 ␤»
21:20 * colomon is still not quite clear why that works, but it just did, right?
21:20 _edwin r: q{ this is a string and this -->q{ is just part of the string } blu + 23 43 }
21:20 p6eval rakudo 6064d0: OUTPUT«===SORRY!===␤Confused␤at /tmp/XrOfE7TGLI:1␤»
21:20 _edwin niecza++
21:20 _edwin too bad niecza does not like slurp()
21:21 _edwin as in multi slurp (IO $fh = $*ARGFILES, ...
21:21 colomon _edwin: that ought to be fixable
21:22 dalek niecza: 136ddcf | (Solomon Foster)++ | lib/CORE.setting:
21:22 dalek niecza: Add Parcel.Array and List.Array.  There's probably a better way of doing this, but this gets the job done for the moment.
21:22 dalek niecza: review: https://github.com/sorear/niecza/commit/136ddcf4f6
21:23 colomon _edwin: that's in S32?
21:23 _edwin yes, line 115
21:23 _edwin S32-setting-library/IO.pod
21:27 _edwin good night perl6
21:27 _edwin left #perl6
21:37 dalek nqp: 21af32a | jnthn++ | src/HLL/Grammar.pm:
21:37 dalek nqp: Allow nesting of quotes.
21:37 dalek nqp: review: https://github.com/perl6/nqp/commit/21af32a88f
21:39 dalek rakudo/nom: 42a280b | jnthn++ | / (2 files):
21:39 dalek rakudo/nom: Get nested delimeters parse fix.
21:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/42a280bb0b
21:39 jnthn phenny: tell _edwin I fixed the nested quote delimeters thing, I think :)
21:39 phenny jnthn: I'll pass that on when _edwin is around.
21:40 * colomon is working on slurp() in niecza.
21:51 colomon does slurp() eat all the files in $*ARGS and then stdin, too?
21:53 colomon or is it one or the other?
22:00 bbkr is it safe to pass shallow clone to bless like that: "class B is A { method new (A $a) { self.bless($a.clone) } };" ?
22:06 bbkr on logical level interferences between two instances of A and B is desired. however on syntax level i'm not sure if shallow clone is the same as $class.CREATE() which bless is expecting.
22:07 jnthn bbkr: CREATE creates a much more "empty" object
22:08 jnthn bbkr: If you want to make a clone but with some attributes changed, you can pass named args to clone, I believe.
22:10 jnthn sleep &
22:11 bbkr i noticed that CREATE is empty container and initialization params follows in bless(). that's why I was not sure if I can pass already initialized object there.
22:12 bbkr rakudo: class A { has $.x is rw = [6]; }; class B is A { method new (A $a) { self.bless($a.clone) } }; my $a = A.new; my $b = B.new($a); $b.x.[0]++; $a.say
22:12 p6eval rakudo 6064d0: OUTPUT«A.new(x => [7])␤»
22:13 bbkr n: class A { has $.x is rw = [6]; }; class B is A { method new (A $a) { self.bless($a.clone) } }; my $a = A.new; my $b = B.new($a); $b.x.[0]++; $a.say
22:13 p6eval niecza v22-14-g136ddcf: OUTPUT«A.new(...)␤»
22:13 bbkr n: class A { has $.x is rw = [6]; }; class B is A { method new (A $a) { self.bless($a.clone) } }; my $a = A.new; my $b = B.new($a); $b.x.[0]++; $a.x.[0]say
22:13 p6eval niecza v22-14-g136ddcf: OUTPUT«[31m===[0mSORRY![31m===[0m��Confused at /tmp/U4LLfGHzKc line 1:�------> [32m my $b = B.new($a); $b.x.[0]++; $a.x.[0][33m�[31msay[0m��Parse failed��»
22:13 bbkr n: class A { has $.x is rw = [6]; }; class B is A { method new (A $a) { self.bless($a.clone) } }; my $a = A.new; my $b = B.new($a); $b.x.[0]++; $a.x.[0].say
22:13 p6eval niecza v22-14-g136ddcf: OUTPUT«6␤»
22:15 bbkr discrepancy here between R and N. according to clone spec this looks like nieczabug
22:24 cognominal joined #perl6
22:25 cognominal nr: my @a = [[1, 2], 3, 4, [5, [6, [7]]]]; sub flatten($a) {  $a ~~ Positional ?? $a.map({ &?ROUTINE($_)}) !! $a }; say flatten(@a).perl
22:25 p6eval rakudo 42a280, niecza v22-14-g136ddcf: OUTPUT«(1, 2, 3, 4, 5, 6, 7).list␤»
22:25 cognominal is there a better way to flatten, arrays of arrays?
22:30 Chillance joined #perl6
22:32 TimToady colomon: it's one or the other
22:32 phenny TimToady: 19:49Z <diakopter> tell TimToady stdbug  std: /a <~~ >/
22:32 TimToady only reads $*IN if there are no filenames
22:33 colomon TimToady++
22:34 TimToady if we followed p5 here, slurp would actually only do one file at a time, but maybe we don't want that, since nobody will expect slurp to iterate
22:35 TimToady that would more properly be done by undefining the newline on the filehandle and using .get, I think
22:46 sorear o/
22:46 phenny sorear: 19:31Z <diakopter> tell sorear another leaky error:  n: say (::[])
22:46 phenny sorear: 19:33Z <diakopter> tell sorear another:  n: say (:::[])
22:46 phenny sorear: 20:24Z <diakopter> tell sorear sorry again, another:  n: (sub { * })()
22:46 phenny sorear: 20:29Z <diakopter> tell sorear different error:  n: (sub { ** })()
22:46 sorear *shrug*
22:50 TimToady just so your name isn't Atlas :)
22:55 m0ss joined #perl6
23:00 bbkr std: class A { class B is A { } }; A::B.new
23:00 p6eval std 47e39ad: OUTPUT«ok 00:00 42m␤»
23:00 bbkr rn: class A { class B is A { } }; A::B.new'
23:00 p6eval niecza v22-14-g136ddcf: OUTPUT«[31m===[0mSORRY![31m===[0m��Confused at /tmp/bhbYrTIh10 line 1:�------> [32mclass A { class B is A { } }; A::B.new[33m�[31m'[0m��Parse failed��»
23:00 p6eval ..rakudo 42a280: OUTPUT«===SORRY!===␤Confused␤at /tmp/dHBvhsqeq9:1␤»
23:00 bbkr rn: class A { class B is A { } }; A::B.new
23:00 p6eval niecza v22-14-g136ddcf:  ( no output )
23:00 p6eval ..rakudo 42a280: OUTPUT«No such method 'new' for invocant of type 'B'␤  in block  at /tmp/0pmKibaECe:1␤␤»
23:26 am0c I think an 'Array' should be a class rather than a role. http://perlcabal.org/syn/S32/Containers.html#Array
23:27 sorear am0c: Array has to be a role
23:27 am0c oh
23:27 sorear because it's parametrized, and classes can't be
23:30 am0c aha, I see!
23:31 sorear I agree it's kind of silly
23:35 am0c it feels like a sort of meta-template thingy in c++ term although it's different internally.
23:37 am0c but it makes me feel that Hash could be better if it is parameterized, for example, like Hash[Str; Int];
23:37 sorear the techical term for that is parametric polymorphism.
23:38 shachaf Yay, parametric polymorphism.
23:41 jerome joined #perl6
23:42 am0c then, could I check it is right the reason that Array has to be parameterized is.. exactly because of the `parametric polymorphism`?
23:43 am0c or by other parametrical term?
23:43 am0c sorry, I just got confused.
23:45 sorear hey shachaf
23:45 shachaf hi sorear
23:47 shachaf I was looking up newtype Curry a = Curry (Curry a -> a) and your name kept coming up in IRC logs.
23:49 sorear yeah that kind of thing happens
23:49 sorear has ghc been fixed yet to not explode when compiling curry's paradox?
23:51 shachaf Well, (\f -> (\x -> outR x x) (InR (\x -> f (outR x x)))) is a usable "fix".
23:51 shachaf I think it wasn't at one point because of inliner issues?
23:53 sorear shachaf: I mean it used to be the case that when attempting to compile curry's paradox, the inliner would crash, and this stood as a WONTFIX ticket for several years
23:55 shachaf When trying to compile which code?
23:56 sorear the code you just pasted.
23:56 shachaf By usable I mean that it compiles and runs.
23:56 sorear then clearly ghc has been fixed
23:57 shachaf Oh, I'm wrong.
23:57 shachaf It works in ghci but no with ghc.
23:57 shachaf Bah.

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

Perl 6 | Reference Documentation | Rakudo