77cd3aaede 
								
							
								 
							
						 
						
							
							
								
								classes: use check-instance in a few places, to remove duplication.  
							
							
							
						 
						
							2020-01-15 10:34:47 -08:00  
				
					
						
							
							
								 
						
							
							
								7c7bb93c55 
								
							
								 
							
						 
						
							
							
								
								factor: Rename GENERIC# to GENERIC#:.  
							
							... 
							
							
							
							Fixes  #1670 . 
						
							2017-06-01 13:58:58 -05:00  
				
					
						
							
							
								 
						
							
							
								e93d8f82bc 
								
							
								 
							
						 
						
							
							
								
								core: Add TH{ for making assoc tuples.  
							
							... 
							
							
							
							See #1449 .
https://github.com/factor/factor/issues/1449  
							
						 
						
							2017-05-30 20:14:29 -05:00  
				
					
						
							
							
								 
						
							
							
								0142d0b078 
								
							
								 
							
						 
						
							
							
								
								basis/,extra/: using parse-array-def in a bunch of places  
							
							
							
						 
						
							2016-12-03 13:23:24 +01:00  
				
					
						
							
							
								 
						
							
							
								4d83867cb4 
								
							
								 
							
						 
						
							
							
								
								strings.parser: remove parse-short-string, everyone should parse-string.  
							
							
							
						 
						
							2016-04-04 15:00:04 -07:00  
				
					
						
							
							
								 
						
							
							
								77c256412d 
								
							
								 
							
						 
						
							
							
								
								lexer: make CHAR: ! work.  
							
							
							
						 
						
							2016-03-30 21:21:40 -07:00  
				
					
						
							
							
								 
						
							
							
								52a3f6f309 
								
							
								 
							
						 
						
							
							
								
								lexer: support universal comments.  
							
							
							
						 
						
							2016-03-30 21:09:08 -07:00  
				
					
						
							
							
								 
						
							
							
								59caf874a3 
								
							
								 
							
						 
						
							
							
								
								syntax: removing #! as a comment character.  
							
							... 
							
							
							
							We don't need two types of comments and shebang (#!) is handled
natively by the lexer, so the original reason for #! is not valid. 
							
						 
						
							2015-09-09 18:28:08 -07:00  
				
					
						
							
							
								 
						
							
							
								399d01f56e 
								
							
								 
							
						 
						
							
							
								
								strings.parser: finish removing triple-strings.  
							
							... 
							
							
							
							parse-string => parse-short-string (on the same line)
parse-multiline-string-until => parse-full-string 
							
						 
						
							2015-08-17 19:49:12 -07:00  
				
					
						
							
							
								 
						
							
							
								ceb75057da 
								
							
								 
							
						 
						
							
							
								
								change ERROR: words from throw-foo back to foo.  
							
							
							
						 
						
							2015-08-13 16:13:05 -07:00  
				
					
						
							
							
								 
						
							
							
								02008979d9 
								
							
								 
							
						 
						
							
							
								
								factor: Change ERROR: foo ; to define ``throw-foo`` instead of having ``foo`` throw implicitly. The old ``foo`` still throws implicitly because this is a big change to get right in one patch, but it should be removed soon.  
							
							
							
						 
						
							2015-08-12 15:26:18 -05:00  
				
					
						
							
							
								 
						
							
							
								3d4bc1de1a 
								
							
								 
							
						 
						
							
							
								
								core: rename parse-call( to parse-call-paren  
							
							
							
						 
						
							2015-07-27 09:54:08 -07:00  
				
					
						
							
							
								 
						
							
							
								1fcf96cada 
								
							
								 
							
						 
						
							
							
								
								factor: remove """ string syntax for now. there are HEREDOC:, STRING:, escaping \", and something else soon.  
							
							
							
						 
						
							2015-07-25 22:59:56 -07:00  
				
					
						
							
							
								 
						
							
							
								117727d444 
								
							
								 
							
						 
						
							
							
								
								parser, source-files: you need to bootstrap after this patch.  
							
							... 
							
							
							
							cleans up some file vs path naming.
file -> current-source-file
file -> current-test-file somewhere else
source-file -> path>source-file
source-file-tuple -> source-file 
							
						 
						
							2015-07-23 22:03:43 -07:00  
				
					
						
							
							
								 
						
							
							
								0a7bfd3635 
								
							
								 
							
						 
						
							
							
								
								syntax: Add a "syntax" word property for tracking which words are defined with SYNTAX: as opposed to generated syntax words.  
							
							
							
						 
						
							2015-06-29 18:45:16 -07:00  
				
					
						
							
							
								 
						
							
							
								44e8e7b344 
								
							
								 
							
						 
						
							
							
								
								primitives: Change PRIMITIVE: to check that the word is in that vocabulary and the stack effect is correct.  
							
							... 
							
							
							
							Use PRIMITIVE: in core/ and basis/ 
							
						 
						
							2015-06-25 18:02:03 -07:00  
				
					
						
							
							
								 
						
							
							
								6e60c811ac 
								
							
								 
							
						 
						
							
							
								
								core: Rename create to create-word, create-in to create-word-in.  
							
							
							
						 
						
							2015-06-08 12:47:35 -07:00  
				
					
						
							
							
								 
						
							
							
								afcb610960 
								
							
								 
							
						 
						
							
							
								
								core: Throw an error when defining MAIN: with a stack effect other than ( -- ).  Fixes   #1060 .  
							
							
							
						 
						
							2014-06-06 10:59:48 -07:00  
				
					
						
							
							
								 
						
							
							
								5bc1567c05 
								
							
								 
							
						 
						
							
							
								
								syntax: adding \b \v and \f escape codes.  
							
							
							
						 
						
							2014-06-03 18:04:51 -07:00  
				
					
						
							
							
								 
						
							
							
								5fab749dcc 
								
							
								 
							
						 
						
							
							
								
								words: Change word -> last-word, set-word -> set-last-word.  
							
							
							
						 
						
							2013-03-23 16:12:03 -07:00  
				
					
						
							
							
								 
						
							
							
								5a9e7cd374 
								
							
								 
							
						 
						
							
							
								
								classes.builtin: Add the BUILTIN: keyword which lets builtin classes show up in source files. Probably could use save-location to allow editing, but it seemed to break things.  
							
							
							
						 
						
							2013-03-10 12:05:38 -07:00  
				
					
						
							
							
								 
						
							
							
								5487480126 
								
							
								 
							
						 
						
							
							
								
								core: cleanup USING lists.  
							
							
							
						 
						
							2013-03-05 10:34:47 -08:00  
				
					
						
							
							
								 
						
							
							
								8637c1c012 
								
							
								 
							
						 
						
							
							
								
								hashtables: Enforce shape on hashtable literals.  Fixes   #568 .  
							
							
							
						 
						
							2012-08-24 15:11:03 -07:00  
				
					
						
							
							
								 
						
							
							
								3507b9bad7 
								
							
								 
							
						 
						
							
							
								
								classes:  
							
							... 
							
							
							
							- Allow methods to dispatch off union{ } and intersection{ } classes.
- Add not{ } anonymous-complement syntax.
- Define class-name for anonymous-union/intersection/complement and maybes, and clean up pprint.
- Change maybe: foo to maybe{ foo }
- Call sort-classes when making anonymous-union/anonymous-intersection classes so that they are canonicalized. 
							
						 
						
							2012-05-03 19:45:30 -07:00  
				
					
						
							
							
								 
						
							
							
								07abeee9d9 
								
							
								 
							
						 
						
							
							
								
								syntax: remove BIN: HEX: OCT:  
							
							
							
						 
						
							2011-11-23 20:07:33 -08:00  
				
					
						
							
							
								 
						
							
							
								82c5388f68 
								
							
								 
							
						 
						
							
							
								
								classes: add syntax for intersection{ and union{ anonymous classes. make classoid a mixin.  
							
							
							
						 
						
							2011-11-22 18:49:42 -08:00  
				
					
						
							
							
								 
						
							
							
								fac17c10ba 
								
							
								 
							
						 
						
							
							
								
								classes.maybe: move maybe definition from classes.union to classes.maybe  
							
							
							
						 
						
							2011-11-22 02:46:36 -08:00  
				
					
						
							
							
								 
						
							
							
								067f9830ef 
								
							
								 
							
						 
						
							
							
								
								classes.union: Define a maybe: word that makes a tuple that acts as an anonymous union for a type and f. Updated all the places we define UNION: ?foo foo POSTPONE: f ;.  Fixes   #416  and lots of headaches.  
							
							
							
						 
						
							2011-11-22 01:56:13 -08:00  
				
					
						
							
							
								 
						
							
							
								c731dc6edb 
								
							
								 
							
						 
						
							
							
								
								Rename lookup to lookup-word.  
							
							
							
						 
						
							2011-11-06 16:00:00 -08:00  
				
					
						
							
							
								 
						
							
							
								981862f35e 
								
							
								 
							
						 
						
							
							
								
								Revert "syntax: make it so PRIMITIVE: verifies primitives"  
							
							... 
							
							
							
							This reverts commit 200ea70cffc4bdc74a97e4981442161f64cdbaa3. 
							
						 
						
							2011-11-02 13:23:11 -07:00  
				
					
						
							
							
								 
						
							
							
								c0b26a2781 
								
							
								 
							
						 
						
							
							
								
								syntax: make it so PRIMITIVE: verifies primitives  
							
							... 
							
							
							
							It's a bit strange for disparate vocabs to reference words that get created out of thin air during bootstrap, so this lets there be some trace in the seeded vocab source that there was a word created there. 
							
						 
						
							2011-11-02 13:23:09 -07:00  
				
					
						
							
							
								 
						
							
							
								f827b74a11 
								
							
								 
							
						 
						
							
							
								
								Move definition of 't' from syntax to bootstrap/primitives to fix bootstrap, now that 't' really has to be a class early  
							
							
							
						 
						
							2011-10-31 00:24:26 -07:00  
				
					
						
							
							
								 
						
							
							
								beb5b9bf64 
								
							
								 
							
						 
						
							
							
								
								hash-sets: separate <hash-set> and >hash-set to match other containers.   Fixes   #154 .  
							
							
							
						 
						
							2011-10-19 11:35:25 -07:00  
				
					
						
							
							
								 
						
							
							
								80e1c8e3f2 
								
							
								 
							
						 
						
							
							
								
								Eliminate duplicate syntax for stack effects "(" no longer drops and is identical to the old "((", which is now removed.  
							
							
							
						 
						
							2011-10-18 13:19:39 -07:00  
				
					
						
							
							
								 
						
							
							
								181f11faa8 
								
							
								 
							
						 
						
							
							
								
								Make M\ throw an error upon lookup failure. Change method -> ?lookup-method, lookup-method is the throwing version of ?lookup-method.  Fixes   #229 .  
							
							
							
						 
						
							2011-10-03 15:49:49 -07:00  
				
					
						
							
							
								 
						
							
							
								671f19d70f 
								
							
								 
							
						 
						
							
							
								
								Remove all non-core uses of (scan-token)  
							
							... 
							
							
							
							Add scan-datum
Add scan-number
Document more words
Fixes  #225 . 
							
						 
						
							2011-10-02 12:00:08 -07:00  
				
					
						
							
							
								 
						
							
							
								76580da5d5 
								
							
								 
							
						 
						
							
							
								
								Refactor the lexer/parser to expose friendlier words for scanning tokens. The preferred top-level words now throw an exception on EOF.  
							
							... 
							
							
							
							CREATE -> scan-new
CREATE-CLASS -> scan-new-class
CREATE-WORD -> scan-new-word
CREATE-GENERIC -> scan-new-generic
scan -> (scan-token)
scan-token now throws on eof
(scan-word) returns word/number/f
scan-word now throws on eof
scan-word-name expects a non-number
Fixes  #183 .
Fixes  #209 . 
							
						 
						
							2011-09-29 11:28:28 -07:00  
				
					
						
							
							
								 
						
							
							
								e1390875ca 
								
							
								 
							
						 
						
							
							
								
								parser, source-files, syntax: have MAIN: store the main entry point in the source-file record in addition to the vocabulary. Have run-file execute the MAIN: word for a file if present after evaluating its contents.  
							
							
							
						 
						
							2011-08-17 20:58:09 -07:00  
				
					
						
							
							
								 
						
							
							
								8a0525e5ce 
								
							
								 
							
						 
						
							
							
								
								Add a scan-token word which is like scan, except throws an error on EOF; document scan-object word; mention that scan-token/scan-object are preferred over scan/scan-word  
							
							
							
						 
						
							2010-07-06 16:20:08 -04:00  
				
					
						
							
							
								 
						
							
							
								627295f094 
								
							
								 
							
						 
						
							
							
								
								Language change: tuple slot setter words with stack effect ( value object -- ) are now named FOO<< instead of (>>FOO)  
							
							
							
						 
						
							2010-05-06 17:21:02 -04:00  
				
					
						
							
							
								 
						
							
							
								c3f8f5067e 
								
							
								 
							
						 
						
							
							
								
								catch merge conflicts in source and report them as such  
							
							
							
						 
						
							2010-04-06 13:34:26 -07:00  
				
					
						
							
							
								 
						
							
							
								a566d8cc6b 
								
							
								 
							
						 
						
							
							
								
								lexer: each-token and map-tokens did not handle EOF properly  
							
							
							
						 
						
							2010-03-26 03:42:07 -04:00  
				
					
						
							
							
								 
						
							
							
								7364608417 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor into bags  
							
							
							
						 
						
							2010-03-02 17:04:45 -05:00  
				
					
						
							
							
								 
						
							
							
								9bf5c76771 
								
							
								 
							
						 
						
							
							
								
								lexer: add "each-token" and "map-tokens", which are equivalent to "parse-token _ each/map" but incremental. update a smattering of parsing words (such as USING:, SYMBOLS:, etc.) to use each-token/map-tokens  
							
							
							
						 
						
							2010-02-28 22:19:43 -08:00  
				
					
						
							
							
								 
						
							
							
								e43312d780 
								
							
								 
							
						 
						
							
							
								
								Moving new-sets and hash-sets to core  
							
							
							
						 
						
							2010-02-26 11:01:57 -05:00  
				
					
						
							
							
								 
						
							
							
								01824d41be 
								
							
								 
							
						 
						
							
							
								
								Add support for final tuple classes which cannot be subclassed: TUPLE: foo ... ; final  
							
							
							
						 
						
							2010-02-18 02:19:57 +13:00  
				
					
						
							
							
								 
						
							
							
								fbf078d4b3 
								
							
								 
							
						 
						
							
							
								
								words: undefined error now contains the word in question  
							
							
							
						 
						
							2010-02-03 23:11:23 +13:00  
				
					
						
							
							
								 
						
							
							
								7ce4b746e5 
								
							
								 
							
						 
						
							
							
								
								parsed -> suffix!, add append!  
							
							
							
						 
						
							2009-10-28 13:38:27 -05:00  
				
					
						
							
							
								 
						
							
							
								dc4a544a92 
								
							
								 
							
						 
						
							
							
								
								add multiline string support  
							
							
							
						 
						
							2009-09-19 01:55:05 -07:00  
				
					
						
							
							
								 
						
							
							
								3c55e7fe0c 
								
							
								 
							
						 
						
							
							
								
								Add NAN: literal syntax for NANs with a payload  
							
							
							
						 
						
							2009-09-12 15:06:15 -05:00