Hi Dmitry,

> You may remember me from this topic:
> https://groups.google.com/forum/#!topic/racket-users/E6utg2Pv5hA where
> I looked for a scientific language and a tool for code generation.

Yes, I remember!

> Leibniz seems to be very general. Is generation of (C or other) code
> from Leibniz one of the goals of the project?

Not directly, but indirectly, yes.

Leibniz is a notation, not a computational tool. The immediate goal of
the Leibniz project, in terms of computation, ends at the generation of
machine-readable XML representations of Leibniz data.

This will of course be useful to scientists only if there are tools that
actually read this data and do something useful with it. Code generation
tools would be particularly nice to have. Unfortunately it's also one of
most difficult tasks (if you care about efficiency), and I am not
particularly competent in this (I am a physicist). So I hope someone
else will take up this challenge.

My own plans for Leibniz-aware tools are more modest: I want to use
equations and algorithms written in Leibniz in unit tests for
computational software that implements the same algorithms. The
human-readable Leibniz documents are then verifiable documentation
for hand-written optimized software.

> Regarding the plans of future development of Leibniz, my humble
> opinion is that the "express algorithms" part is very important for,
> um, production use. Also, vectors and matrices.

Vectors and matrices are high up on my to-do list. You can implement
them right now as Lisp-style lists made of cons operators, but I don't
expect computational scientists to be enthusiastic about such low-level
approaches.

> As an example, I would love to see (or be able to write) an equation
> for gravitational N-body problem (with arbitrary N) in Leibniz.

I had this as an example in an earlier prototype:

  
https://github.com/khinsen/leibniz/blob/fb4868519709794ad59e64cab547621c4b5a9a02/examples/mechanics/solar-system.rkt

Since then, nothing but syntax has changed in Leibniz, so this still
gives a good idea of how to proceed. Note that it does construct the
list of bodies with cons operators, and implements pair-wise addition
via recursion, so it's not yet at the level I hope to reach.

- Konrad.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to