Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-03-07

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:02 Tene jnthn: you around?
00:02 jnthn Tene: yes
00:02 jnthn And not about to sleep!
00:02 jnthn ;)
00:03 masak bah, sleep!
00:03 Tene jnthn: have time to work on 6model with me today?
00:03 flatwhatson joined #perl6
00:03 jnthn Tene: Sure - got the link to the thing you were running into trouble with?
00:03 Tene Sure; https://gist.github.com/838498
00:03 Tene that's where I ended up; let me read through it and try to swap it back in
00:05 Guest87704 joined #perl6
00:06 Tene I can't seem to work out where I left my local copy; good thing I posted it there. :)
00:07 jnthn It was failing with Null PMC access in get_string()?
00:07 Tene Yeah.
00:08 jnthn OK, got that.
00:08 jnthn Looking.
00:08 dalek yapsi: ed8d0a6 | masak++ | doc/ (2 files):
00:08 dalek yapsi: [doc/ChangeLog] [doc/ROADMAP] updated
00:08 dalek yapsi:
00:08 dalek yapsi: One could argue that I should have done this before the release.
00:08 dalek yapsi: One would be right. Oh well. Better late than never, I guess.
00:08 dalek yapsi: review: https://github.com/masak/yapsi/commit/ed8d0a6b1b
00:09 jnthn OK, it's that in:
00:09 jnthn my $speak := method ($self:) { say(pir::getattribute__ppps($self, Cow, '$!noise')); }
00:09 jnthn that attribute comes back empty
00:10 jnthn (e.g. null)
00:10 colomon joined #perl6
00:10 jnthn and trying to say it gives the NPMCA
00:10 jnthn Trying to work out why.
00:11 jnthn Tene: oh, I see it
00:11 jnthn I think
00:13 jnthn Tene: Yes, build_magic has the issue.
00:13 jnthn One is that it doesn't strip the $! off before looking for the attribute name. Note that calling them $! isn't needed - I guess Ruby doesn't put a ! in attribute names? Or does it? :)
00:13 jnthn Anyway, stripping the $! off when looking in the attributes hash helps.
00:14 jferrero left #perl6
00:14 Tene It doesn't, but I saw some code in p6opaque I think that looked at that, and changing it to $! fixed some other bug I was seeing.
00:14 masak jnthn: does that mean that you can't have both $!foo and @!foo in a class?
00:15 Tene and, no, usually ruby attribute names are just 'foo', but that's easy to hide behind whatever.
00:15 jnthn masak: You can
00:15 jnthn masak: Note we're talking about Ruby semantics here... :)
00:16 masak oh, ok.
00:16 jnthn Tene: Yes, I'm guessing you were trying to get rid of "P6opaque attributes NYFI 4"
00:16 Tene That sounds right.
00:16 jnthn Oh!
00:16 jnthn I see what's wrong
00:17 jnthn if pir::defined($!parent) {
00:17 jnthn Note that type objects are always going to come back as undefined
00:17 jnthn Unless you do something to make that not be the case.
00:17 Tene Ah.
00:17 jnthn So defined checks on those will cause issues
00:18 jnthn That in turn means that .parents gives back bad results
00:18 jnthn Which in turn means P6opaque doesn't allocate space for attributes properly - which leads to the weird error.
00:18 Tene Ahh, interesting.
00:20 diakopter bwahaha at "NYFI"
00:21 coldhead joined #perl6
00:21 jnthn Not Yet *Fully* Implemented :P
00:21 colomon left #perl6
00:21 masak O RLY?
00:22 masak I'm sure we all read it that way... :P
00:22 colomon joined #perl6
00:23 jnthn No, I...shoulda thought that one through more :P
00:24 masak you should have Fully thought it through :P
00:26 Tene I was using $!parent because ruby doesn't have MI, but @parent should work fine for this.
00:31 Tene Hmm... making that change leads to NYFI 1
00:31 jnthn C:\Consulting\nqp>nqp ruby.p6
00:31 jnthn mooooooo
00:31 jnthn \o/
00:31 jnthn Tene: https://gist.github.com/857906
00:32 Tene yeah, I like that better.
00:32 jnthn And it seems to work :)
00:33 diakopter niecza: say [].WHAT
00:33 p6eval niecza v3-48-gcbe9ac1: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object␤  at Niecza.CtxListIterator.Get (Niecza.Variable obj) [0x00000] in <filename unknown>:0 ␤  at Niecza.Kernel.IterHasFlat (Niecza.VarDeque iter, Boolean flat)
00:33 p6eval ..[0x00000] in <filena…
00:35 masak niecza: say {}.WHAT
00:35 p6eval niecza v3-48-gcbe9ac1: OUTPUT«Hash()␤»
00:35 masak niecza: say ().WHAT
00:35 p6eval niecza v3-48-gcbe9ac1: OUTPUT«Unhandled exception: System.InvalidCastException: Cannot cast from source type to destination type.␤  at Niecza.CtxParcelList.Get (Niecza.Variable obj) [0x00000] in <filename unknown>:0 ␤  at CORE.C234_Parcel_2EStr (Niecza.Frame ) [0x00000] in <filename unknown>:0 ␤
00:35 p6eval ..at Niecza.Kern…
00:36 [particle]1 is now known as [particle]
00:37 Tene jnthn: Great; thank you.
00:39 Tene Let's see how much more I can get working today...
00:45 sorear diakopter: uh... There isn't actually any automated procedure for that yet
00:48 diakopter oh :(
00:48 diakopter well it's not that bad... like 1-2 minutes
00:53 sorear cp run/* boot/run; cp obj/* boot/obj  should work
00:56 diakopter cool; thanks
01:00 sorear colomon: how do we interpret the squiggles on your latest blog post?
01:03 Chillance joined #perl6
01:04 pmurias left #perl6
01:05 Tene jnthn: just checking to make sure I haven't missed anything; there isn't a way in nqp to indicate that an nqp class declaration should use a specific knowhow, is there?
01:06 jnthn Tene: No
01:06 jnthn Tene: Generally, it's good to write the meta-objects, then use them from the language you're working on
01:07 jnthn Tene: We maybe should add a way though...
01:08 Tene It would be convenient to me for bootstrapping purposes, at least.
01:08 Tene Looks like it should be fairly straightforward.
01:08 jnthn Should be
01:10 Tene might be better to support adding a package_declarator rather than changing the default for class
01:10 jnthn Yes, certainly
01:10 jnthn That is essentially a langauge tweak
01:11 jnthn But we're missing some of the other bits to do those yet
01:12 Tene seeing repeated multi rules with nearly-identical bodies rather irks me.  That should be what the body of the proto is for.  I don't remember if TimToady ever worked that out, though.
01:13 Tene proto token package_declarator { <sym> :my $*PACKAGE-SETUP := PASt::Stmts.new(); :my $*PKGDECL := $<sym>; <package_def> };
01:13 masak spec it and they will come.
01:14 Tene That's a bit besides the point, though.
01:14 masak maybe.
01:16 * sorear wonders in jnthn's direction whether niecza/parrot should use nqp's 6model (with niecza-optimizations added) or a custom thing based on niecza.net's metamodel
01:18 jnthn Worrying about one Perl 6 implementation targetting Parrot is kinda enough for my brane... :)
01:18 rdesfo left #perl6
01:19 jnthn You probably could target 6model but...
01:19 jnthn I guess not also using other bits of PCT that work with it may mean re-inventing more wheels.
01:20 jnthn A bunch of stuff is changing in that area at the moment.
01:22 rdesfo joined #perl6
01:27 lopaway is now known as lopnor
01:32 sorear jnthn: How similar do you forsee 6model.net and Parrot's 6model/M1 being in the asymptotic future?
01:32 Tene Hmm... p6opaque might not buy me that much, considering the default case in ruby for attributes is adding them to individual objects at runtime.
01:33 jnthn sorear: No, P6opaque doesn't sound suitable for that.
01:34 sorear Tene: I recommend against using P6opaque then
01:34 jnthn gah,
01:34 jnthn s/sorear/Tene/ :)
01:34 Tene Bleh.  I'll need to write my own repr then, I guess. :(
01:35 jnthn sorear: Probably conceptually similar, though I suspect the details of how they interact with the VM will be pretty different.
01:35 jnthn 6model's .Net implementation has some way to go yet.
01:35 Tene Will p6opaque not support that at all, or will it just be pessimized?
01:35 sorear A lot of language will be able to use a "P6dynamic" repr, Tene
01:36 jnthn Tene: It's certainly sub-optimal
01:36 jnthn Tene: Are attributes very dynamic?
01:36 jnthn Tene: And are they "flat"?
01:36 Tene "flat"?
01:36 sorear Tene: P6opaque needs to support $obj does anon role { has $.foo }
01:36 jnthn What is the relationship between an attribute foo in a parent class and an attribute foo in a subclass?
01:37 porter235 joined #perl6
01:37 jnthn Can that even happen?
01:37 Tene jnthn: none whatsoever; attributes are entirely per-object.
01:37 Tene so, yes, flat
01:37 sorear Tene: er
01:37 * jnthn is confused :)
01:37 masak it seems that almost no Fiver takes to the sequence operator infix:<...> immediately. I wonder why that is.
01:37 * flatwhatson needs to change his higlighting rules D:
01:38 jnthn Tene: Per object or per class?
01:38 Tene jnthn: the only relationship between classes and attributes is what attributes an objects classes happen to set.  Anyone can take any object and shove extra attributes into it at any time, basically.
01:38 sorear Tene: class A { has $!x; method foo { $!x++ } }; class B is A { has $!x; method bar { $!x++ } }; my $c = B.net; say $c.foo; say $c.bar
01:39 Tene in ruby, that would say 0\n1\n
01:39 sorear Tene: in the Perl 6 spec and 6model, that prints "0\n0\n".  In Rakudo and Niecza, that would say 0\n1\n
01:39 sorear OK
01:40 jnthn OK, so that $!x is the "same thing"?
01:40 Tene Yes.
01:40 jnthn So essentially, an object's attributes could just be considered like a hash table?
01:40 Tene Yes.
01:40 jnthn Ah
01:40 Tene That's exactly what ruby does, in fact.
01:40 jnthn That's a very easy REPR to write then :)
01:41 jnthn Tene: I'm happy to write it, if you'd prefer that.
01:41 jnthn Can do it tomorrow.
01:42 Tene jnthn: That would be convenient for me.
01:43 jnthn OK.
01:43 jnthn hackathon++ :)
01:44 Tene Now, I certainly could analyze classes and produce a list of attributes they happen to mention, to optimize for common cases.
01:45 Tene So, if there's going to be a repr that can have optimized storage for some attributes, but still support arbitrary other attributes, that would be better.
01:46 woosley joined #perl6
01:46 Tene I'd certainly like to provide type-constrained attribute declarations if people opt-in to using cardinal-specific features.
01:46 jnthn *nod*
01:47 jnthn Tene: I suggest let's make it work first, then do opts. :)
01:47 jnthn Tene: But it'd be fun to do a bunch of those too :)
01:49 Tene I *could* just limit it to support for attributes used in class methods for now, but a flat hash-based repr would be better for now, and certainly might be useful for others in the future too.
01:51 porter235 left #perl6
01:55 Guest87704 left #perl6
01:55 Tene Yeah, I get NYFI 1 if I try to use attributes not named $!foo
02:00 Guest87704 joined #perl6
02:01 noganex_ joined #perl6
02:02 Tene Oh, no, nevermind.  It works fine; I just didn't change it in one place.
02:04 noganex left #perl6
02:06 takadonet1 pyrimidine: ping
02:08 am0c joined #perl6
02:19 whiteknight left #perl6
02:27 lopnor is now known as lopaway
02:31 takadonet1 rakudo: role me{ subset Test of Int where { $_ == any(-1,0,1) }; has Test $.beer }; my $x= me.new( beer=>33);
02:31 p6eval rakudo bd134e:  ( no output )
02:32 masak takadonet1: attribute type checking is not switched on.
02:33 takadonet1 masak: what do you mean 'not switched on'?
02:33 masak I mean you can type your attributes all you won't, but it's not checked at either compile- or runtime.
02:33 masak s/won't/want/
02:34 takadonet1 how do i turn it on then? :)
02:34 masak good question :)
02:34 masak the answer contains the phrase "Rakudo source code".
02:35 takadonet1 nuts
02:35 masak and bolts.
02:35 takadonet1 and WD-40
02:35 masak :)
02:39 dalek nqp/slp: 2e788f6 | jonathan++ | src/ (7 files):
02:39 dalek nqp/slp: Move NQP into a HLL of its own. This is a pre-req for being able to HLL-map things for NQP's use, but will also go a long way to resolving NQP/NQP-rx symbol conflicts.
02:39 dalek nqp/slp: review: https://github.com/perl6/nqp/commit/2e788f6386
02:39 dalek nqp/slp: eb5f068 | jonathan++ | src/NQP/ (2 files):
02:39 dalek nqp/slp: Register NQP as just NQP, not NQP-rx.
02:39 dalek left #perl6
02:40 dalek joined #perl6
02:47 masak sorear: ping
02:48 Tene jnthn: I just got per-object singleton classes working. :)
02:49 dalek nqp: d3f4b23 | jonathan++ | / (15 files):
02:49 dalek nqp: Merge branch 'master' into slp
02:49 dalek nqp: review: https://github.com/perl6/nqp/commit/d3f4b23008
02:49 dalek nqp: a630c2b | jonathan++ | src/pmc/nqplexinfo.pmc:
02:49 dalek nqp: Don't need to visit various a few things we'll only set up from the serialization context deserializer; clear up useless freeze/thaw that just called SUPER; add get_iter.
02:49 dalek nqp: review: https://github.com/perl6/nqp/commit/a630c2be5f
02:49 dalek nqp: e08aaf1 | jonathan++ | src/pmc/nqplex (2 files):
02:49 dalek nqp: Fix some marking issues.
02:49 dalek nqp: review: https://github.com/perl6/nqp/commit/e08aaf11e9
02:49 dalek nqp: 5ad5467 | jonathan++ | src/ (2 files):
02:49 dalek nqp: Ensure we end up with runtime lexpads being NQPLexPad.
02:49 dalek nqp: review: https://github.com/perl6/nqp/commit/5ad5467084
02:49 dalek nqp: 35ee39a | jonathan++ | src/stage0/ (2 files):
02:49 dalek nqp: Fiddle with the bootstrap code so things build with the new lexpad classes.
02:49 dalek nqp: review: https://github.com/perl6/nqp/commit/35ee39af40
02:49 dalek nqp: a694c40 | jonathan++ | src/NQP/Actions.pm:
02:49 dalek nqp: Make sure lexpads are created of the correct type in compiled code.
02:49 dalek nqp: review: https://github.com/perl6/nqp/commit/a694c40886
02:49 dalek nqp: dd13f30 | jonathan++ | src/pmc/nqplex (2 files):
02:49 dalek nqp: Ensure that NQPLexPad can cope with a Parrot LexInfo as well as an NQPLexInfo.
02:49 dalek nqp: review: https://github.com/perl6/nqp/commit/dd13f30be0
02:49 dalek nqp: bb9ccfe | jonathan++ | src/stage0/ (4 files):
02:49 dalek nqp: Re-bootstrap with the static lexpad support.
02:49 dalek nqp: review: https://github.com/perl6/nqp/commit/bb9ccfe296
02:49 jnthn Tene++
02:50 masak sorear: just wanted to say that niecza is working, and I can basically pick up markdown-p6 where I left off in early January.
02:50 masak and it's delightfully fast.
02:59 colomon_ joined #perl6
02:59 colomon left #perl6
02:59 colomon_ is now known as colomon
03:11 colomon_ joined #perl6
03:11 colomon left #perl6
03:11 colomon_ is now known as colomon
03:21 colomon left #perl6
03:22 takadonet1 left #perl6
03:23 colomon joined #perl6
03:24 rdesfo left #perl6
03:47 porter235 joined #perl6
03:51 porter235 left #perl6
03:54 hudnix left #perl6
03:56 dalek specs: f5a9d2d | diakopter++ | S32-setting-library/Str.pod:
03:56 dalek specs: fix omission in grammar Str::SprintfFormat
03:56 dalek specs: review: https://github.com/perl6/specs/commit/f5a9d2d03f
04:03 * masak --> to airport with tadzik++
04:03 masak left #perl6
04:11 jasonmay_ is now known as jasonmay
04:12 ymasory left #perl6
04:17 sorear um, HOW old is yapsi?  this looks like a PGE grammare.
04:21 sorear anyways, Niecza's goal for March is to run Yapsi
04:25 drbean left #perl6
04:26 drbean joined #perl6
04:26 ribasushi_ is now known as ribasushi
04:28 colomon left #perl6
04:29 colomon joined #perl6
04:30 drbean left #perl6
04:32 drbean joined #perl6
04:36 satyavvd joined #perl6
04:37 drbean left #perl6
04:38 tyatpi_ joined #perl6
04:46 drbean joined #perl6
04:51 drbean left #perl6
04:53 drbean joined #perl6
04:57 drbean left #perl6
04:59 cjk101010 left #perl6
04:59 orafu left #perl6
04:59 drbean joined #perl6
04:59 orafu joined #perl6
05:04 drbean left #perl6
05:04 zac314159 joined #perl6
05:04 zac314159 left #perl6
05:05 drbean joined #perl6
05:08 fith left #perl6
05:10 fith joined #perl6
05:11 kaare_ joined #perl6
05:13 drbean left #perl6
05:14 drbean joined #perl6
05:19 drbean left #perl6
05:20 drbean joined #perl6
05:21 sorear yapsi: if 0 { 1-- }
05:21 p6eval yapsi: OUTPUT«===SORRY!===␤Unable to find module 'Yapsi' in the @*INC directories.␤(@*INC contains:␤  lib␤  /home/p6eval/.perl6/lib␤  /home/p6eval//p2/lib/parrot/3.​1.0-devel/languages/perl6/lib␤  .)␤»
05:24 drbean left #perl6
05:27 drbean joined #perl6
05:31 orafu left #perl6
05:31 drbean left #perl6
05:32 orafu joined #perl6
05:32 drbean joined #perl6
05:36 drbean left #perl6
05:38 drbean joined #perl6
05:40 colomon left #perl6
05:40 colomon joined #perl6
05:43 drbean left #perl6
05:45 sorear phenny: tell masak I think there is a bug in line 814 of Yapsi.pm.
05:45 phenny sorear: I'll pass that on when masak is around.
05:48 porter235 joined #perl6
05:49 drbean joined #perl6
05:50 colomon left #perl6
05:50 colomon joined #perl6
05:52 porter235 left #perl6
05:58 satyavvd left #perl6
06:02 takesako joined #perl6
06:08 satyavvd joined #perl6
06:12 cjk101010 joined #perl6
06:19 eternaleye__ is now known as eternaleye_
06:19 eternaleye_ left #perl6
06:19 eternaleye_ joined #perl6
06:23 wolverian left #perl6
06:23 PerlJam left #perl6
06:24 PerlJam joined #perl6
06:24 wolverian joined #perl6
06:38 GinoMan joined #perl6
06:50 __rnddim__ joined #perl6
06:51 __sri joined #perl6
06:51 barika_ joined #perl6
06:51 jaldhar left #perl6
06:51 og01 joined #perl6
06:51 mathw_ joined #perl6
06:52 betterworld joined #perl6
06:52 pmichaud_ joined #perl6
06:52 xinming joined #perl6
06:52 avuserow_ joined #perl6
06:52 szabgab_ joined #perl6
06:52 VX64Z joined #perl6
06:52 jaldhar joined #perl6
06:52 diakopte1 joined #perl6
06:54 Jim112 joined #perl6
06:54 eviltwin_b joined #perl6
06:54 c0tt0 joined #perl6
06:54 domidumont joined #perl6
06:55 Guest87704 left #perl6
06:55 flatwhatson left #perl6
06:55 cottoo left #perl6
06:55 domidumont1 left #perl6
06:55 xinming_ left #perl6
06:55 _sri left #perl6
06:55 avuserow left #perl6
06:55 Helios` left #perl6
06:55 lue left #perl6
06:55 silug_ left #perl6
06:55 jql left #perl6
06:55 pmichaud left #perl6
06:55 diakopter left #perl6
06:55 dukeleto left #perl6
06:55 og01_ left #perl6
06:55 VXZ left #perl6
06:55 allbery_b left #perl6
06:55 mathw left #perl6
06:55 betterwo1ld left #perl6
06:55 szabgab left #perl6
06:55 barika left #perl6
06:55 flatwhatson joined #perl6
06:55 eviltwin_b is now known as allbery_b
06:55 Helios` joined #perl6
07:03 wtw joined #perl6
07:03 wtw left #perl6
07:03 wtw joined #perl6
07:06 noganex_ is now known as noganex
07:08 niooins joined #perl6
07:16 justatheory left #perl6
07:17 daxim joined #perl6
07:20 jql joined #perl6
07:43 lopaway is now known as lopnor
07:44 * sorear out
07:45 _twitch joined #perl6
07:46 colomon left #perl6
07:46 colomon joined #perl6
07:48 porter235 joined #perl6
07:52 porter235 left #perl6
08:10 niooins left #perl6
08:11 nymacro joined #perl6
08:32 GinoMan left #perl6
08:36 colomon left #perl6
08:36 colomon_ joined #perl6
08:39 shi joined #perl6
08:45 silug_ joined #perl6
08:46 Axius joined #perl6
08:56 mathw_ is now known as mathw
09:02 lopnor is now known as lopaway
09:12 Mowah joined #perl6
09:16 Mowah left #perl6
09:16 Alias_ left #perl6
09:22 tzhs joined #perl6
09:34 Axius left #perl6
09:34 Jim112 left #perl6
09:44 dakkar joined #perl6
09:48 porter235 joined #perl6
09:53 porter235 left #perl6
10:00 Layla_91 joined #perl6
10:00 Layla_91 yaw people! B)
10:01 daxim hello
10:02 Layla_91 daxim: nobody home I guess =)
10:02 moritz_ \o
10:02 Layla_91 moritz_: since you are the sysadmin ;) a quick question: Someone keeps telling me that we can do url re-writing via DNS.. I always thought that this is a thing done via apache or ngnix or what ever webserver you use.. can we really do a url rewrite via DNS?
10:03 daxim that someone is confused
10:04 Layla_91 daxim: the problem is that he is 10 years older than me and I can not argue with him :\
10:04 Layla_91 daxim: I wish I was older :\
10:05 BinGOs DNS can only affect the host part of a url. ie. myhost.com resolves to IP address 10.20.30.40
10:05 daxim you can. go up to him and say: dns is about hostnames.  it does not care about the HTTProtocol.
10:07 BinGOs you can perhaps ( if you control the DNS servers that people are using for resolution ) redirect all host lookups somewhere else, so www.google.com goes to www.yahoo.com
10:07 woosley left #perl6
10:07 moritz_ Layla_91: just tell him "yes, it's possible, but it requires a proprietary business server solution that costs at least half a million USD per year" :-)
10:07 BinGOs "The Internet says you are talking shit" should be statement enough.
10:10 Layla_91 moritz_: looool :D
10:11 Layla_91 moritz_: I started learning git by the way :$ It is not so friendly.. but I am learning it for the sake of becoming a part of perl6 =)
10:13 moritz_ yay
10:13 Layla_91 BinGOs: then you will have to find me a new job :P and I am still a college student :D
10:14 moritz_ (btw I'm not really a sysadmin, I just sometimes act that way)
10:15 Layla_91 moritz_: well if you know how to setup a unix server, configure a simple clustered website then you are considered a sys admin ;)
10:15 moritz_ Layla_91: my websites are usually cluttered, not clustered :-)
10:16 BinGOs Age is not an arbiter of merit.
10:16 arnsholt left #perl6
10:16 arnsholt joined #perl6
10:17 * BinGOs *is* a sysadm
10:17 Layla_91 BinGOs: I started as a sysadmin but I think it is not nice for a girl :S
10:19 Layla_91 moritz_: you are a sysadmin too ;) like Mr.TimToady B-)
10:19 BinGOs gender shouldn't make a difference. merit is merit.
10:20 renormalist joined #perl6
10:22 Layla_91 BinGOs: anyway I switched to programming after few months of experience as a sysadmin.. so I have some experience.. which is not bad :)
10:23 lopaway is now known as lopnor
10:24 BinGOs ah okay >:)
10:29 Layla_91 BinGOs: By the way, I had a question before switching, I have setup few centos based HA clusters.. then wanted to migrate to freebsd, do they have HA cluster suite for freebsd? I could not find a complete suite.. only sepeate elements for checking heart beats, etc...
10:30 BinGOs Not something I have done with either linux or FreeBSD
10:32 Layla_91 BinGOs: ok, we are p6 people now =)
10:33 BinGOs I'm more of a perl5 person, I just lurk here.
10:34 Layla_91 BinGOs: I am currently a php person, and I knew little perl5 and perl6.. but I decided to learn them because of the community and the promissed zebra's guide =)
10:35 mux Layla_91: there are a lot of different software you could use for HA clusters, depending on the applications they run; take a look at CARP for FreeBSD if you want something like VRRP
10:36 BinGOs there is freevrrpd in FreeBSD ports
10:37 Layla_91 mux: I understand, but what I meant is that they are organized in centos/rhel in a clustering group, in freebsd it makes you feel that you are hacking the system to become a cluster.. you look for separate packages and hack a way to make the failover of services happen.. or that is what I felt..
10:38 donri joined #perl6
10:39 mux oh, I think I see; you're looking for something that is like already integrated etc
10:39 mux I don't know of any software like this for FreeBSD
10:40 Layla_91 mmm.. lunch break is coming.. thinking of something bad for health :P Burger King! :| bye all! =)
10:41 mux BinGOs: under FreeBSD, you're much better off using CARP
10:43 Layla_91 left #perl6
10:59 colomon_ left #perl6
11:01 lopnor is now known as lopaway
11:03 tadzik o/
11:04 moritz_ \o tadzik
11:05 moritz_ tadzik: seems you wanted to ask me something around midnight... what can I do you for?
11:05 Maddingu1 is now known as Maddingue
11:05 tadzik I... don't think I remember :)
11:05 tadzik I'll see if I can figure this out from the context
11:05 moritz_ no worries
11:06 tadzik nah, I don't remember what was that :) Probably not important then
11:06 colomon joined #perl6
11:06 tadzik now where did HollandHackathon guys go?
11:16 agentzh joined #perl6
11:16 colomon left #perl6
11:17 colomon joined #perl6
11:19 satyavvd left #perl6
11:19 satyavvd joined #perl6
11:23 satyavvd left #perl6
11:24 mberends joined #perl6
11:26 moritz_ http://outer-inside.blogspot.c​om/2011/03/perl-5-to-6_06.html # woah, somebody translating my 5-to-6 articles to Japanese!
11:26 mberends \o/
11:26 phenny mberends: 06 Mar 12:59Z <masak> tell mberends https://lwn.net/Articles/328438/
11:27 moritz_ \o mberends
11:27 mberends :-D hackathons are fun
11:28 moritz_ is this one already over?
11:30 mberends no! we hacked through to about 4am, had a hour of snooze and then drove tadzik to the airport. jnthn and masak are now still sleeping, we three shall carry on hacking until tomorrow evening
11:30 ingyfoo is now known as ingy
11:34 satyavvd joined #perl6
11:37 colomon_ joined #perl6
11:37 colomon left #perl6
11:37 colomon_ is now known as colomon
11:41 pmurias joined #perl6
11:49 porter235 joined #perl6
11:53 porter235 left #perl6
11:56 satyavvd left #perl6
11:56 awoodland joined #perl6
11:59 [Coke] Oh, look, snopocolypse 2001.345
11:59 [Coke] 2011, even!
12:02 colomon_ joined #perl6
12:02 colomon left #perl6
12:02 colomon_ is now known as colomon
12:08 am0c left #perl6
12:25 agentzh left #perl6
12:35 fisted_ left #perl6
12:36 pmurias left #perl6
12:39 dalek niecza: d426c3d | pmurias++ | cl-backend/backend.lisp:
12:39 dalek niecza: [cl-backend] rename preinit to *preinit*
12:39 dalek niecza: review: https://github.com/sorear/niecza/commit/d426c3dd54
12:39 nymacro left #perl6
12:49 masonkramer joined #perl6
12:52 awoodland left #perl6
12:53 awwaiid joined #perl6
12:59 rdesfo joined #perl6
13:03 masak joined #perl6
13:04 masak good day, zebras
13:04 phenny masak: 05:45Z <sorear> tell masak I think there is a bug in line 814 of Yapsi.pm.
13:04 masak sorear: will look at it. I don't see what/why yet, but it would explain a problem I had with recursion.
13:05 masonkramer left #perl6
13:07 coldhead left #perl6
13:10 takadonet morning all
13:10 colomon left #perl6
13:10 colomon joined #perl6
13:13 Patterner left #perl6
13:13 kaare_ left #perl6
13:15 meraxes joined #perl6
13:18 rdesfo left #perl6
13:22 fisted joined #perl6
13:26 masak takadonet: \o
13:27 jnthn ohhai
13:30 moritz_ loljnthnisawake!
13:31 moritz_ masak: how are those p5 timings coming along?
13:31 mtk joined #perl6
13:31 masak moritz_: they are coming along.
13:31 masak staying awake all night, that was basically the mindless task I set myself to.
13:32 moritz_ masak: when you started the contest, did you expect the review to take so much time/work?
13:32 masak no, I didn't.
13:32 masak I expected to read through things once and be done with it.
13:33 masak basically announcing the winner after the close of the contest.
13:33 tyatpi_ left #perl6
13:33 masak on the bright side, I think I have a grasp on p5 now. the statistics actually helped.
13:34 * moritz_ hasn't actually benchmarked his own submission
13:34 moritz_ it might be doing things in O(bad**n), and I wouldn't have noticed :/
13:34 masak the timings I made are here: https://gist.github.com/853570
13:35 masak I'm not going to collect more statistics than that. it takes so much time.
13:35 moritz_ wow, matthias' solution seems to be quite impressive
13:36 moritz_ does it get the correct results?
13:36 masak yes.
13:38 jnthn 320 -    segmentation fault
13:38 jnthn Wow!
13:38 jnthn We win a stress test. :)
13:39 masak it's awful how much memory these solutions gobble up.
13:39 masak it's not *that* complex a problem.
13:39 hudnix joined #perl6
13:39 moritz_ masak: time your own solution :-)
13:39 masak heh :)
13:40 jnthn masak: It's as likely a Rakudo issue as anything.
13:40 masak yes, I'm aware of that.
13:40 masak I'm not blaming the contestants -- their solutions are fine, from a memory perspective.
13:40 masak I'm blaming Rakudo/Parrot.
13:40 masak I thought about timing a Perl 5 solution, and observing its memory consumption.
13:47 awoodland joined #perl6
13:49 porter235 joined #perl6
13:52 masak but yeah, it's a bit unfair.
13:53 masak in a sense, everyone failed p5, because running the code on long strings is crap no matter whose solution you choose.
13:53 masak but on the other hand, the contestants did what they could on top of Rakudo.
13:53 moritz_ huh?
13:53 porter235 left #perl6
13:53 masak moritz_: oh. with the possible exception of matthias.
13:54 moritz_ if the solution works as long as you're not hitting a platform limit, you've solved the problem, no?
13:54 masak oh, sure.
13:54 moritz_ the question is when it's OK to hit a platform limit
13:54 masak but look at the problem specification.
13:54 masak it's going "long strings, long strings, long strings".
13:54 moritz_ so, what's a "long string"?
13:54 moritz_ more than a line of 80 columns?
13:55 moritz_ 10GB of genome data?
13:55 masak yes.
13:55 masak more like 10B
13:55 masak more like 10GB than 80B.
13:55 masak and that's... impossible in Rakudo today.
13:55 masak I don't even need to try it to know that.
13:56 masak so maybe the problem as stated was unsolvable.
13:56 colomon so.... to win p5 we needed to massively optimize Rakudo?
13:56 masak OTOH, the solutions are quite nice for shorter strings.
13:56 moritz_ he, I should have used nqp :-)
13:56 masak :P
13:57 masak colomon: from my perspective, just looking at the statistics, it's clear who "won" p5.
13:57 masak I think you'll agree.
13:57 * moritz_ agrees
13:57 colomon but you're not going to tell us yet?
13:57 masak colomon: look at the statistics :)
13:57 masak https://gist.github.com/853570
13:57 colomon (are the statistics posted?  I've been offline)
13:57 moritz_ masak: at least if you set performance as the primary evaluation factor
13:58 masak right.
13:58 colomon !!!!!!!!
13:58 masak I value performance quite high, but it's not the only factor, of course.
13:58 moritz_ so, what did matthias do right? different algorithm?
13:58 masak you'll love it.
13:58 masak I'm not going to spoil it.
13:58 moritz_ or "just" implemented it more correctly? regexes?
13:58 takadonet !!!
13:59 masak but the truth is so blatantly unfair that you'll probably facepalm seeing it. :)
13:59 moritz_ lemme guess... there's a PIR dynop for LCS
13:59 masak actually, I didn't expect this at all to happen in the p5 task.
13:59 moritz_ and he loads that
13:59 masak nope.
13:59 masak but interesting guess.
13:59 moritz_ or a binding to a C library/API call
13:59 masak nothing like that. it's pure Perl 6.
14:00 masak matthias did hack Rakudo before submitting his solution, though.
14:00 masak if you recall.
14:00 masak his was the only solution that I couldn't compile when getting it.
14:00 * moritz_ doesn't recall
14:00 masak because it required such a new Rakudo.
14:01 masak I'll stop spilling clues. read the post, later today :P
14:01 cjk101010 left #perl6
14:01 colomon afk but !!!!!!!!!!!!!!!
14:02 am0c joined #perl6
14:08 frodwith left #perl6
14:08 _twitch left #perl6
14:09 tadzik masak: is Rakudo NP-complete alredy?
14:10 masak tadzik: no, but jnthn and I will have a look at it later today.
14:10 moritz_ tadzik: it's even Touring complete, if you neglect memory limitations
14:11 masak does "Touring complete" means "big and unwieldy like a touring bus"? :P
14:11 moritz_ s/o// :-)
14:11 moritz_ but yes, that's about it
14:12 moritz_ if you consider that most programming languages only allow memory usage by a fix width integer address, they are all DFAs, technically
14:12 jnthn oh gah
14:12 jnthn looks like we don't differentiate sink and eager context in Rakudo.
14:12 masak o.O
14:12 masak this... explains a lot...
14:12 jnthn for @massive_thing { }; 1; # the for keeps all it's f**king results
14:13 * masak weeps
14:13 jnthn Only to throw that huge list away
14:13 jnthn No wonder people find large iterations slow!
14:13 masak RakuD'OH
14:13 donri This is good right, means there's room for optimisations?
14:13 masak *lol*
14:13 jnthn Well, more room to not be stupid at least...
14:14 moritz_ pmichaud_++ has been wanting to implement sink context detection at codegen level for ages
14:14 takadonet well lately I noticed a big difference in speed already . Cannot wait for more optimisations!
14:15 mberends left #perl6
14:15 jnthn I hadn't realized we didn't even do it *there*.
14:16 moritz_ jnthn: I think it's done, but not exposed to anything that the compiler writer could use
14:17 TimToady "Sink me!"  --The Scarlet Pimpernel
14:18 masak sounds like a quote out of Masochistic Battleship.
14:18 masak or perhaps Misere Battleship :P
14:19 mathw Hmm, well at least it's something to improve
14:19 jnthn BTW, the special case of .comb that takes no arguments can probably be made a bunch faster.
14:20 jnthn (e.g. the one that just returns the chars)
14:20 masak \o/
14:20 moritz_ using pir::substr?
14:20 jnthn That could work, yeah
14:20 jnthn At the moment we match /./ loads of times
14:20 moritz_ oh f*ck
14:20 jnthn Like, once for every char in the string. :)
14:21 moritz_ maybe I can make my p5 submission faster retroactively by fixing up rakudo :-)
14:21 masak hehe :)
14:21 moritz_ masak: does that count? :-)
14:21 masak moritz_: yes and no.
14:21 jnthn The patch will make me happy :)
14:21 jnthn If that counts ;)
14:21 masak moritz_: you won't get credit for the Rakudo work. but your solution will fare better.
14:22 masak moritz_: it still probably won't beat mattias's, though.
14:22 moritz_ likely.
14:23 mberends joined #perl6
14:23 tadzik oh hi!
14:23 masak tadzik! \o/
14:23 jnthn o/
14:23 mberends hi tadzik
14:23 masak tadzik: flight back go fine?
14:23 jnthn tadzik: Hope your journey back was fine :)
14:24 tadzik yeah, it was not bad. I get a feeling that the pilot was playing around a bit just before the landing :)
14:24 tadzik How's the hackathon?
14:24 jnthn We slept and now we're awake and hacking
14:24 masak it's like yesterday, only one day later.
14:24 jnthn I got apple syrup everywhere
14:25 moritz_ sounds like win
14:25 moritz_ (for limited values of "everywhere" :-)
14:25 moritz_ (not on the keyboard, for example)
14:25 jnthn No, thankfully not there.
14:26 mberends tadzik: you left some unopened packages of nom here. we are confiscating them to compensate for the sleep deprivation caused by your early departure ;)
14:26 TimToady the BDFL rules this to be valid
14:27 mberends and he gets to keep the colon!
14:27 moritz_ where BDFL = BuDderFLy?
14:27 masak *lol*
14:27 TimToady moritz seems to be winging it...
14:28 mathw Oh dear
14:28 mathw How bad these things look from the other side of an IRC window
14:29 tadzik mberends: the plums?
14:29 mathw But it does look like a lot more fun than work
14:29 mberends tadzik: aye, they look nomlicious
14:29 tadzik mberends: yeah, carry on, they're for you!
14:29 masak I think the "D" stands for "Dumbledore". TimToady and the Dumbledore of MoR share a bit of common behavior :P
14:29 mberends thx
14:30 wallberg joined #perl6
14:30 masak wallberg! \o/
14:31 [Coke] marky mark?
14:31 kaare_ joined #perl6
14:31 moritz_ masak: you mean TimToady makes us carry around big rocks for no apparent reason?
14:32 masak moritz_: no, the part about the rocks in MoR mostly confuses me.
14:32 masak moritz_: it seemed to be making a point about theories that don't have rational basis.
14:32 masak like "we don't know if this works, but it couldn't hurt" being a bad argument for a theory.
14:33 moritz_ hm, maybe
14:33 moritz_ or the very deep gut feeling that very experienced people sometime have, but can't really give reasons for them
14:33 masak Harry makes the point that there are very, very many theories of which that argument could be made, all of them equally untested.
14:34 masak right. Dumbledore is definitely running on very deep gut feeling.
14:35 moritz_ but also much deeper planning than he's willing to reveal
14:35 masak in Hex, what usually happens is that deep gut feeling partly replaces deep planning.
14:36 masak adhering to known-stable patterns seem to guarantee that you end up on a sane path.
14:37 masak essentially, encapsulating parts of the game-tree search into a better scoring function.
14:37 masak Dumbledore seems to be doing a bit of that, with his archetypes "hero", "wise old wizard", etc.
14:38 moritz_ which kinda confuses me, because the "original" dumbledor seems to avoid those terms
14:39 donri gut feeling is just intuition which is unconcious reasoning based on experience
14:39 masak no argument there.
14:40 dukeleto joined #perl6
14:40 donri (i know this because of a gut feeling)
14:40 masak moritz_: the original Dumbledore was definitely a deep planner, but he was a lot less of a comic relief :)
14:41 TimToady that seems...incomplete...
14:41 moritz_ masak: aye
14:42 TimToady I think gut feeling also includes some degree of creative imagination that cannot always be lumped under "reasoning", but perhaps you're using the term more generally than I generally do...
14:42 masak moritz_: making Dumbledore so frivolous is kinda funny though, because he's the pillar of seriousness and authority in the canon.
14:43 colomon left #perl6
14:43 donri what is 'MoR'?
14:43 masak the gut feeling/creative imagination is what I call "science" in http://strangelyconsistent.org/blog/​im-doing-science-and-im-still-alive
14:43 moritz_ donri: "Methods of Rationality"
14:43 masak donri: oh, you're in for a treat!
14:44 moritz_ donri: http://www.fanfiction.net/s/5782108/1/Har​ry_Potter_and_the_Methods_of_Rationality
14:44 * moritz_ cackles evily
14:44 masak my brain kicks into "science mode" when code I run doesn't do what I expected.
14:44 * masak hopes donri has a few days of spare time
14:45 moritz_ just don't read it if you haven't read Rowling's Harry Potter, and plan to
14:45 donri why what now
14:45 moritz_ it's full of spoilers of some sort
14:46 donri i mean the spare time :)
14:46 moritz_ donri: just in case you start reading
14:46 masak donri: it's long and very, very good.
14:47 donri i suck at reading :(
14:47 donri tried to read the metamorphosis the other day and managed a few paragraphs
14:48 masak the Kafka one?
14:48 moritz_ donri: they didn't resonate with me, and I finished quite early too
14:49 colomon joined #perl6
14:53 * TimToady realizes that English allows not just - and ' in identifiers, but also *
14:54 masak oh f*ck... :P
14:55 frettled cr&p :)
14:55 masak sh!t
14:55 frettled But what does "cretp" mean?
14:55 masak sounds like a Lisp predicate to me.
14:55 TimToady it's a kind of French pancake
14:55 frettled Looks like it was written by someone overly fond of 'p'-suffixes for pointer variables.
14:56 fisted left #perl6
14:56 frettled blamep :D
14:56 masak "Have another crêtp, hot from the pan..."
14:56 mux it's a cr�pe
14:56 masak mux: O RLY? :P
14:56 colomon left #perl6
14:56 colomon joined #perl6
14:56 mux GOD DAMNIT LEARN HOW TO SPEAK FRENCH PROPERLY /cheese_eating_surrender_monkey_nazi>
14:57 TimToady Sink me!
14:57 masak mux: <whoosh>
14:57 masak (sound of joke going over your head)
14:57 mux heh
14:57 mux calling it a kind of pancake is however a grave offense.
14:58 TimToady possibly intended :)
14:58 masak perhaps even a "greve" offense.
14:58 frettled It's a kind of Dutch pancake, isn't it?  *g,d&r*
14:58 mux heheh
14:58 frettled masak: offence grave?
14:58 mux I give up.
14:58 * dukeleto dreams of offenses dripping with gravy
14:58 * mux goes back to doing nothing at work while eating snails and drinking red wine
14:59 frettled mux: don't forget your baguette and garlic!
14:59 moritz_ mux: aren't you missing white bread and garlic butter... oh, flussence is faster :-)
14:59 * mux nods
14:59 frettled and where's your hat?
14:59 masak beret.
14:59 fisted joined #perl6
14:59 TimToady I'm allergic to the baguette, but the rest sounds okay
14:59 masak I think a striped shirt is called for, as well.
14:59 frettled Yes, quite possibly.
15:00 moritz_ TimToady: even to spelt based baguette?
15:00 frettled and the tricolored badge
15:00 mux I'm not fond of snails, but we do have wonderful food and alcohols here
15:00 frettled mux: *sigh*, yes :)
15:00 TimToady moritz_: I've had trouble with spelt too
15:00 TimToady too closely related, I guess
15:00 moritz_ mux: and in contrast to many Germans you *appreciate* food
15:00 frettled TimToady: even if it's spelt right?  ;)
15:00 mux I'm kinda taken aback everytime I leave France and I try to buy some decent red wine. 1) There is none; 2) It's horribly expensive
15:01 awoodland left #perl6
15:01 moritz_ TimToady: does rye work better? or still too close?
15:01 mux moritz_: oh yeah!
15:01 TimToady most rye bread is made out of wheat, at least in these parts
15:01 TimToady but pure rye is fine
15:01 frettled mux: I'm happy almost every time I leave Norway and buy decent wine in restaurant, it's always cheap.  :D
15:01 plainhao joined #perl6
15:02 frettled TimToady: I guess you need to look for German immigrant shops. IIRC, German rye bread does not have other kinds of grain.
15:02 TimToady mux: perhaps you should leave France for California some time :)
15:02 masak I'm trying to cut down on wheat simply for health reasons, but it's hard because wheat is everywhere.
15:02 frettled hoho :D
15:02 moritz_ mux: I just appreciate meeting with friends for a decent (often self-made) dinner, and dining and talking for hours. Here people often just throw stuff on the table, and expect you to finish in 20 minutes
15:02 mux frettled: I remember that red wine bottle we bought with friends at London for about 45 euros; the very same bottle was worth ~10 euros in France, and it wasn't even great wine.
15:02 moritz_ ok, sometimes I do too
15:02 mux TimToady: yeah, it's true there are good wines there
15:03 TimToady mux: though that might not remain true with global warming... :/
15:03 frettled mux: that's quite a nasty increase in price, yes.
15:03 frettled There's plenty of good wine from South Africa, too.
15:04 frettled …and I must admit that I'm rather fond of some Italian wines as well.
15:04 mux I'm really picky about wine, so you know :-P
15:04 frettled good!
15:04 mux otherwise it'd be no fun being french
15:05 * frettled passes mux a virtual bottle of Chateau de Pommard 2006 (goes well with canard à l'orange)
15:05 mux heh, Pommard is okay
15:05 mux but I prefer Bordeaux wines
15:06 * donri read the first chapter
15:07 shi left #perl6
15:07 * frettled passes mux a virtual bottle of Chateau Tour St. Pierre 1998 instead.
15:12 am0c left #perl6
15:14 * donri has the same sleep disorder as harry in this fanfiction
15:15 donri melatonin works wonders for it though, no magic there
15:15 masak donri: tell me more.
15:16 donri .wik non-24
15:16 phenny "Non-24-hour sleep-wake syndrome (Non-24) is a chronic circadian rhythm sleep disorder, classified within Chapter VI, Diseases of the Nervous System, in the ICD-10." - http://en.wikipedia.org/wiki/Non-24
15:16 masak ooh
15:17 benabik joined #perl6
15:17 wtw left #perl6
15:19 donri you're right this fanfiction is awesome
15:21 donri at least with https://chrome.google.com/webstore/de​tail/boamfheepdiallipiieadpmnklbhadhc :D
15:21 Psyche^ joined #perl6
15:21 Psyche^ is now known as Patterner
15:22 masak ooh
15:22 tyatpi_ joined #perl6
15:24 masak we have an LHF here on the hackathon. someone want it right away, or do I submit it to RT?
15:24 dukeleto which hackathon?
15:24 * dukeleto has been under a rock
15:25 daxim netherlands?
15:25 masak aye.
15:25 masak post-NLPW.
15:25 daxim masak == everywhere
15:25 daxim you're becoming a second jnthn
15:25 masak mberends, jnthn, tadzik (up until yesterday), and me.
15:27 jnthn He's got some catching up to do on the punning though :P
15:27 masak decidedly.
15:27 masak I'm kilopuns behind.
15:27 donri "That is the most Ravenclaw thing I have ever heard."  <3
15:28 masak right. the Houses are much more pronounced in MoR than in canon, IMO.
15:30 Holy_Cow joined #perl6
15:31 masak LHF for anyone who's interested: http://rt.perl.org/rt3/Tic​ket/Display.html?id=85602
15:32 sorear good * #perl6
15:36 mberends left #perl6
15:37 diakopte1 e
15:38 masak left #perl6
15:38 benabik left #perl6
15:41 benabik joined #perl6
15:43 hercynium joined #perl6
15:49 porter235 joined #perl6
15:52 diakopte1 is now known as diakopter
15:54 porter235 left #perl6
15:56 Rotwang joined #perl6
16:00 jevin_ left #perl6
16:03 sorear TimToady: Does 'my class A::B { }' mean anything?
16:03 justatheory joined #perl6
16:06 TimToady I would take it to mean that A is a lexically scoped package that contains B
16:08 diakopter std: my class A { }; my class A::B { }; class ::A { }
16:08 p6eval std 4608239: OUTPUT«ok 00:01 118m␤»
16:09 TimToady as for tailored graphemes, I would be inclined to process them under the NFG mechanism, but the NFG conversion is diverted by the subtype of the string to a different grapheme recognizer (/me waves hands here)
16:10 TimToady shower &
16:17 Patterner left #perl6
16:18 Psyche^ joined #perl6
16:18 Psyche^ is now known as Patterner
16:25 Holy_Cow left #perl6
16:25 colomon left #perl6
16:28 tyatpi_ left #perl6
16:28 risou joined #perl6
16:30 masak joined #perl6
16:31 mberends joined #perl6
16:40 tzhs left #perl6
16:42 jaldhar left #perl6
16:43 jaldhar joined #perl6
16:44 M_o_C joined #perl6
16:46 gfldex left #perl6
16:48 gfldex joined #perl6
16:48 dakkar left #perl6
16:54 sorear TimToady: How authoritative do you consider STD's add_name, is_known et al to be for defining name handling?
16:54 sorear masak: hi.  Niecza has a goal for March.
16:54 masak I saw.
16:55 masak \o/
16:55 masak Yapsi has been getting past a bit of a bottleneck with the functions, by the way. things are seriously low-hanging-fruity now.
17:03 TimToady sorear: the rough outline is more authoritative than the details
17:04 TimToady the details could certainly use a heavy refactor or two or three, but the locations of particular actions ("at CHECK time") are more or less correct
17:05 avuserow_ is now known as avuserow
17:05 TimToady and I think the subpackage processing is ~90% correct
17:05 TimToady give or take 50% :)
17:06 PerlJam Just the first 90% is correct ;)
17:06 sorear TimToady: I'd be interested to hear more about what refactors you want.
17:06 TimToady correct as in hangs it on the right parent, not as is doesn't need a refactor
17:06 sorear (canonicalize_name gives me the chills)
17:06 _buno_ joined #perl6
17:06 M_o_C left #perl6
17:07 _buno_ left #perl6
17:07 TimToady it probably needs to be refactored by a different set of eyes than mine, given my eyes factored it in the first place
17:07 _buno_ joined #perl6
17:07 TimToady there's a reason they told me at the beginning of p6 that I wasn't supposed to do the implementation
17:08 sorear I'll take that as an invitation then
17:08 sorear there are a few odd corner cases with STD as is
17:09 sorear should I try to saneize them myself, or replicate existing behavior?
17:10 TimToady well, a little of both :)
17:10 rdesfo joined #perl6
17:10 sorear stuff like "my class GLOBAL::Foo" isn't well tested
17:10 sorear and what STD currently does is...odd
17:11 TimToady I suspect it would currently produce a subpackage named GLOBAL, but that's probably...untoward...
17:12 masak "untoward" looks a bit like an anagram of "do not want" :P
17:12 dorlamm joined #perl6
17:12 TimToady we can certainly carp about reserved top-level names being misused under 'my' and such
17:12 daxim What is "Backstroke of the West", Mälex?
17:12 sorear The precise semantics of packages aren't well documented outside heads.  I'm wondering how well they are in yours
17:13 TimToady um, we're both in the U.S., so I can plead the 5th :)
17:13 masak :P
17:14 TimToady the semantics are perfectly clear--they should do what I want, if and when I ever figure out what that is...
17:15 TimToady where the first "I" is more of generic "Everyone"
17:15 * sorear puts on his royal we
17:18 rgrau left #perl6
17:19 sorear TimToady: I'm also wondering if it makes sense to have STD loosely coupled to a "symbol tables" component
17:19 pmurias joined #perl6
17:19 pmurias sorear: hi
17:19 sorear right now with niecza there's the STD builtin symbol table, and the Niecza symbol table, and things get confusing when they differ
17:20 pmurias sorear: i'm having trouble mapping niecza's lexical model to the lisp one
17:21 pmurias can a sub be created from outside the sub it's outer pointer points to?
17:21 pmurias besides the YOU_ARE_HERE setting case?
17:22 sorear that, and static lexpads, are the only cases I know of
17:22 masak so basically, a sub that's injected into another outer scope?
17:23 pmurias when a sub doesn't have RUN_ONCE set every time we look it up we get a clone copy?
17:23 pmurias sorear: what are static lexpads?
17:24 sorear niecza: sub foo() { sub bar() { say "Hello, world" }; INIT { bar } }
17:24 p6eval niecza v3-49-gd426c3d: OUTPUT«Hello, world␤»
17:24 sorear foo() was never called, but a frame for foo has to exist in order for bar to have an outer
17:24 sorear that invented frame is the static lexpad
17:25 sorear StaticSub.protopad in the CLR emitter
17:25 masak right. same thing with loop blocks that were never iterated.
17:25 pmurias what does setting a variable there do?
17:26 sorear loop blocks that are never iterated ARE subs that are never called.  S04:86 # perl6++
17:27 sorear pmurias: nothing very useful.  (In the current implementation, the static lexpad has its own set of variables, unshared with anything)
17:27 pmurias is there anything in the spec which mentions that case?
17:28 risou_ joined #perl6
17:28 sorear I think there is some stuff but it's very handwavey
17:28 pmurias shouldn't that set the default value?
17:29 pmurias like i vaguely remember BEGIN did in kp6?
17:29 * TimToady --> dentist &  # back in an hour or so
17:29 sorear That's what I used to think, but it turned out to be 1. not very useful 2. a MAJOR pain to implement
17:30 pmurias sorear: does accessing simple vars defined in the setting work?
17:30 risou left #perl6
17:30 sorear Yes
17:31 sorear RUN_ONCE subs like the setting's mainline do not have a distinct static pad
17:31 sorear niecza: my $x; say $x; INIT $x = 42;
17:31 p6eval niecza v3-49-gd426c3d: OUTPUT«42␤»
17:31 sorear That works because there is really only one $x
17:31 sorear It's not like $x is being set as a default and then copied
17:32 sorear niecza: sub foo() { my $x; say $x; INIT $x = 42; }; foo # in particular, this doesn't work
17:32 p6eval niecza v3-49-gd426c3d: OUTPUT«Any()␤»
17:32 pmurias i understand how that works, but that seems very crazy
17:32 masak same here.
17:32 masak I'd want that to work, I think.
17:33 masak but maybe I don't understand INIT.
17:33 jnthn I think it should work, though Rakudo currently gets it rong.
17:34 noganex_ joined #perl6
17:35 noganex left #perl6
17:35 pmurias sorear: if i have sub foo {my $counter=0;sub {say ++$counter}}
17:36 pmurias when in NAM terms is the inner sub cloned?
17:38 sorear pmurias: at the beginning of foo, before nam ops are run, all variables are initialized
17:38 risou joined #perl6
17:38 sorear anon_0 is a 'sub' var, so to initialize it, it gets a cloned sub
17:39 masak how does a sub look in Niecza? what does it have apart from a signature and a block?
17:39 dalek yapsi: 4264822 | masak++ | lib/Yapsi.pm:
17:39 dalek yapsi: [Yapsi] fix binding var detection
17:39 dalek yapsi:
17:39 dalek yapsi: In generating the SIC for a binding statement, detecting whether the rhs
17:39 dalek yapsi: was a variable used to be tricky business. With FUTURE it's dead simple.
17:39 dalek yapsi: This accidentally makes nested subroutine declarations work.
17:39 dalek yapsi: review: https://github.com/masak/yapsi/commit/4264822b84
17:41 sorear masak: a Hash of lexicals, a name, an outer pointer, a bunch of ad-hoc flags
17:41 risou_ left #perl6
17:41 sorear for generous values of "flags"
17:42 sorear for instance, there's $!augment_hack
17:42 sorear when you have augment class Foo { ... }, the augment block is a sub; $!augment_hack holds a list of the new methods to be added, and the class to add them to
17:43 masak sorear: oh, so a sub is its own lexpad, in some sense?
17:43 _buno_ left #perl6
17:43 sorear masak: more of a ... template
17:43 masak ok.
17:43 tadzik masak: what was that Czajkowski you played after Overture 1812?
17:44 masak tadzik: I think it was Dvorak's 9th.
17:44 sorear masak: StaticSub.lexicals holds names and type information
17:44 masak tadzik: "New World"
17:44 silug_ left #perl6
17:44 masak sorear: is there a distinction between blocks and subs?
17:45 tadzik oh, alright
17:45 pmurias sorear: do we need all that flags?
17:45 sorear masak: the only distinction between {...} and sub {...} in niecza right now is the "handles &return" bit
17:46 masak I'm considering having a 'relinquish' opcode in SIC, that ends a normal program, but keeps the runtime context around for the REPL, allowing a new block to be injected in the lexical scope of the last line.
17:46 masak sorear: that makes sense. am asking because I'm about to implement just that.
17:47 pmurias bjj&
17:47 masak so a sub is a block with a "handles &return" bit?
17:47 pmurias left #perl6
17:47 sorear yes
17:48 sorear eventually, I need to also have class="Sub"
17:48 sorear rakudo: say ({1}).WHAT; say (sub {1}).WHAT
17:48 p6eval rakudo bd134e: OUTPUT«Block()␤Sub()␤»
17:48 sorear this is specced behavior
17:48 sorear niecza: say ({1}).WHAT; say (sub {1}).WHAT
17:48 p6eval niecza v3-49-gd426c3d: OUTPUT«Sub()␤Sub()␤»
17:49 masak but mostly for type reasons, right? the current model seems quite adequate apart from that.
17:49 sorear this is not :/
17:49 sorear yes
17:49 sorear right now niecza has only two code-object classes
17:49 sorear Sub and Regex
17:49 sorear they have very different implementations of ACCEPTS
17:50 porter235 joined #perl6
17:52 sorear std: package A {}; { my package A::B { sub foo {} } }; A::B::foo;
17:52 p6eval std 4608239: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared name:␤    'A::B::foo' used at line 1␤Check failed␤FAILED 00:01 119m␤»
17:53 sorear std: package A {}; { package A::B { sub foo {} } }; A::B::foo;
17:53 p6eval std 4608239: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared name:␤    'A::B::foo' used at line 1␤Check failed␤FAILED 00:01 118m␤»
17:53 sorear wtf
17:53 masak o.O
17:53 benabik left #perl6
17:53 sorear I was trying to prove that STD's package model was SUBTLY broken
17:54 cdarroch joined #perl6
17:54 cdarroch left #perl6
17:54 cdarroch joined #perl6
17:54 porter235 left #perl6
17:54 sorear oh, I see.
17:55 sorear std: package A { sub foo {} }; { A::foo }
17:55 p6eval std 4608239: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared name:␤    'A::foo' used at line 1␤Check failed␤FAILED 00:01 118m␤»
17:56 sorear std: package A { sub foo {} }; A::foo
17:56 p6eval std 4608239: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared name:␤    'A::foo' used at line 1␤Check failed␤FAILED 00:01 118m␤»
17:56 sorear ... or not.
17:56 sorear OH
17:56 jnthn our sub foo :)
17:56 sorear std: package A {}; { my package A::B { our sub foo {} } }; A::B::foo;
17:56 p6eval std 4608239: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared name:␤    'A::B::foo' used at line 1␤Check failed␤FAILED 00:01 119m␤»
17:56 sorear std: package A {}; { package A::B { our sub foo {} } }; A::B::foo;
17:56 p6eval std 4608239: OUTPUT«ok 00:01 119m␤»
17:56 masak that's fine.
17:57 masak package is 'our' by default.
17:57 sorear std: package A { sub foo {} }; { A::foo }
17:57 p6eval std 4608239: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared name:␤    'A::foo' used at line 1␤Check failed␤FAILED 00:01 118m␤»
17:57 sorear std: package A { our sub foo {} }; { A::foo }
17:57 p6eval std 4608239: OUTPUT«ok 00:01 119m␤»
17:57 sorear std: package A { our sub foo {} }; { my package A::B { }; A::foo }
17:57 p6eval std 4608239: OUTPUT«ok 00:01 119m␤»
17:57 c9s joined #perl6
17:57 c9s left #perl6
17:58 dorlamm left #perl6
17:58 sorear I don't get how that one works.
17:58 masak the last one?
17:58 sorear yes
17:58 masak seems to just be a variant on the second-last one.
17:59 masak what do you consider odd about it?
17:59 sorear masak: STD.pm6 interprets my package A::B {} as my package A {...}; package A::B {}
17:59 sorear the interpretation should be shadowing A
18:00 masak evidence seems to go against the claim that it interprets it that way. are you sure?
18:00 sorear yes, I'm looking at the source
18:00 masak I'm looking at the output :P
18:01 masak it seems to be doing the right thing, as opposed to what you said.
18:02 justatheory left #perl6
18:05 jaldhar left #perl6
18:05 sorear well I need to know _how_ it works
18:05 sorear in order to support things like "Yapsi::Runtime"
18:06 jaldhar joined #perl6
18:08 sorear std: package A { our sub foo {} }; { my package A::B { }; BEGIN { A::foo } }
18:08 p6eval std 4608239: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared name:␤    'A::foo' used at line 1␤Check failed␤FAILED 00:01 120m␤»
18:08 moritz_ std: package A { our sub foo {} }; { my package A::B { }; A::foo
18:08 p6eval std 4608239: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unable to parse block at /tmp/xbFvCkyHXg line 1:␤------> [32mpackage A { our sub foo {} }; [33m⏏[31m{ my package A::B { }; A::foo[0m␤Couldn't find final '}'; gave up at /tmp/xbFvCkyHXg line 1 (EOF):␤------> [32m foo {} }; { my package A::B {
18:08 p6eval ..}; A…
18:09 moritz_ std: package A { our sub foo {} }; { my package A::B { } }; A::foo
18:09 p6eval std 4608239: OUTPUT«ok 00:01 119m␤»
18:09 sorear My earlier version worked entirely by accident - A::foo is allowed to be postdeclared, y'see, so the check was deferred until the end of the program, at which point the inner block was closed and the top-level A:: was visible again
18:09 sorear Adding BEGIN makes the check immediate
18:10 masak nod.
18:14 justatheory joined #perl6
18:15 ruoso joined #perl6
18:17 rdesfo is http://try.rakudo.org/ is being maintained?
18:18 moritz_ rdesfo: ocasionally
18:19 rdesfo moritz_: chapter (3 .. 14) don't work
18:19 moritz_ rdesfo: I've seen the github issue, thanks
18:20 rdesfo moritz_:ok, thanks
18:20 ruoso left #perl6
18:20 ruoso joined #perl6
18:22 plobsing left #perl6
18:23 dalek Heuristic branch merge: pushed 42 commits to nqp/ctmo by jnthn
18:23 sorear masak: I don't beleive that my class A::B {} fundamentally makes sense.
18:23 masak sorear: please go on.
18:23 * moritz_ neither
18:24 moritz_ 'my' means "lexical"
18:24 PerlJam sorear: I agree too
18:24 moritz_ and "A::B" means "store stuff in the A:: namespace
18:24 sorear moritz_ is explaining it better than the stuff in my minibuffer
18:25 masak :)
18:26 masak well, it could mean "store the B package in the A:: namespace, such that it can't be seen from the outside", no?
18:26 PerlJam masak: I don't understand that.
18:26 masak I mean, that would still be an action. not a sensible action, perhaps, but it's logically possible to do.
18:26 PerlJam It could mean "make a lexical B and a dynamic B that lives in the A:: namespace"
18:26 masak oh wait. yes, I see it now.
18:27 masak A:: is an 'our' namespace, so to speak.
18:27 masak so saying 'my' is at odds with that.
18:27 PerlJam right
18:27 masak I'm in phase now.
18:27 PerlJam And if it meant what I just said, that's confusing.
18:28 masak what's a "dynamic B"?
18:28 bacek left #perl6
18:29 PerlJam masak: sorry, that's more perl-5-speak than anything.   A B that lives in a package. "our B"
18:29 masak ah, p5:dynamic means 'our'. :)
18:29 masak to me, 'dynamic' means something very much like 'contextual'.
18:29 masak store &
18:31 PerlJam This is one of those areas where we can afford to be conservative and disallow the combination "my" + "::" initially, until we figure out something sane for it to mean (or just decide that it's always insane)
18:32 PerlJam IMHO anyway
18:32 risou left #perl6
18:37 sorear ok.  y'all have convinced me.
18:39 alester joined #perl6
18:39 shi joined #perl6
18:44 ymasory joined #perl6
18:45 PerlJam sorear: of what have we convinced you?  :)
18:46 sorear PerlJam: "we can afford to be conservative"
18:47 PerlJam sorear: are you going to patch STD ?
18:47 Su-Shee joined #perl6
18:47 Su-Shee good evening all.
18:48 PerlJam Su-Shee: no UML here!
18:48 sorear PerlJam: not now.
18:48 PerlJam :-)
18:48 Su-Shee PerlJam: I've just realized that I've forgotten to join ;)
18:57 plobsing joined #perl6
19:00 masak Su-Shee: gd'evening!
19:02 jnthn o/ Su-Shee
19:03 sorear hello Su-Shee
19:07 GinoMan joined #perl6
19:08 silug joined #perl6
19:12 masak ah, Tchaikovsky, old friend. you write very pleasant hacking music.
19:13 dalek niecza: 8f6f087 | sorear++ | / (3 files):
19:13 dalek niecza: Allow class declarations with :: in the name
19:13 dalek niecza: review: https://github.com/sorear/niecza/commit/8f6f0878ae
19:13 sorear whee.
19:14 masak sorear++
19:15 spq joined #perl6
19:15 bacek joined #perl6
19:21 fhelmberger left #perl6
19:25 fhelmberger joined #perl6
19:25 fhelmberger left #perl6
19:27 tadzik o/
19:27 masak \o
19:27 plobsing left #perl6
19:27 sorear /o
19:28 dalek nqp/ctmo: 1516bd2 | jonathan++ | / (2 files):
19:28 dalek nqp/ctmo: Add a Serialization Context PMC. Just bare bones for now.
19:28 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/1516bd229c
19:28 dalek nqp/ctmo: 89c34b4 | jonathan++ | src/ (6 files):
19:28 dalek nqp/ctmo: Bring the work on compile time meta-object support so far in line with my latest thinking on how stuff will work. Quite a few little changes.
19:28 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/89c34b4167
19:28 dalek nqp/ctmo: 10e90bd | jonathan++ | src/ (2 files):
19:28 dalek nqp/ctmo: Put in place code to do fixup or deserialization. No actions to actually do yet, but that's the infrastructure. Back out setting up the meta-objects in the deserialization just yet - not quite ready for it.
19:28 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/10e90bdac8
19:30 moritz_ masak: I've tried an optimized version for .comb
19:30 moritz_ 8.10s for my benchmark, instead of 8.26
19:31 masak huh.
19:31 jnthn :S
19:31 jnthn That's...just plain odd.
19:31 masak maybe just reject the RT ticket, then?
19:31 moritz_ maybe my multi wasn't called
19:31 masak or investigate more?
19:31 * moritz_ tries something elese
19:31 jnthn Yeah, check it was called...
19:32 jnthn Or maybe gather/take is horribly costly or something...
19:32 masak wouldn't surprise me.
19:32 isBEKaml joined #perl6
19:33 sorear niecza: my $s = "a"; $s ~= $s for ^20; say $s.chars; say $s.comb.elems;
19:33 moritz_ I've done it with map
19:33 p6eval niecza v3-49-gd426c3d: OUTPUT«(timeout)»
19:33 sorear niecza: my $s = "a"; $s ~= $s for ^15; say $s.chars; say $s.comb.elems;
19:33 p6eval niecza v3-49-gd426c3d: OUTPUT«32768␤32768␤»
19:33 moritz_ and compared to a plain (1..$count).map: { $_ * $_ }
19:33 moritz_ that took about 1.3s
19:34 masak odd.
19:34 sorear moritz_: Tene suggested getting rid of the p6eval linguistic sandbox and relying on SELinux stuff isntead
19:34 masak lots of string allocations, 'phaps?
19:34 sorear niecza: my $s = "a"; $s ~= $s for ^18; say $s.chars; say $s.comb.elems;
19:34 moritz_ hm.
19:34 moritz_ $ time ./perl6 -e 'my $s = ("abcefg" x 400); for ^(6*400) { pir::substr($s, $_, 1) }'
19:34 p6eval niecza v3-49-gd426c3d: OUTPUT«262144␤262144␤»
19:34 moritz_ real    0m1.725s
19:34 moritz_ so, should be doable in ~2s
19:35 sorear niecza: my $s = "a"; $s ~= $s for ^20; say $s.chars; say $s.comb.elems;
19:35 plobsing joined #perl6
19:35 p6eval niecza v3-49-gd426c3d: OUTPUT«(timeout)»
19:35 sorear niecza: my $s = "a"; $s ~= $s for ^19; say $s.chars; say $s.comb.elems;
19:35 p6eval niecza v3-49-gd426c3d: OUTPUT«(timeout)»
19:35 flussence rakudo: say [+] 1..19
19:35 p6eval rakudo bd134e: OUTPUT«190␤»
19:35 noganex_ left #perl6
19:36 flussence niecza: my $s = "a"; $s ~= $s for ^2; say $s.chars # ?
19:36 p6eval niecza v3-49-gd426c3d: OUTPUT«4␤»
19:36 flussence huh.
19:37 flussence rakudo: my $s = "a"; $s ~= $s for ^200; say $s.chars
19:37 p6eval rakudo bd134e: OUTPUT«Failed allocation of 536870976 bytes␤Parrot VM: PANIC: Out of mem!␤C file src/gc/alloc_memory.c, line 87␤Parrot file (not available), line (not available)␤␤We highly suggest you notify the Parrot team if you have not been working on␤Parrot.  Use parrotbug (located in parrot's
19:37 p6eval ..root …
19:37 flussence whoops, didn't mean to type 00
19:37 sorear flussence: p6eval doesn't have 2^200 bytes of RAM
19:38 isBEKaml since when did parrot get that nice OOM error message? (sorry, been out so long. :/)
19:39 flussence rakudo: my $s = "a"; $s ~= $s for ^20; say $s.chars
19:39 p6eval rakudo bd134e: OUTPUT«1048576␤»
19:39 moritz_ isBEKaml: it's been quite a while
19:39 noganex joined #perl6
19:40 isBEKaml moritz_: I see things have grown compartcompoundomentally. :)
19:40 plobsing left #perl6
19:40 plobsing joined #perl6
19:41 ruoso left #perl6
19:41 ruoso joined #perl6
19:41 isBEKaml rakudo: my $s="s"; $s.chars.say;
19:41 p6eval rakudo bd134e: OUTPUT«1␤»
19:42 sorear woah, 29 seconds to compile NieczaActions... I wodner what I did
19:43 colomon joined #perl6
19:44 [Coke] is that high or low?
19:45 sorear rather low
19:45 sorear colomon: hi!
19:45 colomon \o
19:45 isBEKaml rakudo: my $s = "s"; $s ~= $s for ^2; $s.chars.say;
19:45 p6eval rakudo bd134e: OUTPUT«4␤»
19:46 sorear colomon: I have two suggestions for your benchmarking
19:46 flussence running that ^20 line (with the comb part) locally... niecza did it in 24 seconds but took 1.5GB RAM, rakudo's still running but is stable at ~170MB
19:47 sorear 1. It would be helpful to use the same vertical scale for all of the graphs, so I can see at a glance which have changed a lot and which have changed a little
19:47 sorear 2. A logarithmic vertical scale would make excursions near 0 look niecer
19:47 sorear nicer
19:49 flussence (hm, rakudo's up to 220MB RAM now...)
19:49 benabik joined #perl6
19:50 colomon left #perl6
19:50 sorear flussence: irony.
19:50 moritz_ oh, the optimized version is never called
19:50 porter235 joined #perl6
19:51 moritz_ rakudo: class A { method f($) { say 1 }; method f() { say 2 } }; A.new.f()
19:51 p6eval rakudo bd134e: OUTPUT«2␤»
19:51 moritz_ rakudo: class A { method f($?) { say 1 }; method f() { say 2 } }; A.new.f()
19:51 p6eval rakudo bd134e: OUTPUT«===SORRY!===␤In signature parameter, '$?', it is illegal to use '?' twigil at line 22, near ") { say 1 "␤»
19:51 moritz_ rakudo: class A { method f($a?) { say 1 }; method f() { say 2 } }; A.new.f()
19:51 p6eval rakudo bd134e: OUTPUT«2␤»
19:52 moritz_ rakudo: class A { method f($a = 2, $b = 5) { say 1 }; method f() { say 2 } }; A.new.f()
19:52 p6eval rakudo bd134e: OUTPUT«2␤»
19:53 moritz_ rakudo: class A { method f(Int $a = 2, $b = 5) { say 1 }; method f() { say 2 } }; A.new.f()
19:53 flussence stranger still is that rakudo seems to only be using ~85% CPU...
19:53 p6eval rakudo bd134e: OUTPUT«2␤»
19:53 literal_ joined #perl6
19:53 sorear hey, tadzik noticed that sorting a list of 1000 numbers that are already sorted is slwo
19:54 * sorear points at Parrot's naive quicksort and sniggers
19:54 masak sorear: why?
19:54 isBEKaml that's sort of expected, isn't it - well, depending on the algorithm actually used. :?
19:54 moritz_ if it uses mergesort, the runtime will be nearly independet of the input ordering
19:54 impious joined #perl6
19:54 moritz_ isBEKaml: *sort* of :-)
19:55 sorear masak: it... doesn't
19:55 sorear moritz_:
19:55 isBEKaml good * sort! :-)
19:55 masak "quicksort: it doesn't"
19:55 masak it doesn't sort, or it doesn't sort quick? I'm guessing the latter.
19:55 sorear (I can't think of any legitimate reason to use quicksort in the 21st century, except maybe as a case study of cargo cult programming)
19:55 masak because the former would be really catastrophic.
19:56 moritz_ sorear: it's cache friendlier than mergesort, people say
19:56 isBEKaml masak: he says that it's sorting an _already_ sorted list. that's slow.
19:56 sorear masak: several well-known C libraries have quick sort routines that segfault if the comparison callback fails to be transitive
19:56 isBEKaml masak: and, hi! :)
19:56 moritz_ (but I don't think it's a *good* reason)
19:56 masak isBEKaml! \o/
19:57 masak sorear: serves them right, I say :P
19:57 plobsing sorear: just because qsort() is implemented poorly on some platforms doesn't mean one should not use the algorithm it implements.
19:59 isBEKaml sorear: cargo cult programming! *snickers* blame it all on Tony! xD
19:59 isBEKaml masak: things how goes? =)
20:00 masak isBEKaml: things wonderfully go. :)
20:00 masak isBEKaml: Yapsi has named subs!
20:00 masak isBEKaml: we're doing a hackathon!
20:00 masak isBEKaml: we participated NLPW!
20:00 dalek niecza: ade14b1 | sorear++ | / (4 files):
20:00 dalek niecza: Fix A::B installing B alias, setting breakage
20:00 dalek niecza: review: https://github.com/sorear/niecza/commit/ade14b1557
20:00 isBEKaml masak: We, we moar got?
20:00 masak mberends, jnthn
20:01 masak tadzik was here during the weekend.
20:01 isBEKaml mberends, ah. shoulda guessed from NL. :)
20:01 tadzik sorear: that might be just the fact that even a .sort call is slow :)
20:01 sorear isBEKaml: niecza's march goal is to run yapsi
20:01 tadzik and fwiw actually jnthn++ found that
20:01 isBEKaml hugme: hug everyone!
20:01 * hugme hugs everyone!
20:02 * moritz_ says multi dispatch wtf
20:02 moritz_ if I add a multi method comb() to class Cool, it's not called
20:02 isBEKaml sorear: that's wonderful. are you actually going to run sic bytecode ? I'd love to see that against CLR. :)
20:03 moritz_ if I add it to class Str, it hides other multis
20:03 rdesfo left #perl6
20:04 sorear isBEKaml: no, I was planning to run Yapsi.pm
20:04 jnthn moritz_: The second isn't surprising.
20:04 jnthn moritz_: But the first is...but it may be that the higher arity existing candidate wins or something...
20:04 isBEKaml sorear: nice. looking forward to it!
20:05 moritz_ the other is
20:05 moritz_ multi method comb(Regex $matcher = /./, $limit = *, :$match)
20:05 sorear isBEKaml: eventually I'd like to make it 100% masak-compatible
20:06 moritz_ rakudo: class A { multi method comb(Regex $matcher = /./, $limit = *, :$match) { 1 }; multi method comb() { 2 } }; say A.new.comb
20:06 p6eval rakudo bd134e: OUTPUT«1␤»
20:06 isBEKaml sorear++ (masakking everything!)
20:06 moritz_ is that... expected?
20:06 sorear moritz_: If you have a separate multi to handle to no-arg case, making $matcher optional-with-default is probably part of the problem
20:06 jnthn I'm guessing the higher arity one sorts higher.
20:06 masak what? why?
20:07 jnthn Probably because you asked for it to when it suited that way around :P
20:07 isBEKaml masak: march plan of attack? (I don't know, I might disappear off to the woods again. :/ )
20:07 masak jnthn: hey! :P
20:07 moritz_ sorear: if I don't provide the default, I make the case where a :limit is supplied impossible, no?
20:07 jnthn The whole area is weird...
20:07 masak jnthn: I remember asking for another thing.
20:07 sorear masak: what? november, druid, yapsi, ...
20:07 masak jnthn: it was the presence/absence of a slurpy array.
20:07 jnthn moritz_: Note the :limit will apply to the second one too...
20:07 masak jnthn: that one should prefer the smaller-arity one.
20:07 jnthn Since there's a default *%
20:08 * isBEKaml thinks things are getting weird here about rapidly losing context. is it just me? :)
20:08 sorear IMHO Rakudo should be giving an ambiguous dispatch error
20:08 jnthn sorear: Doubt it.
20:08 masak sorear: november is getting a bit old, but all those are fine.
20:08 sorear "the wiki engine with more grey hair"
20:09 tadzik mberends: has anything new happen about the Sekritt Project?
20:09 masak tadzik: I'm doing the last bits on NP now.
20:09 masak tadzik: as it turns out P=NP, actually :P
20:09 jnthn oh, turns out it doesn't seem to care much for arity in these cases...
20:09 dukeleto i just submitted The Perl Foundation's app to participate in Google Summer of Code 2011. Anybody have project ideas?
20:10 moritz_ dukeleto: is it a joint application of TPF and PaFo?
20:10 dukeleto moritz_: nope, Parrot Foundation and TPF are seperate orgs this year
20:10 tadzik masak: oh I so want to see that patch :)
20:10 jnthn masak: The slurpy bit is there, though...
20:11 masak jnthn: yes, but it should *prefer* the shorter one, no?
20:11 dukeleto moritz_: it became too crazy to have two umbrella organizations under the same roof
20:11 isBEKaml "The wrinkled wiki" :P
20:11 jnthn masak: Perhaps so.
20:11 jnthn masak: We could try it and see what tests break...
20:11 jnthn :)
20:11 masak \o/
20:11 mberends tadzik: tuit fail, but tuit recovery expected tonight/tomorrow :)
20:11 dukeleto moritz_: Rakudo is kind of on the boundary layer. I guess it can choose to be part of whichever org it wants :)
20:11 isBEKaml wait, should that be "wrinkli" ? :D
20:11 masak I distinctly remember the discussion during YAPC::EU 2009.
20:12 masak "The lack of an argument could be considered narrower than a slurpy array." -- Damian
20:12 dukeleto moritz_: i assume it will be TPF
20:12 dukeleto moritz_: but that is up to Rakudo-folk to decide
20:12 jnthn hm
20:12 * dukeleto has to head to the airport in a few
20:12 moritz_ dukeleto: I'll think about project ideas, thanks
20:12 dukeleto moritz_: awesome!
20:13 dukeleto This page is sorely in need of updating and a project ideas should be added to the bottom: https://www.socialtext.net/perl5/gsoc
20:15 GinoMan left #perl6
20:15 ponbiki left #perl6
20:18 porter235 left #perl6
20:23 [Coke] I imagine rakudo could end up with project under both orgs this year.
20:24 stkowski joined #perl6
20:29 isBEKaml http://www.reddit.com/r/perl/comments/fxbbg/rakud​o_commit_activity_decreased_heavily_what/c1jfygb
20:29 isBEKaml lol, hug HIBOU.
20:33 fisted left #perl6
20:33 isBEKaml I feel sorry for that fella.
20:34 Holy_Cow joined #perl6
20:38 ponbiki joined #perl6
20:46 isBEKaml left #perl6
20:50 plobsing left #perl6
20:50 tyatpi_ joined #perl6
20:53 benabik left #perl6
20:55 fisted joined #perl6
21:00 plobsing joined #perl6
21:03 am0c joined #perl6
21:05 tyatpi_ left #perl6
21:10 dual left #perl6
21:13 plainhao left #perl6
21:14 dual joined #perl6
21:15 gdey_ joined #perl6
21:15 gdey_ left #perl6
21:15 gdey_ joined #perl6
21:18 tyatpi_ joined #perl6
21:20 Tene jnthn: I ended up having a lot of trouble getting the class hierarchy organized properly; I need to take a look at that again today after work.
21:21 Tene Trying to get classes to be instances of RubyClass, and RubyClass to be an instance of RubyObject, I kept ending up with circular inheritance.  There's something I'm doing wrong there.
21:22 metaxy joined #perl6
21:22 Tene I also wasn't getting things organized properly to have class methods be separate from instance methods; I suspect those are related.
21:23 gdey_ left #perl6
21:24 TheMartianGeek joined #perl6
21:26 jnthn Tene: May need to have two separate meta-methods, an add_method and add_class_method or some such.
21:27 Tene Maybe.
21:28 Tene I think I'm just not clear on what repr_type_object_for does exactly; I need to read through the code around that.
21:28 Tene Ruby doesn't use prototype OO, so instances of a class aren't the same type as the class itself.
21:29 Tene so classes need to be instances of class, but not inherit from class.
21:30 Tene I don't have a specific question here, as I'm not working on it right now, but I thought you might be interested in hearing the difficulties I ran into while trying to use it, yes?
21:33 ruoso left #perl6
21:34 ruoso joined #perl6
21:36 f00li5h left #perl6
21:37 flussence oh, that rakudo oneliner finally finished
21:37 flussence 6161.64user 1.86system 1:46:12elapsed 96%CPU (0avgtext+0avgdata 4096992maxresident)k
21:39 f00li5h joined #perl6
21:43 cjk101010 joined #perl6
21:45 masak moritz_: when I do 'perl6 -h' what is it that includes ll-backtrace among the options listed?
21:46 tadzik a-ha, I see what you did there?
21:46 tadzik :)
21:46 masak :)
21:47 masak tadzik: it's working locally, just refactoring a bit and making sure the docs/help system follow along nicely.
21:49 masak oh. seems the answer is "it's in compilers/pct/src/PCT/HLLCompiler.pir"
21:49 ruoso left #perl6
21:51 TheMartianGeek left #perl6
21:52 lichtkind joined #perl6
21:53 moritz_ masak: right
21:53 moritz_ masak: don't invest much work on it, the command line parsing works differently in the new nqp
21:53 masak *nod*
21:53 masak I'll just submit a rakudobug so we don't forget.
21:55 spq left #perl6
22:00 metaxy left #perl6
22:01 lichtkind cheers
22:01 drakej joined #perl6
22:01 drakej left #perl6
22:01 lichtkind ouch
22:02 masak cheers/ouch, lichtkind.
22:04 lichtkind masak :) the ouch was only because my conversation with the nickserver :)
22:04 kaare_ left #perl6
22:04 cjk101010 left #perl6
22:04 masak lichtkind: is the nickserver being sarcastic again?
22:04 mberends .oO( ouch is lichtkindś password? )
22:05 Holy_Cow left #perl6
22:06 lichtkind masak: he just a faithfull servant the real ouch was because i could not remember my password the first 2 times
22:06 dalek rakudo: 7fb6341 | masak++ | / (3 files):
22:06 dalek rakudo: added -n and -p options
22:06 dalek rakudo:
22:06 dalek rakudo: The -n option pretends that instead of $code, your program is really
22:06 dalek rakudo: "for lines() { $code }". The -p option pretends "for lines() { $code;
22:06 dalek rakudo: say $_ }". The substitutions in question are done at the PAST level
22:06 dalek rakudo: in Perl6::Actions.
22:06 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/7fb6341cdd
22:06 masak lichtkind: that's because you don't come and visit us at #perl6 enough :)
22:08 mberends masak++ # making Rakudo -n and -p complete
22:08 masak \o/
22:08 gdey_ joined #perl6
22:08 masak interesting post about "core Perl 5": http://blogs.perl.org/users/brian_d_foy/20​11/03/what-should-be-core-in-perl-516.html
22:08 jnthn masak: Was it -n -p hard?
22:09 masak jnthn: the hardest part was waiting for Rakudo to compile. :)
22:09 tadzik yay :)
22:09 masak after the FUTURE, I feel very confident with handling the PAST.
22:09 lichtkind cheers jnthn
22:09 tadzik wow, that was actually quite easy
22:10 cookys_ left #perl6
22:10 tadzik or rather: simple
22:10 jnthn ahoj, lichtkind
22:10 gdey_ left #perl6
22:10 allbery_b left #perl6
22:10 simcop2387 left #perl6
22:10 bhwu left #perl6
22:10 f00li5h left #perl6
22:10 masak tadzik: yes. the implementation mostly consisted of a bunch of magpie copy-pasting from other places :)
22:10 silug left #perl6
22:10 saaki left #perl6
22:10 silug joined #perl6
22:10 allbery_b joined #perl6
22:10 masak and just a tiny bit actual understanding.
22:11 tadzik that opens a room for lotsa LHF
22:11 gdey_ joined #perl6
22:11 masak oh?
22:12 lichtkind masak: true but i guess im coming back a bit
22:13 tadzik masak: like autosplit
22:13 tadzik or -MDevel::Trace or so!
22:13 coldhead joined #perl6
22:13 porter235 joined #perl6
22:13 simcop2387 joined #perl6
22:15 shi left #perl6
22:18 porter235 left #perl6
22:22 masak maybe in the new nqp, we can also fix the fact that ^D in the REPL doesn't print a final newline before exiting :)
22:23 jnthn If anybody knows what fixing that involves probably, yes :)
22:23 tadzik oh, it just needs a "say;" somewhere :)
22:24 masak std: say;
22:24 p6eval std 4608239: OUTPUT«Potential difficulties:␤  Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/qa1hjPxRwh line 1:␤------> [32msay[33m⏏[31m;[0m␤ok 00:01 117m␤»
22:24 masak std: say '';
22:24 p6eval std 4608239: OUTPUT«ok 00:01 118m␤»
22:24 masak tadzik: modulo that, yes.
22:25 tadzik oh, I thought I use say; in panda
22:25 masak please avoid using 'say;'
22:25 tadzik which, by the way, deserves a blag toast
22:25 masak it works in Rakudo currently, but it shouldn't.
22:25 masak oh definitely; do blog about Panda.
22:26 * masak goes to retire pun
22:26 f00li5h joined #perl6
22:26 tadzik oh, and we still didn't talk about the differences between Panda and Pls
22:27 masak right.
22:28 tadzik so maybe I'll just hilight them in the toast, so you could respond to that
22:29 masak do what makes sense/feels right for now.
22:29 tadzik I feel like sleeping :)
22:29 masak we can discuss Panda and Pls whenever it's convenient.
22:29 masak me too :)
22:30 tadzik and I have to wake up at 6 tomorrow to attend a Java lecture :(
22:31 jnthn Ouch
22:32 sjohnson doh
22:33 tadzik yeah. But it's still probably the most interesting classes I have
22:34 tadzik maybe besides Table Tennis
22:34 masak what sadist teaches Java at 6 in the morning? :P
22:34 masak sjohnson: \o
22:34 sjohnson masak.pal()
22:34 tadzik at 8 :) But I have to wake up like 6.20 to get there
22:35 tadzik oh, that reminds me that it's actually 8.30
22:35 * sjohnson is doing a lot of perl5 coding today
22:35 dalek nqp/ctmo: 06a391d | jonathan++ | / (6 files):
22:35 dalek nqp/ctmo: Get setting loading working from pre-compiled code. This was a tad twisted to do, but should work nicely now.
22:35 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/06a391d238
22:36 f00li5h left #perl6
22:36 masak jnthn++
22:36 * masak goes to bed
22:36 masak 'night, zebras.
22:36 masak left #perl6
22:38 natureboy joined #perl6
22:39 jnthn yes, sleep sounds like a good idea :)
22:41 fisted left #perl6
22:44 f00li5h joined #perl6
22:45 sorear hi #perl6
22:46 natureboy left #perl6
22:47 am0c left #perl6
22:49 fisted joined #perl6
22:49 sjohnson hello
22:50 risou joined #perl6
22:53 f00li5h left #perl6
22:57 cognominal left #perl6
23:01 hercynium left #perl6
23:05 f00li5h joined #perl6
23:08 ymasory left #perl6
23:12 Guest87704 joined #perl6
23:17 lichtkind gnight masak | jnthn
23:18 lichtkind or better gnight masak & jnthn
23:18 Rotwang left #perl6
23:19 plobsing left #perl6
23:20 takadonet1 joined #perl6
23:23 sorear hello lichtkind
23:35 colomon joined #perl6
23:36 f00li5h left #perl6
23:40 Guest87704 left #perl6
23:42 f00li5h joined #perl6
23:43 gdey_ left #perl6
23:43 gdey_ joined #perl6
23:47 rgrau joined #perl6
23:51 f00li5h left #perl6
23:52 f00li5h joined #perl6
23:55 fisted_ joined #perl6
23:59 fisted left #perl6

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

Perl 6 | Reference Documentation | Rakudo