»ö« 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! | tinyurl.com/p6contest
Set by moritz_ on 28 December 2010.
sorear sadly there's no perltidy6 yet, I think 00:15
sorear pmurias: sadly there's no perltidy6 yet, I think 00:36
buubot: eval: defined 1 && 0
buubot sorear: 0
sorear perl6: say (defined 1 && 0)
p6eval niecza v1-86-g4365d61: OUTPUT«Bool::True␤»
..pugs, rakudo 244d0f: OUTPUT«0␤»
l0rd_hex weird, I can't talk in #perl 00:44
coldhead that's a legacy channel now 00:50
sorear l0rd_hex: your computer is on the #perl ban list 00:53
l0rd_hex I only insulted them twice! 00:54
sorear insults are an inappropriate use of facilities 00:55
l0rd_hex I'm kidding, I don't think I've ever been in that channel before 00:56
sorear talk to apeiron; if you're not the same person he banned, you should have no trouble convincing him 00:57
l0rd_hex alright, thanks sorear 00:58
l0rd_hex sorear: privmsg him? 01:00
sorear yes 01:10
TimToady: Why does .ast default to .Str and not Any? 01:14
TimToady the point of a default is to have something, not nothing 01:20
sorear I guess 01:24
sometimes I like to set a default in the user
like there are a whole bunch of mod_internal action methods in Niecza 01:25
lue how can I get multiples of ten with the sequence operator?
sorear most of them need to be treated as <?> at runtime
0, 10 ...
maybe need , 20
colomon rakudo: (0, 10 ... 100).perl.say 01:26
p6eval rakudo 244d0f: OUTPUT«(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100)␤»
lue ok. I was trying 10, { $_ * 10} ... 100 , overcomplicating things :)
colomon rakudo: (10, { $_ * 10 } ... 100).perl.say 01:27
p6eval rakudo 244d0f: OUTPUT«(10, 100)␤»
colomon ah, right
rakudo: (10, { $_ + 10 } ... 100).perl.say
p6eval rakudo 244d0f: OUTPUT«(10, 20, 30, 40, 50, 60, 70, 80, 90, 100)␤»
colomon rakudo: (10, * + 10 ... 100).perl.say
p6eval rakudo 244d0f: OUTPUT«(10, 20, 30, 40, 50, 60, 70, 80, 90, 100)␤»
dalek ecza: 0f4ca90 | sorear++ | v6/ (2 files):
[v6] Translate more of Niecza::Actions
sorear writes: make (($<mod_internal>.ast ~~ RxOp) ?? $<mod_internal>.ast !! ::RxOp::Sequence.new) 01:29
lue I made a braino then. That'd explain it! 01:31
afk # nom time! 01:32
cotto_work seen jnthn 02:03
aloha jnthn was last seen in #perl6 1 days 17 hours ago joining the channel.
colomon rakudo: given 10 { when 10 { say "Hello"; continue; }; say "Aha!"; }; 02:19
p6eval rakudo 244d0f: OUTPUT«Hello␤Could not find sub &continue␤ in main program body at line 22:/tmp/ypvCgHzx7P␤»
colomon rakudo: given 10 { when 10 { say "Hello"; resume; }; say "Aha!"; };
p6eval rakudo 244d0f: OUTPUT«Hello␤Could not find sub &resume␤ in main program body at line 22:/tmp/VELt5fRCrz␤»
colomon rakudo: given 10 { when 10 { say "Hello"; next; }; say "Aha!"; }; 02:21
p6eval rakudo 244d0f: OUTPUT«Hello␤ in '!control' at line 1␤»
colomon rakudo: given 10 { when 10 { say "Hello"; proceed; }; say "Aha!"; }; 02:23
p6eval rakudo 244d0f: OUTPUT«Hello␤Aha!␤»
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....kup_tablet 02:41
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet 02:46
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....kup_tablet 02:52
lichtkind rakudo: my %h = 2; say %h; 03:05
p6eval rakudo 244d0f: OUTPUT«Odd number of elements found where hash expected␤ in '!STORE' at line 5206:CORE.setting␤ in main program body at line 22:/tmp/M8_oKb0s0a␤» 03:06
lichtkind rakudo: my %h = 2,3; say %h;
p6eval rakudo 244d0f: OUTPUT«2 3␤»
dalek rixel: 9b6c989 | diakopter++ | / (10 files):
various fixes (including at least 1 off-by-one);

improve default return values
03:08
rixel: b6c7e89 | diakopter++ | / (6 files):
some grammar refactorings to better handle expression statements.
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet 03:14
dalek rixel: 1edf69e | diakopter++ | sprixel/Program.cs:
make command-line read filename's program also use the Functions.pl6 mini-"setting".
03:19
diakopter perlesque: my $t = Diagnostics::StopWatch.StartNew(); sub foo(){}; my int $i=1000000000; repeat {} while (--$i); say($t.Elapsed) 03:56
p6eval perlesque: OUTPUT«00:00:03.5780963␤»
diakopter that's around 280_000_000 iterations per second.. 03:57
diakopter wonders what mono's resulting x86 is
sorear: do you know how to make mono's JIT write its machine code to a file as well as to program memory? 03:58
diakopter I'll ask on #mono 03:59
dalek : 6979509 | sorear++ | misc/dalek-conf.json:
Remove parrot/pir from poll notification
05:24
sorear pmurias broke my recompilation checker :/ 05:39
diakopter :) 05:42
add it as a regression test
sorear diakopter: you can't use perl code to test the build system 05:43
I'm very tempted to revert all of pmurias' changes to the build system
sorear it was fragile to begin with, and it hasn't reached the mythical "better" point 05:44
sorear rebuilds the setting using the old, working driver 05:47
yay that fixed it 05:50
dalek ecza: 89cb178 | sorear++ | src/Metamodel.pm:
Break circular use Metamodel <-> CompilerDriver
06:43
ecza: 612b14c | sorear++ | v6/ (2 files):
[v6] More Niecza::Actions translation (to 30%)
ecza: f3a91f9 | sorear++ | PerlStub.pl:
Revert Niecza.proj to old interface

