A library trying to clone the Haskell-Prelude for python3
Project description
Cloning the Haskell-Prelude for Python3 : http://hackage.haskell.org/package/base-4.8.1.0/docs/Prelude.html
* MAKING PYTHON GREAT AGAIN! *
Features
The newType function
Just, Nothing = newType('Maybe', ('Just', 1), ('Nothing', 0), deriving={Eq, Show})
constructor matching
def isJust(x):
return Just(match=x)
def isNothing(x):
return x==Nothing
type-classes
def mapB(func, b):
return b
T, F = newType("B", ("T",0), ("F",0), deriving={Eq, Show}, implements={Functor : {"fmap" : mapB} })
print(fmap(lambda x: x*2, T)) # 'T()'
operators
# Application operator $ as |
@pylu
def f(x):
return x
print( f | (lambda x: x*3) | (lambda x: x+1) | 2) #9
# Function composition . as *
g = (lambda x: x*3) * f * (lambda x: x+1) * (lambda x: x+1)
print(g(2)) #8
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pylude-0.0.8.tar.gz
(11.8 kB
view details)
File details
Details for the file pylude-0.0.8.tar.gz
.
File metadata
- Download URL: pylude-0.0.8.tar.gz
- Upload date:
- Size: 11.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f0a22eca1bc0b15b19c8fddc89739b0ac37ef5954eaaa31ff239f4d33100fc0 |
|
MD5 | 9beafddaa660b0258a78c49570840ede |
|
BLAKE2b-256 | f0c042186f3cf94b24c964990d3d0520ded8bd3cfaeb00acbeed18e8abb3dbf2 |