The Meta-LtU Thread

I think it's high time to have a good, possibly long, and decidedly newbie-friendly meta-discussion about Lambda the Ultimate. Of particular interest is the goals of the site, suitable topics of discussion, and general etiquette.

As I've said before, I have been bothered by the way "off topic" discussions have been handled lately. Moreover, it appears that Ehud's recent front-page post, while accurate, has brought site participation to a virtual standstill.

Again, some of this policing is necessary to maintain the quality of this site, but the civil libertarian in me would like to gracefully accommodate wider participation while maintaining attractive discussions and overall site content.

Let me open this discussion with an extremely astute observation by Philip Wadler:

My experience on the Haskell committee caused me to formulate 'Wadler's Law': time spent in debating a feature doubles as one moves down the following list:

* Semantics
* Syntax
* Lexical syntax
* Lexical syntax of comments

The reason for this is quite simple: it's easy to debate the lexical syntax of comments, whereas it's hard to make meaningful insights into semantics, especially for a language that is as esoteric as Haskell was 20 years ago.

Naturally, more people will be able to offer an informed opinion on the latter topics, even though we shouldn't care as much as we move down the list. (and many of us don't)

Thus, if we model human behavior as a Markov chain, even assuming that each individual person is (somewhat) less likely to add to a lengthy discussion of such trivialities, it's only natural that there will be much more discussion generated on the easy topics. LtU is no exception to this rule.

I absolutely love it when we are graced with the participation of some of LtU's highest-profile members, including Philip Wadler, Lennart Augustsson, Tim Sweeney, Conal Elliott, and Oleg. (who needs no last name) These people are all easily smarter and more knowledgeable than myself, and it makes me very happy that we can attract such participation from time to time.

Of course, there are plenty of other members that fall into the same category, that don't (yet) have quite the same level of fame. Anton van Straaten and neelk immediately come to mind. I don't intend to slight anybody by acknowledging these particular members; my choices reveal more about my own personal (and often obvious) programming biases than anything else.

The elite should also realize that due to Wadler's Law, the more intelligent or abstruse the comment or post, the harder and more time consuming it is to produce a meaningful response. So don't feel too slighted if you don't get as much response as you hoped for, or some noob makes a patently silly or overly longwinded comment. If an appropriate response to such a comment is obvious to me, believe me, I've got your back. Of course, the better I understand your work, the better I will be able to help.

Let me wrap this lengthy post up with one final, but critical point: LtU is not only about the elite, who we welcome with open arms, but also relative newbies like myself, or even total newbies that have no background but have the interest and enthusiasm to stick around and learn something.

If you fall into this last category, your first priority should be to figure out the right questions to ask. Figure out how to provoke us into sharing what we know. And if you think you have some insight, by all means, try.

In the mean time, we'll try to cut you some slack, but try not to be too obnoxious. If you can correct Oleg, by all means, go for it. I definitely want to read it. But beware, the odds are not in your favor. You definitely want to double and triple check your work.

In concurrence with our illustrious and over-worked dictator for life, Ehud Lamm, I would direct everybody to re-read the Spirit Page. Dominic Fox's testimonial is particularly compelling. He deserves to be LtU-famous as well, for very successfully being a total noob.

If you go back and re-read Dominic's comments in the archives, it is unfortunate that he hasn't been around much lately. I suspect that growing demands from his family and his job keep him quite busy these days.

So, in conclusion, I want to hear about your perception of LtU. My goal here is to make LtU better. Any insights into or questions about goals, topics, ettiquette, or even site mechanics are particularly welcome. How can we attract both elite experts and enthusiastic novices without alienating the experts or intimidating the novices?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Active Discussion Topics

Ok, I'll open this up with an observation about site mechanics. Namely, I want to point out a weaknesses in the "active forum topics" feature. If a post starts as a forum topic, and is then promoted to the front page, time passes, the discussion grows stale, and the topic fades from most people's mind.

Now say somebody happens along and makes some brilliant comment that's worth reading. The story will appear on the right, as an active forum topic. However, if a story went immediately to the front page, bypassing the forums, this won't happen. As a result, the comment will probably get buried and few people will read it.

By segregating these posts and discriminating against the front page, this would seem to re-inforce a certain kind of hidden Markov model that is probably undesirable. I propose that the "active forum topics" be modified into an "active discussion topics." Moreover, I suggest that the editors be given the ability to set or remove a "sticky bit" so that problematic discussions can get buried, and thus much less offensive to people who know better and tend to get demoralized by such things.

Site mechanics

The trouble with mechanics suggestions is that most of this stuff is more or less built into Drupal. In principle, it's all customizable, but in practice (as anyone familiar with PHP and Drupal can surely attest), the cost curve between the default and the ideal is extremely steep. (Steep to the point of discontinuity, in my opinion.)

So I don't mean to discourage these suggestions, but I also want to urge you to be understanding when changes are not swiftly forthcoming.

No disagreement here.

Honestly, I hate PHP and want to deal with it as little as possible. In fact, I have worked with Drupal in the past on a moderately high-profile site, especially with regard to credit card and mailman "integration". The credit card processing was done completely from scratch, with an eye towards security, a clean and user-friendly one-page interface, and post idempotency to avoid accidental double-transactions. While it was never reused and eventually disappeared, it was influential in the niche that site occupies. However, I certainly did not do nearly as good a job with the Drupal side of things as Anton has done with LtU.

If others decide that my suggestion is worthwhile, I'm certainly not expecting it to be implemented overnight. Quality software worth using always takes longer than you think it should, even taking this into account.

Technicalities

Thanks for the suggestions, and for understanding that implementing them isn't free. :)

Changing those blocks to include front page stories should be simple enough, but it does involve changes to the Drupal source. I've been conservative (to a fault) about that, because it makes upgrading Drupal a bigger job.

Allowing editors to be able to flag topics to deprecate them is a bigger change, at least on the version of Drupal we're currently running.

We should be able to implement some changes along these lines after the next Drupal upgrade - which is long overdue, for various reasons, but it's not too far off now.

BTW, the Recent Posts tracker page is completely egalitarian about stories vs. forum posts, so I recommend using that for now.

I'm not going to get into the more community-oriented aspects of the discussion right now (maybe tomorrow), but I appreciate the subject being raised. I generally agree that there's room for improvement, but the details need to be worked out carefully.

A Silly Idea

I don't think it will happen, but have you ever considered moving from Drupal to blogger? I guess it is technically difficult to push the database over to blogger, but it seems to be evolving at a faster pace than Drupal, and there are a lot of goodies which come with it. (As well as that a lot of people now seem to have their own blog, it might integrate nicely.)

Implementation discussion

I've gotten the impression from recent editor responses that PL implementation is considered "off-topic" here. Part of the problem with that subject is that it is more accessible to folks at large than is language design, especially with formal semantics. However, I think most LtU participants are interested in implementation issues, especially those that build on top of the mountain of literature on the subject. I agree that we want to avoid posts from new folks designing their own languages (usually for unclear reasons) and reinventing the field of compiler design as they go, but there should be a middle ground.

I can't imagine why we would want to rule out discussion of papers on PL implementation from top conferences and journals, but I've gotten the impression that "the official policy" might have this consequence.

Part of the problem with

Part of the problem with that subject is that it is more accessible to folks at large than is language design, especially with formal semantics.

More than that, the implementation details can offer insights to people struggling to understand an abstract concept by seeing how it is implemented. For instance, closures, continuations, polymorphism, etc. all clicked for me when I grasped the implementation details, and a number of times it happened during LtU discussions. I can dig up some examples if needed.

