( summer of lisp )
join the SoC discussion list student rights and responsibilities
( all projects )
SoC 2009 projects SoC 2008 projects SoC 2007 projects SoC 2006 projects SoC 2005 projects
( lisp pride )
Shop LispNYC we've got cool items available at cafepress
Summer of Code 2009
Unfortunately LispNYC was not selected as a mentoring organization for 2009.
Project Ideas
If you'd like to discuss details in realtime, feel free to join #lisp or #summeroflisp at irc.freenode.net or just ask us a question.
Ideas submitted by the lisp community:
- Clojure Datalog: Add an in-memory logical datalog. Rich Hickey will mentor.
- Clojure Predicate Dispatch: Implement predicate dispatch in Clojure. Rich Hickey will mentor.
- Embeddeble CLISP: into something useful such as VIM, gnumeric, firefox.
- ABCL ANSI Compliant: Of the 21702 ANSI tests, Armed Bear Common Lisp fails 44 (48 in compiled mode), also aiming at the Maxima test suite failures. "Because legacy code should 'just work'(TM)"
- Lexicons First-Class Global Lexical Environments for Common Lisp. Mentorship by Ron Garret.
- Elephant Work on the pure Lisp database backend by adding transaction support, designing a disk layout with fragments and extents, devise ways to overcome Skiplist deficiencies and/or add multi-process/-thread locking support.
- Elephant Query Compiler: Implement a contraint-based query language for Elephant. Strong algorithmic skills, good taste in language design; lots of lisp experience. Difficulty level 4.
- Montezuma Develop a new backend for storing indices persistently, for example based on Elephant.
- Weblocks the web framework needs help, a list of Weblocks tasks.
- Android Lisp: Get a Lisp running on Google's Android cell-phone.
- R6RS on Gambit Scheme: Finish an implementation of R6RS on Gambit Scheme. Requires skills in Scheme, Gambit, understanding of R6RS. Difficulty level: 3 Mentorship offered by Arthur Smyles
- cl-berkeley-db: Add locking, logging, mutexes, replication and sequence support. Skills in CFFI, C, common-lisp, SWIG. Difficulty level 3. Mentorship offered by Arthur Smyles
- Parenscript Development Environment (PSDE): Develop a SLIME clone that uses web browsers as backends using Parenscript. Requires skills in JavaScript, cursory knowledge of compilers. Difficulty level 3.
- Climc : An XMPP client in McClim. Skills in xmpp and mcclim. Difficulty level 3
- cl-cocoon: Implement the Apache Cocoon in Common Lisp. Skills in macros, xml, web programming. Difficulty level 3.
For inspiration, check out the ideas from previous years:
FAQ
Do I have to be a student? Students are the only ones who can implement the code. If you are not a student you can formally participate as a mentor or informally as a domain-expert.
Do I have to live in New York City? No, you can live anywhere in the world. If you do not live in New York, LispNYC tries to associate students and mentors in the same timezone.
Do I need to speak English? Yes, Google speaks English and the proposal must be in English. If English is not your native tongue, LispNYC tries to match students and mentors based on native language.
How does the process work? A quick overview: First we solicit ideas from the community at large. Then LispNYC works closely with students to plan and create a great proposal. Next we assign mentors and experts with the student proposals and submit the entire package to Google for funding. If Google accepts the package, coding starts. Details can be found in the Student's Rights and Responsibilities
Do I need to code in lisp? Surprisingly: no. Not every mentoring organization is accepted by Google, which is why LispNYC extends professional courtesy to equally-misunderstood functionally-oriented languages such as: Haskell, Dylan, etc. Erlang and Smalltalk are included just because we like the way they roll.
Do I need to propose something base on your ideas list? No. They're just ideas to get you thinking, you can submit a proposal on anything.
Will my proposal be funded? Not all proposals are funded. Good ideas along with a well worked-out proposal by an interested student stands significantly higher chance. We're here to help you with that, please read the Student's Rights and Responsibilities
What is the student time requirement? This is a summer job, it is expected to be near full-time work for the duration of the summer.
What is the mentors time requirement? Mentors should be prepared to spend 10 hours per week.
How much will I get paid? This is how it worked last year: If accepted, students are paid $4500 in two installments and mentors are paid $500 in one installment.
Resources