Skip to content

Instantly share code, notes, and snippets.

Christian Takle christiantakle

  • Moixa
  • London
Block or report user

Report or block christiantakle

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View 1.js
// fade out
function fade(el) {
var op = 1;
var timer = setInterval(function () {
if (op <= 0.1){
clearInterval(timer);
el.style.display = 'none';
}
el.style.opacity = op;
@christiantakle
christiantakle / diamond.js
Last active Aug 29, 2015
Solution for a codewars task
View diamond.js
var
CHAR = '*',
NEWLINE = '\n',
repeat =
function repeat(c, n) {
if(n === 0) { return ''; }
return c + repeat(c, n-1);
},
lines =
@christiantakle
christiantakle / fib.js
Last active Dec 10, 2015
Example of poormans pattern matching in Javascript. It useful in some cases. Beware of recursive definitions like this. It will blow the stack.
View fib.js
// Classic Javascript
function fib(n) {
if(n === 0) { return 0 }
if(n === 1) { return 1 }
return fib(n-1) + fib(n-2)}
// Non-auto-curry
const mkCases = // :: Object Functions -> a -> b
cases => key =>
(cases[key]? cases[key] : cases["_"])(key)
View private.xml
<?xml version="1.0"?>
<root>
<item>
<name>Programmer's Shift Keys</name>
<!--
Author: Carwin Young (@carwin)
Last Updated: 2013.02.10
v.1.0
Programmer's Shift Keys
View git_tag.rb
#!/usr/bin/env ruby
tagname = ARGV.pop
def prompt(*args)
print(*args)
gets.chomp
end
if tagname.nil?
@christiantakle
christiantakle / Functional JavaScript - Example 1
Last active Dec 21, 2015
Simple Functional Example in JavaScript Using: `curry` and `compose`
View Functional JavaScript - Example 1
//-- Example 1 --------------------------------------------------------
//-- Note - We do not need to reference the data `email` when
//-- using a 'Point free style' of programming
//-- Note - `curry` is from Prelude. `compose` is from Oliver Steele --
//-- http://preludels.com/
//-- http://osteele.com/sources/javascript/functional/
//-- Imparative -------------------------------------------------------
var getUserName = function(email) {
@christiantakle
christiantakle / gist:7537088
Created Nov 18, 2013
Functional approach to bind, call and apply
View gist:7537088
var bind = Function.prototype.call.bind(Function.prototype.bind);
var call = bind(Function.prototype.call, Function.prototype.call);
var apply = bind(Function.prototype.call, Function.prototype.apply);
View conditional.js
// Ideas
//-- note (() -> IO), random function
//-- Maybe denote it with a lambda instead
//+ given :: (a -> Bool) -> (() -> IO) -> Maybe IO
//+ ifthen :: (a -> Bool) -> (() -> IO) -> Maybe IO
function ifthen(predicate, action) {
if (predicate()) {
action();
@christiantakle
christiantakle / composition_with_tap
Last active Jan 2, 2016
Using functional composition as before, around or after filter. This is a smart use of tap, to compose a sequence of functions that need somekind of sideeffect and provide a clear seperation of pure and impure functions
View composition_with_tap
//-- http://allong.es/try/
tap = allong.es.tap
flip = allong.es.flip
curry = allong.es.curry
compose = allong.es.compose
call = allong.es.call
//-- square :: Int -> Int
function square(x) { return x*x }
You can’t perform that action at this time.