Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > comp.lang.forth > #23705
| From | anton@mips.complang.tuwien.ac.at (Anton Ertl) |
|---|---|
| Newsgroups | comp.lang.forth |
| Subject | Re: jonesforth: taking up the challenge |
| Date | 2013-06-17 16:19 +0000 |
| Organization | Institut fuer Computersprachen, Technische Universitaet Wien |
| Message-ID | <2013Jun17.181907@mips.complang.tuwien.ac.at> (permalink) |
| References | (3 earlier) <7xfvwund59.fsf@ruckus.brouhaha.com> <2013Jun11.165956@mips.complang.tuwien.ac.at> <7xehc83xx2.fsf@ruckus.brouhaha.com> <2013Jun12.171604@mips.complang.tuwien.ac.at> <7xppvn880t.fsf@ruckus.brouhaha.com> |
Paul Rubin <no.email@nospam.invalid> writes:
>anton@mips.complang.tuwien.ac.at (Anton Ertl) writes:
>> No, that's not necessary, because the goal is to understand the
>> implementation of Forth, not the implementation of the assembler.
>> This approach takes the "mere user" attitude towards assembly
>> language, but the implementor attitude towards Forth.
>
>If understanding Forth doesn't involve understanding the underlying
>tools, then as a "mere user" why pick something as messy as assembler,
>instead of something like Ruby?
It's useful to understand assembly language for understanding both
Forth-in-Forth and for understanding Forth-in-assembly. It's not very
useful for that purpose to understand the *implementation* of the
assembler.
>> CODE performs quite a bit of magic, in particular building dictionary
>> entries, that is explicit in assmbly language. For modification
>> automagics is better, for first understanding explicit is better.
>
>It's possible that you're referring to something I don't understand. I
>had thought CODE is basically like : (colon), i.e. it does a CREATE then
>flips a state variable to assemble code until something like ENDCODE is
>seen, but the created dictionary entry maybe has some bits set to
>indicate that it's a code word, and also CODE may switch in an
>assembler-specific word list. Is there more than that?
Someone who does not know Forth does not know what CREATE does. Also,
even if they know Forth, they may have no idea how the dictionary is
implemented.
>> I don't think the mathematical concepts they learn in school are much
>> help in learning to program.
>
>You mean like functions? Of course that seems useful.
It still does not help much.
>I think of addresses as a relatively advanced concept in programming
>these days. One can be a productive Ruby programmer without knowing
>what an address is.
Maybe, but we are at the start of a computer science program, not a
Ruby programmer course.
>> But the point of something like JonesForth is not an introduction to
>> programming, but an introduction to programming language
>> implementation (especially if you don't feel like teaching scanning
>> and parsing).
>
>JonesForth or any Forth seems like a terrible introduction to
>programming language implementation, since Forth is relatively exotic
>language.
The implementation techniques are similar to those of other languages,
though. And they are reduced to the essentials. E.g., how do you
implement an IF...ENDIF construct? Just the same as in most other
languages, but much simpler to implement. How are calls and returns
implemented? Also similar, with Forth being simpler. Symbol table?
Likewise.
Ok, if you want to study parsing or type checking, you don't study
Forth, but if don't know anything about language implementation yet,
you probably don't want to be confronted with everything at once.
Many textbooks (and the compiler course I teach) start with scanning
and parsing, but if you are more interested in generating running
code, you may not want to start there.
- anton
--
M. Anton Ertl http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
New standard: http://www.forth200x.org/forth200x.html
EuroForth 2013: http://www.euroforth.org/ef13/
Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-06 15:37 -0500
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-06 13:49 -0700
Re: jonesforth: taking up the challenge "Ed" <invalid@invalid.com> - 2013-06-07 12:32 +1000
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-07 14:36 +0000
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-07 08:39 -0700
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-07 17:04 +0000
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-07 11:19 -0700
Re: jonesforth: taking up the challenge "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-06-07 17:24 -0400
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-07 23:04 +0000
Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-11 14:59 +0000
Re: jonesforth: taking up the challenge Bill Richards <billrich@gmx.com> - 2013-06-11 16:09 +0000
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-12 08:08 -0500
Re: jonesforth: taking up the challenge Bill Richards <billrich@gmx.com> - 2013-06-12 13:52 +0000
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-12 14:17 -0500
Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-13 08:24 +0000
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-12 14:18 +0000
Re: jonesforth: taking up the challenge Bill Richards <billrich@gmx.com> - 2013-06-12 15:05 +0000
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-13 01:40 +0000
Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-13 08:55 +0200
Re: jonesforth: taking up the challenge "Elizabeth D. Rather" <erather@forth.com> - 2013-06-12 21:05 -1000
Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-13 10:49 +0200
Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-13 08:55 +0000
Re: jonesforth: taking up the challenge Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-13 14:33 +0200
Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-13 13:14 +0000
Re: jonesforth: taking up the challenge Bill Richards <billrich@gmx.com> - 2013-06-13 18:33 +0000
Re: jonesforth: taking up the challenge Mark Wills <markrobertwills@yahoo.co.uk> - 2013-06-14 01:25 -0700
Re: jonesforth: taking up the challenge rickman <gnuarm@gmail.com> - 2013-06-15 12:00 -0400
Re: jonesforth: taking up the challenge Mark Wills <markrobertwills@yahoo.co.uk> - 2013-06-15 14:35 -0700
Re: jonesforth: taking up the challenge rickman <gnuarm@gmail.com> - 2013-06-15 19:29 -0400
Re: jonesforth: taking up the challenge Mark Wills <markrobertwills@yahoo.co.uk> - 2013-06-17 03:31 -0700
Re: jonesforth: taking up the challenge rickman <gnuarm@gmail.com> - 2013-06-17 19:16 -0400
Re: jonesforth: taking up the challenge rickman <gnuarm@gmail.com> - 2013-06-15 11:58 -0400
Re: jonesforth: taking up the challenge Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-11 18:32 +0200
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-11 10:33 -0700
Re: jonesforth: taking up the challenge Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2013-06-11 20:42 +0100
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-12 00:20 -0700
Re: jonesforth: taking up the challenge Mark Wills <markrobertwills@yahoo.co.uk> - 2013-06-12 01:29 -0700
Re: jonesforth: taking up the challenge Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-12 19:52 +0200
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-12 14:19 -0500
Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-13 08:47 +0000
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-13 07:45 -0500
Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-13 13:04 +0000
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-14 21:32 -0700
Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-17 17:15 +0000
Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-20 09:42 +0200
Re: jonesforth: taking up the challenge "Elizabeth D. Rather" <erather@forth.com> - 2013-06-19 21:52 -1000
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-16 10:01 -0500
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-16 14:14 -0700
Re: jonesforth: taking up the challenge Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-16 23:58 +0200
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-16 23:17 -0700
Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-17 16:00 +0000
Re: jonesforth: taking up the challenge Elizabeth D Rather <erather@forth.com> - 2013-06-17 08:05 -1000
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-17 19:33 +0000
Re: jonesforth: taking up the challenge Gerry Jackson <spam@qlikz.org> - 2013-06-17 21:23 +0100
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-12 22:58 -0700
Re: jonesforth: taking up the challenge "Elizabeth D. Rather" <erather@forth.com> - 2013-06-12 20:48 -1000
Re: jonesforth: taking up the challenge rickman <gnuarm@gmail.com> - 2013-06-15 12:05 -0400
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-13 10:39 +0000
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-11 18:44 -0700
Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-12 15:16 +0000
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-15 12:54 -0700
Re: jonesforth: taking up the challenge "Elizabeth D. Rather" <erather@forth.com> - 2013-06-15 11:05 -1000
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-15 14:21 -0700
Re: jonesforth: taking up the challenge Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-15 23:06 +0200
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-15 14:56 -0700
Re: jonesforth: taking up the challenge Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-16 00:33 +0200
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-15 16:47 -0700
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-16 09:45 -0500
Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-17 16:19 +0000
Re: jonesforth: taking up the challenge Alex McDonald <blog@rivadpm.com> - 2013-06-17 11:51 -0700
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-18 00:31 -0700
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-18 00:33 -0700
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-18 00:46 -0700
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-18 04:11 -0500
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-18 23:51 -0700
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-19 04:32 -0500
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-19 02:42 -0700
Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-19 12:08 +0200
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-19 09:25 -0700
Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-19 19:10 +0200
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-20 17:08 -0700
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-19 09:04 -0500
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-19 09:26 -0700
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-07 16:45 -0500
csiph-web