»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by lichtkind on 5 March 2010.
lichtkind good night 00:07
sorear pesters jnthn 00:24
jnthn sorear: I wants sleeeeeeep!
sorear for quite some time it seems. 00:25
jnthn sorear: You may pester me quickly, however.
sorear Just the patch from yesterday
jnthn sorear: Yes, I've been sleeping rather badly all week. Wish I knew why.
oh
sorear rakudo master works with parrot trunk except for S05, right?
jnthn I fixed that.
Oh
We fail some of rx.t 00:26
But that's only due to a \e and \f bug
But otherwise we're on latest Parrot trunk and working fine, afaik.
sorear: This patch?
pastie.org/939776
?
sorear jnthn: good question, can you even load that? I can't now 00:28
jnthn oh 00:29
I had it open in the browser tab ;-)
sorear: add newclosure call?
and 00:30
- pir::set_hll_global__vPSP(@nsparts, '&' ~ $lastpart, sub() { $mod });
+ pir::set_hll_global__vPSP(@nsparts, '&' ~ $lastpart, sub() { $ns });
?
sorear yes
jnthn yeah
applied locally just now, building/testing.
Will be going to airport/flying/relaxing in a hot spring pool/beering(hopefully) tomorrow, so best I get it in tonight. 00:32
[Coke] chromatic sped up codesting a smidge. I'm working on something that will hopefully be more than a smidge. 00:34
jnthn [Coke]: Excellent. 00:35
sorear [Coke]: Ooooooh 00:42
How much more 00:43
[Coke] Iunno. I just got it to compile, give me a few minutes. 00:47
sorear wooh 00:49
I just succeeded in patching Term::ANSIColor and Text::VIMColor together into an inline syntax highligher module
perl6 --target=pir need not hurt my eyes so much now
dalek kudo: f31d524 | jonathan++ | src/Perl6/Module/Loader.pm:
Apply patch from sorear++ to further fix up loading modules from other languages.
00:55
eternaleye (backlogging) sorear: re { $^a $^a }, the first time you user $^var it installs an alias as $var, doesn't it? 00:56
rakudo: for 1, 2 { say $^a, $a } 00:57
p6eval rakudo c4857a: OUTPUT«unshift_string() not implemented in class 'FixedStringArray'␤»
eternaleye Okay, that's new. 00:57
masak? ^^^
jnthn Erm, I haven't seen that before.
rakudo: for 1, 2 { say $^a }
p6eval rakudo c4857a: OUTPUT«unshift_string() not implemented in class 'FixedStringArray'␤»
jnthn rakudo: for 1, 2 { .say } 00:57
p6eval rakudo c4857a: OUTPUT«unshift_string() not implemented in class 'FixedStringArray'␤»
jnthn rakudo: say "alive" 00:58
p6eval rakudo c4857a: OUTPUT«unshift_string() not implemented in class 'FixedStringArray'␤»
eternaleye Uh oh.
jnthn Oh.
p6eval's Rakudo is busted, it seems. :-(
sorear: OK, your patch is in. :-)
Thanks!
jnthn -> sleep for real now 01:06
lichtkind sleep well 01:07
diakopter hm 01:11
[Coke] alright, my codestring passes 100% now; building so I test rakudo build times... 01:16
snarkyboojum [Coke]++ 01:23
[Coke] is the build currently "insanely slow" ? 01:26
sorear interesting
rakudo just built in 12m real 10m user
snarkyboojum not insanely slow for me 01:27
sorear so it's considerably slower, but thrashes less - same real time
[Coke] 12m is slow. =-) 01:27
sorear unfortunately I wandered off and missed the peak heap usage
[Coke]: When I joined the project, typical was 12h.
snarkyboojum pre memory fix yeah 01:28
[Coke] sorear: holy crap, really?
snarkyboojum on 384MB of RAM or something right sorear? :) 01:29
sorear yes
snarkyboojum parrot is using around 500MB of RAM during a build here 01:31
snarkyboojum and rakudo is building in about 3 and a half minutes 01:31
parrot-nqp is still maxing out at around 220MB (when generating rakudo grammar and actions) 01:36
oh wow, ok.. parrot is using up to 900MB when generating core.pir 01:37
anyway, enough meaningless numbers from me :)
pugssvn r30511 | colomon++ | [misc] Suggest a task for "this week's contribution to Perl 6". 01:51
[Coke] perl6-actions one of the slow ones? 01:54
holy crap this is slow. 01:56
[Coke] with trunk, I pretty much hang on teh actions file; with my patch, it goes through. 02:08
[Coke] blah. can someone with a more reliable build box give a parrot branch a try and compare build times? 02:13
svn.parrot.org/parrot/branches/codestring 02:14
mine goes from "hangs" to real 6m51.967s
sorear 7sure 02:15
sure
now tell me
I know next to nothing about svn
how do I switch branches. 02:16
[Coke] svn switch svn.parrot.org/parrot/branches/codestring 02:25
sorear [Coke]: ... I'm at over 200% memory usage with your change. 02:28
[Coke] 200% of trunk usage? 02:29
sorear 350%... 02:30
no, my total RAM
1300MB and counting
TimToady std: /[0-9]/
p6eval std 30511: ( no output ) 02:31
sorear 2082MB ... 02:32
[Coke] how much memory do you have to work with?
(real)
sorear 384MB 02:33
sorear I run out of swap at 2330 02:33
[Coke] ok. I'll see if chromatic can find the memory issue. 02:34
sorear huh, it just fell to 1520
diakopter urgh 02:38
I think p6eval got hanged 02:39
sorear Failed allocation of 1137508116 bytes 02:41
sorear after 13m42s real, 34s user 02:41
what, pray tell, was Parrot planning to do with a 1.13 GB contiguous memory block? 02:42
sounds horrible from a memory fragmentation standpoint
sorear switches back to trunk for now 02:47
[Coke] yup. must be hanging onto too many PMCs. 02:49
eternaleye rakudo: say "alive"
p6eval rakudo c4857a: OUTPUT«unshift_string() not implemented in class 'FixedStringArray'␤»
[Coke] or STRINGs. 02:50
sorear So... why are we allocating so much memory at a time?
is somebody generating 1GB+ strings?
[Coke] presumably because there's stuff not getting freed. 02:51
sorear the garbage collectors I'm used to working with always malloc and free in units between 256KB and 16MB
[Coke] so it's just allocating more and more.
I can't speak to that.
sorear never 1.13 GB
eternaleye webfiend++ # Pushing for unity: www.perlmonks.org/?node_id=837151 03:02
sorear avar: ping 03:46
TimToady std: /[0-9]/ 03:57
p6eval std 30511: OUTPUT«===SORRY!===␤Invalid regex metacharacter (must be quoted to match literally) at /tmp/mqFyo7Wk2k line 1:␤------> /[0-⏏9]/␤Potential difficulties:␤ [0-9] appears to be an old-school character class; digits should be matched with \d instead at
../tm…
diakopter better?
rakudo: say 1
p6eval rakudo c4857a: OUTPUT«unshift_string() not implemented in class 'FixedStringArray'␤»
diakopter mourns
TimToady std: /[a-z]/ 03:58
p6eval std 30511: OUTPUT«===SORRY!===␤Invalid regex metacharacter (must be quoted to match literally) at /tmp/aJrHrYUndv line 1:␤------> /[a-⏏z]/␤Potential difficulties:␤ [a-z] appears to be an old-school character class; please use <[a..z]> if you mean a character
..cla…
TimToady std: /[^a-z]/
p6eval std 30511: OUTPUT«===SORRY!===␤Invalid regex metacharacter (must be quoted to match literally) at /tmp/4tK6j0RMZT line 1:␤------> /[^a-⏏z]/␤Potential difficulties:␤ [^a-z] appears to be an old-school character class; please use <-[a..z]> if you mean a character
..…
TimToady std: /[aeiou]/ 03:59
p6eval std 30511: OUTPUT«Potential difficulties:␤ [aeiou] appears to be an old-school character class; please use <[aeiou]> if you␤ mean a character class, or quote it like 'aeiou' to match␤ string as a unit at /tmp/bxaPhk6L0b line 1:␤------> /[aeiou]⏏/␤ok 00:01 110m␤»
TimToady std: /[aeiou\n]/
p6eval std 30511: OUTPUT«Potential difficulties:␤ [aeiou\n] appears to be an old-school character class; please use <[aeiou\n]> if you␤ mean a character class, or quote it like "aeiou\n" to match␤ string as a unit at /tmp/VxQWOcXfV8 line 1:␤------> /[aeiou\n]⏏/␤ok 00:01 108m␤»
TimToady std: /[^ \t]/ 04:00
p6eval std 30511: OUTPUT«Potential difficulties:␤ [^ \t] appears to be an old-school character class; please use <-[\x20\t]> if you mean a character class at /tmp/gorjWhD4k1 line 1:␤------> /[^ \t]⏏/␤ok 00:01 108m␤»
TimToady std: /[^\ \t]/
p6eval std 30511: OUTPUT«===SORRY!===␤No unspace allowed in regex; if you meant to match the literal character, please enclose in single quotes (' ') or use a backslashed form like \x20 at /tmp/YezaikqcXK line 1:␤------> /[^\⏏ \t]/␤Parse failed␤FAILED 00:01 107m␤»
TimToady std: /[ \t]/
p6eval std 30511: OUTPUT«Potential difficulties:␤ [ \t] appears to be an old-school character class; please use <[\x20\t]> if you␤ mean a character class, or quote it like " \t" to match␤ string as a unit at /tmp/DPL0RXIUU6 line 1:␤------> /[ \t]⏏/␤ok 00:01 108m␤»
TimToady hmm, \s still seems "off" 04:01
std: /[^ ]/ 04:02
p6eval std 30511: OUTPUT«Potential difficulties:␤ [^ ] appears to be an old-school character class; non-horizontal whitespace should be matched with \H instead at /tmp/bjGwStF9Ta line 1:␤------> /[^ ]⏏/␤ok 00:01 108m␤»
diakopter std: ![^]! 04:15
pugssvn r30512 | lwall++ | [Cursor] old whitespace cclasses still produced bogus warnings
diakopter oh, it really doesn't like ![^]! 04:16
TimToady should fail fine
diakopter oh
p6eval being dead-ish 04:17
odd
sorear rakudo: say "hi" 04:20
...did I just crash it
diakopter rakudo rebuild using too much ram
that vps has only 1 GB 04:21
disabling rebuild until parrot/rakudo ram usage improve
diakopter rakudo: say 1 04:21
p6eval rakudo c4857a: OUTPUT«unshift_string() not implemented in class 'FixedStringArray'␤» 04:22
diakopter sigh
JimmyZ haha
rakudo: say 'hello, world'
diakopter rakudo: yo 04:23
diakopter pugs: say 4 04:23
p6eval pugs: OUTPUT«4␤»
diakopter pugs: say 4
p6eval pugs: OUTPUT«4␤»
diakopter ok.
rakudo disabled until rebuild fixed
phenny: tell moritz_ I disabled rakudo rebuild and rakudo: p6eval target until the ram usage is improved 04:24
phenny diakopter: I'll pass that on when moritz_ is around.
diakopter alpha: say 5 04:27
p6eval alpha 30e0ed: OUTPUT«5␤»
TimToady std: /[ \t]/ 04:30
p6eval std 30512: OUTPUT«Potential difficulties:␤ [ \t] appears to be an old-school character class; horizontal whitespace should be matched with \h instead at /tmp/g4x1YmOp1k line 1:␤------> /[ \t]⏏/␤ok 00:01 110m␤»
TimToady std: /[abcd\n]/ 04:31
p6eval std 30512: OUTPUT«Potential difficulties:␤ [abcd\n] appears to be an old-school character class; please use <[abcd\n]> if you␤ mean a character class, or quote it like "abcd\n" to match␤ string as a unit at /tmp/x0oy6h02tz line 1:␤------> /[abcd\n]⏏/␤ok 00:01 108m␤»
TimToady std: ![^]!
p6eval std 30512: OUTPUT«===SORRY!===␤Prefix requires an argument at /tmp/lFvcw8iDXN line 1:␤------> ![^]⏏!␤Parse failed␤FAILED 00:01 108m␤»
TimToady std: /[^ \t]/ 04:32
p6eval std 30512: OUTPUT«Potential difficulties:␤ [^ \t] appears to be an old-school character class; non-(horizontal whitespace) should be matched with \H instead at /tmp/YSeTaVu4A5 line 1:␤------> /[^ \t]⏏/␤ok 00:01 108m␤»
TimToady std: /[^\n]/ 04:33
p6eval std 30512: OUTPUT«Potential difficulties:␤ [^\n] appears to be an old-school character class; non-(vertical whitespace) should be matched with \V instead at /tmp/bsJEYD4bBR line 1:␤------> /[^\n]⏏/␤ok 00:01 108m␤»
TimToady that one should probably point to \N instead
pugssvn r30513 | lwall++ | [Cursor] recommend \N instead of \V for [^\n] 04:35
diakopter TimToady: while in the crontab, I noticed std gets rebuilt starting at 7,37 04:38
TimToady std: /[^\n]/
p6eval std 30512: OUTPUT«Potential difficulties:␤ [^\n] appears to be an old-school character class; non-(vertical whitespace) should be matched with \V instead at /tmp/zdVYjVXHYY line 1:␤------> /[^\n]⏏/␤ok 00:01 108m␤»
diakopter that's speedy 04:39
std seems a lot more responsive recently...?
TimToady that's still the old one
diakopter std: /[^\n]/
p6eval std 30512: OUTPUT«Potential difficulties:␤ [^\n] appears to be an old-school character class; non-(vertical whitespace) should be matched with \V instead at /tmp/Sd1sczcIKE line 1:␤------> /[^\n]⏏/␤ok 00:01 108m␤»
diakopter std: _
p6eval std 30512: OUTPUT«===SORRY!===␤Undeclared name:␤ '_' used at line 1␤Check failed␤FAILED 00:01 107m␤»
diakopter I wish the timer had more resolution
sorear (cron is evil)
diakopter sorear: :P 04:40
sorear no, really
diakopter no, sabnzbd+, free ipv6 binaries usenet servers, and nzbs.org are (together) evil. 04:41
how is cron evil
sorear the whole polling thing is a good start 04:42
TimToady std: /[^\n]/
p6eval std 30512: OUTPUT«Potential difficulties:␤ [^\n] appears to be an old-school character class; non-(vertical whitespace) should be matched with \V instead at /tmp/MXB8nxiZK3 line 1:␤------> /[^\n]⏏/␤ok 00:01 108m␤»
TimToady well, the main problem is that the interface is 180° from what a user wants. 04:43
sorear what do users want? 04:44
TimToady something more like a day-timer 04:45
or a palm pilot
and a way to name recurring tasks other than by writing a shell script, with the name being the major key, and the recurrence info subsumed into it 04:49
and with the fine-grained adjustments after the coarse-grained :)
the most important thing about a cron entry is *not* where it runs inside the hour, so why is that first? 04:51
it's almost like forcing people to program in machine code
lue
.oO(ccron Camel CRON ...) [and hi]
you got me thinking about an implementation of cron in perl6 :) (not that I'd be able to program it!) 04:53
sorear cron is pretty widely hated, that's why there are like 8 competing implementations of it 04:55
lue I never knew that (of course, I never needed to interface with cron directly :P) 04:57
lue wonders if S32::Temporal could turn into a better/worse implementation of cron if allowed to... 04:59
afk and goodnight! 05:02
sorear Why does NQP take such a long time to process Grammar.pm? 05:05
Are regexes just that explosive? 05:06
JimmyZ parrot is slow 05:07
TimToady std: /[^\n]/
p6eval std 30513: OUTPUT«Potential difficulties:␤ [^\n] appears to be an old-school character class; non-newlines should be matched with \N instead at /tmp/HxGk4IeqLw line 1:␤------> /[^\n]⏏/␤ok 00:01 110m␤»
JimmyZ wants PCC should be 3x faster. 05:10
[Coke] gives JimmyZ a commit bit to make it happen. 05:20
sorear needs to finish that memory profiler 05:21
TimToady wants it finished 3x faster. 05:29
[Coke] sure, let me just finish this memory profiler first, that'll help! 05:37
eternaleye What is this, a virtual machine for snails?!? It must be at least... THREE times this fast! 05:38
</zoolander>
TimToady then we could do turtle graphics
moritz_ god morning 06:17
phenny moritz_: 04:24Z <diakopter> tell moritz_ I disabled rakudo rebuild and rakudo: p6eval target until the ram usage is improved
moritz_ h, what's wrong with rakudo's ram usage?
JimmyZ hello moritz_ 06:23
I have a patch nopaste.snit.ch/20413
moritz_ JimmyZ: please submit it to RT, I'm not yet in a state of even beginning sanity 06:24
JimmyZ RT doesn't love my email address 06:30
JimmyZ blocked by RT 06:30
diakopter moritz_: rakudo wouldn't rebuild 06:32
rakudo_hidden: say(4)
p6eval rakudo_hidden c4857a: OUTPUT«unshift_string() not implemented in class 'FixedStringArray'␤»
moritz_ oh crap 06:33
[Coke] and we've already talked to the RT admins. they're not going to unblock that domain, methinks.
(that was months and months ago, but)
diakopter windows task scheduler has worked for me for 18 years. two employments ago, it was mission critical at my office. 06:35
course I wrote scripts to programmatically schedule stuff. 06:36
moritz_ doesn't understand... 06:37
diakopter sorry.
moritz_ a minute ago ~p6eval/p2/bin/perl6 worked
and now it errors out too
diakopter a minute ago?
moritz_ a minute ago, ye
s
eternaleye Clearly, whatever is wrong is contagious. Once you were exposed to the breakage, it transmitted itself. 06:38
moritz_ diakopter: I'm now re-building an older rakudo manually on the p6eval box 06:55
[Coke] moritz_: are regetting parrot from scratch each time? 07:00
or doing an svn up ?
if doing an svn up, it's probably a good idea to realclean /first/, then svn up.
moritz_ [Coke]: usually svn up 07:03
[Coke] ok. safest way is prolly: 'make realclean ; svn up && perl Configure.pl --opts && make' 07:04
moritz_ the most robust approach would probably be a separate copy of the parrot repo, and then an svn export
and nuke the build tree every time
[Coke] because if the makefiles change during the svn up, the realclean may fail.
moritz_: even better.
moritz_ ah yes, the rebuild script already does the cleaning before Configure 07:06
but after svn up
pugssvn r30514 | moritz++ | [t/spec] rakudo unfudges 07:07
r30515 | moritz++ | [evalbot] clean before "svn up", Coke++
avar sorear: pong 07:15
sorear avar: Was wondering if you had any nice examples of DBI code for me to turn into examples. 07:16
avar there's some evil stuff in the guts of github.com/avar/hailo 07:24
moritz_ rakudo_hidden: say "foo" 07:29
p6eval rakudo_hidden : OUTPUT«sh: ../p/bin/perl6: No such file or directory␤»
moritz_ rakudo_hidden: say "foo" 07:30
p6eval rakudo_hidden : OUTPUT«sh: ../p/bin/perl6: No such file or directory␤»
sorear avar: Oooh shiny
moritz_ rakudo_hidden: say "foo"
p6eval rakudo_hidden : OUTPUT«sh: ../p/bin/perl6: No such file or directory␤»
sorear whee, fixed the final segfault in CGI:from<perl5> 07:57
moritz_ rakudo_hidden: say "foo" 08:04
p6eval rakudo_hidden c4857a: OUTPUT«foo␤»
moritz_ diakopter: could pleaes unhide rakudo? from p6eval? :-)
pmichaud mentioned that Rakudo already subclasses Cursor, but I can't find it in the source (except in src/core/Grammar.pm, but that's not used internally) 08:11
can somebody find it?
JimmyZ could find his patch in p6c 08:31
pugssvn r30516 | moritz++ | [t/spec] class A does NonExistentRole should mention role name in the error message 08:51
jnthn o/
moritz_ \o 08:54
jnthn going to airport soon
Is p6eval's Rakudo still busted?
rakudo: say "alive" 08:55
...I presume so.
moritz_ rakudo: say 'another test' 08:56
p6eval rakudo c4857a: OUTPUT«another test␤»
moritz_ \o/ it's back
it's an older version
jnthn \o/
Oh.
What's wrong with latest?
moritz_ but still, better than nothing
jnthn: excessive RAM usage 08:57
jnthn Ah, OK.
moritz_ btw I have a patch that makes Cool.match() use Grammar instead of Regexp::Cursor... spectesting as we speak
but for the other issue, adding \e back to regexes, I have no idea where to put it 08:58
jnthn Should need the same things in Grammar.pm and Actions.pm, but within the Perl6::Regex section of the file. 09:04
moritz_ ah, right 09:05
thanks, will try that after the current spectest run
jnthn Cool 09:13
Heading to the airport, maybe on later today from Iceland. o/ 09:14
moritz_ have a good flight
kokajxo hi there, give me something I can write a news about 09:18
moritz_ what kind of news? for whom? 09:19
kokajxo I write news for a french-newbies-website, and they might love Perl 09:20
where should I look to follow Perl 6 developpement and not miss big events ? 09:21
moritz_ planetsix.perl.org/ 09:22
and hang our here, of course :-)
kokajxo I already follow this site, but the news on it are too specific 09:24
moritz_ general news can be found the perl6-announce mailing list (low traffic) 09:25
kokajxo ok, thanks
and what if I want to get news about other Perl projects, like Catalyst ? 09:27
moritz_ blogs.perl.org, use.perl.org, perlsphere.net, ironman.enlightenedperl.org 09:28
www.perlmonks.org/?node=Perl%20News 09:29
kokajxo (my sentences sound wrong, I apologize for being so bad in English)
thanks a lot :)
moritz_ no problem; many of us in here are not native speakers
kokajxo what will be the last version of Perl 5 ? 09:30
moritz_ there's no plan to stop Perl 5 development 09:31
actually it seems to me that Perl 5 development is healthier than it has been for many years 09:32
kokajxo yes I read that
but there is no plan either to switch to Perl 6 ? 09:33
moritz_ well, every perl user has to decide on his own if he wants to switch to perl 6
kokajxo and what if the modules on CPAN are not rewritten ? won't it be problematic ? 09:35
moritz_ porting modules to Perl 6 is indeed an important task 09:36
but less pressing, now that perl 5 integration in rakudo works, to some degree
moritz_ huh, patching Str.match to use Grammar instead of Regex::Cursors causes the <.print> rule to fail - it tries to call Mu.print :( 09:37
maybe we need a separate subclass and then delegation
IllvilJa o/ 09:42
moritz_ \o
rakudo: say ~Str.^parents
p6eval rakudo c4857a: OUTPUT«Cool() Any() Mu()␤»
moritz_ huh, this is weird 09:47
even if I add \e to Perl6::Regex I get "Unrecognized backslash sequence" 09:48
Daniel8 Fatal error: Call to undefined method Net_SMTP::getGreeting() in /usr/local/lib/php/Mail/smtp.php on line 316 10:23
moritz_ Fatal error: wrong IRC channel
Daniel8 this is perl. 10:24
moritz_ Daniel8: and this is about developing Perl 6
aesop lol
Daniel8 Well someone directed me to the wrong place then. 10:25
moritz_ that happens, yes
I can recommend perlmonks.org
Daniel8 #perl5 is the channel I need to go to?
moritz_ #perl, more likely 10:25
moritz_ \o/ ./perl6 -e '"foo" ~~ /.+/; say $/.WHAT' 10:41
Match()
mathw \o/
mathw applauds
moritz_ now it just dies when there is a capture in the regex... 10:42
pmurias diakopter: 11:38
sorry pressed enter accidently
moritz_ rakudo: class M is Array { }; my $a = M.new; $a[0]; say $a 11:48
p6eval rakudo c4857a: OUTPUT«␤»
moritz_ rakudo: class M is Array { }; my $a = M.new; $a[0]; say $a[}]
p6eval rakudo c4857a: OUTPUT«Unable to parse postcircumfix:sym<[ ]>, couldn't find final ']' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
moritz_ rakudo: class M is Array { }; my $a = M.new; $a[0]; say $a[0]
p6eval rakudo c4857a: OUTPUT«␤»
moritz_ rakudo: class M is Array is Hash { }; my $a = M.new; $a[0]; say $a[0]
p6eval rakudo c4857a: OUTPUT«␤» 11:49
takadonet morning all 12:10
colomon o/ 12:19
dalek p-rx: 8712c4a | moritz++ | src/Regex/Cursor.pir:
create new match objects and arrays in separate methods that can easily be overridden from HLLs
12:31
p-rx: 5c23708 | moritz++ | src/Regex/Cursor.pir:
Merge remote branch 'origin/mob2'

