Skip to content

Latest commit

 

History

History
445 lines (302 loc) · 10.3 KB

File metadata and controls

445 lines (302 loc) · 10.3 KB

To-do list of Galope

2012-09-20

r.s [ 2015-02-03: better name: .rs ]

Idea:

: copy-name  ( "name" -- ca len )
  >in @ >r parse-name r> >in ! ;

2013-05-15

I use: BEGIN-PRIVATE   \ remember dp #1 < definitions > END-PRIVATE  \ remember dp #2 < definitions > MAKE-PRIVATE  \ decapitate all definitions between dp #1 & #2 Clean and simple. Decapitate means, convert those defs to real nonames, thereby freeing additional namespace. Andreas

2013-05-28

Idea: reverse characters in a string, done in <~/ext/comp/lang/forth/prg/util/misc/units/>.

2013-11-06

fix slash-sides.fs

2014-02-17

Create word sections, after Gforth, and mark them in the sources with some conventional notation. This way the files could be searched (e.g. with grep) for words of specific sections.

2014-02-18

2pick, picks, 2picks.

2014-02-23

Move the tool words of <galope/to-yyyymmddhhmmss.fs> to their own files, when a similar word will need them.

2014-03-19

ANEW  --CHARSCAN--                            \  Wil Baden  2002-03-17

\  *******************************************************************
\  *                                                                 *
\  *  Wil Baden  2003-02-17                                          *
\  *                                                                 *
\  *      String Handling with Generalization of SKIP and SCAN       *

: Replace-Char                  ( str /str char char_2 -- )
    2SWAP BOUNDS ?DO
        over I C@ = IF  dup I C!  THEN
    LOOP 2DROP ;

Write replace-xchar too.

2014-07-13

Use comment marks, to make automatic lists of the modules:

\ galope-tag: strings
\ galope-tag: time&date
\ galope-tag: control_structures
\ galope-tag: text_output
\ galope-tag: data_stack
\ galope-tag: return_stack

2015-11-27

Rename "x" files to "x-", after the spelling in Forth-2012.

2016-06-21, 2017-08-18

Replace underscore with hyphens in the sb module.

2016-07-13

Add Gforth-specific words which have an alternative definition in standard Forth.

2017-08-14

Improve and document ?? and [??].

2017-08-14

Rename ?keep and ?empty.

2017-08-16

  • Add module, by Ulrich Hoffmann.

  • Rename \eof to \\.

2017-08-17

  • Remove [or].

  • Check dependency on u+do in rolls.

  • Rewrite #do without evaluate.

  • Finish or simplify or remove <headline.fs>.

  • Homogenize "Author: Wil Baden" and "Taken from".

2017-08-18, 2017-08-20

Rename break: debug?

2017-08-19

Finish updating the change log layout:

gvim $(grep "Change\slog" *.fs -L)

2017-08-20

Rename :create to created.

Remove ?nip?

Check if $variable is needed in Gforth 0.7.9.

Check if $@len is needed in Gforth 0.7.9.

Check if $@ is needed in Gforth 0.7.9.

Fix: UTF-8 chars are corrupted in the PDF manual. See usage example of 2arrayed. The HTML version is fine.

2017-10-22, 2017-11-12, 2017-11-16

Improve ltype:

  • Top left coordinates.

  • Left margin.

  • UTF-8 support.

  • More/Pause control [under development as of 2017-11-16]

  • Right margin.

2017-10-22

Finish adapting the source documentation to Glosara format.

2017-10-25

  • Add ?u1+!.

  • Rename number<c> (in module <xy.fs>) and move it to its own file. Possible names: number/c, keys/c>decimal, keys>#, keys>number, keys>#number.

  • Remove old code from instr.

2017-10-25

This is an even smaller one, supporting just * and .:

---8<---
: (match-or-dot)
  over c@ [char] . = >r 2swap dup 0<> r> and
  >r over c@ >r 2swap over c@ r> = r> or
;

: match-reg
  dup 0> if
    over char+ c@ [char] * <>
    if
      2over 1 /string 2over 1 /string recurse >r (match-or-dot)
      r> and >r 2drop 2drop r> exit
    then

    begin
      (match-or-dot)
    while
      2over 2over 2 /string recurse if 2drop 2drop true exit then
      2>r 1 /string 2r>
    repeat 2 /string recurse exit

  else
    2drop nip 0=
  then
;

s" aa" s" a"    match-reg . cr
s" aa" s" aa"  match-reg . cr
s" aaa" s" aa"  match-reg . cr
s" aa" s" a*"  match-reg . cr
s" aa" s" .*"  match-reg . cr
s" ab" s" .*"  match-reg . cr
s" aab" s" c*a*b"  match-reg . cr depth .
---8<---

Hans Bezemer

2017-10-25

  • Move @le from <png.fs> to its own module, with a comus name.

  • Move 16@ from <jpeg.fs> to its own module, with a comus name.

  • Rename @` `@+` and `! !+.

  • Rename c@` `c@+` and `c! c!+.

