Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-09-02

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:04 rantanplan__ has joined #perl6
00:11 rantanplan__ has quit IRC (Remote closed the connection)
00:17 rantanplan_ has quit IRC (Read error: 110 (Connection timed out))
00:20 svnbot6 r6649 | luqui++ |  r471@feather:  fibonaci | 2005-08-31 12:10:19 +0200
00:20 svnbot6 r6649 | luqui++ |  Create model_theory.pod.  I wrote the initial section which addresses
00:20 svnbot6 r6649 | luqui++ |  the problem.
00:20 svnbot6 r6650 | luqui++ |  r472@feather:  fibonaci | 2005-08-31 12:25:25 +0200
00:20 svnbot6 r6650 | luqui++ |  Mention union types.
00:20 svnbot6 r6651 | luqui++ |  r473@feather:  fibonaci | 2005-08-31 12:37:04 +0200
00:20 svnbot6 r6651 | luqui++ |  Minor Edits.
00:20 svnbot6 r6652 | luqui++ |  r523@feather:  fibonaci | 2005-09-02 02:17:26 +0200
00:20 svnbot6 r6652 | luqui++ |  Implemented "no VERSION" from rgs's new message.  Also deleted my model
00:20 svnbot6 r6652 | luqui++ |  theory writeup -- need to redo it now that I understand the problem more
00:20 svnbot6 r6652 | luqui++ |  clearly.
00:20 luqui woah, karma spam
00:20 jabbot luqui: spam has neutral karma
00:20 luqui okay good
00:20 luqui because I really didn't commit that much...
00:22 evalbot_6648 has quit IRC (Remote closed the connection)
00:22 evalbot_6652 has joined #perl6
00:23 luqui ?eval no 6
00:23 evalbot_6652 pugs: Perls since v6 too modern--this is v6.2.9, stopped at "<eval>" line 1 column 5
00:31 geoffb heh
00:40 brentdax karma autrijus
00:40 jabbot brentdax: autrijus has karma of 574
00:40 brentdax Heh.
00:41 luqui only 574?
00:41 geoffb It appears to get lost on occasion
00:41 geoffb karma luqui
00:41 jabbot geoffb: luqui has karma of 10
00:41 geoffb see, that's just wrong
00:42 geoffb perlbot, karma luqui
00:42 perlbot Karma for luqui: 1
00:42 jabbot geoffb: luqui has karma of 10
00:42 geoffb perlbot, karma autrijus
00:42 perlbot Karma for autrijus: 46
00:42 jabbot geoffb: autrijus has karma of 574
00:42 geoffb sigh
00:43 luqui karma geoffb
00:43 jabbot luqui: geoffb has karma of 5
00:43 luqui karma jabbot
00:43 jabbot luqui: jabbot has karma of 9
00:43 luqui haha
00:43 luqui wingofam--
00:43 luqui karma wingofam
00:43 jabbot luqui: wingofam has neutral karma
00:43 * geoffb finally converts his cvs repository completely to svn, with a strict policy of svk-only client usage.  :-)
00:44 luqui trying to bum karma off me then, are you
00:44 luqui well, it works.  svk++
00:44 geoffb I wondered what you meant.
00:45 geoffb No, I was just happy and wanted to share.  :-)
00:45 luqui I figured :-)
00:48 * luqui wonders if it is time to start infiltrating #perl
00:49 Supaplex perlbot: karma Supaplex
00:49 perlbot Karma for Supaplex: -3
00:49 jabbot Supaplex: Supaplex has neutral karma
00:49 Supaplex yay
00:49 Supaplex :-X
00:49 mjl69 has joined #perl6
00:49 * Supaplex demands a recount
00:49 luqui how did that happen?
00:50 mjl69 has quit IRC (Client Quit)
00:51 Supaplex blame it on q(b).q(u) x 2
00:57 luqui ?eval "foo"
00:57 evalbot_6652 'foo'
01:00 stevan luqui: what is the model_theory.pod?
01:00 Supaplex ?eval 0
01:00 evalbot_6652 0
01:00 luqui it was the first cut of my writeup for solving the expression problem
01:00 luqui adding generlizations of roles and classes, called "theories" and "models"
01:00 stevan ah
01:01 stevan hey,.. any thoughts on how one could speed up C::MM::Pure?
01:01 luqui at the very base, it's a neat idea (and it might be worthwhile contemplating how it will fit into the metamodel)
01:01 luqui write another dispatcher
01:01 stevan replace C::MM::Pure::Slow?
01:01 luqui yeah
01:01 luqui there's another one in there
01:01 luqui that was reasonably fast... but it was wrong
01:02 luqui the algorithm was fundamentally flawed
01:02 luqui I know it's possible to compile the methods into O(n) (n is the number of methods) type check
01:02 stevan right and slow is better then wrong and fast
01:03 luqui ::Slow is O(nm) (n is the number of methods, m the number of arguments)
01:03 luqui rather, compile it to O(n+m)
01:03 luqui (you still have to check that all your arguments match)
01:03 luqui but the algorithm for doing that looks a little tricky
01:03 stevan it looks like you jump out quick if the number of args is not the same
01:04 luqui so I haven't nailed it down yet
01:04 luqui if it's too few, yes
01:04 stevan but then you have to do the exhautive searching
01:04 stevan are you sorting the list of canidates at all?
01:05 luqui that's what the other dispatcher did
01:05 stevan ok
01:05 stevan is that where it went wrong?
01:05 luqui not really
01:05 stevan ok
01:05 stevan so that idea may be salvagable
01:05 luqui you can sort specific to general
01:05 stevan my other thought,.. and this may be not worth it
01:06 luqui but you still have to check all of them to get ambiguities :-(
01:06 luqui yes?
01:06 stevan is to use the stringification you have going on to do fast matching
01:06 stevan it would only help specific matches
01:06 luqui I wondered about going for a caching technique
01:06 stevan so I am not sure it would really be a gain
01:06 luqui caching would be a huge gain
01:06 stevan did  you read yuval's old proposal?
01:07 luqui but you can't do it for subtypes, etc.
01:07 luqui but most of the time you aren't doing subtypes
01:07 stevan I know CLOS uses some kinds of caching for the generic methods
01:07 luqui yuval's proposal about what?
01:07 Weems has quit IRC (Connection timed out)
01:07 stevan MMD
01:07 luqui basically turning every method into a multi?
01:08 Lopo_ has joined #perl6
01:08 Lopo has quit IRC (Read error: 145 (Connection timed out))
01:08 stevan nut quite
01:08 stevan http://svn.openfoundry.org​/pugs/docs/notes/mmd.kwid
01:08 luqui oh, the heuristic ordering
01:08 Lopo_ is now known as Lopo
01:08 stevan yes
01:08 stevan he has short name and long names
01:08 stevan if it doesnt match the short,.. forget about the long
01:09 stevan but this is in the general dispatcher
01:09 luqui you could certainly do that kind of matching
01:09 erg has joined #perl6
01:09 luqui note that subtype needs to have a base type
01:09 stevan while I know that @Larry.pick does not want MMD for all
01:09 luqui get_base(Subtype base cond) = get_base(base)
01:10 luqui or something like that
01:10 stevan I think one some level this is an implementation detail
01:10 luqui methods are exactly single-invocant multimethods
01:10 luqui the semantics are the same
01:10 stevan yes
01:10 luqui but for some reason, the syntax differs a little
01:10 luqui but I never learned how
01:10 stevan one thing I found is that you get argument checking for free with multi-method
01:11 justatheory has quit IRC ()
01:11 luqui stevan, 'splain
01:11 stevan multi-methods have to type check
01:11 luqui you mean compile-time?
01:11 stevan if multi-methods are implemnted like you did,.. which is all enclosed inside a single element
01:11 stevan code element
01:12 stevan then you end up with 2 layers of dispatch in the metamodel
01:12 stevan 1) the short name,... finding the method in the class hierarchy
01:12 stevan and then 2) is the invocant and args matching
01:12 stevan this is done by C::MM::Pure
01:12 stevan at least right now it is if you use the multi_sub() constructor I hacked
01:13 luqui not sure I follow.  I probably know what you're saying, I just can't determine that you're saying it.
01:13 stevan :)
01:14 stevan ok
01:14 stevan the SMD dispatch mechanism
01:14 stevan and more specifically the subroutine parameter checking
01:14 stevan ideally that is done at compile time
01:14 stevan but since it is not required,... you can't always do that
01:14 luqui well, smd not done at compile time
01:15 stevan I am talking purely about subs now
01:15 luqui okay
01:15 stevan so ,.. there must exist code to check the args
01:15 stevan and check the types of args
01:15 luqui oh right
01:15 stevan this includes determining subtype relationships, etc etc etc
01:15 luqui so if every sub is a multi, the multi mechanism is checking the args anyway
01:15 stevan yes
01:15 stevan exactly
01:15 stevan for free :)
01:15 luqui cool
01:15 stevan because it is just how MMD works
01:16 stevan now,.. if we do some optimizations for MMD with only one variant
01:16 stevan we can probably avoid any performance penalty
01:16 luqui I imagine so
01:17 luqui such an optimization would forbid adding new variants later
01:17 stevan It also simplifys the meta/class/instance-method distinctions
01:17 stevan and possibly simplifying the dispatcher in the metamodel
01:17 luqui always a good sign
01:17 stevan yes,.. simple == good
01:18 luqui I've always found that the semantics that cause the implementation to be simpler end up being more correct
01:18 stevan beautiful design is almost always good design
01:18 stevan and simple is almost always beautiful
01:19 luqui let me explain the "theory" concept to you, so you can see if it already "beautifully" fits into the metamodel
01:19 stevan ok
01:19 stevan shoot
01:19 luqui are you familiar with type classes in haskell?
01:20 stevan uhm... enough I think
01:20 stevan I have algorithms right here if I need to refer :)
01:20 luqui a theory is kinda like that, and kinda like a role
01:20 luqui but it's more general than both
01:20 luqui so a role is a contract that says "if you implement these methods for me, I'll implement these methods for you"
01:20 luqui so is a type class
01:21 stevan k
01:21 luqui a theory is a contract that says "if you implement these multimethods for me, I'll implement these multimethods for you"
01:21 stevan hmm
01:21 luqui it can act on multiple types at a time
01:22 * luqui is trying to think of an example
01:22 stevan ok,.. lemme just ask a question
01:22 stevan so Role is added to one class
01:22 stevan but Theory is added to many
01:23 luqui this is where theory is more like type class than role
01:23 luqui you "instantiate" a theory (using a "model") that tells it which methods to define
01:23 stevan basically any types/classes which it's multi-methods can "service"
01:23 luqui uh, kinda
01:23 luqui so a theory doesn't itself define a type
01:24 * stevan is starting to think CLOS style generic-methods are a really good idea
01:24 luqui instead, it defines more a constraint
01:24 stevan yes, I think I get it
01:24 luqui what are CLOS generic methods
01:24 stevan :)
01:24 stevan in CLOS instances have slots and superclasses
01:24 stevan but no methods
01:25 stevan (remember classes are just instances of standard-class)
01:25 luqui righto
01:25 stevan the methods are defined by generic functions
01:25 luqui multimethods :-)
01:25 stevan a generic function is basically a multimethod
01:25 stevan yes
01:26 stevan I used to think it was interesting,.. but I liked the idea of neat little packages with methods in them
01:26 luqui well, you also run into that bit about accessors
01:26 stevan but now I am seeing the power of being able to define a new variant of the generic function anywhere
01:27 stevan Larry suggested on p6l at one point in a metamodel discussion about accessors probably just being roles
01:27 stevan but roles that were generated on the fly by the metamodel
01:28 luqui wait -- each accessor is a role?
01:28 stevan this way we can get role-style conflict resolution
01:28 stevan not each accessor... all accessors in a class
01:28 luqui okay good
01:28 stevan class Foo { has $.bar; has @.bar; has %.bar; }
01:28 luqui i mused about having each method be a separate role, so that you could express nicely "I just need an object that has this method"
01:28 stevan that is problematic
01:29 stevan it you make it a role
01:29 luqui so then you're forced to define your own bar()
01:29 stevan then the three bar() accessors conflict and the Role conflict catcher will force you to disambiguate
01:29 stevan yes
01:29 stevan :)
01:29 stevan I am planning on applying it to MM2.0 once I have roles in place
01:30 luqui somehow I think that that's not really appropriate though
01:30 stevan why?
01:30 luqui roles have a strong conceptual importance
01:30 stevan uhm
01:30 stevan how does that take away from it?
01:30 luqui (I didn't used to think this; if you look at my very early perl 6 OO proposals you'll see something very different)
01:31 stevan honestly I think Roles are becoming a catch-all for "things we are not sure about"
01:31 luqui I don't think they should be
01:31 stevan "its just a role" is heard to often for my taste :)
01:31 stevan I agree
01:31 stevan but it seems that they are getting muddled
01:31 luqui A role specifies conformance to an interface
01:32 stevan only partially
01:32 luqui and that interface can have some algebraic properties that can't be specified in code
01:32 luqui and that last statement is the important one
01:32 stevan explain more please
01:32 luqui for instance, it does not suffice to implement a < operator to do the Ordered role
01:32 stevan and remember,.. I was either high or sleeping through most of math class :P
01:33 stevan so go easy on me
01:33 stevan why not?
01:33 luqui that operator needs to be transitive and antisymetric (so if a < b and b < c, a must be < c)
01:33 luqui also, if a < b, then b must not be < a
01:33 luqui and for instance, IO::All implements a < operator
01:33 stevan yes, but IO::All is insanity
01:34 luqui but that doesn't mean that IO::All is ordered, because it doesn't satisfy those properties
01:34 buu Fun though
01:34 stevan right,.. but that is easy to determine since IO::All would not implement Ordered
01:34 luqui well, you can see some other things that aren't insanity
01:34 luqui stevan, exactly
01:34 stevan but only the operator Ordered asked for
01:35 * stevan wonders if luqui has read all the original trait papers yet
01:35 luqui and that's why roles must not be spuriously made as parts of implementations
01:35 luqui no
01:35 luqui "all the accessors in a class" is not a concept, and it may not make any sense at all without the methods to support them
01:35 stevan why?
01:36 luqui that means that whoever has those accessors does that role
01:36 luqui so roles could certainly be used as an implementation detail to get the disambiguation behavior
01:36 luqui but logically, it isn't a role
01:37 luqui oh, two statements back, s/does that role/can do that role/
01:37 stevan it would be an anon-role
01:37 luqui sure, but why even talk about that then?
01:38 luqui it shouldn't be exposed to the language
01:38 stevan it wont :)
01:38 luqui oh, then I've been preaching to an empty audience
01:38 stevan it will be part of the class builing process
01:38 stevan no I hear you
01:38 stevan your concern is valid
01:39 stevan the Role that would be generated would essentially be specific to that class only
01:39 stevan I am thinking it would either be totally anon.. and so not show up in does()
01:39 stevan or it would be the same name as the class itself
01:39 luqui so it's probably best to abstract the disambiguation code so you can use it outside of roles
01:39 stevan and so then does() would also respond to the classname
01:39 stevan well... here is the thing
01:40 stevan I know that ~~ is supposed to do does()
01:40 stevan if the role is composed with the accessors as well as the regular methods
01:40 stevan and applied,.. then we have a valid does() which represents that specific class
01:41 stevan s/does()/Role/
01:41 luqui right.  that's a bit from the model theory thing I was thinking
01:41 luqui every model comes with a valid theory
01:41 luqui (but not vice-versa)
01:41 luqui so in plain perl 6-speak, every class comes with a valid role
01:41 luqui it's the interface of things that behave exactly like that class :-)
01:42 luqui basically, I don't want Foo ever to refer to a class
01:42 luqui instead, it always refers to a role, so that you can implement mock types for that class
01:42 stevan :)
01:42 stevan so this makes sense
01:42 stevan to build this Role
01:42 luqui yeah, I think so
01:43 stevan :)
01:43 * luqui dinner &
01:44 mjl69 has joined #perl6
01:49 mjl69 has quit IRC ()
01:52 * stevan is very pleased with bookpool.com right now
01:52 stevan TAPL should be here tomorrow :)
01:57 * stevan &
02:13 luqui fg
02:16 justatheory has joined #perl6
02:17 luqui infiltration sucessful!
02:30 buu hahaha
02:30 luqui why buu, why?
02:34 luqui the infiltration has turned into a perl6-dissing session
02:34 luqui darn
02:34 luqui this is why I'm not a social engineer
03:04 justatheory has quit IRC ()
03:06 LCamel has quit IRC (Remote closed the connection)
03:06 tcliou has quit IRC (Read error: 104 (Connection reset by peer))
03:09 Lopo has quit IRC (brown.freenode.net irc.freenode.net)
03:16 tcliou has joined #perl6
03:51 buu luqui: That tends to happen with great frequency
03:52 buu You should have heard the conversations after I learned about $^X
03:54 luqui heh, yeah
03:54 luqui people don't seem to understand that these features are to make your life easier in limited circumstances, and aren't meant for daily use
03:54 luqui or maybe daily use, but not minutely use
03:55 luqui and I don't know what all that consistency crap was
03:55 luqui but I can see the reason for the backlash
03:55 luqui people fear change :-)
03:55 luqui it's going to be difficult to sneak those line-noisy looking features into people's brains without them noticing
03:56 Supaplex :)
04:00 geoffb Anyone happen to remember the URI for harrorth's darcs repo?
04:21 Supaplex I know it started with a /
04:23 landover has quit IRC ("Leaving")
04:32 luqui Supaplex, :-p
04:33 luqui it probably says in harrorth, right?
04:40 svnbot6 r6653 | luqui++ |  r2977@jabberwock:  fibonaci | 2005-09-01 22:34:16 +0000
04:40 svnbot6 r6653 | luqui++ |  No, deleted model_theory.pod, for real.
04:42 putter has joined #perl6
04:45 putter geoffb: a quick thought: Prelude.pm is basically a ordered(?) bag of several chunks of code, mostly independent ones.  why not add a marker between them, compile separately, and link?
04:45 putter &
04:45 putter has quit IRC (Client Quit)
04:55 luqui I think it's more like a set
04:55 luqui and I think the reason we don't is because most of us don't have trouble compiling it
04:56 luqui but for those of you who do, that ain't a bad idea
04:59 geoffb There are actually a couple big things that hurt small memory compiling:
04:59 geoffb 1) Sheer size of PCP Haskell output
04:59 geoffb 2) compile and link still done in single pass mode
05:00 geoffb I believe 2) is fixable with makefile changes, but it has not risen to the top of my tuits, because it's not enough of a savings to make PCP possible for me.
05:01 geoffb oh, and luqui: I think harrorth somewhere does link to the repo, but I wasn't finding it in first 5 or so places I looked.
05:07 SM_ax has joined #perl6
05:26 davidra has joined #perl6
05:26 davidra is now known as jp-autark2
05:44 Aankhen`` has joined #perl6
05:51 landover has joined #perl6
06:10 svnbot6 r6654 | luqui++ |  r528@feather:  fibonaci | 2005-09-02 08:07:39 +0200
06:10 svnbot6 r6654 | luqui++ |  Added a test for lexically bound subs.
06:14 dduncan fyi, I have finally released on CPAN my updates from the last 2 months, and the newest versions of all the Rosetta-related distros are once again compatible with each other
06:14 dduncan coming up next ... a set of "Perl Best Practices" inspired changes
06:27 GeJ has joined #perl6
06:28 Lopo has joined #perl6
06:32 brentdax Kontent 0.02 was 4.6 kilo-lines--think that's the msot Perl 6 anyone's written yet?
06:32 brentdax (code *and* docs.)
06:35 joepurl_ has joined #perl6
06:40 ycheng has joined #perl6
06:44 bloves has joined #perl6
06:55 geoffb brentdax, how much just code?
06:56 brentdax I'm not sure--is there a tool I can use to filter the POD out?
06:56 geoffb Hmmm . . . I know there are for P5, I'm not sure about P6
06:57 geoffb But you can always do it by hand, since POD is line and block oriented . . .
06:58 geoffb Just run through the file, printing based on the state of a flip-flop (controlled by lines beginning with =head, =pod, =for, =cut, and so on)
06:58 brentdax They aren't all that different as far as POD vs. not-POD is concerned--I'm using `perldoc` to view them, after all.
06:59 geoffb fair enough.
06:59 * geoffb really hates pod, so doesn't know the toolset extensively
07:00 brentdax Why the hate?
07:02 geoffb It is a horrid syntactic mess.  It's almost the worst possible implementation of a "free text" markup language.
07:02 geoffb I am *very* happy that Perl 6 will support KWID out of the box
07:03 geoffb It may not be perfect, but it beats the pants off POD
07:03 brentdax Looks like 2928 non-POD lines.
07:04 brentdax Granted, that still includes comments, empty lines, single-brace lines, and so on, but...
07:04 geoffb Hmmm, so far I think my largest single Perl 6 file is 571 lines
07:05 brentdax This is across ~30 files.
07:05 brentdax Suppose I shouldn't really be surprised it takes so long to parse and run.
07:06 geoffb Wow, Prelude.pm is only 511 lines . . . so we both have that one beat.  :-)
07:06 geoffb nodnod
07:06 geoffb There's a significant pause before my script actually launches . . . .
07:07 brentdax Give me a minute and I'll see how long it takes to -c this beast.
07:08 brentdax 29 seconds, looks like.
07:08 brentdax (24s user, .053s system)
07:08 geoffb yeehaw
07:09 brentdax And it runs even slower--to render some of the larger help pages I wrote, I actually had to bump Apache's timeout settings.
07:09 brentdax (They default to five minutes; I had stuff that was taking six minutes and change to render.)
07:10 geoffb oh my
07:10 geoffb So far my graphics code is pretty slow, but not quite that slow.  :-)
07:13 brentdax In outline, I had code that would recursively look up pages in a database via DBI, extract the attributes, create a few objects, call a few methods, generate a big tree by parsing a markup language with an amazingly primitive regex-based parser, recurse down the tree to generate HTML, and finally spit the HTML out.  The parser did a ton of string twiddling--I never did any formal profiling,...
07:13 brentdax ...but when I had tracing code in that part of the process always seemed to take the longest--and the renderer did lots of concatenation.
07:13 geoffb yowza
07:14 brentdax I expect a big win if I redesign things to output the HTML as I go rather than building it up into a big string.
07:16 brentdax But, like quite a few other things, that can wait.
07:21 iblechbot has joined #perl6
07:25 larsen has joined #perl6
07:30 autrijus greetings
07:30 autrijus brentdax: you there?
07:30 geoffb g'day, autrijus
07:30 autrijus yo geoffb
07:31 jp-autark has quit IRC ("leaving")
07:31 jp-autark2 is now known as jp-autark
07:31 autrijus ooh, Kontent 0.02
07:32 autrijus wouldn't work on 6.2.9?
07:32 autrijus that probably means we need to release soonish
07:32 meppl has joined #perl6
07:32 autrijus again syncing with parrot's monthly release
07:34 geoffb How long until parrot's release?  A week?
07:35 autrijus any day now
07:35 meppl has quit IRC (Remote closed the connection)
07:35 autrijus another 3 days, if the past months is of any indication
07:36 geoffb Is Chip in the US?  It's a holiday weekend here
07:36 autrijus yeah
07:36 dduncan Its also a holiday weekend in Canada ... or BC anyway
07:36 dduncan oh, and greetings
07:37 geoffb greetings, dduncan
07:37 dduncan ditto
07:38 dduncan this all said, I'm about to go to bed ... as mentioned earlier, I just put my last 2 months of updates on CPAN ... with more to follow any day ...
07:38 dduncan the very next releases are special because they mark the first time ever I will use perltidy
07:39 * gaal greets everyone (night dduncan!)
07:39 * dduncan greets you also
07:49 bloves has quit IRC ("Download Gaim: http://gaim.sourceforge.net/")
07:53 rmr has joined #perl6
07:54 dduncan A suggestion ... one of the Perl Best Practice things is that indents are done with spaces (4 per indent level) rather than tabs ...
07:54 dduncan in a casual search of Pugs, it seems a lot of it is this way, but some chunks aren't
07:55 dduncan the other week I already converted the Perl 6 locale-keyedtext to spaces, but other areas remain
07:55 dduncan this might be something worth doing before the next release
07:55 dduncan unless there are any objections, I will see to doing this
07:56 dduncan ... over the weekend
08:01 autrijus I personally use spaces over tabs
08:01 autrijus if you do so, be sure to add a note in lib/pugs/hack.pod
08:02 luqui ?eval sub foo($x) { $x + 1 }   sub bar(&foo) { foo(2) }   bar({$^x + 2})
08:02 evalbot_6652 *** cannot cast from VRef <Sub> to Pugs.AST.Internals.VCode (VCode)     at -e line 11, column 5-122
08:02 autrijus luqui: got a test for that?
08:02 luqui well, it didn't do what actually went wrong
08:03 luqui I just checked in a test for what actually went wrong
08:03 luqui (I was screwing with my pugs, which is what evalbot_6652 uses, so maybe it's my code)
08:03 autrijus indeed as it worksforme
08:03 autrijus locally
08:03 autrijus I'll bbiab
08:04 luqui autrijus, by "worksforme", you mean it doesn't die
08:04 luqui it doesn't do what it should
08:04 luqui which is return 4
08:06 luqui ?eval sub foo($x) { $x + 1 }   sub bar(&foo) { foo(2) }   bar({$^x + 2})
08:06 evalbot_6652 3
08:07 rmr has left
08:14 meppl has joined #perl6
08:22 luqui ?eval 0 !! 0
08:22 evalbot_6652 bool::true
08:22 luqui ?eval 0 !! 0 !! 0
08:22 evalbot_6652 bool::false
08:22 luqui uh, where'd that operator come from?
08:23 dduncan comment added to hack.pod
08:24 dduncan oh, and that's a smart thing, having evalbot say what revision its running ... I don't remember it doing that a month ago
08:25 tene_ has joined #perl6
08:25 tene has quit IRC (Read error: 104 (Connection reset by peer))
08:25 lhooq has joined #perl6
08:27 autrijus luqui: !! is apparently "nor"
08:29 svnbot6 r6655 | Darren_Duncan++ | In lib/pugs/hack.pod, added asuggestion under 'Editing' to follow Damian's 'Perl Best Practices' where applicable, such as doing all indenting with spaces
08:29 luqui autrijus, is there a spec for that?
08:30 lhooq all indenting with spaces?
08:30 luqui I agree with that, considering that the *best* way to do indentation is hard to do
08:31 luqui (use tabs up to the code indent level, and use spaces after that for alignment)
08:31 luqui ?eval 0 nor 0
08:31 evalbot_6652 bool::true
08:36 * luqui can't find a spec for nor
08:36 luqui and seems only to recall vague musings on the subject
08:38 dduncan any decent text editor will allow you to continue typing the tab key to do indents, but will indent a run of spaces instead
08:39 dduncan so its actually no more work than using tabs
08:39 dduncan s/indent/insert/
08:39 dduncan second copy only
08:39 luqui uh, I don't think so
08:40 luqui you're referring to what I said was the best way?
08:40 dduncan yes
08:40 dduncan it is said that spaces are the best way to indent
08:40 luqui I haven't found a text editor that will tab up until I want it not to tab, and then space afte rthat
08:40 luqui well, with spaces, if somebody likes it two spaces while you like it four spaces
08:40 luqui that person is hosed
08:42 dduncan everybody has preferences, but 4 spaces is the happy middle ground ... sayeth the book
08:43 luqui yeah, I agree
08:44 luqui again, with the proviso that you can't do it the best way :-)
08:44 dduncan it's also said that one can run perltidy or some other utility automatically on checkout/checkin so that a person always sees their favorite way, but all repository code is consistent
08:44 luqui which lets everybody have his cake
08:44 luqui yuck
08:44 dduncan I'm not going to that trouble though, I'll just adapt to the best way
08:44 luqui that kills custom formatting
08:44 luqui one of the main reasons Larry does not make whitespace significant
08:44 dduncan if the utility is customizable, it can be set for whatever custom formatting you want
08:45 luqui no no no, I mean local custom formatting
08:45 luqui *just this function* needs to be indented weirdly because it will help you understand it
08:45 dduncan its not a matter of the compiler caring, its a matter of all humans being able to see the same thing when they look at a document
08:45 luqui yeah, so let me finish my sentence :-)
08:45 luqui one of the main reasons Larry does not make whitespace significant
08:46 luqui is so that you can indent customly when you need to to increase clarity
08:46 luqui even if that indentation is not "by the book"
08:47 * luqui sleep &
08:47 dduncan well, you don't have to use the utilities; I don't
08:48 dduncan as for the book, its only a suggestion that is backed up with reasons ... there are always exceptions ...
08:48 dduncan the main important thing is that a project is consistent with itself
08:48 scook0 has joined #perl6
08:49 dduncan a quick glance I made the other day suggested that over three-quarters of pugs was indented with spaces, and 4 per indent level
08:49 dduncan my suggestion was partly to alter the other part to be consistent with the majority
08:50 dduncan fyi, I have always used tabs to indent, but using spaces instead is one thing I am changing about my work habits, for the greater good
08:50 wilx Tabs are evil.
08:51 dduncan and so, there are no objections to removing all the tabs?
08:51 luqui not in particular, no
08:51 dduncan so then, I'll get to it this weekend
08:52 * dduncan now lay down to sleep
08:53 dduncan has quit IRC ()
09:04 joepurl_ has quit IRC (Read error: 110 (Connection timed out))
09:07 Aragone is now known as Arathorn
09:31 elmex has joined #perl6
09:58 nnunley has joined #perl6
10:03 nnunley has quit IRC ("This computer has gone to sleep")
10:07 Arathorn has quit IRC ("i hate computers...")
10:10 rantanplan_ has joined #perl6
10:23 autrijus amazing! my newly purchased 80gb laptop HD just died _again_
10:23 autrijus I'm seriously contemplating ataraid for the laptop :-/
10:23 * autrijus goes off to buy a replacement and hope restore will not take too long this time
10:23 luqui :-(
10:23 autrijus what's wrong with my laptop
10:24 autrijus maybe it's because I put it upside down to run overnight without air condition
10:24 autrijus maybe it's because I constantly drop water into it
10:24 autrijus maybe it's that I hold it on my left hand and bumps into stuff all the time
10:24 autrijus mmm the possibilities
10:25 luqui maybe you need a waterproof, water-suspended laptop
10:26 autrijus that sounds like a good idea
10:27 saorge has joined #perl6
10:28 obra autrijus: I sort of wonder if you'd do better with a mini laptop and a heads up display
10:28 joepurl_ has joined #perl6
10:28 * clkao grins at autrijus
10:29 clkao obra: he tried
10:29 autrijus obra: too bad for my eyes
10:30 autrijus it's easy to get tired coding on a HMD
10:30 clkao you need brain mount display
10:30 autrijus right, I need implants
10:31 obra hm.
10:32 obra I really want a convertable tablet.
10:35 joepurl_ has quit IRC (Read error: 104 (Connection reset by peer))
10:36 joepurl_ has joined #perl6
10:36 nnunley has joined #perl6
10:39 nnunley has quit IRC (Client Quit)
10:43 acme the lenovo tablet looks nice
10:52 obra the X41?
10:54 nnunley has joined #perl6
10:57 acme what does has $:pool mean?
10:57 luqui the current class has a private member variable called $:pool
10:57 luqui (the : means it's private)
10:57 acme aha
10:58 luqui though we seem to be leaning toward damian's idea that the private : should be spelled _ these days
10:58 Juerd Rehi!
10:58 Juerd The neat thing about _ is that it *isn't* special, right?
10:58 luqui no, but it is
10:58 Juerd Then I'm against
10:59 luqui we're just taking convention and enforcing it just a little bit
10:59 Juerd In almost every snippet of code, I find a good use for prefixed _s
10:59 luqui Juerd, is it always the same use?
10:59 Juerd No
10:59 Juerd OTOH, this is probably only for methods and properties?
11:00 luqui attributes, yes
11:00 Juerd Oh, right, attributes in Perl 6 :)
11:00 Juerd Properties is Perl 5 lingo
11:00 luqui it is?
11:00 Juerd (Attributes is too, but that's what is now traits - right?)
11:00 Juerd Yeah
11:00 * luqui never heard of that one
11:00 * luqui heard of attributes, though
11:00 Juerd I investigated that thoroughly to name Attribute::Property
11:00 Juerd Which introduces an attribute called Property :)
11:01 Juerd Concensus in Perl 5 is to call object attributes "properties", like they are called in at least visual basic
11:01 luqui how very confusing :-)
11:01 luqui most .net languages call them so
11:01 Juerd People using the word "attributes" for this often aren't aware of the OTHER THING called so :)
11:01 Aankhen`` has quit IRC (Read error: 104 (Connection reset by peer))
11:02 Juerd Generally, "attributes" for object attributes is found mostly in pre-5.6 documentation
11:05 * luqui should really get at least a little sleep before school tomorrow
11:05 * luqui &
11:11 nnunley has quit IRC (Read error: 104 (Connection reset by peer))
11:15 Juerd Sleep well
11:16 iblechbot has quit IRC (Read error: 110 (Connection timed out))
11:23 nnunley has joined #perl6
11:29 joepurl_ has quit IRC (Read error: 110 (Connection timed out))
11:32 elmex has quit IRC ("leaving")
11:33 svnbot6 r6656 | scook0++ | * More Parser Haddock docs
11:51 xinming has joined #perl6
11:52 Aankhen`` has joined #perl6
11:54 iblechbot has joined #perl6
11:57 xinming ?eval [+]@[1,2,3]
11:57 evalbot_6652 Error:  unexpected "@" expecting "\171", "<<", ".", ":", "(", block construct, "::", term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
11:57 orafu has quit IRC (Read error: 104 (Connection reset by peer))
11:57 xinming ?eval [+] @[1,2,3]
11:57 evalbot_6652 Error:  unexpected "@" expecting block construct, ":", "::", term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
11:59 orafu has joined #perl6
11:59 xinming ?eval my $ref = [1,2,3]; [+]$ref;
11:59 xinming ?eval my $ref = [1,2,3]; [+]@$ref;
11:59 xinming ?eval [+](@[1,2,3])
11:59 evalbot_6652 [1, 2, 3]
11:59 evalbot_6652 6
11:59 evalbot_6652 Error:  unexpected "[" expecting program
12:04 xern has joined #perl6
12:08 nnunley2 has joined #perl6
12:09 nnunley2 has quit IRC (Client Quit)
12:16 orafu has quit IRC ("leaving")
12:16 orafu has joined #perl6
12:18 orafu has quit IRC (Client Quit)
12:18 orafu has joined #perl6
12:19 kolibrie has joined #perl6
12:21 nnunley has quit IRC (Read error: 110 (Connection timed out))
12:29 mjl69 has joined #perl6
12:30 xinming seen autrijus
12:30 jabbot xinming: autrijus was seen 1 hours 59 minutes 38 seconds ago
12:32 elmex has joined #perl6
12:38 jabbot has quit IRC (Remote closed the connection)
12:42 fsweetser has quit IRC ("Leaving")
12:42 stevan :)
12:42 stevan TAPL is on it's way here
12:43 * stevan loves the internet :)
12:48 GeJ stevan: grabbing ebooks on P2P networks is baaaaaaad, you know? :)
12:48 GeJ oh you mean, online shops?
12:48 GeJ sorry... my bad
12:49 stevan GeJ: not a big p2p fan anyway
12:49 stevan but yes, I mean bookpool.com in particular
12:51 GeJ hum, didn't know this one...
12:51 stevan GeJ: it's a nice one,.. they have good deals on tech books
12:53 GeJ I just ordered a few books from Martin Fowler on amazon, the prices seems more or less the same. But I'll keep it in my bookmarks.
12:53 stevan they are sometimes a few dollars less than amazon
12:53 stevan but they tend to have good sales,. and the selection is huge
12:54 GeJ I'll have a look and see about world-wide deliveries...
12:54 stevan hmm, that they might not do
12:55 GeJ I'm going to move to the middle of nowhere next year, and I need to be able to feed my shelves with new books
12:58 mjl69 has quit IRC ()
13:05 fglock has joined #perl6
13:06 mjl69 has joined #perl6
13:08 xinming has quit IRC ("I really love GNU")
13:08 dudley has joined #perl6
13:11 mjl69 has quit IRC ()
13:29 mjl69 has joined #perl6
13:33 nnunley has joined #perl6
13:38 leo has quit IRC ("leaving")
13:38 svnbot6 r6657 | Stevan++ | Perl6::MetaModel 2.0 -
13:38 svnbot6 r6657 | Stevan++ | * added a 10,000 ft. view updated for MM 2.0
13:38 svnbot6 r6657 | Stevan++ | * moved Syn 12.5 over from MM 1.0 to here
13:39 fglock stevan: ping
13:45 mjl69 has quit IRC ()
13:46 xern has quit IRC ("leaving")
13:47 xern has joined #perl6
13:49 Maddingue has quit IRC (Read error: 110 (Connection timed out))
13:53 Maddingue has joined #perl6
14:02 Aankhen`` has quit IRC (Read error: 110 (Connection timed out))
14:04 SM_ax has quit IRC ("Download Gaim: http://gaim.sourceforge.net/")
14:05 stevan fglock: pong
14:08 fglock stevan: I worked a bit on 'Type' yesterday
14:09 fglock I'm still not sure what a Type is
14:09 fglock (Class | Sub | Code)
14:10 stevan fglock: I am not sure about Type either
14:13 rantanplan_ has quit IRC (Remote closed the connection)
14:15 svnbot6 r6658 | iblech++ | * pugs::hack: Extremely minor cosmetic fixes.
14:15 svnbot6 r6658 | iblech++ | * t/statements/for_with_only_one_item.t: Expanded tests based on p6l feedback,
14:15 svnbot6 r6658 | iblech++ |   Juerd++, see http://www.nntp.perl.org/gro​up/perl.perl6.language/22971.
14:15 svnbot6 r6658 | iblech++ | * Removed t/operators/binding.t and added t/operators/binding/scalars.t (former
14:15 svnbot6 r6658 | iblech++ |   binding.t), t/operators/binding/arrays.t (39 tests), and
14:15 svnbot6 r6658 | iblech++ |   t/operators/binding/hashes.t (30 tests).
14:15 svnbot6 r6658 | iblech++ | * PIL2JS: Prelude::JS::Array, Prelude::JS::Hash: Binding of not yet existing
14:15 svnbot6 r6658 | iblech++ |   array/hash elements should autovivify (i.e., @array[$out_of_bounds_index] :=
14:15 svnbot6 r6658 | iblech++ |   ..., %hash<not_existing_key> := ... should work). With these fixes, PIL2JS
14:15 svnbot6 r6658 | iblech++ |   passes binding/scalars.t 28/28, arrays.t 36/39, and hashes.t 30/30. :)
14:25 scook0 has quit IRC ("Leaving")
14:25 mjl69 has joined #perl6
14:29 mjl69 has quit IRC (Client Quit)
14:29 rantanplan_ has joined #perl6
14:30 mjl69 has joined #perl6
14:33 svnbot6 r6659 | iblech++ | * Usual svn props.
14:33 svnbot6 r6659 | iblech++ | * New t/var/assigning_refs.t: Tests for @array = $arrayref, @array =
14:33 svnbot6 r6659 | iblech++ |   ($arrayref,), @array = ($arrayref), etc. (and the same for hashes).
14:33 svnbot6 r6659 | iblech++ |   Juerd++, see http://www.nntp.perl.org/gro​up/perl.perl6.language/22959.
14:35 mjl69 has quit IRC ()
14:38 cognominal ?eval  say @p == 0
14:38 evalbot_6652 Error: Undeclared variable: "@p"
14:38 cognominal ?eval  my @p; say @p == 0
14:38 evalbot_6652 1 bool::true
14:39 cognominal ?eval  my @p; say +@p == 0
14:39 evalbot_6652 1 bool::true
14:41 justatheory has joined #perl6
14:41 ycheng help: "$a = <>;" in pugs ?
14:44 typester is now known as typeout
14:44 PerlJam ycheng: $a = =<>;
14:45 PerlJam ycheng: unary = is an iterator.  Iterating over the empty string will act like the diamond operator in perl5
14:53 ycheng PerlJam: it works, but still hard to understand.
14:56 Khisanth the fish op :)
14:57 mjl69 has joined #perl6
14:57 PerlJam ycheng: what's hard to understand exactly?
14:59 PerlJam ycheng: If you have a file handle in $fh, then =$fh will read a "record" from that file handle (where "record" is typically a line)
14:59 ycheng PerlJam: oh
14:59 ycheng PerlJam: I thought it will be something like $fh.read() or something
15:00 mjl69 has quit IRC (Client Quit)
15:00 ycheng PerlJam: why $a = = ""; doesn't work, if <> means an empty string ?
15:00 fglock has left "Fui embora"
15:02 mjl69 has joined #perl6
15:02 Khisanth =<> is probably the <> operator at work
15:04 Khisanth which I am not quite sure what it is but you can do for =</etc/passwd> -> $foo { say $foo } :)
15:04 Khisanth which actually looks extremely weird right now
15:04 nnunley has quit IRC ("This computer has gone to sleep")
15:12 typeout is now known as typester
15:24 GeJ has quit IRC ("Client exiting")
15:26 nnunley has joined #perl6
15:31 rantanplan_ has quit IRC (Remote closed the connection)
15:37 mjl69 has quit IRC ()
15:58 meppl has quit IRC (Remote closed the connection)
16:09 rantanplan_ has joined #perl6
16:12 SM_ax has joined #perl6
16:23 meppl has joined #perl6
16:37 fglock has joined #perl6
16:53 stevan has quit IRC ("Leaving")
16:56 hlen has quit IRC (Read error: 110 (Connection timed out))
16:58 fglock putter: ping
17:00 stevan has joined #perl6
17:01 rantanplan_ has quit IRC (Remote closed the connection)
17:17 SM_ax has quit IRC (Read error: 104 (Connection reset by peer))
17:20 mjl69 has joined #perl6
17:29 mjl69 has quit IRC ()
17:29 SM_ax has joined #perl6
17:37 saorge has quit IRC ("Leaving")
17:47 lhooq has quit IRC ("no reason to play it any way but my way")
18:04 svnbot6 r6660 | fglock++ | * perl5/Code - implemented 'returns'+Type
18:10 SM_ax has quit IRC (Read error: 110 (Connection timed out))
18:10 SM_ax has joined #perl6
18:17 joepurl_ has joined #perl6
18:20 mjl69 has joined #perl6
18:24 hexmode has joined #perl6
18:27 nnunley has quit IRC (Read error: 110 (Connection timed out))
18:28 svnbot6 r6661 | fglock++ | * perl5/Code - implemented subtypes
18:28 svnbot6 r6661 | fglock++ |   $Int=Perl6::Type->new(...); MyType=Perl6::Type(..., supertype=>$Int);
18:43 mjl69 has quit IRC ()
18:51 pdcawley has quit IRC ()
18:52 mjl69 has joined #perl6
19:05 mjl69 has quit IRC ()
19:06 pdcawley has joined #perl6
19:33 brentdax has quit IRC (Read error: 110 (Connection timed out))
19:40 erg has quit IRC (Read error: 104 (Connection reset by peer))
19:46 putter has joined #perl6
19:49 fglock hi putter
19:49 putter fglock: pong
19:49 putter oh, hi fglock
19:51 fglock putter: I see both p6_new_sub_from_pil_macro() and p6_new() create Subs - is it possible to move it to a single place (more maintainable)
19:52 * putter looks...
19:52 fglock wait...
19:54 fglock I see the purpose is a bit different - maybe it's ok
19:55 fglock I'm adding some features to Code.pm - I'm trying to find out how to move them into PIL-Run
19:55 fglock btw - what does 'crude_repl' means?
19:55 typester is now known as sleepster
20:00 putter ok... (not a great name... p6_new_sub_from_pil_macro means p6_new_sub_from_pil "and its a" _macro)  it looks like the only real overlap is the last 5 lines.  the rest is either play with pil code, or a p5 code string that when evaled does what p6_new does...
20:02 fglock I'm trying to add optional arguments to p6_new('Sub', ... )
20:02 fglock like ?$a
20:02 putter so there are 3 copies of sub creation.  create a p5 code string which does it (used in pil compilation), do it now (p6_new), and do it now after figuring out what's needed from pil (the aforementioned 5 lines).
20:03 putter re crude_repl, read-eval-print-loop (wikipedia), and... well, crude is self explanatory, though increasingly non-applicable ;)
20:03 fglock there is a weird problem with my zip() signature
20:03 fglock (1,2,3) Y (4,5,6) works
20:04 fglock but (1,2,3).zip(4,5,6) doesn't - it gets 3 integers instead of a list
20:04 fglock and (1,2,3) Y (4,5,6) Y (7,8,9) doesn't work either
20:05 putter hmm...  have you looked at what's different about the PIL?  and the generated p5?
20:05 * putter goes to look...
20:07 fglock (1,2,3).zip((4,5,6)) works
20:10 putter re "but (1,2,3).zip(4,5,6) doesn't - it gets 3 integers instead of a list", you mean the 4,5,6?
20:11 fglock yes
20:13 putter all arguments are being passed a normal p5 "list" of arguments.
20:13 putter to the mm, too, no?
20:13 putter s/passed a/passed as a/
20:14 putter we can certainly switch to Lists... looking...
20:15 fglock it I use a @x signature, it should make an Array, right?
20:17 fglock I just noticed there is no signature, because MM1 methods aren't objects :(
20:17 putter yeah, I was wondering about that # mm1 methods
20:18 fglock MULTI SUB Array::zip ($x0,$@1) { $x0->zip($x1) }; should work, right?
20:18 putter p6 subs declared *@x should get slurped arguments.  @x is more of a type declaration than a request for different behavior
20:18 fglock I mean @x1
20:19 fglock trying...
20:19 putter no, that should be :zip ($x0,*@x1) { $x0->zip(@x1) }   or zip(\@x1) if you want to pass a ref.
20:20 putter p6 objects, regardless of type, become scalars of the same name.  slurpies become arrays/hashes of the same name.
20:21 putter "become" meaning "that's what they are called in the (p5) interior of the primitive"
20:21 fglock cool - it works now!
20:21 fglock (1,2,3).Array::zip(4,5,6)
20:21 putter :)
20:21 fglock defined as: MULTI SUB Array::zip ($x0,*@x1) { $x0->zip( p6_from_a( @x1 ) ) };
20:22 putter ahh,  yes.  :)
20:22 putter fglock++
20:22 putter ;)
20:23 fglock (1,2,3).zip(@a)  works too - everything is fine
20:23 putter what's the state of methods and classes?  or is that all mm2?
20:24 fglock I've been talking to stevan about unifying Code.pm and MM2 - but he thinks it is too early
20:25 putter I believe there is now enough (kludged) info in the pil to start generating classes and methods...
20:25 putter ah, ok.  well, whenever you guys are ready, or would like to exercise something.
20:26 fglock no problem - you can use MM1
20:26 putter ?
20:26 putter has classes/methods?
20:26 fglock MM2 is a cleaner implementation, but the API should not change much
20:27 fglock sure - all Perl6::Value and Perl6::Container are based in MM1 classes and methods
20:27 fglock there are only a few things missing
20:27 putter neat.  so...   what does  class C{has $.x; method m(){$.x}}  look like in mm api?
20:27 fglock like anonymous classes, but there are workarounds
20:28 putter I can then bang on EvalX until it emits it...
20:29 putter hmm, oh, wait, no I cant.
20:29 putter pilrun still doesnt do any control flow.  we're only using Sub in the context of primitives.  you cant compile a sub.
20:30 fglock class C{is=>['Perl6::Object'],instance=>{attrs​=>['$.x'],methods=>{'m'=>sub{_('$.x')}}}
20:30 fglock add or take curlies
20:30 putter hmm...
20:31 fglock a Sub is an object - you can store it in a p5 scalar and use it later
20:31 fglock you can store the subs in a hash for lookup
20:31 putter ok, let's see how many silly things I can say today.  of course we can compile subs.  we have a p6 prelude.  doh.
20:31 fglock local subs are tricky, but we can add that later
20:32 putter ok, I'll try to get the bare bones of pilrun class compiling in.
20:32 fglock :)
20:33 fglock wait - I'll commit zip()
20:33 fglock done
20:33 putter np.  svn seems to have been pretty good at dealing, even when we were editing the same file at the same time.
20:34 sahadev has quit IRC ("Client exiting")
20:34 putter ?eval my %h=(a=>11,b=>12); class C{has $.a; has $.b;} C.new(*%h)
20:34 evalbot_6652 Error: Must only use named arguments to new() constructor
20:34 putter ?eval my %h=(a=>11,b=>12); class C{has $.a; has $.b;} C.new(%h.pairs)
20:34 evalbot_6652 Error: Must only use named arguments to new() constructor
20:34 putter ?eval my %h=(a=>11,b=>12); class C{has $.a; has $.b;} %h.pairs
20:34 evalbot_6652 (\('a', 11), \('b', 12))
20:35 putter Is that a bug?  # the C.new(%h.pairs) not working?
20:36 putter It's rather putting a crimp in my p6-based pil parsing
20:37 autrijus has quit IRC (Read error: 110 (Connection timed out))
20:38 svnbot6 r6662 | fglock++ | * PIL-Run - fixed zip()
20:38 fglock I think that's because %h.pairs is an Array, and the signature doesn't permit Array -> List of Scalar
20:39 fglock or List of Any
20:41 putter ?eval my %h=(a=>11,b=>12); class C{has $.a; has $.b;} C.new(*(%h.pairs))
20:41 evalbot_6652 Error: Must only use named arguments to new() constructor
20:42 putter ?
20:44 putter re mm class, will everything be ok if methods are added incrementally?  $existing_class->{'methods'}{'m2'} = sub ...
20:45 whiteg has quit IRC (Read error: 110 (Connection timed out))
20:46 fglock yes, but you have to check the API for how to do it, I haven't used it like that - see the t/ directory for good examples
20:48 putter great.  thanks.
20:56 svnbot6 r6663 | putter++ | Perl/Compiler/PIL/Node_pm_gen.pl: a bit of progress.
20:56 fglock (1,2,3) Y (4,5,6) now returns '1' - but it calls (1,2,3).zip(4,5,6) which returns the correct answer ???
21:02 svnbot6 r6664 | fglock++ | * PIL-Run - added debugging code to zip() - commented out
21:06 kolibrie has quit IRC ("leaving")
21:08 PerlJam returns 1?
21:08 PerlJam sounds like it's in a boolean context
21:08 fglock 2 ^.. 4 returns '1' too - the problem must be somewhere else
21:08 fglock it used to work
21:09 justatheory has quit IRC ()
21:09 fglock yup - all PrimP6 subs are failing
21:10 fglock but PrimP5 works fine
21:11 Amnesiac has joined #perl6
21:13 fglock putter: in the last lines of p6_new_sub_from_pil_macro() - a Sub object is created but it is not stored anywhere
21:16 penk has quit IRC (Read error: 104 (Connection reset by peer))
21:17 putter correct, it's returned.  or would be - I suspect  p6_new_sub_from_pil_macro  is never currently called without $want_macro set.
21:18 fglock ok - my mistake :)
21:20 putter np.  :)  at all.
21:21 * putter 's theory of maximum collective rate of progress - folks familiar with component x should strive to keep questions about, and limitation of, x, out of peoples' way.
21:22 putter If that means you get less done yourself, well, as long as the folks you are helping are good productive people, its still a net win.
21:23 iblechbot has quit IRC (Read error: 113 (No route to host))
21:23 dudley has quit IRC ()
21:26 SamB has quit IRC (Read error: 54 (Connection reset by peer))
21:31 fglock re PrimP6 subs failing - I may have done something wrong, but I don't know what it was
21:31 justatheory has joined #perl6
21:33 putter looking...
21:38 fglock bb later - I will read the logs
21:39 fglock has left "Fui embora"
21:42 SamB has joined #perl6
21:43 hexmode has quit IRC (Read error: 104 (Connection reset by peer))
21:45 putter -3  stopped working between -r6659 and -r6660
21:45 SM_ax has quit IRC ("Download Gaim: http://gaim.sourceforge.net/")
21:50 hlen has joined #perl6
22:02 svnbot6 r6665 | putter++ | Perl6-Value/lib/Perl6/Code.pm: unbreak r6660.  Scalar variable used to hold the return value of an array returning function.  The variable is also passed to self->returns->match(), so further tweaking may be required.
22:13 penk has joined #perl6
22:19 PerlJam has quit IRC (Read error: 110 (Connection timed out))
22:27 joepurl_ has quit IRC (Remote closed the connection)
22:40 rlb3_ has quit IRC (Remote closed the connection)
22:41 rlb3 has joined #perl6
23:07 rlb3 has quit IRC ()
23:31 justatheory has quit IRC ()
23:37 justatheory has joined #perl6
23:38 thomason has joined #perl6

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

Perl 6 | Reference Documentation | Rakudo