Hacker News new | past | comments | ask | show | jobs | submit login
Lisp In Summer Projects: Coding Competition (lispinsummerprojects.org)
100 points by tsm on May 6, 2013 | hide | past | favorite | 40 comments



> Development must be in LISP (typically Common Lisp, Clojure or Scheme) or English.

Shouldn't that be and English?

Further down:

> All Entries must be coded in LISP, typically this is Common Lisp, Clojure or Scheme. The determination of exactly what is a LISP is up to the discretion of the Judges. Haskell, Erlang and Smalltalk are not LISPs and will be disqualified.

> All Entries must be in English unless otherwise specified.


It's Lisp, so writing about Lisp rather than in Lisp is potentially awesome, e.g. the ideas page lists "serious documentation projects" and "Maccarthy fanfic" as possible entry points.

One of the distinguishing features of Lisp is that people write love songs to it.


Quality trolling. A++, would read again.


Being serious for a moment, quality documentation is an area where many lisps could use improvement.


Yes, I've seen it Clojure, where the documentation is extensive, giving great coverage to its standard library... but still haves you reading the source and searching the web for examples after reading the description, especially when speaking about macros (so... does this receive a vector? Does it take its arguments as a list, or what? A mixture of both?)

Racket goes full in the other direction, to a fault, even though it's much preferable.Racket's documentation is at times hard to wade through because it's so extensive. You have to scroll through the treatises and descriptions of options to find an example usage which will get you out quickly, but it's, for once, all there in the manual.


Haha, I actually really like how Racket does it and consider them a great example to follow:

- Racket's documentation is all on your local machine. Stuck without an Internet connection? F1, and you're searching your own documnetation index.

- Everything -- everything -- is hypelinked. If you see a blue word in a code example, even the ones on the front page of http://racket-lang.org/ , you can click on it and jump straight to that function's contract.

But I agree, I wish there were a better way to jump straight to examples when you're looking at a specific function's documentation. It's confusing having the completely separate "Guide" and "Reference" halves of the documentation with no links between them.


My gripe with Racket's documentation is that there is no middle ground between tutorials designed to showcase features rather than explain how Racket does and doesn't work and computer generated auto-docs. The tutorials are more geared toward selling the language to beginners, while the rest of the documentation is bereft of illustrative examples and editorial discussion.


Surely you mean (++ A)?


    (1+ 'A)


Symbol A is not of type number.

(1+ a)


A++ is a grade, not a number. Clearly what you need is #S(grade :letter A :decorations (+ +) :rapidly-escalating-pedantry t) or some other meaningful representation.


"Q: Why can't citizens of Cuba, Iran, Myanmar (Burma), North Korea, Sudan, Syria, Brazil, Italy, Quebec, and Saudi Arabia participate? A: Lisp In Summer Projects is similar to Google's Code-It, which is where the requirement originated. Lisp In Summer Projects does not have access to Google's cadre of lawyers and cannot invite legal risk to ourselves, our associates or our sponsors."

-- what's up with Brazil, Italy and Quebec that they're on this list, can anyone tell me?


Quebec has restrictive laws governing contests in which prizes are awarded.


And Syria, and Sudan, and Saudi Arabia? As far as I can tell these countries are in good relation with the US, some even great allies.


Syria certainly does not have good relations with the US. Currently the White House is considering providing more, potentially lethal aid to Syrian rebels. The White House Press Secretary has stated it is "highly likely" that the Assad regime has used sarin nerve gas.

US relations with Sudan is not much better due to the humanitarian crisis in Darfur.

[1] http://bigstory.ap.org/article/white-house-assad-likely-behi... [2] http://en.wikipedia.org/wiki/International_response_to_the_W...


This is the second time I see Italian people banned from a coding contest - the first being Google Code-in, but they had problems with paying under-age students [0]. Here instead you are allowed only if >18 years old, so I assume the problem lies in our monolithic and bloated taxes regulations.

Sigh.

[0] http://goo.gl/vnzL3


From the site FAQ, they just took the list from code-in without having a lawyer vet it.


Does this have to do with ITAR restrictions?


so basically admitting to cargo cultism


This sounds fantastic. I've been going through SICP, and this is a great outlet to try my hand a real project in Scheme.


Same here! Off-topic - Which Scheme dialect are you using to practice the SICP? I'm using Racket!


I've also been going through SICP, using racket. However, I've been using Neil van Dyke's SICP-compliant support package, so I feel my use is closer to SICP scheme than racket (if that claim even makes sense)

I use this line at the top of my scripts :

#lang planet neil/sicp

See here: http://www.neilvandyke.org/racket-sicp/

 


Yes, it makes absolute sense, there are quite a few things in SICP that aren't "legal" in Racket.

Using the Van Dyke plugin is an absolute must for SICP on Racket, IMO.


Oh god, it's a recursive acronym where the first word can also be an acronym for something else. I'm not sure what you would call that. An ambiguously recursive algorithm?


It would've been mutually recursive if Lisp (language) stood for something else which referenced Lisp (contest). But it doesn't, so you probably discovered a new type of recursive acronyms.

Hurd is an example of mutually recursive acronym:

"The GNU Hurd project is named with a mutually recursive acronym: "Hurd" stands for "Hird of Unix-Replacing Daemons", and "Hird" stands for "Hurd of Interfaces Representing Depth.""

http://en.wikipedia.org/wiki/Recursive_acronym


A recursive acronym with a shift/reduce conflict.


There is a book called Lisp in Small pieces, which I assume inspired the name, also a lisp tutorial called "Lisp in small parts": http://lisp.plasticki.com/ also probably inspired by the book title.


A recursive acronym with a termination condition.


> You're free to create whatever you would like, such as:

> - ...

> - Heroku and Google App Engine

Creating a pair of PAAS hosting providers? Now that would be impressive.

More seriously, the wording could well be revised a little for those who aren't familiar with the services/those without common sense/those as pedantic as am I (the latter sounds like a set which would overlap soundly with LISPers :P).

Looks great, though! :)


They don't consider Emacs Lisp as a Lisp !? Writing a(nother) cool plugin for emacs should be worth at least some praise.


From the FAQ:

Q: Can I use language X?

A: If it is Common Lisp, Clojure, ClojureScript, Scheme or any recognized dialect of Lisp, then yes. If it smells like a LISP and contains the word 'lisp', then probably.


So... anyone here up for Arc, then? ;)


This was previously called Lisp in Small Projects.

This link redirects to Lisp in Summer Projects: http://lispinsmallprojects.org/

Previous discussion: https://news.ycombinator.com/item?id=5564828


That discussion link isn't particularly enlightening. (0 comments)


... hence the italic.

Nonetheless, predates this link :)

Shameless plug: I submitted the old link.


How does one go about signing up?


At the very bottom of the page:

    June 1: signup
    June 24: development begins
    Sept 30: contest ends
    Oct 7: winners announced 
So, signup period is June 1 to June 24.. I guess


sorry about this. i think the HN post caught us slightly off guard. we'll have more details real soon now.


When are you going to give up the capitalized acronym LISP? It has the same archaic vibe and makes you want to code in it as much as in FORTRAN. Just call it Lisp.


The language name is actually "lisp", it's the enlightened converts' enthusiasm that causes them to shout it from the treetops. One would guess.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: