3 ms·
To expand on what I was thinking with #8, here's how I'd implement a decorator in Clojure (def my-decor (partial comp decor-bevior)) Done.
by francoisdevlin 16y ago
To expand on what I was thinking with #8, here's how I'd implement a decorator in Clojure
(def my-decor
(partial comp decor-bevior))
Done.
- leif 16y agoWell, what python calls a "decorator" is just a function that accepts a function and returns a function with roughly similar functionality. In python, the old way to decorate functions was def my_decorator(f): ... def my_function(...): ... my_function = my_decorator(my_function) and the new "@my_decorator" syntax is just sugar for this. Function composition is only one of many things you can do with decorators. You could implement a K-combinator with them if you wanted to: def kestrel(x): "decorates a function to evaluate that function, but then return x" def decorator(f): def g(*args, **kwargs): f(*args, **kwargs) return x return g return decorator @kestrel(4) def foo(x): y = x + 1 print y return y foo(5) # => 4, but prints 6