News for hackers. Stuff that matters.
Re:Racket by KirinDave on Monday June 07, 2010 @04:34PM (#1411814)
We really need to give kudos to these guys. They have been persistent for years in developing a high quality Scheme, and then taking it to the next level. PLT Scheme is practical in its library design, flexible in its reader, meticulous in its documentation and fast as an execution engine.

Making a language fast and well-documented is a thankless task. It's nothing short of a herculean accomplishment for these guys to come out of left field with such a fantastic offering.

Re:Racket by carterschonwald on Monday June 07, 2010 @06:49PM (#1412270)
so so so true. Whats doubly impressive is that many of the core active members are full time academics who are able to frame their research so that they can both spend their time improving their PLT/Racket, and framing their work as also being genuinely top notch research!
Re:Racket by aufreak3 on Monday June 07, 2010 @09:51PM (#1412742)
Totally agree with both. They've taken great initiative and the criticisms that come with it. On top of all this, they create Moby which compiles to Javascript. If this were a concert, I'd give them a standing ovation.
Re:Racket by angrycoder on Monday June 07, 2010 @03:21PM (#1411516)
Now that is great rebranding.

All it needs now is 'try Racket in your browser' and a video of some dude making a blog in 15 minutes using Racket. Then it will be the new hotness.

Re:Racket by jmatt on Monday June 07, 2010 @04:59PM (#1411898)
Yeah that is great rebranding.

All it needs now is 'try Racket in your browser' and a video of some dude making a blog in 15 minutes using Racket. Then it will be the new hotness.

You're using it now. Arc was built on top of PLT and news.arc ships with it. So,you are using the killer app / example that you are looking for right now.

:)

EDIT: Clarification

Re:Racket by ximeng on Monday June 07, 2010 @05:22PM (#1411970)
Not quite a video, and I think it will take a bit longer than 15 minutes, but here's their tutorial on making a blog.

http://docs.racket-lang.org/continue/index.html

Re:Racket by fleitz on Tuesday June 08, 2010 @01:32AM (#1413098)
Almost, you need a twitter client these days, blogs are passe.

What good is a language if you can't make yet another twitter client in 15 minutes.

Re:Racket by _pius on Monday June 07, 2010 @03:09PM (#1411456)
I love seeing framework or language homepages with good copy and design like this one. The best ones make you want to stop what you're doing in your favorite language and go code something with the new hotness right now.
Re:Racket by skybrian on Monday June 07, 2010 @06:51PM (#1412275)
Unfortunately, it doesn't explain to the newcomer why this language is worth learning. I was expecting some kind of feature comparison or "Why another language?" article.

(That's a first impression. Then I read the comments here, and discovered it's based on PLT Scheme, which at least tell s me a little about what to expect.)

Re:Racket by Jimmy on Monday June 07, 2010 @07:57PM (#1412493)
It's not just based on PLT Scheme, it is PLT Scheme, rebranded.
Re:Racket by sigzero on Tuesday June 08, 2010 @08:10PM (#1415686)
I just have to say I hat that new brand. Yuck!
Re:Racket by hvs on Monday June 07, 2010 @05:02PM (#1411907)
It'll be interesting to see where they go with this; there seems to be a conscious effort to downplay the words "Scheme" and "Lisp" on the landing pages. I'm more of a Common Lisper myself (at least for my personal development), but I've been impressed with the PLT Scheme environment and languages. And anything that increases the use of the lisp family of languages is, imo, a good thing.

Others will obviously disagree with that sentiment. :)

Re:Racket by Confusion on Monday June 07, 2010 @03:33PM (#1411567)
Re:Racket by bandris on Monday June 07, 2010 @02:25PM (#1411296)
"Racket's interactive mode encourages experimentation, and quick scripts easily compose into larger systems. Small scripts and large systems both benefit from native-code JIT compilation. When a system gets too big to keep in your head, you can add static types."

Impressive.

Re:Racket by jey on Monday June 07, 2010 @03:22PM (#1411521)
Weird that it doesn't mention that it's the language formerly known as PLT Scheme.
Re:Racket by Ixiaus on Monday June 07, 2010 @03:34PM (#1411570)
Not really a "language" but an implementation of the Scheme programming language.
Re:Racket by jey on Monday June 07, 2010 @03:41PM (#1411605)
IIRC, the whole point of renaming it Racket is to show that PLT Scheme is "more than just scheme".
Re:Racket by Ixiaus on Monday June 07, 2010 @05:27PM (#1411989)
I realize that, but it would be false to call it a "language"; it's more appropriate to call it an "environment".
Re:Racket by teamonkey on Monday June 07, 2010 @04:27PM (#1411789)
Or rather, to show that it's not just R6RS Scheme.
Re:Racket by makmanalp on Monday June 07, 2010 @06:10PM (#1412132)
My impression is that it goes way far and beyond the scheme standard with all its additional features.
Re:Racket by gorm on Monday June 07, 2010 @03:36PM (#1411578)
As if we are not already busy learning clojure?
Re:Racket by spooneybarger on Monday June 07, 2010 @03:53PM (#1411655)
You're learning clojure and don't know scheme?
Re:Racket by leif on Monday June 07, 2010 @05:00PM (#1411900)
I actually did this.

Frigging worthless university programming courses didn't bother teaching scheme.

Learning scheme's libraries on my own along with the lisp paradigm proved too daunting before (or maybe I just never found the right toy project to stick with, not really sure). Having java libraries there to back me up (I was doing stuff with hadoop too, so that made sense) gave me the little leg up I needed to get over the hump.

Re:Racket by morphir on Tuesday June 08, 2010 @02:06AM (#1413140)
write factorial in scheme, then in clojure. And you might see an very interesting difference. Hint: the jvm does not have tail call optimization.
Re:Racket by fierarul on Tuesday June 08, 2010 @09:22AM (#1413802)
As if somebody would pick Scheme over Clojure for tail call optimization alone.

Clojure has a lot of handy stuff and the fact that's built on top of the JVM (with its limitations, indeed) is a major plus.

Re:Racket by lelele on Tuesday June 08, 2010 @08:13AM (#1413649)
What I don't like about Racket (former PLT Scheme) is that it's a closed environment. You can't use common Scheme libraries (for instance: SLIB), debugging facilities are hidden into Racket's editor therefore you can't access them from Emacs or other tools, etc.
Re:Racket by soegaard on Wednesday June 09, 2010 @09:35AM (#1416928)
There are some tools available for command line debugging: http://docs.racket-lang.org/errortrace/index.html?q=debuggin... http://docs.racket-lang.org/unstable/debug.html?q=debugging

SLIB has worked in the past. If there are specific parts of SLIB you need, try asking the mailing list for help.

Re:Racket by ghb on Monday June 07, 2010 @06:13PM (#1412143)
Any comments on how instructive HTDP is with Racket for introducing a non-programmer to coding?
Re:Racket by rsheridan6 on Monday June 07, 2010 @08:01PM (#1412502)
I did that years ago and found it to be very useful.
Re:Racket by bad_user on Monday June 07, 2010 @05:21PM (#1411968)
Is there anything like Practical Common Lisp for PLT Scheme?
Re:Racket by elibarzilay on Monday June 07, 2010 @09:21PM (#1412681)
Not a standalone book, but there's a guide for doing practical things: http://docs.racket-lang.org/more/
Re:Racket by jheriko on Monday June 07, 2010 @03:27PM (#1411542)
Its cool, but I wonder just how many high-level web oriented languages we really need...
Re:Racket by muuh-gnu on Monday June 07, 2010 @04:00PM (#1411688)
Homo sapiens is pretty cool too, but I wonder how many walking talking apes we really need... Random mutation + diversity + natural selection isnt yielding working, practical results only for biological organisms.

You sound like we should simply take the first best anything we run into and than stick with it unconditionally for the sole purpose of not having to spend time looking over the wall.

Do you at least remember the day back then when you lost your adventuresomeness?

Re:Racket by ryanwaggoner on Monday June 07, 2010 @06:20PM (#1412168)
Do you at least remember the day back then when you lost your adventuresomeness?

You could have easily made the point without being snarky and insulting.

Re:Racket by jheriko on Monday June 07, 2010 @07:08PM (#1412337)
Human evolution is more like looking at revisions of a single programming language. The basic elements remained consistent, but changed subtly over millions of years in an iterative fashion... if you pick life as a whole though I agree with your analogy, but this is very much a small cautious, iterative improvement and it offers me nothing I can't already get.

I enjoy the rational argument you give here, but I think you went too far by attacking my personality and misconstruing my words. The opposite of many is few, not one, and that was the impetus for my comment - right now "we" all seem to be focused on developing a tiny little area of programming instead of the whole and the effects are obvious if you have to work with it - towering technology stacks of crumbly code that are unstable through bad design and a lack of low-level mentality at the high-level - so bad they give Apple a pretty solid excuse to ban Flash on iPhone.

As for my "adventuresomeness" I'm comfortable with all the major paradigms and languages and work at every level, from encoded instruction bytes up to things like SQL/XSLT with C/Haskell/Fortran/Java/Ruby/Python/whatever inbetween and a wide variety of platforms (phones/games consoles/PDAs/calculators/PCs). I learned three languages in the last month - only two of which were through necessity at work and I am happy to make radical comments which express my opinions and not turn away from them when they clash with flavour of the month/year/decade... and thats just programming. I dunno what you call adventuresome but from your comment, I'd imagine its probably a lot less adventurous than me... but then I might be misconstruing words and attacking your personality then. :P

Re:Racket by j_baker on Monday June 07, 2010 @04:12PM (#1411728)
I don't think I would call scheme "web-oriented".
Re:Racket by jcl on Monday June 07, 2010 @06:34PM (#1412223)
It may not be common to refer to it as such, but the PLT Scheme guys see the web as the killer app for Scheme's continuations:

http://www.cs.brown.edu/~sk/Publications/Papers/Published/kh...

http://en.wikipedia.org/wiki/Continuation#Continuations_in_W...

Re:Racket by waterhouse on Friday June 11, 2010 @03:30AM (#1423152)
So maybe the new name comes from the fact that you serve with it.
Re:Racket by hvs on Monday June 07, 2010 @05:04PM (#1411914)
I don't think I would refer to a language that has its roots in the first high-level programming languages ever devised as "web-oriented." You may want to look up the words "Lisp" and "Scheme" in Wikipedia.
Re:Racket by mhd on Monday June 07, 2010 @04:49PM (#1411872)
Is "web-oriented" the new, more polite "not as fast as Fortran"?
Re:Racket by cgbystrom on Monday June 07, 2010 @04:41PM (#1411841)
Languages aside, I don't think the world needs another VM. Can't people just target an existing one? Please?
Re:Racket by chc on Monday June 07, 2010 @06:28PM (#1412204)
Your comment seems to imply that there is already a rich ecosystem of VMs in use, but there aren't really. Basically, there's the Java VM, which is bad for functional languages, and there's Mono, which is not really ideal for Scheme either, nor very popular except that it allows compatibility with .NET.

At any rate, I'm pretty sure PLT Scheme predates both Java and the CLI, so you'd be better off slagging Microsoft for their duplication.

Re:Racket by Hexstream on Monday June 07, 2010 @07:45PM (#1412451)
Re:Racket by chc on Monday June 07, 2010 @08:32PM (#1412580)
LLVM is not really a virtual machine, at least not in the same sense as the ones we're talking about.
Re:Racket by samth on Tuesday June 08, 2010 @09:02AM (#1413765)
First, the Racket VM has been under development since 1995, so it's not "another VM".

Second, the Racket VM supports lots of things that other VMs don't: the Racket module system [1], kill-safe synchronization [2], custodians and eventspaces [3], first-class continuations, and many other things besides.

[1] Composable and Compilable Modules, Flatt 2002

[2] Kill-Safe Synchronization Abstractions, Flatt + Findler 2004

[3] Programming Languages as Operating Systems, Flatt et al, 1999

Re:Racket by KirinDave on Monday June 07, 2010 @06:00PM (#1412105)
If the FFI is good, why do you care?

The PLT VM is very very good, and their FFI is very flexible. If you want a lispy dialect on the Java VM, you have one. But otherwise, why does it matter?