simplify generation of HLL-specific match objects. There's a proof-of concept Rakudo branch 'mob3' which uses this new facility.
p-rx: 3f00ce8 | moritz++ | (5 files):
update stage0 files
12:37
bbkr rakudo: class A::B {}; my A $a; 13:46
p6eval rakudo c4857a: OUTPUT«In "my" declaration, typename A must be predeclared (or marked as declarative with :: prefix) at line 11, near " $a;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
bbkr so rt.perl.org/rt3/Ticket/Display.html?id=62900 can be closed? it's another ticket of Rakudo trying to access not declared class 13:47
rakudo: role A::B {}; say 42 ~~ A 13:48
p6eval rakudo c4857a: OUTPUT«Could not find sub &A␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
[Coke] what is a "sink expression" ? 13:50
snarkyboojum expression in void context? 13:51
or is that sink context 13:53
[Coke] used in reference to $^a in the recent ticket. 13:57
pugssvn r30517 | lwall++ | [STD] partial fix to prevent leakage of ::T from role signatures 14:10
r30517 | (current fix will lose sigs of file-scoped generic roles)
bbkr rakudo: sub foo { my $a = 5; say $^a }; foo(7); # rt.perl.org/rt3/Ticket/Display.html?id=64310 looks like solved, but I don't know in which S* look for test cases 14:19
p6eval rakudo c4857a: OUTPUT«Cannot assign to readonly value␤current instr.: '&die' pc 17391 (src/builtins/Junction.pir:410)␤»
bbkr rakudo: A.new 15:01
p6eval rakudo c4857a: OUTPUT«Could not find sub &A␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
bbkr why warning is about sub and not about class?
[Coke] you could run it through parrot perl6.pbc --target=POST to see what it parses to. 15:03
TimToady std: A.new 15:04
p6eval std 30517: OUTPUT«===SORRY!===␤Undeclared name:␤ 'A' used at line 1␤Check failed␤FAILED 00:01 109m␤»
TimToady std: a.new
p6eval std 30517: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'a' used at line 1␤Check failed␤FAILED 00:01 107m␤»
bbkr what is the difference between "rakudo" and "std" evals here? 15:06
colomon bbkr: in the expression A.new, A could be a class or a sub. Rakudo just assumes sub unless it knows otherwise.
TimToady std checks for definedness at check time (end of compile time); rakudo doesn't, and just assumes any unrecognized name is a post-declared function 15:07
bbkr ok, so rt.perl.org/rt3/Ticket/Display.html?id=69752 is solved now?
TimToady std's check is also guessing based on case 15:08
hence the 'name' vs 'routine' above
TimToady but it only guesses for a better message; has nothing to do with semantics 15:08
colomon bbkr: appears so. 15:09
bbkr in which t/S* should i look for the tests about accessing undefined methods? i'd like to check if it's tested before closing 15:10
TimToady S12 is appropriate for methods 15:11
but the above is not a missing method 15:12
ash_ rakudo: my $x *= 3; say $x;
p6eval rakudo c4857a: OUTPUT«3␤»
bbkr TimToady: then where tests for such case should be? in t/spec/S02-names_and_variables/names.t ? 15:17
moritz_ std: Module 15:19
p6eval std 30517: OUTPUT«ok 00:01 107m␤»
TimToady moritz_: note that std considers Module to be a role, not a class 15:22
bbkr: that sounds about right 15:23
woosley quit 15:26
bbkr TimToady: thanks, I'm adding test now... 15:27
ash_ rakudo: my $a := 3; 15:29
p6eval rakudo c4857a: OUTPUT«:= binding of variables not yet implemented␤current instr.: '&die' pc 17391 (src/builtins/Junction.pir:410)␤»
ash_ are Module's supposed to be more like classes or roles? or neither? 15:30
TimToady Module is just the interface for exporting, which classes also do; dunno whether a role can export 15:31
TimToady phenny: tell lichtkind in best-of tablet, for 1..15:by(-2) -> $i {...} 15:33
phenny TimToady: I'll pass that on when lichtkind is around.
TimToady phenny: tell lichtkind ...is wrong two ways, no ':by' anymore, and range doesn't autoreverse. use something like for 15,13...1 -> $i {...} 15:35
phenny TimToady: I'll pass that on when lichtkind is around.
pugssvn r30518 | moritz++ | [t/spec] test for RT #71478, sensible error message for passing two arguments to one hash parameter 15:46
ash_ oh, neat, is someone working on a STD p5 grammar? (i assume TimToady ?) 15:50
I just stumble upon it in the pugs code repository 15:52
moritz_ yes 15:53
for a well-behaved subset of P5
ash_ ah, cool 15:54
what do you mean by well-behaved?
moritz_ along the lines of what PPI can parse
ie if you don't run BEGIN blocks
ash_ got ya 15:55
TimToady STD_P5 is not really a p5 grammar yet, except for the regex bits
the rest of it is mostly just the p6 grammar with the p6-ey bits chopped out
so it's still a work in progress
actually, lately it's been a work in lack-of-progress :) 15:56
ash_ nq-nqp is nqp with out the regex bits... and the code generation, but i am working on that
TimToady however, I don't think STD_P5 will, long term, be restricted from running BEGIN
TimToady neither will STD_P6, for that matter... 16:01
moritz_ when STD_P6 can run perl 5 code, we'll call it "ponie" :-) 16:01
TimToady as with the 'eval' escape valve, we allow BEGIN, but try to make it unnecessary
or '6ouᴉƏ' 16:03
ash_ if i can get nq-nqp to run any of the test suite then i'll call it a success... my current stumbling block is runtime support >< 16:04
(the test suite was stolen from nqp-rx) 16:05
moritz_ ash_: is nq-nqp in a public repo anywhere?
ash_ yeah, github
github.com/ashgti/nq-nqp-rx
moritz_ tries to remember how cmake is called 16:07
ash_ cmake . 16:10
then just make 16:11
moritz_ well, first I need to install llvm and flex, it seems
ash_ i just updated the readme, it lists the version of all of the tools i am using 16:12
moritz_ seems older cmake versions don't recognize flex 16:13
ash_ what version are you using? 16:14
moritz_ 2.6.3
ash_ i haven't tried it on any other systems recently
moritz_ (the one that comes with Debian stable)
ash_ I could probably just run flex and bison locally, and put the generated code in my repo, i just haven't been since I make changes to them a lot still 16:16
moritz_ no worries
moritz_ tries to build llvm with 'make -j' 16:17
ash_ when you configure it, i'd recommend disabling all other targets except your host target 16:18
moritz_ load average is at 10, computer still responsive
ash_ it will try to build all of the targetable processors, which is a lot, and chances are you won't be using the llvm for cross compiling
moritz_ it's a nice experiment 16:19
load decreasing, peaked at ~20
moritz_ ok, crashed my computer after launching ~150 instances of g++ at once 16:23
TimToady role Foo[::T] { has T $.x }; my T $x; # should fail 2nd T
std: role Foo[::T] { has T $.x }; my T $x; # should fail 2nd T
p6eval std 30518: OUTPUT«===SORRY!===␤In my declaration, typename 'T' must be predeclared (or marked as declarative with :: prefix) at /tmp/XjyEDwng0S line 1:␤------> role Foo[::T] { has T $.x }; my T⏏ $x; # should fail 2nd T␤Malformed my at /tmp/XjyEDwng0S line
..1:␤----…
pugssvn r30519 | bbkr++ | added test for RT #69752 16:25
TimToady std: role Foo[::T]; my T $x; # shouldn't fail, but does 16:28
p6eval std 30519: OUTPUT«ok 00:01 110m␤»
TimToady or...not...
hmm... 16:29
std: role Foo[::T]; package Other { my T $x; }; 16:30
p6eval std 30519: OUTPUT«===SORRY!===␤In my declaration, typename 'T' must be predeclared (or marked as declarative with :: prefix) at /tmp/wnyohMBSvD line 1:␤------> role Foo[::T]; package Other { my T⏏ $x; };␤Malformed my at /tmp/wnyohMBSvD line 1:␤------> role
..F…
TimToady some kind of package pollution issue
std: role Foo[::T] { package Other { my T $x; }; } # double checking 16:31
p6eval std 30519: OUTPUT«ok 00:01 110m␤»
TimToady rakudo: role Foo[::T]; package Other { my T $x; }; 16:33
p6eval rakudo c4857a: ( no output )
TimToady rakudo: role Foo[::T]; my T $x;
p6eval rakudo c4857a: ( no output ) 16:34
TimToady rakudo: role Foo[::T];
p6eval rakudo c4857a: ( no output )
TimToady rakudo: role Foo[::T] {}
p6eval rakudo c4857a: ( no output )
TimToady rakudo: say 42
p6eval rakudo c4857a: OUTPUT«42␤»
bbkr rakudo: say rand * Inf # checking if rt.perl.org/rt3/Ticket/Display.html?id=70730 is fixed 16:35
p6eval rakudo c4857a: OUTPUT«Inf␤»
TimToady ⅋ ʞⅎɐ 16:45
pugssvn r30520 | bbkr++ | RT #70730 test added 16:46
bbkr rakudo: my @a = 1, 2, 3; my @b = (@a.shift for ^3); @b[0].WHAT 16:48
p6eval rakudo c4857a: OUTPUT«Method 'WHAT' not found for invocant of class 'ArrayIterator'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
bbkr rakudo: say ("x" ~~ Str).WHAT 16:52
p6eval rakudo c4857a: OUTPUT«Int()␤»
bbkr rakudo: say /()/.WHAT 16:56
p6eval rakudo c4857a: OUTPUT«␤Divide by zero␤current instr.: 'infix:</>' pc 303739 (src/gen/core.pir:3078)␤»
bbkr bug?
diakopter std: say /()/.WHAT 17:07
p6eval std 30520: OUTPUT«===SORRY!===␤Unmatched closing bracket at /tmp/hZDnwCuyq6 line 1:␤------> say /(⏏)/.WHAT␤ expecting regex atom␤Parse failed␤FAILED 00:01 110m␤»
mberends ^^ unmatched closing bracket? 17:14
diakopter std: say /( )/.WHAT 17:16
p6eval std 30520: OUTPUT«===SORRY!===␤Unmatched closing bracket at /tmp/BluFrgXo8Z line 1:␤------> say /( ⏏)/.WHAT␤ expecting regex atom␤Parse failed␤FAILED 00:01 108m␤»
diakopter std: say /(.)/.WHAT
p6eval std 30520: OUTPUT«ok 00:02 108m␤»
diakopter std: say /(|)/.WHAT
p6eval std 30520: OUTPUT«===SORRY!===␤Unmatched closing bracket at /tmp/Ks77RoGeg9 line 1:␤------> say /(|⏏)/.WHAT␤ expecting regex atom␤Parse failed␤FAILED 00:01 108m␤»
bbkr i added info to: rt.perl.org/rt3/Ticket/Display.html?id=71800 17:17
bbkr rakudo: sub loop() { say "OH HAI" }; loop() 17:21
p6eval rakudo c4857a: OUTPUT«Whitespace required after 'loop' at line 11, near "()"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤» 17:22
TimToady std: sub loop() { say "OH HAI" }; loop() 17:24
p6eval std 30520: OUTPUT«ok 00:01 109m␤»
bbkr it's already in RT, i was just checking
pugssvn r30521 | mberends++ | [vill] small adjustments for the recently released LLVM 2.7 17:26
r30522 | lwall++ | [STD] fix LTA null regex/unexpected bracket error messages discovered by diakopter++ 17:34
TimToady someday I need to unify <stopper> and $*GOAL 17:35
TimToady std: { package Foo; } 17:43
p6eval std 30521: OUTPUT«===SORRY!===␤Semicolon form of package definition must be at outermost level at /tmp/UJ19tYAP6U line 1:␤------> { package Foo⏏; }␤ expecting any of:␤ name␤ trait␤Parse failed␤FAILED 00:01 109m␤» 17:44
TimToady already found two *.t files that violate that :)
pugssvn r30523 | lwall++ | [t/spec] semicolon form of package declaration not allowed in subscope 18:04
pugssvn r30524 | lwall++ | [STD] minor message tweaks 18:24
[Coke] ANyone here going to yapc::na ? 18:37
pugssvn r30525 | moritz++ | [t/spec] test for RT #74608, time() is limited to zero arguments 18:47
kolibrie [Coke]: kolibrie is going to YAPC::NA 18:58
Tene [Coke]: I have thought about it, but not enough to remember where or when it is. I'd like to go, though. 19:03
pmurias diakopter: hi 19:07
diakopter hi\
colomon [Coke]: I'm going to yapc:na. 19:08
pugssvn r30526 | pmurias++ | [mildew] the perlesque backend runs hello world
colomon Columbus is very convenient for me, not much of a drive and family to stay with when I'm there.
pmurias diakopter: got hello world working under mildew's perlesque backend
dalek meta: r230 | pawelmurias++ | trunk/Sprixel/ (6 files):
added just enough runtime to run hello world compiled by mildew
19:09
diakopter pmurias: cool :)
pmurias: wow.. 19:10
that's..
cool. 19:11
what's the perlesque code that runs this?
pmurias: are you using an IDE? or did you modify the .csproj by hand? 19:13
diakopter just curious. 19:14
pmurias pastie.org/940710
diakopter: i modified .csproj by hand
is that wrong?
ash_ std: package Foo { our $a; }; 19:18
p6eval std 30525: OUTPUT«ok 00:01 110m␤»
diakopter pmurias: no :)
ash_ std: { package Foo; }
p6eval std 30525: OUTPUT«===SORRY!===␤Semicolon form of package definition not allowed in subscope;␤ please use block form at /tmp/tfHgxQHKiI line 1:␤------> { package Foo⏏; }␤ expecting any of:␤ name␤ trait␤Parse failed␤FAILED 00:01 107m␤»
ash_ std: { package Foo { our $a; }; } 19:19
diakopter pmurias: ha; what syntax highlighting language is that
p6eval std 30525: OUTPUT«ok 00:01 108m␤»
pmurias don't know i use App::Nopaste
diakopter pmurias: lol; it thinks it's Ruby 19:21
pmurias: I probably need to spend some time and make an App::Persistent perl5 program that wraps a persistent mono instance 19:24
diakopter maybe using sorear's pty thing 19:24
dalek meta: r231 | diakopter++ | trunk/Sprixel/src/Grammar/Grammar.cs:
[perlesque] generalize the type resolution, and add several more namespaces.
pmurias diakopter: how having an App::Persistent wrapper around mono would help? 19:25
diakopter the JIT (CIL to machine code) time of the compiled perlesque grammar/compiler is 80-90% of the startup time of perlesque.exe 19:26
compiling the first stage takes only .1s 19:27
but JITing that takes seconds
for mono, at least.
on windows, it's, like, an unnoticeable pause
.2s or something
pmurias on linux perlesque.exe takes 1.5 sec to start up
diakopter yeah
wait, startup, or also process empty input? 19:28
I'm referring to also processing empty input
pmurias 0.95 for processing a simple test 19:29
diakopter on windows if I do: perlesque.exe foo.txt (where foo.txt is an empty file), it's entirely finished in .3s
but on linux on the same machine it's like 10x slower (mono) 19:30
yes, in a VM
but still.
0.95 in addition to 1.5s?
pmurias but asmbly_1.exe runs in 0.086
diakopter yeah
pmurias diakopter: just 0.95
diakopter heh; ok.
your machine is much faster than mine I guess
pugssvn r30527 | moritz++ | [t/spec] Test for RT #73886, loading a class from inside a method 19:33
pmurias diakopter: having Sprixel accept perlesque_source_from_that_file newline output_bytecode_to_that_file newline in a loop should be enough to workaround the startup times 19:35
diakopter interesting
moritz_ FastCGI for compilers :-)
diakopter so that would be the program wrapped by App::Persistent? 19:36
pmurias App::Persistent works for perl stuff only
diakopter pthphphtphpht
b
pmurias ? 19:37
diakopter nm. I'll think/work about/on it and get back to you
masak ahoy, #perl6! 19:49
moritz_ ahoi 19:50
colomon o/ 19:51
masak I had to attend someone's bachelor party. bot now I'm back :)
moritz_ should I pity you? :-)
masak I don't see what difference it would make :) 19:52
but thanks for the concern.
pugssvn r30528 | pmurias++ | [mildew] add missing file
colomon I'm translating nice Perl 6 code into C++.... :)
(actually, not sure if that means you should pity me or pity my code....) 20:01
masak :)
masak wow, you've been active in RT today. 20:06
masak rakudo: sub foo { my $a = 5; say $^a }; foo(7); 20:10
p6eval rakudo c4857a: OUTPUT«Cannot assign to readonly value␤current instr.: '&die' pc 17391 (src/builtins/Junction.pir:410)␤»
[Coke] if anyone has more memory than sorear, I'd be interested to know if parrot's branches/codestring.pmc is faster than trunk for building rakudo - I've got some folks looking at some tricksy memory issues that my branch exacerbates, but if we can resolve this, I'm hoping it's a speed win. 20:11
masak bbkr: that's not an indication that the ticket is solved. it shouldn't get to run-time.
std: sub foo { my $a = 5; say $^a }; foo(7);
p6eval std 30528: OUTPUT«Potential difficulties:␤ Useless redeclaration of variable $a (see line 1) at /tmp/Wm8LdU65IV line 1:␤------> sub foo { my $a = 5; say $^a⏏ }; foo(7);␤ok 00:01 110m␤»
[Coke] (works great for me with 2G. =-)
masak rakudo: say /[]/.WHAT 20:14
p6eval rakudo c4857a: OUTPUT«␤Divide by zero␤current instr.: 'infix:</>' pc 303739 (src/gen/core.pir:3078)␤»
moritz_ now that's weird
masak it's funny :)
moritz_ rakudo: / /
p6eval rakudo c4857a: OUTPUT«Null regex not allowed at line 11, near ""␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
masak std: say /[]/.WHAT
p6eval std 30528: OUTPUT«===SORRY!===␤Null pattern not allowed at /tmp/MLXbMLWCyY line 1:␤------> say /[⏏]/.WHAT␤ expecting regex atom␤Parse failed␤FAILED 00:01 108m␤»
moritz_ rakudo: /[ ] /
p6eval rakudo c4857a: ( no output )
pugssvn r30529 | moritz++ | [t/spec] fudge operator-overload/subs.t for rakudo 20:15
dalek kudo: d12eed6 | moritz++ | t/spectest.data:
run S06-operator-overloading/sub.t
20:16
jnthn made it to Iceland o/
masak jnthn! 20:17
moritz_ \o/
masak jnthn: how's Iceland?
jnthn Awesome so far.
colomon \o/
jnthn Been swimming in power plant waste water.
masak o.O 20:18
jnthn masak: It's WAY better than it sounds! 20:18
[Coke] jnthn: ... it would have to be.
colomon it's warm
moritz_ jnthn: geothermal power plant?
jnthn moritz_: Right. :-)
masak phew.
patrickas jnthn: Nuclear power plant ? 20:19
moritz_ well, earther warmth is certainly nuclear
*earth
colomon heat pollution from the waste water from the coal burning plants near my parents' house means the river hasn't frozen over enough to walk to Canada in 60 years.... :) 20:20
jnthn Look up Blue Lagoon if you want to see a slightly better phrased description. ;-) 20:21
masak kokajxo: saluton, haven't seen you here before. 20:25
yay, the Match branch landed! 20:27
moritz_ masak: nope
masak: it works fine... as long as the regex contains no captures
masak bah. who needs captures? :) 20:28
moritz_ then it complains that set_pmc_keyed is not implemented in class Match
masak any idea what's wrong?
that sounds familiar-ish.
moritz_ and I don't know how to install a vtable override in the setting 20:28
masak nor I.
moritz_ jnthn: do you know that, by any chance? 20:29
jnthn moritz_: Nothing specific without digging a bit more deeply.
moritz_ the second problem with that branch is: I need to use a class that inherits from Regex::Cursor for matching (here: Grammar) 20:35
and this somehow introduces an inheritance from Mu 20:36
(don't know why...)
so that <.print> calls Mu.print
=> epic fail
masak indeed.
that method name keeps causing problems :)
in alpha it was that match objects didn't print when calling .print on them, because that method was overridden... 20:37
alpha: "foo" ~~ /foo/; $/.print
p6eval alpha 30e0ed: ( no output )
masak rakudo: "foo" ~~ /foo/; $/.print
p6eval rakudo c4857a: OUTPUT«Method 'print' not found for invocant of class 'Regex;Match'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
moritz_ that problem shouldn't exist in he branch
masak good. 20:38
moritz_ because Match objects are very detached from the cursor
masak aye.
I like that.
moritz_ and I don't understand where the other error comes from
masak I don't understand it fully yet, but I like it.
moritz_ I have class Grammar is Regex::Cursor {
and Regex::Cursor is a NQP class 20:39
not a parrot class
so why does it ever dispatch to Mu.print?
maybe I have to do a more careful analysis
masak I got an interesting comment from a Perl5er on my last blog post: use.perl.org/~masak/journal/40333 -- I've replied, and then he's replied to my reply. basically, he thinks the code I'm linking to in the post looks more line-noisy than Perl 5 code. 20:40
maybe I've adopted a very abbreviated style when writing Perl 6, I dunno. but I honestly don't think it's that line-noisy. would be interesting to hear other people's comments too.
(note: there's a part gone missing from the code he pasted, since it contained unescaped angle brackets) 20:41
sorear moritz_: g++ crashed your entire computer? now /that/ is impressive 20:42
moritz_ sorear: 150 parallel invocations of g++
sorear: my mistake was to build llvm with 'make -j' (no concurrency limit) 20:43
masak ouch. 20:44
sorear [Coke]: Funny, since I have 2G of swap and it runs out every time 20:45
lisppaste3 moritz_ pasted "<.print> backtrace in 'mob3' branch" at paste.lisp.org/display/98620
sorear moritz_: still, I'm amazed and saddened that a modern OS can be crashed with something as crude as a forkbomb 20:46
moritz_ sorear: aye; forbidding memory overcommit would likely solve it, but so far I haven't bothered 20:47
sorear overcommit's been pretty nice to me 20:47
usually it takes out the compilers
so what was the failure mode? 20:48
moritz_ display frozen; no response while trying to ssh it
sorear: do you happen to know how to override a vtable in Perl 6? 20:49
[Coke] sorear: *sigh* 2G of /real/ memory is what I have. Yes, I know we're pushing the limits on your box. working on it. 20:50
sorear [Coke]: Sorry, I thought you meant that it didn't even hit swap. 20:51
Which would be quite weird for it to use less total memory for you
moritz_: find the underlying Class object and call .add_vtable_override on it 20:52
moritz_ the second part sounds easy :-)
moritz_ sorear: thanks, I think I have a way forward (even if it looks nasty :-) 20:58
moritz_ decides to give up his vtable override attempts for tonight, and goes to bed instead 21:24
masak sleep tight. 21:25
diakopter upgrades mono on p6eval 22:38
sorear diakopter: Is the new version any better? 23:04
diakopter sorear: dunno. hoping it'll resolve the MissingMethodExceptions I get on mono (but not on .NET) 23:29
when I do something like this:
diakopter perlesque: my $a = AssemblyGen.new('hi'); 23:29
p6eval perlesque: OUTPUT«␤Unhandled Exception: System.MissingMethodException: Cannot find constructor␤ at TriAxis.RunSharp.Exp.New (System.Type type, TriAxis.RunSharp.Operand[] args) [0x00000] in <filename unknown>:0 ␤ at TriAxis.RunSharp.Exp.New (System.Type type) [0x00000] in <filename unknown>:0 ␤
..at…
diakopter there is a definitely a constructor for AssemblyGen that takes a clr string. 23:30
(because .NET finds it on windows) 23:31
(and b/c I see it in the source code; heh)
diakopter code.google.com/p/csmeta/source/bro...Gen.cs#148 23:31
diakopter oops, no. code.google.com/p/csmeta/source/bro...Gen.cs#196 23:32
diakopter mono has always had lots of rough edges like that. 23:33
from what I can tell.
I need AssemblyGen so I can move on to the next step... doing codegeneration from the perlesque input itself 23:44
[Coke] any p6-book people about? 23:46
[Coke] heads to github. 23:49
sorear #perl6book ?
sorear std: my bit @array = <0 0>; 23:54
p6eval std 30529: OUTPUT«ok 00:01 110m␤»
sorear std: my bit @array = <0 0>; $array[0] := $array[1]; $array[1] = 1; say $array[0]; # not that std will catch this likely, but how is it to work? I don't see it forbidden in the spec 23:55
p6eval std 30529: OUTPUT«===SORRY!===␤Variable $array is not predeclared (did you mean @array?) at /tmp/hEMQFO63hJ line 1:␤------> my bit @array = <0 0>; $array⏏[0] := $array[1]; $array[1] = 1; say $ar␤Variable $array is not predeclared (did you mean @array?) at
../tmp/hE…
sorear std: my bit @array = <0 0>; @array[0] := @array[1];
p6eval std 30529: OUTPUT«ok 00:01 109m␤»
lue rakudo: my bit @array = <0 0>; @array[0] := @array[1]; 23:57
p6eval rakudo c4857a: OUTPUT«Malformed my at line 11, near "bit @array"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»