Linus 
								
							 
						 
						
							
							
							
							
								
							
							
								ec2b65612c 
								
							 
						 
						
							
							
								
								Simplified install  
							
							
							
						 
						
							2022-03-06 21:15:30 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus 
								
							 
						 
						
							
							
							
							
								
							
							
								2775e70fd0 
								
							 
						 
						
							
							
								
								guard if in accumulators is now :if.  
							
							... 
							
							
							
							All auxiliary syntax is now prefixed by :. 
							
						 
						
							2021-09-27 21:36:02 +02: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 
								
							 
						 
						
							
							
							
							
								
							
							
								f5a3629b56 
								
							 
						 
						
							
							
								
								Make let-kw-form more portable to other syntax-case schemes  
							
							... 
							
							
							
							* goof.scm (let-kw-form): don't use guile-specific with-ellipsis. 
							
						 
						
							2021-09-25 21:27:50 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus 
								
							 
						 
						
							
							
							
							
								
							
							
								050f88d678 
								
							 
						 
						
							
							
								
								Fixed misnamed export  
							
							... 
							
							
							
							* goof.scm: in-vector-reverse and in-string-reverse now properly
exported. 
							
						 
						
							2021-09-25 21:21:29 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus 
								
							 
						 
						
							
							
							
							
								
							
							
								832c414260 
								
							 
						 
						
							
							
								
								Changes for the better  
							
							... 
							
							
							
							* goof-impl.scm (loop/first loop/last): add ability to specify a
:default value. Added auxiliary syntax :default.
 * goof/iterators.scm (accumulating hash(q|v)ing): changed auxiliary
keyword from initial -> :initial.
 * goof.scm: export extra keywords
 * doc.html
 * doc.xml : document changes. fix bugs. 
							
						 
						
							2021-08-17 21:36:13 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus 
								
							 
						 
						
							
							
							
							
								
							
							
								1de0a624f5 
								
							 
						 
						
							
							
								
								Updated readme  
							
							... 
							
							
							
							Small changes. 
							
						 
						
							2021-05-26 20:32:09 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus 
								
							 
						 
						
							
							
							
							
								
							
							
								189f1d045d 
								
							 
						 
						
							
							
								
								Made sure loop loops  
							
							... 
							
							
							
							Fix subloop :acc semantics.
clarify code comments. 
							
						 
						
							2021-05-25 22:07:53 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus 
								
							 
						 
						
							
							
							
							
								
							
							
								307240383a 
								
							 
						 
						
							
							
								
								Changed semantics of pure loop form  
							
							... 
							
							
							
							Now an empty clause list means execute body once.
any kind of clause means: loop. regardless of for or no for clause. 
							
						 
						
							2021-05-23 22:10:23 +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 
								
							 
						 
						
							
							
							
							
								
							
							
								769553832b 
								
							 
						 
						
							
							
								
								Start of something big  
							
							... 
							
							
							
							This marks a deviation from the foof-loop inheritance, and a path
towards a more lexical scope. :for clauses are now bound to the top of
each loop, and the following :bind, :when, :unless, :break, :final and
:acc clauses now follow a the lexical order of when they were
introduced... At least, that's the plan. This commit makes :for, :bind,
:when, :unless and :break work. The rest is broken.
and :let+:let* are no more. 
							
						 
						
							2021-05-16 20:13:55 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus 
								
							 
						 
						
							
							
							
							
								
							
							
								cccc324ecd 
								
							 
						 
						
							
							
								
								Made all mutating accumulators visible in the body  
							
							... 
							
							
							
							Previously hashing and vectoring hid the resulting hash before
the final-function. This is no longer the case.
Also, now some of the tests work... 
							
						 
						
							2021-05-12 12:54:29 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus 
								
							 
						 
						
							
							
							
							
								
							
							
								5d07594f53 
								
							 
						 
						
							
							
								
								Tagged a release  
							
							
							
						 
						
							2021-05-11 13:36:05 +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 
								
							 
						 
						
							
							
							
							
								
							
							
								66e435aa92 
								
							 
						 
						
							
							
								
								updated the documentation  
							
							... 
							
							
							
							Added stop-before, stop-after, in-cycle and in-indexed to the
