2010-03-13 7 views
19

Quiero comenzar a aprender Forth (como en la pregunta relacionada sobre desbordamiento de pila Is it practical to learn and use Forth?). Veo que hay many implementations. Me gustaría utilizar una versión compatible¿Qué implementación de Forth usará para aprender Forth?

  • ANS 1994 (si es razonable, pero si se sigue la norma podría ser bueno)
  • pequeña y compacta aplicación, no quiero un sistema operativo completo.
  • de Windows
  • fácil de usar, que soy nuevo en Forth ;-)

Qué aplicación particular, se puede recomendar?

+0

Algunos cursos universitarios utilizan gforth (http://www.complang.tuwien.ac.at/forth/gforth /) que también es bueno para empezar. –

+0

La pregunta "* ¿es práctico aprender y usar Forth? *" Lamentablemente se ha eliminado. Si el OP o alguien con una reputación de 10k (necesario para ver las publicaciones borradas) puede acceder a esta publicación y guardarla en caché/guardarla en algún lugar, sería genial, parece que hubiera sido una pregunta interesante (aunque reconozco su falta de validez/idoneidad para ASI QUE). –

Respuesta

11

Win32Forth es realmente fantástico, como se mencionó anteriormente.Tiene un buen entorno de desarrollo integrado y es una implementación bastante moderna que parece coincidir muy bien con los estándares, además de incluir algunas características más experimentales pero ampliamente aceptadas.

Uso Gforth, pero también uso Vim para editar archivos fuente. :) Gforth es bueno y "clásico" en cuanto a las características que admite. Le da una experiencia Forth muy "vieja escuela" sin ser excesivamente peculiar de usar. (Algunos Forth libres hacen cosas raras con sus líneas de comando y tal; utilizo el "Starting Forth" de Brodie como el modelo de cómo debe comportarse un intérprete Forth.)

Miré SwiftForth, que es un muy buen "high tech" "Forth sistema que va mucho más allá de lo que ofrece el clásico Forths en términos de características del lenguaje y realmente lleva a Forth al mundo de la programación moderna. Si realmente quiere hacer programas Forth profesionalmente, SwiftForth parece que puede manejar casi cualquier cosa que quiera hacer con él.

+0

Sí, es probablemente el mejor para comenzar. El (tipo de) IDE tiene coloreado de sintaxis y WinForth ejecutó casi todo mi código desarrollado con gforth (en algún curso). La ayuda y el índice de palabras son un poco crudos, pero útiles, sin embargo. –

7

Hace un tiempo evalué 4tH, una implementación de Forth. Creo que cumple todos los requisitos de . Por ejemplo, el compilador tiene solo 61 KB. También hay soporte completo para números flotantes, importante si desea intente utilizarlo para fines técnicos/científicos.

4ª ejecuta en la mayoría de sistemas operativos, incluyendo MS-DOS, MS Windows (ambos de 16 bits y 32 bits), Linux, Coherent, AIX, SunOS, BOS, BSD, Mac OS X, BeOS, RISC OS, etc. Download (Windows installer, 1.5 MB, incluye el manual). Manual (PDF, 1.1 MB).

Hay una comunidad activa centrada en el Grupo de Google 4tH-compiler. Por ejemplo, hoy recibí dos mensajes.

Tenga en cuenta que en 4tH no puede definir sus propias palabras de definición (palabras que se ejecutan en tiempo de compilación). Esta no es una limitación grave de , a menos que desee cubrir las características avanzadas de Forth.


para que pueda empezar (ya que esto no está muy claro en el manual o la compilación interactiva), después de la instalación copiar el compilador, 4th.exe, a una carpeta vacía, hacer dos archivos en este directorio, HelloWorld.bat y HelloWorld.4th y ejecutar HelloWorld.bat:

HelloWorld.bat:

4th.exe cx HelloWorld.4th 
    pause 

HelloWorld.4th:

: hello ." Hello from XYZ!" cr cr ; 
    hello 
+0

Eché un vistazo. 4 definitivamente suena bien. Voy a darle una oportunidad. –

+0

Lo probé. Aunque parece cumplir con ANS, no pude hacer que funcionara tan fácilmente como WinForth o gforth. La documentación no está clara si se trata de un avance real o simplemente algo similar a Forth desarrollado a partir de una calculadora de posfijo. –

1

Win32Forth funcionó bien para mí.

+0

parece tener una comunidad más grande que la 4ta. gracias, lo comprobaré también. –

2

SwiftForth. No es autoconscientemente pequeño y compacto; simplemente sucede que es. Es fácil de usar (LOCATE WH EDIT, una PALABRA más agradable que la habitual), viene con dos libros y tiene una excelente lista de correo con más de una década de archivos. La versión de evaluación no le permitirá compilar aplicaciones llave en mano o DLL; todavía proporciona una excelente consola para un alumno y puede admitir scripts de la forma habitual. ejemplos rápidos Windows:

: sleep-monitor (--) 
    HWND_BROADCAST WM_SYSCOMMAND SC_MONITORPOWER 2 SendMessage drop ; 


library dnsapi.dll 
(... DLL imports, constants ...) 
variable results 
: DnsQuery (z -- res) 
    DNS_TYPE_A 0 NULL results NULL DnsQuery_UTF8 ; 

: resolves? (z -- f) 
    DnsQuery if false exit then 
    results @ DnsRecordListFree true ; 


\ an example use of the dialog compiler 
\ this compiled DSL is an example of something that 4th 
\ precludes with its "not ... serious limitation" 
DIALOG (HELLO-ABOUT) 
[MODELESS " About Hello" 10 10 120 70 
    (FONT 8, MS Sans Serif) ] 
\ [class   text      id x y sx xy ] 

    [CTEXT   " HELLO"     -1 10 10 100 10 ] 
    [CTEXT   " (C) 1997 Forth, Inc."  -1 10 25 100 10 ] 
    [CTEXT   " http://www.forth.com"  -1 10 35 100 10 ] 
    [DEFPUSHBUTTON " OK"      IDOK 35 50 50 14 ] 
END-DIALOG 
+0

Eso claramente NO es un FORTH basado en pantalla, y vi demasiado código de secuencia de ejecución de la corriente de conciencia en D85, que tampoco estaba basado en pantalla. –

2

Me doy cuenta de que es posible que no cumplan con todos sus requisitos, pero los siguientes lenguajes de Forth también pueden interesarle desde una perspectiva de aprendizaje.

Además, he encontrado el blog Re-Factor ser una buena introducción al factor.

2

Si puede encontrar una copia del antiguo polyFORTH de FORTH Inc, y un antiguo x86 que puede ejecutarlo, este es el lenguaje utilizado en el original "Starting FORTH" de Leo Brodie. Es un FORTH limpio y muy robusto.

+1

Los creadores de polyFORTH, [Forth, Inc.] (http://forth.com) todavía están alrededor ... – Mei

+0

Y en lugar de un antiguo x86, podría usar [DOSBox x86 emulator] (http: //www.dosbox .com/download.php? main = 1) que se ejecuta en la mayoría de las máquinas modernas de Windows. Lo he usado con éxito en WinXP y Win7. –

0

Descargar Gforth para PC y Android.

jugar con él usándolo como una calculadora, para resolver problemas sencillos, de Fibonacci, la solución del abc cuadrática, etc.

Cuestiones relacionadas