Month: August 2018

  • Setting Up Merlin in Neovim

    My OCaml development environment in Debian has been working well since I set it up.   In this post I talk about setting up Merlin in vim and neovim.  See this discussion for other well-liked OCaml environment set up.   I’ve been using neovim and I like it so I’ll stick with this for now. Setting Up…

  • Currying in Lambda Calculus and OCaml

    Currying Recall that in lambda calculus, a function can have more than one input, each preceded by a λ symbol.  Another way of thinking about more than one input is currying.  Currying a function of two inputs turns that function into a function with one input by passing one of the inputs into it.  In other…

  • Encoding Recursion with the Y Combinator

    In this post I’ll go through some exercises and encode some recursive functions with the Y combinator. Encoding with rec Continuing on from my last post, Professor Hutton gave us two exercises in the Y combinator video: Encode loop (the function that just calls itself) with rec.  I.e., loop = rec (?) Encode the factorial function…

  • Recursion in Lambda Calculus: The Y Combinator

    In the last post I talked about how powerful lambda calculus is.  In this post I further proves the point by encoding recursion in it.  This enables you to do recursion in any languages! If you haven’t read my last post already, please do so!  It’d be easier for you to follow this post, especially…

  • Simple Yet Powerful: Lambda Calculus

    I’ve long since heard of “Lambda Calculus” but I didn’t really know what it is about until I saw this video.  It got me super excited!  What I love about it is that it’s built on almost nothing!  Only the concept of functions.  It’s so simple and elegant!  Professor Graham Hutton also listed good reasons to…

  • Setting Up an OCaml Development Environment in Debian

    In this post I share how I switched to Debian and set up a development environment for OCaml. As mentioned in this post, I was running NixOS on my machine, but getting it set up comfortably for OCaml seems challenging.  Instead of fighting with the OS, I decided to switch to Debian because I love…