I understand that implementation discussions probably aren't very appealing to more knowledgeable members (except when they are). I've stepped over the line a few times myself, but my "soft rule" for implementation discussions is: make it language-agnostic and architecture-agnostic, try to find and ask for pointers first to establish a good foundation for making informed comments, and don't degenerate into discussion of details which just ends up being tedious, even for those who are interested in implementations.

Regarding Ehud's recent post, a little gun shyness after getting smacked down is to be expected. Happened to my first post ever here which was borderline OT, but it's important for users to take it as an incentive to learn more instead of fretting over bruised egos. :-)

So as a random idea, perhaps some way to tag our own posts like we do front-page stories would help with filtering out unwanted discussions. Even a coarse-grained (Implementation | Theory) distinction would allow users to filter out threads they have no interest in. I'm wary of the idea though, because filtering can be taken as reason to broaden the scope of acceptable discussion. Just a thought!

Lots of good points here

I think almost all of us here have posted something lame at some point or another. Many of us, including myself, have gotten smacked down for it. I know one time in particular I really deserved it. :-)

I am interested in knowing about your light-bulb moments, at least when it comes to continuations. While I've always thought that closures and polymorphism were easy, I myself have never had a light-bulb moment with regard to continuations. Rather, my progress in understanding them has always been difficult, often for nearly imperceptable gains.

Learning about continuations was almost like learning how to program all over again.

I myself have never had a

I myself have never had a light-bulb moment with regard to continuations. Rather, my progress in understanding them has always been difficult, often for nearly imperceptable gains.

I suppose it depends what kind of continuations we're dealing with. When I first started with functional languages years ago, CPS stumped me, because I had no experience with or understanding of tail calls. Then I learned a tail call and CPS could be compiled down to an series assembly jump instructions, and the control flow suddenly made perfect sense.

