This version of Vestibule is read only. It represents an archive of the community effort to produce content for Ruby Manor 4.

On discovering Joy

This proposal by <a href="/users/fjfish">Francis Fish</a> has been chosen by the community to be given at Ruby Manor 4.

updated about 4 years ago; latest suggestion over 4 years ago

Background

On the Ruby Rogues list they mentioned Kestrels, Quirky Birds, and Hopeless Egocentricity - I read the book and found it really interesting, but haven't had the time to properly work through the examples. I learned a lot more uses for tap and some other interesting combinatorial techniques (read it yourself! no spoilers!).

One of the things he says towards the end of the book is that to really understand this properly you need to get an understanding of Joy, as it's only with a language built to explore these kinds of ideas you really get a feel for it. I've had similar experiences with Lisp and of course Ruby. Joy is based on (but isn't) Forth, which is a language I've always liked but never been able to use professionally, so for me that's an extra win.

So, the talk:

  • What is combinatorial computation
  • What does Joy look like
  • How does it change your thinking
  • Can you build a simple web app in Joy

This is very sketchy as I need to invest more time in it, but I think that some problems solve much more easily using these techniques. It's always useful to have a different way to think about things.

Combinatorial computation

In Ruby you might have used gems that give you methods like maybe :

Need to find some time ... :)

Suggestions

  • 2f46d76f0e5db4dc318b03be07ebaac4 Tom Ward suggests over 4 years ago

    I am always interested in learning about different languages. This sounds great, I really hope it gets selected. Personally I don't care if it doesn't link back too much to ruby, though Murray's suggestion might ensure it remains accessible.

  • B68ce3695bb8dc29b9f9cb0dc0b721a5 Murray Steele suggests over 4 years ago

    I think a good hook might be to put the "how does it change your thinking" section at the end of the talk and add some concrete pointers to using it as an approach in ruby. Nothing too major, just some ideas for rubyists to take away.

  • 2abf5beb51d5d66211d525a72c5cb39d Paul Battley suggests over 4 years ago

    I think this sounds fascinating regardless of whether it mentions Ruby or not. Forth has always struck me as only a few rungs above Brainfuck on the irritating-to-program-in scale, but (or perhaps therefore) I'm intrigued by the idea of trying to do stuff in a Forth-based language.

  • Be3698f145a80c1230fd667c87d0f0c8 Tom Stuart suggests over 4 years ago

    (I should add that it’s totally acceptable for there to be no Ruby whatsoever in this talk, as long as we can get enough Rubyists interested in hearing about it!)

  • Be3698f145a80c1230fd667c87d0f0c8 Tom Stuart suggests over 4 years ago

    I’d also really like this talk to be selected, because I’m very interested in hearing about Joy.

    My concern is that people won’t vote for it because there’s no Ruby hook. Can you think of any way to bring Ruby into the mix, perhaps to demonstrate Joy’s ideas in a more familiar setting? Is there any mileage in implementing a tiny fragment of Joy in Ruby so that we can see how it works? (That may not be possible in the time available.)

  • Acd62030df551952268e84c8fff26a5b James Adam suggests over 4 years ago

    I think this could be a really fascinating presentation. I'd love to see it selected, so hopefully the comments below will help it shine enough for others to get similarly interested!

    Do you think you could mention, in a sentence (or less) what it is about Forth that you like?

    Your pseudo-question "Can you build a simple web app in Joy" sounds rhetorical, but it would be a shame if the answer turned out to be "no". The answer is yes, right?