This script allows to make array of objects on the curve. You can animate the form of the curve. Expression animation can be edited for each object (see expression editor). You can use some hidden attributes like a function (see expression editor) and axisRotate.
The base object can be substituted. Curve form can be edited and animated. Curve profile can be used instead of the instancer to build a loft. You can use an array as an instancer for other array and animate both arrays. You can use more than one object as an instancer placing these objects as a sequence or randomly. Such parameters as increment, offset, random can be adjusted and animated for scale, rotation and position. You can also adjust and animate twist and moving of the array on the curve.