It's almost time for the start of the 2015 GSoC org submissions (February 9th).
We have applied last year but we were sadly not chosen. I think that we should apply again and hopefully put in a lot more effort into our application. The most important part of the application is the ideas page and while last year's ideas page was good, it was not better than some of the other organisations' that also applied (for reference here is last year's ideas page).
A list of accepted organisations in 2014 is available here. It is good to compare our ideas page to the likes of Julia's or KDE's as well as other programming languages that have been accepted last year (some of which actually look worse than ours now that I look at them :()
This is where the awesome Nim community comes in. I need some volunteers, specifically I need mentors and somebody to be the organisation admin (and backup admin, I'm assuming Araq will be the admin). I also need help creating our new ideas page, perhaps somebody who's good with HTML/CSS/JS could create something nice although I think it's about the content more than the presentation.
Because I am a student now and I would like to apply as a student to GSoC this year I will not be able to be a mentor or the organisation admin. We may get away with putting me down as the backup admin though.
To get us started I created a new page on our Wiki: https://github.com/Araq/Nim/wiki/GSoC-2015-Ideas.
Edit: Here is the feedback we got last year https://gist.github.com/dom96/9273843
Edit2: If any of you are Google employees (or know any Google employees) it would be awesome if you could vouch for us (or get in contact with them and ask them to vouch for us).
Any help is welcome!
String interpolation.
let x = 1
echo 'x = $x'
echo 'x + 1 = {x + 1}'
import foo
proc add(a: int b: int): int =
a + b
static import foo.a
static import foo.b
static import foo.c
class bar
{
static function add(a : int, b : int) : int
{
return a + b;
}
}
dom96 The feedback from the Google person was entirely unhelpful. You didn't get an A+, whatever that means. I think you're right, an internal champion would help.
Since Nim is not knowm as well as Rust, Go, and D, three languages with which it's safe to say Nim is competing for mindshare, a bit more description of where Nim sits in the space of programming languages is called for. So, "Nim is a statically typed programming language which compiles primarily to C and has an excellent performance/productivity ratio. Nim's design focuses on efficiency, expressiveness, elegance." could be changed to be something flashier, like "Nimrod is a wide spectrum language looks and feels like a statically typed Python that has Lisp like metaprogramming and compiles to C speed code, etc."
Yes, I know, all of this is on the Nim home page, but I suspect that some judges don't research this and just skim the first page. So heavily loading that top page with what makes Nim exciting may get them to look closer.
I think you should also resubmit still relevant projects proposed last time if their mentors are still available. In particular, all of the Nim compiler projects are still relevant. The ""Make Nim a viable research platform for GC algorithm"" is an A+ idea for a GSOC like project if ever there was one. I've seen a lot of discussion about whether GC is acceptable in some kinds of game programming, and how to avoid it in languages like D (and Nim!) and this would make Nim even more interesting.
Seems like the results are out and Nim is not there... :-(
https://www.google-melange.com/gsoc/org/list/public/google/gsoc2015
@robohamburger Well yes :) And there is some basic repl nim i.
I used that already to show people stuff :)
$ nim i
>>> echo "Hello Repl!"
Hello Repl!
>>> import strutils
Hint: strutils [Processing]
Hint: parseutils [Processing]
>>> echo "She loves you! ", "Yeah! ".repeat 3
She loves you! Yeah! Yeah! Yeah!
>>>
P.S.: repeat() for strings was just added to the strutils library. Use repeatStr(3, "Yeah! ") with older ones :)
>>> let x = newSeq[int](10)
>>> import strutils
Hint: strutils [Processing]
Hint: parseutils [Processing]
>>> let y = newSeq[int](10)
stdin(3, 4) Error: cannot evaluate at compile time: y
Error: unhandled exception: stdin(3, 4) Error: cannot evaluate at compile time: y [ERecoverableError]
This is just one of many ways to make it crash...
It was a reference to Apple's phone signal problems, which became a "holding it wrong" meme.
Which means it's a joke and you did nothing wrong. http://memegenerator.net/instance/34146170