On Thu, 21 Aug 2003, Tom Locke wrote: > OK, here's what I'm hoping Parrot can provide for the language I'm building. > > My big requirement is for lightweight microthreads (hopefully *very* > lightweight - I'm considering one scheduler that can handle *millions* of > threads on a single machine). Oh and I will need them to be serializable. I > can live with co-operative scheduling, perhaps running 'regular' threads > over the top do provide a layer of preemptive scheduling.
Parrot's going to live on top of the system thread library, so you may run into some issues that way. Not all systems can handle lots of threads--many of them (including Linux) have very low limits relative to what most microthread-based systems expect. > I understand Parrot uses continuations (serializable), and also supports > (will support?) native threads. I'm still not 100% sure about serializable continuations, though I expect so. (They may be rather large when serialized, though) Definitely native threads. > What about multi-methods? Can/Will Parrot do dynamic dispatch based on the > types of more than one parameter? This may not turn out to be a must-have > for me. Yep. It's a requirement for a number of languages, including perl 6. > The only other thing is licensing. Did I see that Parrot is GPL? In these > days of dynamic linking and late binding, it's hard to be sure about the > boundaries of the GPL viral effect. What are the implications for the > license of my language? Combination GPL and AL, your choice. Parrot's license isn't supposed to leak out, but I still need to clarify that in the licensing file. Dan