If you mean call/cc continuations, there were a few papers posted here that discuss continuation implementations. Representing control is a good one (or the original paper about multi-shot continuations -- couldn't find an LtU link interestingly enough). Having come from an imperative mindset, I find thinking about continuations as a cloned coroutine to be most helpful. I even wrote some stack-copying based implementations of continuations in C. There are also stack-switching coroutines there, but it's a little fragile depending on your version of glibc (newer versions swizzle the jmp_buf in an odd way).

As for polymorphism, I had a misunderstanding regarding how polymorphism interacts with GC which Andreas helped me sort out.

Implementation discussion

I really don't think that implementation work is OT, and I really don't think that the policy is meant to suggest that. But just as this isn't a category theory discussion site or a static analysis discussion site, it's also not a compilers discussion site. So there's definitely a balance to strike. But I think that LtU has been quite welcoming over the years to interesting implementation papers and discussions.

I think this is the essential point:

I agree that we want to avoid posts from new folks designing their own languages (usually for unclear reasons) and reinventing the field of compiler design as they go, but there should be a middle ground.

Yes, there should. And I think LtU has traditionally done a pretty good job of sticking to that middle ground. (Here's a fine example: civil, brief, to the point and hopefully helpful.) But part of "sticking to that middle ground" involves regrouping occasionally and indulging in a certain amount of navel-gazing, and IMHO that's good and natural. It's also natural for the focus of the site (and the entire field) to shift over time, sometimes intentionally, sometimes less so.

As Ehud has mentioned many times, things tend to work best when discussion remains focused on research publications. Notice that very few (if any) papers posted to the front page have ever been denounced as OT. So I'd suggest that editors continue posting work that is interesting and exciting to them (wherever it fits in the constellation of LtU topics).

Not Only Research

I'm clearly biased, but in my opinion one of the key problems we currently face in PL research is a gap between research and practice. Our investment in PL theory has generated some wonderful advances, but we have set aside many practical demands while we pursued that theoretical advance. As a result, it sometimes seems that the world today is partitioned into two groups: people working in unprincipled languages (C, C++, python, perl...) and people working in theoretically principled languages (ML, Haskell, ...). The first group actually builds stuff that impacts the world. The second group mostly (at this stage) builds stuff that impacts the second group. Rarely do people in one group respect the problems or interests of the other. I'm aware that this is a grossly unfair generalization, and that there are important exceptions to these statements. Especially here on LtU. But there is some truth in it as well.

If programming language work is to to have a future, it has to re-integrate both views. Like it or not that is going to involve a lot of discussion of some difficult pragmatic issues, many of which will smell like "mere implementation" issues. I think we need to be open to those sorts of re-integration discussions here on LtU.

I do think that there is an element of "reeling in shock" going on at the moment. I also suspect that the editors who have contributed so diligently for so long may, at the moment, be distracted by forest fires out there in reality.

Meanwhile, I'ld be delighted to fumble as rarely as Ehud seems to. Unfortunately, my feet are clay.

Timely thread

I had noticed the drop-off in traffic, and hadn't made the connection to Ehud's post, but it seems very plausible. Another possible explanation is that traffic of core relevance does ebb and flow: people post when there is something that gets their juices flowing. Ehud's post, I think, was motivated that too high a proportion of such posts were trivia-bait, and without that trivia-bait, perhaps the current LtU traffic is within normal bounds.

I have been reading LtU reactively since Ehud's post because now I can't justify the time involved in writing something substantial, although I have built up a little stack of articles that just possibly might provide the basis for some not too desperately theoretical LtU stories if I could only figure out the right way to frame them. But I don't count on any of them to provide the bait for a deluge of PLT-advancing discourse.

Postscript: As a result of email feedback, I see that my comments need a couple of points of clarification. My "reactivity" was something that coincidentally arose following Ehud's post — an influx of deadline-intensive work — I was certainly not perturbed by remarks that only stated what I already thought. And by "reading reactively" I mean that I have spared about 10 mins each day to glance over Recent Posts, but have not allowed myself enough time to get involved in interesting sounding conversations. Like, say, interesting threads about the kind of discussions LtU should foster.

Ebb and Flow

Honestly, your name came to mind while writing that post as well; I really appreciate your comments, but I must admit I don't really understand your specialties very well. This is not for lack of trying, but rather due to my own inexplicable mental hangups. So a less theoretical approach would be great. I would be interested in reading posts from you, although I can't promise that I'll be able to say anything terribly intelligent about them.

[edit: I don't think I was misinterpreted, but I would like to clarify that I don't want Charles to stop posting theoretical things, just that he shouldn't be afraid to post less theoretical things.]

You may well be right, indeed that thought occurred to me. I've been around for a while now, and I've seen this site ebb and flow; indeed I've had periods of absence myself. However, I've never witnessed an ebb quite as drastic as this one, where at times literally days pass without a single comment or post. I myself have held off on comments for fear of dominating discussions.

This step might well be natural and necessary; but by now I would like to see less ebb and more flow. I want to find a better way forward that benefits everybody involved.

You are right in referring to the proportion of the "trivia-bait." We need some of it in regular doses to attract novices, lighten the mood, and build community, but at the same time, we cannot let LtU be defined by trivia-bait. I'd point out the recent front page post by James Iry as something that was rather successful and appropriate in this regard. I'll admit I wasn't interested enough to follow the discussion closely, but that's ok too.

Dikes!

Stemming from a country which is planned to the extreme that it often feels like a straight jacket: policies are like police, not enough, it becomes a mess, too much, you end up in Stalin city.

I guess we should be looking for the mouse.

[Wrong link: got it through Wadler's blog]

Charles, your comments are

Charles, your comments are ones I actively seek out, and furthermore it's often your most philosophical comments (about classical logic or set theory, for example) that have the biggest practical impact for me!

Thanks

Nonetheless I try to keep an at least tangential relevance to programming when I wax philosophical on LtU, which I think my last discussion with Mark M lost somewhere along the line. I think the earlier part of the discussion, about the value of theories with strong consistency strength, touched on important PLT-relevant topics like choice of frameworks for formal methods, but while I found the later discussion about intuitive validity interesting, I don't see the practical impact.

I had guessed that citers of Dummett, such as yourself, might be interested in such issues!

Confusingly,

MarkM and Matt M are different people! I think you were referring to your conversation with me in this case.

Relevance

Trying to keep a tangential relevance is good, but as Chris Rathman points out, there are worse problems than being off-topic. Personally, I don't remember where that particular conversation was, but I do remember that I found it interesting. I don't think that anybody here should get too upset if you occasionally do go a little off-topic, Charles.

And, to clarify, neither was I perturbed by Ehud's post. I like Ehud and LtU would not exist without him. His post made me stop and think, which was good. But when I felt it had become a cloud of uncertainty over the community, I felt it necessary to say something.

That particular conversation

With apologies to Ms both Matt and Mark, the thread started with Matt's comment With diffidence... in the What is the dual of { } ? topic.

The real issue is threads that go on and on, but are interesting to only a small fraction of the LtU audience. I've assumed that while there are many people here with some interest in classical metatheory, and even more interested in constructive metatheory, there are only a few who have a real appetite for extended discussions of fine issues.

It's hard, of course, to judge the LtU audience, when it is so big and so varied.

That is hilarious!

Yeah, that wasn't my best post, so I kind of forgot all about my own comment. When I visited, much of that conversation came up as unread. You showed good judgment in taking that conversation off LtU, and maybe that could have been done earlier, but I'm not complaining. :-)

It does remind me, however, that I very much need to figure out how to provoke you into sharing what you know. Seriously, when I was typing the phrase "the better I understand your work, the better I will be able to help" your name was the first that came to mind.

Honestly, I'm an LLP noob, and haven't even started into CBPV, although it sounds absolutely fascinating. If you (or anybody else, hint to Neel ;-) know anything about either of these topics, I am all ears. (And I cannot emphasize that enough!) If you are willing to suggest something relevant, I'm still interested. If not, that's ok too.

Here's an idea: maybe you could write a post about the strong-normalization proof of the simply-typed lambda calculus. That would be a very relevant and not-too-lofty topic. :-)

A post

It would be short:

Go and read the first four chapters of Proofs and Types.

I'm surprised that the book doesn't have its own story.

This misses the point

The real issue is threads that go on and on, but are interesting to only a small fraction of the LtU audience.

But of course, they wouldn't go on and on unless a suitable body of people wanted to participate. If the threads are not interesting to you, then do not read them. That is part of the beauty of having distinct discussion threads.

Partial miss?

To be fair, I suspect I've got into at least one argument on LtU in which at most two of us were actually interested in continuing to either participate or read.

And yes, I intended that particular bound!

This isn't to say that threads aren't important and useful, though at the moment Drupal's not great at navigating them - certainly not by the standards an old usenet poster would expect from any but the most primitive of news readers.

I don't get really worried...

...until I notice that in fact I am both of the two people. After that it's time to crawl off to bed for the night.

As a member of the permanent noob class...

...I can't quite put my finger on it. There are much worse problems to be had than straying off-topic. If people want to discuss implementation, I'm all for it, as long as they periodically give a rejoinder of why the subject is of interest to programming languages. Indeed, even things that are obviously on-topic should come included with reminders of why they are of interest to the LtU audience. Having posted some in the past that is barely on-topic, and much that doesn't come close to being at the same level of quality as many of the other stories, I can't say that I'm bothered that much if other LtU members don't share my level of enthusiasm over the particular material I post.

And that to me would probably be where I find the crux of the current problem. We need more editors to share their enthusiasm in their journey of exploring the available resources in the PL landscape - Andris and NeelK being the best examples that I can site off-hand. Whether it is stuff that I've never heard or thunk of before. Or whether it is stuff that is well-trodden. It is what I like about LtU - providing insight.

Having been on LtU for a while, I think Ehud's main concern is not so much the meandering of discussions, so much as the lack of front-page content. This is the fault of the editors for not posting near the quantity that they should. Seeing how the number of stories that I post has dwindled, I'm probably at fault more than those who have taken exception to the current meta-discussion topics.

Anyhow, I tend to think in the opposite direction. I think the current problem is that the editors have come to have too high of standards for front-page stories. We question too much whether a story is LtU worthy. And when this happens, LtU evolves into a pure discussion forum (and even that dwindles down after a while). I don't think there's anything wrong with having lively discussions, but without the impetus of stories (articles, etc...), LtU will lose its historic identity.

Looking for the the Mouse

I was serious about that remark in a post above. If people are concerned about the quality of discussions on a forum, then it should be investigated if it is possible to fix that.

The solution for a separate forum for noobs is a good idea, as might a ranking system be.

I would suggest LtU goes to a ranking system where posts are not modded up or down, but comments of people are modded up down given the merit the people are given. Highly undemocratic, but, scientific, yes, and it might actually draw esteemed persons to this site if they are given gold status by default.

I hate that suggestion

It is a very good article. However, I've never really seen a rating system I like; I think adding an "official" rating system to LtU would only give people incentive to game the system and engage in ego-wars.

I'm deeply suspicious of technical "solutions" for a wide range of social "problems". If you read this site much, you pretty quickly start learning names. I really don't think there is a need here; people should come to their own conclusions, and try to judge comments based on content, not who made them.

Although I think we should acknowledge comments we particularly like, and challenge those we find problematic, LtU doesn't exist to pat ourselves on the back or judge others, but rather to exchange ideas and seek a better understanding of programming.

I take that as a no

I agree most people in the field wouldn't be that interested in a gold-status, or may even not like a special status, and the wannabes would like to achieve gold status.

I concur, it might have been an awful idea.

In that spirit...

I like this comment very much. :)

In the spirit of the current discussion

I enjoyed your meta-comment. :-)

LTU == comp.tenured.faculty.plt.high.brow

As a perpetual newb and enthusiastic plt student the promise I once felt for LTU turned into disappointment a long time ago. For my part, I've been attempting to learn this subject for at least 3 years now. I've learned very little from reading LTU.

It goes without saying that the barrier to entry here is very high. The ones who bemoan a lack of quality participation don't understand a simple fact: outside of a few academic institutions, there are very few places to learn this stuff. If I take a programming language course at my local Uni (which I have) I learn about C# and Ada. So the typical advice is to read SICP, TAPL, EOPL, the Lambda papers etc... The discussion linked above is a perfect example of the failure of this approach:

http://lambda-the-ultimate.org/node/3217

That poor bastard left the thread more confused than when he started.

I entreat the experts to recall how they learned this subject in the first place. Was it reading the Lambda papers and SICP in isolation with no one to ask questions of? I highly doubt it.

IMO what you see today with the lack of participation and off topic, low quality post indicates a couple of things: there is interest out there that's not being served. People want to learn. But that need isn't being met by LTU (clearly that's not the purpose of LTU). But why not? For example, why not set up a 'newless cluebie' area of the site that does cater to those who are just getting their feet wet? Ie, do something to expand the readership, not bemoan the dwindling numbers.

This is all just the opinion of a rank amateur of course. Take it with a grain of salt.

PL is more than lambdas,

PL is more than lambdas, monads, and category theory. Some people won't be interested in the heavier math, some people will be more interested in programs, some people will be more interested compilers.

As for learning, not sure you could learn from LTU very well. The best thing is to just write lots of programs. How to learn about compilers? Build one! Curious about monads...well, go use them and see if you can get it. A clueless noob is usually someone who isn't even trying, and how can we help that? Better to try the approach and come up with informed questions, then the response/input will be better. Of course, there is also a lot of background needed to understand the answers to a lot of questions. But these things you just can't learn overnight, maybe you can't learn at all without going to grad school and finding a good PL group/mentor.

Not too many tenured faculty on LTU, from what I can tell. Surely a few professors, but more of the community is missing than present (as far as I can tell by who I know personally). But that should be expected right?

The term "PLT"

Not that this is the point of your post, but while we're being meta, I'd like to object to the constant use of the term "PLT" to mean "programming languages" or "programming languages research", or any of the other things that people here use it for.

"PLT" is the name of a research group that produces PLT Scheme [1]. It's also the name of a semi-related research group at Rice University [2].

People who do PL research never use the term "PLT" to refer to what they do.

[1] http://plt-scheme.org
[2] http://www.cs.rice.edu/CS/PLT/

PLT

I think you've got quite an up hill battle in trying to stamp out usage of PLT as an acronym for Programming Language Theory. I'd be curious to know the etymology of the term. I have always assumed that acronym pre-dated the Scheme project, so if anyone knows the history, let's hear it. Interestingly enough, we've discussed PLT before.

Not really

While the acronym PLT is used on that wikipedia page, the phrase "programming language theory" is not widely used, and is basically never abbreviated to PLT outside of the internet PL hobbyist community. For example, none of the references linked from the wikipedia page use the term PLT.

I would expect the etymology is something like this - the PL research community refers to what it does just a "programming languages". However, since the internet PL hobbyist community sees the term PL as encompassing everything from academic PL research to implementation tricks to Perl v Python flamewars, they added "theory" to distinguish the academic discipline. This was then abbreviated to PLT.

Obviously, I just made up that history, but it seems plausible to me.

PLT Scheme, and research produced by the group, have appeared a bunch of times on LtU.

"PLT" Etymology Investigation? Blame Marc!

Well, we may not be able to answer the question at large, but we should be able to answer the question of how and when it came into vogue on LtU. As near as I can measure, Marc Hamann is the first to use PLT Wonks as an endearing term. He echoes PLT a second time. Then on the third time, Frank Atanassow picks up on that, and the rest is, shall we say, PLT history. :-)

Of course, any community is going to come with it's own terminology, inside jokes, etc... It really doesn't matter whether PLT is an accepted outside of LtU. It is a commonly accepted term in these parts - a place inhabited by a bunch of PLT Wonks.

(And IIRC Wonk was a term made up in the Paper Chase TV series, when they kidnapped a computer wonk to retrieve a deleted file for one of the law students).

"LtU" etymology? Blame Andrew!

While I'm on it, it would seem that Andrew Cooke gave us LtU at a fairly early stage.

The trouble with PLT

There are two problems with the term PLT.

1. It's confusing, the same way it would be if we adopted the term ML to refer to something other than the family of languages. The PLT research group produces research that gets discussed on LtU, leading to confusion.

2. I think it leads to a more serious confusion about academia, theory, and programming languages. In Marc's first post (nice job digging that up), he refers to "PLT Wonks" not liking Perl. But the set of people who he's referring to (roughly, people who are familiar with advanced PLs) have nothing particularly to do with "theory". Using the term PLT tends to lump together Haskell/Scheme/ML users, academics, and theoreticians in a way that I think is unhelpful.

I think that this confusion is part of what's going on in this thread. The choices are not between abstruse discussions of category theory and helping people implement their under-motivated PL. It's possible to have lots of variety in the discussion, while none-the-less avoiding the kind of things that Ehud marks as 'off-topic'.

A word means just what I want it to mean...

It's confusing, the same way it would be if we adopted the term ML to refer to something other than the family of languages. The PLT research group produces research that gets discussed on LtU, leading to confusion.

That sounds like a strawman to me. Has anyone actually made this mistake? And what do you think PLT originally stood for anyway? ;-)

