def show(package): _.require(package, _debug=True) observer = midash._debug_mixin_observer[_] print('package {}: {} defines in TopLevel'.format(package, len(observer))) print('-----------------------') for m in sorted(observer, key=lambda m: m.name): print('{:15s} {}'.format(m.name, m.shortdesc[:60]))
def __init__(self, package): import midash from midash import _ self.methods = {} _.require(package, _debug=True) for methods in midash._debug_mixin_observer.values(): for method in methods: self.methods[method.name] = method
from midash import _ _.localize() _.require('testmi2') _.require('functions') _.require('compose') _.require('iterators') _.require('globalapi') _.methods(0) # print(ARG3) # print(len(_.__dict__.keys()))
from midash import _ _.localize() _.require('lambda') _.require('lang') import sys as _sys composer = composeWith(_sys.modules[__name__]) MAXSIZE = _sys.maxsize def _createArrayTriple(array): i = 0 for v in array: yield v, i, None i += 1 def _createObjectTriple(obj): for k, v in obj.items(): yield v, k, None def triplize(obj): """ >>> list(triplize([10, 20])) [(10, 0, None), (20, 1, None)] >>> list(triplize(triplize([10, 20]))) [(10, 0, None), (20, 1, None)] >>> list(sorted(triplize({5:10, 6:20}))) [(10, 5, None), (20, 6, None)] """ if hasattr(obj, '__next__') or hasattr(obj, 'next'):
def _it_setup(number=10000, inner=50, size=50): from midash import _ _.require('iterators') _.require('_faster_iter') return (inner, _, [_.triplize(tuple(range(size))) for i in range(number)])
from midash import _ _.require('lang') none = _.none import operator from collections import namedtuple as _namedtuple _CacheInfo = _namedtuple("CacheInfo", ["hits", "misses", "currsize"]) class _HashedSeq(list): """ This class guarantees that hash() will be called no more than once per element. This is important because the lru_cache() will hash the key multiple times on a cache miss. """ __slots__ = 'hashvalue' def __init__(self, tup, hash=hash): self[:] = tup self.hashvalue = hash(tup) def __hash__(self): return self.hashvalue def memoize(user_function, _CacheInfo=_CacheInfo): cache = {} hits = misses = 0 cache_get = cache.get # bound method to lookup a key or return None def wrapper(*args):