Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-10-14

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 leo__ I didn't look right now - I'm currently working on that, 1 need one more week
00:00 geoffb leo__, ah, OK
00:01 leo__ anyway at that time Parrot did spend 1/2 of all the exec time in cache misses (on my arch)
00:01 leo__ # in that ver benchmark ...
00:01 leo__ fib
00:01 geoffb FWIW, I'm a performance numbers *nut*.  When you produce them, link them here.  :-)
00:01 leo__ damn lies and benchmarks ...
00:02 leo__ I'll do a compare again after variable sized register frames are done
00:02 geoffb They're only lies about what the poster wants you to believe.  But if you look at them for what they *are*, there's always interesting data there.
00:03 geoffb leo__, nodnod
00:04 leo__ the fib benchmark per se isn't important at all, it tells you how fast dumb recursive functions work
00:04 leo__ but it says also how fast function calling speed is, somehow
00:05 geoffb nod.  And as you pointed out, the real value of the benchmark wasn't that Lua is crazy fast at it, but rather that parrot of that era was a cache nightmare.
00:05 geoffb You found the real data.  :-)
00:06 leo__ I think that's the point yes
00:07 leo__ you can find a lot of benchmarks here (you know it presumably): http://shootout.alioth.debian.org/
00:07 autrijus geoffb: re slide, thanks!
00:07 * autrijus just spent much time wrestling with mysql :-/
00:07 * autrijus praises sqlite by comparison
00:10 nothingmuch has joined #perl6
00:11 nothingmuch evening
00:11 autrijus yo.
00:17 geoffb autrijus, sqlite++ -- It's how I'm getting from XML to Oracle at $work.
00:17 geoffb leo__, yes, knew of shootout, but hadn't thought of it in this context.  Will think.
00:19 thomason has quit IRC ("Leaving")
00:24 leo__ one more tool comes to my mind: 'common sense' - that is needing ~750 bytes for one fib() recursion call can't be really efficient, when a stacked based language would need ~ 24 (estimated)
00:25 geoffb leo__, nodnod
00:26 geoffb But common sense is often wrong -- part of learning to do optimization is learning why something is true, rather than guessing.
00:32 elmex has quit IRC (Read error: 113 (No route to host))
00:35 leo__ that's true of course, above is maybe an 'educated guess'
00:37 geoffb nodnod
00:38 leo__ anyway the most important question probably is: is it fast enough, which is easily answered for an application, but not for a program (interpreter, VM), where all possible applications might run on
00:39 geoffb Someone once said (or probably, many people have said over and over) that structural code needs to be as fast as possible, because you have to multiply its slowness by its usage to determine the net detriment to humanity.  And structural code gets run a LOT.
00:40 chip "I don't mind giving up a factor of two in performance.  The problem is, neither do nine of my friends." - Stu Feldman, inventor of make(1)
00:41 geoffb :-)
00:45 thomason has joined #perl6
00:45 chip autrijus: I think BEGIN{} makes it impossible to depend on a sub being fully constructed before an inner sub runs
00:45 chip autrijus:   Foo.pm:  my $a; BEGIN { $a = 1 }  my $b;
00:48 autrijus chip: eh.
00:49 autrijus BEGIN runs in the compiler
00:49 autrijus it's not in the outputted pir code
00:49 autrijus you can't reenter BEGIN from runtime code
00:49 autrijus so what's the problem?
00:49 chip None for Pugs, apparently.
00:49 autrijus by the time parrot see it's already
00:49 autrijus my $a ::= 1;  # pre-initted to 1
00:50 autrijus the "$a = 1" is not run
00:50 autrijus this is true even for
00:50 chip But that's because Pugs seems to be treating Parrot code like a huge JIT ... running the code via PIR is optional
00:50 autrijus my $a; BEGIN { $a = readline() }
00:50 autrijus explain please? this is already true in perl5 -- if you run that line thru perlcc
00:50 autrijus then at runtime that pad is just gone
00:50 autrijus I mean that BEGIN block
00:51 chip I don't know perlcc
00:51 autrijus chip: no, eventually pugs will be rewritten in perl6, which would run on parrot, but even then, we have this Separate Compilation Doctrine
00:51 autrijus so even though the compiler and runtime are the same process
00:51 autrijus conceptually they are not.
00:52 autrijus so the thing runs in BEGIN and the things runs in normal runtime
00:52 chip So ... as far as lexicals are concerned, BEGIN need not exist?  (And INIT has no problems)
00:52 autrijus right
00:52 autrijus exactly
00:53 autrijus because the thing in each BEGIN
00:53 autrijus and the thing outside BEGIN
00:53 autrijus are run by different computers
00:53 autrijus conceptually.
00:53 chip Well.  I'm happy to punt, even if I feel somewhat like Indiana Jones in the Last Crusade stepping on the invisible bridge
00:53 autrijus :D
00:53 * coral pushes a boulder towards chip
00:53 autrijus (but really, this is the same with perlcc)
00:53 chip me kneels before "Bob"
00:54 * leo__ ponders if perl6 should really support valid but else meaningless code just to bother compiler implementers
00:54 nothingmuch leo__: example?
00:54 leo__ nothingmuch: the BEGIN above
00:54 chip sub randroid { my $a = $a }
00:54 chip leo__: I was actually thinking of C<use>
00:55 nothingmuch it's not that hard, the compiler must have a VM that produces a value
00:55 leo__ there is a real cool thing: 'rules'
00:55 nothingmuch and the valuue is then compiled into the result
00:55 autrijus ooh, nothingmuch is here, he'll speak for separate compilation
00:55 autrijus and I'll sleep :)
00:55 nothingmuch which may be run by the same VM or another VM
00:55 nothingmuch no, i'll also sleep
00:55 leo__ inside a BEGIN block diffrent rules are to adhere
00:56 chip So 'import' isn't allowed to have runtime effects?
00:56 leo__ sleep? didn't chip mention somethin' like that recently?
00:56 chip heh
00:56 chip nanosleep
00:56 dduncan has quit IRC ()
00:56 nothingmuch chip: in perl5 we had completely adhoc linking, right? *{$symbol} = \&code;
00:56 chip right
00:57 nothingmuch that much at least is taken care of by separate compilation
00:57 dduncan has joined #perl6
00:57 nothingmuch the role of import as a runtime-in-compiletime sub that performs linkage is phased out
00:57 nothingmuch in favour of a real linker with a declarative interface
00:57 chip A real linker?  You speak madness
00:58 chip Great learning has driven you into madness
00:58 nothingmuch now, as for the role of import as a hack to do nice tricks - that should be run in INIT usually
00:58 nothingmuch by real linker i don't mean one which takes .o's and makes an ELF file
00:58 autrijus chip: yeah, if your module want to do weird things at runtime, that is INIT. maybe we can spec some other thing that means import-but-happens-at-runtime.
00:58 nothingmuch i mean a real linker in the abstract sense, that takes an object with missing symbols and exported symbols
00:58 nothingmuch and other objects like it
00:58 nothingmuch and glues them together
00:59 nothingmuch compile time happens once in perl 6
00:59 chip Yes, that much I get
00:59 nothingmuch each module is compiled separately
00:59 nothingmuch compilation of a consuming module might depend on the providing module's export
00:59 nothingmuch s
00:59 rantanplan_ has quit IRC (Remote closed the connection)
01:00 nothingmuch and then setup jobs that happenned in 'import' in perl 5 should be carried over to the real runtime in perl 6
01:00 chip The origin of conscious programming in the breakdown of the bicameral compiler
01:00 * nothingmuch goes to find a dictionary
01:01 chip best check amazon instaed.
01:01 nothingmuch bicameral - does that mean "each unit is separate" in this context?
01:01 joepurl has joined #perl6
01:01 chip http://www.amazon.com/exec/o​bidos/tg/detail/-/0618057072
01:01 nothingmuch oh
01:01 chip It means that compile time and run time no longer share a context, but are separate systems
01:02 nothingmuch they are separate, but unlike in C they are also mutually recursive
01:02 chip Well, see, that's where I'm getting pretty disturbed
01:02 chip But perhaps due to ignorance
01:02 nothingmuch i personally don't find it troubling
01:03 nothingmuch or at least far less troubling than perl 5
01:03 cm has quit IRC ()
01:03 chip Once I figured out Larry's idea - 'the full power of the environment must be available during compilation as well as after it' - it made perfect sense
01:03 chip Without that, I just can't see BEGIN{}.
01:04 chip I think you need instead declarative assertions of the things BEGIN{} used to do.
01:04 chip Like :export
01:04 nothingmuch chip: is that book consumable by normal people? it seems very interesting
01:04 chip nothingmuch: I haven't read it, only seen many references to it
01:04 nothingmuch we have that for export
01:04 chip nothingmuch: which is why I used it as an example :-)
01:05 * nothingmuch shoves it into the wishlist anyway
01:07 autrijus chip: think undump()
01:07 autrijus which is what happens at BEGIN boundary
01:08 Southen_ has joined #perl6
01:09 nothingmuch good night
01:11 leo__ chip: ad BEGIN - did you ever see: $ less t/pmc/sub_4[34].pir
01:13 chip autrijus: the situation before BEGIN and the desired situation after BEGIN are clear to me.  How BEGIN runs, is not.  BEGIN has an %OUTER which is a subroutine that has not yet been fully compiled.  That's Just Not Right.
01:15 autrijus it is fully compiled
01:15 autrijus it's just maybe missing some symbols.
01:15 autrijus i.e. it needs to take whatever the parser sees up to that point
01:15 autrijus pretend we close over all unclosed scopes
01:15 autrijus and compile right there
01:15 chip I don't think the word "fully" means what you think it means.
01:15 autrijus right.
01:15 autrijus what I mean is, we end up compiling a part of the original sub
01:16 autrijus but we pretend it's a full sub in its own right.
01:16 chip so BEGIN doesn't run in the outer, but in outer' which is the part of outer before the BEGIN
01:17 autrijus yes.
01:17 chip so the effect of the BEGIN is made persistent ... how, exactly?  outer' isn't what the user asked for and shouldn't run.
01:17 autrijus BEGIN yields a value
01:17 autrijus that value is serialized
01:17 autrijus and put back as if the user wrote a constant there
01:17 chip and side effects?
01:17 leo__ please folks have a loo at these 2 tests
01:17 brentdax has joined #perl6
01:17 autrijus happens during compile time
01:17 autrijus not runtime
01:18 chip leo__: those files don't exist
01:18 leo__ $ make test # or faster : perl -Ilib t/pmc/sub.t
01:19 autrijus @IMMEDIATE?
01:19 leo__ compile time
01:19 autrijus PIR compile time
01:19 autrijus most definitely not Perl6 parsing time :)
01:19 leo__ :immediate in newer parrots
01:19 leo__ pir time of course
01:20 autrijus { BEGIN { ...add a new operator... } ...use the new operator... }
01:20 leo__ but that's what I can imagin parrot receives
01:20 autrijus is the usual perl6 case
01:20 autrijus which would affect parsing
01:20 autrijus so I can't have it all shoved to PIR
01:21 leo__ sorting out perl6 BEGIN from parrot's is up to you ;-)
01:21 autrijus I know, I don't envy my task ;)
01:22 autrijus (and it's separated now anyway)
01:22 chip leo__: I noticed ":immediate" (and I think the syntax for calling the immediate sub ... should be revisited) ... but handy immediate subs aren't really going to address what autrijus is doing, AFAIK
01:25 leo__ could be of course - and now I'm really taking the 'and why in the planet of hell ...' direction (good night)
01:25 mrborisguy has joined #perl6
01:26 Southen has quit IRC (Connection timed out)
01:26 * nothingmuch wonders whether chromatic is saying he doesn't like it, or that perl 6 shouldn't have support for closed source module loading at all
01:27 adamc00 has joined #perl6
01:28 autrijus nothingmuch: he is saying no, in p6, I think
01:29 nothingmuch hmm
01:29 nothingmuch i'm not sure we can stop it
01:29 autrijus nothingmuch: but .pbc is of course another matter.
01:29 misc has quit IRC (Remote closed the connection)
01:29 misc has joined #perl6
01:29 nothingmuch and I'm not sure we should
01:29 autrijus I don't care... see PAR::Filter::Obfuscate ;)
01:29 nothingmuch closed source makes the world sad
01:30 stevan_ has joined #perl6
01:30 nothingmuch hola stevan_
01:33 autrijus sleeps &
01:34 mugwump I thought he meant that no classes should be exempt from being mucked with at runtime.
01:35 mugwump But I like the idea of being able to compile programs to executables
01:35 mugwump without them all being linked to libpugs.so
01:35 mugwump and I think closed classes are a good way for this to be enforced
01:35 svnbot6 r7604 | autrijus++ | * larry_mariner.txt: one-word patch from allison
01:36 evalbot_7603 has quit IRC (Remote closed the connection)
01:36 evalbot_7604 has joined #perl6
01:37 chip nothingmuch: What you leave unsaid is that open source *also* makes the world sad.
01:38 chip All software sucks.  (cf. Linux sound and video)
01:38 obra linux sound is a lot better now. But I still agree
01:39 stevan has quit IRC (Read error: 110 (Connection timed out))
01:43 arjanb has quit IRC ("zzz")
01:44 chip "911 operator tells caller fire is actually fog. Historic fort catches fog, burns to ground" - fark
01:53 thestarslookdown has joined #perl6
02:29 thestarslookdown has quit IRC (" HydraIRC -> http://www.hydrairc.com <- Go on, try it!")
03:07 adamc00 has left "Leaving"
03:20 nothingmuch has quit IRC (Read error: 113 (No route to host))
03:44 justatheory has quit IRC ()
04:00 sleepster is now known as typester
04:05 joepurl has quit IRC ("Lost terminal")
04:05 joepurl has joined #perl6
04:23 geoffb Meh.  This blog is getting *long*.  Like article long.  That probably means it will be split into pieces
04:23 geoffb The problem is exactly how to arrange that split.
04:42 jabbot has quit IRC (Remote closed the connection)
04:42 jabbot has joined #perl6
04:44 saorge_ has quit IRC (Read error: 110 (Connection timed out))
04:45 saorge_ has joined #perl6
04:49 khisanth_ has joined #perl6
04:50 f0rth has quit IRC (Remote closed the connection)
04:52 khisanth_ has quit IRC (Client Quit)
04:53 * brentdax watches Synaptic download new Ubuntu packages.
04:53 brentdax (Just an hour or two more...)
05:00 svnbot6 r7605 | duff++ | * Rearranged examples/qotw directory structure and added a few new entries
05:00 svnbot6 r7605 | duff++ | * Added myself to the VICTUALS file :)
05:03 evalbot_7604 has quit IRC (Remote closed the connection)
05:03 evalbot_7605 has joined #perl6
05:10 joepurl has quit IRC (Read error: 110 (Connection timed out))
05:12 SM_ax has joined #perl6
05:35 geoffb This week's blog entry up: http://www.oreillynet.com/pub/wlg/8097
05:35 geoffb I decided to break it up into multiple weeks, and stopped at the first breaking point after 2000 words.
05:36 geoffb Sorry to those expecting to see all the stuff from my notes in one post.  :-)
05:36 geoffb Time for a nice snack.
05:36 geoffb &
05:57 stevan_ geoffb++ # as always :)
05:57 * stevan_ sends his metaclass/class-method dispatch opus to p6l and calls it a night
05:59 luqui has joined #perl6
06:07 GeJ has joined #perl6
06:25 dduncan I just finished watching the 1999 movie "The Thirteenth Floor", following a reference to it here on #perl6 a couple weeks ago ... great movie, thanks for bringing it up
06:32 brentdax has quit IRC (Read error: 104 (Connection reset by peer))
06:35 f0rth has joined #perl6
06:37 iblechbot has joined #perl6
06:39 scook0 has joined #perl6
06:41 icebattle has joined #perl6
06:41 saorge_ has quit IRC (Read error: 110 (Connection timed out))
06:54 brentdax has joined #perl6
06:58 tewk has joined #perl6
06:59 geoffb stevan_, thanks.  As always.  :-)
07:00 obra geoffb: you're now on planetsix.perlfoundation.org
07:00 geoffb obra, thank you!
07:01 obra Thanks for blogging
07:02 geoffb obra: is it intentional that my name link points back to planetsix?
07:02 icebattle has quit IRC (Remote closed the connection)
07:02 geoffb obra, :-)
07:02 obra No.
07:02 obra hang on
07:03 obra I've pushed an attempted fix.
07:03 obra not sure what the problem is
07:04 geoffb How long does it take to propagate?
07:06 obra 20 min
07:06 geoffb ok.
07:06 geoffb I'll go check mail then.  :-)
07:06 obra oh!
07:06 obra the problem is that oreillynet's feeds suck
07:10 geoffb lol
07:10 geoffb Gee, something else that doesn't dwim in the O'Reilly blogs?  NEVER.
07:20 larsen has joined #perl6
07:21 dduncan geoffb, yep, that's another good blog ... I also noticed that you've been doing this for awhile, and not since last week, so I plan to look at the earlier ones
07:21 geoffb dduncan, thank you, and thank you.  :-)
07:22 dduncan the latter comment is due to the fact you linked to an earlier post in your new one ... I otherwise wouldn't have thought to look for awhile
07:22 dduncan it certainly does appear that PBP is leading to a lot of discussions
07:22 geoffb I'm just happy I have a ready made topic for next week.  I need to come up with some more ideas for 2-3 weeks from now
07:23 geoffb dduncan, nodnod
07:23 dduncan I also agree with a lot of that book (only about 4 chapters unread so far), and have found few complaints
07:23 dduncan I'll also point out that the avoid-unless argument seemed quite sound, and I had no problem with switching out of it, after using it a lot
07:24 dduncan mainly the argument concerned what happened when you had multiple conditions, and keeping track of all that reversed logic is more difficult in the brain ... I found so in my own experience too
07:25 geoffb Personally, I found the anti-unless comments smacked of Guidoism.  I could grant him his starting point, I just think he overgeneralized and reached the wrong conclusion.
07:26 dduncan I actually found, when doing comparisons, that my brain could process if !foo faster than unless !foo, or was no slower
07:26 dduncan s/process/comprehend/
07:26 dduncan also take the second ! out
07:28 dduncan one interesting side effect of reading the book is that there were numerous cases where I wanted to evaluate whether to do something one way or another, and so I tried looking up a suggestion in the book, but there was none for those questions
07:28 geoffb Oh, speed of comprehension wasn't my complaint.  I like my algorithms to read cleanly in English.
07:28 geoffb dduncan, nodnod
07:28 dduncan for example, whether I should be using Module::Build in my distros or just Makemaker
07:29 dduncan I decided to put that decision off for later, and stick to Makemaker for now
07:29 dduncan but I did notice that Makemaker didn't seem to let me do some of the things that I can do with the Perl 6 replacement
07:29 dduncan which is custom, and I thought incorporated some Build ideas
07:30 geoffb nod
07:31 dduncan but as your article points out, Damian's main goal was to have us make conscious decisions to do things one way or another based on rationale, rather than simple habit ... very good idea that
07:32 rantanplan_ has joined #perl6
07:32 dduncan and so its helpful to have other people critique your code, because they can point out such things that we take for granted without realizing it
07:32 dduncan I came up with that one
07:34 geoffb :-)
07:36 dduncan on that note, in a few weeks I will want people to look through my re-written Rosetta framework and make suggestions of better ways to do things, or question why I did certain things, whether said better ideas come from PBP or their own experience
07:36 dduncan this goes for both the perl 6 and 5 versions ... but in particular, perl 6 has so many new features I probably forgot a lot of them
07:37 dduncan and I *want* to learn new ways of thinking that perl 6 provides
07:38 dduncan some of the PBP helps with that too ... many recommended modules happen to correspond to functions built-in to perl 6
07:38 geoffb ditto
07:38 geoffb yep, and I think that's no mistake
07:38 dduncan eg, first()
07:38 dduncan definitely
07:38 dduncan in fact, I spoke to Damian at OSCOn ...
07:39 dduncan and I told him my observation ...
07:39 dduncan ... I thought that most of the PBP was to get people thinking in certain ways with perl 5 that would become natural in perl 6
07:39 dduncan he said I had a lot of insight
07:40 dduncan and its not surprising, since he has a big hand in designing perl 6, at the same time as writing the book
07:41 dduncan partly from that book I've also changed a big habit of mine too ...
07:41 dduncan I've learned to embrace CPAN for even small-functionality tasks, rather than writing my own and using CPAN for just big things
07:42 dduncan eg, a year ago I would have stayed away from things like List::Utils on principle of having as few dependencies as possible
07:42 geoffb I have a love-hate relationship with CPAN.
07:42 dduncan of course, I still want to just stick to the quality stuff
07:42 obra I'd categorize my relationship with cpan as 'codependent'
07:43 dduncan and still being careful about gratuitous dependencies
07:43 geoffb I actually try pretty hard to not use CPAN directly, but only via Debian packages.
07:43 geoffb Direct CPAN is usually heartache-inducing
07:43 dduncan right now, my new view of CPAN is that I want to exploit 2 types of dependencies:
07:43 dduncan 1. big functionality that I don't want to rewrite and that is good, like DBI etc
07:44 dduncan 2. small functionality that provides efficient implementations of things that Perl 6 will have built-in, such as List::Utils
07:45 geoffb List::Utils is Standard in recent Perls, isn't it?
07:45 dduncan I will still have my own function to url-decode a query string for example, rather than bringing in a module that just does that
07:45 dduncan maybe
07:45 geoffb (Yes, I know that's just an example, but still)
07:45 dduncan that module is included with modern perls, but I still consider it to be external
07:46 dduncan I consider anything that you have to say 'use Foo' to be external, save pragmas
07:46 geoffb Core v. Standard and all that
07:46 dduncan this said, since my current modules have 5.8.x as their mimimum version requirement, I know some of those are bundled and exploit them more comfortably
07:46 geoffb .oO( Sounds like a Supreme Court case . . . )
07:47 dduncan of course, some things are bundled with perl that shouldn't be, like CGI ... better to encourage CPAN use
07:48 geoffb obra, any luck fixing the link on planetsix?  Or is it just a lost cause?
07:49 obra ask tomorrow after I ask robert
07:49 geoffb sure, np
07:49 rantanplan_ has quit IRC (Remote closed the connection)
07:50 dduncan on a different matter ... tomorrow I'm going to interview for a perl job, one of the few in my area ... wish me luck
07:51 geoffb Good luck!
07:52 dduncan would be nice to get paid for work with the language so far ... save for a quick 5-hr one-off, all the perl I've done in my life was un-paid
07:52 dduncan and thanks
07:54 dduncan geoff, on another note, what does Oreilly pay you for those? ... only other thing I heard about pay rates was that Piers Cawley got about $200 a pop for the weekly perl 6 summaries ... I may be wrong about the detail though
07:55 dduncan and that's ended last week
07:55 dduncan or at least your "blogs" look official
07:55 dduncan being on oreillynet and all
07:56 dduncan or don't answer if its uncomfortable
07:56 dduncan and I could be wrong, you may get nothing, then sorry I asked
07:59 luqui has quit IRC ("Leaving")
08:01 dduncan anyway good night
08:01 dduncan has left
08:03 * geoffb assumes dduncan backlogs . . .
08:03 geoffb Sorry, dduncan, I didn't see you ask because you said "geoff" instead of "geoffb" and xchat didn't beep me.  :-)
08:05 geoffb I don't get paid for the O'Reilly blogs, but I do get freebies.  One month of good blogs == 1 free book.  After a solid year, I get an O'Reilly conference pass.
08:05 GeJ hum... sweet...
08:06 geoffb It's not much, but I think they do that much just to keep it from falling to the bottom of people's stacks when they get busy.
08:06 * GeJ should try that new blog technology thingy...
08:08 geoffb Keeping this up for a year may be tough, but I will at least get a lot of writing practice.  :-)
08:10 GeJ planning on something special? a new edition of one of the perl books for Perl6?
08:11 geoffb Meaning, do I plan to write one?
08:11 GeJ yup
08:12 geoffb I'd like to.  We'll see.  I don't know whether I'll have the time/energy to do it, but you never know.
08:13 geoffb Personally, I think it would be wicked cool to be a published author.
08:13 GeJ :)
08:13 geoffb And there's nothing like going to a job interview and saying "Well, actually, I wrote the book on that."
08:14 GeJ true, true
08:15 geoffb .oO( Maybe "Thinking Perl 6" )
08:15 geoffb You know, that's not a bad idea, actually.
08:16 GeJ Just backlogging what's been said here for the last 222 days should give enough material to write an encyclopedia on CS if you ask me.
08:16 geoffb heh
08:16 geoffb definitely.
08:17 geoffb That reminds me, I need to throw some tuits at my great books tool and check it in
08:17 GeJ One thing I'm afraid with this title is the lack of practical-ity. It puts Perl6 on some philosophical level that might scare people. Something a little more "down-to-earth" would be better. But hey, just my guess
08:18 geoffb I was thinking along the lines of Thinking Forth
08:18 ruz has quit IRC (Read error: 104 (Connection reset by peer))
08:18 geoffb But yeah, you may be right
08:20 ruz has joined #perl6
08:20 GeJ It's just that sometimes, you guys scare me. For sure I get the -Ofun, all the benefits of the Perl6's functional-isation, but in the end, I fear that it might get a scary beast.
08:21 GeJ That's why I want to get my feet wet as soon as 6.28.0 is out and try to port xUnit to Perl6.
08:21 geoffb I see it more along the lines of Go or Chess.  Once the curfuffle is all over and the dust clears, we will be left with something with a simple set of basic rules, and amazing depth.
08:21 geoffb But then, I'm a Perl 6 optimist
08:22 geoffb "I'm a Perl 6 Optimist"  <-- bumper sticker material, if ever there were any
08:24 GeJ I have no doubt that Perl6 will be great, that's certain. But the migration from p5 to p6 will not be an easy thing. Sure Ponie will make p5 scripts on p6...
08:24 geoffb s/on p6/on parrot/
08:24 dada has joined #perl6
08:24 geoffb Yeah, I think the transition will be jarring.
08:24 GeJ hum, yes... sorry...
08:25 geoffb I expect what will happen is there will be parallel ecologies for a good long time.
08:25 geoffb oh, np, just correcting in case you were confused with Larry's P5 -> P6 translator
08:26 geoffb .oO( And how is that going, anyway . . . ? )
08:27 GeJ it's going fine, thanks... still have to put somewhere in my head that P6 will run on a VM. I know it for sure, but sometimes it slips...
08:27 geoffb "it's going fine, thanks" . . . er, what?
08:28 GeJ "And how is that going, anyway . . . ?" <-- "just correcting in case you were confused..."
08:28 geoffb ah
08:28 GeJ sorry, my huge ego thought the question was addressed to me
08:28 geoffb I was wondering how Larry's translator was going
08:28 geoffb heh
08:29 geoffb I haven't heard anything recently about it (Larry's code, not your ego  ;-)
08:29 GeJ :)
08:30 GeJ I can't remember where (one of luqui's reports or jesse's parrot sketches) but I thought that Ponie's development was stalled (or at least progressing slowly)
08:31 geoffb yeah, I got the feeling it was running slow when I saw the talk at OSCON.  Slow but steady was the impression I got then
08:31 geoffb Bigger project than they expected, I think.
08:32 GeJ nod nod
08:33 GeJ is parrot going to... hum not sure to find a correct and not offending word... 'calm down' or is it still a high velocity target?
08:34 joepurl has joined #perl6
08:34 GeJ as in deprecating function calls every two other weeks.
08:35 wolverian geoffb, I think ponie was stalled until the recent parrot release
08:36 geoffb wolverian, I would believe that.  OSCON was 2.5 months ago, so I'm guessing my impression was out of date.
08:36 GeJ Not that I want to show disrespect to leo and chip's team. But trying to catch a snail is easier than trying to catch a jumbo jet at mach 1.
08:37 geoffb GeJ, I dunno, frankly.  I get the feeling they've taken enough heat on that.
08:37 geoffb When chip first came in, he seemed gung-ho about stabilizing.  I dunno how he feels now.
08:38 joepurl has quit IRC (Client Quit)
08:38 wilx has joined #perl6
08:38 joepurl has joined #perl6
08:44 GeJ Ah damn... checked out an amazon order and forgot to add TaPL.
08:45 GeJ Well, that proves one thing, without my first coffee, I'm worthless
08:46 geoffb :-)
08:47 scook0 (Benjamin C. Pierce must be loving all the attention, anyway :)
08:48 GeJ Well, he surely find some nice PR agent with autrijus.
08:48 GeJ s/find/found/
08:57 brentdax has quit IRC ("Upgrading")
09:08 arjanb has joined #perl6
09:19 brother I posted to perl.perl6.language through nntp.perl.org two hours ago and it hasn't showed up yet. (first post)
09:19 brother Is that to be expected?
09:20 wolverian brother, I don't know if the nntp is two way. it's really a mailing list. in any case, it's also moderated, and first timers need to be whitelisted.
09:20 brother ok, then I just wait to be whitelisted.
09:21 wolverian I'd subscribe to the mailing list, anyway. :)
09:22 brother Otherwise it's been a long time since I last complained to Ask Bjørn Hansen about something
09:22 * geoffb sighs mightily
09:22 geoffb I should stop procrastinating and go to bed
09:22 lhooq has joined #perl6
09:23 dada has quit IRC (Read error: 110 (Connection timed out))
09:24 geoffb &
09:24 GeJ bye geoffb
09:25 joepurl has quit IRC (Remote closed the connection)
09:28 lhooq has quit IRC ("see Emily play")
09:40 iblechbot has quit IRC (Read error: 110 (Connection timed out))
09:50 dada has joined #perl6
09:51 dduncan has joined #perl6
09:52 dduncan geoffb, I reconnected just long enough to say that I *sometimes* backlog, and did so in this case to see your answer to my question, which I did see on the html log, thank you ... now, really truly nap time
09:52 dduncan has left
09:54 ajs_home has joined #perl6
09:54 dada has quit IRC (Client Quit)
09:55 dada has joined #perl6
09:55 washu has joined #perl6
10:14 r0nny_ has joined #perl6
10:14 r0nny_ hoi
10:14 Juerd Hello
10:17 r0nny_ anyone here knows cons ?
10:18 QtPlatypus cons?
10:18 r0nny_ perl based build system
10:18 autrijus steven knight's cons? I've casually glanced at it
10:20 r0nny_ http://www.dsmit.com/cons/
10:20 r0nny_ i want to know, if i can do the same trick they use fir the build controll files in perl6
10:23 autrijus which trick?
10:24 r0nny_ all controll files are perl scripts - but they are all in the same namespace
10:24 r0nny_ they save/restore this namespace
10:30 autrijus sure, easily
10:35 r0nny_ btw - is there a online documentation or something helping learning perl6 better ?
10:35 autrijus in the pugs tree, try docs/quickref/
10:35 autrijus and docs/*
10:35 autrijus also see Perl6::Bible on CPAN
10:38 GeJ autrijus: I had a look this morning on docs/quickref/oo  With all the discussions on MM raging on p6l, am I right to assume that this file will need some huge revamp (as probably will the OO Apocalypse) ?
10:38 autrijus GeJ: not huge, but significant, yes :)
10:39 autrijus I'll try to get some more rulings on euro oscon.
10:39 r0nny_ btw - is it valid to use perl5 modules ?
10:39 autrijus r0nny_: yes
10:39 autrijus use perl5:DBI;
10:39 autrijus my $dbh = DBI.connect(...);
10:39 autrijus # works today
10:40 r0nny_ whats with Class::DBI ? wich needs some inheritance ?
10:40 autrijus would work too I think.
10:44 r0nny_ argh
10:44 r0nny_ there is a problem
10:44 r0nny_ using a shebang line to execute a script with pugs, but if i use --help, pugs shoes the pugs cmdline help
10:46 theorbtwo has joined #perl6
10:48 iblechbot has joined #perl6
10:48 r0nny_ is there a fix ?
10:50 autrijus currently no, because Pugs.Run.Args uses gnu style flagging
10:50 autrijus pugs foo.pl -- --help
10:50 autrijus would work ('--' serves as separator)
10:50 autrijus but this is of course suboptimal
10:50 autrijus maybe write a t/pugsrun/ test for the "correct" behaviour?
10:51 autrijus (assuming you have a committer bit... if not, your email please)
10:51 r0nny_ hmm
10:51 r0nny_ i dont know haskell, and i dont know perl6 :/
10:52 r0nny_ btw - what about supporting specifying the file right after the --
10:52 r0nny_ so i could use #!/...pugs -- as shebang line
10:52 autrijus I think it is supported.
10:53 autrijus so you can do that just fine.
10:53 r0nny_ oh - it works :)
10:57 autrijus what's your name and/or CPAN ID? I'd like to add you to AUTHORS :)
11:02 svnbot6 r7606 | autrijus++ | * Add notes to Perl6::Pugs and pugs::run documentation about
11:02 svnbot6 r7606 | autrijus++ |   the use of -- to separate pugs options and program options.
11:02 svnbot6 r7606 | autrijus++ |   Reported by r0nny.
11:04 autrijus renap &
11:04 r0nny_ autrijus: atm i got no CPAN-ID
11:05 autrijus name, then :)
11:05 r0nny_ Ronny Pfannschmidt
11:06 autrijus ta. thanks!
11:06 xern has quit IRC ("leaving")
11:06 * autrijus waves... bbiab
11:06 xern has joined #perl6
11:06 evalbot_7605 has quit IRC (Remote closed the connection)
11:06 evalbot_7606 has joined #perl6
11:08 svnbot6 r7607 | autrijus++ | * add Ronny "r0nny" Pfannschmidt to AUTHORS.
11:09 r0nny_ wow :)
11:09 r0nny_ time to put my "im sooo cool" t-shirt on ;)
11:11 brother "... and I was to lazy to do it myself"
11:11 brother I had to commit my changes myself
11:12 evalbot_7606 has quit IRC (Remote closed the connection)
11:12 evalbot_7607 has joined #perl6
11:12 brother liberal with the commit bit doesn't mean 'we trust people' it means "we're lazy"
11:12 brother ?
11:15 autrijus ...and proud of it, yes. :)
11:16 r0nny_ afaik lazy evaluation is allways good ;P
11:31 washu has quit IRC ("Leaving")
11:33 brother Well, probally I wouldn't have spent so much time making sure my patch wouldn't make any regression on corner cases if I just could fire it agains a mailling list
11:33 autrijus hm? perl6-compiler@perl.org ?
11:34 brother I'm raised with SML so lazy evaluation is a bit obscure for me
11:35 brother Paulsons ML for the Working Programmer does describe lazy evaluation but it is a hack with SML
11:35 autrijus *nod*
11:35 broquaint How does one pull down a directory using svk?
11:35 autrijus broquaint: svk co http://svn.openfoundry.org/pugs/
11:36 broquaint Aha, nice one. I had to move up out of pugs/. Thanks, autrijus :)
11:37 autrijus np :)
11:42 evalbot_7607 has quit IRC (Remote closed the connection)
11:43 evalbot_7608 has joined #perl6
11:45 svnbot6 r7608 | gaal++ | fix URL for hs-plugins
11:54 tewk has quit IRC (Remote closed the connection)
11:58 nothingmuch has joined #perl6
11:58 gaal eep, the build seems broken on linux
11:59 gaal many "Duplicate instance declarations" errors
11:59 gaal i must go now though
11:59 gaal :(
12:02 Blicero has quit IRC (Remote closed the connection)
12:09 elmex has joined #perl6
12:22 r0nny_ is now known as r0nny
12:35 justatheory has joined #perl6
12:50 justatheory has quit IRC ()
12:55 fglock__ has joined #perl6
13:08 evalbot_7608 has quit IRC (Remote closed the connection)
13:08 svnbot6 r7609 | fglock++ | * perl5/List - allow unboxed values in List.from_range()
13:09 evalbot_7609 has joined #perl6
13:15 scook0 has quit IRC ("Leaving")
13:17 Qiang has joined #perl6
13:19 adamc00 has joined #perl6
13:25 Juerd wolverian: The R51 has a US QWERTY keyboard
13:30 Blicero has joined #perl6
13:35 cognominal has quit IRC (Read error: 104 (Connection reset by peer))
13:35 cognominal has joined #perl6
13:36 wolverian Juerd, hmm. does it have the same physical keys that a Finnish keyboard has, do you know?
13:36 wolverian Juerd, (that is, the pictures on the keys don't matter, but their existence does :)
13:38 wolverian Juerd, I thought it was a R52, by the way
13:39 pdcawley has joined #perl6
13:58 Limbic_Region has joined #perl6
14:00 Juerd wolverian: Probably not.
14:00 Juerd wolverian: It's an R51
14:04 eric256 has joined #perl6
14:04 wolverian Juerd, hmm. I think I'll rather buy one with all the keys, then. (105 or so, I think)
14:04 wolverian Juerd, it's fairly important for typing Finnish
14:05 r0nny re
14:05 r0nny how is the specification for perl6 threads going ?
14:10 wolverian Juerd, thanks for checking, though
14:13 gaal the build problem i saw earlier is resolved after `make realclean`.
14:15 gaal wow, this is the first time i ever saw this machine thrash except for heavy games. i must remember not to try to build two pugs simultaneously, one in a virutal machine.
14:17 gaal r0nny: the implementation is way ahead of the specification in this case... there's haskellish atomic{} and async{} in pugs for a while.
14:26 r0nny so i use async {} to generate threads ?
14:26 r0nny any way to control them ?
14:32 * eric256 realizes his computer clock is 12hours off....so much for aotmic clock synchronization
14:33 Juerd wolverian: Dutch keyboards have equal numbers of keys :)
14:33 Juerd wolverian: And it sucks.
14:33 Juerd wolverian: It means I have to lift my right hand in order to hit enter. Pinky can't reach enter on those keyboards
14:34 * theorbtwo thinks that has more to do with /placement/ of keys then with /number of/ keys.
14:34 wolverian Juerd, heh.
14:34 theorbtwo Enter should be wide, but not tall; backslash should be above enter.
14:34 wolverian Juerd, oh, wow, a new R51 model arriving on 29.10. at 1087 euros
14:35 wolverian Juerd, it's only 1.6ghz and 256mb RAM, but it's a thinkpad..
14:35 wolverian (with a Finnish keyboard :)
14:35 * eric256 has considers collecting keyboards from around the world..i think it would make cool wall art
14:36 SM_ax has left
14:36 * theorbtwo shrugs.  Most european keyboards have the same physical layout with different markings.
14:36 theorbtwo (And looking at the markings is a sign of weakness and shall not be tolerated!)
14:37 theorbtwo I still want one that's layed out like an en_US with the extra 105th key, though.
14:38 Juerd wolverian: "but it's a thinkpad". You've learned a lot in just one day :)
14:38 wolverian Juerd, I trust you. :)
14:39 Juerd And the 1.6 won't be a problem
14:39 Juerd Don't forget that it's a Pentium M
14:39 Juerd Not a Pentium 4
14:40 wolverian right
14:40 Juerd PM 1.6 translates roughly to P4 2.8, but with much beter power economy
14:40 eric256 theorbtwo...i was thinking more like japanese, korean, russian,...and its the markings i was interested in
14:40 wolverian heh, IBM really doesn't believe in high resolution, eh?
14:41 brother 'svn ci' without -m starts $EDITOR jusl like cvs does, right?
14:41 wolverian yes
14:41 Juerd wolverian: No. They're business machines. Businessmen are single taskers.
14:41 eric256 yes brother
14:41 wolverian Juerd, true. but I'm not a businessman
14:41 wolverian Juerd, then again, I always maximise my windows and just alt-tab between them.
14:41 Juerd wolverian: Then you will be glad that Lenovo took over, and is going to consider home consumers too :)
14:41 brother thanks, just wanted to be sure befor making an uncommented commit
14:42 Juerd Maximization is single tasking
14:42 wolverian true enough
14:42 Juerd Alt tabbing means you switch between tasks
14:43 Juerd I'm a bit afraid of lenovo's future actions
14:43 Juerd So far, what they've been doing is great
14:43 Juerd But they very easily break tradition
14:43 Juerd They have already made not-black thinkpads
14:43 joao has joined #perl6
14:43 Juerd (Titanium cover)
14:46 wolverian hmm
14:46 wolverian I hate how they group many different specs into one Rxx
14:48 wolverian dammit, now I'm totally lost again what to buy.
14:48 wolverian especially as the Fujitsu I was looking at seems to be out of production
14:48 svnbot6 r7610 | iblech++ | * Usual svn props.
14:48 svnbot6 r7610 | iblech++ | * t/syntax/pairs.t: unTODO
14:48 svnbot6 r7610 | iblech++ | * t/types/variables.t: Fixed test (&dies_ok expects a coderef, not a piece of
14:48 svnbot6 r7610 | iblech++ |   sourcecode to eval()).
14:49 brother Grrr, I want some more ram for my iBook
14:50 evalbot_7609 has quit IRC (Remote closed the connection)
14:50 evalbot_7610 has joined #perl6
14:50 wolverian Juerd, if I absolutely can't get thinkpad, do you have other recommendations?
14:50 Juerd wolverian: Hmm. Tough.
14:51 Juerd wolverian: Most manufacturers have wildly different ethics
14:51 wolverian right
14:51 wolverian I know Acers are terribly plastic
14:51 Juerd wolverian: They make machines to look beautiful, to be fast, or to be multi media monsters
14:51 Juerd wolverian: Or plain simple, to be cheap
14:52 theorbtwo Toughbook?
14:52 Juerd Almost no laptops are made to last anymore
14:52 Juerd theorbtwo: One who can afford a toughbook, can afford a thinkpad :)
14:52 Juerd In general
14:52 Juerd wolverian: I do have a blacklist for you, if you want :)
14:53 wolverian Juerd, yes, please
14:53 Juerd wolverian: acer, medion, promedion, asus, jewel, cheap dells, cheap toshibas, cheap HPs
14:53 Juerd dell, toshiba and HP do have good laptops
14:54 Juerd I don't know fujitsu siemens' current offerings, so I shouldn't judge them
14:54 wolverian I was just looking at a 900 euro HP
14:54 wolverian :)
14:54 Juerd I only know that my experiences with them, five years ago, were bad
14:55 Juerd Hm, what else does laptop land have
14:55 joao LG's look nice, but I don't know if they are good
14:56 Juerd LG. I haven't seen those in real life yet
14:56 saorge has joined #perl6
14:56 Juerd wolverian: And always, always, always check http://www.linux-laptop.net/ first
14:56 Juerd wolverian: An unlisted laptop is still preferred to a listed laptop that nobody got working well
14:56 joao well, i've seen one yesterday and it has a great feature set, nice price for features and is lightweight
14:56 wolverian Juerd, right.
14:57 Juerd joao: Sturdy?
14:57 joao sturdy? ;)
14:58 Juerd joao: Does it survive a 3 feet drop?
14:58 wolverian egh. why do all the otherwise great laptops have SIS graphics boars
14:58 wolverian erm, boards
14:58 Juerd wolverian: Avoid!
14:58 Blicero whats wrong with SIS
14:58 Juerd Blicero: Almost everything
14:58 wolverian Blicero, read some review.
14:58 wolverian they suck mightily.
14:58 joao Juerd: It was my supervisor's daughter laptop. Not a good idea to try it :)
14:58 Juerd Blicero: That is: I wouldn't want essential parts to be sis. And since in a laptop you can't exchange parts, everything is essential.
14:58 joao Juerd: my pbook 12'' survives, though :)
14:59 Juerd Powerbooks are nice
14:59 wolverian Juerd, how cheap is a cheap Toshiba?
14:59 Juerd wolverian: "Satellite"
14:59 Juerd wolverian: And "Satellite Pro"
14:59 wolverian Tecra?
15:00 Juerd wolverian: less cheap are "Portege" and, to lesser extent "Tecra"
15:00 Juerd Tecra is a weird series
15:00 Juerd It includes good and bad laptops
15:00 wolverian this is A3-101
15:00 Juerd I don't know model numbers, and I can't judge from images
15:00 wolverian it has a Intel graphics chipset. I don't know about those. not that I play games at all, heh.
15:00 Juerd Sorry
15:00 wolverian Juerd, no problem. it's good to know that they vary.
15:01 rafl_ has joined #perl6
15:01 Juerd Their qosmios are nice. Heavy, huge, bulky, but very powerful and they have great screens. Wonderful for movie fans, not so wonderful if you travel a lot.
15:02 Juerd They don't look sturdy, but there's so much plastic and slack that I think it's safe
15:02 wolverian I want a somewhat portable laptop :)
15:04 Juerd Always test a few things with a real product, if you can't find someone who has experience with the laptop you want to buy:
15:04 Juerd 1. test the keyboard!
15:04 Juerd 2. would you trust holding the thing by its screen?
15:05 wolverian are all Acers bad?
15:05 Juerd 3. is the power brick reasonable of size? huge bricks (Lite-on is a red flag, fans and heat sinks are blinking fluorescent red flags) are bad
15:05 Juerd I have yet to encounter a good acer laptop.
15:05 Juerd But it is possible they exist.
15:05 Juerd Still, the entire brand is tainted by their numerous bad models.
15:06 Juerd 4. can it boot from usb?
15:06 Juerd 5. do you like its pointing device?
15:07 kolibrie has joined #perl6
15:07 Juerd 6. Where is the fan? Is it loud or quiet?
15:07 joao wolverian: I know some people who have acer laptops and they've never complained...
15:07 Juerd 7. Pentium 4m isn't Pentium M, high GHz numbers are signs of heat, noise and short battery life.
15:08 Juerd joao: What do they use it for? Travel or portable desktop?
15:08 joao on the other hand, I know lots of people with asus laptops and they all complain :)
15:08 Juerd Almost any laptop is a nice portable desktop for home or office usage for a non-geek.
15:08 kolibrie anyone know what would cause this error (from my server and from feather): Irssi: Unable to connect server irc.freenode.net port 6667 [Cannot assign requested address]
15:09 Juerd kolibrie: Are you passing any local address to irssi?
15:09 Juerd kolibrie: -h
15:09 joao Juerd: well, most of them use it to program...
15:09 Juerd joao: Hard to believe, but I believe you
15:09 kolibrie Juerd: don't think so: irssi -c irc.freenode.net -n kolibrie
15:09 Juerd kolibrie: Then I have no idea
15:11 joao Juerd: well, lots of people complain that their laptops are bad, but they don't have any attention how they use it. For instance, I had a toshiba satellite who gave me lots of probs with the screen. I sent it twice for warranty and it returned ok. After that, I bought a good backpack for my laptop and I've never had problems with it :)
15:12 Juerd joao: Keyboards are extremely important - more so than hardware specs, if you ask me.
15:12 joao hmmm, really? why?
15:12 Juerd joao: I find all acer keyboards suck. Their touchpads usually do too.
15:12 kolibrie Juerd: that was it (-h), I mistyped -c once and it stuck it in my .irssi/config
15:13 PerlJam joao: Because there are good keyboards and there are bad keyboards.
15:13 kolibrie_ has joined #perl6
15:13 joao ok. but how do you define a good keyboard?
15:13 kolibrie has quit IRC ("leaving")
15:13 Juerd joao: I have always seen this as a fact of life. It's hard to explain.
15:13 kolibrie_ is now known as kolibrie
15:13 * joao smiles
15:13 Juerd joao: Bad keyboards make fingers and wrists hurt.
15:14 joao Are pbooks 12'' bad keyboards?
15:14 svnbot6 r7611 | pmakholm++ | Limited support for transliterations from one character to multiple
15:14 svnbot6 r7611 | pmakholm++ | characters. (Still doesn't support spaces on left hand side)
15:14 PerlJam joao: bad keyboards will have useful keys in awkward places.
15:14 kolibrie Juerd: thanks, I thought I was cut off from the world!
15:14 Juerd A good keyboard has good feedback, doesn't break with normal use, has keys that aren't in a curved layout, has no surprises in depression force
15:14 Juerd kolibrie: You're welcome
15:15 PerlJam joao: Like this IBM thinkpad I have that puts the ESC key just above F1.  It's *really* easy to hit the F1 instead of or in addition to ESC
15:15 Juerd joao: Whether a keyboard is good is partly subjective. I don't like powerbook keyboards, but I do recognise that they are technically good.
15:15 Juerd PerlJam: The alternative was to cram F1..F12 together, and to find other places for the insert..pgdn block
15:16 theorbtwo ...esp if you go ohfuck, and reach for the esc a lot.
15:16 Juerd PerlJam: And considering that, I really love that they have given Esc this place.
15:16 PerlJam Juerd: I think they could have switched the position of the function keys with the set of keys just above the function keys.
15:17 joao well, I have some issues with my PT keyb. related with {}[] keys :)
15:17 PerlJam It would have required a little layout rethink, but certainly doable.
15:17 Juerd PerlJam: Then the very often alt-Fx and ctrl-Fx combinations would become hard for people without long fingers
15:17 Juerd Combinations with Esc are usually special and not much used. The Start button in Win32 being a noteworthy exception.
15:18 PerlJam Juerd: Still, the F1 key is where my fingers think the ESC key should be  (and where it *is* on most of the other keyboards I use)
15:18 Juerd PerlJam: Yes.
15:18 Juerd PerlJam: This is annoying, I agree. But less annoying than alternatives, in my opinion.
15:19 Juerd Given the little space on a laptop keyboard, I think IBM did best of all.
15:19 PerlJam Sure, all things considered, it's not really that bad.
15:19 PerlJam (I've trained my fingers to do the little dance required to hit the ESC on the thinkpad)
15:19 Juerd And the thinklight is one of the reasons it's not a great problem.
15:19 wolverian Juerd, did you say something about Toshiba Qosmio?
15:19 joao I really appreciate the 0% space waste , 12'' pbooks have :D
15:20 wolverian (what is up with those names?!)
15:20 Juerd I hit F1 with the thinklight off, Esc with it on
15:20 Juerd :)
15:20 PerlJam heh
15:20 Juerd wolverian: Yes.
15:20 wolverian oh, right
15:20 wolverian /last is nice
15:20 Juerd wolverian: So is its output, provided a useful query.
15:20 wolverian right :)
15:21 evalbot_7610 has quit IRC (Remote closed the connection)
15:21 Juerd Bye, evalbot
15:21 Juerd Wonderful.
15:21 evalbot_7611 has joined #perl6
15:22 Juerd I'm backing up my old laptop's XP partition
15:22 Juerd `xp/System Volume Information/_restore{643F3327-07A7-40EB-8A​9D-065FC6CB7447}/rp3/snapshot/Repository' -> `/mnt/xp/System Volume Information/_restore{643F3327-07A7-40EB-8A​9D-065FC6CB7447}/rp3/snapshot/Repository'
15:22 Juerd I love meaningful file names.
15:22 Juerd And *short* numbers, when numbers are needed.
15:22 Juerd Surely this could havebeen _restore15?
15:22 Juerd Welcome back, evalbot
15:22 wolverian are Intel graphics okay?
15:23 Juerd Yes, but not great for gaming.
15:23 Juerd The i810 driver for X is under constant development and keeps getting better.
15:23 wolverian does that work for with the 855GME chipset?
15:23 Juerd IIRC
15:24 wolverian thanks :)
15:24 wolverian I'll check
15:24 Juerd In general, I trust Intel stuff to Just Work.
15:24 Juerd It was a surprise when they came with their ipw2100 at first
15:24 wolverian seems to support it
15:25 Juerd But the ipw2100 is the most important reason that we now have two great NDIS driver loaders, of which one fully open source
15:25 Juerd And there is native support now too
15:25 Juerd So I'm happy, after all
15:25 wolverian hmm. Broadcom 440x looks like a somewhat troublesome chipset
15:26 Juerd And I didn't mind paying $20 to get my wifi nic working with a commercial driver the first year.
15:26 wolverian but I might be wrong
15:26 wolverian s,chipset,wireless,
15:26 Juerd I don't know much about broadcom nics
15:26 Juerd The broadcom 10/100/1000 in my x41 works well with linux
15:27 wolverian I guess I could wait until 29. for that R51
15:28 Juerd `xp/winnt/ServicePackFiles/i386/msxactps.dll' -> `/mnt/xp/winnt/ServicePackFiles/i386/msxactps.dll'
15:28 Juerd Why still 8.3?
15:28 Juerd What's wrong with them?
15:29 Juerd wolverian: In the meantime, read reviews and linux installation experiences, and let it mess with your mind freely.
15:29 Juerd wolverian: Let it convince you that it's a great product, and that everything else sucks.
15:30 Juerd Works for me :)
15:30 Juerd wolverian: Also, mentally bookmark thinkwiki.org :)
15:32 mrborisguy does anybody know of a link for Carrot (C-to-Parrot Compiler?)
15:32 mrborisguy I was hoping to check it out, but can't seem to find it
15:34 nothingmuch functional examples of quicksort have always bothered me
15:34 Juerd All quicksorts bother me
15:34 Juerd I hate algorithms. I hate maths.
15:34 nothingmuch the thing that makes quicksort quicker than mergesort is that it uses swapping very easily as opposed to say mergesort
15:34 mrborisguy may I ask why?
15:35 Juerd Bubble sorts are about as complex a thing as I can grok without resorting to real thinking.
15:35 wolverian Juerd, 256MB RAM - 64MB for the GFX card seems a bit low
15:35 nothingmuch if you take that bit out it's no longer a pretty algorithm
15:35 wolverian Juerd, (that's the R51)
15:35 nothingmuch Juerd: err, isn't thinking a good thing?
15:35 Juerd wolverian: Were you planning on gaming?
15:35 Juerd nothingmuch: I dunno. It hurts, so it probably isn't.
15:35 nothingmuch =(
15:35 wolverian Juerd, maybe one game a year - I'm picky with them. no 3D games really.
15:36 Juerd wolverian: Then 8 MB will suffice :)
15:36 mrborisguy juerd: for someone who doesn't like maths, your logic is astounding! ;)
15:36 wolverian Juerd, well, I do run gnome...
15:36 Juerd wolverian: Okay, 15 MB
15:36 Juerd eh
15:36 Juerd 16
15:36 Khisanth wolverian: wouldn't be very pleasant building pugs on that! :)
15:36 Juerd Khisanth: This is graphics memory. Not something many people use when compiling.
15:37 wolverian it's both
15:37 wolverian 256MB total for both
15:37 Khisanth I was refering to the 256MB RAM
15:37 wolverian so RAM is 196MB really
15:37 Juerd wolverian: That's configurable.
15:37 wolverian yeah.
15:37 wolverian is it just normal DDR333 memory?
15:37 Juerd wolverian: Probably DDR2
15:38 wolverian this says "Memory speed: DDR333"
15:38 wolverian (I know nothing about memory)
15:38 Juerd It's a different form factor.
15:38 Juerd Smaller, for notebooks.
15:38 wolverian ah.
15:38 Juerd so-dimm.
15:38 wolverian 128, 256 or 512MB/2GB PC2700 DDR SDRAM
15:38 wolverian from IBM's PDF
15:39 Juerd Not DDR2 then
15:39 gaal what's a portable way to make a make(1) rule return success? I just ran make && make smoke on a clean tree and the smoke didn't run, although there were no errors; I think it's the manifypods dependent rule because running the same thing again (now that the dep had already been satisfied) did invoke the smoke.
15:39 wolverian ah - it's only the R52 that has DDR2
15:44 qwr somecommand; true ?
15:45 gaal qwr, true isn't portable.
15:45 gaal hmmm. $(PERL) -e42 is.
15:46 gaal come to think of it ; isn't portable either ;-)
15:47 wolverian what is that weird looking thingy above the touchpad on thinkpads?
15:47 wolverian with two red and one blue, er, thing
15:49 Khisanth also for moving the cursor
15:49 wolverian oh? so there are three methods to do that on thinkpads? :)
15:50 brother Hmmm, -e42 -- my favorite script to debug before I started using pugs
15:51 Juerd wolverian: Buttons for the trackpoint
15:52 Juerd wolverian: You see, if your index finger is on the trackpoint, above the touchpad is exactly where your thumb is :)
15:52 wolverian right :)
15:52 Juerd Also, IBM's placement of the touch pad makes it not be in the way
15:52 Juerd With many other laptops it is constantly in the way
15:58 Blicero trackpoints are awesome
16:01 gaal anyone here understand Pugs.Eval.debug?
16:05 gaal am i correct that it has a recursion guard that counts in unary, and is keyed by string in the caller?
16:08 gaal ah, the keyed guard doubles as a literal indentation string. why should this be keyable, and why does it need to be stored as a literal string?
16:18 brother ?eval  "ABC-DEF".trans("-AB-Z" => "_a-z")
16:18 evalbot_7611 "aefcghi"
16:19 brother ?eval "ABC-DEF".trans("A-YZ-" => "a-z_")
16:19 evalbot_7611 "abc-def"
16:20 eric256 hey brother....deteremined to get that worknig right eh?
16:21 eric256 btw you should probably add a check and warning if they do something like z-a  (or handle it in some other manner)
16:21 brother Actually I got it working.
16:21 eric256 i meant get the lone dash part working
16:21 eric256 i know you got the other part
16:22 PerlJam BTW, is this .trans() method specced?
16:22 svnbot6 r7612 | pmakholm++ | Adding support for '-' in translitterations like tr/-a-z/_A-Z/
16:23 brother PerlJam: Kind of at the end of S05
16:23 brother eric256: There you go
16:24 eric256 brother is brute forcing the spec for it ;)
16:25 PerlJam well brother++ and hack away!
16:26 QtPlatypus Yay for pmakholm
16:26 eric256 QtPlatypus  .... 'borther' === 'pmakholm'
16:27 brother Well, I'll probally let it rest till perl6-language sais something about the <a b c> => "ABC" thingy
16:28 theorbtwo ?eval "ABC-DEF".trans('-'=>'_', 'A-Z'=>'a-z');
16:28 evalbot_7611 *** No compatible subroutine found: "&eval"     at -e line 11, column 5-82
16:28 broquaint has quit IRC ("Off to Thailand, see you in November.")
16:28 brother if I had been aware of svnbot I would have choosen brother for svn too
16:28 * theorbtwo wishes broquaint a good trip.
16:28 theorbtwo ?eval "ABC-DEF".trans('-'=>'_', 'A-Z'=>'a-z');
16:28 evalbot_7611 *** No compatible subroutine found: "&eval"     at -e line 11, column 5-82
16:28 theorbtwo Huh?
16:28 eric256 lol
16:28 eric256 something broke
16:29 theorbtwo ?eval exit
16:29 evalbot_7611 *** No compatible subroutine found: "&eval"     at -e line 11, column 5-22
16:29 theorbtwo Yep.
16:29 brother ?eval 1+2
16:29 evalbot_7611 *** No compatible subroutine found: "&eval"     at -e line 11, column 5-22
16:29 * brother hides
16:30 eric256 lol
16:30 eric256 bad brother!! bad! j/k
16:30 brother it worked 10 minutes ago last time *I* used it
16:32 evalbot_7611 has quit IRC (Remote closed the connection)
16:32 evalbot_7612 has joined #perl6
16:33 eric256 ?eval 1;
16:33 evalbot_7612 1
16:33 eric256 ?eval 1 + 2;
16:33 evalbot_7612 3
16:33 eric256 hmmm. better now. odd
16:33 eric256 ?eval "ABC-DEF".trans('-'=>'_', 'A-Z'=>'a-z');
16:33 evalbot_7612 "abc_def"
16:33 brother ?eval "ABC-DEF".trans("A-YZ-" => "a-z_")
16:33 evalbot_7612 "abc_def"
16:33 eric256 nice
16:34 eric256 ?eval "ABC-DEF".trans('-'=>'_', 'A-Z'=>'z-a');
16:34 evalbot_7612 "zBC_DEF"
16:34 eric256 ?eval "ABC-DEFZ".trans('-'=>'_', 'A-Z'=>'z-a');
16:34 evalbot_7612 "zBC_DEFZ"
16:34 eric256 ?eval "a".."z"
16:34 evalbot_7612 ("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z")
16:34 brother that is you illegal range
16:34 eric256 ?eval "z".."a"
16:34 evalbot_7612 ("z")
16:34 eric256 not exatly DWIM . lol
16:36 pdcawley_ has quit IRC (Remote closed the connection)
16:36 * theorbtwo thinks most DWIM option is to die.
16:36 nothingmuch has quit IRC (Read error: 113 (No route to host))
16:36 brother not reverse('a'..'z')
16:37 GeJ has quit IRC ("Client exiting")
16:41 Juerd I think backward ranges should be possible.
16:41 eric256 theorbtwo me too
16:41 Juerd 9..0 makes a lot of sense, and every reader knows that it is 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
16:41 Juerd Why shouldn't Perl be able to do a simple less-than check?
16:41 Juerd Likewise, "z".."a"
16:42 theorbtwo They are possible in .. ranges; I suppose they should probably be possible in direct char-class ranges as well.
16:42 brother VRat what type is that?
16:43 Juerd theorbtwo: Really? Then I said nothing.
16:43 theorbtwo OTOH, z-a doesn't have a meaning really different from a-z in a charclass or trans range.
16:43 theorbtwo brother, 1/3?
16:43 theorbtwo ?eval ref 1/3
16:43 evalbot_7612 ::Rat
16:44 nothingmuch has joined #perl6
16:45 nothingmuch my sister is so violent
16:45 eric256 .. ranges can't go backwards...at least not yet. is that a planned addition/
16:45 eric256 ?
16:45 nothingmuch why can't they?
16:45 nothingmuch that always bothered me about perl 5
16:46 * eric256 meant can't as in "they don't" but mispoke
16:46 eric256 ?eval 9..1;
16:46 eric256 ?eval 1;
16:46 evalbot_7612 ()
16:46 evalbot_7612 1
16:46 nothingmuch ?eval reverse 1 .. 9
16:46 evalbot_7612 "9 8 7 6 5 4 3 2 1"
16:46 nothingmuch that's completely unhuffmanized
16:46 Juerd <--- MARK
16:46 Juerd I'm timing something :)
16:47 eric256 I didn't say they shouldn't. I said they don't and asked if that is a planned addition.
16:47 Juerd theorbtwo: "z-a" => "a-z"
16:47 brother Shouldn't be too hard to add if it is wanted
16:48 * nothingmuch will add it
16:48 Juerd Yay
16:48 PerlJam what about unintentional errors?  They're harder to spot if you allow ranges to go either way.
16:48 PerlJam (I'm only talking about .. here, not  "a-z" )
16:48 Juerd PerlJam: ...
16:49 Juerd PerlJam: Can we please trust the coder?
16:49 Juerd Instead of crippling the language, taking away useful constructs because they might be used wrong
16:49 nothingmuch PerlJam: i haven't ever gotten '9 .. 1' wrong by accident
16:49 PerlJam okay.  I'll trust the coder.  As long as it's literals
16:49 nothingmuch i did try it several times though
16:50 nothingmuch each time i forgot it isn't supporte
16:50 nothingmuch d
16:50 PerlJam i.e.,  $alpha..$beta  had better not switch on my
16:50 nothingmuch huh?
16:50 PerlJam er, s/my/me/
16:50 Juerd PerlJam: If they want $min > $max to die, they should write "$max > $min or die".
16:50 Juerd eh
16:50 Juerd s/or/and/  # another thing we don't have or need protection for
16:50 nothingmuch how come?
16:51 Juerd PerlJam: If you need to make sure your data is correct, make sure your data is correct. Perl shouldn't assume that certain sets of data are valid or invalid. It doesn't know what their functions are
16:52 * nothingmuch agrees with Juerd
16:52 Juerd I've actually writtensomething like $foo > $bar ? $bar..$foo : $foo..$bar a few times. It sucks to have to do it. It sucks that such a great language can be so annoying.
16:52 PerlJam Take it up with p6l and get it sanctioned by @Larry then
16:52 nothingmuch sometimes I feel like for some reason perl 6 contains a huge bundle of useless rules to protect the idiots
16:52 gaal uh, please p6l this. it's a common idiom to have a loop not enter if to < from.
16:52 geoffb Um.  It is a really common idiom to say something in Perl 5 like 'foreach my $index1 (1 .. @foo) { ... }', and know that if @foo has no elements, the loop won't run
16:52 Juerd gaal: Then they can add :by(+1), to make sure it won't pick -1 automatically.
16:53 gaal Juerd: they can. my point is conventional, not technological.
16:53 Juerd But automatically choosing between +1 and -1 is, IMO, the best option
16:53 geoffb gaal, OK, then you're dehuffmanizing a different DWIM
16:53 theorbtwo geoffb: foreach my $index (@foo.keys) {...}
16:53 theorbtwo I could have sworn 9..0 was specced.
16:53 eric256 shouldn't => be creating a pair now? and if so then how do sign a sub such that it expects a list of pairs?
16:53 geoffb theorbtwo, I know that.  I'm saying, it's an idiom P5'ers expect.  That will trip people up.
16:53 Juerd geoffb: Really? I'd say it's bad style, and change the code.
16:53 eric256 and can pairs have complex keys or do the keys still get turned into strings?
16:54 gaal Juerd: that's a valid position. But this certainly needs to be raised for discussion.
16:54 geoffb Juerd, it's a style used (with obvious variants) in almost every imperative language.
16:54 nothingmuch eric256: 'sub foo (*@list of Pair) {  }'D
16:54 Juerd geoffb: For starters, $index is used with 1..something, horribly unmaintainable, of course, as indexes start at 0.
16:54 Juerd geoffb: Secondly, it has a condition without it being written, which is also hurting maintainability.
16:55 geoffb Juerd, I'm not disagreeing that it's hazardous and unclean and comes from the elder gods.  I'm saying it's really bloody common
16:55 PerlJam eric256: keys can be anything.
16:55 Juerd geoffb: Do note that the same problem does exist with 0..$#foo
16:55 Juerd geoffb: But that's 1 bad habit less
16:55 geoffb Juerd, right.
16:55 Juerd geoffb: And lets many less alarm bells ring in my head.
16:55 Juerd Now, $#foo returning -1 is the real problem here
16:56 Juerd It should be undef
16:56 brother keys got turned into string 24 hour ago, right?
16:56 Juerd -1 is a convention that Perl uses almost nowhere.
16:56 Juerd The same weird convention is used by substr
16:56 Juerd But not anywhere else, as far as I know.
16:56 elmex has quit IRC ("leaving")
16:56 elmex has joined #perl6
16:56 elmex has quit IRC (Client Quit)
16:56 elmex has joined #perl6
16:57 nothingmuch brother: keys can be anything, but are by default strings
16:57 Juerd nothingmuch: "by default"?
16:57 theorbtwo Huh?  Even on arrays?
16:57 nothingmuch IIRC hashes will stringify keys by default
16:57 Juerd nothingmuch: Nafaik.
16:57 theorbtwo ?eval [0..9].keys
16:57 evalbot_7612 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
16:57 theorbtwo Whew.
16:57 nothingmuch theorbtwo: err, right, i was only speaking about hashes
16:58 nothingmuch ? class Foo {}; my $x = Foo.new; my %hash; %hash{$x} = "1"; \%hash;
16:58 Juerd ?eval { 0..9.map:{$_=>1} }.keys
16:58 evalbot_7612 Error: Not a keyed reference: VCode (MkCode {isMulti = False, subName = "<anon>", subType = SubBlock, subEnv = Just (MkEnv {envContext = CxtItem (mkType "Any"), envLValue = True, envLexical = MkPad (padToList [("$?1",[(<ref>,<ref>)]),("$_",[(<ref>,<ref>)]),(​"$code",[(<ref>,<ref>)]),("$lang",[(<ref>,<ref>)]​),("&?BLOCK_EXIT",[(<ref>,<ref>),(<ref>,<ref>),(<​ref>,<ref>),(<ref>,<ref>),(<ref>,<ref>),(<ref>,<r​ef>)]),("&break",[(<ref>,<ref>),(<ref>,<ref>)])
16:58 Juerd Right. Bad habit, leaving hash out.
16:58 Juerd ?eval hash { 0..9.map:{$_=>1} }.keys
16:58 evalbot_7612 Error: cannot cast from VUndef to Handle (VHandle)
16:58 nothingmuch Juerd: you have to disambiguate that as hash
16:58 geoffb Juerd, (sorry, had been called away for a sec) -- I'd argue that $#foo returning -1 is *so that this idiom works*
16:58 nothingmuch ?eval class Foo {}; my $x = Foo.new; my %hash; %hash{$x} = "1"; \%hash;
16:58 Juerd ?eval (hash { 0..9.map:{$_=>1} }).keys
16:58 evalbot_7612 {("<obj:Foo>" => "1")}
16:58 evalbot_7612 Error: cannot cast from VUndef to Handle (VHandle)
16:58 Juerd I give up.
16:59 PerlJam Juerd: Quoting S09:  "To declare a hash that can take any object as a key rather than just a string, say something like: my %hash is shape(Any);"
16:59 nothingmuch ?eval class Foo {}; my $x = Foo.new; my %hash is shape(Any); %hash{$x} = "1"; \%hash;
16:59 evalbot_7612 {("<obj:Foo>" => "1")}
16:59 Juerd geoffb: Can be. Then we have two reasons to change it :)
16:59 theorbtwo ?eval 0..9.map:{hash($_=>1)}.keys
16:59 evalbot_7612 Error: cannot cast from VUndef to Handle (VHandle)
16:59 Juerd PerlJam: Oh.
16:59 Juerd PerlJam: That is unfortunate and at the same time very useful.
16:59 PerlJam and "The standard Hash is just my Any %hash is shape(Str);"
17:00 * nothingmuch always wondered why that is
17:00 nothingmuch yet another special case I find unpleasing
17:01 geoffb Juerd, heh.  In the end, I think DWIMming for both people used to that idiom and people expecting 9 .. 0 == reverse 0 .. 9 is nigh impossible
17:01 eric256 ?eval ( [1..5] => 'a-e' );
17:01 evalbot_7612 ([1, 2, 3, 4, 5] => "a-e")
17:01 rantanplan_ has joined #perl6
17:01 nothingmuch eric256: that's just a pair, it hasn't got that restriction
17:01 eric256 hmmm. in that case brother your question to p6l is pointless (although inspired by me so i take blame)....must need to change the signatuer of your sub
17:02 Juerd geoffb: What does "neigh" mean?
17:02 nothingmuch which is part of why I think the default hash is an odd default
17:02 eric256 nothingmuch...that was the goal...to pass a list of pairs
17:02 geoffb "near"
17:02 PerlJam Juerd: that's the sound a horse makes!  :)
17:02 nothingmuch oh, i thought you were making a point in the hash shape discussion
17:02 Juerd geoffb: I disagree
17:02 Juerd And I hate to admit that PHP has it right (see range())
17:02 geoffb You think you can make both of them happy?
17:03 geoffb And DWIM for both?  How?
17:03 eric256 nah the whole idea of shapes scare me. for now.
17:03 PerlJam Juerd: um ... as right as it can given the fundamental brokenness you mean?
17:03 Amnesiac has joined #perl6
17:03 brother eric256: ehm, yes I see that but ...
17:03 * nothingmuch wonders what is right about from x to y being () for 'from ten to zero'
17:03 nothingmuch count down from ten to zero.
17:03 nothingmuch ()
17:03 brother "abc".trans("a b c" => <A B C>)
17:03 brother ?eval "abc".trans("a b c" => <A B C>)
17:04 evalbot_7612 "ABC"
17:04 brother That shouldn't work then
17:04 gaal nothingmuch: most anything can be hashed, but strings have a straightforward way
17:04 PerlJam holy crap ... /me just discovered that the U where he works has a course called "Visual Programming Languages"
17:04 brother ... with myr present trans
17:04 nothingmuch gaal: hashing is easy for objects too
17:04 nothingmuch you have a static address or offset pointer
17:04 nothingmuch a number is easier to hash than a string
17:05 eric256 it does with your current because you strinigiy the right(joining with spaces)
17:05 nothingmuch some data structures know to hash by value instead of by id
17:05 nothingmuch like strings
17:05 eric256 ?eval sub trans(*@intable as Pair) {};
17:05 evalbot_7612 Error:  unexpected "a" expecting trait, "-->", ",", ":" or ")"
17:05 eric256 ?eval sub trans(*@intable of Pair) {};
17:05 evalbot_7612 Error:  unexpected "o" expecting trait, "-->", ",", ":" or ")"
17:05 Juerd geoffb: No, I think one of the DWIMs is wrong.
17:05 geoffb nothingmuch, there's nothing "right" about the current x .. y state of affairs.  It's just that right now, the equivalent of :by(+1) is implied, in a sop to the loop idiom.
17:06 brother ?eval "ABC".trans(<A B C> => "abc")
17:06 evalbot_7612 "acC"
17:06 nothingmuch the loop idiom should be phased out then
17:06 geoffb nothingmuch, so people expect it to remain true.
17:06 nothingmuch many things are changing in perl 6 towards correctness
17:06 eric256 ?eval sub trans(*@intable ) {};  trans(<a b c> = > "1-5");
17:06 evalbot_7612 Error:  unexpected "t" expecting ";", statements or end of input
17:06 eric256 ?eval sub trans(*@intable ) {};  trans(<a b c> => "1-5");
17:06 evalbot_7612 undef
17:07 nothingmuch the converter could convert .. into .. :by(+) for perl 5 code
17:07 nothingmuch and new code will benefit from more useful operators
17:07 eric256 ?eval sub trans(*@intable ) { return @intable.perl; };  trans(<a b c> => "1-5");
17:07 evalbot_7612 "[]"
17:07 eric256 that makes no sense to me.
17:07 geoffb nothingmuch, in the end, the suggested change will result in correctness.  For a long time, people will forget, and their code will be silently wrong, as it's not something like a type error that we can possibly error on.
17:08 brother I'm confused
17:08 geoffb I wouldn't even bring this up if not for the fact that we'll end up with broken code that produces no warnings and no errors.
17:08 nothingmuch i thought the whole thing with perl 6 is that we allow the community to break backwards compatibility where it couldl help
17:09 brother ?eval sub trans(*%intable ) {say %intable.perl};  trans(<a b c> => "1-5");
17:09 evalbot_7612 {("a b c" => "1-5")} bool::true
17:10 brother That is compatible with the .trans signature
17:10 geoffb nothingmuch, (and this is an honest question), how many times have we broken compatibility in a way that makes a working P5 construction silently do the wrong thing?
17:10 nothingmuch i don't know
17:10 nothingmuch but the words 'no longer' and 'now' appear a lot in the synopses
17:10 geoffb The compatibility breaks I am coming up with off the top of my head would at least trigger an error.
17:11 Juerd geoffb: People cannot expect things to stay the same, because most will just not.
17:11 eric256 use Perl5Warnings;  #for those things you just wouldn't noitce.   ;)
17:11 Juerd geoffb: This is something of far wider scopethan ranges
17:11 geoffb It's being able to trigger an error that makes a compatibility break easy for me.  Ones that cause silent failure have a higher hill to climb
17:11 Juerd geoffb: Syntax and semantics change at all levels. It'd be silly to keep something the wrong way for backwards compatibility, while the rest does change for the better.
17:12 Juerd geoffb: Abigail had a good example of something else that will silently do somethning A perl5 programmer won't expect
17:12 svnbot6 r7613 | iblech++ | * t/operators/range.t: Reenabled one subtest and added some more tests for
17:12 svnbot6 r7613 | iblech++ |   $char1..$char2.
17:12 svnbot6 r7613 | iblech++ | * t/data_types/pair.t: => should not stringify the key. (Passes in vanilla and
17:12 svnbot6 r7613 | iblech++ |   PIL2JS).
17:12 Juerd geoffb: On the hates-software list
17:12 evalbot_7612 has quit IRC (Remote closed the connection)
17:12 eric256 for @array.values   and for @array.keys are mech better idioms than the current and should be forced onto the heathen that don't use them. ;)
17:12 Juerd geoffb: We can cripple the language again, sure
17:12 Juerd geoffb: I just don't think that's a good idea
17:13 evalbot_7613 has joined #perl6
17:13 elmex_ has joined #perl6
17:13 * eric256 would like to get back to his question that stared all this....does pugs currently allow you to pass pairs? becuase it doesn't seem to be, or i'm doing something wrong
17:14 eric256 ?eval sub trans(*@intable ) { return @intable.perl; };  trans((<a b c> => "1-5"));
17:14 evalbot_7613 "[]"
17:14 elmex_ has quit IRC (Client Quit)
17:14 eric256 ?eval sub trans(*@intable ) { return @intable.perl; };  trans(<a b c> => "1-5");
17:14 evalbot_7613 "[]"
17:14 brother ?eval sub trans(*%intable ) {say %intable.perl};  trans(<a b c> => "1-5");
17:14 evalbot_7613 {("a b c" => "1-5")} bool::true
17:14 eric256 yea but % is forceing hash which by default stringifies the key.. i though that was the difference between a hash and a list of pairs
17:15 ods15 ?eval say "a"
17:15 evalbot_7613 a bool::true
17:15 ods15 ?eval say "a"; say "a"
17:15 evalbot_7613 a a bool::true
17:16 brother eric256: I see (I think...)
17:17 eric256 also a list of pairs could have two pairs with the same key and different values... i see  use to having that in addition to hashes, not the least of which is being able to code trans() in a sane logical way
17:18 Limbic_Region brother - did you check in your patches and add yourself to the AUTHORS file?
17:18 brother Limbic_Region: yes
17:19 geoffb Juerd, (sorry, had been alled away again) I don't disagree with you.  Just two things: 1) I think it is valid to make someone at least present a decent case for why a silent-fail compatibility break is worth it, and 2) I think all known silent-fail breaks should be written up in a GOTCHAS file or somesuch in 72-point bright magenta type
17:19 geoffb er, called away
17:19 eric256 also a list of pairs maintains order while a hash does not.
17:19 Juerd geoffb: Except it's not failure
17:20 Juerd geoffb: It does something very noticeable
17:20 Juerd geoffb: And thus easy to debug in case you have to
17:20 Juerd So I wouldn't even call it silent
17:20 Juerd When using element [0] of an empty array, you probably get a warning
17:21 Juerd When using element [-1], it is fatal
17:21 * geoffb looks askance at Juerd
17:21 Juerd What does askance mean?
17:21 Limbic_Region brother - glad to see that you are onboard.  Since you are new face, mind if I ask what you are working on primarily?
17:21 PerlJam eric256: given  %hash = ( a=>1, b=>2, a=>3);  What does this output?  say %hash<a>;  
17:21 * geoffb needs to limit self to commonly-used words, oops
17:22 Juerd geoffb: No, don't. Then I'll never learn :)
17:22 geoffb sidelong?  um, suspiciously?
17:22 Juerd Then: why look that way?
17:22 eric256 PerlJam....why are you asking me?  that should be (a=>3,b=2) but i don't see what that has to do with lists of pairs?
17:23 PerlJam eric256: You were commenting on a list of pairs maintaining order as compared to a hash.  I thought that might be a good example.
17:23 geoffb OK, can we agree that at least this would deserve an entry in a GOTCHAS file, along the lines of "Did your loop iterating over a range suddenly switch from 0 iterations to 2?  That's because ranges can now sanely go in reverse.  You probably want a .. b :by(+1)."
17:23 eric256 right. in that example it could aslo return (b=2, a=>3) looseing order
17:24 theorbtwo The suggested solution should likely mention @array.keys as well.
17:24 Juerd geoffb: Suddenly? Automated translation should do that: translate, and not just literally copy
17:24 Juerd geoffb: And everything you type in by hand should be safely assumable as Perl 6
17:24 renormalist has joined #perl6
17:24 brother Limbic_Region: At the moment fixing stuff I find which can be fixed in Prelude.pm
17:24 geoffb Juerd, do you really believe that people won't baby talk in Perl 6, as we (explicitely) assume they will in Perl 5?
17:25 eric256 in the case of trans  ( "a-z" => "A-Z", b => b) the order is important. because that is very different than  ( b => b, "a-z" => "A-Z")
17:25 geoffb We have to help the people making the transition to fix their brains piece by piece.
17:25 mrborisguy ?eval my %hash = (a=>1, b=>2, a=> 3); %hash<a>
17:25 eric256 excuse my poor quoting practice
17:25 evalbot_7613 \3
17:25 Juerd geoffb: I think this belongs in a migration document, but is not a gotcha.
17:25 Juerd Nor a trap.
17:25 geoffb There's just no way that someone new to Perl 6 will soak up all the AES before starting to code
17:25 geoffb Juerd, OK, I might be able to accept a migration doc.
17:25 Juerd But then, so does every important change.
17:26 geoffb Right now, we have translation docs.  But a migration doc that called out these kinds of expectation changes gets +1 in my book.
17:26 Juerd We need a very solid and clear migration document
17:26 PerlJam geoffb: I'll agree that we need to be real careful about syntax that looks  the same in both perl5 and perl6 but has slightly difference semantics.  If that's a "migration doc" and/or a "gotchas" doc and/or a note next to each entry in the docs that describe the syntax, that's fine with me.
17:26 geoffb Would you accept that the migration doc would at least highlight breakages of expectation, as opposed to meer changes of syntax?
17:27 Juerd That doesn't dive into details, but does warn of all the important changes.
17:27 Juerd Where new features are NOT important enough to mention!
17:27 geoffb PerlJam, nodnod
17:27 geoffb Juerd, nodnod as well
17:27 Juerd (Except of course in possible new idioms/solutions)
17:27 geoffb OK, I think we're starting to reach some sort of consensus.  Is this true?
17:27 theorbtwo I think it's a good idea as well.
17:28 mrborisguy as someone who tried to read AES for a bit, but was overwhelmed, I'd say it's a good idea
17:28 Juerd geoffb: I refuse to work with user expectation. It's impossible. What someone expects depends on their ability to think logically, the language they came from (might be PHP, not Perl 6, for example), and their knowledge of that language
17:28 theorbtwo (Though in some cases, like the one being discussed earlier, the solution should mention a new feature.)
17:28 Juerd geoffb: Instead, their expectations must be adjusted to reality.
17:28 Juerd Expectation is never a good point of view to document from.
17:28 geoffb Juerd, but do you agree that a migration doc is the appropriate way to adjust their reality?
17:28 Juerd Don't take this personally. It's a pet peeve.
17:28 Juerd geoffb: Yes.
17:29 geoffb w00t, consensus
17:29 eric256 Perl6 Idioms and their Perl5 counterparts.  (or vic versa)
17:29 theorbtwo Juerd, expectation is often a good point of view to document from, it's just not good as an only place to document from.
17:29 Juerd geoffb: But in the form of: "foo was written as bar, but is now written as baz", and "foo used to bar, but it now bazs"
17:29 theorbtwo Perl 5 idioms that break in perl 6, and how to fix them.
17:29 PerlJam mrborisguy: it's all the minutia that really get you.  "REs are now called rules with radical syntax changes?  no problem"  ".. can go forward *and* backward?  wha?"  :_)
17:29 geoffb Juerd, as opposed to?
17:29 PerlJam :-) even
17:29 Juerd geoffb: Never in the form "You might expect it to xyzzy, but it will quux instead." That only makes people think the language is stupid, and that they themselves are not, while the reverse is usually true.
17:30 geoffb Juerd, ah, OK, using appropriate language in the doc, I think I understand you now.
17:30 PerlJam Juerd: were you a psychologist in a past life? :)
17:30 theorbtwo It'd be very bad if something were only documented here.  It'd be good if it were documented there and somewhere else.
17:30 Juerd Only bashing myths should be done from expectation, because myths need to be mentioned explicitly in order for them to be correctly destroyed.
17:30 geoffb theorbtwo, "here" and "there" ?
17:31 Juerd PerlJam: I don't know.
17:31 Juerd PerlJam: But I do have very strong opinions about good documentation.
17:31 geoffb Juerd, good.
17:31 theorbtwo geoffb: Here and there are supposed to be the same place, in this gotchas file.
17:31 PerlJam theorbtwo: are you just advocating redundancy in documentation?
17:31 mrborisguy on feather: man pugs   -> no manual entry for pugs
17:31 theorbtwo I'm advocating this specific redundancy, as well as reduncay in general.
17:32 Juerd 19:32 < theorbtwo> Perl 5 idioms that break in perl 6, and how to fix them.
17:32 mrborisguy has nobody written a man page for pugs?
17:32 Juerd theorbtwo: See? That's the wrong way :)
17:32 PerlJam mrborisguy: man pages aren't sexy
17:32 geoffb PerlJam, theorbtwo: I think it is perfectly appropriate to have one canonical set of docs that specifies everything, then views into it (like the migration doc) that pull out things that a particular use case will care about.
17:32 brother isn't that usually a Debian maintainers job?
17:32 Juerd theorbtwo: It's not breakage, it's change.
17:32 mrborisguy PerlJam: That's not where people to expect to get information?
17:32 theorbtwo Yeah, geoffb, that's likely a good idea, but I'm not sure from what point of view to implement it.
17:32 Juerd theorbtwo: Instead, "Old idioms and their new counterparts" :)
17:33 geoffb And I meant "views into it" in a general sense, not a technical implementation sense
17:33 Juerd Perl 5 is bad, Perl 6 is good. That's the only way people will accept change.
17:33 eric256 Juerd since the perl5 idiom IS broken if used in perl 5 it is true.  /me thinks Juerd needs his morning coffee
17:33 PerlJam mrborisguy: given the choice of implementing a pugs feature and writing a man page, I'd go for implementing the feature.  I think most people are that way.
17:33 brother pugs in Debian has a man page installed
17:33 eric256 people wont accept change no matter what you do. ;) people don't like change
17:33 theorbtwo geoffb: Oh, right.  In that case, it's certianly a good way to do it.
17:33 Juerd Saying Perl 5 was good, and that Perl 6 breaks the code (is bad) is likely to result in people hating Perl 6 unnecessarily.
17:33 Juerd It breeds little abigails.
17:33 PerlJam mrborisguy: feel free to write the doc though; I think it would be great to have.
17:33 Juerd OMG It breaks my code!
17:34 Juerd No, you have to accept that it is another language.
17:34 eric256 no one said good or bad.  Perl6 isn't Perl5+1...thats a fact people need to come to terms with.
17:34 mrborisguy PerlJam: a'ight, maybe I will sometime.  I'll look into it.
17:34 Juerd Hence my continued preference for a non-perl name for Perl 6.
17:34 geoffb mrborisguy, there are actually a couple manpages for pugs.  pugs::hack and pugs::run.  There's just no overall pugs manpage that points you to the others
17:34 chip Juerd: how about "Topaz"?
17:34 PerlJam eric256: no, it's perl5i+1
17:34 Juerd chip: Why?
17:34 PerlJam chip:  :-PP
17:34 * chip grins
17:34 chip Juerd: old joke
17:34 Juerd chip: I like "pugs", actually.
17:35 * eric256 casts vote for pugs
17:35 Juerd chip: Will you explain it?
17:35 eric256 hey you stole my idea for a name!
17:35 PerlJam Juerd: chip wrote the first stab at a perl6.  It was called Topaz.
17:35 chip Juerd: years ago I decided that I liked Perl but hated its guts, so I set out to reimplement Perl 5 in C++
17:35 geoffb Damian did a conceptual exercise call Perl 5+ i, when Perl 6 was being thought of.
17:35 chip No language changes
17:35 PerlJam oh right.  That was what?  7 years ago?
17:36 PerlJam give or take a year
17:36 geoffb PerlJam, don't remind me.  :-P
17:36 * theorbtwo feels old.
17:36 Juerd 7 years ago... That's just before I started using Perl.
17:36 geoffb Juerd, really?  Wowsers
17:36 Juerd Are those good or bad wowsers?
17:37 PerlJam Juerd: Why must everything have a good/bad connotation ?  :)
17:37 geoffb Juerd, for some reason I thought you had been around the camel longer.  Don't know why.
17:37 Juerd geoffb: I wanted a programming language to replace basic when I migrated from win32 to linux
17:37 Juerd geoffb: That was 7 years ago.
17:37 geoffb Juerd, good choice then!
17:37 geoffb And good for you.
17:38 PerlJam geoffb: How long have you been hacking perl?
17:38 geoffb PerlJam, Since the Perl 4 days.  What was that, a decade or so?
17:38 Juerd geoffb: I've only learned about the entire community thing in 2001
17:38 Juerd I've had Perl 4 days, by the way. My linux distribution at home was very old and I had no internet connection big enough to leech a newer.
17:38 PerlJam geoffb: Since you've been steeped in perl for so long it's hard to imagine anyone of clue in the perl community who isn't "from the old days" :)
17:39 Juerd For half a year, I used Perl 4
17:39 Juerd And became really intimate with split and join.
17:39 PerlJam Juerd: you poor poor man.
17:39 * geoffb is not exactly an old-timer, but the percentage of people with Perl 4 experience seems small these days.
17:39 geoffb Juerd, heh.
17:39 geoffb PerlJam, nodnod
17:40 Juerd I've tried Perl 1 too, a few years ago
17:40 geoffb Juerd, heh.
17:40 Juerd Only to try and write perl 1|5 programs
17:40 Juerd Which was possible and very challengirg.
17:40 Juerd s/irg/ing/
17:40 geoffb Hubris
17:40 Juerd Did you know that "do subname (list);" syntax is STILL available in 5.8?
17:41 geoffb !
17:41 PerlJam Juerd: I bet "reset" is still around too.
17:41 * PerlJam checks
17:41 Juerd It is.
17:42 Juerd As is study.
17:42 PerlJam There's lots of perl<5 hanging around in perl 5.8
17:42 Juerd Study's penalty nowadays is greater than its benefit.
17:42 * chip remembers when "&" was introduced.  TEH SHINY
17:42 geoffb Juerd, study actually has a purpose.
17:42 Juerd chip: You're OLD!
17:42 geoffb :-)
17:42 * theorbtwo has never called study or reset, but knows what both of them do.
17:42 PerlJam Has anyone actually used study in production code?
17:42 geoffb Yeah, chip qualifies as an old-timer
17:42 Juerd I've thought for a while that study was there only for poetry.
17:43 geoffb PerlJam, I have.  And yes, I benchmarked.  And yes, it was a win.
17:43 PerlJam I used study once ... then I optimized my code by removing the call to study  :)
17:43 geoffb You have to be careful how you use it.
17:43 evalbot_7613 has quit IRC (Remote closed the connection)
17:43 Juerd PerlJam: I have. To discover that it wasn't useful enough.
17:43 evalbot_7614 has joined #perl6
17:44 PerlJam geoffb: I was attempting to use it in the manner that the docs said would be a win (perl4 days).  It wasn't.
17:44 svnbot6 r7614 | iblech++ | t/data_types/array.t, t/data_types/array_extending.t:
17:44 svnbot6 r7614 | iblech++ | * Assigning to @array[-1] of an empty array should die.
17:44 svnbot6 r7614 | iblech++ | * defined @array[-1] should live (and return false) and should not alter @array.
17:44 svnbot6 r7614 | iblech++ | * @array.exists(-1)  should live (and return false) and should not alter @array.
17:44 geoffb PerlJam, nodnod
17:44 geoffb iblech++ again # for all the wonderful spec testing he does
17:45 theorbtwo Hmm?  iblech, where are those specced?
17:45 xerox has joined #perl6
17:45 xerox Yow.
17:45 geoffb xerox, ?
17:45 Juerd Hello, dear fax machine
17:45 xerox Hi there!
17:45 PerlJam theorbtwo: those last two seem sane.  That first one is questionable though
17:46 Juerd Why did you take two sheets of paper today? You know that jams.
17:46 * xerox slurps some sheets
17:46 Juerd PerlJam: What's the last element of an empty array?
17:46 theorbtwo Autovived element zero, in an autoviving context, I'd say.
17:46 chip it's teh fractional part of an integer
17:47 geoffb chip, *chuckle*
17:47 Juerd theorbtwo: What's the -2nd element of an empty array?
17:47 Juerd Why would -1st be different?
17:47 theorbtwo Autoviv element 0 to the value assigned, and autoviv element 1 to undef.
17:48 theorbtwo orafu, die.
17:48 theorbtwo Damm broken autocompletion!
17:48 theorbtwo or, die.
17:48 Juerd theorbtwo: But after that, -1 is no longer the same -1 as before.
17:48 PerlJam Juerd: Since we normally inflect about the 0, why not make assignment to @array[-1], @array[-2], etc. autovivify appropriately?
17:48 theorbtwo But assigning to $foo[-1] without testing if @foo is useful, whereas assigning to $foo[-2] probably isn't.
17:48 Juerd theorbtwo: Useful why?
17:48 xerox I'd say, the empty array again, or an error?
17:49 geoffb I agree with Juerd and iblech: Assigning to @array[-$a] when $a > @array.elems should die
17:49 Juerd Is -1 ever used in a place where autovivification makes sense?
17:49 Juerd Is there ever a need to enforce that an array has a last element?
17:49 wilx has quit IRC (Read error: 104 (Connection reset by peer))
17:49 Juerd Aren't you, in such a case, looking at the array in the wrong order anyway?
17:50 theorbtwo I've assigned to $foo[-1] on purpose, though I cannot now recall what that purpose was.
17:50 Juerd theorbtwo: Please look it up. It should be easily greppable.
17:50 Juerd Although
17:51 Juerd You probably changed it after finding that it didn't work
17:51 PerlJam Juerd: you could always just use the "it dies in perl5..." argument  too  :)
17:51 theorbtwo Indeed.
17:51 Juerd PerlJam: This dies for very different reasons
17:52 nothingmuch has quit IRC (No route to host)
17:52 Juerd wolverian: I forgot to mention: anything with bright blue leds is suspicious.
17:52 PerlJam I still think that my @array; @array[-5] = 3;  should create a 5 element array with @array[0] = 3;
17:53 Juerd PerlJam: Will you be likely to use another -$foo after that?
17:54 Juerd Or, actually: are you likely to ever write @array[-5] = 3?
17:54 wilx has joined #perl6
17:54 * theorbtwo wishes his fan control thingy didn't have blue lights, but I couldn't find one that wasn't full of geek bling.
17:55 Juerd theorbtwo: s/fan control/potentiometer/
17:55 Juerd Et voila!
17:56 theorbtwo Juerd: I know that... more or less.  But it has four pots, with nice dials on them, and the correct sockets.
17:56 r0nny re
17:56 theorbtwo And I didn't have to build the blasted thing myself.
17:56 r0nny hoi there
17:56 Juerd theorbtwo: That's a very different story :P
17:56 PerlJam Juerd: I don't know.  But I can still be stubborn (if wrong) on this point until I change my mind :)
17:56 r0nny got a question about pug's perl thread controlls
17:57 Juerd Threads in pugs?
17:57 PerlJam r0nny: does such a thing even exist?
17:57 r0nny yeah
17:57 * PerlJam continues to stay away from threads
17:57 r0nny pugs got threads
17:58 theorbtwo Pugs has threads.
17:59 r0nny i want to know, how to controll them better
18:00 PerlJam brother++ (praise from larry is always good :)
18:02 brother \o/
18:10 larsen has quit IRC ("later")
18:11 geoffb Apropos to discussion last night with GeJ, and to our discussion earlier about migration documents, what do you folks think of this idea:
18:12 geoffb A book, "Migrating to Perl 6", released on or about the same date as 6.0.0.  Includes a sections on:
18:13 geoffb * converting today's P5 scripts to P6, including discussions about Ponie and automatic translation.
18:13 PerlJam geoffb: great!  Now we'll have *two* things that never get released  ;)
18:13 geoffb * Things to change from P5 coding style to P6 coding style, with migration tips as per earlier discussion
18:14 geoffb * Moving the mindset to P6, and making use of the new features
18:14 evalbot_7614 has quit IRC (Remote closed the connection)
18:14 geoffb PerlJam, :-P
18:14 evalbot_7615 has joined #perl6
18:14 theorbtwo I'd be really PO'd to learn that 6.0.0 is being delayed so as to co-incide with the book.
18:14 geoffb theorbtwo, well of course not, silly
18:14 Cryptic_K has joined #perl6
18:14 geoffb I'm saying that would be the goal timeline for the book author.
18:15 PerlJam geoffb: When you refer to "coding style", what are you talking about?
18:15 theorbtwo How else are you going to do it?  The press timeline between final draft and release has got to be *at* *least* 6 months.
18:15 theorbtwo ...and things will change with perl6 up to the day 6.0.0 is declared.
18:15 PerlJam geoffb: translating idioms?  while (<>) {...}  becomes for =<> { ... }  and that sort of thing
18:15 geoffb theorbtwo, that's what second editions and online websites are for
18:16 geoffb PerlJam, yeah, that's what I meant with the second section
18:16 PerlJam theorbtwo: plus publication could mean "published in book form on the web" instead of "published in dead tree form"
18:17 geoffb Because I see a few phases: 1) Just make old code work again, 2) get idiomatic without using lots of whiz-bang features, 3) start trying out the whiz-bang stuff.
18:17 theorbtwo Ah.  To me "book" and "published" implied dead-tree pretty strongly.
18:17 geoffb And I'd think a book could follow that progression relatively well
18:17 geoffb theorbtwo, my image was a simultaneous release under Creative Commons or somesuch.
18:17 geoffb O'Reilly, ferinstance, doesn't seem actively against that.
18:18 theorbtwo Yeah, but if it's a simultaneous release, you've still got the problems of press delay.
18:18 svnbot6 r7615 | iblech++ | * t/data_types/pair.t: Pairs with complex keys should not get stringified when
18:18 svnbot6 r7615 | iblech++ |   passed to a sub.
18:18 svnbot6 r7615 | iblech++ | * t/var/autoref.t: Using array literals, arrayref literals, and hashref
18:18 svnbot6 r7615 | iblech++ |   literals as keys and values of pairs should cause appropriate
18:18 svnbot6 r7615 | iblech++ |   autoreferentiation (key => <a b c> should be the same as key => [<a b c>]).
18:18 svnbot6 r7615 | iblech++ |   (Both Pugs's vanilla core and PIL2JS pass 57/57.)
18:19 geoffb theorbtwo, I think you're too caught up in the date issue.  I thought that would be cool -- it's not the centerpoint of my suggestion.
18:19 geoffb "First feature request to axe if needed"
18:21 geoffb Wow, does everyone just think this is stupid?
18:22 theorbtwo I'd like a good migration guide.
18:22 theorbtwo I think it'd be very good.
18:22 PerlJam geoffb: Depends.  Are you volunteering to be the author ? :)
18:22 theorbtwo I think pulling in the word "book" and mentioning a release sechedule is bad.
18:23 geoffb PerlJam, sortof judging interest.
18:23 geoffb The economics of publishing mean that it has to go over well or the author starves.
18:24 PerlJam geoffb: oh, then mark me down as interested but only if there's a definite author (as opposed to "would it be great if ..." with no one to do the work)
18:24 geoffb theorbtwo, my bad.
18:26 * geoffb weighs spending off-contract time writing such a book, which has the potential to help people and produce a little bit of income, versus writing 3D code, which has considerably less potential for either of those, but is much more fun (and less exhausting) than writing a book
18:26 nothingmuch has joined #perl6
18:27 geoffb nothingmuch, please backlog ~15 minutes or so and tell me what you think.
18:27 nothingmuch okies
18:27 theorbtwo Really, I think the best WTDI would be a wiki, probably, and then for somebody to go back and make a book of it.
18:28 theorbtwo ...except that I think if there was the perception that that person was making too much money for too little work it'd set things back a fair way.
18:28 geoffb wikis are good at getting random stuff down.  They are bad at flow and completeness (wikipedia of course being special)
18:28 renormalist Regarding your discussion about how to tell people the migration of idiom: it would already be useful, if people would start using more of those Perl6:: modules. I don't know anyone using them.
18:28 geoffb Oh nice, momentary power outage
18:29 obra I'd actually expect 3 months between "draft completion" and "paper books", theorbtwo
18:29 geoffb Damn, I need to get UPS #2 fixed, the mac got shut down
18:29 obra as that's what oreilly did for the book I just put out. ;)
18:29 nothingmuch geoffb: that's a good idea
18:29 geoffb obra, what is your book?
18:30 geoffb nothingmuch, OK, so there's some interest at least, between you and PerlJam
18:30 nothingmuch don't look at me for help though
18:30 PerlJam geoffb: If you're going to go with the book idea, you can also put me down as someone who'll help in any way.
18:30 * nothingmuch can't write worth crap
18:30 theorbtwo Thanks, obra.  I don't have any experince with this.
18:30 geoffb nothingmuch, I wasn't expecting such.
18:30 PerlJam geoffb: proofing, writing, whatever
18:30 nothingmuch i also read too slow to help editing/proof reading
18:30 geoffb PerlJam, that's a kind offer!
18:30 nothingmuch but i would be very eager to help in any way you think i can
18:31 obra geoffb: RT Essentials
18:31 nothingmuch which is mostly code examples (review + writing)
18:31 geoffb obra, ah.  Good man.
18:31 * obra would love to see the perl6 cookbook
18:31 obra published as a real book ;)
18:31 PerlJam geoffb: Not really.  I'm selfish.  The easier it is to get people using perl6, the more people will use it, and the stronger the community will be. :)
18:32 geoffb obra, OT curiosity: does RT support authentication from Active Directory these days?  I lost a contract once because I asked too much to implement that.  :-)
18:32 geoffb PerlJam, well said.
18:32 nothingmuch geoffb: i will also be very glad to help with high level editorial - feedback on structure, digressions, TOC, ordering, etc
18:32 theorbtwo PAM++
18:32 nothingmuch but I guess all of #perl6 fits into that role anyway
18:32 * nothingmuch ponders if we could make it into a wikibook
18:33 geoffb nothingmuch, yeah, if I did it, I'd pretty much beg for help here with regularity.
18:33 * theorbtwo has yet to see his name on the acknowlagements page of a book.
18:33 PerlJam nothingmuch: That would be best I think.
18:33 nothingmuch where one person is the dictator and gets vetoing rights on structure, as well as putting in most of the input
18:33 obra geoffb: sure. basically you tell RT to trust apache. and then have apache do it
18:33 nothingmuch but everyone does proof reading, group think
18:33 nothingmuch and adds new ideas, improves examples, etc
18:33 obra geoffb: also, ther'es a contrib on the website that does it internally
18:33 nothingmuch the problem with making a wiki do that is that someone still needs to pull the whole thing into a linearized, chapter structured piece
18:33 geoffb obra, ah.  Thanks for the info
18:34 nothingmuch and someone has to provide consistent and coherent glue
18:34 theorbtwo Exactly, nm.
18:34 nothingmuch but after the skeleton is there the wiki style could really help
18:34 geoffb nothingmuch, nodnod
18:34 PerlJam There's a "plugin" for pmwiki that I've been meaning to install that will take a page or a group of pages and automatically generate a TOC, etc. and create a PDF of it all.
18:34 nothingmuch geoffb: i think a practical approach would be to start a TOC
18:34 nothingmuch and I volunteer you for the job
18:34 PerlJam Do any other wiki engines have something like this?
18:34 geoffb I should have paid more attention to how the SVK book was built in #svk . . .
18:35 geoffb nothingmuch, hold on a sec.
18:35 nothingmuch PerlJam: a TOC page could be good enough, with large chapters having a sub TOC
18:35 theorbtwo Have a wiki on the topic, and then somebody needs to go in and make it into a real book.
18:35 nothingmuch theorbtwo: i think that approach is slightly too chaotic for a good book
18:35 geoffb A) I have not committed yet, I really have to think about this.  I would treat it as a responsibility if I took it on.  And as a big one, I need to think about it.
18:35 nothingmuch i think the same person needs to start the book, and finish it
18:35 PerlJam geoffb: indeed.  think hard.
18:35 nothingmuch geoffb: that's OK, i still volunteer you =)
18:36 geoffb B) I don't know everything I would put in it yet, so a TOC may be slightly premature.
18:36 theorbtwo Possibly this can be helped by making a template, and somehow keeping the template and the bits that are filled into it sepperately.
18:36 geoffb .oO( I wonder if I can turn this into blog fodder (
18:36 PerlJam geoffb: sure, why not?
18:36 nothingmuch theorbtwo: think of it as a binary tree
18:36 nothingmuch for content to be organized well you need a good rootset
18:37 nothingmuch which is i * (log 2 n) of the size of the book
18:37 geoffb nothingmuch, nod
18:37 nothingmuch where i is at most 2-3
18:37 nothingmuch then the community can help fill everything up
18:37 nothingmuch and then an editor strings the leafs together and makes them into a book by throwing some away, and adding some where it's needed
18:38 * geoffb contemplates all of these good ideas
18:39 * nothingmuch thinks about the rootset a bit
18:39 nothingmuch it'll be on the wiki if I get something out of it
18:40 geoffb post an url if you do
18:40 nothingmuch yup
18:45 PerlJam Where's the doc that describes kwid?
18:45 mrborisguy wow... just did a pugs -CPerl5 program and looked at the output... crazy
18:45 nothingmuch mrborisguy: hehe =)
18:45 Cryptic_K has quit IRC ("Leaving")
18:46 mrborisguy looks like a direct functional language translation in Perl, eh?
18:46 mrborisguy one REALLY big line!
18:47 nothingmuch mrborisguy: that's PIL, which is ANF with more jazz
18:47 nothingmuch and ANF is a lambda calculus which is similar in purpose to SSA form
18:48 mrborisguy alright... I'll, um... keep that one in mind
18:48 mrborisguy (I'm only an undergrad here, keep it simple! :D )
18:49 Cryptic_K has joined #perl6
18:53 Cryptic_K has quit IRC (Client Quit)
18:54 nothingmuch http://pugs.kwiki.org/?MigratingToPerl6
18:54 svnbot6 r7616 | iblech++ | * t/data_types/array.t: Binding @empty_array[-1] should fail as well.
18:54 svnbot6 r7616 | iblech++ | * PIL2JS: Prelude::JS::Array: Assigning to @empty_array[-1]/@one_elem_array[-2]
18:54 svnbot6 r7616 | iblech++ |   fails now, which means that PIL2JS passes 67/67 of array.t again.
18:54 svnbot6 r7616 | iblech++ |   JS--   # var a = 42;   a.my_property = 23; print(a.my_property);  // undefined
18:54 svnbot6 r7616 | iblech++ |   (But:) # var a = [42]; a.my_property = 23; print(a.my_property);  // 23
18:54 evalbot_7615 has quit IRC (Remote closed the connection)
18:55 nothingmuch geoffb: ping
18:55 evalbot_7616 has joined #perl6
18:58 nothingmuch I added some updates
18:59 jax has joined #perl6
19:00 nothingmuch PerlJam, theorbtwo: please also comment
19:01 nothingmuch mrborisguy: http://use.perl.org/~autrijus/journal/25964
19:02 geoffb nothingmuch, pong -- sorry, @children to take care of.
19:02 nothingmuch tell them no dinner if they don't give you a few mins ;-)
19:02 jax has quit IRC (Client Quit)
19:03 geoffb Thanks for the expansion . . . I'll look at it once $child[0] starts shoveling food in
19:03 geoffb &
19:03 nothingmuch =)
19:06 eric256 brother: ping
19:06 brother eric256: pongt
19:07 eric256 hey. you got a response from larry himself...nice ;)
19:09 brother nice start for my perl6 career
19:09 nothingmuch brother: =)
19:11 eric256 so larry says its early strinigifcation...but i'm still confused as to weather %incoming in  a signature is *suppose* to force stringification or not, and weather pugs has some other signature for accepting a list of pairs or not, or if this is an unfinished feature/bug....anyone with more insight? i'm going fishing for tests as soon as svn up finishes
19:12 nothingmuch moose!
19:12 * nothingmuch is done with the book page for now
19:13 eric256 ?eval sub x (Pair $x) { return $x.perl }; x( 1..5 => 2);
19:13 evalbot_7616 "((1, 2, 3, 4, 5) => 2)"
19:13 eric256 ?eval sub x (Pair @x) { return @x.perl }; x( 1..5 => 2);
19:13 evalbot_7616 "[((1, 2, 3, 4, 5) => 2)]"
19:13 eric256 ahh!!!  not of Pair just Pair in front
19:13 eric256 ?eval sub x (Pair *@x) { return @x.perl }; x( 1..5 => 2);
19:13 evalbot_7616 "[((1, 2, 3, 4, 5) => 2)]"
19:13 nothingmuch eric256: that's a pugs bug then
19:14 eric256 it is? why? should be of Pair instead?
19:14 nothingmuch both should be supported
19:14 eric256 ahh
19:14 eric256 gotcha
19:14 nothingmuch my Pair @array; my @array of Pair; my @array is shape(...some syntax I forgot by now...); # same thing
19:15 eric256 ?eval sub x (*@x) { return @x.perl }; x( 1..5 => 2);
19:15 evalbot_7616 "[]"
19:15 eric256 ?eval sub x (Any *@x) { return @x.perl }; x( 1..5 => 2);
19:15 evalbot_7616 "[((1, 2, 3, 4, 5) => 2)]"
19:15 eric256 that just seems broken that way
19:17 Amnesiac has quit IRC (Read error: 110 (Connection timed out))
19:17 theorbtwo What is C3 dispatch order?
19:18 theorbtwo Does the new compilation stuff really need to be in the first chapter?
19:20 Gruber has quit IRC (Read error: 110 (Connection timed out))
19:22 nothingmuch theorbtwo: i think that C3 was decided on
19:22 nothingmuch as foor the compilation stuff - just a simple 2 paragraph intro - perl 6 now runs on separate backends, including parrot
19:22 nothingmuch note that BEGIN and INIT and all that will run slightly differently
19:23 geoffb nothingmuch, thank you, that's a good start!
19:23 nothingmuch =)
19:23 geoffb theorbtwo, Perl 5 people need to at least be aware that the pseudoblocks like BEGIN and CHECK are now different.
19:24 geoffb And giving them a couple paragraphs about why makes sense.
19:26 nothingmuch gaal++
19:27 nothingmuch geoffb: please make sure the last 3 paragraphs are OK with you
19:27 eric256 ?eval sub x (Str $t, Pair @x) { return @x.perl.say; }; x("hello", 1 => 5);
19:27 evalbot_7616 [(1 => 5)] bool::true
19:28 geoffb What was the gaal increment for?
19:28 * nothingmuch buys some shirts
19:28 eric256 *** Insufficient number of required parameters: 0 actual, 1 expected
19:28 nothingmuch geoffb: he added some to the wiki page
19:28 eric256 any idea what causes that error?
19:28 geoffb gaal, ah, cool
19:28 geoffb er, nothingmuch, ah, cool
19:28 geoffb But I guess both.  :-)
19:28 geoffb As for last three paragraphs:
19:29 * nothingmuch thinks that looks pretty solid for a 15 minute project ;-)
19:29 nothingmuch i'm guessing Juerd will have lots of feeback
19:29 geoffb For 1 & 2 I'm not sure whether community or editor(s) will end up supplying more content.  It's a decent way to start, at least.
19:29 eric256 seems to be being generated by : for @intable -> $item {
19:29 geoffb For 3, it's a good idea, but you never know if a publisher would buy off on that for real.
19:30 Juerd 21:32 < nothingmuch> i'm guessing Juerd will have lots of feeback
19:30 Juerd nothingmuch: re what?
19:30 nothingmuch Juerd: http://pugs.kwiki.org/?MigratingToPerl6
19:30 geoffb nothingmuch, yeah, pretty good for 15 min.
19:30 nothingmuch Juerd: geoffb's book iddea
19:30 nothingmuch geoffb: i think both oreilly and another publisher has a history of publishing opensource books, so it might not be that hard
19:31 Juerd nothingmuch: I'm opposed to the entire "incompatible changes" thing because of its wording
19:31 nothingmuch god a better name?
19:31 Juerd nothingmuch: In general, I believe that the old should be construed as that: old, gone.
19:31 geoffb Publishing, yes, absolutely.  Being willing to pay an author/editor *and* give money to TPF, that's another question.
19:31 eric256 yep definitly caused by the for loop...
19:31 geoffb Of course, I may just not have noticed it happen.
19:31 Juerd nothingmuch: In a way, all changes are incompatible. They're just changes.
19:31 nothingmuch geoffb: well, let's say the TPF publishes the book, and gives grants to the authors - what's the diff?
19:32 Juerd nothingmuch: Avoid negative words when you can do so without taking away meaning
19:32 nothingmuch Juerd: that's a good mantra
19:32 nothingmuch but I don't know how to apply it now... what could you say about 'for (my $i = 1; $i <= 10; $i++) { }' being "loop" now?
19:32 Juerd nothingmuch: Removed features, added features, changed features, equal features with different syntax: all changes, all incompatible
19:32 eric256 ?eval sub x (Str $t, Pair @x) { for @x -> $z { $x.perl.say;}  }; x("hello", 1 => 5);
19:32 evalbot_7616 Error: Insufficient number of required parameters: 0 actual, 1 expected
19:32 Juerd nothingmuch: If something changed compatibly, for all intents and purposes, it's not a change :)
19:33 geoffb nothingmuch, might be workeable.  Note: I would like your suggestion to happen.  I just was mildly dubious about it *actually* coming to pass.  :-)
19:33 eric256 tell me i'm missing something obvious...
19:33 nothingmuch geoffb: details details
19:33 geoffb nothingmuch, :-)
19:33 Juerd nothingmuch: "C-style for loops are now written as..."
19:33 eric256 even if it doesn't become a realy book, a nice wiki like that would be good
19:33 Juerd nothingmuch: "Used to be written as, are now written as"
19:33 Juerd nothingmuch: In general, Perl 5 is past tense, Perl 6 is present (not future)
19:33 nothingmuch hmm
19:34 Juerd You're describing changes in history.
19:34 Khisanth eric256: *@x maybe?
19:34 eric256 ?eval sub x (Str $t, Pair *@x) { for @x -> $z { $x.perl.say;}  }; x("hello", 1 => 5);
19:34 evalbot_7616 Error: Insufficient number of required parameters: 0 actual, 1 expected
19:34 nothingmuch Juerd: could you please hack it up a bit in the wiki? i tried 2 times now, while you were typing, and felt that I only degraded it
19:34 Juerd nothingmuch: Destroy the entire chapter, and fit its children elsewhere :)
19:34 dada has quit IRC ("careful with that axe, Eugene")
19:35 PerlJam How does kwiki handle dueling edits?
19:35 Juerd nothingmuch: I myself would prefer a structure equal to a reference manual:
19:35 Juerd PerlJam: awfully
19:35 PerlJam last one wins or is there some other resolution?
19:35 Juerd nothingmuch: control structures, operators, variables...
19:35 Juerd PerlJam: former
19:36 Juerd nothingmuch: Perhaps a good idea would be to have side-by-side examples throughout the book
19:36 geoffb Juerd, a thought: Can we separate "technical content" and "editorial massaging" as separate passes?  I'm worried that we'll bikeshed style instead of fill in useful data.
19:37 eric256 ?eval sub x (Str $t, *@x) { for @x -> $z { $x.perl.say;}  }; x("hello", 1 , 5);
19:37 evalbot_7616 Error: Undeclared variable: "$x"
19:37 eric256 ?eval sub x (Str $t, *@x) { for @x -> $z { $z.perl.say;}  }; x("hello", 1 , 5);
19:37 evalbot_7616 \1 \5 undef
19:37 geoffb Juerd, not that we're there yet, just trying to cut it off at the pass.
19:37 nothingmuch Juerd: i'll record all this, but I really like the 3 part incremental approach that geoffb brought up... I think a strong index would take care of the reference part (index not only by word)
19:37 geoffb Juerd, side-by-side examples I think is an excellent idea.
19:37 geoffb nothingmuch, nodnod
19:37 Juerd geoffb: I'm not sure what you mean by editorial massaging
19:38 geoffb Turning the raw data that the community comes up with into prose that is acceptable for a finished product
19:38 Juerd geoffb: Oh, of course.
19:38 * eric256 wonders what he did to offend the Pugs god.....please oh god let my Pair type work! ;)
19:38 nothingmuch also, WRT the reference appraoch - we already have the synopses
19:38 eric256 ?eval sub x (Str $t,Any *@x) { for @x -> $z { $z.perl.say;}  }; x("hello", 1 , 5);
19:38 evalbot_7616 \1 \5 undef
19:38 eric256 ?eval sub x (Str $t,Any *@x) { for @x -> $z { $z.perl.say;}  }; x("hello", (1 => 5));
19:38 evalbot_7616 Error: Insufficient number of required parameters: 0 actual, 1 expected
19:38 Juerd nothingmuch: Synopses are very, very comprehensive. That's too much info to grok.
19:39 Juerd For migration, in the change of foreach loops, all you need to know is that:
19:39 eric256 ?eval sub x (Str $t, *@x) { for @x -> $z { $z.perl.say;}  }; x("hello", (1 => 5));
19:39 evalbot_7616 undef
19:39 Juerd 1. foreach is gone, it's now for
19:39 nothingmuch i think what we really need is a book that a perl 5 programmer can go along with and incrementally become more acquainted
19:39 Juerd 2. parens are gone
19:39 Juerd 3. the variable is written in a different place, and has -> in front of it
19:39 PerlJam heh ... I'm going insane I think.   I just tried to cut-n-paste from my browser to paper  (maybe I should stop using paper, but I need to give my fingers a rest now and then)
19:39 Juerd And these things are for later:
19:40 Juerd 1. it's &statement:for
19:40 Juerd 2. -> creates a sub
19:40 Juerd 3. -> can take several variables
19:40 Juerd 4. zip
19:40 brother PerlJam: I usually try the other way
19:40 Juerd 5. the block can be a &subref
19:40 eric256 printing = cut & paste -> paper
19:40 nothingmuch Juerd: please copy paste chatlog to the wiki page, i'm becoming busy
19:40 Juerd i.e. separation of changes and new features
19:40 ClarkDevis has joined #perl6
19:41 theorbtwo Paper gives your fingers a rest?
19:41 Juerd nothingmuch: I won't edit wiki pages that others are editing. It doesn't work. Wikis don't work well for collaboration on the same pages.
19:41 PerlJam theorbtwo: from typing it does.
19:41 Juerd And I dislike kwiki's syntax :P
19:41 Juerd (I dislike textareas even more, though)
19:41 Juerd I'll try to write something up later
19:42 PerlJam theorbtwo: plus it's alot easier to draw pictures on paper than digitally using the input media avialable to me.
19:42 geoffb Juerd, thank you.
19:42 * eric256 wonders if a simple wiki could be built using SVN (or svk) and as the version control / multiple edit merging backend
19:44 geoffb eric256, I've done similar things in the past.  But when you know that everyone who will use the "wiki" knows how to use source control,
19:44 integral hmm, I think someone in #haskell (shapr?) uses darcs for that kind of wiki thing
19:44 geoffb the easiest thing is just to throw up a renderer that just reads an SVN checkout.
19:45 r0nny has quit IRC (Read error: 104 (Connection reset by peer))
19:45 geoffb (i.e. no web UI for editing, people checkin at the command line, and view only via web)
19:45 eric256 well thats easy enough. don't see why a quick text area for online editing would hurt though. /me considers implementing it for pugs. still  need a wiki markup parser though.
19:47 geoffb .oO( Mason's dhandlers are *great* for this, BTW)
19:47 geoffb eric256, AFT is close, though not the same dialect as KWID
19:47 eric256 i was thinking a p6 implementation. since we have wanted a p6 based wiki for a while
19:47 geoffb Is there a KWID2HTML?
19:47 eric256 or did i misunderstand you?
19:48 geoffb eric256, nope, I was on a parallel train of thought
19:48 Limbic_Region has quit IRC ("tiuq\")
19:51 Juerd When writing a Perl 6 based wiki now, pay little attention to its software design and write it mostly imperatively, because otherwise it will perform so bad that it will perhaps look great in the source, but be unusable in practice.
19:51 nothingmuch Juerd: can I quote you on the wiki?
19:51 nothingmuch btw, if writing a wiki, use either textile or kwid
19:51 nothingmuch please don't invent a new language
19:52 integral Juerd: just add bits to the perl6 optimizer specifically for whatever coding style you use
19:52 eric256 ahhh you ruin all my fun nothingmuch ;)
19:52 Juerd Please invent a new language :)
19:52 Juerd Or use html :)
19:52 Juerd In any case, optimize the wiki for code. Kwid sucks for code :)
19:53 Juerd integral: There is no perl6 optimizer.
19:54 integral the first addition is the optimizer ;-)
19:54 ClarkDevis has left "Leaving"
19:54 integral I thought the whole point of getting a new language, and a new implementation was so that we wouldn't have to cripple our programming style just because the old system is slow in a particular way?
19:54 * nothingmuch likes the way mediawiki lets you inline HTML when it just doesn't cut it
19:55 nothingmuch that's a very good feature
19:55 nothingmuch it's just like perl, impossible, easy, hard and all that (i never remember how that saying goes)
19:56 PerlJam nothingmuch: easy things easy, hard things possible.
19:57 PerlJam or, perhaps for perl6, easy things easy, hard things not so hard, and nigh impossible things possible.
19:58 nothingmuch i'm going to get ready for my outing
19:58 nothingmuch ciao
19:58 nothingmuch geoffb: thanks for a wonderful idea
19:59 nothingmuch Juerd: so far I incorperated your smaller points into the current structure
20:00 geoffb nothingmuch, :-)
20:00 geoffb nothingmuch, have fun on your outing
20:00 nothingmuch grazie
20:01 * nothingmuch can't resist and addss some more
20:01 geoffb :-)
20:03 nothingmuch please link to the wiki from a mailing list post
20:04 * geoffb in $work mtg
20:04 nothingmuch ciao
20:04 ods15_ has joined #perl6
20:05 ods15 has quit IRC (Read error: 104 (Connection reset by peer))
20:05 ods15_ is now known as ods15
20:05 * nothingmuch will post
20:05 geoffb thx nm
20:11 nothingmuch bing
20:13 Juerd Okay here it is
20:13 Juerd http://feather.perl6.nl/~juerd/p6migrate
20:13 Juerd I too can do stuff in 15 minuts
20:13 nothingmuch i'm linking to that from the wikipage
20:13 Juerd But now my wrists hurt so afk
20:13 nothingmuch Juerd++
20:13 geoffb hope you feel better, Juerd, and thx
20:14 nothingmuch heh, turns out i misused the word outing
20:14 nothingmuch tee hee
20:14 geoffb ?
20:14 nothingmuch FYI /me meant that he is going out, not going to publicly admit some little known fact
20:14 geoffb I assumed the former
20:15 nothingmuch gaal corrected me anyway ;-)
20:15 eric256 outing normaly means going out....if you out someone, that would be publicy admiting some fact on there behalf..normaly without there permission. ;)
20:15 nothingmuch hmm
20:15 nothingmuch http://www.google.com/search?client=safari&amp;rls​=en&amp;q=define:+outing&amp;ie=UTF-8&amp;oe=UTF-8
20:16 eric256 hey i was right !!! lol. i do know some english no matter what that teacher said. ;)
20:17 Cryptic_K has joined #perl6
20:18 eric256 ?eval sub x (Str $t, *@x) { for @x  { $_.perl.say;}  }; x("hello", (1 => 5));
20:18 evalbot_7616 undef
20:18 eric256 ?eval sub x (Str $t, *@x) { for @x  { $_.perl.say;}  }; x("hello", 1 => 5);
20:18 evalbot_7616 undef
20:18 eric256 ?eval sub x (Str $t, *@x) { @x.perl.say; for @x  { $_.perl.say;}  }; x("hello", 1 => 5);
20:18 evalbot_7616 [] undef
20:18 eric256 ?eval sub x (Str $t, Any *@x) { @x.perl.say; for @x  { $_.perl.say;}  }; x("hello", 1 => 5);
20:18 evalbot_7616 [(1 => 5)] Error: Insufficient number of required parameters: 0 actual, 1 expected
20:19 eric256 for just realy doesn't like that.
20:19 eric256 ?eval sub x (Str $t, Any *@x) { @x.perl.say; for @x.values  { $_.perl.say;}  }; x("hello", 1 => 5);
20:19 evalbot_7616 [(1 => 5)] Error: Insufficient number of required parameters: 0 actual, 1 expected
20:19 eric256 ?eval sub x (Str $t, Any *@x) { @x.perl.say; for @x.kv  { $_.perl.say;}  }; x("hello", 1 => 5);
20:19 evalbot_7616 [(1 => 5)] \0 Error: Insufficient number of required parameters: 0 actual, 1 expected
20:19 eric256 ?eval sub x (Str $t, Any *@x) { @x.perl.say; for @x ->$k,$v  { $k.perl.say;}  }; x("hello", 1 => 5);
20:19 evalbot_7616 [(1 => 5)] Error: Insufficient number of required parameters: 0 actual, 2 expected
20:20 eric256 ?eval sub x (Str $t, Any *@x) { @x.perl.say; for @x ->Pari $k { $k.perl.say;}  }; x("hello", 1 => 5);
20:20 evalbot_7616 [(1 => 5)] Error: Insufficient number of required parameters: 0 actual, 1 expected
20:20 eric256 ?eval sub x (Str $t, Any *@x) { @x.perl.say; for @x -> Pair $k { $k.perl.say;}  }; x("hello", 1 => 5);
20:20 evalbot_7616 [(1 => 5)] (1 => 5) undef
20:20 eric256 ;)
20:20 eric256 still feels like a bug...but at least there is a way around it
20:27 eric256 is there any way to test Prelude.pm without remakeing?
20:27 SamB has quit IRC (Connection timed out)
20:36 SamB has joined #perl6
20:38 Amnesiac has joined #perl6
20:43 svnbot6 r7617 | eric256++ | Change string.trans to accept a list of pairs instead of a hash, now allows 'abcdefg'.trasn( ['a'..'c'] => 'A-C');
20:43 geoffb Juerd++ # Good thoughts on the migration doc
20:43 geoffb autrijus, ping
20:46 Juerd Thank you
20:47 leo__ sb end
20:48 Juerd s[^]/]
20:48 Juerd eh
20:48 svnbot6 r7618 | fglock++ | * perl5/Array - started O(1) optimization of Perl6::Container::Array
20:48 svnbot6 r7618 | fglock++ |   currently disabled with "if 0 &&" because some tests fail
20:48 Juerd s[^][/]
20:52 evalbot_7616 has quit IRC (Remote closed the connection)
20:52 evalbot_7618 has joined #perl6
20:53 integral is `make ghci` meant to be broken?
20:54 Qiang has quit IRC ("weekend.. w00t!!")
20:56 eric256 ?eval 'c'..'a';
20:56 evalbot_7618 ("c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z")
20:57 eric256 lol.
20:57 eric256 ?eval 'z'..'a';
20:57 evalbot_7618 ("z")
20:57 eric256 ?eval 5..1
20:57 evalbot_7618 ()
20:57 eric256 ?eval 1..5
20:57 evalbot_7618 (1, 2, 3, 4, 5)
20:58 eric256 okay thats just plain broken.../me searchs for the haskell for this.
20:58 buu ?eval $a="c"; $a--; $a
20:58 evalbot_7618 Error: Undeclared variable: "$a"
20:58 buu ?eval my$a="c"; $a--; $a
20:58 evalbot_7618 \-1.0
20:58 buu =[
20:59 eric256 thats normal
20:59 eric256 only ++ is magic
20:59 eric256 ?eval my$a="c"; $a++; $a
20:59 evalbot_7618 \"d"
21:00 Juerd 23:02 < eric256> only ++ is magic
21:00 Juerd And likewise, we shouldn't expect "zz".."aa" to work :)
21:00 eric256 i don't. but  'c' .. 'a' shouldn't give the whole alphabet
21:00 eric256 which is what i meant by broken
21:00 eric256 ?eval  'y' .. 'a';
21:00 evalbot_7618 ("y", "z")
21:01 eric256 ?eval  'y' .. 'c';
21:01 evalbot_7618 ("y", "z")
21:01 eric256 broken
21:01 iblechbot has quit IRC (Read error: 110 (Connection timed out))
21:01 eric256 is there a name for .. that i can search src/ for?
21:07 Juerd range?
21:08 eric256 yea...turns into strRange through op2Range ...now search for strRange ;)
21:08 adamc00 has quit IRC ("Leaving")
21:09 dolmen has joined #perl6
21:10 eric256 anyone know haskels string comparison?    s1 > s2  should just DWIM right?
21:12 Juerd tafo
21:12 Juerd :)
21:12 eric256 working on that...takes a while for it to compile though....duh  ghci
21:12 * eric256 smacks head
21:13 renormalist has quit IRC (Remote closed the connection)
21:13 * eric256 is pleased to find out it should work ;)
21:13 eric256 should graph the time to compile pugs through history. ;) probably an exponential curve
21:13 Blicero has left "Channel buffer killed"
21:14 Juerd Good luck graphing that :)
21:14 Juerd 7618 commits
21:14 Juerd Graph every 50 and it'll still take a long time
21:15 eric256 yea i was thinking about just starting now and recording data.
21:15 buu eval: 7618/50*2 * 60
21:15 Juerd Nah, then include history :)
21:15 buu er
21:15 Juerd buu?!
21:16 buu JUERD
21:16 eric256 if i knew any bash i would let the feather track it on rebuilds
21:16 eric256 ?eval 7618/50*2 * 60
21:16 evalbot_7618 18283.2
21:16 Juerd Where does that formula come from?
21:16 buu Randomness mostly
21:16 joao eric256: get an homogeneous cluster, and record every 100 releases :-)
21:16 Juerd eric256: Why know bash? It's easy to change the script to perl.
21:16 eric256 true
21:16 buu Juerd: 7618 commits, by 50, times two hours per build..
21:17 Juerd TWO HOURS per build?
21:17 Juerd Hell no :)
21:17 Juerd eric256: If you will do this, take my advice and output to a text file, not a database :)
21:17 eric256 yea i was gonna...no need for a db
21:18 buu Juerd: Just a guess!
21:18 nothingmuch why do we need to know pugs build times in the past?
21:18 nothingmuch it might help in the future (i don't really see how)
21:19 eric256 ?eval (7618 / 50) * 10
21:19 evalbot_7618 1523.6
21:19 nothingmuch but is it really worth all that CPU time?
21:19 eric256 ?eval 1532.6 / 60
21:19 evalbot_7618 25.5433333333333333333333333333333333333333
21:19 eric256 only a day to build them all
21:19 eric256 give or take 2 days. ;)
21:19 eric256 why? because we can! ;)
21:20 Juerd nothingmuch: For the graph. For fun. Fun is always worth cpu time.
21:20 nothingmuch okies
21:21 Juerd eric256: Feel free to use feather to create historical data
21:21 eric256 'z'..'a' is fixed now
21:21 Juerd eric256: It won't be entirely accurate, but enough for a nice graph
21:23 eric256 cool
21:23 svnbot6 r7619 | eric256++ | Fixed 'z' .. 'a' to return empty list instead of entire alphabet.
21:23 * eric256 anxiously awaits evail bot updating...
21:23 eric256 that was my first Haskell hack!! ;)
21:24 nothingmuch eric256++
21:24 Juerd eric256++
21:24 eric256 ?eval '1' .. '5';
21:24 evalbot_7618 ("1", "2", "3", "4", "5")
21:25 eric256 ?eval '9' .. '21';
21:25 evalbot_7618 ("9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21")
21:25 Grrrr has joined #perl6
21:25 eric256 hmmm... doesn't that seem odd?
21:26 kolibrie has quit IRC ("leaving")
21:26 eric256 ?eval 'a'..'Z';
21:26 evalbot_7618 ("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z")
21:27 nothingmuch night all
21:27 Grrrr is now known as Gruber
21:27 Juerd eric256: Seems useful.
21:27 Juerd nothingmuch: Good night
21:27 Juerd ?eval 'A'..'Z'
21:27 evalbot_7618 Can't exec "./pugs": Permission denied at examples/network/evalbot//evalhelper.p5 line 42.
21:27 evalbot_7618 has quit IRC (Remote closed the connection)
21:27 eric256 ??
21:27 evalbot_7619 has joined #perl6
21:27 Juerd ?eval 'A'..'Z'
21:28 evalbot_7619 ("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z")
21:28 eric256 ahh you hit it as it updated
21:28 eric256 ?eval 'z'..'a';
21:28 evalbot_7619 ()
21:28 Juerd ?eval 'Z'..'A'
21:28 evalbot_7619 ()
21:28 eric256 ;)
21:28 eric256 gives me a warm fuzzy feeling
21:30 eric256 i don't see the code in eval bot for restarting....or is it part of some cron job or something?
21:32 eric256 ?uptime
21:32 svnbot6 Running for 2524875 seconds.
21:32 evalbot_7619 Running for 274 seconds.
21:33 Juerd svnbot6 wins!
21:33 eric256 yea. since eval bot updates every 15 minutes. lol
21:35 eric256 ?eval 10..0;
21:35 evalbot_7619 ()
21:36 * eric256 wanders aroun in search of another bug he can fix... ;)
21:38 evalbot_7619 has quit IRC (Remote closed the connection)
21:38 evalbot_7620 has joined #perl6
21:41 geoffb obra, did you find out how to fix my link on planetsix?
21:41 svnbot6 r7620 | stevan++ | Perl6-MetaModel - minor changes to the mini-metamodels; link to relevant p6l discussion in tests
21:41 obra geoffb: no. I'll poke robert.
21:42 geoffb obra, thx
21:48 luqui has joined #perl6
21:50 eric256 ?eval ?1
21:50 evalbot_7620 bool::true
21:50 eric256 ahhh ? means bool. ;)
21:50 eric256 ?eval (?1).perl
21:50 evalbot_7620 "bool::true"
21:50 eric256 ?eval (?1).ref
21:50 obra geoffb: your feeds...they have no content
21:50 evalbot_7620 ::Bool
21:50 geoffb !
21:50 eric256 ?eval (::Bool).ref
21:50 evalbot_7620 ::Class
21:50 geoffb obra, wow, that's messed up
21:51 eric256 ?eval (bool::true).ref
21:51 evalbot_7620 ::Bool
21:51 eric256 ?eval undef.perl
21:51 evalbot_7620 "undef"
21:51 eric256 ?eval undef.ref
21:51 evalbot_7620 ::Scalar
21:52 geoffb Oh wait, are you saying you're getting just the link and title, and no body?  That might be an O'Reilly thing to keep page views were they can make money off of them . . . .
21:52 obra yeah
21:52 obra well, that's going to get the feeds not-aggregated.
21:52 obra "It works for radar"
21:56 geoffb you mean O'Reilly's Radar site?
21:57 geoffb Bah, I'm sorry to hear that it's broken like that.
21:58 geoffb Ah well, O'Reilly didn't want to pay me decently enough to work there, so that's what they get.  :-)
22:04 eric256 Shouldn't 3e5 stay 3e5 when printed?
22:04 eric256 ?eval 3e5 ~ "-";
22:04 evalbot_7620 "300000-"
22:04 eric256 ?eval 3e5 + 1;
22:04 evalbot_7620 300001
22:04 geoffb eric256, why would it?
22:04 eric256 i would have expected the first one to be "3e5-"
22:04 eric256 so thats eval($x.perl) === $x
22:05 geoffb Internally it's just converted to some sort of Num.  At that point, it doesn't matter if you said 3e5 or 30000 or 30_000
22:05 eric256 actualy internaly its stored as a rational number...right up till you convert it to a string
22:05 nothingmuch has quit IRC (Read error: 113 (No route to host))
22:06 eric256 its part of the reason perl.t is failing on some tests.  maybe .perl needs to use a different output than stringified. dunno
22:06 geoffb eric256, um . . . still not seeing why it's surprising that numbers input any which way become all one and the same.
22:07 eric256 geoffb. because they are stored internaly as 3e5 as a rational number. and because the specs say that $x.perl.ref need to equal $x.ref
22:07 * geoffb is exhausted
22:07 eric256 ?eval (3e5).ref
22:07 evalbot_7620 ::Rat
22:07 eric256 ?eval (30000).ref
22:07 evalbot_7620 ::Int
22:08 geoffb ?eval (30000/1).ref
22:08 evalbot_7620 ::Rat
22:08 eric256 eval($x.perl).ref == $x.ref
22:08 geoffb A Rat is just an Int / Int, no?
22:09 eric256 hmm. then i could add a Rat method to output n / d
22:09 geoffb eric256, that might be useful.
22:10 geoffb I'm assuming, by the way, that scientific notation with a positive exponent becomes a Rat rather than directly an Int to be able to share code with the negative exponent case, not because it's necessarily the best WTDI
22:13 * eric256 knows not. ;)
22:15 eric256 wrangling what little haskel knowledge i have, and trying not to break too much ;)
22:22 eric256 hmmm got it to compile...now to see if it actualy works ;)
22:30 eric256 this thing takes like 10 times longer if you are watching the make process!! lol
22:34 * eric256 pouts as the build fails with its "i'm out of memory but i'm going to tell you some other strange thing error"
22:40 eric256 pugs> 3e5.perl   -->   "300000/1"
22:40 eric256 ;)
22:44 eric256 ?eval -Inf
22:44 evalbot_7620 -Infinity
22:44 eric256 ?eval (-Inf).perl
22:44 evalbot_7620 "-Infinity"
22:45 eric256 ?eval eval((-Inf).perl).ref
22:45 evalbot_7620 ::Scalar
22:45 eric256 ?eval (-Inf).ref
22:45 evalbot_7620 ::Num
22:45 eric256 ?eval (-Infinity).ref
22:45 evalbot_7620 Error: No compatible subroutine found: "&Infinity"
22:45 eric256 ahh
22:45 eric256 ?eval eva("Inf").ref
22:45 evalbot_7620 Error: No compatible subroutine found: "&eva"
22:45 eric256 ?eval eval("Inf").ref
22:46 evalbot_7620 ::Num
22:46 eric256 ?eval eval("Infinity").ref
22:46 evalbot_7620 ::Scalar
22:51 eric256 anyone who is familary with the internals around?
22:52 eric256 ?eval Inf ~ "test";
22:52 evalbot_7620 "Inftest"
22:52 eric256 ?eval Inf ~ " test";
22:52 evalbot_7620 "Inf test"
22:53 eric256 ?eval my $x = { 1 => Inf }; $x.perl
22:53 evalbot_7620 "\{(\"1\" => Inf)}"
22:53 eric256 ?eval my $x = Inf; $x.perl
22:53 evalbot_7620 "\\Inf"
22:53 eric256 ?eval Inf.perl;
22:53 evalbot_7620 "Inf"
22:54 eric256 ?eval (-Inf).perl;
22:54 evalbot_7620 "-Infinity"
22:54 eric256 ahh
23:01 * eric256 whistles while he compiles
23:03 eric256 ?check
23:03 svnbot6 r7621 | eric256++ | Fixed support for pretty printing for -Inf and Rat (though the Rat may not be the *right* way to do it.
23:04 eric256 woot. haskell hacking carreer is underway...even if i'm all alone and babbling to myself....
23:04 eric256 later
23:04 luqui later :-)
23:07 eric256 has quit IRC ("Trillian (http://www.ceruleanstudios.com")
23:11 justatheory has joined #perl6
23:17 evalbot_7620 has quit IRC (Remote closed the connection)
23:17 evalbot_7621 has joined #perl6
23:17 luqui ?eval (-Inf).perl
23:17 evalbot_7621 "-Inf"
23:17 luqui hooray
23:17 luqui eric256++
23:25 Cryptic_K has quit IRC (Read error: 104 (Connection reset by peer))
23:28 Juerd I'm not sure how to interpret "Do you know more people like this?" in <20051014174359.GB7543@wall.org>
23:29 Juerd It's almost as if he hasn't noticed the lots of people doing lots of things.
23:39 eric256 has joined #perl6
23:40 coral ?eval (Inf).perl;
23:40 evalbot_7621 "Inf"
23:40 coral ?eval (-Inf).perl;
23:40 evalbot_7621 "-Inf"
23:40 eric256 :) /me can't help but smile
23:45 mrborisguy good work, eric256
23:47 eric256 thanks. just thrilled to understand any haskell at all ;) off to dinner
23:52 dolmen ?eval (Inf+1).perl
23:52 evalbot_7621 "Inf"
23:52 dolmen ?eval (Inf-1).perl
23:52 evalbot_7621 "Inf"
23:52 dolmen ?eval (-Inf-1).perl
23:52 evalbot_7621 "-Inf"
23:52 dolmen ?eval (3/2).perl
23:52 evalbot_7621 "3/2"
23:52 dolmen ?eval (3/.00002).perl
23:52 evalbot_7621 "150000/1"
23:53 dolmen ?eval (150000/1).perl
23:53 evalbot_7621 "150000/1"
23:53 dolmen ?eval (150000).perl
23:53 evalbot_7621 "150000"
23:53 dolmen ?eval 150000.perl
23:53 evalbot_7621 "150000"
23:53 dolmen ?eval 150000/1.perl
23:53 evalbot_7621 150000.0
23:57 scook0 has joined #perl6

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

Perl 6 | Reference Documentation | Rakudo