Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?

Comment Re:Concurrency? (Score 1) 173

Here is a philosophical view of the whole thing. You can think of effectful computations as functions from a World to a World where a World contains everything that we consider mutable (including RAM, the disk, the internet and so on). For example, putStrLn takes a World and a string and produces a World which is exactly like the old one except that the string has been written to the standard output.

Of course, the two Worlds - the one in which the string hasn't been output yet and the one in which it has - can't coexist. That is, once you actually output the string you can't go back to the old World. This means that if you apply putStrLn (or any other "World transformer") to a World you can't reference that World any longer, only the one that putStrLn gives you as its result. The programming language has to ensure that Worlds are accessed linearly - if you have a World and apply a function to it, you get a new World and can't reference the old one. If this is guaranteed, then World transformers like putStrLn can be evaluated simply by modifying the one and only real world. This doesn't make the language impure because the program can't detect that the old World has changed - it can't reference it.

This kind of linearity can be implemented through linear types (which is what Clean does) or monads. In general, monads don't have anything to do with side effects. But there is one particular type of monad, called state transformer, which provides linear access to an encapsulated state. And there is one particular state transformer monad (called IO in Haskell) whose state is the World. The standard library defines primitive World functions (like putStrLn) based on this monad and programmers write their programs by composing these primitives in interesting ways. There is nothing deeply magic about it.


Submission + - HP to sell Linux laptops and PCs (

Titus Germanicus writes: "According to an article on PC World HP is planning to introduce desktop and laptop computers that come with Novell's Suse Linux Enterprise Desktop operating system preinstalled. In an interview at the Novell Brainshare conference in Salt Lake City, Roger Levy, vice president for open platform solutions with Novell, typified the HP deal as significant. "Having any additional distributor that has worldwide reach and has a large market share who will bring enterprise grade Linux in as an option, is very significant to us," Levy said. The systems are scheduled to start shipping worldwide in select geographies in the second quarter of 2008, according to a source familiar with the matter. And the two vendors will jointly develop software drivers and provide support to end-users."

Submission + - Supreme Court Gives WordPerfect Case Thumbs Up ( 1

eldavojohn writes: "Microsoft and Novell make strange bedfellows indeed as despite all prior deals, Novell has been given the go ahead by the U.S. Supreme Court to sue Microsoft in yet another antitrust case (this one has been on hold since 2004). Do you remember WordPerfect and Quattro Pro? Probably not because it seems they couldn't interface with Microsoft's OS as well as Microsoft's publishing tools could. The article cites a memo by Gates that just came to light and reads "I have decided that we should not publish these extensions. We should wait until we have away to do a high level of integration that will be harder for likes of Notes, WordPerfect to achieve, and which will give Office a real advantage... We can't compete with Lotus and WordPerfect/Novell without this." They survived a web browser conviction, can Microsoft make it through another antitrust case as a single company?"
The Military

Submission + - Could Geoengineering be used as a Weapon?

tcd004 writes: "Geoengineering presents more than just an environmental question. It also presents a geopolitical dilemma. With processes of this magnitude and degree of uncertainty, countries would inevitably argue over control, costs, and liability for mistakes. More troubling, however, is the possibility that states may decide to use geoengineering efforts and technologies as weapons. Two factors make this a danger we dismiss at our peril: the unequal impact of climate changes, and the ability of small states and even nonstate actors to attempt geoengineering.

It wouldn't be the first time states looked at the environment as a weapon. In the early 1970s, the Pentagon's Project Popeye attempted to use cloud seeding to increase the strength of monsoons and bog down the Ho Chi Minh Trail. In 1996, a group of Air Force and Army officers working with the Air Force 2025 program produced a document titled "Weather as a Force Multiplier: Owning the Weather in 2025""

Submission + - U2's manager says all music fans are thieves (

Monsterdog writes: U2 manager Paul McGuinness recently spoke at MIDEM, railing against filesharers, suggesting blacklisting for designated culprits, and carrying on about legally strongarming ISPs, amongst other things. In the process he also pretty much painted all music fans as a bunch of piratey thieving bastards who'll steal the socks off his feet if given a chance, casting the Radiohead album release as a massive failure as an example — because fans would rather steal what they were being offered for nothing.

Submission + - The True Cost of SMS Messages (

nilbog writes: "How much does it actually cost to send SMS messages? This article outlines the true cost of SMS messages and comes to some pretty startling conclusions. For example, sending an amount of data that would cost one dollar from your ISP would cost over sixty one million dollars if you were to send it over SMS. Why has the cost of bandwidth, infrastructure, and technology in general dropped while the price of SMS messages have risen exponentially? How can carriers continue to justify the high cost of their apparent super premium data transmission?"

Submission + - Cheney Calls for Permanent Warrantless Wiretaps ( 1

I Don't Believe in Imaginary Property writes: "Vice President Cheney called upon Congress today to make the Protect America Act permanent. Cheney said that the law must include retroactive immunity for the telecoms; a provision that would be unnecessary if he believed their actions to have been lawful at the time. He's also worried that Congress might "impose undue operational burdens" on the collection of "foreign intelligence information on U.S. persons.""

Submission + - Tools for Understanding Code 2

ewhac writes: "Having just recently taken a new job, I find myself confronted with an enormous pile of existing, unfamiliar code written for a (somewhat) unfamiliar platform, and an implicit understanding that I'll grok it all Real Soon Now. Simply firing up an editor and reading through it has proven unequal to the task. What sorts of tools exist for effectively analyzing and understanding a large code base? (You should not assume the development or target platform is Windows.)

I'm familiar with cscope , but it doesn't really seem to analyze program structure, per se. It's just a very fancy 'grep' package with a rudimentary understanding of C syntax. As such, I've only put minimal effort in to it. A new-ish tool called ncc looks very interesting, as it appears to be based on an actual C/C++ parser, but the UI is klunky, and there doesn't appear to be any facility for integrating/communicating with an editor."

Slashdot Top Deals

When you don't know what to do, walk fast and look worried.