documentation.
Also clarified (and examplified) the erathostenes example. 
							
						 
						
							2021-05-11 11:14:22 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus 
								
							 
						 
						
							
							
							
							
								
							
							
								6f0c6e636f 
								
							 
						 
						
							
							
								
								Fixed error reporting of missing :for clause  
							
							
							
						 
						
							2021-05-11 10:00:46 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus 
								
							 
						 
						
							
							
							
							
								
							
							
								a38170a25b 
								
							 
						 
						
							
							
								
								Added stop-after and stop-before  
							
							... 
							
							
							
							These are equivalent to their racket for loop counterparts, and creates
an iterator that signals exhaustion befor or after yielding a value
where a predicate returns true. Not useful in non-nested loops, but
could be useful in inner loops where you want to exit to an outerloop
instead of :break-ing.
Also fixed some bugs in other generator clauses. 
							
						 
						
							2021-05-11 09:48:21 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus 
								
							 
						 
						
							
							
							
							
								
							
							
								3908019bbc 
								
							 
						 
						
							
							
								
								Added some tests.  
							
							... 
							
							
							
							Fixed some things I noticed when testing the tests. 
							
						 
						
							2021-03-22 19:30:09 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus 
								
							 
						 
						
							
							
							
							
								
							
							
								524933d29f 
								
							 
						 
						
							
							
								
								Same as previous commit.  
							
							... 
							
							
							
							I forgot to edit the documentation for down-to. 
							
						 
						
							2021-03-18 12:46:07 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus 
								
							 
						 
						
							
							
							
							
								
							
							
								78aed79463 
								
							 
						 
						
							
							
								
								Updated documentation to reflect previous change.  
							
							
							
						 
						
							2021-03-18 12:43:56 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus 
								
							 
						 
						
							
							
							
							
								
							
							
								5847bd21d4 
								
							 
						 
						
							
							
								
								Fixed :final and make to, by => :to :by  
							
							... 
							
							
							
							I had a bug. I had an inconsistency. Don't worry. All is fixed. 
							
						 
						
							2021-03-18 12:41:39 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
								
							 
						 
						
							
							
							
							
								
							
							
								90c2c6bfdf 
								
							 
						 
						
							
							
								
								New documentation  
							
							... 
							
							
							
							Added a "Porting" section.
Some clarifications. 
							
						 
						
							2021-03-11 14:42:52 +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 
								
							 
						 
						
							
							
							
							
								
							
							
								79b7c4eedd 
								
							 
						 
						
							
							
								
								Clarified expansion  
							
							... 
							
							
							
							The expansion of (loop ...) without subloops is now the same as loop
with subloops. 
							
						 
						
							2021-03-11 14:35:07 +01: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 
								
							 
						 
						
							
							
							
							
								
							
							
								74514bb4d1 
								
							 
						 
						
							
							
								
								Fixed the documentation a bit  
							
							... 
							
							
							
							Added some more info. It still looks awful. 
							
						 
						
							2021-03-07 22:19:13 +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 
								
							 
						 
						
							
							
							
							
								
							
							
								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 
								
							 
						 
						
							
							
							
							
								
							
							
								a545c1cbd7 
								
							 
						 
						
							
							
								
								Fix a bug where simple loops did not bind let bindings correctly  
							
							... 
							
							
							
							add check whether a loop clause exists to avoid the ultra-shit errors that happen if you
accidentally write (up-form ...) 
							
						 
						
							2021-02-09 22:02:40 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus 
								
							 
						 
						
							
							
							
							
								
							
							
								d48ed19e43 
								
							 
						 
						
							
							
								
								Fix the previous commit. Now also the simple loops are ensured to execute once if no for-clauses are given.  
							
							... 
							
							
							
							Instead of throwing a syntax-error... 
							
						 
						
							2021-01-28 20:37:05 +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 
								
							 
						 
						
							
							
							
							
								
							
							
								06a11fc892 
								
							 
						 
						
							
							
								
								Modularized the code  
							
							... 
							
							
							
							Everything in goof-impl.scm is portable (r7rs) syntax-rules. The non-portable parts
, most notably the let-kw-form macro is in the module definition goof.scm. 
							
						 
						
							2021-01-28 20:01:24 +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