Visual
Functional
Programming
David Leoni
They teach math equations
in middle school
Why can’t we have
equations for algorithms ?
x
Reversing a list
x
rev(x)
Reversing a list
x
rev(x)
rev(rev((x))
Reversing a list
x
rev(x)
rev(rev((x))
Reversing a list
rev(rev(x)) = ?
x
rev(x)
rev(rev((x))
rev(rev(x)) = x
x
rev(x)
rev(rev((x))
x
Mirroring a list
x
mir(x)
Mirroring a list
x
mir(x)
rev(mir((x))
Mirroring a list
x
mir(x)
rev(mir((x))
Mirroring a list
rev(mir(x)) = ?
x
mir(x)
rev(mir((x))
rev(mir(x)) = mir(x)
x
mir(x)
rev(mir((x))
x
Duplicating elements
x
dup(x)
Duplicating elements
x
dup(x)
rev(dup((x))
Duplicating elements
x
dup(x)
rev(dup((x))
Duplicating elements
x
rev(x)
Duplicating elements
dup(rev((x))
x
rev(x)
Duplicating elements
dup(rev((x))
x
rev(x)
Duplicating elements
dup(rev(x)) = ?
dup(rev((x))
x
rev(x)
dup(rev(x)) = ?
dup(rev((x))
x
rev(x)
dup(x)
rev(dup((x))
dup(rev(x)) = rev(dup(x))
dup(rev((x))
x
rev(x)
dup(x)
rev(dup((x))
x
Removing duplicates
x
remdup(x)
Removing duplicates
x
Removing mirrors
remdup(x)
x
mir(x)
Removing mirrors
remdup(x)
x
mir(x)
remdup(mir((x))
Removing mirrors
remdup(x)
x
mir(x)
remdup(mir((x))
Removing mirrors
remdup(x)
x
mir(x)
remdup(mir((x))
remdup(mir(x)) = ?
remdup(x)
x
mir(x)
remdup(mir((x))
remdup(x)
remdup(mir(x)) = remdup(x)
x
Removing n duplicates
x
remdup(x)
Removing n duplicates
x
dup(x)
remdup(x)
Removing n duplicates
x
dup(x)
remdup(dupn((x))
remdup(x)
Removing n duplicates
x
dup(x)
remdup(x)
Removing n duplicates
remdup(dupn((x))
x
dup(x)
remdup(dupn(x)) = ?
remdup(x)
remdup(dupn((x))
x
dup(x)
remdup(dupn(x)) = remdup(x)
remdup(x)
remdup(dupn((x))
swap(swap(x)) = x
x
swap(x)
swap(swap(x))
WORK IN PROGRESS
WORK IN PROGRESS