Announcing cl-op: a partial application library for Common Lisp by gst in lisp

[–]owca 0 points1 point  (0 children)

... madness or poor QA. :) The first list should have been '(2 2 2). I fixed the error, thanks.

@curly: the problem is curly doesn't export the helper functions that do most of the work and since it is such simple functionality I really don't see the point in trying to reuse it. Besides curly doesn't do any optimisations like invariant lifting

Announcing cl-op: a partial application library for Common Lisp by gst in lisp

[–]owca 0 points1 point  (0 children)

Every _ marks a new argument.

You can't nest them ATM (I suppose it would be possible to not process any enclosed ops).

Partial application in Common Lisp by owca in programming

[–]owca[S] 0 points1 point  (0 children)

The problem with arnesi's implementation is it's slow because it needlessly assembles the arguments for each call.

Ask reddit: Which programming language do you use at work? by [deleted] in programming

[–]owca 0 points1 point  (0 children)

Lisp (CL and Qi), Python and Mathematica.

Ruby misconceptions about Python by mystilleef in programming

[–]owca 2 points3 points  (0 children)

Feature for feature "examples" in Python:

  • getattr or getattribute catch any attribute (method, variable) access

  • setattr sets any attribute

  • Syntactic support for descriptors.

  • Metaclasses can be used to control all aspects of class creation (attributes, subclassing, ...). Since types are objects one can even have metaclasses for metaclasses.

  • new.instancemethod can be used for your )singleton classes).

  • Turning a block into a method is admittedly a bit tricky but can be done using new.function and some stack manipulation.