Camelia, the Perl 6 bug

IRC log for #perl6, 2012-05-20

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:04 Timbus n: sub ispow2 (int i) { !( i +& i-1 ) }; say ispow2(7); say ispow2(8);
00:04 p6eval niecza v17-12-g8b5d5e7: OUTPUT«[31m===[0mSORRY![31m===[0m��In parameter declaration, typename 'int' must be predeclared (or marked as declarative with :: prefix) at /tmp/PmWmFI6b4q line 1:�------> [32msub ispow2 (int[33m�[31m i) { !( i +& i-1 ) }; say ispow2(7); sa[0m��Parse fai…
00:04 Timbus oh
00:04 Timbus n: sub ispow2 (Int i) { !( i +& i-1 ) }; say ispow2(7); say ispow2(8);
00:04 p6eval niecza v17-12-g8b5d5e7: OUTPUT«[31m===[0mSORRY![31m===[0m��Lexical i is not a package at /tmp/rM4m6siIlR line 1:�------> [32msub ispow2 (Int i[33m�[31m) { !( i +& i-1 ) }; say ispow2(7); say [0m��A type must be provided at /tmp/rM4m6siIlR line 1:�------> [32msub ispow2 (Int i[…
00:05 Timbus man i have Not bee programming in perl lately
00:05 Timbus it shows
00:05 Timbus n: sub ispow2 (Int $i) { !( $i +& $i-1 ) }; say ispow2(7); say ispow2(8);
00:05 p6eval niecza v17-12-g8b5d5e7: OUTPUT«False␤False␤»
00:05 Timbus rude
00:05 gfldex n: sub ispow2 (Int $i) { !( $i +& ($i-1)  ) }; say ispow2(7); say
00:05 p6eval niecza v17-12-g8b5d5e7: OUTPUT«[31m===[0mSORRY![3​1m===[0mâ�¤â�¤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/rNrFA90XlF line 1 (EOF):â�¤------> [32m!( $i +& ($i-1)  ) }; say ispow2(7); say[33mâ��[31m<EOL>[0mâ�¤â�¤Un…
00:05 Timbus are you sure thats a bitwise op
00:05 gfldex n: sub ispow2 (Int $i) { !( $i +& ($i-1)  ) }; say ispow2(7); say ispow2(8);
00:05 Timbus oh
00:06 p6eval niecza v17-12-g8b5d5e7: OUTPUT«False␤True␤»
00:06 Timbus ooh it needed a bracket
00:06 gfldex n: sub ispow2 ($i) { !( $i +& ($i-1)  ) }; say ispow2(7); say ispow2(8); say ispow2(4.0);
00:06 p6eval niecza v17-12-g8b5d5e7: OUTPUT«False␤True␤True␤»
00:06 gfldex n: sub ispow2 ($i) { !( $i +& ($i-1)  ) }; say ispow2(7); say ispow2(8); say ispow2(4.4);
00:06 p6eval niecza v17-12-g8b5d5e7: OUTPUT«False␤True␤True␤»
00:06 Timbus ewwww
00:07 Timbus put the int back. put it baaack!
00:07 gfldex :)
00:07 gfldex r: sub ispow2 (int $i) { !( $i +& ($i-1)  ) }; say ispow2(7); say ispow2(8);
00:07 p6eval rakudo 5f7d68: OUTPUT«False␤True␤»
00:08 Timbus oh yeah i forgot int works now
00:12 colomon joined #perl6
00:19 gfldex r: my $i = 4; my $f = 4.4; say $i.WHAT, $f.WHAT, ($i +& $f).WHAT;
00:19 p6eval rakudo 5f7d68: OUTPUT«Int()Rat()Int()␤»
00:20 gfldex i think that type cast is wrong and should a) blow up the programmer involed or b) give a warning/fail
00:21 gfldex actually i will speel over it
00:21 gfldex good night
00:21 colomon n: my $i = 4; my $f = 4.4; say $i.WHAT, $f.WHAT, ($i +& $f).WHAT;
00:21 p6eval niecza v17-12-g8b5d5e7: OUTPUT«Int()Rat()Int()␤»
00:24 colomon n: my $i = 4; my $f = 4.4; say $i.WHAT, $f.WHAT, $i +& $f;
00:24 p6eval niecza v17-12-g8b5d5e7: OUTPUT«Int()Rat()4␤»
00:26 colomon gfldex: the spec is very specific that both arguments to +& are converted to Int
00:26 sorear gfldex: I love that typo(?)
00:26 gfldex that's why i need sleep i suppose
00:27 gfldex anyway, even if the spec is specific, i still don't like that type cast because it's very easy to do it wrong/by exident.
00:27 gfldex i prefere compilers that hold my hand while i speel
00:27 * gfldex is gone for real
00:28 colomon sorear: so far my ABC changes make the code much nicer, but not one lick faster
00:28 sorear 16:11 < colomon> errr, no, that didn't help at all.  darn it, parses are fast  in niecza.
00:28 sorear by 'parses', do you mean Grammar.parse?
00:29 colomon ABC::Grammar.parse, in particular
00:35 colomon gack, I'm glad I made the changes I made tonight, but I need to figure out some sort of profiling I can use, instead of just randomly trying stuff.
00:38 sorear maybe play with times()
00:43 sorear colomon: fwiw, my plan for the coming month is to try to move the entire compiler into C# and do away with the bootstrap system
00:44 colomon sorear: I'm not sure what you mean by that?  What would the advantage be?
00:44 * colomon is almost out of laptop battery
00:45 * colomon but can always backlog when he gets home...
00:49 colomon Huh.  My last change seems very unreasonably slow...
00:49 colomon sorear: is there a .NET profiler that might work?
00:50 sorear There is a Mono profiler, but it is minimally useful with Niecza
00:50 sorear mono --profile .... ; mprof-report output.mlpd
00:51 colomon huh.  somehow my last change seems to have utterly killed my speed.
00:51 colomon I would have thought it was trivial...
00:51 colomon thanks for the profile info.
00:51 sorear What was the last change?
00:52 colomon switch from using log(2).Int to see if a number was a power-of-two to doing a hash lookup on a list of "reasonably" powers of two
00:52 colomon was getting worried that log(2).Int might well glitch occasionally.
00:53 colomon huh, even reverting that still seems slow.
00:53 colomon 2 mins battery, doubt it's going to finish before I run out.
00:53 sorear do you know the $a +& ($a - 1) trick?
00:54 colomon if it == 0 it's a power of two
00:54 colomon ?
00:54 sorear hash lookup sounds slow - converting a number to a string will be much slower than a single FLOG instruction
00:54 sorear yes
00:54 colomon brill
00:54 colomon I certainly learned that once, but had completely forgotten it.  sorear++
00:54 sorear I'm fed up with the restrictions that the bootstrap system imposes.  I'll talk more later if you want
00:55 colomon cool.
00:59 explorer_ left #perl6
01:00 araujo in a type like: "Array:D $arr" , what does the ":D" mean?
01:00 geekosaur must be defined, I think
01:05 araujo aah I see, thanks geekosaur
01:29 dalek tablets: 0380e8c | (Herbert Breunung)++ | docs/tablet-2-basic-syntax.txt:
01:29 dalek tablets: enrich tablet 2 with links and some simpler wordings
01:29 dalek tablets: review: https://github.com/perl6/tablets/commit/0380e8cf75
01:32 s1n joined #perl6
01:32 cognominal_ joined #perl6
01:33 araujo Placeholder variable cannot override existing signature
01:34 araujo when trying to define a multi, don't know what's wrong
01:34 sorear you're trying to use a placeholder in a sub with a signature
01:34 sorear this won't work.
01:35 sorear std: sub foo($bar) { return $^quux }
01:35 p6eval std 8632387: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Placeholder variable $^quux cannot override existing signature ($bar) at /tmp/DmCRcrMEPM line 1:â�¤------> [32msub foo($bar) { return [33mâ��[31m$^quux }[0mâ�¤Potential difficulties:â�¤  $bar is declared but not used at /tmp/DmCRcrMEPM line…
01:42 araujo mm i see
01:42 araujo thanks sorear
01:43 wolfman2000 joined #perl6
01:56 s1n joined #perl6
02:07 araujo rakudo: 1 + 1
02:07 p6eval rakudo 5f7d68:  ( no output )
02:08 araujo rakudo: say 1 + 1
02:08 p6eval rakudo 5f7d68: OUTPUT«2␤»
02:08 araujo rakudo: my @arr = [1,2,3] ; say "-> $_" for @arr
02:08 p6eval rakudo 5f7d68: OUTPUT«-> 1 2 3␤»
02:08 araujo mm..
02:09 araujo is that actually iterating over each of the array elements?
02:21 colomon joined #perl6
02:23 colomon o/
02:24 orafu joined #perl6
02:24 sorear o/ colomon
02:25 colomon back home and plugged in now.  :)
02:25 sorear araujo: Yes.  There's only one of them.
02:25 sorear r: my @arr = [1,2,3] ; say @arr.perl
02:25 p6eval rakudo 5f7d68: OUTPUT«Array.new([1, 2, 3])␤»
02:25 sorear r: my @arr = [1,2,3] ; say @arr.elems
02:25 p6eval rakudo 5f7d68: OUTPUT«1␤»
02:25 sorear r: my @arr = (1,2,3) ; say @arr.elems # I think you may have wanted this
02:25 p6eval rakudo 5f7d68: OUTPUT«3␤»
02:26 araujo mmm...
02:26 sorear [] boxes up the list into an item-like array reference
02:26 araujo r: [1,2,3].elems
02:26 p6eval rakudo 5f7d68:  ( no output )
02:26 sorear you then assign a single item to @arr
02:27 araujo r: say [1,2,3].elems
02:27 p6eval rakudo 5f7d68: OUTPUT«3␤»
02:27 sorear my @arr = [1,2,3] is like my @arr = "123".  the = doesn't look inside either one
02:27 araujo I see
02:29 araujo sorear, well, the thing is that I already have this array reference
02:29 araujo what is the proper way to iterate over each element there?
02:31 araujo r: my $arr = [1,2,3] ; .say for $arr.Array
02:31 p6eval rakudo 5f7d68: OUTPUT«1␤2␤3␤»
02:31 araujo I guess that is it ...
02:31 araujo sorear, other way to get similar result? ^^
02:31 sorear araujo: for @$arr
02:31 tyatpi joined #perl6
02:32 araujo thanks sorear
02:32 sorear I don't think $arr.Array should necessarily have that effect, btw
02:32 sorear seems to me 'coerce to array' and 'mark reference as unpackable' are orthogonal ideas
02:39 colomon sorear: BTW, switching to your suggestion for is-power-of-two has the speed back up to where it was before.
02:44 spaceships joined #perl6
03:13 colomon 'night
03:15 wenbinye joined #perl6
03:27 thou joined #perl6
03:36 fgomez joined #perl6
03:39 thou joined #perl6
04:01 localhost joined #perl6
04:48 moritz \o
04:48 adu hey
04:49 adu so I noticed something
04:50 adu PGE errors when you try to use {*}
04:51 moritz it predates that syntax
05:02 * [Coke] mentions _the auror's tale_ video for those that like HP fanfic.
05:03 [Coke] PGE is super old, and probably should not be used.
05:03 [Coke] PGE has been replaced by nqp which was replaced by nqp-rx which was replaced (in theory but not in parrot) by nqp (which is not the same as the old nqp)
05:04 [Coke] this whole "organic growth" thing really makes things confusing.
05:07 kaare_ joined #perl6
05:16 mdupont joined #perl6
05:18 adu [Coke]: interesting
05:19 adu I'm tempted to rewrite PCT
05:19 Entonian joined #perl6
05:25 araujo joined #perl6
05:29 [Coke] adu: pretty sure someone in #parrot is working on that.
05:29 [Coke] so, just check for what's in progress before jumping in.
05:30 [Coke] also, WHY AM I NOT ASLEEP.
05:30 adu lol
05:30 adu indeed
05:33 sisar joined #perl6
06:00 mucker joined #perl6
06:02 jaldhar joined #perl6
06:27 simcop2387 joined #perl6
06:31 mucker joined #perl6
06:47 sorear phenny: tell masak http://erikdemaine.org/papers/NCL_TCS/paper.pdf - §4.2, the rectangular version of t4 ("Rush Hour") is PSPACE-complete.
06:47 phenny sorear: I'll pass that on when masak is around.
06:48 sorear phenny: tell masak Call a t4-puzzle /restricted/ if it has no blocks in the (say) left-right orientation.
06:48 phenny sorear: I'll pass that on when masak is around.
06:49 sorear phenny: tell masak Restricted t4-puzzles are in one to one correspondence with Rush Hour puzzles, and are solvable iff the corresponding Rush Hour puzzle is.  Proof left as an exercise to the reader
06:49 phenny sorear: I'll pass that on when masak is around.
06:49 sorear phenny: tell masak ergo, t4 (with the usual size generalization caveat) is PSPACE-complete
06:49 phenny sorear: I'll pass that on when masak is around.
08:11 geistteufel left #perl6
08:13 mucker joined #perl6
09:07 NamelessTee joined #perl6
09:10 araujo joined #perl6
09:10 araujo joined #perl6
09:24 araujo hello
09:27 sorear o/ araujo
09:27 araujo hi sorear o/ :)
09:31 araujo sorear, do you know if/where there is a perl6 mode for emacs ... or probably vim? ...
09:31 sorear alester has one on github
09:32 sorear it doesn't work very well though... nothing can parse Perl 6 but perl6
09:32 sorear even moreso than Perl 5
09:32 sorear also really slow
09:33 * araujo will have to write a perl6 text editor then
09:35 sorear that would be even slower. (it has been done, btw)
09:35 sorear oh, and: have fun with error recovery.
09:36 sorear I might try writing a Perl 6 syntax highlighter sometime.  I think it's impossible, but I'm open to trying it :D
09:38 icwiener joined #perl6
09:39 araujo hehe
09:40 araujo it doesn't look like an easy thing to do ...
09:43 moritz https://github.com/petdance/vim-perl fwiw
09:44 araujo hey moritz o/
09:44 araujo nice
09:44 sorear oh right, the other andy
09:45 sorear ...or maybe it is the same one
09:45 sorear o/ moritz
09:48 moritz the same one, unless you're talking about a different andy :-)
09:49 dalek niecza: 2de0e52 | sorear++ | src/NieczaActions.pm6:
09:49 dalek niecza: Make $¢ available to ** closures (fixes #123)
09:49 dalek niecza: review: https://github.com/sorear/niecza/commit/2de0e52d24
09:54 sorear dougherty(sp) ?
09:55 sorear sleep&
09:55 PacoAir joined #perl6
10:00 birdwindupbird joined #perl6
10:17 sergot joined #perl6
10:17 sergot hi o/
10:27 au joined #perl6
10:32 spider-mario joined #perl6
11:04 fridim_ joined #perl6
11:44 whiteknight joined #perl6
11:54 daxim joined #perl6
12:05 tokuhirom joined #perl6
12:06 tokuhirom joined #perl6
12:17 sisar joined #perl6
12:20 xinming joined #perl6
12:20 birdwindupbird joined #perl6
12:28 JimmyZ joined #perl6
12:29 tokuhirom joined #perl6
12:41 jaffa4 joined #perl6
12:41 jaffa4 hi
12:41 jaffa4 Is there a Perl 6 code formatter?
12:55 * JimmyZ thinks there will be
12:58 leprevost joined #perl6
13:08 * moritz uses vims auto-indenting to format Perl 6 code
13:12 Psyche^ joined #perl6
13:34 mtk joined #perl6
13:36 colomon sorear: woah, turns out my most efficient optimization so far was switching to mono 2.10.9 (previously 2.10.2) -- that shaved about 25% off my running time
14:09 cognominal___ joined #perl6
14:17 lestrrat joined #perl6
14:23 pat_js joined #perl6
14:48 Chillance joined #perl6
14:50 sorear good * #perl6
14:50 moritz \o sorear
14:52 sorear colomon: ping
14:52 colomon ponf
14:52 colomon errr, pong
14:52 * colomon was just studying http://www.mono-project.com/Performance_Tips
14:54 sorear colomon: the 'Allocation' numbers are not max-residency; they are simply the number _allocated_ without regard for garbage collection
14:54 colomon sorear: yes, I was figuring that out.
14:55 sorear the idea is that, if you have 80% of time spent in the GC, they are more useful than the 'real' time profile, because they tell you _who to blame for the GC runs_
14:56 sorear nice, it looks like ABC is almost entirely non-recursive
14:56 sorear this makes things much easier
14:58 adu joined #perl6
14:59 colomon sorear: ah
15:00 * colomon may be in and out a bit here, have a bored 3-year-old that needs entertaining
15:00 sorear colomon: why do you need to use .eval in abc2ly.pl?
15:00 colomon it's for converting rational strings to Rats, I think
15:01 colomon strings like "4/4" and "1/8"
15:02 colomon I'm never clear on exactly what is needed to do that.
15:02 sorear unless your evals are recursing and screwing up the counts, it looks like 107 s out of 129 total are being spent within eval calls
15:02 colomon !!!!!!!
15:02 sorear n: say "2/8".Numeric.perl
15:02 p6eval niecza v17-13-g2de0e52: OUTPUT«<1/4>␤»
15:02 moritz r: say '2/8'.Numeric.perl
15:02 p6eval rakudo 5f7d68: OUTPUT«1/4␤»
15:03 colomon sorear: I find it really hard to believe that's the problem, but it's easy enough to test!
15:04 colomon holy crap, that was it!
15:04 moritz suddenly fast?
15:04 colomon let me make sure it actually worked
15:06 moritz r: https://gist.github.com/2134734
15:06 p6eval rakudo 5f7d68: OUTPUT«Just another Perl»
15:06 colomon sorear, moritz: That run was literally 10x faster than my best time from yesterday
15:06 colomon and appears to have worked perfectly.
15:06 moritz n: https://gist.github.com/2134734
15:06 p6eval niecza v17-13-g2de0e52: OUTPUT«Just another Perl»
15:07 moritz takes about 5.5s on niecza and 4s on rakudo locally
15:08 moritz and yes, uses a few eval calls
15:09 colomon And mind you, with the new version, more than half of the time is the niecza start-up.
15:14 colomon so, that bigger ABC file that was running for 15+ minutes and then dying?  Just fully executed in 33 seconds.
15:14 colomon sorear++ sorear++ sorear++ moritz++
15:18 * moritz didn't do anything
15:19 colomon moritz: was hanging around #perl6 at just the right time to get caught up in the joy
15:19 fgomez joined #perl6
15:19 colomon That was 50 pages of (dense) printed sheet music.
15:21 colomon seriously, that just went from nearly unusably slow except for very small projects to perfectly fine for hard core real world use.
15:21 colomon now I just need to implement more features.
15:21 colomon :)
15:22 * sorear deletes the profile.
15:27 colomon sorear: do you normally expect .eval to be so slow?  it wasn't even in the inner loop of my program, it was happening three times per bar of music, and only just on strings of the form "N/M".
15:28 icwiener joined #perl6
15:45 stepnem joined #perl6
15:49 adu joined #perl6
15:51 sorear colomon: It's even slower than I thought, but not by enough to make me suspect bugs
15:58 kaare_ joined #perl6
15:58 s1n joined #perl6
16:00 moritz eval(few-char strings) takes about 0.2s on my machine (with niecza)
16:20 s1n joined #perl6
16:20 [hds] joined #perl6
16:21 moritz n: say 'a' ~~ /<.wb>/
16:21 p6eval niecza v17-13-g2de0e52: OUTPUT«Unhandled exception: Unable to resolve method wb in class Cursor␤  at /tmp/tTSjthtnT9 line 1 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2818 (Regex.ACCEPTS @ 4) ␤  at /tmp/tTSjthtnT9 line 1 (mainline @ 2) ␤  at /home/p6eval/niecza/lib/CORE.…
16:21 moritz n: say 'a' ~~ /<|w>/
16:21 p6eval niecza v17-13-g2de0e52: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Action method assertion:sym<|> not yet implemented at /tmp/WSsQBLiW6o line 1:â�¤------> [32msay 'a' ~~ /<|w[33mâ��[31m>/[0mâ�¤â�¤Unhandled exception: Unable to resolve method oplift in class Anyâ�¤  at /home/p6eval/niecza/src/RxOp…
16:29 TimToady sorear: maybe the GC is clearing out stuff you'll need for the next eval?
16:30 fgomez joined #perl6
16:30 constantined joined #perl6
16:32 constantined left #perl6
16:39 sorear TimToady: niecza has no garbage-collectable caches
16:41 sorear eval does a lot of high-overhead stuff internally, like loading code into the clr
16:41 buubot_backup sorear: ERROR: Can't locate object method "the" via package "clr" (perhaps you forgot to load "clr"?) at (eval 20) line 1.
16:46 NamelessTee joined #perl6
16:47 s1n joined #perl6
16:55 pmurias joined #perl6
16:55 pmurias sorear: hi
16:56 pmurias sorear: why do you plan on rewriting niecza to C#? performance?
17:02 pmurias sorear: and what do you intend to use for parsing?
17:05 geekosaur [19 20:54] <sorear> I'm fed up with the restrictions that the bootstrap system imposes.  I'll talk more later if you want
17:05 geekosaur fwiw
17:06 [hds] @*INC specified where to look for modules, doesn't it?
17:06 moritz yes
17:06 moritz r: say @*INC.perl;
17:06 p6eval rakudo 5f7d68: OUTPUT«Array.new("/home/p6eval/.perl6/lib", "/home/p6eval/nom-inst2/lib/parrot/​4.4.0-devel/languages/perl6/lib")␤»
17:07 moritz r: use lib 'somewhere else'; say @*INC.perl;
17:07 p6eval rakudo 5f7d68: OUTPUT«Array.new("somewhere else", "/home/p6eval/.perl6/lib", "/home/p6eval/nom-inst2/lib/parrot/​4.4.0-devel/languages/perl6/lib")␤»
17:07 [hds] ahhh, I can just do that!
17:07 [hds] I'd forgotten about that.
17:07 moritz it's pretty new in rakudo :-)
17:08 moritz you can also call  perl6 -Iotherdir yourscript.pl
17:08 [hds] ahh, cool.
17:08 jaffa4 hi
17:08 [hds] moritz++ cheers.
17:08 jaffa4 Di you know a formatter for Perl 6?
17:09 moritz jaffa4: I use vim for indenting
17:11 jaffa4 ok
17:11 s1n joined #perl6
17:11 sftp joined #perl6
17:12 dalek nqp: 770e9f2 | moritz++ | src/Regex/P6Regex/ (2 files):
17:12 dalek nqp: implement <|w> and <|c> regex assertions
17:12 dalek nqp: review: https://github.com/perl6/nqp/commit/770e9f28cc
17:12 dalek nqp: 31fdcee | moritz++ | / (3 files):
17:12 dalek nqp: oops, should have implemented <|w> in qregex right away. With basic tests this time
17:12 dalek nqp: review: https://github.com/perl6/nqp/commit/31fdceea60
17:13 sorear pmurias: performance (build), performance (startup), performance (compiling), performance (memory load), simplify build, simplify release, increase options for metaprogramming
17:15 moritz sorear: I'm curious if/how you can avoid the downsides of not bootstrapping
17:16 moritz things like non-Perl 6 values leaking out, different calling conventions etc.
17:16 moritz (not saying you shouldn't do it, just curious, because rakudo moves in the opposite dirction)
17:21 sorear moritz: right now, the compiler in effect uses 'non-Perl 6 values' - they are Perl 6 values, but from different instantiations of the types, because the compiler needs to have Str et al up before it can parse a single line of code
17:21 sorear there is a horrendously complex glue layer that maps compiler versions of types to runtime versions and vice versa.  Metaprogramming requires expanding the glue layer, which is a large part of why things like $class.^methods don't work in niecza
17:22 moritz ah, I already wondered
17:22 moritz because for role composition you need that info somewhere
17:22 sorear removing the bootstrap would not make the situation *worse*
17:24 sorear as for parsing, that's the detail I have least figured out
17:25 sorear I think it will involve a C# mini-parser that can parse a simplified version of STD
17:25 sorear by 'simplified', I mean 'to the point where it doesn't need anything in CORE to run'
17:26 sorear so the build procedure would look something like this:
17:26 sorear 1. build the C# components
17:26 sorear 2. mono run/Niecza.exe -C CORE
17:27 sorear 2a) the bootstrap classes and methods (e.g. Sub, Str, Regex, Grammar) are installed
17:27 sorear 2b) the mini-parser parses and loads STD
17:27 sorear 2c) the loaded STD is used to parse and compile CORE
17:28 sorear 2d) CORE and STD are saved into CORE.dll, CORE.ser
17:28 sorear 3. mono run/Niecza.exe -e 'say "Hello, world"'
17:28 sorear 3a) CORE.ser/CORE.dll is loaded
17:28 sorear 3b) STD, which is now in memory, is used to parse your code
17:29 moritz so there will still be a fair amount of stuff written in Perl 6
17:29 s1n joined #perl6
17:31 sergot joined #perl6
17:34 sergot hi :)
17:34 moritz hi sergot
17:34 sorear hi.
17:35 moritz sorear: which parts that are now written in Perl 6 will then be written in C#?
17:35 sorear moritz: src/*.pm6 except src/STD.pm6
17:37 moritz so, about 8k lines of p6 code
17:40 cognominal___ joined #perl6
17:50 s1n joined #perl6
17:50 dalek rakudo/nom: e8480cd | moritz++ | / (2 files):
17:50 dalek rakudo/nom: bump NQP revision to get <|w>, <|c>
17:50 dalek rakudo/nom:
17:50 dalek rakudo/nom: also remove those assertions from ROADMAP
17:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e8480cd844
17:51 colomon "so, about 8k lines of p6 code" !!!
17:51 moritz I've silently dropped <|g>, because it doesn't make much sense on our current Unicode abstraction level
17:58 spider-mario joined #perl6
18:15 [hds] Where's the best place to read about the current state of date/time manipulation and (especially) formatting at the moment?
18:16 moritz [hds]: https://github.com/rakudo/rakud​o/blob/nom/src/core/Temporal.pm
18:16 [hds] ahhh, it's called Termporal, that's why I couldn't find it. Thanks!
18:17 moritz and http://perlcabal.org/syn/S32/Temporal.html for the specs
18:18 sorear colomon: !!! in what sense?
18:18 snearch joined #perl6
18:19 colomon sorear: big change to make
18:20 * moritz should probably learn C# at some point
18:22 s1n joined #perl6
18:28 colomon moritz: it's pretty much exactly what you would expect, except more powerful and more annoying.  :)
18:30 birdwindupbird joined #perl6
18:31 pmurias sorear: nam will no longer be serialized as json after the change?
18:34 sorear I'm hoping nam can be killed off entirely.
18:35 pmurias the change appears to make sense
18:35 pmurias but it seems a lot of boring work ;)
18:47 s1n joined #perl6
18:48 jaffa4 What is alpha class exactly?
18:49 moritz I just hope it can be done incrementally, not in a single huge step
18:49 moritz jaffa4: all characters of classification 'L' (Letter), plus the underscore
18:50 jaffa4 ok
18:57 tadzik 'evening
18:57 moritz \o tadzik
18:57 tadzik moritz: o/
18:57 moritz tadzik: it seems that panda bootstrap is agian a bit broken :(
18:57 tadzik ah, yeah, heard about it
18:58 tadzik will get to it once I fix myself a bit
18:58 moritz ok :-)
20:23 wolfman2000 joined #perl6
20:32 TimToady joined #perl6
20:32 fgomez joined #perl6
20:33 fgomez joined #perl6
20:33 fgomez joined #perl6
20:36 icwiener joined #perl6
20:49 fgomez joined #perl6
21:13 cognominal joined #perl6
21:16 s1n joined #perl6
21:18 * araujo greets around
21:22 plobsing joined #perl6
21:34 Araq joined #perl6
21:44 s1n joined #perl6
21:51 Araq left #perl6
21:57 cognominal_ joined #perl6
22:02 sorear o/ araujo
22:03 araujo hello sorear o/
22:03 araujo how that goes?
22:03 araujo what exactly does the '.=' assignment operator? .... I see it mainly in classes generations
22:04 Juerd $foo += $bar;   # same as $foo = $foo + $bar;
22:04 Juerd $foo.=bar;  # same as $foo = $foo.bar;
22:04 Juerd Possibly optimized.
22:05 tadzik does 'curl http://feather.perl6.nl:3000/list' work for you?
22:06 Juerd Curl succesfully reports that it couldn't connect to the host.
22:06 tadzik oh, reboot
22:06 araujo mmm...
22:06 Juerd tadzik: crontab -e, add a line beginning with @reboot
22:07 tadzik I shall, thanks
22:07 mikemol joined #perl6
22:07 Juerd Make sure that the program can run without a login environment. For example, by writing a shell script that exports things like your preferred PATH, and then does an exec.
22:08 tadzik is @reboot perl /home/tjs/modules/bin/app.pl fine?
22:08 araujo I see, thanks Juerd
22:08 araujo rakudo: my $d ; $d.new
22:08 p6eval rakudo e8480c:  ( no output )
22:08 araujo rakudo: my $d ; say $d.new
22:08 Juerd tadzik: If it's executable and can run under a relatively clean environment
22:08 p6eval rakudo e8480c: OUTPUT«Any.new()␤»
22:08 Juerd For example, you may want to chdir explicitly.
22:09 tadzik hm
22:09 tadzik I'll see if it'll break on the next reboot ;P
22:15 tadzik ha
22:15 tadzik I like how installing Term::ANSIColor takes roughly 10 seconds
22:15 dalek panda: 1d88346 | tadzik++ | ext/JSON/Tiny (3 files):
22:15 dalek panda: Update JSON in ext/
22:15 dalek panda: review: https://github.com/tadzik/panda/commit/1d88346602
22:21 Entonian joined #perl6
22:22 araujo multi's are private by default inside a class? ... I mean, they can/should only be accessed through methods?
22:23 sorear multi means multi sub
22:23 sorear you can also write multi method
22:23 sorear multi/only and sub/method are orthogonal
22:25 araujo sorear, I see ....
22:29 sergot good night! o/
22:30 araujo sorear, I see, ... I was actually using the single 'multi'keyword inside the class, that didn't work ... it works with 'multi method' though
22:37 tadzik yay, Config::INI now works
22:56 dalek emmentaler: a3995a9 | tadzik++ | template.tt:
22:56 dalek emmentaler: Include some more statistics
22:56 dalek emmentaler: review: https://github.com/tadzik/e​mmentaler/commit/a3995a938c
22:57 tadzik new results on http://tjs.azalayah.net/new.html
22:57 tadzik we have more modules working than not working :)
23:02 jnthn evening, #perl6
23:03 * jnthn safely back from $event
23:03 tadzik hello jnthn
23:04 felher o/
23:04 sorear o/ jnthn
23:04 sorear seen masak lattely?
23:04 aloha masak lattely was last seen in  15480 days 23 hours ago .
23:06 jnthn sorear: I've seen masak more recenlty than aloha ;)
23:06 jnthn sorear: I waved masak goodbye from the train about 20 minutes ago :)
23:08 wolfman2000 joined #perl6
23:13 cognominal joined #perl6
23:18 cognominal joined #perl6
23:26 araujo mmm...
23:26 araujo how can I use the 'self' variable?, can't find an example in the wiki ....
23:27 araujo basically I just want to invoke a method
23:30 jnthn self.the_method() ?
23:34 araujo jnthn, I still get confused with 'omitting' the () for method invocation :P
23:34 araujo thanks
23:34 dalek rakudo: d7f45ff | moritz++ | src/core/Cool.pm:
23:34 dalek rakudo: Cool.eval
23:34 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/d7f45ff8cf
23:36 dalek rakudo/nom: dca0fa6 | jnthn++ | docs/ROADMAP:
23:36 dalek rakudo/nom: Remove a dupe entry, remove a completed entry and a couple of tweaks.
23:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dca0fa6827

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs