Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. A little F# for you

A little F# for you

Scheduled Pinned Locked Moved The Lounge
csharpphpwpfcomregex
113 Posts 48 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Josh Smith

    I've been studying F# a lot recently and find it really mind-bending.  Tomas Petricek, a fellow CPian, let me sneak preview his series of F# articles and they are very good.  I took one of his examples and modified it a bit.  The following code displays "sum = 6", but how that happens is other-worldly...check it out:

    #light

    let rec sum nums =
      match nums with
      | head::tail -> head + sum(tail)
      | [] -> 0
     
    printf "sum = %i" (sum [1; 2; 3])

    Weird, eh?   F# is coooool. :cool:

    :josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.

    J Offline
    J Offline
    Judah Gabriel Himango
    wrote on last edited by
    #43

    So, you're declaring a function called sum, and it's recursive (the rec part). It takes a parameter called nums. I see some pattern matching going on, but I start getting lost after that. :) Care to explain? *edit*, nevermind, I see you posted comments in another post that explain it. Thanks.

    Tech, life, family, faith: Give me a visit. I'm currently blogging about: No, Not I - A poem by Holocaust escapee, chief rabbi, and Messiah-follower Daniel Zion The apostle Paul, modernly speaking: Epistles of Paul Judah Himango

    J 1 Reply Last reply
    0
    • M Marc Clifton

      Josh Smith wrote:

      Weird, eh? F# is coooool.

      I think we need to explore your childhood, Josh. Marc

      Thyme In The Country
      Interacx
      My Blog

      J Offline
      J Offline
      Josh Smith
      wrote on last edited by
      #44

      Marc Clifton wrote:

      I think we need to explore your childhood, Josh.

      :laugh:  I was raised by a pack of wolves, and ate peyote for breakfast.

      :josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.

      E 1 Reply Last reply
      0
      • J Judah Gabriel Himango

        So, you're declaring a function called sum, and it's recursive (the rec part). It takes a parameter called nums. I see some pattern matching going on, but I start getting lost after that. :) Care to explain? *edit*, nevermind, I see you posted comments in another post that explain it. Thanks.

        Tech, life, family, faith: Give me a visit. I'm currently blogging about: No, Not I - A poem by Holocaust escapee, chief rabbi, and Messiah-follower Daniel Zion The apostle Paul, modernly speaking: Epistles of Paul Judah Himango

        J Offline
        J Offline
        Josh Smith
        wrote on last edited by
        #45

        See here[^].

        :josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.

        1 Reply Last reply
        0
        • Q QuiJohn

          F# you too.


          Faith is a fine invention For gentlemen who see; But microscopes are prudent In an emergency! -Emily Dickinson

          D Offline
          D Offline
          Douglas Troy
          wrote on last edited by
          #46

          Now that would be a good Nerd Shirt.


          :..::. Douglas H. Troy ::..
          Bad Astronomy |VCF|wxWidgets|WTL

          1 Reply Last reply
          0
          • J Josh Smith

            John Simmons / outlaw programmer wrote:

            Looks like a bastardization of dBase2 and interpreted basic.

            Something tells me that you won't be an F# "early adopter." :)

            :josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.

            R Offline
            R Offline
            realJSOP
            wrote on last edited by
            #47

            If it took me almost 7 years to start coding in .net, you can imagine how excited I am about F#...

            "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
            -----
            "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

            R B 2 Replies Last reply
            0
            • J Josh Smith

              Marc Clifton wrote:

              I think we need to explore your childhood, Josh.

              :laugh:  I was raised by a pack of wolves, and ate peyote for breakfast.

              :josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.

              E Offline
              E Offline
              El Corazon
              wrote on last edited by
              #48

              Josh Smith wrote:

              I was raised by a pack of wolves

              we might be related! ;P

              _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)

              1 Reply Last reply
              0
              • J Justin Perez

                Ravel H. Joyce wrote:

                But no, I won't do anything like that. I promise.

                Ok good. Like I said you are a very smart kid, and drugs would only ruin your hopes, dreams, and your desire to be a good, honest person. It will kill your zest for life! You really should remove that Hansen song from your signature though, and stop listenting to that crap. That will also ruin your life!:laugh::laugh::laugh::cool:

                I get all the news I need from the weather report - Paul Simon (from "The Only Living Boy in New York")

                S Offline
                S Offline
                soap brain
                wrote on last edited by
                #49

                Justin Perez wrote:

                stop listenting to that crap

                :suss: ... ... ... ...I almost didn't change it, you know...'Mmmbop' is fun! You're killing my zest for life.

                "Who wants waffles? We got a new album out...it's called 10,000 Days. Buy it so I can afford waffles." -Maynard James Keenan

                J T 2 Replies Last reply
                0
                • D Dan Neely

                  ph'nglui magl'nath cthulhu r'lyeh wagn'nagl fhtagn

                  -- If you view money as inherently evil, I view it as my duty to assist in making you more virtuous.

                  E Offline
                  E Offline
                  El Corazon
                  wrote on last edited by
                  #50

                  yes, but the big question is... is He dreaming of F#?

                  _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)

                  D 1 Reply Last reply
                  0
                  • P Pete OHanlon

                    Strangely reminiscent of Lisp as well.

                    Deja View - the feeling that you've seen this post before.

                    E Offline
                    E Offline
                    El Corazon
                    wrote on last edited by
                    #51

                    everything old is new again....

                    _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)

                    1 Reply Last reply
                    0
                    • R Rama Krishna Vavilala

                      Not very different than prolog or scheme (my favorite language). Prolog:

                      sum([X | Y], Z) :- sum(Y, A), Z is A + X.
                      sum([], 0).

                      Scheme:

                      (define sum (lambda (x)
                      (if (null? x) 0 (+ (car x) (sum (cdr x))))))

                      Co-Author ASP.NET AJAX in Action

                      J Offline
                      J Offline
                      Judah Gabriel Himango
                      wrote on last edited by
                      #52

                      Scheme and its never ending parens reminds me of this XKCD on Lisp[^]. :)

                      Tech, life, family, faith: Give me a visit. I'm currently blogging about: No, Not I - A poem by Holocaust escapee, chief rabbi, and Messiah-follower Daniel Zion The apostle Paul, modernly speaking: Epistles of Paul Judah Himango

                      1 Reply Last reply
                      0
                      • E El Corazon

                        yes, but the big question is... is He dreaming of F#?

                        _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)

                        D Offline
                        D Offline
                        Dan Neely
                        wrote on last edited by
                        #53

                        nah, malbolge[^]

                        -- If you view money as inherently evil, I view it as my duty to assist in making you more virtuous.

                        E 1 Reply Last reply
                        0
                        • J Josh Smith

                          I've been studying F# a lot recently and find it really mind-bending.  Tomas Petricek, a fellow CPian, let me sneak preview his series of F# articles and they are very good.  I took one of his examples and modified it a bit.  The following code displays "sum = 6", but how that happens is other-worldly...check it out:

                          #light

                          let rec sum nums =
                            match nums with
                            | head::tail -> head + sum(tail)
                            | [] -> 0
                           
                          printf "sum = %i" (sum [1; 2; 3])

                          Weird, eh?   F# is coooool. :cool:

                          :josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.

                          P Offline
                          P Offline
                          Pete OHanlon
                          wrote on last edited by
                          #54

                          Grown bored with WPF now have you? No challenges left there?

                          Deja View - the feeling that you've seen this post before.

                          J 1 Reply Last reply
                          0
                          • S soap brain

                            Justin Perez wrote:

                            stop listenting to that crap

                            :suss: ... ... ... ...I almost didn't change it, you know...'Mmmbop' is fun! You're killing my zest for life.

                            "Who wants waffles? We got a new album out...it's called 10,000 Days. Buy it so I can afford waffles." -Maynard James Keenan

                            J Offline
                            J Offline
                            Justin Perez
                            wrote on last edited by
                            #55

                            Ravel H. Joyce wrote:

                            ...I almost didn't change it, you know...'Mmmbop' is fun! You're killing my zest for life.

                            Haha sorry man, you can keep it in your sig! :rolleyes:

                            I get all the news I need from the weather report - Paul Simon (from "The Only Living Boy in New York")

                            S 1 Reply Last reply
                            0
                            • D Dan Neely

                              nah, malbolge[^]

                              -- If you view money as inherently evil, I view it as my duty to assist in making you more virtuous.

                              E Offline
                              E Offline
                              El Corazon
                              wrote on last edited by
                              #56

                              dan neely wrote:

                              nah, malbolge[^]

                              :doh::doh: I had heard of that, but never looked to see what it was.... :doh::doh:

                              _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)

                              1 Reply Last reply
                              0
                              • P Pete OHanlon

                                Grown bored with WPF now have you? No challenges left there?

                                Deja View - the feeling that you've seen this post before.

                                J Offline
                                J Offline
                                Josh Smith
                                wrote on last edited by
                                #57

                                Pete O'Hanlon wrote:

                                Grown bored with WPF now have you?

                                Argh! Don't say that!!  I, too, feel that I "must remain" pidgeon-holed into WPF.  But I don't want to feel trapped like that.  I am a bit tired of WPF at the moment, considering that I've studied nothing else for the past two years!  Plus, part of my agenda[^] is to see if/how F# and WPF can work together.

                                Pete O'Hanlon wrote:

                                No challenges left there?

                                Yeah right.  I've only scratched the surface.

                                :josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.

                                R E P 3 Replies Last reply
                                0
                                • J Justin Perez

                                  Ravel H. Joyce wrote:

                                  ...I almost didn't change it, you know...'Mmmbop' is fun! You're killing my zest for life.

                                  Haha sorry man, you can keep it in your sig! :rolleyes:

                                  I get all the news I need from the weather report - Paul Simon (from "The Only Living Boy in New York")

                                  S Offline
                                  S Offline
                                  soap brain
                                  wrote on last edited by
                                  #58

                                  Nah, I like Maynard. I admire him perhaps more than anybody else. Not that I would ever tell anyone such a thing... :doh:

                                  "Who wants waffles? We got a new album out...it's called 10,000 Days. Buy it so I can afford waffles." -Maynard James Keenan

                                  1 Reply Last reply
                                  0
                                  • J Josh Smith

                                    Pete O'Hanlon wrote:

                                    Grown bored with WPF now have you?

                                    Argh! Don't say that!!  I, too, feel that I "must remain" pidgeon-holed into WPF.  But I don't want to feel trapped like that.  I am a bit tired of WPF at the moment, considering that I've studied nothing else for the past two years!  Plus, part of my agenda[^] is to see if/how F# and WPF can work together.

                                    Pete O'Hanlon wrote:

                                    No challenges left there?

                                    Yeah right.  I've only scratched the surface.

                                    :josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.

                                    R Offline
                                    R Offline
                                    Rama Krishna Vavilala
                                    wrote on last edited by
                                    #59

                                    Josh Smith wrote:

                                    I've only scratched the surface.

                                    of WPF or F#?:rolleyes:

                                    Co-Author ASP.NET AJAX in Action

                                    J 1 Reply Last reply
                                    0
                                    • J Josh Smith

                                      I've been studying F# a lot recently and find it really mind-bending.  Tomas Petricek, a fellow CPian, let me sneak preview his series of F# articles and they are very good.  I took one of his examples and modified it a bit.  The following code displays "sum = 6", but how that happens is other-worldly...check it out:

                                      #light

                                      let rec sum nums =
                                        match nums with
                                        | head::tail -> head + sum(tail)
                                        | [] -> 0
                                       
                                      printf "sum = %i" (sum [1; 2; 3])

                                      Weird, eh?   F# is coooool. :cool:

                                      :josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.

                                      K Offline
                                      K Offline
                                      Keith Andersch
                                      wrote on last edited by
                                      #60

                                      Oh...I remember this. In my Programming Languages class when we did ML....*shivers* Right when I saw "head::tail" and the recursive call. I would like to see a whole application written in this, though. - Keith

                                      1 Reply Last reply
                                      0
                                      • J Josh Smith

                                        leppie wrote:

                                        Wouldnt that just destructure your input list into 'head' and 'tail' variable? Perhaps the '::' has special meaning?

                                        Keep in mind, I've only been studying F# for a few days now.  But, my current understanding is that F# uses the x::y syntax for dealing with its "list" type.  You can create a list, or pull one apart, with that :: operator.  AFAIK, writing "head::tail" (or foo::goo) is a way of saying "Give me the first cell in the list, and then also give me the remainder of the list."

                                        :josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.

                                        L Offline
                                        L Offline
                                        leppie
                                        wrote on last edited by
                                        #61

                                        Ahh so it similar to to Scheme/Lisp's . operator :)

                                        xacc.ide
                                        The rule of three: "The first time you notice something that might repeat, don't generalize it. The second time the situation occurs, develop in a similar fashion -- possibly even copy/paste -- but don't generalize yet. On the third time, look to generalize the approach."

                                        1 Reply Last reply
                                        0
                                        • R Rama Krishna Vavilala

                                          Josh Smith wrote:

                                          I've only scratched the surface.

                                          of WPF or F#?:rolleyes:

                                          Co-Author ASP.NET AJAX in Action

                                          J Offline
                                          J Offline
                                          Josh Smith
                                          wrote on last edited by
                                          #62

                                          Rama Krishna Vavilala wrote:

                                          of WPF or F#?

                                          I meant WPF.  I don't even know where the surface of F# is yet! :)

                                          :josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.

                                          R 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups