~crc_

Trackers

~crc_/retroforth

Last active a month ago

~crc_/gopher-client

Last active 4 months ago

~crc_/ngata

Last active 5 months ago

#82 UTF8 and Strings a month ago

Ticket created by ~crc_ on ~crc_/retroforth

#Background

Strings in Retro currently have a few issues.

  • ASCII only (currently Retro allows for strings containing UTF8, but does not provide words for actually manipulating UTF8 characters)
  • Null terminated
  • There is a lot of overlap with the functionality provided by arrays

I will be making changes to resolve these, but it will not be a quick process. Changing the strings model will break (to various degrees) backwards compatibility, so this is not something that'll be rushed.

My current plan:

#Stage 1(a): New String Words

I will introduce s:fetch and s:store to update characters in a string. For the standard strings, this will be a thin layer over fetch and store. For the new strings, these will be a little more involved.

#Stage 1(b): Introduce UTF8 strings.

  • UTF8 strings will be arrays of character data.
  • There will be a us: (utf8 string) namespace for words operating on them.
  • A sigil for creating them will be provided.
  • Match functionality in existing string vocabulary.
  • Reuse array words internally when possible.

#Stage 2: Consolidation

This will involve updating the array words.

  • Indirection in access words (fetch, store, etc)

I will need to insert some indirection (to allow for things like us:fetch and us:store to be used when updating arrays that contain utf8 data). This will also aid in allowing for arrays of byte or halfword data.

To be continued as feedback is gathered and work progresses

#81 Multicore: Documentation: Manual a month ago

Ticket created by ~crc_ on ~crc_/retroforth

The multicore words should get a chapter in the manual.

#80 Multicore: Documentation: Glossary a month ago

Ticket created by ~crc_ on ~crc_/retroforth

The multicore words need to be added to the glossary.

#79 Multicore: Forth Words a month ago

Ticket created by ~crc_ on ~crc_/retroforth

I need to add the Forth words to interface to the multicore support.

#51 RFD: FFI Interface(s) a month ago

on ~crc_/retroforth

REPORTED RESOLVED IMPLEMENTED

#78 FFI: Documentation: Manual a month ago

Ticket created by ~crc_ on ~crc_/retroforth

The FFI is not currently documented.

A chapter on using it should be added to the manual.

#77 FFI: Examples a month ago

Ticket created by ~crc_ on ~crc_/retroforth

It would be highly beneficial to provide some examples of using the FFI.

#76 FFI: Documentation: Glossary a month ago

Ticket created by ~crc_ on ~crc_/retroforth

The FFI is not currently documented.

The word names need to be finalized and glossary entries created.

#75 FFI: Implement Callbacks a month ago

Ticket created by ~crc_ on ~crc_/retroforth

The FFI currently lacks support for callbacks.

#74 FFI: Add Error Handling a month ago

Ticket created by ~crc_ on ~crc_/retroforth

The FFI does not do any error checks. This should be rectified.