Chris Smith's completely unique view

Algorithms, functional programming, CLR 4.0, and of course, F#!

Blog - About

About Chris Smith's completely unique view

Chris works as a Software Design Engineer in Test at Microsoft, where he spends his time making sure F# is the most awesome programming language ever.

  • Chris Smith's completely unique view

    Speech Recognition is gun and easy!

    • 4 Comments
    Evidently Microsoft ninjaed a new assembly into the .NET framework with the 3.0 release called System.Speech.dll. If adding speech recognition or speech synthesis to your applications sounds like fun, read on. Step 1: Train your computer The first step...
  • Chris Smith's completely unique view

    F# No Longer Vaporware

    • 20 Comments
    REDMOND, WA - Sadly, after nearly four years of stringing developers along with Microsoft's longest touted non-product, F# was accidentally checked into the Visual Studio 2010 source tree Microsoft sources report. This mistake killed what would have been...
  • Chris Smith's completely unique view

    F# Zen - Array slices

    • 2 Comments
    Sorry for not being as regular with blogging, I've been sick and working hard on something pretty exciting. Don will post an announcement sooner or later. Anyways, did you know that in F# you can easily take out a chunk of an array using an Array Slice...
  • Chris Smith's completely unique view

    F# Zen - ROT13

    • 12 Comments
    Below is a primitive implementation of ROT13 / Ceasar Cipher in F#. In short it is a simple encryption algorithm that works by 'shifting' each letter 13 places. So an 'a' becomes an 'n', a 'b' becomes an 'o', and so on. To decrypt the text you simply...
  • Chris Smith's completely unique view

    F# Elevator Pitch

    • 6 Comments
    At the PDC I spent about eight hours a day for a full week answering the same question again and again: “What is F# and why should I use it.” While I would love to give a long and nuanced answer to this, in order to achieve a high throughput you need...
  • Chris Smith's completely unique view

    PDC - Day 1

    • 0 Comments
    I'm writing this from the 'big room' in the LA Convention Center.If you don't know, PDC is a HUGE conference Microsoft holds to introduce cutting edge technology and show developers the roadmap for Microsoft's platforms. What that means for me, is that...
  • Chris Smith's completely unique view

    Due out Next Year – Programming F# by Chris Smith

    • 14 Comments
    I’d like to announce that for the past few months I’ve been secretly working on a book for O’Reilly titled Programming F# . My aim is to provide the one-stop-shop for learning the breadth of the F# language. A special thanks goes out to Nate LaMartina...
  • Chris Smith's completely unique view

    F# Zen – The Literal Attribute

    • 5 Comments
    When pattern matching it is easy to forget that you are capturing a new value instead of matching against an existing one. Take this function for example: let E = 2.718281828459 let PI = 3.141592653589 // Ooops - this captures a value let isConstant...
  • Chris Smith's completely unique view

    F# Zen - Colored printf

    • 1 Comments
    It’s easy to lose track of important data when logging output to the console window, fortunately you can use the System.Console.ConsoleColor property to set the output color. But unlike F#’s printfn, System.Console.WriteLine doesn’t use type inference...
  • Chris Smith's completely unique view

    F# Scripting Zen – Word Interop

    • 3 Comments
    Edit: Added a ‘comarg’ function to dramatically clean up the syntax for doing COM-interop, since F# will pass ‘ref types’ as byrefs to COM calls. In a previous post I talked about how to take advantage of .FSX (F# Script) files to automate tasks for you...
  • Chris Smith's completely unique view

    Shameless Plug Roundup

    • 1 Comments
    This post is entirely devoted to shameless plugs and ‘Me Too’ blogging.   The Stack Overflow public beta is out! I’m trying to get the specialized badge, so ask some F# questions for me.   Amanda Laucher and Ted “Some Guy” Neward on .NET Rocks...
  • Chris Smith's completely unique view

    Book Review – F# for Scientists

    • 4 Comments
    A few weeks ago Dr. Jon Harrop published F# for Scientists and I had the fortune of snagging a copy at work. In short, it is an excellent book and an invaluable resource for those working in quantitative computing. The best feature of the book is its...
  • Chris Smith's completely unique view

    Scripting in F#

    • 3 Comments
    The thing you hear most about F# is that it is multi-paradigm , meaning that you can use it to code in multiple styles of programming. But F# spans multiple-domains too. F# is not only well suited for quantitative computing, but it is surprisingly well...
  • Chris Smith's completely unique view

    MSBuild tasks for Lex and Yacc

    • 5 Comments
    While I am thrilled about all the new features we've put into the F# CTP, perhaps the thing I'm most excited about are the MSBuild tasks for Lex and Yacc. You heard that right. If you want to use fslex.exe of fsyacc.exe as part of your project, you can...
  • Chris Smith's completely unique view

    Simple F# Game using WPF

    • 8 Comments
    With the F# CTP out the door, let’s take a look at what it can do. Ryan Cavanaugh, not the famous Banjo Player , the one on the VS Pro Tools Team, helped me put together an artillery game called BurnedLand. (Kudos if you can catch the subtle reference...
  • Chris Smith's completely unique view

    CTP Awesomeness – Goto Definition

    • 1 Comments
    If you’ve used Visual Studio for a few years you’ve probably memorized all the shortcuts and methods for navigating source code. For example, if some XML looks unruly just press CTRL+K+D to automatically format the document. (If you’re interested in learning...
  • Chris Smith's completely unique view

    FSharpp to FSProj Converter

    • 2 Comments
    Wow, what a busy week! The F# CTP is out the door, and it's already making reverberations around the blogospphere: Don's Announcement Units of Measure in F#: Part One, Introducing Units - HOTNESS Downloading stock prices in F# - Part I - Data modeling...
  • Chris Smith's completely unique view

    Understanding Tail Recursion

    • 4 Comments
    You may have heard of Tail Recursion before, in fact, you may have even written tail recursive functions before without even knowing it. Even so, why should you care? Safety. Functional programming relies on recursive functions heavily since imperative...
  • Chris Smith's completely unique view

    Countdown to F# CTP

    • 10 Comments
    In case you didn’t see it over on Brian’s blog, he’s posted a sneak peak at the F# Project System: Part I   Part II . If you’ve used the Visual Studio integrate for our previous releases you might have noticed it was a tad ‘unsavory’. Well the images...
  • Chris Smith's completely unique view

    ICFP Programming Contest

    • 3 Comments
    As far as elite programming contests go, I thought the only one around was the ACM-ICP . (The ACM International Collegiate Programming Contest.) However there is a less well known but arguably more hard core contest called the ICFP . Each year as part...
  • Chris Smith's completely unique view

    Mastering F# Lists

    • 7 Comments
    Minor update: spelling Lists represent the backbone of functional programming and in order to be an effective F# programmer you must truly master list processing. Fortunately lists are simple and straight forward, so let’s begin. Mastering F# Lists...
  • Chris Smith's completely unique view

    Some guidelines for readable F# code

    • 1 Comments
    When learning a new programming language it isn’t enough to know the syntax, you must also take the time to learn the idioms and styles for the language. Unfortunately those idioms and styles develop over years and F# still hasn’t had its ‘official v1...
  • Chris Smith's completely unique view

    Shameless plug - FsTest

    • 2 Comments
    Matthew Podwysocki finished putting together a DSL for unit testing . I imagine this only scratches the surface of what you can do with DSLs in F#.   The same approach also works for scripting too, check out this piece of Zen: #light open System...
  • Chris Smith's completely unique view

    Function Composition

    • 2 Comments
    During a lunchtime conversation with Dustin Cambell, of Did it with .NET fame, the topic of Function Composition came up. I am a huge fan of the pipe-forward operator (|>) but have never found a use for the function composition operator (>>)...
  • Chris Smith's completely unique view

    Language Oriented Programming in F#

    • 15 Comments
    Last Tuesday I gave a talk to the .NET Developers Association entitled Language Oriented Programming in F# . You can find a video of the presentation here *. This essay is the written version of that presentation, which unfortunately doesn’t translate...
Page 2 of 7 (154 items) 12345»