More Sharp Languages: F#

I was perusing The Blogosphere™ today and ran across this page about the new F# language, via a Jason Matusow post about MS Research. It seems to be a newish functionalish language based on ML. I just hired a programmer fresh out of CS school last autumn, and he tells me that he learned all about functional languages in school. I just kind of smiled and nodded and hired him anyway. After all, he didn’t say the word “Java” during his interview.

Well, I thought I’d burn 5 minutes of my Sunday morning reading about F#, so I downloaded their introductory presentation. It turns out that F# is in use at Microsoft, integrates with VS2k3 (and 2k5), and *was used to write Static Driver Verifier*. I haven’t covered SDV yet, but suffice it to say that it’s kind of a static code analysis tool that verifies that you’ve operated the APIs correctly before you actually run the driver. It’s a neat tool, and I’ll be making more use of it in the future.

Microsoft has obviously turned up the heat to an unprecedented level as it relates to testing, and they’ve made tons of great tools available for that purpose. Other initiatives like the kernel-mode and user-mode driver frameworks are clear attempts to improve code reliability, both by creating sandboxes (usermode) and using proven code (both). The cancel-safe queue library is another example of this; safe strings are a third.

The thing that interests me is that SDV, a new testing tool (and presumably an important effort within Microsoft) was written in a functional language. The functional language people will tell you that a big advantage to that style of programming is that your programs don’t have (as much) state. You’ll have to look at some sample code to get an idea of what I mean, but in general, once you define a variable, there’s no changing it. The lack of state makes programs easier to prove correct mathematically. In other words, using functional languages well ostensibly leads to programs that have fewer bugs, increased testability, and most importantly, provability.

I’m usually skeptical about “major advances” in programming. I am equally capable of writing excellent bugs in asm, c, and c++. Then again, proving a program correct is one of the more difficult exercises in computer science, so it just doesn’t get done. Anything that can help in that regard is worth a look. As I said, I know very little about functional programming, so please don’t cite any of this as authoritative. But it is interesting.

In totally unrelated news, there was no Ask Adrian session at this DevCon. That was one of the best parts of last year, so when I found out he wasn’t going to be back, I asked a Microsoft person why. She something to the effect of “ooh, um, well, nobody can ask Adrian what he’s working on right now!” Adrian, one of the lead devs on the kernel team, had said something about having a lot to do with Driver Verifier last time. The mind wanders. 🙂

Now Playing: One by U2.

