Doug Coleman
9f213f96f6
core: Add the shuffler words but without primitives.
...
The nipd branch slowed bootstrap by a minute, this patch does not.
sorry about changing the fjsc line endings...
2018-06-19 22:52:58 -05:00
Björn Lindqvist
134a9fbcb4
VM: we can save the process by throwing a normal error here
2017-06-25 01:43:31 +02:00
John Benediktsson
2269b07d33
use with-temp-file and with-temp-directory in some tests.
2016-04-04 10:33:03 -07:00
Doug Coleman
9e9b7fe367
io.streams.c: use unique-file
2016-03-30 17:31:32 -07:00
John Benediktsson
e477f6996f
Fix comments to be ! not #!.
2015-09-08 16:15:10 -07:00
Doug Coleman
43d6f1d3e2
factor: Retrying on the unit tests. Also normalize some syntax with FUNCTION:.
2015-07-02 17:28:17 -07:00
Doug Coleman
59f3b1ea57
Revert "factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!"
...
Needs a bit more work.
This reverts commit 7e54cc2824
.
2015-07-02 13:47:06 -07:00
Doug Coleman
7e54cc2824
factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!
2015-07-02 11:36:08 -07:00
Doug Coleman
e3cb325040
factor: clean up whitespace in -docs files
2015-07-02 10:31:22 -07:00
Doug Coleman
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
John Benediktsson
2c3492a916
minor cleanup to some docs.
2015-05-13 16:09:14 -07:00
John Benediktsson
6fd908da40
use suffix! and append!.
2014-12-03 11:37:34 -08:00
John Benediktsson
3f362dfc99
destructors: change check-disposed not to drop the disposable.
2014-11-21 08:19:05 -08:00
John Benediktsson
c36a9193ae
io.streams.c: use binary-object.
2014-11-20 18:40:48 -08:00
John Benediktsson
86cff7b921
io.streams.c: faster M\ c-reader stream-read-until.
2014-11-16 07:07:41 -08:00
John Benediktsson
5487480126
core: cleanup USING lists.
2013-03-05 10:34:47 -08:00
John Benediktsson
68f8d5bc17
io: more inlining.
2012-07-25 20:55:01 -07:00
Joe Groff
5a3537b90a
io.files: add file-reader, file-writer mixins
...
This lets us do some trickery so that the stream-element-type propagates from <file-reader>/<file-writer>. For #376 .
2011-11-09 14:43:39 -08:00
Joe Groff
186bf65a00
constants for special object hardcoded literals
2011-11-02 12:54:50 -07:00
Joe Groff
1386212d23
vm: dispatch signal handlers through subprimitive
...
We also need to save C ABI volatile registers before calling the signal handler in order to be able to reliably resume. Add signal-handler and leaf-signal-handler subprimitives to preserve volatile registers before invoking the signal handler C function.
2011-10-27 21:18:18 -07:00
John Benediktsson
5a943b32c4
Remove stack effects from HELP: declarations.
2011-10-20 19:36:11 -07:00
Joe Groff
13b17fb84a
io: input-stream and output-stream mixins
2011-10-18 16:25:09 -07:00
Joe Groff
0353179a92
io.streams.c: remove -seek and -tell methods
...
M: c-stream stream-seek was broken and bootstrap doesn't need it so save some code.
2011-10-17 21:23:10 -07:00
Joe Groff
3588e6e4dc
io.streams.c: help-lint
2011-10-17 21:23:08 -07:00
Joe Groff
09f55f82fa
clean up forwarding stream-read-partial-unsafe
...
Now that "io" provides a method on object for stream-read-partial-unsafe that forwards to stream-read-unsafe, individual stream class that don't implement partial reads don't need to provide such a method themselves.
2011-10-17 21:23:06 -07:00
Joe Groff
6f12322bda
kill noncopying-reader mixin, stream-read generic
...
Now that all streams have been updated to implement the stream-read-unsafe protocol, take out the noncopying-reader shim. Turn stream-read and stream-read-partial into plain functions over the -unsafe generics.
2011-10-17 21:23:05 -07:00
Joe Groff
66bb07bbcf
io, io.streams.c: factor noncopying-reader mixin
...
Instances of the mixin implement stream-read and stream-read-partial in terms of stream-read-unsafe and stream-read-partial-unsafe, respectively.
2011-10-17 21:22:58 -07:00
Joe Groff
2518f1c0e9
io.streams.c: Document fputc primitive
2011-10-17 21:22:58 -07:00
Joe Groff
5a072c57a6
bootstrap, io.streams.c: use new fread primitive
...
Change the fread primitive to fread-unsafe, matching the new primitive in the VM, and update the implementation of c-reader to implement stream-read-unsafe and stream-read in terms of fread-unsafe
2011-10-17 21:22:58 -07:00
John Benediktsson
4f42c72012
specialized-arrays: performed some cleanup.
...
Specifically,
• Created >c-array to be replacement for >T-array.
• Created cast-array to be generic replacement for all T-array-cast words.
• Created c-array@ to be generic replacement for T-array@ words.
• Replaced usages of <T-array> with T <c-array>
• Replaced usages of <direct-T-array> with T <c-direct-array>
• Replaced usages of >T-array with T >c-array
• Replaced usages of T-array-cast with T cast-array
• Replaced usages of malloc-T-array with T malloc-array.
• Removed malloc-T-array.
• Removed T-array-cast.
• Removed T-array@.
• Removed >T-array.
I also added (but didn't change any code to use):
• T c-array-type, returns T-array
• T c-array?, returns T-array?
• c-array{ T ... }, returns T-array{ ... }
Bootstraps just find on Mac OS X. Also `load-all test-all` works for me.
2011-09-26 11:37:51 -07:00
Slava Pestov
cb25591d36
io: missed a few byte-array>int-array in unit tests
2010-05-19 16:22:39 -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
1c10196c43
Rename kernel.private:getenv/setenv to special-object/set-special-object to mirror recent renaming on the VM side
2010-01-13 18:08:18 +13:00
Slava Pestov
f6c0c64518
threads, io.streams.c: cleanups
2009-12-15 07:20:41 -05:00
Slava Pestov
0612bc6177
Factor source files should not be executable
2009-11-21 17:50:43 -06:00
Doug Coleman
bd13e018dd
memq? -> member-eq?, sorted-memq? -> sorted-member-eq?
2009-10-28 15:02:00 -05:00
Doug Coleman
1d41f4c66c
add unit test for c stream-tell
2009-10-03 19:07:16 -05:00
Doug Coleman
098fd0248a
support limited-streams correctly for seekable streams
2009-10-03 18:27:09 -05:00
Keith Lazuka
405e5d015b
docs: change $subsection to $subsections
2009-10-02 12:15:48 -04:00
Slava Pestov
46045c882e
Disposables are now registered in a global disposables set. To take advantage of this, subclass disposable instead of providing a disposed slot and call new-disposable instead of new. tools.disposables defines two words, 'disposable.' and 'leaks', to help track down resource lifetime problems
2009-08-24 02:26:13 -05:00
Slava Pestov
96b1ae86a4
Clean up init-stdio implementations and move io.streams.null to basis
2009-05-12 03:35:48 -05:00
Slava Pestov
8e3e67fad4
Fix test failures
2009-05-04 13:10:56 -05:00
Slava Pestov
b4088373b7
Merge branch 'master' of git://factorcode.org/git/factor
2009-05-04 05:16:47 -05:00
Slava Pestov
a63ad6a7a5
Remove cruddy string encoding/decoding code from VM
2009-05-02 13:45:38 -05:00
Doug Coleman
ce7ad9a42d
fix unit tests that call lines or contents
2009-05-01 16:38:04 -05:00
Slava Pestov
9907bd9fe2
Add fseek primitive so that c-streams can seek. This lets the UI work without native IO
2009-04-03 10:16:25 -05:00
Slava Pestov
07a5a46009
Add stream-element-type generic word
2009-03-15 17:11:18 -05:00
Doug Coleman
c253cd854a
move null streams to core and make them not depend on io.styles and io.timeouts, initialize the std streams to null-streams on windows in win32 mode
2009-01-29 18:33:19 -06:00
Slava Pestov
63fda570bf
Fixing assorted compile errors and help lint warnings
2008-12-16 01:12:36 -06:00
Slava Pestov
daf2857d7b
define-inline now takes an effect parameter
...
C: now sets the stack effect of the new word to slot names
add new basis/constants vocab; CONSTANT: foo bar is equivalent to : foo bar ; inline
(going to fold CONSTANT:, ALIAS: and qualified into core soon perhaps)
tighten the screws: inline words now need a stack declaration too
update some usages of inline words
2008-12-15 19:44:56 -06:00