Skip to content

Instantly share code, notes, and snippets.

View jonathanjouty's full-sized avatar

Jonathan Jouty jonathanjouty

View GitHub Profile
jonathanjouty /
Created August 26, 2021 10:21
Gist to compare GitHub Actions Ubuntu 18.04 and 20.04 runtime

Standardized Ladder of Functional Programming

The LambdaConf Ladder of Functional Programming (LOFP) is a standardized progression of different concepts and skills that developers must master on their journey to becoming expert-level functional programmers. LOFP can be used to rank workshops, talks, presentations, books, and courseware, so that aspiring functional programmers have a better understanding of what material is appropriate for them given their current experience.



  • Immutable Data
  • Second-order Functions
jonathanjouty / aeson-benchmark-auto-compare-modified-hand-written.html
Last active May 12, 2020 20:57
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>criterion report</title>
<script language="javascript" type="text/javascript">
/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | */
!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,,h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement

Keybase proof

I hereby claim:

  • I am jonathanjouty on github.
  • I am jonathanjouty ( on keybase.
  • I have a public key ASCgrnHkOuw2NAXfwNDnZ2PSktqLoVO85NK5o_XOJsr7Uwo

To claim this, I am signing this object:

A Recurrent Neural Network (LSTM) implementation example using TensorFlow library.
This example is using the MNIST database of handwritten digits (
Long Short Term Memory paper:
Author: Aymeric Damien
from __future__ import print_function

Lesson 3


  1. Basic types (int, float, complex, bool)
  2. Container types (str, list, dict)
  3. Control flow: for/range and if/elif/else

Some things to remember:

jonathanjouty / ShakeExceptionTest.hs
Created August 31, 2016 14:12
Shake Exception Test
import Control.Exception
import Data.Typeable
import Development.Shake
import System.IO
import System.Environment
main :: IO ()
main = do
print "Starting..."
withArgs ["--exception"] (shakeArgs shakeOptions myRules) `catch` things
jonathanjouty / Main.hs
Last active August 30, 2016 20:42
Servant Echo PlainText to JSON
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TypeOperators #-}
module Main where
import Data.Proxy
jonathanjouty / ShakeTry.hs
Created July 23, 2016 10:42
Checking `Exception` type with `shakeArgs`
import Control.Exception
import Data.Typeable
import Development.Shake
import System.IO
main :: IO ()
main = do
print "Starting..."
shakeArgs shakeOptions myRules `catch` things
jonathanjouty /
Created October 17, 2012 11:24 — forked from beastaugh/
Installing GHC 7.6.1 on Mac OS X 10.8 Mountain Lion

Installing GHC 7.6.1 on Mac OS X

This is a brief and bare-bones guide to getting GHC 7.6.1 and the cabal-install tool (the two basic things you'll need to do Haskell development) up and running on Mac OS X 10.8 install.

The instructions given here worked for me, but YMMV.

Original on