Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #54514

Re: Memory

From Cecil Bayona <cbayona@cbayona.com>
Newsgroups comp.lang.forth
Subject Re: Memory
Date 2017-01-29 00:30 -0600
Organization A noiseless patient Spider
Message-ID <o6k22d$aj5$1@dont-email.me> (permalink)
References <o6dsdm$1tb$1@dont-email.me> <o6ecav$5j0$1@dont-email.me> <87h94i20px.fsf@nightsong.com> <o6jq8e$prg$1@dont-email.me> <87d1f61o7q.fsf@nightsong.com>

Show all headers | View raw


On 1/28/2017 10:31 PM, Paul Rubin wrote:
> Cecil Bayona <cbayona@cbayona.com> writes:
>> eForth for the esp8266 is disappointing, eForth usually it's written
>> in assembler for the primitives but the esp8266 flavor is not, it's
>> written in C which is not the end of the world but on top of that it
>> is a token threaded Forth not know for it's speed instead it's used to
>> save on memory which the esp8266 has plenty of.
>
> A traditional ITC Forth would be relatively slow too compared with
> native code and subroutine threading.  The esp8266 is fast compared to
> older MCUs and the even faster ESP32 is available now.  In fact you can
> even run Python on the esp8266 (micropython.org).  What are you doing
> that makes speed a worry?
>
>> It's not a total loss as it could be useful to quickly port eForth to
>> a FPGA CPU, or an oddball CPU.
>
> Is it the one below?  It looks nice to me and I got it running on a PC
> without any trouble, iirc:
>
>   http://chiselapp.com/user/tehologist/repository/compc/home

Nope but I will look at it later in the week.

>
>> I'm having some issues with eForth as the tools used don't run under
>> Win10 64 bit OS, they were developed with Xp 32 bit version.
>
> What tools are those?  I'm used to completely self-hosted eforths.
>

That is what I'm used but in reality most eForth are written in 
Assembler to create a core which is added to, the esp8266 version is 
totally different. It is written in Arduino C++ for the primitives and 
the virtual machine, and he uses a F# Forth compiler with a Meta add-on 
to generate Forth tokens that are executed by the Arduino code. F# will 
not run on a 64 bit Win10 PC. I'm in the process of setting up a Win7 32 
bit CPU so the software will work.

The eForth I been working with are not available for free, they use a 
Meta-Compiler to generate target object code so its a subroutine 
threaded output, I was hoping that it would be a version of those, 
instead it generates a list of 8-bit tokens that are interpreted by the 
Arduino code.

As far as speed goes I'm a freak for efficiency on general principles 
and would prefer a Forth that generates subroutine threaded code instead 
of tokens which is the slowest way to implement Forth.

Looking at the esp8266, it's assembly code is quite complex so I see why 
it was done using the Arduino platform, it makes it more machine 
independent as one could easily generate a version for any CPU that has 
a C++ compiler at the cost of being slower.



-- 
Cecil - k5nwa

Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Memory rickman <gnuarm@gmail.com> - 2017-01-26 17:16 -0500
  Re: Memory Cecil Bayona <cbayona@cbayona.com> - 2017-01-26 20:48 -0600
    Re: Memory minforth@arcor.de - 2017-01-27 03:39 -0800
      Re: Memory Cecil Bayona <cbayona@cbayona.com> - 2017-01-27 13:27 -0600
        Re: Memory rickman <gnuarm@gmail.com> - 2017-01-27 14:50 -0500
        Re: Memory Alex <alex@rivadpm.com> - 2017-01-27 19:53 +0000
    Re: Memory mhx@iae.nl - 2017-01-28 07:40 -0800
    Re: Memory Paul Rubin <no.email@nospam.invalid> - 2017-01-28 16:01 -0800
      Re: Memory Cecil Bayona <cbayona@cbayona.com> - 2017-01-28 22:16 -0600
        Re: Memory Paul Rubin <no.email@nospam.invalid> - 2017-01-28 20:31 -0800
          Re: Memory Cecil Bayona <cbayona@cbayona.com> - 2017-01-29 00:30 -0600
            Re: Memory Paul Rubin <no.email@nospam.invalid> - 2017-01-28 22:39 -0800
              Re: Memory Cecil Bayona <cbayona@cbayona.com> - 2017-01-29 03:19 -0600

csiph-web