At 06:29 PM 12/4/2001 -0800, Steve Fink wrote: >On Tue, Dec 04, 2001 at 04:11:58PM -0500, Dan Sugalski wrote: > > Seriously, there are real answers to a whole lot of design questions. Ask > > 'em and I'll get FAQable answers to 'em once and for all. > >Whee! Ok. Some of these are probably duplicates, and some >inappropriate for a Parrot FAQ, but: > >Q: Will perl6 support the same regexes as perl5?
A: Yup. At least everything we understand... >Q: Larry said _what_? What does that mean? A: Got me. Context? >Q: But won't all those opcodes require a huge amount of dispatch time >and slow regexes down to a crawl? A: Ah, that's what you mean! Well, the answer is maybe. Right now parrot's opcode dispatch is darned fast. (The Perl 5 RE engine is a mini-bytcode engine itself, FWIW, albeit a specialized one, so we're not paying a cost that it isn't, though our cost might be higher. We'll see) >Q: Ok, but what if they're a quarter the speed of perl5's? A: Then we toss the idea as "interesting, but bad" and go to Plan B. >Q: What about incremental matching? A: What about it? >Q: What platforms will Parrot support, initially and eventually? A: Initially the list is: Solaris (Sparc), OpenVMS (Alpha), CygWin, Windows 95/NT, Linux (x86), Tru64, FreeBSD (x86) as guaranteed. Odds are anything Unixish will work (builds on AIX, MacOS X, and HP/UX) Eventually the list is everything anyone's got sufficient patches to support. >Q: What degree of Unicode support is Parrot aiming for? A: Complete. >Q: What does that mean? A: Means that if the Unicode standard says something about it, we support it. >Q: When'll Parrot be done? A: It's software. It's *never* done. :) >Q: Any plans for continuations? Coroutines? A: Maybe, and yes. (continuations are contingent on Dan understanding them, and he doesn't. Dunno why, might be because he writes about himself in the third person, the arrogant bastard) >Q: This whole project is crap. A total waste of time. I think you're >ugly, too. You should be using <X> as your VM. A: Yeah, well you're ugly and your mother dresses you funny. Nyah! And <X> is utter crap as a VM. >Q: What previous discussions? Are there archive links I can use? A: Archives live at http://archive.develooper.com/perl6-internals%40perl.org/ though I see there's not much search functionality. >Q: Why aren't you reusing big gobs of the perl5 code? A: Licensing. As soon as we sort that out, we will. >Q: Fine. But surely some pieces could be reused? A: Not until the licensing's sorted out. Then it depends on whether we can. >Q: Oh. Why are licenses a problem? Doesn't the AL allow this sort of thing? A: IANAL, and I don't play one on TV, but snagging code under a licensing scheme does sort of obligate you to follow that license. Since we don't have one for Parrot source quite yet, I'd rather not. >Q: Doesn't perl5 already generate VM opcodes? Couldn't you write a >translation layer to graft a perl5 frontend to a Parrot backend? A: Yes, though there are still issues with anything that calls the lexer at runtime. (Eval/do/require) We'll probably do it, though. >Q: Why do people yell at me when I send patches using // for comments? >They're ANSI C, you know. A: C99, IIRC. I don't think original ANSI C accepted them, and that's all we're requiring at the moment. >Q: Can I use gcc extensions? A: Not in generic code, no. In special "tuned for speed" optional sections, sure. The core dispatch loop can already use computed gotos, and that's about as GCC-specific as you can get. >Q: What API will extension writers write to? A: Parrot's. >Q: How will garbage collection interact with extensions? A: There'll be some caveats, but reasonably well. For the most part extension writers won't have to worry much about it, and we'll document the spots where they will. Parrot's potentially got a copying GC system, which means that tracked buffers may move, but you'll know which calls may allocate memory (and thus potentially cause movement). There'll be easy access to the GC controls so you can turn GC off if you need to. >Q: How will finalization [or whatever the right word is] interact with >extensions? A: You mean object destruction? Correctly. If you allocate a PMC within an extension subroutine, that PMC will be considered active at least until the end of the sub. >Q: What's the difference between the previous two questions? A: The first deals with potentially reclaiming or moving allocated memory, the second with figuring out whether a variable is dead or not. >Q: What will Parrot's IO subsystem look like? A: VMS' QIO system. Sorta. >Q: In what format will Parrot files be stored? A: I presume you mean data files. They won't be anything special--plain text files, or DB/DBM/[SGN]DBM, or whatever. If you mean parrot bytecode files, they'll be in our native format. >Q: Why aren't you using something like ELF as the on-disk binary format? A: Portability. >Q: Who has commit privileges? Who's responsible for what? A: Good question. Simon and Dan, and a handful of others. >Q: How do Dan and Simon have enough time to work on this? A: We don't--why do you think this is taking so long? >Q: Where should I sent patches? A: [EMAIL PROTECTED] Or directly to Simon. Do *NOT* send patches only to Dan. His inbox bears striking resemblance to a miniature black hole, and the patch will likely get lost. >Q: What would be a good thing to work on right now? A: Anything that suits your fancy. Pick a subject area and make a post to the internals list, and someone'll point you towards what might need doing and how. Regexes and big number support are hot now, soon parsing will be. >Q: What's the release schedule? A: Flexible. >Q: Where can I follow the progress of Parrot? A: [EMAIL PROTECTED] Announcements of milestone releases are going on http://use.perl.org, and probably http://www.perl.com. >Q: Where can I discuss Parrot topics, over email and realtime? A: Internals are best done on [EMAIL PROTECTED] #parrot on IRC (irc.rhizomatic.net) is a good spot for realtime, or use RPI's lily stuff. (Sign up at http://rpi.lily.org:7780/new/) Dan --------------------------------------"it's like this"------------------- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk