Joe Groff [Tue, 29 Nov 2011 03:37:01 +0000 (19:37 -0800)]
io.files.info: fix circularity
Remove the undocumented and redundant "copy-file-and-info" word, since "copy-file" does the same thing, and the circular dependency on "io.directories" was causing some deploys to fail
Joe Groff [Sun, 27 Nov 2011 18:43:23 +0000 (10:43 -0800)]
namespaces: rework so a singleton isn't necessary
Make global foldable, and make the underlying global object a hashtable wrapper. Also, use a tuple instead of a generic array for the global box type.
Joe Groff [Sun, 27 Nov 2011 04:20:55 +0000 (20:20 -0800)]
namespaces: make set-global/get-global foldable
Store the globals hashtable as an array of boxes so that the key-to-reference mapping is constant. Use a singleton and an unfoldable "box-at" word so that get-global and set-global optimize to direct operations on the associated box when the variable name is a compile-time constant. Fixes #200.
Doug Coleman [Mon, 28 Nov 2011 22:36:57 +0000 (14:36 -0800)]
combinators.smart: Enable a unit test, handle M: object infer-known*, make sum-outputs a macro.
Fixes inverse but still needs work, once I figure out how.
Joe Groff [Sun, 27 Nov 2011 20:37:38 +0000 (12:37 -0800)]
tools.deploy.config: more stern warnings in docs
Warn that deploy-io=3, deploy-math, and deploy-threads are effectively required. Also note that deploy-ui? requires an app bundle deployment on Mac OS X.
Joe Groff [Mon, 21 Nov 2011 23:31:12 +0000 (15:31 -0800)]
tools.deploy.macosx: deploy separate VM and image
This is the easiest way to make sure "resource:" works with deployed bundles for now. Single-file executables aren't really an issue with app bundles anyway.
Joe Groff [Mon, 21 Nov 2011 22:24:50 +0000 (14:24 -0800)]
io.files: use initialize to set resource-path
If a resource path is already set in the image, don't change it. Should make #364 work a bit more as expected, and let us set the resource path for deployed Mac OS X bundles.
Joe Groff [Mon, 21 Nov 2011 19:10:06 +0000 (11:10 -0800)]
tools.deploy.embed: useful factors
Separate the embedding of an image into a VM executable (embed-image) from the copy-and-embed logic (make-embedded-image).
Joe Groff [Fri, 18 Nov 2011 04:42:30 +0000 (20:42 -0800)]
vm: replace assert with FACTOR_ASSERT
Factor is finally a real C++ project and has a custom assert macro. Assertion failures were still getting caught as exceptions and causing failure loops. Write our own macro that calls factor::abort on failure.
Joe Groff [Thu, 17 Nov 2011 22:29:01 +0000 (14:29 -0800)]
vm: keep a set of all code_blocks in the code_heap
This way looking up code blocks by return address is an O(log n) set lookup rather than an O(n) linear scan.
Doug Coleman [Wed, 23 Nov 2011 09:19:09 +0000 (01:19 -0800)]
classes.maybe: make maybe's slot type a classoid so you can do maybe: union{ }. Fix prettyprinting of anonymous-union/intersection. Fixes #427, fixes #428.
Doug Coleman [Tue, 22 Nov 2011 22:47:52 +0000 (14:47 -0800)]
classes: Make methods dispatch on maybes. Fix a couple bugs in the implementation of maybe. classoid? is now a dumb test if an object could be a well-formed classoid; valid-classoid? tests for well-formedness. Move maybe tests. Make pprint* work better on methods.
Doug Coleman [Tue, 22 Nov 2011 07:00:52 +0000 (23:00 -0800)]
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.
Doug Coleman [Tue, 22 Nov 2011 00:38:16 +0000 (16:38 -0800)]
cocoa.messages: Apply mrjbq's patch to show the name of the cooca function in sender stubs. rename 'method' in stack effects to 'signature' since we are passing an array with the return value and arguments, not the method.