   it 'should reduce multiple beta-redex', ->
     shouldReduce '(λx.λy.x y) v w', 'v w'
 
-
   it 'should reduce a beta-redex that is formed only after a reduction', ->
     shouldReduce '(λx.x y) (λz.z z)', 'y y'
 

    shouldParse '(((λa.a) λb.b) λc.c) λd.d', '(λa.a) (λb.b) (λc.c) λd.d'
    shouldParse 'λa.a (λb.b (λc.c (λd.d)))', 'λa.a λb.b λc.c λd.d'

describe 'reduce()', ->
  it 'should not reduce simple irreducible expressions', ->
    shouldReduce 'x', 'x'
    shouldReduce 'x y', 'x y'

shouldReduce = (expr, expected) ->
  assert.strictEqual (reduceTerm expr).final, expected

describe 'parseTerm()', ->

  it 'should remove unnecessary parentheses', ->
    shouldParse '(x)', 'x'
