Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-06-06

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 replore joined #perl6
00:05 thilp joined #perl6
00:11 ingy joined #perl6
00:13 k0ala joined #perl6
00:31 xinming joined #perl6
00:54 tyatpi joined #perl6
01:06 scott_ joined #perl6
01:12 [particle]1 joined #perl6
01:12 fgomez joined #perl6
02:21 DreamingInCode left #perl6
02:22 tokuhiro_ joined #perl6
02:30 fgomez joined #perl6
02:31 jaldhar joined #perl6
02:38 dalek rakudo/map2: ecdcc40 | pmichaud++ | src/ (2 files):
02:38 dalek rakudo/map2: Refactor firing of FIRST phasers a bit.  There may be a problem
02:38 dalek rakudo/map2: here though, if a block gets its FIRST set but is next invoked by
02:38 dalek rakudo/map2: an already-in-progress iterator or other source (problem exists
02:38 dalek rakudo/map2: in the code being replaced as well).
02:38 dalek rakudo/map2: review: https://github.com/rakudo/rakudo/commit/ecdcc40ea4
02:40 jaldhar joined #perl6
02:53 leprevost joined #perl6
03:01 crab2313 joined #perl6
03:08 _ilbot joined #perl6
03:08 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: http://irc.perl6.org/ | UTF-8 is our friend!
03:12 libertyprime joined #perl6
03:14 Facefox joined #perl6
03:37 jaldhar joined #perl6
05:06 replore joined #perl6
05:13 diakopter .u 171
05:13 phenny diakopter: Sorry, no results for '171'.
05:13 diakopter .u \d171
05:13 phenny U+100B3 LINEAR B IDEOGRAM B171 (𐂳)
05:13 phenny U+2A171 CJK UNIFIED IDEOGRAPH-2A171 (𪅱)
05:13 phenny U+E019A VARIATION SELECTOR-171 (󠆚)
05:13 diakopter eh
05:13 diakopter .u \da
05:13 phenny U+0020 SPACE ( )
05:13 phenny U+0021 EXCLAMATION MARK (!)
05:13 phenny U+0022 QUOTATION MARK (") [...]
05:23 b1rkh0ff joined #perl6
05:31 diakopter phenny: phooey
05:35 moritz \o
05:35 diakopter good morning
05:35 * moritz ywans
05:35 moritz good localtime diakopter
05:37 sorear o/
05:37 adu joined #perl6
05:40 diakopter r: my @a = 4; say @a.DUMP
05:40 p6eval rakudo 559c40: OUTPUT«Array<-1253585100>(:items(Mu), :nextiter(ListIter<-1253587167>(:reified(▶Mu), :rest(RPA<-1253587177>(Array<-1253593339>(:items(RPA<-1253626056>(▶4)), :nextiter(▶Mu)))), :list(Array<-1253585100>))))␤»
05:40 drbean joined #perl6
05:41 * diakopter scratches his head
05:41 diakopter n: my @a = 4; say @a.DUMP
05:41 p6eval niecza v18-2-gea3d97a: OUTPUT«Unhandled exception: Unable to resolve method DUMP in type Array␤  at /tmp/_uIdssNpuJ line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3911 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3912 (module-CORE @ 558) ␤  at /home/…
05:45 moritz diakopter: it's just for debugging rakudo's lists and iterators
05:46 drbean joined #perl6
05:46 diakopter rn: say \\.gist; say \.gist
05:46 p6eval rakudo 559c40: OUTPUT«Any()␤Any()␤»
05:46 p6eval ..niecza v18-2-gea3d97a: OUTPUT«\(\("Any()"))␤\("Any()")␤»
05:48 diakopter rakudo's capture .gist is empty it seems
05:48 alvis joined #perl6
05:49 diakopter r: say \().gist; say \().DUMP
05:49 p6eval rakudo 559c40: OUTPUT«␤Capture.new( list => ().list, hash => EnumMap.new())␤»
05:57 kaleem joined #perl6
06:06 mucker joined #perl6
06:12 cognominal___ joined #perl6
06:13 wtw joined #perl6
06:13 wtw joined #perl6
06:15 shachaf joined #perl6
06:17 geekosaur joined #perl6
06:27 adu joined #perl6
06:28 sunnavy joined #perl6
06:30 sunnavy joined #perl6
07:06 brrt joined #perl6
07:07 cj joined #perl6
07:47 moritz std: enum X is export <A B C>;
07:47 p6eval std f179a1b: OUTPUT«ok 00:00 40m␤»
07:48 moritz std: enum X <A B C> is export;
07:48 p6eval std f179a1b: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a row at /tmp/Fp1DMnNHjw line 1:â�¤------> [32menum X <A B C> [33mâ��[31mis export;[0mâ�¤    expecting any of:â�¤   infix or meta-infixâ�¤    infixed functionâ�¤       statement modifier loopâ�¤Parse failedâ�¤FAILED 00:00 42mâ�¤Â»
07:49 dalek roast: 1a247e8 | moritz++ | S (2 files):
07:49 dalek roast: fix enum export test, and fudge a new test for rakudo
07:49 dalek roast: review: https://github.com/perl6/roast/commit/1a247e87e7
07:58 fhelmberger joined #perl6
08:01 moritz nr: say Nil === Nil
08:01 p6eval niecza v18-2-gea3d97a: OUTPUT«Unhandled exception: No value for parameter '$l' in 'infix:<===>'␤  at /home/p6eval/niecza/lib/CORE.setting line 0 (infix:<===> @ 1) ␤  at /tmp/QmdW8XaLSX line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3911 (ANON @ 3) ␤  at /home/p6ev…
08:01 p6eval ..rakudo 559c40: OUTPUT«True␤»
08:01 moritz nieczabug?
08:19 crab2313 joined #perl6
08:26 dakkar joined #perl6
08:30 adu joined #perl6
08:38 birdwindupbird joined #perl6
08:40 kurahaupo joined #perl6
08:57 bruges joined #perl6
09:23 dalek rakudo/nil-assign: f2145d4 | moritz++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
09:23 dalek rakudo/nil-assign: set up Nil in bootstrap
09:23 dalek rakudo/nil-assign: review: https://github.com/rakudo/rakudo/commit/f2145d484b
09:23 dalek rakudo/nil-assign: 7486672 | moritz++ | src/ (3 files):
09:23 dalek rakudo/nil-assign: propagate Nil to C land
09:23 dalek rakudo/nil-assign: review: https://github.com/rakudo/rakudo/commit/74866725ac
09:23 dalek rakudo/nil-assign: 066916c | moritz++ | src/ (2 files):
09:23 dalek rakudo/nil-assign: oops, Nil needs to be Iterable
09:23 dalek rakudo/nil-assign: review: https://github.com/rakudo/rakudo/commit/066916c77a
09:23 dalek rakudo/nil-assign: 9103333 | moritz++ | src/binder/container.c:
09:23 dalek rakudo/nil-assign: special-case assigning Nil
09:23 dalek rakudo/nil-assign: review: https://github.com/rakudo/rakudo/commit/9103333b08
09:26 moritz somehow this breaks the backtrace printer
09:29 birdwind1pbird joined #perl6
09:30 jnthn morning-ish o/
09:30 moritz \o jnthn
09:31 jnthn How does it break it, ooc?
09:31 moritz method message not found on Any
09:32 moritz it seems we return Any a bit too often from the setting
09:35 jnthn Maybe there's something like: my $foo = bar(); return $foo
09:36 jnthn And now a Nil that was getting passed along is evaporating.
09:36 moritz yes, I suspect something like that too
09:37 moritz List.at_pos returns Nil when the key does not exist
10:04 moritz r: my $x ||= Mu
10:04 p6eval rakudo 559c40:  ( no output )
10:04 moritz r: my $x = 3; $x &&= Mu
10:04 p6eval rakudo 559c40:  ( no output )
10:06 moritz oh
10:07 moritz in my branch,  my $x = Nil produces a Mu in $x
10:07 moritz not Any
10:07 jnthn ->of is the type constraint.
10:07 moritz yes
10:08 moritz how do I get the default type instead?
10:09 moritz does that go through whence?
10:12 jnthn hm. I'm not sure we even store it...besides setting it as the initial value of the scalar.
10:12 moritz oh.
10:12 moritz so much for the LFH part :-)
10:13 moritz (Nil assignment is still in LHF.markdown)
10:13 jnthn Oh. :)
10:13 jnthn I guess that the default wants to live on the container desctiptor.
10:13 jnthn *descriptor
10:14 dalek rakudo/nil-assign: 71a5632 | moritz++ | src/core/metaops.pm:
10:14 dalek rakudo/nil-assign: //= and friends should be able to handle Mu
10:14 dalek rakudo/nil-assign: review: https://github.com/rakudo/rakudo/commit/71a5632444
10:14 moritz fwiw that makes most of the spectests pass again
10:15 fgomez joined #perl6
10:23 moritz just three files fail, t/spec/S02-types/nil.rakudo, t/spec/S03-operators/assign.rakudo and t/spec/S03-operators/flip-flop.rakudo
10:24 moritz all of them exit prematurely
10:47 dalek nqp/altnfa: 2dc71bc | jnthn++ | src/QRegex/NFA.nqp:
10:47 dalek nqp/altnfa: Don't screw up <!alpha>.
10:47 dalek nqp/altnfa: review: https://github.com/perl6/nqp/commit/2dc71bcb67
10:47 dalek nqp/altnfa: 0920483 | jnthn++ | src/QRegex/NFA.nqp:
10:47 dalek nqp/altnfa: Fix before handling in NFA generation.
10:47 dalek nqp/altnfa: review: https://github.com/perl6/nqp/commit/092048317e
11:12 ab5tract joined #perl6
11:28 JimmyZ_ joined #perl6
11:58 dalek nqp/altnfa: 80306ff | jnthn++ | src/QRegex/P6Regex/Actions.nqp:
11:58 dalek nqp/altnfa: Fix handling of complex char classes; gets bigint test file to pass on altnfa.
11:58 dalek nqp/altnfa: review: https://github.com/perl6/nqp/commit/80306ffca6
11:58 dalek nqp/altnfa: fd66f4f | jnthn++ | src/QRegex/P6Regex/Actions.nqp:
11:58 dalek nqp/altnfa: Ensure alt_nfa IDs are sufficiently unique.
11:58 dalek nqp/altnfa: review: https://github.com/perl6/nqp/commit/fd66f4f1e7
11:58 dalek nqp/altnfa: 5f35dc9 | jnthn++ | src/QRegex/NFA.nqp:
11:58 dalek nqp/altnfa: Ensure zerowidth subrules really do terminate LTM.
11:58 dalek nqp/altnfa: review: https://github.com/perl6/nqp/commit/5f35dc95c7
11:58 moritz phenny: de en "alt"?
11:58 phenny moritz: "old" (de to en, translate.google.com)
11:59 moritz shouldn't you be writing a *new* NFA? :-)
11:59 jnthn :P
11:59 jnthn We now get to around line 3000 of CORE.setting parse again :)
12:00 moritz so about 1/4th through
12:00 jnthn Yeah
12:00 jnthn Well, before my commits last night, we made it to about line 20. And before today only to line 42. So, improvement... :)
12:01 jnthn hmm, maybe it was 72 actually
12:01 moritz aye :-)
12:01 moritz quite some progress
12:02 moritz jnthn: I have a static sub (get_thrower) in src/ops/perl6.ops, and want to reuse it in the binder
12:02 moritz jnthn: where should I put it?
12:05 moritz I want to throw more typed exceptions from C
12:06 daxim joined #perl6
12:08 JimmyZ_ moritz++, it's easy to do i10n
12:09 jnthn moritz: Make it unstatic, prefix it Rakudo_ and put it in a .c file in src/binder/ - if there's no appropraite one create a new exceptions.c and exceptions.h
12:09 jaldhar joined #perl6
12:09 jnthn And be sure to #include the exceptions.h in bind.c and the ops
12:13 brrt joined #perl6
12:15 * moritz tries if it still compiles
12:20 jnthn Making it to 6000ish now.
12:20 bluescreen10 joined #perl6
12:21 moritz \o/
12:21 moritz double it once more, and you're there :-)
12:24 crab2313 joined #perl6
12:27 jnthn std: method foo() { self!_foo() }
12:27 p6eval std f179a1b: OUTPUT«Potential difficulties:â�¤  'method' declaration outside of class at /tmp/2KX6dZ962a line 1:â�¤------> [32mmethod foo() [33mâ��[31m{ self!_foo() }[0mâ�¤ok 00:00 41mâ�¤Â»
12:31 pmichaud good morning, #perl6
12:31 jnthn o/ pmichaud
12:31 moritz good am, pm
12:32 pmichaud ooc, when FIRST/NEXT/LAST phasers were implemented, was there any discussion about assymmetry between the execution order of FIRST and LAST ?
12:32 tyatpi joined #perl6
12:32 pmichaud ...and I guess NEXT, too?
12:33 jnthn pmichaud: As in, declaration order vs reverse order?
12:34 pmichaud as in...
12:34 pmichaud FIRST blocks are executed after PRE blocks, but NEXT/LAST blocks are executed before/after POST blocks
12:34 pmichaud currently we have NEXT/LAST executed after POST
12:34 thou joined #perl6
12:35 pmichaud and I think it pretty much has to be that way, leading me to wonder if FIRST should occur before PRE to keep proper nesting.
12:35 jnthn Ah...
12:35 * jnthn waves hands
12:35 pmichaud or at least to keep it symmetric
12:36 pmichaud or, even more directly:  NEXT and LAST occur _after_ a block has exited, so I wonder if FIRST should occur before a block is entered.
12:37 pmichaud anyway, I was just curious; I'll leave things as they are for now :)
12:37 jnthn How would that work?
12:37 moritz it would be helpful to have use cases
12:37 jnthn You'd not have captured the lexical scope.
12:37 pmichaud I don't know... I just know there's an assymmetry there :)
12:37 jnthn *nod*
12:37 pmichaud *asymmetry
12:38 thou joined #perl6
12:47 dalek nqp/altnfa: 631269d | jnthn++ | src/QRegex/NFA.nqp:
12:47 dalek nqp/altnfa: Reflect that <alpha> also matches _ in the NFA we generate for it.
12:47 dalek nqp/altnfa: review: https://github.com/perl6/nqp/commit/631269dc19
12:48 dalek rakudo/altnfa: 539cf11 | jnthn++ | src/Perl6/Grammar.pm:
12:48 dalek rakudo/altnfa: Move term:sym<type_declarator> higher up.
12:48 dalek rakudo/altnfa: review: https://github.com/rakudo/rakudo/commit/539cf1122a
12:53 jnthn Way past line 8000 now
12:53 jnthn Gotta go to Stockholm.
12:53 jnthn back this evening.
12:53 moritz have fun!
12:53 pmichaud picking up your Nobel Prize already?  Seems a bit premature.  :-)
12:53 jnthn :P
12:53 jnthn Nah, just to teach TDD :)
12:54 Chillance joined #perl6
12:54 moritz I'm almost done getting a typed exception for assignment type check failure
12:55 moritz now I just need to eliminate all the typos :-)
12:55 moritz (which each takes the full 4 minute recompilation cycle)
12:56 PacoAir joined #perl6
12:59 pmichaud ...where is the &warn handler defined?
12:59 pmichaud (not the part that throws warnings, the part that catches and displays them)
12:59 pmichaud it's interacting badly with my new list code
13:00 moritz probably in Exception.pm
13:01 moritz handle_control or so
13:02 fgomez joined #perl6
13:02 pmichaud print_control, maybe?
13:03 moritz sounds like it, yes
13:08 Psyche^ joined #perl6
13:08 pmichaud $err.print: Backtrace.new($ex.backtrace, 0).nice(:oneline);
13:09 pmichaud ...what, exactly, is that line doing?
13:09 pmichaud (Exception.pm, line 157)
13:10 moritz it tries to extract the one best line to report as a calling location of the warning
13:11 pmichaud we're passing a Backtrace to Backtrace.new, though?
13:11 moritz well
13:11 moritz $ex.backtrace is the RPA that is parrot's idea of a backtrace
13:11 moritz an RPA of hashes, iirc
13:12 moritz and from that we create a Perl 6 Backtrace object
13:12 pmichaud method backtrace() { Backtrace.new(self) }
13:12 pmichaud am I looking in the wrong place?
13:12 moritz yes
13:12 moritz $ex is a parrot exception
13:12 pmichaud ah
13:12 moritz (feel free to rename the variable if that makes it less confusing for you)
13:13 pmichaud yes, for some reason I assumed it was an Exception.  okay, it makes more sense now.
13:13 moritz I can see how that leads to confusion :-)
13:13 pmichaud okay, I'm guessing the problem I'm having is somehow related to
13:13 pmichaud my class Backtrace is List {
13:13 pmichaud didn't know we had other subclasses of List :)
13:14 PerlJam It's too bad there isn't some sort of hungarian notation to distinguish parroty things from nqply things.
13:14 pmichaud well, we can certainly come up with a convention for parroty versus perl6y
13:15 mtk joined #perl6
13:18 pmichaud --ll-exception helps
13:18 moritz though iirc Backtrace doesn't fiddle with List's internals
13:18 mucker joined #perl6
13:18 moritz or maybe it does for construction
13:19 pmichaud it might be related to its use of next/last in the constructor
13:19 pmichaud the problem I'm having is definitely occuring in the constructor
13:19 pmichaud which is why I'm getting an infinite loop, as Backtrace.new is throwing an exception that is then being caught that is then trying to be handled by something that calls Backtrace.new that ....
13:20 pmichaud it doesn't appear to be a Backtrace/List issue directly; I don't see any worrisome fiddling by Backtrace.
13:20 moritz you might remember some of the "fun" I had at the Oslo hackathon straightening out errors from the backtrace printer
13:21 pmichaud the exception I'm getting is from Parrot:
13:21 pmichaud Multiple Dispatch: No suitable candidate found for 'is_equal', with signature 'PP->I'
13:22 pmichaud so somewhere there's a comparison being done between a pair of PMCs that shouldn't be :-)
13:22 moritz sounds like a coercion is missing around a comparison op
13:22 pmichaud ...wish I could find out which one :-)
13:22 moritz well, coercion of arguments to comparison op missing
13:23 pmichaud (yes, I can... looking at generated source now.)
13:23 pmichaud called from Sub 'reify' pc 462202 (src/gen/CORE.setting.pir:182144) (src/gen/CORE.setting:5028)
13:24 pmichaud .... it would really help if there was a faster way to determine _which_ Sub 'reify' that is.  :-/
13:25 pmichaud oh, I guess CORE.setting.5028 tells me
13:25 moritz which reminds me that p6 level backtraces don't include the package name either
13:26 moritz though iirc I put all the necessary infrastructure in place
13:26 pmichaud aha!
13:26 pmichaud found it
13:27 pmichaud type = getattribute exception, 'payload'
13:27 pmichaud copy-paste error... 'payload' should be 'type' there.
13:28 moritz is that from control_print?
13:28 pmichaud no, it's in my new MapIter code.
13:28 pmichaud It's the exception handler for last/next/redo exceptions.
13:29 moritz no wonder I didn't notice it before :-)
13:29 pmichaud I'm guessing this is the first time I've run into code that does last/next/redo :)
13:30 pmichaud (in this branch)
13:30 dalek rakudo/nom: 531b9d8 | moritz++ | / (4 files):
13:30 dalek rakudo/nom: move C infrastructure for typed exception to a separate file
13:30 dalek rakudo/nom:
13:30 dalek rakudo/nom: I want to reuse it later in the binder
13:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/531b9d83a5
13:30 dalek rakudo/nom: ffdcdf9 | moritz++ | src/ (2 files):
13:30 dalek rakudo/nom: typed exception for assignment type check failure
13:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ffdcdf97e8
13:33 [Coke] jnthn: are you on 32bit or 64bit windows?
13:47 cognominal_ joined #perl6
13:49 cognominal joined #perl6
13:50 dalek roast: 6625f6f | moritz++ | S32-exceptions/misc.t:
13:50 dalek roast: test X::TypeCheck::Assignment
13:50 dalek roast: review: https://github.com/perl6/roast/commit/6625f6f8be
13:51 mikemol joined #perl6
13:51 drbean joined #perl6
14:03 adu joined #perl6
14:12 fgomez joined #perl6
14:12 drbean joined #perl6
14:14 [Coke] sorear, colomon: I need c# help - does this https://github.com/ServiceStack/ServiceStack.Redis look like a library or an app? the docs are unclear, and I am confused.
14:16 gorman joined #perl6
14:17 adu joined #perl6
14:17 gorman Hi, anyone have any good open source repos for perl? I want to read some perl
14:17 daxim http://modules.perl6.org/
14:18 daxim if you're looking for perl5, join #perl-help on irc.perl.org
14:19 gorman ah, that's a great link, thanks :D
14:20 moritz rosettacode also has quite some nice Perl 6 code
14:20 moritz I'm pretty sure there's a link to it from perl6.org or perl6.org/community/
14:21 daxim http://rosettacode.org/wiki/Category:Perl_6
14:21 drbean joined #perl6
14:24 PacoAir joined #perl6
14:26 lorn joined #perl6
14:43 dalek rakudo/nom: b2fa325 | moritz++ | src/core/Exception.pm:
14:43 dalek rakudo/nom: small exception tweak
14:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b2fa325498
14:54 leprevost joined #perl6
14:55 kaare_ joined #perl6
15:02 colomon [Coke]: looks like a library to me, at a quick glance
15:12 spider-mario joined #perl6
15:21 tonginbox joined #perl6
15:21 tonginbox help
15:21 moritz hello tonginbox. What do you need help with?
15:23 tonginbox i am new in here, just want to learn perl6 what should i start
15:23 moritz tonginbox: http://perl6.org/ has many pointers to resources
15:24 TimToady which one works best depends on what kind of learner you are
15:24 TimToady and your background
15:24 tonginbox good question, TimToady
15:24 TimToady what languages are you familiar with
15:24 TimToady ?
15:24 tonginbox i am experienced dev on java and c#
15:26 diakopter have you used C# 4.0 dynamic?
15:26 diakopter (just curious)
15:26 tonginbox no i just use c# and .net mvc for web dev.
15:27 TimToady we have an implementation on .net, as it happens
15:28 TimToady I don't think we have any tutorial specially tailored for people coming from an OO background yet
15:28 tonginbox ok
15:28 TimToady there's the book moritz et al. are working on
15:28 moritz though "Using Perl 6" might still suit you
15:29 tonginbox ok
15:29 TimToady there are the specs, which are pretty ferocious, but some people like reading 'em
15:29 TimToady there are lots of ways to learn by example, such as rosettacode.org
15:29 majrmovies joined #perl6
15:29 TimToady or by looking at existing modules
15:30 moritz and of course you're welcome to ask here if you can't find  answers by reading or experimenting
15:30 TimToady unfortunately rosettacode is somewhat impoverished in Java and C# code
15:30 dalek rakudo/nom: 8c91e19 | moritz++ | src/Perl6/Actions.pm:
15:30 dalek rakudo/nom: also forbid nqp:: with "use FORBID_PIR"
15:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8c91e1955f
15:30 TimToady I guess those folks are too busy making a living :)
15:30 tonginbox rosettacode is the good one i will explore there first to get farmilier with perl6
15:31 tonginbox shall i use perl6 on linux? can you suggest?
15:31 tonginbox now i'm on win.
15:31 TimToady you can use either niecza or rakudo on either linux or windows
15:31 tonginbox and i don't mind use linux coz has some exp on ubuntu and archlinux
15:31 moritz well, most of us are using it on linux, so there the experience is usually a bit smoother
15:32 TimToady niecza runs on mono, so you'd have some familiarity with the .netty bits
15:32 fgomez joined #perl6
15:32 tonginbox yes that's my concern if most ppl use linux then i should use it, i don't want to be alone you know.
15:33 TimToady well, jnthn develops rakudo on windows, but sorear develops niecza on linux (I think)
15:33 TimToady I personally like linux better than windows, but maybe that's just me :)
15:35 diakopter I like Windows because it has my favorite text editor
15:36 shinobicl joined #perl6
15:36 diakopter come to think of it, that's by far the biggest reason
15:36 diakopter jnthn uses the same one
15:37 TimToady another consideration is which timezone you live in
15:37 diakopter tonginbox: there are a few Perl 6 implementations you can try out.
15:38 tonginbox ok
15:38 TimToady the main niecza developer is in the Pacific time zone, but most of the rakudo developers are in the EU
15:38 TimToady perl6: say "hi"
15:38 p6eval rakudo b2fa32, niecza v18-2-gea3d97a, pugs: OUTPUT«hi␤»
15:38 TimToady there're three right there
15:39 moritz of which only rakudo and niecza are being actively developed
15:39 TimToady pugs is being inactively developed :)
15:40 pmichaud (aside) at some point soon we might want a different phrase besides "actively developed"  :-)
15:40 pmichaud something that indicates movement beyond initial development
15:41 TimToady actively convergent :)
15:41 diakopter perlito is active, but pretty behind
15:41 TimToady and it's not clear yet whether it will be convergent
15:42 pmichaud looking at perl6.org/getting-started/, it might be useful to update that page with some of the items mentioned above
15:43 pmichaud i.e., rosetta code isn't mentioned on the getting-started page
15:44 pmichaud that page looks like it could use a bit of an update/refactor, imho
15:45 TimToady hmm, I was wrong about C# and Java, they both have about as many entries as Perl 6 does on RC
15:46 TimToady so that will be useful for comparison to tonginbox, I hope
16:00 kurahaupo joined #perl6
16:11 kaleem joined #perl6
16:12 mucker joined #perl6
16:16 thelazydeveloper joined #perl6
16:32 kaleem_ joined #perl6
16:39 fglock joined #perl6
16:39 fglock o/
16:51 araujo joined #perl6
16:53 PacoAir joined #perl6
16:59 GlitchMr joined #perl6
17:12 tyatpi joined #perl6
17:14 sorear good * #perl6
17:19 fglock sorear: o/
17:20 araujo joined #perl6
17:20 araujo joined #perl6
17:30 araujo joined #perl6
17:30 araujo joined #perl6
17:35 _jaldhar joined #perl6
17:35 sergot joined #perl6
17:35 sergot hi o/
17:36 tadzik hello sergot
17:40 japhb joined #perl6
17:47 stepnem joined #perl6
17:48 sorear o/
18:02 [Coke] colomon++ #danke
18:03 stepnem joined #perl6
18:14 sjohnson sorear: hi
18:14 sjohnson tadzik: *fat face emoticon*
18:15 sorear hello sjohnson.
18:19 [Coke] since jnthn++ is always talking about lovely food... just got some dates, with almonds in them, covered in chocolate, from a coworker who just traveled to saudi arabia. MMMM.
18:25 moritz [Coke]: sounds good
18:34 tadzik ( ° ー°)<( Hello sjohnson! )>
18:36 sjohnson heheh
18:37 sorear [Coke]: isn't that illegal?
18:43 tyatpi joined #perl6
18:45 cognominal_ joined #perl6
18:50 moritz erm, what should be illegal?
18:50 TimToady candies are generally considered okay to bring in
18:51 TimToady and I'd say this is more like candy than like fruit
18:51 moritz fresh fruit might be problematic
18:51 TimToady generally most "processed" things are okay if they're in their package
18:52 TimToady but probably not meats
18:52 mucker joined #perl6
18:52 TimToady someone might steal your sausage and feed it to a cow!
18:52 TimToady which might make them mad, and we want happy cows
18:56 * sjohnson wants to eat a cheeseburger now
19:03 ingy joined #perl6
19:13 birdwindupbird joined #perl6
19:18 aindilis joined #perl6
19:33 moritz r: 1 = 2
19:33 p6eval rakudo 8c91e1: OUTPUT«===SORRY!===␤Method 'lvalue' not found for invocant of class 'Integer'␤»
19:33 * moritz submits rakudobug
19:34 moritz r: 1e0 = 2
19:34 p6eval rakudo 8c91e1: OUTPUT«===SORRY!===␤Method 'lvalue' not found for invocant of class 'Float'␤»
19:34 moritz r: 1.0 = 2
19:34 p6eval rakudo 8c91e1: OUTPUT«Cannot assign to a non-container␤  in block <anon> at /tmp/4FS7Qw_leC:1␤␤»
19:36 GlitchMr r: '1.0' = 2
19:36 p6eval rakudo 8c91e1: OUTPUT«===SORRY!===␤Method 'lvalue' not found for invocant of class 'String'␤»
19:37 GlitchMr r: ['1.0'] = 2
19:37 p6eval rakudo 8c91e1:  ( no output )
19:37 GlitchMr ... what?
19:37 GlitchMr n: ['1.0'] = 2
19:37 p6eval niecza v18-2-gea3d97a: OUTPUT«Unhandled exception: Writing to readonly scalar␤  at /tmp/uSfeCIjdwP line 1 (mainline @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3911 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3912 (module-CORE @ 558) ␤  at /home/p6eval/niecza/lib…
19:38 moritz [] returns an Array; I guess rakudo just calls its STORE method or so
19:38 GlitchMr r: < 1.0 2.0 > = 2
19:38 p6eval rakudo 8c91e1: OUTPUT«Cannot assign to a non-container␤  in method STORE at src/gen/CORE.setting:4637␤  in block <anon> at /tmp/eE5ghGnPlL:1␤␤»
19:39 GlitchMr r: < 1.0 2.0 >.WHAT
19:39 p6eval rakudo 8c91e1:  ( no output )
19:39 GlitchMr r: print < 1.0 2.0 >.WHAT
19:39 p6eval rakudo 8c91e1: OUTPUT«use of uninitialized variable $v of type Parcel in string context  in block <anon> at /tmp/WBRXORM4oQ:1␤␤»
19:46 mikemol_ joined #perl6
19:51 dalek rakudo/nom: e75a0ae | moritz++ | src/ (2 files):
19:51 dalek rakudo/nom: typed exception for assignment to non-container
19:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e75a0ae7f4
19:51 dalek roast: 61b24d9 | moritz++ | S32-exceptions/misc.t:
19:51 dalek roast: test X::Assignment::RO, and add tests for RT #113534
19:51 dalek roast: review: https://github.com/perl6/roast/commit/61b24d9ec3
19:51 dalek roast: 343c92a | moritz++ | fudge:
19:51 dalek roast: [fudge] make it recognize throws_like
19:51 dalek roast: review: https://github.com/perl6/roast/commit/343c92a976
19:56 brrt joined #perl6
19:59 kboga joined #perl6
20:01 dalek roast: 7d80d8b | moritz++ | S02-types/subset.t:
20:01 dalek roast: test RT #113434, subset type conformance
20:01 dalek roast: review: https://github.com/perl6/roast/commit/7d80d8bc59
20:02 jnthn evenin'
20:03 [Coke] sorear: illegal or not, it's DELICIOUS. NOMNOMNOM
20:03 moritz \o jnthn. How was teaching?
20:04 kboga hi #perl6
20:04 jnthn moritz: It wasn't today :)
20:04 jnthn moritz: Today I was just traveling up to Stockholm
20:04 jnthn Teaching is tomorrow and Fri
20:05 jnthn Thus why I had some tuits for LTM stuff earlier ;)
20:05 moritz jnthn: oh, ok
20:05 moritz hi kboga
20:06 moritz hacking rakudo's C in limited ways is not as scary as I initially thought
20:07 jnthn It ain't bad, once you C what to do :)
20:08 * moritz slaps jnthn with a large saucepun
20:10 moritz r: try my Int $x = Str; say $!.perl
20:10 p6eval rakudo 8c91e1: OUTPUT«X::TypeCheck::Assignment.new(symbol => "\$x", operation => "assignment", got => Str, expected => Int)␤»
20:11 moritz r: try my Int $x = "foo"; say $!.perl
20:11 p6eval rakudo 8c91e1: OUTPUT«X::TypeCheck::Assignment.new(symbol => "\$x", operation => "assignment", got => "foo", expected => Int)␤»
20:11 jnthn woo :)
20:11 jnthn What else could operation be?
20:11 moritz it's inherited from X::TypeCheck
20:11 moritz could be binding, return value, assignment right now
20:12 jnthn Ah. Feels a little like duplication given that is encoded in the type too
20:12 moritz well, there are two different use cases here
20:13 moritz the first is "catch me only assignment type check failures"
20:13 moritz for that the subclass is easier
20:13 moritz the second is "catch any type check failure, and tell me what it is that failed"
20:13 moritz for that the attribute is easier
20:13 tadzik good evening
20:13 moritz that said I'm not fixed on that particular design
20:13 moritz \o tadzik
20:13 tadzik moritz: o/
20:13 jnthn moritz: Fair point.
20:14 jnthn hi tadzik
20:14 moritz tomorrow is a holliday, and I have Friday off too
20:14 kboga hi moritz, jnthn, tadzik
20:14 tadzik same here
20:14 tadzik time for university projects! \o/
20:18 spider-mario now it seems that rakudo segfaults on exit when I trigger an assignment-to-non-container exception
20:18 spider-mario > my $foo = 'foo'; $foo R~= 'foo';
20:18 spider-mario Cannot assign to a non-container
20:18 spider-mario > ^D
20:18 spider-mario zsh: segmentation fault  perl6
20:23 moritz here I get
20:23 moritz Null PMC access in get_pmc_keyed()
20:24 moritz (with a different trigger for the same bug)
20:25 moritz ah, I can reproduce the segfault too
20:32 [Coke] moritz: hey, question for you onthe grant.
20:33 [Coke] hooks for localization?
20:37 moritz [Coke]: I had mixing roles with the translated messages in the back of my mind
20:37 moritz *mixing in
20:37 moritz [Coke]: but I haven't really experimented with it yet
20:38 jnthn That seems workable...plus you could do it as an extra layer of setting.
20:39 moritz jnthn: oh, that's actually a better idea
20:41 moritz or instead of mixins, one could augment the classes (not pretty, I know) and add  method message-sv() { ... }; message-de() { ... }
20:41 moritz and have the backtrace printer picke the message-$lang if available, and fall back to message()
20:46 moritz $ ./perl6 --setting=DE -e 'sub f() { $^x }'
20:46 moritz ===SORRY!===
20:46 moritz Platzhaltervariablen können keine bestehenden Signaturen überschreiben
20:46 moritz at -e:1
20:46 tadzik oooo
20:47 PerlJam moritz: what about X::Whatever delegate to DE::X::Whatever or EN::X::Whatever ?
20:47 PerlJam (if it exists)
20:47 moritz PerlJam: that way every exception type would need to be aware of l10n
20:48 moritz PerlJam: but if we load an alternate setting, or modify the backtrace printer, we don't need that
20:48 PerlJam ok
20:49 sorear wouldn't it make a lot more sense to use something similar to gettext?
20:49 moritz sorear: IMHO yes
20:50 * sorear wonders if moritz actually has a DE.setting
20:50 moritz sorear: but when I proposed to use something more like a template system instead of interpolating variables into strings I was universally shot down
20:50 Tene http://search.cpan.org/~toddr/Locale-Maketext-1.22/lib/Locale/Maketext/TPJ13.pod is a nice article with recommendations on localization libraries.
20:51 spider-mario moritz : if I had participated to the vote, you wouldn’t have been *universally* shot down
20:52 moritz sorear: https://gist.github.com/2884688
20:53 PerlJam I don't quite see the difference between interpolating vars into strings and using a template system except that the in the former something that is arguably "data" is represented by code.
20:53 moritz PerlJam: the question is how easy it is to replace the template
20:54 spider-mario templates are more easily translated
20:54 moritz PerlJam: which is tied to the question whether something is data or code
20:54 PerlJam Easier to do in datafiles than in code IMHO
20:54 moritz aye
20:54 sorear moritz: You should have done it while I was awake, I would have backed you up
20:55 sorear :)
20:56 PerlJam moritz: There are at least 3 people awake right now who would probably be okay with you shrugging off the universe and using a template system  :-)
20:57 moritz well, it would have been helpful to get such feedback not only in hindsight
21:05 kboga Is it in nqp possible to get multiple return values from a function? (besides taking the Q:PIR route)
21:06 * moritz isn't aware of a non-Q:PIR way, but that doesn't have to mean anything
21:08 kboga Hmm, I've tried eliminating the Q:PIR blocks in HLL/Grammar.pm but one was more resilient than the others :)
21:08 jnthn So, here's the line of CORE.setting that we now fail at:
21:08 jnthn (in altnfa)
21:09 jnthn has $.when = 'in Perl 6';
21:09 [Coke] altnfa?
21:09 jnthn [Coke]: Making alternations do LTM properly
21:09 jnthn The reason this fails is...interesting :)
21:11 jnthn Ah, and we're not doing what STD does in terms of longest prefix handling
21:13 jnthn Anyways, it turns out when is a terminator, and ends with <.end_keyword>, which matched the space after the when, and thus it was a longer prefix than the normal variable declaration rule.
21:13 libertyprime joined #perl6
21:17 dalek rakudo/altnfa: a9e6d32 | jonathan++ | src/Perl6/Grammar.pm:
21:17 dalek rakudo/altnfa: Tweak some special variables to terminate LTM where STD does. Avoids mis-parses.
21:17 dalek rakudo/altnfa: review: https://github.com/rakudo/rakudo/commit/a9e6d32bf3
21:18 jnthn Now we almost get up to 11,000ish.
21:18 sorear spectests?
21:20 jnthn sorear: Line in CORE.setting
21:20 jnthn sorear: I'm havin' to fix the grammar up (or sometimes the grammar engine :)) now I've enabled | doing LTM semantics.
21:20 libertyprime joined #perl6
21:21 jnthn sorear: Which a bunch of the time has been looking at STD for the rules we fail on and adopting STDisms. Which is quite reassuring...
21:22 libertyprime joined #perl6
21:25 dalek rakudo/altnfa: bdfffc6 | jonathan++ | src/Perl6/Grammar.pm:
21:25 dalek rakudo/altnfa: Couple of term re-orderings since we're just getting off with the declaration order tie-break for the moment and...we now complete the build.
21:25 dalek rakudo/altnfa: review: https://github.com/rakudo/rakudo/commit/bdfffc6c6c
21:26 tadzik yay!
21:27 jnthn bah
21:27 jnthn But every spectest fails
21:27 jnthn ===SORRY!===
21:27 jnthn Could not find v6 in any of: ...
21:28 jnthn oh, token version is full of "oh noes LTM violation" hacks...
21:36 dalek rakudo/altnfa: f6dceba | jonathan++ | src/Perl6/Grammar.pm:
21:36 dalek rakudo/altnfa: Fix token version so it wins in 'use v6'.
21:36 dalek rakudo/altnfa: review: https://github.com/rakudo/rakudo/commit/f6dcebac6e
21:40 jnthn Gee, my laptop runs the spectests slow... No regressions anywhere in S02 though.
21:41 tadzik yeah, *your* laptop runs spectests slow... ;)
21:45 jnthn My laptop managed to BSOD twice within a presentation a few weeks back. It'd never done so before, and it's never done so since. However, the presentation it did it in not only had a $boss present, but also $boss from $big-client.
21:45 jnthn So within an hour of the presentation I had a "so, we need to buy you a new latop" mail :)
21:46 tadzik :)
21:46 jnthn Didn't take them up on it yet, though.
21:47 jnthn Hm. S05 is the first place some regressions show up. 3 tests files have issues.
22:02 jnthn WOW.
22:03 jnthn Those 3 S05 test files with regressions, along with 1 file in S32 (which may actually be due to missing changes) are the only regressions I have
22:03 jnthn Disclaimer: non-ICU build.
22:03 sorear Does buying new laptops actually make BSODs less frequent?
22:04 jnthn sorear: Highly unlikely. But shhh :P
22:07 jnthn oh, all three S05 regressions have the same underlying cause and it looks dead easy to fix...
22:07 jnthn grrr...it was meant to look tricky to fix so I'd go to bed like I should...
22:08 geekosaur sorear, only, I suspect, because it means a clean install and most BSODs seem to come from leftover garbage in the registry
22:11 sorear geekosaur: I wonder how that causation works...
22:12 tyatpi joined #perl6
22:21 spider-mario <jnthn> My laptop managed to BSOD twice within a presentation a few weeks back. It'd never done so before, and it's never done so since. However, the presentation it did it in not only had a $boss present, but also $boss from $big-client.
22:21 spider-mario well, the more people there are watching you use your computer, the worse it will behave
22:21 spider-mario maybe computers are shy
22:23 mikemol joined #perl6
22:24 libertyprime joined #perl6
22:24 dalek nqp/altnfa: 8cdbe8f | jonathan++ | src/QRegex/NFA.nqp:
22:24 dalek nqp/altnfa: Be careful not to call .nqpattr on things that doesn't support it. Fixes the three S05 regressions in altnfa in Rakudo.
22:24 dalek nqp/altnfa: review: https://github.com/perl6/nqp/commit/8cdbe8fb65
22:25 jnthn moritz, tadzik, pmichaud: Testing of altnfa branches (need the NQP and Rakudo one) is very welcome. Particularly if you have ICU. A run of the-cheese-I-forgot-how-to-spell would also be interesting. :)
22:25 jnthn Sleep time, night o/
22:29 libertyprime joined #perl6
22:34 geekosaur one of the ways it works is that, the larger a given hive is, the longer it will be locked while programs query or modify it... but drivers also store their configuration in the registry, and if a hive is locked when a driver needs it Bad Things happen.  (drivers should probably not be written such that they get into this situation, but not all driver authors seem to understand that)
22:35 geekosaur at one point microsoft started vetting drivers before permitting them, but that was just too big a job for any one company, even Microsoft
22:38 sergot good night o/
22:43 libertyprime joined #perl6
22:47 libertyprime joined #perl6
22:51 flussence that's a great explanation (and absolutely horrible)
22:51 libertyprime joined #perl6
22:59 [Coke] jnthn++
22:59 geekosaur and that's just one of the thimgs that comes up.  some things don't lock when they should, some have race conditions, some have time constraints, there are a lot of crappy coders in the world, and the registry code actually tries to work around all of this but as a hive gets bigger it gets harder and harder to compensate for lousy code
23:00 geekosaur and many programs don't clean up after themselves, so the hives grow more than they need to
23:01 TimToady .o(why does this remind me of all the dotfiles in my hope directory...)
23:01 geekosaur (and then there are the programs that store their state in the wrong hive; a lot of stuff ends up in a system registry hive and thereby potential access conflict with drivers etc. when it really doesn't belong there.  microsoft has tried to make this more difficult but had to relax it for backward compatibility with backward programs...)
23:02 geekosaur indeed
23:02 geekosaur win7 has been microsoft's best chance to date to say "screw it, we're breaking your crap programs so they stop breaking our OS"
23:06 geekosaur TimToady, with one difference:  imagine that, for some reason, Unix had to leave /etc world writable in the same way.  individual files are secure, but any program can drop files in, including in subdirectories intended for exclusive use by system services
23:08 geekosaur and Microsoft has been trying to change this for years (decades even) but keeps having to open things back up because some badly behaved program is perceived as being so important that ti must be allowed to work, no matter that it screws with things it has no business touching
23:10 * geekosaur wonders how much of the big UI changes in win8 are intended to be a psychological "things change.  NOW." aimed at the crap programmers who keep doing things they oughtn't
23:25 kurahaupo left #perl6
23:25 itz joined #perl6
23:26 kboga joined #perl6
23:26 whiteknight joined #perl6
23:27 sporous joined #perl6
23:33 kboga phenny: tell jnthn The altnfa test output you requested (nqp test & rakudo spectest) with ICU: https://gist.github.com/2885393
23:33 phenny kboga: I'll pass that on when jnthn is around.
23:43 aloha joined #perl6
23:52 libertyprime joined #perl6

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

Perl 6 | Reference Documentation | Rakudo