But the set of people who he's referring to (roughly, people who are familiar with advanced PLs) have nothing particularly to do with "theory". Using the term PLT tends to lump together Haskell/Scheme/ML users, academics, and theoreticians in a way that I think is unhelpful.

I explicitly don't think people who just happen to know or use Haskell or Scheme necessarily fall in to the "PLT Wonk" group I meant. (Though back in the day, I think the overlap was greater between the two groups...).

I explicitly meant "those people who are interested in the characteristics of programming languages in an abstract, general or theoretical way". You know, people who really like PLT. ;-)

Off with their heads

As to the first point, I, personally, find it very confusing. And the research group used the name PLT at least in 1995, when PLT Scheme was released.

As to the second, I [1] fit precisely into the category of people that you were referring to in your original message, and that LtU is aimed at. But I'm very much not a theoretician. Theory is a part of PL, but far from the whole.

[1] http://www.ccs.neu.edu/~samth/

There is no λ in team

And what do you think PLT originally stood for anyway? ;-)

Programming Languages Team?

But there is an "i" in unverified...

Programming Languages Team?

I knew I should have surfed to the Rice site and double checked that... ;-)

Sure, blame the old guy who isn't here much anymore...

What else can we call our common interest?

Just as linguistics is the study of language distinct from the study of particular languages, we need some way to distinguish merely learning a new PL from the range of broader issues we talk about here.

It seems to me that "Programming Linguistics" is likely to cause even more confusion ;-) ( in spite of the fact that I have a PLT book with that name, as mentioned in one of those old threads)

Like it says in the title

We could just call it Programming Languages. That what most people who study PL call it, and if you asked Guy and Gerry what they were doing when they wrote the papers after which the site is named, that's what I think they would call it.

Calling it 'Programming

Calling it 'Programming Languages' confuses me. To me, the phrase 'Programming Languages' invokes the concept of a plurality of programming languages as opposed to any study of them or their properties. People that know 'programming languages' often know very little about 'programming language theory'.

English is a living language; despite your objections, we're free to use 'PLT' and 'Programming Language Theory' to describe what we do. I certainly plan to continue doing so.

I thought PLT meant

I thought PLT meant 'Programming Language Technology'? Anyways, as with any acronym, feel free to use whatever meaning you find useful.

Why?

What work is the word "Technology" doing here? Would we talk about "Electrical Engineering Technology"? Or "AI Technology"? Or "Physics Technology"? If not, then why should PL get the addition?

Pretty Lossy Term?

The difference is that "programming languages" doesn't strike many people as a field the way that "electrical engineering" or "physics" does. Rather, they're the end product - it's as if we called electrical engineering "things that go ping". I don't think we're yet at the point of having "programming language engineering", and "programming language theory" or "programming language technology" grabs people more than "programming language science".

Similarly, when people say they're interested in lambda calculus, they're normally talking about more than just the variables, abstractions, application and beta reduction that anyone can learn in a few minutes. There is a considerable body of work attached, and much of it comes at least under the common informal definition of "theory" (as in "theory and practice of...", for example).

