Posts
  • Code Monkey Have Fun

    No Wait, Macro the Ultimate!

    • 0 Comments
    [Part 7 of the FScheme series ] The Soul of Scheme We’re now getting into the language-oriented features of Scheme. This is why Scheme is one of my very favorite languages. Scheme is of course a multi-paradigm language; functional, imperative...
  • Code Monkey Have Fun

    What's Lisp Without Lists?!

    • 1 Comments
    [Part 6 of the FScheme series ] Once again, I must plug Bill Hails’ book Lists How could we even be pretending this is Lisp when we have yet to add lists! We need to add the standard ‘cons’, ‘car’, and ‘cdr’...
  • Code Monkey Have Fun

    What ‘letrec’ Can’t Do

    • 0 Comments
    [Part 5 of the FScheme series ] In this series I’m glossing over all the gory details. You really should read Bill Hails’ book ! Simultaneous 'let' We just added ‘letrec’ to solve the issue of bindings referring back to...
  • Code Monkey Have Fun

    Rinse and Recurse

    • 0 Comments
    [Part 4 of the FScheme series ] Recursive ‘let’ Normal ‘let’ can’t be used to bind names to recursive expressions (ones referring back to the names) because the expressions end up being evaluated in the calling environment...
  • Code Monkey Have Fun

    Lambda the Ultimate!

    • 1 Comments
    [Part 3 of the FScheme series ] Continuing along in Bill Hails’ book . Be sure to follow the previous posts . Lambda Now we’re going to add the all-powerful ‘lambda’! Since we’ve already done all the environment...
  • Code Monkey Have Fun

    Just ‘let’ Me Be Already!

    • 1 Comments
    [Part 2 of the FScheme series ] Still working through Bill Hails’ awesome book . Adding to the FScheme interpreter from this previous post . Now we’ll add ‘let’. To do this we’re changing the evaluation model into an environment...
  • Code Monkey Have Fun

    Ants

    • 0 Comments
    Gram's blog has been pretty fun to follow. Like with Project Euler , I constantly want to implement each thing he talks about (e.g. Monadic Coconuts , Towers of Hanoi ). Here now is " The Wondering Ant ": open System.Drawing open System.Windows...
  • Code Monkey Have Fun

    Monadic Piles of Coconuts

    • 0 Comments
    After reading the “coconut” problem over on my friend’s blog , I thought it would be fun to solve it with a silly brute force approach. First, go read his post and then come back here. let take n = let m = n - 1 // give one to...
  • Code Monkey Have Fun

    Towers of Hanoi

    • 0 Comments
    A friend of mine is starting a pretty fun looking math blog . His first post is on Towers of Hanoi . I'm sure he'll tackle it with some slick mathematics, but my usual M.O. is to convert everything to code. I remember this "Hello Recursive World" from...
  • Code Monkey Have Fun

    TinyRPN Calculator

    • 1 Comments
    It’s fun dorking around with the HP 41CX emulator on the iPhone. It’s a near-perfect rendition. I forgot how much I loved RPN calculators. The 48GX looks even more interesting with Reverse Polish Lisp but I haven’t figured out how to use it yet. The 41CX...
  • Code Monkey Have Fun

    Babbage’s Difference Engine

    • 0 Comments
    ";" galleryimg="no"> Babbage's Difference Engine is pretty fascinating. I had wanted to go see the one on display at the Computer History Museum in Mountain View, but now Nathan Myhrvold has the thing back in his living room! Maybe I’ll build...
  • Code Monkey Have Fun

    Project Euler Problem #7

    • 0 Comments
    Find the 10001st prime let naturals = Seq.unfold ( fun i -> Some(i, i + 1 )) let primes = naturals 2 |> Seq.filter ( fun n -> seq { 2.. int (sqrt (float n)) } |> Seq.forall ( fun x -> n % x <> 0 )) Seq.nth 10000 primes
  • Code Monkey Have Fun

    Project Euler Problem #6

    • 0 Comments
    Difference between sum of the squares and the square of the sum of 1 - 100 : ( fun ns -> let sqr x = x * x (sqr (List.sum ns)) - (List.map sqr ns |> List.sum) ) [1..100]
  • Code Monkey Have Fun

    Project Euler Problem #5

    • 0 Comments
    Smallest number divisible by each of 1 to 20 : First cut (takes almost an hour to execute!): let isFactor n d = n % d = 0 {1..Int32.MaxValue} |> Seq.find ( fun n -> [1..20] |> List.forall (isFactor n)) Second cut (takes a...
  • Code Monkey Have Fun

    Project Euler Problem #4

    • 0 Comments
    Largest palindrome from product of two 3-digit numbers : let isPalendrome n = let s = n.ToString() |> List.of_seq s = List.rev s seq { for a in 100..999 do for b in a..999 -> a * b } |> Seq.filter isPalendrome |> Seq.max
  • Code Monkey Have Fun

    Project Euler Problem #3

    • 0 Comments
    Largest prime factor of 600851475143 : let primeFactors n = let isFactor n d = n % d = 0L let nextFactor n d = seq {d..n} |> Seq.find (isFactor n) (n, 2L, []) |> Seq.unfold ( fun (n, d, a) -> if isFactor n d then Some(d, ((n...
  • Code Monkey Have Fun

    Project Euler Problem #2

    • 0 Comments
    Sum of even terms in Fibonacci sequence which are < four-million : (1, 1) |> Seq.unfold ( fun (a, b) -> Some(a, (b, a + b))) // fibs |> Seq.takeWhile ( fun x -> x <= 4000000) |> Seq.filter ( fun x -> x % 2 = 0) ...
  • Code Monkey Have Fun

    Project Euler Problem #1

    • 0 Comments
    Project Euler is pretty darn cool. It’s a bunch of mathematical problems that require programming to solve. I’m having fun doing them in F#. They start very simple but quickly become more difficult. Problem 1 is to find the sum of all the multiples...
  • Code Monkey Have Fun

    Turtle Soup

    • 0 Comments
    I've been reading Seymour Papert 's Mindstorms book about Logo ; very interesting! I'm just dying to add Turtle Graphics to my little toy language from last post (BTW, a friend suggested I call it "Ape" and I think I will!). Logo with a twist What...
  • Code Monkey Have Fun

    Ape - New Toy Language

    • 2 Comments
    I read “ Thinking Fourth ” and also played with Joy and Cat some time ago, but honestly I had written them off as “toy” languages. Recently I’ve had renewed interest in concatenative languages after watching Slava Pestov’s...
  • Code Monkey Have Fun

    Cryptarithm

    • 1 Comments
    A recent post to the Puzzles and Logic Problems alias at work: The problem below is an example of a cryptarithm – a basic math problem made more difficult by obscuring each digit with a letter or other symbol. B A R...
  • Code Monkey Have Fun

    The Lambda Calculus

    • 3 Comments
    Mads Torgersen’s post the other day was very cool! The first time I really understood Lambda Calculus was from this little 8-page paper . Relating it to Scheme made it stick for me. After reading Dr. T’s post I was just now having some fun playing with...
  • Code Monkey Have Fun

    Sweeping Mines... Functionally

    • 0 Comments
    Mr. GeekRaver and I were walking between buildings and, for some reason, talking about how silly it is that good ol’ Minesweeper was “glossed up” for Vista. He said he had written it for DOS in some tiny amount of C code ( http://www.bradygirl.com/Work...
  • Code Monkey Have Fun

    Streams

    • 0 Comments
    These SICP lectures are great I tell ya! The two lectures on Streams (6a/6b) talk about implementing things with lazy lists. His examples are in Scheme but here’s my translation to C# using some of the new features in 3.0. For example, here is a lazy...
  • Code Monkey Have Fun

    Hey, Hey We’re the Monkeys

    • 0 Comments
    My current team is awesome! We’re a tight little team with an interesting history and have done some great work together. It’s a sad day though. Today was John’s last day. He’s going over to work on Seadragon -ish stuff – really, really cool project!...
Page 3 of 4 (78 items) 1234