En/Je/On 2016-10-14 13:19, javier gil javgi...@gmail.com [forth-es] escribió / 
skribis / wrote :

> Lo que no entiendo es por qué no utilizas las capacidades de Forth
> para adaptar esas librerías a tus necesidades. Por ejemplo, en
> cualquier sistema Forth actual podrías escribir una lista de palabras
> que sirviera de interfaz a las librerías externas (y a tus propias
> palabras), de modo que cuando interpretes tu aplicación científica con
> esa lista de palabras en la cima del orden de búsqueda, podrás usar tu
> propia versión del lenguaje, sin ninguna limitación: pila única,
> operadores inteligentes, lo que quieras. ¿Has considerado esta opción?
> ¿Por qué crees que necesitas escribir una implementación propia con
> una variante especializada de Forth en lugar de crear una capa a tu
> medida sobre un sistema Forth moderno, como Gforth u otro?
> 
> > Aunque no entiendo exactamente qué quieres decir, la respuesta más
> > rápida que se me ocurre es ésta: un Forth a mi medida son algo así
> > como 40K, y eso es mucho menos que luchar con librerías externas.
> > Además, si uso Forth uso Forth, no me gusta mezclarlo con otras
> > cosas. Para uso general ya tengo C y para cálculo científico ya
> > tengo Matlab. Y si esas librerías se escriben en Forth, ¿qué ventaja
> > hay?

Lo que quería decir es que tal vez podrías conseguir lo que necesitas
usando Gforth u otro sistema moderno y alguna biblioteca existente (me
refiero a bibliotecas escritas en Forth, nada de C u otros, como Forth
Scientific Library  o Forth Foundation Library), adaptando el  conjunto
a tus necesidades mediante una capa superior de código escrito por ti.
Sobre esa capa final escribirías las aplicaciones científicas y
matemáticas.

Un ejemplo trivial: bastaría redefinir los nombres de los operadores
para que, para tu aplicación, todos los números fueran reales:

  : +  ( r1 r2 -- r3 )  f+  ;

Otra cosa diferente es que quieras escribir un sistema Forth completo
por otros motivos, no solo para escribir esas aplicaciones con él.

-- 
Marcos Cruz
http://programandala.net

Responder a