What are the expectations for GSoC candidates in general and for the compiler/swiftmodule projects in particular?

Basically the title.
First things first, a short introduction,
My name is Eyad, I am a senior university student and I am currently learning compiler theory mostly on my own, implementing my own language. I program predominantly in C++. Tried Swift a few times, but haven't gotten really into it (yet). In my programming language project, I am still at parsing, haven't done any analysis yet work yet but I have some understanding of it. I haven't gotten very far into reading about analysis in the Engineering A Compiler book because I haven't really gotten into implementing analysis yet, but I could accelerate the theory reading if theory is good enough on its own (more on that in 1).

So with that out of the way, my problem is twofold:

  1. I am not sure what "familiar" means. Does it mean I understand the theory, but haven't implemented it myself before? Or does it mean that I have implemented it at some level before, even if it wasn't particularly good? Or does it mean something else entirely? I don't really know what's being expected here. Would be nice if expectations were a little less vague.
    Same also applies for the swiftmodule project, are there any more expectations beyond familiarity with C++ and Swift?

  2. How does a candidate even apply or "show up"? Other projects tend to mention a few issues or "competency tests" in every proposed project idea that candidates who want to get into that idea kinda have to get through first. Are there any similar processes for Swift? If there aren't, where do I go from "I think I am interested in this idea"? The Swift GSoC page just says to come to the development forum, but it doesn't really make clear what to do when I am on it. Do I just declare that I am interested? What's next?

Would really appreciate answers to these two questions as I am somewhat interested.

@hborla @codafi since I am mostly interested in your ideas I thought it'd be appropriate to tag you.

Thanks in advance! :D

Appreciate the reply! I did read your thread before posting but I didn't find it to be particularly helpful since yours was more geared towards proposing your own ideas whereas I am not proposing new ideas but just asking questions regarding the already existing ideas and how much the mentors actually expect from an individual so that they are able to work on realizing those ideas.

Hi Eyad, I'm thrilled that you're interested in participating in GSoC with Swift!

Yes. For example, for the "Tracking for typechecker’s type inference" project, I would expect that a student has a general understanding of static type checking and type inference as a concept. I would not expect a student to have implemented a type checker. During this time of preparing the application, I expect students to start to explore how Swift's type checker works and come up with a preliminary idea for how to track inferred types.

The first step is to express your interest to the community/specific mentors whose projects you'd like to pursue, and the next step is to ask questions! Ask the mentor any questions that you have about their project, ask if there are any resources that you should read or areas of the compiler that you should start to dig into, etc. After that, start to come up with a more concrete proposal for the project that you're applying for, and discuss it with your potential mentor.

Many of the projects on Swift.org - Project Ideas for GSoC 2021 are vague to allow students to take each project in their own direction. I'll use my "Tracking for typechecker’s type inference" project as an example again - I don't have an exact implementation in mind for this, and I would love for students to come up with their own ideas. The same is true for my property wrapper project. I have some ideas and I can guide students, but this really wouldn't be any fun if I just told a student exactly what to do :slight_smile: this is also meant to be a collaborative experience!

Which ideas of mine and Robert's are you interested in? I believe both of us have several ideas on the potential projects list

5 Likes