Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-03-14

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:03 dalek nqp/ctmo: f35478c | jonathan++ | src/NQP/Actions.pm:
00:03 dalek nqp/ctmo: Oops, forgot to pass args along to MAIN.
00:03 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/f35478c968
00:03 dalek nqp/ctmo: 42e8507 | jonathan++ | src/stage0/ (6 files):
00:03 dalek nqp/ctmo: Bootstrap with fixed @ARGS; need that for the compiler itself.
00:03 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/42e850785b
00:06 fisted_ is now known as fisted
00:10 dalek nqp/ctmo: 9179b83 | jonathan++ | src/NQP/Compiler.p (2 files):
00:10 dalek nqp/ctmo: Final switch over to having everything in Compiler.pm; toss Compiler.pir. For the first time, this means you can now write a compiler totally in NQP, without needing to write any PIR.
00:10 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/9179b83bf8
00:10 tyatpi_ left #perl6
00:10 jnthn ...which is good news given I've got a compiler writing talk to give in Taiwan in a couple of weeks. :)
00:10 jnthn ooh, less than that, akshually. :)
00:20 coldhead who is the audience?
00:22 jnthn coldhead: It'll be at http://osdc.tw/
00:24 coldhead nice gig! that looks fun
00:24 jnthn Yes! Never went to Taiwan before. So pretty excited. :)
00:25 dalek nqp/ctmo: ca5da70 | jonathan++ | build/Makefile.in:
00:25 dalek nqp/ctmo: Fix make bootstrap-files.
00:25 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/ca5da70d13
00:25 dalek nqp/ctmo: 162e287 | jonathan++ | src/stage0/ (6 files):
00:25 dalek nqp/ctmo: Update bootstrap with fully-NQP NQP.pbc (mostly just to make sure it works ;-)).
00:25 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/162e287a98
00:27 tyatpi_ joined #perl6
00:32 Chillance left #perl6
00:34 risou left #perl6
00:35 jnthn Phew. Looks like there's only one of the NQP PBCs that will not be able to become fully processed by the NQP compiler. That'll greatly reduce the pain of the GLOBAL transition.
00:35 risou joined #perl6
00:35 jnthn sleep &
00:36 gimix left #perl6
00:49 woosley joined #perl6
00:59 tyatpi_ left #perl6
01:03 Intensity left #perl6
01:14 jaldhar left #perl6
01:19 Intensity joined #perl6
01:21 jaldhar joined #perl6
01:24 tom_tsuruhara joined #perl6
01:25 c1sung joined #perl6
01:33 takadonet1 left #perl6
01:34 Holy_Cow joined #perl6
01:51 awj left #perl6
01:53 awj joined #perl6
01:59 Holy_Cow left #perl6
02:02 whiteknight left #perl6
02:03 noganex left #perl6
02:05 noganex joined #perl6
02:06 tom_tsuruhara left #perl6
02:07 icwiener left #perl6
02:10 _twitch joined #perl6
02:12 fith left #perl6
02:17 fith joined #perl6
02:18 flussence_ takadonet: ping
02:19 flussence_ I'm pretty much finished with Text-Tabs-Wrap now, gonna push it if there's no objections soon :)
02:20 colomon push!
02:20 flussence_ done :)
02:28 colomon \o/
02:37 gdey joined #perl6
02:45 takadonet1 joined #perl6
02:45 takadonet1 flussence_: you called?
02:53 takadonet1 flussence_: good job sir :)
03:01 agentzh joined #perl6
03:03 takadonet1 flussence_++
03:04 sorear hello takadonet1
03:04 takadonet1 sorear: yo
03:11 donri left #perl6
03:28 takadonet1 sleep &
03:28 takadonet1 left #perl6
03:31 tyatpi_ joined #perl6
03:35 risou_ joined #perl6
03:36 risou left #perl6
03:51 fith left #perl6
04:08 jaldhar left #perl6
04:08 jaldhar joined #perl6
04:25 Bzek left #perl6
04:26 Bzek joined #perl6
04:36 risou joined #perl6
04:38 risou_ left #perl6
04:45 kuzuha joined #perl6
04:48 justatheory left #perl6
04:53 nymacro joined #perl6
05:07 tyatpi_ left #perl6
05:12 risou_ joined #perl6
05:15 risou left #perl6
05:21 satyavvd joined #perl6
05:21 satyavvd left #perl6
05:21 satyavvd joined #perl6
05:39 satyavvd left #perl6
05:39 jaldhar left #perl6
05:39 noganex left #perl6
05:39 Intensity left #perl6
05:39 mtk left #perl6
05:39 [particle] left #perl6
05:39 lue left #perl6
05:39 Tedd1 left #perl6
05:39 shachaf left #perl6
05:39 aindilis left #perl6
05:39 flatwhatson_ left #perl6
05:39 eternaleye left #perl6
05:39 ponbiki left #perl6
05:39 jevin left #perl6
05:39 Eevee left #perl6
05:39 tadzik left #perl6
05:39 jdhore left #perl6
05:39 cibs left #perl6
05:39 JodaZ left #perl6
05:41 orafu left #perl6
05:42 orafu joined #perl6
05:56 satyavvd joined #perl6
05:56 jaldhar joined #perl6
05:56 noganex joined #perl6
05:56 Intensity joined #perl6
05:56 mtk joined #perl6
05:56 [particle] joined #perl6
05:56 lue joined #perl6
05:56 Tedd1 joined #perl6
05:56 shachaf joined #perl6
05:56 aindilis joined #perl6
05:56 flatwhatson_ joined #perl6
05:56 eternaleye joined #perl6
05:56 ponbiki joined #perl6
05:56 jevin joined #perl6
05:56 Eevee joined #perl6
05:56 tadzik joined #perl6
05:56 jdhore joined #perl6
05:56 cibs joined #perl6
05:56 JodaZ joined #perl6
06:03 mberends left #perl6
06:11 starcoder left #perl6
06:13 starcoder joined #perl6
06:15 awwaiid left #perl6
06:27 awwaiid joined #perl6
06:28 moritz_ good morning
06:28 sorear HELLO MORITZ
06:30 * moritz_ covers his ears... still early in the morning here :-)
06:30 xinming_ joined #perl6
06:33 xinming left #perl6
06:36 awwaiid left #perl6
06:38 kaare_ joined #perl6
06:42 awwaiid joined #perl6
06:47 wtw joined #perl6
06:51 cjk101010 joined #perl6
06:57 cjk101010 left #perl6
06:58 moritz_ nqp: my $x; pir::set__ip($x, 3.5); say($x)
06:58 p6eval nqp: OUTPUT«sh: ./nqp: not found␤»
06:59 sorear nqpnet: my $x; say($x)
06:59 p6eval nqpnet: OUTPUT«(timeout)access in find_method('compile')␤current instr.: 'main' pc 91202 (gen_grammar.pir:1151)␤make: *** [NQPSetting.dll] Error 1␤»
06:59 sorear yapsi: say 5
06:59 p6eval yapsi: OUTPUT«===SORRY!===␤Unable to find module 'Yapsi' in the @*INC directories.␤(@*INC contains:␤  lib␤  /home/p6eval/.perl6/lib␤  /home/p6eval//p2/lib/parrot/3.1.0-devel/languages/perl6/lib␤  .)␤»
06:59 sorear mildew: say(5)
06:59 p6eval mildew: OUTPUT«sh: /home/mildew/perl5/perlbrew/bin/perl: not found␤»
07:00 sorear partcl: print 5
07:00 p6eval partcl 3977a9: OUTPUT«invalid command name "print"␤    while executing␤HLL::Compiler::eval␤    (file "<unknown file>" line 151)␤PCT::HLLCompiler::evalfiles␤    (file "<unknown file>" <unknown line>)␤PCT::HLLCompiler::command_line␤    (file "<unknown file>" <unknown line>)␤main␤    (file "<unknown
07:00 p6eval ..file>"…
07:03 sorear partcl: puts 5
07:03 kuzuha left #perl6
07:03 p6eval partcl 3977a9: OUTPUT«5␤»
07:03 sorear perlesque: say(5)
07:03 p6eval perlesque: OUTPUT«5␤»
07:03 sorear star: say 5
07:03 p6eval star 2010.09:  ( no output )
07:03 sorear alpha: say 5
07:03 p6eval alpha : OUTPUT«5␤»
07:03 sorear nqprx: say(5)
07:03 p6eval nqprx: OUTPUT«5␤»
07:04 sorear pugs: say 5
07:04 p6eval pugs: OUTPUT«5␤»
07:04 sorear yapsi: say 5
07:04 p6eval yapsi: OUTPUT«===SORRY!===␤Unable to find module 'Yapsi' in the @*INC directories.␤(@*INC contains:␤  lib␤  /home/p6eval/.perl6/lib␤  /home/p6eval//p2/lib/parrot/3.1.0-devel/languages/perl6/lib␤  .)␤»
07:04 moritz_ elf: say 5
07:04 sorear elf is commented out
07:04 moritz_ zwölf: say 5
07:04 moritz_ *SCNR*
07:04 sorear of the non-commented-out implementations, yapsi, star, mildew, nqpnet, and nqp are broken
07:05 moritz_ I'm currently doing an upgrade in the chroot
07:05 sorear I'm amazed pugs still works
07:05 moritz_ to be able to install perl-doc
07:05 moritz_ which nqp needs for compilation (?)
07:05 cjk101010 joined #perl6
07:06 * sorear out
07:07 vert2 left #perl6
07:08 vert2 joined #perl6
07:12 moritz_ nqp: my $x; pir::set__ip($x, 3.5); say($x)
07:12 p6eval nqp: OUTPUT«The opcode 'set_i_p_p' (set<3>) was not found. Check the type and number of the arguments␤current instr.: 'nqp;HLL;Compiler;evalpmc' pc 30577 (gen/hllgrammar-grammar.pir:2153)␤»
07:12 moritz_ nqp: my $x; pir::set__pi($x, 3.5); say($x)
07:12 p6eval nqp: OUTPUT«The opcode 'set_p_i_i' (set<3>) was not found. Check the type and number of the arguments␤current instr.: 'nqp;HLL;Compiler;evalpmc' pc 30577 (gen/hllgrammar-grammar.pir:2153)␤»
07:13 moritz_ nqp: my $x; $x = pir::set__pi(3.5); say($x)
07:13 p6eval nqp: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 1, near " pir::set_"␤current instr.: 'nqp;HLL;Grammar;panic' pc 17577 (gen/hllgrammar-grammar.pir:5028)␤»
07:13 moritz_ nqp: my $x; $x := pir::set__pi(3.5); say($x)
07:13 p6eval nqp: OUTPUT«Null PMC access in set_integer_native()␤current instr.: '_block11' pc 17 (EVAL_1:28875782)␤»
07:13 moritz_ nqp: my $x = 2; $x := pir::set__pi(3.5); say($x)
07:13 p6eval nqp: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 1, near " 2; $x := "␤current instr.: 'nqp;HLL;Grammar;panic' pc 17577 (gen/hllgrammar-grammar.pir:5028)␤»
07:13 moritz_ nqp: my $x := 2; $x := pir::set__pi(3.5); say($x)
07:13 p6eval nqp: OUTPUT«Null PMC access in set_integer_native()␤current instr.: '_block11' pc 17 (EVAL_1:1086)␤»
07:13 moritz_ how do I coerce to integer in nqp?
07:22 risou_ left #perl6
07:23 risou joined #perl6
07:23 TiMBuS erm,
07:23 TiMBuS nqp: my $x := 2; $x := pir::set__ip(3.5); say($x);
07:23 p6eval nqp: OUTPUT«3␤»
07:24 TiMBuS im not sure if thats what you wanted
07:26 sftp left #perl6
07:31 fhelmberger joined #perl6
07:33 mtk left #perl6
07:38 risou_ joined #perl6
07:40 risou left #perl6
07:41 mtk joined #perl6
07:43 risou joined #perl6
07:46 risou_ left #perl6
08:01 moritz_ it is
08:01 moritz_ TiMBuS++
08:06 moritz_ nqp: my $d := 5; $d := pir:.set__ip($d / 2); say($d)
08:06 p6eval nqp: OUTPUT«Confused at line 1, near "$d := pir:"␤current instr.: 'nqp;HLL;Grammar;panic' pc 17577 (gen/hllgrammar-grammar.pir:5028)␤»
08:06 moritz_ nqp: my $d := 5; $d := pir::set__ip($d / 2); say($d)
08:06 p6eval nqp: OUTPUT«2␤»
08:08 ymasory left #perl6
08:10 moritz_ nqp: map({$_ + 1}, [1, 2, 3])
08:10 p6eval nqp: OUTPUT«Symbol '$_' not predeclared in <anonymous>␤current instr.: 'nqp;PCT;HLLCompiler;panic' pc 146 (compilers/pct/src/PCT/HLLCompiler.pir:107)␤»
08:10 moritz_ nqp: map(-> $_ {$_ + 1}, [1, 2, 3])
08:10 p6eval nqp: OUTPUT«Could not find sub map␤current instr.: '_block11' pc 70 (EVAL_1:30)␤»
08:29 jnthn morning o/
08:30 mj41_nb joined #perl6
08:30 moritz_ \o
08:30 dalek nqp/ctmo: 1308785 | moritz++ | src/HLL/Actions.pm:
08:30 dalek nqp/ctmo: get rid of a Q:PIR block that is available as a pir:: primitive
08:30 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/1308785fa6
08:30 dalek nqp/ctmo: 43a41af | moritz++ | src/HLL/Actions.pm:
08:30 dalek nqp/ctmo: convert string_to_int to nqp
08:30 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/43a41afca8
08:30 dalek nqp/ctmo: ea95252 | moritz++ | src/HLL/Actions.pm:
08:30 dalek nqp/ctmo: rewrite ints_to_string in nqp
08:30 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/ea95252daf
08:30 dalek nqp/ctmo: 7046f2c | moritz++ | src/stage0/ (6 files):
08:30 dalek nqp/ctmo: update bootstrap, just to show that it still works :-)
08:30 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/7046f2cfaa
08:31 Mowah joined #perl6
08:32 dalek nqp/ctmo: 9e6576b | moritz++ | src/HLL/Actions.pm:
08:32 dalek nqp/ctmo: remove the last Q:PIR from HLL::Actions
08:32 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/9e6576b255
08:32 jnthn moritz_: nqp needs perldoc to compile?
08:32 moritz_ jnthn: to configure, it seems
08:33 moritz_ jnthn: I was rather surprised
08:33 moritz_ jnthn: I have a few hacking hours allocated today and tomorrow, if you find new LHFs I'm happy to pick them
08:36 jnthn moritz_: One LHF is to make P6Regex.pir go away :)
08:36 jnthn Should be easy
08:36 jnthn See how I got rid of NQP's Compiler.pir.
08:38 moritz_ will do
08:38 jnthn HLL.pir can also eventually go but that's some more steps and a little trickier.
08:39 jnthn But may be possible to make some steps towards that.
08:39 moritz_ if in doubt I'll comb the sources for Q:PIR blocks and try to rewrite them in nqp
08:39 jnthn Regex.pir is chock full of PIR code so I think that one has to stay.
08:39 moritz_ not all are LHFs, but many are managable
08:40 jnthn Basically my aim is that NQP "manages" the compilation of as many of the modules as possible.
08:40 jnthn A bit of Q:PIR is nice to remove but not a problem for that.
08:40 jnthn It's to do with making it easier to do the new package var handling, GLOBAL merging etc.
08:42 moritz_ do I need to worry about P6Regex.pir being in the 'nqp' HLL?
08:42 jnthn No (more)
08:43 jnthn The compiler emits a bunch of stuff now like .HLL and the various .loadlib, and other setup bits
08:43 jnthn It's got a lot better at generating code that Just Works :)
08:44 moritz_ so I'll just try the simplest thing that could possibly work
08:44 moritz_ and investigate if it fails
08:53 jnthn :)
08:54 mathw Morning
09:04 moritz_ nqp: class Test is HLL::Compiler { }
09:04 p6eval nqp:  ( no output )
09:05 moritz_ nqp: class Test is HLL::Compiler { }; my $t = HLL::Compiler.new()
09:05 p6eval nqp: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 1, near " HLL::Comp"␤current instr.: 'nqp;HLL;Grammar;panic' pc 17577 (gen/hllgrammar-grammar.pir:5028)␤»
09:05 moritz_ nqp: class Test is HLL::Compiler { }; my $t := HLL::Compiler.new()
09:05 p6eval nqp:  ( no output )
09:07 jnthn nqp: class Test is HLL::Compiler { }; my $t := HLL::Compiler.new(); say($t.WHAT)
09:07 p6eval nqp: OUTPUT«Compiler()␤»
09:08 jnthn nqp: class Test is HLL::Compiler { }; my $t := Test.new(); say($t.WHAT)
09:08 p6eval nqp: OUTPUT«Test()␤»
09:10 moritz_ $ wc -l src/stage1/gen/p6regex-compiler.pir
09:10 moritz_ 166 src/stage1/gen/p6regex-compiler.pir
09:10 moritz_ I have a backtrace containing
09:10 moritz_ src/stage1/gen/p6regex-compiler.pir:28683368
09:10 moritz_ :-)
09:11 mathw oh no it's a backtrace from the future
09:11 mathw when p6regex-compiler.pir contains a complete AI
09:12 mathw (which is really good at compiling regexes)
09:12 * moritz_ hopes tardis can travel that far into the future
09:20 Bzek left #perl6
09:22 Mowah left #perl6
09:27 dalek nqp/ctmo-no-p6regex.pir: b33dc05 | moritz++ | / (3 files):
09:27 dalek nqp/ctmo-no-p6regex.pir: first shot at removing P6Regex.pir. Diws with "Can only use get_how on a RakudoObject"
09:27 dalek nqp/ctmo-no-p6regex.pir: review: https://github.com/perl6/nqp/commit/b33dc053e9
09:36 jnthn moritz_: That could happen if you try to inherit from something that's not found, or some such.
09:38 risou_ joined #perl6
09:40 Mowah joined #perl6
09:41 risou left #perl6
09:46 tzhs joined #perl6
09:51 dakkar joined #perl6
09:53 moritz_ jnthn: curiously it even happens if I do not inherit at all
09:54 woosley left #perl6
09:58 jnthn Well, there are other ways it can happen...
09:58 jnthn It's almost always unloaded/missing dependency
10:09 tzhs left #perl6
10:19 daxim joined #perl6
10:27 tzhs joined #perl6
10:32 fisted_ joined #perl6
10:33 fisted left #perl6
10:39 risou joined #perl6
10:39 toebu joined #perl6
10:40 risou_ left #perl6
10:52 jww left #perl6
10:54 jww joined #perl6
11:39 risou left #perl6
11:39 risou joined #perl6
11:55 fhelmberger_ joined #perl6
11:55 fhelmberger left #perl6
12:01 bbkr_ left #perl6
12:02 bbkr_ joined #perl6
12:06 [Coke] .
12:11 moritz_ .?
12:19 leprevost joined #perl6
12:25 bluescreen10 joined #perl6
12:25 tzhs left #perl6
12:44 coldhead left #perl6
12:49 cognominal cognominal wonders what is the purpose of all the branches created by jnthn in nqp
12:51 cognominal just a way to prod jnthn to blog more :)
12:51 wtw left #perl6
12:54 pyrimidine joined #perl6
12:55 * moritz_ created at least two of them, and never finished them :(
12:55 cognominal to bad git does not oblige to specify the purpose of a branch when created
12:57 moritz_ ctmo = compile-time meta objects
12:57 moritz_ that's the msot active branch right now
12:58 cognominal I suppose the goal is to solve an chicken egf problem
12:58 cognominal *egg
12:58 cognominal what we call bootstrapping :)
13:00 jnthn I may merge ctmo soonish. It didn't achieve its goals but it's a bad name for what needs to happen next... :)
13:00 jnthn And it has some nice improvements in, and doesn't regress anything.
13:06 Holy_Cow joined #perl6
13:07 satyavvd left #perl6
13:11 [particle] left #perl6
13:12 [particle] joined #perl6
13:14 flussence_ std: enum WordWrap is export <wrap overflow die>;
13:14 p6eval std 4608239: OUTPUT«ok 00:01 118m␤»
13:14 flussence_ rakudo: enum WordWrap is export <wrap overflow die>;
13:14 p6eval rakudo 592e29: OUTPUT«Could not find sub &export␤  in main program body at line 22:/tmp/mH_xYojS5s␤»
13:14 flussence_ rakudo: enum WordWrap <wrap overflow die>;
13:14 p6eval rakudo 592e29:  ( no output )
13:14 flussence_ rakudo: enum WordWrap <wrap overflow die>; say 'alive';
13:14 p6eval rakudo 592e29: OUTPUT«alive␤»
13:14 flussence_ hm
13:15 colomon std: enum WordWrap <wrap overflow die>;
13:15 p6eval std 4608239: OUTPUT«ok 00:01 118m␤»
13:15 takadonet flussence_: you really love that module   :)
13:15 flussence_ if it's worth doing it's worth doing right :)
13:16 flussence_ (and I need the practice so I can go finish .indent)
13:17 icwiener joined #perl6
13:19 jnthn is export doesn't yet work on as many things as it should. I'll try and fix it in the not too distant future.
13:22 MayDaniel joined #perl6
13:26 mtk left #perl6
13:32 mtk joined #perl6
13:39 MayDaniel left #perl6
13:40 sftp joined #perl6
13:49 mj41_nb left #perl6
13:49 donri joined #perl6
13:51 flussence_ enum-inside-module doesn't seem to work :(
14:01 kaare_ left #perl6
14:07 alester joined #perl6
14:08 tyatpi_ joined #perl6
14:09 agentzh left #perl6
14:11 plainhao joined #perl6
14:24 mj41_nb joined #perl6
14:28 pmurias joined #perl6
14:35 kaare_ joined #perl6
14:40 plainhao left #perl6
14:40 plainhao joined #perl6
14:45 Lorn left #perl6
14:51 amkrankr1leuen is now known as amkrankruleuen
14:51 amkrankruleuen left #perl6
14:51 amkrankruleuen joined #perl6
14:56 tzhs joined #perl6
14:56 Helios` left #perl6
15:00 tervo joined #perl6
15:00 tervo hi
15:00 tervo is there a cleaner way to do this regex
15:00 tervo $regsubex($regsubex($regsubex($regsubex($regsubex($regsubex($regsubex($regsubex($$1,/([\[\]{}()\\|^$?*+.])/g,\\1),/([A-Z][A-Z]+)/g,[A-Z]+),/([A-Z])(?!-|\])/g,[A-Z]),/([a-z][a-z]+)/g,[a-z]+),/([a-z])(?!-|\])/g,[a-z]),/(\d\d+)/g,\d+),/(\d)(?!\+)/g,\d),/(_+)/g,_+)
15:00 tervo thanks for an yusggestions
15:01 moritz_ tervo: since you are in #perl6: use Perl 6 regexes, and write a proper grammar
15:01 tervo what would be the perl6 version of that?
15:01 Helios` joined #perl6
15:01 tervo havent tried perl6 yet
15:01 moritz_ what is in $regesubex?
15:01 dip joined #perl6
15:02 dip is now known as Guest48312
15:02 tervo regex substitution
15:03 Guest48312 left #perl6
15:03 dipthegeezer joined #perl6
15:03 moritz_ my $regesubex = 'regex substitution';  or what?
15:03 tervo [A-Z][a-z]+\d+ :: [A-Z][a-z]+\d+
15:03 PacoLinux joined #perl6
15:03 tervo /say $pattern.regex(Floodbot32834) :: $pattern.regex(Floodbot234356)
15:04 tervo $pattern.regex(gfdkjaht64373) :: $pattern.regex(yiuyf435)
15:04 tervo [a-z]+\d+ :: [a-z]+\d+
15:04 gdey left #perl6
15:04 tervo and again it automatically morphs itself to any randomzied pattern
15:04 tervo clonesx proxy floods, the bots are all forced to use the same pattern
15:05 moritz_ that $$1 confuses me
15:05 tervo the nicks are usually read from file
15:05 moritz_ that's parsed as  $ (end of line) and then $1 (interpolation of $1 from previous regex match), right?
15:06 tervo yes correct
15:06 pmurias left #perl6
15:07 moritz_ I guess you need to assign that to another variable first in perl 6, because $0, $1 etc. refer to the current captures
15:07 moritz_ see http://perlcabal.org/syn/S05.html for the details
15:07 * moritz_ thinks his sanity is too precious to disset that regex, and rewrite it in Perl 6
15:10 twinshadow ha ha. Yeah... It really should be split into qr// variables, but my guess is that it's copied from JAPH script
15:12 tervo you mean i copeied it?
15:13 twinshadow Well... are you implying you actually _typed_ that?
15:13 tervo yes not here but yes i made that rgeex
15:14 timbunce joined #perl6
15:15 twinshadow In perl5, you can use $var = qr/regex/; to hold regex strings you can use in another regex like this: $foo =~ /$bar::$baz/;
15:15 twinshadow read perlop for more about qr//
15:16 timbunce left #perl6
15:18 gbacon joined #perl6
15:35 tervo does freenode use dyanmic regexing to combat flooders, spammers?
15:37 * moritz_ has no idea
15:44 gdey joined #perl6
15:50 leprevost left #perl6
15:53 flussence_ I'd imagine freenode does simple behavioural analysis to catch misbehaving clients
15:56 tervo heh anyhow
15:56 tervo left #perl6
15:57 * flussence_ is still unsure which side of the fence that guy's on
16:09 sorear good * #perl6
16:12 leprevost joined #perl6
16:15 Patterner left #perl6
16:16 leprevost left #perl6
16:17 leprevost joined #perl6
16:18 justatheory joined #perl6
16:21 plobsing left #perl6
16:23 Axius joined #perl6
16:23 leprevost left #perl6
16:27 bluescreen10 left #perl6
16:27 Psyche^ joined #perl6
16:27 Psyche^ is now known as Patterner
16:28 cjk101010 left #perl6
16:30 Axius left #perl6
16:32 mj41_nb left #perl6
16:39 _twitch left #perl6
16:40 risou left #perl6
16:40 risou joined #perl6
16:42 bluescreen10 joined #perl6
16:47 awwaiid anyone see my blog on Whatever-Star? I'm feeling in need a good boy head-pat.
16:47 * awwaiid should probably just transcend such desires
16:50 tzhs left #perl6
16:50 cdarroch joined #perl6
16:50 cdarroch left #perl6
16:50 cdarroch joined #perl6
16:51 takadonet awwaiid: url?
16:53 awwaiid http://blogs.perl.org/users/awwaiid_brock_wilcox/2011/03/wish-on-a-whatever-star.html
16:53 awwaiid :)
16:57 Lorn joined #perl6
16:58 jnthn hugme: hug awwaiid
16:58 * hugme hugs awwaiid
16:58 jnthn Good blog post ;)
16:58 plobsing joined #perl6
17:08 [Coke] I read that one the other day, awwaiid++ ; # formatting looks a tad off in IE8, though.
17:24 wooden joined #perl6
17:24 wooden left #perl6
17:24 wooden joined #perl6
17:26 fhelmberger_ left #perl6
17:27 MayDaniel joined #perl6
17:37 kp joined #perl6
17:42 risou_ joined #perl6
17:42 kp left #perl6
17:43 risou left #perl6
17:47 MayDaniel left #perl6
17:51 donri If you wanted an attribute of a method, you'd need parenthetic &()?
17:54 Su-Shee joined #perl6
17:54 Su-Shee good evening.
17:56 dakkar left #perl6
17:57 daxim left #perl6
17:57 masak joined #perl6
17:57 masak hello all cats, zebras, and butterflies.
17:57 * jnthn is a human and feels left out
17:58 TimToady donri: you need some way of naming it.  &foo only works if the name 'foo' is in scope though, so you might need to use Foo.^methods to get at the method object
17:58 masak jnthn: lolcats are a subgroup of cats ;)
17:58 jnthn oh, phew!
18:00 donri rakudo: say &(1.sqrt).WHAT
18:00 p6eval rakudo 592e29: OUTPUT«Num()␤»
18:01 TimToady rakudo: 1.can('sqrt).WHAT
18:01 p6eval rakudo 592e29: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
18:02 TimToady rakudo: 1.can('sqrt').WHAT
18:02 p6eval rakudo 592e29:  ( no output )
18:02 TimToady rakudo: 1.can('sqrt').WHAT.say
18:02 p6eval rakudo 592e29: OUTPUT«Method()␤»
18:02 TimToady or that
18:02 donri what does .can mean?
18:02 TimToady it means if found a method of that name, and returned it
18:02 TimToady *it
18:03 donri yea but does it actually mean the english word 'can'? :)
18:03 TimToady yes, in a boolean sense
18:03 donri i first seeing it thought it was some kind of interface-checking thingy
18:03 donri which i guess it kinda is, in a ducktypy way
18:03 TimToady a 1 can sqrt
18:03 diakopter it sqrtable
18:03 TimToady interface checking is .does
18:04 TimToady say Int does Numeric
18:04 TimToady rakudo: say Int.does(Numeric)
18:04 p6eval rakudo 592e29: OUTPUT«1␤»
18:04 diakopter perl6: say Int.does Numeric
18:04 TimToady ttiar
18:04 p6eval niecza v3-72-g543ebb3: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Any()Confused at /tmp/6s_uOixrt6 line 1:␤------> [32msay Int.does [33m⏏[31mNumeric[0m␤␤Undeclared name:␤      'Int' used at line Any()1␤␤Parse failed␤␤»
18:04 p6eval ..rakudo 592e29: OUTPUT«===SORRY!===␤Confused at line 22, near "say Int.do"␤»
18:04 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "Numeric"␤    expecting operator, ":" or ","␤    at /tmp/jAwWhBh7nQ line 1, column 14␤»
18:04 donri rakudo: say Int.does: Numeric
18:04 p6eval rakudo 592e29: OUTPUT«1␤»
18:04 donri ;)
18:04 donri why not a bool?
18:05 jnthn rakudo: say Int does Numeric # mixin :P
18:05 p6eval rakudo 592e29: OUTPUT«Attempt to use rebless_subclass where the new class was not a subclass␤  in 'infix:<does>' at line 7535:CORE.setting␤  in 'infix:<does>' at line 604:CORE.setting␤  in main program body at line 22:/tmp/rDvdkV9j1G␤»
18:05 jnthn bwaha :)
18:05 donri does the number returned mean something, like inheritance depth or something?
18:05 jnthn donri: Suspect it should be a bool.
18:05 jnthn Though things get a tad circular there. :)
18:06 donri rakudo: say 1 ~~ Numeric
18:06 jnthn Bool probably isn't defined at the point that method gets defined... :)
18:06 p6eval rakudo 592e29: OUTPUT«Bool::True␤»
18:06 donri rakudo: say "foo" ~~ Numeric
18:06 TimToady but pretty much anything can be *used* for a bool in Perl 6, so it doesn't much matter
18:06 jnthn Can be fixed.
18:06 p6eval rakudo 592e29: OUTPUT«Bool::False␤»
18:06 TimToady it only matters if you want of feed it to another type-based dispatch
18:07 donri in which case you can use prefix:<?>
18:07 donri or .so, or ~~, ... ;)
18:07 TimToady or you can bug the implementors to fix the return type :)
18:08 donri or hug them when they fix it
18:08 donri hugs are better than bugs
18:08 donri but pugs are good too
18:08 TimToady the two are not mutually exclusive
18:08 TimToady s/two/three
18:08 donri of course if you by bug mean camelia, i'm not sure which is better!
18:09 jnthn I'd love it if somebody gave me a hug every time I fixed a bug, but if they gave me a pug every time I fixed a bug my appartment would get crowded. :)
18:09 TimToady you'd have to flea
18:09 jnthn :D
18:11 Su-Shee that was very pugs punny. ;)
18:11 * TimToady cringes
18:11 [Coke] ... ugh.
18:11 Su-Shee \o/ :)
18:11 jnthn TimToady: Does Foo::Bar::Baz desugaring to Foo.WHO.<Bar>.WHO.<Baz> strike you as problematic in any sense? My scribbles and thoughts on packagey stuff so far seem to point to it as being sane... :)
18:11 * TimToady takes the reference to large incisors personally, having broken his front tooth (again) yesterday
18:12 jnthn I'm happy for us to realize it's wrong later down the line, but I'd rather not try implemeting at all it if it's ruled insane before I even try. :)
18:12 jnthn ...oh wow, I at word order failed.
18:12 Su-Shee TimToady: ouch. :/
18:12 ymasory joined #perl6
18:13 plobsing left #perl6
18:13 TimToady maybe we should rename .WHO to .WHO'S-WHO
18:14 Su-Shee .DOCTORWHO?
18:14 diakopter .HORTONHEARSA
18:15 stkowski joined #perl6
18:15 TimToady jnthn: I don't see much problem with translating '::' to .WHO, offhand
18:15 donri minimum, we need a Dr type
18:15 jnthn TimToady: OK. I'll give it a go. :)
18:15 donri Dr.WHO #= Dr (duh!)
18:15 jnthn TimToady: Just gotta get a few other yaks shaved before I can attempt it. :)
18:16 donri nowait .WHO isn't .WHAT, what is who? :P
18:17 masak donri: I wondered that today too :)
18:17 masak donri: .WHO gives you a Stash of 'our'-scoped variables for a package or similar.
18:18 TimToady rakudo: 1.WHO.keys.Str
18:18 p6eval rakudo 592e29: OUTPUT«Method 'keys' not found for invocant of class 'Int'␤  in main program body at line 22:/tmp/K0DRbpeLkR␤»
18:18 TimToady ooh, bug
18:18 masak donri: (a Stash is basically a hash)
18:18 masak TimToady: the fact that Int.WHO is Int?
18:18 jnthn TimToady: Rakudo never really did .WHO properly so far...
18:18 TimToady yes, it should be a stash
18:18 * masak submits TODO rakudobug
18:20 [Coke] .THIRDBASE #IDK
18:27 bluescreen10 left #perl6
18:33 plobsing joined #perl6
18:33 mkramer1 joined #perl6
18:33 synple joined #perl6
18:34 jaldhar left #perl6
18:34 jaldhar joined #perl6
18:35 mkramer left #perl6
18:37 synple left #perl6
18:38 synple joined #perl6
18:40 fisted_ left #perl6
18:42 impious joined #perl6
18:44 mj41_nb joined #perl6
18:47 fisted joined #perl6
18:47 bluescreen10 joined #perl6
18:50 vert2 left #perl6
18:51 vert2 joined #perl6
18:57 diakopter [Coke]: lol
18:59 mberends joined #perl6
19:02 masak TimToady: https://gist.github.com/869659
19:02 masak or anyone else who might be curious about Perl 6 DBC, of course.
19:05 nymacro left #perl6
19:07 [Coke] diakopter: thank. Tough room!
19:07 [Coke] *thank you
19:07 zby_home_ joined #perl6
19:09 masak [Coke]: forgive me -- I smiled the first time, but that was a couple of years ago ;)
19:09 [Coke] and here I thought it was original. ah well.
19:10 masak with this crew, and the macros named .WHO, .WHAT and .WHY? not a chance :)
19:11 * [Coke] challenges someone to do a parody of WHO's on first for YAPC::NA
19:11 [Coke] (lightning talk)
19:11 masak ooh
19:12 masak explaining the Perl 6 metamodel, of course.
19:12 masak "Then you do $fido.WHO" "What?" "No, .WHAT was for debugging."
19:13 synple left #perl6
19:13 cogno joined #perl6
19:13 xinming_ is now known as xinming
19:16 MayDaniel joined #perl6
19:17 mkramer1 left #perl6
19:17 takadonet left #perl6
19:22 cogno left #perl6
19:23 cogno joined #perl6
19:28 risou_ left #perl6
19:37 TimToady masak: "all the appropriate" is the set of assertions attach to the object's current class or any of its parents, so B's set of assertions is smaller than C's
19:38 TimToady you can't enforce constraints on pieces of an object that don't exist, obviously
19:38 Holy_Cow left #perl6
19:39 TimToady it's a little odd to be using PRE to enforce argument validation when it's primarily for looking at the object's current state
19:39 hercynium joined #perl6
19:44 MayDaniel left #perl6
19:48 plobsing left #perl6
19:49 cogno left #perl6
19:51 Rotwang joined #perl6
19:52 cogno joined #perl6
19:58 Chillance joined #perl6
20:04 masak TimToady: "B's set of assertions is smaller than C's" -- did you mean some other set of letters? both B and C inherit from A, but not one from the other.
20:06 masak oh, and I know the example was contrived. I'm just assuming that a more realistic example will have similar problems.
20:16 plobsing joined #perl6
20:18 TimToady in that case neither B nor C do the other's assertions, but they share A's assertions
20:19 masak right. that was the intent.
20:19 TimToady well, that's the only thing that makes sense
20:19 masak now, how can B.foo and C.foo share A.foo's assertion when they don't share lexpads/signatures?
20:19 masak I don't understand.
20:19 TimToady it has nothing to do with either lexpads or signatures
20:20 masak A.foo's pre contains an $x.
20:20 TimToady that's why PRE is supposed to be testing the object, not the parameters
20:21 TimToady but yes, in general it doesn't make sense to be testing lexicals
20:21 masak I understand, but given that one can write like this, what does it *do*?
20:22 TimToady blow up, one would hope
20:22 masak because B.foo doesn't contain an $x?
20:23 TimToady because the lexical scope of $x is missing
20:24 masak I've now established conclusively that I don't yet grok PRE/POST. they're weirder than I thought.
20:24 masak and to the extent that I understand, it doesn't sound terribly sane.
20:24 TimToady they are for testing object invariants; the object is the only thing you can guarantee is there
20:25 masak right. so, testing against attributes. gotcha.
20:25 masak but PRE/POST outside of objects are more general than that. they can test loop invariants, for example.
20:25 moritz_ /me thought that PRE primarily tested arguments and object state, and POST mostly object state and return values
20:26 TimToady how can the argument be tested if the method itself hasn't been called yet?
20:26 masak the method hasn't been called? where does the spec say that?
20:26 TimToady or if some other subclass's method with a different sig has been called
20:27 masak 'at every block entry'.
20:27 TimToady S04:1464
20:27 TimToady step 5, "call the method call itself"
20:27 masak fairynuff.
20:28 tyatpi_ left #perl6
20:29 TimToady of course, defining methods with conflicting signatures is asking for trouble to begin with
20:33 flussence_ std: sub foo($match where Regex|Str) { ... } # any way I can improve on that, or is the | the best I can do?
20:33 p6eval std 4608239: OUTPUT«Potential difficulties:␤  $match is declared but not used at /tmp/Jh9WAkP7fa line 1:␤------> [32msub foo([33m⏏[31m$match where Regex|Str) { ... } # any wa[0m␤ok 00:01 123m␤»
20:33 flussence_ well, minus the error part.
20:34 Tene flussence_: depends on the details of what you want to do.
20:34 phenny Tene: 12 Mar 23:49Z <jnthn> tell Tene See 82145f5 in nqp reop, and https://gist.github.com/867713
20:34 phenny Tene: 12 Mar 23:49Z <jnthn> tell Tene will be able to optimize it a bit more in the future too, but this should serve as a decent start.
20:34 Tene flussence_: you could define a pair of multis, one for each type.
20:35 flussence_ $match ends up in a m[<$match>] thing somewhere and that's about it.
20:35 flussence_ (and I'm not sure if it'd even work with a Str, this is ported from perl5...)
20:36 flussence_ https://github.com/flussence/Text-Tabs-Wrap/blob/master/lib/Text/Wrap.pm#L40
20:36 flussence_ I'm trying to put those globals into the function as named params, basically
20:36 y3llow_ joined #perl6
20:36 pothos_ joined #perl6
20:37 flussence_ where $break becomes :$match and so on
20:38 pothos left #perl6
20:38 pothos_ is now known as pothos
20:38 y3llow left #perl6
20:38 y3llow_ is now known as y3llow
20:39 masak TimToady: sometimes I dream of a 'use Liskov;' pragma, which enforces things like contravariant signatures and covariant return declarations...
20:45 moritz_ be Liskov;
20:46 fisted left #perl6
20:51 Tene rakudo: my $s = '\d'; my $m = '3foo\d' ~~ m/$s/; say $m;
20:51 p6eval rakudo 592e29: OUTPUT«\d␤»
20:51 Tene rakudo: my $s = '\d'; my $m = '3foo\d' ~~ m/<$s>/; say $m;
20:51 p6eval rakudo 592e29: OUTPUT«3␤»
20:51 Tene flussence_: which of these behaviours do you want?
20:52 Tene If someone passes in the *text* '\s+', should that be interpreted as literal text to match, or as a regex?
20:53 fisted joined #perl6
20:53 Tene flussence_: If you want it interpreted as a string literal, my first pass would be a multi variant for non-regex that wraps it in a regex and passes it back in.
20:54 Tene multi sub foo(Regex $break) { ... }; multi sub foo($break as str) { foo(m/$break/) };
20:54 Tene oslt
20:55 Tene That's a bad option if you have multiple parameters that can vary like that, though.
20:55 donri what does 'as' do?
20:55 Tene also, if you *want* it to be interpreted as a regex, then you *don't* want to do that, as you'd just call it the same way regardless.
20:55 Tene donri: casting
20:55 donri or is it fictional?
20:55 coldhead joined #perl6
20:56 Tene rakudo: sub foo($n) { say $n.WHAT }; sub bar($n as Str) { say $n.WHAT }; foo(1); bar(1);
20:56 p6eval rakudo 592e29: OUTPUT«Int()␤Str()␤»
20:56 gdey left #perl6
20:57 donri Tene: what does it do for multis if the cast is not possible?
20:57 donri simply not match that variant?
20:58 jnthn as-ability doesn't influence the dispatch
20:58 jnthn It's part of the signature bind after we decide what to call.
20:58 donri by design?
20:58 donri ah
20:58 donri hm how the heck *do* you check for castability?
20:58 jnthn I don't think the spec says that it implies a constraint of any kind.
20:58 donri rakudo: say 1.can(Str), 1.does(Str)
20:58 jnthn Well, casting to T is just a method clal .T
20:59 p6eval rakudo 592e29: OUTPUT«0␤»
20:59 jnthn So it's just .can
20:59 donri rakudo: say 1.can(Str), 1.does(Str)
20:59 p6eval rakudo 592e29: OUTPUT«0␤»
20:59 donri rakudo: say 1.can(Str)  # argh
20:59 mberends left #perl6
20:59 p6eval rakudo 592e29: OUTPUT«␤»
20:59 donri rakudo: say 1.can(Str).perl
20:59 p6eval rakudo 592e29: OUTPUT«Nil␤»
21:00 donri jnthn: ^
21:01 flussence_ (actually, I think I'll just make this take a Regex and do something about it if someone complains...)
21:01 Tene rakudo: say 1.can('Str')
21:01 p6eval rakudo 592e29: OUTPUT«Str␤»
21:02 jnthn rakudo: say ?1.can('Str')
21:02 p6eval rakudo 592e29: OUTPUT«Bool::True␤»
21:02 donri oh, duh
21:02 jnthn rakudo: say ?1.can('Lolcat')
21:02 p6eval rakudo 592e29: OUTPUT«Bool::False␤»
21:02 jnthn The return value of .can is...hazy. :)
21:02 mberends joined #perl6
21:02 jnthn It's meant to do everything. :)
21:02 donri we discussed it earlier
21:03 donri i forget duck typing is string programming *wink wink*
21:03 Mowah left #perl6
21:05 tyatpi_ joined #perl6
21:09 ymasory left #perl6
21:11 fisted left #perl6
21:24 MayDaniel joined #perl6
21:38 cogno left #perl6
21:39 bluescreen10 left #perl6
21:39 kaare_ left #perl6
21:40 masak so the PRE in a method is triggered after it's made clear that the method's signature matches, but before the signature's parameters have been bound...?
21:53 plainhao left #perl6
21:57 sorear good * #perl6
21:57 sorear masak: the initial steps of method binding don't seem to make a whole lot of sense; I'm already struggling with default values
21:58 sorear sub foo($x, $y = EXPR, $z) # EXPR needs to see $x but not $z
21:58 sorear in particular, sub foo($foo = $*BAR) { my $*BAR; ... }
22:00 sorear jnthn: still here?
22:02 masak sorear: that last example surprises me too.
22:02 masak sorear: in general nowadays, I tend to see the signature as declarations that are part of the routine body's scope. it's not exactly true, but it helps in understanding things.
22:03 masak sorear: i.e. my $x; my $y = EXPR; my $z; # EXPR sees $x but not $z
22:03 jnthn sorear: yes
22:03 sorear jnthn: Your .WHO model is one of the ones I tried and rejected for Niecza.  I was having many issues, especially with our constants (Bool::True)
22:04 jnthn sorear: Why didn't it work out?
22:04 sorear I'd like to know how you made it work, because it's more elegant than what I settled on :)
22:04 jnthn I only made it work in my brane so far. :P
22:04 Tene masak: if the PRE is before signature binding, what does the PRE have access to to make decisions?
22:05 jnthn Not sure I see the issue with constants off hand...I may be missing something. What was the specific issue there?
22:05 jnthn If you can remember, anyways. :)
22:05 sorear That's always the kicker...
22:05 Tene ahh, PRE/POST are for methods, and have access to the invocant.
22:07 wallberg joined #perl6
22:07 * sorear looks through the git log starting at d75ad08 trying to remember
22:08 justatheory left #perl6
22:08 Tene S06 has some confusing wording, saying that the precondition is met "if "all" of the parent classes' preconditions are met"
22:08 Tene But this seems to be talking about preconditions for methods, not for classes.
22:08 mtk left #perl6
22:09 Tene Maybe it just means "preconditions for methods of the same name in parent classes"?
22:09 sorear masak: you doing DBC... in yapsi ?
22:09 MayDaniel left #perl6
22:09 masak sorear: not yet. but I'm looking ahead, trying to understand things.
22:10 masak sorear: will soon be doing some phasers in Yapsi.
22:10 sorear masak: classes, though?
22:11 masak classes are still some time away :)
22:11 masak want to get subs sorted first.
22:11 masak but my plan is to do classes in a fairly p5-y, Moose-y way, with hashes as reprs.
22:12 tadzik DBC?
22:12 Tene design-by-contract
22:12 masak tadzik: "Design by "... what Tene said.
22:12 sorear masak: I think the only implementation that doesn't do that is nqpnet
22:12 masak tadzik: introduced by Bertrand Meyer and Eiffel, IIUC.
22:12 Tene (I just barely figured it out; earlier when he was talking about it, I thought it was something related to DBI, and was very confused)
22:12 sorear niecza, rakudo, and alpha certainly do.
22:12 tadzik yeah, I think so
22:12 sorear pugs: class A { has $!x; method foo() { $!x++ } }
22:13 p6eval pugs:  ( no output )
22:13 masak sorear: eh? surely Rakudo uses opaque objects?
22:13 sorear pugs: class A { has $!x; method foo() { $!x++ } }; class B { has $!x; method bar() { $!x++ } }; my $k = B.new; say B.foo; say B.bar
22:13 p6eval pugs: OUTPUT«*** No such method in class B: "&foo"␤    at /tmp/_AQMHtSSsb line 1, column 110-115␤»
22:13 jnthn It's opaque, but it's are still very hashish.
22:13 sorear pugs: class A { has $!x; method foo() { $!x++ } }; class B { has $!x; method bar() { $!x++ } }; my $k = B.new; say $k.foo; say $k.bar
22:13 p6eval pugs: OUTPUT«*** No such method in class B: "&foo"␤    at /tmp/fqd4QNA4v4 line 1, column 110-116␤»
22:13 sorear pugs: class A { has $!x; method foo() { $!x++ } }; class B is A { has $!x; method bar() { $!x++ } }; my $k = B.new; say $k.foo; say $k.bar
22:13 p6eval pugs: OUTPUT«0␤1␤»
22:13 sorear rakudo: class A { has $!x; method foo() { $!x++ } }; class B is A { has $!x; method bar() { $!x++ } }; my $k = B.new; say $k.foo; say $k.bar
22:13 p6eval rakudo 592e29: OUTPUT«Any()␤1␤»
22:13 sorear perl6: class A { has $!x; method foo() { $!x++ } }; class B is A { has $!x; method bar() { $!x++ } }; my $k = B.new; say $k.foo; say $k.bar
22:14 p6eval rakudo 592e29, niecza v3-72-g543ebb3: OUTPUT«Any()␤1␤»
22:14 p6eval ..pugs: OUTPUT«0␤1␤»
22:14 jnthn nqp: say("alive?")
22:14 p6eval nqp: OUTPUT«alive?␤»
22:14 Tene Oh, S02 mentions PRE/POST on class blocks that are evaluated PRE and POST every method invocation in the class.
22:14 sorear I'd demo nqpnet, but it doesn't work :(
22:14 Intensity left #perl6
22:15 jnthn nqp: nqp: class A { has $!x; method foo() { $!x := $!x + 1 } }; class B is A { has $!x; method bar() { $!x := $!x + 1 } }; my $k = B.new; say $k.foo; say $k.bar
22:15 p6eval nqp: OUTPUT«Confused at line 1, near "nqp: class"␤current instr.: 'nqp;HLL;Grammar;panic' pc 17577 (gen/hllgrammar-grammar.pir:5028)␤»
22:15 jnthn nqp: class A { has $!x; method foo() { $!x := $!x + 1 } }; class B is A { has $!x; method bar() { $!x := $!x + 1 } }; my $k = B.new; say $k.foo; say $k.bar
22:15 p6eval nqp: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 1, near " B.new; sa"␤current instr.: 'nqp;HLL;Grammar;panic' pc 17577 (gen/hllgrammar-grammar.pir:5028)␤»
22:15 jnthn nqp: class A { has $!x; method foo() { $!x := $!x + 1 } }; class B is A { has $!x; method bar() { $!x := $!x + 1 } }; my $k := B.new; say $k.foo; say $k.bar
22:15 p6eval nqp: OUTPUT«Confused at line 1, near "say $k.foo"␤current instr.: 'nqp;HLL;Grammar;panic' pc 17577 (gen/hllgrammar-grammar.pir:5028)␤»
22:15 jnthn heh
22:15 sorear say()
22:15 jnthn nqp: class A { has $!x; method foo() { $!x := $!x + 1 } }; class B is A { has $!x; method bar() { $!x := $!x + 1 } }; my $k := B.new; say($k.foo); say($k.bar)
22:15 p6eval nqp: OUTPUT«Multiple Dispatch: No suitable candidate found for 'add_int', with signature 'PIP->P'␤current instr.: 'nqp;A;foo' pc 284 (EVAL_1:20683868)␤»
22:15 jnthn blech :)
22:15 sorear nqp: my $x; say($x // 0)
22:15 p6eval nqp: OUTPUT«0␤»
22:16 whiteknight joined #perl6
22:16 jnthn nqp: class A { has $!x; method foo() { $!x := ($!x // 0) + 1 } }; class B is A { has $!x; method bar() { $!x := ($!x // 0) + 1 } }; my $k := B.new; say($k.foo); say($k.bar)
22:16 p6eval nqp: OUTPUT«1␤1␤»
22:16 jnthn There ya go :)
22:16 sorear nqpnet: say("Hello, world")
22:16 jnthn nqpnet: say("broken?")
22:16 jnthn aww
22:17 p6eval nqpnet: OUTPUT«(timeout)access in find_method('compile')␤current instr.: 'main' pc 91202 (gen_grammar.pir:1151)␤make: *** [NQPSetting.dll] Error 1␤»
22:17 p6eval nqpnet: OUTPUT«(timeout)»
22:17 mtk joined #perl6
22:17 Tene nqpnet: say ?(P == NP)
22:17 p6eval nqpnet: OUTPUT«(timeout)»
22:17 Tene Very clever, nqpnet.
22:18 sorear star: say "Hello world"
22:18 p6eval star 2010.09:  ( no output )
22:18 sorear yapsi: say "Hello world"
22:18 p6eval yapsi: OUTPUT«===SORRY!===␤Unable to find module 'Yapsi' in the @*INC directories.␤(@*INC contains:␤  lib␤  /home/p6eval/.perl6/lib␤  /home/p6eval//p2/lib/parrot/3.1.0-devel/languages/perl6/lib␤  .)␤»
22:18 jnthn nqpnet does same as nqp (phew!)
22:18 jnthn 1
22:18 jnthn 1
22:18 jnthn :)
22:18 jnthn (The same code worked too.)
22:19 * jnthn refrains from trying nqpjvm :)
22:19 zby_home_ left #perl6
22:27 rgrau joined #perl6
22:29 gdey joined #perl6
22:30 justatheory joined #perl6
22:31 mj41_nb left #perl6
22:35 hercynium left #perl6
22:39 stkowski left #perl6
22:48 fisted joined #perl6
22:55 fisted left #perl6
23:05 gfldex left #perl6
23:05 gfldex joined #perl6
23:09 sorear jnthn: there's no nqpjvm on p6eval
23:09 jnthn sorear: I know, I meant that I could try it locally.
23:10 jnthn It just won't handle running that example yet, though.
23:10 justatheory left #perl6
23:11 sorear Why not?
23:14 jnthn sorear: Last I checked, it didn't compiler NQPClassHOW yet.
23:14 jnthn *compile
23:14 jnthn Which is a pre-req for having working classes ;)
23:26 masak but won't they revolt?
23:26 * masak hides
23:27 sjohnson heh
23:28 * jnthn gives masak no marx for that pun :P
23:29 masak it was a revolting pun, I know...
23:31 masak 'night, #perl6.
23:31 masak left #perl6
23:35 wallberg left #perl6
23:36 fisted joined #perl6
23:40 rgrau left #perl6
23:41 fisted left #perl6
23:41 aloha left #perl6
23:42 fisted joined #perl6
23:44 arnsholt left #perl6
23:46 Rotwang left #perl6
23:50 fisted left #perl6
23:55 justatheory joined #perl6
23:58 dalek nqp/ctmo-no-p6regex.pir: aa87ead | jonathan++ | src/Regex/P6Regex/Grammar.pm:
23:58 dalek nqp/ctmo-no-p6regex.pir: Need to still use the HLL library; was missed when removing the P6Regex PIR file.
23:58 dalek nqp/ctmo-no-p6regex.pir: review: https://github.com/perl6/nqp/commit/aa87eadde6
23:58 dalek nqp/ctmo-no-p6regex.pir: 1eb4e1b | jonathan++ | build/Makefile.in:
23:58 dalek nqp/ctmo-no-p6regex.pir: Another round of Makefile changes to work towards getting things working again after removing P6Regex.pir.
23:58 dalek nqp/ctmo-no-p6regex.pir: review: https://github.com/perl6/nqp/commit/1eb4e1b4f3
23:58 dalek nqp/ctmo-no-p6regex.pir: 9ace6d6 | jonathan++ | src/Regex/P6Regex/ (2 files):
23:58 dalek nqp/ctmo-no-p6regex.pir: Need to use block form of packages when there's multiple in a file.
23:58 dalek nqp/ctmo-no-p6regex.pir: review: https://github.com/perl6/nqp/commit/9ace6d652d
23:58 dalek nqp/ctmo-no-p6regex.pir: d014f94 | jonathan++ | src/Regex/P6Regex/Compiler.pm:
23:58 dalek nqp/ctmo-no-p6regex.pir: Work around a MAIN bug.
23:58 dalek nqp/ctmo-no-p6regex.pir: review: https://github.com/perl6/nqp/commit/d014f94f99
23:58 dalek nqp/ctmo-no-p6regex.pir: 4460cea | jonathan++ | src/Regex/P6Regex/Compiler.pm:
23:58 dalek nqp/ctmo-no-p6regex.pir: Move regex compiler init to the right place; now all tests pass that pass in the ctmo branch.
23:58 dalek nqp/ctmo-no-p6regex.pir: review: https://github.com/perl6/nqp/commit/4460cea99f
23:58 dalek nqp/ctmo-no-p6regex.pir: 9cdb417 | jonathan++ | src/NQP/Actions.pm:
23:58 dalek nqp/ctmo-no-p6regex.pir: Fix MAIN bug.
23:58 dalek nqp/ctmo-no-p6regex.pir: review: https://github.com/perl6/nqp/commit/9cdb417836
23:58 dalek nqp/ctmo-no-p6regex.pir: e3036b0 | jonathan++ | src/stage0/ (6 files):
23:58 dalek nqp/ctmo-no-p6regex.pir: Update bootstrap with MAIN fix and P6Regex.pir gone.
23:58 dalek nqp/ctmo-no-p6regex.pir: review: https://github.com/perl6/nqp/commit/e3036b09d2
23:58 dalek nqp/ctmo-no-p6regex.pir: 749d34c | jonathan++ | src/Regex/P6Regex/Compiler.pm:
23:58 dalek nqp/ctmo-no-p6regex.pir: Toss workaround for MAIN bug.
23:58 dalek nqp/ctmo-no-p6regex.pir: review: https://github.com/perl6/nqp/commit/749d34cae2
23:59 aloha joined #perl6

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

Perl 6 | Reference Documentation | Rakudo