Path: csiph.com!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Paul Rubin Newsgroups: comp.lang.forth Subject: Re: Stoked Date: Wed, 11 Nov 2015 23:34:42 -0800 Organization: A noiseless patient Spider Lines: 83 Message-ID: <876117r7ql.fsf@nightsong.com> References: <87egg1wu31.fsf@nightsong.com> <87a8qpwl3x.fsf@nightsong.com> <87611dwio9.fsf@nightsong.com> <871tc1wg1b.fsf@nightsong.com> <87pozluhfj.fsf@nightsong.com> <87lha9ufhc.fsf@nightsong.com> <878u68vngr.fsf@nightsong.com> <87mvuotbz3.fsf@nightsong.com> <87fv0brfdl.fsf@nightsong.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="1a9f5856d25720e42c135b990c70bebb"; logging-data="19371"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19W4uOEF7afd8zyjjcewq54" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Cancel-Lock: sha1:Ls+w07jPmmRPof+EGXoW/zl0BZY= sha1:NtB2wdymPKkR8mwDogOvcaneRIk= Xref: csiph.com comp.lang.forth:43492 rickman writes: >> F83 and Polyforth, very traditional. > There is a reason why blocks are barely used these days. Well ok, a simple file system is easy to implement and doesn't take much code. I've done it several times--it's not a big deal. > The real issue is the myriad of support a PC provides.. How many times > have people tried to boot one of the various native forths only to > find they don't have the requisite hardware or that the forth doesn't > support some hardware they wish to use? That's because a PC is a complicated device with a lot of hardware that simpler systems don't deal with. I don't imagine this on a PC but rather on an MCU or something like a Launchpad board. There just wouldn't be all that extra stuff from multiple vendors, no CD burner or desktop scanner, etc. > "Appeal" is the part I don't get. It may be possible to implement a > forth that can compile source from local flash, but where is the > advantage? The same PC connection that lets you use it as a terminal > can just as easily provide a full set of functions. What if there's no PC? You might have a Mac instead, or a Chromebook, or a mobile phone, or whatever. Any software you wanted to run on the PC now has to run on that other thing instead. If it's a browser or a terminal emulator you're probably ok. Anything else: lots of luck. Better to not depend on any special software. > Ask Forth Inc why they don't support more processors. I remember I > tried to encourage MPE to support the ARM MCUs. It was some time Doing a commercially supported product that has to be qualified on lots of disparate hardware, with a complicated optimizing compiler (written in Forth even) that has to be targeted to the new cpu, is a lot more complicated than porting a simple interpreter or STC compiler. > Actually, I'm not sure why it would be any better to debug the code on > a different platform. Do you have some special debugging tools on the > Linux box? What makes this more convenient? Well, I'm used to gforth and I've generally found that bigger systems have more development and debugging conveniences. Plus you don't have to mess with the target hardware unless you're trying to test something that actually uses special features that it has. Even for embedded Linux, I've preferred cross-developing to the extent possible. > crashing the target required me to go to the other room since I was > working remotely. For the ARM stuff I'm currently messing with, I work remotely too--my ARM board is in France (www.scaleway.com/pricing). So I can't easily go to the other room to muck with it. I'd rather just be able to sit around with my laptop and no internet, and code the non-hardware-specific parts as much as possible without the hardware. I don't even own one of those fancy MSP430 boards at the moment. I'm resisting buying one until I've actually coded the app. > I was very happy with Mecrisp... In fact, the problem I had using it > with the PC is the TI driver for flashing the launchpad... So I > decided to use a raspberry Pi as the "host" for the TI launchpad How did you avoid similar problems with the RPi driver? See, I'm imagining something like 4e4th where there's no downloads, no drivers, no installation. You get a board (maybe a Stellaris launchpad, maybe something like this (it could even be called 5e4th since the board costs 5 euros): https://www.olimex.com/Products/IoT/MOD-WIFI-ESP8266/ with Forth already on it, including all the source code, editor, etc. Then you just use it directly in a totally Forth environment. Btw that 5 euro board has a 32 bit cpu (comparable to ARM CM3 I think), 96k of usable ram iiuc, and 2MB of SPI flash there on the board, plus wifi (board is cheap enough that people use it for non-wifi things too) and the usual MCU stuff (gpio etc). There are many similar boards for the same chip. It would be neat to have a Forth system on one. You could bake it into some embedded thing, and then any time you wanted, you could go up to it with your smartphone and connect to it and configure or reprogram it any way you wanted, including total rebuild of the software, all done right there on the board. Who needs a PC?