»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:01 replore joined 00:05 thilp joined 00:09 thilp left 00:11 replore left, ingy joined 00:13 k0ala joined 00:14 k0ala left 00:16 wknight8111 left 00:24 xinming left 00:26 fgomez left 00:27 adu left 00:30 isBEKaml left 00:31 xinming joined 00:54 tyatpi joined 01:02 ingy left 01:06 scott_ joined, scott_ is now known as Guest360 01:12 [particle]1 joined, fgomez joined 01:13 alvis left 01:15 [particle] left 01:16 lorn_ left 01:17 Chillance left 02:21 DreamingInCode left 02:22 fgomez left, tokuhiro_ joined 02:30 fgomez joined 02:31 jaldhar joined
dalek kudo/map2: ecdcc40 | pmichaud++ | src/ (2 files):
Refactor firing of FIRST phasers a bit. There may be a problem

an already-in-progress iterator or other source (problem exists in the code being replaced as well).
02:38
02:38 jaldhar left 02:40 jaldhar joined 02:53 tokuhiro_ left, leprevost joined 03:01 crab2313 joined 03:03 scott_ joined, benabik_ joined 03:04 scott_ is now known as Guest85960 03:05 sftp_ joined, benabik left, sftp left, benabik_ is now known as benabik, flussence joined, Guest360 left 03:06 risou joined, ocharles joined 03:08 _ilbot joined 03:09 Facefox left 03:12 libertyprime left, libertyprime joined 03:14 Facefox joined 03:32 thou left 03:36 jaldhar left 03:37 jaldhar joined 03:39 crab2313 left 03:46 leprevost left 04:46 corburn left 05:06 replore joined 05:09 b1rkh0ff left
diakopter .u 171 05:13
phenny diakopter: Sorry, no results for '171'.
diakopter .u \d171
phenny U+100B3 LINEAR B IDEOGRAM B171 (𐂳)
U+2A171 CJK UNIFIED IDEOGRAPH-2A171 (𪅱)
U+E019A VARIATION SELECTOR-171 (󠆚)
diakopter eh
.u \da
phenny U+0020 SPACE ( )
U+0021 EXCLAMATION MARK (!)
U+0022 QUOTATION MARK (") [...] 05:14
05:23 b1rkh0ff joined
diakopter phenny: phooey 05:31
moritz \o 05:35
diakopter good morning
moritz ywans
good localtime diakopter
sorear o/ 05:37
05:37 adu joined 05:40 drbean left
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
diakopter scratches his head 05:41
n: my @a = 4; say @a.DUMP
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/…
moritz diakopter: it's just for debugging rakudo's lists and iterators 05:45
05:45 drbean left 05:46 drbean joined
diakopter rn: say \\.gist; say \.gist 05:46
p6eval rakudo 559c40: OUTPUT«Any()␤Any()␤»
..niecza v18-2-gea3d97a: OUTPUT«\(\("Any()"))␤\("Any()")␤»
diakopter rakudo's capture .gist is empty it seems 05:48
05:48 alvis joined
diakopter r: say \().gist; say \().DUMP 05:49
p6eval rakudo 559c40: OUTPUT«␤Capture.new( list => ().list, hash => EnumMap.new())␤»
05:57 kaleem joined 06:02 shachaf left 06:06 mucker joined 06:12 cognominal___ joined 06:13 wtw joined, wtw left, wtw joined 06:15 shachaf joined 06:16 cognominal_ left 06:17 geekosaur joined 06:26 pyrimidine left, adu left 06:27 adu joined 06:28 sunnavy joined 06:30 sunnavy left, sunnavy joined 07:02 replore left 07:06 cj left, brrt joined 07:07 cj joined 07:12 stephenlb left
moritz std: enum X is export <A B C>; 07:47
p6eval std f179a1b: OUTPUT«ok 00:00 40m␤»
moritz std: enum X <A B C> is export; 07:48
p6eval std f179a1b: OUTPUT«===SORRY!===␤Two terms in a row at /tmp/Fp1DMnNHjw line 1:␤------> enum X <A B C> ⏏is export;␤ expecting any of:␤ infix or meta-infix␤ infixed function␤ statement modifier loop␤Parse failed␤FAILED 00:00 42m␤»
dalek ast: 1a247e8 | moritz++ | S (2 files):
fix enum export test, and fudge a new test for rakudo
07:49
07:59 fhelmberger joined
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…
..rakudo 559c40: OUTPUT«True␤»
moritz nieczabug?
08:19 crab2313 joined 08:21 kurahaupo left 08:26 dakkar joined 08:30 adu left, adu joined, adu left 08:38 birdwindupbird joined 08:40 kurahaupo joined 08:56 bruges left 08:57 bruges joined 08:59 crab2313 left 09:11 fgomez left
dalek kudo/nil-assign: f2145d4 | moritz++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
set up Nil in bootstrap
09:23
kudo/nil-assign: 7486672 | moritz++ | src/ (3 files):
propagate Nil to C land
kudo/nil-assign: 066916c | moritz++ | src/ (2 files):
oops, Nil needs to be Iterable
kudo/nil-assign: 9103333 | moritz++ | src/binder/container.c:
special-case assigning Nil
moritz somehow this breaks the backtrace printer 09:26
09:26 b1rkh0ff left 09:29 birdwind1pbird joined
jnthn morning-ish o/ 09:30
moritz \o jnthn
jnthn How does it break it, ooc? 09:31
moritz method message not found on Any
it seems we return Any a bit too often from the setting 09:32
jnthn Maybe there's something like: my $foo = bar(); return $foo 09:35
And now a Nil that was getting passed along is evaporating. 09:36
moritz yes, I suspect something like that too
List.at_pos returns Nil when the key does not exist 09:37
09:40 birdwindupbird left
moritz r: my $x ||= Mu 10:04
p6eval rakudo 559c40: ( no output )
moritz r: my $x = 3; $x &&= Mu
p6eval rakudo 559c40: ( no output )
moritz oh 10:06
in my branch, my $x = Nil produces a Mu in $x 10:07
not Any
jnthn ->of is the type constraint.
moritz yes
how do I get the default type instead? 10:08
does that go through whence? 10:09
10:11 Guest85960 left
jnthn hm. I'm not sure we even store it...besides setting it as the initial value of the scalar. 10:12
moritz oh.
so much for the LFH part :-)
(Nil assignment is still in LHF.markdown) 10:13
jnthn Oh. :)
I guess that the default wants to live on the container desctiptor.
*descriptor
dalek kudo/nil-assign: 71a5632 | moritz++ | src/core/metaops.pm:
//= and friends should be able to handle Mu
10:14
moritz fwiw that makes most of the spectests pass again
10:15 fgomez joined 10:20 fgomez left
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:23
all of them exit prematurely 10:24
10:34 cognominal___ is now known as cognominal
dalek p/altnfa: 2dc71bc | jnthn++ | src/QRegex/NFA.nqp:
Don't screw up <!alpha>.
10:47
p/altnfa: 0920483 | jnthn++ | src/QRegex/NFA.nqp:
Fix before handling in NFA generation.
11:04 brrt left 11:12 ab5tract joined 11:28 JimmyZ_ joined
dalek p/altnfa: 80306ff | jnthn++ | src/QRegex/P6Regex/Actions.nqp:
Fix handling of complex char classes; gets bigint test file to pass on altnfa.
11:58
p/altnfa: fd66f4f | jnthn++ | src/QRegex/P6Regex/Actions.nqp:
Ensure alt_nfa IDs are sufficiently unique.
p/altnfa: 5f35dc9 | jnthn++ | src/QRegex/NFA.nqp:
Ensure zerowidth subrules really do terminate LTM.
moritz phenny: de en "alt"?
phenny moritz: "old" (de to en, translate.google.com)
moritz shouldn't you be writing a *new* NFA? :-) 11:59
jnthn :P
We now get to around line 3000 of CORE.setting parse again :)
moritz so about 1/4th through 12:00
jnthn Yeah
Well, before my commits last night, we made it to about line 20. And before today only to line 42. So, improvement... :)
hmm, maybe it was 72 actually 12:01
moritz aye :-)
quite some progress
jnthn: I have a static sub (get_thrower) in src/ops/perl6.ops, and want to reuse it in the binder 12:02
jnthn: where should I put it?
I want to throw more typed exceptions from C 12:05
12:06 daxim joined
JimmyZ_ moritz++, it's easy to do i10n 12:08
12:08 jaldhar left
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
12:09 jaldhar joined
jnthn And be sure to #include the exceptions.h in bind.c and the ops 12:09
12:10 tyatpi left 12:13 brrt joined
moritz tries if it still compiles 12:15
jnthn Making it to 6000ish now. 12:20
12:20 bluescreen10 joined
moritz \o/ 12:21
double it once more, and you're there :-)
12:24 crab2313 joined
jnthn std: method foo() { self!_foo() } 12:27
p6eval std f179a1b: OUTPUT«Potential difficulties:␤ 'method' declaration outside of class at /tmp/2KX6dZ962a line 1:␤------> method foo() ⏏{ self!_foo() }␤ok 00:00 41m␤»
pmichaud good morning, #perl6 12:31
jnthn o/ pmichaud
moritz good am, pm
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
12:32 tyatpi joined
pmichaud ...and I guess NEXT, too? 12:32
jnthn pmichaud: As in, declaration order vs reverse order? 12:33
pmichaud as in... 12:34
FIRST blocks are executed after PRE blocks, but NEXT/LAST blocks are executed before/after POST blocks
currently we have NEXT/LAST executed after POST
12:34 thou joined
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...
jnthn waves hands
pmichaud or at least to keep it symmetric
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:36
12:37 thou left
pmichaud anyway, I was just curious; I'll leave things as they are for now :) 12:37
jnthn How would that work?
moritz it would be helpful to have use cases
jnthn You'd not have captured the lexical scope.
pmichaud I don't know... I just know there's an assymmetry there :)
jnthn *nod*
pmichaud *asymmetry
12:38 thou joined
dalek p/altnfa: 631269d | jnthn++ | src/QRegex/NFA.nqp:
Reflect that <alpha> also matches _ in the NFA we generate for it.
12:47
kudo/altnfa: 539cf11 | jnthn++ | src/Perl6/Grammar.pm:
Move term:sym<type_declarator> higher up.
12:51 mucker left, thou left
jnthn Way past line 8000 now 12:53
Gotta go to Stockholm.
back this evening.
moritz have fun!
pmichaud picking up your Nobel Prize already? Seems a bit premature. :-)
jnthn :P
Nah, just to teach TDD :)
12:54 Chillance joined
moritz I'm almost done getting a typed exception for assignment type check failure 12:54
now I just need to eliminate all the typos :-) 12:55
(which each takes the full 4 minute recompilation cycle)
12:56 PacoAir joined
pmichaud ...where is the &warn handler defined? 12:59
(not the part that throws warnings, the part that catches and displays them)
it's interacting badly with my new list code
moritz probably in Exception.pm 13:00
handle_control or so 13:01
13:02 fgomez joined
pmichaud print_control, maybe? 13:02
moritz sounds like it, yes 13:03
13:06 [particle]1 is now known as [particle] 13:08 Psyche^ joined
pmichaud $err.print: Backtrace.new($ex.backtrace, 0).nice(:oneline); 13:08
...what, exactly, is that line doing? 13:09
(Exception.pm, line 157)
moritz it tries to extract the one best line to report as a calling location of the warning 13:10
pmichaud we're passing a Backtrace to Backtrace.new, though? 13:11
moritz well
$ex.backtrace is the RPA that is parrot's idea of a backtrace
13:11 Patterner left, Psyche^ is now known as Patterner
moritz an RPA of hashes, iirc 13:11
and from that we create a Perl 6 Backtrace object 13:12
pmichaud method backtrace() { Backtrace.new(self) }
am I looking in the wrong place?
moritz yes
$ex is a parrot exception
pmichaud ah
moritz (feel free to rename the variable if that makes it less confusing for you)
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 :-)
pmichaud okay, I'm guessing the problem I'm having is somehow related to
my class Backtrace is List {
didn't know we had other subclasses of List :)
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 left, mtk joined
pmichaud --ll-exception helps 13:18
moritz though iirc Backtrace doesn't fiddle with List's internals
13:18 mucker joined
moritz or maybe it does for construction 13:18
pmichaud it might be related to its use of next/last in the constructor 13:19
the problem I'm having is definitely occuring in the constructor
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 ....
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
pmichaud the exception I'm getting is from Parrot: 13:21
Multiple Dispatch: No suitable candidate found for 'is_equal', with signature 'PP->I'
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
pmichaud ...wish I could find out which one :-)
moritz well, coercion of arguments to comparison op missing
pmichaud (yes, I can... looking at generated source now.) 13:23
called from Sub 'reify' pc 462202 (src/gen/CORE.setting.pir:182144) (src/gen/CORE.setting:5028)
.... it would really help if there was a faster way to determine _which_ Sub 'reify' that is. :-/ 13:24
oh, I guess CORE.setting.5028 tells me 13:25
13:25 fgomez left
moritz which reminds me that p6 level backtraces don't include the package name either 13:25
though iirc I put all the necessary infrastructure in place 13:26
pmichaud aha!
found it
type = getattribute exception, 'payload' 13:27
copy-paste error... 'payload' should be 'type' there.
moritz is that from control_print? 13:28
pmichaud no, it's in my new MapIter code.
It's the exception handler for last/next/redo exceptions.
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 :)
(in this branch) 13:30
dalek kudo/nom: 531b9d8 | moritz++ | / (4 files):
move C infrastructure for typed exception to a separate file