Myself, I'd say that I'm interested in PLT, but most of what I do is about turning it fairly directly into practice - the sort of leap that Wadler made from Moggi's tools. But I'm a haskeller, and by modern standards an old-school haskeller (I remember when #haskell had a 2-figure user count!) - that kind of attitude is less prevalent than it was, but it's still around. It may not be what we do, but it's certainly something we use. Arguably, the engineering to PLT's physics, even if PLT itself has its analogy to theoretical physics - but then PLT isn't so experimental.

It's not the most refined use of the word "theory", but that's helped by the fact that very few people "do PLT" as opposed to doing something more specific. I suspect the fact that PLT is a nicer acronym than ToPL or TPL helps its popularity - the longhand is equivalent to "theory of programming languages", and it seems to me that it's very much a matter of linguistic taste.

Living?

'Programming Languages' is the topic of discussion/research/investigation/study/etc. The same way that doing 'mathematics' is both the act of doing calculations and the abstract study of mathematics.

People that know 'programming languages' often know very little about 'programming language theory'.

What I think you mean here is that people who engage in discussions of the merits of various PLs often don't know about things like the lambda calculus. But that is not what programming language theory means. There's plenty of discussion of PL theory on LtU, but there's plenty of discussion of non-theoretical topics in PL. For example, the set of things you're interested in from your LtU profile does not contain any programming language theory topics.

English is a living language; despite your objections, we're free to use 'PLT' and 'Programming Language Theory' to describe what we do.

These two statements have nothing to do with each other. If I decide to use the term "analysis" to describe all of advanced mathematics, no one can stop me, but that doesn't make it right, nor does the fact that English is a living language have anything to do with it.

Not literal enough.

What I think you mean here is that people who engage in discussions of the merits of various PLs [...]

No. What I mean is that a person who knows, say, Ruby AND Perl, can legitimately say "I know programming languages." They have the right to use the plural because they know TWO programming languages.

I interpret that phrase very literally.

The analogy to "mathematics" doesn't hold because "mathematic" has never been used to describe the individual algebras and calculi.

the set of things you're interested in from your LtU profile does not contain any programming language theory topics

Quite so. For me, PLT is a means to an end, not an end in and of itself. I need to know how various language design decisions will influence the language as a whole. THAT involves theory - ideally of the formal, deductive sort.

If I decide to use the term "analysis" to describe all of advanced mathematics, no one can stop me, but that doesn't make it right

No, but what DOES make it right is if others in a group follow your example. What is "right" in English is what people "use" - there is no more valid operational definition of 'right' regarding the English language. English dictionaries are updated each year for good reason.

Quite so. For me, PLT is a

Quite so. For me, PLT is a means to an end, not an end in and of itself. I need to know how various language design decisions will influence the language as a whole. THAT involves theory - ideally of the formal, deductive sort.

This is the perspective that I'm trying to counter. Knowing "how various language design decisions" matter is not a question of "theory" of any sort, just like knowing how bridge-building decisions matter is not theory. Theory can inform both questions, but so can many other things. Lumping them all under theory is confusing and misleading.

No, but what DOES make it right is if others in a group follow your example. What is "right" in English is what people "use" - there is no more valid operational definition of 'right' regarding the English language. English dictionaries are updated each year for good reason.

I agree with your description of descriptivism with regard to the semantics of English. But you are on the losing side here - programming languages is a much larger area of study than LtU, and the larger field uses the terms differently than you seem to want to. If we created a website where a few hundred people confused analysis with mathematics, we would just be confused and wrong. Descriptivism does not license arbitrary choice of terminology.

It seems your understanding

It seems your understanding of the word "theory" is very much in conflict with my own. There is more than one definition for the word, of course, but I don't believe my use of it to be incorrect, confusing, or misleading.

But you are on the losing side here - programming languages is a much larger area of study than LtU, and the larger field uses the terms differently than you seem to want to.

When I look up pages like "Programming Languages" vs. "Programming Language Theory", or look up "Programming Languages" in Google, for the most part my "losing side" impressions are confirmed.

I have a feeling you're the one fighting an uphill battle here. Descriptivism licenses me to follow the crowd I see like a stupid little lemming.

The definition of theory

So what is your definition of "theory"?

If you look at that wikipedia page (which I wouldn't trust as an authority), you'll see that it's basically defining "academic research into programming languages". In the history section, it lists a number of justly-famous papers. I would say that only potentially Milner and Wadler were doing theory. Further, my definition of "theory" agrees with the mentioned authors - if you asked Nygaard or Steele or Kay or Kiczales, they would not describe the mentioned work as "theory".

So I question the definition of a term that none of the people it is supposed to cover use.

Here's some LtU discussions about PL theory:
http://lambda-the-ultimate.org/node/3215
http://lambda-the-ultimate.org/node/3210

Here's some LtU discussions about PL papers that are not theory (both from JFP):
http://lambda-the-ultimate.org/node/3179
http://lambda-the-ultimate.org/node/3127

Do you really think that all of those are "theory"? That there's no important distinction between the two categories? Even though the authors of all of those papers would make that distinction?

I'd agree with the relative

I'd agree with the relative classifications on the four topics you mention, albeit I have only read one of them so I'm judging mostly from the subject titles.

If you look at that wikipedia page (which I wouldn't trust as an authority)

I do not reference the wikipedia page as an 'authority', I reference it as 'a fine example that the phrases "programming language theory" and "PLT" are accepted by communities outside LtU, thus validating my lemming ways of following the language as it is today rather than how Sam wishes it to be'.

Nygaard or Steele or Kay or Kiczales, they would not describe the mentioned work as "theory".

Not their work as a whole, no. But if you asked them: "so, why did you use coroutines here?" or "what properties were you aiming to achieve by use of what you call 'objects'?" then I suspect you'd get some theory answers back. And if they wrote a book describing the reasons behind their designs and the justifications for said reasons, that would be a very useful book for both learning various PLT concepts and how to apply them.

Can't do much more than speculate, of course. Perhaps their work was entirely whimsical, and they had no theories backing their design whatsoever (or invented theories only after the fact). But I doubt it.

Now we're getting somewhere

Not their work as a whole, no. But if you asked them: "so, why did you use coroutines here?" or "what properties were you aiming to achieve by use of what you call 'objects'?" then I suspect you'd get some theory answers back. And if they wrote a book describing the reasons behind their designs and the justifications for said reasons, that would be a very useful book for both learning various PLT concepts and how to apply them.

Can't do much more than speculate, of course. Perhaps their work was entirely whimsical, and they had no theories backing their design whatsoever (or invented theories only after the fact). But I doubt it.

This is exactly the attitude that I think the term PLT encourages, and that I want to resist. Those questions are not theory questions. Design and justification is not theory. Design that is not backed by a theory is not purely "whimsical".

Further, there are multiple things that we might mean by theory. One is "some sort of systematic idea", which is what I think you mean. But another is "analysis proceeding solely from first principles". That's what it usually means in the PL community.

The reason that I want to resist the tendency you're showing is that if we define everything in academic PL as "theory", as you want to, then work that is "more theoretical" is better than less, and work that doesn't do any "theoretical" work is likely to be cast out entirely. There are plenty of people who think that way already. I don't think you'd like the results, but suggesting that all of PL it "theory" is helping them out.

Those questions are not

Those questions are not theory questions.

So you've said. Repeatedly. Problem is: I don't agree, and I don't think the dictionary regarding 'theory' agrees either. You seem to be basing your use of the word 'theory' from math. I use the word more closely to how it is used in science. You can't argue my use of the word is incorrect; at best you can complain or whine about me not using the word the way you want it to be used.

if we define everything in academic PL as "theory", as you want to, then work that is "more theoretical" is better than less [...] I don't think you'd like the results

Interesting theory. ^_^

Anyhow, I'll not continue this conversation; I'm going to agree with Matt that it is far past time it be put to rest.

and now to bed

While you seem to believe that I'm "whining", all I'm doing is suggesting that your usage is not in keeping with the vast majority of practitioners of what you call "theory". You'll pardon me if I take people as authorities on their own discipline over random people on the internet.

For the record...

I don't think you're whining, I think you're right, more or less. I'm just not sure it's possible to win this argument. A couple other points:

  1. Arguing on the basis of what the words "actually ought to mean" is neither necessary nor (probably, IMHO, etc...) helpful. It really doesn't matter whether this area of study could plausibly be called Programming Language Theory, what matters is that as a matter of fact, as a field of academic discourse, it isn't called that.
  2. It is an unfortunate state of affairs that what scholars in the field refer to as "Programming Languages" is quite different from what the average programmer understands that phrase to mean. This is true in some other fields, but not all. The word "English," for example, is used in a highly technical sense when referring to university departments, but most people understand this and are familiar with the usage. My wife studied Linguistics and was frequently asked how many languages she speaks. Given this state of affairs, it doesn't seem so ridiculous for a community that (to some degree) bridges the gap between academic and popular discourse might want to coin a new phrase clarifying the area of concern. Whether or not "PLT" is a good candidate is another question. Maybe Programming Linguistics would be better, but I'd say it's too late.

Anyway I don't think you're whining, and readers of LtU should certainly be aware that as an academic specialization, this field of study is Programming Languages, not PLT, ToPL or anything else. And finally I find the PLT Wikipedia page pretty mystifying. But basically I agree with others that this conversation has run its course, so I won't say any more about it.

Not to flog a dead horse...

and readers of LtU should certainly be aware that as an academic specialization, this field of study is Programming Languages

Clearly both you and Sam feel that this is true, and it may well be so, though it does come as news to me. (Though I may just be out of the loop...)

If this has become the consensus term in the field, does that hold internationally or only in the U.S.? Could you give some examples of links to academic departments or statements of research where "Programming Languages" is used as a term of art in this way?

Are there any communities somewhere in the academic world that are dissenters from this usage?

Though it certainly won't help LtU's problems ;-), I for one would be much more open to switching my usage if in fact it can be shown that this is the internationally-recognized, well-established, consensus designation for the field, i.e. it really is an analog to the "analysis" case in math.

I must say though that I had never gotten that impression in the all the years that I have followed the discipline... (But maybe I'm just slow to notice ;-) )

Good question

It's hard to find a single, even-semi-official list of CS research specialties, but here are a few examples:

  • SIGPLAN's web site is probably about as "official" as you'll find: "SIGPLAN is a Special Interest Group of ACM that focuses on Programming Languages."
  • The CRA's annual Taulbee Survey has a table of PhD recipients by specialty (Table 4 on this page), and refers to Programming Languages/Compilers.
  • The list of CS research areas from UIUC (chosen for no reason other than that I went there).
  • Tao Xie's stats page for software engineering conferences is broken into a bunch of categories, including one on Programming Languages/Compilers.

Are there dissenters? I don't know, I assume there must be, but I don't know how to find them! How US-centric is this view? Well, all of the above are in the US, so I'm honestly not sure!

PL

Here's some more links:

The flagship conference in the field is called "Symposium on Principles of Programming Languages". The call for papers describes the scope thus:

The annual Symposium on Principles of Programming Languages is a forum for the discussion of all aspects of programming languages and systems, with emphasis on how principles underpin practice. Both theoretical and experimental papers are welcome, on topics ranging from formal frameworks to experience reports.

Here's a link to the research group I'm in, called "Programming Languages".

Here's a quote from the ESOP (the E stands for European) Call for Papers:

ESOP 2009 is the eighteenth edition in this series and seeks contributions on all aspects of programming language research including, but not limited to, the following areas:

Lastly, here's the term "theory" in the context that PL people use it: "Papers can be either theoretical or experimental in style". This is from the web page for TOPLAS, the ACM Transactions on Programming Languages and Systems Journal. Note that the POPL CFP has a similar statement (not that papers without theory can actually get into POPL, but that's a separate issue).

"Principles"

Incidentally, I've always found the word "principles" in POPL to be a bit weaselly. It doesn't seem like PL is really the kind of thing that can have "principles" per se, although language design or implementation might.

I honestly think that particular conference would be better named TOPL (as in Theory of...), but then we're right back to square one. ;)

And anyway, I know what I expect to find at POPL and so does everyone else, and I guess that's what counts.

MonsterQuest: Well-flogged

MonsterQuest: Well-flogged dead horse rises and eats brains of Marc, Sam, Matt, and Dave. Watch in gruesome detail as it consumes their hearts, their minds, their thoughts, their time...

You can never take my Principles

The nice thing about them not renaming it Theory of Programming Languages is that currently, they sometimes accept my papers, despite the paucity of theory. :)

Well done

Now that's a good place to end this thread! :)

The Charge of the LtU Brigade

Thanks to Matt and Sam for the references; food for thought.

Personally, I think the question of what students of this field call their discipline is more interesting than what LtU uses as its term of art.

But it is in danger of wandering OT for this thread (though not I believe for LtU), so I just wanted to acknowledge the responses and give a brief sense of my reaction. If anyone really wants to take this up further, maybe we should start a new thread for the topic. ;-)

