notabel
http://research.microsoft.com/~simonpj/papers/lw-conc/index....
(The paper is also notable for giving a complete operational semantics of the system it discusses.)
(But this stuff isn't in GHC mainline, and won't be, for now, because it needs serious performance work first.)
(NB: Unless I'm wrong. I've never tried it, it's possible that there's some nice trick for it that just isn't occuring to me.)
It's unlikely that the situation is any different in Arc; Haskell is just fundamentally different from other languages (other than Clean), in that lazy evaluation is the default behavior. In Lisp you can ask to create a thunk and then ask to evaluate it later; in Haskell, everything is a thunk, and the compiler/runtime evaluates it when needed.
I also have my email here set to a subaddress, which is also included in the above forward. Points to anyone who understands Sieve semantics well enough to predict whether the message will get matched and redirected twice.
Sieve happens in realtime :-)
(Also note, I'm not saying that there is no such thing as an engineering education, only that many engineering programs suck at developing the mind generally. I'd still maintain that there's a fundamental difference between engineering and liberal art/science education, but that is not a discussion for this thread.)
While autodidactism is certainly laudable, there is value in a corporate educational setting, namely the value of intellectual interaction. College is not so much about learning a set of data, but learning how to learn. (For the ultimate example, consider the Ph.D., a degree meant only to teach you to do research, and requiring legitimate research to attain it.)
Now, I'll admit, I was educated in a liberal arts[1] high school, and am currently pursuing a couple of liberal arts degrees. That is both why and because I believe education is about thinking, not committing facts to memory. I eschew academic engineering because it is (at my university, at least) primarily a series of courses that certify your knowledge of yet another parcel of facts. That is useless, educationally. As technical training,[2] great, but it's not education.
Your list of "why"s implies that, substantively, you were no different at the end of college than at the beginning, modulo a group of friends, and four years aging. If that is the case, I'm terribly sorry; you managed to miss most of your education.
[0] Mea culpa: this entire comment is a bit hot-headed. You've hit a pet peeve. [1] Before you jump to conclusions: the liberal arts include the hard sciences. [2] In all honesty, that's what engineering school is: a vocational education in an incredibly advanced vocation. (That's not a problem, really: I share my time between my liberal arts degrees and a fine arts program, which is also vocational education, in a (imho) advanced vocation.)
One thing I wonder is whether there is any logic to deal with confounding variables--for instance, if someone picks every photo that has a bike in it, maybe they just like bikes, and those data points should be excluded.
On the whole, though, the pairwise people have probably as good a shot at anyone at making a not-suck personality analyzer.
There's real busywork: work assigned just to take your time, create something to grade. That's crap, it should go away. (And in my collegiate experience, largely has.)
Then there's "impractical stuff": people often malign work they do that doesn't directly apply to the real world, but I think that it is often worthwhile. Consider MIT's famed 6.001: few of its students ever use Scheme, or any functional language, professionally, but the work in Scheme is never the less worthwhile. (Disclosure, I love functional languages.)
The question is whether that is a problem. I for one don't really think that traditional secondary ed is the right place for teaching tech. Tech moves too fast.
We need to fix the school systems to more effectively cover their domain: sciences and humanities. Technology, however, is best learned as we learn it: free-form, self-directed, online. There is no need to merge that into curricula.
(Note, there's a difference between technology and CS: CS is algorithmics, theory; it's a branch of math, really. Technology is applied: websites, programming languages, things of this sort. Any curricular approach to technology is doomed to constantly lag the tech education available extracurricularly.)
I can certainly agree with you about that. IB has been around for 30 years, and just got any foothold in American 10 years ago. I was lucky enough to go to one of the early public IB schools.
In class, similarly, there was very little pre-planned content. In Latin, we simply went through the previous night's translation, line by line, with discussion breaking out whenever someone was perplexed or intrigued by something.
In English, there was perhaps a bit more planned content, but not much: the teacher would have something to talk about, and start out talking about it, but within 5-10 minutes we would have moved out of the prepared material into our own discussion.
Now, in the sciences, yes, there is definite content, and there, surely, there would be value in a central content store, but it would need to be developed outside the institutional structure, or your 2) would rapidly become 1). (Yes, I'm a bit jaded: I went to an amazing program, but it was housed at a horribly administered school.)
I was lucky enough to be educated in an International Baccalaureate program that stressed interaction between students and teachers, convivial debate rather than lecture, and analytic essays instead of rote recall. The strength of the program came from its decentralization, relying on good teachers rather than central planning. The teachers and students worked together, as collaborators.
Technology is a wonderful thing, but in education, it generally gets in the way of the greatest teacher: intellectual discourse. A teacher and 10-20 students talking with each other[1] is an optimal model for learning. Educational technology generally takes the personal interaction out of things, and certainly makes the process less engaging.[2]
[1] Very different from a teacher talking to, or at, students.
[2] I'm talking about secondary education. For primary ed, technology can be very useful. But that is a very different environment.
[Anybots++]
NB: As usual, this is me, guessing. Only pg knows for sure. :)
Just yesterday I started reading "Founders at Work", and from what I've gotten through, it's going to be great. More on that later, if this thread last.
In any case, I'll certainly be watching.
Yes, FF supports rich application development in XUL, and yes, Apollo might compete with that somewhat, but it doesn't really matter. XUL is there not as a feature but as a tool: the FF UI is built with XUL. That it is useful for others is really just a detail. In FF3, there will be more emphasis and support given to XUL apps, but still, it's there for the browser.
Also, the degree of competitions between FF and Apollo is, I think, overestimated. Apollo is basically just another RAD toolkit. XUL apps aren't desktop apps, they run directly in the browser just like Ajax apps. That gives them an entirely different use case than Apollo. (E.g. if FF becomes widespread, XUL might compete with Ajax when building something like gmail. Apollo wouldn't--a desktop app built with web tech is still a desktop app.)