[Python-ideas] Infix functions
Ryan Gonzalez
rymg19 at gmail.com
Sat Feb 22 03:02:58 CET 2014
You should contribute that to PyExt(https://github.com/kirbyfan64/pyext).
I'd love to have it there.
On Fri, Feb 21, 2014 at 7:45 PM, Mathias Panzenböck <
grosser.meister.morti at gmx.net> wrote:
> Am 2014-02-21 23:05, schrieb Andrew Barnert:
>
> While we're discussing crazy ideas inspired by a combination of a
>> long-abandoned PEP and Haskell idioms (see the implicit lambda thread),
>> here's another: arbitrary infix operators:
>>
>> a `foo` b == foo(a, b)
>>
>>
> If you really want to you could do this:
>
> class infix(object):
> __slots__ = '__call__',
>
> def __init__(self,func):
> self.__call__ = func
>
> def __ror__(self,arg1):
> return infix2(self.__call__, arg1)
>
> class infix2(object):
> __slots__ = 'func', 'arg1'
>
> def __init__(self,func,arg1):
> self.func = func
> self.arg1 = arg1
>
> def __call__(*args,**kwargs):
> self, args = args[0], args[1:]
> return self.func(self.arg1,*args,**kwargs)
>
> def __or__(self,arg2):
> return self.func(self.arg1,arg2)
>
> @infix
> def foo(a,b):
> return a + b
>
> print "egg" |foo| "spam"
>
>
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/
>
--
Ryan
If anybody ever asks me why I prefer C++ to C, my answer will be simple:
"It's becauseslejfp23(@#Q*(E*EIdc-SEGFAULT. Wait, I don't think that was
nul-terminated."
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20140221/ae76f9ca/attachment-0001.html>
More information about the Python-ideas
mailing list