Though definitely food for thought, my feeling upon evaluating the examples given was that in most cases there was an ambiguity in the usage, e.g. PLs and Compilers, or a sense that the usage hearkened back to a time not-so-long-ago when there WASN'T any theory for PLs to speak of, and that just working with them was already a dark art in itself.

If you read the SIGPLAN definition, it also tellingly includes PL users in its bailiwick.

So I'm keeping an open mind about a shift of usage, but haven't been convinced yet. ;-)

I suspect that you guys are more sensitive to the "inside baseball" politics of "theory" vs. "practical" in an academic context, that I personally find interesting (in a Jerry Springer kind of way ;-)), but that I think is probably moot for a large part of LtU's constituency.

The dark ages

Though definitely food for thought, my feeling upon evaluating the examples given was that in most cases there was an ambiguity in the usage, e.g. PLs and Compilers, or a sense that the usage hearkened back to a time not-so-long-ago when there WASN'T any theory for PLs to speak of, and that just working with them was already a dark art in itself.

I'm not sure when you think this time was. After all, POPL was started in the 70s, Plotkin's CBN, CBV and the Lambda Calculus is from 1975, Scott started working on denotational semantics in the late 60s, and of course Church invented the Lambda Calculus in the 40s.

It's all dark, really...

I'm not sure when you think this time was. After all, POPL was started in the 70s, Plotkin's CBN, CBV and the Lambda Calculus is from 1975, Scott started working on denotational semantics in the late 60s, and of course Church invented the Lambda Calculus in the 40s.

It is always easy to project backwards in time to the seminal works of a field to show that a field existed, but there is a difference between the time when some work was done and the time when everyone working in a field is expected to have engaged with that work as a theoretical basis for what they do, and when there is a significant-enough community of researchers to call it a full-fledged discipline.

Where's that new thread I suggested? ;-)

Pistrami, Lettuce, Tomato

Pedantic language thread
probably lacks topicality.
Perhaps let terminate.

I like this comment

Honestly, there were some good, relevant ideas that came up about LtU here, but by now, I tend to agree. :-)

Definition of Theory

So what is your definition of "theory"?

It's the stuff that isn't any different from practice... in theory.

-- shap ducks

...

  • Theory: everything is clear, but nothing works.
  • Practice: everything works, but nothing is clear.
  • Sometimes theory meets practice: nothing works and nothing is clear.

LtU?

Best thing I've hear all day

Best thing I've hear all day :)

Programming language design (PLD)

Doesn't this capture LtU's core concern nicely?

'design' discussions get

'design' discussions get shot down repeatedly as violating 'site spirit', but the fact that they keep popping up to get shot down does indicate a common interest in it.

different kinds of design dicussions

