2010-03-13 14 views
19

Voglio iniziare l'apprendimento Forth (come nella relativa domanda Overflow dello stack Is it practical to learn and use Forth?). Vedo che ci sono many implementations. Vorrei utilizzare una versione compatibileQuale implementazione di Forth usare per l'apprendimento di Forth?

  • ANS 1994 (se ragionevole, ma attaccare la norma potrebbe essere buono)
  • piccolo e compatto implementazione, non voglio un sistema operativo completo.
  • di Windows
  • facile da usare, io sono nuovo di Forth ;-)

Cosa implementazione particolare può essere raccomandato?

+0

Alcuni corsi universitari utilizzano gforth (http://www.complang.tuwien.ac.at/forth/gforth /) che è buono per iniziare pure. –

+0

La domanda "* è pratico imparare e usare Forth? *" È stata purtroppo cancellata. Se l'OP o qualcuno con la reputazione di 10k (necessaria per visualizzare i post eliminati) può accedere a questo post e salvarlo/salvarlo da qualche parte, sarebbe fantastico - sembra che sarebbe stata una domanda interessante (anche se riconosco la sua offuscatezza/inadeguatezza per COSÌ). –

risposta

11

Win32Forth è davvero fantastico, come già detto.Ha un buon ambiente di sviluppo integrato ed è un'implementazione piuttosto moderna che sembra adattarsi molto bene agli standard e include alcune funzionalità più sperimentali ma ampiamente accettate.

Io uso Gforth, ma uso anche Vim per modificare i file di origine. :) Gforth è buono e "classico" per quanto riguarda le funzionalità che supporta. Ti dà un'esperienza molto "vecchia scuola" Forth senza essere eccessivamente bizzarra da usare. (Alcuni Forth liberi fanno cose strane con le loro linee di comando e simili - Io uso "Starting Forth" di Brodie come modello di come dovrebbe comportarsi un interprete Forth.)

Ho guardato su SwiftForth, che è un "high tech" molto bello "Un sistema che va ben al di là di quello che i classici Forth offrono in termini di funzionalità linguistiche e porta davvero Forth nel mondo della programmazione moderna. Se vuoi veramente fare programmi Forth professionalmente, SwiftForth sembra che possa gestire qualsiasi cosa tu voglia fare con esso.

+0

Sì, propably il migliore per iniziare. Il (tipo di) IDE ha la colorazione della sintassi e WinForth ha eseguito quasi tutto il mio codice sviluppato con gforth (in alcuni casi). L'aiuto e l'indice delle parole sono un po 'grezzi, ma comunque utili. –

7

Qualche tempo fa ho valutato 4tH, un'implementazione di Forth. Penso che soddisfi tutti i requisiti . Ad esempio il compilatore è solo 61 KB. È inoltre disponibile il supporto completo per i numeri in virgola mobile, importante se si desidera che lo provi a utilizzarlo per scopi tecnici/scientifici.

4 ° gira sulla maggior parte dei sistemi operativi, tra cui MS-DOS, MS-Windows (sia a 16 bit e 32 bit), Linux, Coherent, AIX, SunOS, BOS, BSD, Mac OS X, BeOS, RISC OS, etc. Download (Windows Installer, 1,5 MB, include il manuale). Manual (PDF, 1,1 MB).

C'è una community attiva centrata sul Gruppo Google 4tH-compiler. Ad esempio oggi ho ricevuto due messaggi.

Si noti che in 4tH non è possibile definire le parole di definizione (parole eseguite al momento della compilazione). Questa non è una limitazione seria , a meno che non si vogliano coprire le funzionalità avanzate di Forth.


per iniziare (come questo non è molto chiaro dal manuale o la compilazione interattivo), dopo l'installazione copiare il compilatore, 4th.exe, in una cartella vuota, fare due file in questa directory, HelloWorld.bat e HelloWorld.4th , ed eseguire HelloWorld.bat:

HelloWorld.bat:

4th.exe cx HelloWorld.4th 
    pause 

HelloWorld.4th:

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

Ho dato un'occhiata. Il 4 ° suona decisamente bene. Farò un tentativo. –

+0

L'ho provato. Sebbene sembri ANS compatibile, non ho potuto farlo funzionare facilmente come WinForth o gforth. La documentazione non è chiara se è un vero Forth o qualcosa di simile a Forth sviluppato da un calcolatore postfisso. –

1

Win32Forth ha funzionato bene per me.

+0

sembra avere una community più grande della 4a. grazie, lo controllerò anch'io. –

2

SwiftForth. Non è autocoscientemente piccolo e compatto; sembra proprio di essere. È facile da usare (LOCATE WH EDIT, una parola più gentile del solito), ha due libri e una eccellente mailing list con oltre un decennio di archivi. La versione di valutazione non ti consente di compilare app o DLL chiavi in ​​mano; fornisce ancora un'eccellente console per uno studente e può supportare script nei soliti modi. Esempi di Windows rapido:

: 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

Che chiaramente NON è un FORTH basato sullo schermo, e ho visto troppo codice run-on stream of of consciousness in D85, che non era neanche basato sullo schermo. –

2

Mi rendo conto che potrebbero non soddisfare tutti i requisiti, ma le seguenti lingue simili a Forth potrebbero interessarti anche da una prospettiva di apprendimento.

Inoltre, ho trovato il blog Re-Factor di essere una buona introduzione al Factor.

2

Se si riesce a trovare una copia di FORTH vecchia polyFORTH Inc, e un vecchio 86 che può essere eseguito, questo è il linguaggio usato nella Leo Brodie originale "Avvio AVANTI". È un FORTH pulito e molto robusto.

+1

I creatori di polyFORTH, [Forth, Inc.] (http://forth.com) sono ancora in circolazione ... – Mei

+0

E invece di un vecchio x86 si poteva usare [DOSBox x86 emulator] (http: //www.dosbox .com/download.php? main = 1) che funziona sulla maggior parte delle macchine Windows moderne - l'ho usato con successo con WinXP e Win7. –

0

Download Gforth per PC e Android.

Tinker con esso usando come una calcolatrice, risolvere problemi semplici, Fibonacci, risolvendo l'abc quadratica, ecc

Problemi correlati