Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-04-23

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:11 avar theorbtwo: what do you mean?
00:27 TimToady theorbtwo: I don't think Pugs actually believe in Range objects yet.  When it does 1.1 ~~ 1..2 should work right.
00:28 TimToady that is, the interpretation of the endpoints also depends on the use to which the Range object is put.
00:28 TimToady 1..2 is not just a synonym for 1,2
00:29 TimToady you'll note that Pugs currently tries the synonym approach, which is less than successful with 1..Inf
00:32 jsiracusa joined perl6
00:32 theorbtwo TT: /Wonderful/.
00:33 jsiracusa quoth the audrey, "...the postcircumfix <> macro, which then desugars to a postcircumfix {} lookup"
00:33 jsiracusa my question: what, exactly, is "sugared" about <> when compared to {}?
00:33 wilx joined perl6
00:34 aufrank jsiracusa: <> does quoting for you
00:34 Khisanth well if you take a < and bend it ...
00:34 aufrank %foo{'a'} === %foo<a>
00:34 jsiracusa === $foo{word} # in perl 5 anyway
00:34 jsiracusa is that illegal perl 6?
00:35 TimToady depends on whether you've declared a word function.
00:35 TimToady it doesn't autoquote
00:35 aufrank not sure, but I think not if you mean to use the string 'word' as a key
00:35 TimToady that special rule is gone
00:36 jsiracusa okay, just wondering
00:36 jsiracusa thanks
00:36 aufrank np
00:36 TimToady your welcome
00:37 jsiracusa s/r/'re/; # whee
00:37 TimToady ...is always assured here.  :P
00:38 jsiracusa heh
00:38 jsiracusa infinite lookahead!
00:38 TimToady in IRC?
00:38 TimToady sign me up.
00:39 TimToady in Perl 6, I'll pass.
00:40 avar TimToady: Do you know how perl(1) internals work, roughly, or are you long-since lost?;)
00:43 TimToady I still know far too much about that...
00:44 TimToady and was forcefully reminded of many of the details while working on my p5-top-p5 translator last year
00:45 TimToady did you have an internals question?
00:45 TimToady or just curious?
00:45 avar I was just curious;)
00:54 avar TimToady: Well actually there is one issue I've been asking around about, it's about XS though, could I bother you with it?;)
00:55 TimToady haven't done a lot with XS lately
00:56 TimToady I remember there was something about typemaps, and a preprocessor...
00:57 TimToady Hmm, why am I getting Post Traumatic Stress here... :)
01:01 avar ;)
01:02 YetAnotherEric :-)
01:02 * YetAnotherEric skipped that and went straight to Inline::C
01:04 avar YetAnotherEric: too bad you can't really use that for production like XS
01:04 YetAnotherEric why not?
01:04 avar well, depends on what you mean by "production"
01:05 avar it's not in perlmodlib for one;)
01:05 YetAnotherEric you mean "goes in the core" ?
01:05 YetAnotherEric I've been told by several that do other than in-house stuff that yoinking the generated XS and shipping it works
01:06 avar Not just that, running Inline::C stuff creates temp files, and just looks like a PITA;)
01:06 avar that might work;)
01:06 * YetAnotherEric has yet to squint at M::B in the right way to figure out how to make that magickal
01:06 YetAnotherEric mkdir ~/.Inline
01:07 avar I'm making XS stuff for $job, I might give inline another shot if I have trouble making my XS stuff;)
01:07 YetAnotherEric there's also the VERSION => '0.01' thing that turns off all inline-ishness at build/install time
01:08 YetAnotherEric heh.  how off-topic is Inline for perl6?
01:09 avar I don't think anyone cares;)
01:10 frederico joined perl6
01:19 avar TimToady: anyway, if you want to take a look (or anyone else) svn co http://avar.lir.dk/vcs/src/perl/xs/Hello/ and http://avar.lir.dk/vcs/src/perl/xs/Hello/README.pod
01:22 YetAnotherEric avar: having build issues?
01:22 avar yeah;/
01:25 YetAnotherEric Inline example:  http://search.cpan.org/~ewilhelm/Math-Geometry-Planar-GPC-Polygon-0.05/
01:25 YetAnotherEric did you start with h2xs?
01:26 avar no, I'm having issues because I'm going outside the h2xs path of one-xs-file-per-dir-with-Makefile.PL
01:27 YetAnotherEric sounds like ExtUtils::MakeMaker is skipping your ext/ dir
01:28 avar "If an extension is being built below the "ext/" directory of the perl source then MakeMaker will set PERL_SRC automatically (e.g., "../..")."
01:30 avar mm, doesn't matter if I put it elsewhere
01:33 YetAnotherEric hmm.  you want the ext/Hello/blib tree merged into blib/ right?
01:36 avar yeah, it works if I just do rsync -av --progress --stats ext/Hello/blib/ blib
01:39 oozy joined perl6
01:39 * avar documents some more
01:40 YetAnotherEric avar, "If an extension is being built below the "ext/" directory of the perl source" ?
01:40 YetAnotherEric you're not in the perl source
01:41 avar I know, that stuff was irrelivant, but it's the only reference to "ext" being a magical name
01:48 avar YetAnotherEric: updated the readme,
01:48 * avar goes read ExtUtils::MakeMaker source
01:51 YetAnotherEric PMLIBDIRS => [ 'lib', 'ext/'],
01:51 YetAnotherEric seems to make a bit of difference, but doesn't do the trick
01:51 * theorbtwo puts on his parka so the little bits of avar's brain don't get all over him.
01:55 avar I'm beginning to doubt that MakeMaker supports this at all
01:56 theorbtwo Goodnight.
01:56 justatheory joined perl6
02:18 weinig joined perl6
02:24 YetAnotherEric avar, it looks like you're really stuck there
02:24 YetAnotherEric problem is that you want it to use two parallel lib/-like dirs
02:25 spinclad [re *]: i think of 'whatever', or '*', as a generic element, lying 'everywhere' in the domain, such as 0/0 (or NaN) in the rationals.  Inf is more specific, with value 1/0, and lies at the 'point at infinity' (the vanishing point) on the projective line, not everywhere.
02:25 YetAnotherEric it can do recursive builds, but each should be able to stand alone -- since your ext/ is req. for testing, you have to change your layout
02:26 spinclad ('6' x *) ~~ / 6 * /  is a nice pairing of generator|template with pattern...  ('however many' on both sides)
02:26 spinclad otoh, * meaning 'all' has good tradition...
02:26 avar YetAnotherEric: but even after make test works (and if), there's still the issue of the whole thing not installing
02:28 spinclad [i fear this will get lost in the backlog...]
02:37 FurnaceBoy_ is now known as FB|afk
02:41 ko1_away is now known as ko1
02:42 YetAnotherEric avar, either hack an rsync in there somewhere, put them together, or drop EU::MM
02:43 TimToady why do you think this will get lost in the backlog?
02:43 ayrnieu joined perl6
02:44 FB|afk is now known as FurnaceBoy
02:45 avar YetAnotherEric: And use what (if not EU::MM)
02:46 YetAnotherEric try Module::Build
02:47 spinclad TT: just because there's *so much* backlog all the time (and most of it mostly worthwhile)
02:48 spinclad but my present fear is relieved...
02:50 TimToady I think * just means "do the right thing here, for some maximized value of Right"
02:51 TimToady but that is heavily context dependent.
02:51 spinclad so * is a maximal element?
02:51 ayrnieu joined perl6
02:51 TimToady sure is in regex
02:51 TimToady and Inf is pretty maximal
02:52 TimToady and a *'ed dimension just maximizes the selection in that dimension.
02:52 spinclad well, *+ is, sure, but is *? ?
02:52 TimToady We haven't defined a standalone *? outside of regex yet.
02:53 TimToady It doesn't seem quite so useful: "do a minimally Right Thing here".
02:53 YetAnotherEric joined perl6
02:53 TimToady 0..*? would be 0..-1 and give you a null range maybe?
02:53 spinclad 'do a least fixed point of this spec'
02:53 TimToady that doesn't mean anything to me
02:54 TimToady are you speaking about Nash equilibria?
02:54 spinclad no, as in recursive definition
02:55 TimToady still don't see the use of it.
02:55 TimToady but I've never claimed to be a mathematician...
02:55 spinclad 0! = 1; n! = (n-1)! * n, for example
02:56 TimToady A nice factorial, but I don't see how it relates to the prhase "fixed point"
02:56 TimToady "least fixed point of this spec" rather
02:56 spinclad find the smallest partial function that satisfies this definition
02:57 spinclad so 0 -> 1; 1 (recurse once ) -> 1; etc
02:57 TimToady okay, I never actually quite got to partial functions...
02:58 TimToady maybe we'll just leave a hole in the grammar right there and you can have *? to do whatever you want with. :)
02:59 spinclad you want the least fixed point so that i! doesn't get defined as whatever, and then (i+1)! = i! * i...
02:59 TimToady actually, there's a sense in which * already implies "least", at least in the lazy sense, in contrast to **.
02:59 TimToady (but not in regex).
03:01 TimToady sounds like a "please just nail something down first" idea
03:01 TimToady Does mathematica have a notation for this?
03:02 TimToady or does it just happen.
03:02 spinclad oh, no, i wasn't actually asking for *? , just follow associations
03:02 TimToady ooh, that's dangerous.  next thing you know, you'll turn out like me.
03:02 spinclad *following
03:03 spinclad i know... or vice versa
03:03 TimToady it helps to believe six impossible things before breakfast if you rarely eat breakfast...
03:04 spinclad oh... here i thought it was *eat* six impossible things for breakfast
03:04 spinclad and you'll have an interesting day
03:04 TimToady I've had breakfasts like that...
03:04 FurnaceBoy actually, I think it's "DO six impossible things...."
03:05 coumbes joined perl6
03:05 spinclad you make em, i'll eat em...
03:05 * spinclad trusts and dies
03:05 FurnaceBoy TT, you know how Mathematica's pattern matching (MMD, sorta) works?
03:05 FurnaceBoy there is a heuristic that finds the most specific match ... but it's about 15 years since I was intimate with that stuff :)
03:06 FurnaceBoy I should say, "rule matching"...
03:06 FurnaceBoy f[1] := 1
03:06 FurnaceBoy f[n_] := n*f[n-1]
03:06 FurnaceBoy or something like that.
03:06 TimToady actually, I don't know a thing about mathematica...
03:07 TimToady i just suspect it has to have some kind of decent pattern matching engine in it, or it wouldn't actually be able to *do* math.
03:07 FurnaceBoy well, I am talking specifically about its rule/template matching,
03:07 FurnaceBoy which is like MMD, or C++ dispatch, but very flexible
03:07 TimToady looks kinda prologgy/haskelly
03:07 FurnaceBoy yes,
03:08 FurnaceBoy used in that mode, it sorta is
03:08 TimToady but I'm sure it goes rather deeper
03:08 FurnaceBoy that's one thing Mma and Perl have in common, they easily span paradigms
03:08 TimToady or it wouldn't have the rep it has
03:08 * FurnaceBoy likes the Mma language a lot, but it's wordy
03:09 TimToady is there anything glaringly missing from Perl that Mma gives you?
03:09 TimToady (other than math :)
03:09 TimToady (and sanity...)
03:10 FurnaceBoy a lot of things map back and forth easily.
03:10 TimToady (and that we could, um, lovingly emulate?)
03:10 FurnaceBoy heh!
03:10 FurnaceBoy I don't think Perl can be as *focused* as Mma in some domains
03:10 FurnaceBoy OTOH,
03:11 TimToady fair enuf
03:11 FurnaceBoy Perl is a greater general purpose language
03:11 FurnaceBoy more concise, and 'optimised' for so many domains that Mma doesn't go near
03:11 FurnaceBoy so, they're both going to excel in their spheres, I think.
03:11 TimToady but with P6 we're trying to keep it *focusable* even where it isn't focused.
03:11 FurnaceBoy yeah.
03:11 FurnaceBoy well, that pattern/rule/template matching idea is one to think about,
03:11 FurnaceBoy and in fact,
03:11 * ayrnieu deciphers 'mma' as 'mathematica'.
03:12 FurnaceBoy that factorial example is one of the simpler demonstrations of it
03:12 FurnaceBoy can Perl6 do that?
03:12 FurnaceBoy define two rules, and in that way, define an effective factorial?
03:12 TimToady yeah, pretty much.
03:12 FurnaceBoy (memoisation is a very trivial enhancement in Mma)
03:12 FurnaceBoy okay.
03:12 TimToady p6 too
03:12 FurnaceBoy well, the templates in Mma can be much more complex than that, of course
03:12 TimToady "is cached", if it doesn't happen by default
03:13 TimToady well, we're going for generalized reversible tree mappings
03:13 FurnaceBoy yeah, cached... simply involves adding more rules to the db as a sideeffect
03:13 TimToady recursive signatures within patterns and such.
03:14 FurnaceBoy f[n_] := (f[n] = n*f[n-1])   (* or so my 15-year old memories hint *)
03:14 FurnaceBoy yes, "tree" fragment signatures I *think*
03:14 FurnaceBoy never used that part much, but admired its elegance.
03:14 FurnaceBoy have you met Mr Wolfram?
03:14 TimToady nope
03:15 TimToady been doing a different kind of science...
03:15 FurnaceBoy you should discuss these things with him, I think he designed the language himself
03:15 FurnaceBoy it's rather elegant
03:15 FurnaceBoy the reason I suggest him, is because it does seem that he thought about a lot of this stuff rather deeply
03:15 FurnaceBoy so probably has something to convey ... :)
03:16 macroron__ joined perl6
03:16 FurnaceBoy it's a shame that Mma's guts are all proprietary and locked away
03:16 TimToady he's certainly done a fairly good job of making something with mass appeal, for some definition of mass
03:16 FurnaceBoy great cultural loss.
03:16 FurnaceBoy yeah, but it's not a crummy language designed by a mathematician, is what i'm saying; it has a kind of elegance just as a language and a system ...
03:16 TimToady well, maybe we're on the way to fixing that... :)
03:16 FurnaceBoy heh!
03:17 FurnaceBoy I'll keep that in mind.
03:17 TimToady I'm nothing if not hubristic.  Very humble about it though.
03:17 FurnaceBoy if I think of anything, I'll bring it up, but there are real Mma experts out there who could be canvassed
03:17 FurnaceBoy I feel so distant from the time when I was close to it
03:17 FurnaceBoy (but the fondness remains :)
03:18 TimToady yeah, well, we all move along our various trajectories...
03:18 FurnaceBoy I've occasionally wondered about cloning the language
03:18 FurnaceBoy it's a delicious ambition, but an Audrey-level intellectual exercise
03:18 FurnaceBoy Wolfram cannot be underestimated as a thinker :)
03:19 TimToady there are not many Audrey's in the world.  And it takes more than intellect to be an Audrey.
03:19 FurnaceBoy I appreciate that :)
03:19 TimToady or a Wolfram.
03:21 TimToady interestingly, I actually posted on Usenet lo these many years ago that I thought were were all running in a big simulator.
03:21 FurnaceBoy Fredkin's thesis
03:21 TimToady Fredkin?
03:23 spinclad that our observed physics is just that of some cellular automaton
03:23 FurnaceBoy yeah, a.k.a. Digital Physics?
03:23 spinclad Ed Fredkin
03:23 FurnaceBoy he has a page on it. MIT.
03:24 TimToady ah well, I didn't imagine I was the first to think of it...
03:24 FurnaceBoy :)
03:24 FurnaceBoy nor Wolfram, methinks
03:24 FurnaceBoy but he did write the 'bible' on it ;-)
03:24 * FurnaceBoy has a copy of NKOS but ... (to his chagrin) hasn't read it ... yet
03:25 TimToady one passed through my house in the hands of my physicist son, but I don't know where it got to.
03:25 TimToady haven't read it either...
03:25 FurnaceBoy heh!
03:25 TimToady only one of me, alas...
03:25 FurnaceBoy you should ask him what he thought.
03:25 FurnaceBoy it is certainly a beautiful book.
03:26 TimToady I know what he thought.  He said Wolfram has a lot of interesting ideas but goes kinda crazy.
03:26 FurnaceBoy LOL!
03:26 TimToady Gee, that's just what I aspire to...
03:26 FurnaceBoy not an uncommon reaction
03:26 FurnaceBoy exactly!
03:26 FurnaceBoy ' This wild thought echoes Yevgeny Zamyatin's famous literary credo of 1921: "The point is that there can be a true literature only where it is made not by efficient and trustworthy clerks, but by madmen, hermits, heretics, dreamers, rebels, skeptics."'
03:27 TimToady the poetic version of "all progress depends on the unreasonable man..."
03:28 TimToady but also a sexists formulation, since there are also madwomen...
03:28 FurnaceBoy yeah. funny six categories there, now I think of it. not five, not seven
03:28 FurnaceBoy and you can't leave one of them out, they might be upset
03:29 FurnaceBoy "hey! I'm not mad, hermitic, heretic, or sceptical, but I am a rebel, sod it all, and I want my place in literature!"
03:29 TimToady hemmingway, I think.  well, maybe mad...
03:30 FurnaceBoy those six cover a lot of ground :)
03:30 TimToady it would be interesting to try to find an interstice or two.
03:30 FurnaceBoy Kafka maybe?
03:30 FurnaceBoy well, being one of those things is necessary but not sufficient, as they say
03:31 TimToady of course, just to get anything done, you arguably have to open yourself up for misunderstanding in many of those dimensions.
03:31 KingDiamond joined perl6
03:31 FurnaceBoy one of the appealing things about programming is that if nobody else does, the machine must. :)
03:31 FurnaceBoy understand, that is
03:32 FurnaceBoy it's tremendously antisocial not to write comments, though ;0))
03:32 TimToady I suppose we might try looking under the lamppost for efficient and trustworthy clerks who also produced great literature...
03:33 spinclad Einstein
03:33 FurnaceBoy yeah,
03:33 FurnaceBoy but he wasn't REALLY a clerk, deep down.
03:33 FurnaceBoy he just pretended to be one, for a while
03:33 FurnaceBoy deep down he was a heretic, a dreamer, a rebel
03:34 TimToady most of these categories generate their own plausible deniability field...
03:34 FurnaceBoy you mean like an immunity?
03:35 FurnaceBoy Hunter S. Thompson spans all six in some sense, I think
03:35 TimToady seems to me there were a lot of efficient and trustworthy clerks who were also hermits
03:35 FurnaceBoy yes, "necessary but not sufficient" :)
03:35 spinclad i think E must have been a real clerk, efficient and trustworthy (you only have to do the job, after all); but his Great Work was not as a clerk
03:36 TimToady I don't think Tolkien really fits any category but dreamer
03:36 FurnaceBoy we all go through phases... I don't see his clerk phase as important in the arc of his life
03:36 TimToady but hey, "necessary but not sufficient" :)
03:37 FurnaceBoy Tolkien might be a sceptic in the sense of ... techno-sceptic, I seem to recall
03:37 FurnaceBoy not Luddite,
03:37 FurnaceBoy but ...
03:37 spinclad sceptical of modernity
03:37 FurnaceBoy something like that.
03:37 FurnaceBoy of progress.
03:37 FurnaceBoy Douglas Adams, definitely sceptic
03:38 TimToady I think the six categories can all be summed up as "people for whom regular life sucks"
03:38 FurnaceBoy LOL!
03:38 FurnaceBoy I have spent so much time around such people that to me, they are the normal ones
03:38 TimToady must suck. :)
03:38 FurnaceBoy not really, I feel blessed. it's the wasteland of normal life that frightens me.
03:39 TimToady a hermit too.  wow
03:39 FurnaceBoy me? sure.
03:39 FurnaceBoy I doubt I'm the only one here.
03:39 spinclad sucking, and the roots of sucking, and the end of sucking, and the eightfold way
03:39 * FurnaceBoy laughs
03:39 FurnaceBoy and then there's Solaris
03:40 * FurnaceBoy has been installing a SunFire X2100 and Sol10 these past couple of days
03:40 FurnaceBoy mod_perl next!
03:41 TimToady I think my goal is to be an efficient and trustworth heretic.
03:42 FurnaceBoy LOL!
03:42 FurnaceBoy very witty, Wilde.
03:44 TimToady eh, it's not real wit.  I just keep mixing sensible things around till they almost make sense
03:44 TimToady makes for great quote fodder, anyway.
03:44 FurnaceBoy ineed.
03:44 FurnaceBoy like I said the other day to a friend, you're always good for a one-liner.
03:45 spinclad me: mad likely, heremitic, heretic most thoroughly, dreaming of quantum gravity...  not so actively rebelling; skeptic goes without saying; need to study efficiency and trust-worth
03:45 FurnaceBoy indeed. I can do more on the efficiency front myself.
03:45 TimToady not if you want to produce literature. :)
03:46 TimToady my son is doing quantum gravity a U. Maryland...
03:46 spinclad ooh! nice!
03:46 TimToady doesn't like string theory...
03:46 spinclad loop or string ...  loop?
03:47 TimToady maybe we should invent buffer theory instead.
03:47 spinclad fill a buffer with spin foam in all possible ways, equally weighted
03:48 FurnaceBoy TT, are you concerned he will toss in the theory and become an empirical byte shuffler like you"?
03:48 TimToady add a few persistent accounting errors and you have "real" mass
03:48 TimToady nah
03:48 TimToady he's not much into the empirical side at all.
03:49 FurnaceBoy interesting. I don't have much of a head for theory these days, but a mathematician friend says it's just because I don't exercise those muscles.
03:49 TimToady couldn't even interest him in computer programming.
03:49 FurnaceBoy my mental exercise is all focused on text and patterns
03:49 spinclad may his niche be fulfilling
03:49 * FurnaceBoy hopes so too
03:50 TimToady he'll do good, one way or another.
03:50 TimToady maybe invent a field that doesn't exist yet.
03:50 TimToady npi
03:52 spinclad sorry, must go, bandage call and bed &  (and thanks)
03:53 justatheory joined perl6
03:57 FurnaceBoy bandage call. sounds like something out of Erich Maria Remarque...
04:11 scook0 joined perl6
04:19 FurnaceBoy ' the "pphaneuf syndrome": the problem is solved so thoroughly by so little code that nobody can believe your code actually solves the problem... or that you did any work. '
04:19 FurnaceBoy http://advogato.org/person/apenwarr/diary.html?start=122
04:33 bsb joined perl6
04:42 bsb left perl6
05:36 Khisanth TimToady: seems like you would be a tough act to follow if he went into computer programming :)
05:38 TimToady I suspect he'll be a tough act to precede if I go into quantum physics.  :)
05:51 Khisanth joined perl6
06:04 YetAnotherEric re: pattern matching/multiple dispatch...
06:05 YetAnotherEric I'm not certain that I really get it, but http://rubyforge.org/projects/multi/
06:08 YetAnotherEric err, http://multi.rubyforge.org/
06:10 YetAnotherEric and by "get it", I mean I don't know why I would want to write a function n times in most cases
06:18 reZo joined perl6
07:14 BooK_ joined perl6
07:30 Aankhen`` joined perl6
08:09 iblechbot joined perl6
08:26 integral_ joined perl6
08:26 ghenry joined perl6
08:29 integral_ is now known as integral
08:56 DaGo joined perl6
09:13 chris2 joined perl6
09:43 lumi joined perl6
09:43 svnbot6 r10057 | pmurias++ | Inline::Parrot:
09:43 svnbot6 r10057 | pmurias++ | PMC can now be passed into arbitrary perl globals
10:03 theorbtwo joined perl6
10:04 elmex joined perl6
10:04 KingDillyDilly joined perl6
10:07 xerox joined perl6
10:08 KingDillyDilly There seems to have been progressively more web discussion about Perl 6 over the years, but for some reason I keep finding webpages from 2002. For example, http://www.perl.com/pub/a/2002/01/30/pmcs.html . Luckily, I can't really understand it anyway.
10:09 KingDillyDilly Not enough cross references for terms like "data type."
10:09 pmurias joined perl6
10:09 svnbot6 r10058 | pmurias++ | Inline::Parrot:
10:09 svnbot6 r10058 | pmurias++ | + TODO
10:09 svnbot6 r10058 | pmurias++ | + Inline/Parrot/PMC.pm
10:09 svnbot6 r10058 | pmurias++ | + send_pmc
10:09 svnbot6 r10058 | pmurias++ | + get_int
10:10 KingDillyDilly Actually, I'd complain if I had to click a zillion links too.
10:11 ingy hola
10:14 pmurias i
10:14 pmurias hi
10:16 pmurias i'll be away for two weeks so Inline-Parrot so i invite all to change it at will during my absence
10:16 pmurias bb in two weeks&
10:20 lypie joined perl6
10:20 KingDillyDilly It may be a good idea to not title an article "Beginning..." unless it's written like one of those "...For Idiots" books. Then beginners won't get discouraged if they don't understand.
10:21 lypie audreyt: so now i finally have my nifty new laptop... and ghc doesn't run natively on it
10:23 ayrnieu When beginners are expected to be discouraged, name it "A Gentle Introduction To ..."
10:26 KingDillyDilly Yes. I just hope the writer realizes when someone might be discouraged. With titles like "Beginning..." for articles like http://www.perl.com/pub/a/2002/01/30/pmcs.html I'm not so sure....
10:27 KingDillyDilly But maybe it's one of those cases of me snooping around the internet where I shouldn't be. Maybe I need to start with beginner material and not progress unless it refers me somewhere.
10:28 KingDillyDilly Which I won't do because I like poking around to learn about things as I hear about them. I like reference books, not cover-to-cover reading.
10:30 KingDillyDilly Buch such books are bigger and more expensive than others, so I rely on the internet, which sucks.
10:31 KingDillyDilly s/Buch/But/
10:53 gaal FWIW, the Gentle Intro to Haskell is pretty good! (Except for its treatment of monads.) But I wouldn't recommended it as the sole tutorial text to someone.
10:58 macroron__ joined perl6
11:00 macroron__ joined perl6
11:09 axarob joined perl6
11:37 aufrank good morning
11:38 audreyt lypie: macbook?
11:39 audreyt lypie: ask Wolfgang Thaller, our reigning ICFP champion, for a copy :)
11:44 aufrank hi audreyt
11:44 audreyt hey
11:45 aufrank did you see xerox's offer of haskell.org being the mentor organization for pugs SoC projects?
11:46 audreyt just saw it this minute
11:46 audreyt I think I'm going to enter as mentor org
11:46 aufrank how timely of me :)
11:46 aufrank I told him as much
11:46 audreyt and if google rejects us
11:46 audreyt then fallback to haskell.org, why not ;)
11:47 aufrank google's really rushing the haskell folk-- they want a list of mentors and project ideas by tomorrow
11:47 audreyt it's the same for all of us.
11:47 aufrank I see
11:47 aufrank I guess they're running out of mentor slots?
11:49 audreyt it's a set deadline :)
11:49 meppl guten morgen
11:49 audreyt preset, that is
11:49 pjmm joined perl6
11:49 * audreyt prepares a huge commit
11:50 aufrank oooh, commit
11:56 audreyt yeah, I figure I have grokked sufficiently coherent design now
11:56 audreyt and can (finally! at last!) go back to code.
11:56 aufrank :)
11:57 aufrank audreyt: I talked to TimToady yesterday about the notion of working on PDL-ish features as an SoC project.  Ideas/reactions/knock knock jokes?
11:58 jsiracusa joined perl6
11:58 audreyt aufrank: very good idea.
11:58 audreyt I think it should be done at optimizer level
11:58 audreyt essentially it's a typechecker
11:59 audreyt that can respond to the shape of allocated containers
11:59 audreyt my int @foo;
11:59 audreyt and make @foo[0] not go through the normal Array dispatch
12:00 audreyt but through a specialized UnboxedIntArray
12:00 aufrank yeah
12:00 audreyt and you have to implement UnboxedIntArray as well
12:00 audreyt on at least one of our target platforms
12:00 aufrank and you'd want slices on multidims to do the same thing
12:00 audreyt if it's p5, then PDL.pm does that for you
12:00 audreyt haskell has UnboxedIntArray, so does Parrot
12:02 audreyt not sure about javascript
12:02 audreyt I guess not.
12:02 audreyt (but it can be emulated, but I doubt you want to do that.)
12:03 aufrank js would not be my target of choice
12:03 KingDillyDilly Just one Google result for unboxedintarray :-/
12:03 aufrank (not my *first* target, anyway)
12:04 lypie audreyt: yup. macbook pro :) wolfgang is on irc?
12:04 audreyt not sure
12:05 audreyt drop me a mail?
12:05 lypie audreyt: him/you?
12:05 svnbot6 r10059 | audreyt++ | * Third-party cleanup #1:
12:05 svnbot6 r10059 | audreyt++ |     - Remove most of Parsec from our source tree;
12:05 svnbot6 r10059 | audreyt++ |         the remaining Expr.hs and Token.hs will be reimplemented
12:05 svnbot6 r10059 | audreyt++ |         to support true dynamic Perl 6 operator precedence parsing
12:05 svnbot6 r10059 | audreyt++ |         with "is looser", "is parsed" and friends.
12:05 svnbot6 r10059 | audreyt++ |     - Remove Dimitry Golubovsky's UnicodeC.c from our tree.
12:05 svnbot6 r10059 | audreyt++ |       (This touches pretty most of the .hs file.)
12:05 svnbot6 r10059 | audreyt++ | * Update dependency to GHC 6.4.1, because UnicodeC.c and the
12:05 svnbot6 r10059 | audreyt++ |   Unicode-aware Parsec was not there in 6.4.0.
12:06 audreyt him, sorry
12:06 lypie hehe. k :)
12:06 audreyt KingDillyDilly: in Hs it's spelled... UArray Int Int, I believe)
12:06 audreyt part of Data.Array.Unboxed
12:07 * xerox waves to aufrank
12:07 xerox audreyt, anyway, but aufrank is welcome too :-)
12:07 audreyt yo :)
12:07 aufrank XP
12:07 xerox How's things?
12:07 audreyt wonderful. TextRegexLazy is godsend.
12:07 * xerox nod
12:07 audreyt perl6 regex is now isomorphic to parsec.
12:08 audreyt so, doing a normal translator now instead of semiforking parsec
12:08 xerox Sounds cool!
12:08 audreyt yeah :) watch out for TextRuleLazy soon...
12:08 xerox What would it be?
12:09 audreyt like TextRegexLazy but take the far saner Perl 6 rules syntax? :)
12:09 xerox Rules.
12:09 aufrank audreyt: really
12:09 aufrank TextRuleLazy?
12:09 audreyt aufrank: Text.Regex.Lazy is a Hs module
12:10 aufrank I know
12:10 azuroth ]\\l
12:10 * xerox wonder shat the far saner Perl 6 rule syntax is
12:10 audreyt that translate perl5esque regexes to parsec
12:10 aufrank I was getting excited at the notion of the rules equivalent
12:10 azuroth err, sorry. cat
12:10 audreyt xerox: have you seen gtpdl?
12:10 xerox Nope!
12:12 xerox I was trying to get GHC running on this Intel Core Duo lately.
12:13 gaal < audreyt> perl6 regex is now isomorphic to parsec.
12:13 gaal w00t
12:13 lypie audreyt / xerox: i just emailed the maintainer, if i get any info i'll pass it on
12:13 * xerox hugz lypie
12:13 lypie hehe
12:13 xerox lypie: mb or imac?
12:14 xerox ..or mini?
12:15 lypie mbp
12:15 xerox That's costy. (-;
12:15 iblechbot joined perl6
12:16 lypie xerox: yup :)
12:16 lypie but yummy :)
12:16 xerox iMac 20", I got sick of lil screens ^_^
12:17 lypie xerox: hehe. i love 12" :)
12:17 audreyt TimToady: I really want *() to be *($/). can we have that? :)
12:19 audreyt xerox: this is how Perl6 rule looks like...
12:19 xerox audreyt: sorry, what's gtpdl?
12:19 audreyt (pasting 9 lines)
12:19 audreyt rule Java::statement {
12:19 audreyt    | <block>
12:19 audreyt        { StBlock(*()) }
12:19 audreyt    | if (<expr>) $<t>:=<statement> [else $<f>:=<statement>]
12:19 audreyt        { StIf(*()) }
12:19 audreyt    | for \( <init> ; $<cont>:=<expr>? ; $<next>:=<expr> \) <statement>
12:19 audreyt        { StFor(*()) }
12:19 audreyt    | ...
12:19 audreyt }
12:19 aufrank general top down parsing language
12:19 audreyt er, the "If" case should have trailing ?
12:19 aufrank (sorry to interrupt)
12:20 xerox This looks (mfix very) nice.
12:20 audreyt    | if (<expr>) $<t>:=<statement> [else $<f>:=<statement>]?
12:20 audreyt xerox: :D
12:20 audreyt took a while for it to become like this
12:20 audreyt but now it's like this, a self-hosting parser is much easier.
12:20 audreyt the *() would mean, in each case
12:20 audreyt StBlock(block => $<block>)
12:21 audreyt StIf(expr => $<expr>, t => $<t>, f => $<f>)
12:21 audreyt etc
12:21 audreyt and the named "f" will not be passed if there is no else block
12:21 audreyt this is another of the goals for the Capture refactoring
12:22 audreyt because match objects are now natural argument lists.
12:22 audreyt to me it's just parsec with a default local-capture userstate
12:22 tifo joined perl6
12:22 audreyt and a very sugary syntax :)
12:23 xerox And how would TextRuleLazy get that syntax in Haskell?
12:23 audreyt right, translating it into a normal Parsec foo
12:23 audreyt function, I mean
12:23 audreyt you'll have to provide bindings for StFor StIf constructor etc
12:24 xerox Ah, seems cool.
12:24 audreyt but it can be automated as TH or preprocessor or just (gasp) CPP
12:24 xerox Gawk!
12:24 xerox TH has is charm at least.
12:24 xerox *its
12:25 audreyt yeah
12:25 audreyt so, SoC
12:25 xerox Indeed!  Did you see the [email@hidden.address] thread?
12:25 audreyt how's the mentor/topic listing coming together?
12:25 xerox Check it out, it has a partial list, I need people to commit their ideas to the wikipage.
12:26 * audreyt fires up gmane
12:31 audreyt mm
12:31 audreyt I guess I'll submit pugs individually, probably
12:31 audreyt but if google rejects pugs, then I would redirect the ideas directly related to the haskell community
12:32 audreyt like the TextRuleLazy thing above, or better sparse arrays (Judy), or STM arrays, etc, to the haskell.org organization
12:32 audreyt how does that sound?
12:32 azuroth left perl6
12:32 xerox Sounds great.
12:33 lypie audreyt: you've already applied for pugs/perl6?
12:33 xerox I want to get many ideas on in the aim to get many slots for projects.
12:33 audreyt lypie: about to
12:33 mauke joined perl6
12:33 audreyt xerox: is those two related?
12:34 xerox audreyt: nobody can say, but it's my idea
12:35 audreyt I see
12:35 xerox lypie: okay, GHC doesn't compile straight on :-)
12:39 KingDillyDilly Anyone know of a good webpage of critiques of Perl6?
12:39 merlyn yeah, all those pages on ruby. :)
12:39 KingDillyDilly I like reading stuff like that. Browser and distro wars, etc.
12:39 merlyn saying how sexy ruby on rails is, and perl is effectively dead
12:39 merlyn how little they know
12:39 chris2 joined perl6
12:40 KingDillyDilly I was in #python and they said I might like Ruby if I like Perl.
12:41 lypie KingDillyDilly: i wonder whats worse :)
12:41 KingDillyDilly I was interested in Python until I heard it's all OO. I don't mind OO in theory, but I got to really "get it." Not that I've tried much.
12:41 lypie people thinking perl6 has anything whatsoever to do with perl
12:42 lypie or people that think ruby is like perl
12:42 KingDillyDilly s/got to/don't/
12:42 merlyn python is *far* from "all oo"
12:42 lypie right
12:42 merlyn it's all oo only like Java is all oo
12:42 merlyn or C++
12:42 lypie and c++ :)
12:42 lypie hehe
12:42 xerox SmallTalk!
12:42 merlyn now, *smalltalk* is all oo
12:43 BooK joined perl6
12:43 merlyn and Self
12:43 lypie don't forget objc++!
12:43 * lypie hides
12:43 merlyn eh? :)
12:43 audreyt objc++ is all ++
12:43 audreyt ;)
12:43 lypie ;)
12:44 KingDillyDilly I figure since Javascript seems harder than Perl to me, I better stay away from OO. I hate all the preparation you need to make in Javascript for a regex.
12:46 mauke what, like str.replace(/pattern/, replacement)?
12:47 audreyt KingDillyDilly: if you like sugar, perl6 is for you.
12:47 audreyt what sets perl6 apart from other multiparadigm languages is sugar :)
12:48 audreyt also known as "ergonomics"
12:48 audreyt or "whipuptitude"
12:52 KingDillyDilly mauke: I thought I remembered an extra line. Doesn't seem so bad now, but I remember some complications, like only being able to use replace once on the string...or something.
12:55 KingDillyDilly I jad to use javascript to generate pages like http://www.polisource.com/diffnote/042306-qyWyloFs.shtml which have "^" characters that get replaced with images. Really simple, but it caused me problems.
12:56 KingDillyDilly I heard they don't like Perl much on Slashdot too.
13:08 Juerd audreyt: I thought it was whipITuptitude; Was I mistaken?
13:09 pjmm left perl6
13:10 Limbic_Region joined perl6
13:14 pjmm joined perl6
13:15 Odin-LAP joined perl6
13:15 Odin-LAP joined perl6
13:15 Juerd Feather update: because of annoying bugs in vim 7 beta, I downgraded vim.
13:15 Juerd Feather update: firefly is now definitely removed from the system :)
13:16 Juerd Feather update: I'm going to dist-upgrade right now :)
13:16 audreyt Juerd: google says whipuptitude is correct
13:16 Juerd 558 upgraded, 27 newly installed, 5 to remove and 1 not upgraded.
13:16 Juerd Need to get 308MB/330MB of archives.
13:16 Juerd After unpacking 19.7MB of additional disk space will be used.
13:16 audreyt Juerd: er, it was indefinite? :)
13:16 Juerd audreyt: Okay, thanks
13:17 Juerd audreyt: Well, first I forgot to remove it while I was convinced I had done so. Then, I moved it to my homedir, to stop the leechers who were then leeching it at more than 10 Mbit/s together. I then leeched it myself via scp, and then removed it.
13:18 Juerd Yesterday evening, I watched it. It's a great movie!
13:18 Juerd I was afraid that maybe it wouldn't be as good as the series
13:19 Juerd 558 upgraded, 27 newly installed, 5 to remove and 1 not upgraded.
13:19 Juerd Need to get 308MB/330MB of archives.
13:19 Juerd After unpacking 19.7MB of additional disk space will be used.
13:19 Juerd But at 6 MB/s, 308 MB is very doable :)
13:20 Juerd Oh, the "definitely" was a translation error. I meant finally.
13:20 audreyt oh ok :)
13:20 Juerd ("definitief" in Dutch)
13:20 audreyt was wondering if you have some VMSish filesystems where rm doesn't mean rm :)
13:20 Juerd (Which also means "permanent")
13:20 audreyt k
13:21 audreyt registered interest of SoC to google people
13:21 Juerd What is SoC?
13:22 audreyt summer of code
13:22 audreyt this year Pugs is entering as one of the mentoring orgs
13:22 audreyt and #perl6 is our mentor pool :)
13:22 Juerd Ooh, nice!
13:22 scw joined perl6
13:23 theorbtwo audreyt: I take it you aren't qualified to just take their money and run^Whack?
13:23 audreyt nah. that's for students
13:23 Juerd That's two Perl organizations :)
13:23 mauke You don't have permission to access /~juerd/README on this server. <- what's up with that?
13:23 audreyt I've been nonstudent for 10+ years.
13:23 * clkao grins
13:23 Juerd mauke: Well...
13:23 theorbtwo mauke: I think you have an extra slash there.
13:24 Juerd mauke: It's a symlink to a nonexistent file.
13:24 mauke heh
13:24 Juerd mauke: It should be rewritten, but feather has done well without a README file for more than 6 months...
13:24 scw1424 joined perl6
13:24 mauke theorbtwo: it's apache, not me
13:24 Juerd audreyt: nonstudent++ :)
13:25 Juerd theorbtwo: The extra slash indicates it's a web path, not a fs path.
13:25 Juerd theorbtwo: For my comprehension of the error message, very important.
13:25 audreyt Juerd: yeah. tpf's process is nice, but I guess a separate set of ideas makes more sense
13:25 Juerd Because now I have to look in ~juerd/public_html, not ~juerd
13:25 theorbtwo Aaah.
13:25 Juerd README is a simlink to ../README, though :)
13:26 Juerd s/sim/sym/
13:26 scw joined perl6
13:31 ingy hola
13:31 oren joined perl6
13:31 * ingy summons oren
13:31 ingy too late
13:32 oren 4 what?
13:32 ingy hey everybody, oren is the *real* inventor of yaml
13:32 * oren cringes. I think that's Clark
13:32 aufrank oooh
13:32 ingy well he wrote the damn spec anyway
13:32 ingy that counts for something
13:32 aufrank oren++
13:33 ingy hey any gobby users about?
13:33 ingy oren is having trouble installing gobby
13:33 ingy and we are using #perl6 as the support channel :p
13:33 aufrank I know audreyt and gaal are both users
13:33 shachaf joined perl6
13:33 * oren runs all the communication stuff on a work-provided (WinXP) laptop
13:33 * aufrank is not, though
13:36 ingy hmm, I got gobby 0.2.2 working on ubuntu
13:37 oren I can install 0.3.0 on Gentoo, but it would take a while because I'm in the middle of a big update there
13:39 * KingDillyDilly found the two line Javascript replace method I was talking about, but it's OT now...
13:40 mauke I'd like to see it
13:40 KingDillyDilly Ok:
13:40 KingDillyDilly           DT_Regex = /\d\d\d\d\d.(\d\d).(\d)(\d).(\d)(\d).(\d\d).(\d\d).(\d\d)/;
13:40 KingDillyDilly           mymatch = DT_Regex.exec(DT);
13:41 * oren gets an error looking for libsigc-2.0-0.dll when trying to run gobby - any ideas?
13:41 audreyt oren: hi!
13:41 oren hi audreyt
13:41 audreyt oren++ # YAML saved Perl 6
13:41 audreyt well, saved compiled Perl 6, anyway, and loads it back to memory :)
13:42 audreyt (which gives us a pretty good interop and performance gain)
13:42 audreyt so, thanks :)
13:42 KingDillyDilly mauke: I use it in a Tinymce plugin that I uploaded to http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1459311&amp;group_id=103281&amp;atid=738747 . Maybe it can be done in one line.
13:42 oren glad to be of service
13:43 mauke mymatch = /\d{5}.(\d{2}).(\d)(\d).(\d)(\d).(\d{2}).(\d{2}).(\d{2})/.exec(DT); // my guess
13:43 audreyt oren: tried http://releases.0x539.de/gobby/gobby-latest.exe ?
13:44 audreyt otoh, you can download gimp
13:44 audreyt or some other GTK using programs
13:44 oren Nope, am trying to download latest glade
13:44 audreyt and add to PATH
13:44 audreyt C:\Program Files\Common Files\GTK\2.0\bin
13:44 audreyt which may alredy be there
13:44 audreyt just not part of your env PATH
13:48 oren Nope, it's in my path all right...
13:48 KingDillyDilly mauke: I've tried reducing lines of Javascript like that (probably a bit different) in the past and it usually fails, so I just use the form in the examples I find. Guess yours works though.
13:48 oren I'll try latest - glade didn't work
13:50 oren Nope, same problem
13:50 audreyt is libsig in the 2.0\bin path?
13:50 audreyt also, did you set the env globally?
13:51 audreyt also, try adding the path to SYS
13:51 audreyt in addition to PATH
13:52 oren Unsurprisingly, the lib isn't in the GTK/2.0/bin directory
13:52 audreyt duh :)
13:52 oren The path was set by the GTK runtime installer
13:52 audreyt ok
13:52 audreyt try this
13:52 audreyt http://mrchapp2.homelinux.net/~inkscape/alacarte/
13:53 audreyt mirror all the dlls
13:53 audreyt and put them in PATH
13:54 audreyt (crude, I know, but hey. :))
13:55 audreyt ooh, gobby 0.4 supports emote
13:55 audreyt easily my #1 usability request
13:55 audreyt (#0 is scrollbar-follow-cursor-color)
13:56 * audreyt feels much less lively without /me support
13:57 aufrank audrey, my client displays your /me 's correctly
13:57 aufrank you can proceed with vigor
13:58 * audreyt proceeds with vim
13:58 aufrank oh, sorry, missed the context
13:58 oren audreyt: Thanks, its now complaining about the next one in the chain, I'm downloading them 1 by 1...
13:58 audreyt oren: wget -m -np
14:01 pjmm left perl6
14:08 oren audreyt: OK, got it. What I needed to do was to install gtk-*mm*. Now gobby works. Thanks!
14:09 audreyt np, hth, hand!
14:10 * oren goes back to work... cul
14:10 oren left perl6
14:12 justatheory joined perl6
14:13 aufrank audreyt: =@foo is a nice generalization I think
14:15 audreyt and =%kv will get you (k,v) pairs, persumably
14:16 KingDillyDilly left perl6
14:16 aufrank right
14:16 audreyt I wonder how is Pair different from a 2-Seq, really
14:16 aufrank and =@() will iterate over the topical match object
14:16 aufrank can you do a lookup by key on any arbitrary 2-seq?
14:17 audreyt ah right. pair emulates the hash interface.
14:17 aufrank I know that assoc lists are just 2-seqs in haskell, right?
14:17 audreyt thanks for the reminder :)
14:17 audreyt well yeah, but it's terribly inefficient
14:17 aufrank yeah, I noticed
14:17 audreyt pretty much all Hs peopleuse Data.Map now for immutable
14:17 audreyt or Data.HashTable for mutables
14:17 aufrank good to know
14:17 * aufrank is just getting his haskell feet wet
14:18 aufrank fun so far
14:18 audreyt ooh nice. adding unbox stuff may be just the right thing for you :)
14:18 aufrank I said this in #haskell too:  it will definitely be something of a bootstrapping process for me
14:19 aufrank but the spirit is willing :)
14:19 * aufrank will be around and contributing this summer, regardless of SoC stuff
14:19 audreyt eggcellent
14:21 aufrank is there a way to get a match object iterator into the first argument of a pointy for?
14:21 aufrank something like
14:21 aufrank for =@() { $string ~~ / 'foo'
14:21 aufrank sorry
14:22 audreyt for @() { ... }
14:22 audreyt for @() -> $moose { ... }
14:22 audreyt for _is_ the iterator :)
14:22 aufrank sorry, what I'm asking is how you know which match object @() refers to there
14:22 audreyt it always refers to the lexically enclosing $/
14:23 audreyt each scope receives an implicit "env $/"
14:23 aufrank ok, got it
14:23 audreyt the ~~ operator writs $+/
14:23 aufrank yeah
14:26 * audreyt goes back fhnishing up predictive Pugs.Parser
14:27 aufrank audreyt: are these still taking backtracking out of the parsec implementation, or is this the conversion to RegexLazy, or are those the same thing?
14:27 audreyt aufrank: this is still eliminating try
14:27 audreyt because it's a precondition
14:27 audreyt perl6 rules has a "try" form, postfix ?
14:27 audreyt <moose>?
14:27 aufrank yeah
14:28 audreyt but I don't expect most of the rules be peppered with them
14:28 audreyt to enable somewhat automatic conversion between rules and parsec, we first have to find all infinite-lookahead parts inp6
14:28 audreyt eliminate all of them
14:28 audreyt and _then_ convert
14:29 audreyt several was eliminated during the last week... if foo {...} in particular now requires no lookahead
14:29 aufrank yeah, I've been watching this part
14:31 gaal how automatic can that conversion really be? we have, side eff^W^Wmonadic stuff in there
14:31 TimToady degone
14:31 audreyt gaal: we don't have side effect; we have state
14:31 gaal indeed
14:31 audreyt there are 8 side effect points where "say" may leak
14:32 audreyt then can be all hoisted into the BEGIN block
14:32 audreyt and we slap an unsafePerformIO there.
14:32 audreyt but conceptually, the parser only has the optable state, the local Match state, and nothing else
14:33 audreyt I'm not sure how much of parsec->rule part can be automated-to-correctness
14:33 audreyt but a Parsec-to-rules prettyprinter can help already
14:33 audreyt and then we take them by hand
14:34 audreyt gaal: the java grammar example makes sense to you?
14:34 gaal yes
14:34 audreyt TimToady: yo. *()? :)
14:34 TimToady thinking
14:34 audreyt gaal: and I take you wouldn't mind helping to port Pugs.Parser to that style, incrementally? :)
14:35 TimToady they *will* accuse us of reintroducing typeglobs... :)
14:35 gaal audreyt: :) trying to reclaim tuits, but sure
14:36 audreyt gaal++
14:36 TimToady And a disambiguated Whatever would have to be written (*), but maybe that's a good thing anyway.
14:37 audreyt yeah, because other prefix stuff can all interfere as you noted
14:37 TimToady one or the other is a special parse form though.
14:37 audreyt $() etc already is
14:37 TimToady but arguably the defaulting is semantic, not syntactic
14:38 audreyt if it's semantic, that means
14:38 audreyt say $ ;
14:38 audreyt would work
14:38 TimToady I'm fine with syntactic.
14:38 audreyt because it'd be categ as optionary unary like -e
14:38 audreyt and I think $ as optionary unary is very confusing
14:38 TimToady then (*) comes out naturally.
14:38 audreyt ay
14:38 audreyt aye
14:39 TimToady okay, you can have *()
14:39 audreyt yay
14:39 audreyt my wording in S02/05 for $() was already 'form' and 'shorthand'
14:39 audreyt instead of 'defaulting'
14:39 audreyt so it seems good
14:39 TimToady I was rather happy to kill ... actually
14:39 pmichaud amen
14:40 audreyt yeah, postfix-term pun not fun
14:40 TimToady and to be able to generalize it with something that already exists in the language!
14:40 TimToady I was more worried about the class "infix with no right argument"
14:40 TimToady bad enough we do it with prefixes...
14:40 audreyt oh btw.
14:40 audreyt 1..2:by(3)
14:40 TimToady in fact we fixed it with one.
14:41 TimToady ?
14:41 audreyt 1..2 by=>1; # it wouldn't work this way, right?
14:41 TimToady wouldn't expect it to
14:41 audreyt I wonder if :by(3) always mean the named-arg-to-current-arglist form, not sometimes-pair-constructor, then
14:42 audreyt since currently 1..:by(3);
14:42 audreyt is infix:<..>(1, (by=>3))
14:42 audreyt but it reads rather strange
14:43 TimToady I'm not sure *() works in terms of scalar operators...
14:43 TimToady might be possible
14:43 TimToady have to think about it.
14:43 audreyt scalar operators?
14:44 TimToady ops that take scalars like ..
14:44 TimToady I read that as 1..*(:by(3))
14:44 gaal audreyt: about the planned conversion... looking at that Rule again, it already looks a lot like our Parser :)
14:44 gaal audreyt: so what changes do you think are needed?
14:44 TimToady since you just proposed implied *() around :foo(3)
14:44 audreyt gaal: it's a long conspiracy started from Mt.Arbel :)
14:45 audreyt TimToady: actually, I proposed that 1..:by(3) is an error
14:45 TimToady I'm fine with that for now
14:45 audreyt also
14:45 audreyt $x = :by(4);
14:45 audreyt $x = 6:by(4);
14:45 TimToady just you're detecing the error at dispatch time, seemingly.
14:46 audreyt more like, :by(3) where a term is expected, is only legal in explicit-arglists
14:46 audreyt not general expressions
14:47 audreyt and people who want to write 1..*:by(3) have to write that
14:47 TimToady your last is legal maybe if whatever handles = has a $by arg
14:47 audreyt yes
14:47 audreyt $x = :by(4); # I'm suggesting making this illegal
14:47 audreyt $x = by=>4; # this would be fine
14:48 TimToady I don't think this is gonna fly.
14:48 audreyt okay then :)
14:48 TimToady :16<ffff>
14:48 audreyt but that's :digit
14:48 audreyt totally not the same thing as :ident
14:49 audreyt and :16<ff> doesn't mean 16=>ff already
14:49 audreyt so it's another term altogether
14:49 TimToady oops, you slipped, and called it "another term".  :)
14:49 audreyt it's currently another term :)
14:49 audreyt gaal: so, changes.
14:50 audreyt gaal: first we have to stop using forked parsec, instead using vnailla
14:50 TimToady I'll have to think about it some more
14:50 audreyt I've already done that part
14:50 audreyt TimToady: sure... it's not as important as the $x[($y)] thing :)
14:50 audreyt since this is just shoot-foot-prevention
14:50 audreyt and $x[($y)] can cause parsefails
14:50 TimToady [,$y,] seems okay to me too
14:51 audreyt ooh prefix ,
14:51 TimToady or [, is a token...
14:51 pmichaud [    ,$y,]
14:51 audreyt or <null>, at beginning is ignored
14:51 audreyt but cxt is changed
14:52 audreyt prior art: migo's [|]
14:53 TimToady I was wondering if a zen slice is singular or plural
14:53 audreyt {; key => 'val'} is valid hash disambig already
14:53 audreyt (not totally the same thing, just visually similar)
14:54 TimToady other places zen slice just means "the whole array", so
14:54 TimToady arguably %foo[] =
14:54 audreyt TimToady: it makes sense to have it mean singular
14:54 TimToady gives singular
14:54 TimToady and %foo[*] is the plural form
14:54 audreyt the synpses has
14:54 audreyt my @x = (scalar @y, @z)
14:55 audreyt and I really dislike that "scalar" there :)
14:55 TimToady s:g/%/@/
14:55 audreyt my @x = (@y[], @z);
14:55 audreyt push *@x;
14:56 audreyt that would Just Work
14:56 TimToady hmm but changing my @x to singular would really freak people out
14:56 audreyt my @x is not singular...
14:56 audreyt it's still plural
14:56 TimToady and also @x[*] could be taken to mean a slice of all existing keys.
14:57 TimToady ohh, maybe @x[**] is all potential keys.
14:57 audreyt "a starry night with perl 6"
14:57 theorbtwo That seems both scary and useless.
14:57 TimToady just finite vs infinite
14:58 TimToady or potentially infinite
14:58 TimToady @x[*] = 1 .. * would reinit all existing entries
14:58 TimToady @x[**] = 1 .. * would run a little longer... :)
14:59 TimToady xx even
14:59 Juerd audreyt: my @x = (\@y, @z) no longer DWYM?
15:00 Juerd How about if scalar "," were the Capture constructor, and "\" would be synonymous to "scalar"?
15:01 Juerd Hm, nah, then \$foo would be just $foo, and you'd need \($foo,) which is ugly.
15:01 Juerd (OTOH, with aliasing semantics instead of all the perl 5ish copying, how popular will scalarrefs be?)
15:02 TimToady use of [] seems like kind of a roundabout way to write my @x = (@y: @z), if you consider you're really calling .push
15:03 TimToady but I guess that's no reason to prevent MMD thunk
15:03 audreyt but I don't know what normal infix : means
15:03 TimToady s/(/\(/
15:03 audreyt my $x = 1 : 2;
15:03 audreyt k
15:04 theorbtwo audreyt: Creates the mytical "large value of 1" for which 1+1==4?
15:04 TimToady I was kinda wondering earlier whether 1..2: by=>1 could work on the : as haskell $ principle.
15:05 audreyt visually confusing with :by(10 though
15:05 audreyt :by(1) I mean
15:05 TimToady but that probably forces even more objects to be parentesized if it's indirect object disambiguator
15:05 audreyt indeed
15:05 lypie left perl6
15:05 TimToady on the other hand, if you say the colon just keeps looking left for a reason to exist...
15:05 audreyt gaal: so, what we need on the parsing front is a preprocessor
15:06 audreyt gaal: let's call it .pg.hs makefile rule
15:06 audreyt that takes a foo.pg and generates a hasjkell module
15:06 audreyt similar to what we already do with .pl.hs
15:06 audreyt .pil.hs, rather
15:06 TimToady there's something to be said for forcing parens with *any* complex indirect object.
15:07 audreyt gaal: we could also construct the parsec dynamically at runtime
15:07 audreyt but then the optimzer can't help us as much
15:07 audreyt since there is no top-level functions to work with
15:08 audreyt I guess it's just a long way of saying "port pgc to parsec and port pugs.parser to .pg"
15:08 audreyt pmichaud++ # external files rock
15:08 TimToady but unfortunately it would make 1..2:foo ambiguous
15:08 ko1 is now known as ko1_away
15:08 TimToady and it would really only be good for named args anyway.
15:09 TimToady so probably a bad idea
15:09 audreyt singular $x[] is an excellent idea though. :)
15:09 TimToady it sort of naturally falls out of the [*] thing
15:09 theorbtwo Singular $x[] ?
15:10 TimToady a zen slice is 0 dimensional, not 1 dimensional
15:10 TimToady say "@foo[]"
15:10 TimToady so it means "the array" not "the elements of the array"
15:10 audreyt theorbtwo: it means that, if you want to treat @foo as a nonflattening thing
15:11 audreyt theorbtwo: then write @foo[] instead of "scalar @foo".
15:11 theorbtwo Ah.
15:11 TimToady which, in interpolate, immediately gets flattened, but oh well... :)
15:12 theorbtwo The entire array @foo is @foo[].  @foo is it's elements.
15:12 TimToady say "@foo[][][][][][][][][][][][][][1]"
15:12 audreyt under plural/slurpy/list/what-have-you context
15:12 audreyt TimToady: yeah, same reason why @@@@@@@foo is just @foo
15:12 TimToady except we don't
15:12 audreyt except you made @@foo special
15:12 TimToady right
15:12 audreyt so we don't
15:13 audreyt that's fine
15:13 TimToady it's okay.  don't know about fine
15:13 audreyt yeah. I don't know if it's that often used to warrante short huffman
15:14 TimToady if it discourages people from sandwitching @foo with derefs fore and aft simultaneously, then it's a ++
15:14 audreyt sub f (@foo is multidim) { } # is longer
15:14 audreyt nod
15:15 audreyt with @, @@ and $, Perl6 looks even more like ruby!
15:15 TimToady I did @@ just to confuse Ruby programmers
15:16 audreyt may I quote you on that?
15:16 TimToady if you add the :-)
15:16 audreyt sure :)
15:16 audreyt <ruby-people> @@
15:16 TimToady a period would also probably be in order.
15:16 audreyt <larry> :-)
15:17 audreyt since ruby comes from japanese, it's natural that ruby people would use vertical emoticons like @@ and ^_^.
15:17 xinming o_O
15:17 audreyt or, comes to think about it, orz.
15:18 xinming lol. orz is the most creative jargon... I've ever seen  IMO.. :-)
15:19 audreyt xinming: have you heard the song of orz by zonble, one of fellow taipei hackers?
15:19 TimToady they managaged to find a 3-letter word that google can find
15:20 theorbtwo *..* !
15:20 audreyt xinming: http://zonble.twbbs.org/archives/2004_11/622.php
15:20 theorbtwo 0..* makes an almost reasonable emoticon too.
15:20 xinming I think we can rename system()  to orz   :-)
15:20 xinming eg,   "ls".orz  :-)
15:20 audreyt heh
15:22 TimToady *..* kinda looks like ET
15:22 bsb joined perl6
15:22 Arathorn joined perl6
15:23 TimToady I dunno.  0..* kind looks like a squished orz.
15:23 TimToady I've been looking for a good name for system...
15:24 TimToady sort of looks like the orz is worshiping the "ls" though...
15:25 xinming TimToady: hmm, In fact, In ancient China, knee down has another meaning... which means... please.... forgive me... or, please ...  go....
15:26 TimToady forgive me for using the shell?
15:26 xinming so, "ls".orz would be like to mean.... please.... run....
15:26 TimToady please go away to the shell?
15:26 xinming I mean run "ls"
15:26 xinming I mean please... run "ls"
15:26 audreyt the english translation would be "kowtow".
15:26 xinming audreyt: thanks....
15:26 xinming kowtow... :-)
15:26 audreyt transliteration, really.
15:26 xinming yes
15:27 TimToady what does it mean when someone writes orz("ls") then.  I hesitate to ask with gaal in the room...
15:28 * audreyt giggles uncomfortably.
15:29 TimToady maybe that's not such a good plan...
15:29 bsb fwiw, in p5 I use "run" as a wrapper for system.
15:29 audreyt it's a popular word for that
15:29 bsb switching the return code
15:30 TimToady I think I used that in the last S29, with variants.
15:30 TimToady actually, it's just in a Note
15:31 obra I'd be sad to lose run as a name I could use in my own code
15:32 TimToady we could reserve orz for rebooting:  "linux".orz vs orz("Windows")
15:32 bsb multi run...?
15:32 TimToady list of strings is pretty general though...
15:32 bsb nah
15:32 bsb "nah" to me not TT
15:33 TimToady you could certainly use run for more specific types under MMD
15:33 TimToady and .run, of course
15:33 TimToady what do you use run() for?
15:35 audreyt run something ;)
15:35 audreyt it's like "main", except it doesn't do the parsing of input
15:35 TimToady run!
15:35 audreyt one of the generic-function-names-don't-use-it-please items in Code Complete
15:36 gaal rehi
15:36 gaal audreyt: pg == ? pgc == ?
15:36 TimToady uh oh
15:37 gaal $dog.walk
15:37 * Arathorn has an unrelated question: are there any idioms in perl6 for writing state machines? Is there some cunning way to (ab)use Rules to help you maintain scope for a bunch of states, with particular events/callbacks of some kind for transitioning between them?
15:37 audreyt gaal: check out parrot :)
15:37 gaal $dog.wag # alternatively
15:37 audreyt http://svn.perl.org/parrot/trunk/languages/perl6/lib/grammar_rules.pge
15:38 TimToady gee, I thought goto was for state machines...
15:38 audreyt soon-to-be-named .pg
15:38 TimToady to confuse pugs programmers
15:38 audreyt nah, to allow reuse
15:38 audreyt :)
15:39 audreyt Arathorn: I thought Rules without zero-width assertions and backreferences _are_ state machines
15:39 audreyt but maybe it's not what you are talking about :)
15:39 TimToady actually, in California one always gets negative connotations from PG&E (pacific gas and electric), so I don't mind it.
15:40 TimToady I'd say, rather, "may be implemented with state machines"
15:40 TimToady to me, state machines really do imply "goto".
15:41 * Arathorn wishes he'd stayed awake in his regular expression <=> FSM equivalence lectures :/
15:42 bsb that's a weird lecture..
15:42 Arathorn aren't Rules' states transitions based on interpretting their textual input, though?  I'm thinking of more generic ways of transitioning between states (e.g. abstract protocol aren't Rules' states transitions based on interpretting their textual input, though?  I'm thinking of more generic ways of transitioning between states (e.g. updating your FSM model based on something fairly abstract changing state - e.g. telephony signalling states)
15:43 audreyt . o O (Updating your Flying Spaghetti Monser model based on number of pirates)
15:43 audreyt Monster, even.
15:43 bsb the end of s05 has Rules matching objects
15:43 Arathorn right - but does smartmatching allow you to match on Pirates just as much as a plain ol' string?
15:43 Arathorn okay, that solves that one, then - 'pologies for my Rules ignorance :)
15:43 bsb the object only need to "do" the Pirate role
15:44 * Arathorn rereads S05
15:45 Arathorn TimToady: wouldn't you want a SM model to allow you to scope variables per-state somehow, though?  rather than gotos just jumping the flow of control around?
15:45 audreyt S06 talks about it in more detail, strangely.
15:45 bsb Arathorn,  the section ia a bit light on detail...
15:45 TimToady a matcher is just something that Captures Pirates
15:45 audreyt grep for 'Unpacking tree node parameters'
15:46 * Arathorn does so
15:46 audreyt Arathorn: another idea is ultis
15:46 audreyt multis
15:46 TimToady states don't have variables.  models do
15:46 Arathorn right
15:47 bsb let or temp variables might stack as you like
15:47 TimToady the whole point of a state machine is that your state is encoded in your location.
15:47 TimToady that's all I mean
15:47 * Arathorn understands
15:47 TimToady just trying to keep the map separate from the territory...
15:47 * audreyt looks forward porting Acme::ComeFrom to perl6
15:49 TimToady isn't that just &*prefix:<goto>.wrap?
15:50 TimToady maybe with an "is deep" thrown in there somewhere...
15:50 * Arathorn encounters a vague epiphany w.r.t. separating model data and FSM state, and all's well
15:50 audreyt er, no
15:50 audreyt it causes a goto become a label
15:50 audreyt and a label become a goto
15:51 audreyt and also, if there are multiple gotos to the same label
15:51 audreyt then the label becomes a fork
15:51 pmichaud TimToady: I have a question about ratchet and S05
15:52 pmichaud given token suffixword { \w+? er }
15:52 pmichaud we still backtrack on the \w+?
15:52 pmichaud to avoid backtracking, one would have to do   token suffixword { \w+?: er }
15:52 pmichaud ?
15:54 TimToady can't, have to disappear for .5 hour
15:54 pmichaud okay
15:55 TimToady that makes no sense.
15:55 TimToady \w+?: always matches 1 char
15:56 audreyt btw, the "if" stopping on " {" wouldn't quite work for
15:56 audreyt if -e -> $bool { ... }
15:56 audreyt I've made it stopping on all block-introducing forms.
15:56 TimToady k
15:56 audreyt but that's because terms go back to toplevel
15:56 TimToady bbiab &
15:57 pmichaud TimToady: okay, your answer makes sense -- lemme think about it a bit more
15:57 audreyt as it isn't as simple as a circumfix anymore
16:08 bsb left perl6
16:13 * aufrank kind of liked * -> Whatever, + -> Something
16:15 aufrank but I liked it as a conceptual mapping, not as a useful language feature ;)
16:19 lisppaste3 joined perl6
16:23 * gaal sees * -> Whatever and goes... uh, this is unkind
16:24 gaal (stupid haskell joke)
16:28 audreyt lol
16:28 audreyt rofl
16:29 Khisanth joined perl6
16:32 TimToady is there such a thing as a stupid haskell joke?
16:34 gaal Evolution of a Stupid Joke Maker
16:34 audreyt I don't know, but I know the language was named "Curry"
16:34 audreyt and it was renamed to the first name instead of last name of the logician
16:34 YetAnotherEric how is the new system() going to compare to IPC::Run's 3-way pipe ability?
16:34 audreyt because they don't want stupid jokes.
16:35 gaal there's another language now that has that name, isn't there?
16:35 audreyt yes, a merge between Haskell and Prolog.
16:35 TimToady what Stupid Joke?
16:35 audreyt it's very powerful and nice.
16:35 gaal YetAnotherEric: we already have a 3-way pipie builtin in pugs :)
16:35 SamB audreyt: haha, like that would work
16:35 audreyt SamB: it works. beautifully.
16:35 audreyt check out Curry if you havn't :)
16:35 TimToady all your spices are belong to us
16:36 audreyt it's basically a preprocessor into haskell
16:36 audreyt so you get to retain all your Cabal modules
16:36 SamB I meant the part about renaming Curry to Haskell to prevent stupid jokes
16:36 audreyt but there are also native implementaitons elsewhere.
16:36 audreyt oh ok, not the merge :)
16:36 audreyt well, Haskell is significantly harder to pun :)
16:37 SamB I mean, I think someone came up with some technique to stew functions...
16:37 TimToady on the campus of Seattle Pacific, there's an Alexander Hall, because they couldn't fathom the idea of having a Beers Hall.
16:37 gaal who was it, lichkind who made that hilarious "all your base are belong to us" observation on Perl 6?
16:37 gaal heh heh
16:37 TimToady it was sort of inevitable...
16:37 gaal There's a radio announcer in .il called Ilana Haskell
16:37 audreyt up to 36
16:37 audreyt so not all your base
16:37 audreyt just up to 36th
16:38 audreyt Pugs now parses (mostly) predictively.
16:38 audreyt whew.
16:38 TimToady :37<36 24 36>
16:38 gaal can you say :54( :16(20) )? :)
16:38 audreyt well, yeah, there's that
16:38 audreyt . o O (imaginary bases)
16:39 audreyt TimToady: I expect lots of tests to fail
16:39 svnbot6 r10060 | audreyt++ | * Switch Pugs.Parser to Commit-by-default "ratchet" parser.
16:39 audreyt will recover later
16:39 svnbot6 r10060 | audreyt++ | * Caveat: This is currently broken:
16:39 svnbot6 r10060 | audreyt++ |     if %h{'x'} {...}
16:39 TimToady cool
16:39 svnbot6 r10060 | audreyt++ |   because our whitespace rule is backwards.  I'll fix soon.
16:39 svnbot6 r10060 | audreyt++ |   For now, use this workaround:
16:39 svnbot6 r10060 | audreyt++ |     if %h.{'x'} {...}
16:39 svnbot6 r10060 | audreyt++ |   (the "correct" fix is for "lexeme" to not swallow post-term
16:39 svnbot6 r10060 | audreyt++ |   whitespace; rather, let operators swalloe pre-term whitespace
16:39 audreyt but Test.pm and Prelude.pm works
16:39 svnbot6 r10060 | audreyt++ |   if they choose to do so. takers welcome :))
16:39 gaal wheeha
16:39 audreyt and that's good enough :)
16:39 audreyt ergo, no journal today :)
16:39 * audreyt waves and sleeps &
16:40 gaal audreyt: before sleep if still here, "operators" = just the table around uh 1300 or so in Parser?
16:42 gaal oh, tightoperators are now in Operator.hs
16:42 gaal cool
16:42 gaal (was that integral?)
16:42 TimToady it was doubtless the extra time of typing "if still here" that was too much...
16:42 gaal TimToady: the bright side is that soon she'll commit a fix
16:42 TimToady I wonder if she types in her sleep with her toes.
16:43 * gaal fires up colinux
16:44 TimToady would give her fingers a rest, and she obviously doesn't need to look at the screen if she's asleep.
16:44 * theorbtwo suggests dropping the last name if you don't want to wake her.
16:45 gaal whee, open foundry is uncharacteristically fast!
16:46 axarob joined perl6
16:46 TimToady would the last name be é³³ or 唐?  I'm confused...
16:47 xinming 唐
16:47 xinming TimToady: Tang
16:47 TimToady that's the family name, but not necessarily the last name.
16:47 xinming TimToady: é³³ is her given name
16:47 aufrank one of my colleagues gave me a chinese name last year... now if I only knew mandarin...
16:47 TimToady er, it was a joke...
16:48 gaal any Korean speakers around? Does 뭇 mean anything?
16:48 TimToady It means "Larry has a swelled head"
16:48 xinming aufrank: It depends on where he comes... Taiwan or mainland, handwriting has some differences, but It's not a problem for comuunication.
16:49 gaal close, it means the head has antlers - at least that's what it sounds like
16:49 xinming gaal: It's like a computer... :-)
16:50 aufrank xinming: I know the name will generally be portable, I just actually wish I spoke a chinese dialect (I'd probably go with mandarin)
16:50 theorbtwo In "Audrey Tang", "Tang" is the last name.
16:50 theorbtwo In 唐鳳
16:50 theorbtwo I wasn't discussing the name 唐鳳.
16:51 xinming hmm, I think, using family as last name might be better for understanding. :-)
16:51 xinming theorbtwo: ??? they are the same. >_<
16:52 theorbtwo Ah, but if you type "audrey", there isn't a big yellow bit on her screen.  Or, for that matter, if you type 唐 or é³³ in any combination.
16:52 gaal yellow's a loud color but is it sufficient to wake her?
16:52 TimToady apparently, at times...
16:52 theorbtwo Or possibly prevent her from sleeping.
16:52 aufrank also, her IRC family name, 't', probably is safe
16:53 TimToady I think she drowses with one eye a little open, like a dragon.
16:53 gaal not to be confused with t/, which is currently mostly broken
16:54 TimToady I've come this >.< close to making my house sound a noise when a "yellow" happens.  Would drive my family nuts though.
16:54 xinming TimToady: maybe that's what you do while sleeping at the desk. :-P
16:54 gaal your house is an irc bot?
16:54 TimToady not yet...
16:55 TimToady I could pretty easily send all my X10 events though...lesseee
16:55 TimToady Sun Apr 23 09:34:58 2006 M7off
16:57 TimToady course, i'd have to teach perlbot what they all mean...
16:57 theorbtwo It'd be interesting to make your desk lamp flash when somebody mentions your name.
16:58 gaal not recommended for eplieptics
16:58 theorbtwo Of course, I'm not sure X10 is smart enough to know if it should transition off->on->off or on->off->on
16:58 TimToady gives new meaning to "take my name in vain"
16:58 * theorbtwo coughs.
16:59 theorbtwo is now known as theonetwo
16:59 theonetwo I am theonetwo your god, who ignores your patches!
16:59 theonetwo is now known as theorbtwo
16:59 TimToady had to introduce some theology, since I'm home sick from church...
16:59 xinming TimToady: hmm, may I ask why you'll choose bless for making a "class" in perl 5? I don't have any religion, but I really suprised about I have to bless a hash become a "class". :-/
17:00 TimToady It's not "bless" in any kind of theological sense.
17:00 TimToady It's bless as in "lay your hand on your kid and tell 'em they're cool"
17:00 gaal xinming: it stands for "be less of a hash and more of a classy thing"
17:00 TimToady also the corporate sense
17:01 xinming but for the first time I met bless, I thought... I have too bless every time I use a class. :-)
17:01 TimToady of "you brought me this potential project and I bestow my corporate blessing on it so now it's real"
17:01 svnbot6 r10061 | gaal++ | remove warning
17:01 TimToady doesn't hurt you
17:02 TimToady gaal: why don't you just "remove all warnings"?  :)
17:02 gaal TimToady: because pugs doesn't have -w yet :P
17:02 TimToady hyperoperators?
17:03 gaal hyperoperators?
17:03 TimToady &warn.wrap?
17:03 TimToady come from?
17:03 TimToady surely it's a powerful enough language there's got to be some tricky way to kill -w
17:03 clkao is there a summary of meaningful whitespace?
17:04 gaal TimToady: for every problem there is an Acme:: solution :)
17:04 gaal but that commit was a trivial build warning done away with
17:04 TimToady clkao: if there is, it's in S2
17:04 gaal on some redundant module import
17:04 TimToady I figured, I was just pestering you and wasting your time.
17:05 gaal yes, this whole Perl business was just a huge waste of time
17:05 TimToady because I think wasting your time is funny. :)
17:05 gaal I could have figured out years ago that computers were frustrating if it weren't for Perl
17:05 TimToady these aren't the frustrations your looking for...<waves>
17:05 TimToady *you're
17:06 gaal TimToady: you know "Gaal" means "wave" in Hebrew yes?
17:06 TimToady do now :)
17:06 gaal though not in that sense.
17:06 YetAnotherEric you mean this whole Perl thing was just a jedi mind trick?!
17:06 TimToady can I call you Nami when I'm thinking in Japanese?
17:06 gaal yes!
17:07 gaal what's the opposite of O?
17:07 TimToady in which dimension
17:07 TimToady ?
17:07 gaal (because I'm hardly very O-nami)
17:07 * gaal learned today that tsu meant harbor
17:07 TimToady linguistically, an opposite can only be different in one dimension
17:07 gaal TimToady: Small
17:07 gaal er
17:08 gaal "bigness"
17:08 gaal hardly a dimension
17:08 gaal "O" means big or grand, doesn't it?
17:08 gaal O-Sensei, for example
17:09 theorbtwo So Tsu-nami is a harbor wave, as in a wave that knocks out the harbor?
17:09 gaal theorbtwo: wp as usual explains...:
17:09 theorbtwo Ah, probably.
17:10 TimToady harbors do tend to amplify tsunami, and focus them at the innermost part
17:10 gaal apparently these waves are barely noticable out at sea
17:11 TimToady multiply that by the economic value of the harborside
17:11 TimToady I'd say that's a pretty good reason to call them harbor waves.
17:11 TimToady but the big ones don't really care about little harbors...
17:12 TimToady cause their wavelength is so big
17:12 TimToady you quite simply don't want to be in their way--see Sri Lanka...
17:13 gaal hmm. I can't reproduce the breakage audrey mentioned in the last commit.
17:14 gaal ?eval my %h = ("moose"=>42); if %h{"moose"} { say "I am not borked" }
17:14 evalbot_10056 is now known as evalbot_10061
17:14 evalbot_10061 Can't exec "./pugs": No such file or directory at examples/network/evalbot//evalhelper.p5 line 46.
17:14 gaal grrr.
17:14 gaal That is not the borkage you are looking for
17:15 gaal TimToady: what do you mean, they don't care? They still push hella water in. Or do you mean "don't care" in the sense of "smash them without so much as slowing down"?
17:16 TimToady the latter
17:16 gaal they're effectively like an immediate high tide
17:16 gaal ah. yes.
17:17 TimToady I mean, if you're out on a promontory instead of in a harbor, the little wave pays attention to coastal geometry at a smaller scale than the big wave does.  that's all.
17:17 TimToady I think.  but maybe i'm confusing amplitude with wavelength
17:17 TimToady depends on what caused the wave at what depth, I think.
17:18 gaal ah, yes. tsunamis have immense waevlengths.
17:18 TimToady smaller shift shallow is obviously going to be a smaller wavelength
17:18 TimToady but bigger events have to start in deep water or there's an impedance mismatch
17:18 gaal ?eval say "something"
17:18 evalbot_10061 Can't exec "./pugs": No such file or directory at examples/network/evalbot//evalhelper.p5 line 46.
17:19 gaal for there to be plenty of water to be displaced, yes, the focus needs to be in deep water
17:20 TimToady so I think there's a correlation between size and wavelength
17:20 TimToady wavelength matters... :)
17:21 gaal though I'm not sure how strong the correlation beteen damage and size is
17:21 gaal "energy" and "total displaced water mass" seem more important there
17:21 TimToady perhaps just the latter
17:22 TimToady a strike-slip fault can do mag 8 but not displace much water at all.
17:22 gaal seeing as even meter high waves of sufficient energy can go deep inland and crush stuff, topple buildings etc.
17:22 enantiodrome left perl6
17:23 gaal wow, talk about faultly talk.
17:23 gaal San Andreas, this is Syrian-African, do you shake me?
17:24 TimToady "hey sister, we don't call it the Dead see for nuthin'"
17:24 TimToady *sea
17:24 TimToady *Sea, even
17:24 FurnaceBoy joined perl6
17:25 gaal sadly the name's getting a new justification: it's drying up
17:25 TimToady i need more memory.  Can't IRC and compile Pugs at the same time...
17:25 TimToady water you talking about?
17:26 gaal TimToady: since the sixties or seventies, Israel has been damming up the Sea of Galillee to prevent drinking water from being lost
17:26 gaal the Dead Sea has been steadily losing Seaness
17:27 TimToady nothing a good deluge wouldn't cure...
17:27 gaal hey, this fault is actually called the "Great Rift Valley" in English. cool!
17:28 gaal a few years ago there was a nice winter that almost brought the Kinneret to the "top red line", but not quite. I don't think they opened the floodgates. Which sucks, because the lower Jordan is dry too
17:28 gaal Yet Another Ecological Disaster
17:29 TimToady I suppose the bright side is we might actually be able to dig up Sodom and Gemorrah...now there's a bunch of straight lines waiting to happen .oO(or not so straight)
17:29 gaal on another bright side, I heard that the Aral Sea is recovering.
17:29 TimToady really!  cool.
17:30 TimToady they just decided to starve a bunch of farmers instead (again)?
17:30 gaal a friend of mine saw this curious "ship graveyard" a few years ago. Now apparently they realized the fishing industry is in fact useful
17:30 gaal juggling starved farmers
17:32 TimToady compile got done.
17:32 TimToady passed all the sanities, but almost everything else is borken.
17:33 * gaal is looking for a breaking test
17:33 gaal is that one-liner I used above an error on your pugs?
17:34 gaal or: please give me an example for a failing test file
17:34 gaal ah, trusty undef.t
17:35 TimToady say "something" works fine.  :)
17:35 TimToady so does the other one.
17:35 TimToady looks like mostly parse errors, not surprisingly
17:35 gaal [] as a list element seems to break.
17:36 gaal dum dee dum, let's fix this.
17:37 mako132_ joined perl6
17:37 TimToady and mostly in arrays, so far
17:37 TimToady but then, the anthropic principle says I'd mostly see a's at this point...
17:38 TimToady since I'm only up to builtins...
17:38 TimToady but I'm happy to report the problems can definitely be reproduced via "make test"
17:42 gaal I'm not sure the fix is as simple as t suggested... *every* rule assumes it has no leading whitespace. to change 'lexeme' would mean not just operators would need fixing...
17:49 gaal (also, how do we override lexeme once we put Parsec in third-party?)
17:50 gaal one thing haskell doesn't have is runtime brain surgery a la &sub .= wrap
17:50 TimToady how...unstateful...
17:51 gaal I know there's an answer to that beginning with, "oh, but it doesn't need it because you define the higher order function..."
17:51 gaal temp &sub .= wrap ? :)
17:52 TimToady as long as it collapses again before Heisenburg notices...
17:53 TimToady but sure, .wrap is just a mutator, and temp is supposed to work with mutators
17:53 TimToady <gaals hands>
17:53 gaal hw !! larry
17:56 TimToady I'm afraid what I know about P6 rules doesn't help with parsec, since we magically make <foo><bar> match without whitespace and <foo> <bar> match with whitespace.
17:56 TimToady mediated by a mystical <ws> rule.
17:57 TimToady some kind of gnostic interpolation, no doubt...
17:57 gaal that sounds like something a Michelson Morley experiment refutes the existence of...
17:58 TimToady nah, he just refuted the naive view of ether
17:58 gaal yes it's actually a network of mostly twisted pairs of copper wires
17:58 TimToady *real* ether behaves like quantum foam.
17:59 TimToady all alike, or all different?
17:59 TimToady and is there a vending machine in the back?
18:00 TimToady that would explain a lot, actually...
18:00 * gaal deliberates between an early Billy Wilder, an early John Sayles, and a mystery Tom Dicillo
18:01 * TimToady sticks with bales of hay
18:01 * gaal misses yet another reference
18:01 gaal (and wonders if Captures are thus an optimistic renaming!)
18:02 TimToady hmm, examples/golf passed all its tests but is nevertheless dubious.  Weird, but makes a strange kind of sense.
18:02 gaal :)
18:02 TimToady maybe that's why they also call golfers hackers...
18:02 gaal !
18:04 gaal brb
18:04 TimToady junctions all pass.  go figure.
18:06 TimToady p6 basically rewrite rule { foo bar } to regex { foo <ws> bar } so that neither the rule nor the tokens have to worry about <ws>
18:06 TimToady maybe there's some rewrite solution in parsec?
18:07 TimToady well, rewrites to token { foo <ws> bar } actually, since it still ratchets...
18:07 gaal TimToady: looks like audrey was suggesting bar needs to control the preceding <ws>
18:07 gaal or the lack thereof
18:07 TimToady but that's not how we do it.
18:08 TimToady maybe parsec has to do it that way, but I'm sure s/rewrite/redefine in terms of/ can happen somewhere
18:09 gaal |   (the "correct" fix is for "lexeme" to not swallow post-term
18:09 gaal |   whitespace; rather, let operators swalloe pre-term whitespace
18:09 TimToady at one point we were going to make the rule-calling-token transition soak up <ws>
18:09 gaal |   if they choose to do so. takers welcome :))
18:09 gaal - r10060
18:09 TimToady but that doesn't help with literals defined inline in the rule that really are tokens
18:10 TimToady yes, I saw that, but I don't quite believe it, from a P6 rules perspective.
18:10 * gaal is too ignorant to decide on issues of faith
18:11 TimToady if you ignore the whitespace dwimmery, the p6 solution is to say that the calling rule has to decide where <ws> is legal.
18:11 TimToady neither the "foo" nor the "bar" can decide that unless "foo" makes itself into a supertoken
18:12 TimToady but a token can't know when somebody wants to combine it into a supertoken.
18:12 TimToady so the supertoken has to determine whitespace dependency, not the subtokens.
18:13 TimToady s/token/rule/ according to taste
18:13 gaal hmmm. well, we have
18:13 gaal lexeme p = do{ x <- p; whiteSpace; return x  }
18:13 gaal presumably changing that to
18:13 BooK joined perl6
18:13 gaal lexeme p = do{ x <- p; return x  }
18:13 gaal (which can be golfed, but never mind)
18:14 gaal and also putting
18:14 gaal whiteSpace
18:14 gaal basically in the start of each and every rule will be a noop
18:14 gaal then remove the whiteSpace from where it shouldn't be
18:14 TimToady it's just internal between foo and bar that you need it
18:14 gaal (just like carving an elephant out of a slab of marble)
18:15 mauke lexeme = id  -- golfed.
18:15 TimToady yeah, but with the right power tools it can go quickly.  I never thought I'd describe :w as a powertool...
18:17 TimToady doesn't *hurt* to put whiteSpace at the front of a rule--it just prevents juxtaposed supertokens, which tends to force your superterms to be bracketing constructs, which is usually a good thing...
18:17 gaal perl -pi -e 's/^[^\s]/$_\twhiteSpace\n/' :)
18:18 mauke whoa
18:18 TimToady seems a bit...er...overgeneralized...
18:18 mauke using $_ in the replacement part looks deliciously evil
18:19 gaal < TimToady> doesn't *hurt* to put whiteSpace at the front of a rule
18:19 gaal heh heh
18:20 TimToady also, throws away first character
18:20 gaal I'm underassertive
18:20 TimToady what are you doing in .il then?
18:21 gaal bambooing my way
18:22 TimToady section by section, or shooting?
18:22 gaal lol
18:22 TimToady or are you just in a house on stilts?
18:23 gaal okay, there are only 31 mentions of 'lexeme' in src/Pugs. maybe we can replace evil with smarts!
18:24 * gaal looks for a punctuation joke and doesn't find one
18:24 TimToady maybe I should be running a smoke instead, just for the hystorical value.
18:24 gaal hey, is this change supposed to make successful parses faster too, or only failing ones?
18:25 TimToady I don't suppose smokes are retired to svn when they go up in smoke?
18:25 TimToady depends on whether the successful parse was relying on backtracking.
18:26 TimToady we're likely to find a bunch of "successful" parses that shouldn't have been.
18:27 TimToady like 1<2
18:29 * gaal nods
18:29 gaal whee, my yapc talks were accepted
18:29 TimToady yapc:sa? :)
18:30 TimToady my talk was accepted too.  I wonder what it's about...
18:30 gaal n/a
18:31 TimToady my talk in not applicable?
18:31 gaal TimToady: have audrey give it somewhere before you
18:31 TimToady *is
18:31 TimToady she already has
18:31 gaal it's like asking someone from the future to send you the plans to the time machine you'll have invented
18:32 TimToady did I ever say that I don't know what Perl is going to be used for in 20 years?  If so, it was a lie. :)
18:34 TimToady because in 2026 a much younger Damian gave a talk on "What I will be doing for the last 20 years..."
18:34 gaal inventing time machines?
18:34 Daveman Hi gaal
18:35 TimToady how else do you think he gets things to run in 0 time?
18:35 TimToady he cheats, and runs them in the future.
18:35 xinming you've mentioned about time machines. did you all ever hear about John Titor? :-)
18:35 TimToady nope
18:36 TimToady now if you'd said any() I couldn't have short circuited that.
18:36 xinming http://www.johntitor.com/
18:36 xinming :-)
18:36 gaal vi Daveman
18:36 gaal s/v/h/
18:37 gaal oops, I didn't mean to edit you
18:37 xinming It's a bit like a film... :-)
18:37 TimToady Short Circuit?
18:37 sysfault joined perl6
18:38 xinming No, the man he said he is from future... and in 2001, why he came is just for getting a old computer... :-)
18:39 TimToady and now he's stuck here?
18:39 xinming TimToady: he, he's gone to the future...
18:40 xinming leaving only his prediction from his "world line" :-)
18:40 TimToady sucks to be us.
18:40 TimToady he should have open sourced his world line instead of keeping it proprietary
18:41 xinming TimToady: I checked that site(which founded by his follower), He didn't mentioned about Gnu and even Linux. that's why I don't believe him. :-P
18:42 sysfault TimToady: larry wall? :)
18:42 TimToady did you look for GNU/Linux?  maybe it was indexed under that, if rms got his way in the future.
18:43 TimToady I'm...acquainted with the gentleman...
18:43 xinming well, I just thought, It would interesting to read that... and If that is not true, the author(John Titor) is really creative.  and very clever..
18:43 Daveman gaal, hehe ;)
18:44 Daveman don't worry, other users don't have write permission ;)
18:44 xinming TimToady: No, there isn't any words mentioned Linux and gnu
18:44 TimToady what about Windows?
18:45 xinming not mentioned a lot on computer, but he said he knows what happened to Bill Gates. But he won't talk about that...
18:45 avar TimToady: That doesn't matter, since the John Titor story is not falsifiable
18:45 xinming what does falsifiable mean?
18:45 avar TimToady: anything he says can be refuted by "well that just happened to not happen in his timeline, but everything else is probably pretty much the same"
18:45 TimToady sure it is--just takes a while...
18:46 avar xinming: http://en.wikipedia.org/wiki/Falsifiable
18:46 avar xinming: Basically something that's not falsifiable can't be disproven, examples include the theory that all our movements are controlled by invisible pink elephants, most religion, john titor, most conspiracy theories (but the goverment is just covering it up), etc.
18:46 TimToady eventually all the Many Worlds that have split have to come back together again, and then we've got him.
18:47 avar "There's an invisible man in my fridge that disappears when anyone tries to detect him"
18:47 TimToady I don't understand this so it must be intelligently designed.  Hey, works for Perl. :)
18:49 avar xinming: Basically unfalsifiable = unscientific, at least some (most?) scientists are of that opinion.
18:49 aufrank joined perl6
18:51 TimToady modulo a few Gödelesque quibbles around the edges
18:51 TimToady which, of course, some see as in the middle, but that's topology for you.
18:51 xinming avar: Ok,thanks, I think I understand   falsifiable ~~ scientific   :-)
18:52 lumi joined perl6
18:52 TimToady how's the gaal force doing?
18:52 gaal attracting bogons as usual
18:52 xinming how to type approximate equal in ascii? :-/
18:53 TimToady "approximately equal" works pretty well :)
18:53 TimToady usually huffmanized to ~ though.
18:54 xinming thanks
18:54 TimToady Or you can type ≅ in the Unicode subset of ASCII
18:54 xinming what will the log for perl 6 book? still the camel?
18:55 TimToady probably.  we tend to be conservative about cultural identity issues like, oh, the name of the language...
18:55 xinming TimToady: why I ask is all because I have a request from you... :-)
18:56 TimToady "for you" would be more correct, but go ahead.
18:56 xinming I hope you send me the perl 6 camel books with your autograph. :-)  I'll pay the cost for the book and the transportation expenses  :-)
18:57 TimToady that could be arranged, though I'm pretty bad about actually dumping things in the mail.  But then, I'm even worse about writing Perl 6 camel books...
18:58 TimToady so, um, how *much* of the cost of the book are you willing to pay? :)
18:58 * obra laughs
18:58 TimToady It's gonna cost me about a year out of my life
18:58 obra xinming: you're a perlchina person right?
18:59 xinming obra: No...  I'm not the memerber.
18:59 obra ah. *nod*
18:59 * obra is vaguely curious about their conference this fall
19:00 TimToady my transportation expenses can be pretty steep, too.  :)
19:00 xinming TimToady: camel book is well sold. So, I don't think you should worry about the copyright "fee"
19:01 xinming obra: Do you mean the conference just passed last month?  or the next conference?
19:01 xinming obra: I don't know really, as I'm not in BeiJing, and it is too far to go from KunMing...
19:02 obra xinming: the next confernece, which I thought was to be much bigger
19:02 xinming obra: but In fact, If there is a chance, I would like have a conference in Kunming. Maybe I'll "hold"(which word to use please?) the conference. :-P
19:03 obra hold isn't wrong.
19:03 xinming obra: It's not mentioned in www.perlchina.org  So, I don't know...
19:03 TimToady an organization can "hold" a conference, but I think an individual can only organize or sponsor a conference
19:04 TimToady hold isn't terribly wrong though.
19:04 xinming TimToady: thanks... :-)
19:04 obra Yeah. I suppose tt is right.
19:04 obra Though I know lots of individuals who pretend to be organizations ;)
19:04 TimToady you can say "Let's hold a conference", and that's fine.
19:04 xinming and I have to say, the most conference are held in Beijing... :-/ and not many people will go there... :-/
19:05 TimToady I thing the underlying notion is that any meeting is "held" by all of the participants
19:05 TimToady so the holding is actually at the time of the conference, not the preparation for it.
19:05 YetAnotherEric an individual could hold a time-travelers conference
19:05 xinming ...
19:06 TimToady well, and I can hold a meeting as long as I do it with myself.
19:06 TimToady ...
19:07 TimToady not going there...
19:07 xinming hmm, Is that meeting only one person will participate... :-P
19:07 * xinming wonder if TimToady ever came to China.
19:08 TimToady not yet
19:08 TimToady furthest I've made it is Japan
19:09 gaal isn't Israel farther away from where you live than China?
19:09 TimToady dunno.  Japan is furthest west I've gone.  Moscow is furthest east.
19:09 gaal might depend one where in China...
19:10 gaal though not much on where in Israel
19:10 TimToady Uruguay furthest south.
19:10 TimToady and, er, Canada furthest north, unless you count Alaska.
19:11 TimToady or maybe Stockholm.
19:11 gaal There are moose in Canada. Don't know about Stockholm (though if there are, they're called elk. Or Hirvi)
19:13 oozy joined perl6
19:15 * xinming has to go for reading the book for the test tomorrow...  
19:15 xinming bye... :-)
19:15 TimToady good luck
19:16 gaal okay, sadly I'm realizing I'm not going to crack this lexeme change tonight
19:16 gaal good luck xinming
19:16 penk left perl6
19:18 penk joined perl6
19:18 TimToady that leaves me in a quandry.  Learn haskell (again), or keep changing the language out from under Pugs?
19:19 gaal heh heh heh
19:19 Daveman again?
19:19 TimToady Yeah, learning Haskell is easy--I've done it several times already.
19:22 penk joined perl6
19:22 sysfault TimToady: are you really Larry Wall?
19:22 TimToady Mind you, I appreciate Haskell about as much as a south sea islander can appreciate New York, but at least it's good for cargo culting a few items back into Perl and venerating them.
19:22 sysfault or am I the only naive person here.
19:22 TimToady I dunno, I'm pretty naive someitmes.
19:22 gaal sysfault: we could all be naive
19:24 * sysfault nods
19:24 TimToady there are approximately 137 Larry Walls in the U.S, and I'm at least two of them.
19:24 sysfault however, the question still hasn't been answered.
19:24 * theorbtwo doesn't think it goes Lazyness, Impatince, Näitive.
19:24 theorbtwo At least two of them?
19:24 sysfault I'm basically asking because of your host, and whois information.
19:25 TimToady I could just be freeloading on wall.org, you know.  The ESSID here is "free4u2use".
19:25 sysfault well I guess that answers it.
19:26 TimToady Or I could just be parked out on the street using my own computers...
19:26 sysfault ok
19:26 theorbtwo Or he could be playing with the newbie.
19:27 TimToady but given I haven't even figured out who I am yet, I can see why you might have troub.e
19:27 TimToady *trouble
19:27 TimToady but that would be...um...cruel, and stuff...
19:27 sysfault theorbtwo: I guess you can call me that, 'A wise man knows he knows nothing'.
19:29 TimToady Larry's wife will tell you that she never gets a straight answer to any question she asks him.  So it's nothing personal.
19:29 TimToady or impersonal, in this case.
19:29 theorbtwo Is what matters if he's the guy from the cover of the camel, or is what matters if he has good ideas?
19:29 theorbtwo TT: Have you ever played The hitchhikers guide to the galaxy?
19:29 sysfault I'd say the latter, I can get on the front cover of Time magazine sitting on a camel in the middle of baghdad.
19:30 TimToady no, but I've played Bureaucracy...
19:32 theorbtwo It's humour seems right up your alley.
19:33 TimToady when did I acquire an alley?
19:33 theorbtwo Hm, I just spely humour with two 'u's.  I'm going native.
19:33 theorbtwo When you said "or impersonal, in this case".
19:34 TimToady you just misspely spely too.
19:36 TimToady I just love to take people's utterances and twist them into pretzels.
19:36 TimToady including my own.
19:36 TimToady utterances, not pretzels.
19:37 TimToady I don't own any pretzels.
19:37 TimToady I keep them right next to my alley I don't own.
19:37 rindolf joined perl6
19:37 rindolf Hi all!
19:37 rindolf nothingmuch: here?
19:38 TimToady ain't seem him in a while.
19:38 rindolf TimToady: OK.
19:39 sysfault left perl6
19:39 rindolf TimToady: what's up?
19:40 TimToady just trying to change Perl 6 out from under Pugs as fast as possible. :)
19:41 TimToady Since it's ferociously difficult to implement Perl 6, I'm just trying to make it ferociously difficulter.
19:41 rindolf TimToady: heh.
19:42 TimToady odd how simplifying something can make it more difficult...
19:43 TimToady but mostly it's just the pugs' collective tongues hanging out panting, trying to chase a moving target.
19:43 rindolf TimToady: well changing a spec always involve more work to the implementor if the latter already has a working implementation.
19:43 TimToady fortunately, in this case the implementors realize they're doing it precisely to force change in the spec.
19:44 TimToady so they don't seem to mind so much.
19:45 TimToady if we also get a usable interpreter out of it, that's just all the better.
19:46 TimToady Pugs is optimized for fun.  What they don't tell you is that some people's idea of fun is tormenting language designers.  :)
19:47 TimToady And some language designers' idea of fun is tormenting people.  :)
19:47 * Steve_p mumbles something about Guido
19:48 TimToady Eh, What's that?!  Speak up, child!
19:49 TimToady Me, I mostly only enjoy tormenting lambdacamels...
19:49 TimToady Real people get a hurt look on their face when you torment 'em...
19:50 Steve_p and then the swearing begins.
19:50 * xinming thinks that lambdacamels have to tormenting computer...
19:50 theorbtwo TT: So long as you don't change the spec /just/ to tourture the lambdacamels, but actually think the new spec is better...
19:50 TimToady Oh, I can convince myself of anything, so that's no problem...
19:51 * xinming hides...
19:51 rindolf TimToady: are you using SpamAssassin?
19:51 TimToady yes.
19:52 rindolf TimToady: cool.
19:52 Pete_I joined perl6
19:52 rindolf TimToady: are you going to re-write it in Perl 6?
19:52 rindolf Pete_I: hi.
19:52 TimToady what, the alphabet?
19:52 Pete_I ello
19:53 Pete_I hi TimToady
19:53 rindolf There are now 28 letters in the Swedish alphabet.
19:53 TimToady howdy do
19:53 _SamB_ joined perl6
19:53 rindolf Pete_I: are you a Perl Monks lurker?
19:53 Pete_I rindolf, i've posted a few times.
19:54 rindolf Pete_I: I see.
19:54 Pete_I but mostly yes.
19:54 rindolf Pete_I: well maybe I should start hacking on the percentages on/off Test::Run plugin.
19:54 Pete_I the quality/quantity thing. most of the stuff i think up isn't good enough.
19:54 rindolf Pete_I: I see.
19:55 rindolf TimToady: do you read [email@hidden.address]
19:55 _SamB_ is now known as SamB
19:55 TimToady not that I know of.
19:56 TimToady checking...
19:56 TimToady yes, it's one of those mailing lists I subscribe to and never get around to reading...
19:56 rindolf TimToady: I see.
19:56 rindolf TimToady: it's not that high volume.
19:57 rindolf TimToady: probably much less so than perl6-lang...
19:58 TimToady I guess I subconsciously feel that, having written the original TEST script, all the rest is just refinements. :)
19:59 TimToady thanks, I don't often get the opportunity to psychoanalyze myself.
20:00 TimToady Well, I often get the opportunity, but don't often exercise it.  Kinda like reading a mailing list.
20:00 rindolf TimToady: :-)
20:00 TimToady subscribe larry-shrink
20:02 theorbtwo You're in a fun mood this eve.
20:02 nothingmuch rindolf: yes?
20:03 TimToady It's a fair cop but society is to blame.  I'm under the influence of influenza.
20:04 Toaster better that than the affluence of incohol
20:04 SamB TimToady: you have the flu?
20:04 TimToady Every time my brain temperature goes up a degree, I get ten times as much like Robin
20:04 TimToady Williams
20:05 TimToady fortunately a fairly mild one.  I hope its avian flue.
20:05 TimToady *flu
20:06 TimToady .oO(an avian flue.  now there's a picture...)
20:07 lumi An avian flew, news at 11
20:07 TimToady An avian flu like a fruit fly
20:08 TimToady you see, it's all just free association.
20:08 rindolf nothingmuch: hi.
20:08 rindolf nothingmuch: so I looked at Test::TAP::Model, and adapted it to Test::Run as Test::Run::TAP::Model.
20:08 TimToady or maybe just open source association...
20:08 rindolf nothingmuch: it has a different interface, though, because the Test::Run interface is different than Test::Harness's.
20:09 rindolf TimToady: heh.
20:10 rindolf nothingmuch: the question is: what should I do with it now?
20:10 TimToady thanks, I thought maybe the audience fell asleep. :)
20:11 SubStack joined perl6
20:11 TimToady I wonder if anyone ever got paid to be a sitdown comedian on an IRC channel...
20:14 TimToady Q: what's the only language that has ever succeeded in turning curved lines in to straight lines?
20:14 TimToady A: Lisp.
20:14 Pete_I hmm, if it's a joke, i don't get it.
20:14 TimToady LISP ::= List In Silly Parentheses
20:15 Pete_I the parentheses i got, what's the got todo with straight lines?
20:16 TimToady The shortest distance between two jokes is a straight line.
20:16 Pete_I haha
20:16 SamB actually, it probably isn't
20:16 TimToady probably not.
20:17 TimToady did you hear about the Marine that was rotten to corps?
20:17 SamB not before, no
20:17 Pete_I haha, nice pun.
20:18 TimToady actually, no usually sorts before not.
20:18 * SamB groans
20:18 Pete_I hmm, don't get that one.
20:19 SamB ?eval "not" < "no"
20:19 evalbot_10061 Can't exec "./pugs": No such file or directory at examples/network/evalbot//evalhelper.p5 line 46.
20:19 TimToady keep thinking about it and pretty soon it'll be groan on ya
20:19 TimToady Pugs is dead.  Long live Pugs.
20:19 Pete_I shouldn't that be 'lt'?
20:19 rindolf Pete_I: "not" before "no".
20:19 Pete_I instead of <
20:20 SamB Pete_I: I don't know your strange languages!
20:20 TimToady .oO(drat this font)
20:20 rindolf "God is dead." --Nietzsce. "Nietzsce is dead." --God.
20:20 Pete_I sounds like they've got a rivalry :)
20:21 rindolf I'm not sure if I spelled Nietzsce right.
20:21 TimToady I believe the usual comeback to that is
20:21 TimToady Nitzsce is God. --dead
20:21 TimToady s/i/ie/
20:21 rindolf Crazy German spelling.
20:21 TimToady maybe it's Hungarian
20:22 rindolf TimToady: wasn't Nietzsce German?
20:22 TimToady or Korean
20:22 TimToady of course, I was just talking about the spelling
20:22 TimToady ba dump bump
20:23 Pete_I wikipedia says he was born in prussia
20:23 rindolf Pete_I: Prussia is part of Germany.
20:23 Pete_I hmm
20:23 TimToady except for poland
20:23 Pete_I my geography is rusty.
20:24 TimToady which might also explain the z
20:24 rindolf nothingmuch: ping.
20:25 TimToady Failed 211/520 test scripts, 59.42% okay.
20:25 TimToady kewl!
20:25 Pete_I 51% is good enough for congress.
20:25 rindolf TimToady: what's so cool about that?
20:25 SubStack zing
20:25 SubStack that's almost a passing grade
20:25 rindolf SubStack: it is a passing grade in Israel.
20:25 Pete_I SubStack passing is 70% here.
20:26 TimToady actually, the rest of the line says
20:26 Pete_I rindolf, what's passing there?
20:26 rindolf 55% is a passing grade in the Technion.
20:26 TimToady 62/5647 subtests failed, 98.90% okay.
20:26 dduncan joined perl6
20:26 TimToady so ship it!
20:26 rindolf But I think it's 60% in Tel Aviv University.
20:26 Pete_I rindolf, cool...
20:26 SubStack php also came out of israel
20:26 rindolf But then the tests are easier in TAU.
20:26 buu fuckers
20:26 Pete_I i doubt that.
20:26 rindolf SubStack: not originally.
20:26 dduncan greetings to you all
20:27 dduncan not much else to say for the moment
20:27 SubStack well, it forked there anyhow
20:27 Pete_I it probly came from an american.
20:27 rindolf SubStack: yes.
20:27 Pete_I we're lazy people.
20:27 TimToady the original 'P' part did.  :)
20:27 rindolf Pete_I: I'm not sure Rasmus Lederdoff (sp?) is an American.
20:27 Pete_I hmm
20:27 TimToady I'm sure that Larry is.
20:28 Pete_I yes, we're sure you're sure. :)
20:28 TimToady And Larry wrote the original 'P' part.
20:28 TimToady I'm pretty sure about that too...
20:28 SubStack who wrote the L?
20:29 Pete_I "is a Danish-Canadian programmer " -wikipedia :/
20:29 rindolf Rasmus Lederwhatever is Danish-Canadian.
20:29 TimToady Eh?  I was talking about PHP.  This isn't #php?
20:29 Pete_I of course not.
20:29 Pete_I we're not bashing perl.
20:30 TimToady oh right.  stupid me.
20:30 rindolf He was born in Greenland.
20:30 * Pete_I slaps Pete_I around a bit with a large trout
20:30 * rindolf slaps the large trout a bit with Pete_I
20:31 rindolf TimToady: are you still working for O'Reilly?
20:33 TimToady eh? I haven't worked for O'Reilly since 2001.
20:33 rindolf TimToady: I see. I'm out of date.
20:34 TimToady well, there's a lot of latency in the world of info, to be sure.
20:35 TimToady for the next 5 years, my trick will be to be employed while everyone thinks I'm still unemployed.
20:35 pmichaud TimToady: should a "token" regex assume :p  ?
20:35 pmichaud i.e., if called directly -- not as a subrule
20:35 pmichaud (if called as a subrule, :p is implicit)
20:35 TimToady mmm
20:36 TimToady the notion of "token" would seem to indicate it.
20:36 pmichaud that's what I was thinking.  It sure fits some of PGE better if we do that
20:36 TimToady and then you can just say $x ~~ ident for some value of ident
20:37 TimToady to unanchor it you'd *have* to call it from elsehwere.
20:37 TimToady *wh
20:37 Pete_I joined perl6
20:37 TimToady since rule is derived from token, it kind of follows for that too.
20:38 pmichaud agreed
20:38 Pete_I keyboard-mashing error.
20:38 pmichaud and is parsed has an implicit :p as well :-)
20:38 TimToady note that "rule" is now a very specific thing in Perl 6.
20:38 TimToady not general regex
20:38 TimToady so you can unmash your keyboard.
20:39 TimToady I believe the documentation already says that.
20:39 TimToady yes. The pattern you supply to a Perl macro's
20:39 TimToady C<is parsed> trait has an implicit C<:p> modifier.
20:40 pmichaud yes, I was just referring to "is parsed" as support for the idea that token/rule should imply :p
20:40 TimToady question is whether it anchors on the other end as well when called directly.  I think it does.
20:40 pmichaud oooh
20:41 TimToady $x ~~ &valid_number
20:41 pmichaud but it doesn't/shouldn't when called as a subrule
20:42 TimToady right.
20:42 TimToady $x ~~ / <valid_number> == 42 /
20:43 TimToady in a sense, it *is* anchoring on the right, just to the place the superrule wants to resume, not to the end of the string
20:43 pmichaud I'm thinking something along the lines of   $x ~~ &token   implies anchor on both sides because $x isn't a match object
20:43 TimToady sort of a final cause rather than first cause
20:44 pmichaud (and token has implicit :p)
20:44 TimToady you think calling a subrule is the ~~ combinator? :)
20:44 pmichaud no
20:44 pmichaud please no :)
20:45 TimToady then I don't know how to interpret "isn't a match object"
20:45 TimToady you mean $x.token
20:45 TimToady ?
20:45 pmichaud in PGE, subrules are passed a match object to indicate where to start matching
20:46 TimToady as a kind of invocant?
20:46 pmichaud yes
20:46 TimToady okay, them more like $x.token than $x ~~ token.
20:46 TimToady *then
20:46 pmichaud that's the right term -- if the invocant is a match object, the subrule continues matching from the invocant.  Otherwise it starts a new match
20:47 rindolf Pete_I: after you said "* Pete_I slaps Pete_I around a bit with a large trout"
20:47 rindolf Pete_I: I said:
20:47 pmichaud (might not be entirely correct, but that's what works for now.  Can be fixed up later.)
20:47 buu Hrm. Do I get magical accessors in p6?
20:47 buu Like $x.foo = 42;
20:47 rindolf Pete_I: "* rindolf slaps the large trout a bit with Pete_I"
20:47 rindolf buu: I think so.
20:47 Pete_I haha.
20:47 pmichaud at any rate, I don't need to know the end-anchor semantics yet, just if token/rule implies :p at the front
20:47 buu rindolf: And I can override them with methods?
20:47 TimToady I'd say not that token and rule anchor, but that they don't .*?
20:47 rindolf buu: yes.
20:48 TimToady that came out sideway...
20:48 buu rindolf: Woo.
20:48 TimToady :p doesn't anchor, it suppresses :c behavior
20:48 pmichaud right
20:48 pmichaud if we just say that token and rule don't .*? that's good enough for me for now
20:49 TimToady don't do .*? on either end.
20:49 TimToady nor <ws>
20:50 pmichaud okay, don't do .*? on either end is good, too
20:50 pmichaud I can work with that.  Thanks
20:51 TimToady yw
20:51 pmichaud I'm currently updating PGE for all of the S05 changes (and adding a few other featurse)
20:51 TimToady I should doc it better tho
20:51 TimToady or you should :)
20:52 pmichaud I'm heavy in coding atm, but if you don't get to it before I do then I will :)
20:52 _bernhard joined perl6
20:52 TimToady I will assume the question will not occur to anyone else before you get to it. :)
20:52 pmichaud fair enough
20:52 pmichaud :-)
20:53 kakos joined perl6
20:53 * aufrank goes to post question to p6l, invalidating TT's assumption
20:53 TimToady though, in fact, gall and I had basically the same discussion earlier this morning
20:53 aufrank take that!
20:53 TimToady only in terms of haskell
20:54 TimToady that.take()
20:54 rindolf TimToady: you mean gaal?
20:54 TimToady er, him too. ;)
20:54 aufrank he means nami
20:54 TimToady it's a particle wave duality
20:55 aufrank I can't believe you have the gall to suggest that
20:56 TimToady are you challenging me to a dual?
20:56 TimToady which field?
20:57 Pete_I the golf field?
20:57 * pmichaud tunnels out of #perl6
20:57 Pete_I that'd be interesting to watch.
20:58 TimToady you guys should be glad I only type in the good puns as a matter of course
20:59 TimToady the rest of them I dictate to my secretary, who types them in for me.
20:59 FurnaceBoy yeep
20:59 reZo joined perl6
20:59 * FurnaceBoy submits that job description to "you think YOUR job sux"
21:00 TimToady which, her job, or my job?
21:02 FurnaceBoy hers :-)
21:02 TimToady but, but, I think MY job sux...
21:03 FurnaceBoy let's all pretend you're unemployed
21:03 Pete_I haha
21:03 TimToady xx *
21:04 aufrank the "you said it, brother" operator
21:04 TimToady nah, it's the "you can say that again!" operator
21:04 TimToady xx 0 "that goes without saying"
21:05 Odin- What would be the "submit everyone involved with this program into a mental hospital - involuntarily, if need be" operator? I think it's going to be needed.
21:05 aufrank now I want the other ones back:  xx ? (did he really just say that?) and xx + (that's really saying something!)
21:05 * FurnaceBoy chuckles
21:06 FurnaceBoy Odin, we established last night that all progress depends on heretics, madmen, rebels, sceptics, hermits, and dreamers
21:06 TimToady that would be the "mad but nnw" operator.
21:07 theorbtwo North-by-northwest?
21:07 nothingmuch rindolf: release it
21:07 nothingmuch if it has the same read interface, then it's OK
21:07 nothingmuch that means you can still shove it into Test::TAP::HTMLMatrix
21:07 Odin- FurnaceBoy: Yes, but those aren't the same as completely-out-of-their-mind cuckoos. :p
21:07 TimToady wanna bet?
21:07 * FurnaceBoy thinks Odin is splitting hairs ;-)
21:08 aufrank I'm up to my elbows in cuckoo minds right now
21:08 * nothingmuch fades out again
21:09 Odin- FurnaceBoy: Yes, although my surgical-precision knife really isn't up to it...
21:09 TimToady I guess it'd be "self but mad<nnw>" to follow the bard more closely.
21:10 TimToady http://www.anvari.org/fortune/Quotations_U9/142.html
21:11 TimToady where :wind<southerly>
21:12 rindolf nothingmuch: OK.
21:12 TimToady I guess "when" would also work.
21:13 rindolf nothingmuch:  I think at one point I return an array ref instead of an array. It's possible that it propogates to the API Somehow.
21:13 rindolf nothingmuch: I don't remember, I'll have to check.
21:14 rindolf Well, I'm going to sleep. I'm tired.
21:15 FurnaceBoy good time to do it
21:15 TimToady the scary thing about Shakespeare is that he was such a good writer that we have no clue which of those six categories he fell into...
21:15 FurnaceBoy heh! many writers/artists span more than one. I used the example of Hunter S. Thompson.
21:16 oozy joined perl6
21:17 TimToady It's possible that W. Shakespeare was merely a keen observer of the six categories in others.  Just can't tell.
21:19 lumi Relevantly: http://lumimies.livejournal.com/1376.html
21:19 TimToady Maybe he was just supremely competent at stealing from other people's computer languages...er...I mean, experiences.
21:20 wolverian I have no idea what that Shakespeare quote means. :)
21:21 wolverian (the NNW one)
21:21 TimToady "means"?  what is this "means" thing again?
21:22 wolverian isn't that how you judge its value? :)
21:23 TimToady "value"?
21:25 theorbtwo Is that an lvalue or an rvalue?
21:25 theorbtwo Is it mutable?
21:26 TimToady It's usually more expedient to judge things by their key.
21:27 mugwump joined perl6
21:32 reZo joined perl6
21:35 dduncan maybe it was already known, but I got a build error with pugs today at prelude time
21:35 dduncan Generating precompiled Prelude, Test... ***
21:35 dduncan    unexpected ";"
21:35 dduncan    expecting "\n" or end of input
21:35 dduncan    at Prelude.pm line 1227, column 2
21:35 dduncan Use of uninitialized value in length at util/gen_prelude.pl line 158.
21:35 dduncan system: [/Volumes/Programming160/perl58 util/gen_prelude.pl -v -i src/perl6/Prelude.pm -i ext/Test/lib/Test.pm -p ./pugs --output blib6/lib/Prelude.pm.yml]:  at util/build_pugs.pl line 280.
21:35 dduncan make: *** [pugs] Error 1
21:36 dduncan its the newest re
21:36 dduncan v
21:39 TimToady yes, the current rev was known to be broken when checked in.
21:39 TimToady we're in the middle of changing over to predictive parsing from backtracking.
21:39 TimToady and the whitespace is currently muddled.
21:40 TimToady though, I managed to compile it fine, for some reason.
21:40 TimToady make test ends up with
21:40 TimToady Failed 211/520 test scripts, 59.42% okay. 62/5647 subtests failed, 98.90% okay.
21:55 TimToady .zZ(...) &
22:10 Limbic_Region joined perl6
22:10 penk joined perl6
22:13 dduncan I hear that
22:16 frederico joined perl6
22:36 Odin-LAP joined perl6
23:07 ayrnieu joined perl6
23:15 Quell joined perl6
23:17 justatheory joined perl6
23:39 lisppaste3 joined perl6
23:54 mako132_ joined perl6

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

Perl 6 | Reference Documentation | Rakudo