emptybutton/Act

Remove signature generation

Closed this issue · 0 comments

Every time almost any "generation" function in the library is called, it also tries to generate a signature for its "created function". Referring to signatures and constructing them again takes a lot of time, and often code responsible for the signatures can be as much or even larger than a “generator's” payload code, but clean signatures are only needed for partially because only it reads signatures and uses them in its "generation".

Act prioritizes partial application over currying, so partially (commonly called curry in other libraries) is intended to decorate regular functions rather than "generated" functions. In this case, generating signatures does not make sense as it simply opens up the possibility of bad practices from the point of view of this library.

Head-on solution: remove signature generation and add the ability to independently set the number of obligatory parameters in partially (if the created function still needs a polymorphic interface, but it is also decorated with "generating" functions for its needs).