The new interface is causing subtle breakage in the recompilation checker; it's as if $!filename and $!modtime aren't getting set properly, or something. Also, the new interface breaks the test suite. I need to debug this later.
06:50
diakopter sorear: sweet; I got a CIL prog to cause .Net4 to abort: FatalExecutionEngineError was detected: The runtime has encountered a fatal error. The address of the error was at 0x67503a3a, on thread 0x880. The error code is 0xc0000005. This error may be a bug in the CLR or in the unsafe or non-verifiable portions of user code. Common sources of this bug include user marshaling errors for COM-interop or PInvoke, which may corrupt the stack. 07:11
but there's no unsafe, no non-verifiable, no user marshaling, no PInvoke :D 07:12
exitcode 65280 07:13
oh. it doesn't like me emitting IL that calls the "GetType" method on a built-in value type. apparently compilers are supposed to resolve that at compile time. 07:15
sorear diakopter: What IL are you using to do the call? 07:36
banned why rakudo.org ban my IP address ? and how to remove from its banned address list. 07:56
sorear How do you know you're banned? rakudo.org has been extremely unreliable for weeks, you're probably just unlucky. 07:57
banned I could access it with another IP which is in the class-C with my banned IP. 07:58
diakopter banned: what your banned class-C 08:40
szabgab rakudo: 'abc-def' ~~ m/(\w*)/; $z = $/[0] 08:43
p6eval rakudo 244d0f: OUTPUT«===SORRY!===␤Symbol '$z' not predeclared in <anonymous> (/tmp/DmUjOU89Gi:22)␤»
szabgab rakudo: 'abc-def' ~~ m/(\w*)/; my $z = $/[0] 08:43
p6eval rakudo 244d0f: ( no output ) 08:44
szabgab rakudo: "abc-def" ~~ m/(\w*)/; my $z = $/[0] 08:45
p6eval rakudo 244d0f: ( no output )
szabgab rakudo: "abc-def" ~~ m/(\w*)/; my $z = $/[0]; say $z
p6eval rakudo 244d0f: OUTPUT«abc␤»
diakopter sorear: hard to say :) all of sprixel.exe ? 08:47
sorear: it's more the attempting Saving of the assembly that does it, I think 08:52
the assembly that sprixel.exe generates, I mean
sorear: oh btw, I got compact arrays going
literal ones too
sorear neat 08:54
dalek : 987ceca | diakopter++ | misc/dalek-conf.json:
convert sprixel to push notifications
08:58
dalek rixel: 0cf900d | diakopter++ | / (10 files):
Array literals, compact typed arrays.

