Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-07-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 mr_ank has joined #perl6
00:11 knewt_ has quit IRC (Read error: 110 (Connection timed out))
00:12 brentdax has quit IRC (Read error: 110 (Connection timed out))
00:14 vigilante has quit IRC (Read error: 110 (Connection timed out))
00:18 sapper has joined #perl6
00:18 etm117 has quit IRC (Read error: 110 (Connection timed out))
00:18 brentdax_ has joined #perl6
00:18 brentdax_ is now known as brentdax
00:19 mr_ank has quit IRC (Read error: 104 (Connection reset by peer))
00:20 mr_ank has joined #perl6
00:23 mr_ank has quit IRC (Read error: 104 (Connection reset by peer))
00:27 larsen has quit IRC ("later")
00:30 osfameron has quit IRC (Read error: 110 (Connection timed out))
00:36 putter has joined #perl6
00:36 putter Anyone around who understand the p5 runtime stuff?
00:38 wario has joined #perl6
00:39 wario has left
00:40 scook0 has joined #perl6
00:40 putter Well, questions for later...  I ahve a p5-ified PIL tree.  I'd like to do  &say("Hello world").  How do I...
00:41 putter create a string object   (Mumble->new("Hello world"))
00:41 putter get the internal string back  (a_mumble->get_string back())
00:42 putter define the primitive &say
00:42 putter lookup &say  (mumble->lookup("&say")
00:42 mr_ank has joined #perl6
00:43 putter apply say object to string object ($looked_up_say->call($string_object))
00:44 putter nothingmuch said PIL->P5 won't happen for a while yet.  You just can _say_ things like that... ;-)
00:44 putter back later
00:44 putter has quit IRC ("Leaving")
00:46 scook0 has quit IRC ("leaving")
00:46 clkao it seems i have the same problem
00:46 clkao t/var/my....................​.......................pugs: *** Can't locate Test.pm in @*INC (@*INC contains: /Users/clkao/work/pugs/blib6/lib /System/Library/Perl6/darwin-thread-multi-2level /System/Library/Perl6 /Library/Perl6/darwin-thread-multi-2level /Library/Perl6 .).
00:52 putter has joined #perl6
00:52 putter you tried  ./pugs -Iblib6/lib t/var/my.t ?
00:54 putter after running make test  until you see the sanity checking start (it has seemed in the past Test.pm doesnt end up in blib until make test is run...)
00:54 putter or is your entire make test failing?
00:54 Forth has joined #perl6
00:56 putter has quit IRC (Client Quit)
00:58 brentdax When I try to make a for loop go over an array of pairs, I get this: cannot cast from VInt 0 to (Pugs.AST.Internals.Val,Pugs.AST.Internals.Val) (Confusing pair?)
00:58 brentdax Known issue?  Any workarounds?
00:59 QtPlatypus What does your code look like?
01:02 brentdax Hmm...seems to work okay if I switch to array indexing (with keys [0] and [1]).  Interesting.
01:05 QtPlatypus Most of my "cannot cast" errors have come from syntax errors.
01:05 svnbot6 r5584, autrijus++ | * changelog of 6.2.8, plus mdiep caught a changelog typo.
01:06 cognominal is there a way in Perl6 to call PMC methods?
01:06 stevan putter: re: the p5 runtime stuff
01:07 stevan creating a string object: Perl6::Scalar->new('Hello World')
01:07 stevan you dont get the internal string back (unless you are some kind of primative function)
01:07 stevan actually Perl6::Scalar should stringify maybe?
01:07 stevan not sure 100% on that
01:08 clkao ./pugs -Iblib6/lib t/var/my.t
01:08 clkao pugs: *** Can't locate Test.pm in @*INC (@*INC contains: blib6/lib /System/Library/Perl6/darwin-thread-multi-2level /System/Library/Perl6 /Library/Perl6/darwin-thread-multi-2level /Library/Perl6 .).
01:08 clkao there's indeed noblib6/lib/Test.pm
01:08 clkao using blib instead opf bli6 works
01:10 stevan putter: &say would be defined something like Perl6::Sub->new(sub { print @_, "\n" });
01:10 Maddingue has quit IRC (Read error: 104 (Connection reset by peer))
01:10 stevan that is a radical oversimplification, but thats the idea (i think)
01:10 theorbtw1 has joined #perl6
01:10 stevan then the runtime would basically do: $say->call($putters_string)
01:11 stevan there would also likely be an arguments object of some kind
01:15 castaway has joined #perl6
01:17 stevan putter: keep in mind that I am making this up as I go :)
01:18 theorbtwo has quit IRC (Read error: 145 (Connection timed out))
01:18 stevan putter: I have no clue what the actual PIL evaluator will work like. I just assume that all your basic containers (Scalar, Array, Hash and Code) will be objects which the compiled PIL code manipulates.
01:21 etm117 has joined #perl6
01:27 castaway_ has quit IRC (Read error: 110 (Connection timed out))
01:29 Maddingue has joined #perl6
01:30 afields has quit IRC (Read error: 113 (No route to host))
01:40 vigilante has joined #perl6
01:44 putter has joined #perl6
01:46 putter stevan: ping?
01:47 putter clkao: re blib vs blib6 - I wonder if that's a bug.
01:49 sapper has quit IRC ("bye")
01:50 putter stevan: re Perl6::Scalar...  is that  ./perl5/PIL-Run/lib/PIL/Run/Container/Scalar.pm or ./perl5/Perl6-MetaModel/lib​/Perl6/Container/Scalar.pm or something else?
01:50 * putter is still unclear on exactly how PIL-Run and Perl6-MetaModel differ...
01:52 putter does Perl6::Code exist?  ./modules/Perl-MetaModel/lib/Code.pm ?
01:53 putter is there any kind of pad or environment to bind names in?
01:54 putter thanks for your help.
01:54 meppl has joined #perl6
01:55 * QtPlatypus blinks "Is there a side of this conversation I'm not seeing?"
01:55 putter async conversations++
01:56 knewt_ has joined #perl6
01:56 QtPlatypus Arh.
01:58 meppl has quit IRC (Client Quit)
01:58 cognominal how do you load PIR butecode from perl6?
01:58 jdv79 has joined #perl6
02:00 knewt__ has quit IRC (Read error: 60 (Operation timed out))
02:01 putter can one?
02:01 putter oh, p6 asks parrot to load it.
02:01 cognominal the perl6 equivalent of load_bytecode...
02:02 cognominal hum, there seem to be an evalParrot
02:03 putter yes.  is parrot one of the langs one can  eval($x,:lang<parrot>)?
02:04 putter Pugs::Internals::eval_parrot
02:05 putter and eval in Prelude knows both "pir" and "parrot".
02:07 cognominal is there such things as 'use pir:foo'?
02:07 putter greping for load_ turns up things like evalParrot ".sub main\nload_bytecode 'PGE.pbc'\nload_bytecode 'PGE/Hs.pir'\n.end\n"
02:07 putter I haven't seen such... doesnt grep... don't know.
02:08 cognominal I think I have enough info to convert in Perl6 pge/demo.pir
02:09 putter convert?
02:09 cognominal ...as an exercise
02:12 putter convert... err, what to what? i'm missing something...
02:12 cognominal demo.pir is a parrot program, I just want to reformulate it in Perl6
02:12 putter ahhh.
02:12 putter neat.
02:13 dudley that would be pretty cool
02:13 dudley that is the one that does rules interactively, right?
02:13 cognominal yes
02:13 dudley very cool
02:13 cognominal it is a way for me to learn Perl6 and bring back PIR memories
02:14 dudley You _want_ to bring those back? :-)
02:16 cognominal arf, what is the __END__ equivalent?
02:20 cognominal =begin END   # this is the beginning of the end :)
02:21 putter :)
02:30 vigilante has quit IRC (Read error: 110 (Connection timed out))
02:31 etm117 has quit IRC ("Get out of that boring IRC client! It's no good for you. Bersirc 2.2 is your answer! [ http://www.bersirc.org/ - Open Source")
02:32 Nattfodd has quit IRC ("Leaving")
02:33 etm117 has joined #perl6
02:36 stevan putter: pong
02:37 * stevan releases the semaphore, and waits for putter :)
02:39 putter :)
02:39 putter ahh... let's see...
02:39 stevan you were wondering about the PIL and Perl6 Metamodel version of Perl6::Scalar
02:39 putter yes
02:40 stevan the PIL version is deprecated
02:40 stevan PIL-P5 version that is (to be more specific)
02:40 putter ah.
02:40 stevan this is because the MetaModel is going to use the base container types
02:40 stevan and if the metamodel uses them, and it defined in them, then we have a bootstrap issue
02:40 stevan and I am deliberately avoiding bootstap issues for now
02:40 * putter thinks  svn mv PIL-P5 depreciated-PIL-P5
02:41 stevan eventually the metamodel will be self-hosting/defining but that is for later
02:41 stevan it is much easier to figure it out without having to worry about bootstrapping
02:41 stevan putter: I actually think all of PIL-P5 might be able to go away
02:41 stevan at least for now
02:41 stevan but you will have to check with nothingmuch, it is his code
02:42 stevan and to answer the other question, no Perl6::Code is not been created yet
02:42 stevan the PIL spec does talk about Pads I think, but again, I am no PIL expert
02:42 stevan also the current MetaModel containers are in Perl6::Container::*
02:42 putter something has to implement the environment... no?
02:43 stevan then will be aliased into Perl6::* by Perl6::MetaModel
02:43 stevan this is a cheap hack to mimic how the Array Role might work in the "real" implementation
02:43 stevan putter: I assume so, but this is PIL issue (the environment)
02:44 * stevan digs around for the PIL haskell stuff
02:45 putter Sigh.  I'm confused.  Ok, I have some code "will start working any moment" which takes p6, runs -Cpil, munges the pil into a quite similar p5 expression, evals that generating p5 code for the runtime.  at the moment,
02:45 stevan you have that implemented right now??
02:46 putter that code is simply p5.  "say 3" -> "&say(3)".  When it should be -> "lookupfoo("&say")->applyfoo(intfoo->new(3)))"
02:47 putter yes.  hardest part was groveling over pil arities to parse the thing.  we need a pil arity table.  it is however slloooowww.  20 to do the Test.pm pil.
02:48 putter s/20/20 sec/
02:48 stevan where is the PIL code in Haskell?
02:48 stevan I cant find it
02:48 autrijus it's in Pugs.Compile
02:48 autrijus I'm also looking to ditch GADT
02:48 autrijus while it is fun, GADT can't be serialized with SerTH
02:48 autrijus and I want SerTH support
02:48 stevan autrijus: maybe you should take these questions, they are out of my league
02:48 autrijus also it will decouple its parameter type with PIR's
02:49 putter nopaste
02:49 mugwump What does SerTH stand for ?  The TH is Template Haskell, this is for converting pugs internals to PIR ?
02:49 putter pastebot nopaste
02:49 putter sigh
02:49 autrijus SerTH is Storable for haskell, based on TH.
02:49 autrijus putter: see topic
02:50 mugwump jabbot: nopaste
02:50 autrijus mugwump: very fast binary freeze/thaw for arbitary circular data
02:50 stevan putter: use this http://sial.org/pbot/perl6
02:50 mugwump so dependant types don't matter anymore ?  :)
02:50 autrijus it does
02:51 autrijus but we'll simulate it with encoded fundep typeclasses
02:51 autrijus it's a well known emulation
02:51 pasteling "putter" at 66.30.119.55 pasted "contents of an emacs buffer - a kludge in progress" (215 lines, 4.3K) at http://sial.org/pbot/11749
02:51 autrijus oh wow, a Hs parser
02:52 mugwump do you have the TaPL grammar in this encoded fundep typeclasses form perchance?
02:52 wolverian I think that deserves a respectful silence. or a frightened one.
02:52 autrijus mugwump: I don't, but other people may have.
02:52 autrijus google around for encode GADT with typeclasses or ask #haskell
02:52 putter stevan: thanks.
02:53 stevan putter: your welcome
02:53 stevan putter++ # now your questions make much more sense
02:53 putter autrijus: irc browser unfortunately allows topic to be edited.  every time I go to cut, I mangle it.  its become a running joke. :/
02:53 putter ah. :)
02:54 stevan full_context++
02:54 Darren_Duncan has left
02:54 putter yeah, i should have started with a fuller description.
02:55 Maddingue has quit IRC (Read error: 110 (Connection timed out))
02:55 stevan putter: I just thought you were curious, but you are serious :)
02:55 autrijus mugwump: currently PIL's deptype is hardcoded to agree with PIR
02:55 autrijus that has to go once we go multibackend
02:55 autrijus each CodeGen need to have its own deptype
02:55 autrijus so using multiparam class and fundep is natural
02:55 putter :)
02:57 autrijus but if PIL can be SerTH'ed, then Test.pm can just have a Test.pil stored alongside it
02:57 autrijus each module can have one precompiled form
02:57 autrijus and it will be very fast to use them regardless of the backend we are in
02:57 Maddingue has joined #perl6
02:57 autrijus since the backend just need to do straightforward codegen, not compilation
02:57 autrijus and that is a Win
02:58 autrijus it is also far more possible to run CodeGen.PIR and Emit.PIR in Parrot
02:58 autrijus than the full Compile.*
02:59 autrijus think of it as cross compilation to bytecode, and the emit part as platform specific jit aseembler
02:59 autrijus it's one more level higher but essentially the same
02:59 mugwump so, you can still use GADTs, just not for PIL?
02:59 autrijus yeah
02:59 autrijus we use GADT for container types
02:59 autrijus that's probably not going to go away
03:00 autrijus putter: so what was your question again? :)
03:00 putter ok.  so thats a bit of a kludge.
03:01 putter ok, I'm "say 'hi'"'ing by converting p6 "say 'hi'" to p5 "&say('hi')".  I'd like to instead convert it to...
03:01 scook0 has joined #perl6
03:01 putter something vaguely like "lookupfoo("&say")->applyfoo(intfoo->new(3)))"
03:02 putter oh, s/3/'hi'/
03:02 putter but I am without a foo.
03:02 putter I'm wondering what foo to do.
03:02 putter It's late.
03:03 stevan :)
03:03 autrijus ok. you want a full VM.
03:04 autrijus that is yet to be written. it's supposed to be in perl5/PIL-Run/.
03:04 bloves has joined #perl6
03:05 autrijus I think it makes sense if we just hardcode the lookup as a prefixed form of p5 lookup
03:05 autrijus i.e. compile it to
03:05 autrijus \&perl6_say->('hi')
03:05 autrijus and compile
03:05 autrijus my &say;
03:05 autrijus into
03:05 autrijus my &perl6_say;
03:05 autrijus i.e. share the lexical pad
03:06 autrijus instead of building another lexical pad
03:06 autrijus and just play games with the symbol name
03:06 autrijus but other approaches may be valid too
03:07 putter ok.  and create ./perl5/PIL-Run/lib/PIL/{Object,String}.pm ?
03:08 autrijus yes.
03:08 pjcj has quit IRC (Read error: 110 (Connection timed out))
03:08 autrijus basically we have our own object space not unlike Class::*
03:08 autrijus in p5
03:08 autrijus but the runloop and pad is shared
03:09 putter ok.  and how does Perl6 Metamodel figure into things?
03:10 autrijus the p6 mm provides the object space composers
03:10 autrijus like "class"
03:10 autrijus and "role"
03:10 autrijus which are just functions
03:10 autrijus PIL currently does not yet generate the class composing closure
03:10 autrijus currently they are just static packages with hash slots
03:11 autrijus because stevan's metamodel is yet to be ported to haskell
03:11 autrijus but once it does, PIL will instantiate those
03:11 autrijus and you can feed PIL's "class" and "role" calls in pilGlob into the metamodel
03:11 autrijus to get back objects that you can insert at the type slot, i.e. "::FooClass"
03:12 autrijus which curiously may be a valid perl5 symbol table entry too
03:12 putter oy
03:12 autrijus but you can't tie the symbol table in p5
03:12 autrijus so we can't control the dispatch that way
03:13 autrijus that needs some thinking
03:13 autrijus but I'm not too worried until the metamodel is ported to the PIL evaluator in Hs :)
03:14 autrijus currently you can pretend we're dealing with perl4.
03:14 autrijus (without objects)
03:14 autrijus and method invocation are just function calls with the invocant as first argument.
03:14 autrijus which, surprisingly, works very well in perl5 ;)
03:14 error has joined #perl6
03:15 bloves has quit IRC (Read error: 54 (Connection reset by peer))
03:16 autrijus (I hope I'm making some sort of sense to you)
03:18 putter yes, sorry, was going back over stevan and your comments to make sure I didnt miss anything.
03:18 autrijus cool
03:18 autrijus there is many gaps to be filled from a parse tree interpreter with perl5-style hash-as-namespaces, toward a full compiler with metaobjects
03:19 autrijus I'm still learning about it as I go... PyPy and CLOS has been very helpful
03:19 stevan (+ 1 CLOS)
03:20 autrijus stevan: yeah, my brain is formatted into "objects are closures, classes are closure factories, worship the true lambda god" already
03:20 stevan TinyCLOS was a great read. It made the Smalltalk stuff make sense (which is kinda weird)
03:20 autrijus stevan: kinda like I never grokked SSA until I read the ANF mapping paper
03:21 autrijus (SSA being the imperative single-assignment intermediate language, and ANF being its equivalent, but expressed with lambda calculus with lexical bindings)
03:21 * stevan stops searching google for those acryonyms
03:21 stevan Single Assignment Rules!
03:22 autrijus # www.jantar.org/papers/ssa-lambda/
03:22 stevan erlang :) a personal favorite of mine
03:22 autrijus the trick is if all you have is pure lambdas with atoms in function position, then that is equivalent with single assignment
03:22 afields has joined #perl6
03:22 autrijus yeah, erlang figured this out long long ago. I'm learning it
03:22 autrijus so far it's very pleasant
03:22 autrijus I miss types :) but not much
03:23 stevan that almost sounds like the S K I combinator stuff?
03:23 autrijus er, it's higher level, it has named variables
03:23 autrijus but they never change. strange sort of variables
03:23 stevan cool
03:23 autrijus (but they do get rebound)
03:23 stevan I was trying to describe erlang to nothingmuch the other day
03:24 stevan I was saying its high "written on top of Prolog" level, but you can easily get down to a byte level
03:24 autrijus it is interesting to see that haskell has a lot of syntax borrowed over from erlang, but maybe they are from ML
03:24 stevan its such a nice language
03:24 autrijus s/are/both are/
03:24 stevan ML is cool too, I am still working on groking the full power of Functors
03:25 stevan functional_programming++
03:25 autrijus it's just programming :)
03:26 stevan your right, programming++ # without it I would likely be working in McDonalds or something
03:29 autrijus it's interesting to see that lwall's position on soft typing agrees almost 100% with meijer's
03:29 stevan what is larrys position?
03:29 autrijus maybe there's a deeper connection between perl and visual basic that I'm only subconciously aware of :)
03:30 autrijus er, "Static Typing Where Possible, Dynamic Typing When Needed"
03:30 autrijus # http://pico.vub.ac.be/~wdmeu​ter/RDL04/papers/Meijer.pdf
03:30 mugwump that was on LtU recently, no?
03:30 autrijus yes
03:31 autrijus the two main theme being:
03:32 autrijus 1. we should not ditch runtime typechecks as static typing people do; otherwise "Array of Foo" is monomorphic and hard to use
03:32 autrijus 2. we should not ditch type inference as dynamic typing people do; it makes program much more concise and optimizers much more efficient
03:32 mugwump you need a paper for these direct observations
03:32 autrijus rather, the position should be maximizing inference power with optional type annotation
03:33 autrijus and do not shy away from runtime checks where the static checking becomes infeasible.
03:33 * mugwump missed the ? on his rhethorical question
03:33 autrijus well, observations backed up with details and examples tend to be more convincing :)
03:33 mugwump true
03:34 stevan part of me has always liked really strong/static typing in Ada
03:34 mugwump especially if the examples are written in a language that exists
03:34 stevan but it was always really hard to use
03:34 autrijus mugwump: C# and Visual Basic is used :)
03:34 stevan the other part of me always liked the polymorphic types in ML
03:34 autrijus this is, after all, meijer at microsoft.com
03:35 stevan because you can say 'a' when types dont matter, and 'MyType' when they do
03:35 mugwump I guess I know VB exists, unless the distant memories were actually vivid nightmares.  C# I'll reserve judgement on
03:35 autrijus <- worked as VB consultant before brainwashed by CPAN
03:35 stevan C# is Java Improved (with some other nice things added in)
03:36 autrijus VB is a very nice language if you don't program in it.
03:36 autrijus really. :)
03:36 stevan :D
03:36 autrijus (but rather tell other people how to program in it)
03:36 * stevan really really hates VBScript
03:40 putter err, could someone remind me... __PACKAGE__ expands to current pkg, what expands to current sub name?
03:41 scook0 has quit IRC ("leaving")
03:42 stevan putter: I am not sure anything does in p5
03:42 putter ok.  thanks.
03:42 mugwump have to get it with PadWalker or something :)
03:43 autrijus er, no no
03:43 autrijus (caller(0))[3]
03:44 autrijus if you set $^H you get DB::sub.
03:44 * mugwump was just running perl -le 'sub foo { print foreach (caller(0)) }; foo()'; realising how wrong he was ;-)
03:44 autrijus $DB::sub that is
03:44 putter great.  thanks!
03:45 autrijus er, sorry, I mean $^P of course
03:45 autrijus lwall was quite appalled that I consider the fact you can type $^P with two bytes a "feature"
03:46 autrijus but it's gone from perl6 nevertheless.
03:48 cdpruden has quit IRC ("The computer fell asleep")
04:08 masak has joined #perl6
04:08 vcv- has quit IRC (Read error: 104 (Connection reset by peer))
04:09 coral autrijus: $^P in two bytes?
04:09 coral as in, control-P?
04:09 vigilante has joined #perl6
04:12 pjcj has joined #perl6
04:23 autrijus has quit IRC (Read error: 110 (Connection timed out))
04:23 whiteg has quit IRC (Read error: 104 (Connection reset by peer))
04:39 yome has joined #perl6
04:39 svnbot6 r5585, putter++ | perl5/PIL-Run/crude_repl.pl - Created.  An evening's first attempt at driving a p5 runtime with PIL.  Provides a very crude p6 read-eval-print loop running on p5.
04:40 yome Hi.  can anyone points me to an explanation of what the '>> <<' "explicit parallelism" operator does?
04:41 putter I didn't get a chance to create PIL-Run/lib/PIL/{Object,String,Sub}.pm, but it's a start.
04:41 mugwump yome: start with http://dev.perl.org/perl6/doc/des​ign/syn/S03.html#Hyper_operators
04:43 yome Oh, it's just a 'map', no?
04:43 whiteg has joined #perl6
04:44 mugwump it's similar to map, except you can map over several things at once, eg
04:44 putter good night all &
04:44 mugwump @a = @b »+« @b »+« @c
04:44 cognominal do we have anything like lexically scoped types? /ext/Perl-Compiler/lib/Perl/Compiler/PIL.pm with its repeated Perl::Compiler::PIL.pm is a sore in the eyes
04:44 autrijus has joined #perl6
04:44 putter has quit IRC ("Leaving")
04:44 mugwump cognominal: sure, my Class Foo { }
04:45 cognominal it would be nice to alias  lexically Perl::Compiler::PIL to something shorter
04:45 mugwump oh that's something else
04:45 cognominal well, I meant lexically scoped aliases...
04:46 cognominal ...of types
04:46 mugwump just use variables/constants?
04:47 putter has joined #perl6
04:47 putter ::($pcp)::...
04:47 cognominal in perl5 I would mess with the global scope:   *_ALIAS = *y Perl::Compiler::PIL
04:47 mugwump yes, or our $PCPIL = ::Perl::Compiler::PIL;
04:48 cognominal nice
04:48 cognominal I can swallow that PIL :)
04:48 yome has left "Leaving"
04:48 mugwump jabbot, rimshot
04:49 mugwump damn
04:49 putter ;)
04:49 putter &
04:49 putter has quit IRC (Client Quit)
04:50 mjflick has joined #perl6
04:58 vigilante has quit IRC (Read error: 110 (Connection timed out))
05:00 cognominal Meijer against SPJ, that's a war within MS? :)
05:03 mugwump SPJ?
05:03 * mugwump backlogs
05:03 jdv79 where's the best doc or docs on the new OO system?
05:04 mugwump jdv79: A12 and S12 are the normal reference works
05:04 cognominal SPJ is Simon Peyton Jones: http://research.microsoft.com/Users/simonpj/
05:04 jdv79 wasn't there on on the meta stuff specifiically?
05:04 QtPlatypus The GHC guy?
05:05 cognominal yup
05:06 stevan jdv79: that would be me or mugwump
05:06 jdv79 stevan, didn't you make up a little paper on the metamodel?
05:06 stevan I did a few docs, but most of them are not valid anymore
05:06 stevan they were just for learning the meta-thing
05:06 stevan jdv79: what exactly are you looking for?
05:07 brentdax has quit IRC ("workin on stuff.")
05:07 jdv79 a good overview for someone who asked about "the p6 OO system".
05:07 stevan from the user side, or the meta side?
05:08 jdv79 i guess user, you're right.
05:08 stevan the user side, use S12 or A12 (although some of that is wrong and some is outdated)
05:08 stevan but the basics are still the same
05:08 jdv79 thanks
05:08 stevan you welcome :)
05:10 * mugwump completes stevan's statement with "are, hrrrmm."
05:10 * stevan wonders why mugwump thinks I talk like a pirate :)
05:11 stevan on of SPJ's books is online: http://research.microsoft.com/%7Esimon​pj/papers/slpj-book-1987/PAGES/III.HTM
05:11 jdv79 stevan, one more thing - how complete is the OO system, from a users perspective.
05:11 stevan jdv79: in pugs, it is not very complete
05:12 stevan things like Roles are just aliases for Classes
05:12 stevan which is incorrect behavior
05:12 stevan submethods are really methods (also incorrect)
05:12 jdv79 gotcha
05:12 stevan but your basic Class/Object style OO is there
05:12 stevan opaque types, etc
05:12 jdv79 all the cool stuff isn't there yet - darn:(
05:12 stevan it should be enough to show someone as an example
05:13 stevan jdv79: well, the "cool" stuff is not even really "finished" yet from a design point of view
05:13 jdv79 hahaha
05:13 stevan there are many edge cases still to be worked out
05:13 jdv79 oh, i haven't been keeping track lately
05:13 stevan which I am trying to do with the meta model
05:13 stevan jdv79: yes, moving targets and all :)
05:40 cwest I don't suppose I could get some much needed svn help via /msg or somesuch?
05:47 jdv79 has quit IRC ("Leaving")
05:47 vcv- has joined #perl6
05:49 nothingmuch has quit IRC (Read error: 113 (No route to host))
06:00 pupilzeng has joined #perl6
06:05 f0rth has quit IRC (Read error: 104 (Connection reset by peer))
06:05 f0rth has joined #perl6
06:08 nothingmuch has joined #perl6
06:09 iwlx has joined #perl6
06:10 nothingmuch_ has joined #perl6
06:11 wilx has quit IRC (Read error: 104 (Connection reset by peer))
06:14 SM_ax has joined #perl6
06:26 nothingmuch has quit IRC (Read error: 110 (Connection timed out))
06:26 svnbot6 r5586, Stevan++ | Perl6::MetaModel -
06:26 svnbot6 r5586, Stevan++ |     <NOTE: experiemental change!!!>
06:26 svnbot6 r5586, Stevan++ | ::Method objects now check the caller/invocant and
06:26 svnbot6 r5586, Stevan++ | make sure they can be legitimately be called by
06:26 svnbot6 r5586, Stevan++ | the invocant. Currenlty only Perl6::SubMethod does
06:26 svnbot6 r5586, Stevan++ | anything with this. see t/31_submethod.t for a
06:26 svnbot6 r5586, Stevan++ | basic example.
06:26 svnbot6 r5586, Stevan++ | I have to think more on this approach, but for now
06:26 svnbot6 r5586, Stevan++ | it is too late :)
06:33 iblechbot has joined #perl6
06:40 nothingmuch_ stevan++; # naughty activity adds to your cuteness
06:46 nothingmuch_ is now known as nothingmuch
06:49 dmo has joined #perl6
06:50 Aankhen`` has joined #perl6
06:52 cwest Stevan: Create META.yml files that end in new lines! ;-)
06:52 nothingmuch hola cwest
06:53 * cwest fixes the jsan indexer that stevan broke.
06:53 cwest hi nothingmuch
06:53 cwest I shouldn't complain. He broke it with conrtibutions.
06:53 * nothingmuch can't see the jsan site =(
06:53 coral JSAN++
06:53 cwest really? I've got it up. What's the problem?
06:55 Aankhen`` Morning.
06:55 cwest morning
06:55 Aankhen`` cwest!
06:55 Aankhen`` May I PM you?
06:55 cwest sure
06:56 * gaal looks at SPJ's homepage url.... isn't /Users a mac thing? :)
07:03 nothingmuch yep
07:03 nothingmuch but not necessarily
07:03 nothingmuch cwest: my browser crashes, and I don't know why
07:03 nothingmuch safari, that is
07:03 nothingmuch every time it loads, it just goes into beachball spinning mode
07:05 cwest nothingmuch: that's crazy. I run safari all day on openjsan and don't have issues.
07:05 cwest You need to inable your debug menu option.
07:05 cwest Then you can look at the javascript console
07:05 cwest well, try cmd+shift+j and see if it'll come up.
07:06 nothingmuch can you zip your safari .app and put it up somewhere?
07:06 nothingmuch or anyone on tiger, for that matter?
07:08 nothingmuch ugh... brb
07:08 nothingmuch has quit IRC ("leaving")
07:17 nothingmuch has joined #perl6
07:17 nothingmuch cwest: OSX update solved it
07:17 cwest oh nice
07:17 cwest excellent
07:18 nothingmuch eep
07:18 nothingmuch http://jsan.woobling.org/doc/a/a​d/adamk/Upgrade/0.02/index.html
07:19 cwest bummer
07:19 nothingmuch i see why
07:20 nothingmuch i'll comment that out
07:20 nothingmuch i thought it was a perms problem, but it isn't
07:21 nothingmuch ok, fixed
07:22 cwest cool
07:22 nothingmuch can you provide rsync with a UID map?
07:23 cwest I'm not sure what you mean, but maybe.
07:23 cwest is it trying to keep the uid of the files on my server?
07:24 nothingmuch yep
07:24 cwest I think that's a client side option.
07:24 nothingmuch what's the named ID, btw?
07:24 nothingmuch probably, if at all
07:24 nothingmuch i know how to ignore UIDs
07:24 nothingmuch or to make it use named UIDs instead of numerical ones
07:24 nothingmuch if it's apache:apache then I'm happy
07:24 cwest my side it's cwest
07:25 nothingmuch okay... on my side it's my sister's user =)
07:25 cwest it'd be nobody:nobody if it were my apache users.
07:25 cwest heh
07:25 nothingmuch i can just run it as apache instead of as root
07:25 elmex has joined #perl6
07:25 cwest okay
07:26 larsen has joined #perl6
07:27 cwest ah, excellent. home grown yaml errors
07:28 nothingmuch http://jsan.woobling.org/community/svn.html <-- not linked
07:28 nothingmuch use relative links
07:29 cwest nnot linked where?
07:29 nothingmuch from itself
07:29 nothingmuch you are linking directly to http://openjsan.org/D
07:29 nothingmuch instead of just to /community/svn.html
07:29 cwest you mean from the homepage?
07:29 nothingmuch or "community/svn.html"
07:29 nothingmuch yes
07:29 cwest oh yeah, that's a matter of convenience
07:30 cwest I'm being very lazy and copying my updates to my blog verbatim.
07:30 nothingmuch ah
07:30 nothingmuch well, run a script on it or something, because I'm only mirroring index.html
07:30 cwest only?
07:31 nothingmuch well, the images too
07:31 nothingmuch and the distributions links are relative
07:31 cwest at the moment I'm trying to fix the indexer
07:31 nothingmuch but all the links from the news aren't going to be used
07:31 cwest yeah, this is true. they should all be changed.
07:32 cwest So check this out. svn co https://openjsan.org:81, edit in openjsan/trunk/tempaltes/src/index.html, send patch to jsan-devel ;-)
07:32 gaal lwall++ # The Element of Surptise: %*INC is lexically scoped!
07:32 cwest Or, you know, wait for me to do it.
07:32 nothingmuch okay
07:32 cwest if you wait I'll fix it tomorrow
07:33 Aankhen`` gaal++ # "Surptise"
07:33 nothingmuch nono, i'll do it now
07:33 cwest finally fixed indexer, broken due to broken META.yml files.
07:33 gaal (creative typos)++
07:33 gaal Aankhen`` - hi! - you were looking for me the other day?
07:33 Aankhen`` Hi.
07:33 Aankhen`` And yeah, I was...
07:33 * Aankhen`` tries to remember.
07:33 Aankhen`` Oh yeah!
07:33 Aankhen`` Did you see examples/eval.p6?
07:34 gaal yes
07:34 Aankhen`` Well, basically, I want to emulate Pugs.Shell; I was wondering if you could maybe add hooks into all the functions it uses?
07:34 gaal what are your plans for it?
07:34 cwest Note: If you upload broken META.yml files they will not be included in the index!
07:34 cwest anyway
07:35 gaal hooks?
07:35 Aankhen`` A way to call the functions from Perl 6.
07:35 gaal oh, you mean for :d and :D and those things in <interactive>?
07:35 Aankhen`` Yeah.
07:36 nothingmuch cwest: what do all the pretty animal logos symbolize?
07:36 gaal i'll take a peek to see what that implies
07:36 Aankhen`` OK.
07:36 Aankhen`` Thanks. :-)
07:36 gaal np :)
07:40 nothingmuch cwest: svk patches are OK?
07:42 cwest nothingmuch: sure. I don't know what they'll look like but maybe it's time I try svk. :-)
07:42 cwest I'm up for anything at this point as long as it includes some kind of contribution. :-)
07:42 Aankhen`` I WILL COMPILE SUBVERSION ONE OF THESE DAYS
07:43 cwest (with ssl support)
07:43 * cwest updates his journal and plans to head to bed
07:43 nothingmuch oof!
07:43 cwest very very late
07:43 nothingmuch wait 2 more minutes
07:43 cwest alright
07:46 gaal Aankhen``: there is some coupling to tease apart there to make it work. so can you say why we need this? ie why a user would use eval.p6 instead of the native pugs shell?
07:46 gaal (it's not like eval.p6 will be portable to other p6 implementations if those hooks are exposed)
07:46 Aankhen`` Well, I just put it together as an example; putter said it might be a good idea to start working on a native P6 read-eval-print implementation...
07:46 gaal ahh
07:47 gaal so you need to implement those things natively :)
07:47 gaal hooking into the internals is cheating
07:47 Aankhen`` Riiight... I need to implement the Haskell representations natively... :-P
07:48 nothingmuch autrijus: ping
07:49 gaal looks like you just want CmdParse[Raw]? then
07:49 * Aankhen`` checks.
07:49 gaal doParse in Main.hs:217
07:50 nothingmuch cwest: ok, i only have svk di to offer
07:50 Aankhen`` That returns the "pretty" representation?
07:50 nothingmuch i don't know how to make a "proper" patch
07:50 cwest So... is it ever to early to start a lexicon thingy for jsan, so it can be converted to multiple langauges?
07:50 gaal actually it prints it
07:50 Aankhen`` Ah.
07:50 cwest nothingmuch: send it to jsan-devel, I'll see if I can make sense of it.
07:50 Aankhen`` Hrm.
07:51 Aankhen`` I need to get at the syntax tree.
07:51 gaal hmmm, doParseWith is more like it since you will want to supply an env.
07:51 cwest nothingmuch: also, you rock
07:51 Aankhen`` I can use `.perl` for the pretty representation.
07:51 gaal you want a *string* of the syntax tree
07:51 Aankhen`` Er, yeah.
07:51 nothingmuch i don't know how to make a "proper" patch
07:51 pasteling "nothingmuch" at 212.143.92.226 pasted "svk di //local-branches/jsan //mirror/jsan" (45 lines, 1.9K) at http://sial.org/pbot/11754
07:51 nothingmuch oof! i hate confusion
07:51 Aankhen`` Isn't it fun to be clueless and learn as you go along? ^_^
07:51 cwest nothingmuch: Oh I see. svk di isn't something I can work with?
07:52 cwest nothingmuch: It's cool, send the whole file.
07:52 cwest I can do the rest.
07:53 nothingmuch i think it is workable
07:53 pasteling "nothingmuch" at 212.143.92.226 pasted "index.html template" (150 lines, 4.5K) at http://sial.org/pbot/11755
07:53 cwest yeah, that's cool.
07:53 * nothingmuch is not able to sign in to google groups
07:53 nothingmuch set up commit access =)
07:54 gaal okay, i think i know what's needed.
07:54 cwest heh. send me the output of htpasswd -cm /some/fille you_user_name
07:56 Aankhen`` Be back in 10 minutes.
07:56 gaal good idea. me too
08:04 osfameron has joined #perl6
08:12 gaal i know how to do it, but only in a hacky manner. so i'd rather wait a bit until a better idea comes up.
08:13 gaal i want to avoid duplicating the code in doParse: and instead having that call a Prim (just like doLoad delegates to &require)
08:13 gaal but then there's the question of passing prettyFunc (either pretty or show) as an argument
08:14 gaal my alternatives are either writing two different prims (yech)
08:14 gaal or writing one prim with an integer arg indicating print func (yech also)
08:15 gaal both look easily vulnerable to bloat, like e.g when you'd want errors to show up as different colors in some environments
08:16 gaal hmm, though that one can easily be overcome by making error messages actually fails
08:16 gaal so the caller's responsibility is to look in $! and print that
08:16 gaal but i dislike having the magic numbers in there
08:22 Aankhen`` That's alright.
08:22 Aankhen`` It's a WIP.
08:22 Aankhen`` I can wait.
08:30 kcwu has quit IRC (Read error: 110 (Connection timed out))
08:34 afields has quit IRC ("-.")
08:35 rafl Pugs installs a lot of stuff as a default, including object files and some headers. I doubt if everything is really needed. Who can tell me what can be safely removed?
08:35 gaal you mean the CORE stuff?
08:35 rafl Right.
08:36 gaal backlog i think three days ago, i believe it's required for -C / -B
08:36 rafl Even some c source gets installed..
08:36 rafl I don't log IRC. Do you?
08:37 gaal http://colabti.de/irclogger/irclogger_logs/perl6 does
08:37 gaal with search
08:38 rafl Can you give me a keyword? I can't find the discussion you're refering at.
08:39 gaal sorry, don't remember exactly. core? sources? blib?
08:39 gaal alternatively use svn log -v to find the first instance of CORE
08:41 gaal ...or look at Makefile.PL history... :)
08:41 gaal err, you don't need -v for that svn log greppage
08:42 gaal i'm going off till late tonight. see 'ya. &
08:42 rafl Bye gaal.
08:45 scook0 has joined #perl6
08:53 broquaint has joined #perl6
09:01 Arathorn has quit IRC ()
09:09 theorbtw1 has quit IRC (Read error: 113 (No route to host))
09:13 Aankhen`` has quit IRC ("Reboot [Time wasted online: 2hrs 23mins 36secs]")
09:15 ToniEisner has quit IRC (Read error: 54 (Connection reset by peer))
09:18 Aankhen`` has joined #perl6
09:18 Aankhen`` SWIG sucks. :-\
09:23 rafl Here are the pugs Debian packages I prepared: http://www-user.tu-chemnitz​.de/~rafl/Code/Debian/Pugs/ - I plan to upload them to unstable today. Maybe someone want's to try them out before?
09:23 rafl Aankhen``: ACK
09:25 * Aankhen`` wanders off to shave and shower.
09:26 * integral tries the .debs
09:28 Maddingue has quit IRC (Read error: 104 (Connection reset by peer))
09:29 integral well the dpkg -i went smoothly :-)
09:30 integral and it works! rafl++ rafl++
09:36 rafl src/Pugs/CodeGen/PIR/Prelude.hi, src/Pugs/CodeGen/PIR/Prelude.o ext/Test-Builder/destroy_test.p6 aren't cleaned when running make clean.
09:36 svnbot6 r5587, rafl++ | * Improved the Debian package:
09:36 svnbot6 r5587, rafl++ |   * Moved architecture independent modules to pugs-modules
09:36 svnbot6 r5587, rafl++ |   * Closed the ITP bug with the changelog
09:36 svnbot6 r5587, rafl++ |   * Clean up properly in clean rule
09:36 rafl Someone should fix that.
09:40 integral it's because of the funky way that the list of files to clean is specified :-)
09:40 integral hrm, and they should get cleaned
09:43 integral rafl: hmm, I'm not seeing that problem, my src/Pugs/CodeGen/PIR gets cleaned just fine :-/
09:44 integral ah, it is this problem: src/Pugs/CodeGen/PIR is an autogenerated directory, not part of svn
09:46 ToniEisner has joined #perl6
09:47 Maddingue has joined #perl6
09:49 rafl As well as ext/Test-Builder/destroy_test.p6.
09:50 nothingmuch pretty: http://www.artlebedev.ru/portfolio/optimus/
09:53 rafl Cool..
09:54 integral rafl: would it be an idea for the debian packages to setup an alternative for /usr/bin/perl6 to point to pugs?
09:54 rafl There's no alternative yet.
09:55 rafl Should pugs be able to coexist together with the real perl6?
09:56 integral definately
09:56 castaway just make a "pugs" link..
09:56 castaway ?
09:57 rafl Well, I don't think installing an alternative is needed, atm.
09:57 rafl castaway: That only defers making an alternative until there's another perl6 interpreter available. We could also do that now.
09:57 rafl castaway: It's not "nice", anyway.
09:58 castaway sorry, which isnt nice?
09:58 castaway I would do that now, were it me.
09:58 rafl Simply installing a symlink from perl6 to pugs.
10:00 castaway I dont see why thats not nice
10:00 * castaway shrugs
10:01 rafl Because as soon as there's another perl6 interpreter available I would need to remove that anyway.
10:02 rafl And the perl6 maintainer would need to ask me to do that before he can upload his package. That would just delay the process.
10:02 castaway so just make a pugs link and forget the perl6 one?
10:03 integral "pugs link"?
10:03 castaway oh, wait, thats what integral wanted, no? I misread what he said
10:03 rafl To what should the pugs link point? There's already the pugs executable in /usr/bin.
10:03 * castaway should shut up
10:03 integral huh?  I wanted /usr/bin/perl6 to point to /usr/bin/pugs, where /usr/bin/pugs is the pugs binary.
10:04 castaway yeah, I read "an alternative to perl6 link"
10:04 castaway which suggested to me there already was one
10:04 integral ah
10:05 ImustDIE has quit IRC (Read error: 104 (Connection reset by peer))
10:06 rafl castaway: alternatives are a technology of Debian to make packages that provide the same files coexist together in peace.
10:06 rafl I just updated the Debian packages again to put also the perl5 libs into pugs-modules. They were in the pugs package before.
10:06 castaway like the prefered_browser thing, or whatever its called?
10:07 wolverian sensible-browser
10:07 castaway thats the thingy
10:07 wolverian (and -editor and -pager)
10:07 * castaway only suffers Debian on the machine she doesnt use ,)
10:07 wolverian debian only suffers me. I enjoy it.
10:07 rafl castaway: x-www-browser and www-browser, right.
10:08 wolverian the sensible- things check the environment for X, yeah.
10:08 wolverian (they're not part of alternatives really.)
10:09 castaway anyway, I think the "perl6" whateveritis, is a bad idea :)
10:09 castaway Debian annoyed me at some point in the past, and I#ve get to figure out why, and thus cant resolve myself to using it.. (yeah, i'm irrational)
10:14 castaway s/get/yet/
10:15 wolverian tried ubuntu? :)
10:23 Ronin_ has joined #perl6
10:23 error has quit IRC (Read error: 60 (Operation timed out))
10:23 Ronin_ has quit IRC (Client Quit)
10:27 elmex has quit IRC ("leaving")
10:27 dudley has quit IRC (Read error: 104 (Connection reset by peer))
10:28 dudley has joined #perl6
10:36 Shachaf has quit IRC (Read error: 110 (Connection timed out))
10:39 cdpruden has joined #perl6
10:54 Aankhen`` cwest, you around?
10:56 nothingmuch Aankhen``: he went to bed
10:56 Aankhen`` Darn.
10:57 nothingmuch Aankhen``: i can commit stuff to openjsan now
10:57 nothingmuch can't update though
10:57 Aankhen`` That's cool.
10:57 nothingmuch if you need anything
10:57 nothingmuch that way the next time he runs make it will be OK
10:57 nothingmuch maybe he runs it automatically, so even better
10:58 Aankhen`` I need to ask cwest if it's okay to give his e-mail address to someone who I'm trying to get onboard...
10:58 Aankhen`` Wait, his e-mail address is on the site anyway, so it's not exactly private... :-P
10:58 nothingmuch huraah!
11:01 etm117 has quit IRC ()
11:02 Aankhen`` You know who Dean Edwards is?
11:02 Aankhen`` Oh heck.
11:02 * Aankhen`` wanders off.
11:03 iblechbot has quit IRC (Read error: 104 (Connection reset by peer))
11:03 nothingmuch Dean Edwards? nope...
11:03 nothingmuch http://dean.edwards.name/
11:04 nothingmuch i like it when hackers' websites google rank higher than celebrities with the same name
11:06 castaway heh
11:13 * nothingmuch is almost succeeding this: http://www.bogleg.com/jag/movies/3ballr1.mpg
11:13 nothingmuch my problem is with the second under throw
11:13 nothingmuch i can't time it right
11:27 Shachaf has joined #perl6
11:35 iblechbot has joined #perl6
11:35 Forth has quit IRC (Read error: 104 (Connection reset by peer))
11:35 svnbot6 r5588, scook0++ | * Haddock tweaks to Eval
11:51 nothingmuch kungfuftr: i have a concrete task for you:
11:51 nothingmuch whenever you click the [+] and [-] buttons the row changes height
11:51 nothingmuch i'd like the test name to stay put
11:51 nothingmuch do you think you can solve it?
11:56 kungfuftr nothingmuch: argh... lemme get back to you on it... can you wait until the weekend at all?
11:57 larsen has quit IRC ("later")
12:00 nothingmuch sure, this is not urgent
12:00 nothingmuch my HTML fu is just teh sux0r
12:03 cdpruden has left
12:06 Limbic_Region has joined #perl6
12:07 nothingmuch irssi + growl == fun
12:08 nothingmuch brb
12:08 nothingmuch has quit IRC ("leaving")
12:08 nothingmuch has joined #perl6
12:09 nothingmuch has quit IRC (Client Quit)
12:09 nothingmuch has joined #perl6
12:09 kolibrie has joined #perl6
12:14 nothingmuch has quit IRC ("leaving")
12:14 rafl Pugs is now in the Debian NEW queue: http://ftp-master.debian.org/new.html
12:15 rafl It should go into unstable in about a week or so.
12:17 Limbic_Region rafl - I had a dream I met you last night
12:17 Limbic_Region odd - I was at some perl conference (which I have never been to IRL)
12:17 Limbic_Region I was getting ready to leave and you introduced yourself and said hope to see you again next time
12:18 kcwu has joined #perl6
12:18 nothingmuch has joined #perl6
12:18 nothingmuch bah!
12:18 Limbic_Region the dream then progressed into a murder trial where I could hear the thoughts of the defendent - wonder if that means anything *grin*
12:18 nothingmuch sorry everyone
12:19 Limbic_Region nothingmuch - will have some questions for you in a bit if you will be around?
12:19 nothingmuch yes - for the next 35 minutes
12:19 nothingmuch then I have to go pick up my dad
12:19 Limbic_Region ok - will likely have to wait until after then
12:19 Limbic_Region I just started a new make smoke
12:20 Limbic_Region I got to thinking about the types of things that you had mentioned wanting to isolate in a short easy to read string
12:21 slr has joined #perl6
12:21 Limbic_Region and I am not sure how I am going to be able to find them - since I have a single system with a single configuration - where does the diversity come in?
12:21 jdv79 has joined #perl6
12:21 nothingmuch if you have two test.
12:21 nothingmuch yml files
12:21 nothingmuch like for example yours and this one ...
12:22 nothingmuch http://nothingmuch.woobling.o​rg/pugs_test_status/tests.yml
12:22 jdv79 anyone know why whitespace is allowed between the sigil and the identifier in p5 but not in pugs?
12:22 nothingmuch (updated regularly)
12:22 Aankhen`` nothingmuch >> I am aware of who Dean Edwards is, I was asking if you know him. :-P
12:22 nothingmuch interesting things inside the suummary are: osname, pugs_revision,
12:22 Aankhen`` Know of him, even.
12:22 Limbic_Region ok nothingmuch - that should do it
12:22 Limbic_Region thanks
12:22 nothingmuch oh... no
12:23 nothingmuch sorry Aankhen``
12:23 Aankhen`` S'okay, no biggie. :-)
12:23 nothingmuch make it generic
12:23 Aankhen`` BTW, what's the page where the [+] and [-] changes height blah blah?
12:23 nothingmuch and I'll ask autrijus how to add the pugs embed flags, etc
12:23 nothingmuch http://nothingmuch.woobling.org/detail.html
12:24 nothingmuch when you minimize or maximize a case, the line with 't/dummy.t       expanded view' wobbles
12:24 nothingmuch i'd like it to stay put
12:24 Aankhen`` Ah.
12:24 QtPlatypus jdv79: I didn't even know what white space was permitted there.
12:25 jdv79 perl -e 'my$ foo="bar";print $ foo;'
12:25 jdv79 but then run that with pugs:)
12:25 Limbic_Region nothingmuch - well I need to work on a $work project while this make smoke is running - hopefully it won't take too long
12:25 Limbic_Region I need to come up with a list of last names from somewhere
12:25 Limbic_Region I am going to get first names by screen scraping a baby name web site
12:25 Aankhen`` jdv: C:\Documents and Settings\Aankhen>perl -ew "my$ foo='bar'; print $ foo"
12:25 Aankhen`` Um.
12:25 Aankhen`` Sorry.
12:26 Aankhen`` Hrm, that's DOS's fault.
12:26 Aankhen`` Anyway.
12:26 Aankhen`` It prints nothing.
12:26 nothingmuch Limbic_Region: ok.... i'll be around when I return
12:26 jdv79 does for me?
12:27 Aankhen`` jdv79 >> What version?
12:27 Aankhen`` (of Perl)
12:27 nothingmuch gaal: ping
12:28 pasteling "jdv79" at 216.6.168.167 pasted "[jman@bla ~]$ perl -we 'my$ fo" (21 lines, 765B) at http://sial.org/pbot/11756
12:28 QtPlatypus My guess is that larry thought it was a missfeature.
12:28 jdv79 and the latest pugs, 6.2.8 is it
12:28 jdv79 :)
12:28 Aankhen`` I am using 5.8.7... maybe that makes a difference?
12:28 Nattfodd has joined #perl6
12:28 jdv79 its been in there for a while - i remember it coming up once before a while ago
12:29 nothingmuch Limbic_Region: another tests.yml, stolen from gaal: http://perlcabal.org/~nothingmuch/tests.yml
12:29 nothingmuch that way you don't need to wait for yours
12:30 jdv79 pretty weird behavior - i'm all for getting rid of it.
12:31 kcwu has quit IRC ("leaving")
12:36 nothingmuch perlbot: seen Corion?
12:36 nothingmuch gugod: please give us jabbot back, we miss him
12:36 gugod err
12:36 gugod ouch,
12:37 jabbot has joined #perl6
12:37 gugod there you go
12:37 Limbic_Region thanks nothingmuch - I got that one too
12:38 nothingmuch Limbic_Region: get cracking then
12:38 nothingmuch gugod: thanks!
12:38 Aankhen`` nothingmuch >> Just out of curiosity... what the heck have you and L~R been discussing over the past few days?
12:39 Aankhen`` I try very hard to understand, but I appear to have missed some critical points.
12:39 nothingmuch Aankhen``: he is going to generate the distinguishing string ('real run', and 'dummy failures' in the example) from tests.yml
12:39 nothingmuch so that if you compare two revisions, each will have the rev
12:39 Aankhen`` I see.
12:39 Aankhen`` Ahh.
12:39 Aankhen`` Neat.
12:39 nothingmuch but if you compare two platforms, same revision, only the osname is shown
12:39 Aankhen`` Right.
12:39 nothingmuch basically generate an array of attribute strings, filter out those which are the same
12:40 nothingmuch and try to compress the result if it's too long by replacing long words with shorter ones
12:40 nothingmuch like s/windows/win/; s/embedded perl5/+p5/
12:40 nothingmuch as much as needed
12:40 Aankhen`` Where will this be used?
12:40 Aankhen`` And how do you compare the two?
12:41 nothingmuch I'm schemeing a smoke server written in catalyst
12:41 nothingmuch where people upload tests.yml files
12:41 Aankhen`` Oh, right, now I remember that part of it.
12:41 nothingmuch then you can search by revision, platform, etc
12:41 nothingmuch and accumilate a list of reports you care about
12:41 nothingmuch and then get a graph of them together, to see the difference
12:41 Aankhen`` This is the one where you told me to shut up?
12:41 nothingmuch uh, maybe
12:41 nothingmuch around that time, anyway
12:41 Aankhen`` Yay!  I remember!
12:42 Aankhen`` What difference would a graph show?
12:42 Aankhen`` A graph of the success %?
12:42 Aankhen`` s/success/passed/
12:42 Limbic_Region nothingmuch - as I said, $work project has priority - besides, I am still smoking
12:42 nothingmuch blah blah blah, work
12:42 nothingmuch you're not doing what you're told
12:43 Aankhen`` Right, thanks for bearing with my questions. :-P
12:43 * Aankhen`` 's memory is due for an upgrade.
12:55 nothingmuch has quit IRC ("leaving")
12:55 svnbot6 r5589, autrijus++ | * Perl6::MetaModel - EXTEND in Array containers means growing _to_ a
12:55 svnbot6 r5589, autrijus++ |   certain number of entries, not growing _by_ that number of entries.
13:06 masak question:
13:06 masak is this supposed to work?
13:06 masak my %h; given %h { .{'key'} = 'value'; } say %h{'key'}
13:06 masak (it doesn't, but it feels natural to do)
13:07 QtPlatypus masak: Isn't that part of what the whole long ugly thread on p6l is about?
13:07 masak it is? :)
13:07 masak maybe punt the answer then
13:08 masak QtPlatypus: wait, do you mean the ./ thread?
13:08 masak i think not
13:10 masak this is hash dereferencing
13:10 QtPlatypus Its a method call.
13:10 masak but it has nothing to do with $self
13:10 masak of $_SELF, or whatever
13:10 masak :)
13:10 QtPlatypus On %h
13:11 masak yes, yes
13:11 rafl Limbic_Region: That scares me.
13:11 masak but there are no invocants
13:12 masak i don't claim to fully understand what they're discussing in the $long_ugly_thread, but I do think this falls outside
13:12 masak at least the semantics does
13:13 masak so i rephrase my question as: will it ever be possible to do something in the spirit of what i wrote above, using whatever syntax?
13:13 QtPlatypus Yes
13:14 QtPlatypus And  if it isn't damn it I will write a with macro
13:15 masak :)
13:15 masak so, should I add a test for this?
13:16 masak how do you add a test for unsupported syntax? pugs dies with "unexpected {" inside the given
13:16 QtPlatypus Check the bible, if you can find soumething that supports your veiw then do it
13:16 QtPlatypus eval
13:17 masak thx xx 2
13:22 masak ok, so apoc 4 talks about given
13:22 masak http://www.perl.com/pub/a/2​002/01/15/apo4.html?page=2
13:22 masak this is old stuff, though
13:23 masak and the only things i find about method calls seem to imply that my use case is ok
13:23 Khisanth masak: http://search.cpan.org/~ingy/Perl6-Bibl​e-0.19/lib/Perl6/Bible/A04.pod#RFC_022:​_Control_flow:_Builtin_switch_statement ?
13:24 masak Khisanth: thx
13:26 masak "A method must be written with a unary dot to distinguish it from other forms."
13:27 masak "The method may have arguments. In essence, when you write .foo(1,2,3) it is treated as if you wrote { $_.foo(1,2,3) }"
13:27 masak i don't know if that's relevant, but that's the only thing i find about it
13:27 svnbot6 r5590, iblech++ | New test testing the return values of use and require:
13:27 svnbot6 r5590, iblech++ | t/packages/require_and_use.t (with three helper .pms).
13:27 svnbot6 r5591, iblech++ | examples/eval.p6:
13:27 svnbot6 r5591, iblech++ | * fail_s are catched now
13:27 svnbot6 r5591, iblech++ | * Switched to P5-regex, as PGE is currently borked.
13:27 svnbot6 r5591, iblech++ | * Made ^D/^Z work and updated the banner message.
13:27 svnbot6 r5592, iblech++ | Usual svn props, EOLs at EOFs, minor doc and Haddock fixes.
13:31 kcwu has joined #perl6
13:33 Khisanth masak: well that page is a bit more updated but probably still not up to date
13:33 svnbot6 r5593, iblech++ | util/version_h.pl -- Made it work again (it was removing Help.{hi,o}, where it
13:33 svnbot6 r5593, iblech++ | should remove Version.{hi,o}).
13:33 integral iblech++
13:49 masak Khisanth: do you think anyone has mentioned my use case? it feels intuitive to me
13:50 Khisanth masak: I think it is a bug :)
13:52 QtPlatypus Khisanth: Why?
13:53 * Khisanth goes to grep logs and prepares to hit QtPlatypus :)
13:54 kungfuftr bit off topic, but has anyone played with Apache::PAR and a catalyst package?
13:54 masak Khisanth: note that it doesn't work in current pugs
13:54 masak but i want it to
13:56 meppl has joined #perl6
13:58 Khisanth masak: the question is, has given been fully implemented yet? :)
13:58 QtPlatypus Also does anyone know if in the situation like this macro tree (&code) { say $/;&code }; Should $/ contain the parse tree for &code?
13:59 autrijus the short answer is no :)
13:59 Khisanth well there you go! :P
14:00 autrijus macro gets PIL -- in the Pugs world, that is -- in the alternate universe you get PAST -- but you never get match objects.
14:00 autrijus however.
14:00 autrijus it is conceivable that you can get match objects attached to PIL
14:00 Khisanth pugs not working with current (more or less) HEAD of parrot is correct?
14:00 autrijus and it may even come with $/ if lwall desire so
14:00 autrijus but it's unspecced. and you can't return $/ and expect it to work
14:01 autrijus Khisanth: I don't know, hadn't tested; I'm waiting for leo-ctx5 to land
14:01 svnbot6 r5594, autrijus++ | * In span-code.t the now-illegal `sub {$^a}` form is used;
14:01 svnbot6 r5594, autrijus++ |   change it to the canonical `{$^a}`.
14:01 QtPlatypus autrijus: The bible seems to imply that $/ will contain some sort of AST in that situation.
14:01 autrijus define "not working"?
14:01 Khisanth autrijus: the "PackFile_unpack: Bytecode not valid for this interpreter: fingerprint mismatch..." thing I mentioned the other day
14:02 autrijus QtPlatypus: A06?
14:02 autrijus Khisanth: maybe the installed version of parrot does not match the linked one?
14:02 * QtPlatypus nods. "Like my find the quote where I got that impression from"
14:02 autrijus it looks like it tries to load a .pbc and fails
14:02 nothingmuch has joined #perl6
14:02 Khisanth err I only have one parrot as far as I know
14:02 QtPlatypus BTW how do I get at the PILL in that situation?
14:03 autrijus QtPlatypus: you likely get an object in the style of ext/Perl6-Compiler/
14:03 autrijus Perl-Compiler
14:03 * Khisanth tries a make clean
14:04 nothingmuch autrijus: i want to try pil on p5 another way:
14:04 nothingmuch implement a PIL walker and PIL nodes in perl 5
14:04 nothingmuch and just walk that
14:04 autrijus nothingmuch: sure
14:04 nothingmuch and also try to emit perl5 code that represents PIL walking (that is, unroll the wrapping for PIL) in haskell
14:04 autrijus QtPlatypus: anyway. the deal is that $/ will not be a regular match object tree; it will be PIL annotated with match objects, or match objects anotated with PIL
14:04 nothingmuch i think Perl 6 doesn't have enough tools for the job
14:04 nothingmuch and perl5's tools aren't good enough
14:06 autrijus QtPlatypus: so maybe you can indeed return $/ and expect it to work, but the structure of $/ is likely to be not a regular Match object
14:06 masak autrijus: is `my %h; given %h { .{'key'} = 'value' }` meant to work eventually?
14:06 svnbot6 r5595, iblech++ | Clean temporary files, rafl++ for noticing:
14:06 svnbot6 r5595, iblech++ | * ext/Test-Builder/t/010_Test_Builder.t: destroy*
14:06 svnbot6 r5595, iblech++ | * perl5/PIL-Run/crude_repl.pl: deleteme.p6
14:06 svnbot6 r5595, iblech++ | * Makefile.PL: Prelude.{hi,o}
14:06 autrijus QtPlatypus: pmichaud mentioned something about rebinding $/ inside rules and make it return something else entirely
14:07 QtPlatypus "Macros are considered methods on the current parse state object, so they have an invocant Macros are considered methods on the current parse state object
14:07 QtPlatypus We treat macros as if they were methods on the parse object returned by the grammar rule, so the first argument is passed as if it were an invocant, and it is always bound to the current parse tree object, known as $0 in Apocalypse 5.
14:07 autrijus right, and that's written before the understanding that a one-pass parser can't generate AST. :)
14:08 QtPlatypus Arh.
14:08 autrijus what I'm saying is just A06's view is naive
14:08 autrijus its interface may be of use, but all its speculation about internals is to be taken as way off :)
14:08 SM_ax has quit IRC ("ChatZilla 0.9.61 [Mozilla rv:1.7.8/20050513]")
14:08 autrijus (which is why we need a separate macro synopsis.)
14:08 * QtPlatypus nods.
14:09 autrijus back when A06 was written, the dominant view is that there's no separate compilation
14:09 autrijus and P6 AST will just be like P5 -- parse tree annotated with some type information
14:09 autrijus that view is now shown as naive, and I don't think any of @Larry is still holding onto it
14:10 autrijus from what I gather at hackathon, the consensus is now separate compilation with a separate AST structure.
14:10 autrijus (this is also because pmichaud and I both observed that we can't share a parse tree structure with python, but there's a good chance that we can share something at PIL's level with python.)
14:11 autrijus (and macros are better done at that post-compilation level, not the naive pre-compilation parse level)
14:11 autrijus "are better" is understatement; "only sane way" is more like it :)
14:13 autrijus masak: it looks like it should work, yes
14:13 QtPlatypus Does that mean that some macro's are impossable to be portable accross perl6 implimentations?
14:13 autrijus masak: I'm surprised there's no todo test yet
14:14 autrijus QtPlatypus: if the macro synopsis is written with a certain interface of syntax nodes
14:14 autrijus then that becomes normative
14:14 autrijus and all implementations are supposed to honour it.
14:15 * QtPlatypus nods "Sorry about asking all these questions and contributing relativly not much."
14:15 autrijus there's a good chance that if PIL is up to the task then ext/Perl-Compiler/ interface can be made part of that spec.
14:15 autrijus (since it's one of the points that pmichaud and I both agree vehemently on)
14:16 autrijus QtPlatypus: oh, that's fine -- if you'd like to contribute you can do what putter did and write this up and append to docs/notes/plan
14:16 autrijus someone will then do what geoffb did and edit it into beautiful prose :)
14:16 masak autrijus: i can write one
14:17 autrijus masak++ # go ahead then :)
14:17 masak `my %h; given %h { .<key> = 'value' }` should work too
14:17 autrijus right.
14:18 autrijus QtPlatypus: so, got some cycles to do a writeup? :)
14:18 Khisanth hmm make clean; make; fixed that problem with parrot
14:19 autrijus Khisanth: glad to hear
14:19 * Khisanth starts wishing for better alternatives to make :)
14:20 QtPlatypus autrijus: Sure.
14:20 autrijus QtPlatypus++
14:21 jhorwitz has joined #perl6
14:24 nothingmuch has quit IRC (Read error: 60 (Operation timed out))
14:27 PerlJam has joined #perl6
14:27 svnbot6 r5596, masak++ | Added tests for hash dereferencing inside a given block
14:29 QtPlatypus Also, I have a have a base conversion sub that is usefull and a Base64 en/decoder.  Where should thouse things go?
14:29 fglock has joined #perl6
14:29 autrijus ext/MIME-Base64/
14:30 * QtPlatypus nods.
14:30 QtPlatypus Though its only going to be usefull when we get raw bytes.
14:39 autrijus aye. which means our VStr type needs a rethink.
14:39 autrijus but wait... I've thought about it before :)
14:39 autrijus (culminating in Dan's ParrotString design)
14:39 autrijus so maybe we just take that.
14:41 * QtPlatypus nods.
14:42 autrijus Juerd:
14:42 Juerd ""?
14:42 autrijus I'm waiting for the remaining 4 days to pass. :)
14:43 Juerd So am I.
14:43 autrijus good. just so we know we agree :)
14:43 Juerd But I finally found the name of this biblical figure (had been searching for a few days), so had to post it
14:43 autrijus ahh.
14:44 Juerd I find it a very bad way to interact with people to force this situation.
14:44 Juerd But I needed the reference for a better post :)
14:47 joepurl_ has joined #perl6
14:49 joepurl_ is now known as joepurl
14:55 justatheory has joined #perl6
14:55 svnbot6 r5597, fglock++ | added Span::Code.stringify
14:55 svnbot6 r5598, fglock++ | fixed stringify
14:55 svnbot6 r5599, qtplatypus++ | Raw dump  of macro discussion, nice-ed up version to follow
14:56 mja has joined #perl6
15:00 nothingmuch has joined #perl6
15:01 masak Juerd: king Solomon and the baby?
15:04 Juerd Yes
15:04 osfameron has quit IRC (Read error: 60 (Operation timed out))
15:04 Juerd If you can't pick a real solution, kill the entire idea, and hope someone screams loudly.
15:07 elmex has joined #perl6
15:07 autrijus to date 4 people screamed loudly.
15:08 Juerd Yes, I am a bit amazed that not everyone screams loudly.
15:08 autrijus so obviously ./ is sane!
15:08 autrijus ;)
15:08 Juerd I never claimed it was sane
15:08 Juerd I don't think it is
15:08 elmex i hate ./
15:08 Juerd It is, however, a pretty and good looking solutino for a real problem
15:08 elmex ./ is no solution.
15:08 Juerd It is a solution
15:09 Juerd It is perhaps not a syntax you like
15:09 Juerd But it is a solution
15:09 elmex it's a syntax that doesn't fit into the language
15:09 Juerd Haha
15:09 Juerd As if all those other things "fit in"
15:09 elmex #$*(#%#$(*#$*#.method () is also a solution
15:09 Juerd There is no syntax that will fit in.
15:09 autrijus right. so both are solutions :)
15:09 Juerd It's simply unavailable
15:10 elmex at least larry doesn't want ./ to be the default
15:10 autrijus in certain other languages all it takes is for the Power That Be to declare 'self' or 'this'. :)
15:10 elmex autrijus: perl5?
15:10 Juerd A keyword would be unperlish in that a function (or what looks like a function) then represents a "current" variable, which is unprecedented except for I/O stuff (cwd)
15:10 autrijus elmex: er, no, anything but perl5
15:11 Juerd A variable can't fit in because some crazy guy decided all predefined variables had to be ugly upper case and having a twigil
15:11 autrijus Juerd: ... and schwern's $*CWD.
15:11 autrijus fwiw, $?SELF makes sense and fits in, it's just very hard to type.
15:11 Juerd And there is only ONE single-character available in term position, the character being ^, which doesn't fit in because ^ has a lot of other meanings, all of which are somehow related.
15:11 Juerd autrijus: Indeed.
15:12 Juerd And I wouldn't mind NOT having any syntax for ./foo, but I do mind - intensely - not having .foo to default to $_.foo
15:12 svnbot6 r5600, fglock++ | fixed tests, examples
15:12 autrijus Juerd: indeed.
15:13 autrijus but I can see people minding the other and not minding the other.
15:13 autrijus which is why larry went Solomonian.
15:13 _zaphod has joined #perl6
15:13 * Juerd personally thinks invocant method calls don't really need a shorter syntax. Invocants, like other arguments, should be declared. (There will of course, within a day from 6.0.0's release, be a module that introduces something that adds a $self declaration to every method's signature that doesn't already declare the invocant.)
15:13 Juerd (And I would also not mind this te be default)
15:13 elmex Juerd: do you mean larrys decision about these crazy meaning about .method => $_.method ?
15:13 nothingmuch whatr is "Solomon judgement" in this context?
15:14 autrijus elmex: Juerd meant _outlawing_ .method within a topicalizer in methods
15:14 autrijus that is insane.
15:14 * nothingmuch simply doesn't see what's so bad about $_ being the default invocant, and .method always working on $_
15:14 elmex autrijus: indeed
15:14 Juerd elmex: Larry's decision to let .foo mean $_.foo is a good one, and the only correct choice in light of the entire language, and history.
15:14 autrijus it's the least sane solution
15:14 elmex Juerd: indeed, yes
15:14 autrijus but I can follow larry's logic into that solution :)
15:14 Juerd elmex: Larry's decision to disallow .foo entirely whereever a $?SELF exists, is stupid and makes me angry.
15:14 autrijus Juerd: it pisses everybody off equally.
15:15 elmex Juerd: i completly agree
15:15 * nothingmuch utters a "me too"
15:15 autrijus nothingmuch: "solomon judgement" means pissing everybody off equally at +Inf
15:15 Juerd autrijus: I can follow the logic. But I think this was neither wise nor friendly.
15:15 elmex Juerd: changing the semantics of .method depending on whether the code is in a sub oder method is not good
15:15 autrijus see, elmex and Juerd agreed
15:15 elmex (imho)
15:15 autrijus that won't happen were larry didn't make that solomonian ruling.
15:15 autrijus ;)
15:16 autrijus by virtue of having everybody pissed off at +Inf, suddenly we all agree :)
15:16 Juerd autrijus: It would have happened. I have said before that I have absolutely no strong opinion at all about invocant.foo, while I do have a very strong opinion about .foo meaning $_.foo in every situation.
15:16 Juerd Yes, I invented ./foo, but that was by coincidence, and I have admitted from the beginning that the mnemonic is forced, and that it doesn't really make all too much sense.
15:17 Juerd It works for me.
15:17 Juerd But it doesn't HAVE TO be there.
15:17 _zaphod has quit IRC (Client Quit)
15:18 autrijus Juerd: right but people care about different things differently, and the only way to make us all agree is by blatantly breaking all parts that people can conceivably care about :)
15:18 Juerd I did get the impression that people who have actually already written lots of Perl 6 code, all like ./foo
15:18 nothingmuch Juerd: are you saying "the './' syntax as shorthand for $?SELF.foo doesn't need to be the default, but .foo must always mean $_.foo"?
15:18 Juerd While people who think it's ugly generally haven't really written any class greater than 5 lines yet.
15:18 Juerd I might be mistaken.
15:19 nothingmuch has this exact claim been raised on the list?
15:19 Juerd autrijus: I know how it works. The solomon thing is a nasty but very obvious move.
15:19 nothingmuch i've been enjoying ./foo a lot, because it is very different to *type*, and thus very good for the mind
15:19 elmex Juerd: i have a strong opinion agains './', imho anything but './' (and other crazy punctation) would be fine... even larry's o.method (). and i agree, that .method -> $_.method is going to be quite useful
15:19 Juerd nothingmuch: Yes, I am saying that I don't care about the $?SELF.foo shortcut at all.
15:19 Juerd nothingmuch: And that .foo must be $_.foo
15:19 nothingmuch Juerd++; # very sane
15:20 Juerd And those things I have uttered repeatedly on the list, as far as my memory serves me correctly.
15:20 Juerd (Which, I admit, is rapidly going downhill)
15:20 autrijus Juerd: oh, and that would mean method do not topicalise $?SELF ?
15:20 autrijus or you are neutral on that?
15:20 nothingmuch i think methods topicalize on $?SELF
15:20 nothingmuch unless $_ is in the parameter list
15:21 Juerd autrijus: In general, for consistency, I'd want it to topicalise. But it's not important enough to fight over.
15:21 nothingmuch there is absolutely no reason not to do it
15:21 elmex nothingmuch: \/\/\/\/\/\/\/\/.method would be different to type too ;-) or ((((.method or ~^~.method ;-)
15:21 autrijus nothingmuch: there is a very good reason, namely you can't copy a naive .foo into a given block.
15:21 Juerd I think that the body of a given { } should be abstractable to a method without any code changes, but adding a given to the method itself would work for me too.
15:21 autrijus `given` block.
15:21 elmex autrijus: that quite a reason ! ;)
15:21 nothingmuch autrijus: hmm... fair enough
15:22 autrijus anyway, for the three axis I can argue at both sides
15:22 iwlx Hmm.
15:22 Juerd autrijus: The copying thing is a reason to *have it*, in my opinion
15:22 iwlx What does ./foo do?
15:22 autrijus so that gives eight positions
15:22 Juerd autrijus: "copy & paste" is way too often associated with copying from websites and manuals
15:22 nothingmuch iwlx: ./foo always calls on $?SELF, .foo always calls on $_
15:22 Juerd autrijus: It's the most important refactoring technique as well.
15:22 iwlx is now known as wilx
15:22 autrijus and I can understand larry's desire of stack overflow :)
15:22 * nothingmuch has to practice some bass
15:22 nothingmuch ciao!
15:22 wilx I see...
15:22 Juerd given $object {
15:22 autrijus Juerd: I'm talking about
15:22 Juerd    .foo;
15:22 Juerd    .bar;
15:23 autrijus method foo { .bar };
15:23 autrijus vs
15:23 Juerd    if (.baz) { .quux }
15:23 Juerd }
15:23 Juerd Now, that's great if I want to do that once
15:23 autrijus method foo { given $z { .bar } };
15:23 Juerd But if I want to do it twice, I'd want a method
15:23 putter has joined #perl6
15:23 Juerd To get that method, if methods topicalise, I can just change the first line to:
15:23 elmex nothingmuch: ./ doesn't call on self. or is it already in perl6?
15:23 autrijus I see your position and I used to argue from that posision too :)
15:23 putter just a quick note,
15:23 Juerd method do_something {
15:23 nothingmuch elmex: we want it there ;-)
15:23 nothingmuch i'm off
15:23 Juerd If it doesn't, I wrap the method around it:
15:24 elmex nothingmuch: i don't want it
15:24 Juerd method do_something ($object) {
15:24 nothingmuch tell Limbic_Region i'll be back later tonight if he asks
15:24 Juerd    given $object {
15:24 Juerd        ...
15:24 autrijus Juerd: yes. I understand completely
15:24 Juerd    }
15:24 nothingmuch elmex: so what, we don't care about your opinion,  or Larry's
15:24 Juerd }
15:24 nothingmuch ;-)
15:24 Juerd I don't care much, but I think the former solution is a little bit more practical
15:24 autrijus I'm just saying you describe a fairly orthodox OO pattern of programming
15:24 nothingmuch seriously though - the './' syntax is just a variation on whatever
15:24 autrijus and there are other patterns that makes people care about other things
15:24 putter nothingmuch: just in case you didnt notice, you can quickly get started on pil tree in p5 but taking pilc in crude_repl and evaling it in a package that has sub c{} bound to something which creates nodes...
15:24 elmex nothingmuch: well, i already accepted that perl6 is a bogous misdesign in many places. and quite overdesigned too. i'm going to write perl5 for a long time still :)
15:24 Juerd But this being a time of crisis makes me want to officially declare that I don't care.
15:25 wilx Hmm.
15:25 autrijus Juerd: good :)
15:25 wilx I thought it over and if $?SELF is the same thing as this pointer in C++ then it sounds completely sane to me.
15:25 nothingmuch as long as there is no pragma to select the syntax, that is there is one true syntax, i'm happy
15:25 nothingmuch and it should be 2 chars or less
15:25 Juerd Can we please not compare to static languages?
15:26 Juerd It's usually rather fruitless.
15:26 putter &
15:26 elmex nothingmuch: o.method
15:26 putter has quit IRC (Client Quit)
15:26 nothingmuch putter: i'll have a look later
15:26 autrijus nothingmuch: $?.method
15:26 nothingmuch elmex: that's horrible
15:26 PerlJam horrible?
15:26 nothingmuch autrijus: shit makes the . hard to get right
15:26 nothingmuch PerlJam: yes.
15:26 * PerlJam usually writes $o->meth() in perl5 now.
15:26 elmex nothingmuch: ./ is hjorrible
15:27 nothingmuch yed, $o is much better than o
15:27 elmex nothingmuch: $o is a scalar
15:27 nothingmuch right
15:27 masak Juerd: I support your position. I don't care about the exact semantics, but fwiw I like ./ among the alternatives
15:27 nothingmuch o is fudgery
15:27 Juerd elmex: The invocant is a scalar too!
15:27 PerlJam elmex: why is ./ horrible again?
15:27 integral $?self would be nice to type
15:27 Juerd integral: Except for the ?
15:27 nothingmuch integral: you can always do that
15:27 PerlJam Juerd: add a "me too" to what masak just said.
15:27 nothingmuch has quit IRC ("leaving")
15:28 Juerd masak, PerlJam: scream loudly in the mailinglist :)
15:28 svnbot6 r5601, kolibrie++ | added pretty duration printing to seenbot
15:28 svnbot6 r5601, kolibrie++ | no longer report 'saying:' when last action had no text
15:28 Juerd That I'm sure is what Larry wants
15:28 integral it's the caps that I hate to type
15:28 Juerd Or, rather, I hope is what he wants.
15:28 PerlJam Juerd: in fact, I just read what you said earlier about those that don't like ./ are those that haven't really written any perl6 code, and I tend to agree with that assessment as well.
15:28 elmex PerlJam: ./ doesn't fit into the syntax, it's semantically bs imho... but if people think, inventing new meaningless syntaxes is fine... okay, go. and make your perl6 ...
15:28 integral "doesn't fit into the syntax"?
15:28 PerlJam elmex: "fit into the syntax"?  what does that mean exactly?
15:29 elmex it does mean, that it just doesn't feel right
15:29 Juerd elmex: Just for the record, not as a means of judgement: how much Perl 6 have you already written?
15:29 elmex Juerd: no line
15:29 Juerd So far my theory holds then :)
15:29 * justatheory holds
15:30 masak Juerd: scream loudly, ok. but what? "i don't care, but ./ is nice"?
15:30 * integral sees the only thing that can be said against ./ is that it's totally novel
15:30 PerlJam elmex: what feels wrong about it?
15:30 elmex it's a theorey, and perl6 isn't specified clearly... as the simplest things aren't yet defined...
15:30 PerlJam integral: yes, and that seems to be the objection
15:30 autrijus integral: that makes people think that ./method looks like it's matching something, or dividing something.
15:30 integral o_O
15:31 Juerd masak: Whatever your opinion is, as long as it includes that .foo should be $_.foo, unconditionally :)
15:31 elmex PerlJam: '.' is a seperator somehow, and '/' is a division operator... ./ doesn't form any nice structure in my brain. sorry.
15:31 Juerd Unless, of course, you disagree with that, in which case you should still voice your opinion.
15:31 wilx ./ is current directory.
15:31 elmex wilx: in the SHELL
15:31 wilx Completely sane analogy :)
15:31 elmex wilx: perl6 is not shell programming
15:31 masak Juerd: i agree with that, do i'll write that
15:31 PerlJam elmex: so ... what's  $foo..$bar  ?  or  /my pattern/   ?
15:31 autrijus right, or executing something in the current directory.
15:32 elmex PerlJam: / / is a pattern match. but './' isn't even that
15:32 autrijus execution, matching and dividing are the three immediate metaphors
15:32 Juerd elmex: Does the purpose of the language matter for its syntax?
15:32 autrijus and none of them fit very well with prior experience
15:32 elmex Juerd: i think so, yes
15:32 integral there's // too
15:32 Juerd elmex: Perl has always, since the very beginning, taken syntax from other languages and dialects.
15:32 elmex Juerd: but carefully
15:32 Juerd elmex: Even languages that have nothing to do with what Perl is used for nowadays.
15:32 PerlJam elmex: context is the key (as always in perl).  In the context of <whitespace>./<identifier>  surely one can say easily map that to "method on $?SELF"
15:32 autrijus but ./ is completely novel -- it's not taken from anywhere :)
15:32 johan_ has joined #perl6
15:33 Juerd autrijus: That's the official story
15:33 QtPlatypus Like most lanagues perl is a polyglot.
15:33 svnbot6 r5602, qtplatypus++ | Cleaned up version of the macro discussion.
15:33 autrijus Juerd: right, but actually it's taken from shell programming
15:33 Juerd The real story is that I typed ./pugs and was struck by a bolt of sanity.
15:33 autrijus right.
15:33 autrijus or insanity.
15:33 PerlJam The right kind of insanity IMHO
15:33 elmex PerlJam: you can map any syntax to 'method on $?SELF'
15:33 Juerd That depends only on one's preference :)
15:33 PerlJam elmex: EXACTLY!
15:34 Juerd elmex: Well, not really, as only ^ is available as single-char
15:34 elmex PerlJam: and <whitespace>o.<identifier> does map as nice
15:34 Juerd And most characters are ruled out for first-of-two chars too
15:34 integral elmex: I'd disagree a undecorated o looks very weird to me
15:34 Juerd ./ is an amazingly available combination, but I'm sure you can think of others.
15:34 elmex integral: '/' does look weird to me
15:34 autrijus anyway. in my limited experience of writing p6 code I find ./ to be very useful. the matching and division metaphors are strong enough so I'm not completely comfortable in it, but I think it's the best one we've got.
15:34 integral and o looks weird to me :-)
15:34 saorge has joined #perl6
15:34 Juerd I'm also sure that the division between likers and dislikers will be more or less the same as for ./
15:35 PerlJam You know ... this is the same problem as python's semantic whitespace.  Perl programmers tend to find it annoying or weird, but anyone who has programmed in python for a while finds that it's not so bad after all.
15:35 Juerd PerlJam: Except for me
15:35 integral hmm, I find haskell's whitespace annoying when scopes get too long and too deep
15:35 Juerd integral: The keyword there is "too"
15:36 QtPlatypus Would someone look at plan and tell me if my write up is sane.
15:36 Juerd too $anything is bad.
15:36 Juerd elmex: // is used for pattern matching. Has that ever bothered you?
15:36 PerlJam Juerd: to summarize the detractors then,  ./ is too "looks like something else"
15:36 Juerd elmex: // is also defined-or. Has that ever bothered you?
15:37 integral once I might have suggested a punct var like $$, or $^, but that doesn't fit in p6
15:37 elmex Juerd: no, but it makes sense for me
15:37 PerlJam elmex: why does it make sense?
15:37 elmex PerlJam: because the slash is used as delimiter ?
15:38 masak Juerd: there, posted to perl6-language
15:38 elmex PerlJam: and m#<pattern># does work too
15:38 integral elmex: not in a defined-or ...
15:38 Juerd "The divisioniness is something you'll just have to get over. Do you see
15:38 Juerd any division in /\w+/? Or any addition in $foo +| $bar? Or any
15:38 Juerd comparison in =>, +>, or <>? Or any price in $var? Or any percentage in
15:38 Juerd %hash? Or any conjunction in &sub?"
15:38 PerlJam elmex: It makes sense because you've *learned* what it is and what it means in certain contexts.   Same goes for ./ (once you get used to it)
15:38 Juerd -- <20050619001159.GP7412@c4.convolution.nl>
15:39 Juerd I think $1 is the best indication of our ability to get used to different meanings in different syntaxes
15:40 Juerd In English, it means 1 dollar
15:40 PerlJam one dollar?  ;)
15:40 Juerd It does not have that association in any programming language I know, though
15:40 Juerd Still, we use $1 for the first match variable
15:40 PerlJam except in perl6 where it's $0
15:40 Juerd Which has nothing to do with dollars, except when it matches something that does :)
15:40 elmex yep, perl6 does redefine many meanings of perl5 operators and introduces completly new weird syntax. i really wonder why it's called >perl<6, it hasn't evolved from perl5, as it completly throws away perl5. imho perl6 should be renamed to something like purl6 or parl6
15:41 Juerd elmex: I used to think Perl 6 should get another name
15:41 PerlJam elmex: that is just ridiculous.
15:41 Juerd But I got used to calling Perl 6 Perl 6
15:41 PerlJam elmex: *clearly* perl6 has evolved from perl5
15:41 Juerd So I can live with it now
15:41 integral elmex: well to me it's perl because it's design by lwall, and like perl1 it's grabbing features from everywhere and doing it better
15:41 Juerd Purely theoretically and religiously, I still agree.
15:41 PerlJam "perl" is not just about syntax you know.
15:41 webmind it's like c++ and c# have little to do with C
15:41 webmind but they are related
15:42 elmex PerlJam: yes, where is the reused code ? all the experience which went into the perl5 interpreter is being thrown away for the sake of a unfinished slow VM
15:42 PerlJam elmex: Are you insane?
15:42 elmex PerlJam: and perl6 is a completly NEW language
15:42 Juerd elmex: Be careful there.
15:42 QtPlatypus We should call perl6 ./ (Therefor reducing two arguments into one).
15:42 PerlJam elmex: just like perl5 was a completely new language.
15:42 Juerd elmex: You're spreading FUD. Have you been reading Rindolf's articles or something?
15:42 PerlJam QtPlatypus++
15:42 elmex PerlJam: but evolved from perl4
15:42 webmind elmex, it's new use.. but clearly a perl follow up
15:43 elmex Juerd: what articles?
15:43 integral rindolf--
15:43 elmex Juerd: i don't read any articles
15:43 Juerd elmex: Experience that went into Perl 5 is not thrown away. You can't throw away experience. We can throw away code, and gladly do so if the old code is ugly and unmaintainable.
15:43 elmex webmind: because the took some syntax from perl5 ?
15:43 elmex perl5 took syntax from awk too.. and sed ...
15:43 integral elmex: hmm, parrot isn't actually slow, and the people writing parrot and pugs have seen the perl5 internals, and know them
15:43 elmex but perl5 hasn't evoolved from awk
15:43 Juerd elmex: Parrot is not slow. There are few optimizations yet, but in some circumstances, it is already faster than Perl 5's vm.
15:44 elmex Juerd: in some optimized circumstances
15:44 elmex Juerd: i benchmarked it
15:44 broquaint perl5 evolved from perl4 evolved from perl3 evolved from perl2 evolved from perl1 evolved from awk evolved from sed ...
15:44 elmex Juerd: most benchmarks are slower here than perl5's benchmarks
15:44 QtPlatypus Pugs is slowler the perl5, but thats because Pugs is optimized for getting written.
15:45 QtPlatypus Speed of implementation.
15:45 elmex QtPlatypus: yep, bt thats okay, pugs' aim isn't to be fast :)
15:45 integral elmex: hmm, which benchmark did you use, and what parrot compiler did you use?
15:45 Juerd elmex: What have you benchmarked?
15:45 Juerd elmex: pugs against perl 5?
15:45 Juerd 'cause that really ain't fair.
15:45 elmex examples/benchmarks/
15:45 * PerlJam remains silent as Juerd and integral are doing a fine job grilling elmex  ;)
15:46 elmex parrot/examples/benchmarks/
15:46 Juerd Now, grilling toothpaste. That's a weird mental image.
15:46 wilx Hehe.
15:46 elmex Juerd: i didn't testes pugs agains perl5, i tested parrot. and all i said was, that the current VM isn't very fast
15:46 elmex i never said something about pugs
15:47 Juerd elmex: And how is any of those benchmarks relevant when it comes to a comparison with Perl 5?
15:47 Juerd Or were you saying that Parrot, uncompared, is slow? In general.
15:47 elmex Juerd: well, there are p5 benchmarks too. i compared them
15:47 Juerd Because then, I can easily counter with: Perl 5 is even slower, for which I would also not need proof.
15:47 PerlJam Juerd: he's claiming that if the VM is slow (slower than perl 5), so must the languages that use the VM (aka perl6)
15:47 autrijus masak++ # p6l
15:47 Juerd elmex: They benchmark different things!
15:47 autrijus I've chimed in as well.
15:47 Juerd elmex: How can that ever give you comparable numbers?
15:48 elmex Juerd: addit.imc and addit.pl do similar things. and addit.imc is slower.
15:48 johan_ has quit IRC ("leaving")
15:48 elmex Juerd: yes they benchmark different things: parrot and perl5
15:48 autrijus elmex: the imc compiler is very slow.
15:48 autrijus have you tested it in .pbc form?
15:49 elmex autrijus: it's the runtime, parrot thats slow. and i also tested addis.pasm
15:49 Juerd elmex: That's not all too weird, is it, given that the IMC compiler is slow, and that arrays are unoptimized in parrot, but *heavily* optimized in Perl 5?
15:49 elmex addid.pasm
15:49 autrijus okay then.
15:49 elmex addid.pasm and addid.imc were quite similar in runtime. .imc a little slowed
15:49 autrijus my benchmark of unboxed mandel showing parrot being faster by 10%; however the same test on osx makes parrot much slower.
15:50 autrijus but boxed mandel makes parrot much slower, say by 50%.
15:50 elmex well, but i am SURE that parrot will be QUITE fast if they make parrot quite fast
15:50 Juerd There is currently NO way of telling whether Perl 5 or Perl 6 will be faster than the other. There is also no way to guess, unless you are intimately familiar with the internals of both.
15:50 autrijus the one saving grace of parrot, at this point, is that it's a continuation-based VM :)
15:50 PerlJam elmex: That's not at the top of the priority list (and shouldn't be) just yet.
15:50 elmex PerlJam: i agree :)
15:51 autrijus (and it is easier for me to make parrot faster than to make perl5 faster)
15:51 integral anyway, isn't any argument between parrot and perl5 mute since perl5 is basically impossible to progress with for new developments?
15:51 autrijus integral: ow, just painfully hard, not impossible
15:51 elmex integral: there were many ideas to improve perl5, but then came perl6 and killed all new ideas
15:51 Juerd elmex: You agree that speed shouldn't be a priority just yet, but you do use the bad performance as an argument regarding throwing away Perl 5...
15:52 elmex Juerd: they could have taken perl5 and make it even more faster ;)
15:52 Juerd elmex: Do realise that this means that from now on, I can't but question whatever you say
15:52 mjflick has quit IRC (No route to host)
15:52 Juerd No, they couldn't have. The reasons for that are well laid out in many places. Please find a way of informing yourself.
15:52 osfameron has joined #perl6
15:52 autrijus elmex: uhm, you're not a perl5-porters, right? :)
15:52 elmex autrijus: no
15:53 Juerd elmex: Read Perl 5's source code. Then tell us what you think of it.
15:53 elmex but i have been into the perl5 code... and i were afraid...
15:53 autrijus okay. it was obvious very long ago that it is nearly impossible to make perl5 faster :)
15:53 integral elmex: and never tried to actually understand or change perl5?
15:53 Juerd elmex: And then try to implement continuations, roles and junctions.
15:53 autrijus cleaner, maybe. more robust, certainly
15:53 dmo has quit IRC ()
15:53 autrijus but not faster. :)
15:53 integral *cough*Coro*cough*
15:53 elmex (yes, Coro is cool)
15:54 webmind elmex, no.. because they took the -idea- of perl5
15:54 autrijus (and Coro is extremely slow)
15:54 elmex Juerd: quite impossible for me, i'm not in the guts of perl5 so narrow. but writing a completly new VM isn't easy too...
15:55 * integral thinks it's not as hard as parrot made it look
15:55 Juerd elmex: Much easier than upgrading perl5's :)
15:55 Juerd elmex: It's the big difference between a great challenge, and the halting problem.
15:55 elmex Juerd: okay...
15:55 Maddingue has quit IRC (Read error: 104 (Connection reset by peer))
15:56 autrijus as Dan observed, it's extremely difficult to do a new design that's less maintainable than perl5 :)
15:56 Juerd It didn't have to be as much work as Parrot got to be
15:56 Juerd But while they're at it, why not make the best thing out there?
15:56 Juerd There's no *need* to support everyone's favourite languages
15:56 Juerd But having it is great.
15:57 elmex i will wait for perl6, and i will write perl6 code once it is released. until then, i will write perl5 code. i don't like to learn languages that change all time... that doubles the efford for me
15:59 kolibrie personally, I like pioneering
16:00 autrijus elmex: I suspect you'd have no problem using perl6 libraries once they are compiled to perl5, though :)
16:01 autrijus (since that'll just be yet another cpan library)
16:01 kolibrie autrijus: remember way back when you tried to help me fix a linking problem when embedding p5?
16:01 elmex autrijus: well, some nice features are in perl6 that i would like to use
16:01 autrijus kolibrie: yes?
16:01 kolibrie autrijus: putter helped me find the problem yesterday: my libperl.so wasn't in any of the -L paths
16:01 broquaint has quit IRC (Remote closed the connection)
16:02 kolibrie put in a sym-link, works great now
16:02 kolibrie debian unstable
16:02 autrijus ah. right.
16:02 integral that sounds strange :-/
16:02 autrijus I remember running into that in PAR
16:03 autrijus is this debian?
16:03 kolibrie yes
16:03 autrijus right. I think its %Config lies
16:03 kolibrie possibly
16:03 autrijus because following that config does not lead one to a working -lperl
16:03 autrijus I had to append a search path manually.
16:04 autrijus (which is isomorphic to a symlink)
16:05 kolibrie so really the debian maintainer should fix %Config
16:05 autrijus either that or our understanding of perlembed needs fixing
16:06 kolibrie is there a way to detect that libperl.so is not in a known place, and warn the user of the problem
16:06 * autrijus mumbles something scary about autoconf
16:06 kolibrie I was able to make a symlink very easily, once I knew where to put it
16:07 autrijus but I think the better workaround is to append to  $Config{ccdlflags}
16:07 autrijus in Makefile.PL
16:07 autrijus but I don't have a debian system here so I can't dup or fix currently :-/
16:08 kolibrie my libperl sits in /usr/lib/libperl.so.5.8.7
16:08 kolibrie I can let you use mine some time, when I'm at home
16:08 integral the system doesn't search /usr/lib already?
16:09 autrijus integral: no, -lperl doesn't do .5.8.7
16:09 autrijus that's the main problem
16:09 integral oh, linkers--
16:09 kolibrie right, so now I have a symlink in ...perl5/CORE/libperl.so
16:09 kolibrie without 5.8.7
16:10 slr has quit IRC ("later")
16:10 autrijus kolibrie: can you bring this issue to the usual debian venues?
16:10 autrijus libperl-dev maintainer or whom it may concern
16:11 autrijus there may be a well known solution already
16:11 autrijus but a quick google can't find it
16:11 kolibrie is that an e-mail address?  never contacted debian before
16:11 integral the bug database is bugs.debian.org
16:11 kolibrie ok
16:12 kolibrie and just state that -lperl doesn't seem to find libperl.so?
16:12 autrijus right, or there's no libperl.so, and you needed to symlink .5.8.7 off
16:12 autrijus and mention ways to reproduce this with pugs and your workaround
16:13 autrijus if this is a FAQ I expect people will recognise the keywords
16:13 kolibrie sounds good
16:13 autrijus kolibrie++
16:13 kolibrie thanks
16:14 nothingmuch has joined #perl6
16:14 * nothingmuch needs valium
16:15 osfameron has quit IRC (Read error: 113 (No route to host))
16:16 Maddingue has joined #perl6
16:17 nothing_pasta has quit IRC ("leaving")
16:17 nothing_pasta has joined #perl6
16:17 nothing_pasta has quit IRC (Remote closed the connection)
16:19 kolibrie autrijus: hmm, looks like I have libperl5.8 installed, but not libperl-dev
16:19 kolibrie the one is required by programs which embed a Perl interpreter and the shared Perl library
16:20 integral err, libperl-dev is what you should have for compiling stuff against libperl, and might be the problem
16:20 autrijus pebcak then? :)
16:20 kolibrie the other contains Files for developing applications which embed a Perl interpreter
16:20 autrijus but still it'd be nice to detect and warn about that.
16:21 kolibrie so write to libperl5.8, rather than libperl-dev?
16:23 pupilzeng has quit IRC (Read error: 104 (Connection reset by peer))
16:25 autrijus maybe
16:25 kolibrie ok
16:25 kolibrie or both, and they can figure out who needs to do what
16:27 pupilzeng has joined #perl6
16:31 kolibrie nothingmuch: since jabbot is missing, is seenbot.p6 an alternative?
16:31 TheMaaaa has joined #perl6
16:32 TheMaaaa has quit IRC (Client Quit)
16:33 larsen has joined #perl6
16:37 Limbic_Region has quit IRC ("CGI:IRC (EOF)")
16:40 Aankhen`` iblech++ # examples/eval.p6
17:00 nothingmuch has quit IRC (Read error: 60 (Operation timed out))
17:00 vcv- has quit IRC (Read error: 104 (Connection reset by peer))
17:09 viirya_ has joined #perl6
17:13 fglock has quit IRC ("I am going away")
17:18 viirya has quit IRC (Read error: 110 (Connection timed out))
17:19 eric256 has joined #perl6
17:20 putter has joined #perl6
17:25 masak it's ok to commit corrections to typos in the interview in /docs/notes/plan, right?
17:26 Juerd Yes.
17:26 masak good
17:26 * Aankhen`` spots a typo on masak's nose and quickly wipes it.
17:26 eric256 nope. sorry those are public record now and may not be touched! ;)
17:26 Juerd Corrections of any kind are always welcome in wikis and wiki-like things, like svn trees :)
17:27 masak :)
17:28 masak it just feels a bit odd to edit someone's replies in an interview
17:28 masak but they do need cleaning
17:29 Aankhen`` Well, you're the third person to edit that file.
17:29 Aankhen`` Sorry, fourth.
17:30 eric256 just don't go "correcting' the actual meanings lol....well i'm sure he realy meant to say "...."
17:31 masak eric256: i try to avoid that :)
17:32 masak correcting typos is a bit like optimizing code
17:32 masak you want the text to be more efficient
17:32 masak but you don't want to change the semantics :)
17:34 Aankhen`` masak++
17:34 masak aah, karma :) thx
17:34 jabbot masak: :) thx has neutral karma
17:35 masak shut up, jabbot
17:35 Aankhen`` LMAO.
17:35 svnbot6 r5603, masak++ | Cleaned up docs/notes/plan a bit more -- there's still work to do,
17:35 svnbot6 r5603, masak++ | though
17:36 cognominal jabbot, what is the half lfe of a point of karma? :)
17:36 jabbot cognominal: 喔
17:37 autrijus jabbot: 沒事不要亂說中文
17:37 jabbot autrijus: 冬天到了,就想吃得飽飽的。
17:37 autrijus (translation follows)
17:37 Aankhen`` masak >> What column are you wrapping at?
17:38 cognominal :)
17:38 cognominal at least, I got the right fonts.
17:38 autrijus <jabbot> cognominal: Oh. <autrijus> jabbot: don't suddenly speak Chinese out of the blue <jabbot> when it's Winter I'd like to eat until I'm full.
17:38 * autrijus stops taunting jabbot with random chinese
17:38 masak Aankhen``: 70, but i did a lot of intentional wrapping
17:39 Aankhen`` I thought 80 is the standard?
17:39 masak didn't appear to be in that file
17:39 masak so i set vim to 70
17:39 masak with set columns=70
17:40 Aankhen`` OK.
17:44 putter ok, the p5 runtime has some primitives written in p5, others in p6.  PrimP5.pl and PrimP6.pl?
17:45 ToniEisner has quit IRC (Remote closed the connection)
17:45 putter so there is a single perl6-wide Predule, and all the backends provide Prim's?
17:46 ToniEisner has joined #perl6
17:53 pupilzeng has quit IRC ("See you!")
17:54 didie_p6 has joined #perl6
17:54 didie_p6 has quit IRC (Read error: 54 (Connection reset by peer))
17:56 osfameron has joined #perl6
18:00 fglock has joined #perl6
18:01 svnbot6 r5604, fglock++ | Span::Code.intersects()
18:03 kolibrie seen nothingmuch
18:03 jabbot kolibrie: nothingmuch was seen 2 hours 35 minutes 38 seconds ago
18:07 osfameron_ has joined #perl6
18:13 dudley am I right in thinking that PIL is not a language per se, but more like an abstract syntax tree?
18:13 autrijus dudley: well, you are free to give it a concrete syntax.
18:13 autrijus (and in fact it does have one in each of the host languages)
18:14 autrijus but yes, it is more properly thought of as an syntax tree, not a language meant for puny humans to write in
18:15 dudley there's a little impedance mismatch in by brain between PIR, which is a language, and PIL, which is a representation :-)
18:15 dudley s/by/my
18:20 osfameron has quit IRC (Read error: 110 (Connection timed out))
18:22 fglock how do I create a Lazy List?  $x = 1..Inf doesn't work.
18:26 osfameron has joined #perl6
18:36 Qiang has quit IRC (Remote closed the connection)
18:36 Qiang has joined #perl6
18:36 rafl has quit IRC (Connection reset by peer)
18:39 pasteling has quit IRC (Client Quit)
18:39 vcv has joined #perl6
18:41 pasteling has joined #perl6
18:41 rafl has joined #perl6
18:44 eric256 has quit IRC (Read error: 110 (Connection timed out))
18:45 larsen has quit IRC ("larsen gains a level")
18:46 larsen has joined #perl6
18:49 Limbic_Region has joined #perl6
18:50 osfameron_ has quit IRC (Read error: 110 (Connection timed out))
18:51 fglock anyone know how to create a Lazy List?  $x = 1..Inf doesn't work.
18:51 Limbic_Region my @foo = 1..Inf; # guessing
18:52 fglock no, it hangs
18:52 Aankhen`` I think Lazy-ness hasn't been implemented yet...
18:52 * Limbic_Region could have swore it was
18:52 Limbic_Region try just the dots
18:53 Limbic_Region my @foo = 1...;
18:53 fglock i thought i could return a lazy list from Span.pm
18:53 Limbic_Region ?eval my @foo = 1...; @foo.perl
18:53 Limbic_Region oh - eval bots not here
18:54 fglock no, it hang too
18:55 fglock there could be some kind of hooks that Span.pm could implement
18:55 Enveigler has joined #perl6
18:57 Limbic_Region fglock - I don't think the lazy keyword that had been discussed was sanctioned or implemented - but you might want to try that - AFAIK, Pugs has some lazy stuff so it is a matter of getting authorative answer
18:57 fglock i could try to implement this in pugs, but i don't grasp the compiler yet
19:00 fglock Limbic_Region: do you mean to ask in the p6 list?
19:01 Limbic_Region no - I meant to wait until one of the internal hackers were paying attention
19:01 Limbic_Region cause I don't grok Haskell at all
19:01 Limbic_Region nothingmuch ping
19:02 fglock btw - is there a pugs specific mail list?
19:02 osfameron_ has joined #perl6
19:02 Limbic_Region nope
19:02 Limbic_Region or at least not that I know of
19:02 justatheory has quit IRC ()
19:04 Limbic_Region nothingmuch - in the event that you backlog - everything that you want to compare for differences is everything but meat: right?
19:08 putter The current plain is for the p5 runtime to map p6 packages onto p5 packages.  Anyone care what the name of the p6 root is in p5 package space?
19:08 putter s/plain/plan
19:15 justatheory has joined #perl6
19:17 dudley putter: what are you thinking?
19:17 elmex Crap:: ?
19:18 elmex Limbic_Region: the common perl6 mailinglists are fine for questions about pugs
19:20 putter dudley: PIR::Run::Root ?
19:20 elmex putter: Perl6:: ?
19:20 osfameron has quit IRC (Read error: 110 (Connection timed out))
19:20 dudley PIR? or PIL?
19:21 putter yeah, that's the other possibility.  oh PIL.  sigh.  
19:21 putter Perl6::Root ?
19:22 Limbic_Region elmex - I didn't say it wasn't?
19:22 elmex Limbic_Region: oh, my fault
19:22 elmex fglock: the common perl6 mailinglists are fine for questions about pugs
19:24 Maddingue has quit IRC (Read error: 104 (Connection reset by peer))
19:25 dudley putter: what about Perl6::Run?
19:32 putter could be.  I though having "Root" in there helped clarify what it was.
19:33 kolibrie "Root" doesn't help me see what it is
19:35 kolibrie putter: what exactly are you storing? p6, p5, pil, pir?
19:37 dudley I don't know, naming the root Root seems redundant to me.
19:38 putter *say goes in p6's ::* as &::*::say. *say would go in the p5 runtime in p5's Perl6::Root as &Perl6::Root::mangled_name_say.
19:38 meppl has quit IRC (Read error: 54 (Connection reset by peer))
19:38 putter There would also be a Perl6::Root::main, etc.
19:39 dudley Are real live humans going to be using these packages, or is it all behind the scenes?
19:39 putter Mostly behind the scenes?
19:40 kolibrie so are you compiling p6 into p5 and then storing at that namespace?
19:40 putter exactly.
19:40 kolibrie hmm
19:40 SamB has quit IRC (Success)
19:40 dudley Oh, then by all means call it Perl5::Runtime::For::Perl6::Root::Namespace or whatever
19:40 putter ;)
19:41 dudley I was thinking readability, but let's abuse the silicon lifeforms for our own amusement. ;-)
19:41 kolibrie Perl6::AsPerl5
19:42 kolibrie or just plain AsPerl5
19:42 kolibrie then we could store anything there
19:42 Maddingue has joined #perl6
19:44 Darren_Duncan has joined #perl6
19:44 putter ok.   thanks for the feedback.  i may switch back to using PIL::Run::Root, just so all the PIL::Run stuff is in one place for now.  we can move it later...
19:44 dudley I like PIL::Run::Root
19:44 putter let it be so
19:55 putter What was the reason for using "is builtin" in Prelude.pm?  Why "sub say is builtin (){}" rather than "sub *say (){}"?
19:57 Limbic_Region http://use.perl.org/~autrijus/journal/25681 just says "New trait for Prelude.pm: is builtin (installs into the global namespace)"
20:01 putter Maybe *foo wasn't implemented at the time?  Or to give warnings about overwriting builtins?  ...?
20:02 Aankhen`` Maybe *foo doesn't work in the precompiled form?
20:03 putter Maybe.  ah well, I'll fudge it for now.
20:04 Aankhen`` $bad_joke_about_hot_chocolate_fudge
20:05 putter :)
20:05 putter Ok, now you've made me hungry. ;)
20:05 Aankhen`` I made myself hungry. :-(
20:05 putter Fudge in the fridge.  No icecream though.
20:05 Aankhen`` But it's not my fault.  cwest got me thinking about ice-cream.
20:06 putter :)
20:06 putter Memetic contagion.
20:07 putter voiceover: "Suddenly, all over the planet, there were people thinking about ice-cream who hadn't been a moment earlier."
20:07 * masak infects some more people with thoughts of ice cream
20:08 masak wonder what it would take to start a new ice cream movement
20:08 masak "make ice cream, not war!"
20:08 kolibrie my freezer is low on ice-cream, I should make some more
20:08 kolibrie maybe mint-chocolate-chiop
20:09 kolibrie s/chiop/chip/
20:09 masak kolibrie++ # for making ice cream
20:09 kolibrie tastes much better :)
20:09 masak 'course
20:10 kolibrie and much much better than war
20:10 masak what do you put into mint-chocolate-chip ice cream?
20:11 kolibrie my mom got me some mint syrup, since we couldn't find any mint extract
20:11 kolibrie and then minature chocolate chips
20:11 kolibrie add the syrup during freezing
20:11 masak during freezing?
20:11 kolibrie add in the chocolate chips afterwards
20:11 masak how?
20:11 kolibrie well, before you start freezing
20:11 masak ah
20:12 masak my freezer is too small to add the syrup during freezing :)
20:12 kolibrie it probably doesn't take that much
20:12 kolibrie I'm thinking 6 cups cream/milk, 1/4 cup syrup
20:12 kolibrie but haven't tried it yet
20:13 Aankhen`` GIMME ICE CREAM
20:13 kolibrie tomorrow, haven't made it yet
20:13 * masak wants to write a perl6 script for generating random ice cream recepies
20:13 masak :)
20:13 Limbic_Region has quit IRC ("tiuq\")
20:14 masak maybe using &pick somehow
20:14 nothingmuch has joined #perl6
20:14 masak but, that'll have to wait till tomorrow
20:14 masak now, sleep
20:14 nothingmuch good night
20:14 kolibrie g'night
20:14 masak g'nite
20:14 masak has left
20:14 Chewie[] Where would the @foo [++] operator be found in the docs?
20:15 Chewie[] That is, the right numerical concatenation operator?
20:15 nothingmuch Chewie[]: circumfix [] is the meta operator
20:15 nothingmuch sub sum (*@numbers) { [+] @numbers };
20:15 nothingmuch is that what you meant?
20:15 Chewie[] Exactly.
20:16 Chewie[] Excuse my unfamiliarity.
20:16 kolibrie seen nothingmuch
20:16 jabbot kolibrie: nothingmuch was seen 46 seconds ago
20:16 nothingmuch kolibrie: ?
20:17 kolibrie saw you having troubles with jabbot earlier
20:17 kolibrie seems to be working now
20:17 kolibrie but I hacked on seenbot.p6 to make it nicer
20:17 kolibrie in case we wanted to use that instead
20:18 nothing_pasta has joined #perl6
20:18 nothingmuch kolibrie: run it =)
20:18 kolibrie can't from here, $work doesn't allow irc through firewall
20:18 nothingmuch hmm
20:19 kolibrie dial-up at home
20:19 nothingmuch got a feather.perl6.nl account?
20:19 kolibrie yes, but jabbot is doing fine with seen right now
20:19 kolibrie so it's not neccessary
20:20 nothingmuch svnbot6 replaced jabbot for commit reporting
20:20 nothingmuch gugod: are you happy with jabbot becoming redundant? ;-)
20:20 meppl has joined #perl6
20:20 * Aankhen`` pokes Chewie[].
20:21 kolibrie well, if jabbot wants to stop monitoring people, seenbot.p6 works great
20:21 Chewie[] Aankhen``!
20:22 nothingmuch okay, all we need is karmabot.p6
20:22 Aankhen`` Hola.
20:22 Aankhen`` What's shakin'?
20:23 Chewie[] Not a whole lot.
20:23 Chewie[] I've got a shell on a machine with Pugs installed, so I'll be doing the base64 encode/decode stuff in P6 (like a wimp) in the near future.
20:23 Aankhen`` Neat. :-D
20:24 * nothingmuch ponders unpack with arbitrary base
20:24 nothingmuch one algorithm i never had the guts to try: LZW
20:24 nothingmuch you start with 8 bits per word
20:24 Aankhen`` And as usual, since Chewie[] is on...
20:24 nothingmuch and as your dictionary grows, you add bits, one at a time
20:24 nothingmuch 9-16
20:25 nothingmuch or at least that's how compress does it, IIRC
20:25 Aankhen`` G'night.
20:25 Aankhen`` has quit IRC ("When cows laugh, does milk come out of their nose? [Time wasted online: 11hrs 7mins 23secs]")
20:29 Chewie[] nothingmuch: I've always wanted to try that algorithm.
20:29 Chewie[] Always.
20:29 nothingmuch Chewie[]: it's surprisingly simple
20:29 nothingmuch since it's got no special cases, whatsoever
20:29 nothingmuch start with an array of tokens, for the whole 0-255 values
20:30 nothingmuch then read in your input
20:30 nothingmuch i forget what the rules for deciding what a word is exactly, i'll check
20:30 Chewie[] Er, it shouldn't be token-delimited.
20:30 nothingmuch Chewie[]: by word I mean something more like a word is N bytes
20:31 nothingmuch basically i think you match entries on the input
20:31 nothingmuch and encode a new entry for them
20:31 Chewie[] The way it's always been in my head, the file has to be scanned for the largest possible strings with two or more ocurrances, and calculations have to be made as to the optimum symbol table and such.
20:31 nothingmuch but use the old byte values to write them down
20:31 nothingmuch that's huffman coding
20:31 nothingmuch the beauty of LZW is that it's compeltely streaming
20:31 nothingmuch and has no embedded dictionary
20:32 Chewie[] That's only part of Huffman coding. Perhaps I'm not explaining it well enough.
20:32 nothingmuch statistical analaysis and then huffman coding?
20:32 nothingmuch damnit, now you've got me started.
20:32 nothingmuch time to brush up my C
20:32 Chewie[] Minus the Huffman coding. The data is still encoded in an LZW-like fashion, except that the strings that correspond to super-ASCII codes are generated in a Huffman-like way.
20:33 nothingmuch the dictionary generation is the catch of LZW
20:33 nothingmuch example:
20:33 nothingmuch abab
20:33 nothingmuch a and b are already in the dictionary
20:33 nothingmuch let's say at entries 1 and 2
20:33 nothingmuch and that is our entire alphabet
20:33 Chewie[] As in, the file is scanned for the largest strings with duplications, calculations are made as to whether it would save a lot of space in the final file, and if so, the string is added to the table, and encoded as necessary.
20:34 nothingmuch it's not scanned at all =)
20:34 nothingmuch it's not a file, it's a stream
20:34 nothingmuch it's completely O(N)
20:34 Chewie[] Those calculations take into account whether it would still be a Good Thing to do if adding another entry involves incrementing the unit size (from 9 to 10 bits, or something.)
20:34 nothingmuch that's not lzw
20:35 nothingmuch let's do the example
20:35 nothingmuch our output is: match two entries
20:35 nothingmuch a, b were matched
20:35 nothingmuch output them: 1,2
20:35 nothingmuch ad an entry 'ab' to the dictionary, it's value is '3'
20:35 nothingmuch match 2 entries: 'ab', EOF
20:35 gazouli has joined #perl6
20:35 nothingmuch print out 3
20:35 Chewie[] I never said this was LZW. It's kind of like LZW, but kind of like Huffman. It's a weird combination I've had in my head forever.
20:35 nothingmuch ah
20:35 nothingmuch oh, your own thing
20:36 Chewie[] Yeah.
20:36 nothingmuch oops =)
20:36 Chewie[] My algorithm would be as follows for that string:
20:36 Nattfodd has quit IRC (Read error: 113 (No route to host))
20:36 osfameron_ has quit IRC (Read error: 110 (Connection timed out))
20:36 nothingmuch anywho, i'll just finish decoding: since you know 1,2 already (predefined dictionary), you can deduce that the next entry is the combination of the two entries
20:36 Chewie[] It would scan, find that 'ab' is the largest string with repetitions, and it would discover that creating the symbol table, incrementing from 8 to 9 bits, and writing the codes and the like would be a waste. No modifications would be made.
20:36 nothingmuch so you add 'ab' as entry  3
20:36 nothingmuch then you see 3, and you know what it is =)
20:37 nothingmuch Chewie[]: isn't it insanely expensive to compute?
20:37 Chewie[] Of course, it would be forced to start with 9-bit compression units, anyway.
20:37 Chewie[] nothingmuch: My mind is fluttering about in a perfect world.
20:38 Chewie[] Hmm.
20:38 nothingmuch Chewie[]: how do you decompress that?
20:38 Chewie[] Yeah. 9 bits would be required for compressed files, because you need at least one super-ASCII code to separate the symbol table from the compressed data stream.
20:38 nothingmuch is the dictionary stored with the compressed text?
20:39 Chewie[] nothingmuch: Just like LZW. Except that the first 256 compression units are the ASCII character set. And yes, it's stored in the file.
20:39 Chewie[] Those first 256 units are hard-coded.
20:39 nothingmuch lzw doesn't store it in the file, that's what I like about it =)
20:39 svnbot6 r5605, fglock++ | intersection of different types of ranges
20:39 Chewie[] nothingmuch: Really, now?
20:39 perlbot has quit IRC (Remote closed the connection)
20:39 Chewie[] nothingmuch: Where does it get stored?
20:39 nothingmuch yep
20:39 perlbot has joined #perl6
20:39 nothingmuch it doesn't get stored
20:39 nothingmuch read back through my exazmple
20:39 nothingmuch the dictionary is implied
20:40 Chewie[] Ahhhhh.
20:40 Chewie[] Well, my perfect world is much more complex than your perfect LZW world, then.
20:41 Chewie[] Basically, the file would be as follows: Symbol table entries, delimiter, compressed stream.
20:41 Chewie[] The symbol table entries are optional, but are delimited by the space before unknown codes.
20:42 nothingmuch damnit, look what you've done
20:42 nothingmuch now i'm implementing it
20:42 Chewie[] As in 0x101, (9-bit-encoded) 'Hello, World!', 0x100.
20:42 Chewie[] Really? You little.. :-P
20:42 Chewie[] That was my rainy day project. :-P
20:44 dmo has joined #perl6
20:49 nothingmuch what is the reverse of an exponent?
20:50 jhorwitz has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.4/20050511]")
20:50 nothingmuch number_of_bits($number); # does this function have a name, like unexponent(base => 2, num => $num) ?
20:53 nothingmuch shit!
20:53 vcv has quit IRC (Nick collision from services.)
20:54 vcv- has joined #perl6
20:54 nothingmuch why doesn't vec() support unaligned bits
20:55 putter Could I get a reality check.  The p5 runtime stores p6 names in the p5 namespace.  So *say and &foo become Root::say and Root::main::foo. (well, PIR::Run::Root...).  Question: can anyone think of a reason the p6 names have to be mangled?
20:55 nothingmuch putter: make everything an object
20:55 putter Or can the simply be inserted directly in the symbol tables.
20:55 nothingmuch including the symbol table
20:55 nothingmuch then make use of p5's stuff
20:55 nothingmuch we have much more complexity
20:55 nothingmuch more scope handling
20:55 nothingmuch i don't think it can all fit
20:56 nothingmuch IMHO at least
20:56 nothingmuch bit twiddling is so tedious
20:57 putter autrijus suggested using the symbol table directly.  it would certainly be faster.  can you think of some semantics which would be a problem?  the mapping of p6 packages to p5 packages needn't be one-to-one...
20:58 dmo has quit IRC ()
21:00 nothingmuch well, we have rules
21:00 nothingmuch they are a new type of sigil
21:00 nothingmuch but aside from that nothing at the moment
21:00 nothingmuch i had some reasons
21:00 nothingmuch but I don't remember them now
21:00 nothingmuch so they were obviously negligiable
21:01 Limbic_Region has joined #perl6
21:01 putter "obviously negligiable"... except for those nasty ones that come back later and gleefully proclaim "GOTCHA!!".
21:02 Enveigler has quit IRC (Connection timed out)
21:03 nothingmuch yuck yuck yuck
21:03 nothingmuch Chewie[]: you are an aweful person
21:04 nothingmuch i'm implementing bit alignment in perl because of you
21:04 Chewie[] nothingmuch: Giggle.
21:04 Limbic_Region nothingmuch - did you read the backlog?
21:04 nothingmuch Limbic_Region: nope, i never do
21:04 nothingmuch approx hour and timezone?
21:05 Limbic_Region no worries - will repeat myself here
21:05 Limbic_Region majority of day was spent on $work project - which was fun
21:05 nothingmuch don't do that on #catalyst though
21:05 Limbic_Region question regarding yaml files - what you want is differences on everything except what is in meat: right?
21:06 nothingmuch yep
21:06 dmo has joined #perl6
21:07 dmo has quit IRC (Client Quit)
21:07 Limbic_Region ok - fingers crossed for tomorrow then
21:07 Limbic_Region it looks fairly straight forward
21:09 nothingmuch hurrah!
21:10 gazouli has quit IRC ()
21:10 Limbic_Region_ has joined #perl6
21:11 Limbic_Region has quit IRC (Nick collision from services.)
21:11 Limbic_Region_ is now known as Limbic_Region
21:22 pasteling "nothingmuch" at 212.143.91.217 pasted "first attempt at compressor" (64 lines, 1.8K) at http://sial.org/pbot/11764
21:22 nothingmuch Chewie[]: tadaah
21:22 svnbot6 r5606, fglock++ | improved polymorphism
21:23 nothingmuch ofcourse, it doesn't compile yet
21:28 Chewie[] nothingmuch: Nice. If I weren't rather brainless right now, I'd provide witty input and comments.
21:28 nothingmuch =)
21:31 dmo has joined #perl6
21:31 dmo has left
21:34 meppl has quit IRC (brown.freenode.net irc.freenode.net)
21:34 scw_ has quit IRC (brown.freenode.net irc.freenode.net)
21:34 Lopo has quit IRC (brown.freenode.net irc.freenode.net)
21:34 coral has quit IRC (brown.freenode.net irc.freenode.net)
21:34 kcwu has quit IRC (brown.freenode.net irc.freenode.net)
21:34 whiteg has quit IRC (brown.freenode.net irc.freenode.net)
21:34 ycheng has quit IRC (brown.freenode.net irc.freenode.net)
21:34 gugod has quit IRC (brown.freenode.net irc.freenode.net)
21:34 leptonix has quit IRC (brown.freenode.net irc.freenode.net)
21:34 Juerd has quit IRC (brown.freenode.net irc.freenode.net)
21:34 mugwump has quit IRC (brown.freenode.net irc.freenode.net)
21:34 DrForrester has quit IRC (brown.freenode.net irc.freenode.net)
21:34 wolverian has quit IRC (brown.freenode.net irc.freenode.net)
21:34 revdiablo has quit IRC (brown.freenode.net irc.freenode.net)
21:34 acme has quit IRC (brown.freenode.net irc.freenode.net)
21:34 LCamel has quit IRC (brown.freenode.net irc.freenode.net)
21:34 clkao has quit IRC (brown.freenode.net irc.freenode.net)
21:34 vcv- has quit IRC (brown.freenode.net irc.freenode.net)
21:34 nothing_pasta has quit IRC (brown.freenode.net irc.freenode.net)
21:34 justatheory has quit IRC (brown.freenode.net irc.freenode.net)
21:34 elmex has quit IRC (brown.freenode.net irc.freenode.net)
21:34 autrijus has quit IRC (brown.freenode.net irc.freenode.net)
21:34 stevan has quit IRC (brown.freenode.net irc.freenode.net)
21:34 hcchien has quit IRC (brown.freenode.net irc.freenode.net)
21:34 Gruber has quit IRC (brown.freenode.net irc.freenode.net)
21:34 sri_ has quit IRC (brown.freenode.net irc.freenode.net)
21:34 Odin-LAP has quit IRC (brown.freenode.net irc.freenode.net)
21:34 sili has quit IRC (brown.freenode.net irc.freenode.net)
21:34 jql has quit IRC (brown.freenode.net irc.freenode.net)
21:34 chip has quit IRC (brown.freenode.net irc.freenode.net)
21:34 Khisanth has quit IRC (brown.freenode.net irc.freenode.net)
21:34 qmole has quit IRC (brown.freenode.net irc.freenode.net)
21:34 ingy has quit IRC (brown.freenode.net irc.freenode.net)
21:34 pasteling has quit IRC (brown.freenode.net irc.freenode.net)
21:34 Qiang has quit IRC (brown.freenode.net irc.freenode.net)
21:34 ToniEisner has quit IRC (brown.freenode.net irc.freenode.net)
21:34 putter has quit IRC (brown.freenode.net irc.freenode.net)
21:34 viirya_ has quit IRC (brown.freenode.net irc.freenode.net)
21:34 mja has quit IRC (brown.freenode.net irc.freenode.net)
21:34 dudley has quit IRC (brown.freenode.net irc.freenode.net)
21:34 scook0 has quit IRC (brown.freenode.net irc.freenode.net)
21:34 jdv79 has quit IRC (brown.freenode.net irc.freenode.net)
21:34 wilx has quit IRC (brown.freenode.net irc.freenode.net)
21:34 f0rth has quit IRC (brown.freenode.net irc.freenode.net)
21:34 pjcj has quit IRC (brown.freenode.net irc.freenode.net)
21:34 alinbsp has quit IRC (brown.freenode.net irc.freenode.net)
21:34 hlen has quit IRC (brown.freenode.net irc.freenode.net)
21:34 cognominal has quit IRC (brown.freenode.net irc.freenode.net)
21:34 QtPlatypus has quit IRC (brown.freenode.net irc.freenode.net)
21:34 cventers_ has quit IRC (brown.freenode.net irc.freenode.net)
21:34 dvtoo has quit IRC (brown.freenode.net irc.freenode.net)
21:34 ajs_home has quit IRC (brown.freenode.net irc.freenode.net)
21:34 Chewie[] has quit IRC (brown.freenode.net irc.freenode.net)
21:34 lumi has quit IRC (brown.freenode.net irc.freenode.net)
21:34 kungfuftr has quit IRC (brown.freenode.net irc.freenode.net)
21:34 domm has quit IRC (brown.freenode.net irc.freenode.net)
21:34 skugg has quit IRC (brown.freenode.net irc.freenode.net)
21:34 Yaakov has quit IRC (brown.freenode.net irc.freenode.net)
21:34 blackbart has quit IRC (brown.freenode.net irc.freenode.net)
21:34 mjflick-wk has quit IRC (brown.freenode.net irc.freenode.net)
21:34 calvin_ has quit IRC (brown.freenode.net irc.freenode.net)
21:34 cwest has quit IRC (brown.freenode.net irc.freenode.net)
21:34 kelan has quit IRC (brown.freenode.net irc.freenode.net)
21:34 Odin- has quit IRC (brown.freenode.net irc.freenode.net)
21:34 Steve_p has quit IRC (brown.freenode.net irc.freenode.net)
21:34 awwaiid has quit IRC (brown.freenode.net irc.freenode.net)
21:34 rafl has quit IRC (brown.freenode.net irc.freenode.net)
21:34 larsen has quit IRC (brown.freenode.net irc.freenode.net)
21:34 obra has quit IRC (brown.freenode.net irc.freenode.net)
21:35 vcv- has joined #perl6
21:35 nothing_pasta has joined #perl6
21:35 justatheory has joined #perl6
21:35 elmex has joined #perl6
21:35 autrijus has joined #perl6
21:35 stevan has joined #perl6
21:35 Odin-LAP has joined #perl6
21:35 chip has joined #perl6
21:35 Khisanth has joined #perl6
21:35 sili has joined #perl6
21:35 jql has joined #perl6
21:35 hcchien has joined #perl6
21:35 qmole has joined #perl6
21:35 sri_ has joined #perl6
21:35 Gruber has joined #perl6
21:35 ingy has joined #perl6
21:36 pasteling has joined #perl6
21:36 Qiang has joined #perl6
21:36 ToniEisner has joined #perl6
21:36 putter has joined #perl6
21:36 viirya_ has joined #perl6
21:36 mja has joined #perl6
21:36 jdv79 has joined #perl6
21:36 dudley has joined #perl6
21:36 scook0 has joined #perl6
21:36 wilx has joined #perl6
21:36 f0rth has joined #perl6
21:36 pjcj has joined #perl6
21:36 alinbsp has joined #perl6
21:36 hlen has joined #perl6
21:36 cognominal has joined #perl6
21:36 QtPlatypus has joined #perl6
21:36 cventers_ has joined #perl6
21:36 dvtoo has joined #perl6
21:36 blackbart has joined #perl6
21:36 kelan has joined #perl6
21:36 domm has joined #perl6
21:36 kungfuftr has joined #perl6
21:36 skugg has joined #perl6
21:36 cwest has joined #perl6
21:36 calvin_ has joined #perl6
21:36 Steve_p has joined #perl6
21:36 Yaakov has joined #perl6
21:36 lumi has joined #perl6
21:36 Chewie[] has joined #perl6
21:36 awwaiid has joined #perl6
21:36 mjflick-wk has joined #perl6
21:36 ajs_home has joined #perl6
21:36 Odin- has joined #perl6
21:36 kolibrie has quit IRC ("maybe I'll make some ice cream")
21:36 kcwu has joined #perl6
21:36 whiteg has joined #perl6
21:36 ycheng has joined #perl6
21:36 gugod has joined #perl6
21:36 leptonix has joined #perl6
21:36 clkao has joined #perl6
21:36 DrForrester has joined #perl6
21:36 mugwump has joined #perl6
21:36 Juerd has joined #perl6
21:36 wolverian has joined #perl6
21:36 LCamel has joined #perl6
21:36 acme has joined #perl6
21:36 revdiablo has joined #perl6
21:37 larsen has joined #perl6
21:37 rafl has joined #perl6
21:37 obra has joined #perl6
21:37 alinbsp has left
21:37 ajs_home has quit IRC (brown.freenode.net irc.freenode.net)
21:37 Chewie[] has quit IRC (brown.freenode.net irc.freenode.net)
21:37 lumi has quit IRC (brown.freenode.net irc.freenode.net)
21:37 skugg has quit IRC (brown.freenode.net irc.freenode.net)
21:37 kungfuftr has quit IRC (brown.freenode.net irc.freenode.net)
21:37 domm has quit IRC (brown.freenode.net irc.freenode.net)
21:37 kelan has quit IRC (brown.freenode.net irc.freenode.net)
21:37 dvtoo has quit IRC (brown.freenode.net irc.freenode.net)
21:37 cventers_ has quit IRC (brown.freenode.net irc.freenode.net)
21:37 QtPlatypus has quit IRC (brown.freenode.net irc.freenode.net)
21:37 pjcj has quit IRC (brown.freenode.net irc.freenode.net)
21:37 f0rth has quit IRC (brown.freenode.net irc.freenode.net)
21:37 scook0 has quit IRC (brown.freenode.net irc.freenode.net)
21:37 dudley has quit IRC (brown.freenode.net irc.freenode.net)
21:37 jdv79 has quit IRC (brown.freenode.net irc.freenode.net)
21:37 mja has quit IRC (brown.freenode.net irc.freenode.net)
21:37 viirya_ has quit IRC (brown.freenode.net irc.freenode.net)
21:37 putter has quit IRC (brown.freenode.net irc.freenode.net)
21:37 wilx has quit IRC (brown.freenode.net irc.freenode.net)
21:37 blackbart has quit IRC (brown.freenode.net irc.freenode.net)
21:37 cognominal has quit IRC (brown.freenode.net irc.freenode.net)
21:37 mjflick-wk has quit IRC (brown.freenode.net irc.freenode.net)
21:37 ToniEisner has quit IRC (brown.freenode.net irc.freenode.net)
21:37 Odin- has quit IRC (brown.freenode.net irc.freenode.net)
21:37 awwaiid has quit IRC (brown.freenode.net irc.freenode.net)
21:37 Steve_p has quit IRC (brown.freenode.net irc.freenode.net)
21:37 hlen has quit IRC (brown.freenode.net irc.freenode.net)
21:37 Qiang has quit IRC (brown.freenode.net irc.freenode.net)
21:37 calvin_ has quit IRC (brown.freenode.net irc.freenode.net)
21:37 Yaakov has quit IRC (brown.freenode.net irc.freenode.net)
21:37 cwest has quit IRC (brown.freenode.net irc.freenode.net)
21:37 pasteling has quit IRC (brown.freenode.net irc.freenode.net)
21:37 sri_ has quit IRC (brown.freenode.net irc.freenode.net)
21:37 hcchien has quit IRC (brown.freenode.net irc.freenode.net)
21:37 sili has quit IRC (brown.freenode.net irc.freenode.net)
21:37 chip has quit IRC (brown.freenode.net irc.freenode.net)
21:37 stevan has quit IRC (brown.freenode.net irc.freenode.net)
21:37 elmex has quit IRC (brown.freenode.net irc.freenode.net)
21:37 vcv- has quit IRC (brown.freenode.net irc.freenode.net)
21:37 Khisanth has quit IRC (brown.freenode.net irc.freenode.net)
21:37 Gruber has quit IRC (brown.freenode.net irc.freenode.net)
21:37 Odin-LAP has quit IRC (brown.freenode.net irc.freenode.net)
21:37 qmole has quit IRC (brown.freenode.net irc.freenode.net)
21:37 ingy has quit IRC (brown.freenode.net irc.freenode.net)
21:37 nothing_pasta has quit IRC (brown.freenode.net irc.freenode.net)
21:37 justatheory has quit IRC (brown.freenode.net irc.freenode.net)
21:37 jql has quit IRC (brown.freenode.net irc.freenode.net)
21:37 autrijus has quit IRC (brown.freenode.net irc.freenode.net)
21:37 revdiablo has quit IRC (brown.freenode.net irc.freenode.net)
21:37 wolverian has quit IRC (brown.freenode.net irc.freenode.net)
21:37 Juerd has quit IRC (brown.freenode.net irc.freenode.net)
21:37 mugwump has quit IRC (brown.freenode.net irc.freenode.net)
21:37 DrForrester has quit IRC (brown.freenode.net irc.freenode.net)
21:37 leptonix has quit IRC (brown.freenode.net irc.freenode.net)
21:37 whiteg has quit IRC (brown.freenode.net irc.freenode.net)
21:37 kcwu has quit IRC (brown.freenode.net irc.freenode.net)
21:37 acme has quit IRC (brown.freenode.net irc.freenode.net)
21:37 ycheng has quit IRC (brown.freenode.net irc.freenode.net)
21:37 LCamel has quit IRC (brown.freenode.net irc.freenode.net)
21:37 clkao has quit IRC (brown.freenode.net irc.freenode.net)
21:37 gugod has quit IRC (brown.freenode.net irc.freenode.net)
21:37 kcwu has joined #perl6
21:37 whiteg has joined #perl6
21:37 ycheng has joined #perl6
21:37 gugod has joined #perl6
21:37 leptonix has joined #perl6
21:37 clkao has joined #perl6
21:37 DrForrester has joined #perl6
21:37 mugwump has joined #perl6
21:37 Juerd has joined #perl6
21:37 wolverian has joined #perl6
21:37 LCamel has joined #perl6
21:37 acme has joined #perl6
21:37 revdiablo has joined #perl6
21:37 revdiablo has quit IRC (brown.freenode.net irc.freenode.net)
21:38 wolverian has quit IRC (brown.freenode.net irc.freenode.net)
21:38 Juerd has quit IRC (brown.freenode.net irc.freenode.net)
21:38 mugwump has quit IRC (brown.freenode.net irc.freenode.net)
21:38 DrForrester has quit IRC (brown.freenode.net irc.freenode.net)
21:38 leptonix has quit IRC (brown.freenode.net irc.freenode.net)
21:38 whiteg has quit IRC (brown.freenode.net irc.freenode.net)
21:38 kcwu has quit IRC (brown.freenode.net irc.freenode.net)
21:38 acme has quit IRC (brown.freenode.net irc.freenode.net)
21:38 ycheng has quit IRC (brown.freenode.net irc.freenode.net)
21:38 LCamel has quit IRC (brown.freenode.net irc.freenode.net)
21:38 clkao has quit IRC (brown.freenode.net irc.freenode.net)
21:38 gugod has quit IRC (brown.freenode.net irc.freenode.net)
21:38 Odin- has joined #perl6
21:38 ajs_home has joined #perl6
21:38 mjflick-wk has joined #perl6
21:38 awwaiid has joined #perl6
21:38 Chewie[] has joined #perl6
21:38 lumi has joined #perl6
21:38 Yaakov has joined #perl6
21:38 Steve_p has joined #perl6
21:38 calvin_ has joined #perl6
21:38 cwest has joined #perl6
21:38 skugg has joined #perl6
21:38 kungfuftr has joined #perl6
21:38 domm has joined #perl6
21:38 kelan has joined #perl6
21:38 blackbart has joined #perl6
21:38 dvtoo has joined #perl6
21:38 cventers_ has joined #perl6
21:38 QtPlatypus has joined #perl6
21:38 cognominal has joined #perl6
21:38 hlen has joined #perl6
21:38 pjcj has joined #perl6
21:38 f0rth has joined #perl6
21:38 wilx has joined #perl6
21:38 scook0 has joined #perl6
21:38 dudley has joined #perl6
21:38 jdv79 has joined #perl6
21:38 mja has joined #perl6
21:38 viirya_ has joined #perl6
21:38 putter has joined #perl6
21:38 ToniEisner has joined #perl6
21:38 Qiang has joined #perl6
21:38 pasteling has joined #perl6
21:38 revdiablo has joined #perl6
21:38 acme has joined #perl6
21:38 LCamel has joined #perl6
21:38 wolverian has joined #perl6
21:38 Juerd has joined #perl6
21:38 mugwump has joined #perl6
21:38 DrForrester has joined #perl6
21:38 clkao has joined #perl6
21:38 leptonix has joined #perl6
21:38 gugod has joined #perl6
21:38 ycheng has joined #perl6
21:38 whiteg has joined #perl6
21:38 kcwu has joined #perl6
21:38 vcv- has joined #perl6
21:38 meppl has joined #perl6
21:38 nothing_pasta has joined #perl6
21:38 justatheory has joined #perl6
21:38 elmex has joined #perl6
21:38 autrijus has joined #perl6
21:38 scw_ has joined #perl6
21:38 stevan has joined #perl6
21:38 Odin-LAP has joined #perl6
21:38 Lopo has joined #perl6
21:38 chip has joined #perl6
21:38 coral has joined #perl6
21:38 Khisanth has joined #perl6
21:38 sili has joined #perl6
21:38 jql has joined #perl6
21:38 hcchien has joined #perl6
21:38 qmole has joined #perl6
21:38 sri_ has joined #perl6
21:38 ingy has joined #perl6
21:38 Gruber has joined #perl6
21:38 b6s has quit IRC (brown.freenode.net irc.freenode.net)
21:38 Southen has quit IRC (brown.freenode.net irc.freenode.net)
21:39 stevan has quit IRC (brown.freenode.net irc.freenode.net)
21:39 elmex has quit IRC (brown.freenode.net irc.freenode.net)
21:39 vcv- has quit IRC (brown.freenode.net irc.freenode.net)
21:39 hcchien has quit IRC (brown.freenode.net irc.freenode.net)
21:39 Gruber has quit IRC (brown.freenode.net irc.freenode.net)
21:39 sri_ has quit IRC (brown.freenode.net irc.freenode.net)
21:39 Odin-LAP has quit IRC (brown.freenode.net irc.freenode.net)
21:39 sili has quit IRC (brown.freenode.net irc.freenode.net)
21:39 jql has quit IRC (brown.freenode.net irc.freenode.net)
21:39 chip has quit IRC (brown.freenode.net irc.freenode.net)
21:39 Khisanth has quit IRC (brown.freenode.net irc.freenode.net)
21:39 qmole has quit IRC (brown.freenode.net irc.freenode.net)
21:39 justatheory has quit IRC (brown.freenode.net irc.freenode.net)
21:39 ingy has quit IRC (brown.freenode.net irc.freenode.net)
21:39 nothing_pasta has quit IRC (brown.freenode.net irc.freenode.net)
21:39 autrijus has quit IRC (brown.freenode.net irc.freenode.net)
21:39 Southen has joined #perl6
21:39 b6s has joined #perl6
21:39 vcv- has joined #perl6
21:39 nothing_pasta has joined #perl6
21:39 justatheory has joined #perl6
21:39 elmex has joined #perl6
21:39 autrijus has joined #perl6
21:39 stevan has joined #perl6
21:39 Odin-LAP has joined #perl6
21:39 chip has joined #perl6
21:39 Khisanth has joined #perl6
21:39 sili has joined #perl6
21:39 jql has joined #perl6
21:39 hcchien has joined #perl6
21:39 qmole has joined #perl6
21:39 sri_ has joined #perl6
21:39 Gruber has joined #perl6
21:39 ingy has joined #perl6
21:39 justatheory has quit IRC (Remote closed the connection)
21:39 justatheory has joined #perl6
21:40 elmex_ has joined #perl6
21:40 elmex_ has quit IRC (Client Quit)
21:42 SamB has joined #perl6
21:42 Nattfodd has joined #perl6
21:51 nothingmuch compression is working
21:51 dmo has joined #perl6
21:53 sapper has joined #perl6
21:54 dmo has quit IRC (Client Quit)
21:54 cdpruden has joined #perl6
21:57 mja has quit IRC ("[BX] "I did not have sexual relations with that client, BitchX."")
21:59 justatheory has quit IRC ()
21:59 knewt__ has joined #perl6
22:02 dmo has joined #perl6
22:02 Ontolog has joined #perl6
22:02 Ontolog is it done yet?
22:03 nothingmuch soon, baby
22:03 PerlJam surely you saw my 2-years predictions
22:03 nothingmuch svn co http://svn.openfoundry.org/pugs
22:03 nothingmuch get yourself GHC to compile it (http://www.haskell.org/ghc)
22:03 nothingmuch and then brush up on your synopses
22:03 PerlJam theoretically we'll get a perl6 compiler that people can use this year.
22:04 PerlJam (whether that's pugs or not remains to be seen)
22:04 Ontolog i gots teh ghc
22:04 nothingmuch is it 6.4?
22:04 nothingmuch IIRC gentoo ships 6.2
22:04 * Ontolog checks
22:05 Ontolog your right
22:05 Ontolog and i think that was the problem
22:05 osfameron has joined #perl6
22:05 Limbic_Region has quit IRC (Read error: 110 (Connection timed out))
22:05 nothingmuch Ontolog: install ghc in ~/bin
22:05 nothingmuch or /usr/local/bin/
22:05 Ontolog nothing_pasta: i hear it's a grueling process
22:05 Ontolog doh
22:06 Ontolog nothingmuch: i hear it's a grueling process
22:06 Ontolog nothingmuch: I'll give it a shot when I get home tonight
22:06 nothingmuch Ontolog: download a binary
22:08 knewt_ has quit IRC (Nick collision from services.)
22:08 knewt__ is now known as knewt_
22:10 Ontolog nothingmuch: ohhh yeah lol will do
22:10 justatheory has joined #perl6
22:10 nothingmuch Ontolog: whyy not?
22:10 Ontolog nothingmuch: didn't get that email yet btw send it ova
22:11 nothingmuch it said: "* Invitation sent to [email@hidden.address]
22:11 Ontolog nothingmuch: i said I _will_ do
22:11 Ontolog hmm
22:11 Ontolog let me checks again
22:11 nothingmuch err, i wasn't supposed to post that publicly, was I?
22:11 nothingmuch nothingmuch--
22:11 Ontolog eh it's ok
22:12 Ontolog i mean
22:12 Ontolog it's not posted on the web is it?
22:12 nothingmuch *cough*
22:12 * nothingmuch scratches his ear, bending his head sideways
22:12 stevan nothingmuch: smoooooootttthhhhh
22:12 nothingmuch does this count? http://colabti.de/irclogger/irclogger_logs/perl6
22:13 nothingmuch stevan: no first class functions for you
22:13 stevan nothingmuch: you likka my submethods though :P
22:13 nothingmuch touch my monads, bitch
22:13 nothingmuch that is, if 'likka my submethods' was an insult
22:14 * nothingmuch wasn't sure
22:14 putter woot!  p5 runtime has primitives...!  (of course, almost all of them just die with "mumble: unimplemented", but still...)
22:14 stevan nothingmuch: always assume insult, unless I tell you diff :P
22:14 stevan putter++
22:15 nothingmuch putter: woo
22:15 nothingmuch putter++
22:15 nothingmuch finally someone is getting something done ;-)
22:16 Ontolog lol
22:16 Ontolog it's ok
22:16 Ontolog hey
22:16 Ontolog that open foundry site seems sketchy though
22:16 stevan Ontolog: shhh dont say that round here
22:16 stevan it is autrijus's site :)
22:17 stevan Ontolog: did it ask you a lot of stuff in chinese?
22:17 Ontolog well i'm just referring to the legal thing
22:17 nothingmuch Ontolog: it's a taiwanese govt thing
22:17 Ontolog "If you accept the Term of Use and consent to all its content without making any
22:17 Ontolog verification, Open Foundry will provide you with all online information and
22:17 Ontolog Service."
22:17 nothingmuch like sourceforge
22:17 putter tnx :)
22:17 Ontolog what does "without making any verification" mean?!!?
22:17 nothingmuch uh...
22:17 stevan Ontolog: roughly translated "we own your first born"
22:17 Ontolog yeah
22:17 Ontolog i don't like that!
22:17 stevan Ontolog: well, at least we are all in the same boat :)
22:17 Ontolog but i suppose i've clicked through those a thousand times before lol
22:18 Ontolog i gotta put one of those up on my site
22:18 Ontolog i bet people would click it
22:18 Ontolog then i'll go sue them for stuff
22:18 Ontolog lol
22:18 stevan nothingmuch, putter: check out the latest metamodel commit,.. I added basic $?SELF support
22:18 svnbot6 r5607, Stevan++ | Perl6::MetaModel -
22:18 svnbot6 r5607, Stevan++ | basic support for $?SELF (although we have to call it
22:18 svnbot6 r5607, Stevan++ | SELF() since p5 can't handle the twigil). I might make
22:18 svnbot6 r5607, Stevan++ | this into a tied scalar later on.
22:18 svnbot6 r5607, Stevan++ | Support for $?CLASS should be coming soon too :)
22:18 Ontolog anywho sorry to ramble i'll agree
22:19 stevan http://svn.openfoundry.org/pugs/p​erl5/Perl6-MetaModel/t/08_SELF.t
22:19 stevan ok dinner time for me, adios all &
22:21 Ontolog nothingmuch: ok all registered
22:23 dudley putter: is your p5 code in svn?
22:23 nothingmuch Ontolog: have fun
22:23 nothingmuch stevan: ciao
22:24 PerlJam has quit IRC ("home!")
22:24 Ontolog nothingmuch: thx!
22:24 Ontolog peace
22:24 Ontolog has quit IRC ("Leaving")
22:26 iblechbot has quit IRC (Connection timed out)
22:30 putter dudley: just in, r5608
22:30 svnbot6 r5608, putter++ | * p5 runtime gets primitives!  perl5/PIL-Run/lib/PIL/Run/PrimP5.pm is derived from Prim.hs.  Needs lots of implementations filled in.  cd perl5/PIL-Run/; perl -Ilib -w crude_repl.pl  with pugs in your PATH.  Use ApiX to change between p6 and p5 objects.
22:31 fglock putter: are lazy lists implemented?
22:33 putter stevan: will do.  I'm afraid the p5 runtime is still using raw p5 data objects.  Changing that is step after next.  Next being ripping some of the packages in crude_repl out to stand on their own.
22:33 putter fglock: ha!  "say 'hi'" works.  "say pi" works.  all other bets are off.
22:38 fglock putter: i mean, would it be possible to write an Iterator class and use it in a "for $iterator {...}"
22:41 dmo has quit IRC ()
22:41 putter not for a while yet.  it's still at the point of having strings, but not really, having ints, but not really, and calling primitives, but a double call "say 'hi';say 'hi'" may or may not work.
22:42 nothingmuch
22:42 Darren_Duncan has left
22:42 nothingmuch putter: where is the code?
22:43 putter perl5/PIL-Run/lib/PIL/Run/{ApiX,PrimP5}.pm and perl5/PIL-Run/crude_repl.pl
22:45 putter A project for someone who understand the metamodel stuff would be to create a p5 FooStr class which for "say 'hi'" supports FooStr->new('hi'), and FooStr->get_internal_string  to get 'hi' back out.  Perhaps also a identity function ->as_string or somesuch, to do string coersion in a FooInt class.
22:45 svnbot6 r5609, fglock++ | refactoring
22:52 fglock has quit IRC ("I am going away")
22:53 dmo has joined #perl6
22:55 nothingmuch putter: i'll have a tryy as soon as my svk is fixed
22:55 dmo has quit IRC (Client Quit)
22:55 putter :) !
22:55 nothingmuch none of the unicode levels business though
22:55 nothingmuch also: String is a role
22:55 nothingmuch so i'll really make an array of char that does string
22:55 nothingmuch isn't that nice?
22:56 * nothingmuch can hear perl6 on p5 slooooowwwwwiiiiinnngngggg doooooowwwwnnnn
22:56 putter Ah, right.  What is the real class of a string supposed to be?
22:56 geoffalot has joined #perl6
22:56 nothingmuch that's what it is =)
22:56 putter Oh, Str.
22:56 nothingmuch except array is also a role.
22:56 nothingmuch hmmm
22:56 nothingmuch ah! but we can instantiate roles now
22:56 putter pugs> "foo".ref #=> Str
22:56 nothingmuch yup
22:57 nothingmuch i'm only kidding
22:57 nothingmuch Str will be a silly class in the begining
22:57 putter releaved breath.  i was getting veeerrry  confused. ;)
22:57 * Juerd doesn't like lwall's latest replies
22:58 Juerd He's WAY too serious about .foo being somehow related to $?SELF
22:58 nothingmuch Juerd: what do you plan to do about it?
22:58 Juerd nothingmuch: Fork Perl the minute it's released
22:58 nothingmuch heh
22:58 nothingmuch i
22:58 nothingmuch i think i'm with you
22:58 Juerd The "uncrippled" version
22:58 Juerd This works with commercial software too
22:59 Juerd If you have a way to uncripple software, people will pick your solution over the original.
22:59 Juerd It'll be theoretically faster too, as a check for $_ =:= $?SELF can be removed
22:59 nothingmuch sane junctions! proper MMD! no implicit autothhreading! for @list <-> $i!
22:59 putter Most of the things I've seen argued about are just macros to change..
22:59 Juerd Junctions are values, and can be assigned
22:59 Juerd do while is possible, different from Perl 5, but no longer blocked
23:00 Juerd <-> is around, for obvious reasons
23:00 Juerd autothreading is done implicitly only for pure functions
23:00 Juerd (Or functions otherwise marked as autothreading)
23:01 Juerd Re MMD: that isn't a limitation
23:01 * putter wonders if there will be a CLOS-like dispatcher hook to change dispatch algos...
23:01 Juerd It's a design philosophy, not a simple "die if" like thing, as the other things are.
23:01 Juerd Well, the autothreading thing isn't
23:01 nothingmuch Juerd: manhatten distance is very limiting
23:01 Juerd So that also can't go in the uncrippled version
23:01 Juerd nothingmuch: What's that?
23:01 nothingmuch it will make MMD flakey in the context of refactoring
23:02 nothingmuch and it doesn't handle half the typing cases people will try to throw at it (junctive types in MMD? no sir!)
23:02 Juerd An uncrippled version should only uncripple, not fix bugs or add features
23:02 nothingmuch okay, i'll fork the fork then
23:02 nothingmuch i'll call it Moose
23:02 Juerd Good :)
23:02 nothingmuch gaal will use it
23:02 Juerd I probably will too
23:03 mugwump Damian seems to like Manhattan distance, and claims to have good credentials for it
23:03 nothingmuch mugwump: i doubt they are valid in perl lamd
23:03 mugwump can the major objections to it be summaried easily?
23:03 nothingmuch ChiaDog isa Dog, Tree
23:03 mugwump or have they already been deep in that long thread?
23:03 nothingmuch Dog isa Animal
23:04 Juerd Anyway, Perl 6 as it stands is fucked up by stupid and widely impopular one man decisions
23:04 nothingmuch method bark (Tree $inv) {}; method bark (Dog $inv);
23:04 Odin-LAP Hmm.
23:04 Juerd And that I don't find compatible with the "community's rewrite" idea
23:04 nothingmuch someone goes and refactors ChiaDog
23:04 Odin-LAP This last decision is, IMO, a case of a loud minority getting its way...
23:04 nothingmuch Tree -> Plant -> ChiaPet -> ChiaDog
23:04 putter back later &
23:04 nothingmuch suddenly the MMD semantics change
23:04 Juerd There must be someone to pick the least of evils, and to decide things whenever the community can't agree
23:04 nothingmuch they shouldn't
23:04 putter has quit IRC ("Leaving")
23:05 Juerd But blocking features just because people don't agree is wrong.
23:05 Juerd And if most people do agree with eachother, their solution should be used.
23:05 Juerd You don't need a decision maker for that, just someone who takes polls, or reads the mailing lists carefully.
23:05 mugwump Let's have a poll on Perlmonks
23:05 mugwump :)
23:05 nothingmuch and pragmas to let disagreers choose is worse!
23:06 Juerd I have seen noone seconding Larry's decisions on crippling
23:06 nothingmuch go explain that to newbies
23:06 nothingmuch go read someone elses code
23:06 Juerd nothingmuch: Agreed.
23:06 Juerd use dot;
23:06 Juerd use self;
23:06 nothingmuch paste your code somewheere else
23:06 Juerd use bla;
23:06 Juerd use sanity;
23:06 Juerd use Junctions;
23:07 dmo has joined #perl6
23:07 Juerd "to enable this feature, just add: use foo" is WRONG if the feature is already implemented but disabled without it
23:07 mugwump Personally I think people complaining about ./ just because they don't like it are stirring.  the history behind that decision is clear.
23:07 Odin-LAP Kinda like "use strict" and "use warnings"? :>
23:08 dmo has quit IRC (Client Quit)
23:08 nothingmuch Odin-LAP: much worse
23:08 Juerd Okay, bad phrasing
23:08 nothingmuch Odin-LAP: those pragmas each bring a change of dialect
23:08 nothingmuch not a change of semantics
23:08 Juerd I mean those cases where without the pragma, there is a "die if".
23:08 Odin-LAP nothingmuch: Juerd's phrasing *did* include those.
23:08 Odin-LAP But yeah, I get the point.
23:09 nothingmuch what I don't understand is why ./foo is so bad
23:09 nothingmuch it's Good Enough(tm)
23:09 Juerd mugwump: I can understand that people convinced Larry to drop ./foo
23:09 Juerd mugwump: Either in favour of something else, or just dropped altogether
23:09 Juerd BUT THAT HAS NOTHING TO DO WITH .foo!
23:09 Odin-LAP nothingmuch: There's a handful of people who complain loudly about it.
23:09 nothingmuch Odin-LAP: they don't need to use it
23:09 Odin-LAP nothingmuch: Doesn't seem to stop them. ;)
23:09 nothingmuch just like I use ${ } explicitly to help me type balanced derefs
23:09 nothingmuch and some people don't like it
23:09 mugwump exactly, so I think in the absence of consensus we should switch to democracy, vile as that prospect is
23:10 nothingmuch they can go read someone else's code
23:10 Juerd nothingmuch: There are but two reasons they come up with
23:10 Juerd nothingmuch: 1. Looks like shell scripting (duh)
23:10 Odin-LAP mugwump: Meh. "Consensus" is no magic word. ;)
23:10 Odin-LAP Unanimity isn't always useful. Groupthink, anyone? :p
23:10 Juerd nothingmuch: 2. The dot is in the wrong place (sort of true, but ./ isn't infix anyway
23:10 nothingmuch Juerd: but those reasons are utter crap, they shouldn't stop me from enjoying them...
23:11 nothingmuch it's a shortcut
23:11 nothingmuch is not the invocant
23:11 nothingmuch it has a mnemonic value
23:11 Odin-LAP What, they want a slashdot operator in Perl?
23:11 Juerd I ignore, aggressively, all "it's ugly" and "/ is for division" crap.
23:11 nothingmuch and all unix heads are used to typing ./
23:11 nothingmuch if / is for division what is '.'? the method call 'anything on anything'?
23:11 nothingmuch blah!
23:11 Juerd Odin-LAP: Not possible because /. would initiate a pattern match
23:11 nothingmuch /. is also icky to type
23:12 Juerd And wouldn't fit in anyway
23:12 Juerd As that would make / the invocant
23:12 nothingmuch ./ is just a macro for $?SELF., as I see it
23:12 Juerd And a \W alias for $?SELF is a bad idea for many reasons
23:12 nothingmuch it's not something pure or aesthetic or correct, it's a convenient shorthand for when $?SELF is not topicalized
23:12 Juerd nothingmuch: It is!
23:12 Odin-LAP s/macro/text macro/; # Doesn't the spec assume lispy macros?
23:13 Juerd I guess it's something like: macro term:<./> { '$?SELF.' }
23:13 nothingmuch Odin-LAP: both
23:13 Odin-LAP Something like that.
23:13 Odin-LAP Nice and easy.
23:13 Juerd I don't knom if there's a separate category "term" for "prefix" without arguments.
23:13 mugwump I didn't mind the post-meta-operator bit
23:13 Juerd The / is **NOT** a meta operator!
23:14 mugwump so, eg, any operator could have / put after it to make it act on self
23:14 Juerd There is no . in ./
23:14 Juerd As there is no rat in "separate"
23:14 nothingmuch mugwump: '.' is not an operator
23:14 mugwump it isn't?
23:14 * nothingmuch never understood why
23:14 Juerd The "." *character* is in "./", not the "." *operator*
23:14 mugwump sure, right now "./" is its own operator
23:14 Juerd The "rat" *characters* are in "separate", not the "rat" *word*
23:15 Juerd But, yes, ./ can be confusing for people who fail to separate mind streams
23:15 Juerd And I can imagine it's dropped
23:15 Juerd But .foo has nothing to do with this, and should continue to unconditionally mean $_.foo
23:15 nothingmuch right
23:15 nothingmuch but even so, we need a solution for a shorter $?SELF, and a pragma isn't a solution, it's a workaround
23:16 webmind what does ./ do ?
23:16 nothingmuch and a language with workarounds designed from the start is definately NOT going to last 20 years like they want
23:16 mugwump webmind: find the most recent perl 6 summary, it has a link to the thread
23:16 Odin-LAP webmind: Method calls on $?SELF, i.e., the current object.
23:16 webmind Odin-LAP, thanks
23:17 nothingmuch webmind: $?SELF.foo == ./foo
23:17 webmind nothingmuch, thanks
23:17 * nothingmuch seriously doubts that any(@Larry) but luqui actually wrote any perl6
23:17 nothingmuch e.g. more than 200-300 lines
23:17 nothingmuch of something that isn't an example designed to show off the language
23:19 chromatic has joined #perl6
23:19 chromatic You know, *I* wrote a few lines of Perl 6.
23:19 * nothingmuch always forgets chromatic ~~ @Larry
23:20 Odin-LAP O_o
23:20 Odin-LAP Were you watching someone else's screen, or..?
23:20 chromatic Browsing through the logs on colabti.de.
23:20 Odin-LAP Huh. I see.
23:22 chromatic ... and it goes quiet.
23:22 webmind heh
23:22 nothingmuch =)
23:22 Odin-LAP So it does. Can't talk behind people's backs when they're present, can you? ;p
23:23 chromatic Hey, I'm not $Larry or even ~~ @Larry[0..2]
23:23 Juerd 01:24 < chromatic> Browsing through the logs on colabti.de.
23:23 * nothingmuch really didn't mean chromatic when he said @Larry, since I remember Test::Builder
23:23 Odin-LAP Hehe. :)
23:23 * webmind kinda likes ./foo but I've got no clue what I'm talking about if it's an issue with internals.. but as a user it makes sense
23:23 Juerd Those logs are quite up to date then.
23:23 Odin-LAP Juerd: Indeed.
23:23 nothingmuch webmind: it's an issue with aesthetics, and nothing more
23:23 nothingmuch which is why it's so frustrating
23:24 chromatic Aesthetics are important.
23:24 mugwump I really don't think that $?SELF should topicalise by default.  It's far too confusing.
23:24 nothingmuch chromatic: but subjective
23:24 chromatic That's why @foo and @foo[1]
23:24 webmind nothingmuch, politics ?
23:24 nothingmuch that's consistency, not aesthetics
23:24 * Odin-LAP thought $foo[1] made plenty of sense.
23:24 nothingmuch the consistency has some aesthetic appeal
23:24 chromatic $foo[1] is consistent too; $ always marks a scalar.
23:24 nothingmuch Odin-LAP: i agree, but not N levels deep
23:25 Odin-LAP nothingmuch: Indeed.
23:25 nothingmuch i actually really really liked $foo[0]
23:25 nothingmuch but it seemed logical only later
23:25 chromatic Ditto.
23:25 Maddingue has quit IRC (Read error: 104 (Connection reset by peer))
23:26 chromatic I'm also coming around to the idea of not topicalizing $?SELF.
23:26 chromatic On the other hand, I have little sympathy for people who topicalize over something else in a method and clobber the invocant.
23:27 nothingmuch right! they should have methods called on the topic! that'll show them!
23:27 nothingmuch and make perl 6 useful for those of us who know what they're doing
23:28 Juerd chromatic: Aesthethics are somewhat important, but if they're as important as they appear to be now, then why does Perl even still exist? It's ugly, but practical. Beauty was never Perl's selling feature, and I don't think it ever will be.
23:28 geoffalot has left
23:28 Juerd chromatic: Also, I quite like the looks of ./foo, while some other people don't. I don't like how =:= looks, but others like it. It's all VERY subjective, and can hardly be a guide for what to keep and what to drop.
23:29 * Juerd keeps typing :=: instead of =:= too.
23:31 chromatic The universe catches up to cheaters eventually.  Tough luck.
23:31 chromatic Yep, if you write ambiguous code, you have ambiguous results.
23:31 chromatic I mean of course, if they use .foo() syntax inside given.
23:31 chromatic Juerd, I disagree.  ./ introduces a visual idea present nowhere else in the language.  Maybe it's the best solution, but it's out by itself and things like that worry me a bit, aesthetically.
23:31 Juerd It's not ambiguous if .foo always means $_.foo, you see.
23:31 Juerd chromatic: I actually agree with that.
23:32 Odin-LAP What idea? :/
23:32 chromatic And I agree that .foo should always mean $_.foo.
23:32 Juerd Even if $_ is aliased to the invocant, .foo is not ambiguous. It's just like having an implicit given.
23:33 Juerd And that's why I don't really care much for this. I can add the given myself if I really need it.
23:33 chromatic Yep.  If you need an explicit invocant, put it in the signature.
23:33 Juerd Although I would enjoy method mylc { .lc }
23:33 Juerd method seconds { .minutes * 60 }
23:34 Juerd And the fun thing is: now that $_ is lexical, there is no value for $_ at all anyway
23:34 chromatic Want an evil idea?  $ is the default invocant if you don't bind one in the signature.
23:34 Juerd So topicalizing the invocant doesn't do any other code damage in any way. It only adds to the language.
23:34 chromatic Wait, it's always the default invocant.
23:34 Odin-LAP Errr. Just '$'?
23:34 chromatic Yes.
23:35 Odin-LAP Well, you *did* say it was evil...
23:35 Juerd chromatic: I've thought about that, but $.foo is ambiguous with, well, $.foo
23:35 Juerd (the "has" thing, that is)
23:35 chromatic It's already ambiguous that way.  Try defining a method named foo and watch it clash with the attribute.
23:35 Juerd Hm, true!
23:36 mugwump in fact,  isn't it important that $.foo calls $?SELF.foo anyway?
23:36 Juerd Anyway, ^ is available. It has no meaning in term position yet.
23:36 chromatic Exactly.
23:37 Juerd It's the only single char left other than >, but still I'm more than willing to give it up. It's just that more people are opposed to ^foo than to ./foo (the reason for that is beyond me)
23:37 mugwump so, the question is, what should $.foo(@args) mean?  :)
23:37 Juerd mugwump: No, $.foo the variable is a variable like any other, not an lvalue sub. There are subtle differences.
23:37 mugwump is that a call to $?SELF.foo, then expecting the result to be a coderef, or calling $?SELF.foo(@args)
23:37 chromatic Call the method foo(), passing @args.
23:38 mugwump and, if you want it to mean the other thing, then call it {$.foo}(@args)
23:38 Juerd mugwump: $.foo does (without chromatic's change) *not* call the method 'foo'.
23:38 chromatic Opaque objects.
23:38 Juerd While the method 'foo' does use the variable '$.foo'
23:38 mugwump Juerd: what is this difference between variables and methods?  I don't see a difference
23:39 meppl has quit IRC (Read error: 110 (Connection timed out))
23:39 Juerd mugwump: The method can in theory return a different lvalue each time, while the variable should never do that. Also, for the variable, no *call* is needed, so it's faster theoretically.
23:39 mugwump But if I define an accessor method I can make it do whatever I want
23:39 mugwump including return a different lvalue each time
23:40 Juerd Yes
23:40 Juerd That doesn't change the $.foo variable
23:40 Juerd has-variables are like my-variables, except only two things
23:40 Juerd 1. the container is in the object somehow (and thus duration is equal to the object's)
23:41 Juerd 2. there's a twigil
23:41 chromatic That "somehow" is important.  I think that's why $.foo is a method call.
23:41 Juerd chromatic: I quite liked the difference between $.foo and .foo, actually
23:42 Juerd Using $.foo being the frowned-upon-but-much-faster way of doing the same thing
23:42 nothingmuch $.foo is an optimizable method call in my eyes
23:42 chromatic Right.  That's why $ forces the immediate left-most term to treat everything to the right as a single unit.
23:42 chromatic Er, that's why I think $ is $?SELF, if you really squint.
23:42 Juerd chromatic: I could certainly live with it.
23:42 Juerd As I could live with any syntax made up for this.
23:43 mugwump ok, so $.foo and $:foo are method (and submethod) calls, then.
23:43 chromatic I'm halfway joking, but I do like the consistency, even if it means rationalizing a few other things.
23:43 Juerd $.foo, ^foo, ./foo, $?SELF.foo
23:44 Juerd If .foo means $_.foo, I don't care much for which of the above is chosen :)
23:44 nothingmuch ^foo is less related than ./foo IMHO
23:44 mugwump However, it might mean you loose spellchecking on $.foo attributes when you have AUTOMETH defined
23:44 Juerd nothingmuch: ^ and ./ are equal, except in appearance
23:44 nothingmuch i mean in appearance
23:44 Juerd The appearance of ./ is misleading.
23:44 chromatic mugwump, it depends on how far you can detect lvalue context.
23:44 Nattfodd has quit IRC ("Leaving")
23:44 Juerd The dot in it is NOT the dot operator.
23:45 nothingmuch Juerd: i mean that './' looks more "homely" than '^'
23:45 Juerd Homely is ~/ :)
23:45 Juerd Hm...
23:45 Juerd ~/foo
23:45 nothingmuch i am not an idiot, i just said the same thing you told me now N lines ago
23:45 chromatic Call foo() on the god object?
23:45 Juerd Oh, str rx
23:45 Juerd nothingmuch: Homely?
23:46 nothingmuch then we'll have to make '==>' be '|'
23:46 Maddingue has joined #perl6
23:46 nothingmuch Juerd: the 'dot is not an operator thing'
23:46 nothingmuch hola Maddingue
23:46 Juerd 01:50 < nothingmuch> then we'll have to make '==>' be '|'
23:46 Juerd 01:50 < nothingmuch> then we'll have to make '==>' be '|'
23:46 Juerd Well - that'd be fun anyway, but I like | for junctions, and I like <== too
23:47 * Juerd uses <== more than ==>
23:47 larsen has quit IRC ("later")
23:47 nothingmuch Juerd: shells don't have that, it should go
23:47 nothingmuch and shells don't have junctions either
23:48 nothingmuch unless we write the | operator as 'perl -MQuantum::Superpositions -e ...'
23:48 Juerd Lack of something in some language cannot be translated to the same lack of that thing in Perl, as that would leave us with only brainfuck.
23:49 Juerd I'm going to try and sleep again.
23:49 Juerd Imagine - I got out of bed because my hands hurt, and I get lured to my computer because it beeps for new mail.
23:49 Juerd Now I don't even feel my fingertips anymore. Damn discussions.
23:49 nothingmuch heh
23:49 Juerd Good night!
23:49 Odin-LAP Nasty. :p
23:50 nothingmuch Juerd: you are getting old.
23:50 nothingmuch sleep well!
23:50 * Juerd cares MUCH too much about .foo
23:50 Juerd afk

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

Perl 6 | Reference Documentation | Rakudo