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
|