On 1 November 2010 17:18, Anton Kholomiov <[email protected]> wrote:
> Temporal class > > Temporal class is something like timed Maybe. 'dur' takes measurement and > 'none' stands for Nothing that lasts for some time t. It's rest for music or > black screen for movie. Yes the the Temporal class is in Paul Hudak's research report RR-1259, its a while since I've read it and I missed that it was already defined. > Stretchable > > it looks like, but to define scalar multiplication in vector space you have > to define (+). And there are rules. > forall k, v : (k) `smul` v + (-k) `smul` v === 0 > I can't find meaningful (smul, +) for Media. Semantically 'stretch (-k)' - > may be stretch and reverse. But what is (+)? Good point - I hadn't thought of the other parts of a vector space. Stretching doesn't seem to be considered as a type class in RR-1259 though it is considered as an operation on specific types. Another possiblity is to consider you have a one-dimensional geometry: Stretch then is scale - negative scaling is a reflection and (abs) scaling. Translate is shifting start times. Rotate is problemmatic, I think because you have no Y dimensions all you can do with a rotation is a reflection. Its not a probably not a valuable operation here anyway. Relection is reverse. I don't think there's a notion of shearing as you only have one dimension. Now with reverse as reflection I think you get fairly good sematics for reverse - but it does mean that music might start before t=0. Geometers don't much care where things are in relation to the origin they just make sure the viewport is large enough to show everything. However, you might find this unacceptable for music / events streams. Pictorially, assuming a fixed with font... (t) is treble, (b) is bass, (+) is the origin t=0: +tttt bbbb tttt+ bbbb This also takes things away from Paul Hudak's Media type where, for me at least, "concatenation" either vertically or horizontally is primary to the Media type. In a geometric view, drawing with respect to an initial coordinate (which here is the onset time) is primary. _______________________________________________ haskell-art mailing list [email protected] http://lists.lurk.org/mailman/listinfo/haskell-art
