Skip to content

Commit 3cae58f

Browse files
committed
Merge pull request scala#408 from densh/topic/gsoc-links
Update GSoC 2016 page links
2 parents 2adeef3 + c0a4ede commit 3cae58f

File tree

1 file changed

+21
-18
lines changed

1 file changed

+21
-18
lines changed

gsoc/2016.md

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ title: "Google Summer of Code 2016 Scala Projects"
99
## Google Summer of Code
1010

1111
**This year the Scala team applied again for the [Google Summer of
12-
Code](http://www.google-melange.com/gsoc/homepage/google/gsoc2016)
12+
Code](https://summerofcode.withgoogle.com/)
1313
program to work with enthusiastic students on challenging Scala
1414
projects**
1515

@@ -19,7 +19,7 @@ in much more detail, preferably with their own suggestions and
1919
detailed plans on how they want to proceed. Don't feel constrained by
2020
the provided list! We welcome any of your own challenging ideas, but
2121
make sure that the proposed project satisfies the [main
22-
requirements](#requirements_and_guidelines) mentioned below.
22+
requirements](#requirements-and-guidelines) mentioned below.
2323

2424
### How to get involved
2525

@@ -50,7 +50,8 @@ reviewed.
5050
There is a long list of smaller and medium sized open tickets for the Slick code generator.
5151
Time to tackle them and give it another overhaul. This is going to be a very useful and somewhat easier project.
5252

53-
https://github.com/slick/slick/issues?q=is%3Aopen+is%3Aissue+label%3Atopic%3Atype-providers
53+
[https://github.com/slick/slick/issues?q=is%3Aopen+is%3Aissue+label%3Atopic%3Atype-providers
54+
](https://github.com/slick/slick/issues?q=is%3Aopen+is%3Aissue+label%3Atopic%3Atype-providers)
5455

5556
Supervised by [@cvogt](https://github.com/cvogt) and/or [@szeiger](https://github.com/szeiger)
5657

@@ -60,7 +61,7 @@ There are lots of open tickets in the Slick issue tracker. Some which have long
6061
be about tackling as many of them as time permits. It will be a good chance to learn about the Slick code base
6162
and have an impact in this successful project. Some issues may be simple, but many issues may be challenging to fix and will require someone smart, dedicated and persistent enough to learn the details of how Slick works.
6263

63-
https://github.com/slick/slick/issues
64+
[https://github.com/slick/slick/issues](https://github.com/slick/slick/issues)
6465

6566
Supervised by [@cvogt](https://github.com/cvogt) and/or [@szeiger](https://github.com/szeiger)
6667

@@ -69,7 +70,7 @@ Supervised by [@cvogt](https://github.com/cvogt) and/or [@szeiger](https://githu
6970
Super-charged for-comprehensions are an effort to implement an alternative direct-style dyntax for monadic comprehensions in Scala.
7071
The goals are reduction in syntax, enabling more control flow expressions, inline Monad value extraction and transformer operations on the Monad context (as in Comprehensive Comprehensions). At the time of writing the project is in heavy flux. Depending on its status there will likely be interesting idea how to take the project further. One likely topic would be exploring type changing comprehensive comprehension transformers, such as groupBy or aggregations. The implementation heavily relies on macros and will require learning how to work with Scala's compiler ASTs and make changes to the AST transformation stages.
7172

72-
Work in progress: https://github.com/cvogt/flow-comprehensions
73+
Work in progress: [https://github.com/cvogt/flow-comprehensions](https://github.com/cvogt/flow-comprehensions)
7374

7475
Supervised by [@cvogt](https://github.com/cvogt)
7576

@@ -100,7 +101,7 @@ Supervised by [@axel22](https://github.com/axel22)
100101

101102
### Better Scripts in Scala
102103

103-
There are several hacky, ad-hoc ways to write scripts in Scala already, e.g. SBT's script-runner, and the Ammonite REPL's script loader. Your task in this project would be to improve the experience writing scripts using Ammonite to be on-par with the experience writing scripts in any other language, as well as on-par with the experience writing Scala code in a large project. This includes:
104+
There are several hacky, ad-hoc ways to write scripts in Scala already, e.g. SBT's script-runner, and the [Ammonite REPL](https://github.com/lihaoyi/Ammonite)'s script loader. Your task in this project would be to improve the experience writing scripts using Ammonite to be on-par with the experience writing scripts in any other language, as well as on-par with the experience writing Scala code in a large project. This includes:
104105

105106
* Improving startup time: SBT is terribly slow, and even Ammonite scripts take 1-2 seconds to boot up, This is speed-up-able.
106107
* Improved error reporting: Ammonite's scripts currently report line-numbers and file-names based on the mangled compilation-unit. We should report based on the location within the source file a user wrote.
@@ -112,13 +113,13 @@ Supervised by [@lihaoyi](https://github.com/lihaoyi/)
112113

113114
### Flexible Fast Parser Combinators
114115

115-
The FastParse library is a modern replacement for Scala's old parser combinators library. It provides similar API, drops a lot of redundant operators, and runs 50-100x faster. However, right now it only parses Strings.
116+
[The FastParse library](https://github.com/lihaoyi/fastparse) is a modern replacement for Scala's old parser combinators library. It provides similar API, drops a lot of redundant operators, and runs 50-100x faster. However, right now it only parses Strings.
116117

117118
This project would be to extend FastParse to parse other things. Cases to cover include:
118119

119-
* Binary data: Array[Byte], ByteBuffer, ByteString, letting us parse things like binary files, network protocols, or other formats
120-
* Streaming data: Iterator[String] and Iterator[Char], letting us parse files while not materializing the entire contents in memory
121-
* Pre-tokenized data: Seq[T] for an arbitrary T, letting you re-use a pre-written lexer before your parser
120+
* Binary data: `Array[Byte]`, `ByteBuffer`, `ByteString`, letting us parse things like binary files, network protocols, or other formats
121+
* Streaming data: `Iterator[String]` and `Iterator[Char]`, letting us parse files while not materializing the entire contents in memory
122+
* Pre-tokenized data: `Seq[T]` for an arbitrary `T`, letting you re-use a pre-written lexer before your parser
122123

123124
Using virtual classes, we should be able to extend FastParse to do this while still re-using most of our code. Your task would be to:
124125

@@ -162,7 +163,8 @@ the REPL experience in Dotty. In this project you're going to expand
162163
current minimalistic REPL with advanced functionality to improve
163164
end-user's experience.
164165

165-
https://github.com/lampepfl/dotty/issues?utf8=✓&q=is%3Aissue+is%3Aopen+repl
166+
[https://github.com/lampepfl/dotty/issues?utf8=✓&q=is%3Aissue+is%3Aopen+repl](
167+
https://github.com/lampepfl/dotty/issues?utf8=✓&q=is%3Aissue+is%3Aopen+repl)
166168

167169
Supervised by [@densh](https://github.com/densh)
168170

@@ -173,8 +175,9 @@ exposes user-controllable memory management to Scala programmers. At the moment
173175
it has fairly limited array-based collection API. Your goal in this project
174176
would be:
175177

176-
* Expand existing functionality of combinator methods on off-heap arrays
177-
* Port new collections (Set[T] and Map[K, V]) to the off-heap world
178+
* Expand existing functionality of combinator methods on `offheap.Array[T]`
179+
* Port implementation of maps to scala-offheap (`offheap.Map[K, V]`)
180+
* Port implementation of sets to scala-offheap (`offheap.Set[T]`)
178181

179182
Supervised by [@densh](https://github.com/densh)
180183

@@ -212,22 +215,22 @@ Supervised by [@sjrd](https://github.com/sjrd/)
212215

213216
### General Student Application Requirements
214217

215-
This is the fifth time the Scala project has applied to the Summer of
218+
This is the sixth time the Scala project has applied to the Summer of
216219
Code, and from last years experience, increased popularity of the
217220
language and stories of other mentor organizations we expect a high
218221
number of applications. First, be aware of the following:
219222

220223
* Make sure that you understand, fulfill and agree to the general
221-
[Google Summer of Code rules](http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2016/help_page)
224+
[Google Summer of Code rules](https://summerofcode.withgoogle.com/rules/)
222225
* The work done during GSoC requires some discipline from the
223226
students as they have to plan their day-to-day activities by
224227
themselves. Nevertheless we expect regular contact with the
225228
mentors by the usual forms of communication (mail, chat, phone) to
226229
make sure that the development is going according to the plan and
227230
students don't get stuck for weeks at a time (3 months may seem
228231
long, but in reality it is very easy to run out of time).
229-
* The [official SoC timetable](http://www.google-melange.com/gsoc/events/google/gsoc2016)
230-
mentions May 19th as the official start of coding, but if you
232+
* The [official SoC timetable](https://summerofcode.withgoogle.com/)
233+
mentions May 23 as the official start of coding, but if you
231234
have time you are encouraged to research your proposals even
232235
before that (and definitely learn the basics of Scala, if you
233236
haven't done that already).
@@ -261,7 +264,7 @@ number of applications. First, be aware of the following:
261264
### General Proposal Requirements
262265

263266
The proposal will be submitted via the standard web-interface at
264-
[http://www.google-melange.com/gsoc/homepage/google/gsoc2016](http://www.google-melange.com/gsoc/homepage/google/gsoc2016),
267+
[https://summerofcode.withgoogle.com/](https://summerofcode.withgoogle.com/),
265268
therefore plain text is the best way to go. We expect your application
266269
to be in the range of 700-1500 words. Anything less than that will
267270
probably not contain enough information for us to determine whether

0 commit comments

Comments
 (0)