Skip to content

Instantly share code, notes, and snippets.

@benjaminchan
benjaminchan / gist:7a2c1381ff13ff36bacdfbeec4e39a77
Created February 5, 2018 22:02 — forked from tomstuart/gist:1466504
FizzBuzz in the lambda calculus in Ruby
>> IF = -> b { b }
=> #<Proc:0x007fb4e4049cc8 (lambda)>
>> LEFT = -> p { p[-> x { -> y { x } } ] }
=> #<Proc:0x007fb4e403d680 (lambda)>
>> RIGHT = -> p { p[-> x { -> y { y } } ] }
=> #<Proc:0x007fb4e4028ff0 (lambda)>
>> IS_EMPTY = LEFT
@benjaminchan
benjaminchan / rlsp.rb
Created February 5, 2018 21:58 — forked from h0rs3r4dish/rlsp.rb
LISP in <200 lines of Ruby
#!/usr/bin/ruby
RLSP_VERSION = "1.4.2"
class Lambda
attr_accessor :args, :body
def initialize(args=[],body="")
@args = (args.class == Array) ? args : [args]
@body = body
end