pxeger / whython

Fork of Python with some terrible custom features hacked in
https://www.pxeger.com/2021-09-19-hacking-on-cpython/
Other
16 stars 3 forks source link

Automatic partials? #5

Open mvirts opened 2 years ago

mvirts commented 2 years ago

Make calls that are missing args into partials? Create a new singleton sentinel NoArg to signify a missing arg to a partial. If you can create "NoArg", then you can make args that have no default always default to NoArg.

a = print(NoArg,end="\n\n-said the cat\n")
a("Meow. Feed Me.")
#Meow. Feed Me.
#
#-said the cat

def b(animal,sound):
    print(f"{animal} goes {sound}")

c = b("Cat")
c("Meow") 
#Cat goes Meow
c("Purr") 
#Cat goes Purr
cgccuser commented 2 years ago

Could this feature be called "Automatic currying" instead? I feel like calling them partials could be a bit confusing because of the mathematical interpretation of partial functions.