Live data from Hacker News

Running a startup on Haskell

bos.github.com

11–20 of 76 posts

Re: Running a startup on Haskell

#11
It appears he's teaching a course at Stanford on Haskell starting next week, MW later in the afternoons.

Taking a class just to learn a language is a bit dodgy, but Haskell is probably a forgivable exception.

Re: Running a startup on Haskell

#13
post #9

I must hunt down and learn to use a QuickCheck-like library for my language. If I can't find one, I should write one. So what's the (best) equivalent of QuickCheck in Ruby? In other languages?

Scala has scala check: http://code.google.com/p/scalacheck/

Ruby, because of non static types, can't be as magical, but people have given their best: https://github.com/IKEGAMIDaisuke/rushcheck

Re: Running a startup on Haskell

#14
post #9

I must hunt down and learn to use a QuickCheck-like library for my language. If I can't find one, I should write one. So what's the (best) equivalent of QuickCheck in Ruby? In other languages?

I'm not sure about one that can generate arbitrary data, but Heckle[0] will break your Ruby tests in extravagant ways.

[0] http://ruby.sadi.st/Heckle.html

Re: Running a startup on Haskell

#15
post #6

Earlier quoted context omitted.

Did you know that that was a slideshow? You're seeing the title page, click on it to advance to the next page. repeat.

Arrow keys also work.

That said, this is pretty poorly designed. I also had no clue what to do for the first few seconds after I clicked the link. It was only at slide 38/41 that I noticed the tiny, hidden controls on the very bottom blending into my status bar.

Re: Running a startup on Haskell

#16
post #11

It appears he's teaching a course at Stanford on Haskell starting next week, MW later in the afternoons. Taking a class just to learn a language is a bit dodgy, but Haskell is probably a forgivable exception.

It's a class in Haskell, not on Haskell.

Re: Running a startup on Haskell

#17
post #11

It appears he's teaching a course at Stanford on Haskell starting next week, MW later in the afternoons. Taking a class just to learn a language is a bit dodgy, but Haskell is probably a forgivable exception.

I'll actually be sitting in on this class if not enrolled in it. I look forward to another good forum where I can improve my Haskell and functional programming skills, particularly with a good instructor like Brian O'Sullivan.

I think the main advantage of a course at Stanford is access to the instructors. Sure, I could just read Real World Haskell and do all the exercises, but with the course I have a space where I can directly talk to Brian or David at least once a week if I have questions.

Re: Running a startup on Haskell

#18
post #11

It appears he's teaching a course at Stanford on Haskell starting next week, MW later in the afternoons. Taking a class just to learn a language is a bit dodgy, but Haskell is probably a forgivable exception.

It's a class in Haskell, not on Haskell.

This is a good point. It's "Functional Programming in Haskell". When I first saw the course I think it was titled, "Systems Programming in Haskell."

Re: Running a startup on Haskell

#20
post #8

Interesting that he comes down in favor of Snap. I've been looking at the Snap vs. Yesod question for my own projects, lately, and there's interesting arguments both ways. Yesod is big and comprehensive, with four or five custom DSLs that have compilers implemented in Template Haskell. Snap is tiny, really just a routing engine and server with a small template library tacked on. Yesod reminds me of Rails, while Snap…

Yesod is a web framework. It is designed to display web pages with some sort of datastore backing them. If you had a CRUD-type app with a few different data models then Yesod will make it really easy to generate the appropriate HTML and forms and make them type safe. It extends the Haskell all the way down to the application layer, assuming standard HTML as your primary response and a certain data representation and persistence layer.

Snap (I have only looked at it. Please correct me) seems like it only goes as far as the HTTP layer. It's designed so you can implement web services. Those services might return HTML, but they might return JSON or XML. It doesn't care or help you with your data representation. You have to do your own data persistence and display layers.

Post reply on HN