Utility modules for Python, including functional programming support, lazy expressions and data structures, and thread pools.
Be the first to post a text review of Xoltar Toolkit. Rate and review a project by clicking thumbs up or thumbs down in the right column.
Changes for this version are in the release notes. For historical changes, please see the text files included in the distribution.
I'm happy to announce the availability of the June 2001 release of the Xoltar Toolkit. New in this release: Functional.py - support for functional programming in Python - version 1.1 Lazy.py - support for lazy expressions and lazy lists (tuples) - version 0.8 Thanks to Dr. David Mertz for his kind words in his discussion of functional programming in Python, with mention of the Xoltar Toolkit: http://www-106.ibm.com/developerworks/library/l-prog.html http://www-106.ibm.com/developerworks/linux/library/l-prog2.html Thanks to Ben Wolfson and Stephen Cleary for patches, bug reports, and suggestions. The Xoltar Toolkit is free software, released under the GNU LGPL, and may be obtained from: http://www.sourceforge.net/projects/xoltar-toolkit Comments are always welcome, please direct to: xoltar@starship.python.net Xoltar Toolkit (June 2001) contains: functional.py version 1.1 threadpool.py version 1.0.1 lazy.py version 0.8 Functional.py provides support for a functional style of Python programming. It includes support for closures, curried functions, many higher order functions for composing, joining or otherwise manipulating functions and other callables. Lazy.py provides support for lazy expressions, lazy tuples (functional programming languages call these lazy lists, but since lists are mutable in Python, tuples are closer in meaning), and lazy equivalents for map, filter, reduce, and zip. Threadpool.py uses the threading and Queue modules to create a pool of reusable threads. After creating an instance of ThreadPool, one queues functions to be executed. The pool dispatches the functions to the waiting threads, which call them. Also includes conveniences for locking. Detailed changes for this version of functional.py: 06/01/2001 - Version 1.1 Thanks to Ben Wolfson for a patch to compose(), which became applycompose() Belated thanks to Dr. David Mertz for his suggestion for the Bindings class. Note: Due to the changes in nested scoping, functional.py requires either a version of Python earlier than 2.1, or nested scopes should be enabled. Under the latter scenario, closure() is the identity function, since every nested function is a closure. New Features: Added operators for Functor, and wrap(), which wraps a function in a Functor, to enable those same operators... The operators are: f * g == compose(f, g) f & g == conjoin(f, g) f | g == disjoin(f, g) f + g == also(f, g) f << a == curry(f, a) Added do(), which can be used to express sequential actions in lambdas, dispatch(), which is a functional shorthand for object-oriented method lookup. Also, added applycompose, a version of compose which unpacks tuples before calling the next function in line (patch from Ben Wolfson) Detailed changes for Lazy.py: 06/01/01 - Version 0.8: Thanks to Steven Cleary for bug reports and suggestions. Changed class hierarchy as follows: LazyExpr / Lazy---| LazyTuple \ / LazySequence -- \ LazySlice Several bugs were fixed, and the difference between (possibly) infinite sequences and sequences which are known to terminate, but at an unknown length is now explicit. As a result of changing the class hierarchy, LazyTuple now takes far fewer constructor arguments. Change to PyUnit for testing.
Be the first person to add a text review.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?