8 Replies to “More Sharp Languages: F#”

  1. antivirus software, Public health scientific meeting, [url=”http://moysiluet.ru/public-health-scientific-meeting.html”]Public health scientific meeting[/url], http://moysiluet.ru/public-health-scientific-meeting.html Public health scientific meeting, zpz, Floral jean jacket, [url=”http://moysiluet.ru/floral-jean-jacket.html”]Floral jean jacket[/url], http://moysiluet.ru/floral-jean-jacket.html Floral jean jacket, %-DD, Harburger, [url=”http://moysiluet.ru/harburger.html”]Harburger[/url], http://moysiluet.ru/harburger.html Harburger, >:PP, Fucking love dolls, [url=”http://moysiluet.ru/fucking-love-dolls.html”]Fucking love dolls[/url], http://moysiluet.ru/fucking-love-dolls.html Fucking love dolls, =-)), Hot scrambler, [url=”http://moysiluet.ru/hot-scrambler.html”]Hot scrambler[/url], http://moysiluet.ru/hot-scrambler.html Hot scrambler, nltojy, Professional female athlete naked, [url=”http://moysiluet.ru/professional-female-athlete-naked.html”]Professional female athlete naked[/url], http://moysiluet.ru/professional-female-athlete-naked.html Professional female athlete naked, 8-[[[, Biegelsen, [url=”http://moysiluet.ru/biegelsen.html”]Biegelsen[/url], http://moysiluet.ru/biegelsen.html Biegelsen, 595, Baby guppy, [url=”http://moysiluet.ru/baby-guppy.html”]Baby guppy[/url], http://moysiluet.ru/baby-guppy.html Baby guppy, 954, Interview follow up thank you letters, [url=”http://moysiluet.ru/interview-follow-up-thank-you-letters.html”]Interview follow up thank you letters[/url], http://moysiluet.ru/interview-follow-up-thank-you-letters.html Interview follow up thank you letters, trhm, Bank branch in india introduction mysore, [url=”http://moysiluet.ru/bank-branch-in-india-introduction-mysore.html”]Bank branch in india introduction mysore[/url], http://moysiluet.ru/bank-branch-in-india-introduction-mysore.html Bank branch in india introduction mysore, 221375, Pigeon lake ice fishing derby, [url=”http://moysiluet.ru/pigeon-lake-ice-fishing-derby.html”]Pigeon lake ice fishing derby[/url], http://moysiluet.ru/pigeon-lake-ice-fishing-derby.html Pigeon lake ice fishing derby, >:-P, Download free music videos, [url=”http://moysiluet.ru/download-free-music-videos.html”]Download free music videos[/url], http://moysiluet.ru/download-free-music-videos.html Download free music videos, 557, Medal fo honor, [url=”http://moysiluet.ru/medal-fo-honor.html”]Medal fo honor[/url], http://moysiluet.ru/medal-fo-honor.html Medal fo honor, onbin, Craft free kindergarten valentine, [url=”http://moysiluet.ru/craft-free-kindergarten-valentine.html”]Craft free kindergarten valentine[/url], http://moysiluet.ru/craft-free-kindergarten-valentine.html Craft free kindergarten valentine, hduwq, Telugu boothu, [url=”http://moysiluet.ru/telugu-boothu.html”]Telugu boothu[/url], http://moysiluet.ru/telugu-boothu.html Telugu boothu, 6116, Grave photo simon wiesenthals, [url=”http://moysiluet.ru/grave-photo-simon-wiesenthals.html”]Grave photo simon wiesenthals[/url], http://moysiluet.ru/grave-photo-simon-wiesenthals.html Grave photo simon wiesenthals, 14307, Anniversary decorating idea party, [url=”http://moysiluet.ru/anniversary-decorating-idea-party.html”]Anniversary decorating idea party[/url], http://moysiluet.ru/anniversary-decorating-idea-party.html Anniversary decorating idea party, =PPP, Falcon 20f jet planes for sale, [url=”http://moysiluet.ru/falcon-20f-jet-planes-for-sale.html”]Falcon 20f jet planes for sale[/url], http://moysiluet.ru/falcon-20f-jet-planes-for-sale.html Falcon 20f jet planes for sale, bwkkz, Centrix finacial, [url=”http://moysiluet.ru/centrix-finacial.html”]Centrix finacial[/url], http://moysiluet.ru/centrix-finacial.html Centrix finacial, 11229, Billy mayerl autumn crocus, [url=”http://moysiluet.ru/billy-mayerl-autumn-crocus.html”]Billy mayerl autumn crocus[/url], http://moysiluet.ru/billy-mayerl-autumn-crocus.html Billy mayerl autumn crocus, uzk,

  2. antivirus software, Public health scientific meeting, [url=”http://moysiluet.ru/public-health-scientific-meeting.html”]Public health scientific meeting[/url], http://moysiluet.ru/public-health-scientific-meeting.html Public health scientific meeting, zpz, Floral jean jacket, [url=”http://moysiluet.ru/floral-jean-jacket.html”]Floral jean jacket[/url], http://moysiluet.ru/floral-jean-jacket.html Floral jean jacket, %-DD, Harburger, [url=”http://moysiluet.ru/harburger.html”]Harburger[/url], http://moysiluet.ru/harburger.html Harburger, >:PP, Fucking love dolls, [url=”http://moysiluet.ru/fucking-love-dolls.html”]Fucking love dolls[/url], http://moysiluet.ru/fucking-love-dolls.html Fucking love dolls, =-)), Hot scrambler, [url=”http://moysiluet.ru/hot-scrambler.html”]Hot scrambler[/url], http://moysiluet.ru/hot-scrambler.html Hot scrambler, nltojy, Professional female athlete naked, [url=”http://moysiluet.ru/professional-female-athlete-naked.html”]Professional female athlete naked[/url], http://moysiluet.ru/professional-female-athlete-naked.html Professional female athlete naked, 8-[[[, Biegelsen, [url=”http://moysiluet.ru/biegelsen.html”]Biegelsen[/url], http://moysiluet.ru/biegelsen.html Biegelsen, 595, Baby guppy, [url=”http://moysiluet.ru/baby-guppy.html”]Baby guppy[/url], http://moysiluet.ru/baby-guppy.html Baby guppy, 954, Interview follow up thank you letters, [url=”http://moysiluet.ru/interview-follow-up-thank-you-letters.html”]Interview follow up thank you letters[/url], http://moysiluet.ru/interview-follow-up-thank-you-letters.html Interview follow up thank you letters, trhm, Bank branch in india introduction mysore, [url=”http://moysiluet.ru/bank-branch-in-india-introduction-mysore.html”]Bank branch in india introduction mysore[/url], http://moysiluet.ru/bank-branch-in-india-introduction-mysore.html Bank branch in india introduction mysore, 221375, Pigeon lake ice fishing derby, [url=”http://moysiluet.ru/pigeon-lake-ice-fishing-derby.html”]Pigeon lake ice fishing derby[/url], http://moysiluet.ru/pigeon-lake-ice-fishing-derby.html Pigeon lake ice fishing derby, >:-P, Download free music videos, [url=”http://moysiluet.ru/download-free-music-videos.html”]Download free music videos[/url], http://moysiluet.ru/download-free-music-videos.html Download free music videos, 557, Medal fo honor, [url=”http://moysiluet.ru/medal-fo-honor.html”]Medal fo honor[/url], http://moysiluet.ru/medal-fo-honor.html Medal fo honor, onbin, Craft free kindergarten valentine, [url=”http://moysiluet.ru/craft-free-kindergarten-valentine.html”]Craft free kindergarten valentine[/url], http://moysiluet.ru/craft-free-kindergarten-valentine.html Craft free kindergarten valentine, hduwq, Telugu boothu, [url=”http://moysiluet.ru/telugu-boothu.html”]Telugu boothu[/url], http://moysiluet.ru/telugu-boothu.html Telugu boothu, 6116, Grave photo simon wiesenthals, [url=”http://moysiluet.ru/grave-photo-simon-wiesenthals.html”]Grave photo simon wiesenthals[/url], http://moysiluet.ru/grave-photo-simon-wiesenthals.html Grave photo simon wiesenthals, 14307, Anniversary decorating idea party, [url=”http://moysiluet.ru/anniversary-decorating-idea-party.html”]Anniversary decorating idea party[/url], http://moysiluet.ru/anniversary-decorating-idea-party.html Anniversary decorating idea party, =PPP, Falcon 20f jet planes for sale, [url=”http://moysiluet.ru/falcon-20f-jet-planes-for-sale.html”]Falcon 20f jet planes for sale[/url], http://moysiluet.ru/falcon-20f-jet-planes-for-sale.html Falcon 20f jet planes for sale, bwkkz, Centrix finacial, [url=”http://moysiluet.ru/centrix-finacial.html”]Centrix finacial[/url], http://moysiluet.ru/centrix-finacial.html Centrix finacial, 11229, Billy mayerl autumn crocus, [url=”http://moysiluet.ru/billy-mayerl-autumn-crocus.html”]Billy mayerl autumn crocus[/url], http://moysiluet.ru/billy-mayerl-autumn-crocus.html Billy mayerl autumn crocus, uzk,

  3. realy interesting pages, porn bloopers, [url=”http://libetopote.ru/porn-bloopers.html”]porn bloopers[/url], http://libetopote.ru/porn-bloopers.html porn bloopers, xbnhic, pornography porn, [url=”http://libetopote.ru/pornography-porn.html”]pornography porn[/url], http://libetopote.ru/pornography-porn.html pornography porn, 739570, dragon ball z porn, [url=”http://libetopote.ru/dragon-ball-z-porn.html”]dragon ball z porn[/url], http://libetopote.ru/dragon-ball-z-porn.html dragon ball z porn, 8]]], porn torrent, [url=”http://libetopote.ru/porn-torrent.html”]porn torrent[/url], http://libetopote.ru/porn-torrent.html porn torrent, zxkjno, girls fucking horses, [url=”http://libetopote.ru/girls-fucking-horses.html”]girls fucking horses[/url], http://libetopote.ru/girls-fucking-horses.html girls fucking horses, gervtt, inuyasha porn, [url=”http://libetopote.ru/inuyasha-porn.html”]inuyasha porn[/url], http://libetopote.ru/inuyasha-porn.html inuyasha porn, czbsoy, swedish porn, [url=”http://libetopote.ru/swedish-porn.html”]swedish porn[/url], http://libetopote.ru/swedish-porn.html swedish porn, 929300, dirty talk, [url=”http://libetopote.ru/dirty-talk.html”]dirty talk[/url], http://libetopote.ru/dirty-talk.html dirty talk, :-OO, dirty girl, [url=”http://libetopote.ru/dirty-girl.html”]dirty girl[/url], http://libetopote.ru/dirty-girl.html dirty girl, 3617, free daily porn, [url=”http://libetopote.ru/free-daily-porn.html”]free daily porn[/url], http://libetopote.ru/free-daily-porn.html free daily porn, >:]], free indian porn, [url=”http://libetopote.ru/free-indian-porn.html”]free indian porn[/url], http://libetopote.ru/free-indian-porn.html free indian porn, =-DDD, blonde porn, [url=”http://libetopote.ru/blonde-porn.html”]blonde porn[/url], http://libetopote.ru/blonde-porn.html blonde porn, wyoq, star wars porn, [url=”http://libetopote.ru/star-wars-porn.html”]star wars porn[/url], http://libetopote.ru/star-wars-porn.html star wars porn, 64467, dirty aly, [url=”http://libetopote.ru/dirty-aly.html”]dirty aly[/url], http://libetopote.ru/dirty-aly.html dirty aly, >:-))), men fucking, [url=”http://libetopote.ru/men-fucking.html”]men fucking[/url], http://libetopote.ru/men-fucking.html men fucking, 945469, girls fucking girls, [url=”http://libetopote.ru/girls-fucking-girls.html”]girls fucking girls[/url], http://libetopote.ru/girls-fucking-girls.html girls fucking girls, rolu, hard hats, [url=”http://libetopote.ru/hard-hats.html”]hard hats[/url], http://libetopote.ru/hard-hats.html hard hats, =OO, college porn, [url=”http://libetopote.ru/college-porn.html”]college porn[/url], http://libetopote.ru/college-porn.html college porn, fxikv, fucking pictures, [url=”http://libetopote.ru/fucking-pictures.html”]fucking pictures[/url], http://libetopote.ru/fucking-pictures.html fucking pictures, 472, hard drive recovery, [url=”http://libetopote.ru/hard-drive-recovery.html”]hard drive recovery[/url], http://libetopote.ru/hard-drive-recovery.html hard drive recovery, kyjyhh,

  4. avast! Home Edition, academy allergy american, [url=”http://kaukoswinburn.awardspace.biz”]academy allergy american[/url], http://kaukoswinburn.awardspace.biz academy allergy american, =)), squire hill apartments harrisonburg va, [url=”http://bepeniukyp.awardspace.info/sitemap.html”]squire hill apartments harrisonburg va[/url], http://bepeniukyp.awardspace.info/sitemap.html squire hill apartments harrisonburg va, 8-(, middleburg va map, [url=”http://ynecyqoqiagegyr.awardspace.biz”]middleburg va map[/url], http://ynecyqoqiagegyr.awardspace.biz middleburg va map, 0387, blones london escorts, [url=”http://hanshargusville.awardspace.info”]blones london escorts[/url], http://hanshargusville.awardspace.info blones london escorts, gynl, amalan ramadhan, [url=”http://percybucknermg.awardspace.com/sitemap.html”]amalan ramadhan[/url], http://percybucknermg.awardspace.com/sitemap.html amalan ramadhan, %-]]], brothers machine shop, [url=”http://rdevan81.awardspace.biz/sitemap.html”]brothers machine shop[/url], http://rdevan81.awardspace.biz/sitemap.html brothers machine shop, blpes, memory stick drivers win98, [url=”http://crandalsd60.awardspace.co.uk”]memory stick drivers win98[/url], http://crandalsd60.awardspace.co.uk memory stick drivers win98, 7018, fugu ftp os x, [url=”http://russellaldain.awardspace.com”]fugu ftp os x[/url], http://russellaldain.awardspace.com fugu ftp os x, 344, carrillo elpidia nude, [url=”http://bjozefa1961.awardspace.biz”]carrillo elpidia nude[/url], http://bjozefa1961.awardspace.biz carrillo elpidia nude, zhpood, lava lava island vacation bible school, [url=”http://miriamwatsone.awardspace.info”]lava lava island vacation bible school[/url], http://miriamwatsone.awardspace.info lava lava island vacation bible school, wudwuv, dr martens black, [url=”http://theobaldgwend.awardspace.us”]dr martens black[/url], http://theobaldgwend.awardspace.us dr martens black, ulhfy, best coast course east golf lady, [url=”http://msigismund3030.awardspace.info”]best coast course east golf lady[/url], http://msigismund3030.awardspace.info best coast course east golf lady, acb, best pc game controllers, [url=”http://danielphelpsz.awardspace.info”]best pc game controllers[/url], http://danielphelpsz.awardspace.info best pc game controllers, juzt, emx 830, [url=”http://victorcurtiss.awardspace.co.uk”]emx 830[/url], http://victorcurtiss.awardspace.co.uk emx 830, lfccxk, edixa 16, [url=”http://hershcallagha.awardspace.com”]edixa 16[/url], http://hershcallagha.awardspace.com edixa 16, npideb, connecting a stereo to a computer, [url=”http://renejarviskt.awardspace.com”]connecting a stereo to a computer[/url], http://renejarviskt.awardspace.com connecting a stereo to a computer, 029, free novel da vinci code, [url=”http://syjepofiqit.awardspace.com/sitemap.html”]free novel da vinci code[/url], http://syjepofiqit.awardspace.com/sitemap.html free novel da vinci code, 359894, im lost without you by blink 182 lyrics, [url=”http://russellaldain.awardspace.co.uk/sitemap.html”]im lost without you by blink 182 lyrics[/url], http://russellaldain.awardspace.co.uk/sitemap.html im lost without you by blink 182 lyrics, eeodws, party supply store san francisco, [url=”http://ahapiqidouutyl.awardspace.us”]party supply store san francisco[/url], http://ahapiqidouutyl.awardspace.us party supply store san francisco, >:-[[,

Leave a Reply

Your email address will not be published. Required fields are marked *