# VTLUUG:2016-03-24

Our seventh meeting of the 2016 Spring semester, and **Officer Elections**

## Date, Time, and Location

- Thursday, 24 March
- 8:30pm - 10:30pm
- 1040 Torgersen Hall

## Announcements

- #VTLUUG: "No Rules, Just Right™"
- 2016 is the year of the Linux desktop
- For shell account, contact uncurlhalo
- Interest gauge for SouthEast LinuxFest 2016

## Curriculum du jour

- Officer Elections
- This is a consequence of new club registration policies.

### Results

- President
- Jacob Melton

- VP of
**not**IT- Marcus Wanners

- Secretary/Treasurer
- John Volk

## Talks

- ackthet is giving the talk:
**Lambda Calculus for Babies. Retarded Babies.**- First in ackthet's 10-part talk on Xmonad, starting from the basics of haskell

## Hacking

- Gobblerpedia
- VTLUUG Wiki
- Wiki meeting page creation script -- this needs to happen so echarlie isn't doing it manually
- New Website?
- Infrastructure 2016

## Lambda Calculus for Babies: Retarded Babies

Lambda Calculus forms the fundamentals of functional programming. If it can be described as a function, it can be described in the lambda calculus and consequently written in Haskell

### Alpha equivalence

- Variable name doesn't matter

### Beta reduction

Meat of Lambda calculus.

### Currying

Allows for nested functions. Functions manipulate each input individually

### Examples

(ƛx.x)2 (ƛ[x:=2]) x is bound to 2 2

(ƛz.zz)(ƛy.yy) (ƛ[z:=(ƛy.yy)].zz) (ƛy.yy)(ƛy.yy) (ƛy.yy) 1

Currying example: (ƛabc.cba)zz(ƛwv.w) (ƛa.(ƛb.(ƛc.cba)))(z)z(ƛw.(ƛv.w))) The first function only applies the first z (ƛb.(ƛc.cbz))z(ƛw.(ƛv.w)) Applies from the outer parenthesis in (ƛc.czz)(ƛw.(ƛv.w)) So c is applied last (ƛw.(ƛv.w))zz (ƛv.z)z z

(ƛx.ƛy.xyy)(ƛa.a)b (ƛy.(ƛa.a)yy)(b) (ƛa.a)bb bb

(ƛx.x)(ƛy.yy)(ƛz.zq) (ƛx.x) is the identity (ƛy.yy)(ƛz.zq) (ƛz.zq)(ƛz.zq) qq