Project

rambda

0.0
No commit activity in last 3 years
No release in over 3 years
A lambda DSL, supports auto currying
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

>= 0
 Project Readme

Rambda

Examples

require 'rambda'
include Rambda::Mixin

f = λ.x.y{x}
f.(1, 2) # => 1
f.(1).(2) # => 1

inc = λ{literal(1).+}
inc.(42) # => 43

hello = λ{print "hello "}
hello.("world") # => hello world

cons = rambda.a.b.f{f(a, b)}
car = rambda.x.y{x}
cdr = rambda.x.y{y}
l = cons.(1, cons.(2,3))
l.(car) # => 1
l.(cdr).(car) # => 2
l.(cdr).(cdr) # => 3

Installation

gem install rambda