It's Like Déjà Vu All Over Again
"You could probably waste an entire day on the preceding links alone. But why take chances? We also give you Paul Snively..." — John Wiseman, lemonodor


Click to see the XML version of this web page.

Click here to send an email to the editor of this weblog.

Click on the coffee mug to add Paul Snively's Instant Outline to your Radio UserLand buddy list.

Top 10 hits for composing monads on..
Google
1.Building Interpreters by Composing Monads - Steele ( ...
2.Composing monads - Mark, Duponcheel, December (ResearchIndex)
3.Citation details: Building interpreters by composing monads - ...
4.Building Interpreters by Transforming Stratified Monads - ...
5.Composing Monads
6.Composing monads
7.From Inheritance to Feature Interaction or Composing Monads
8.Monads and Arrows: Theory and Applications
9.Monads and Arrows: Theory and Applications
10.David Espinosa

Help link 6/1/02; 9:11:22 AM.

currently subscribed to:

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Patrick Beard (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. A Frog in the Valley. Communication + Technologies (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Aaron Swartz: The Weblog (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Advogato (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. All Things Distributed (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. bOing bOing (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Dave Winer: Radio UserLand (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. David McCusker (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Digital Identity (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Doc Searls Weblog (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Eclectic (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Flutterby! (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. freshmeat.net (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. From the Desktop of Dane Carlson (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Hack the Planet (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Inspirational Technology (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. iRights (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Java Geek (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Joel on Software (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. John Robb's Radio Weblog (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Jon's Radio (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Lambda the Ultimate (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Living Code (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. mac.scripting.com (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. osOpinion (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Patrick Logan's Radio Weblog (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Privacy Digest (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. rebelutionary (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Robot Wisdom (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Roland Tanglao's Weblog (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. saladwithsteve (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Scobleizer (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Scripting News (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Sjoerd Visscher's weblog - w3future.com (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. TidBITS (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Tomalak's Realm (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Transhumanism (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. WebTransmission (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Wired News (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Workbench (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. xmlhack (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. YACCS Comments for It's Like Déjà Vu All Over Again (rss)

Here's how this works.


Saturday, May 25, 2002
 

Dave Winer @ 05/25/2002 08:17 PM. Paul, what happened? [YACCS Comments for It's Like Déjà Vu All Over Again]

Oy! I don't know with nearly as much certainty as I would like. The short answer: I had a news-aggregator page full of stuff. I responded to the top item from a single channel (my YACCS feed, as it happens). Posted, made my comment, and thanks to my Radio config, came back to my news aggregator page. Attempted to post the next item from my YACCS feed to my blog, and got a macro error about "no subtable named 0010xxx" or somesuch (what looked like a Radio user-id). Went back to news aggregator page, reloaded and got: no news items at this time.

OK, I've calmed down quite a bit since then, and am now merely sincerely puzzled. It's a commonplace in database-driven web-site design that accomodating use of the back button (and hence forward-button) is tricky business, and I think—in the absence of any other information—that I'm somehow being bitten by that here. I wonder how the news aggregator page maps items to the database. When things are deleted from the database, I wonder if those id's get recycled somehow, and whether there isn't a risk of a cached page then having stale id's. Stuff like that.

Hey, Murphy happens. Radio's got me writing again, a feat that hasn't happened since my MacTutor/MacTech days. Just lately I'm in a really helpful, constructive dialog about Python with Paul Prescod and Paul Graham as other points on the triangle (three Pauls... hmmmm). It's not at all lost on me that Radio made that possible (or that Radio has supplanted virtually all of my other news sources). So thanks for that, keep up the excellent work, and keep the faith. This is just a little speed bump along the eh-11-year Frontier/Manila/Radio journey.

Thanks for listening!
8:28:26 PM        


Buck Macklin @ 05/22/2002 07:52 PM. I do show that the line is a quotation of Liebling, but I think I have it right.

Thanks for the link [YACCS Comments for It's Like Déjà Vu All Over Again]

My pleasure. What's aggravating is that, since finding that "quote," I've found several others with different wording. So apparently there's not as good a canonical source for the quote as I thought.
1:55:46 PM        


Semantic Lego.
[...] we divide a semantics into two parts, a computation ADT and a language ADT. The computation ADT represents the basic semantic structure of the language. The language ADT represents the [...] grammar. [...] Language constructs are polymorphic over many different computation ADTs. [...] We build the computation ADT from composable parts [...giving] many different computation ADTs and, since our language constructs are polymorphic, many different language semantics.

Plug and play semantics. The quote above is from the thesis, but the link contains related papers. This all follows on from this thread. [Lambda the Ultimate]

Another not-so-gentle reminder that I must understand monadic programming, which is itself almost a good-enough reason to commit to learning Haskell. Composing monads sounds like an extremely powerful technique, potentially applicable to everything from automatically translating traditional control-flow applications to web-based ones, to evaluating derivative financial instruments a lá Peyton-Jones, to faceted capability security architectures a lá E, to plug-and-play language semantics.

Thankfully, Oleg has written well on monads in Scheme, so there's no need for me to learn a new language in order to learn about monads. Whew!
1:36:15 PM        


Daniel Friedman: A Poorman's 'Roll Your Own' Logic System. This is this Schemer's view of Logic Programming Systems

Related code can be found in Friedman's home page.

Combining (maybe we should say embedding) logic programming with Scheme.

Seems like a companion to the discussion of OOP in Scheme, mentioned here previously.

[Lambda the Ultimate]

It's perhaps worth pointing out that Friedman manages to implement his kernel in the first 16 pages, and then extends it to integrate better with Scheme. This underscores the fact that Scheme is a language that gets the foundations right, doesn't clutter those foundations, and lends itself to expressing entire new paradigms just by writing a small amount of code based on those simple foundations.

The question remaining relates to Scheme's ability to talk to the outside world. Most real-world Schemes do fine at this, with TCP/IP support, threads, and a good foreign-function interface. Add SLIB and you have a very capable system. If that isn't enough consistency for you, consider using one of the five Schemes supported by S2.

Of course, if you're willing to live with some restrictions on your Scheme coding, you can write in a subset of Scheme and translate to C using Schlep, then maintain the C. This might be a good way to handle the transition from exploration and development to production and maintenance.
1:26:28 PM        


Haskell books. comp.lang.functional thread.

I have been dreaming of a "SICP" like CS1 book using "Haskell" for some time... [Lambda the Ultimate]

If I hadn't already committed to learning Oz as my next language, aided and abetted by Concepts, Techniques, and Models of Computer Programming - with Practical Applications in Distributed Computing and Intelligent Agents, you'd better believe I'd be studying Haskell via The Haskell School of Expression: Learning Functional Programming through Multimedia.
1:04:53 PM        


WashTech.com part of the Washington Post - Minnesota Gov. Signs Internet Privacy Bill .

Minnesota Gov. Jesse Ventura signed a bill yesterday that lets Internet users decide whether Internet service providers can share their personal data.

Ventura signed the bill despite opposition from Internet giants like America Online and Yahoo, which say that the law will hamper the fight against cybercrime and impose new liabilities on ISPs.

The law requires ISPs - no matter where they are based - to tell Minnesota consumers when and why they plan to disclose personal information such as which Web sites users have visited, their e-mail or home addresses and their telephone numbers.

[Privacy Digest]

Hmmm. I grew up in Indiana. Moving to Minnesota wouldn't be that much of a stretch. Nice to know Gov. Ventura is offering his constituents real political leadership!
12:50:19 PM        


Hygiene versus Lisp. Joey counters a Lisp-snob's assertion that "the good programmers of the world are held back by trying to accomodate the less knowledgeable members of our field."
I counter-propose that we programmers who have mastered the basic human skills of preparing our own food, practicing daily hygiene, social skills and finding people with whom to mate are being held back, image-wise, by uberdorks like you.
This of course, is a classic mode of thinking in a field that is overwhelmingly dominated by men: rather than engineer something to be more user-friendly, this kind of thought says that we should restrict the set of users. Any attempt at usability or widining the audience is seen as "dumbing down". And that's truly a shame, because the nice thing about simple languages, such as Flash's ActionScript or VB, is that it brings people with problem domain-specific knowledge to the programming table Link Discuss [bOing bOing]

I have to confess that when I first read this, I had to assume that the "Lisp-snob" in question was Erik Naggum. Imagine my shock upon discovering that it's Paul Graham, who wrote Yahoo Store in Lisp, has written two extremely highly-regarded Lisp texts, and is actually one of Lisp's more thoughtful, level-headed critics (the reason that he's developing Arc is precisely because he realizes that the Common Lisp standard is stagnating).

I find it ironic that Joey, having accused Graham of being "an increasingly-shrill Lisp-head," then proceeds to respond, not even to Graham, but to Noel Welsh posting on the Lambda weblog and only the first paragraph at that, with one of the most vicious ad hominem attacks I've seen online in years!

Noel's first paragraph read:

Paul Graham's talk reflects a serious point that resonates deeply with me: we, the good programmers of the world, are held back by trying to accomodate the less knowledgeable members of our field. I believe this seriously limits what we can achieve.

Taken out of context, it's not hard to see why this might be perceived as arrogant. Noel's second paragraph:

There are certain types of applications that are `solved' and for these applications the mainstream methods often have an advantage due to their large libraries. The old `front-end to a database' web sites is such an application. For the rest (i.e. the interesting applications :-) there are big wins to be made using unconventional technology.

This, IMHO, is a claim that's simply trivially true: use commodity technology to address commodity problems. Use less commoditized technology to address less commoditized problems. More concretely, the whole point behind introducing a new programming language is to capture commodity design alternatives and present those alternatives in some kind of normal form for programmers to choose among. It happens that there's an argument to be made that in computation, this analysis and synthesis had already been going on for millenia, in the form of mathematics. Hence, a language based on mathematics and mathematical logic was likely to be both sufficiently broad and sufficiently deep as to be successfully applied in a variety of domains. Graham writes well about this in Succinctness is Power.

When talking about languages, as usual, we have to talk about what we're trying to optimize for. The Lisp family appears to be heavily optimized for two things: solving incredibly thorny conceptual problems (i.e. ITA/Orbitz comes up all the time because it's an incredibly thorny problem that Lisp solved) and longevity. Lisp has already been called "a ball of mud" by much more brilliant programmers than I, but I'll go farther and say that Lisp is the cockroach of the programming language world: after the cataclysm, Lisp will be the only thing left standing.

Even this doesn't strike me as Graham's ultimate point, though. His ultimate point seems to be that as languages become more expressive, they inevitably become more Lisp-like. "Lisp started out powerful, and over the next twenty years got fast. So-called mainstream languages started out fast, and over the next forty years gradually got more powerful, until now the most advanced of them are fairly close to Lisp."

If this is "an increasingly-shrill Lisp-head" talking, then color me a shrill Lisp-head, because Graham is absolutely correct.
12:13:15 PM        



Click here to visit the Radio UserLand website. © Copyright 2002 Paul Snively.
Last update: 6/1/02; 9:12:42 AM. Comments by: YACCS
May 2002
Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Apr   Jun