lots more primitive type short aliases.
09:05
diakopter neat; about a 1-second delay
for the github push notify
sorear another nice thing - it handles branches automatically 09:06
sorear thinks there should be some named, common operation for (count == 1 ?? item !! parcel) 09:09
sorear is thinking <<$foo>> should use it, should act like words $foo
masak morning, #perl6! 09:13
tadzik o/ 09:15
sorear hi masak! 09:16
masak ok, let's get $dayjob out of the way, so I can indulge in a bit of Perl 6 later :) 09:17
szabgab rakudo: class X { has $.y is rw; sub qq() { say "sub $.y" }; method rr() { say "method $.y"; qq() } }; my $z = X.new; $z.y = 23; $z.rr() 09:24
p6eval rakudo 244d0f: OUTPUT«method 23␤Null PMC access in find_method('y')␤ in 'X::qq' at line 22:/tmp/MwAdb_y0Iu␤ in 'X::rr' at line 22:/tmp/MwAdb_y0Iu␤ in main program body at line 22:/tmp/MwAdb_y0Iu␤»
szabgab so sub() in a class does not know about the attributes of the class?
sorear szabgab: subs don't have an invocant parameter 09:25
niecza: "foo".bar:sym<baz>
p6eval niecza v1-90-gf3a91f9: OUTPUT«Unhandled exception: Unable to resolve method bar:sym<baz> in class Str␤ at (eval) line 1 (MAIN mainline @ 1)␤ at /home/p6eval/niecza/lib/SAFE.setting line 1064 (SAFE C381_ANON @ 1)␤ at /home/p6eval/niecza/lib/SAFE.setting line 1064 (SAFE module-SAFE @ 29)␤ at
../home/p6eval/niec…
szabgab what is an "invocant parameter"? 09:26
snarkyboojum szabgab: perlcabal.org/syn/S06.html#Invocant_parameters 09:29
diakopter perlesque: my int64 @i = [2,3,4,10000000000]; say(@i[3]); say(@i.GetType); 09:30
p6eval perlesque: OUTPUT«10000000000␤System.Int64[]␤»
sorear perlesque: my int $i = 15; say($i.ToString) 09:34
p6eval perlesque: OUTPUT«15␤»
diakopter perlesque: my int $i = 15; say($i)
p6eval perlesque: OUTPUT«15␤»
diakopter perlesque: perlesque: my int $i = 15; say($i.ToString.ToString) 09:35
p6eval perlesque: OUTPUT«15␤»
diakopter heh
sorear perlesque: my int $i = 15; say($i.GetType)
p6eval perlesque: OUTPUT«␤Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidProgramException: Invalid IL code in t:Exec (): IL_003f: callvirt 0x0a000006␤␤␤ at sprixel.FrameBase.Run () [0x00000] in <filename
..unkno…
diakopter yeah
sorear methinks the MS CLR was right to complain about unverifiable code.
diakopter ooo callvirt on a value type
sorear you need to inject a box instruction 09:35
diakopter troonuff 09:36
sorear when calling an inherited virtual method on a value type
diakopter goes to fix runsharp
sorear actually any inherited method
or just use constrained. 09:37
dalek rixel: d1878b9 | diakopter++ | sprixel/ (2 files):
what I think fixes this.
09:40
diakopter perlesque: my int $i = 15; say($i.GetType) 09:41
p6eval perlesque: OUTPUT«System.Int32␤»
diakopter better
perlesque: my double $i = 15; say($i.GetType) 09:42
p6eval perlesque: OUTPUT«System.Double␤»
diakopter perlesque: my double $i = 15.2; say($i.GetType)
p6eval perlesque: OUTPUT«unhandled node type: Float_literal␤40 Statement_list␤ 40 Statement_list␤ 37 Sub_declaration␤ 90 say␤ 40 Statement_list␤ 40 Statement_list␤ 61 Infix_expr␤ 61 Infix_expr␤ 61 Infix_expr␤
..…
diakopter oops; forgot to implement Float_literal 09:43
dalek rixel: e868e2b | diakopter++ | sprixel/src/ (2 files):
Float_literal
09:45
diakopter perlesque: my double $i = 15.2; say($i.GetType)
p6eval perlesque: OUTPUT«System.Double␤»
dalek rixel: c2b973d | diakopter++ | sprixel/src/compiler/EmitterPass.cs:
now make it work
09:48
diakopter perlesque: my double $i = 15.2; my single $j = 0.88; say($i/$j) 09:49
p6eval perlesque: OUTPUT«17.2727271495772␤»
diakopter perlesque: my double $i = 15.2; my single $j = 0.88; say($i = $j) 09:50
p6eval perlesque: OUTPUT«0.879999995231628␤»
diakopter o_O
oh yeah
I shouldn't've forgotten about that 09:51
diakopter goes to look in S09 for the syntax for allocating zeroed fixed-size compact typed arrays 09:52
and hopes there isone
oh, yes.
my Book @library[1_000_000]
masak szabgab: subs "belong to the class". attributes are declared in the class but "belong to the object". therefore, the sub can't see the attributes. 09:57
dalek rixel: 90961e1 | diakopter++ | / (6 files):
allocating zeroed fixed-size compact typed arrays
10:06
diakopter my byte @bar[9_000_000]; say(@bar.length) 10:07
perlesque: my byte @bar[9_000_000]; say(@bar.length)
p6eval perlesque: OUTPUT«9000000␤»
diakopter perlesque: my byte @bar[90_000_000]; say(@bar.length)
p6eval perlesque: OUTPUT«90000000␤»
diakopter perlesque: my byte @bar[900_000_000]; say(@bar.length)
p6eval perlesque: OUTPUT«900000000␤»
diakopter heh
perlesque: my byte @bar[9_000_000_000]; say(@bar.length)
p6eval perlesque: OUTPUT«␤Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object␤ at sprixel.perlesqueParser.emitCode (sprixel.Env e, Antlr.Runtime.Tree.CommonTree node, Antlr.Runtime.Tree.CommonTree nextNode, sprixel.Operand[] downwardArgs) [0x00000] in
..<…
diakopter oh, arrays limited by int32 10:08
unless mono built with bigarrays
perlesque: my byte @bar[1_000_000_000]; say(@bar.length) 10:09
p6eval perlesque: OUTPUT«1000000000␤»
diakopter took a while to steal a billion bytes
perlesque: my int @bar[1_000_000_000]; say(@bar.length) # fail 10:10
p6eval perlesque: OUTPUT«␤Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.OutOfMemoryException: Out of memory␤ at (wrapper managed-to-native) object:__icall_wrapper_mono_array_new_specific (intptr,int)␤ at t.Exec ()
..[…
diakopter immediate Out of memory
hrm
sorear mono arrays are Int32 indexed in default builds, regardless of CPU 10:11
diakopter (as I said above)
sorear and the heap cannot exceed 3GB
diakopter perlesque: my byte &bar[900_000_000]; say(&bar.length) 10:12
p6eval perlesque: OUTPUT«900000000␤»
diakopter heh
it actually doesn't care about the sigil anywhere except sub invocations (by name)
since there's no list context or such 10:13
szabgab masak: thanks
dalek p-rx: 412953d | bacek++ | src/setting/IO.pm:
Improve c<slurp> to be more consistent with Perl6 and work in utf8/binary mode
10:18
p-rx: b812ff7 | bacek++ | src/stage0/nqp-setting.nqp:
Reboostrap setting only.
masak rakudo: class A { has $!x; sub foo { say "before"; say $!x; say "after" }; method bar { foo } }; A.new.bar 10:26
p6eval rakudo 244d0f: OUTPUT«before␤Null PMC access in get_attr_str()␤ in 'A::foo' at line 22:/tmp/EKWvGZ6hdz␤ in 'A::bar' at line 22:/tmp/EKWvGZ6hdz␤ in main program body at line 22:/tmp/EKWvGZ6hdz␤»
masak submits rakudobug
szabgab++ # finding one more Null PMC access 10:27
sorear out. 10:30
dalek ecza: a8291b0 | sorear++ | v6/NieczaActions.pm6:
[v6] More actions converted
sky4 hi 12:14
[Coke] wonders if perl6 will be able to carve out a niche in the coldfusion space. 12:41
(because then I can use it for something resembling $dayjob)
takadonet morning all 13:00
Maksim_ takadonet: Actually it is evening here :) 13:03
takadonet Maksim_: well good evening to you then
pmurias [Coke]: what's the coldfusion space? 13:04
moritz_ flussence: are there easy instructions for restarting the try.rakudo.org backend? 13:09
flussence moritz_: it's pretty straightforward but a bit fiddly, the backend is running in a screen session as the tryrakudo user (manually), the frontend's running under apache 13:16
moritz_ tryrakudo@feather3:~$ screen -Urd 13:18
Cannot open your terminal '/dev/pts/0' - please check.
moritz_ hates it
flussence I'd try to explain it better, but I'm at $dayjob and all my ssh keys are at $home
try su - tryrakudo or something like that 13:19
moritz_ that's what I did
flussence hmm
moritz_ I'll let you do it once you get home :-)
flussence will do
(the backend thing should be in an @boot cronjob anyway, I'll try and fix that) 13:20
moritz_ would be nice if it were a bit easier to restart
flussence
.oO(where did ash_ disappear off to, anyway?)
13:24
Cjo what do i do here?? 13:26
hello?? 13:29
yeah cna u tell mme what to do here?? 13:30
jasonmay someone had a bit too much coffee.. 13:32
flussence I would've helped, but I don't know the answer to those ternaries... :( 13:33
[Coke] pmurias: web dev. it's basically a server side scripting/tag language. 13:34
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ics_tablet 14:51
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index...._io_tablet
tadzik good localtime :) 16:26
TimToady will be driving most of today 16:29
moritz_ wishes TimToady a safe journey 16:30
lichtkind me too :) 16:35
i mean I too ?
tadzik me too :)
lichtkind thanks :)
tadzik hey, that was for TimToady :) 16:36
[particle] enjoy the sunshine when you get far enough south to see it!
lichtkind tadzik: :) :) i mean thank you for helping to wrestle with the english lang, we all wish tim a safe journey of course :) 16:37
tadzik :)
TimToady Danke schön! 16:44
lichtkind :) 16:48
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet 16:52
diakopter perlesque: my single @bar[1_000_000]; my $i=0; my $n=@bar.length - 1; loop (;$i<$n;) {@bar[$i] = $n/(++$i)}; say(@bar[3235]) 16:59
p6eval perlesque: OUTPUT«309␤»
lichtkind diakopter: which compiler is perlesque? 16:59
diakopter it's the perlesque compiler
lichtkind never heard of it 17:00
diakopter you and I have discussed it several times over the past few years :)
lichtkind maybe it changed its name :) 17:01
i found diakopter.blogspot.com/2010/05/what...whats.html
diakopter yeah, I guess sorta
lichtkind diakopter: so what was it name dbefore?
diakopter perlesque is a strongly-typed (and fully type-annotated) OO/functional subset of p6 17:02
diakopter by that definition, it never had another name 17:02
but I will be reusing the sprixel name as the compiler/runtime that targets the perlesque language as an intermediate language 17:03
perlesque isn't a p6 implementation, per se, in that it's not intended to ever implement "6.0" 17:04
but hopefully sprixel might :P
lichtkind: but soon here (when jnthn recuperates and regains stamina/tuits to continue hacking on nqpclr/6model), I'll put perlesque/sprixel on the back burner again, and go back to porting nqp-rx's regex to the CLR (written in nqp though) 17:07
lichtkind so its a stepping stone for sprixel? 17:08
diakopter perlesque is, sure
lichtkind thanks always nice when starting to see clearer :) 17:09
diakopter but perlesque itself is essentially complete now
lichtkind great
diakopter thought I keep finding LHF that's trivially implementable
(so maybe it'll keep growing) ;) 17:10
lichtkind so there is a chance to have full fledged perl 6 on .net and mono?
and what you mean by LHF?
diakopter well, yes :P but a much better chance from niecza and/or rakudo 17:11
6model/nqpclr is intended to be a new backend/base for rakudo
(on .net and mono)
but sorear's niecza has huge momentum and is being bootstrapped quickly 17:12
lichtkind diakopter im recently not that insights so good you tell me 17:14
diakopter sorear's a (fulltime, I bet) student, and jnthn, pmichaud, moritz_, masak, colomon, TimToady, and I all have fulltime jobs, last I heard... so that restricts tuits :D otoh p6 is part of TimToady's job description
and pmurias is a double-fulltime student ;) 17:15
or something
mberends works 3-4 fulltime jobs I think
colomon Yes, needing to earn a living does limit my ability to hack on Perl 6 at will...
lichtkind tim is working for a chip factory if i recall correctly? 17:16
diakopter a $1B chip design company, yeah
I don't know if they mfr their own chips 17:17
lichtkind i think there were fabless :)
and what was their name?
my involvement is also limited but more because other interests and projects, mostly in the wxperl field 17:19
JimmyZ Last time I heard that two rakudo core hackers will be fulltime rakudo hackers. 17:37
diakopter when did you hear that 17:40
tadzik and where 17:41
diakopter pmichaud & jnthn had significant grants over the past few years, but I can't imagine they were fulltime
diakopter attacks multidimensional arrays 17:42
colomon They weren't.
JimmyZ here or phasers
moritz_ JimmyZ: you probably misunderstood something
diakopter JimmyZ: when?
colomon And I don't believe they are expected to be this year, either.
JimmyZ moritz_: maybe
diakopter JimmyZ: when did you hear that
moritz_ would love to, but is probably not really qualified for that 17:43
JimmyZ diakopter: I forgot it 17:44
diakopter btw I'm sure I left plenty of folks out above when mentioning fulltime jobs
diakopter dives into multidimensional arrays 17:45
compact, non-auto-extending
actually though 17:46
diakopter I could do auto-extending ones too 17:46
JimmyZ ah, here irclog.perlgeek.de/phasers/2010-12-07#i_3065232 17:47
JimmyZ Did I misunderstand? 17:47
diakopter note the wink 17:48
moritz_ JimmyZ: it was a guess from PerlJam about what masak's sekrit was
diakopter PerlJam was jokingly suggesting that masak was hinting that quote
JimmyZ sigh, I can't understand english joke. 17:49
moritz_ well, humor is very hard to understand in foreign languages and cultures 17:50
pmurias diakopter: what would being a double full-time student mean?
diakopter grad school?
flussence try.rakudo's alive again, I've put a .txt in ~tryrakudo in case I'm not around next time 17:51
diakopter (which is where I thought you were; sorry if I'm wrong)
moritz_ "full time" usually means nominally 8 hours work per day - "double full time" would be 16 hours then
not unheard of
diakopter right :)
esp grad school
pmurias spends much less the 8 hours on studing daily 17:52
s/the/then/
diakopter s/then/than/
pmurias yes
and i'm an undergraduate student
diakopter oh 17:52
in theory.. 17:53
pmurias ?
justatheory hrm?
diakopter nothing..
moritz_: how does one denote an array type in a routine signature? 17:54
a signature w/o variable names
moritz_ Array ? 17:55
rakudo: sub f(Array $) { }
p6eval rakudo 244d0f: ( no output )
diakopter oops, I meant a compact aray
so, a primitive type
moritz_ Array[10] for a packed array, iirc
diakopter what would the 10 denote there
I need a type name 17:56
moritz_ 10 is the number of array items
the [] is just a parametrization, which is part of the type name
diakopter I wouldn't want to limit the routine's signature to the number of items in the array
dimensionality, yes
but I need to be able to say sub f(int[] --> int) essentially 17:57
so what's the right way to write int[]
moritz_ Array[int] --> int then
diakopter ergh.. but there's really not an "Array" here :/ 17:58
how about dimensionality
the second parameter to Array?
moritz_ sorry, if it's not an Array then I don't know what it is
and neither how to write it 17:59
Kodi In RT, how do you mark one bug as a duplicate of another? 18:01
diakopter not an uppercase Array
moritz_ Kodi: Links -> Merge into $other_ticket_id
diakopter moritz_: looking through S09, it mentions the uppercase Array only twice, at the very bottom 18:02
Array, as such, I mean
moritz_ how many mentions would you want? 18:03
diakopter I guess what I'm getting at is where in the Snn do I find something telling me that @ means full blown Array type
moritz_ @ means Positional
arnsholt @ means Positional, IIRC
moritz_ not full-blown Array
diakopter ok
Su-Shee good evening everyone. 18:04
JimmyZ good evening Su-Shee
tadzik o/ 18:06
diakopter moritz_: assume I can do Array[some_primitive_type]. now, how to limit it by dimensionality? make up my own syntax/api by making the second parameter the number of dimensions?
or just Array of Array of Array of int and such 18:07
moritz_ would be Array[int;int;int] iirc 18:07
moritz_ though I'm not really sure 18:08
diakopter oh
that seems logical
well
one would need to support both to get other possibilities 18:09
diakopter so, perlesque will deviate from S09 in that "Unless explicitly declared to be of fixed size, such arrays are autoextending just like ordinary Perl arrays" won't be true, since every array at that level is fixed-size (like all CLR arrays). Obviously sprixel's Array would merely be a wrapper on List<GeneralContainerObject>, which is exactly what nqpclr/6model does now. 18:13
when assigning to CLR array variables, however, obviously the array variable can then refer to an array of a different size from its original 18:14
sorry, thinking half-aloud here
List<RakudoObject> is nqpclr/6model's edition
where List<> is the CLR's built-in generic auto-extending array 18:15
with List semantics
dalek rixel: c94a706 | diakopter++ | / (6 files):
add primitive boolean literals (not exactly kosher either)
18:22
diakopter perlesque: say(Type.GetType('System.Collections.Generic.List`1', false, true)) 18:23
p6eval perlesque: OUTPUT«System.Collections.Generic.List`1[T]␤»
pmichaud good afternoon, #perl6 18:47
tadzik 'afternoon pmichaud
pmichaud: mind taking a look at the worry patch I sent to nqp-rx GH issues? 18:48
pmichaud I saw it.... how does it differ from the existing .panic, ooc? 18:49
moritz_ it doesn't die
(at least it shouldn't) 18:50
tadzik well, it prints to stderr instead of dying. I tried to refactor the common parts to some 'panicmsg' method but it gave some weird effects when maketested
pmichaud hmmm 18:50
at some point I'd probably want it to work a lot like STD.pm's .worry 18:51
i.e., it caches the worries up for later
tadzik at some point, maybe. But first make it run, then make it right, no? 18:53
pmichaud well, "first make it run" implies "don't create an API (that others will use) that you then throw away"
if people think of .worry as being the same as warn/note, that's a bit of an issue 18:54
tadzik hmm
pmichaud .worry in STD.pm doesn't issue anything to STDERR until/unless something happens later, iirc
tadzik std: 0123 #OK octal
p6eval std 625303c: OUTPUT«ok 00:01 118m␤»
tadzik like this?
pmichaud yes, that's one example 18:55
I think there are others
std: 0123 + 456 18:56
p6eval std 625303c: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o123 if you mean that at /tmp/auGcMaBoLV line 1:␤------> 0123⏏ + 456␤ok 00:01 120m␤»
moritz_ std: $x $x
p6eval std 625303c: OUTPUT«===SORRY!===␤Variable $x is not predeclared at /tmp/WbJltL_xHg line 1:␤------> $x⏏ $x␤Two terms in a row at /tmp/WbJltL_xHg line 1:␤------> $x ⏏$x␤ expecting any of:␤ bracketed infix␤ infix or meta-infix␤
..statement modifier…
pmichaud std: 0123 $x
p6eval std 625303c: OUTPUT«===SORRY!===␤Two terms in a row at /tmp/QbAj8PX41V line 1:␤------> 0123 ⏏$x␤ expecting any of:␤ bracketed infix␤ infix or meta-infix␤ statement modifier loop␤Other potential difficulties:␤ Leading 0 does not indicate octal
..in Perl 6; please …
pmichaud Note that the 0123 error is listed under "other potential difficulties", as opposed to being warned about immediately.
tadzik right 18:58
pmichaud iiuc, .worry means that the compiler thinks there might be a problem in the code that can lead to a later error, and gives the programmer the opportunity to use '#OK' to mean "don't worry about it"
moritz_ is .worry related to .suppose ? 18:59
tadzik so that should rather be 'put the message in some array for later' than 'print to stderr'?
pmichaud well, it depends on how/where you're wanting to use .worry at the moment
tadzik hmm
pmichaud if you're wanting a mechanism to ultimately do the same as STD's .worry, then yes we should make it clear that we're storing up possible difficulties 19:00
if you're wanting to issue warnings to stderr in the middle of the compile (but not throw an exception), perhaps we want <.note> or something like that.
tadzik I see
moritz_ +1 to calliing it .note for now 19:01
pmichaud I'd also be very pleased to see us refactor the position code to be .locmess
(to match STD)
tadzik moritz_: for calling it .note and using .note instead of .worry for now? 19:02
moritz_ tadzik: right
pmichaud: I don't dare touching nqp-rx while it fails tests
flussence (oh, so *that's* the difference between note and warn...)
tadzik does it?
pmichaud I think nqp-rx is passing again, but perhaps I'm wrong about that?
moritz_ probably depends on which parrot 19:03
tadzik it does for me
for the same Parrot Rakudo uses, at least
pmichaud current head passed for me yesterday, I think
tadzik Rakudo master
pmichaud I'll try again
moritz_ t/nqp/33-init.t triggers an assertion failure in src/call/context.c 19:03
pmichaud testing 19:05
moritz_ updates to latest parrot
pmichaud I'm testing the version I had yesterday that seemed to work
pmichaud RELEASE_2_11_0-687-gcbccec7 appears to work with nqp-rx for me 19:06
trying current head
(building parrot) 19:07
moritz_ still fails here in init.t 19:09
on RELEASE_2_11_0-771-g40e018d
pmichaud fails here also 19:13
Guess I better file a ticket.
pmichaud although I don't get any error message about the assertion failure :( 19:14
gist.github.com/768388 19:15
moritz_ pmichaud: nopaste.snit.ch/27577 is what I get
pmichaud I'll add that to the ticket as well. 19:16
oh wait, there were some updates to nqp-rx 19:18
let me try again
dalek kudo: da243fa | moritz++ | tools/bisect-parrot.pl:
[tools] add an experimental script for bisecting parrot

You can use it to automatically rebuild rakudo and run it against a test file when bisecting parrot. Call it as
   $ git bisect run ../tools/bisect-parrot.pl test-file.t
Assuming that test-file.t returns with a non-zero exit status if it fails
19:25
moritz_ feedback on that script would be very welcome 19:26
pmichaud trac.parrot.org/parrot/ticket/1935 19:29
trying rakudo on parrot head
moritz_ also fails 19:30
moritz_ even worse 19:30
which I reported on #parrot
pmichaud I'll file a ticket for that too, as soon as I get a build. 19:31
pmichaud Hard to believe we're less than 2 weeks before a major Parrot release (3.0) and we keep seeing these sorts of problems. 19:32
s/Hard to believe/Incredible that/
moritz_ as I said on #parrot the other day, parrot development is "entertaining" these days
pmichaud I like the quotation marks :-)
maybe I should tweet that :-)
under the rakudoperl twitter account :) 19:33
PerlJam pmichaud: you should save the sniping for when 3.0 comes out and the problems are still there 19:35
pmichaud PerlJam: somehow I think that's a "low road" approach 19:36
if I see a problem before it can become a bigger problem, I should report it.
besides, we've already been through the case of major parrot releases breaking rakudo (2.6.0, 2.9.0)
I don't think I need to make the point stronger than that :)
moritz_
.oO( "you'll take the high road \n and I take the low road \n and I'll be in Scotland befoooore you ..." )
pmichaud sorry, I meant 2.9.0 and 2.10.0 above 19:37
PerlJam pmichaud: Are you sure about not needing to make your point stronger? 19:38
PerlJam is in a weird pessimistic mood today
pmichaud I'm thinking that making a strong point won't make a significant (positive) difference 19:40
PerlJam ah, but it might. "management" has changed. :)
pmichaud afaict, all of the new managers are sufficiently whipping the horses to make improvements 19:41
flussence and the horses are sufficiently stripey
pmichaud from #parrot: 19:42
19:41 <cotto_work> whiteknight: are you looking into the breakage? I want to get this fixed.
19:41 <whiteknight> yeah, I'm on it
moritz_ last time I successfully built rakudo, it had about 5 spectest failures 19:42
PerlJam perhaps it's just my mood, but I get the feeling that Parrot keeps building one to throw away over and over again, rather than building the one to keep.
pmichaud PerlJam: it doesn't feel like that to me 19:43
well
I feel that we're not moving closer to building the one to keep
but I'm not sure about the "keeps building one" part :-P
moritz_ PerlJam: the problem is just that there are so many subsystems that needs to be thrown out and rewritten 19:44
cotto_work That's not a good excuse to keep breaking though.
pmichaud yes, rakudo fails 'make test' for me 19:45
PerlJam moritz_: I thought the "problem" was the deprecation policy ;->
moritz_ pmichaud: a simple -e 1 will probably fail too
pmurias sorear: ping 19:47
tadzik github.com/9cloud/Nemo -- maybe sth like this for P6 would be nice and advertful 20:00
pmurias tadzik: mixing html and an indentation based syntax doesn't seem very nice 20:03
tadzik as I read, only the python version is indentation based, but maybe I'm wrong 20:04
pmichaud afk, lunch 20:06
(and, sadly, lost another hour of time to tracking down a parrot bug) 20:08
(that could've been detected by simply running nqp-rx's tests) 20:09
cotto_work Rakudo's make test and hello world work again with the latest Parrot. 20:18
I apologize for the breakage and would like to note that my job now includes making sure that we get regular automated testing of the latest Parrot against HLLs. 20:19
colomon \o/ 20:20
PerlJam cotto++ 20:22
pmichaud I'm disappointed that the people making commits won't do that testing on their own -- especially for bugs that originally noted that they broke rakudo. 20:24
we've now had two cases in one week where someone says "I've made a commit that fixes a bug reported by rakudo" but didn't actually test to verify that rakudo was fixed. 20:25
pmichaud the message I get is, sadly, "Parrot's managers care but the developers don't." 20:26
cotto_work pmichaud: that's why I want to automate it. Telling people to do it manually hasn't been working (regardless of whether it should). 20:27
There's also a cultural problem we need to fix, but that's harder.
pmichaud I agree that automating helps
but it also introduces delays
i.e., someone makes a commit; the automated system detects the problem at some later point, the person who made the commit isn't necessarily available to fix it timely 20:28
anyway, I'm just registering my disappointment with the process. 20:29
cotto_work pmichaud: I agree. It's very disappointing that we've been unable to provide a suitable platform for Rakudo development. 20:30
pmichaud (and, I guess, my disappointment with the cultural problem that dismisses HLL concerns) 20:31
PerlJam making rakudo/parrot faster might help. the fix-test-repeat cycle can be discouraging when the test part takes the bulk of the time. 20:40
sorear good * #perl6 20:41
colomon o/
diakopter sorear: hi 20:42
Tene that was one of the things that contributed to me stopping parrot development, unfortunately.
diakopter pmurias: sorear is here :)
pmurias sorear: hi 20:46
sorear: the subs in a unit are indexed according to xids? 20:47
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....tor_tablet 20:48
sorear pmurias: yes
pmurias: all the magic happens in Metamodel::RefTarget 20:49
and Metamodel::Unit::deref
pmurias sorear: re changes to the build system, where am i supposed to set the filename mtime stuff? 20:53
sorear probably in begin 20:54
dukeleto is going to make the automated testing of Parrot + Rakudo happen soon 21:01
Tene: i plan to fix some of the parrot communities issues with HLLs 21:02
Tene: hopefully we can coax you back someday soon :)
jdv79 the spec tests used to take hours on my box iirc 21:39
flussence 2h15 on mine, ±5m 21:48
masak ahoy, zebras! 21:56
colomon \o 21:57
masak today I wrote a 30-line Perl 5 script that re-indented a text file so that at least one line started on the first column. I kept longing for Perl 6 the whole time. 21:58
if anyone would like to give that exercise a try (in Perl 5 or Perl 6), we could compare notes. :) 21:59
colomon can no longer program in C++ without extreme longing for Perl 6.
masak would've been nice if Str.indent were already implemented in Rakudo. then I probably would've ditched Perl 5.
colomon I thought someone got that a month or two ago?
masak oh?
sorear hi masak 22:00
masak hi sorear 22:00
colomon rakudo: " This sd".indent.say
p6eval rakudo da243f: OUTPUT«Method 'indent' not found for invocant of class 'Str'␤ in main program body at line 22:/tmp/6h4Jl3m1HM␤»
colomon yeah, apparently not.
masak colomon: must have been wishful thinking :)
would be a great GCI task, though.
or a pleasant evening task for someone here. 22:01
colomon If only someone hadn't drained the tuits of most of us with some sort of contest.... ;) 22:01
masak is not going to apologise :) 22:02
colomon p4 is going to obsess me for at least another week, I think.
tadzik hello masak
masak colomon: good. don't forget to send in your solutions.
tadzik: hi!
tadzik what should .indent do? 22:03
masak I'm going to do some Perl 6 coding tonight, provided sleepiness doesn't hit before I get going.
tadzik: indent text, as it happens.
tadzik: see S32/Str/.indent
flussence tadzik: S32/Str:582
masak flussence++
tadzik oh, a LHF? 22:04
masak more or less.
tab handling is the only tricky part, I predict.
PerlJam wants Str.autoformat ala Damian ;)
masak PerlJam: vol wellunteered!
colomon masak: my current notion is to have my code play itself with slightly different settings so I can see which setting comes out on top.... ;)
masak pokes PerlJam with a "do it!" twig 22:05
colomon: no comment :)
tadzik hmm, indent seems doable 22:06
PerlJam that would require some tuits. But as things typically go, when I do get a few tuits, some other random thing has captured my interest
tadzik: you could probably bang out the add/remove spaces thing in a few minutes if you ignore the tabs issue
the spec doesn't mention a defaults for $steps, but * seems like a nice default. 22:07
s/lts/lt/ 22:08
tadzik maybe there's just no default 22:09
masak I'm not sure having * as a default is good for readability.
that's my meaning.
tadzik especially when indent(*) is basically unindent(*) 22:10
masak there's an unindent? :) 22:13
PerlJam maybe it should be $str.indent(-*) :-)
masak euugh. 22:14
tadzik minus-whatever, it's so like minus-zero
flussence # Looks like you failed 7 tests of 7 22:16
whee
masak I notice there is a little ambiguity in the .indent spec. it doesn't say *where* in the \h prefix new indentation is added.
I'd go with "at the end", due to tab characters. 22:17
but it doesn't say.
flussence "after each logical newline" 22:17
tadzik flussence: whatcha wrigint?
flussence tests for .indent, which apparently don't exist yet... 22:18
PerlJam flussence++
flussence I was gonna try doing the code, but I had all the fun last time :)
masak flussence++ 22:20
flussence: here's a tip: implement Str.indent *outside* of the setting.
sorear TimToady: ping 22:21
flussence yeah, I vaguely remember that from doing samespace last time. I think I lost the gist URL for that one... 22:22
tadzik oh, just write a sub for that 22:22
or use MONKEY_TYPING and augment class Str
sorear TimToady: you were saying something the other day about list assignment being a purely syntactic concept... in your model, my $x; sub foo() is rw { $x }; foo() = (1, 2); # Does this assign $x = 1 ?
PerlJam probably augment class Cool rather than Str. 22:23
tadzik . o O ( oh my. That's so readable and straightforward even though it *is* the code )
probably
PerlJam rakudo: my $str = "aaaaaaaabbbb"; say $str.subst( /^^ 'a' ** { 0..4 } /, 'x', :g ); 22:39
p6eval rakudo da243f: OUTPUT«xbbbb␤»
PerlJam is that a known bug or am I missing something?
tadzik what is a bug in here? 22:40
ah, one x
PerlJam / 'a' ** { 0..4 } / should match a maximum of 4 'a' characters 22:41
btw, it works if I leave out the closure. 22:42
rakudo: my $str = "aaaaaaaabbbb"; say $str.subst( /^^ 'a' ** 0..4 /, 'x', :g );
p6eval rakudo da243f: OUTPUT«xaaaabbbb␤»
snarkyboojum g'day #perl6 22:43
who has access to update links on perl6.org?
tadzik o/ 22:44
sorear PerlJam: 'a' ** { 0..4 } = 'a' ** { True } = 'a'* 22:46
I think you wanted 'a' ** 0..4 22:47
snarkyboojum tadzik: you seem have to commit access to perl6.org on github - can you update the broken link to viv on the homepage for me? :D
sorear oh, I'm wrong 22:48
returning a Range should work.
tadzik snarkyboojum: can you show me the exact place? 22:49
snarkyboojum tadzik: well the link on the compilers page points to github.com/perl6/std, but the actual viv script is at github.com/perl6/std/raw/master/viv 22:51
diakopter sorear: TimToady's driving a long time today he mentioned here yesterday
dalek href="https://perl6.org:">perl6.org: b900db1 | tadzik++ | source/compilers/index.html:
Fix a link to viv, snarkyboojum++
22:53
tadzik sorear++ # fixing dalek 22:53
snarkyboojum tadzik: actually, it was the viv link on the home page, i.e. source/index.html 22:54
tadzik: apologies for any confusion :)
tadzik bah
dalek href="https://perl6.org:">perl6.org: 7b59d3b | tadzik++ | source/index.html:
Fix a link to viv one more time
22:56
tadzik snarkyboojum: thanks for easy karma :)
dalek p-rx/smoke: e1f6b8b | dukeleto++ | build/Makefile.in:
Begin to add a smoke target to send smolder reports
22:57
tadzik snarkyboojum: (tweet) oh you!
snarkyboojum tadzik: heh - legend. Thanks, it's been bugging me for the last few days :P 22:58
flussence rakudo: say ((' ' x 1) Z (' quack')).perl
p6eval rakudo da243f: OUTPUT«(" ", " quack")␤»
snarkyboojum tadzik: what's your twitter handle? 22:59
tadzik snarkyboojum: none :)
diakopter that page ought to link to sorear's distribution of STD on the CPAN
flussence yay, # Looks like you failed 8 tests of 9
snarkyboojum tadzik: oooh.. twitter lurker!
tadzik abit
masak tends to find interesting things here sometimes 23:00
masak haven't set up any live filters on this new laptop, though...
snarkyboojum tadzik: masak finds interesting things all over the place :) 23:01
masak: hello there
masak hi, boojum. :)
diakopter tadzik: search.cpan.org/~sorear/STD/ 23:03
would you mind adding to that page?
"to install a recent distribution of STD/viv to your Perl 5 installation, go here" 23:05
flussence How can I write a test to check whether ' a'.indent(-2) emits a warning like the spec says it should? 23:06
snarkyboojum masak: loving the new(ish) blogging platform
masak snarkyboojum: strangelyconsistent? yeah, me too. 23:07
snarkyboojum masak: yup
masak snarkyboojum: it's not quite there yet, but each little change is fun to make and makes things more usable.
already a clear step up from use.perl in terms of the work I have to put in to make a blog post :) 23:08
masak oh man, it's already late. :/ 23:13
need to punt all my ambitious Perl 6 hacking to tomorrow... 23:14
ggoebel good to see pmichaud++ back
sorear browsing mono-dev it looks like NaCl support has been merged 23:16
dalek kudo: 337f199 | KodiB++ | src/Perl6/Actions.pm:
[Perl6/Actions] Panic on "use v6.2", "use v7", etc.

I added two variables (@MAX_PERL_VERSION and $MAX_PERL_VERSION) that need to be maintained as the version of Perl that Rakudo recongizes changes. Currently they're set to just 6, so 5.99.99.99 and 6.0 are accepted, but 6.0.0.0.1 is rejected.
This fixes RT #80126.
23:18
tadzik snarkyboojum: yeah, no problem 23:19
snarkyboojum: want a commit bit? 23:20
# The latter variable is used only for error messages. 23:21
couldn't it be a join of the former?
snarkyboojum tadzik: if it's going - thanks 23:22
tadzik dunno if I can :)
I can't :)
snarkyboojum tadzik: nm.. might be a moritz_ specialty :P 23:23
dalek href="https://perl6.org:">perl6.org: 524b230 | tadzik++ | source/compilers/index.html:
Add a link to STD on cpan
23:24
tadzik sleepytime now, see you! 23:25
snarkyboojum čao 23:26
masak 'night, zebras. 23:39