Difference between revisions of "VTLUUG:2016-03-24"

From the Linux and Unix Users Group at Virginia Teck Wiki
Jump to: navigation, search
imported>Echarlie
(Hacking)
imported>Echarlie
(Lambda Calculus for Babies: Retarded Babies)
Line 41: Line 41:
 
Lambda Calculus forms the fundamentals of functional programming. If it can be described as a function,
 
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
 
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.
 +
 +
Ex:
 +
 +
<pre>
 +
(ƛx.x)2
 +
(ƛ[x:=2x])
 +
    2
 +
 +
 +
(ƛz.zz)(ƛy.yy)
 +
(ƛ[z:=(ƛ
 +
 +
</pre>
 +
 +
=== Currying ===
 +
 +
  
 
[[Category:VTLUUG:Meetings]]
 
[[Category:VTLUUG:Meetings]]
 
[[Category:2016]]
 
[[Category:2016]]

Revision as of 01:09, 25 March 2016

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

Date, Time, and Location

Announcements

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

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.

Ex:

 (ƛx.x)2
(ƛ[x:=2x])
    2


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

Currying