Initial Commit
* Notes for basic talk layout * gitignore
This commit is contained in:
commit
37e1cda3e4
2 changed files with 235 additions and 0 deletions
177
.gitignore
vendored
Normal file
177
.gitignore
vendored
Normal file
|
@ -0,0 +1,177 @@
|
|||
## Core latex/pdflatex auxiliary files:
|
||||
*.aux
|
||||
*.lof
|
||||
*.log
|
||||
*.lot
|
||||
*.fls
|
||||
*.out
|
||||
*.toc
|
||||
*.fmt
|
||||
*.fot
|
||||
*.cb
|
||||
*.cb2
|
||||
|
||||
## Intermediate documents:
|
||||
*.dvi
|
||||
*-converted-to.*
|
||||
# these rules might exclude image files for figures etc.
|
||||
# *.ps
|
||||
# *.eps
|
||||
# *.pdf
|
||||
|
||||
## Bibliography auxiliary files (bibtex/biblatex/biber):
|
||||
*.bbl
|
||||
*.bcf
|
||||
*.blg
|
||||
*-blx.aux
|
||||
*-blx.bib
|
||||
*.brf
|
||||
*.run.xml
|
||||
|
||||
## Build tool auxiliary files:
|
||||
*.fdb_latexmk
|
||||
*.synctex
|
||||
*.synctex.gz
|
||||
*.synctex.gz(busy)
|
||||
*.pdfsync
|
||||
|
||||
## Auxiliary and intermediate files from other packages:
|
||||
# algorithms
|
||||
*.alg
|
||||
*.loa
|
||||
|
||||
# achemso
|
||||
acs-*.bib
|
||||
|
||||
# amsthm
|
||||
*.thm
|
||||
|
||||
# beamer
|
||||
*.nav
|
||||
*.snm
|
||||
*.vrb
|
||||
|
||||
# cprotect
|
||||
*.cpt
|
||||
|
||||
# fixme
|
||||
*.lox
|
||||
|
||||
#(r)(e)ledmac/(r)(e)ledpar
|
||||
*.end
|
||||
*.?end
|
||||
*.[1-9]
|
||||
*.[1-9][0-9]
|
||||
*.[1-9][0-9][0-9]
|
||||
*.[1-9]R
|
||||
*.[1-9][0-9]R
|
||||
*.[1-9][0-9][0-9]R
|
||||
*.eledsec[1-9]
|
||||
*.eledsec[1-9]R
|
||||
*.eledsec[1-9][0-9]
|
||||
*.eledsec[1-9][0-9]R
|
||||
*.eledsec[1-9][0-9][0-9]
|
||||
*.eledsec[1-9][0-9][0-9]R
|
||||
|
||||
# glossaries
|
||||
*.acn
|
||||
*.acr
|
||||
*.glg
|
||||
*.glo
|
||||
*.gls
|
||||
*.glsdefs
|
||||
|
||||
# gnuplottex
|
||||
*-gnuplottex-*
|
||||
|
||||
# hyperref
|
||||
*.brf
|
||||
|
||||
# knitr
|
||||
*-concordance.tex
|
||||
# TODO Comment the next line if you want to keep your tikz graphics files
|
||||
*.tikz
|
||||
*-tikzDictionary
|
||||
|
||||
# listings
|
||||
*.lol
|
||||
|
||||
# makeidx
|
||||
*.idx
|
||||
*.ilg
|
||||
*.ind
|
||||
*.ist
|
||||
|
||||
# minitoc
|
||||
*.maf
|
||||
*.mlf
|
||||
*.mlt
|
||||
*.mtc
|
||||
*.mtc[0-9]
|
||||
*.mtc[1-9][0-9]
|
||||
|
||||
# minted
|
||||
_minted*
|
||||
*.pyg
|
||||
|
||||
# morewrites
|
||||
*.mw
|
||||
|
||||
# mylatexformat
|
||||
*.fmt
|
||||
|
||||
# nomencl
|
||||
*.nlo
|
||||
|
||||
# sagetex
|
||||
*.sagetex.sage
|
||||
*.sagetex.py
|
||||
*.sagetex.scmd
|
||||
|
||||
# sympy
|
||||
*.sout
|
||||
*.sympy
|
||||
sympy-plots-for-*.tex/
|
||||
|
||||
# pdfcomment
|
||||
*.upa
|
||||
*.upb
|
||||
|
||||
# pythontex
|
||||
*.pytxcode
|
||||
pythontex-files-*/
|
||||
|
||||
# TikZ & PGF
|
||||
*.dpth
|
||||
*.md5
|
||||
*.auxlock
|
||||
|
||||
# todonotes
|
||||
*.tdo
|
||||
|
||||
# xindy
|
||||
*.xdy
|
||||
|
||||
# xypic precompiled matrices
|
||||
*.xyc
|
||||
|
||||
# endfloat
|
||||
*.ttt
|
||||
*.fff
|
||||
|
||||
# Latexian
|
||||
TSWLatexianTemp*
|
||||
|
||||
## Editors:
|
||||
# WinEdt
|
||||
*.bak
|
||||
*.sav
|
||||
|
||||
# Texpad
|
||||
.texpadtmp
|
||||
|
||||
# Kile
|
||||
*.backup
|
||||
|
||||
# KBibTeX
|
||||
*~[0-9]*
|
58
Notes.md
Normal file
58
Notes.md
Normal file
|
@ -0,0 +1,58 @@
|
|||
# WTFunctional: Modifying your WTF-Count using functional programming #
|
||||
|
||||
## Content ##
|
||||
|
||||
* Dafunc? Understanding functional programming with Haskell.
|
||||
+ no side-effects, no mutability => maintainability
|
||||
+ recursion
|
||||
+ functions as first class “objects”: i.e. C++, 5; is a valid statement
|
||||
+ lambdas
|
||||
+ lists, maps, filters, folds
|
||||
=> readability, less code reproduction, threadsafety…
|
||||
+ currying => just convenience
|
||||
+ code example: Pythagoraian triangles.
|
||||
* Phuncy: The pythonic way is functional!
|
||||
+ Not strictly functional
|
||||
+ recursion, fafco
|
||||
+ lambda syntax
|
||||
+ map, fold => example (sum of squares?)
|
||||
- python lambda syntax: lambda a,b: a+b
|
||||
- fold with reduce
|
||||
- don't return lists, but iterators!
|
||||
- Note: 2: map, filter, reduce
|
||||
3: map, filter, functools.reduce()
|
||||
```Removed reduce(). Use functools.reduce() if you really need it;
|
||||
however, 99 percent of the time an explicit for loop is more
|
||||
readable.```
|
||||
Why use it? => Multi-processing!
|
||||
```
|
||||
a = list(range(10))
|
||||
|
||||
b = 0
|
||||
for i in a:
|
||||
b += i**2
|
||||
print(b)
|
||||
```
|
||||
vs.
|
||||
```
|
||||
from functools import reduce
|
||||
print(reduce(lambda x,y: x+y,map(lambda x: x**2,range(10))))
|
||||
```
|
||||
+ currying: not really, but binding via lambdas or functools.partial() or
|
||||
https://mtomassoli.wordpress.com/2012/03/18/currying-in-python/
|
||||
+ decorators!
|
||||
+ still FP, has advantages and is heavily used, i.e. in genomics (works on
|
||||
tons of lengthy lists)
|
||||
* FunCtional++: On the fast lane
|
||||
+ "Classical" C++ has some functional stuff, bust i.e. no lambdas (hardly usable)
|
||||
+ Changed with the new C++11-standard
|
||||
+ Buzzwords:
|
||||
- `map` defines a Datatype in C++!
|
||||
- lambdas in C++
|
||||
```[](int x, int y) { return a<b;} ;```
|
||||
[] can be used to capture variables, i.e. by reference or value
|
||||
- `std::for_each` from `algorithm`: Apply `void fun(T &a)` to iterator
|
||||
containing `T` values
|
||||
- `std::transform` from `algorithm`: same as for_each, but stores return
|
||||
value in another range
|
||||
- `std::accumulate` from `numeric`: Wants binary operation, i.e. `std::minus<int>`
|
Loading…
Reference in a new issue