Drawing a Line Between Pure and Impure

Into every real program, some side-effects must fall. I suggest mini-presentations of times when you feel you gained something by moving purity closer to the root or leaves of the call-graph. Include boiled-down examples, rules of thumb, or language-features/patterns that make purity less onerous.

Join or login to comment.

  • A former member
    A former member

    Schlitz Park may have defeated my navigation skills yet again which building am i headed to?

    November 20, 2013

    • Joel C.

      I'm really sorry I didn't see this earlier. For future reference, since 2nd Street is under construction, Corvisa lets us park in their lot on Walnut, just East of 2nd Street. In fact, if you park in the southwest corner of this lot, you will see a sign pointing you south on 2nd, just about 100 feet down the sidewalk to the entrance. Once you reach the entrance, there are signs pointing you up the stairs and down the hall to the right room.

      November 21, 2013

  • Paul S.

    Hmm, afraid something came up and I won't be able to make it now. Will try to make next month's though!

    November 20, 2013

  • Jonathan

    Joel, if we still need pizza for tomorrow night, I might be able to arrange it. Just let me know. Thanks.

    November 19, 2013

    • Jonathan

      Immutable pizza is confirmed for tonight. We've got Papa Johns. :)

      November 20, 2013

    • Joel C.

      Thank you very much!!

      November 20, 2013

  • Gabriel M.

    I'm going to have to respectfully bow out of my part tomorrow :(

    I won't be able to show up due to unforseen circumstances, however, I'm hoping that maybe I'll have a chance to go over some stuff on immutability and its patterns through software history at a later date.

    It sounds like there will be some good discussions tomorrow. Have fun everyone.

    November 19, 2013

    • Joel C.

      I totally understand and we can definitely have you share the info at our next meetup. I'll announce a date sometime later this week.

      November 19, 2013

  • Joel C.

    To everyone that's coming, we also have a regular "show and tell" segment. It doesn't have to be a presentation. You can just get up and talk for a few minutes about something new you learned, a new blog post you read, recommend a book/video, talk about a side project or work project, or whatever you think would be interesting to the group.

    With 16 RSVPs, this could be a lot of fun. Remember, we aren't purists. It doesn't have to be a pure FP language to be interesting to the FP group.

    November 14, 2013

    • Jonathan

      I could give a demo of a strongly-typed fluent interface I've been working on recently. It showcases the more functional side of C# by using lambdas and expression trees.

      2 · November 18, 2013

    • Joel C.

      That sounds interesting. Thanks!

      November 18, 2013

  • Joel C.

    Is food an issue for anyone? Corvisa graciously provides soda/beer, but not food. Would anyone like to chip in to order some pizzas?

    November 18, 2013

  • Michael W.

    Looks like it's me and Gabriel at this point, and I still don't know what to talk about. I could maybe discuss the troubles inherent in trying to incorporate functional code in an existing not-so-functional or inherently non-functional (multi-process/machine) system, though at this particular moment I don't know how I'd expand on "it sucks."

    November 8, 2013

    • Joel C.

      We can branch out into a show and tell if our main conversation doesn't get very far. I have some things I'd like to share on the topic. Maybe others will speak up once things get started.

      November 14, 2013

  • Philip G.

    My plan was to start work on a real application before the meetup so I could have something to talk about, or at least a better appreciation of the other presentations. Unfortunately, I just found out I'll be entertaining a guest from out of town on the same day as the next meeting, so I won't be able to attend. I'm sorry I'll be missing out on your presentations.

    November 8, 2013

  • Philip G.

    Coincidently, I was just catching up on xkcd and found this: http://xkcd.com/1270/

    (this site is also where I first heard of xmonad: http://xkcd.com/934/)

    1 · October 26, 2013

  • Philip G.

    I've never actually written a real functional application, just some solutions to textbook problems.

    I have a book (circa 1980) that shows how you could build a purely functional application as a network of communicating sequential processes, using lazy evaluation and embedding state information in the communications streams via feedback loops. If part of your state is a display image, for example, this probably isn't very practical.

    I've discovered that the ideas in that book were generalized as monads, and are implemented as a standard feature in Haskell. I don't know how practical this idea is, but I do know that there is a (tiled) window manager, called xmonad, written in Haskell and using monads. Is this relevant to the meeting topic? p.s. I'm guessing that xmonad might avoid using side-effects (e.g. maintaining graphics state) by offloading them onto X.

    October 25, 2013

  • Gabriel M.

    Ok, so all weekend I've been thinking about immutable data structures and how they are used in a functional language (maybe Clojure) compared to a language where you can use them, but maybe it just doesn't *feel* right.

    I can surely talk for 10-15 minutes on immutability and how it can ripple through a run-time that was intended to use them from the start.

    1 · September 30, 2013

    • Joel C.

      Sounds good. I'll add you to the list. Thanks!

      September 30, 2013

  • Michael W.

    I notice that the only people in this discussion are the two organizers and me (who suggested the topic). The top of my page indicates that it will be announced to the group when there are 3 rsvps (my implicit one being counted already).

    September 27, 2013

    • Joel C.

      Good point. I just made it official and announced it to the group so we can get some more input.

      September 27, 2013

  • Jason S.

    I like this topic a lot. Its someplace I struggle with when writing any code, what level should I seperate mutation from computation, when does it become a hassle. Gary Bernhardt did a talk called Boundaries about this http://www.youtube.com/watch?v=yTkzNHF6rMs and he also sells a more detailed discussion at his site https://www.destroyallsoftware.com/screencasts/catalog/functional-core-imperative-shell

    September 26, 2013

    • Joel C.

      How would you feel about distilling that talk or picking one point from it and presenting it?

      September 26, 2013

  • Michael W.

    I'll commit to doing one, though I'm not sure exactly what I'd talk about yet. Some coordination between the presenters would probably make sense, so we don't all have 5 minutes on "referential transparency for easier unit testing."

    September 26, 2013

    • Joel C.

      Agreed. We'll have everyone post ideas here so we can make sure there isn't too much overlap. As people volunteer and post a specific topic, I'll add it to the notes above.

      September 26, 2013

  • Joel C.

    I like this idea a lot. If we could get 4 or 5 people lined up to share something on this topic, I think that would be great. Please add a comment here if you'd like to talk for 5 - 15 minutes and share an anecdote/opinion/article.

    September 26, 2013

Our Sponsors

  • Functional Jobs

    Dream jobs for functional programmers! Full-time/contract, onsite/remote

People in this
Meetup are also in:

Sometimes the best Meetup Group is the one you start

Get started Learn more
Rafaël

Rafaël, started French Conversation Group

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy