Commit graph

9 commits

Author SHA1 Message Date
Linus
f6d7b01793 Refactored for-clauses to take :for for better error reporting
At least in the future
2021-03-16 19:30:08 +01:00
Linus
172d0aa180 Changed the loop protocol for :acc clauses
The third clause (the "check" clause) now breaks the entire
iteration for :acc clauses instead of just exiting the current subloop.

This is much saner, and was immediately usable in vectoring.
2021-03-11 22:18:29 +01:00
Linus
f0900a0497 Added some generator clauses to the iterators
in-vector, in-string and all other indexed for clauses
now have generator clauses.

in-hash now has a generator clause.
2021-03-11 14:38:26 +01:00
Linus
bb0de3e949 Added some generator clauses
Now in-file, in-port, in-lists and in-generator have generator clauses
2021-02-18 22:08:34 +01:00
Linus
969b9a029a Added basic documentation
WIP.
2021-01-28 13:30:32 +01:00
Linus
93aa5aa439 Simplified the iterator protocol.
There is no need for :acc clauses to intoduce loop variables, or for :for clauses to introduce acc clauses.
They are now changed.

 * goof.scm (cl-next/acc cl-next/for): removed the unused matchings for loop-vars and acc-vars respectively.
 * goof/iterators.scm (all iterators): simplified it.
2021-01-06 21:24:15 +01:00
Linus
7311da2ec2 Add the vectoring accumulator.
Currently undocumented and untested.
2021-01-02 21:43:10 +01:00
Linus
f492a5278b Added hashing, hashqing hashving och in-hash. 2021-01-02 12:03:03 +01:00
Linus
7ddb707bb7 Made it a module.
Put it in any directory, run guile -L . and then import (goof) in that directory.
2020-12-16 20:17:13 +01:00