Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-07-04

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:07 osfameron has quit IRC ("Leaving")
00:07 svnbot6 r5175, autrijus++ | * I broke the build. :-/ Maybe `is builtin` conflicts with the
00:07 svnbot6 r5175, autrijus++ |   precompiled Prelude?  Will investigate further after some
00:07 svnbot6 r5175, autrijus++ |   more adjustment of jet lag...  For now, read in Prelude.pm
00:07 svnbot6 r5175, autrijus++ |   in the old way.
00:07 svnbot6 r5176, autrijus++ | * update our version dep of parrot to 0.2.2
00:08 luqui has quit IRC (Remote closed the connection)
00:49 bloves has joined #perl6
00:49 vcv- has quit IRC (Read error: 131 (Connection reset by peer))
01:10 justatheory has joined #perl6
01:10 theorbtw1 has joined #perl6
01:16 autrijus greetings lambdacamels!
01:16 autrijus I'm still being assauted by full 12hr of jet lag
01:17 dudley Welcome back!
01:17 autrijus but I'm doing fine. still working on releng -- down to 43 failed testfiles
01:17 autrijus heya dudley :)
01:18 autrijus gaal: I failed to run "eval" even with the precompiled prelude before my commits
01:18 autrijus so it seems it's not neccessarily my problem
01:18 autrijus gaal: are you still WIP on that?
01:18 castaway has joined #perl6
01:19 autrijus helps with changelogging would be very appreciated -- I changelogged till pre-hackathon time
01:19 autrijus but I need to fix the 43 testfails first now
01:19 autrijus also, the new rulings lwall made during hackathon needs to be brought back to pmichaud for ratification
01:20 autrijus if someone can clean it up a bit and categorize them accoding to synopsis numbers and mail to pmichaud that'd be cool; otherwise I'll proc it a bit later
01:20 sili hmmmmm
01:21 shachaf_ has joined #perl6
01:21 autrijus the first url is http://use.perl.org/~autrijus/journal/25337 (for the rulings)
01:22 Shachaf has quit IRC (Connection reset by peer)
01:22 luqui has joined #perl6
01:26 * autrijus begins the exciting process known as backlogging
01:28 gaal has quit IRC (Read error: 110 (Connection timed out))
01:35 castaway_ has quit IRC (Read error: 110 (Connection timed out))
01:35 meppl :-P
01:35 theorbtwo has quit IRC (Read error: 110 (Connection timed out))
01:43 cognominal_ how one does a PIR load_bytecode() and calls a PIR routine from pugs?
01:45 nothingmuch has joined #perl6
01:45 nothingmuch hola señors!
01:45 * nothingmuch has arrived in tel aviv
01:45 elmex has quit IRC ("leaving")
01:45 autrijus cognominal_: eval "load_bytecode 'foo'\n...", :lang<pir>
01:45 autrijus I think
01:46 autrijus heya nothingmuch.
01:48 scook0 has joined #perl6
01:49 cognominal_ thx, I will try it
01:49 meppl nothingmuch, do you live there?
01:52 justatheory has quit IRC ()
02:08 vcv- has joined #perl6
02:11 nothingmuch has quit IRC (Read error: 110 (Connection timed out))
02:13 cm has joined #perl6
02:14 stevan howdy ya'll
02:14 stevan it seems like svn.openfoundry.org is down?
02:14 stevan or is it just me?
02:16 luqui looks like that to me too
02:16 dudley No, it seems to be down : (
02:19 stevan geoffb: whats you article about?
02:30 autrijus heya stevan, luqui
02:30 shachaf_ is now known as Shachaf
02:30 stevan hey autrijus, good to be back home?
02:30 autrijus still fighting with the MAXINT (12hr) amount of jetlag
02:30 autrijus but otherwise fine
02:30 autrijus I need to switch my IRC host... I'll brb
02:30 autrijus has quit IRC ("leaving")
02:31 autrijus has joined #perl6
02:31 autrijus back
02:31 stevan openfoundry seems to be down? do we have an alternate?
02:32 stevan URL that is
02:32 autrijus I thought you have svk? :)
02:32 stevan never managed to get it installed :)
02:32 autrijus oh wow :)
02:32 stevan and I was doing work on feather using my wifes laptop :)
02:32 autrijus http://svn.perl.org/perl6/pugs/trunk/
02:33 stevan I think I compiled my perl incorrectly when i upgraded, it gave me several symbol errors
02:36 autrijus I'm pinging the openfoundry folks... this is their business hour so it should be back online soonish
02:36 stevan cool
02:36 spinclad has quit IRC (Ping timeout: 14400 seconds)
02:37 stevan I am thinking of changing the *_method methods in the Metaclass to look something like this
02:37 stevan $meta->add_method('label' => Per6::Method->new(sub { .. }), for => 'Class');
02:37 stevan $meta->add_method('label' => Per6::Method->new(sub { .. }), for => 'Instance');
02:38 autrijus ah, making C/I meth explicit
02:38 stevan actually its better for the getting then the setting
02:38 stevan $meta->get_method('label', for => 'Class');
02:38 autrijus right
02:38 stevan the adding could actually be done by checking the type
02:38 stevan Perl6::Instance::Method
02:38 stevan and Perl6::Class::Method
02:38 stevan etc
02:39 autrijus that sounds sane
02:39 stevan :)
02:39 stevan I will take that as a compliment :P
02:40 stevan hmmm, can Roles add Class methods?
02:41 autrijus I'd say yes
02:44 Shachaf has quit IRC (tolkien.freenode.net irc.freenode.net)
02:44 Southen has quit IRC (tolkien.freenode.net irc.freenode.net)
02:44 b6s has quit IRC (tolkien.freenode.net irc.freenode.net)
02:46 b6s has joined #perl6
02:46 Southen has joined #perl6
02:46 Shachaf has joined #perl6
03:02 Daniel_Nee has joined #perl6
03:07 meppl has quit IRC (Remote closed the connection)
03:20 hlen has joined #perl6
03:27 cm has quit IRC ()
03:29 Shachaf has quit IRC (Read error: 104 (Connection reset by peer))
03:30 Shachaf has joined #perl6
03:41 nothingmuch has joined #perl6
03:41 nothingmuch HOME! I"M HOME! FINALLY!
03:41 autrijus nothingmuch: happy?
03:41 nothingmuch very
03:42 nothingmuch first class was sort of fun
03:42 nothingmuch less noisy, and less bumpy
03:42 autrijus ooh :)
03:42 nothingmuch and slightly more food
03:42 nothingmuch but not much more
03:42 autrijus I on the other hand gets shuffled around a lot
03:42 nothingmuch i also got shuffled a lot
03:42 nothingmuch air canada flight to tel aviv was also overbooked
03:42 nothingmuch so i went back to maelv
03:43 autrijus my toronto->vancouver flight being massively delayed so I could not have made my ->taipei flight
03:43 nothingmuch flew to budapest
03:43 autrijus so I boarded another random westjet flight at last minute (literally)
03:43 nothingmuch stayed there 12 hours
03:43 nothingmuch and then flew to tel aviv
03:43 autrijus only to find that the ->taipei flight already counted me out, etc
03:43 autrijus but I survived :)
03:43 nothingmuch by random do you mean
03:43 nothingmuch "counted me out" -- that is you could board? or could not board?
03:43 autrijus could not board, as they already listed me as delayed for a day
03:44 autrijus but I managed to socially engineer my way into the plane finally
03:44 nothingmuch ah
03:44 nothingmuch did you have to buy another ticket?
03:44 autrijus procedurally yes
03:44 autrijus practically I didn't do anything extra
03:44 nothingmuch did they pay for it?
03:44 autrijus nope
03:44 nothingmuch oh man
03:45 nothingmuch my social engineering was unsuccessful... i went to air canada, and they said 'sit down, we'll call you'
03:45 nothingmuch and then when it was too late they were like 'oh crap, we screwed up, you should have boarded'
03:45 nothingmuch since it was my second overbooking mess
03:46 nothingmuch btw, have a look: http://nothingmuch.woobling.org/example.html
03:46 nothingmuch stevan: please do a sanity check on my commit
03:46 autrijus openfoundry is back.
03:47 autrijus please commit at will
03:47 nothingmuch yep, pulling first
03:47 nothingmuch autrijus: find us a doc monkey - the TTH docs aren't good enough
03:47 autrijus TTH?
03:47 nothingmuch we need someone who can describe a concept well
03:47 nothingmuch Test::TAP::HTMLMatrix
03:47 nothingmuch since it's a tool, and not an API, i'm having trouble with it
03:48 nothingmuch btw, chromatic submitted a patch, and I uploaded UNIVERSAL::isa 0.02 from the airport
03:48 autrijus there are test-doc masters around here... chromatic, petdance, schwern
03:48 autrijus ypu I got it. ::can too.
03:48 autrijus I need to run for lunch. be back in a few mins
03:49 nothingmuch that's odd, chromatic also uploaded it?
03:49 nothingmuch i made diotalevi comaintainer, so that he could upload a backwards compatible 0.03
03:49 autrijus changes topic to: Prelude was borken (worked around now): http://sial.org/pbot/11497 | http://pugscode.org/ <Overview Journal Logs> | http://pugs.kwiki.org | paste: http://sial.org/pbot/perl6 | Chip needs help!!! http://www.geeksunite.net
03:49 nothingmuch but i don't remember doing chromatic
03:50 autrijus *shrug* once 0.03 hits it won't matter
03:50 nothingmuch it's just weird
03:50 nothingmuch i didn't know two conflicting namespaces + versions could co-exist
03:53 nothingmuch okay, pushed
03:53 svnbot6 r5177, nothingmuch++ | Fix up stuff to correlate with some changes in the metamodel
03:53 svnbot6 r5178, nothingmuch++ | use croak instead of die for more informative reporting
03:54 Shachaf has quit IRC (Read error: 104 (Connection reset by peer))
03:55 Shachaf has joined #perl6
03:57 SamB has joined #perl6
03:58 stevan has quit IRC (Read error: 110 (Connection timed out))
04:03 masak has joined #perl6
04:10 dudley OpenFoundry's back up for the svk-challenged among us...
04:20 gaal has joined #perl6
04:23 Darren_Duncan I'm currently 'make test' on r5178
04:29 stevan has joined #perl6
04:29 gaal welcome home, yuval and autrijus!
04:30 gaal autrijus: looking at the result of -CPugs, it seems clear the prelude wasn't being compiled becuase there was very little logic, only symbol declarations
04:30 nothingmuch huh, weird
04:31 gaal (that's from yesterday, i didin't look now)
04:31 nothingmuch http://search.cpan.org/~chromatic/UNIVERSAL-isa-0.02/ <-- just a dup of my upload - SIGNATURE and all
04:31 nothingmuch hola gaal
04:31 nothingmuch thanks so much for yesterday
04:31 nothingmuch or today
04:31 nothingmuch it's been a very long today for me
04:31 gaal hey nm! how was the flight?
04:31 gaal i bet
04:31 nothingmuch i got to fly first class, for the first and probably last time in my life
04:31 nothingmuch i have a theory
04:31 gaal oh right, first class
04:31 gaal (i
04:31 nothingmuch the plane acts as a sort of sprint
04:31 nothingmuch spring
04:31 gaal 'm backlogging right now)
04:32 nothingmuch making it less bouncy up front
04:32 stevan nothingmuch: big pimpin! in first class :P
04:32 nothingmuch stevan: i'd rather be in the cargo box and not endure what I did
04:33 nothingmuch my flights were overbooked twice
04:33 stevan ??
04:33 stevan oh
04:33 stevan yeah that sucks, but at least you had leg room :)
04:33 nothingmuch yup
04:33 stevan did they let you into the first class lounge?
04:33 stevan free drinks, all the peanuts you can eat
04:33 gaal next time get the plane to tug you and do waterski
04:33 nothingmuch i replaced all 'die's with 'croak's in the metamodel, to make it easier for me to debug my classes
04:33 nothingmuch i didn't try for the loungy
04:33 nothingmuch e
04:34 geoffb ping('stevan')
04:34 nothingmuch gaal: that should be a fun way to kill myself
04:34 nothingmuch as opposed to drying up like a raisin
04:34 nothingmuch airports + airplanes make my skin very angry
04:34 gaal oh, i thought that lounges were suppoesed to be over half of the deal
04:34 stevan geoffb.pong()
04:34 nothingmuch gaal: might be
04:35 gaal since you don't have to endure the stupid terminal annoyances
04:35 geoffb You asked about the article I'm writing . . .
04:35 nothingmuch why are you guys using parens?
04:35 nothingmuch gaal: uh, wow..... that's a nice idea
04:35 nothingmuch but I doubt they would have let me in
04:35 gaal in tel-aviv, by the way, the lounge has a free phone
04:35 stevan geoffb: yes, is it another in your 3-D series? or something on perl6?
04:35 nothingmuch it always said "gold super card members only" or something
04:35 nothingmuch and i was more of a 'fucked over sob with a compensation package'
04:36 stevan nothingmuch: croak is fine :)
04:36 gaal i suppose that if you fly 1st, you get to use the lounge
04:36 nothingmuch i didn't see any lounge for those kinds of people
04:36 geoffb It's OpenGL in Perl using SDL_Perl.  This fourth article is about performance, including profiling, display lists, and happy fun frame rate counter display
04:36 geoffb stevan, yep, 4th in the 3d series.
04:36 stevan geoffb: nice
04:36 geoffb I would LOVE to be able to do a conversion to Perl 6, as soon as it works
04:36 nothingmuch well too late
04:36 gaal by the way, there's a guy doing 3d stull in OCaml
04:36 geoffb Maybe article 6.  :-)
04:36 gaal as a demo, looks like he's reimplementing katamary damacy
04:36 nothingmuch no sense crying over unspilled complimentary champagne and peanuts =)
04:36 stevan geoffb: by that time, they should give you a book deal :P
04:36 gaal *stuff
04:37 geoffb stevan, heh, I wish
04:37 * stevan thinks that articles might actually pay better though
04:37 gaal better than books, stevan?
04:37 geoffb Articles don't pay much.  At O'Reilly it's $300 per
04:37 stevan they dont pay alot, but at least it's not based on sales
04:37 geoffb (American)
04:37 stevan geoffb: yes, I know (I wrote some of the Code Katas)
04:37 gaal geoffb: http://merjis.com/developers/ocamlode might be interesting to you
04:38 geoffb stevan, ah
04:38 geoffb gaal, thanks for the pointer
04:38 gaal np. i thought that books pay mostly in resume value? :)
04:38 stevan geoffb: IIRC, the book deal is an advance, then royalties once you sell enough to equal the advance
04:38 stevan gaal++ # sooo true
04:39 geoffb stevan, hmmm, interesting.
04:39 stevan geoffb: I may be wrong though, its been a while since I looked. However, that is fairly standard practice in the publishing field
04:39 geoffb Last I recall O'Reilly was doing 10% off the top to the author, but I assume the advance comes directly out of that
04:39 gaal "hi, so what we're going to do in this interview is to get to you know you a bit, then ask you a few questions to see how well you know c" -- "i wrote the book"
04:39 svnbot6 r5179, Stevan++ | Perl6-MetaModel : removed much of the class method and attribute accessors in favor of passing parameters into the normal methods; so $self->get_class_method("foo") is now $self->get_method("foo", for => Class);
04:40 geoffb gaal, heh
04:40 stevan ... and still at +92% coverage :P
04:41 stevan nothingmuch: did you commit the croak stuff?
04:41 * nothingmuch thinks he will release the MockObject scripting thing
04:42 nothingmuch stevan: yes
04:42 stevan hmmm, I am afraid I may have overwritten it.
04:42 stevan sorry
04:43 jdv79 has left "Leaving"
04:43 stevan I will fix it
04:43 nothingmuch odd
04:43 nothingmuch VCS is supposed to let you avoid doing that kind of stuff
04:44 stevan yes, but I was copying over stuff I had done from an svn.perl.org checkout
04:44 stevan like I say, oops ;)
04:44 nothingmuch i'm merging changes
04:45 stevan oh
04:48 nothingmuch okay, pull
04:48 nothingmuch wait.... wtf?! i just fixed this
04:48 nothingmuch has left
04:48 nothingmuch has joined #perl6
04:49 stevan sorry
04:49 stevan I am not used to anyone else working on this :P
04:49 nothingmuch nevermind
04:49 nothingmuch svk is confusing me
04:49 nothingmuch that's not you
04:50 nothingmuch is add_method huge now?
04:50 nothingmuch or about 6 lines?
04:51 mjflick has joined #perl6
04:51 stevan much bigger now
04:52 nothingmuch ok
04:54 nothingmuch hmm
04:54 nothingmuch shit, i broke it
04:54 nothingmuch ugh!
04:55 nothingmuch autrijus: help
04:55 nothingmuch clkao: help
04:56 obra svk issues?
04:56 nothingmuch yep
04:56 nothingmuch i merged badly
04:56 obra what's up?
04:56 nothingmuch it merged a merge with a merge of a merge
04:56 nothingmuch wof a conflict
04:56 nothingmuch and somewhere along the way I screwed up
04:57 nothingmuch s/wof/with/
04:57 obra What's the end result?
04:57 nothingmuch something that fails the tests
04:57 nothingmuch or fails 2 tests
04:57 nothingmuch stevan: are 2 tests supposed to fail?
04:58 nothingmuch subtests
04:58 nothingmuch Failed 2/12 test scripts, 83.33% okay. 2/301 subtests failed, 99.34% okay.
04:58 stevan no
04:58 stevan they all pass
04:58 * nothingmuch grunts with dissatisfaction
04:58 stevan commit, I will fix it
04:58 nothingmuch this resolution was part of my push
04:58 nothingmuch so i think it was comitted
04:59 nothingmuch but i'm not 100% sure
05:02 stevan fixed it
05:02 stevan commiting now
05:02 nothingmuch did I commit?
05:02 stevan I dont know
05:02 nothingmuch hah
05:02 stevan but there was 2 broken tests
05:03 stevan ok
05:03 stevan it should be there now
05:03 stevan oh wait
05:03 stevan wow, you really did make a mess :P
05:04 nothingmuch sorry =(
05:04 svnbot6 r5182, Stevan++ | Perl6::MetaModel - fixing the broken tests; it was my fault, sorry nothingmuch :)
05:05 stevan no, it was my fault, but  your merge was really weird too
05:05 nothingmuch what was weird?
05:05 gaal autrijus, ping
05:07 stevan nothingmuch: the *_class_method methods were back again
05:07 stevan I just took them out though
05:08 stevan ok bedtime for me, adios all &
05:08 gaal bye stevan
05:09 geoffb g'night, stevan
05:09 luqui has quit IRC (Remote closed the connection)
05:09 nothingmuch adios stevan
05:09 nothingmuch sorry
05:26 * mugwump grrs at /usr/lib/perl/5.8/CORE/reentr.h:611: error: field `_crypt_struct' has incomplete type
05:26 vcv- has quit IRC (Read error: 131 (Connection reset by peer))
05:26 svnbot6 r5183, Stevan++ | Perl6-MetaModel : removing the old class methods from a bad merge
05:27 gaal oh, mugwump, that's very grrrable :-(
05:27 lucs has quit IRC ("...")
05:27 mugwump no clues yet I assume
05:28 gaal what platform? on linux it wokedforme only after everything was built from the same perl
05:28 gaal iirc on windows i couldn't get it to work
05:28 gaal but not remembering seems to be proof that i needed to repress this.... coution, there be dragons
05:29 * mugwump removes the local perl from his $PATH etc
05:37 QtPlatypus ?eval "Am I still dead?"
05:37 evalbot6 'Am I still dead?'
05:38 QtPlatypus ?eval sub foo ($bar) { sub ($baz) { $baz ~ $baz } }; foo(
05:39 evalbot6 Error:  unexpected "f" expecting ";", statements or end of input
05:39 QtPlatypus ?eval sub foo ($bar) { sub ($baz) { $baz ~ $bar } }; foo("bar")("baz")
05:39 evalbot6 'bazbar'
05:39 QtPlatypus ?eval sub foo ($bar) { sub ($baz) returns Str { $baz ~ $bar } }; foo("bar")("baz")
05:39 evalbot6 Error:  unexpected "r" expecting block
05:50 egg has joined #perl6
05:51 gaal http://perlcabal.org/~gaal/smoke_xp.html # r5179, 18 yellows!
05:52 * gaal must go to $work
05:58 * egg $echo ${work}?
06:05 egg Does Parrot beat Pugs?
06:06 obra Nope.
06:06 obra Parrot and Pugs are friends.
06:06 egg O_O whay?
06:07 egg s/whay/why/
06:07 QtPlatypus Pugs can compile to Parrot.
06:09 QtPlatypus In time Pugs will be powerfull enought to compile everything to Parrot.
06:09 egg I meant [performance] ...
06:09 QtPlatypus Oh, yes when code is compiled to parrot it goes about 100x faster.
06:09 egg so pugs is a new language?
06:10 QtPlatypus Nope, pugs is an implementation of Perl6.
06:10 egg strange
06:10 QtPlatypus Not realy.
06:10 QtPlatypus gcc is not a new lanague.  c is the lanugage.
06:10 Khisanth what is so strange about a compiler?
06:10 egg by functional language?
06:11 QtPlatypus egg: I don't  understand what you mean could you write it in anouther way.
06:12 egg parrot vm <-> pugs's perl6    Which is faster?
06:12 Khisanth pugs can emit PIR
06:16 QtPlatypus Pugs has two parts, a backend and a frount end.  The frount end compiles, and then can use meany backends to run what the frount end could compile.  Pugs has its own backend which is slower then using Parrot.
06:16 egg Is Parrot stack-machine based? (like java?)
06:16 QtPlatypus egg: No its regester based.
06:17 egg O-O
06:19 egg why not  Lisp-like vm?
06:19 egg or stack-machine vm ...
06:20 obra www.parrotcode.org
06:20 obra read the faq
06:20 egg I did
06:20 obra Doesn't that cover why they built a register-based VM?
06:21 egg umm
06:21 egg I cannot find that
06:21 obra #parrot on irc.perl.org may be a better place to ask questions about parrot's design
06:21 egg oh,thanks
06:21 egg let me try ^_^
06:22 egg (perl6 channel?)
06:22 egg ...
06:22 egg has left
06:26 Khisanth hrm it's right there! above reference counting
06:26 * QtPlatypus thinks that egg was lieing about reading the FAQ
06:27 * QtPlatypus wishes that the parser was more sensable about telling you where the error was.
06:27 Khisanth where is the fun in that?
06:27 bloves has left
06:29 Daniel_Nee has left
06:29 QtPlatypus Khisanth: Its alot more fun then having to comment out everything and then pairing back the comments untill something causes the error that is marked as being serval lines up.
06:30 iblechbot has joined #perl6
06:30 Khisanth no debugger?
06:31 QtPlatypus There is a debugger for pugs?
06:32 Khisanth I guess #haskell would know :)
06:34 Aankhen`` has joined #perl6
06:40 gaal|work has joined #perl6
06:48 Darren_Duncan fyi, result of 'make test' on r5178 is (18 subtests UNEXPECTEDLY SUCCEEDED) (855 subtests TODO), 400 subtests skipped.
06:48 Darren_Duncan Failed 32/351 test scripts, 90.88% okay. 94/6168 subtests failed, 98.48% okay.
06:49 Darren_Duncan if anyone wants a list broken down by test, say so and I'll nopaste it
06:49 Aankhen`` It seems to be building a lot slower this morning. o_O
06:54 gaal|work D_D, see also prelcabal.org/~gaal/
06:55 larsen has joined #perl6
07:07 sapper has joined #perl6
07:09 vcv- has joined #perl6
07:13 * Aankhen`` pokes sri_.
07:14 Nattfodd has joined #perl6
07:26 svnbot6 r5184, Aankhen++ | * HTTP::Message -- fixed signature for &content.
07:33 Daniel_Nee has joined #perl6
07:33 svnbot6 r5185, mugwump++ | test numifying floats with leading 0's
07:33 svnbot6 r5186, mugwump++ | test for rounding behaviour of sprintf
07:33 svnbot6 r5189, mugwump++ | Generate random dates in ISO form and test for correct parsing - debug cut (comment laden)
07:33 svnbot6 r5190, mugwump++ | Run whole test, disable debug output
07:37 Darren_Duncan has left
07:38 sapper has quit IRC ("bye")
07:38 elmex has joined #perl6
07:39 egg has joined #perl6
07:46 Daniel_Nee has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.2/20050317]")
07:49 Aankhen`` ?eval 42
07:49 evalbot6 42
07:49 Aankhen`` ?eval $?PUGS_VERSION
07:49 evalbot6 \'Perl6 User\'s Golfing System, version 6.2.7, June 13, 2005 (r5190)'
07:50 Aankhen`` ?eval "42".eval
07:50 evalbot6 42
07:51 Aankhen`` ?eval 1 as Str
07:51 evalbot6 Error:  unexpected "a" expecting operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
07:51 Enveigler has joined #perl6
07:52 Aankhen`` ?eval my $foo = 1 as Str
07:52 evalbot6 Error:  unexpected "a" expecting operator, ";" or end of input
07:52 Aankhen`` ?eval my Int $foo = 1 as Str
07:52 evalbot6 Error:  unexpected "a" expecting operator, ";" or end of input
07:52 Aankhen`` ?eval my Int $foo = "abcd" as Str
07:52 evalbot6 Error:  unexpected "a" expecting operator, ";" or end of input
07:52 Aankhen`` ?eval "bah"
07:52 evalbot6 'bah'
07:53 QtPlatypus Looks like eval bot doesn't know about as
07:53 Aankhen`` Yep.
07:53 egg as vb?
07:54 Nattfodd ?eval my Bot $dummybot = "evalbot" as IntelligentBot
07:54 evalbot6 Error:  unexpected "a" expecting operator, ";" or end of input
07:54 Nattfodd definitely not :)
07:54 Aankhen`` Hehe.
07:55 Enveigler has quit IRC (Read error: 54 (Connection reset by peer))
08:05 hugues23 has joined #perl6
08:05 osfameron has joined #perl6
08:07 QtPlatypus pugs hasn't implemented <<
08:08 QtPlatypus pugs hasn't implemented binary << and >>
08:10 dmo has joined #perl6
08:10 Enveigler has joined #perl6
08:18 jql ?eval 1 << 2
08:18 evalbot6 Error:  unexpected "<" expecting operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
08:19 gaal|work ?eval 1 +<< 2
08:19 evalbot6 Error:  unexpected "<" or "+" expecting operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
08:19 jql ?eval &infiix:<+<>(1, 2)
08:19 Aragone is now known as Arathorn
08:19 evalbot6 Error:  unexpected ":" expecting word character, "::", term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
08:20 jql ?eval &infix:<+<>(1, 2)
08:20 evalbot6 4
08:20 jql hey
08:20 jql good bot
08:20 jql ?eval 1 +< 20
08:20 evalbot6 1048576
08:20 * jql praises evalbot6
08:21 jql ?eval "foo" ~< 10
08:21 * jql had to try
08:21 evalbot6 '
08:22 jql umm... that was just great.
08:24 Aankhen`` If I have a BUILD submethod in a subclass, do I need to explicitly call SUPER::BUILD?
08:24 jql no
08:24 Aankhen`` BUILDALL calls that, right?
08:25 jql yes. they get auto-called following the NEXT tree or some such
08:25 Aankhen`` Apparently so.  Remind me to finish reading the tabs I open before asking.
08:25 jql ?eval "fox" ~| "baz"
08:25 evalbot6 'foz'
08:25 jql this is gonna be a fun language
08:27 Aankhen`` Heh.
08:29 QtPlatypus << has been renamed +< ?
08:29 jql it has
08:29 jql delimits texas quotes now
08:30 Aankhen`` ?eval class Foo { method blub () { "Foo" } } class Bar { method blub () { "Bar" } method baz () { $_ = Foo.new(); .blub(); } } Bar.new().blub()
08:30 evalbot6 'Bar'
08:30 QtPlatypus E03 needs updating then.
08:30 Aankhen`` ?eval class Foo { method blub () { "Foo" } } class Bar { method blub () { "Bar" } method baz () { $?SELF = Foo.new(); .blub(); } } Bar.new().blub()
08:30 evalbot6 'Bar'
08:30 Aankhen`` QtPlatypus >> Look at the synopses.
08:30 Aankhen`` ?eval class Foo { method blub () { "Foo" } } class Bar { method blub () { "Bar" } method baz () { $?SELF = Foo.new(); .blub(); } } Bar.new().baz()
08:30 evalbot6 Error: Can't modify constant item: VObject (MkObject {objType = (mkType "Bar"), objAttrs = <ref>, objOpaque = Nothing, objId = 60})
08:30 Aankhen`` ?eval class Foo { method blub () { "Foo" } } class Bar { method blub () { "Bar" } method baz () { $_ = Foo.new(); .blub(); } } Bar.new().baz()
08:30 evalbot6 Error: Can't modify constant item: VObject (MkObject {objType = (mkType "Bar"), objAttrs = <ref>, objOpaque = Nothing, objId = 60})
08:30 Aankhen`` Bah.
08:31 Aankhen`` ?eval class Foo { method blub () { "Foo" } } class Bar { method blub () { "Bar" } method baz () { given (Foo.new()) { .blub(); } } } Bar.new().baz()
08:31 evalbot6 Error:  unexpected "{" expecting operator, ",", ":", term postfix, postfix conditional, postfix loop, postfix iteration, ";" or "}"
08:32 Aankhen`` ?eval class Foo { method blub () { "Foo" } } class Bar { method blub () { "Bar" } method baz () { my $foo = Foo.new(); given ($foo) { .blub(); } } } Bar.new().baz()
08:32 evalbot6 'Foo'
08:32 Aankhen`` Ah.
08:33 jql that was bizzare
08:33 gaal|work wow, what a beautiful patch hunk:
08:33 Aankhen`` Sorry for the spam!
08:33 gaal|work -plan 21;
08:33 gaal|work +plan 301;
08:33 Aankhen`` :-o
08:33 jql why did that given(Foo.new()) misparse?
08:33 Aankhen`` I dunno.
08:34 jql ?eval given (Int.new(10)) { say; }
08:34 evalbot6 Error:  unexpected "{" expecting operator, ",", ":", term postfix, postfix conditional, postfix loop, postfix iteration, ";" or end of input
08:34 Aankhen`` ?eval class Foo { method bar () { "bar" } }; given (Foo.new().bar()) { .uc() }
08:34 evalbot6 Error: No compatible subroutine found: "&given"
08:34 jql ?eval given Int.new(10) { say; }
08:34 evalbot6 Error:  unexpected "{" expecting operator, ",", ":", term postfix, postfix conditional, postfix loop, postfix iteration, ";" or end of input
08:34 Aankhen`` ?eval class Foo { method bar () { "bar" } }; given Foo.new().bar() { .uc() }
08:34 evalbot6 Error: No compatible subroutine found: "&given"
08:34 jql ?eval given Int.new(10) -> { say; }
08:34 evalbot6 Error:  unexpected ">" or "-" expecting operator, ",", ":", term postfix, postfix conditional, postfix loop, postfix iteration, ";" or end of input
08:35 Aankhen`` Yowza.
08:35 jql ?eval given 10 ~ 20 -> { say; }
08:35 evalbot6 Error:  unexpected ">" or "-" expecting operator, ">>+|<<", ">>+^<<", ">>~|<<", ">>~^<<", ">>?|<<", ">>+<<", ">>-<<", ">>~<<", "\187+|\171", "\187+^\171", "\187~|\171", "\187~^\171", "\187?|\171", "\187+\171", "\187-\171", "\187~\171", "+|", "+^", "~|", "~^", "?|", "+", end of input, "~", ",", ":", term postfix, postfix conditional, postfix loop, postfix iteration or ";"
08:35 jql well, there's an operator list for Qt
08:35 Nattfodd ouch
08:36 jql these would probably make nice tests. anyone logging this?
08:36 QtPlatypus Thanks jpl
08:36 jql ?eval given 10 ~ 20 { say; }
08:36 evalbot6 Error: No compatible subroutine found: "&say"
08:36 Aankhen`` I could write up the given misparse once I finish what I'm working on.
08:36 jql ?eval given 10 ~ 20 { say $_; }
08:36 evalbot6 Error: No compatible subroutine found: "&say"
08:37 jql ?eval given 10 ~ 20 { $_; }
08:37 evalbot6 \'1020'
08:37 QtPlatypus ?eval my $a=1;$a +< 1; $a
08:37 jql my bad, then
08:37 evalbot6 \1
08:37 QtPlatypus ?eval my $a=1;$a +<= 1; $a
08:37 evalbot6 Error: Can't use readline() or getc() in safemode.
08:37 jql that was interpreted as unary =?
08:37 gaal|work ugh, that's parsing as =1
08:37 jql what happened to magic whitespace?
08:38 jql well, <= is implied +, since ~<= is spelled le
08:38 jql methinks
08:38 gaal|work [off-topic] did adblock stop working for other firefox users besides me?
08:39 jql ?eval my $a = 10; $a +|= 0xdead
08:39 evalbot6 \57007
08:39 QtPlatypus jpl: I was trying to do shift in place.  +<= is to +< as += is to +
08:40 Aankhen`` ?eval sub foo ($bar where { .lc() eq "bar" }) { '$bar is OK' } foo('bar')
08:40 evalbot6 Error:  unexpected "w" expecting trait, ",", ":" or ")"
08:40 jql I know that, and you know that, but Perl1 used <= and lt to mean +<= and ~<=, and we're stuck with it
08:41 egg hi I am back ^_^
08:41 * jql wouldn't mind the synonym, though
08:41 egg what's new?
08:41 egg aye
08:41 egg has left
08:42 * jql ponders if &infix:<le> should be a synonym for &infix:«~<=»
08:43 jql ?eval "foo" ~<= "bar"
08:43 evalbot6 Error: Can't use readline() or getc() in safemode.
08:44 egg has joined #perl6
08:46 egg has quit IRC ()
08:50 Aankhen`` What does &foo.goto do?
08:50 QtPlatypus Aankhen``: Most likely jumps to &foo smashing the current stack.
08:51 Aankhen`` I see.
08:51 QtPlatypus Allows you to do tailcall elimination.
08:55 bsb has joined #perl6
08:55 svnbot6 r5191, Aankhen++ | * added HTTP::Request.
09:12 nothingmuch has quit IRC (Read error: 148 (No route to host))
09:13 jql tailcall elimination is good. :)
09:26 * Aankhen`` goes out.
09:26 Aankhen`` Later.
09:52 dmo_ has joined #perl6
09:52 vcv- has quit IRC (Read error: 104 (Connection reset by peer))
10:02 meppl has joined #perl6
10:05 sili anyone involved with SQL? http://unf.be/~sili/projects/sqlbuilder/sql.html i could really use some feedback
10:05 SM_ax has joined #perl6
10:05 QtPlatypus Where is the normal #perl irc channel?
10:06 osfameron there's a thread on DBIv2 right now, no?
10:06 osfameron QtPlatypus: MAGnet ?
10:06 Juerd QtPlatypus: Everywhere
10:08 _meppl_ has joined #perl6
10:09 dmo has quit IRC (Read error: 111 (Connection refused))
10:10 Enveigler has quit IRC (Read error: 60 (Operation timed out))
10:14 hugues23 has quit IRC ("KVIrc 3.2.0 'Realia'")
10:17 pjcj ... and nowhere, baby
10:19 * osfameron notices there is no spoon
10:24 meppl has quit IRC (Read error: 110 (Connection timed out))
10:30 _meppl_ is now known as meppl
10:32 iblechbot has quit IRC (Read error: 110 (Connection timed out))
10:33 hugues23 has joined #perl6
10:35 bsb has left
10:56 Daniel_Nee has joined #perl6
11:13 hugues23 has quit IRC ("KVIrc 3.2.0 'Realia'")
11:16 mugwump Is there a FreeBSD doctor in the house?
11:19 nnunley has joined #perl6
11:25 vcv has joined #perl6
11:26 Daniel_Nee has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.2/20050317]")
11:27 Arathorn has quit IRC ()
11:32 broquaint has joined #perl6
11:34 castaway dabro!
11:37 broquaint has quit IRC (Remote closed the connection)
11:38 kungfuftr castaway!
11:40 kungfuftr mugwump: oi
11:42 mugwump oh hi kungfuftr
11:43 broquaint has joined #perl6
11:46 castaway kungfuftr!
11:47 Aankhen`` has quit IRC (Read error: 113 (No route to host))
11:52 kungfuftr castaway: congratulations are in order i believe... so... um... congrats!
11:52 * osfameron congratulates castaway for.. er.. whatever it's in order for
11:54 castaway yesindeedy.. and thanks :)
11:57 castaway got a job at Sophos, osfameron
11:58 broquaint Congrats, castaway :)
11:58 * castaway wonders if they really want the references
11:58 castaway ta bro
11:58 kungfuftr castaway: yes
11:58 kungfuftr =0)
11:58 osfameron castaway: ah, well done, where is it?
11:58 castaway fair enough
11:58 kungfuftr castaway: btw, you'll be on my team
12:00 castaway woo :)
12:00 castaway lucky you ,)
12:02 castaway were you looking for me recently for anything in particular?
12:03 kungfuftr castaway: nope, just to congratulate you
12:04 castaway okiedoke then
12:05 kungfuftr castaway: you'll not be going to YAPC::EU then
12:05 * castaway points osfa towards Abingdon, Oxfordshire..
12:06 mauke has joined #perl6
12:08 whitay has joined #perl6
12:09 Aankhen`` has joined #perl6
12:10 osfameron castaway: ah, I seem to remember you wanting to relocate
12:10 osfameron but a quick check showed Sophos offices in Germany as well as UK
12:22 QtPlatypus ?eval chr(17)
12:22 evalbot6 ''
12:22 mugwump ?eval chr(27) ~ "[1Jfoo"
12:22 evalbot6 '[1Jfoo'
12:22 QtPlatypus ?eval chr(17).perl
12:22 evalbot6 '\'\''
12:23 QtPlatypus ?eval chr(43).perl
12:23 evalbot6 '\'+\''
12:24 QtPlatypus ?eval chr(128) ~~ "\x80"
12:24 evalbot6 bool::true
12:25 QtPlatypus ?eval chr(-128) ~~ "\x80"
12:25 mugwump ?eval chr(0x263a)
12:25 evalbot6 pugs: Prelude.chr: bad argument
12:25 evalbot6 '☺'
12:34 QtPlatypus ?eval $*PUGS_REVISION
12:34 evalbot6 \undef
12:35 Aankhen`` ?eval $?PUGS_VERSION
12:35 evalbot6 \'Perl6 User\'s Golfing System, version 6.2.7, June 13, 2005 (r5191)'
12:35 iblechbot has joined #perl6
12:36 meppl has quit IRC (Remote closed the connection)
12:46 egg has joined #perl6
12:56 meppl has joined #perl6
12:59 coral r5191. nice
13:03 mugwump freebsd++  # dvd writer just worked
13:03 kungfuftr freebsd++ # Just Works [tm]
13:04 mugwump and it will only take 2 more hours to finish writing this dvd!  :-|
13:06 Nattfodd gentoo++ # isomorphic to FreeBSD
13:08 Aankhen`` Windows++ # DVD writer worked from day one
13:09 Aankhen`` :-P
13:09 wilx` :)
13:10 mugwump Windows++ # it has no power over me
13:10 wilx` is now known as wilx
13:11 wilx @karma Windows
13:11 egg @@
13:11 wilx @@karma Windows
13:12 wilx @@Windows
13:12 wilx How? :)
13:12 mugwump jabbot, karma Windows?
13:12 jabbot mugwump: Windows? has neutral karma
13:12 mugwump jabbot, karma Windows
13:12 egg what...is...windows?
13:12 jabbot mugwump: Windows has karma of -3
13:12 wilx Oh, those were eyes?!
13:12 wilx I see :)
13:12 wilx Windows++ # :)
13:13 meppl egg, windows is the most used operating system by end-users
13:13 meppl from microsoft
13:13 egg oh, I have a bit windows in my home too
13:14 meppl but pelase try to boycott it  ;)
13:14 osfameron meppl: why?
13:14 egg what?
13:15 meppl windows is bar to us
13:15 mugwump Do not blindly boycott the dark side.  you must learn to understand and resolve your anger, not merely constrain it
13:15 osfameron zigackly
13:15 egg foo or bar ?
13:15 osfameron not to mention the fact that if you care about perl6 being actually, um, used by anyone
13:16 osfameron it might help for it to run on Windows.
13:16 meppl bar
13:16 mugwump the users of Windows must support Perl 6 running on Windows.
13:16 egg Is perl6 out?
13:16 egg mugwump, why?
13:16 osfameron mugwump: sure, I'm not expecting Linux/Apple users to flock to the cause
13:16 mugwump because this is a volunteer project ;)
13:17 osfameron but making sarcastic discouraging noises about Windows users is pretty silly
13:17 mugwump there is the PxPerl distribution, that is out now
13:17 osfameron (perl community)-- # irritatingly and smugly anti-windows in general
13:17 meppl microsoft is against good standards, against almost all people doing in freenode
13:17 osfameron mugwump: yes, for which pixigreg++
13:18 mugwump no more silly than making disparaging remarks about people who make dispariging remarks  I'll add
13:18 egg meppl, really?
13:18 osfameron heh, mibby
13:19 egg mugwump, py...thon?
13:20 meppl egg, yes ;)
13:20 egg (snake is everywhere... -_-)
13:21 egg snake = evil
13:21 mugwump please.  this is perl 6.  write:  $snake ::= $evil
13:22 egg O_O!!!
13:22 coral or a grammer that lets you say snake = evil
13:22 egg $$$$$$$$$$ ... so I hate Perl
13:22 coral er, grammar
13:22 egg shell-script too
13:23 egg python syntax ... long long long
13:24 egg I preper C++
13:24 QtPlatypus Pugs's doesn't have an equiverlent of "use bytes" yet does it?
13:24 meppl perl is the real advanced language - other languages like python or ruby are for newbies and kids :o)      *duck
13:24 wolverian syntax-wise I think I like ruby best.
13:24 * coral dodges and weaves through the licking fires
13:24 Nattfodd meppl: s/perl/lisp/ :)
13:25 wolverian but after CPAN you realise syntax really doesn't matter that much.
13:25 egg meppl, oh, it IS.
13:25 coral 11 A.C.
13:25 coral Meta
13:25 osfameron wolverian: this is why it doesn't matter that VB's syntax sucks
13:25 osfameron it's just a scripting language for COM (or now .Net)
13:25 * mugwump lights a reefer from a little flame on coral's hair, then stamps out the burning hair
13:26 coral coralflame takes on a whole new meaning
13:27 egg osfameron, oh, Visual Basic is not Basic
13:27 osfameron er.. certainly it's not visual
13:27 egg osfameron, it's M$'s Basic
13:27 coral it's a dialect of a language
13:27 * castaway looks for bacon.
13:28 gaal|work Qt: no, unicode is hardcoded into getch and everything else
13:28 egg M$'s basic,pascal,cobol,c,c++...... etc
13:28 gaal|work it would be grandalicious to have layers and stuff :)
13:29 egg +M$'s java
13:29 QtPlatypus Damn, I'm trying to implement "pack".
13:29 egg QtPlatypus, pack?
13:29 osfameron is pack syntax likely to be same as perl5?
13:30 QtPlatypus osfameron: I see why it wouldn't be any diffrent.
13:30 gaal|work well, a bytes version of the various prims might be useful
13:30 mugwump hmm, dunno.  pack's a bit crufty
13:30 egg (?)
13:30 gaal|work Qt: actually $larry mentioned something
13:30 gaal|work about wanting to rethink it
13:30 osfameron would be nice if it used some of the thinking of rules rejig
13:30 QtPlatypus Arh Ok.
13:31 osfameron (like spacing, named rules etc.)
13:31 * QtPlatypus nods to osfameron.
13:31 egg Perl's .NOT = Perl6 + Parrot?
13:31 QtPlatypus Still I think it would be an interesting exersize.
13:32 mugwump can't you just /me cracks egg
13:32 * mugwump dohs
13:32 egg ...
13:32 * egg said: don't crack me ^_^
13:32 lumi gaal|work: iwpta "lawyers"
13:33 egg s/lawyer/taxer/
13:34 Aankhen`` perlbot karma Windows
13:34 perlbot Windows doesn't have any karma
13:34 Aankhen`` :-o
13:35 egg karma?
13:36 QtPlatypus ?eval 0xFFFFFF
13:36 evalbot6 Code to eval exceeds maximum length limit.
13:37 QtPlatypus ?eval "0xFFFFFF"
13:37 evalbot6 '0xFFFFFF'
13:37 QtPlatypus ?eval "\xFFFFFF"
13:37 evalbot6 pugs: Prelude.chr: bad argument
13:37 egg ?eval 0xFF
13:37 evalbot6 255
13:37 egg grrrr
13:37 egg bad
13:37 * QtPlatypus blinks.
13:38 coral ?eval "\x210F"
13:38 evalbot6 'ℏ'
13:38 coral ?eval "\xFE00"
13:38 egg ranma
13:38 evalbot6 '︀'
13:38 egg ranma
13:38 coral irssi shows nulls; interesting to know.
13:39 QtPlatypus ?eval "\xFFFF"
13:39 evalbot6 'ï¿¿'
13:39 egg ranma too
13:39 QtPlatypus Good, pugs will allow you to generate illegal Unicode
13:40 egg so?
13:40 castaway mine is showing weird junk ,) (irssi that is)
13:40 egg me too
13:40 coral like ??D?O
13:41 QtPlatypus I'm seeing weard junk as well.
13:41 castaway heh
13:41 castaway utf8--
13:41 egg I am on UTF-8 ^_^
13:41 coral hmm
13:41 egg totally ranma
13:41 coral ?eval "\x201E"
13:41 evalbot6 '„'
13:41 egg ranma
13:41 castaway wtf is "ranma"?
13:41 coral wow, that's impressive. i made it worse. back to not messing with irssi.
13:42 coral a cartoon or apparently slang?
13:42 egg oh, it is chinese
13:42 egg ran-ma
13:43 Aankhen`` Ranma is a strange anime series, AFAIK...
13:43 * castaway looks at egg.
13:43 osfameron is that the gender-changing panda one?
13:43 QtPlatypus osfameron: Yes
13:43 * egg said: don't look at me plz ^_^
13:44 * osfameron generally dislikes anime
13:44 Aankhen`` I generally like anime, but a few series are too weird even for me.
13:45 kungfuftr can someone type in a utf8 character on screen? (testing console)
13:45 cognominal_ ? say 'a' ~~ m/(.)/
13:45 cognominal_ ?eval  say 'a' ~~ m/(.)/
13:46 evalbot6 Error: No compatible subroutine found: "&say"
13:46 castaway try those funky evals?
13:46 Aankhen`` ?eval class Foo { submethod BUILD (+$.foo, +$.bar) { say "Foo::BUILD()"; } } class Bar { is Foo; submethod BUILD (+$.baz) { say "Bar::BUILD()"; } } my $bar = Bar.new();
13:46 evalbot6 Error: No compatible subroutine found: "&say"
13:46 cognominal_ ?eval  say 'a'
13:47 evalbot6 Error: No compatible subroutine found: "&say"
13:47 Aankhen`` ?eval my @temp; class Foo { submethod BUILD (+$.foo, +$.bar) { push @temp, "Foo::BUILD()"; } } class Bar { is Foo; submethod BUILD (+$.baz) { push @temp, "Bar::BUILD()"; } } my $bar = Bar.new(); @temp
13:47 evalbot6 ['Foo::BUILD()', 'Bar::BUILD()']
13:47 Aankhen`` ?eval my @temp; class Foo { submethod BUILD (+$.foo, +$.bar) { push @temp, "Foo::BUILD()"; } } class Bar { is Foo; submethod BUILD (+$.baz) { push @temp, "Bar::BUILD()"; } } my $bar = Bar.new(); push @temp, $bar.foo; @temp
13:47 evalbot6 Error: No compatible subroutine found: "&foo"
13:47 egg aye... bad toy
13:48 Aankhen`` ?eval my @temp; class Foo { submethod BUILD (+$.foo, +$.bar) { push @temp, "Foo::BUILD($.foo, $.bar)"; } } class Bar { is Foo; submethod BUILD (+$.baz) { push @temp, "Bar::BUILD($.baz)"; } } my $bar = Bar.new(baz => "BAZ"); push @temp, $bar.foo; @temp
13:48 evalbot6 Error: No compatible subroutine found: "&foo"
13:48 Aankhen`` ?eval my @temp; class Foo { submethod BUILD (+$.foo, +$.bar) { push @temp, "Foo::BUILD($.foo, $.bar)"; } } class Bar { is Foo; submethod BUILD (+$.baz) { push @temp, "Bar::BUILD($.baz)"; } } my $bar = Bar.new(baz => "BAZ"); @temp
13:48 evalbot6 ['Foo::BUILD(, )', 'Bar::BUILD(BAZ)']
13:48 egg has left
13:48 Aankhen`` Ah.
13:48 gaal|work what happened to evalbot's safe_say?
13:48 Aankhen`` ?eval safe_say "foo"
13:48 evalbot6 Error: No compatible subroutine found: "&safe_say"
13:48 Aankhen`` It died.
13:48 gaal|work urr, no it was supposed to be installed transparently.
13:49 Aankhen`` Apparently it wasn't.
13:49 gaal|work well it *was*, but it b0rk.
13:52 Aankhen`` Awww.
13:56 Aankhen`` I think my understanding of objection creation and initialisation is a little confused.
14:03 SM_ax has quit IRC ("ChatZilla 0.9.61 [Mozilla rv:1.7.8/20050513]")
14:03 svnbot6 r5192, Aankhen++ | * fixed signature for HTTP::Request::BUILD.
14:03 svnbot6 r5193, Aankhen++ | * un-"fixed" signature for HTTP::Request::BUILD.
14:03 svnbot6 r5194, Aankhen++ | * HTTP::Request -- `parse` method needs to be able to alter $str.
14:10 jhorwitz has joined #perl6
14:23 Aankhen`` What is the syntax for heredocs?
14:23 Aankhen`` And do they work yet?
14:24 Aankhen`` Nevermind, found quoting.t.
14:24 QtPlatypus Yes the work
14:25 QtPlatypus q:to<endname>;
14:25 Aankhen`` Ah, thanks.
14:25 QtPlatypus pugs is slightly wrong.
14:26 Aankhen`` It doesn't seem to be working...
14:26 * QtPlatypus will check the stuff he has done.
14:27 QtPlatypus q:to/end/
14:27 QtPlatypus ...
14:27 QtPlatypus end;
14:28 Aankhen`` Ah.
14:28 Aankhen`` The semi-colon comes at the end, then.
14:28 gaal|work has quit IRC (Read error: 110 (Connection timed out))
14:28 * QtPlatypus nods "Its actually a parsing bug in pugs"
14:28 Aankhen`` OK.
14:28 Aankhen`` Thanks for the help. :-)
14:29 gaal|work has joined #perl6
14:30 QtPlatypus No problem.
14:40 Aankhen`` Do modules still need to return 1?
14:41 wolverian s,1,a true value,
14:41 Aankhen`` OK.
14:41 osfameron I think not, anyway?
14:42 gaal|work i think not, too; and i hope require evaluates to an object representing the module.
14:42 Aankhen`` Bleh, I just added 1 at the end of my module.
14:42 Aankhen`` Oh well, it won't hurt.  Hopefully.
14:42 gaal|work indeed it wouldn't.
14:42 wolverian AES don't mention returning true.
14:43 osfameron I think it's specifically mentioned somewhere that modules don't need to, and that it was a bad decision in the first place
14:43 wolverian right.
14:44 gaal|work there must be an $A++ waiting to be written exploiting this convention. if there hasn't been one already!
14:44 gaal|work $A += require Carp or something.
14:44 Aankhen`` $A++?
14:45 gaal|work http://paris.pm.org/aplusplus.html
14:45 gaal|work like japh, only sicker
14:46 castaway the point, at least with old perls, was that "do" returns the last value/thing in the file, and that was why returning true was useful, I thihnk
14:46 svnbot6 r5195, Aankhen++ | * added HTTP::Response.
14:46 svnbot6 r5196, Aankhen++ | * HTTP::Response -- EOL at EOF, more signature tweaking.
14:46 svnbot6 r5196, Aankhen++ | * Usual SVN properties for ext/libwww-perl/lib/HTTP/Response.pm
14:46 gaal|work sure
14:46 castaway and that carried over to require, iirc
14:46 gaal|work yup
14:46 Aankhen`` Woo... that IS sick.
14:47 castaway - which would lead me to guess/suppose that p6 doesnt need it
14:47 Aankhen`` Doh.
14:47 gaal|work it's so much fun when we're all in violent agreement like that.
14:47 Aankhen`` I said HTTP::Response instead of HTTP::Request.
14:47 castaway well, do can be used to 'read data dumpered file' in
14:47 gaal|work omg, i *did* just accidentally invent a new $A++. where's cognominal?
14:49 gaal|work castaway, well, that's what do FILE / p6 evalfile is for.
14:49 gaal|work you typically don't need @INC+%INC semantics for that kind of hting.
14:49 QtPlatypus In pugs the return value of use seems to be the return value of import.
14:50 castaway gaal|work: I have no clue how p6 relates in some areas.. :)
14:51 * QtPlatypus gets an odd error "*** No compatible subroutine found: "&Pugs::Internals::check_for_io_leak"" Line 1 is a comment.
14:51 svnbot6 r5197, iblech++ | * Usual svn properties added to new files in ext/ and lib/.
14:51 svnbot6 r5197, iblech++ | * t/ -- unTODOs and unEVALs.
14:51 castaway gaal|work: I'm guessing that external modules and do have little in common now, tho?
14:52 gaal|work c, there *is* no do now :)
14:53 castaway sorry.. then what did "do FILE / p6 evalfile" mean?
14:53 gaal|work this is all implemented in Pugs.Prim.Eval, and governed by "EvalStyle"
14:53 Maddingue_ has quit IRC (Read error: 113 (No route to host))
14:53 gaal|work c: the keyword is now called "evalfile"
14:53 castaway ah, ok
14:53 castaway s/do/evalfile/ in last statement then
14:53 gaal|work and in the case of evalfile, the EvalStyle's result is the last evaluated value
14:54 gaal|work like p5 do
14:54 castaway right, but is that bit used to load/parse modules in separate files now?
14:54 Maddingue has joined #perl6
14:55 wolverian io($file).eval # do we really need evalfile?
14:56 gaal|work wolverian: that's indeed what it does - but there is no io() yet :)
14:56 scook0 has quit IRC ("Leaving")
14:56 wolverian (or io($file).slurp.eval, which I think is still better than evalfile, which is just a hateful idiom anyway)
14:56 wolverian gaal|work: right, I'm talking about p6 now, not pugs specifically :)
14:56 * castaway does the Larry have-wavey thing :)
14:56 castaway bah "hand-wavey"
14:57 wolverian for a second I thought you had a Larry and were waving him..
14:57 castaway heh
14:57 gaal|work c: "that bit" is reused a bit; when you are in use, then the result is just assimmilated into the current env
14:57 gaal|work (my turn to handwave :-)
14:57 castaway umm, ok :)
14:58 dmo_ has quit IRC ()
14:58 gaal|work look in src/Pugs/Prim/Eval.hs
14:59 iblech has joined #perl6
14:59 gaal|work note that EvalResultModule is unused
14:59 gaal|work because it isn't blessed in any spec yet
15:01 gaal_work has joined #perl6
15:01 gaal|work has quit IRC (Read error: 104 (Connection reset by peer))
15:01 svnbot6 r5198, iblech++ | t/var/symbolic_deref.t -- Fixed tests and added new tests, gaal++:
15:01 svnbot6 r5198, iblech++ | * my  $x; $::('x')       # should die
15:01 svnbot6 r5198, iblech++ | * our $x; $::('x')       # should work
15:01 svnbot6 r5198, iblech++ | * my  $x; $::('MY::x')   # should work
15:01 gaal_work cool! iblech++
15:01 gaal_work i have a ride home,
15:01 gaal_work bye :) &
15:01 gaal_work has left
15:08 pdcawley_ Ah.. thought for a second that that shouldn't work...
15:08 pdcawley_ %::{'$x'} and %::{'x'} are going to be interesting clashes...
15:09 pdcawley_ Or is that only going to work with %*::{'$x'} ?
15:11 * Aankhen`` goes to take a break from staring at code.
15:22 iblech pdcawley_: IIRC, $::(...) (symbolic dereferentiation) only works with ()s, not with {}s. So $::(foo) is always symbolic deref, while %::{foo} is always hash access
15:27 pdcawley_ iblech: I think we're talking at crossed porpoises. %::{...} is (should be) the symbol table.
15:27 pdcawley_ So 'keys %::' should get you all the names in the current package.
15:28 pdcawley_ %*:: becomes the equivalent of Perl5's %:: or %main::, etc.
15:29 pdcawley_ %*::{/%.*::/} should get you all the loaded packages, etc...
15:31 iblech Yep. I thought you were asking when %::{...} is symbolic deref and when it's hash access: %::('$x') is illegal (not variable named '%$x'), but %::('x') works (evaluates to var '%x')
15:31 pdcawley_ Ah.. gotcha. Misunderstood you twice. I should go down and cool my brane
15:32 iblech ;)
15:33 pdcawley_ Is &?CALLER_CONTINUATION working yet?
15:34 pdcawley_ (Weekly nag.)
15:35 iblech Don't think so...
15:36 saorge has quit IRC ("Leaving")
15:36 pdcawley_ Ah well. I shall mark my calendar for this time next week then.
15:36 saorge has joined #perl6
15:41 gaal rehi
15:41 svnbot6 r5199, iblech++ | t/subroutines/currying.t, t/packages/Test.pm -- Added test for (use ...).assuming(...).
15:42 QtPlatypus pugs doesn't have leave yet.
15:42 QtPlatypus :
15:42 QtPlatypus (
15:43 iblech Yep, but pugs -CPIR has it :) (but not the full leave with its optional params)
15:49 Aankhen`` Optional params?
15:51 iblech Yep, see t/builtins/control_flow/leave.t: There's leave $ret_val and leave $thing_to_leave, $ret_val, where $thing_to_leave can either be a Code reference or a Class (like Sub, or Block)
15:52 Aankhen`` Cool.
15:53 Aankhen`` Bah, I still don't understand continuations properly.
15:55 Tegelane has joined #perl6
15:55 svnbot6 r5200, fireartist++ | * more oo construction tests
15:55 svnbot6 r5200, fireartist++ | * usual SVN properties for AUTHORS
16:12 cwest So, (not p6 specific but I know you'll know).. .I'm reading the YAML spec (skipping straight to the grammar) and I'm just wondering why it's filled with identifiers that begin with a double bang (!!).
16:12 vcv has quit IRC (Read error: 104 (Connection reset by peer))
16:14 broquaint Because it's an angry spec!
16:15 cwest heh
16:17 * cwest wonders how syck handles un-identified streams...
16:19 broquaint Looks like shorthand notation: http://yaml.org/spec/current.html#tag%20shorthand/
16:20 broquaint As referenced in the last paragraph of Chapter 4. Syntax: http://yaml.org/spec/current.html#id2512702
16:30 cwest ah, cool
16:31 Darren_Duncan has joined #perl6
16:31 cwest I was almost there.
16:34 Maddingue is now known as Maddingue_
16:36 cwest defining data types.... ugh
16:37 cwest Can't everything just be a string? ;-)
16:41 broquaint Any does String.
16:47 Aankhen`` Parse error: expected method name after "."
16:47 svnbot6 r5201, Aankhen++ | * ChangeLog: edited; added note about 01Overview.kwid
16:50 broquaint ?evalbot Any does String
16:50 broquaint ?eval Any does String
16:50 evalbot6 Error: No compatible subroutine found: "&Any"
16:50 broquaint Dang.
16:52 gaal wouldn't that be Any.does(String) ? not that it works, but still...
16:53 svnbot6 r5202, Aankhen++ | * HTTP::Message -- fiddled around with the pattern matching a bit.
17:02 Aankhen`` Or maybe: class Any is extended { does String; }
17:02 svnbot6 r5203, Aankhen++ | * fixed silly mistake in HTTP::Request::as_string.
17:02 svnbot6 r5204, Aankhen++ | * fixed silly mistake in HTTP::Response::as_string.
17:02 Aankhen`` (is that C<is augmented> now?)
17:04 wolverian Str, not String, or has that been chaned?
17:04 wolverian s,chaned,changed,
17:04 Aankhen`` Oops, sorry.
17:04 Aankhen`` My bad. :-)
17:08 Aankhen`` ?eval my $foo = "abcd"; undefine($foo)
17:08 evalbot6 undef
17:11 broquaint ?eval undefine(%*::);
17:11 evalbot6 Error: Undeclared variable: "%*::"
17:11 broquaint ?eval $foo='yo'; undefine(%::); $foo
17:11 evalbot6 Error:  unexpected (, "i" or "u" expecting ";", statements or end of input
17:12 iblech %:: is not yet parsed, IIRC
17:12 broquaint Ah. Is there a way to abuse^Waccess the main package yet?
17:14 iblech Hm... there's %MY::, IIRC. Not sure, though
17:14 iblech food &
17:17 broquaint ?eval my $foo = '/aside cackle wildly'; undefined(%MY::); $foo
17:17 evalbot6 Error: Undeclared variable: "%MY::"
17:18 offby1 has joined #perl6
17:18 broquaint Is there anything I can undefine that I didn't already define?
17:18 Limbic_Region has joined #perl6
17:18 Nattfodd has quit IRC ("Leaving")
17:20 offby1 dumb question time: I built "pugs", and ran it like "./pugs".  Then I typed     open("/dev/null")    .  I expected to see something like {filehandle}, but instead it said No compatible subroutine found: "&open".  What obvious thing am I missing?
17:21 wolverian offby1: that means your pugs doesn't implement open()
17:21 offby1 is that unusual?
17:21 offby1 should it implement it?
17:21 wolverian yes, it should. maybe you're suffering from the thing mentioned in the topic
17:22 * offby1 checks
17:23 offby1 well, I don't even know what a "prelude" is, but I'll turn back the clock to r5137 and see what happens.
17:24 Aankhen`` My Pugs appears to implement open.
17:24 wolverian the topic seems to indicate that the latest revisions have fixed the issue
17:24 Maddingue has joined #perl6
17:24 Maddingue has quit IRC (Client Quit)
17:24 offby1 would I expect massive test failures if open were unimplemented?
17:24 wolverian (I don't know if &open is implemented in Prelude, anyway)
17:24 offby1 s/would/ought/
17:25 lightstep has joined #perl6
17:25 Maddingue has joined #perl6
17:25 dudley it is in Prelude, and it does cause massive test failures.
17:25 gaal wolverian: it is.
17:25 offby1 hokey
17:25 gaal but the prelude is in now.
17:25 wolverian thanks :)
17:26 * offby1 is embarrassed to report that, now that he thinks about it, he _did_ ignore massive test failures last time he built.  Ahem.
17:26 gaal dudley: if you svn up your tests should pass.
17:26 dudley s/does/did/
17:26 gaal it's just reverted to it's "eval" behavior, which is slow.
17:27 gaal s:2nd/it's/its/
17:27 dudley gaal: I haven't been able to build a new pugs lately. GHC is a rather slow compile ;-)
17:27 gaal dudley, do you know about 'make unoptimized'?
17:28 gaal much faster compilation... much slower pugs :)
17:28 dudley gaal: No, I meant I was building ghc itself :)
17:28 gaal oi oi oi ouch
17:30 Aankhen`` Why?
17:30 Aankhen`` No binary builds available for your system?
17:31 Aankhen`` Argh.
17:31 broquaint has quit IRC ("Chatzilla 0.9.68.5 [Firefox 1.0.4/20050511]")
17:31 Aankhen`` I just lost a 7 or 8 line commit message. :-\
17:32 wolverian how?
17:32 dudley Aankhen``: I've been using the .dmg version on osx, but I couldn't get hs-plugins to work.
17:32 Aankhen`` wolverian >> Komodo crashed for no apparent reason when I clicked on "OK".
17:32 Aankhen`` dudley >> Ah, I see.
17:33 Aankhen`` Hmm.
17:33 Aankhen`` Strange.
17:33 Aankhen`` Or maybe not.
17:33 Aankhen`` Bleh.
17:33 Aankhen`` Now Komodo's confused.
17:33 offby1 do the pugs developers tags certain releases?
17:34 offby1 s/tags/tag/
17:34 offby1 I _do_ speak English.  Really.
17:35 gaal offby1, i don't think so, but svn log | grep "This be"
17:35 Aankhen`` offby1 >> Lies!
17:36 * offby1 is torn
17:39 * dudley stitches offby1 back together
17:40 lightstep has quit IRC ("gotta break my ssh connection for now")
17:42 svnbot6 r5205, Aankhen++ | HTTP::Message:
17:42 svnbot6 r5205, Aankhen++ | * removed all explicit declarations of invocants for methods.
17:42 svnbot6 r5205, Aankhen++ | * fixed a few `want ~~ Foo` occurrences.
17:42 svnbot6 r5205, Aankhen++ | * removed `:P5` wherever the new form worked.
17:42 svnbot6 r5205, Aankhen++ | * replaced anonymous subs with pointy blocks for consistency.
17:42 svnbot6 r5205, Aankhen++ | * changed all array checks to `@foo > 1` for consistency.
17:42 svnbot6 r5205, Aankhen++ | * (hopefully) fixed &:stale_content.
17:42 svnbot6 r5205, Aankhen++ | * fixed a few outright mistakes.
17:42 castaway busybusybee, Aankhen``
17:43 Aankhen`` It needed a lot of work. :-)
17:43 gaal Aankhen``, it's obviously up to you but consider not dropping :P5 -- it depends on parrot which not everybody can build against.
17:43 Aankhen`` gaal >> I've been using an external Parrot...
17:44 gaal on win32 i haven't seen even that work :(
17:44 offby1 whaddya know: after rebuilding: open ('/dev/null') => {handle: /dev/null}
17:44 offby1 thanks gang
17:44 Aankhen`` Really?  That's strange.  I'm running on Win32 and Parrot has always compiled without any problems.
17:44 gaal it built ok, but pugs didn't work with it (for me)
17:45 Aankhen`` (I just can't link it into Pugs, since apparently that requires MSYS)
17:45 gaal has been a while since i tried though :)
17:45 osfameron has quit IRC ("Leaving")
17:45 Aankhen`` Well, I did consider just leaving :P5 alone, but then I figured since the module won't even compile yet, PGE ought to be a little more reliable by the time it's used. :-)
17:46 gaal :))
17:46 Aankhen`` That might change if someone were to port Time::Local, or an equivalent... *hint hint*
17:48 Chewie[] has quit IRC ("Rebooting")
17:48 svnbot6 r5206, Aankhen++ | * HTTP::Message: removed unnecessary empty import lists.
17:49 Aankhen`` Hmm... I appear to have a circular dependency here.
17:49 Aankhen`` HTTP::Message `use`s HTTP::Request and HTTP::Response, which in turn use it...
17:50 gaal require instead?
17:50 Aankhen`` Ah, right.
17:50 gaal or factor out to HTTP::Common
17:51 Aankhen`` Actually, it's not common functionality; it's using specific functionality from each module.
17:51 Aankhen`` I can `require` Request and Response from Message while `use`ing Message from them?
17:52 gaal what's the user liable to bring in?
17:52 Aankhen`` Request or Response.
17:52 Aankhen`` Basically, HTTP::Request and HTTP::Response both inherit from HTTP::Message.
17:52 Aankhen`` So I can just `require` it, right?
17:52 gaal so why does H:M call into either of them?
17:53 gaal i just see line 213
17:53 svnbot6 r5207, Aankhen++ | * HTTP::Response: `use HTTP::Message`.
17:53 gaal where you don't need to have them actually loaded
17:54 Aankhen`` I'm going to `require` all of them.
17:54 gaal i think it's okay for H:M not to use OR require either of H:Req or H:Res
17:54 gaal it doesn't seem to need them.
17:54 Aankhen`` It does need to have the classes available for parsing...
17:55 gaal what do you mean?
17:55 Aankhen`` my $class = ($content ~~ m,^(HTTP/.*)\n,) ?? HTTP::Response :: HTTP::Request;
17:55 Aankhen``        @:parts = $class.parse($content);
17:55 castaway umm, surely it wants dummy methods which it calls in itself, which they overwrite? (not that Ive looked what you're doing, but thats what it sounds like)
17:55 vcv- has joined #perl6
17:55 Aankhen`` If neither one is loaded, where will the `parse` method be found?
17:55 gaal sure, but nobody calls that on a raw H:M object
17:56 gaal you don't instantiate from H:M
17:56 gaal it's an "abstract" base class.
17:56 Aankhen`` Would anything break if they all `require` each other?
17:56 gaal and &parse is an abstract method.
17:56 * theorbtw1 doesn't see why anything would break if they all use each-other either.
17:56 castaway H:M requiring something that descends from it sounds really ick
17:56 theorbtw1 is now known as theorbtwo
17:57 gaal the base class doesn't need to require its children
17:57 Aankhen`` castaway >> That's how it works in the P5 version.
17:57 castaway that doesnt make it less icky ,)
17:57 Aankhen`` OK, I'm just going to leave them all `require`ing each other for now.
17:57 Khisanth hrm wouldn't this be a good time to fix a broken design? ;)
17:57 castaway sounds like it
17:57 Aankhen`` castaway >> You could take a look at ext/libwww-perl/lib/HTTP/Message.pm to see what's going on.
17:57 gaal wait, why *does* H:M define &parse?
17:57 castaway (isnt this where stubs come in?)
17:57 Khisanth or perhaps a designe forced by p5's OOP
17:58 castaway I think the question is more, why does it call it? (or maybe not)
17:58 gaal noooo, i don't understand when that method gets to be called at all
17:58 gaal unless!
17:58 svnbot6 r5208, Aankhen++ | * HTTP::Message, HTTP::Request and HTTP::Response should just `require` each other, not `use`.
17:58 Aankhen`` gaal >> Because it can parse certain types of messages.
17:58 Aankhen`` And it is called by the derived classes.
17:58 gaal the children call SUPER
17:58 gaal but that's okay too
17:59 Aankhen`` See, HTTP::Request and HTTP::Response parse one part of the message (the headers).
17:59 Aankhen`` Then they call SUPER::parse to parse the actual content.
17:59 gaal okay, that's all fine then
17:59 gaal sound even
17:59 Aankhen`` A message may be comprised of multiple parts, and each part may in turn be another HTTP::Request or HTTP::Response.
17:59 gaal and you *still* don't need to require H:Re[q|s]
18:00 Aankhen`` But if they aren't required, how would they exist?  Are they automatically imported when the class method is called?
18:00 gaal one reason why you might *want* to though is if you want to save your user from having to use them both
18:00 castaway why would they not exist? does anyone just create a H:M object?
18:01 Aankhen`` castaway >> Possibly.
18:01 gaal can your user be expected to sometime just want to say "use H:Request" ?
18:01 Aankhen`` gaal >> All the time.
18:01 theorbtwo That explains why Request and Response require Message.
18:01 theorbtwo Why does Message require Request and Response?
18:01 Aankhen`` Hrm.
18:01 Aankhen`` One sec.
18:01 Khisanth nobody has been able to answer that!
18:01 Aankhen`` I need to check something.
18:01 gaal okay; then the user simply never "use H:M" himself
18:02 Khisanth emailing the original author maybe be useful ;)
18:02 gaal uses
18:02 theorbtwo I meant require, not C<require>.
18:02 * castaway looks at H:M
18:02 theorbtwo It doesn't much matter in modules without a sub import.
18:03 Aankhen`` Mmm.
18:03 * Aankhen`` mulls it over.
18:03 gaal in short, you can assume (or even verify if you want) that if H:M has finished initializing, at least one of H::Re[a|s] is loaded.
18:03 gaal and you're perfectly safe.
18:03 Aankhen`` Right.
18:03 Aankhen`` Bye bye requires.
18:04 gaal *Req|Res
18:07 nnunley has quit IRC (No route to host)
18:08 Aankhen`` ?eval 100 <= 101 <= 102
18:08 evalbot6 bool::true
18:08 Aankhen`` ?eval my ($foo, $bar, $baz) = <100 101 102>; $foo < $bar < $baz
18:09 evalbot6 bool::true
18:09 Aankhen`` ?eval my ($foo, $bar, $baz) = <100 101 102>; $foo < $bar > $baz
18:09 evalbot6 bool::false
18:09 Aankhen`` ?eval my ($foo, $bar, $baz) = <100 101 102>; $foo > $bar < $baz
18:09 evalbot6 bool::false
18:09 * castaway isnt sure again currently ,)
18:09 Aankhen`` ?eval my ($foo, $bar, $baz) = <100 101 102>; $foo < $bar < $baz
18:09 evalbot6 bool::true
18:09 Aankhen`` ?eval my ($foo, $bar, $baz) = <100 101 102>; $foo > $bar > $baz
18:09 evalbot6 bool::false
18:09 cwest bot war?
18:09 svnbot6 r5209, Aankhen++ | * HTTP::Message should not require HTTP::Request or HTTP::Response. gaal++ theorbtwo++ castaway++ Khisanth++
18:09 cwest oh, evaluator
18:10 Aankhen`` Sorry, I tend to get something into my head and go on spamming until I figure it out...
18:10 Aankhen`` ?eval module Foo { our $bar = "10"; %OUR::<bar>; }
18:11 evalbot6 \undef
18:11 iblech ?eval my $x; module Foo { our $bar = "10"; $x = %OUR::<bar> } $x
18:11 evalbot6 \undef
18:12 Aankhen`` Hmm.
18:12 * castaway wonders if one can /msg the bot..
18:12 Khisanth no
18:12 Aankhen`` I want to create an export[able|ed] subroutine by binding to `our &foo`.  Is that possible?
18:12 Khisanth at least not the last time I tried
18:13 gaal Aankhen``, i don't know; but the 'is export' trait does work
18:13 iblech autrijus checked in many improvements for qualified name handling, so it might work now
18:13 Aankhen`` (and the best part is, I want to do it through symbolic references, e.g. `&::($name) = { ... }`)
18:13 gaal heh heh heh :)
18:13 Khisanth heh was just wondering why that isn't being used :)
18:14 Aankhen`` I can have `our &foo is export ::= { ... }`?
18:14 castaway anyway, the request/response thing, looking at the p5 versions anyway.. the code makes me suppose that at that point, it is trying to parse incoming data from a socket, and since it doesnt know whether the data is a request or a response at the time, it loads a bare H:M, and requires/changes to the correct sort on the fly
18:14 Limbic_Region has quit IRC ("leafChat IRC client: http://www.leafdigital.com/Software/leafChat/")
18:14 castaway (But I cant see anywhere where that "parts" sub is being called by anything, so Im kinda confused)
18:14 Khisanth sub foo is export {} isn't it?
18:14 gaal c: why doesn't it rebless it then? (or does it perhaps?)
18:14 Aankhen`` Khisanth >> Yes, but I have to use binding since the names are dynamic.
18:15 Aankhen`` (and I don't want to use `eval` if I can help it)
18:15 castaway good question
18:16 Aankhen`` gaal >> It's parsing parts of the whole, and it may have to use different methods of parsing for different parts.
18:16 gaal a whole what? HTTP conversation? interesting.
18:16 Aankhen`` ?eval my %foo = (:bar<baz> :quux<too>); %foo
18:16 evalbot6 Error:  unexpected ":" expecting term postfix, operator or ")"
18:16 Aankhen`` gaal >> A whole HTTP::Message. :-)
18:16 gaal ....though each chunk is definitely either a response or a request
18:16 Aankhen`` No.
18:17 Aankhen`` They're MIME chunks.
18:17 gaal ahh
18:17 Aankhen`` Arbitrary chunks of data.
18:17 Aankhen`` ?eval my %foo = (bar => 'baz', quux => 'too'); for %foo -> $k is rw, $v is rw { ($k .= uc; $v .= uc; } %foo
18:17 evalbot6 Error:  unexpected "f" expecting ";", statements or end of input reserved word
18:18 * castaway boggles
18:18 Aankhen`` ?eval my %foo = (bar => 'baz', quux => 'too'); for %foo.kv -> $k is rw, $v is rw { ($k .= uc; $v .= uc; } %foo
18:18 evalbot6 Error:  unexpected "f" expecting ";", statements or end of input reserved word
18:18 Aankhen`` ?eval my %foo = (bar => 'baz', quux => 'too'); for %foo.kv -> $k, $v { ($k .= uc; $v .= uc; } %foo
18:18 evalbot6 Error:  unexpected "f" expecting ";", statements or end of input reserved word
18:18 Aankhen`` Wha?
18:18 Aankhen`` Ohh.
18:18 meppl has quit IRC (Remote closed the connection)
18:18 Aankhen`` ?eval my %foo = (bar => 'baz', quux => 'too'); for %foo.kv -> $k is rw, $v is rw { $k .= uc; $v .= uc; } %foo
18:18 evalbot6 Error: Can't modify constant item: VStr "bar"
18:18 Aankhen`` :-\
18:19 Khisanth $k.uc?
18:19 Aankhen`` ?eval my %foo = (bar => 'baz', quux => 'too'); for %foo.kv -> $k is rw, $v is rw { $k = $k.uc; $v = $v.uc; } %foo
18:19 evalbot6 Error: Can't modify constant item: VStr "bar"
18:21 Aankhen`` Could someone point me to a Synopsis which discusses symbolic dereferencing?
18:22 dmo has joined #perl6
18:22 Aankhen`` I want to know if I can use `our &::RC_($foo)`.
18:23 gaal s02, no?
18:23 Aankhen`` ?eval our $foo is random_trait;
18:23 evalbot6 undef
18:24 gaal only i'm not sure how you could say our on something that's computed
18:24 gaal because our needs to happen at compile time
18:24 Aankhen`` Using ::=?
18:24 Aankhen`` our &::RC_($message) is export(:DEFAULT) ::= sub () { $code };
18:25 Khisanth Aankhen``: what are you working on that contains this many unknowns?
18:25 Aankhen`` HTTP::Status.
18:25 Aankhen`` It can be done using `eval`, but like I said, I want to avoid that.
18:25 gaal &::("RC_" ~ $message)   ?
18:26 gaal &::(<<RC_{$message}>>)    ?
18:27 Aankhen`` The former will work (dunno about the latter).
18:27 Aankhen`` $::($foo)::Bar::baz # $Foo::Bar::baz
18:27 Aankhen`` There doesn't seem to be anything about having dynamic parts of the same package, rather than seperate dynamic packages.
18:27 gaal if A will work, B will, also.
18:27 Aankhen`` Oh yeah, sorry, I didn't really comprehend it.
18:28 gaal that dynamic stuff makes my head hurt a bit :)
18:28 Aankhen`` Heh.
18:28 Aankhen`` It would be neat if it worked. ^_^
18:28 gaal dynamic packages that is
18:29 gaal there was a bit where larry mentioned lexical vs dynamic vs inner vs outer packages and... kablooie
18:29 Aankhen`` Ow.
18:29 Khisanth bleh perl6 provides no better solution for this type of thing besides the same old kludges?
18:29 gaal ah, it's right there after that block.
18:30 Aankhen`` gaal >> S02? That bit seems clear enough to me...
18:30 gaal Khisanth, why kludges? you really want symbolic lookups, you have them
18:30 gaal how else woudl you express 'em?
18:30 Aankhen`` I like the new syntax for symbolic lookups.
18:30 Aankhen`` It looks a lot cleaner. :-)
18:31 gaal "Package names are searched for from inner lexical scopes to outer, then from inner packages to outer" - what's an inner package?
18:31 Aankhen`` module Foo { module Bar { ... } }
18:31 Aankhen`` Bar is the inner package.
18:32 gaal okay; what about the distinction against scopes?
18:32 Aankhen`` { say "Outer lexical scope"; { say "Inner lexical scope" } }
18:32 wolverian Aankhen``: you mean 'my module'? surely modules are global by default?
18:32 Aankhen`` wolverian >> Not that I know of...
18:33 wolverian Aankhen``: okay then. :)
18:33 nnunley has joined #perl6
18:34 gaal but note that it says *packages* are searched for from inner lexical scope outwards
18:34 gaal so what's the distinction?
18:34 Aankhen`` One sec, I will try to pastebin it.
18:34 wolverian gaal: distinction between?
18:35 gaal "inner lexical scope" and "inner packages"
18:35 gaal what's an inner package if not a package defined within the lexical scope of another one?
18:36 meppl has joined #perl6
18:36 egg has joined #perl6
18:36 wolverian gaal: I assume it means a package that is put into the lexical scope, and I assume you need to do 'my package' to do that
18:36 wolverian gaal: like you have to do with subs
18:37 pasteling "Aankhen``" at 203.101.0.48 pasted "Inner vs. outer package vs. lexical scopes" (14 lines, 265B) at http://sial.org/pbot/11519
18:37 Aankhen`` I thought that was fairly straightforward. :-S
18:37 gaal no, $::() doesn't look for lexical vars unless you say MY
18:38 gaal and then it looks *only* for lexicals
18:38 gaal if i understand correctly.
18:38 Aankhen`` I thought it said it looks first in the inner lexical scopes...
18:38 Aankhen`` "Package names are searched for from inner lexical scopes to outer, then from inner packages to outer."
18:39 gaal for the _package name_
18:39 Aankhen`` Oh.
18:39 Aankhen`` Package names, not lexical variables... right.
18:39 * Aankhen`` is blissfully ignorant.
18:40 gaal which is kinda anticlimatic if it just means that in your nopasted example, the current package is Bar! :)
18:40 Aankhen`` Heh.
18:41 gaal bbiab
18:41 autarch has joined #perl6
18:42 autarch Is it kosher to ask language/syntax questions here?
18:42 autarch of course it's moot if no one else is around ;)
18:43 Aankhen`` Go ahead and ask.  Someone will answer if they know.
18:43 Khisanth they went into hiding when you entered :)
18:43 autarch no doubt
18:43 Aankhen`` $::($foobar)baz     # ILLEGAL at compile time (no operator baz)
18:43 autarch just wondering if this will be allowed ...
18:43 Aankhen`` I think that means your version is the correct one, gaal.
18:43 autarch has Int $.day where { Date.day_is_valid_for_month( $.year, $.month ) }
18:44 autarch cause that would totally rock
18:44 autarch if it is valid it's not clear how the new value of $.day would be passed in
18:44 Aankhen`` autarch >> You'd pass in the new value by assigning to it as usual, and if the closure doesn't return true, it will raise an exception (i.e. die horribly).
18:45 autarch So it'd be available as $.day ?
18:45 Aankhen`` Yes.
18:45 autarch ah, so sweet
18:45 Aankhen`` Er.
18:45 Aankhen`` You'd need "is rw" on it too.
18:45 Aankhen`` has Int $.day is rw where { Date.day_is_valid_for_month( $.year, $.month ) };
18:45 autarch ah, right
18:45 Aankhen`` (not sure about the order)
18:45 autarch that's a good point, since I'm not sure I even want to expose those as rw
18:46 autarch but the whole concept is still very cool
18:47 autarch finally decent parameter validation built in
18:47 Aankhen`` Heh.
18:47 Aankhen`` It's all thanks to subtypes, AFAICT.
18:47 Aankhen`` The `where` clause creates an anonymous subtype.
18:47 autarch yeah
18:47 autarch subtypes are very nice
18:47 Aankhen`` Yep.
18:48 autarch I'm a big fan of strict validation (err, no surprise from my CPAN modules) so having it built in is going to be great
18:48 svnbot6 r5210, Aankhen++ | * added HTTP::Status.
18:49 Aankhen`` I am a big fan of being explicit about everything -- which is why people sometimes wonder why I use Perl -- and so proper signatures are the coolest addition from my POV. :-)
18:49 Aankhen`` BRB. &
18:50 Khisanth because with Perl, although you can be explicit, you don't have to be all the time :)
18:50 autarch right
18:51 autarch and it still makes it easier to do stuff than a language like Java, where you have to be explicit _and_ tedious
18:51 iblech Hm... I think you'd have to use $_ here: has Int $.day where { Date.day_is_valid_for_month($.year, $.month, $_) } -- because otherwise &Date::day_is_valid_for_month won't know the day to check ($_ is the new candidate value)
18:51 autarch With Perl you can be explicit without being painfully tedious, and I'm thinking with Perl6 you can really raise the bar
18:51 autarch iblech: ok
18:52 autarch Another q: Will this work and is it stylistically "good":
18:52 autarch my $date = Date.new( :today );
18:53 Aankhen`` Back.
18:54 Aankhen`` autarch >> That is the same as: my $date = Date.new(today => undef);
18:54 Aankhen`` Is that what you want?
18:54 autarch well, I'd like a way to pass in a string but make it look like something that's not an arbitrary string
18:54 autarch maybe I should just export some constants or something
18:54 Aankhen`` I'm sorry, I'm not really following you.
18:55 autarch Basically, i want to overload the constructor so I can do a variety of things like "Date.new(:epoch => time)" or "Date.new('today')" and so on
18:55 Aankhen`` Hmm.
18:55 autarch it'd be nice to limit the strings that can be passed in to a set of sane ones, maybe
18:55 autarch or maybe it should just take any string and try to parse it
18:55 Aankhen`` You can do: Date.new(epoch => time())
18:55 Aankhen`` Ohh.
18:56 Aankhen`` You want to be able to pass arguments in different styles?
18:56 offby1 Is there something built-in to perl 6 that acts a bit like Data::Dumper->Dump -- namely that it returns a string that unambiguously describes a complex value (like a hash)?
18:56 autarch This is as opposed to doing Date.today(), which is basically what the P5 DateTime does
18:56 Aankhen`` Have you heard MMD?
18:56 castaway yes, .perl, offby1
18:56 Aankhen`` offby1 >> Have you tried .perl?
18:56 autarch Aankhen``: yeah, this is all about MMD
18:56 egg no
18:56 offby1 castaway, Aankhen``: never heard of it.  I'll try it. Thanks!
18:57 Aankhen`` autarch >> multi submethod BUILD ($.epoch, $.day, $.blah, $.foo) { ... }; multi submethod BUILD ($single_value_to_parse) { ... }
18:57 autarch Aankhen``: yeah, that's pretty much what I have
18:57 iblech autarch: submethod BUILD (Str where /^[today|tomorrow|...]$/ $epoch) {...}?
18:57 autarch although it's using named args
18:57 Aankhen`` Right.
18:57 autarch iblech: yeah, that works
18:57 autarch also note that pugs doesn't like multi submethod yet ;)
18:57 autarch so I'm just doing multi method new
18:58 Aankhen`` Pugs doesn't like a lot of stuff yet. ;-)
18:58 autarch heh
18:58 * Aankhen`` wonders if he should port HTTP::Headers::Auth now or later.
18:58 egg never try hehe
18:58 autarch Yeah, I'm trying to write "ideal Perl6", then backport to something that runs on pugs
18:58 masak has left
18:58 offby1 well, that was sure easy.
18:58 egg perl6 + parrot lol
18:59 Aankhen`` Hmm, seems to be fairly straightforward.
18:59 autarch I figure that might also help come up with tests for Pugs
18:59 justatheory has joined #perl6
18:59 Aankhen`` Pugs probably won't like `is augmented` yet, but I can port it regardless.
18:59 egg parrot will beat somebody
18:59 Aankhen`` egg >> What are you on about?
18:59 egg never mind ^^
19:00 Aankhen`` OK.
19:02 pasteling has quit IRC (Remote closed the connection)
19:03 pasteling has joined #perl6
19:03 Aankhen`` ?eval class Int is extended { method add_one () { $?SELF + 1 } }; 10.add_one();
19:03 evalbot6 11
19:03 Aankhen`` ?eval class Str is extended { method add_one () { $?SELF ~ "1" } }; "10".add_one();
19:03 evalbot6 '101'
19:03 Aankhen`` ?eval class Str is extended { method add_one () { $?SELF ~ "1" } }; "10".add_one(); "abcd".uc();
19:03 evalbot6 'ABCD'
19:04 Aankhen`` ?eval class Str is augmented { method add_one () { $?SELF ~ "1" } }; "10".add_one(); "abcd".uc();
19:04 evalbot6 'ABCD'
19:04 Aankhen`` ?eval class Str is augmented { method uc () { "UC: $?SELF" } }; "abcd".uc
19:04 evalbot6 'UC: abcd'
19:04 Aankhen`` Cool.
19:04 egg umm
19:05 iblech I think it works only because the traits are only parsed, and Pugs doesn't close classes currently
19:05 Aankhen`` Ah.
19:05 Aankhen`` Which one would it be?
19:05 Aankhen`` 'augmented' or 'extended'?
19:06 iblech IIRC it's augmented this week, but I'm not 100% sure
19:06 Aankhen`` OK.
19:12 Aankhen`` Bleh.  I don't understand HTTP::Headers::Auth.
19:13 egg umm
19:14 egg useful?
19:14 Aankhen`` Umm.  What?
19:14 egg HTTP....
19:14 Aankhen`` Not particularly.
19:14 Aankhen`` I can afford to leave it out for now.
19:15 egg me too
19:15 egg has left
19:15 Aankhen`` Yey.
19:19 mr_ank has quit IRC ("Leaving")
19:25 dudley What's the Pooh test?
19:28 autarch how to load a Perl5 module?  Is it use perl5:Time::Local ?
19:28 gaal autarch: yes.
19:29 autarch hmm, there's no localtime in pugs yet, gah
19:29 iblech But there's eval("localtime", :lang<Perl5>) :)
19:29 autarch hah, cool
19:29 autarch good enough for now
19:30 Aankhen`` pugs> eval("localtime", :lang<Perl5>)
19:30 Aankhen`` undef
19:30 Aankhen`` Bah.
19:30 iblech Aankhen``: Do you have perl5 linked in?
19:30 Aankhen`` Nope.
19:30 iblech Ok, then it can't work :)
19:31 autarch hmm, I get  No compatible subroutine found: "&eval"
19:31 Aankhen`` Indeed.
19:31 Aankhen`` .
19:31 Aankhen`` autarch >> I think your Prelude.pm is not being loaded
19:31 autarch hrm
19:31 gaal Pipe.open('perl -e "print localtime"').say :-)
19:31 autarch I have the last release compiled
19:31 gaal autarch: svn up
19:31 iblech autarch: What's your $?PUGS_VERSION?
19:31 autarch yeah
19:31 autarch 6.2.7
19:31 gaal urrr, slurp.say up there.
19:31 autarch just use svn head?
19:32 gaal sure
19:32 iblech Definitely.
19:32 autarch k
19:32 gaal it's pretty goon right now.
19:32 autarch I just worry about getting a broken state
19:32 gaal heh, pretty good. i'm pretty goon!
19:32 autarch I'm a pretty goon too
19:32 autarch other goons love me
19:33 gaal i was using it as an adjective, not a noun, but hey, your version works too i guess.
19:34 autarch the adjective would be goony, of course
19:34 gaal not necessarily!
19:35 gaal i'm sure there's a linguistic term / trope name for using a noun as an adjective
19:36 gaal "it's very chic" "very you" etc.
19:36 gaal hmm, "you" isn't a noun, i know
19:37 autarch close enough
19:37 autarch but "very chic" is using chic as an adjective, no?
19:37 gaal sure
19:37 autarch and it wasn't a noun first
19:37 autarch At least I don't think so
19:37 gaal wasn't it?
19:38 gaal what's "french chic"?
19:38 cwest So... if you were building a YAML parser would you make the structure be a Real Parse Tree where nodes could get their .parent() and .children(), etc?
19:38 * gaal goes off to find a big dic
19:38 autarch cwest: as opposed to what?
19:39 autarch actually, I'd make it emit events
19:39 autarch then the tree builder can be separate
19:39 cwest as opposed to haveing to keep all sorts of current context on a stack for things like "how many spaces are we using for indentation right now?"
19:40 cwest this.parent.indent instead of this.current_context_that_we_always_have_to_update.indent
19:41 autarch the former certainly seems cleaner
19:41 Aankhen`` has quit IRC ("Reboot [Time wasted online: 7hrs 31mins 38secs]")
19:42 cwest yeah
19:42 cwest I ran into a snag while turning the spec into a grammar.
19:42 cwest s-indent(n) ::=s-ignored-space x n[66]
19:42 cwest s/\[66\]/gg
19:42 cwest er, ignore [66]
19:43 cwest Static grammar and ' ' x n don't mix.
19:43 gaal well, the OED lists it both as a "substantive" and an adjective; and the first reference (1856) only mentions it, quoting it and calling it a "property". the next one, 1882, is "she had no _chic_", i.e., used as a substantive
19:43 autarch Compiling pugs with Perl5 embedded still fails on my debian unstable machine
19:43 gaal but this is certainly neither conclusive nor a good example, coming from slang in another language.
19:44 spinclad_ is now known as spinclad
19:44 * cwest & # celebrating the us victory over both the british - who first invaded this land - and the american indians - who first belonged to it... feeling convicted and conflicted in the process.
19:44 Aankhen`` has joined #perl6
19:44 autarch I'm celebrating the wonder freedom the US has brought to the world
19:45 autarch thank you, Fearless Leader, long may you reign
19:45 gaal anyway: consider the usage "That's very New York" or "very Perl"
19:45 gaal for some reason this always comes with "very"
19:46 gaal (i think)
19:47 autarch sure
19:47 iblech has quit IRC (Client Quit)
19:47 autarch or "so Perl"
19:47 gaal wow! remember the debate about true / so?
19:47 gaal it just occurred that they should have chosen "very"
19:47 gaal because etymologically that means "truly"
19:50 cwest verily
19:50 gaal forsooth
19:50 autarch anyone else seen this compilation bug?
19:50 * cwest & # gone
19:50 autarch specifically, anyone fixed it?
19:50 autarch /usr/lib/perl/5.8/CORE/reentr.h:611: error: field `_crypt_struct' has incomplete type
19:51 gaal that has to do with perl version mismatches, i think.
19:51 gaal what distro are you running?
19:51 autarch hmm
19:51 autarch debian unstable
19:51 autarch they did just move from 5.8.4 to 5.8.7
19:51 gaal and stock p5? 5.8.4_whatever it is now?
19:51 autarch wonder if anything lingered
19:51 gaal they did!? at last!
19:52 autarch aha
19:52 autarch there's /usr/lib/perl/5.8 and /usr/lib/perl/5.8.7
19:52 autarch probably that's the problem
19:52 autarch both of those have CORE/*.h
19:52 autarch ah, 5.8 is a symlink, dammit
19:52 gaal yup, header fun like we all love
19:52 autarch heh
19:53 autarch but there's a /usr/lib/perl/5.8.4 which has no package
19:53 gaal worst case, compile your own perl under ~ ? embedded p5 worksforme on linux now, but i do remember it took me a while to moose it.
19:54 gaal oh, and you do have perl-dev and perl-lib and whatever else, right?
19:54 autarch yeah
19:58 gaal libperl-dev too yes? :)
19:58 autarch yes
19:58 autarch it'd blow up much differently if I didn't have _any_ headers installed
19:59 gaal indeed. i'm kicking myself for not remembering how i solved this, because just the otherday someone else asked about this too :(
19:59 xinming has joined #perl6
19:59 gaal maybe it was a -dev package for crypt like the error message really says?
19:59 autarch well, I removed the old headers and I'm trying a recompile from scratch
20:02 autarch and got the same damn error
20:02 gaal got libgcrypt11-dev ?
20:03 gaal libssl-dev ?
20:03 gaal i'm kinda shooting in the dark here :(
20:03 autarch not sure
20:03 autarch I didn't have libgcrypt11-dev
20:04 autarch no love
20:05 gaal crap, i'm grep -r'ing for _crypt_struct now and i can't find it? how did this build? :)
20:07 autarch I'm not finding it under /usr/include either, except in Perl's headers
20:07 autarch err, wait, that was /usr/lib
20:07 autarch but also not in /usr/include
20:09 autarch how can I make the pugs Makefile show me what commands it is using?
20:09 gaal on feather, i can't find it either but juerd's auto build does embed p5.
20:09 gaal what do you mean, what commands? like sh -x ?
20:10 autarch yeah
20:10 gaal dunno, prolly some env var. info make?
20:12 autarch I'm just wondering if it's not using all the right compiler flags
20:14 Aankhen`` make VERBOSE=1?
20:15 autarch nope
20:15 osfameron has joined #perl6
20:15 * autarch hates make
20:16 autarch btw, I can make unoptimized and it works, which is weirdness
20:16 gaal what works, embperl5?
20:17 autarch yeah
20:17 gaal that's very weird indeed.
20:20 autarch the only difference is the -O vs -O0 flag to ghc
20:20 gaal yes :(
20:20 autarch wonder if ghc has a bug
20:21 gaal blaming the compiler is the last resort :)
20:21 autarch heh
20:22 autarch so my stopgap is to compile just src/Pugs/Embed/perl5.o with unoptimized, stop the compile, delete any .o files from after that, and run make optimized ;)
20:24 autarch is there a pugs wiki where I could document that?
20:24 gaal pugs.kwiki.org
20:24 autarch ah, right in the topic
20:24 gaal but also try seeing what CRYPT_R_PROTO is set to?
20:24 autarch how can I check that?
20:25 gaal gcc -E... something :) let me remember
20:27 gaal beh i *can't* remember. well the hack would be to remove that line from the .h file :)
20:28 autarch heh
20:28 autarch it seems to going ok now
20:29 jhorwitz has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.4/20050511]")
20:34 autarch pugs is now complaining with  No compatible subroutine found: "&:epoch"
20:34 autarch code is:  my Date $date = Date.new( :epoch => time );
20:34 autarch seems legit to me
20:34 gaal no need for the :
20:34 autarch But I like it ;)
20:35 gaal actually it shouldn't be there :)
20:35 autarch it makes it clear it's a name
20:35 gaal say :epoch(time) then
20:35 autarch bleah, that's ugly ;)
20:35 gaal :epoch =>      means ":epoch"
20:35 gaal just like p5
20:37 autarch yeah, I know
20:37 autarch or I mean I know now
20:41 autarch is it ok to check in stuff under ext/ with known-to-be failing tests?
20:42 gaal de facto yes.
20:42 gaal btw do you know about :todo<bug> and :todo<feature>?
20:43 gaal hmm, can anyone bring a status update about freepan? are people using it?
20:43 QtPlatypus ?eval rule :w {this is a test}
20:43 evalbot6 Error: No compatible subroutine found: "&rule"
20:44 QtPlatypus ?eval rule name {this is a test}
20:44 evalbot6 undef
20:44 autarch ?eval eval("localtime", :lang<Perl5>)
20:44 QtPlatypus ?eval rule name :w {this is a test}
20:44 evalbot6 Error: No compatible subroutine found: "&Pugs::Internals::eval_perl5"
20:44 wolverian gaal: no, :epoch => is a syntax error in p5
20:44 evalbot6 Error: No compatible subroutine found: "&rule"
20:44 wolverian gaal: (well, most of the time, anyway.)
20:45 autarch gaal: sort of, but my tests are mostly failing because I can't get P5 localtime working ;)
20:45 gaal wolverian: word.
20:45 QtPlatypus Damn pugs doesn't implement :w, which makes writing a self hosting grammar very hard.
20:45 autarch and I cannot get it to return values in list context
20:46 autarch hmm, I can just implement my own based on time() and math, I guess
20:46 gaal autarch: keep in mind p6 time is 2000-based.
20:47 autarch yeah
20:47 autarch is that spec'd somewhere?
20:48 gaal i remember it's $Larry'd, but don't know if it made it to AES.
20:48 autarch but it's # of seconds since 2000-01-01 UTC, right?
20:49 * gaal looks in Prim.hs
20:49 gaal yes,
20:49 autarch yep, it says UTC there
20:50 Khisanth QtPlatypus: does PGE have it implemented yet?
20:50 QtPlatypus I don't know.  I'll check.
20:51 perlbot has quit IRC (tolkien.freenode.net irc.freenode.net)
20:52 perlbot has joined #perl6
20:53 Maddingue has quit IRC (Read error: 110 (Connection timed out))
20:54 cwest has quit IRC (Read error: 104 (Connection reset by peer))
20:54 Maddingue has joined #perl6
20:55 autarch subroutine aliasing?  &now := &today;
20:55 autarch is that right?
20:57 gaal or ::= (compile time)
20:58 autarch ok
20:58 autarch compile time is preferable for this
21:04 autarch whee, I just implemented localtime in Perl6 (I hope)
21:04 autarch or I guess it's gmtime
21:04 gaal cool! Prelude it?
21:05 autarch ah, good idea
21:05 autarch let me make sure it works ;)
21:05 gaal :)
21:05 autarch it almost certainly doesn't
21:05 gaal today is Tenthday, 35 May -720
21:05 gaal oops!
21:05 coral heh
21:06 autarch hmm, pugs is not loving sub _date_from_epoch (Int $epoch) returns Int, Int, Int {
21:06 autarch how do I declare the return value there?
21:06 gaal grr, not sure you can do better than List
21:06 Aankh|Clone has joined #perl6
21:06 autarch hmm
21:06 autarch lameness
21:06 gaal where's Juerd? haven't seen him in a while
21:07 gaal he knows these things :)
21:09 wolverian returns :(Int, Int, Int) but doubtful if pugs likes that
21:09 wolverian besides, shouldn't we be returning objects?
21:09 gaal really? i haven't seen that ever
21:09 autarch well, in this case I'm trying to write something primitive to turn an epoch into a year, month, and date
21:09 wolverian gaal: p6l stuff. almost certainly not final. not in AES, certainly.
21:10 gaal actually want as it was vaguely p6lled will be powerfull enough to tell if the caller wanted an object or a list, so you can return either
21:10 autarch AES == ??
21:10 autarch American Encryption Standard?
21:11 gaal caller, for example, returns (needs to return) either a list like p5, or an object.
21:11 gaal apocalypse/exegesis/synopsis
21:11 gaal :pluralized
21:11 sapper has joined #perl6
21:11 sapper has left "bye"
21:13 autarch hmm, it occurs to me that I need localtime, not gmtime, and that implementing that in Pugs via P6 would be really really really hard, if not impossible
21:13 * autarch is tempted to dive into Haskell
21:14 gaal go for it! the bits between headaches are very enjoyable!
21:14 Maddingue has quit IRC (Read error: 110 (Connection timed out))
21:14 autarch heh
21:16 autarch hmm, is there XS for Haskell that can be used in Pugs?
21:16 autarch it'd be easy to get that info from the C-level gmtime() & localtime()
21:16 gaal you mean call haskell from pugs?
21:16 autarch no, call C from haskell
21:17 autarch or better yet, call C from pugs!
21:17 autarch thus avoiding haskell entirely
21:17 gaal look eg at File.open in prelude.pm vs. Pugs::Internals::openFile
21:17 gaal oh
21:17 autarch but that's a horrible hack
21:17 gaal haskell can call c, sure
21:17 gaal pugs can't call c directly yet
21:18 autarch dang
21:18 autarch that'd be pretty nasty anyway, to be calling XS (or whatever) from the Prelude ;)
21:18 gaal look at Pugs.Compat for a demop
21:18 gaal not really
21:18 gaal the prelude has two aspects:
21:19 gaal there are pure perl parts, that ideally should be salvageable by any other perl6 implementation
21:19 gaal and there are perl facades to services provided by the internals
21:19 gaal you can't implement caller in pure perl, for example
21:20 gaal but you do want to package the results in a perl object
21:20 Aankh|Clone G'night.
21:20 Aankh|Clone has quit IRC ("Induhvidual quote: "The system is humming like a clam." [Time wasted online: 13mins 44secs]")
21:20 gaal and it's much nicer to do the packaging in perl than in haskell
21:20 autarch right
21:20 autarch I saw that
21:20 autarch the real trick here though is to get at libc
21:20 autarch so I can call ctime, localtime, and gmtime
21:21 clkao hello autarch!
21:21 gaal grep for "foreign import stdcall" in Compat
21:21 autarch clkao: I'd type ni3 hao3 in Chinese but I don't have xcin running
21:22 autarch gaal: will do
21:23 gaal you don't have to actually write this in Compat
21:23 gaal hmm wait, i bet what you want exists in haskell anyway?
21:23 Aankhen`` has quit IRC (Read error: 110 (Connection timed out))
21:24 osfameron has quit IRC (Read error: 110 (Connection timed out))
21:24 autarch gaal: probably
21:24 clkao autarch: i use scim lately :)
21:24 gaal http://haskell.org/ghc/docs/latest/html/libraries/base/System.Time.html
21:24 clkao and openvanilla on osx
21:25 autarch clkao: heh, didn't you write xcin originally?
21:26 clkao sort of.. but not completely
21:27 autarch I think I have scim installed but I haven't needed to figure out how to use it yet
21:27 gaal autarch: what do you need now? i'll try to give you a convenient interface
21:28 autarch I need the year, month, & day from localtime()
21:31 osfameron has joined #perl6
21:34 dmo has quit IRC ()
21:36 dmo has joined #perl6
21:37 dmo has quit IRC (Client Quit)
21:41 dmo has joined #perl6
21:41 dmo has quit IRC (Client Quit)
21:42 gaal you need localtime(arg) now too, right?
21:42 gaal or is localtime(now) ok for now?
21:42 sapper has joined #perl6
21:42 sapper has quit IRC (Remote closed the connection)
21:42 justatheory has quit IRC ()
21:42 autarch gaal: no, I need localtime(arg)
21:43 autarch otherwise all I can do is make today ;)
21:43 gaal ok :)
21:43 cwest has joined #perl6
21:49 dudley has quit IRC ()
21:49 taeli has quit IRC ("Leaving")
21:52 autarch does P5-ish stuff like this work in P6:  my ( $y, $m, $d ) = (localtime)[5,4,3]
21:52 autarch are the parens necessary around localtime?
21:52 gaal dunno.
21:55 iblechbot has quit IRC (Read error: 113 (No route to host))
21:55 wolverian never understood why they are in perl5
21:57 autarch cause it doesn't understand the context well enough, I think
21:57 autarch in P5 it's probably going through 2 steps: 1) stick the return values from localtime into the parens; 2) get the indexed values
21:58 wolverian but ()s are only precedence
21:58 wolverian and the precedence is the same as without them
21:59 wolverian oh
21:59 wolverian duh
21:59 wolverian localtime[5,4,3] is localtme([5,4,3])
21:59 wolverian :)
21:59 autarch heh
21:59 wolverian s,tme,time,
21:59 wolverian p6 is more whitespace-dependent than p5, but I'm not sure about this issue.
22:17 autarch pugs won't pase "Int | Str" with space in there
22:17 vcv- has quit IRC (Read error: 104 (Connection reset by peer))
22:18 mugwump I think the rule of thumb there is, if it looks different - it is different
22:19 autarch but they don't look different to me
22:19 mugwump then it's probably just a parsing bug
22:19 autarch for ( 1..12 ) -> my $m
22:19 mugwump :)
22:19 autarch isn't that valid P6?
22:19 mugwump drop the my
22:20 autarch is it implied?
22:20 mugwump it's shorthand for:
22:20 mugwump for (1..12), sub($m) { ... }
22:20 wolverian autarch: -> is another way to construct a sub.
22:20 wolverian you can use it in my &sub = -> $x { ... }
22:21 mugwump it might seem like an arbitrary change just to make the code look pretty, but let me assure you it's actually an arbitrary change to make things look pretty
22:21 wolverian haha.
22:21 wolverian mugwump++
22:22 autarch ah, right, now I remember reading this stuff
22:22 autarch it's a big leap from reading it to writing it
22:28 offby1 has left "No reason"
22:28 autarch does "multi method new" work in Pugs?  It looks like it doesn't
22:30 autarch hmm, but it seems like "multi submethod BUILD" does, so that's better
22:33 autarch    if ( $day ~~ m:perl5:i/^last$/ ) {
22:33 autarch gives me:  Can't modify constant item: VStr "last"
22:33 autarch weirdness
22:34 wolverian does pugs still need the parens in the if ?
22:35 gaal certainly not.
22:36 gaal they don't hurt though :)
22:40 wolverian they hurt readability
22:40 osfameron wolverian ?
22:42 wolverian osfameron: perl6 doesn't require the parens in 'if (1) { ... }'. 'if 1 { ... }' works. the () only hurt readabilit.y
22:42 wolverian s/.y/y./
22:43 osfameron maybe I'm derabged, I quite like if ()
22:43 osfameron s/b/n/
22:43 gaal you're used to it :)
22:43 gaal it's quite nice not to have it
22:44 wolverian if foo { bar } else { baz } is especially nicer tow rite
22:44 wolverian s/tow rite/to write/ # argh
22:44 wolverian (I have a small burn on my finger and it hurts to type, sorry)
22:44 osfameron yeah, I guess.  For longer expressions it's nice to have the visual pill
22:45 gaal larry has a real nice explanation about how c-ish
22:45 gaal if (expr)
22:45 gaal    statement;
22:46 gaal got it wrong
22:46 osfameron yeah, definitely
22:46 gaal or is it in the AES?
22:46 gaal heh, c is evil, #872: this is valid c:
22:46 gaal if (expr);
22:46 gaal    statement;
22:47 gaal note the *first* semicolon
22:47 gaal you can stare at this for HOURS and not understand how statement runs when expr is clearly false
22:48 autarch anyone have any thoughts on the error above?
22:48 gaal ah
22:49 gaal rx:perl5<i>/asdadsf/
22:49 gaal note "rx", and <i>
22:49 autarch same error
22:49 autarch Can't modify constant item: VStr "last"
22:50 autarch That's the value of the variable being matched against
22:50 larsen has quit IRC ("later")
22:51 gaal what's in your block?
22:51 autarch aha
22:51 gaal the error could be there: pugs isn't very exact with coordinates still
22:51 autarch I was looking at the wrong line
22:51 autarch i'm dumb
22:51 gaal no, pugs is misleading that way
22:51 autarch I cannot write to the incoming variables?
22:51 gaal not by default
22:51 autarch can I do "is copy"?
22:51 gaal you need 'is copy'
22:51 gaal yes
22:52 gaal alternatively is rw
22:52 gaal depending of course on whay you need.
22:52 autarch no, I don't want to overwrite the caller's var
22:52 gaal is copy then.
22:52 autarch hmm, is copy isn't fixing it
22:52 autarch Int|Str +$day = 1 is copy
22:52 gaal perlbot nopaste
22:52 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
22:52 autarch nopaste for one-liners?
22:52 wolverian autarch: Int|Str is very probably wrong, as they can be trivially coerced into each other.
22:53 wolverian autarch: when you say 'Int $foo' you're saying you want the integer view of $foo, not that it must _be_ Int when given in
22:53 autarch well, I _really_ want Int|Str where { <i>/^last$/ }
22:53 wolverian I don't see how an Int could possibly have 'last' in it
22:54 autarch but a Str could
22:54 wolverian why do you have Int there then?
22:54 autarch basically I want to allow 1..31 or "last"
22:54 gaal meh, i just ran out of wakies. sorry, autarch, localtime will have to wait for tomorrow :)
22:54 autarch gaal: np
22:54 wolverian autarch: oh, you mean the where only applies to Str?
22:54 autarch right
22:54 * gaal waves. zzZZZ &
22:54 wolverian okay. not sure if that's the right precedence. :)
22:54 autarch nor am I
22:54 wolverian (it tricked me!)
23:02 putter has joined #perl6
23:02 svnbot6 r5211, autarch++ | hey, tests that pass (handling day => 'last')
23:02 svnbot6 r5212, autarch++ | data needed for tests
23:02 svnbot6 r5213, autarch++ | these should pass once localtime() is implemented
23:02 svnbot6 r5214, autarch++ | BUILD methods that work for Date.pm
23:02 svnbot6 r5215, autarch++ | do last day of month tests for a leap year as well
23:06 putter QtPlatypus: :w just means to insert a <?ws> everywhere the pattern has two non-abutting non-whitespace tokens.  You can use \s+ instead of <?ws> if your copy of parrot doesnt have <ws> yet.  So it really shouldnt be an obstacle...
23:07 ericjh256 has joined #perl6
23:08 autarch does Pugs do stringification yet?
23:08 svnbot6 r5216, autarch++ | add quarter() method and tests for it
23:09 autarch I mean object overloading as string
23:13 ericjh256 whats does a quarter method do?
23:13 ericjh256 last i checked ( two weeks ago) i beleiver there were some specification issues with string overloading that was still being worked out.
23:16 autarch $date.quarter
23:16 autarch the checkin message isn't clear without knowing what files it was
23:16 ericjh256 that is true.
23:17 autarch I'm only working on a P6 implementation of datetime stuff
23:17 putter &
23:17 putter has quit IRC ("Leaving")
23:18 ericjh256 gotcha. cool.
23:33 osfameron has quit IRC (Read error: 110 (Connection timed out))
23:33 svnbot6 r5217, autarch++ | tests for Date.ymd(), Date.mdy(), and Date.dmy()
23:33 svnbot6 r5218, autarch++ | add Date.ymd(), .mdy(), & .dmy() methods
23:35 autarch hopefully that message is a bit clearer
23:43 mauke has quit IRC (Remote closed the connection)
23:43 svnbot6 r5219, autarch++ | tests for Date.day_of_year()
23:43 svnbot6 r5220, autarch++ | test Date.day_of_quarter()
23:43 svnbot6 r5221, autarch++ | add Date.quarter(), Date.day_of_year(), & Date.day_of_quarter()
23:45 coral wow
23:48 autarch well, that stuff's really trivial
23:54 mugwump autarch, you do know that time() returns time from the new epoch, don't you?
23:54 mugwump ?eval time()
23:54 evalbot6 173836460.38778
23:54 mugwump ?eval time()/86400 / 365
23:54 evalbot6 5.5123184046672691527143581938102486047692
23:54 wolverian ?eval ~time
23:54 evalbot6 '173836476.907951'
23:54 wolverian buh.
23:57 autarch mugwump: yeah
23:59 mugwump also, I had to use this to do the function aliasing in Set.pm;
23:59 vcv- has joined #perl6
23:59 mugwump our &Date::now ::= &Date::today

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

Perl 6 | Reference Documentation | Rakudo