Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2007-05-09

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:01 dduncan maybe that explains why there are so many Perl 6 language sublists that don't seem to be in use
00:01 TimToady indeed
00:01 TimToady all you have to do is read through the 361 RFCs to realize what a mess it was.
00:01 TimToady and how much bigger a mess it would have been if we'd adopted the various solutions piecemeal
00:02 polettix TimToady: this is where my English fooled me. I always thought that "rewrite of the community" meant something like "change the community by rewriting it"
00:02 dduncan looking in hindsight, as I never participated in that RFC process, it looked like they were just providing ideas that could influence you
00:02 TimToady basically, the RFCs all missed the fundamental unifications that we're hoping Perl 6 will provide
00:02 dduncan and the current p6l list and this channel are the modern equivalent of the RFCs
00:03 polettix even if it does little sense, probably, it was kinda suggestive
00:03 TimToady after sitting back on my heels for six months or so in shock, I decided I had to take the RFCs as "cries for help", but basically ignore most of the proposed solutions
00:04 Juerd It's no wonder they missed unification, as they were written asynchronously without sufficient inter-author-communication
00:04 TimToady and come up with a design that met the needs of the RFCs on a more fundamental level
00:04 TimToady you still see the malady frequently on p5p, where it seems like you can fix one aspect of p5 without fixing the others, but you can't really.
00:05 Juerd Fixing is impossible, adding new features is hard.
00:05 TimToady it would have taken centuries to achieve that level of inter-author-communication, given the nature of committees.  :)
00:05 Juerd Fortunately, a fix can be seen as a new feature, which makes the impossible just hard.
00:06 Juerd TimToady: Absolutely. I'm thankful that you're such an efficient one man committee :)
00:06 dduncan all hail visionary benevolent dictators
00:06 TimToady not so efficient
00:07 Juerd I wonder how inter-timtoady-communication works :)
00:07 TimToady only in comparison to a multiheaded committee can I be construed as efficient.
00:07 Juerd That was the comparison :)
00:07 TimToady I really have no idea myself.
00:07 TimToady things just bubble up from the froth occasionally
00:07 TimToady mostly I just know when I have a gut feeling that there's probably a better solution out there somewhere
00:08 Juerd Isn't there always?
00:08 TimToady so I procrastinate the design creatively. :)
00:08 TimToady well, there's better and then there's Better
00:08 Juerd My point was that there is no Best.
00:09 TimToady a lot of these unifications just suddenly go "click" and it's better in more than just a quantitative way
00:09 Juerd But I [:i b]etter get some sleep now; have to get up early tomo^Wtoday.
00:10 TimToady at the moment I'm still worrying over the ugliness of @@() context, and why X maybe has the wrong default on for modifiers...
00:10 rhr how do you make svn accept a file that "has inconsistent newlines" (on purpose)
00:10 TimToady good night
00:10 dduncan rhr, mark it as a binary file
00:10 rhr how is that done?
00:11 dduncan I think that is how things are by default
00:11 dduncan at least, we have to explicitly say that things have unix line endings and unicode
00:11 rhr it's refusing my commit
00:11 Juerd Good night!
00:11 dduncan which is what all text files should be
00:11 TimToady or encode the inconsistency somehow and decode it right before using
00:12 dduncan I can assume it only has mixed line endings due to your wanting to do something tricky
00:12 rhr I'm trying to test unicode whitespace parsing
00:12 dduncan or test data
00:12 rhr so there's bare CR, LF, etc.
00:12 dduncan is the file valid unicode?
00:12 rhr yes, it's utf8
00:13 TimToady run it through a preprocessor before testing, and then you can document "here is CR ->"
00:13 rhr how would I do that?
00:13 TimToady perl's pretty good at text processing, I hear :)
00:13 dduncan I suggest that you could have a simple encoder/decoder ...
00:14 dduncan that has a \w-encoded something at the end of every line which says what ending char it conceptually is, and then put an actual unix line ending after that
00:14 rhr how do you eval a file in p6?
00:14 dduncan encoding or decoding such should be trivial
00:14 dduncan same as Perl 5
00:14 TimToady s/here is a CR ->\n/here is a CR ->\r/
00:14 TimToady the processor can be written in p5
00:14 rhr I don't know how to do that in p5 either :)
00:15 dduncan "do $filename;"
00:15 dduncan or some such
00:15 polettix is there pack/unpack in p6?
00:15 rhr sure, that part's easy, but how do I run the test after translating?
00:15 dduncan or alternately, slurp the file, then "eval $filedata"
00:16 rhr OK, that'll work
00:16 Daveman joined #perl6
00:16 dduncan I suppose that the 'make' process could generate the decoded file from the encoded one
00:16 dduncan and that generated file just isn't checked in
00:16 dduncan like a lot of temp files in Pugs
00:17 dduncan then make test works as normal, with the generated file
00:17 dduncan Pugs will parse pack/unpack like Perl 5's, but I don't know how much of it actually works
00:18 polettix it could be a way to do encoding/decoding, using H
00:19 dduncan the reason that having just the line ending encoded such as I or TimToady mentioned is that for most of the file you can do normal diffs and other ops, and it is easy to just make the encoded file the one that you are actually editing
00:19 TimToady pack/unpack isn't implemented yet in pugs
00:19 TimToady could call out to p5, but I'm thinking the whole generator script is p5
00:20 dduncan I'm thinking the generator is part of the build process, so would be Perl 5 for now, since the makefile et al is
00:21 dduncan TimToady, on a tangent, back when I suggested the Blob data type as being distinct from Str or Buf, one of its intended uses was as the output of pack, or input of unpack, since they conceptually work with otherwise undifferentiated bit strings
00:21 polettix dduncan: I see (now)
00:25 polettix well, have a good morning/afternoon/evening/night/whatever, sleep for me :)
00:41 svnbot6 r16232 | rhr++ | Add unicode whitespace parsing tests (most fail at present)
00:41 rhr I got svn to accept my file :)
00:43 [particle] joined #perl6
00:45 obvio171_ joined #perl6
00:47 nipotan changed the nick to nipotaway
01:01 veritos joined #perl6
01:13 veritos left #perl6
01:17 TomDLux joined #perl6
01:20 dolmans joined #perl6
01:40 rhr ?eval class Str is also { method id($x:) { $x } } sub foo($x? = 'a') { $x } $_ = 'b'; foo.id
01:40 evalbot_r16232 changed the nick to evalbot_r16231
01:40 evalbot_r16232 \"b"
01:40 rhr shouldn't that be 'a'?
02:22 obvio171_ joined #perl6
02:23 nipotaway changed the nick to nipotan
02:26 Aankhen`` ?eval sub foo ($x? = "x", $y? = "y') { "$x $y" }; $_ = "b"; foo()
02:26 evalbot_r16232 Error: ␤Unexpected "b"␤expecting term postfix, operator, "-->" or ")"
02:27 Aankhen`` Ergh.
02:27 Aankhen`` ?eval sub foo ($x? = "x", $y? = "y") { "$x $y" }; $_ = "b"; foo()
02:27 evalbot_r16232 "x y"
02:27 Aankhen`` ?eval class Str is also { method id($x:) { $x } } sub foo($x? = 'a') { $x } $_ = 'b'; foo().id
02:27 evalbot_r16232 \"a"
02:27 Aankhen`` ?eval sub foo ($x? = "x", $y? = "y") { "$x $y" }; $_ = "b"; foo
02:28 evalbot_r16232 "x y"
02:28 * Aankhen`` shrugs.
02:44 rhr I want something where foo.id and foo .id yield different results (to test long dot and unspace)
02:52 araujo joined #perl6
03:00 justatheory joined #perl6
03:07 TimToady sub foo ($x = "noarg") {...}
03:08 mako132_ joined #perl6
03:08 rhr ?eval class Str is also { method id($x:) { $x } } sub foo($x = "noarg") { $x } $_ = 'b'; foo.id
03:08 evalbot_r16232 \"b"
03:10 rhr ?eval class Str is also { method id($x:) { $x } } multi foo() { 'a' } multi foo($x)  { $x } $_ = 'b'; foo.id
03:10 evalbot_r16232 \"a"
03:11 rhr ?eval class Str is also { method id($x:) { $x } } multi foo() { 'a' } multi foo($x)  { $x } $_ = 'b'; foo .id
03:11 evalbot_r16232 \"b"
03:11 rhr should that also work with sub foo($x? = 'a') { $x } ?
03:15 kunwon1 joined #perl6
03:27 obvio171_ joined #perl6
03:31 jvoorhis hi
03:32 Tene Hi!
03:33 jvoorhis does anyone know about the subtype implementation in pugs?
03:34 jvoorhis the parser is cool with my subtype declarations, but the subtypes let me violate them in ways they shouldn't tolerate
03:34 agentzh joined #perl6
03:36 jvoorhis going beyond that, i'd enjoy tinkering with pugs src, but i'm not quite sure where to start
03:37 Tene jvoorhis: a good place to start looking when you want to see how well implemented something currently is is pugs' test suite.
03:37 Tene in t/ in pugs' svn
03:39 agentzh jvoorhis: also take a look at http://perlcabal.org/syn :)
03:39 lambdabot Title: Official Perl 6 Documentation
03:40 jvoorhis yep, i'm not traditionally a perl programmer, but i've spent some time in the synopses
03:40 Tene jvoorhis: the docs at http://perlcabal.org/syn/ have links built in showing the tests for that section and their output and whether they pass or not.  Updated semi-regularly, I believe.
03:40 lambdabot Title: Official Perl 6 Documentation
03:41 jvoorhis perfect
03:41 agentzh andara: i'm installing Moose on feather (globally) :)
03:42 jvoorhis oh, that is very nice
03:42 agentzh well, the synopses and tests are updated once an hour while the smoke results updated once a day :)
03:42 jvoorhis ah, i still haven't gotten my smoker to work
03:42 agentzh jvoorhis: glad you like it :)
03:43 jvoorhis i might steal the idea
03:45 agentzh cool
03:47 agentzh TimToady: iblech++ has just updated the smoke server. everything should be fine now :)
03:47 ofer joined #perl6
03:49 SubStack joined #perl6
03:50 TimToady rhr: I consider foo.id to be a misparse if ever interpreted as foo(.id)
03:51 TimToady listops explicitly require a space before their first arg
03:51 Alias_ joined #perl6
03:51 TimToady and I think foo falls into that category, or the category needs to be broadened to all non-parenthesized function calls
03:52 rhr that's what I thought
03:52 TimToady sorry, was distracted earlier...
03:52 rhr np
03:54 rhr I'll add a failing test for sub foo($x? = 'a') { $x }
03:55 agentzh a few questions regarding p6 regexes:
03:56 agentzh how can i make an interpolated closure to affect parsing?
03:56 agentzh say, something analogous to 'block: { quote_blocklike($text) }' in Parse::RecDescent.
03:57 avar you want a perl subroutine instead of a p6rule-thingy?
03:57 agentzh avar: yup
03:57 agentzh i know <{...}> works if {...} returns a regex or a rule object
03:57 agentzh but...
03:58 agentzh the ability to work on the underlying $text would be great.
03:58 avar a rule is just a fancy sub and you can go into real subs with <somename>, but I don't know how you define them
03:58 agentzh i gathered so. i just want to know how to. :)
03:58 agentzh i have no idea what the API will look like.
03:58 TimToady they're just methods in the same grammar
03:58 TimToady STD.pm uses that trick all over
03:59 TimToady <EXPR(%assignop)> is just a method call
03:59 jvoorhis-afk changed the nick to jvoorhis
03:59 TimToady and EXPR is just written as a method
04:00 TimToady the object of the method is the current parse context
04:00 agentzh TimToady: is it possible to reuse Text::Balanced's extract_* from within the p6 regex?
04:00 avar grammar Ook: rule stringy { <[a..z]>+ } sub meh { ... } rule TOP { [ <stringy> | <meh> ]+ }
04:00 avar agentzh: yeah, parrot does this all over the place
04:01 avar (using the PIR equivalent)
04:01 TimToady presumably, STD just uses its own version of that
04:01 agentzh if meh == extract_quotelike, how can i call it in regex?
04:02 avar TimToady: where is it specced how `meh' will get its argumenst and how it affects its environment, like how do I say a sub matched 5 characters?
04:02 agentzh avar: right, that what i'm about to ask.
04:02 TimToady they aren't subs, they're methods, and the method's object is all the context
04:02 agentzh *that's
04:02 * diakopter waits for a lull in the conversation to continue another topic.
04:03 agentzh Hmm
04:03 offby1 how about them Yankees?
04:03 diakopter offby1: :P
04:04 offby1 .oO("Yankees" ... sports team for sure.  Baseball?  Yeah, probably.)
04:04 agentzh TimToady: has the API of $self been defined?
04:04 agentzh such as $.text or $.pos?
04:05 agentzh i didn't see them in S05.
04:06 TimToady it's not completely defined yet, but whatever the implementors feel they need is probably fine.  $self certainly contains the currently being constructed $/ somehow, I expect
04:06 TimToady it also has to know which string is being searched
04:07 agentzh that's COOL
04:07 amnesiac joined #perl6
04:07 TimToady whether the string or the $self keeps track of .pos is a good question
04:07 TimToady STD assumes $_ knows its .pos
04:07 agentzh okay, that's what i want :)
04:07 TimToady but that's just following p5's pos() semantics for now
04:08 TimToady but attaching pos to the $_ means various regexes can share a string that is being scanned, so I think that's still right
04:08 TimToady (of course, within a particular match, $_ is also aliased to that current string even if not $_ outside the match)
04:09 TimToady $a ~~ / foo { say $_ } /   # prints $a, if it prints anything
04:10 agentzh not sure if PCR has implemented anything like that...fglock?
04:10 TimToady anyway, the key concept is that a given match has to keep its context somewhere, and that's convenient the $self of all these methods and rules, however we choose to distribute the data underneath the abstraction
04:10 TimToady *conveniently
04:10 TimToady I think PCR is method based, and PGE is currently sub based, if I recall.
04:11 agentzh i'll have a closer look :)
04:11 TimToady I could easily be misrecalling on either end
04:11 agentzh another question...
04:11 SubStack joined #perl6
04:12 agentzh is it okay to write <[
04:12 agentzh <[\d2..\d3]>
04:12 agentzh ?
04:13 agentzh i'm pondering writing a p6-regex based parser for the mini-lang defined in the email RFCs.
04:13 TimToady I don't think so, \d is digits in regexen, not decimal.  at least if we follow p5 in this
04:13 TimToady in p5 you can say [\d\w]
04:13 dmpk2k joined #perl6
04:13 agentzh or \o123..\o125?
04:14 TimToady that would work better, since \o isn't taken by regex
04:14 TimToady but I doubt it'll happen often in practice
04:14 TimToady the world seems to be moving primarily to hex chars rather than octal
04:14 agentzh the ABNF in the email RFCs makes use of such kind of things.
04:14 TimToady certainly anything in the unicode ranges tends to be hex
04:15 agentzh widely use of, even
04:15 TimToady I'm sure a great many of those would be written differently today in hindsight...
04:16 agentzh what's the recommended way to do that then?
04:16 agentzh convert the digits to chars and put them into single-quotes?
04:16 TimToady <[S..U]> works pretty well
04:17 agentzh how about <['+'..'Z']> ?
04:17 TimToady that would include single quote in the character class
04:18 agentzh sigh.
04:18 agentzh that's what i fear.
04:18 TimToady and wonder why you did a range from single quote to single quote
04:18 TimToady a sane character class compiler will likely complain
04:18 Tene ?eval 'G' ~~ m/<\+..Z>/
04:19 evalbot_r16232 *** Cannot parse regex: <\+..Z>␤*** Error: ␤Match.new(␤  ok => Bool::False, ␤  from => 0, ␤  to => 0, ␤  str => "", ␤  sub_pos => (), ␤  sub_named => {}␤)
04:19 TimToady ?eval 'G' ~~ m/<[\+..Z]>/
04:19 evalbot_r16232 Match.new(␤  ok => Bool::True, ␤  from => 0, ␤  to => 0, ␤  str => "", ␤  sub_pos => (), ␤  sub_named => {}␤)
04:19 TimToady with the usual evalbot damage...
04:19 agentzh cool, backslash works here.
04:20 TimToady ?eval 'G' ~~ m/<[+..Z]>/
04:20 evalbot_r16232 Match.new(␤  ok => Bool::True, ␤  from => 0, ␤  to => 0, ␤  str => "", ␤  sub_pos => (), ␤  sub_named => {}␤)
04:20 agentzh but it's a bit tricky to determin when to escape while doing it automatically.
04:21 agentzh *determine
04:21 TimToady the only metachars in a character class are ], \ and .. I think
04:21 agentzh ah, great
04:22 TimToady well, and whitespace
04:22 agentzh yup :)
04:22 TimToady ?eval 'G' ~~ m/<[ +..Z ]>/
04:22 evalbot_r16232 Match.new(␤  ok => Bool::True, ␤  from => 0, ␤  to => 0, ␤  str => "", ␤  sub_pos => (), ␤  sub_named => {}␤)
04:23 TimToady and we probably just require \- to catch brainos from old regexen
04:23 agentzh to => 0 seems to be wrong
04:23 TimToady it is
04:23 TimToady evalbot doesn't do character classes
04:23 TimToady but it should work locally
04:23 agentzh k
04:23 Tene it does.
04:24 TimToady probably thinks the char classes are unsafe because it pulls in unicode
04:24 TimToady arguably that's true. :)
04:24 agentzh gotta run for lunch, thanks, TimToady &
04:24 TimToady ciao
04:25 Tene What's unsafe about unicode?
04:26 TimToady anything that touches cultural issues is unsafe.  :
04:26 TimToady :)
04:26 Tene Ahh.
04:26 diakopter TimToady/channel: a friend of mine is considering spending time with the Perl 6 test suite, but he's worried about the volatility of the specifications. I really want him to come work with #perl6; any suggestions for how to tell him to chill out and start hacking on it?  It might help him if he had a bit of an idea which Synopses you considered least volatile or even most completed.
04:26 mugwump just tell him to harden up
04:27 TimToady tell him when I change anything drastic, I usually go out and clean up the tests myself, so don't sweat it.
04:27 TimToady it's much better to have something than nothing
04:28 diakopter alright; i'll tell him.  Hey, you, watching on the http log, see above.
04:28 TimToady and basically the specs from 1..13 aren't all that volatile anymore.
04:28 TimToady Functions is still in a bit of flux in spots, and IO
04:30 diakopter thanks for the details. Here's hoping he chills out. :)
04:30 TimToady I hope he chills in... :)
04:31 TimToady in any case, nobody bites anyone's head off in this project.  well, not yet, at any rate...
04:31 diakopter lol
04:35 persib joined #perl6
04:51 agentzh left #perl6
04:51 persib left #perl6
04:51 the_dormant joined #perl6
05:20 TsantsasBiter changed the nick to diakopter
05:20 diakopter changed the nick to TsantsasBiter
05:22 rhr silly question: in an embedded comment, can unspace hide space between # and the opening bracket?
05:28 TimToady I don't think we need to allow for that, if we consider # and a following bracket to be a single token.
05:29 rhr sounds good
05:29 TimToady can't really think of a use case for the other way
05:29 rhr no, I would imagine not :)
05:29 TimToady we don't allow unspace for gluing together tokens in general
05:30 TimToady so foo\ bar is still separate foo and bar tokens
05:32 obvio171_ joined #perl6
05:34 * diakopter bites your head off.
05:35 * TimToady doesn't notice much difference...
05:35 clkao ~>
05:36 obvio171_ joined #perl6
05:37 diakopter oh good; the guy is going to resurrect his pugs credentials.
05:37 * diakopter adds a tick next to 'reconverted a backslider'
05:38 diakopter oh, and we'll both be at oscon07.
05:39 diakopter TimToady: did you happen to see those parrot/pugs paintings I pasted URLs for a few weeks ago
05:39 TimToady yes
05:40 TimToady interesting coincidence...
05:40 diakopter I thought about ordering a print or two.  never got around to it.
05:40 diakopter it'd make a neat t-shirt though
05:41 Alias_ what's this?
05:41 Alias_ URLs?
05:41 diakopter heh
05:41 diakopter they'd be in the previous logging system
05:41 obvio171_ joined #perl6
05:41 diakopter which I think is still broken
05:42 diakopter or I guess I could google them again
05:43 TimToady I thought they were more recent
05:43 diakopter http://store.encore-editions.​com/artist/johannhartung.html
05:43 lambdabot Title: Johann Hartung Canine Dog Pug Paintings & Prints of Dogs
05:44 diakopter the other one was a photo of an ebay item that I doubt is still around.  perhaps in googlecache.
05:45 TimToady http://moritz.faui2k3.org/irclog/out.p​l?channel=perl6;date=2007-04-21#id_l51
05:45 lambdabot Title: IRC log for #perl6, http://tinyurl.com/275krv
05:46 obvio171_ joined #perl6
05:46 diakopter oh; I didn't see the high(er) res images of those paintings.
05:46 diakopter oh, I guess I did see them.  back then.  faulty memory.
05:46 TimToady http://i14.ebayimg.com/07/i/000/97/f1/187f_1_b.JPG is the other one
05:48 diakopter I suppose that's a cockatoo, which I guess is close to a parrot.
05:48 * diakopter renames parrot to Psittaciformes to fit the images.
05:48 rhr there's discussion in S02 about infix/postfix ambuguities, but what if you have infix:<++> and you say '$n ++$m', is that always prefix?  i.e. does prefix always require no space and infix requires space, like w/ postfix?
05:48 penk joined #perl6
05:50 TimToady prefix doesn't care about space
05:50 TimToady nor does infix
05:50 TimToady only postfix cares
05:50 rhr so what is '$n ++$m'?
05:50 TimToady a syntax error
05:50 rhr OK
05:51 TimToady well, maybe not.
05:51 TimToady might just parse it as $n + +$m
05:51 * diakopter mv TimToady IdealPerl6EvalBot
05:51 TimToady since I doubt infix tables know about ++ at all
05:51 rhr but if you define infix:<++>?
05:52 TimToady then it's $n ++ $m
05:52 rhr OK.  awful lot of choices there..
05:53 TimToady ?eval 1 ++2
05:53 evalbot_r16232 Error: ␤Unexpected "2"␤expecting operator
05:53 TimToady I think the pugs parser isn't up-to-speed on postfix parsing yet.
05:53 TimToady that should never parse as postfix ++
05:54 Tene rhr: it can't be prefix because then you just have two terms
05:54 rhr OK, so it disambiguates that way
05:55 TimToady ?eval multi infix:<++> ($a,$b) { "$a..$b" } 1 ++2
05:55 evalbot_r16232 Error: ␤Unexpected "2"␤expecting operator
05:55 TimToady ?eval multi infix:<++> ($a,$b) { "$a..$b" } 1 ++ 2
05:55 evalbot_r16232 Error: ␤Unexpected "2"␤expecting operator
05:56 TimToady basically busted
05:56 obvio171_ joined #perl6
05:56 rhr I'm writing tests for it...
05:56 TimToady well, more just using semantics from an ancient synopsis...
05:57 TimToady which was busted...
05:57 obvio171 changed the nick to obvio171_
05:59 mjk joined #perl6
06:00 rhr $n++$m is postfix though, right?
06:00 obvio171_ joined #perl6
06:01 rhr (although it's invalid)
06:01 Tene infix, I thought.
06:02 rhr S02: "If a given token may be interpreted as either a postfix operator or an infix operator, the infix operator requires space before it."
06:03 Tene rhr: what would the postfix interpretation be?
06:03 rhr syntax error
06:03 Tene so wouldn't that be equivalent to "may not be interpreted as"?
06:04 rhr hmm... you have a point
06:05 TimToady it's a syntax error
06:06 TimToady with very few exceptions, the parser does not do backtracking
06:07 TimToady it commits to ++ being postfix before deciding about anything after the ++
06:07 rhr OK, good to know
06:09 diakopter wow, IdealPerl6EvalBot is quite helpfully verbose.
06:09 TimToady in fact, the two places that backtrack are commented specially in STD
06:09 nipotan changed the nick to nipotaway
06:14 diakopter can an operator contain whitespace?
06:15 justatheory joined #perl6
06:15 TimToady none of the standard operators do
06:15 * Alias_ runs screaming
06:17 TimToady in a sense, the circumfix operators allow whitespace in the middle...
06:17 svnbot6 r16233 | rhr++ | Add unspace and long dot tests
06:20 diakopter but a circumfix is a pair of a prefix and postfix.  Shouldn't it be specified whether a postfix, infix, or prefix operator can contain whitespace?
06:21 rfordinal joined #perl6
06:22 diakopter on that note, is it legal to define an operator that is identical to one side of an already-defined circumfix?
06:22 TimToady it would likely shadow it
06:26 diakopter oh, well, of course, since those already exist.
06:26 TimToady if you define prefix:<[> you'll lose [...]
06:27 TimToady that's just "doctor, it hurts when I do this"...
06:27 diakopter ?eval multi infix:<)> ($a,$b) { "$a..$b" } 1 )2
06:27 evalbot_r16232 "1..2"
06:27 TimToady guaranteed to drive your syntax highlighter nuts
06:28 * diakopter looks at Alias_ for syntax highlighting
06:28 Tene Ouch.
06:28 TimToady Alias_ already ran away
06:28 diakopter ?eval multi infix:<(> ($a,$b) { "$a..$b" } 1 (2
06:28 Alias_ heh
06:28 evalbot_r16232 Error: ␤Unexpected "("␤expecting operator
06:28 Alias_ Man, I already wrote one document parser
06:28 Alias_ I'm burnt out
06:28 diakopter I suppose that last eval makes sense.
06:29 Alias_ Plus, my approach shouldn't be necesary for Perl 6
06:29 Alias_ So people keep telling me
06:29 Alias_ And there's many people much better with proper grammars than me
06:29 diakopter and grammar, even! ;)
06:30 diakopter well now wait a second
06:31 rhr diakopter: you switched ( and )
06:31 diakopter ?eval multi infix:<<> ($a,$b) { "$a..$b" } 1 <2
06:31 evalbot_r16232 Error: ␤Unexpected "infix"␤expecting bare or pointy block construct, ":", "=>" or operator
06:31 diakopter heh; redefining
06:31 rhr nevermind, I'm blind
06:32 TimToady ?eval multi infix:«<» ($a,$b) { "$a..$b" } 1 <2
06:32 evalbot_r16232 Bool::True
06:33 TimToady the pugs grammar still hardwires a number of tokens, it seems
06:33 TimToady ?eval multi infix:«<» (Str $a, Str $b) { "$a..$b" } 'a' < 'b'
06:33 evalbot_r16233 changed the nick to evalbot_r16232
06:33 evalbot_r16233 "a..b"
06:34 diakopter ?eval multi infix:<'let's paint a picture'> ($a,$b) { "$a..$b" } 1 'let's paint a picture'2
06:34 evalbot_r16233 "1..2"
06:35 TimToady that sortof works by accident, I think
06:36 diakopter ?eval multi infix:<''''''''''''''''> ($a,$b) { "$a..$b" } 1 ''''''''''''''''2
06:36 evalbot_r16233 "1..2"
06:37 rhr ?eval multi prefix:<'''>($a) {42} 1.'''''
06:37 evalbot_r16233 Error: ␤Unexpected "'''''"␤expecting ".", "\187", ">>", "=", operator name, qualified identifier, variable name, "...", "--", "++", "i", array subscript, hash subscript or code subscript
06:37 TimToady ?eval multi infix:{"'let's","paint","a","picture"} ($a,$b) { "$a..$b" } 1 'let's paint a picture'2
06:37 evalbot_r16233 Error: ␤Unexpected end of input␤expecting "\\", variable name or "'"
06:38 TimToady yeah, it's not really parsing :<'let's paint a picture'> as a hash subscript
06:39 marmic joined #perl6
06:47 diakopter multi prefix:<> {}
06:47 diakopter ?eval multi prefix:<> {}
06:47 evalbot_r16233 Error: src/Pugs/Parser.hs:468:12-50: Irrefutable pattern failed for pattern (Pugs.AST.Internals.Syn "{}" [_, expr])␤
06:49 mugwump joined #perl6
06:52 agentzh joined #perl6
06:54 TimToady zzz &
06:55 diakopter ?eval multi postfix:<;> ($a) {}; say say 42 ;
06:55 evalbot_r16233 OUTPUT[␤1␤] Bool::True
06:57 * diakopter titters
07:00 iblechbot joined #perl6
07:01 franck__ joined #perl6
07:03 agentzh moritz: i hope you will add search utility to ilbot's web interface when you have time. it's not easy for me to grep over your server without downloading the latest logs.
07:04 agentzh moritz: also, logging other channels like #parrot is cool as well :)
07:06 buetow joined #perl6
07:09 obvio171_ joined #perl6
07:13 obvio171_ joined #perl6
07:16 diakopter ?eval multi postfix:<;> ($_) { "$_"; } "";
07:16 diakopter heh; agentzh: could you kill that evalbot on feather...?
07:17 evalbot_r16233 pugs: out of memory (requested 1048576 bytes)
07:17 diakopter k; never mind
07:18 Aankhen`` joined #perl6
07:23 jisom joined #perl6
07:31 BooK joined #perl6
07:33 franck___ joined #perl6
07:35 rindolf joined #perl6
07:46 demq joined #perl6
07:48 agentzh ?eval 1+2
07:48 evalbot_r16233 3
07:51 agentzh rhr: i don't quite understand why you add t/syntax/longdot.t when there is already a t/syntax/long_dot.t
07:51 agentzh rhr: is there a very good reason?
07:57 rfordinal joined #perl6
07:58 * agentzh is working on a mini-mini-miniperl6 parser :)
08:01 * Alias_ implements mini-mini-miniperl6-simple
08:01 buetow joined #perl6
08:02 rhr agentzh: doh!  I can't believe I missed that.  I'll merge them tomorrow, I made some mistakes in longdot.t anyway...
08:03 rhr sleep&
08:04 agentzh rhr: sleep well :)
08:05 agentzh Alias_: url?
08:05 Alias_ :)
08:05 Alias_ er
08:05 SubStack_ joined #perl6
08:05 Alias_ j/k of course
08:05 SubStack changed the nick to SubStack_
08:06 agentzh ah :)
08:11 Alias_ It scares me that you consider it possible :)
08:16 the_dormant joined #perl6
08:17 agentzh why not?
08:21 SubStack joined #perl6
08:27 agentzh yay, it works :)
08:27 rindolf Hi Alias_
08:27 Alias_ hi
08:27 rindolf Hi agentzh
08:27 rindolf Alias_: what's up?
08:27 agentzh hi, rindolf
08:27 Alias_ releasing stuff
08:27 rindolf Alias_: nice.
08:27 Alias_ my repository has been down for a LONG time
08:27 agentzh Alias_: what's the status of PITA?
08:27 rindolf Alias_: I think there was something I wanted to talk with you about but I cannot recall what.
08:28 Alias_ So, PITA has some big issues to get past
08:28 Alias_ One is essentially solved with pip
08:28 Alias_ The second is solved by BinGOs' POE server manager thing
08:29 Alias_ Which I've got about halfway integrated into the driver backend
08:29 Alias_ The third, tbh, I forget :)
08:29 agentzh cool
08:29 Alias_ So yeah, PITA started quick, hit the wall, and it's taken a while to beat some of the underlying problem
08:29 Alias_ I also don't get as many timeslices as I want
08:30 Alias_ But it's one of those things that are stuck till you hit a certain point, then it's easy for other people to go further with it
08:30 Alias_ rindolf, you said something like that last time :)
08:30 Alias_ So yeah, it's not dead, just slow :(
08:31 agentzh gotcha
08:31 Alias_ As I get on top of my repository manager and get that out the way, then I have some more time for it
08:31 agentzh there's still a long way to go for integrating PITA into our smoke server ;)
08:31 Alias_ Well, you never know
08:31 agentzh hehe
08:31 Alias_ Because I have some ideas about that
08:31 Alias_ That might actually make things trivial
08:31 agentzh really?
08:31 Alias_ :)
08:32 Alias_ Have you seen Process
08:32 agentzh a CPAN module?
08:32 Alias_ ya
08:32 agentzh i think so, but can't recall...
08:32 Alias_ It was an experiment. I made it when I first realised that CPUs weren't going to be getting any faster
08:33 Alias_ So I thought, I needed a way to take some computational process, and work with it as an object
08:33 Alias_ So Process provides a strict API and some guarentees
08:33 Alias_ And you write a class that inherits from a combination of Process classes, and thus advertises certain properties
08:34 agentzh Process has a scary API ;)
08:34 Alias_ :)
08:34 Alias_ In any case, one of the nice things is that it piggy-backs off CPAN
08:34 agentzh i just thought it was a virtualmachine the first time i saw it.
08:35 Alias_ :)
08:35 Alias_ It's basically a container for a chunk of input data that will have something run on it
08:35 Alias_ Because if you have some bit of code to run, how do you know if the remote machine can handle it
08:35 Alias_ So this way, you just check the remote machine for the class
08:35 Alias_ And if it has the class, it can run your job
08:36 Alias_ And thus, by installing a class from CPAN, you can make compute nodes
08:36 Alias_ But it already has some funky stuff
08:36 Alias_ For example, you an delegate a process to a different Perl
08:36 Alias_ So you can run parts of your program in multiple different versions of Perl
08:36 agentzh interesting :)
08:36 Alias_ Dunno what the point would be...
08:37 Alias_ But I was thinking you could just clone the object and run it on all different versions
08:37 Alias_ And see if the resulting post-completion objects all come back the same
08:37 Alias_ So you could write tests for differing behaviour across Perl versions, or something
08:37 Alias_ in any case...
08:37 agentzh testing against different versions of perl is so useful.
08:37 Alias_ right
08:38 Alias_ It occurred to me that if I already have an encapsulation for a task, and PITA is really about running tasks, why not us Process as the API
08:38 Alias_ You generalise PITA a bit
08:38 agentzh Test::Base is having problems with perl 5.6.x and i've been looking for a perl to test it.
08:38 Alias_ So that one parts just takes a Process object, puts it into the virtual machine, runs it, and returns it
08:38 Alias_ That way you could process anything inside the virt
08:39 Alias_ You could do things like run part of your program under Windows, and part under VMS or whatever :)
08:39 agentzh wow
08:39 Alias_ And then you write the actual PITA testing sequences as a subclass of Process
08:39 Alias_ And it just magically works
08:39 Alias_ If you want to run the same testing sequence in the current Perl, it works normally
08:39 Alias_ or delegate to another Perl, or another host, or a virt from a library of them, etc
08:40 Alias_ Or pregenerate 100,000 of them in serialized form, chuck them into a SQLite databawse
08:40 Alias_ And then write a Process server that takes connections from a distributed set of volunteers, hands out jobs, and collects the results
08:40 agentzh how to solve dependencies if delegating to a remote server?
08:40 Alias_ Process
08:41 Alias_ You can't deserialize the object if you don't have the class
08:41 Alias_ To install the class, you need to install the deps
08:41 Alias_ So it uses the normal CPAN toolchain to fulfill dependencies
08:41 agentzh fair enough :)
08:41 Alias_ And you can ask the remote servers "Do you have any of these classes?"
08:41 Alias_ etc etc
08:42 Alias_ So Process lets compute environments advertise capabilities
08:42 Alias_ Using the normal mechanisms provided in the language
08:42 Alias_ etc etc
08:42 Alias_ It's a nice abstraction, I like it :)
08:42 agentzh to me, it seems to be real-time CPAN testing service and provide more flexibility.
08:42 Alias_ Anyways, that's the sort of things Process is meant to allow
08:43 Alias_ Certainly the flexibility part
08:43 cognominal changed the nick to stef__
08:43 Alias_ It solves the "any version of Perl, in any configuration, on any software, on any hardware"
08:43 Alias_ Which is a hard problem...
08:43 Alias_ er
08:43 agentzh via network computing and colaboration
08:43 Alias_ via whatever
08:43 agentzh :)
08:43 Alias_ If you have your own cluster, just run them locally
08:44 agentzh *nod*
08:44 Alias_ There's no reason to focus on any one model of parellel computing, if you can abstract the job cleanly enough
08:44 Alias_ And hence Process :)
08:44 Alias_ Anyways
08:44 Alias_ It's a lot like the whole Vanilla Perl thing
08:44 Alias_ In my head, it SHOULD be a huge leap forwards
08:45 agentzh putting all the pieces together...
08:45 Alias_ But until I push it myself to a certain point, it resists having multiple people involed
08:45 Alias_ In the case of Vanilla, I burnt huge hours making Bundle::CPAN work
08:45 Alias_ And once that worked, lots of other people stepped in and started installing all sorts of modules and testing them and contacting the authors about bugs
08:45 Alias_ And now I do very little really
08:46 Alias_ It's running itself
08:46 agentzh Alias_++
08:46 Alias_ Hopefully PITA will be similar
08:46 Alias_ But in this case, it's the core virtualisation loop that's the nasty bit
08:46 Alias_ Once I have it abstracted away to a simple API, the rest should start to appear
08:46 Alias_ But it's not worth anyone elses time really until that's done
08:47 Alias_ PPI as well I guess
08:47 Alias_ once it worked and didn't leak, I've not had to do much
08:47 andara joined #perl6
08:47 agentzh Alias_: good luck! :)
08:47 Alias_ Just handle bugs
08:47 Alias_ heh
08:47 moritz agentzh: re irclog: #parrot has a no-log policy, and I respect that
08:48 moritz agentzh: search is planned, but I don't have that much time... you're welcome to contribute if you want to accellerate it ;)
08:48 agentzh moritz: okay :)
08:59 Tene agentzh: you're always welcome to make your own private logs, though.
09:00 agentzh Tene: k
09:02 pasteling "agentzh" at 221.6.159.250 pasted "Declarative unit tests for PCR using Test::Base. All these tests are passing right now. Comments welcome :)" (45 lines, 531B) at http://sial.org/pbot/24778
09:02 Tene Vague reference to a joke about actually being a log-bot with a markov chain generator to reduce suspicion.
09:03 jisom_ joined #perl6
09:07 chris2 joined #perl6
09:30 jamhed joined #perl6
09:34 Psyche^ joined #perl6
09:34 Patterner changed the nick to Psyche^
09:36 svnbot6 r16234 | agentz++ | [PCR]
09:36 svnbot6 r16234 | agentz++ | * added t/declare to hold declarative tests for PCR
09:36 svnbot6 r16234 | agentz++ | * added t/Regex.pm which subclasses Test::Base and serves
09:36 svnbot6 r16234 | agentz++ |   as the tester scaffold for t/declare/*.t
09:36 svnbot6 r16234 | agentz++ | * added t/declare/00-demo.t to demonstrate the usage of
09:36 svnbot6 r16234 | agentz++ |   the new tester mechanism.
09:36 svnbot6 r16234 | agentz++ | (currently t/declare/*.t are not seen by PCR's 'make test' because t::Regex is not mature yet.)
09:39 svnbot6 r16235 | agentz++ | [PCR] - declare/00-demo.t - fixed a typo
09:40 agentzh t::Regex doesn't use v6.pm or any other thing to parse the p6 var syntax due to the circular dependency problem and also performance consideration :)
09:40 agentzh i parse the p6 vars by hand with plain p5.
09:40 agentzh *that* is the mini-mini-miniperl6 :)
09:41 moritz ;)
09:42 agentzh the beauty of 00-demo.t is that it can trivially generate *.t in plain p5 (for PCR if fglock hates T::B), plain PIR (for PGE), plain p6 (for pugs/mp6/kp6/p6-on-parrot/etc)
09:43 agentzh it will pave a way to share basic test suite for p6 regexes among different implementations (automatically)
09:43 moritz agentzh: why not store the data in yaml?
09:43 agentzh yaml is not human-writable
09:43 moritz agentzh: or any other serialized format
09:43 moritz bbiab &
09:45 agentzh moritz: *nod* serialization can indeed simplify the work of writing another emitter :)
09:46 agentzh supper &
09:46 agentzh left #perl6
10:15 ruoso joined #perl6
10:17 rhes1 joined #perl6
10:18 rhes1 left #perl6
10:27 buetow joined #perl6
10:56 elmex joined #perl6
11:14 franck__ joined #perl6
11:15 crashmatrix joined #perl6
11:26 VanilleBert joined #perl6
11:42 mako132_ joined #perl6
11:43 fglock joined #perl6
12:06 fglock avar: re $_ in PCR - $_ is not aliased to the string (yet); $/ is "self"; you can get to the string through a $/ method
12:08 moritz when i use p6 rules to parse a language (p6 for example), how do i implement error handling?
12:09 moritz I mean a regex either matches or not, so the result would be either "matches = ok" or "doesn't match = syntax error"
12:09 moritz how can I detect where the error in the input code is?
12:09 fglock moritz: use a side-effect, like a closure-block
12:10 polettix joined #perl6
12:10 moritz fglock: do you have an example?
12:12 fglock http://svn.pugscode.org/pugs​/src/perl6/Perl-6.0.0-STD.pm uses a rule named 'panic'
12:13 moritz fglock: thanks
12:13 fglock http://svn.pugscode.org/pugs/perl5/Pugs-​Compiler-Rule/lib/Pugs/Grammar/Rule2.pm uses:     | { die "invalid alias syntax" }
12:13 lambdabot http://tinyurl.com/2fgmop
12:21 the_dormant joined #perl6
12:23 iblechbot joined #perl6
12:28 fglock joined #perl6
12:38 moritz how do define a class that has a custom stringifcation?
12:39 moritz in "deploying perl 6" i've seen somthing like class foo does Printable { method to_string {...} }
12:39 moritz is that specced anywhere?
12:41 jerrylee joined #perl6
12:41 buetow joined #perl6
12:46 svnbot6 r16236 | fglock++ | [v6.pm] version 0.018 in CPAN; fixed module name in CPAN index
12:50 pbuetow joined #perl6
12:55 nipotaway changed the nick to nipotan
12:56 fglock joined #perl6
13:05 fglock ?eval class X { has $.v } multi prefix:<~> ( X $v ) { 'x'~$v.v~'x' } my $x = X.new( v => 123 ); ~$x
13:05 evalbot_r16235 changed the nick to evalbot_r16233
13:05 evalbot_r16235 "x123x"
13:06 fglock but this doesn't work for "$x"
13:07 rfordinal joined #perl6
13:09 moritz I'd expect an interface that defines Roles (Printable/String, Array, Hash) and methods that you can override
13:12 fglock moritz: I think the pugs-MO rewrite will fix it; kp6 works like that, with roles for each api
13:13 moritz fglock: cool. do you know where I can find a list of the names of the roles and their methods?
13:14 diakopter Alias_: you still around?
13:15 VanilleBert left #perl6
13:15 fglock I don't think it is specced; I just made up the kp6 method names
13:16 moritz ok
13:19 fglock kp6 roles are like: container, readonly, auto_deref, str, int, ...
13:39 hareldvd joined #perl6
13:51 yumiko joined #perl6
13:54 justatheory joined #perl6
14:04 veritos joined #perl6
14:04 veritos morning all
14:05 moritz hi veritos ;)
14:06 fglock veritos: good morning
14:06 moritz it's nearly tea time here ;)
14:08 fglock I'm currently helping port a perl5 program to java, at $job; I will likely take some time to study perl6-in-jvm
14:09 veritos i was thinking of writing a c-on-perl compiler.
14:11 fglock veritos: c on perl6?
14:11 veritos maybe...
14:11 veritos grammar C;
14:11 avar veritos: parrot has a c99 grammar, just the grammar though.
14:11 veritos shouldn't actually be too hard.
14:12 fglock I think Parse::Yapp comes with a working C grammar
14:13 veritos i'll try. i have to write a standard library too...i think 'use POSIX' will take care of most of that.
14:14 avar not really, that leaves out the C stdlib
14:14 avar you can write most of it in C itself, so you can just copy uClibc or something like that
14:15 rindolf Hi avar, veritos, fglock, moritz
14:15 veritos rindolf: heya
14:15 moritz hi rindolf ;)
14:15 rindolf moritz: what's up?
14:15 rindolf veritos: sup?
14:15 veritos avar: no, i wanted to write it in as much perl as possible
14:16 veritos rindolf: discussing my evil plan to write a c-to-perl compiler
14:16 veritos muahaha
14:16 rindolf veritos: oh, that.
14:16 fglock does Java has a form of eval() ?
14:16 rindolf veritos: yes, I recall discussing it with someone.
14:16 rindolf veritos: write a gcc backend.
14:16 moritz veritos: I think it's a mess with the pointer things ;)
14:16 rindolf Some pepole think that it's more secure to not have a C compiler on the system.
14:16 avar fglock: no
14:17 moritz veritos: do you want to solve that with a big @mem array?
14:17 veritos moritz, rindolf: it won't be perfect, and \ and $/@ should handle that.
14:17 veritos moritz: that's one idea i was thinking
14:17 avar fglock: which is one reason why this whole VM thing for Java is quite silly:)
14:17 moritz veritos: I expect it to compile the linux kernel, of course ;)
14:17 veritos maybe a tied Mem, which would init unused areas to 0
14:17 veritos moritz: so kernel on perl on c on kernel?
14:18 moritz veritos: of course ;)
14:18 veritos sounds like perl 6. p6 on haskell on c on java-to-c compiler on asm
14:18 moritz you can solve any problem in computer science by introducing another abstraction layer ;)
14:19 veritos port perl to one-instruction-set computer!
14:20 fglock avar: hmm - is it possible to store bytecode in a variable and then execute it?
14:20 moritz sounds evil indeed ;)
14:20 avar fglock: Not in java itself, but on the jvm I don't see why not
14:20 veritos just rewrite java in java!
14:20 gaal http://feather.perl6.nl/~audreyt/osdc/haskell.xul is looking a little borked. what does it need? a stylesheet? regeneration?
14:20 avar you can give it new bytecode to eat, that can just as well come from a variable
14:20 veritos or a jvm at least
14:21 gaal (also, moose all)
14:21 veritos it crashes for me. anyone know what's up with that?
14:21 veritos here's what you need: frivolous toy interpreter.
14:22 veritos <strikethru>frivolous</strikethru>
14:22 veritos <strike>interpreter</strike>
14:22 veritos toy...
14:22 veritos -Ofun....
14:22 veritos :)
14:26 fglock avar: so it will probably be (perl6->jvm) instead of (perl6->java->jvm)
14:27 lichtkind joined #perl6
14:28 amnesiac joined #perl6
14:34 [particle] joined #perl6
14:35 drupek12 joined #perl6
14:46 veritos joined #perl6
15:01 cognominal joined #perl6
15:09 bonesss joined #perl6
15:24 frobnitz joined #perl6
15:30 dmq joined #perl6
15:30 dmq joined #perl6
15:34 sri_ joined #perl6
15:40 rodi joined #perl6
15:49 prism joined #perl6
15:55 andara left #perl6
15:58 Loro_ joined #perl6
16:15 [particle] joined #perl6
16:21 veritos joined #perl6
16:26 pbuetow joined #perl6
16:35 jvoorhis changed the nick to jvoorhis-afk
16:35 jerrylee_ joined #perl6
16:37 franck__ joined #perl6
16:39 meppl joined #perl6
16:46 Southen joined #perl6
16:46 Southen_ joined #perl6
16:54 pmurias joined #perl6
16:54 REGJAVA joined #perl6
16:54 kanru joined #perl6
16:54 REGJAVA I am getting "Can't spawn "cmd.exe"" when i invoke system commands using perl , How can i fix it?
16:55 moritz REGJAVA: certainley not by asking in #perl6 ;)
16:55 Southen joined #perl6
16:56 pmurias #perl@irc.perl.org is generally the chanel for perl5 help
16:57 avar That channel is mostly about dongs, #perl on this network is better if you need help
16:57 yumiko at least he didn't ask in #lisp :P
16:58 REGJAVA will changing my perl to perl6 fix that issue?
16:58 * pmurias uses windows only at school for starcraft, so can't help
16:59 pmurias perl6 isn't suitable for production yet, and is quite a different language
17:08 weinig_ changed the nick to weinig
17:08 weinig changed the nick to weinig_
17:08 franck__ joined #perl6
17:10 franck__ joined #perl6
17:10 gnuvince joined #perl6
17:17 the_dormant joined #perl6
17:21 fglock joined #perl6
17:41 pmurias fglock: hi
17:41 pmurias http://today.java.net/pub/a/today/2007/02/15/t​ackling-performance-problems-with-janino.html
17:41 lambdabot Title: java.net: Tackling Java Performance Problems with Janino, http://tinyurl.com/2bh7e9
17:42 pmurias eval for java
17:47 bonesss joined #perl6
17:47 fglock pmurias: hi - looking...
17:48 [particle] joined #perl6
17:50 obvio171 joined #perl6
17:53 bernhard joined #perl6
17:56 japhb joined #perl6
17:57 Psyche^ joined #perl6
18:00 fglock pmurias: nice
18:02 fglock does java support closures nowadays?
18:03 kanru joined #perl6
18:09 toku_away changed the nick to tokuhirom__
18:11 Psyche^ joined #perl6
18:11 Patterner changed the nick to Psyche^
18:12 jisom joined #perl6
18:15 kattana_ joined #perl6
18:21 * pmurias read Thinking in Java, but hasn't used java almost at all
18:21 penk joined #perl6
18:28 buetow joined #perl6
18:38 prism joined #perl6
18:45 fglock joined #perl6
19:04 cognominal joined #perl6
19:10 pbuetow joined #perl6
19:16 weinig_ joined #perl6
19:19 edenc joined #perl6
19:32 the_dormant joined #perl6
19:49 dduncan joined #perl6
20:11 pmurias left #perl6
20:11 Belaf joined #perl6
20:15 japhb moritz: Backlogging, I noticed that you said #parrot has a no-logs policy.  Happen to know the reasoning?
20:23 moritz japhb: no, I just know that the inhabitants of #parrot decided against it some time ago, but are considering to change their policy
20:24 japhb That would be nice.  Information wants to be a hyperlink target.
20:25 moritz actually I'm surprised how many people use the irclogs
20:25 moritz today about 130 hits on the logs
20:25 araujo joined #perl6
20:26 [particle] moritz: that could be one person refreshing every five minutes
20:26 moritz [particle]: but it isn't ;)
20:28 moritz in my logs I can see a significant increase of unique visitors since the irclogs are online
20:30 moritz and people are posting links to specific lines and pages, and I got some feedback - quite surprising ;)
20:30 [particle] well, #parrot's policy is that serious discussion should always happen on the mailing lists. #parrot is just a chat room.
20:30 [particle] we have logs of our weekly design meetings that occur in #parrotsketch
20:31 moritz nevertheless I don't think that the diskussions of #parrot are worthless
20:32 moritz but since I don't contribute to that discussions I'm in no position to propose changes
20:36 PerlJam moritz: those of us that care to will log whatever channels we're in anyway.
20:36 PerlJam screen++ btw.
20:37 moritz PerlJam: that's right, yes. And screen++ and irssi++ indeed ;)
20:37 PerlJam (I used to log everything, all the time, but stopped when I realized how infrequently I used the logs)
20:38 PerlJam I've got some good conversations with tchristi from 1998 or so though  :-)
20:38 PerlJam er, tchrist
20:39 justatheory joined #perl6
20:39 avar logs don't take up a lot of space and come in real handy:)
20:39 moritz that's what bzip2 is for ;)
20:51 integral avar: they still take up a lot of space after sufficient time.
20:52 avar you irc too much:)
20:58 fglock good night all &
21:04 SubStack joined #perl6
21:15 buetow joined #perl6
21:16 marmic joined #perl6
21:23 yumiko joined #perl6
21:34 Aankhen`` joined #perl6
21:39 obvio171 joined #perl6
21:50 weinig changed the nick to weinig_
21:51 weinig_ joined #perl6
21:52 weinig_ joined #perl6
21:59 diakopter anyone around to discuss test harness ideas?
22:01 offby1 nobody here but us zombie processes.
22:01 diakopter killall -9 zombie
22:02 * moritz drops dead
22:02 qmole Terminated
22:04 rfordinal joined #perl6
22:05 diakopter I've been doing some thinking about how to differentiate the behavior of an interactive (Perl 6) shell/interpreter, and the behavior of a (Perl 6) compiler/emitter, from a testing standpoint.
22:07 diakopter I'm sure I'm misguided in a lot of ways, but does anyone have any pointers to reading material, or even terminology (to search) to further my thoughts?
22:13 diakopter I mean, a language is spec'd to behave a certain way, but there are different measures for success/failure, depending on whether it's being tested interatively or tested by measuring the results of a compilation or emission to another language.  Or am I barking up the wrong tree (out of ignorance)?
22:13 moritz can give an example for "different measures for success/failure"?
22:14 moritz I just expect an interactive shell to print the results of an expression right after it is typed
22:14 moritz otherwise it should behave identical, right?
22:14 * offby1 nods gravely
22:18 amnesiac joined #perl6
22:19 lisppaste3 joined #perl6
22:25 diakopter well, interactive perl5 is the debugger, right?  And surely there are (perhaps subtle or irrelevant) differences between its behavior and normal execution.
22:26 diakopter I know that's not an example.  I'm working on it... and learning more as I go.  Thanks (seriously!) for stating the obvious, moritz.
22:30 semifor_ joined #perl6
22:33 offby1 Hey!  Stating the obvious is _my_ job.
22:34 moritz offby1: I thought yours was to be off by one
22:34 moritz ;-)
22:35 TimToady perhaps the obvious is off by one
22:36 diakopter I think I'm off by one rocker.
22:36 offby1 moritz: that's not my job; that's just who I am.
22:37 moritz offby1: sorry, an internal pointer was off by...
22:38 * offby1 considers changing his nick to something dull
22:39 moritz offby1: don't do that ;)
22:40 diakopter offby1: how about something shinier: offbyMinus1
22:41 offby1 eww, not shiny at all.
22:44 IllvilJa joined #perl6
22:44 diakopter my musings/questions have morphed into: is a Perl 6 interactive debugger part of the language specification (by the auto-inheritance clause of "everything else is like perl"), or is it explicitly left up to the language implementer?  Does an implementation need an interactive mode to be a valid implementation?
22:45 obvio171 joined #perl6
22:45 offby1 excellent questions.
22:45 offby1 wish I had a clue as to their answers.
22:46 moritz diakopter: I think in p5 the debugger is part of the implementation, not of the language
22:46 moritz diakopter: and I guess it's the same for p6
22:46 moritz but that's just intuition
22:48 mako132_ joined #perl6
22:48 TimToady if the language provides enough metadata about the program to drive an IDE, there's enough to debug, I suspect
22:49 diakopter should I consider that answer a "we'll see..."?
22:49 diakopter or, "hopefully"?
22:49 TimToady maybe it's a question: "Do you know any IDE experts?"
22:50 polettix joined #perl6
22:51 obvio171 joined #perl6
22:55 prism joined #perl6
22:58 diakopter friend from my college-era is a pm at msft in the visual studio group.  I doubt he'd be much help though.  I'm guessing there are people around here who could contribute, given different circumstances (I don't know what those are).  I think what you're saying is that it would be nice for it to be debuggable/IDEable, but it might turn out that the language's higher priority of goal of having extreme dynamism might ultimately prevent that
23:01 nperez joined #perl6
23:03 Khisanth debuggable is great but if you start requiring an IDE to write a program then there is something wrong with your language :)
23:03 TimToady the point is not to require an IDE, but to require the metadata that an IDE or debugger needs
23:04 TimToady it's perfectly fine to throw the metadata on the floor and just coredump.  :)
23:04 moritz I'm a bit concerned... the metadata may rely heavily on what's going on in BEGIN blocks - and there may be unsafe operations in BEGIN
23:05 moritz so just viewing a perl script in an IDE might execute unsafe operations (if poorly implemented; if not, the metadata will be partially wrong)
23:06 TimToady perhaps BEGIN can run in some kind of sandbox
23:07 moritz hm
23:07 moritz still ugly ;)
23:07 TimToady not looking for beautiful here, but powerful
23:08 Khisanth is this anything like the perl5 situation were you program would only work/not work inside/outside the debugger? :)
23:08 QtPlatypus Damn hisenburges.
23:09 Khisanth hisenbugs!
23:10 offby1 "Heisenbugs", please.
23:10 * QtPlatypus accepts the correction.
23:10 Khisanth hi on bugs
23:10 Khisanth oops high :)
23:14 svnbot6 r16237 | moritz++ | [irclog]
23:14 svnbot6 r16237 | moritz++ | * added search for nicks
23:14 svnbot6 r16237 | moritz++ | * refactored much of the code of out.pl to use it in search.pl
23:14 svnbot6 r16237 | moritz++ | * removed hardcoded constants from index.pl
23:20 svnbot6 r16238 | moritz++ | [irclog] links to search, a bit more refactoring
23:37 mako132_ joined #perl6
23:43 rashakil_ joined #perl6
23:44 SubStack joined #perl6
23:51 obvio171 joined #perl6

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

Perl 6 | Reference Documentation | Rakudo