, though we are rather fond of them for obvious reasons.
Submitted by khairul on Thu, 05/13/2010 - 08:50
Having an instrumentation framework opens the doors to having many different tools that can help to diagnose problems within a piece of code. One main example of this is Valgrind. Valgrind provides an interface for making many different tools that help to diagnose and identify certain specific problems, ranging from memory leaks to multithreaded data races between threads. Furthermore, the framework is also used to provide profiling tools, such as Callgrind and Cachegrind, to determine useful information such as call graphs and execution times of functions.
Submitted by darbelo on Mon, 05/10/2010 - 18:48
The post from last week talked about what NFG was and tried to explain how it was a good feature for parrot to have. Today I'll be slightly more concrete and talk a bit about how NFG fits inside the parrot string structure. There's other parts of parrot that will need hacking on, but this time I want to limit myself to the the two bottommost pointers in the STRING structure definition and the concepts behind them.
Submitted by Chandon on Mon, 05/10/2010 - 05:06
Threading systems let multiple code paths run at the same time. Why would anyone want that? Simple: impatience. It's no fun waiting for the computer to finish one thing when you want it to be doing something else.
So what are "hybrid" threads and why does Parrot need them? Well, there are two common schools of thought in building threading systems for high level language runtimes. The Java people call them "green" threads and "native" threads. As with any design tradeoff the right answer is to cheat and just take all the good properties of both options.
Submitted by tcurtis on Thu, 05/06/2010 - 00:11
One of the advantages of a common virtual machine for various languages is the ability to apply the same optimizations to all of those languages. For example, LLVM includes optimization passes to propagate constants, eliminate dead arguments, code, and globals, inline functions, and eliminate recursive tail calls, among others. Any language with a compiler to LLVM can easily take advantage of these optimizations without any additional work by the compiler writer.
Submitted by darbelo on Sun, 05/02/2010 - 04:43
The Grapheme Normal Form for Unicode (or NFG as we like to call it) has been specified as a feature parrot wants for a long time, it's been in the Parrot Design Document for strings since before I had a commit bit, or any involvement in the project come to that. Something that has gone that long unimplemented can't be that important, right? I mean, we clearly have survived without it. Turns out it is important, but it takes some background to realize why.
Submitted by coke on Tue, 11/17/2009 - 15:02
The parrot-users mailing list is now available; if you are a language author targeting parrot and have questions or need assistance, please sign up at http://lists.parrot.org/mailman/listinfo/parrot-users.
You can also follow the group via google at http://groups.google.com/group/parrot-users
"Parrot is a virtual machine designed to efficiently compile and
execute bytecode for dynamic languages. This mailing list is for
general users of Parrot and languages running on Parrot."
Submitted by Whiteknight on Thu, 09/17/2009 - 19:58
30% (8 votes)
0% (0 votes)
70% (19 votes)
0% (0 votes)
0% (0 votes)
Total votes: 27
The Parrot Foundation held its annual members' meeting on August 25th, 2009 at 2pm Pacific time in Seattle, Washington, USA. Jerry Gay presided over the meeting. Allison Randal prepared these minutes.
Discussion about Parrot development normally takes place in two places:
- The parrot-dev mailing list:
Subscribe to the list through the web interface, or go to the Google Group for a searchable archive and RSS/Atom feed.
- And on IRC in #parrot at irc.parrot.org.
There is documentation in the
docs subdirectory of the Parrot source from the latest release.