I want to reuse it later in the binder
kudo/nom: ffdcdf9 | moritz++ | src/ (2 files):
typed exception for assignment type check failure
[Coke] jnthn: are you on 32bit or 64bit windows? 13:33
13:47 cognominal_ joined, cognominal left, kaleem left 13:49 cognominal_ left, cognominal joined
dalek ast: 6625f6f | moritz++ | S32-exceptions/misc.t:
test X::TypeCheck::Assignment
13:50
13:50 drbean left 13:51 mikemol joined, drbean joined 14:03 adu joined 14:05 mucker left 14:11 drbean left 14:12 fgomez joined, drbean joined
[Coke] sorear, colomon: I need c# help - does this github.com/ServiceStack/ServiceStack.Redis look like a library or an app? the docs are unclear, and I am confused. 14:14
14:15 adu left 14:16 gorman joined 14:17 adu joined
gorman Hi, anyone have any good open source repos for perl? I want to read some perl 14:17
daxim modules.perl6.org/
if you're looking for perl5, join #perl-help on irc.perl.org 14:18
gorman ah, that's a great link, thanks :D 14:19
14:19 PacoAir left 14:20 drbean left
moritz rosettacode also has quite some nice Perl 6 code 14:20
I'm pretty sure there's a link to it from perl6.org or perl6.org/community/
daxim rosettacode.org/wiki/Category:Perl_6 14:21
14:21 drbean joined 14:24 PacoAir joined, PacoAir left 14:26 lorn joined 14:31 fgomez left
dalek kudo/nom: b2fa325 | moritz++ | src/core/Exception.pm:
small exception tweak
14:43
14:54 leprevost joined 14:55 kaare_ joined
colomon [Coke]: looks like a library to me, at a quick glance 15:02
15:12 spider-mario joined 15:13 wtw left 15:21 tonginbox joined
tonginbox help 15:21
moritz hello tonginbox. What do you need help with?
tonginbox i am new in here, just want to learn perl6 what should i start 15:23
moritz tonginbox: perl6.org/ has many pointers to resources
TimToady which one works best depends on what kind of learner you are 15:24
and your background
tonginbox good question, TimToady
TimToady what languages are you familiar with
?
tonginbox i am experienced dev on java and c#
diakopter have you used C# 4.0 dynamic? 15:26
(just curious)
tonginbox no i just use c# and .net mvc for web dev.
TimToady we have an implementation on .net, as it happens 15:27
15:27 crab2313 left
TimToady I don't think we have any tutorial specially tailored for people coming from an OO background yet 15:28
tonginbox ok
TimToady there's the book moritz et al. are working on
moritz though "Using Perl 6" might still suit you
tonginbox ok 15:29
TimToady there are the specs, which are pretty ferocious, but some people like reading 'em
there are lots of ways to learn by example, such as rosettacode.org
15:29 majrmovies joined
TimToady or by looking at existing modules 15:29
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
dalek kudo/nom: 8c91e19 | moritz++ | src/Perl6/Actions.pm:
also forbid nqp:: with "use FORBID_PIR"
TimToady I guess those folks are too busy making a living :)
tonginbox rosettacode is the good one i will explore there first to get farmilier with perl6
shall i use perl6 on linux? can you suggest? 15:31
now i'm on win.
TimToady you can use either niecza or rakudo on either linux or windows
tonginbox and i don't mind use linux coz has some exp on ubuntu and archlinux
moritz well, most of us are using it on linux, so there the experience is usually a bit smoother
TimToady niecza runs on mono, so you'd have some familiarity with the .netty bits 15:32
15:32 fgomez joined
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:32
TimToady well, jnthn develops rakudo on windows, but sorear develops niecza on linux (I think) 15:33
I personally like linux better than windows, but maybe that's just me :)
diakopter I like Windows because it has my favorite text editor 15:35
15:36 shinobicl joined
diakopter come to think of it, that's by far the biggest reason 15:36
jnthn uses the same one
TimToady another consideration is which timezone you live in 15:37
diakopter tonginbox: there are a few Perl 6 implementations you can try out.
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
perl6: say "hi"
p6eval rakudo b2fa32, niecza v18-2-gea3d97a, pugs: OUTPUT«hi␤»
TimToady there're three right there
moritz of which only rakudo and niecza are being actively developed 15:39
TimToady pugs is being inactively developed :)
15:40 gorman left
pmichaud (aside) at some point soon we might want a different phrase besides "actively developed" :-) 15:40
something that indicates movement beyond initial development
TimToady actively convergent :) 15:41
diakopter perlito is active, but pretty behind
TimToady and it's not clear yet whether it will be convergent
pmichaud looking at perl6.org/getting-started/, it might be useful to update that page with some of the items mentioned above 15:42
i.e., rosetta code isn't mentioned on the getting-started page 15:43
15:43 tonginbox left
pmichaud that page looks like it could use a bit of an update/refactor, imho 15:44
15:44 kurahaupo left
TimToady hmm, I was wrong about C# and Java, they both have about as many entries as Perl 6 does on RC 15:45
so that will be useful for comparison to tonginbox, I hope 15:46
15:58 JimmyZ_ left 16:00 kurahaupo joined 16:07 brrt left 16:11 kaleem joined 16:12 mucker joined 16:16 thelazydeveloper joined 16:32 kaleem_ joined 16:33 araujo left 16:34 kaleem left 16:36 kaleem_ left 16:39 fglock joined
fglock o/ 16:39
16:51 araujo joined 16:53 ab5tract left, PacoAir joined 16:54 japhb left 16:59 GlitchMr joined, tyatpi left 17:00 dakkar left 17:09 araujo left 17:12 tyatpi joined
sorear good * #perl6 17:14
fglock sorear: o/ 17:19
17:20 araujo joined, araujo left, araujo joined 17:23 leprevost left, araujo left, stepnem left 17:26 birdwind1pbird left 17:30 araujo joined, araujo left, araujo joined 17:35 jaldhar left, _jaldhar joined, sergot joined
sergot hi o/ 17:35
tadzik hello sergot 17:36
17:40 japhb joined 17:42 fhelmberger left 17:47 stepnem joined
sorear o/ 17:48
17:58 stepnem left
[Coke] colomon++ #danke 18:02
18:03 stepnem joined
sjohnson sorear: hi 18:14
tadzik: *fat face emoticon*
sorear hello sjohnson. 18:15
[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:19
18:20 majrmovies is now known as majrmovies_, majrmovies_ is now known as _majrmovies 18:21 _jaldhar left
moritz [Coke]: sounds good 18:25
18:31 tyatpi left
tadzik ( ° ー°)<( Hello sjohnson! )> 18:34
sjohnson heheh 18:36
sorear [Coke]: isn't that illegal? 18:37
18:42 daxim left 18:43 tyatpi joined 18:45 cognominal_ joined 18:48 cognominal left 18:50 mucker left
moritz erm, what should be illegal? 18:50
TimToady candies are generally considered okay to bring in
and I'd say this is more like candy than like fruit 18:51
moritz fresh fruit might be problematic
TimToady generally most "processed" things are okay if they're in their package
but probably not meats 18:52
18:52 mucker joined
TimToady someone might steal your sausage and feed it to a cow! 18:52
which might make them mad, and we want happy cows
sjohnson wants to eat a cheeseburger now 18:56
19:02 mucker left 19:03 ingy joined 19:06 aindilis left 19:13 birdwindupbird joined 19:18 aindilis joined
moritz r: 1 = 2 19:33
p6eval rakudo 8c91e1: OUTPUT«===SORRY!===␤Method 'lvalue' not found for invocant of class 'Integer'␤»
moritz submits rakudobug
r: 1e0 = 2 19:34
p6eval rakudo 8c91e1: OUTPUT«===SORRY!===␤Method 'lvalue' not found for invocant of class 'Float'␤»
moritz r: 1.0 = 2
p6eval rakudo 8c91e1: OUTPUT«Cannot assign to a non-container␤ in block <anon> at /tmp/4FS7Qw_leC:1␤␤»
GlitchMr r: '1.0' = 2 19:36
p6eval rakudo 8c91e1: OUTPUT«===SORRY!===␤Method 'lvalue' not found for invocant of class 'String'␤»
GlitchMr r: ['1.0'] = 2 19:37
p6eval rakudo 8c91e1: ( no output )
GlitchMr ... what?
n: ['1.0'] = 2
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…
moritz [] returns an Array; I guess rakudo just calls its STORE method or so 19:38
GlitchMr r: < 1.0 2.0 > = 2
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␤␤»
GlitchMr r: < 1.0 2.0 >.WHAT 19:39
p6eval rakudo 8c91e1: ( no output )
GlitchMr r: print < 1.0 2.0 >.WHAT
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 19:48 fglock left, mikemol left 19:49 shinobicl left
dalek kudo/nom: e75a0ae | moritz++ | src/ (2 files):
typed exception for assignment to non-container
19:51
ast: 61b24d9 | moritz++ | S32-exceptions/misc.t:
test X::Assignment::RO, and add tests for RT #113534
ast: 343c92a | moritz++ | fudge:
[fudge] make it recognize throws_like
19:56 brrt joined 19:59 kboga joined
dalek ast: 7d80d8b | moritz++ | S02-types/subset.t:
test RT #113434, subset type conformance
20:01
jnthn evenin' 20:02
[Coke] sorear: illegal or not, it's DELICIOUS. NOMNOMNOM 20:03
moritz \o jnthn. How was teaching?
kboga hi #perl6 20:04
jnthn moritz: It wasn't today :)
moritz: Today I was just traveling up to Stockholm
Teaching is tomorrow and Fri
Thus why I had some tuits for LTM stuff earlier ;) 20:05
moritz jnthn: oh, ok
hi kboga
hacking rakudo's C in limited ways is not as scary as I initially thought 20:06
jnthn It ain't bad, once you C what to do :) 20:07
moritz slaps jnthn with a large saucepun 20:08
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)␤»
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)␤»
jnthn woo :)
What else could operation be?
moritz it's inherited from X::TypeCheck
could be binding, return value, assignment right now
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
the first is "catch me only assignment type check failures" 20:13
for that the subclass is easier
the second is "catch any type check failure, and tell me what it is that failed"
for that the attribute is easier
tadzik good evening
moritz that said I'm not fixed on that particular design
\o tadzik
tadzik moritz: o/
jnthn moritz: Fair point. 20:14
hi tadzik
moritz tomorrow is a holliday, and I have Friday off too
kboga hi moritz, jnthn, tadzik
tadzik same here
time for university projects! \o/
spider-mario now it seems that rakudo segfaults on exit when I trigger an assignment-to-non-container exception 20:18
> my $foo = 'foo'; $foo R~= 'foo';
Cannot assign to a non-container
> ^D
zsh: segmentation fault perl6
20:19 GlitchMr left
moritz here I get 20:23
Null PMC access in get_pmc_keyed()
(with a different trigger for the same bug) 20:24
20:24 adu left
moritz ah, I can reproduce the segfault too 20:25
[Coke] moritz: hey, question for you onthe grant. 20:32
hooks for localization? 20:33
moritz [Coke]: I had mixing roles with the translated messages in the back of my mind 20:37
*mixing in
[Coke]: but I haven't really experimented with it yet
jnthn That seems workable...plus you could do it as an extra layer of setting. 20:38
moritz jnthn: oh, that's actually a better idea 20:39
or instead of mixins, one could augment the classes (not pretty, I know) and add method message-sv() { ... }; message-de() { ... } 20:41
and have the backtrace printer picke the message-$lang if available, and fall back to message()
$ ./perl6 --setting=DE -e 'sub f() { $^x }' 20:46
===SORRY!===
Platzhaltervariablen können keine bestehenden Signaturen überschreiben
at -e:1
tadzik oooo
PerlJam moritz: what about X::Whatever delegate to DE::X::Whatever or EN::X::Whatever ? 20:47
(if it exists)
moritz PerlJam: that way every exception type would need to be aware of l10n
PerlJam: but if we load an alternate setting, or modify the backtrace printer, we don't need that 20:48
PerlJam ok
sorear wouldn't it make a lot more sense to use something similar to gettext? 20:49
moritz sorear: IMHO yes
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
Tene search.cpan.org/~toddr/Locale-Maket.../TPJ13.pod is a nice article with recommendations on localization libraries.
spider-mario moritz : if I had participated to the vote, you wouldn’t have been *universally* shot down 20:51
20:51 _majrmovies left
moritz sorear: gist.github.com/2884688 20:52
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
spider-mario templates are more easily translated 20:54
moritz PerlJam: which is tied to the question whether something is data or code
PerlJam Easier to do in datafiles than in code IMHO
moritz aye
sorear moritz: You should have done it while I was awake, I would have backed you up
:) 20:55
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:56
moritz well, it would have been helpful to get such feedback not only in hindsight 20:57
kboga Is it in nqp possible to get multiple return values from a function? (besides taking the Q:PIR route) 21:05
21:06 kaare_ left
moritz isn't aware of a non-Q:PIR way, but that doesn't have to mean anything 21:06
21:07 mikemol_ left, alvis left
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:
(in altnfa)
has $.when = 'in Perl 6'; 21:09
[Coke] altnfa?
jnthn [Coke]: Making alternations do LTM properly
The reason this fails is...interesting :)
Ah, and we're not doing what STD does in terms of longest prefix handling 21:11
21:13 libertyprime left
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
21:13 libertyprime joined 21:16 brrt left
dalek kudo/altnfa: a9e6d32 | jonathan++ | src/Perl6/Grammar.pm:
Tweak some special variables to terminate LTM where STD does. Avoids mis-parses.
21:17
jnthn Now we almost get up to 11,000ish. 21:18
sorear spectests?
21:19 libertyprime left
jnthn sorear: Line in CORE.setting 21:20
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
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:21
21:21 libertyprime left 21:22 libertyprime joined
dalek kudo/altnfa: bdfffc6 | jonathan++ | src/Perl6/Grammar.pm:
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
tadzik yay! 21:26
jnthn bah 21:27
But every spectest fails
===SORRY!===
Could not find v6 in any of: ...
21:28 birdwindupbird left
jnthn oh, token version is full of "oh noes LTM violation" hacks... 21:28
dalek kudo/altnfa: f6dceba | jonathan++ | src/Perl6/Grammar.pm:
Fix token version so it wins in 'use v6'.
21:36
21:40 s1n left
jnthn Gee, my laptop runs the spectests slow... No regressions anywhere in S02 though. 21:40
tadzik yeah, *your* laptop runs spectests slow... ;) 21:41
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
So within an hour of the presentation I had a "so, we need to buy you a new latop" mail :)
tadzik :) 21:46
jnthn Didn't take them up on it yet, though.
Hm. S05 is the first place some regressions show up. 3 tests files have issues. 21:47
WOW. 22:02
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
Disclaimer: non-ICU build.
sorear Does buying new laptops actually make BSODs less frequent?
jnthn sorear: Highly unlikely. But shhh :P 22:04
oh, all three S05 regressions have the same underlying cause and it looks dead easy to fix... 22:07
grrr...it was meant to look tricky to fix so I'd go to bed like I should...
geekosaur sorear, only, I suspect, because it means a clean install and most BSODs seem to come from leftover garbage in the registry 22:08
22:11 tyatpi left
sorear geekosaur: I wonder how that causation works... 22:11
22:12 tyatpi joined
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
well, the more people there are watching you use your computer, the worse it will behave
22:21 alester left
spider-mario maybe computers are shy 22:21
22:23 libertyprime left, mikemol joined 22:24 libertyprime joined
dalek p/altnfa: 8cdbe8f | jonathan++ | src/QRegex/NFA.nqp:
Be careful not to call .nqpattr on things that doesn't support it. Fixes the three S05 regressions in altnfa in Rakudo.
22:24
22:25 libertyprime left
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
Sleep time, night o/
22:28 bluescreen10 left, benabik left 22:29 spider-mario left, libertyprime joined
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:34
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:35
sergot good night o/ 22:38
22:38 sergot left 22:42 libertyprime left 22:43 libertyprime joined 22:46 libertyprime left 22:47 libertyprime joined 22:51 libertyprime left
flussence that's a great explanation (and absolutely horrible) 22:51
22:51 libertyprime joined
[Coke] jnthn++ 22:59
22:59 PacoAir left
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 22:59
and many programs don't clean up after themselves, so the hives grow more than they need to 23:00
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
indeed
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"
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:06
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:08
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:10
23:11 thelazydeveloper left 23:16 kboga left 23:25 kurahaupo left, itz joined 23:26 kboga joined, sporous left, whiteknight joined 23:27 sporous joined, whiteknight is now known as Guest35719
kboga phenny: tell jnthn The altnfa test output you requested (nqp test & rakudo spectest) with ICU: gist.github.com/2885393 23:33
phenny kboga: I'll pass that on when jnthn is around.
23:43 aloha joined 23:49 timotimo is now known as timonator 23:52 libertyprime left, libertyprime joined 23:55 Chillance left