Off topic:
How hard would it be to build on 
core.logic<https://github.com/clojure/core.logic#corelogic>to do math 
functions? 
-Zack

On Thursday, May 24, 2012 9:30:12 PM UTC-2, Stephen Compall wrote:
>
> On May 24, 2012 8:42 AM, "jlk" <lachlan.kana...@gmail.com> wrote:
> > However the only way I can think of converting the argument list and the 
> function into a function of one argument is with an intermediate function.
>
> Apply is the standard way to listify a function's arguments.  Where f is a 
> function taking n args, (partial apply f) is a function taking (among other 
> disjoint possibilities) one arg being a list of n values.
>
> > (defn -cat
> >   "example math function"
> >   [{:keys [E A alpha t2 t1 W1 W2 g L T1 T2]}]
> >   (- (+ (* E A alpha (- t2 t1)) (/ (* (sq W1) (sq g) (sq L) E A) (* 24.0 
> (sq T1))) T2) T1 (/ (* (sq W2) (sq g) (sq L) E A) (* 24.0 (sq T2)))))
>
> Take a look at (meta #'-cat) in this example; you may find it of use.
>
> > As a side note, being able to define functions in infix would also be 
> nice, but I don't feel up to creating a maths parser and dealing with ASTs, 
> although I can visualise how I might manage the variables using this 
> approach.
>
> If you parse Clojure lists, this reduces to a problem of grouping and 
> flipping back to prefix.
>
> Traversable functors and the writer monad are good choices for collecting 
> vars as you are grouping and flipping, though you perhaps have something 
> else in mind.  The real trouble is discriminating between bound and free 
> vars.
>
> -- 
> Stephen Compall
> Greetings from sunny Appleton!
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to