Commit Graph

255 Commits (cbdd559a759b5aef9b1c97d8b69a29e159d14ae1)

Author SHA1 Message Date
John Benediktsson 05c35ebda3 kernel: change errors to be in kernel.private. 2014-06-04 14:33:02 -07:00
Björn Lindqvist 6627a3327b kernel: symbolic constants for the various kernel errors 2014-06-04 23:16:40 +02:00
John Benediktsson 57f9d78892 improve help by linking to types directly. 2014-05-23 20:20:15 -07:00
John Benediktsson 98935b7f15 docs: change ``{ $quotation "( x -- y )" }`` to ``{ $quotation ( x -- y ) }``. 2014-05-18 20:09:10 -07:00
Doug Coleman 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
Doug Coleman 3582a6c624 kernel: Add 4dup, 4drop, and 4cleave. 2012-10-22 09:47:34 -07:00
John Benediktsson 76882d2c25 kernel: adding docs for "same?" 2012-07-21 19:43:16 -07:00
John Benediktsson 71cd7c5f81 kernel: adding "same?" which is "bi@ =". 2012-07-21 10:22:29 -07:00
Doug Coleman ee721d1811 kernel: Change the example for with to be more clear. Division example credit goes to chezmax. 2012-02-16 09:49:08 -08:00
Joe Groff e24400679f vm: more defense against multi-faulting
* Clear faulting_p from a safepoint rather than inside general_error, because jumping into unwind-native-frames could blow up.
* Handle multiple faults from fatal_error by breakpointing. Is there anything else we can safely do at that point?
* Verify memory protection faults in the top half of the signal handlers because signal dispatch could fault. Treat memory faults during gc or fep as fatal errors.
* Add a function factor_vm::abort() that restores the default SIGABRT handler and ::abort()s. Use it from fatal_error() so we get useful context from gdb and so the user gets feedback from the system crash reporter that Factor blew up and didn't just disappear.
* In factorbug(), don't proceed with .s .r .c if it would be unsafe to do so.
* Don't pile on signals if we've already called fatal_error().
2011-11-12 13:02:57 -08:00
Joe Groff ed24890dce io.backend.unix: init-signal-pipe function
Currently just reads off signal numbers and drops them.
2011-11-08 08:42:48 -08:00
Joe Groff d28845a1ef vm: reserve some more special-objects
Need a jit-safepoint object to deal with #332, and ffi-signal-handler words for immediate signal handling during FFI calls
2011-11-02 22:16:08 -07:00
Joe Groff 8cf18d1a82 remove BSD,solaris,etc. misc platform support code 2011-11-02 17:13:51 -07:00
Joe Groff 186bf65a00 constants for special object hardcoded literals 2011-11-02 12:54:50 -07:00
John Benediktsson 5a943b32c4 Remove stack effects from HELP: declarations. 2011-10-20 19:36:11 -07:00
Joe Groff f8ec85fd06 kernel: higher-order effects for *keep 2011-10-14 10:45:02 -07:00
Doug Coleman 539d34fd23 Fix help lint for when*,unless* 2011-08-23 12:28:16 -07:00
Joe Groff 8feb6c68e2 kernel: add full stack effects to unless, when, when*, unless* so they give useful stack imbalance errors 2011-08-09 10:32:12 -07:00
Joe Groff cefb541c33 kernel: add a note to the documentation for "dip" and "if" that they are primitive for certain arguments 2011-03-07 09:28:51 -08:00
Keita Haga fc048b6336 kernel: add stack effect declaration to usage example of object class in docs 2011-01-16 17:58:36 +09:00
Keita Haga d5fe4fecc1 remove useless whitespace in several documentation 2011-01-05 15:55:34 +09:00
Joe Groff 0b025c61fc kernel: update *dip docs to match stack effects and not mention retain stack 2010-05-01 17:03:03 -07:00
Slava Pestov d6fb134d5f kernel: add examples for if, when, unless and if* 2010-04-05 19:07:10 -04:00
Slava Pestov c7142e4281 threads: use context-switching primitives 2010-03-29 20:40:17 -04:00
Slava Pestov 8ab0d12e8d vm: callstack errors were flipped 2010-03-29 01:53:30 -04:00
Slava Pestov 43ac59a9f4 kernel: don't test callstack overflow on OpenBSD or Windows 2010-03-28 17:58:05 -05:00
Slava Pestov b5f7e91bdc vm: report callstack overflow 2010-03-27 07:45:11 -04:00
Joe Groff 18f3df9d4a more help-lint 2010-03-09 21:02:43 -08:00
Joe Groff 17df15280e generalize stack effect of while, until, and produce 2010-03-05 23:01:22 -08:00
Joe Groff 85f30987e2 spray some polymorphic stack effects on kernel, math, and sequences 2010-03-05 00:21:10 -08:00
Slava Pestov 220dd88a2c Update documentation for new help lint check 2010-02-19 12:31:52 +13:00
Slava Pestov 0b278adb5a Test fixes 2010-02-03 23:11:31 +13:00
Slava Pestov f8474c3856 Documentation improvements 2010-02-03 23:11:30 +13:00
Slava Pestov 34287fd9d6 Minor documentation updates 2010-01-30 09:28:54 +13:00
Slava Pestov ee71f87cfd kernel: remove bogus test 2010-01-20 19:13:58 +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 63023ae227 kernel: fix set-callstack docs 2009-12-28 12:41:45 +13:00
Slava Pestov 819e46f42b kernel: fix stack effect declarations of call-clear and set-callstack, and add a unit test for call-clear 2009-12-26 15:38:01 +13:00
Slava Pestov 2afd7ce244 Faster identity-hashcode primitive; fast path now opencoded by the compiler 2009-11-11 02:27:19 -06:00
Slava Pestov 064c00f78d New identity-hashcode primitive 2009-11-10 21:18:54 -06:00
Slava Pestov ba31abb301 Fix some test failures 2009-11-06 02:35:43 -06:00
Joe Groff 00ce8b6a33 deprimitivize tuck and put it to pasture 2009-11-05 22:47:05 -06:00
Joe Groff 61d579360d remove non-primitive-related uses of tuck from basis 2009-11-05 17:03:24 -06:00
Joe Groff 6e9d369331 remove spin from core and retire it to basis/shuffle 2009-11-05 15:40:48 -06:00
Slava Pestov e4ad642134 vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress) 2009-11-02 04:25:54 -06:00
Joe Groff 3f15e028f7 exile roll and -roll to basis/shuffle and mark them deprecated 2009-10-30 17:11:45 -05:00
Joe Groff 70ffa003ec eliminate roll/-roll from core 2009-10-30 13:36:15 -05:00
Joe Groff eccf3fba9d shun ugly shuffle words in the docs 2009-10-29 19:42:55 -05:00
Joe Groff f21ba7a759 update the article on shuffle words to hide away the more troublesome ones 2009-10-29 14:07:46 -05:00
Doug Coleman 0d4b9132d7 fix a bunch of typos in docs 2009-10-21 17:40:43 -05:00
Keith Lazuka 405e5d015b docs: change $subsection to $subsections 2009-10-02 12:15:48 -04:00
Slava Pestov 030b1b816c Add inline declarations for various assorted methods 2009-08-17 22:32:21 -05:00
Brad Christensen f8405e9c55 A number of documentation fixes.
* Short-circuit combinators now show correct stack effect for quots
 * Groups and Clumps unchecked examples corrected, made runnable in listener
 * Class operations had duplicate link to class-types
 * Protocol slots readability fixed
 * Tuple word property for "tuple-layout" corrected to "layout"
 * cond>quot sentence started in lowercase
 * Method precedence code example missing stack effect for GENERIC:, M: integer explain changed to detail an integer
 * Motivation for default streams readability
 * Default input and output streams duplicate readln link removed from output stream words section
 * Looping combinators do description clarified
 * Make philosophy missing space
 * Linear order protocol duplicate after? link removed
 * Parsing words readability fix
 * Copied note regarding with-compilation-unit from define to define-declared and define-inline
