Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-09-26

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 masonkramer Hmm, in order to build this new new(), I feel like I have to reference attributes symbolically
00:04 masonkramer http://nopaste.snit.ch/23657 # now what?
00:04 patspam joined #perl6
00:08 colomon can you give some examples of how to use your Node.new?
00:09 masonkramer At this point, I am trying to simply recreate Mu.new
00:09 colomon that's what I was wondering.
00:10 masonkramer Well, I plan to add more stuff in after that
00:10 masonkramer the more stuff part is easy though
00:10 colomon Is it the BUILD which is the problem?
00:10 masonkramer BUILD is bugged, apparently
00:11 colomon rakudo: class F { has @.things; has @.build_things; }; say F.new(:things<1 2 3>).perl
00:11 p6eval rakudo 2632af: OUTPUT«F.new(things => ["1", "2", "3"], build_things => [])␤»
00:12 masonkramer hmm?
00:12 colomon is there a reason you're using BUILD instead of a custom F.new?
00:12 masonkramer BUILD would have been exactly what I wanted, if it worked
00:13 masonkramer however right now, I am trying to build a custom Node.new
00:13 masonkramer that recreates Mu.new(), then does more stuff afterwards
00:13 masonkramer I can't figure out how to set private attrs when all I have is a slurped hash of Pairs
00:14 lichtkind good night
00:14 masonkramer good night :)
00:14 colomon self.bless(*, %attrs); maybe?
00:15 colomon or self.bless(*, !%attrs);
00:15 colomon ?
00:15 sorear ooh, jnthn is getting busy, so must I
00:15 * colomon admits he has always considered new to be deep magic
00:15 sorear (heat wave </3)
00:16 masonkramer self.bless(*, !%attrs) doesn't do it
00:16 lichtkind left #perl6
00:17 colomon rakudo: class A { has $.id; multi method new(*%attrs) { self.bless(*,%attrs) }; }; say A.new(:id(10)).perl
00:17 p6eval rakudo 2632af: OUTPUT«A.new(id => Any)␤»
00:17 sorear should surely be |%attrs
00:17 sorear !%attrs is logical NOT
00:17 colomon sorear++
00:18 colomon rakudo: class A { has $.id; multi method new(*%attrs) { self.bless(*,|%attrs) }; }; say A.new(:id(10)).perl
00:18 masonkramer that did it
00:18 p6eval rakudo 2632af: OUTPUT«A.new(id => 10)␤»
00:18 colomon sorry about that, I'm fuzzy with a cold at the moment.
00:19 masonkramer which synopsis is |% in?
00:19 jnthn self.bless(*, *%attrs);
00:19 jnthn er
00:19 jnthn |%attrs
00:19 jnthn sorry
00:19 jnthn :-)
00:19 jnthn masonkramer: S06 I'd guess
00:19 jnthn It's just flattening.
00:19 colomon masonkramer: I dunno, I've only seen |@ used before, but it seemed a logical analogue
00:19 jnthn sorear: Heat wave in late September? Ouch!
00:21 masonkramer thanks guys
00:21 masonkramer I'm off for the night, happy to get to this stopping point
00:21 masonkramer :)
00:21 colomon masonkramer++
00:24 jnthn masonkramer: night o/
00:24 jnthn Mmm...Weissbier++
00:26 plobsing good idea.
00:27 xabbu42 joined #perl6
00:45 patspam left #perl6
00:51 Italian_Plumber joined #perl6
00:55 QinGW joined #perl6
00:59 risou joined #perl6
01:00 QinGW1 joined #perl6
01:02 QinGW left #perl6
01:07 jnthn Time for a little sleep. :-)
01:10 redicaps joined #perl6
01:11 redicaps left #perl6
01:12 xabbu42 left #perl6
01:33 Italian_Plumber left #perl6
01:58 patspam joined #perl6
01:58 patspam left #perl6
02:00 LaVolta joined #perl6
02:11 miso_soup joined #perl6
02:26 ggoebel left #perl6
02:29 wolfman2000 joined #perl6
02:29 wolfman2000 Evening. I've been getting a lot of emails about GitHub's Perl 6 book. Just wanted to make sure things were going well with it.
02:44 kid51 joined #perl6
02:45 kid51 left #perl6
02:53 masonkramer what
02:53 masonkramer what's the difference between \ and |?  They both seem to be producing Captures
02:55 miso_soup left #perl6
02:59 masonkramer Meh, I think I need to understand Parcels, Captures, and Pairs if I want to get any further....tomorrow then
03:01 masonkramer Captures seem to transport non-flat data in the same capacity that references do so in p5
03:02 masonkramer I guess I really just don't understand Parcels at this point
03:02 masonkramer if (1, (2, (3,4))) flattens, what's the point of Parcels now?
03:03 gottreu joined #perl6
03:07 colomon rakudo: "2abcd" ~~ / (\d+) (. ** { $0 }) /; say ~$1
03:07 p6eval rakudo 2632af: OUTPUT«abcd␤»
03:07 colomon rakudo: "2abcd" ~~ / (\d+) (. ** { +$0 }) /; say ~$1
03:07 p6eval rakudo 2632af: OUTPUT«abcd␤»
03:07 masonkramer left #perl6
03:07 masonkramer joined #perl6
03:09 risou left #perl6
03:09 risou joined #perl6
03:14 risou left #perl6
03:16 meppel joined #perl6
03:19 meppl left #perl6
03:26 wolfman2000_ joined #perl6
03:28 wolfman2000 left #perl6
03:28 wolfman2000_ is now known as wolfman2000
03:37 nymacro joined #perl6
03:49 DemoFreak left #perl6
03:50 petdance joined #perl6
03:55 wolfman2000_ joined #perl6
03:57 DemoFreak joined #perl6
03:58 wolfman2000 left #perl6
03:58 wolfman2000_ is now known as wolfman2000
03:59 TimToady masonkramer: you don't know that (1, (2, (3,4))) will flatten till you know what context it is bound to.  if it's an argument list, there are only two arguments there, the 1, and everything else, for insatnce
04:06 envi^home joined #perl6
04:08 envi^home is now known as envi
04:12 meppel left #perl6
04:17 araujo http://ideone.com/B1cnv
04:17 araujo twisted example ... just added vargs let :P
04:27 sorear masonkramer: \(arglist) produces a Capture of the arglist; it's an expression
04:28 sorear masonkramer: |foo is not an expression (mostly); it's magic syntax which causes foo to be coerced to Capture *and used as multiple arguments*
04:28 sorear rakudo: sub foo($x,$y,$z) { say $x }; my $c = \(1,2,3); foo($c)
04:28 p6eval rakudo 2632af: OUTPUT«Not enough positional parameters passed; got 1 but expected 3␤  in 'foo' at line 1:/tmp/qIIQtrkbrH␤  in main program body at line 22:/tmp/qIIQtrkbrH␤»
04:28 sorear rakudo: sub foo($x,$y,$z) { say $x }; my $c = \(1,2,3); foo(|$c)
04:28 p6eval rakudo 2632af: OUTPUT«1␤»
04:37 gottreu rakudo: my $a = List.new(4,(3,(5,2))); $a.elems.say; $a.sort.elems.say; $a.sort.WHAT.say;
04:38 p6eval rakudo 2632af: OUTPUT«2␤4␤Parcel()␤»
04:40 gottreu my $a = List.new(4,(3,(5,2))); $a.perl.say; $a.elems.say; $a.sort.perl.say; $a.sort.elems.say;
04:40 gottreu rakudo: my $a = List.new(4,(3,(5,2))); $a.perl.say; $a.elems.say; $a.sort.perl.say; $a.sort.elems.say;
04:41 p6eval rakudo 2632af: OUTPUT«(4, (3, (5, 2)))␤2␤((3, (5, 2)), 4)␤4␤»
04:41 hugme left #perl6
04:43 wolfman2000 left #perl6
04:48 gottreu rakudo: my $a = List.new(4,(3,(5,2))); $a.perl.say; $a.reverse.reverse.perl.say;
04:48 p6eval rakudo 2632af: OUTPUT«(4, (3, (5, 2)))␤(4, 2, 5, 3)␤»
04:53 gottreu rakudo: my $a = List.new(4,(3,(5,2))); $a.perl.say; $a.reverse.perl.say; $a.reverse.reverse.perl.say;
04:53 p6eval rakudo 2632af: OUTPUT«(4, (3, (5, 2)))␤((3, (5, 2)), 4)␤(4, 2, 5, 3)␤»
04:53 [Sec] left #perl6
04:53 gottreu The Parcelization confuses me.  Is this the desired behaviour?
04:59 plobsing left #perl6
05:08 leprevost_ joined #perl6
05:08 leprevost_ left #perl6
05:09 leprevost_ joined #perl6
05:12 leprevost_ left #perl6
05:12 [Sec] joined #perl6
05:12 leprevost_ joined #perl6
05:13 leprevost_ left #perl6
05:50 LaVolta left #perl6
05:53 Guest23195 joined #perl6
05:55 LaVolta joined #perl6
06:07 LaVolta left #perl6
06:09 grew left #perl6
06:09 grew joined #perl6
06:11 kjeldahl joined #perl6
06:15 zulon joined #perl6
06:20 mfollett left #perl6
06:23 schpey joined #perl6
06:28 kjeldahl left #perl6
06:28 gottreu left #perl6
06:29 petdance left #perl6
06:34 icwiener joined #perl6
06:48 kjeldahl joined #perl6
06:59 wamba joined #perl6
07:04 wamba left #perl6
07:07 wamba joined #perl6
07:31 Ross joined #perl6
07:31 Ross left #perl6
07:31 Ross joined #perl6
07:49 justatheory left #perl6
08:14 moritz_ good morning
08:21 bobkare Good morning. I just tried out rakudo* last night and saw just how little I/O is implemented. Has it gotten further in trunk?
08:22 nymacro there are lots of things which still need to be extended/implemented/fixed
08:23 moritz_ bobkare: yes, the next release willi contain methods for retrieving access time, modify time etc.
08:24 bobkare Hm, how about sysopen or some other way to specify O_EXCL? That's what I'm really waiting for
08:25 moritz_ not yet; but you're welcome to give it a shot, we'll surely accept patches
08:27 bobkare Hm, not really sure where I'd start. Does parrot support it, or would it involve hacking on that too?
08:27 moritz_ I don't know; you'd need to read the parrot docs to find out
08:31 araujo morning moritz_!
08:32 bobkare doesn't seem like it. I don't think I have enough time to play with p6 right now to try tackling that. Maybe I'll try writing a Path implementation instead
08:38 * araujo wonders what would be a good symbol to represent function invocation
08:39 moritz_ depends on how functional your language is
08:39 moritz_ haskell uses no special character at all
08:39 moritz_ many languages use parens
08:42 xabbu42 joined #perl6
08:43 sorear handling of TTIAR makes for an interesting survey of notations
08:43 sorear Haskell - application
08:43 sorear conventional math - multiplication
08:43 araujo http://ideone.com/ODpfA
08:43 sorear Awk - string concatenation
08:43 araujo moritz_, ^
08:43 sorear Forth and its spinoffs - sequencing
08:43 moritz_ Mathematica - multiplication
08:44 nymacro left #perl6
08:50 dalek book: 8134ba9 | moritz++ | src/classes-and-objects.pod:
08:50 dalek book: mention .defined, and that type objects are undefined
08:50 dalek book: review: http://github.com/perl6/book/commit/8134ba95bbe140670df169c0cca56452547924a9
08:50 dalek book: 0c3f670 | moritz++ | src/multi-dispatch.pod:
08:50 dalek book: fix inaccuracy introduced in 3ae798c9
08:50 dalek book: review: http://github.com/perl6/book/commit/0c3f6709fb09372fc370d83ebd86b25e9da69c72
08:54 bobkare Um, S32/IO says new() takes Stringy Path and Str @PathElements, but then clarifies that those are mutually exclusive. Isn't that just about a perfect usage of multimethods?
08:55 dalek rakudo: 704698f | moritz++ | src/Perl6/BacktracePrinter.pm:
08:55 dalek rakudo: use backtrace_line for warnings
08:55 dalek rakudo:
08:55 dalek rakudo: that way we get the file name and current sub name appear in warnings
08:55 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/704698fa0c99153ec4bf9aa7d448a18f17d75192
08:56 dalek book: a20b738 | moritz++ | src/multi-dispatch.pod:
08:56 dalek book: [multis] be more concrete in an example
08:56 dalek book: review: http://github.com/perl6/book/commit/a20b738f46d351e18acd61c1946290e9e540055f
08:59 sorear bobkare: I recommend NOT trying to implement I/O as specced
08:59 sorear it's a joke
09:00 sorear implement something actually useful, then we'll change the spec to reflect reality
09:00 moritz_ like dir() :-)
09:01 moritz_ phenny: ask jnthn if the rock/paper/scissors example in the book can actually work as is, with enum elements as types; do they really count as nominal types?
09:01 phenny moritz_: I'll pass that on when jnthn is around.
09:05 bobkare Bah, I'll go fix some food and then write that piece of actual work I've been pushing for weeks now, instead of trying to invent a new I/O system
09:07 patrickas joined #perl6
09:07 patrickas o/
09:07 moritz_ \o
09:08 nymacro joined #perl6
09:08 * moritz_ looks for a good place in the book to insert a simple subchapter about basic introspecton
09:08 moritz_ things like .WHAT and .perl
09:10 * patrickas hasn't yet read TheBook and kinda feels guilty about it
09:12 moritz_ no need to feel guilty
09:14 * patrickas unfeels guilt! :-)
09:15 * moritz_ would love to have such a convenient mechansim to get rid of the guilty feeling :-)
09:17 nymacro Alcohol helps
09:17 moritz_ Alcohol helps temporarily, but generally worsens the situation
09:18 patrickas When I start feeling guilty ... I stop feeling guilty and be awesome instead. True Story!
09:19 nymacro That was the most inspirational story I've ever heard!
09:19 moritz_ that explains MAIN sub and the serie^Wsequence operator
09:20 patrickas oh the series op has been renamed ?
09:21 moritz_ yes
09:21 moritz_ because in math, "series" are accumulated values
09:21 moritz_ series = [\+] sequence
09:21 patrickas_ joined #perl6
09:21 moritz_ so ... corresponds to sequence
09:22 patrickas_ i have been away for far too long :-(
09:22 patrickas_ day job has kinda caught up with me so less time for rakudo too... Guilt creeping ... no no ... more awesomeness!
09:25 patrickas left #perl6
09:26 moritz_ contributing to an open source project is always an opportunity, never an obligation
09:28 nymacro but it always gives you a sense of satisfaction contributing to something which will be useful to someone
09:29 patrickas joined #perl6
09:30 patrickas *fjh!@# wireless router!
09:31 patrickas_ left #perl6
09:35 tadzik joined #perl6
09:37 snarkyboojum do people know that try.rakudo.org doesn't appear to be responding?
09:37 patrickas left #perl6
09:39 tadzik poke ash_
09:40 patrickas joined #perl6
09:42 patrickas I think I just successfully used aluminum foil and an old mouspad to boost the wifi signal :-)
09:43 nymacro hi-five!
09:45 nymacro Rakudo doesn't have sockets yet?
09:46 LoRe nymacro: it hasn't non blocking sockets yet
09:47 nymacro LoRe: cheers
09:47 patrickas rakudo: my @s := 1,1,{ $^a + 1, $^b * 2 }...*; @s[^5].perl.say
09:47 p6eval rakudo 2632af: OUTPUT«(1, 1, (2, 2), (2, 4), (3, 4))␤»
09:47 patrickas maybe I should work on that next!
09:50 tadzik rakudo: my @s := 1,1,{ $^a + 1, $^b * 2 }...*; @s[^10].perl.say # hrm
09:50 p6eval rakudo 2632af: OUTPUT«(1, 1, (2, 2), (2, 4), (3, 4), (3, 4), (3, 4), (3, 4), (3, 4), (3, 4))␤»
09:51 sorear twisted pair ftw.
09:53 boggytwo left #perl6
10:05 patrickas left #perl6
10:08 QinGW1 left #perl6
10:16 sorear complexity of the niecza/mm code generator is starting to get out of control :(
10:17 sorear not helping matters is that it's not going to factor easily
10:31 cogno joined #perl6
10:44 lichtkind joined #perl6
10:45 lichtkind mberends: OHAI
10:45 cogno left #perl6
10:47 risou joined #perl6
10:47 nymacro hoi hoi
10:49 mberends lichtkind: ohai, brb, just fixing something to eat
10:49 zulon left #perl6
10:49 lichtkind nymacro: ahoj
10:50 zulon joined #perl6
10:53 cogno joined #perl6
10:55 dalek niecza/mm: be34de8 | sorear++ | src/ (2 files):
10:55 dalek niecza/mm: [mm] more static pad generation
10:55 dalek niecza/mm: review: http://github.com/sorear/niecza/commit/be34de819392b751f5c8f46163cdb9687c5f04b8
10:55 dalek niecza/mm: 1ff5f22 | sorear++ | / (5 files):
10:55 dalek niecza/mm: [mm] Prototype static pad construction
10:55 dalek niecza/mm: review: http://github.com/sorear/niecza/commit/1ff5f22cd33d1890b08d679181b952d5ee024734
10:56 cogno_ joined #perl6
10:57 cogno left #perl6
11:17 ggoebel joined #perl6
11:22 colomon akudo: "2abcd" ~~ / (\d+) (. ** { +$0 }) /; say ~$1
11:23 Italian_Plumber joined #perl6
11:25 cogno_ left #perl6
11:25 colomon rakudo: "2abcd" ~~ / (\d+) (. ** { +$0 }) /; say ~$1
11:25 p6eval rakudo 704698: OUTPUT«abcd␤»
11:26 colomon Am I correct in thinking that should be just "ab"?
11:36 moritz_ yes; ** { } is basically NYI
11:37 moritz_ it basically parses as ** <separator>, where <separator> is the zero-width match that { } use
11:37 moritz_ s/use/produce/
11:42 cogno joined #perl6
11:46 lichtkind colomon: got my mail?
11:47 colomon lichtkind: nope.
11:47 lichtkind colomon: excuse me i mixed it up with coleda (will)
11:47 moritz_ that's [Coke]
11:47 colomon lichtkind: no worries
11:48 lichtkind moritz_: yes
11:49 * colomon looks at github commits for the first time in a few days.  moritz_++
11:50 icwiener_ joined #perl6
11:51 moritz_ rakudo: say now.WHAT
11:51 p6eval rakudo 704698: OUTPUT«Instant()␤»
11:52 schpey left #perl6
11:52 cogno left #perl6
11:52 moritz_ rakudo: say now.^attributes[0].^methods.join(', ')
11:52 p6eval rakudo 704698: OUTPUT«Method 'methods' not found for invocant of class ''␤  in main program body at line 22:/tmp/hO51KAhEkn␤»
11:53 icwiener left #perl6
11:57 dalek rakudo: d7ebff5 | moritz++ | src/core/Attribute.pm:
11:57 dalek rakudo: make Attribute stringify to the attribute name
11:57 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d7ebff5bd011ba7a028dd0e27af0172c4b4336e3
11:59 tadzik method has-accessor() { $!has_accessor ?? True !! False }
11:59 tadzik couldn't it be just a public accessor?
12:00 dcript joined #perl6
12:01 dcript left #perl6
12:02 meppl joined #perl6
12:03 dalek book: 1dc6f0b | moritz++ | src/classes-and-objects.pod:
12:03 dalek book: [oo] a section on introspection
12:03 dalek book: review: http://github.com/perl6/book/commit/1dc6f0bafc35c67629a3c2e6408037abf57568b0
12:03 moritz_ unless it needs compatiblity with p6object or so
12:07 torehaug joined #perl6
12:13 schpey joined #perl6
12:16 dalek book: 5c98231 | moritz++ | lib/book.sty:
12:16 dalek book: add pdonelan++ and jkeenan++ to the contributors; both have contributed helpful bug reports
12:16 dalek book: review: http://github.com/perl6/book/commit/5c98231331b8088f64cadd940932ffe3195f825a
12:16 dalek book: 898f538 | jest++ | README:
12:16 dalek book: Added info about required texlive-font-util Ubuntu package.
12:16 dalek book: review: http://github.com/perl6/book/commit/898f5389973c80bff2036d9f0b61a6f7d342052e
12:21 masak joined #perl6
12:21 masak oh hai, #perl6!
12:22 masak rakudo: class F { has @.things; has @.build_things; submethod BUILD { @!build_things = <A B C> }  }; say F.new(:things<1 2 3>).perl
12:22 p6eval rakudo 704698: OUTPUT«F.new(things => [], build_things => ["A", "B", "C"])␤»
12:22 masak <jnthn> Damm...that's a Rakudo bug. :/
12:23 masak and a long known one.
12:23 masak A12 has something to say about the desired behavior. hold on.
12:24 masak 'In any event, the assignment of default attribute values happens automatically. For any attribute that is not otherwise initialized, the attribute declaration's "build" property is evaluated and the resulting value copied in to the newly created attribute slot. This happens logically at the end of the BUILD block, so we avoid running initialization closures unnecessarily. This implicit initialization is based not on whether the
12:24 masak attribute is undefined, but on whether it was initialized earlier in BUILD. (Otherwise we could never explicitly create an attribute with an undefined value.)'
12:29 masak don't know whether that still applies, but it sounds sane.
12:29 masak it naturally raises the question "How?" (as in "How is an unassigned undefined value distinguished from an assigned undefined value?")
12:33 mberends lichtkind: rehai
12:34 masak also, is the distinction hidden, or introspectable?
12:36 Sarten-X left #perl6
12:39 masak sorear: I like your idea about the survey of uses for TTIAR. it could also be seen as a comprehensive history of the juxtaposition operator :P
12:42 masak masonkramer: I still maintain that BUILD will most likely be sufficient for you, and that the one NYI part of it can be worked around more easily than reinventing either BUILD or .new manually.
12:42 jnthn o/
12:42 phenny jnthn: 09:01Z <moritz_> ask jnthn if the rock/paper/scissors example in the book can actually work as is, with enum elements as types; do they really count as nominal types?
12:43 masonkramer good morning
12:43 jnthn phenny: tell moritz_ the elements don't really, no
12:43 phenny jnthn: I'll pass that on when moritz_ is around.
12:43 moritz_ so we should use classes instead?
12:43 phenny moritz_: 12:43Z <jnthn> tell moritz_ the elements don't really, no
12:43 jnthn Whenever I show this example at a conference I do it with classes because it makes life so much easier.
12:43 jnthn And sub-typing relationships are obvious.
12:44 moritz_ classes it is then
12:44 jnthn +1
12:50 masak +1
12:52 Trashlord left #perl6
12:53 masonkramer masak: This is what I came up with last night: http://nopaste.snit.ch/23679
12:53 * masak lookz
12:53 masonkramer the hard part of this is that my initializer needs to set read only attributes, and so more_stuff
12:54 masak masonkramer: and if you just put 'self.more_stuff' in a BUILD submethod, and don't declare your own .new method, what do you miss?
12:55 dalek book: f5277d3 | moritz++ | src/multi-dispatch.pod:
12:55 dalek book: [multi] switch rock/paper/scissors to classes
12:55 dalek book:
12:55 dalek book: The enum elements don't act as proper nominal types, and break the example.
12:55 dalek book: review: http://github.com/perl6/book/commit/f5277d399ef332044e33503f0388dedd9fe29b67
12:55 Trashlord joined #perl6
12:55 masak masonkramer: seems to me you're unnecessarily defining your own .new
12:55 masonkramer masak: here's my golf
12:55 masonkramer rakudo: class F { has @.things; has @.build_things; submethod BUILD { @!build_things = <A B C> }  }; say F.new(:things<1 2 3>).perl
12:55 p6eval rakudo 704698: OUTPUT«F.new(things => [], build_things => ["A", "B", "C"])␤»
12:56 masonkramer @.things should contain [1, 2, 3]
12:56 moritz_ yes, known bug
12:56 masak masonkramer: it will, if you define the signature to BUILD correctly.
12:56 masak masonkramer: look:
12:56 masak rakudo: class A { has $.x; submethod BUILD(:$!x) { self.more_stuff }; method more_stuff { say "OH HAI" } }; say A.new(:x(42)).x
12:56 p6eval rakudo 704698: OUTPUT«OH HAI␤42␤»
12:56 masak masonkramer: that does everything you want.
12:57 am0c^ joined #perl6
12:58 masonkramer ( working through that ... )
13:01 dalek book: e32eb8f | moritz++ | src/multi-dispatch.pod:
13:01 dalek book: remove superfluous semicolons
13:01 dalek book: review: http://github.com/perl6/book/commit/e32eb8ffebe09d5cc367952a945ce25129047d09
13:04 masonkramer masak: so the signature should include a pair for each named attr that I want to be set in the default way?
13:04 jnthn s/pair/named attributive parameter/
13:05 jnthn .oO( that's a mouthful... )
13:05 masak masonkramer: yes. consider that the workaround.
13:05 masak when attr initialization works correctly, those won't be needed. but your code will still work.
13:06 masonkramer Thanks, I'm going with it
13:08 Mowah joined #perl6
13:13 masak oh, oh! news from the Druid front. I've spent the last month or so prototyping Druid computer players in Perl 5. I'm now confident that I'll be able to produce a competitive Perl 6 computer player for Druid.
13:14 jnthn \o/
13:15 masak it's a captivating process, getting insights about abstractions, and then implementing them enough to get the next insight :)
13:15 masak it's also exhausting.
13:17 Patterner left #perl6
13:19 Psyche^ joined #perl6
13:19 Psyche^ is now known as Patterner
13:24 masonkramer would fixing BUILD be a reasonable entry-level Rakudo project, or not?
13:25 masak masonkramer: see my musings and problematizing at http://irclog.perlgeek.de/perl6/2010-09-26#i_2865826
13:35 ash_ left #perl6
13:39 Italian_Plumber left #perl6
13:41 moritz_ does druid work with current rakudo? (as opposed to alpha)
13:42 plobsing joined #perl6
13:42 tadzik left #perl6
13:45 masak nope.
13:45 masak I'd like to be able to say that I'm working on it, but that's true only in the loosest sense of the term.
13:45 schpey left #perl6
13:49 miso_soup joined #perl6
13:51 colomon masak: do you have any feel for what the issues are?
13:52 masak yes. currently blocking on old model not working under new Rakudo, and tuits to convert it to a model that does.
13:52 masak more to the point, old Druid has a base class with regex members, suffering from at least two regressions making them not work.
13:53 masak the two that I can remember right now are (1) can't call an our-scoped rule from a rule, and (2) when working around (1), can't make a proper hierarchy of matches.
13:55 colomon hmmm
13:56 tadzik joined #perl6
13:58 satyavvd joined #perl6
14:00 satyavvd_ joined #perl6
14:02 satyavvd left #perl6
14:02 satyavvd_ is now known as satyavvd
14:03 dual left #perl6
14:05 masak I'm sure there are ways to solve it; my brain is just stuck in the old design, and would need to shift gears a bit to remake Druid.
14:08 supernovus joined #perl6
14:08 patspam joined #perl6
14:08 patspam left #perl6
14:09 supernovus It seems the server hosting perl6.org (feather?) is down.
14:09 phenny supernovus: 22 Sep 20:16Z <tadzik> tell supernovus HashConfig's missing deps.proto
14:11 supernovus tadzik: added deps.proto to HashConfig
14:14 dalek 6model: e576843 | jnthn++ | dotnet/compiler/Actions.pm:
14:14 dalek 6model: Set up $?CLASS variable so we can always find the type object for the current class, which we'll need for attribute lookups.
14:14 dalek 6model: review: http://github.com/jnthn/6model/commit/e5768431bd525df58f9840addd952e4dbcee4805
14:15 masak fwiw, proto treats no deps.proto and an empty one equivalently.
14:17 JimmyZ joined #perl6
14:18 supernovus masak: That's good to know. In this case, HashConfig depended upon json (since I made that the default serialization format) but I forgot to add json as a dependency.
14:19 supernovus Does pls still use deps.proto? I seem to recall seeing a bit of code that scanned for 'use' lines.
14:20 hugme joined #perl6
14:20 dalek 6model: 159250a | jnthn++ | dotnet/runtime/Metamodel/Representations/P6opaque.cs:
14:20 dalek 6model: Need to actually store the number of slots so we do allocations properly. D'oh.
14:20 dalek 6model: review: http://github.com/jnthn/6model/commit/159250a53ed2234fd15b73cffd38e5bf0ad2298d
14:20 dalek 6model: 1ea7ed6 | jnthn++ | dotnet/runtime/Runtime/Ops.cs:
14:20 dalek 6model: Fix some naming thinkos and make bind_attr[_with_hint] a little more convenient for the code generator.
14:20 dalek 6model: review: http://github.com/jnthn/6model/commit/1ea7ed6a8d4130fbe2f7c9d1306de12293fcedce
14:20 dalek 6model: c7ab6ac | jnthn++ | dotnet/compiler/PAST2DNSTCompiler.pm:
14:20 dalek 6model: Implement basic attribute get/bind by starting to fill out the handler for PAST::Var nodes with attribute scope.
14:20 dalek 6model: review: http://github.com/jnthn/6model/commit/c7ab6acdec81381ac1d503677b5dece64e59daf8
14:22 risou left #perl6
14:22 wurens joined #perl6
14:23 aloha left #perl6
14:23 risou joined #perl6
14:25 aloha joined #perl6
14:27 wurens where can i download perl 6?
14:28 nymacro rakudo.org
14:28 moritz_ wurens: http://rakudo.org/how-to-get-rakudo
14:28 moritz_ rakudo is a Perl 6 compiler
14:28 nymacro moritz_ is always on the ball
14:28 wurens http://github.com/rakudo/star/downloads
14:28 wurens is it?
14:28 moritz_ yes
14:29 wurens why doesn't just name it perl 6?
14:29 moritz_ wurens: for the same reason that there's not "C", but gcc, msvc, icc etc.
14:30 moritz_ and no "fortran", but a gnu fortran compiler, intel fortran compiler etc.
14:30 moritz_ in all three cases there's the distinction between language and compiler
14:32 JimmyZ rakudo builds a perl6.exe on windows :)
14:34 wurens so, rakudo will be quite different from perl 5?
14:34 moritz_ it already is quite different from perl 5
14:34 supernovus Rakudo already is quite different from perl 5 :-)
14:36 wolfman2000 joined #perl6
14:36 supernovus All Perl 6 implementations will be quite different from Perl 5. In my opinion Perl 6 and Perl 5 are two completely different languages, which both happen to be members of the Perl family, and share a common heritage and culture.
14:38 wolfman2000 supernovus: Speaking of implementations...it's time I put Perl6 on my MacBook Pro again. I forgot the usual order of how to do things: do I just need Rakudo, or are there other parts?
14:38 wurens I wonder whether modules for Perl 5 can be used by Rakudo?
14:39 wolfman2000 wurens: I believe I saw something that can allow some Perl5 modules to work
14:39 wolfman2000 I don't recall what though: that was months ago
14:39 moritz_ wurens: they can, through blizkost (the parrot <-> perl 5 bridge). It's rather fragile though, and it needs more work
14:39 supernovus wurens: There are ports of several Perl 5 modules into Perl 6. As for using Perl 5 modules directly in Perl 6, there is a project called Blizkost, which I believe in included in Rakudo Star, but it's not entirely complete yet, and not all modules work.
14:39 Grimnir_ I'm really impressed with Perl6. I have mostly just read a little and i'm reading the perl advent from last december, but it's so cool. It seems it has all the stuff I like from Perl 5, and then it has loads of niceness Perl 5 (and often other languages) don't have
14:39 supernovus ah, moritz_ beat me to it :-)
14:40 Alias_ left #perl6
14:40 moritz_ Grimnir_: well said; that pretty much summarizes my view of Perl 6 too :-)
14:40 supernovus wolfman2000: If you get the Rakudo Star distribution, it comes with the pre-requisites and a few bundled libraries too.
14:41 wolfman2000 supernovus: Will it matter if I use one of the release builds or the github source?
14:41 Grimnir_ I just want to applaud the Perl6 developers with the great work :)
14:41 moritz_ thanks :-)
14:41 Grimnir_ moritz_: I rarely see so many really nice features in languages
14:41 Grimnir_ I so much look forward to a stable feature complete compiler
14:42 wolfman2000 Grimnir_: I personally like putting parameter requirements in the sub definition
14:42 wolfman2000 As well as defining new types
14:42 wolfman2000 or at least new operators
14:42 Grimnir_ :)
14:42 wolfman2000 We can now use ≤ and ≥ as intended! MWA HA HA HA!
14:42 supernovus wolfman2000: If you want the github source, you can use '--generate-parrot' when running the configure script and it will download parrot for you. That's what I do when building from git (usually on a daily basis)
14:43 Grimnir_ I haven't really done anything in Perl6 besides a few tests from reading about it, but I guess I should do some more stuff
14:43 Grimnir_ wolfman2000: yeah, that's a nice thing
14:43 wolfman2000 supernovus: Forgot that parrot has to be generated...but good to know.
14:44 Grimnir_ I have a question regarding the compile process. when I write a perl6 program and compile it the way I normally do with perl 5, it first compiles it to bytecode, right? And then the bytecode gets interpreted, right?
14:44 wurens well, I don't know how to solve the gcc version problem when i install one of my software. The gcc version is too old for that software, how can i solve that? ps. I don't have the root permission
14:44 wolfman2000 Grimnir_: Umm...this may be silly here...but there is no configure script in the github
14:44 wolfman2000 So how can I configure and then make?
14:45 Grimnir_ wolfman2000: what do you mean?
14:45 wolfman2000 http://github.com/rakudo/star  There is a makefile, but no configure
14:45 moritz_ Grimnir_: it's really the compiler's choice. Rakudo compiles to bytecode first
14:46 moritz_ wolfman2000: if you want to install rakudo star, use a tarball from the download tab on github
14:46 Grimnir_ moritz_: so performance-wise I guess it must perform a lot better than Perl 5?
14:46 wolfman2000 ...huh? Found it...wonder why it's in skel
14:46 moritz_ Grimnir_: it's much worse than perl 5 at the moment; but we're working on it
14:46 wolfman2000 moritz_: Anything wrong with using the source?
14:46 Grimnir_ moritz_: heh, ok, but eventually it will become much faster :)
14:46 moritz_ wolfman2000: it's the source for building a distribution, not the distribution itself
14:47 moritz_ wolfman2000: if you want to compiler from source, take the compiler directly (and not a distribution)
14:47 Grimnir_ how do I compile a perl6 script to bytecode and then later run the bytecode program?
14:47 wolfman2000 ah
14:49 moritz_ Grimnir_: currently perl6 --target=pir script.pl > script.pir
14:49 moritz_ then parrot -o script.pbc script.pir
14:49 moritz_ the .pbc file is a byte code file
14:49 Grimnir_ ok, nice
14:50 moritz_ and then pbc_to_exe script.pbc script
14:50 moritz_ the result is an elf binary on linux, and an .exe on windows
14:51 moritz_ (but it just loads parrot and the pbc file and runs it, so it's a bit of a cheat)
14:52 Grimnir_ I get an error when I try to run the bytecode file
14:53 moritz_ care to tell which error?
14:54 Raynes Does rakudo have threads yet?
14:54 Grimnir_ http://pastie.org/1182543
14:54 moritz_ no
14:54 Raynes Damn. ;|
14:55 Grimnir_ it does do some of the script, but then it writes some strange stuff
14:55 Grimnir_ Raynes: patience :)
14:55 moritz_ Grimnir_: the error is caused from die() within the script
14:55 moritz_ Grimnir_: it expects two command line arguments, which you didn't supply
14:56 Grimnir_ yeah, but I also get the error, when I supply the two arguments
14:56 Grimnir_ oh, 2 secs...
14:56 Grimnir_ no
14:57 Grimnir_ http://pastie.org/1182543
14:58 moritz_ does it work if you run the original script with the perl6 executable?
14:58 Grimnir_ yes
14:58 moritz_ maybe argument handling is broken in one of the steps...
14:59 moritz_ indeed
14:59 Grimnir_ do I have to run the pbc file in a certain way with rakudo?
14:59 * moritz_ submits rakudobug
14:59 tadzik supernovus: @deps.proto, it does
15:00 moritz_ Grimnir_: no
15:00 tadzik scanning for deps is done by ufo (or nowadays, Module::Build) to figure out compilation oerder
15:00 moritz_ it's a bug in rakudo; as soon as you compile to PIR, the command line arguments come up empty
15:00 Grimnir_ ah, ok
15:02 moritz_ Grimnir_: you see, we can use every bit of testing :-)
15:02 supernovus tadzik: Good to know. By the way, where would I find Module::Build?
15:02 moritz_ that bug wasn't known before
15:02 Grimnir_ moritz_: nice :)
15:04 Grimnir_ I'm off. keep up the good work :)
15:04 moritz_ Grimnir_++
15:07 colomon does it make sense to define new methods for a role?
15:07 masonkramer left #perl6
15:07 masonkramer joined #perl6
15:08 moritz_ what do you mean?
15:08 masak supernovus: pls doesn't yet, but should, scan deps.proto.
15:09 supernovus I can't find Module::Build (at least a perl6 version) anywhere. I've seen a few people mention it as a replacement for ufo, but it's not in the projects.list file, and I can't find a blog post about it. :(
15:09 colomon moritz_: I'm working at ABC again, trying to define a note duration role.
15:09 colomon and I'm trying to figure out how to initialize the duration's length attribute.
15:10 colomon I wrote two new methods without thinking about it, then said -- Wait, how do I call them?
15:10 colomon I've only ever done abstract roles in the past, I think.
15:10 moritz_ is the length supplied by the user?
15:10 moritz_ if yes, just let the standard constructor handle it
15:11 moritz_ if not, mix in your custom BUILD submethod
15:11 moritz_ (ie write it in the role)
15:11 moritz_ bbl
15:11 colomon danke
15:12 colomon I clearly need more thought on this.
15:12 colomon perhaps I should start a blog post on it.  :)
15:13 moritz_ $ ./perl6 -e 'say Any + 3'
15:13 moritz_ Use of uninitialized value in numeric context  in <anon> at line 1
15:13 moritz_ 3
15:13 wurens left #perl6
15:13 moritz_ notice the sensible line number :-)
15:16 colomon noticed.  :)
15:16 dual joined #perl6
15:17 moritz_ it'll regress one test
15:18 moritz_ which uses lives_ok { } and produces that warning inside
15:19 moritz_ and since try { }  catches warnings now, it looks like it fails
15:19 supernovus nm, I found Module::Build
15:20 moritz_ where?
15:20 supernovus http://github.com/tadzik/perl6-Module-Tools
15:21 petdance joined #perl6
15:21 moritz_ thanks
15:21 wolfman2000 alright, going through the rakudo tests to see if anything went bust
15:22 wolfman2000 ...and spectest isn't happening. svn: Server sent unexpected return value (403 Forbidden) in response to OPTIONS request for 'http://svn.pugscode.org/pugs/t/spec'
15:22 moritz_ wolfman2000: rm -rf t/spec/
15:22 moritz_ and then try again
15:22 moritz_ pugs svn is no more.
15:23 wolfman2000 still does it, even after removing the directory. I suspect the spectest lives somewhere else and the makefile needs to be configured to the new location
15:23 moritz_ wolfman2000: is that a new rakudo?
15:23 moritz_ from source?
15:23 wolfman2000 latest binary version
15:23 wolfman2000 2010.08
15:24 * moritz_ wonders why it fetches stuff from svn
15:24 moritz_ wolfman2000: try
15:24 moritz_ git clone git://github.com/perl6/roast.git t/spec
15:24 wolfman2000 it cloned alright
15:24 wolfman2000 want me to make spectest again?
15:25 moritz_ no need; the tests have moved on, the compiler not
15:25 moritz_ (which is why we usually include a snapshot of the test suite, and don't download the latest from svn)
15:25 moritz_ some will hang if you try... no fun involved
15:25 PhatEddy joined #perl6
15:26 wolfman2000 well, Perl6 is installed...now I just have to recall where
15:27 moritz_ reading > recalling
15:27 wolfman2000 found it
15:29 PhatEddy Am I the only one doing smolder reports on Win32?  Is anyone else having trouble with git integration in the Makefile on Win32?
15:30 moritz_ wouldn't be surprising
15:30 moritz_ the makefile uses backticks, which won't work on windows :/
15:33 JimmyZ left #perl6
15:36 dalek roast: 48f7ecf | moritz++ | S03-operators/range.t:
15:36 dalek roast: [range.t] fudge a test that my next rakudo commit will break
15:36 dalek roast: review: http://github.com/perl6/roast/commit/48f7ecfa4e5cceeb52991f4f40b1e5ab7b9312ff
15:36 petdance left #perl6
15:38 supernovus tadzik: you committed a cardinal sin! Inside mbuild there is a line that says #!/usr/bin/perl6 instead of #!/usr/bin/env perl6
15:39 dalek nqp-rx/nom: c51bdac | jnthn++ | src/NQP/Actions.pm:
15:39 dalek nqp-rx/nom: Refactor package setup to keep up with the latest JnthnNQP changes. Gives $?CLASS. Really want that to be lexical at some point, but can't do that in Parrot - yet.
15:39 dalek nqp-rx/nom: review: http://github.com/perl6/nqp-rx/commit/c51bdacd21047730defaf7302c3dcf2136f098f4
15:40 FurnaceBoy joined #perl6
15:42 Limbic_Region joined #perl6
15:43 PhatEddy moritz_: I just had luck taking the "curl -F ...." command with backticks and running it with sh --login -c "curl -F ...".  It seems to have posted to smolder correctly.
15:46 tadzik supernovus: oh, my bad
15:46 tadzik maybe that's why it suc*&$!
15:46 supernovus tadzik: btw, neutro works great, I let it install perl6-Module-Tools for me, and it worked perfectly :-)
15:46 tadzik nice :)
15:47 tadzik supernovus: gitpushed, thanks
15:47 supernovus tadzik: No prob. I know I've done the same thing. :-)
15:51 wolfman2000_ joined #perl6
15:51 Trashlord left #perl6
15:54 am0c^ left #perl6
15:55 wolfman2000 left #perl6
15:55 wolfman2000_ is now known as wolfman2000
15:55 dalek rakudo: 08dc36c | moritz++ | src/Perl6/BacktracePrinter.pm:
15:55 dalek rakudo: walk up to the first non-setting line when printing warnings
15:55 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/08dc36c8807d07a0b3e9f9fd08902d71564b3ed0
15:55 dalek rakudo: 8584a4f | moritz++ | src/core/Any.pm:
15:55 dalek rakudo: make "Use of uninitialized value in numeric context" a proper warning
15:55 dalek rakudo:
15:55 dalek rakudo: This regresses one test that produces such a warning in a lives_ok block,
15:55 dalek rakudo: because currently try { } catches warnings too, although it shouldn't.
15:55 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8584a4f946218087acf077b4bb39d0eae361adbb
16:02 wolfman2000 left #perl6
16:03 satyavvd left #perl6
16:04 zulon left #perl6
16:05 torehaug for just checking that the syntax in a script is ok I could use STD::parse() right? or does it run the code?
16:05 wolfman2000 joined #perl6
16:06 tadzik how about perl6 -c foo.pl?
16:07 torehaug hm, would like the awsome(tm) error messages from STD for perl5-like stuff
16:09 masonkramer left #perl6
16:09 supernovus Have a good day #perl6!
16:09 tadzik supernovus: wait wait
16:10 supernovus tadzik: ok
16:10 tadzik just a question, on what platform were you using neutro?
16:10 supernovus At the moment, Ubuntu Linux. I also have some Debian servers and a Windows laptop. I haven't tried it on Windows yet.
16:10 tadzik I'm looking forward to a windowseer trying it out
16:11 tadzik alright, have a good day then :
16:11 tadzik :)
16:11 supernovus you too
16:11 supernovus left #perl6
16:12 tadzik hmm, I feel like fixing advent calendar
16:13 dalek nqp-rx/nom: 57ae6b3 | jnthn++ | src/NQP/Actions.pm:
16:13 dalek nqp-rx/nom: Copy/port code from JnthnNQP to make the attribute initialization calls.
16:13 dalek nqp-rx/nom: review: http://github.com/perl6/nqp-rx/commit/57ae6b32e2fee9fee7b4927e5e53ac96cdeb1018
16:13 dalek nqp-rx/nom: a4e3a15 | jnthn++ | src/ops/nqp.ops:
16:13 dalek nqp-rx/nom: Add various boxing/unboxing ops that work directly with the REPR API. They pretty much match what's in 6model on .Net/JVM (so can easily have them all behind an nqp::foo in the future).
16:13 dalek nqp-rx/nom: review: http://github.com/perl6/nqp-rx/commit/a4e3a157f6934b30ee4f6534c95e0f7a9e671018
16:14 jdv79 jnthn: nice post.  i didn't know there were 2 MOPs.
16:14 tadzik which post
16:14 jdv79 i think on 9/20
16:14 jdv79 6guts
16:15 tadzik ah, I think I read that
16:15 jdv79 its old. the week consumed me.  just catching up.
16:17 jnthn jdv79: Glad you enjoyed it. :-)
16:18 justatheory joined #perl6
16:19 Italian_Plumber joined #perl6
16:20 tadzik moritz_: ping
16:21 tadzik http://perl6advent.wordpress.com/2009/12/21/day-21-grammars-and-actions/ grep for "Print the question", why exactly do we need to .flat the $match<question>?
16:21 moritz_ tadzik: pong
16:21 moritz_ because $match<question> is a scalar
16:22 tadzik a Match?
16:24 tadzik moritz_: ↑
16:24 tadzik no, it says Array(). Hrm
16:25 moritz_ rakudo: my @a = 1, 2, 3; .say for @a
16:25 Trashlord joined #perl6
16:25 p6eval rakudo d7ebff: OUTPUT«1␤2␤3␤»
16:26 moritz_ rakudo: my $a = [1, 2, 3]; .say for $a
16:26 p6eval rakudo d7ebff: OUTPUT«1 2 3␤»
16:26 moritz_ @a is an array, $a is a scalar holding an array
16:26 tadzik hmm. The fact that it's kept inside a scalar matters?
16:26 tadzik I see
16:26 moritz_ yes
16:27 tadzik „We need to use .flat, because $match<question> is an array held in a scalar object.” -- sounds ok?
16:27 moritz_ yes
16:27 masak s/object/container/
16:28 tadzik right
16:28 tadzik ...am I the only one with a habit to press the escape key after editing a form on the web page?
16:28 masak :)
16:29 moritz_ tadzik: not at all
16:29 wolfman2000 ...wow...I forgot that I contribtued to last year's calendar
16:29 PhatEddy I just remembered the other problem with git integration on win32.  If you put msys git on you path nothing builds with mingw32-make because the shell is wrong.
16:29 masak wolfman2000! \o/
16:30 PhatEddy Anyone using any git on win32 besides msys?
16:30 wolfman2000 PhatEddy: I've used git before on Windows...though I think that installation was somewhat messed up
16:31 dalek nqp-rx/nom: 66087dc | jnthn++ | src/metamodel/knowhow_bootstrapper.c:
16:31 dalek nqp-rx/nom: Implement add_attribute in KnowHOW's HOW.
16:31 dalek nqp-rx/nom: review: http://github.com/perl6/nqp-rx/commit/66087dcd965e646aa011cca0b642324c3c932d88
16:32 PhatEddy I am getting it to work I just change commands to something like "C:\Program Files\Git\bin\sh.exe" --login -c "git pull".  Anyone with a better clean answer?
16:33 PhatEddy Is there an svn mirror?
16:37 Util PhatEddy: I was going to suggest that sh.exe technique
16:39 Util We could make finding GIT's location part of Configure.pl, and $(GIT) a `make` variable with the sh.exe technique.
16:40 Util Hmmm. Could we create a git.bat in the existing path, and just use that, without messing with Configure and Makefile?
16:40 tadzik http://wklej.org/id/393792/ can someone take a look? It becomes weird at the end
16:41 PhatEddy I think there is also a way of forcing mingw32-make to use cmd.exe as its shell - still looking for that though ...
16:42 itz left #perl6
16:42 dalek nqp-rx/nom: 47cdd79 | jnthn++ | src/metamodel/knowhow_bootstrapper.c:
16:42 dalek nqp-rx/nom: Add first close enough for now cut of introspection of attributes, parents (never any) and methods for knowhows.
16:42 dalek nqp-rx/nom: review: http://github.com/perl6/nqp-rx/commit/47cdd796e18162bd7aea17b87cc71a64013b1868
16:44 PhatEddy Util: think I found it with "shell=cmd" in the make file
16:46 tadzik hey, grammar masters!
16:50 Sarten-X joined #perl6
16:50 tadzik http://perl6.org/ -- how about changing u4x link for the link to Book?
16:52 masak the book would certainly be more informative at this point.
16:52 ash_ joined #perl6
16:53 tadzik gitpushed
16:54 tadzik masak: ideas about this grammar madness of mine?
16:54 tadzik I'm trying to fix the advent calendar
16:54 masak tadzik: sorry, haven't been following along closely.
16:54 tadzik http://wklej.org/id/393792/
16:54 tadzik look at the very end
16:54 masak ok.
16:55 dalek perl6.org: d97c5eb | tadzik++ | source/index.html:
16:55 dalek perl6.org: Changed the main page u4x link to link to the Book
16:55 dalek perl6.org: review: http://github.com/perl6/perl6.org/commit/d97c5eb330f5d03757fcef26053bf2ffe0b57b12
16:55 masak tadzik: that does seem strange.
16:55 masak hm.
16:55 tadzik indeed
16:56 masak I wouldn't expect to get Question that way, though.
16:56 risou left #perl6
16:56 masak not through positional indexing.
16:56 masak I'd get it through .ast
16:56 tadzik my @questions = Question::Grammar.parse($text, :actions($actions)).ast;
16:56 risou joined #perl6
16:56 masak hm.
16:56 tadzik is there a need to call .ast even inside?
16:57 masak think so.
16:57 moritz_ tadzik: my @question = flat Question::Grammar.parse(...).ast
16:57 risou left #perl6
16:57 tadzik moritz_: why the need for that?
16:57 risou joined #perl6
16:57 tadzik I don't remember such issues with Config::INI
16:57 tadzik what is more, flat doesn't help
16:57 moritz_ tadzik: I don't say there's a need, just that you could try it
16:57 tadzik nah, same thing
16:59 molaf joined #perl6
16:59 moritz_ @questions has one elem
16:59 tadzik yep
16:59 moritz_ hm, .flat at the end seems to help
17:00 tadzik a list. Which contains a list, blah blah
17:00 tadzik yeah, helps. Any idea why does it go that way?
17:00 moritz_ not really
17:01 tadzik damn. I don't feel like "dunno why, but this works" in the Advent Calendar
17:02 risou left #perl6
17:02 moritz_ probably because $/.ast is also a scalar
17:05 dalek nqp-rx/nom: 9cf3f34 | jnthn++ | src/pmc/rakudoobject.pmc:
17:05 dalek nqp-rx/nom: Make get_attr_keyed and set_attr_keyed v-table methods forward to the representation (will see how long we can get away with not implementing get_attr_str and set_attr_str, which just don't fit Perl 6 and are a real pain under the new meta-model).
17:05 dalek nqp-rx/nom: review: http://github.com/perl6/nqp-rx/commit/9cf3f340f0a8405ddab5c9570595f1b0e151b26a
17:08 miso_soup left #perl6
17:10 nymacro left #perl6
17:10 moritz_ book quesiton: any objection to swapping the position of the OO and the multi chapter?
17:11 moritz_ ie make OO come before multis?
17:11 moritz_ you need to know about inheritance to actually understand narrowness
17:11 jnthn moritz_: Hmm. Then I guess we can cover multi-methods in the multi chapter not the OO one.
17:11 jnthn moritz_: Yeah, you do.
17:11 jnthn Plus OO is really quite fundemental in Perl 6.
17:11 moritz_ iirc there's no multi method coverage at all
17:11 jnthn ah, OK
17:11 jnthn Anyway, my initial reaction is to do OO first.
17:13 masak for me it doesn't matter, so I say go for it.
17:14 moritz_ afk, walk; then chapter reordering
17:15 jnthn Hmm, a walk isn't a bad idea...
17:15 colomon left #perl6
17:17 dalek nqp-rx/nom: 7f42787 | jnthn++ | build/PARROT_REVISION:
17:17 dalek nqp-rx/nom: Bump PARROT_REVISION to get 2-kid form of PAST::Var attribute nodes.
17:17 dalek nqp-rx/nom: review: http://github.com/perl6/nqp-rx/commit/7f427870d277bb833b8ef4a654131a9487d40d04
17:17 dalek nqp-rx/nom: d01f705 | jnthn++ | src/NQP/Actions.pm:
17:17 dalek nqp-rx/nom: For attribute lookups using the new meta-model, also need to provide $?CLASS.
17:17 dalek nqp-rx/nom: review: http://github.com/perl6/nqp-rx/commit/d01f70509b2952184b2b1bf48bf79d9805d3c3f0
17:22 tadzik yay, finished fighting with wordpress. Perl6advent Grammar chapter is now up-to-date and working
17:31 mfollett joined #perl6
17:43 justatheory left #perl6
17:49 moritz_ tadzik++
17:49 tadzik the Book chapter still ahead
17:51 dalek book: ba5aef7 | moritz++ | Makefile:
17:51 dalek book: move chapters: OO now comes before multi dispatch
17:51 dalek book:
17:51 dalek book: To understand narrowness you need inheritance / sub types
17:51 dalek book: review: http://github.com/perl6/book/commit/ba5aef777318f07485f070c6f137605c3b61eddb
17:51 wolfman2000 how's the book coming along?
17:51 masak tadzik++
17:52 xinming left #perl6
17:53 moritz_ wolfman2000: I've been working on it a lot today
17:53 xinming joined #perl6
17:54 moritz_ jnthn: I'd appreciated it if you could look over my recent commits to the backtrace printer, and confirm that it's the right direction
17:56 justatheory joined #perl6
17:58 ZadYree joined #perl6
18:00 ZadYree perl6: $foo = [sub {say "BAR"}, sub {say "BAZ"}]; for($foo){$_->()};
18:00 petdance joined #perl6
18:00 p6eval rakudo 8584a4: OUTPUT«===SORRY!===␤Unsupported use of ->(), ->{} or ->[] as postfix dereferencer; in Perl 6 please use .(), .[] or .{} to deref, or whitespace to delimit a pointy block at line 22, near ")};"␤»
18:00 p6eval ..pugs: OUTPUT«*** ␤    Unexpected " ="␤    expecting "::"␤    Variable "$foo" requires predeclaration or explicit package name␤    at /tmp/8E04s0F1Ne line 1, column 5␤»
18:00 moritz_ rakudo++ # good error message
18:00 ZadYree ok
18:00 tadzik karma rakudo
18:00 aloha rakudo has karma of 1.
18:00 tadzik :)
18:00 ZadYree where would be the error?
18:01 moritz_ did you read the error message?
18:01 wolfman2000 perl6: $foo = [sub {say "BAR"}, sub {say "BAZ"}]; for($foo){$_.()}
18:01 ZadYree i kinda sis
18:01 p6eval rakudo 8584a4: OUTPUT«===SORRY!===␤Missing block at line 22, near ""␤»
18:01 p6eval ..pugs: OUTPUT«*** ␤    Unexpected " ="␤    expecting "::"␤    Variable "$foo" requires predeclaration or explicit package name␤    at /tmp/MqG4Ow9_Yk line 1, column 5␤»
18:01 ZadYree did
18:01 wolfman2000 ...did I miss something?
18:01 justatheory left #perl6
18:01 moritz_ for($foo) is a sub call
18:02 masak some_word(...) is always a sub call.
18:02 moritz_ rakudo: my @foo = sub { say "BAR" }, sub { say "BAZ" }; for @foo { .() }
18:02 p6eval rakudo 8584a4: OUTPUT«BAR␤BAZ␤»
18:02 masak also, $foo, being a scalar, wouldn't auto-flatten.
18:02 masak only @foo (as moritz_++ just showed), or $foo.list
18:03 tadzik or $foo.flat?
18:05 moritz_ rakudo: .say for [1, 2].list
18:05 p6eval rakudo 8584a4: OUTPUT«1␤2␤»
18:05 moritz_ rakudo: .say for [1, 2].flat
18:05 p6eval rakudo 8584a4: OUTPUT«1␤2␤»
18:05 moritz_ works both
18:05 wolfman2000 then what's the difference?
18:05 Limbic_Region left #perl6
18:06 flussence rakudo: [1, [2, 3]].list.perl.say; [1, [2, 3]].flat.perl.say;
18:06 p6eval rakudo 8584a4: OUTPUT«[1, [2, 3]]␤[1, [2, 3]]␤»
18:06 * flussence shrugs
18:06 moritz_ .perl always assumes scalar context
18:06 moritz_ so it's not a good tool to show the difference, if one exists
18:07 jnthn moritz_: The patch looks sane.
18:07 moritz_ rakudo: say (1, (2, 3)).list.perl
18:07 p6eval rakudo 8584a4: OUTPUT«(1, (2, 3))␤»
18:07 moritz_ rakudo: say (1, (2, 3)).flat.perl
18:07 p6eval rakudo 8584a4: OUTPUT«(1, 2, 3)␤»
18:07 moritz_ that's the difference.
18:07 jnthn moritz_: It probably doesn't handle all the frames being mysteriously in CORE.setting sanely though
18:07 flussence seems like there might be a use for a Data::Dumper in perl6 then...?
18:08 jnthn moritz_: Though that shouldn't really happen. But if it does, then the patch here probably makes a NPMCA.
18:08 jnthn (becasue $i will be beyond the end of the array)
18:09 jnthn That nit aside, it's fine.
18:09 masak &
18:10 * jnthn ponders noms
18:10 moritz_ jnthn: I thought about it, and couldn't find an example of where that might happen
18:11 jnthn No, it really, really shouldn't. :-)
18:11 moritz_ rakudo: sub MAIN() { warn "foo" }
18:11 p6eval rakudo 8584a4: OUTPUT«foo  in 'MAIN' at line 22:/tmp/HMCjs3_Enk␤»
18:11 moritz_ jnthn: also I do think that I don't walk off past the end of the array
18:11 moritz_ it will just give a senseless line, from deep inside the setting
18:13 jnthn The termination conditions is $i < +@backtrace, which means that if that is what causes it to terminate it'll do @backtrace[$i] where $i == +@backtrace and thus one past the end.
18:13 moritz_ oh, right
18:14 moritz_ I'll fix that
18:14 jnthn moritz_++
18:14 * jnthn goes to sort out food
18:14 * moritz_ goes to dig in food
18:15 * wolfman2000 should get food given he may be hungry soon
18:25 * araujo just got working a 'for' operator over sequences.. and .. he should go and eat and then sleep ....
18:26 araujo ~> for [ { :a :b + a b } { :n * n n } ] { :f for [ 1 2 3 4 5 6 ] f }
18:26 araujo < < 3 7 11 > < 1 4 9 16 25 36 > >
18:26 araujo ~>
18:26 araujo as an example
18:35 wamba left #perl6
18:52 dalek rakudo: 0421d3e | moritz++ | src/Perl6/BacktracePrinter.pm:
18:52 dalek rakudo: fix potential offby1 error noticed by jnthn++
18:52 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0421d3e11f66546b0d14e94f5565c42996e40917
18:52 kjeldahl left #perl6
18:54 rgrau` joined #perl6
19:02 envi left #perl6
19:06 kjeldahl joined #perl6
19:08 jedai left #perl6
19:10 fod joined #perl6
19:10 jedai joined #perl6
19:26 petdance left #perl6
19:28 ash_ left #perl6
19:45 jjore left #perl6
19:48 molaf left #perl6
19:53 rindolf joined #perl6
19:53 rindolf Hi all.
19:53 tadzik hi rindolf
19:53 rindolf moritz_: you have a typo here - http://perlgeek.de/blog-en/perl-5-to-6/14-main-sub.writeback - -hackers=Larry,Damian should probably be --hackers according to the spec.
19:54 rindolf tadzik: hi.
19:54 rindolf Isn't -name equivalent to -n -a -m -e?
19:54 rindolf Or -n=ame
19:54 rindolf ?
19:54 moritz_ --hackers is right
19:55 * moritz_ fixes
20:03 flussence odd, in a "perl6 test.pl -name -q" with a sub MAIN(:$n, :$name, :$q), none of the params are set
20:03 moritz_ :$q should work
20:04 flussence it works when I use --q ...
20:04 sorear good * #perl6
20:06 flussence as far as I can tell, single-hyphen options just aren't working for me...
20:06 flussence should they be?
20:06 diakopter sorear: howdy
20:08 tadzik flussence: should, but don't. Known bug I think
20:09 flussence oh, k
20:09 sorear diakopter: hi
20:14 ash_ joined #perl6
20:17 PhatEddy left #perl6
20:17 tadzik ash_: try.rakudo.org is dead :(
20:18 ash_ on it
20:18 ash_ oh
20:18 ash_ server got shutdown :-(
20:19 ash_ its back up
20:20 Chillance joined #perl6
20:21 moritz_ maybe install an @reboot cron job?
20:27 ash_ alright, i think i know enough bash to do that :-x
20:28 mfollett left #perl6
20:32 supernovus joined #perl6
20:32 masak wow! a non-p6er says the right thing in response to a Perl6/DNF joke on Twitter! http://twitter.com/paulhenrich/status/25619909832
20:32 supernovus tadzik: ping
20:32 tadzik supernovus: pong
20:32 masak that's gotta be a first.
20:32 masak Twitter is learning... :)
20:33 flussence 3 weeks from now, Twitter becomes self aware...
20:33 * masak turns up the dramatic music
20:34 tadzik supernovus: ha, 1:0 for me!
20:34 supernovus I was looking at the code for Module::Install, and was thinking, currently it takes into account 'lib' for .pm and .pir files, and 'bin' for anything else. I'm assuming 'ufo' has the same behavior. There should be an agreed-upon folder for 'shared resources' such as config files, templates, etc. Heck 'share' would work for me. It should get copied into $HOME/.perl6 as well.
20:35 tadzik sounds sane
20:35 masak supernovus: could you give a use case?
20:35 masak I'm reluctant to just nod at such suggestions without strong use cases.
20:36 tadzik but well, what would go there what cannot be put into POD docs?
20:36 masak I can't think of anything in any of my projects that'd count as a "shared resource".
20:36 moritz_ data tables
20:37 moritz_ for example if you write a module that recognizes languages by heuristics
20:37 masak put them in lib/
20:37 supernovus masak: I'm my use case, I'm going to have a script that can generate skeleton projects, based on templates. So for instance, if you typed 'ww6 new site' it would find the template called 'site' and create a skeleton app for you.
20:39 masak supernovus: and the template is a shared resource in this case?
20:39 colomon joined #perl6
20:39 tadzik hmm. We could just copy everything in lib/, not just module files
20:40 supernovus masak: Well, I think 'shared' is a bad term then. As actually in this case, the template files would be specific to the 'ww6' script which would use them to generate skeleton apps.
20:40 ash_ rakudo: my $*a = 2; { my $*a = 3; say $*a }; say $*a;
20:40 masak tadzik: that might actually be more robust, yes.
20:40 p6eval rakudo 8584a4: OUTPUT«3␤2␤»
20:41 supernovus tadzik: maybe copying everything from lib would work, in which case I could just include a 'lib/Webtoo/Resources' folder and put templates and stuff in it.
20:41 masak tadzik: but it doesn't guarantee that data files will be found by scripts or modules.
20:41 ash_ neat bug
20:41 ash_ someone open a p6 repl
20:41 ash_ type: my $*a = 3; <enter>
20:41 ash_ then: say $*a;
20:42 ash_ anyone seen that one before?
20:42 supernovus Then I could also make a library method that looks through @*INC to find the 'Webtoo/Resources' folder, so that eventually system installs will work as well.
20:42 moritz_ not me
20:42 moritz_ @*INC is not a concept to be relied on in the long term future
20:42 ash_ does it crash for anyone else?
20:42 moritz_ yes
20:42 tadzik Contextual $*a not found
20:43 ash_ should i report that?
20:43 moritz_ yep
20:43 supernovus Hmm, no @*INC long-term... crap. Okay, I have no idea what to use for a location-independent place to store data :(
20:43 torehaug left #perl6
20:44 dju left #perl6
20:44 tadzik pureperl? :)
20:46 supernovus I could again use the dark magic of eval("use $modulename") to load Webtoo::Resources::site when you type ww6 new site... and have the dynamically loaded module spit out the plain text for the template, but that seems even more hackish than having a dedicated place to put resources in $HOME/.perl6 :-P
20:46 tadzik how does Perl 5 work with this?
20:46 * moritz_ +1 to a dedicated place
20:48 kjeldahl left #perl6
20:48 supernovus Perl 5 has so many different directories that it sticks stuff, and each "vendor" version introduces distro-specific folders too.
20:49 ash_ anyone know how i could go about tracking down the repl bug?
20:49 diakopter use a step-through debugger?
20:49 moritz_ 1) do magic; 2) fix the bug; 3) profit!
20:49 * moritz_ has no idea
20:50 tadzik sleepytime, see you folks
20:50 tadzik left #perl6
20:50 supernovus The folder should be a combination between the '/usr/share' and '/var' concepts from *nix systems. A place to store potentially variable non-executable configuration files and resources for applications.
20:51 Juerd Configuration belongs in /etc
20:51 moritz_ mutable and immutable data should be separated
20:52 ash_ rakudo: say 1.so
20:52 mberends left #perl6
20:52 p6eval rakudo 8584a4: OUTPUT«Bool::True␤»
20:52 ash_ does that mean bug # 77454 is fixed?
20:52 Juerd Mutable data can be further separated: some data should never be changed by anything but the program, some data can be changed externally
20:52 plobsing and for user application data, you need to follow the xdg settings
20:52 ash_ [TODO] Implement .so in Rakudo
20:53 moritz_ ash_: yes
20:53 ash_ cool, (i can't close tickets, just browsing them)
20:53 colomon_ joined #perl6
20:53 colomon left #perl6
20:53 colomon_ is now known as colomon
20:54 moritz_ closed, thanks
20:56 supernovus So, that would mean a 'share' (immutable resources), 'var' (mutable by application) and 'etc' (mutable by user) type model. Which is starting to get fairly complex for a simple installer. Maybe have them all inside a 'app' or 'usr' folder so things don't get quite as messy in $HOME/.perl6 ?
20:58 flussence what about http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html ?
20:59 * moritz_ is all in favour of using well established standards, if the exist, and cover our needs
20:59 * moritz_ -> sleep
21:00 supernovus flussence: I have no problems with that. As long as it would work on Windows builds as well. I haven't used Rakudo on Windows, so I'm not sure how it works, but we want to ensure cross-platform compatibility.
21:00 flussence hm
21:00 flussence I think Windows has equivalent standard dirs...
21:01 diakopter erm
21:01 diakopter sortakinda
21:02 supernovus But is it something that a library like Module::Install can access easily? Right now it uses %*ENV<home>/.perl6/ as the location for 'lib' and 'bin' folders, regardless of platform.
21:02 plobsing port File::HomeDir to perl 6?
21:03 supernovus err, %*ENV<HOME> sorry, needs to be all capitals there :-)
21:03 diakopter windows doesn't have that
21:03 flussence windows calls it %userprofile% or something like that IIRC
21:03 diakopter first, windows envvars aren't case-sensitive
21:04 diakopter yes
21:04 diakopter there are also these:
21:04 supernovus Ah, well, that may explain why tadzik was asking if any Windows users had tried mbuild yet. I should see what 'ufo' does, or does it work on Windows either?
21:06 diakopter these may help.... some seem to correlate to var,share,bin  ALLUSERSPROFILE=C:\ProgramData    APPDATA=C:\Users\mwilson\AppData\Roaming   CommonProgramFiles=C:\Program Files\Common Files   LOCALAPPDATA=C:\Users\mwilson\AppData\Local   ProgramData=C:\ProgramData   ProgramFiles=C:\Program Files   PUBLIC=C:\Users\Public
21:06 diakopter defaults on win7, btw
21:07 supernovus diakopter: thanks!
21:08 lue left #perl6
21:09 plobsing looking at File::HomeDir::Win32, it looks like windows keeps those settings in the registry
21:10 diakopter the env vars are created from the registry, yeah
21:10 jjore joined #perl6
21:12 Mowah left #perl6
21:13 supernovus phenny: tell tadzik I'll port File::HomeDir, File::HomeDir::Win32 and File::BaseDir into a new Perl 6 library, then if agreed we could make Module::Install use it to find the appropriate folders for mutable and immutable resources.
21:13 phenny supernovus: I'll pass that on when tadzik is around.
21:14 plobsing where is .so spec'd?
21:14 sorear I'd check the ELF docs
21:15 * masak zzz
21:15 supernovus masak: If we had a library that supported the XDG standards on *nix and the Windows standard locations on Windows, would that be an acceptable choice for you?
21:15 masak left #perl6
21:15 sorear but it's more of a convention than anything else
21:15 supernovus nm
21:15 sorear Module::Install is being ported to Perl 6? :(
21:15 supernovus masak abandoned ship before I got my question out
21:15 plobsing sorear: not what I meant. the Perl 6 method.
21:15 lue joined #perl6
21:17 supernovus sorear: Module::Install in this case is not the same as the Perl 5 library. It's part of tadzik's Module-Tools which includes Module::Build, Module::Test and Module::Install. It works more like 'ufo' than the Perl 5 library, and has it's own command 'mbuild' so you just type 'mbuild && mbuild test && mbuild install'. It has no dependencies on GNU make and doesn't require a Makefile (it uses logic based on 'ufo')
21:20 supernovus http://github.com/tadzik/perl6-Module-Tools
21:21 Italian_Plumber left #perl6
21:24 plobsing rakudo: my $x = False but True; say $x; say !$x
21:24 p6eval rakudo 0421d3: OUTPUT«Bool::False␤Bool::False␤»
21:24 flussence now that's just nasty :P
21:25 plobsing rakudo: my $x = False but True; if $x { say $x }
21:25 p6eval rakudo 0421d3:  ( no output )
21:25 supernovus have a good day #perl6 :-)
21:26 supernovus left #perl6
21:27 tadzik joined #perl6
21:27 * tadzik hates insomnia
21:27 phenny tadzik: 21:13Z <supernovus> tell tadzik I'll port File::HomeDir, File::HomeDir::Win32 and File::BaseDir into a new Perl 6 library, then if agreed we could make Module::Install use it to find the appropriate folders for mutable and immutable resources.
21:27 tadzik oh hai phenny
21:28 tadzik phenny: tell supernovus we could put them in File::Tools and then Module::Install would make use of 'em, it depends on File::Tools anyway
21:28 phenny tadzik: I'll pass that on when supernovus is around.
21:29 rindolf left #perl6
21:29 DemoFreak left #perl6
21:30 petdance joined #perl6
21:40 icwiener_ left #perl6
21:53 Guest23195 left #perl6
21:58 dalek niecza/mm: d391770 | sorear++ | src/CSharpBackend.pm:
21:58 dalek niecza/mm: [mm] implement lexical access
21:58 dalek niecza/mm: review: http://github.com/sorear/niecza/commit/d391770c75d4877338f7c213e75daf2dc0d566f1
21:58 dalek niecza/mm: a69c7ac | sorear++ | src/C (3 files):
21:58 dalek niecza/mm: [mm] implement code output
21:58 dalek niecza/mm:
21:58 dalek niecza/mm: [mm] can now run simple programs, \o/.
21:58 dalek niecza/mm: review: http://github.com/sorear/niecza/commit/a69c7ac9da103358baceb89f0c57c5b516fe8d36
22:01 dalek nqp-rx/nom: 914e08d | jnthn++ | src/metamodel/reprs/P6opaque.c:
22:01 dalek nqp-rx/nom: Implement attribute slot allocations. Same algorithm as used in the .Net version.
22:01 dalek nqp-rx/nom: review: http://github.com/perl6/nqp-rx/commit/914e08d8933b832017cd387944d8e3eeb540681b
22:02 petdance left #perl6
22:02 petdance joined #perl6
22:04 masonkramer joined #perl6
22:05 xabbu42 left #perl6
22:06 rgrau` left #perl6
22:11 * sorear still doesn't have settings or variables working, but at least Q:CgOp { (rnull (rawscall Console.WriteLine (s "Hello, world"))) } works
22:11 diakopter :)
22:15 risou joined #perl6
22:19 dalek nqp-rx/nom: ad12be1 | jnthn++ | src/metamodel/reprs/P6opaque.c:
22:19 dalek nqp-rx/nom: Implement the slot-storage, non-optimized case of attribute lookups in P6opaque. Enough to get us working attributes in KnowHOW, and in a position to start working on ClassHOW. \o/
22:19 dalek nqp-rx/nom: review: http://github.com/perl6/nqp-rx/commit/ad12be1d57a3175d3cb08c7394eca39bc07ee74f
22:19 dalek nqp-rx/nom: 1ca4411 | jnthn++ | src/metamodel/reprs/P6opaque.c:
22:19 dalek nqp-rx/nom: Oops, left debugging code in.
22:19 dalek nqp-rx/nom: review: http://github.com/perl6/nqp-rx/commit/1ca4411ec2ec1fffdf451c8eb77869966296b6a1
22:20 jnthn This probably also means I don't have to write too much more C for a while. :-)
22:27 diakopter jnthn: what do you get to write? :)
22:28 jnthn NQP ;)
22:28 jnthn Thinking about it, I probably have to return to do some more ickle bits in C in not so long though.
22:28 diakopter ickle?
22:28 jnthn little :-)
22:28 jnthn Britt-slang. :-)
22:28 * diakopter wonders what language
22:28 diakopter oh
22:29 * jnthn wonders which dialect he got that one from...
22:29 tadzik . o O ( what language... C, NQP or BritishEnglish? )
22:32 diakopter jnthn: fyi I'm writing a new edition of perlesque.. one written expressly to compile a strongly-typed-inferred edition of STD's parsetree of [itself and a P6 port of Cursor].  a very small subset of a strongly-typed p5 (or javascript without javascript objects, if you like), really.
22:33 jnthn diakopter: Interesting. What will it target?
22:34 diakopter CIL, same as perlesque
22:35 diakopter .. so that STD can run in the CLR
22:35 jnthn Nice.
22:35 diakopter partly as an efficiency experiment b/c I'm morbidly curious..
22:36 diakopter and partly b/c that'll bootstrap the front-end... so what remains would be a runtime to write, in perlesque
22:37 diakopter which you can think of as strongly-typed nqp (note the lack of -rx) :)
22:37 jnthn For writing a Perl 6 runtime in "Perl 6", I think a strongly typed subset is the way to go.
22:37 * diakopter AGREES (SHOUTING INTENDED FULLY)
22:38 diakopter :D
22:38 tadzik pun indented
22:38 diakopter heh
22:38 jnthn lol
22:39 diakopter STD & Cursor are basically strongly-typed already
22:39 diakopter just implied.
22:40 jnthn Do you aim to infer it from them as they are today rather than use an annotated version?
22:40 diakopter with some good heuristics or perhaps some helpful comments (:D) in the source, perlesque can infer correctly
22:40 jnthn :-)
22:41 jnthn Apparently if I show up at $place-i'm-consulting early enough there's free breakfast noms. It feels like a trap, but I figure I gotta try it at least once. :-)
22:41 * jnthn gets some rest
22:41 diakopter also remaining to write would be the viv equivalent, in the strongly-typed-subset
22:41 jnthn *nod*
22:42 * diakopter will rely on sorear for that.
22:42 diakopter sorear has lots of practice writing that piece
22:42 jnthn diakopter: Well, if you can make it work, it'll certainly be interesting. Plus we stand to learn a good bit about Perl 6 type inference from it.
22:43 diakopter I dunno. I think std is quite simple in that usage.
22:43 diakopter we'll see.
22:43 diakopter jnthn: rest well
22:43 jnthn Thanks. Night all
22:44 am0c^ joined #perl6
22:45 * diakopter gets all manic again about the next new plan and fails to conceal excitement as usual.
22:46 Amadiro joined #perl6
22:46 diakopter my previous plans relied on me actually *understanding* Cursor.pm, whereas now I just need to make a version of it that STD can parse into something mildly intelligible
22:48 petdance left #perl6
22:50 Ross left #perl6
22:57 DemoFreak joined #perl6
23:15 tadzik left #perl6
23:16 mavrc joined #perl6
23:26 DemoFreak left #perl6
23:31 petdance joined #perl6
23:35 PZt left #perl6
23:36 PZt joined #perl6
23:40 hugme left #perl6
23:40 ash_ rakudo: say 1.so, 1.defined
23:40 p6eval rakudo 0421d3: OUTPUT«Bool::TrueBool::True␤»
23:58 pythonian4000 joined #perl6

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

Perl 6 | Reference Documentation | Rakudo