[LLVMdev] GSOC - HLVM Work
Gabe McArthur
madeonamac at gmail.com
Wed Mar 21 21:22:28 PDT 2007
Hello,
I would also like to apply for Google's Summer of Code, but I am
having difficulty finding a concrete project idea to tackle. (Though
certainly interesting, a new front-end or a compiler optimization
pass seem like to large as projects for a single summer -- and
certainly something I couldn't accomplish given my lack of
familiarity with the code-base.)
I have read the 'projects' pages for both the LLVM and the HLVM, and
I am quite intrigued by all of the various options (particularly
those on the HLVM page). In addition, I feel that work on the HLVM
would give me some insight into how the LLVM works; however, I also
understand that the HLVM/LLVM projects are in flux, and some of the
goals/projects may change.
I would appreciate some direction in going forward: what's more, I
would like to know what 'need', 'should', or 'want' project could be
done -- just as long as that project allows me to learn about the
internals of the compiler and contribute in some substantive way.
Just to get familiar with the code, I am interested in doing some of
the work that perhaps sometimes gets forgotten or glossed over
because others are too busy.
I would like to contribute even if I don't get accepted, so please
just supply me a direction, and I will gladly go there. Please feel
free to send me on cleanups or directions to places in the code that
are helpful starting places, if you feel that would be helpful.
Sincerely,
-Gabe McArthur
P.S. Some of my background/interests:
* I have familiarity with Lex, Yacc, and the java equivalents
Jflex and Cup. I also have a book on Antlr I'm trying to
get into.
* This is my first large-scale coding/code reading attempt --
I found the GCC (and large projects in C in general)
bewildering after a certain point (I love C for it's simple
beauty, but despise it when it's over 2,000 lines).
* I am a language junky, so I have:
* a relatively extensive knowledge of C, Objective-C,
Java, Ruby, and x86 assembler;
* a proficient knowledge of C++, D, C#, Python,
Scheme, and [bleh-ick-yuck] VB; and,
* a moderate to low knowledge of Common Lisp, Haskell,
and Erlang (the latter two I am currently learning).
* Have written part of a small, functional compiler as
part of a university course; I understand the architecture.
* Big fan of GC (written a small collector)
* Intrigued by concurrency features in software/languages,
particularly message passing/actor models
* Familiarity with XML, YAML, CSS, & JavaScript; some reasonable
website skills and some slight design skills (I could try
my hand at a logo)
* I enjoy documentation, so I don't mind writing it.
* At present, I only have a PPC Mac and limited access to
my wife's Intel Mac (I've been sworn not to play with it);
I have access to x86 Linux machines through school and
FreeBSD through my website, so I might be able to do some
basic build testing on those platforms.
More information about the llvm-dev
mailing list