Lately I've been wondering if it'd be possible to do a dwarven CMOS. In theory, it could have the same benefits as CMOS, using only pressure differentials (pumps) to move water up a single z-level, without requiring any current (i.e., flow into a drain). Might work on a map with no infinite water source, only murky pools and rain.
That's like what I've been experimenting with, I've got a repeater that's a four pumps in a circle and just circulates one 7/7 chunk of water around and around... and a theoretical repeater that's two stacked pumps(seperated by floors so they don't power each other... have not built a prototype yet) I havn't hooked my existing pump up to anything (U-spike trap, bridge, what have you) yet to see if it's too fast to actually be useful yet for standard fort defence.
Draw back is that, though gears toggle immediately when a pressure plate triggers and give very fast response times, they require a lot of power; my theoretical design:
###### z+0
#.%%.#
##|###
#>**##
--
###### z-1
#^%%.#
#D#|##
#<+*##
the top pump's gear is disengaged via lever, top and bottom pump's gears both connected to the pressure plate; since gears toggle, when the system is engaged, the lower pump moves the chunk of water to the pressure plate, the plate triggers, the upper pump moves the water and drops it to the collection point of the power pump.... which is currently inactive, and will remain so until the pressure plate untriggers in 100 steps. If you disengage the main power gear, there's 100 chances the water will be in the resevoir, and 1 chance it will be on the trigger, so maintainance(read, adding traps to the plate) is fairly simple. With my other design, the pumps before and after the pressure plate are toggled by it and the other two pumps are always on, so the speed is the same, but the power requirements are larger(but you can do more stupid dorf tricks with it, like making the water stay on every square for 100 steps using alternating 0/7 water and 7/7 plates and each trigger connect to a different set of traps that will then fire in sequence). With the two pump setup, you can probably safely connect the resevoir to an infinite water source, but that would probably be a bad idea with the four square one unless you like soggy dorfs.
My idea is to use the four square design(or an expanded design with more squares) for a clock signal and the two pump repeater design for display output... all the guts in between...