[racket] 80-bit precision in Racket

From: Dmitry Pavlov (dpavlov at ipa.nw.ru)
Date: Wed Nov 14 09:32:04 EST 2012

Eric, Hugh,

OOP surely is not what we chose Racket for.
This can lead to a lengthy discussion about the definitions of OOP,
level of support of OOP in Racket according to those definitions,
usefulness of OOP for different kinds of tasks, etc. I think we
better skip the whole OOP topic here.

We are not merely integrating orbits. Our project is a large
program, which has its own DSL, certain procedures for
data manipulation, much logic etc. That is written in Racket,
does not suffer from numerical or performance problems, and
is not going to be rewritten in C/Fortran/Forth/etc.

Integration of orbits is a part of the program, so if we chose
to implement it in another language, we have to connect that
language to Racket. This can be very well done for C; maybe
Fortran, too.

If we chose to rewrite the integrator in Forth, we need to:
(1) Learn how to program in Forth
(2) Learn how to connect Forth to Racket
that seems to be quite a job, and I do not currently see
why Forth is better than C for the purpose. C language
and its preprocessor is good enough for pure numeric tasks.

Anyway, what I am currently trying to achieve is to
avoid the whole "binding to second language" problem.
Yes, worrying about "what type each datum is" is no fun,
but it is better than having two languages instead of one.
Also, we have all the power of Racket's macros to make
"type-aware" code simple and pretty.


Best regards,

Dmitry

Posted on the users mailing list.