Subject: Re: [svfig] Forth Day --- THIRD Saturday --- 18Nov2023 |
From: Bob Armstrong <bob@cosy.com> |
Date: 2023-11-11, 11:52 |
To: Silicon Valley Forth Interest Group <svfig@zork.net>, Kevin Appert <forther@comcast.net> |
Thanks for the opportunity ,In CoSy which executes directly in Forth the only ` objects are dynamic lists with a 3 cell header , `( Type Count refCount )' where refCount handles memory management freeing on return-to-zero , and ` Type 0 = is list of lists , ie: list of pointers . They might be considered a generalization of counted strings .Currently the only Types are `( list char int float )' but additional types can added simply by choosing a type identifying value and creating a vocabulary to handle the type . For instance , complexes could be rather simply implemented , given motivation , as lists of 2 item lists of floats . True bit array Bools may be the most complicated to implement but provide efficiencies on the order of the cell size .Following Arthur Whitney's K from which CoSy evolves , I created ` symbol and ` dictionary types where a ` symbol was simply a string with a ` count of 1 and a ` dictionary was a list of 2 lists `( keys values )' . But having distinct types was more complication than simplification . De facto dictionaries are crucial -- the entire working environments of ` Jobs are dictionaries .These sorts of structures are ESSENTIAL if one wants a language competitive for ordinary ` human uses with others such as Python or JavaScript . CoSy goes straight to being competitive with APL & K , but with flexibility unimaginable in those traditional C based languages being simply an open vocabulary in Forth .Note: as I think may be self-evident , the left tick , ` , returns the following word as a string . `( ... ... ... )` returns the words inside as a list .
Bob,
Do you want to give a 20-minute Forth Day talk, "COSY Year in Review" or somesuch?
10 days to go!
Please send title and two-line description!
|