Hi,

I have a handful of projects (steadily increasing) lined up for GSoC 2014.
Of course at this stage they haven't been accepted, since student
allocations are still a few weeks away, however there are enthusiastic
students waiting in the wings.

I would be grateful for help mentoring these projects. I'm looking for
mentors who have a good history of Clojure involvement, and/or relevant
experience in the project areas. I'm looking for 2-3 mentors per project,
including myself.

GSoC provides $500US per student/project for mentors, which will be split
evenly between them.

There's a trail of information about mentoring
here<http://dev.clojure.org/display/community/Google+Summer+of+Code+2014#GoogleSummerofCode2014-Mentors>.
The timeline for this year is
here<https://www.google-melange.com/gsoc/events/google/gsoc2014>.
About 1-5 hours a week is needed during the project period (May-August).

If you're interested, you can do one of:
- email me
- respond to this post
- request to be a Clojure mentor on
Melange<http://www.google-melange.com/gsoc/homepage/google/gsoc2014>,
noting which project you're interested
in

GSoC 
FAQ<http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2014/help_page>

Here's a brief summary of the projects lined up (with students). Note the
mentor requirements indicate what the mentor should know by May, when the
project starts proper.

Dynalint: Improved runtime errors and identification of undefined behaviour
for Clojure and ClojureScript

Goals
- extend Dynalint
- get it working on ClojureScript and extend

Required for mentor
- Familiar with most standard Clojure idioms
- Familiarity with Clojure standard library

Typed Clojure Beginner Tutorial, Annotations & Error Messages

Goals
- small tutorial for core.typed
- annotations for external libraries
- work on identifying bad error messages in core.typed + improvements

Required for mentor
- experience with or willing to learn basics of Typed Clojure, enough to
observe the student's progress

Typed Clojure Core Annotations
Goals
- annotate all remaining namespaces included in the Clojure jar

Required for mentor
- Familiarity with Clojure's core library
- basic Typed Clojure knowledge (how to annotate and check some namespaces)

Typed Clojure: Heterogeneous operations & Dotted Polymorphism

Goals
- extend and improve Clojure's heterogeneous operations eg.
assoc-in/update-in
- express heterogeneous operations on the type level eg. Assoc, Merge,
Dissoc
- extend dotted polymorphism to handle the common pattern "variable
arguments increase by 2" (like assoc)

Required for mentor
- Good knowledge on the heterogeneous operations Typed Clojure currently
provides (not particularly internals)
- Familiarity with local type
inference<http://www.cis.upenn.edu/~bcpierce/papers/lti.pdf>
- Familiarity with dotted
polymorphism<http://www.ccs.neu.edu/racket/pubs/esop09-sthf.pdf>(like
the type for clojure.core/map)

Typed Clojure: Occurrence Typing

Goals
- improve on the existing occurrence typing implementation
- better proposition compacting
- implement "aliasing" propositions (these two local bindings are aliased,
therefore they have the same type)
- investigate how paths interact with aliases (bindings `a` and `b` are
aliased, we update `a` via (number? (-> a :a :b :c)), we now should update
`b`)

Required for mentor
- Familiarity with occurrence
typing<http://www.ccs.neu.edu/racket/pubs/icfp10-thf.pdf>
- Familiarity with local type
inference<http://www.cis.upenn.edu/~bcpierce/papers/lti.pdf>

Typed ClojureScript Annotations

Goals
- annotate core ClojureScript libraries
- annotate some external libraries

Required for mentor
- Familiarity with Typed Clojure types
- Familiarity with ClojureScript, the core libraries and idioms

Typed ClojureScript Implementation

Goals
- a useful implementation of Typed ClojureScript

Required for mentor
- Familiarity of Clojure & ClojureScript
- Familiarity with ClojureScript compiler/analyzer
- Some experience with static analysis

----------------------------------

Please get in touch if you need more information.

Thanks,
Ambrose

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to