From: Joel Young (jdy_at_[hidden])
Date: 2003-08-17 21:20:11


From: Brian McNamara <lorgon_at_[hidden]>
> A question I should I asked before: why were you using FC++ in the
> first place? (That sounds too accusatory. :) ) What feature(s)
> motivated its use? Can you give an example of a "linear algebra
> pipeline" that you might want to express as a functoid (or something)?
> I'm afraid I don't have a good enough sense of the domain and what FC++
> features you wanted; there may be some useful solution along a
> completely different path...

This was more than a year ago so I am rebuilding from memory.

Why FC++

I found myself writing some codes where I wanted to perform a
set of linear algebra operations on some vectors such as

cosine_angle((normalize(sum_into(vec_a, scale(new_data_vec_a,5))),normalize(sum_into(vec_b,new_data_vec_b)))

which would return a double and lots of side effects from 4 vector
arguments. This is just from memory tho.

and I got very tired of writing new function objects every time I wanted
to change something a little bit. I wanted to be able to write these
equations inline to be used by my other algorithms as functions.

> completely different path

Surely there are many :-) I ended up deciding that it wasn't important
and just had a function object with a switch statement selecting one of
a bunch of different such "pipelines", so when I wanted to use a new one
I'd just add it to the switch. very elegant ;-)

Meanwhile my officemate would be blabbing about monads and continuations
and things like that...

Joel