: !+  ( n addr -- addr' )   dup cell+ -rot ! ;
: @+  ( addr -- n addr' )   dup @ swap cell+ ;
: c!+ ( n addr -- addr' )   dup 1+ -rot c! ;
: c@+ ( addr -- n addr' )   dup c@ swap 1+ ;
  • Deprecate <stream_bs.fs>, which was superseded by <heredoc.fs>.

  • Finish, update, rename words of <queue.fs>.

2017-10-26

  • Rename char-count, instr, instr?.

  • Add :variable.

  • Rewrite <translated.fs> with Gforth’s dynamic strings instead of FFL.

2017-10-30

  • Add cross-references to "dollar" words, ie. dynamic string words.

2017-11-03

  • Remove <paragraph.fs> and <print.fs>, superseded by <l-type.fs>.

  • Add to long strings support: ls", lsliteral.

  • Extract string-prefix? from -prefix.

  • Remove basename (already in Gforth 0.7.9).

2017-11-04

  • Remove <sconstant.fs> and <svariable.fs> after the projects have been adapted to the new module names.

2017-11-05, 2018-05-01

  • Review <s-bracket.fs>. Compare to <strings-colon>. Write an actual sarray after array and 2array.

  • Rename strings: strings; rename /strings end-strings.

  • Homogenize stack notation of indexes: eg. change "len’n" to "len#n", "ca'2" to "ca#2".

  • Update module names to current convention, eg. "csv" to "c-s-v":

  • Rename /csv split/comma or something.

  • Rename /ssv split/spaces or something.

  • Rename <smove.fs> <s-move.fs>.

  • Deprecate <sb.fs>, superseded by <stringer.fs>.

  • Rename <typecr.fs> <type-c-r.fs>.

  • Rename <rtype.fs> <r-type.fs>.

  • Fix checks of Gforth version: the flag returned by environment? is not checked. Eg. s" gforth" environment? drop s" 0.7.9" str< [if].

2017-11-08

  • Improve xconversions: The translation table could be updated with more chars; both the table and the bit array would be resized transparently; the limits would be updated.

  • Improve xconversions: The caseness bit array could be created at compile time.

  • Improve names of the private words of xconversions.

  • Rename and document modules <xbounds.fs>, <xlowercase.fs>, etc.

  • Finish xtitlecase.

  • Rename txt+. Besides, after the current convention, its module name should be <t-x-t-plus.fs>.

  • Make xconversions create named tables in order to define more than one table and change the current one.

  • Rename <smove.fs> <s-move.fs>.

  • Rename allocate-ss.

2017-11-09

  • Improve max-n and family: do not abort, but calculate using cell.

  • Add ?+! and ?-!.

2017-11-11

  • Rename choose{ }choose among end-among?

  • Rename 2choose{ }2choose 2among end-2among?

  • Rename choose{ }choose from end-from?

  • Rename 2choose{ }2choose 2from end-2from?

2017-11-13

  • Add time-zone string to ISO-8601 converters.

  • Replace aliases:’s `parse-alias with do-parse-name, moved from La pistola de agua.

  • Simplify (with recurse) and document (*.

  • Deprecate <stream-to-str.fs>, which was superseded by <heredoc.fs>.

  • Review all words that use refill. Maybe do-parse-name can be reused.

2017-11-14

  • Copy sconstants from Solo Forth.

  • Extend iso-date>extended to support longer date strings.

  • Write iso-date>basic.

  • Check if any private word of iso-date>extended can be useful.

2017-11-17

  • It seems #indented can be removed from <l-type.fs>. Confirm it and remove it.

2017-11-21

  • Remove deprecated yyyymmdd>iso.

  • Improve naming convention: ?1+! vs ?1+.

2017-11-24

Include paper, ink and sgr in the documentation of <lighter.fs> and <colors.fs>.

2017-12-02

Benchmark strings constants created by the current definition of sconstant vs the definition of Solo Forth, which probably is faster:

: sconstant ( ca len "name" -- )
  here >r s, r> count 2constant ;

2017-12-02

Document the relation between <sarray.fs>, <two-array.fs>, etc.

2017-12-04

Improve <uncodepaged.fs>. Find a better name, related to translations, which is very similar.

2017-12-06

Adapt ticks, dticks and family from Solo Forth.

2017-12-12

Benchmark range-within with the variant used in Solo Forth, which is faster.

2018-05-01

Deprecate <s-bracket.fs>. Use 2array or strings: instead. s[ is used only in project Consulta privada.

Simplify strings:. Rename /strings.

2018-05-14

Fix: Make lprompted support UTF-8.

2018-07-24

  • Rename 'last-xchar.

  • Rename nospaceno-space.

  • Rename unspaceno-double-space.

  • Rewrite c>str to use the pictured numeric buffer.

  • Use th in array>?

2018-07-27

  • Adapt type-right-field and type-center-field from Solo Forth.

2018-07-30

Improve the creation and configuration of menus.

2018-07-31

  • Make the justification of menu titles configurable.

  • Adjust all sources to 63 columns.

2018-09-27

Fix: In <galope/replaced.fs>, require was replaced with include in order to load <ffl/str.fs>. This solved a strange problem with Gforth’s require. See Gforth’s .included.

2018-12-07

Improve description or behaviour of -cell-bounds:

: -cell-bounds ( a1 len1 -- a1 a2 ) 1+ -bounds cell - ;

Alternatives:

: -cell-bounds ( a1 n -- a1 a2 ) 1+ -bounds cell - ;

: -cell-bounds ( a1 len1 -- a1 a2 ) cells 1+ -bounds cell - ;

2018-12-07

Check the improvements done in Fendo’s Makefile, which was adapted from Galope’s Makefile.

2019-03-14

Improve menu:

  • Add separators, skipped by the option selector.

  • Add inactive options, with alternative texts.

2020-04-14

Benchmark string-suffix? with the version included in Gforth.

2021-02-20

Rename unslurp to spew (after Retro Forth’s file:spew).