Skip to content

Instantly share code, notes, and snippets.

@kpuputti
kpuputti / fold.js
Last active May 6, 2024 05:20
Functional acrobatics using folds in JavaScript.
/*eslint-env es6 */
// Inspired by the paper "A tutorial on the universality and
// expressiveness of fold" by Graham Hutton (available at
// http://www.cs.nott.ac.uk/~gmh/fold.pdf), implementing some generic
// list handling functions in JavaScript in terms of `fold`.
// Personally I had an enlightnening moment when I realised the
// beautiful interplay of cons lists and foldr during the FP101x
// Haskell course. JavaScript's syntax doesn't make this very apparent
@pezza3434
pezza3434 / gist:ac5db3fd5a3b6bc985e4
Last active March 21, 2016 14:16
Submission to speak at reactive2015

##Moving from Angular to React

For over a year I had been helping to create a production app with Angular. I was initially hugely impressed by the advantages Angular offered and invested a lot of time learning the intricacies of the framework.

Having being initially cautious about React as one of the many upcoming frameworks that wouldn't stick around I was hesitant to make the switch. However, after making the jump I've been using React for a few months now and been thouroughly impressed.

This will be a short talking explaining:

  • The shift in thinking when moving from Angular to React
  • The difficulties when moving from Angular to React
  • What we can learn from Angular and how having a previous knowledge of other frameworks can help significantly when creating React apps.
@ealize
ealize / config.fish-non-interactive
Created March 4, 2016 06:25
Fish shell non-interactive/non-login mode
# Prevent Fish shell from generating strings when in non-interactive mode (e.g. while using SCP)
# Add this to the top of your config.fish file
if not status --is-login or not status --is-interactive
exit
end
const t = require("tcomb");
// imstruct is a tcomb type builder that internally builds an
// Immutable.Record object, but applies tcomb's type system to it
const imstruct = require("../util/imstruct");
const Person = imstruct({
name: t.String,
age: t.Number
});