Commit graph

31 commits

Author SHA1 Message Date
Linus
5668706b88 Added a simple installation instruction
Very basic.
2022-03-06 21:35:06 +01:00
Linus
88f138849e Fix typo in readme
* README.md: fix an example so that it actualy works.
2021-09-25 21:31:48 +02:00
Linus
1de0a624f5 Updated readme
Small changes.
2021-05-26 20:32:09 +02:00
Linus
e057a6b8fe loops without subloops can now use :for clauses in final-expr 2021-05-21 20:42:10 +02:00
Linus
9988434554 Clarified readme regarding final-expr 2021-05-21 10:22:21 +02:00
Linus
6d305d416b Added passage about maybe automagically looping 2021-05-21 10:20:38 +02:00
Linus
10ba6bd9d2 Fixed documentation warning 2021-05-21 10:12:51 +02:00
Linus
dd1589ab3a Changed documentation to reflect recent changes 2021-05-21 10:09:07 +02:00
Linus
93134a1b21 Made => implicit if we have accumulators
If there are accumulators, their final values will be returned if no
final-expr is given.

(loop ((:for a (up-from 1 11))
       (:acc lst (listing (* a a))))
  => lst)

becomes simply:

(loop ((:for a (up-from 1 11))
       (:acc lst (listing (* a a)))))
2021-05-18 20:39:37 +02:00
Linus
7a1137e579 Changed accumulator test/bind order to bind/test
This means vectoring exits directly when the index loop variable =
:length.

It also means :final has to change.
2021-05-18 19:57:02 +02:00
Linus
aa77fef2ad Fix example in readme
forgot parens.
2021-05-18 18:18:17 +02:00
Linus
f6d22792b0 Don't know git. 2021-05-18 18:17:10 +02:00
Linus
c65ab9cb15 Some more changes to readme 2021-05-18 18:15:41 +02:00
Linus
20471c01c2 Added annotations for code highlighting 2021-05-18 18:15:09 +02:00
Linus
2c323be362 Big change: lexical scoping
This introduces lexical scoping of for clauses. See README.md
2021-05-18 18:12:01 +02:00
Linus
1cd5e4edaa Added beta warning
I'm about to tag a release. Beta quality warning is probably an
understatement.
2021-05-11 13:34:13 +02:00
Linus
5a92ba298d Updated the documentation, added pointer to hosted version 2021-05-11 13:27:09 +02:00
Linus
f90d83b6a0 Mention documentation in the readme
The readme is awful, but now it at least points to the documentation.
2021-03-07 22:26:15 +01:00
Linus
7b3814c430 More parentheses
I have changed my mind about the clause forms. They should, with the
exception of :subloop, be parethesised: :when test => (:when test).
2021-02-18 21:19:12 +01:00
Linus
685fe86f36 Loops without any clauses now run the body at least once.
Small updates to readme.
2021-01-28 20:18:15 +01:00
Linus
bd2a69a16c Readme change. Beta quality! 2020-12-16 20:19:43 +01:00
Linus
317b3e732b Fix markdown in README.md to not show like HTML. 2020-12-16 19:59:03 +01:00
Linus
2d35c9d6cf Polishing the README and iterator protocol.
* README.md: added some small documentation and loop expansion.
 * goof.scm: Changed the iterator protocol to not use unnecessary :acc and :fors.
 * iterators.scm: see above.
 * ref-let.scm: a new macro to allow multiple values and pattern matching to co-exist for body-bindings.
2020-12-16 19:54:55 +01:00
Linus
0c110dd080 Big, buggy commit
:for clauses now have finalizers! This means (in-file "path") now works. This meant I had to do some restructuring of many nasty pieces of code, but I believe it works. cl-next was broken up into cl-next/acc and cl-next/for. Accumulators have to pass :acc to (cl-next/acc ...). I plan for :for clauses to do the same.

I fixed tests.scm and README.md to reflect the de-racketification of the for loops.
2020-11-25 20:40:48 +01:00
Linus
30b73286b3 Forgot some updates in the readme to accompany previous commit. 2020-11-09 13:44:55 +01:00
Linus
a3244a065a Update readme to reflect recent changes.wq 2020-11-09 13:35:43 +01:00
Linus
be9ac1a55d Intermediate loops
goof.scm
  * Changed cl-next to properly push all intermediate loops
  * Changed emit-many/rest to emit intermediate loops
  * Added loop/list as a shorthand for just accumulating lists.

tests.scm
  * Collected some things I wanted ta have to track regressions.

README.md
  * Reflect above changes
2020-11-04 23:15:32 +01:00
Linus
f2496604d5 Fixed named update and a bug in accumulating
* goof.scm: Removed positional updates and fixed named updates
 * iterators.scm: Fixed bug in accumulating where only lists were supported.
2020-11-04 11:58:58 +01:00
Linus
b3efccb4aa Clarified readme regarding named update. 2020-11-02 22:20:52 +01:00
Linus
dd86fc8a0b Added a LICENCE file and fixed a small readme error. 2020-11-02 22:17:48 +01:00
Linus
ef96da9658 First commit 2020-11-02 22:11:45 +01:00