What gets shot down is "help me design my programming language". That doesn't mean that discussion of programming language design violates the site spirit - the original papers after which the site is named are about programming language design.

I get the feeling that all

I get the feeling that all 'discussion' - i.e. stuff other than a few comments - is a violation of the 'blog not forum!' view held by people here. Even responding to you, or your response to me...

It's a question of emphasis

As for the current question, I would re-emphasize that LtU is not exclusively about discussion of PLT - in the theory sense (depending on how narrowly one defines theory). Anything of general interest to programming languages is fair game.

The real problem with the discussions that were involved in the question of whether "implementation" was on-topic is not that implementation issues are irrelevant. It is more a question of form. I gather that the real problem is that we were getting into: "how do I implement X", whereas LtU is more interested in discussing "external resource says we can implement X - discuss" type of things. There is much tolerance that is allowed in asking questions and discussing things of peripheral interest. The problem is only when those things start to be the dominate focus of LtU.

This thread is meta-stasizing

the phrase "programming language theory" is not widely used

I understand the desire to avoid confusion, but that claim seems a tad quixotic to me. The 23,600 google hits for that exact phrase include many names of courses at places like CMU and Stanford, for example, so plenty of students will have learned the phrase. There are also 111,000 hits for "Theory of Programming Languages", which includes even more courses and books.

Joe Stoy wrote "All about Denotational semantics : the Scott-Strachey approach to programming language theory". Benjamin Pierce used the phrase in Using a Proof Assistant to Teach Programming Language Foundations: "CIS500 is Penn’s introductory programming language theory course at the graduate level." I could go on...

A concession

So, I was definitely somewhat off in my claim. But I stand by the claim that mostly people use the phrase "theory of programming languages", as your Google numbers suggest.

Commiserations

For what it's worth, I understand your objection and have some sympathy! Unfortunately, I think it's the kind of accident that's in some sense near-inevitable and near-impossible to undo.

A far more intentional case which I have extremely little respect for indeed would be a certain individual's attempt to hijack HLVM (as in the high-level counterpart to LLVM) for his own project, using the excuse that the original HLVM is dormant while quite clearly trying to cash in on LLVM's brand. I have to admit, if I were in the appropriate position I'd be having trouble not talking to a lawyer about it.

Commiserations

That is a very interesting perspective.

A geezer's story

I entreat the experts to recall how they learned this subject in the first place. Was it reading the Lambda papers and SICP in isolation with no one to ask questions of? I highly doubt it.

Actually that is exactly how I learned everything I know about programming language theory. (And I would guess that is true for many old timers here.)

The way that LtU helped with the process was by providing a place where I could test out my understanding, knowing that if I had gone astray, someone would tell me. (And this used to happen a LOT ;-) )

I have never seen LtU as having the purpose or responsibility to teach PLT, but it is a place where people interested in the subject can share they're insights and enthusiasms, and where, having done your own "homework", you can validate your understanding through discussion.

Anyone who thinks they can be magically imparted with the knowledge of any subject by a teacher is probably wasting their time; to learn anything you have to be prepared to do the work yourself and then take the risk of making a fool of yourself by testing out what you learn in front of other people.

And LtU used to be awesome for that. ;-) (And maybe still can be)

I will verify that

I will verify that, for me as well, that is exactly how I learned everything I talk about on LtU. I also agree that I don't and have never seen LtU's purpose to be to teach these topics. I've even expressed the opinion that many such discussions are, in my opinion, not appropriate for LtU.

People who want a forum for having detailed implementation/design discussions or a forum for newbies to PLT should go make one. There's no reason LtU should or need be involved at all, though I'm sure the maintainers would be happy to put a link to such a site somewhere on LtU.

If LtU isn't what you thought it was then go somewhere else.

In terms of level of

In terms of level of discourse, I find reading 20-50 papers and a book on a topic in addition to mucking around with different implementations to significantly lift my understanding. There's a difference between trying to follow a conversation and driving it forward -- I look forward to LtU because of both, but have to be careful in the former in order to not derail those doing the latter.

comp.unqualified.dolescum?

Personally I'm not only not tenured but I don't even have a BSc to my name, yet I've learned via approximately the route normally sketched. I did admittedly get taught a module's worth of Haskell before relearning it some time later, but that was back in 2000 and it's a lot easier for a beginner now.

That said, it takes time. I have the 'luck' of being unable to work, and I did a lot of intense reading. My background in computing stretches back to some of my earliest memories, and I'm also used to the way a confusing mishmash of competing terminology can develop around otherwise clear concepts - something that makes it a lot easier to ask the right questions!

Nobody's saying to learn in isolation without asking questions, by the way. #haskell has been a great place to hang out, learn and discuss in - though it may be getting a bit busy by now. If more people with an IRC idling habit can idle in #ltu that might help, a channel always needs a critical mass of people who'll hang around.

Picking a language or two to really learn properly is important, so's taking things on their own terms rather than (oft-inappropriately) pushing another language's or community's terminology onto them. One place where we may go amiss is in expecting that people are doing this already without being told.

In Just Seven Days...

So the typical advice is to read SICP, TAPL, EOPL, the Lambda papers etc... The discussion linked above is a perfect example of the failure of this approach:

http://lambda-the-ultimate.org/node/3217

I can't agree that this is an example of the failure of the recommended approach. The post in question described an attempt to implement a lambda calculus reducer by following a paper on the subject, but that paper was not intended to be a tutorial.

If you work through a book like EOPL, it will take you through the development of similar code in a much more explanatory way, providing exercises and critical code fragments to assist the reader.

If the above thread failed to resolve the poster's problem, then if anything, it's an argument for the recommended approach, not against it, and my responses in that thread should rightly be criticized by someone like Derek for wasting everyone's time.

I thought that link in

I thought that link in particular was indicative of something I'd experienced myself. After implementing some parsing/interpreting in C the next thing I started learning about was lambda calculus. So coming from parsing and interpreting expressions my first thought was to try parsing and interpreting lambda functions.

Little did I know, and didn't understand until recently, reducing lambda expressions leads straight into some really meaty issues: eager/lazy evaluation for example. And I only realized this after reading the chapter on the SECD machine in "An Introduction to Functional Programming Systems using Haskell" recently.

So from the linked thread it seemed to me that the responses the OP received were not geared toward his apparent level (or lack) of understanding. The point being that LTU isn't a tutorial site, but that there is the need for one (and I'm not volunteering as I don't see myself as qualified).

Some Incoherent Random Thoughts

What do you want to learn? LtU posts are more about formal methods than compiler implementation, and that is where most of the confusion stems from. Maybe you're not interested in formal methods?

The best way to get into an unknown field is: 1. read a book, 2. read some articles your interested in, 3. do something, anything, yourself. (If you're in the category who can get by by just doing 1. and 2., you're very lucky.)

If you read a book, it will probably reflect a few decades of learned lessons in a field, and most debates will have been settled, so you'll gain the most there. If you read two books in a field, you learn a bit more, but there comes a point where it isn't worth it to read more books since they all start to hold the same material.

Despite the nice Greek symbols, you need to understand that science is a messy affairs. A lot of articles also hold popular opinions which are not necessarily true, or debatable, or sometimes, just plain wrong. A substantial amount of articles contain mathematical errors, and a substantial amount of articles are known ideas, but phrased differently/placed in another setting. (But there are a lot of scientists who will not accept this view.)

For me, the litmus test whether I 'arrived' at a field is when I can judge/start seeing the errors in the articles.

