Deutsch   English   Français   Italiano  
<vqgcsj$3rlbo$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Krishna Myneni <krishna.myneni@ccreweb.org>
Newsgroups: comp.lang.forth
Subject: kForth-64/32 updates
Date: Fri, 7 Mar 2025 21:17:32 -0600
Organization: A noiseless patient Spider
Lines: 39
Message-ID: <vqgcsj$3rlbo$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sat, 08 Mar 2025 04:17:41 +0100 (CET)
Injection-Info: dont-email.me; posting-host="965b433e7eae78ad29ca0443171ab76b";
	logging-data="4052344"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+S4jUtmARRu+tLp3OUmHK3"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:UT7xS2J0TCfdzKf26BMrmr6G9M4=
Content-Language: en-US
Bytes: 2664

The Linux kForth packages (32-bit x86 and 64-bit x86_64) on Github have 
undergone substantial revision in the assembler portion of the VM code. 
The current version numbers are 2.6.0 for the 32-bit package and 0.6.0 
for the 64-bit package.

In addition to the 64-bit package implementing the source code 
(vm64-fast.s) for the first working version of kforth64-fast, the 
assembler code for both 32 and 64 bit versions has been improved, 
assembler macros' register use is internally documented, and the macros' 
interface has been made uniform to enable them to be used more easily 
within internal code.

 From the source, both regular and fast versions of the executables are 
built: {kforth32 / kforth32-fast} or {kforth64 / kforth64-fast}. The 
fast versions omit run-time type checking and provide anywhere from 15 
to 40% improvement in speed, depending on the application.

The main goal of the changes to the assembly code is to prepare for 
future experimental changes to the VM code to speed up both regular and 
fast versions of the executables.

kForth's development goals remain the same as for the last 20 years:

1. simple-to-build from source, requiring few tools (C/C++/assembler)
2. lightweight, requiring few external libraries
3. provide useful Forth shell for interactive computing/programming
4. functional for developing and running simple and complex programs
5. useful for low-level (machine code) and high-level (modular Forth)
6. useful for embedding into another program for script extensions
7. provide numerous programming examples on different topics
8. well-documented (still much more work needed on this)
9. easy and fun to learn and use

--
Krishna Myneni
https://github.com/mynenik