Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-04-25

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:11 mako132_ joined perl6
00:16 nowhereman Hi, I'm just discovering the world of capabiliy-based security, and I'd like to know if someone has already considered using Perl6 to run capability-based programs (maybe by modifying Perl6 or with just some options or extension to it)
00:19 avar What are capability-based programs'
00:21 cognominal nowhereman:  no, capabilty has not been covered. the closer you can get is describe in docs/pdds/clip/pdd18_security.pod
00:23 cognominal I see that opcode are tagged, I don't know if this mechanism can be used to mark what capability is necessary to run a given opcode
00:24 cognominal for example open is tagged with :filesys_open, it seems to me this has been done with capabilties in mind
00:25 cognominal I am talking about parrot here
00:36 KingDillyDilly Since I heard that Windows had Common Criteria certification, I thought it would be cool if some modules or Perl itself had it. A list of orher CC certified products is at http://niap.nist.gov/cc-scheme/vpl/vpl_type.html . Good way to get attention if a programming language is the first to recieve such certification.
00:43 amnesiac joined perl6
00:44 dbrock joined perl6
00:53 flounder99 joined perl6
00:53 nowhereman avar: (sorry for the delay) in capability-based security, you don't have ambient permissions (as in 'avar has read/write access to /home/avar')
00:54 nowhereman instead, you invoke all methods of objects through capabilities, and to have access, you must be given the appropriate capability
00:55 nowhereman and in capability-based systems, it seems to be much simpler to give capabilities to processes than it would be possible to maintain ACLs for processes
00:55 nowhereman so you have a more fine-grained security
00:55 nowhereman and it has positive side-effects
00:55 nowhereman compromising a program is much harder
00:55 nowhereman because it does not just have access to some resources
00:56 nowhereman it can access them with specific capabilities
00:57 nowhereman thus, to compromise a program, you must not only instruct it to access the resource you want, you must instruct him what capability, among all it owns, he must use to do that
01:01 TimToady so where would this impact the programming API?
01:12 nowhereman capabilities can be hidden by the API or not
01:12 nowhereman you can still use fopen()
01:13 theorbtwo nowhereman: Right.  Now make your capabilities just be objects.
01:13 nowhereman and fopen() could make implicit use a capabilities the perl program has
01:13 theorbtwo The only hard bit is keeping the program from using constructors that aren't object methods.
01:13 nowhereman the thing is, capabilities must be unforgeable to have usefulness
01:14 nowhereman in some systems, you use capabilities with slots
01:14 theorbtwo nowhereman: I think most perl6 objects are.  (Unlike most perl5 objects.)
01:14 * theorbtwo wonders if it'd be useful to have a automagical index of type names in A*, by forcing the authors (I'm looking at you, TT), to write C<::...> when talking about a type.
01:15 nowhereman say I gain a read capability to a file, and it goes to a slot name FILE, I'll do something like FILE->read(), but I must have no means to read the capability itself
01:16 nowhereman the capability must be opaque to me
01:16 nowhereman so there must be some enforcement by the runtime or the OS
01:22 xern joined perl6
01:26 frederico joined perl6
01:28 jsiracusa joined perl6
01:35 kanru joined perl6
01:54 TimToady theorbtwo: grep 'C<[A-Z][a-z]*>' * seems to work fine on the synopses
01:54 theorbtwo Ah, I suppose it would.
02:00 buu Help! Perl6::Form is driving me insane
02:01 obra seen audreyt
02:01 jabbot obra: audreyt was seen 8 hours 47 minutes 8 seconds ago
02:01 buu I'm trying to devise a format so the overflow is placed on the next line
02:02 buu Or alternatively the text is wrapped..
02:03 FB|afk is now known as FurnaceBoy
02:05 buu It seems like there should be a way to make it work..
02:09 buu Ahh, nice
02:18 LCamel joined perl6
02:20 LCamel joined perl6
02:26 KingDillyDilly left perl6
02:28 LCamel joined perl6
02:35 buu Hmph
02:35 buu It ignores page width. Awesome.
02:36 clkao
02:36 buu Nice space
02:37 mako132_ joined perl6
02:39 KingDillyDilly joined perl6
02:44 weinig is now known as weinig|sleep
02:47 FurnaceBoy makes me wish gaim didn't run on windows
02:47 buu Grah. There has to be a sane way to use this.
02:54 svnbot6 r10072 | audreyt++ | * README - even more "compilation copyright" clarification.
03:01 TimToady audreyt: s/DISCAIMER/DISCLAIMER/
03:03 svnbot6 r10073 | audreyt++ | * 05:03 < TimToady> audreyt: s/DISCAIMER/DISCLAIMER/
03:04 TimToady Guess I coulda done that myself, now that I think of it... :)
03:05 pmichaud good evening, all
03:05 TimToady But then, I suppose I could just go in and change everything to Artistic 2.  Bwah, ha, ha!!!
03:06 TimToady pmichaud: howdy
03:06 TimToady "all" isn't very much at the moment.
03:06 pmichaud tis enough for me :-)
03:06 pmichaud any ideas for re-christening PGE with a new name?  ;-)
03:06 pmichaud (since I know that "PGE" has some negative connotations :-)
03:07 audreyt it does? :)
03:07 pmichaud I'm doing some rework, so now might be a good time for a renaming
03:07 TimToady well, PIG wouldnt do...
03:07 pmichaud on the west coast, "PGE" == "Pacific Gas and Electric"
03:07 TimToady I don't think you really need to worry about PG&E...
03:07 audreyt I think PGE is fine...
03:07 pmichaud okay, we can keep PGE then :-)
03:07 TimToady I'm easy.
03:07 TimToady sometimes...
03:08 TimToady am I changing the spec faster than you can keep up?
03:08 pmichaud no, not really
03:08 pmichaud PGE has a fair bit of historical baggage in it (due somewhat to Parrot limitations at the time) so now's a good time to clean things up
03:09 pmichaud for example, when I first wrote PGE, we didn't have named parameter passing, or slurpy parameters, or ...
03:10 PerlJam good evening pmichaud, TimToady, audreyt
03:10 pmichaud heya, PerlJam
03:10 TimToady I'm afraid I've been somewhat delirious the last few days.  A low fever is a wonderful thing for certain kinds of mentation...
03:12 PerlJam pmichaud: where has PGE a negative connotation?
03:12 pmichaud perljam:  think "CP&L"
03:12 TimToady central?
03:12 pmichaud yeah, "Central Power and Light" :-)
03:13 TimToady only gas and electric in our case...
03:13 pmichaud although I don't know what they're calling themselves today -- they've changed their name a couple of times
03:13 TimToady off to ruin a few more good acronyms, eh?
03:13 PerlJam pmichaud: well, if you do change the name, it *must* start with P :-)
03:14 pmichaud I do know that CP&L had a very nasty habit of being off by 1kWh when reading my meter :-(
03:14 TimToady and not have y as the second letter...
03:15 TimToady well, if they have PyPy, maybe we should have PePe...
03:15 PerlJam yeah, the full set of letters to stay away from is y,t,h,o,n,u,b  ;-)
03:15 TimToady PIRE (Perl Incompatible Regular Expressions)
03:16 TimToady PIRX
03:16 pmichaud aha!  prix!
03:16 PerlJam heh
03:16 pmichaud (don't know what it stands for, but it sounds cool)
03:16 arcady PIIE (Perl Incompatible Irregular Expressions)
03:16 arcady pie!
03:16 TimToady Saul, Saul, it is hard for thee to kick against the prix.
03:16 PerlJam pmichaud: it also sounds vaguely obscene.
03:16 TimToady too amuricn.
03:17 pmichaud no, pj, as in "grand prix"
03:17 TimToady PIRT Perl Incompatible Rules & Tokens...
03:17 PerlJam pmichaud: And you don't think that it'll get pronounced the other way more often than not in the US?
03:18 pmichaud perljam: touche'
03:18 TimToady PCRER.
03:19 TimToady ... redux.
03:19 TimToady or Reprise
03:19 TimToady PCRERE
03:20 TimToady PCR Perl Chain Reaction--really confuse the bioperl folks...
03:20 azuroth joined perl6
03:20 PerlJam fglock already has PCR
03:21 TimToady PKRE
03:21 PerlJam (and I can't help but think Polymerase Chain Reaction every time I see it)
03:21 TimToady RENEW (sounds environmental)
03:22 TimToady and of course, the FSF's forked version, REGNU
03:22 PerlJam heh
03:22 PerlJam NAIRE
03:22 PerlJam New and Imrpoved
03:22 PerlJam er, s/rp/pr/
03:22 TimToady New and Improvised
03:23 TimToady SEX
03:23 TimToady S*E*X
03:23 PerlJam Rules and Tokens and Grammars  RaTaG
03:24 pmichaud uh oh.  "Rules and Tokens and Grammars, Oh My!"
03:24 TimToady Six Extended eXpressions
03:24 TimToady rotting?
03:24 PerlJam TimToady: you're starting to go quite the wrong direction with this  ;)
03:24 TimToady told you I was delirious...
03:29 PerlJam MRE (more)  QRE (quantum)  RETNG
03:35 buu Perl6 rules =[
03:36 buu Actually, I meant forms.
03:36 TimToady you'll have to file a formal complaint
03:38 buu Where?
03:38 buu Hrm. My problem is I want an overflow field to only show up if there is data to flow in to it
03:39 buu At the moment it works fine, but when there is no data I get unsightly newlines.
03:39 pmichaud the line for complaints forms on the right
03:40 TimToady and stretches all the way to Australia, in this case...
03:41 TimToady Maybe you should just fix it and send a patch to Damian...it's just Perl 5...  :D
03:41 buu Or I could use a block, but then it repeats characters =[
03:42 TimToady on the other hand, he's redesigning it all right now anyway, since I swiped his curlies for closures...
03:42 buu Damn.
03:43 TimToady that was a long time ago...
03:43 buu Basically I have something like: ({<<<<}) {[[[[[+}; which almost works, but the parens are repeated when the block wraps
03:43 buu So I get unsightly (      ) lines
03:44 buu I could use an overflow block, but then if there is no data it renders as a new line.
03:44 buu I suppose I could manually pull out blanklines..
03:46 TimToady You'll really have to complain to Damian about it.  I kinda meant it when I wrote Apocalypse 7 in six words.
03:46 TimToady Two of which were "See Damian"
03:47 buu !
03:47 buu Yeah, but he's not coviently on IRC so I can yell at him
03:47 pmichaud it's probably convenient for him :-)
03:47 buu Yeah, probably.
03:48 buu I rather like the power and flexibility of p6::forms, but it'd be nice if someone other than me could ever understand how to use them..
03:48 buu Or at least, someone using my program
03:49 TimToady It's no accident that Damian gives talks entitled "Sufficiently Advance Magic"
03:49 buu Heh.
03:49 buu I just need a SIMPLE way to define some kind of format for my console output
03:49 buu Perhaps I can do some bastardization of printf
03:52 TimToady .oO(Some would call that redundant)
03:53 buu Well, yeah
03:53 buu But the basic concept is simple enough
03:53 buu I'm trying to decide how I could specify wrapping..
03:53 TimToady If it's good enough for Apostle Dennis, it's good enough for me...
03:54 buu Dennis?
03:54 TimToady of K&R fame.
03:55 buu I see.
03:58 SamB is Sufficiently Advanced Magic indistinguishable from Technology?
03:59 buu We can hope.
04:12 kanru joined perl6
04:44 audreyt TimToady: "Buf" is a reference type then?
04:45 audreyt (.id not depending on content)
04:45 audreyt TimToady: also, for "buf", would it make sense to extend it? I can see maybe "pop" or "shift"
04:45 audreyt as well peek and poke
04:45 audreyt but pushing into a buffer means another malloc() underneath
04:45 audreyt not sure "buf" is the correct layer to do that
04:45 audreyt not sure about "Buf" either
04:47 TimToady I think of a buf as basically a Perl 5 string, non-unicode version, for good or ill
04:48 audreyt me too
04:48 audreyt so in that case you can't poke into it...
04:48 TimToady it would be nice to be able to lock one down to a particular patch of virtual memory.
04:48 audreyt substr("x", 0, 1, 'y');
04:48 audreyt # error
04:49 TimToady you're no fun.
04:49 audreyt indeed
04:49 audreyt if you want to poke into it, then it's a fixedsizedarray
04:49 audreyt but fixedsize means it can't be extended
04:49 audreyt (yeah, it's not fun :))
04:50 TimToady I think bufs that aren't locked down should be just as extensible as arrays.
04:51 audreyt ok, but is the extended buf the same buffer?
04:51 audreyt that is, does it change the .id?
04:51 TimToady Their id is the object that keeps track of where it really is.
04:52 audreyt ok, so dynamic malloc() is needed
04:52 audreyt one way or another
04:52 audreyt that's fine...
04:52 beppu joined perl6
04:53 audreyt but they are continuous, not sparse?
04:53 TimToady yes.
04:53 TimToady (I think.)
04:53 audreyt good, so it's essentially native "seq" operating on "uint"
04:53 TimToady I'm thinking of the recent Linux controversy over sending buffers through the kernel
04:53 audreyt with the ability to realloc if needed
04:54 TimToady I'd be nice to have a buffer abstraction that could manage that for you.
04:54 audreyt right
04:54 TimToady did you see that
04:54 TimToady ?
04:55 TimToady basically Linus saying COW is stupid way to send messages.
04:55 audreyt yeah.
04:55 TimToady and that for efficiency you have to be able to send chunks of vm over to the kernel.
04:56 audreyt how does that relates to this...?
04:56 TimToady so we can have a buffer whose virtual address changes but is logically the same "write buffer"
04:56 beppu http://kerneltrap.org/node/6506
04:56 TimToady it's locked down in the sense of size, but not in the sense of address.
04:56 audreyt so you mean, we have extensible buffer
04:56 audreyt and locked down buffers
04:56 audreyt and using the same object
04:57 audreyt it carries the state of lockedness
04:57 TimToady maybe
04:57 audreyt and you can toggle them
04:57 audreyt in locked state it guarantees to not call malloc
04:57 audreyt and may do some defrag before that
04:57 audreyt in unlocked state it reallocs as needed
04:57 TimToady basically you shouldn't keep pointers into the buffer.
04:57 audreyt which may cause frags
04:57 audreyt yeah. but to pass to C-land for foreign function interface
04:57 TimToady because they may get falsified, even for a non-extensible buffer.
04:58 audreyt you'll have to lock the buffer
04:58 audreyt and if you unlock it on perl6 land
04:58 audreyt the the C-land guarnatees are moot
04:58 audreyt so maybe it's born unlocked, and can't be unlocked once locked.
04:58 TimToady I think Buf is the interface, but there may be various instances.
04:58 audreyt Buf is fine. I'm worried about buf :)
04:58 TimToady instantiations of the role
04:58 audreyt (since it's "mapping to native storage")
04:59 TimToady buf is probably not the locked down one.
04:59 audreyt oh. hm.
04:59 audreyt I thought it's (char*, strlen).
04:59 TimToady or it is.
04:59 audreyt I think is makes more sense
04:59 audreyt and Buf manages bufs if needed
04:59 TimToady makes sense
04:59 audreyt Str alsomanage bufs
04:59 audreyt imbue them with encoding etc
04:59 elmex joined perl6
05:00 TimToady Str doesn't necessarily manage a buf directly.
05:00 TimToady you can have strings whose minimum abstraction level is above buffers.
05:00 audreyt yeah, but Str is potentially fragments
05:00 audreyt oh sure
05:00 audreyt I'm talking about internals :)
05:00 audreyt I agree Str.specs is Bad Idea (tm)
05:01 audreyt dankogai absolutely hates that, so do I :)
05:01 TimToady which?
05:01 audreyt the ability to get the underlying buffer form a unicode string.
05:01 audreyt you know, utf8::downgrade.
05:01 TimToady well, someone has to deal with the bits sooner or later...  :P
05:02 audreyt but that makes the internal encoding explicit :)
05:02 audreyt Str users shouldn't care
05:02 audreyt esp. if you are operating on graphemes level.
05:03 audreyt so Str.to_buf(:encoding<utf8>) is fine
05:03 audreyt but autodemotion, or destructive demotion, is very bad idea
05:03 audreyt (and the cause of most, if not all, of the "weird utf8 displaying as latin1" problem in Perl applications)
05:04 audreyt (together with autopromotion)
05:04 TimToady But I can see uses for Str variants that let you muck around a various levels simultaneosly.  They don't have to be the default, of course.
05:04 audreyt sure
05:04 TimToady even just switching between codepoints and graphemes is pretty useful at times.
05:04 audreyt the default should present value semantics and keep that useful illusion :)
05:04 audreyt sure, just not destructive "poke" at a level
05:04 audreyt that can make another level invalid
05:04 audreyt to a Str
05:05 audreyt which is what you can do, rather too easily, in perl5
05:05 TimToady Well, sure, you wouldn't just assume you know the actual lower level encoding ever.
05:05 audreyt right
05:05 audreyt yay :)
05:05 TimToady we tried to switch over to a strict abstract level in P5, but it just didn't fly...
05:05 TimToady too much baggage.
05:06 audreyt *nod*
05:06 audreyt <- was part of the 5.6-didn't-fly-let's-just-get-along 5.8 reunicoding
05:06 TimToady well, that wasn't the bad part of 5.6... :/
05:07 audreyt shared threading was? :p
05:07 audreyt mm but that was 5.5
05:07 audreyt what was the bad partof 5.6 then? vstrings?
05:07 TimToady nah, it was the assumption you could drive the whole thing lexically.
05:08 audreyt ah, right.
05:08 TimToady has to be an agreement between what the interface provides and the lexical scope expects.
05:08 TimToady a negotiated contract, if you will.
05:08 audreyt so perl6's lexical "unicode level"
05:08 audreyt has to be agreed by Str
05:08 TimToady that's why I keep going on about multiple abstraction levels.
05:08 audreyt instead of blindly (and destructively) thrown to all SVs
05:09 * audreyt ponders how best to support a default-grappheme .chars.
05:09 TimToady and if you're outside the contract, you have to negotiate on a case by case basis, or at least autoupgrade.
05:09 TimToady where it's safe.
05:09 TimToady and blow up where it's not,
05:09 audreyt yes.
05:09 audreyt exactly.
05:09 audreyt autoupgrade most not do harm
05:09 audreyt destructive autodowngrade always do harm, so is forbidden
05:09 scw joined perl6
05:10 TimToady right.
05:10 audreyt s/most/must/
05:11 TimToady do my recent spec tweaks make sense to you
05:12 TimToady no need to answer--I'm sure you'll carp suitably as the occasion arises.  :)
05:12 audreyt it all makes sense :)
05:12 audreyt [ <]]]> ]
05:12 audreyt vs
05:13 audreyt [<]]]> ]
05:13 audreyt is that the correct diambig?
05:13 TimToady [<] is a longest token
05:13 audreyt (and also [< ])
05:13 audreyt right, but no whitespace allowed
05:13 TimToady no whitespace in reduces
05:14 TimToady I think the chances of someone wanting to start a <...> with ] and then put it into [...] are vanishingly small.
05:14 TimToady but I've always assumed we couldn't have whitespace in a reduce.
05:15 TimToady indeed, I've always assumed that reduce operators were rather strictly limited.
05:15 audreyt macro infix:<`> is parsed(/<ident>`/) ($lhs, $rhs) { P6AST::Call.new($<ident>, $lhs, $rhs) }
05:15 audreyt [`map`] ...;
05:16 TimToady um, how is that an infix?
05:17 audreyt assuming that "is parsed" modify how the infix itself is parsed
05:17 audreyt @x `map` &y;
05:17 TimToady but yeah... or just circumfix:<[` `]>...
05:17 audreyt nod
05:17 TimToady gotcha
05:18 audreyt I think it makes more sense for the "is parsed" for macro to regulate the parsed itself
05:18 TimToady I keep struggling nobly to reserve ` for users...
05:18 audreyt if you want to change rhs parsing, write
05:18 audreyt macro infix:<====> ($lhs, $rhs is parsed(/.../)) { ... }
05:18 audreyt I think it's more visually distinct
05:19 audreyt rather than saying "is parsed for infix always apply to rhs"
05:19 TimToady I guess I just like symmetry, but infix macros are by definition not...
05:19 audreyt indeed..
05:19 audreyt and sometimes you want to fix both the infix token itself
05:20 audreyt _and_ the rhs
05:20 audreyt where the current convention wouldn't allow
05:20 TimToady fix?
05:20 audreyt rig
05:21 audreyt macro infix:<moose> is parsed(/antler|elk/) ($lhs, $rhs is parsed(/foo/)) {...}
05:21 audreyt 4 mooseelk foo;
05:22 TimToady I guess it's probably not ambiguous.
05:22 audreyt it also removes special casing in per-grammar category code
05:23 audreyt such that grammar categ become purely just differently named hashes, used in different places
05:23 TimToady people are so used to seeing the signature first.  but maybe we just need to think harder about combining patterns and sigs.
05:23 audreyt *nod*
05:23 autark joined perl6
05:24 TimToady is parsed being a placeholder for an inside out / :(...) / of some sort.
05:24 TimToady ( :/.../ )
05:27 kanru joined perl6
05:33 audreyt yup
05:34 Quell joined perl6
05:34 TimToady or just allow rule, token, regex declarators right in the sig
05:35 TimToady ( $x rule {...}, $y token {...}.... )
05:35 audreyt trait auxillary rule?
05:35 audreyt wow :)
05:36 TimToady something to think about when I'm not running a fever...
05:36 audreyt $x is rule{...}; # reads better
05:36 audreyt indeed
05:36 TimToady I should probably sleep.
05:37 TimToady time zones suck.
05:37 audreyt gnite :)
05:37 TimToady sniffle.  <achoo>.  'nite... &
05:38 justatheory joined perl6
05:49 audreyt bbiab &
05:49 macroron joined perl6
05:50 diotalevi_ joined perl6
05:51 Quell joined perl6
05:55 Quell joined perl6
05:56 Quell joined perl6
05:58 Cryptic_K joined perl6
06:14 xern joined perl6
06:15 xern joined perl6
06:29 r0nny joined perl6
06:34 diotalevi^ joined perl6
06:35 iblechbot joined perl6
06:36 marmic joined perl6
06:47 pjmm joined perl6
07:01 Aankhen`` joined perl6
07:05 ayrnieu_ joined perl6
07:07 ayrnieu_ is now known as ayrnieu
07:22 drrho joined perl6
07:43 DesreveR joined perl6
07:43 ghenry joined perl6
07:49 pjmm left perl6
08:00 kd joined perl6
08:07 shachaf_ joined perl6
08:20 svnbot6 r10074 | vkon++ | need parsec as build-depends, in order to compile
08:21 Grrrr joined perl6
09:12 larsen joined perl6
09:20 kane__ joined perl6
09:57 KingDiamond joined perl6
10:00 dakkar joined perl6
10:22 cdpruden joined perl6
10:42 kakos joined perl6
10:48 Aragone is now known as Arathorn
11:05 elmex joined perl6
11:08 Odin- joined perl6
11:08 Aankhen`` joined perl6
11:15 kd seem to be having a problem with Perldoc-0.20  Is this a good place to ask for help?
11:16 dakkar I'm not sure... is Perldoc related to Perl 6?
11:17 kd afics it's the 1st impl of kwid parsing and output.
11:17 dakkar oh
11:17 kd but in perl 5
11:18 kd anyway the example code in the cpan dist is not working for me.
11:18 kd :<
11:18 kd Can't use string ("") as a SCALAR ref while "strict refs" in use at /usr/local/share/perl/5.8.8/Perldoc/Writer.pm line 20.
11:18 kd using Perldoc::Parser::Kwid
11:20 dakkar how did you invoke it? did you pass something for 'stringref'?
11:21 kd just as in the docs for Perldoc::Parser::Kwid
11:21 dakkar oh, I got it
11:21 dakkar the example is wrong
11:21 dakkar it should read '\$html'
11:21 dakkar not '$html'
11:21 dakkar Writer expects a reference
11:21 kd ah, ok.  I guess I'll report it to rt then.  Thanks
11:21 kd :))
11:22 kd thanks v much dakkar.
11:22 dakkar you're werlcome
11:28 kd reported
11:32 KingDiamond joined perl6
11:35 kanru joined perl6
11:37 arguile joined perl6
11:58 Limbic_Region joined perl6
12:01 mako132_ joined perl6
12:06 Limbic_Region audreyt ping
12:17 audreyt pong
12:18 KingDillyDilly joined perl6
12:19 |mjk| joined perl6
12:19 Coke joined perl6
12:20 KingDillyDilly According to http://colabti.de/irclogger/irclogger_log/perl6?date=2006-04-25,Tue at 2:44 I logged back in and never left. But I closed Gaim and disconnected from the internet. Either an imposter logged in as me or my leaving didn't register. Someone should check the IP addresses.
12:23 kolibrie joined perl6
12:25 Limbic_Region audreyt - did you see the nopaste from last night (my time)
12:26 Limbic_Region I created a caller backtrace to find what was causing Win32 to crash on build
12:26 Limbic_Region I didn't fix it because I wasn't sure how you would want it fixed
12:26 Limbic_Region just changing a / to a char class of either / or \ should do it, but that probably is not the "right thing"
12:27 Limbic_Region see http://sial.org/pbot/16886
12:27 iblechbot joined perl6
12:30 audreyt woot
12:30 audreyt Limbic_Region++
12:31 audreyt the charclass fix is right.
12:31 audreyt please verify and commit
12:35 elmex_ joined perl6
12:38 audreyt Alias++ # reminds me that I have yet to commit+release self-recursive-structure-happy YAML::Syck
12:38 audreyt ...which I'm doing now.
12:39 ewilhelm_ joined perl6
12:40 Limbic_Region audreyt - can't until tonight but will do
12:41 audreyt oh, nvm then
12:41 * Limbic_Region has no idea why he is no longer able to build at all at work
12:41 Limbic_Region nmake is failing on cd ..
12:46 svnbot6 r10075 | audreyt++ | * build_pugs.pl: On certain Win32 File::Spec versions,
12:46 svnbot6 r10075 | audreyt++ |   ->canonpath returned a backslash form that we failed to
12:46 svnbot6 r10075 | audreyt++ |   handle. Limbic_Region++ for pointing it out.
12:49 svnbot6 r10076 | audreyt++ | * er, sorry, syntax error.
13:12 Limbic_Region audreyt - so updating File::Spec should fix that?
13:13 * Limbic_Region puts it on his todo list
13:13 audreyt the PathTools has seen a lot of changes
13:13 frederico joined perl6
13:13 audreyt I no longer track all the win32 fixes
13:13 audreyt so working around here makes sense
13:14 particle_ joined perl6
13:15 Limbic_Region ok - well that regex felt funny anyway - why the slice?  It wasn't matched globally so there should only be 1 match
13:16 Limbic_Region that's why I didn't want to touch it without talking to you first - I don't really know what's going on
13:16 audreyt sure
13:16 audreyt the correct way is to match
13:16 audreyt then test
13:16 audreyt then die
13:16 audreyt then use $1
13:32 Qiang joined perl6
13:35 weinig|sleep is now known as weinig|away
13:36 Aankhen`` joined perl6
13:36 kane__ joined perl6
13:36 larsen joined perl6
13:36 dbrock joined perl6
13:36 froh-doh joined perl6
13:36 xinming joined perl6
13:36 jserv-- joined perl6
13:36 SubStack joined perl6
13:36 lisppaste3 joined perl6
13:36 oozy joined perl6
13:36 PerlJam joined perl6
13:36 gaal joined perl6
13:36 f0rth joined perl6
13:36 Soga joined perl6
13:36 tcliou joined perl6
13:36 buu joined perl6
13:36 amv joined perl6
13:36 rgs joined perl6
13:36 rashakil joined perl6
13:36 rmoriz joined perl6
13:36 hcchien joined perl6
13:36 sri_ joined perl6
13:36 miyagawa joined perl6
13:36 qwacky joined perl6
13:36 obra joined perl6
13:36 perlbot joined perl6
13:43 aeon_ joined perl6
13:45 KingDillyDilly All of the above are really just buu, aren't they.
13:45 diotalevi_ joined perl6
13:50 chris2 joined perl6
13:54 vel joined perl6
14:04 diotalevi^ joined perl6
14:19 lidden joined perl6
14:23 jmcadams joined perl6
14:29 fglock joined perl6
14:34 KingDiamond joined perl6
14:36 jmcadams left perl6
14:51 cdpruden joined perl6
15:01 premshree_ joined perl6
15:02 aufrank joined perl6
15:06 hexmode joined perl6
15:11 aufrank joined perl6
15:11 aeon_ joined perl6
15:11 Aankhen`` joined perl6
15:11 kane__ joined perl6
15:11 larsen joined perl6
15:11 dbrock joined perl6
15:11 froh-doh joined perl6
15:11 xinming joined perl6
15:11 jserv-- joined perl6
15:11 SubStack joined perl6
15:11 lisppaste3 joined perl6
15:11 oozy joined perl6
15:11 PerlJam joined perl6
15:11 gaal joined perl6
15:11 f0rth joined perl6
15:11 Soga joined perl6
15:11 tcliou joined perl6
15:11 buu joined perl6
15:11 amv joined perl6
15:11 rgs joined perl6
15:11 rashakil joined perl6
15:11 rmoriz joined perl6
15:11 hcchien joined perl6
15:11 sri_ joined perl6
15:11 miyagawa joined perl6
15:11 qwacky joined perl6
15:11 obra joined perl6
15:11 perlbot joined perl6
15:29 azuroth left perl6
15:43 PerlJam good morning #Perl6 people
15:43 xinming evening here... might be midnight soon. :-)
15:44 PerlJam well, good $localtime then :)
15:44 justatheory joined perl6
15:45 audreyt :D
15:45 * PerlJam is sitting in an airport waiting for his flight (scheduled to leave now but delayed by about 30 min)
15:45 * particle_ thinks it's still the dawn of the perl age
15:45 audreyt TimToady: is cat(@a;@b) really required?
15:45 xinming audreyt: where are you now? TW?
15:45 audreyt seems it's the same as (@a, @b)
15:45 audreyt xinming: yeah
15:48 FurnaceBoy joined perl6
15:48 aufrank yay!  the room woke up!
15:49 audreyt sadly it's almost sleep time to me, really...
15:49 * audreyt had a long coding day
15:49 audreyt coding++
15:50 PerlJam audreyt++
15:50 audreyt released YAPC::Syck with recursive structires support, yay
15:50 audreyt er, YAML::Syck
15:50 audreyt YAPC::Syck would be fun.
15:50 audreyt going to port that to Pugs as well, so we can also dump/load graphs easily
15:50 PerlJam What is cat()?  is it like unix cat(1) ?
15:51 audreyt PerlJam: I have no idea
15:51 audreyt I was cleaning up S03 (just committed)
15:51 audreyt and "cat" is mentioned in passing comapred to "zip"
15:51 audreyt To read arrays serially rather than in parallel, use C<cat(@x;@y)>.
15:51 audreyt which makes me rather confused
15:51 PerlJam indeed.
15:52 wolverian isn't that just (@x, @y)?
15:52 audreyt that's my question to TimToady.
15:53 xinming IMO,  (@x, @y) might become \@x and \@y in for.... :-)
15:53 xinming *@x, *@x might be the same though...
15:53 * xinming wasn't sure either...
15:54 * PerlJam notes that S03 doesn't say what "tuples" are.
15:54 PerlJam A spec should be more specific than that :)
15:56 PerlJam Though I suppose that tuples should be defined in S09
15:58 PerlJam cat(@x,@y) must be the same as  (*@x,*@y)
15:58 aufrank PerlJam: tuples are now Sequences
15:58 aufrank if that helps at all
15:59 PerlJam aufrank: then why does S03 still talk about tuples?  :)
15:59 aufrank don't ask me, I just work here
15:59 PerlJam er, cat(@x;@y) I meant
16:00 PerlJam cat() looks like it was borrowed from PDL  (where cat() concatenates piddles)
16:00 PerlJam aufrank: and if true, this sentence sure does read weird:  "To read arrays in parallel like zip but just sequence the values rather than generating tuples, use each instead of zip"
16:01 PerlJam s/tuple/sequence/ and it's all wrong.
16:02 aufrank yeah, yuck
16:02 aufrank lemme find the change I'm thinking of
16:03 aufrank check S06
16:03 audreyt PerlJam: I just killed tuples in S[2346]
16:03 diotalevi_ joined perl6
16:03 audreyt A "Seq" is simply a List with no lazy parts (such as Range objects) in it:
16:03 audreyt    (1,2,3); # Seq
16:03 aufrank          Seq         Completely evaluated (hence immutable) sequence
16:03 audreyt    (1..3); # Range
16:03 audreyt    (1, 2..3); # List
16:04 PerlJam audreyt++
16:05 theorbtwo So zip(1..3; 'a'..'c') ~~ (1, 'a', 2, 'b', 3, 'c'), but each(1..3; 'a'..'c') ~~ (1..3, 'a'..'c') ?
16:05 PerlJam oops, plane is boarding
16:05 * PerlJam &
16:06 audreyt zip(1..3; 'a'..'c') === ((1,'a')[], (2,'b')[], (3,'c')[])
16:07 audreyt (using postfix [] notation; means the same as prefix "scalar")
16:07 audreyt each(1..3;'a'..'c') === (1,'a',2,'b',3,'c')
16:08 wolverian is that zip() === (1, 'a'; 2, 'b'; 3, 'c') ?
16:08 TimToady audrey: sure, we can hand out "useless use of cat" awards.
16:08 theorbtwo Ah, so for zip(1..3; 'a'..c') -> ($a, $b) {...} will fill in both parameters.
16:09 theorbtwo each(1..3; 'a'..c') -> ($a, $b) {...} will just fill $a, and be rather silly.
16:09 audreyt TimToady: so "cat" is just alternate spelling for "[,]"
16:09 audreyt TimToady: can we kill that please? :)
16:09 TimToady maybe we'll put in a box...
16:09 audreyt theorbtwo: actually... no. ($a, $b) takes two params, so that's fine for "each"
16:10 audreyt the "zip" only produces one object
16:10 audreyt so you have you say
16:10 audreyt -> [$a, $b]
16:10 audreyt and use unpacking
16:10 TimToady optimizer could, of course, avoid the packing/unpacking.
16:10 theorbtwo OK, that makes mild amounts of sense.
16:11 audreyt TimToady: so zipping against 1..* really does do numbering
16:11 audreyt as inf lists are now ignored for lengthing
16:13 theorbtwo ?eval @x = 'a'..'k'; $count = (each(@a; 1..*))[-1];
16:13 evalbot_10061 is now known as evalbot_10076
16:13 evalbot_10076 ***      unexpected "*"     expecting comment or subroutine name     at -e line 3, column 9
16:13 audreyt we don't support each, nor nullary *
16:13 TimToady hopefully, as long as we can tell something is infinite.
16:13 audreyt still thinking about nulary * support, actually.
16:14 TimToady as in, how to imlement?
16:14 ewilhelm_ could one use fib() instead of 1..* ?
16:14 TimToady or as in, whether to...
16:15 audreyt as in, what it really means :)
16:15 audreyt but I should probably sleep first before thinking too hard
16:15 audreyt (*).defined is true, right?
16:15 TimToady It's just an out-of-band term that means "whatever"
16:15 ewilhelm_ is now known as YetAnotherEric
16:15 audreyt sure, just trying to think through the consequences
16:16 theorbtwo TT: Does it construct/return the one-and-only object of type Whatever?
16:16 TimToady probably more useful to consider it defined, but unspecified.
16:17 TimToady It's very much a "decide for yourself" kind of thing
16:17 particle_ print 'whatever' for ^*;
16:17 * theorbtwo is scared when specifications say "the specification doesn't care".
16:18 TimToady but it's distinguished from undef in that the intent is clearly not to blow up the construct you're passing it to, but to grant it freedom.
16:19 TimToady At one point it was identical to Any.
16:19 TimToady But I don't want people to consider deriving from it.
16:20 aufrank this sounds ripe for "but maybe Damian will want to, so go ahead!" ;)
16:20 TimToady we could still force it to mean Any, but it seemed there were other reasons for a separate type that I don't recall before my coffee has brewed.
16:20 theorbtwo .oO( $x does * -- please install all of CPAN for me. )
16:21 TimToady use *;
16:21 particle_ import io.*;
16:21 aufrank I was just going to write all of my assignments as *;
16:21 particle_ sorry, wrong channel :)
16:22 TimToady yeah, well, just 'cuz * is there doesn't mean we have to make every operator recognize it.
16:22 particle_ * ~~ *
16:22 TimToady but do you *want* it to match?
16:22 audreyt TimToady: so. (*).isa(Moose) is not true by default
16:23 TimToady right
16:23 audreyt and any operator or class that allows morphing from (*) or taking (*) arg
16:23 audreyt must explicitly declare it as such
16:23 TimToady nor is Moose.isa(*)
16:23 aufrank audreyt: you are terrbile at this going to sleep thing!
16:23 audreyt unless the "isa" handles (*)
16:23 TimToady right.  for writing it, it's just type Whatever in the sig.
16:23 audreyt aufrank: indeed. parrot sketch is in 1:45 hr
16:24 TimToady for MMD matching
16:24 audreyt and I'm wondering if I should stay up
16:24 audreyt but then, that may make waking up tomorrow for $job difficult
16:24 particle_ audreyt: take a nap
16:24 * theorbtwo thinks it might be useful for $_ ~~ * and * ~~ $_ to always return 1.
16:24 * audreyt wonders if time zones are such a good idea
16:24 TimToady I have to do the interview today that didn't happen yesterday...
16:24 TimToady so I have to wander off.
16:25 TimToady Let's just squish the earth flat.
16:25 YetAnotherEric install more suns
16:25 particle_ haven't you read the new book? the earth is flat.
16:25 TimToady no, no, the book is flat--the earth has leaves.
16:25 audreyt under list context, right?
16:25 theorbtwo $g *= 10;
16:26 particle_ the earth is flat. your sense of time is warped.
16:26 TimToady why would that increase $g that much?
16:26 theorbtwo Whoops, make that $G *= 10;
16:26 TimToady that's more like it.
16:27 TimToady my first program I wrote in Physics was named "G".
16:27 theorbtwo No, you've got that backwards -- amp up G (and thus g) to flatten.
16:27 audreyt TimToady: so, if I have
16:27 audreyt "foo; ..."
16:27 audreyt and never define sub foo nor class foo until CHECK
16:28 audreyt it blows
16:28 audreyt what about
16:28 audreyt "foo(); ... "
16:28 audreyt ?
16:28 audreyt same thing?
16:28 TimToady I think that, unlike in Perl 5, it should be the same.
16:28 audreyt thank you, thank you.
16:28 * audreyt kills 4 AST forms and merges them into 2.
16:28 TimToady curtsi....bows...
16:29 audreyt TimToady++
16:29 TimToady course, stub predecl still works, and allows deferral till runtime.
16:30 TimToady autoloading still works, in other words.
16:31 audreyt sure.
16:31 audreyt and .meth always works.
16:31 audreyt there's no static binding requirement form ethod calls, I hope.
16:32 theorbtwo Even if the compiler knows what type the object is?
16:32 audreyt I hope so, as method dispatch is by runtime type
16:32 audreyt unlike C++
16:33 audreyt TimToady: so, $x.foo is always fine, regardless of whether &foo is seen
16:33 TimToady yes
16:33 theorbtwo But there will be cases where the compiler can prove that at that point the object will be a specific type.
16:34 audreyt instead of any of its subtypes?
16:34 TimToady only if you've managed to close/finalize the class.
16:34 audreyt if so, that becomes optimization, and under -O, sure
16:34 TimToady and that's an application wide negotiation.
16:34 audreyt but without -O, all classes stay open
16:34 theorbtwo Hm, OK.
16:35 TimToady must go get ready for interview.  will check back in 20 minutes...
16:35 TimToady &
16:36 theorbtwo Later.
16:37 audreyt S02 updated with clarifications.
16:52 TimToady seems good, though the foo($x) vs foo($x,$y) distinction is a bit wonky...
16:53 audreyt it's neverless specced...
16:53 audreyt nevertheless, even
16:53 audreyt freudian slip
16:53 TimToady basically, though, for a given name, we don't need it defined, we just need to know where we will eventually start looking.
16:54 audreyt aye.
16:54 * aufrank wishes he could script his speech analysis program in perl
16:58 * Arathorn wishes he could implement his SIP stack in perl6
17:00 * TimToady wishes he could write Perl in Perl...
17:00 aufrank ?eval say "Perl"
17:00 evalbot_10076 ***      unexpected "*"     expecting comment or subroutine name     at -e line 3, column 9
17:02 audreyt ?eval say 1
17:02 evalbot_10076 ***      unexpected "*"     expecting comment or subroutine name     at -e line 3, column 9
17:02 audreyt wow.
17:02 flounder99 joined perl6
17:03 audreyt what's wrong with that bot?
17:03 * audreyt thinks
17:04 obra audreyt: have you done shootouts between Storable, YAML::Syck, Data::Dump::Streamer, etc?
17:06 cdpruden audreyt, I don't know if it's related, but ext/Set and a few other modules don't seem to be working right now either  -- "pugs: *** Undeclared variable: "$other""
17:06 audreyt obra: yes
17:06 audreyt cdpruden: right, that's known, fixing it
17:06 svnbot6 r10077 | audreyt++ | * allow "sub *foo" again, in an attempt to fix evalbot.
17:06 cdpruden oh, cool
17:07 audreyt the predictive parsing makes it 25% faster to aprse Test.pm
17:07 audreyt more improvement expected
17:07 audreyt but the breakage is unfortunate
17:07 audreyt will definitely fix soon
17:07 audreyt obra: someone did
17:07 obra pointer?
17:08 audreyt http://idisk.mac.com/christian.hansen/Public/perl/serialize.pl
17:08 audreyt chansen
17:08 zgh joined perl6
17:09 audreyt YAML::Syck   5991/s  3547%        975%  567%       204%         --        -4%     -87%
17:09 audreyt JSON::Syck   6260/s  3710%       1023%  596%       217%         4%         --     -87%
17:09 audreyt Storable    46418/s 28152%       8228% 5064%      2252%       675%       642%       --
17:09 audreyt on my computer
17:09 audreyt compared to pure-perl bunch, the leader being
17:09 audreyt FreezeThaw   1973/s  1101%        254%  120%         --       -67%       -68%     -96%
17:09 audreyt so it's pretty good, I'd say.
17:09 audreyt YAML.pm is 164/s.
17:10 audreyt ?eval 5991 / 164
17:10 evalbot_10076 is now known as evalbot_10077
17:10 evalbot_10077 5991/164
17:10 audreyt heh
17:10 ingy :)
17:10 miyagawa audreyt: seen JSON::PC?
17:10 jabbot miyagawa: I havn't seen JSON::PC, miyagawa
17:10 particle_ <purl> 36.530487804878
17:11 obra audreyt: thanks
17:11 audreyt miyagawa: cool!
17:11 audreyt miyagawa: 5.8+ only currently
17:11 particle_ jabbot speaks doublespeak when it's speaking to others
17:12 TimToady interviewer here now, biab &
17:12 audreyt miyagawa: JSON::Syck goes back to 5.004 or 5.005
17:12 miyagawa audreyt: yeah. That's yet another horribly badly named new module by the same author with JSON
17:12 audreyt but otherwise, maybe some day ::PC can take over :)
17:12 audreyt aww :/
17:12 miyagawa and horribly complex interface again
17:12 miyagawa well, it looks like just a straight XS port of JSON.pm though
17:12 miyagawa tested it and it's pretty fast
17:12 audreyt nice
17:13 miyagawa i added the module to chansen's script and it was fastest
17:13 audreyt woot
17:13 audreyt not entirely surprising
17:13 miyagawa right
17:13 audreyt so, nice work
17:14 miyagawa yup, probably
17:14 miyagawa I'll be in Chupei thursday night
17:14 audreyt woot
17:14 audreyt I'll see if I can finish enough of $job to go to meet you
17:14 miyagawa ok :-)
17:14 miyagawa I'll be back to Japan on monday
17:15 obra audreyt: how heavily are you using continuations in jifty for $job?
17:16 trym joined perl6
17:16 flounder99 ?eval my $x = [1];
17:16 evalbot_10077 Error:  unexpected "1" expecting infix operator
17:16 audreyt obra: just for login at this moment
17:17 obra ok. then you don't care about the thing we're doing. Heavy continuation use has a perf penalty due to Apache::Session's serialization
17:18 audreyt nod. earlier on ->tangent was broken (very early on)
17:18 audreyt and I restructured my design to avoid continuations
17:18 audreyt (and also because that I want to minimize disk writes)
17:18 svnbot6 r10078 | audreyt++ | * fix [1] to mean [1], instead of failed infix lookup on infix:<1>.
17:19 flounder99 Thanks, I didn't think square brackets changed that much
17:19 audreyt flounder99: sorry, the past 48 hours has seen a lot of Parser changes
17:19 audreyt expect all of them be settled in the next 48 hours
17:21 weinig|away is now known as weinig
17:22 flounder99 I'm impressed it works at all as many fingers are in the pie; let alone work as well as it does
17:22 theorbtwo audreyt: You should probably change "at" to "before" or "after".  Do CHECK blocks run, or not?
17:23 audreyt theorbtwo: it's one of the CHECKs
17:23 audreyt I don't know if it's going to be the last or first one
17:23 audreyt I can argue bothways.
17:24 FurnaceBoy you're double-tongued?
17:24 audreyt right, with unsigned long tongues.
17:24 FurnaceBoy :B
17:32 bernhard joined perl6
17:34 DaGo joined perl6
17:35 particle_ eew.
17:51 svnbot6 r10079 | audreyt++ | * [1] now parses again for real
17:54 audreyt *wave* &
18:01 xinming audreyt: ++
18:01 xinming audreyt: good nite. :-)
18:01 xinming don't sleep with a eye on screen.
18:17 aeon__ joined perl6
18:22 Arathorn is now known as Aragone
18:25 hexmode joined perl6
18:36 zgh joined perl6
19:06 ruoso joined perl6
19:12 elmex joined perl6
19:20 lilo is now known as gittus_
19:20 gittus_ is now known as lilo
19:27 FurnaceBoy is now known as FB}afk
19:28 SamB joined perl6
19:44 larsen joined perl6
19:49 penk joined perl6
20:30 kanru joined perl6
20:35 FB}afk is now known as FurnaceBoy
20:50 fglock re SoC: how about translating some compiler tools to perl6? for example, a precedence parser, a rule/token implementation, an attribute grammar module
20:52 macroron joined perl6
21:03 DaGo joined perl6
21:09 stevan_ joined perl6
21:10 KingDillyDilly Are there any functions and whatnot in Perl 6 that might be good to add to Perl 5?
21:11 KingDillyDilly There are other versions of Perl 5 coming before Perl 6, right?
21:14 cdpruden Perl 5.9 is under development now, and will eventually be 5.10... there are plans for other 5.x series perls (such as ponie) but that is up in there air a bit now as to just which ones/where
21:16 buu For example, given is implemented in 5.9.3 or so
21:16 FurnaceBoy_ joined perl6
21:17 fglock http://search.cpan.org/~rgarcia/perl-5.9.3/pod/perl593delta.pod#Core_Enhancements
21:19 fglock left perl6
21:20 KingDillyDilly Oh no...say. Basically print with a new line from what I remember.
21:22 KingDillyDilly I don't think I'd have Perl 5 developers have to come across "say" before Perl 6. Not necessary and potentially confusing.
21:26 KingDillyDilly Find if they see it in the manual, but best not to have them see it in people's Perl 5 code when they didn't know about it.
21:27 KingDillyDilly s/Find/fine/
21:27 particle_ that's what the manual is for.
21:29 KingDillyDilly I had a bunch of stuff to say about say on Wikipedia, on a talk page...wish I knew where
21:30 KingDillyDilly I was imagining audio functions in the future that might make say confusing.
21:36 pasteling "KingDillyDilly" at 71.247.70.239 pasted "Comments about "say"" (1 line, 1.2K) at http://sial.org/pbot/16901
21:37 KingDillyDilly (found it...didn't reread it. Hope it still makes sense to me)
21:39 pjcj joined perl6
21:39 ruoso KingDillyDilly, you are still able to create your very own programming language with parrot and be interoperable with Perl 6... go for it, just get hacking...
21:40 KingDillyDilly I guy who hasn't even memorized how to use hashes has no business going that. He just tells others to.
21:41 KingDillyDilly I just uses hashes for that alfabitizing trick, and I always look up how.
21:42 particle_ "learning by criticism" isn't the best model for learning here in #perl6
21:42 KingDillyDilly Will learn how to spell some day...
21:46 KingDillyDilly I'm developing by criticism, not learning.
21:50 theorbtwo I don't think you're doing much of either.
21:51 KingDillyDilly As I said in http://en.wikipedia.org/wiki/Talk:Perl_6
21:51 KingDillyDilly I'm providing "Inspired suggestions for tomorrow's Perl. Listen to me, man."
22:00 kd joined perl6
22:04 KingDillyDilly You all know I'm Wassercrats, right? Merlyn didn't.
22:09 theorbtwo What's your real name?
22:11 KingDillyDilly Barry
22:11 KingDillyDilly Feel free to test me.
22:12 KingDillyDilly I'll log into PM if you want.
22:14 KingDillyDilly Back in 10 min
22:16 theorbtwo No, I don't much care.
22:24 cmarcelo joined perl6
22:47 coumbes joined perl6
22:48 jsiracusa joined perl6
22:53 cmarcelo left perl6
22:57 Cryptic_K joined perl6
23:00 xinming joined perl6
23:08 svnbot6 r10080 | lwall++ | Change ... to ..*
23:08 svnbot6 r10080 | lwall++ | .perl should probably use term ... for infinite list omissions so that the
23:08 svnbot6 r10080 | lwall++ | produced string parses, but throws exception if the ... is evaluated.
23:13 theorbtwo TimToady: Why does it need to omit infinite lists, rather then dumping the generators?
23:17 TimToady It's doing a string comparison?
23:17 TimToady these are in tests that aren't actually run yet...
23:19 TimToady It looks to me (just from the tests) that .perl takes any list that's "too long" and does its first three elements ... its last three
23:19 theorbtwo Ah.
23:20 theorbtwo I was unaware of that.
23:20 TimToady where three becomes one if it happens to be some infinity or other.
23:20 theorbtwo ?eval [5..128].perl
23:20 evalbot_10077 is now known as evalbot_10080
23:20 evalbot_10080 Can't exec "./pugs": No such file or directory at examples/network/evalbot//evalhelper.p5 line 46.
23:20 TimToady so it was comparing 1, 2, 3 ... Inf
23:20 TimToady and I just thought it'd be better for that to spit out
23:20 TimToady 1, 2, 3, ..., Inf so it parses.
23:20 wolverian why not 1..Inf?
23:21 theorbtwo That was what I was wondering.
23:21 TimToady that's what's going into the other end of the test...
23:21 wolverian so shouldn't it come out from our end too?
23:22 TimToady anyway look at t/data_types/lazy_lists.t and hack away at it if you think it should be different.
23:22 theorbtwo It seems to me that $foo ~~ eval($foo.perl) should generally be true, at least if ~~ is suffiently smart about it.
23:22 TimToady I just know that there is no ... infix operator.
23:23 TimToady perhaps the testing is misusing .perl
23:23 TimToady or maybe it's just the default stringification of an infinite list.
23:24 TimToady I was mostly working on ... => ..* and just noticed that in passing
23:25 PerlJam good evening #perl6
23:25 wolverian feels to me that $foo eq $foo.perl.eval should be true, i.e. [1..Inf].perl should return "[1..Inf]". but I haven't even looked at the test so I might be misunderstanding.
23:25 wolverian (if that's even possible in all cases.)
23:25 TimToady well, currently it doesn't even run them.
23:25 * PerlJam made it to his destination of hurricane demolished Gulfport MS.
23:25 wolverian er, that eq test is really weird too. :) I'll go sleep now, if that's okay with you.
23:26 TimToady I'll allow it.
23:26 theorbtwo Goodnight, wolverian.
23:29 stu7 joined perl6
23:31 vel joined perl6
23:48 Khisanth joined perl6

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

Perl 6 | Reference Documentation | Rakudo