Good ideas, or well phrased ideas, are rare. That's why people are more tempted to read the articles by those who are known to write well, and produce new insights; which has a lot less to do with math, than most people believe. I haven't seen a lot of these, these days, which probably has a lot to do with the field getting mature. (I learned Miranda on the university, and scientists were, at that point, very happy with a thing they called 'equational reasoning'. A lot of articles from then are laughably simplistic by current standards, but they held some great ideas.)

To me LtU is an experiment in how the Internet can be used to better the field; but I am not sure scientists will even like the end result. As a teacher I know one thing: it's not that interesting to discuss ideas with newbies, after a decade of teaching the same material and seeing them make the same errors over, and over, again, it just costs a lot of mental energy to keep interested in youngsters. So yeah, newbies will scare of the oldies.

If LtU want to have good discussions, maybe they should tap into expert mailing lists more and leverage those discussions to here; rather than presenting articles which have been reviewed anyway.

(Which was why I made a comment to move to blogger, a lot of scientists developers now seem to have found their way into the blogosphere, so integration with that might build a better LtU. And as a side remark, blogger increasingly refines itself as a social networking tool with great interactive elements. Sorry, but the Internet changes at a great pace, to me LtU is getting to look stale.)

Formal methods???

LtU posts are more about formal methods than compiler implementation, and that is where most of the confusion stems from. Maybe you're not interested in formal methods?
Blog not a forum! is the LtU battle cry. To me that means: find interesting stuff about programming languages, share it with like-minded members of the community, and possibly discuss what we've found. So it is not necessarily a place to learn from directly, but it is also more than category theorist peer review site. At least that's the way things used to be.

Water under the Bridge

If people read programming languages weblog, they expect compiler implementation or language design issues, not intuitionistic type theory expressing dominator set heuristics for pseudoboolean solvers on comonadic endofunctors for modal branching time logic implemented with concurrent call/cc joins. ;p

I agree posts were then more eloquently put. But life changes, and so will LtU. The question is how to go ahead, not backward. And ok, I agree the thought may seem preposterous, but compared to blogger: Where are the nice pictures of all the people who subscribed, or twitter gadgets, or other stuff?

LtU holds a community, but so does blogger. I don't know how to put it otherwise than this: if LtU can somehow assimilate part of the [scientific] blogosphere, than it might change for the better.

(Not that keeping things the same might also be a better strategy for staying an educated niche of the Internet.)

Blogger?

Since you're mentioning blogger a lot: I'm not aware of it being used for group blogs, only individual ones. Are there any examples of an LtU-style group blog running on blogger?

A related issue, which Philippa has just mentioned in another comment: blogger doesn't seem to support threaded discussion at all. That seems like a step backwards to me.

As for pictures of subscribers and so forth, we're not limited by Drupal in that regard. We haven't chosen to enable such features. If there's agreement that that sort of thing is actually wanted, it's not difficult. I'm not under impression that this is what the most involved LtU members are looking for, though.

(Not that keeping things the same might also be a better strategy for staying an educated niche of the Internet.)

Yes, there seems to be some discussion about taking actions in various directions that seem somewhat arbitrary without having first reached consensus on what the goals are.

Probably too early

Well, LtU 1 was a simple weblog system, which was advanced enough then. LtU 2 is based on drupal, and I guess the best integration with the rest of the web is that it has an RSS feed.

I think the extrapolation of current trends is that LtU N at some point will be integrated with the blogosphere. It is just too convenient that subscribers have total access to all their web services after they logged in into Google; it is also convenient if you want to see who posted what, that you see a picture, and can surf to their blog directly.

Blogger keeps on adding features; they will have threaded discussion at some point.

Maybe Drupal will advance to a point that it integrates with blogger. I don't know. Maybe it is even in the interest of the maintainers just to move to blogger at some point; just so they can get rid of their server and let Google take care of it.

But as I said, probably too early.

Assuming blogosphere =

Assuming blogosphere = Blogger isn't a good thing. Or do I have to integrate things like my livejournal too?

You got the gist

Didn't you? I'll just make a prediction: if google starts hosting weblogs, at some point LtU will migrate there. Let's see in five, or ten, years what happened.

[And no, I think stuff will be integrated _for_ you (by others). And as technologies advance, people will start to notice that they 'miss stuff' if it isn't integrated. But if Drupal integrates with the blogosphere, or isn't sufficiently integrated, then it will become very compelling to just move over to a Google service. (Why bother having Drupal if Google does all the hard work for you?)]

Google bought out blogger

Google bought out blogger years ago, so I'd say they host blogs. Your turn ;-)

E7-E5

Yeah, I was referring to Anton's comment that a weblog isn't a blog, whatever the distinction is.

[That would be Greg. Trust me, I'm sloppy.]

I get the gist, but there is

I get the gist, but there is more involved here.

Livejournal has a somewhat different character to Blogger, and LtU has a different character to either. There is always a question of how much to integrate, and where to make a stand on flavour and identity - I wouldn't be too keen on having userpics or avatars attached to posts and comments on LtU for example. Some things we may well actively want to miss!

It could become a Christmas Tree

Not to be obnoxious. Sure, but LtU will change (although, ok, Newsnet, hmm). Well, but some things you might want to have:

  1. 'someone-replied to your post' sign
  2. someone you like posted again
  3. overview of all your posts on all blogs
  4. ability to take a discussion off-line easily
  5. integration of your own favourite text-editor
  6. hypersmart links so you can follow easily up on other related discussions?
  7. links to the papers of authors

If you keep stuff the same then at some point, yeah, one becomes an old fart. (You know the type: What's wrong with lynx, vi, and a wiki? ;p) I am pretty sure we get used to convenience fast.

We'll see, I'll wager a good pack of coffee beans on it.

Many of these I'm fine with.

Many of these I'm fine with. I tend to think the effort involved in setting up discussion elsewhere is intentional. It wouldn't be hard to show email addresses! It's not that I don't think a degree of integration is desirable - I just don't think leaping in with all the latest and "greatest" is appropriate here. That implies a comparatively conservative approach, not handing everything to Google.

I also wouldn't be surprised if I'm not the only one here who thinks LtU manages to channel some of the better qualities of Newsnet of old. YMMV.

Since you're mentioning

Since you're mentioning blogger a lot: I'm not aware of it being used for group blogs, only individual ones.

Sure, the google blog for one. However, I would not recommend Blogger for an LtU-style site. There's no message threading for one.

A newbie's perspective: blog vs. forum.

From the view of a new member, who's trying to learn FPLs from scratch (including theories), I've enjoyed this site since the first time that I was linked to here. Sure, I understand almost nothing of what's being said, but that's okay because I feel like I'm learning something (and indeed believe that I am).

That being said, I cannot say that I like the layout of the site. Perhaps it's because I am a forum person, but I think that the threaded view and organization of LtU is simply confusing. Threaded is a long honored tradition, of course, but I've always found linear to be far easier to read, and to judge the flow of conversation from. But I digress. My main point is that by jumbling all topics in one area, it gets confusing to browse. There's been talk about how there's been a lot of 'un-LtU' off-topic threads, and that LtU is a site for programming languages theory. While I know that this is meant to be a weblog, if a forum were to be implemented I have the feeling that it can be more organized.

If the site was implemented with a forum, certain threads can still be pulled as main site blog posts. However, the organization of threads can be split by topic, by language, et cetera. I've gotten the impression that the numerous highly intelligent people that I see posting over my head would be able to be creative and come up with interesting arguments in regards to other different yet related ideas, ideas that are deemed off-topic, but are still worth discussing outside the grounds of the main area of the site.

So as a complete newbie, that's my opinion.

Ill-behaved read counter

Why read counter increments when author reads his own message? It seems to be unsound.