2009-08-10 23:34:25 -07:00
Slava Pestov fb6df472a2 Cleaning up USING: lists for new strict semantics 2009-05-14 16:54:16 -05:00
Slava Pestov 65faa3fda3 Fix unit tests and load errors for slip removal 2009-05-10 17:03:41 -05:00
Slava Pestov f6ff74596e Removing slip 2slip 3slip nslip 2009-05-10 16:39:17 -05:00
Doug Coleman 0ad6d1fb7b add a few usages of iota, remove most 1+ and 1- from core 2009-05-01 19:58:24 -05:00
Slava Pestov 7e84daf0f1 Move (execute) to kernel.private 2009-04-26 02:42:37 -05:00
Slava Pestov ba40acda28 Merge Joe Groff's booleans vocab into kernel 2009-04-23 22:39:31 -05:00
Slava Pestov 8432c30ed1 Fix docs 2009-04-22 21:20:36 -05:00
Slava Pestov 3353a777f7 Fixing some unit test failures 2009-04-22 07:05:00 -05:00
Doug Coleman 364ea217ef fix more compiler errors 2009-04-17 14:44:08 -05:00
Slava Pestov 99b8400e56 Documentation updates 2009-04-06 03:00:46 -05:00
Slava Pestov 6c0986f8b2 Add definition mixin in definitions vocab to replace hard-coded union in ui.tools.operations; add ?execute to kernel to replace dup word? [ execute ] when calls in unicode.breaks and opengl 2009-03-26 21:27:45 -05:00
Slava Pestov 356bff6424 kernel doesn't need to depend on classes.tuple.private 2009-03-23 01:18:39 -05:00
Slava Pestov 723bfab030 Fixing unit tests for syntax change 2009-03-23 00:34:02 -05:00
Slava Pestov be4fb1e7d9 Move call( and execute( to core 2009-03-16 20:11:36 -05:00
Slava Pestov 667eca9410 Fix unit tests and help lint for 'see' move 2009-03-11 17:33:54 -05:00
Slava Pestov 25a877e50b Merge OneEyed's patch 2009-02-28 17:06:55 -06:00
Slava Pestov cd53c2bd37 produce and produce-as: don't need third quotation either 2009-02-28 15:31:34 -06:00
Slava Pestov 78ce670101 Merge branch 'for-slava' of git://git.rfc1149.net/factor 2009-02-28 14:42:56 -06:00
Slava Pestov c8d5e98898 Fix conflicts 2009-02-26 03:12:19 -06:00
Slava Pestov 4426526252 Fixing some things I broke 2009-02-25 23:30:30 -06:00
Samuel Tardieu 087d931c36 Remove the tail argument from do/until/while 2009-02-18 02:41:14 +01:00
Samuel Tardieu 3c859a77bf Simplify most 2009-02-18 01:56:54 +01:00
Slava Pestov d147b98cfe Documentation improvements 2009-02-17 04:57:02 -06:00
Slava Pestov 312bf5939e Fix conflict 2009-02-12 04:45:45 -06:00
Slava Pestov a550c9874c kernel: add {bi,tri}-curry{,*,@} combinators from new_ui branch 2009-02-12 04:23:35 -06:00
Slava Pestov 67eef761bb kernel: cleanup 2009-02-12 04:14:05 -06:00
Slava Pestov e5f21545dd Start writing some docs for curried dataflow combinators 2009-02-11 04:57:46 -06:00
Slava Pestov 0684a9b7b0 Merge branch 'master' into new_ui 2009-02-09 18:16:14 -06:00
Daniel Ehrenberg 975f197558 Fixing help-lint bugs 2009-02-09 14:37:22 -06:00
Slava Pestov c04ee453e3 Merge branch 'master' into new_ui 2009-02-06 11:10:55 -06:00
Slava Pestov d1486589ef Improving macro docs 2009-02-06 10:22:09 -06:00
Slava Pestov aed691dab3 Clean up kernel vocab 2009-02-06 05:12:30 -06:00
Slava Pestov 1bbabcd5e1 Remove some usages of slip combinators from the core 2009-02-05 03:29:59 -06:00
Slava Pestov 669548e62e Clean up some usages of tuck, and add Joe's curried cleave/spread/apply combinators to kernel vocabulary 2009-02-02 13:43:54 -06:00
Slava Pestov 4513417657 Clean up some messy stack shuffling 2009-02-01 19:14:43 -06:00
Slava Pestov 7780c5d983 Fix two small typos 2009-01-27 05:05:46 -06:00
Slava Pestov a9ef525aed Help lint fixes for stricter help lint 2009-01-27 04:12:37 -06:00
Slava Pestov 92f9338978 Smart quotes 2009-01-26 23:20:27 -06:00
Slava Pestov ca2f01e0d0 Updating non-core libraries for monotonic? change 2009-01-16 17:02:54 -06:00
Slava Pestov c47f14afcd Add link 2009-01-07 21:20:05 -06:00
Slava Pestov af49278d3f Add 2tri* and 2tri@ combinators, clean up (3each), and fix failing unit test for 3map 2009-01-05 18:12:34 -06:00
unknown 99c6a9f31d Fix kernel unit tests on Win64 2008-12-21 18:52:13 -06:00
Slava Pestov 5fdb474c76 Fixing various test failures and updating some more vocabs for >r/r> removal 2008-12-17 22:29:32 -06:00
Slava Pestov b154b21aaa Add new until combinator, and a new do word which acts like a modifier: do while, do until for loops which iterate at least once 2008-12-08 23:37:18 -06:00
Slava Pestov a56d480aa6 Various optimizations leading to a 10% speedup on compiling empty EBNF parser:
- open-code getenv primitive
- inline tuple predicates in finalization
- faster partial dispatch
- faster built-in type predicates
- faster tuple predicates
- faster lo-tag dispatch
- compile V{ } clone and H{ } clone more efficiently
- add fixnum fast-path to =; avoid indirect branch if two fixnums not eq
- faster >alist on hashtables
2008-12-06 09:16:29 -06:00
Slava Pestov 8db24bdd34 assert-depth now has a static stack effect. This fixes a UI unit test failure 2008-12-05 08:25:26 -06:00
Slava Pestov e304d3c9f8 Local DCE 2008-12-04 06:02:49 -06:00