Intersecting number wheels: Difference between revisions
Content added Content deleted
m (→Python: Functional composition: Tidying and pruning) |
|||
Line 1,118: | Line 1,118: | ||
digit found by recursive descent from a single |
digit found by recursive descent from a single |
||
click of the first wheel.''' |
click of the first wheel.''' |
||
def click(wheels |
def click(wheels): |
||
def go(wheelName): |
|||
wheel = wheels.get(wheelName, ['?']) |
|||
v = wheel[0] |
|||
⚫ | |||
insertDict( |
insertDict(wheelName)(leftRotate(wheel))(wheels) |
||
)(v) |
)(v) |
||
⚫ | |||
return lambda name: go(name) |
|||
⚫ | |||
Line 1,183: | Line 1,185: | ||
''' |
''' |
||
return lambda _: k |
return lambda _: k |
||
# curry :: ((a, b) -> c) -> a -> b -> c |
|||
def curry(f): |
|||
'''A curried function derived |
|||
from an uncurried function. |
|||
''' |
|||
return lambda x: lambda y: f(x, y) |
|||
Line 1,201: | Line 1,195: | ||
return dup |
return dup |
||
return lambda v: lambda dct: go(v, dct) |
return lambda v: lambda dct: go(v, dct) |
||
# isDigit :: Char -> Bool |
|||
def isDigit(c): |
|||
'''True if the character c is a digit.''' |
|||
⚫ | |||