Doug Coleman
c4cd8991be
modern: Fix all the syntax errors.
...
Support ``{abc}foo{`` as a token name
Bug to fix:
! should error
[[M: error-class see-class*
<colon \ ERROR: pprint-word
{
[ pprint-word ]
[ superclass. ]
[ <block "slots" word-prop [ name>> pprint-slot-name ] each block> pprint-semi ]
[ tuple-declarations. ]
} cleave
block> ;]] string>literals >strings
2019-10-20 14:17:09 -05:00
Doug Coleman
f05c7e8cd8
factor: char: a -> ch'a.
...
Also all contractions are not allowed in word names anymore. Even Data cannot use contractions...
2018-08-09 18:02:38 -04:00
Doug Coleman
924b434336
Revert "factor: vocab:word -> vocab::word"
...
This reverts commit 354f1cbd34 .
2018-08-02 08:21:52 -04:00
Doug Coleman
144da45241
math.vectors.simd: fix functor.
2018-01-27 12:01:51 -06:00
Doug Coleman
5ef60f2f21
math.vectors.simd: better implementation.
2018-01-27 12:01:51 -06:00
Doug Coleman
354f1cbd34
factor: vocab:word -> vocab::word
2017-12-29 00:43:25 -08:00
Doug Coleman
efa9b2d01d
functors2: rename SAME-FUNCTOR: to INLINE-FUNCTOR:
2017-12-28 17:28:58 -08:00
Doug Coleman
887184e0e5
math.factors.simd: fix repr
2017-12-28 17:16:12 -08:00
Doug Coleman
233c3dcebd
cords: updated functors syntax. ugly.
2017-12-28 16:52:05 -08:00
Doug Coleman
032e819f3c
simd: Port to new functors. kind of ugly.
2017-12-28 16:03:14 -08:00
Doug Coleman
76ce988587
factor: punt on other functors until the new parser compiles them.
2017-12-03 10:52:21 -06:00
Doug Coleman
200b5192ed
factor: commit weekend work.
2017-09-11 16:37:47 -05:00
Doug Coleman
147ae66ab5
factor: SYNTAX: \foo
2017-08-31 21:21:13 -05:00
Doug Coleman
27b3c4cccf
functors: FUNCTOR: ;FUNCTOR -> <FUNCTOR: ;FUNCTOR>
...
Functors contain nested definitions, much like <PRIVATE PRIVATE> blocks.
A new parser will be able to parse nested definitions unambigiously without
knowledge of the definition of <FUNCTOR: itself, which is not the case if
it looks like FUNCTOR: instead.
2017-08-05 20:41:19 -05:00
John Benediktsson
ceb75057da
change ERROR: words from throw-foo back to foo.
2015-08-13 16:13:05 -07:00
Doug Coleman
b6be8685c3
basis: ERROR: changes.
2015-08-13 03:20:39 -07:00
Joe Groff
248066c710
code beautification
2011-11-13 16:10:26 -08:00
Joe Groff
32b7dc116f
math.vectors.simd.intrinsics: fix double-2 vcount
...
Turns out we use MOVMSKPS for double vectors too. Gotta save that extra instruction byte!
2011-11-13 16:10:25 -08:00
Joe Groff
dd8dda4f48
math.vectors.simd: make vcount work for all ints
2011-11-13 16:10:23 -08:00
Joe Groff
d79b462f75
compiler: add intrinsic for PMOVMSKB/MOVMSKP[SD]
...
Combined with a fast bit-count this will let us rice byte-counting.
2011-11-13 16:10:20 -08:00
Slava Pestov
b31ffdfcb4
math.vectors.simd: vlshift, vrshift, hlshift and hrshift were being miscompiled if the shift count was a bignum. Fixes #264
2011-10-30 21:50:17 -07:00
Doug Coleman
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
Slava Pestov
ba7cb61133
Stack allocation improvements
...
- New with-out-parameters combinator
- Inhibit tail call optimization in frames with local allocation, to ensure that passing a stack allocated value to the last word in the quotation works
- local allocations are now aligned properly
- spill slots are now aligned properly aligned in frames which have parameter and local allocation areas
2010-05-22 02:37:00 -04:00
Slava Pestov
ea726f5680
Move remaining sequence operations from generalizations to sequences.generalizations where they belong
2010-05-18 18:36:47 -04:00
Joe Groff
2744816209
math.vectors, math.vectors.simd: add user-facing vshuffle2 word
2010-05-14 02:47:05 -07:00
Daniel Ehrenberg
aa6158b366
Changing require-when usages to the new syntax for require-when
2010-04-18 14:29:24 -05:00
Daniel Ehrenberg
4af88ff9ff
Making more vocabs use require-when
2010-03-18 01:39:30 -04:00
Slava Pestov
af0ddd5985
Specialized arrays, structs and other objects responding to the >c-ptr / byte-length protocol can now be written to binary streams
2010-02-24 20:18:41 +13:00
Slava Pestov
ff172f4132
Make specialized arrays and SIMD types final so that typed can unbox them
2010-02-18 02:39:40 +13:00
Slava Pestov
df4fb4a3ee
Removing integers-as-sequences
2010-01-15 07:15:33 +13:00
Joe Groff
6b9c4254ad
move simd operation methods onto simd-128 instead of concrete classes to save image space
2009-12-05 21:19:17 -08:00
Joe Groff
2b2be5f121
Merge branch 'master' of git://factorcode.org/git/factor
2009-12-05 17:18:49 -08:00
Joe Groff
3e40a36c50
fix simd tests
2009-12-05 17:17:16 -08:00
Slava Pestov
abe72ae7ae
math.vectors.simd: ensure that set-alien-vector is open-coded in the actual set-nth-unsafe method on SIMD specialized arrays, not just inlined instances
2009-12-05 18:20:57 -05:00
Joe Groff
104c29aabc
simd intrinsic implementation for v*high, v*hs+, vavg, and vsad
2009-12-05 14:52:18 -08:00
Joe Groff
1845915dc6
add v*high, v*hs+, vavg, and vsad operations to math.vectors
2009-12-05 11:32:31 -08:00
Joe Groff
36b0b65320
move sequence instance to individual SIMD types rather than simd-128 parent type so that "hashcode*" doesn't attempt to use the sequence implementation of hashcode on abstract simd-128 objects
2009-12-04 13:22:59 -08:00
Joe Groff
0795c60b83
"norm" doesn't need to be generic, "norm-sq sqrt" always works
2009-11-26 11:15:35 -08:00
Joe Groff
7da80f65e7
trick math.vectors.simd into making nicer quotations
2009-11-25 20:24:09 -08:00
Joe Groff
d344023b1c
update math.vectors.conversion
2009-11-24 20:53:40 -08:00
Joe Groff
c98eb84943
make math.vectors.simd tests pass again
2009-11-24 18:30:12 -08:00
Joe Groff
d94ffe6d78
scalar fallbacks for simd intrinsics
2009-11-23 21:24:55 -08:00
Joe Groff
6794d14652
typo
2009-11-19 12:17:14 -08:00
Joe Groff
152b0d2df5
break simd intrinsics into a separate vocab so they can be intrinsified before the simd methods compile
2009-11-19 11:53:46 -08:00
Joe Groff
736be27162
move methods back into simd functor so the intrinsics can compile
2009-11-19 11:29:15 -08:00
Joe Groff
c07f3212f9
fix effect of set-alien-vector
2009-11-18 22:18:42 -08:00
Joe Groff
a3e4ecfc7d
enable simd intrinsics and fix first-pass compiler errors
2009-11-18 20:32:05 -08:00
Joe Groff
243e5b43ce
fixes for stronger stack checker
2009-11-14 22:25:00 -06:00
Joe Groff
8a8699ac98
backend fixups
2009-11-14 20:59:03 -06:00
Joe Groff
e323071c44
sever lingering dependencies on simd from compiler
2009-11-11 16:08:40 -06:00