]> gitweb.factorcode.org Git - factor.git/log
factor.git
12 years agocore/basis: trim down using lists
Doug Coleman [Thu, 1 Dec 2011 00:02:37 +0000 (16:02 -0800)]
core/basis: trim down using lists

12 years agofurnace.auth.providers.couchdb: fix manifest
Joe Groff [Thu, 1 Dec 2011 01:58:29 +0000 (17:58 -0800)]
furnace.auth.providers.couchdb: fix manifest

12 years agocombinators.smart: Use an identity memoize on inputs/outputs word to speed up the...
Doug Coleman [Wed, 30 Nov 2011 22:32:25 +0000 (14:32 -0800)]
combinators.smart: Use an identity memoize on inputs/outputs word to speed up the non-optimizing compiler

12 years agomemoize: implement identity memoize, trim using lists so bootstrap continues to work
Doug Coleman [Wed, 30 Nov 2011 22:28:40 +0000 (14:28 -0800)]
memoize: implement identity memoize, trim using lists so bootstrap continues to work

12 years agoio.encodings.iana: remove values
Joe Groff [Tue, 29 Nov 2011 21:22:23 +0000 (13:22 -0800)]
io.encodings.iana: remove values

12 years agoxml.entities: remove USING: values
Joe Groff [Tue, 29 Nov 2011 20:21:08 +0000 (12:21 -0800)]
xml.entities: remove USING: values

12 years agovm: fix msvc warning
Joe Groff [Tue, 29 Nov 2011 20:19:17 +0000 (12:19 -0800)]
vm: fix msvc warning

12 years agoio.sockets: remove unneeded USING: values
Joe Groff [Tue, 29 Nov 2011 17:46:51 +0000 (09:46 -0800)]
io.sockets: remove unneeded USING: values

12 years agoremove values vocab
Joe Groff [Tue, 29 Nov 2011 05:26:06 +0000 (21:26 -0800)]
remove values vocab

12 years agocombinators.smart: Fix infer-known; should be 100% now.
Doug Coleman [Tue, 29 Nov 2011 04:54:17 +0000 (20:54 -0800)]
combinators.smart: Fix infer-known; should be 100% now.
It's stack-checker bugs all the way down.

12 years agocombinators.smart: Implement reduce-outputs using compose, fix some stack effects...
Doug Coleman [Tue, 29 Nov 2011 00:18:51 +0000 (16:18 -0800)]
combinators.smart: Implement reduce-outputs using compose, fix some stack effects, add using

12 years agoio.directories.unix: remove redundant using
Joe Groff [Tue, 29 Nov 2011 04:36:46 +0000 (20:36 -0800)]
io.directories.unix: remove redundant using

12 years agoio: implement stream protocols on f
Joe Groff [Tue, 29 Nov 2011 04:36:34 +0000 (20:36 -0800)]
io: implement stream protocols on f
Fixes deployed applications that write to output-stream

12 years agoio.files.info: fix circularity
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

12 years agofastcgi: fix load and compile errors
Joe Groff [Tue, 29 Nov 2011 02:56:00 +0000 (18:56 -0800)]
fastcgi: fix load and compile errors

12 years agobenchmark.regex-dna: reduce IO deploy level again
Joe Groff [Tue, 29 Nov 2011 02:55:48 +0000 (18:55 -0800)]
benchmark.regex-dna: reduce IO deploy level again

12 years agospecialized-arrays: update tests
Joe Groff [Tue, 29 Nov 2011 02:55:20 +0000 (18:55 -0800)]
specialized-arrays: update tests

12 years agofurnace.auth.providers.couchdb: fix load error
Joe Groff [Tue, 29 Nov 2011 02:55:11 +0000 (18:55 -0800)]
furnace.auth.providers.couchdb: fix load error

12 years agonamespaces: rework so a singleton isn't necessary
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.

12 years agonamespaces: make set-global/get-global foldable
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.

12 years agocombinators.smart: Enable a unit test, handle M: object infer-known*, make sum-output...
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.

12 years agocombinators.smart: Fix reduce-outputs, rename quot*n to call-n, rewrite more macros...
Doug Coleman [Mon, 28 Nov 2011 20:41:50 +0000 (12:41 -0800)]
combinators.smart: Fix reduce-outputs, rename quot*n to call-n, rewrite more macros as combinators.

12 years agoregexp: trivial refactoring
Doug Coleman [Mon, 28 Nov 2011 19:46:15 +0000 (11:46 -0800)]
regexp: trivial refactoring

12 years agocode-arrays: don't ask, don't tell
Doug Coleman [Mon, 28 Nov 2011 06:03:55 +0000 (22:03 -0800)]
code-arrays: don't ask, don't tell

12 years agopubsubhubbub support by samueltardieu. Fixes #148.
John Benediktsson [Mon, 28 Nov 2011 17:57:03 +0000 (09:57 -0800)]
pubsubhubbub support by samueltardieu.  Fixes #148.

12 years agofastcgi alpha preview
Brennan Cheung [Fri, 30 Jul 2010 00:54:24 +0000 (17:54 -0700)]
fastcgi alpha preview

12 years agoCouchDB auth provider (furnace.auth.providers.couchdb)
Alex Drummond [Tue, 23 Feb 2010 08:33:17 +0000 (03:33 -0500)]
CouchDB auth provider (furnace.auth.providers.couchdb)

12 years agogeneralizations: Refactor stack-checker so that smart combinators can be used with...
Doug Coleman [Mon, 28 Nov 2011 00:21:20 +0000 (16:21 -0800)]
generalizations: Refactor stack-checker so that smart combinators can be used with curry and compose.

12 years agosyntax: add note to #! docs
Joe Groff [Sun, 27 Nov 2011 23:03:40 +0000 (15:03 -0800)]
syntax: add note to #! docs

12 years agolexer: skip #! as a single token at front of line
Joe Groff [Sun, 27 Nov 2011 22:59:54 +0000 (14:59 -0800)]
lexer: skip #! as a single token at front of line
Fixes #370

12 years agovm: factor out embedded image detection code
Joe Groff [Sun, 27 Nov 2011 22:39:21 +0000 (14:39 -0800)]
vm: factor out embedded image detection code

12 years agotools.deploy.config: docs typos
Joe Groff [Sun, 27 Nov 2011 22:17:18 +0000 (14:17 -0800)]
tools.deploy.config: docs typos

12 years agotools.deploy.shaker: missing using
Joe Groff [Sun, 27 Nov 2011 22:14:35 +0000 (14:14 -0800)]
tools.deploy.shaker: missing using

12 years agotools.deploy.config: more stern warnings in docs
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.

12 years agoui.tools.deploy: add doc link to deploy-flags
Joe Groff [Mon, 21 Nov 2011 23:43:28 +0000 (15:43 -0800)]
ui.tools.deploy: add doc link to deploy-flags
That's where all the settings are actually described.

12 years agotools.deploy.macosx: deploy separate VM and image
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.

12 years agoio.files: back out resource-path change
Joe Groff [Mon, 21 Nov 2011 23:20:25 +0000 (15:20 -0800)]
io.files: back out resource-path change
It's too brittle against varying current directories or the Factor directory being moved.

12 years agoio.files: use initialize to set resource-path
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.

12 years agotools.deploy.backend: make-deploy-image back out
Joe Groff [Mon, 21 Nov 2011 22:20:57 +0000 (14:20 -0800)]
tools.deploy.backend: make-deploy-image back out
So "deploy-image-only" still works

12 years agotools.deploy.macosx: oops, logic inversion
Joe Groff [Mon, 21 Nov 2011 22:20:19 +0000 (14:20 -0800)]
tools.deploy.macosx: oops, logic inversion

12 years agoui.tools.deploy: update deploy-console description
Joe Groff [Mon, 21 Nov 2011 21:10:55 +0000 (13:10 -0800)]
ui.tools.deploy: update deploy-console description
No longer windows specific

12 years agotools.deploy.config: update docs
Joe Groff [Mon, 21 Nov 2011 21:10:09 +0000 (13:10 -0800)]
tools.deploy.config: update docs

12 years agotools.deploy.macosx: tweak bundle vs exe logic
Joe Groff [Mon, 21 Nov 2011 21:09:54 +0000 (13:09 -0800)]
tools.deploy.macosx: tweak bundle vs exe logic
Must deploy an app bundle if the UI is used.

12 years agotools.deploy: embed image into deployed VM
Joe Groff [Mon, 21 Nov 2011 19:44:27 +0000 (11:44 -0800)]
tools.deploy: embed image into deployed VM
Also, use the unix backend to deploy non-UI applications on macosx

12 years agotools.deploy.embed: useful factors
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).

12 years agonew module tools.deploy.embed: make self-exe image
Joe Groff [Sat, 19 Nov 2011 02:39:19 +0000 (18:39 -0800)]
new module tools.deploy.embed: make self-exe image

12 years agoio.directories.unix: make copy-file copy perms
Joe Groff [Sat, 19 Nov 2011 02:38:39 +0000 (18:38 -0800)]
io.directories.unix: make copy-file copy perms
Like the docs claim it does

12 years agovm: support self-executing image file
Joe Groff [Sat, 19 Nov 2011 02:05:23 +0000 (18:05 -0800)]
vm: support self-executing image file

12 years agoicon for user-init-errors
Joe Groff [Sun, 27 Nov 2011 20:06:48 +0000 (12:06 -0800)]
icon for user-init-errors

12 years agobreak circularity
Joe Groff [Sun, 27 Nov 2011 19:45:28 +0000 (11:45 -0800)]
break circularity

12 years agocommand-line: don't die if factor-rc has an error
Joe Groff [Thu, 24 Nov 2011 01:36:51 +0000 (17:36 -0800)]
command-line: don't die if factor-rc has an error
Instead, put user-init-errors in the error list.

12 years agomath.complex: pass tests even if number-base set
Joe Groff [Sun, 27 Nov 2011 01:46:38 +0000 (17:46 -0800)]
math.complex: pass tests even if number-base set

12 years agomath.integers: make bignum/f round to even on tie
Joe Groff [Sun, 27 Nov 2011 01:44:29 +0000 (17:44 -0800)]
math.integers: make bignum/f round to even on tie
Fixes #372

12 years agomath.integers: pass tests even if number-base set
Joe Groff [Sun, 27 Nov 2011 01:37:17 +0000 (17:37 -0800)]
math.integers: pass tests even if number-base set

12 years agomath.integers: test round-to-even-on-tie behavior
Joe Groff [Sun, 27 Nov 2011 00:03:43 +0000 (16:03 -0800)]
math.integers: test round-to-even-on-tie behavior

12 years agomath: neg? needs to be defined for all reals
Joe Groff [Sat, 26 Nov 2011 23:37:58 +0000 (15:37 -0800)]
math: neg? needs to be defined for all reals

12 years agomath.parser: don't accept hex float without expt
Joe Groff [Sat, 26 Nov 2011 23:15:46 +0000 (15:15 -0800)]
math.parser: don't accept hex float without expt
Part of #372

12 years agooops, radix prefixes shouldn't chain
Joe Groff [Thu, 24 Nov 2011 20:39:52 +0000 (12:39 -0800)]
oops, radix prefixes shouldn't chain

12 years agomath.parser: test harder
Joe Groff [Thu, 24 Nov 2011 20:34:50 +0000 (12:34 -0800)]
math.parser: test harder

12 years agomath.parser: reject "0x" etc. without any digits
Joe Groff [Thu, 24 Nov 2011 20:27:40 +0000 (12:27 -0800)]
math.parser: reject "0x" etc. without any digits

12 years agoparser: remove parse-base dead code
Joe Groff [Thu, 24 Nov 2011 06:33:31 +0000 (22:33 -0800)]
parser: remove parse-base dead code

12 years agoprettyprint.backend: can't use locals
Joe Groff [Thu, 24 Nov 2011 04:20:27 +0000 (20:20 -0800)]
prettyprint.backend: can't use locals

12 years agosyntax: remove BIN: HEX: OCT:
Joe Groff [Thu, 24 Nov 2011 04:07:33 +0000 (20:07 -0800)]
syntax: remove BIN: HEX: OCT:

12 years agoprettyprint: use radix prefixes for number-base
Joe Groff [Thu, 24 Nov 2011 04:05:23 +0000 (20:05 -0800)]
prettyprint: use radix prefixes for number-base

12 years agomath.parser: oops
Joe Groff [Thu, 24 Nov 2011 03:51:15 +0000 (19:51 -0800)]
math.parser: oops

12 years agomath: add neg? word
Joe Groff [Thu, 24 Nov 2011 03:51:05 +0000 (19:51 -0800)]
math: add neg? word
Do the right thing with integers or floats

12 years agotools.disassembler.utils: 0x isn't a name anymore
Joe Groff [Thu, 24 Nov 2011 03:48:38 +0000 (19:48 -0800)]
tools.disassembler.utils: 0x isn't a name anymore
sorry bro

12 years agolet's pretend BIN: HEX: OCT: never happened
Joe Groff [Thu, 24 Nov 2011 03:22:37 +0000 (19:22 -0800)]
let's pretend BIN: HEX: OCT: never happened

12 years agouse radix literals
Joe Groff [Thu, 24 Nov 2011 02:49:33 +0000 (18:49 -0800)]
use radix literals

12 years agomath.parser: natively support 0b 0o 0x syntax
Joe Groff [Thu, 24 Nov 2011 02:29:39 +0000 (18:29 -0800)]
math.parser: natively support 0b 0o 0x syntax
Closes #371

12 years agoui.backend.cocoa.views: clickthrough is bullshit
Joe Groff [Wed, 23 Nov 2011 19:29:03 +0000 (11:29 -0800)]
ui.backend.cocoa.views: clickthrough is bullshit
I don't care what Slava thinks

12 years agovm: don't die if foreign thread gets async signal
Joe Groff [Wed, 23 Nov 2011 19:26:42 +0000 (11:26 -0800)]
vm: don't die if foreign thread gets async signal
Fixes #425

12 years agovm: remove useless forward declare
Joe Groff [Wed, 23 Nov 2011 18:24:29 +0000 (10:24 -0800)]
vm: remove useless forward declare

12 years agovm: quell warnings from vars only used by asserts
Joe Groff [Wed, 23 Nov 2011 06:51:54 +0000 (22:51 -0800)]
vm: quell warnings from vars only used by asserts

12 years agovm: clean up baroque jit safepoint logic
Joe Groff [Wed, 23 Nov 2011 06:48:41 +0000 (22:48 -0800)]
vm: clean up baroque jit safepoint logic

12 years agovm: verify code heap's all_blocks set when DEBUG
Joe Groff [Wed, 23 Nov 2011 06:45:48 +0000 (22:45 -0800)]
vm: verify code heap's all_blocks set when DEBUG

12 years agovm: FACTOR_ASSERT only if FACTOR_DEBUG
Joe Groff [Wed, 23 Nov 2011 06:45:19 +0000 (22:45 -0800)]
vm: FACTOR_ASSERT only if FACTOR_DEBUG

12 years agocompiler.cfg.finalization: reenable scheduling
Joe Groff [Tue, 22 Nov 2011 02:58:30 +0000 (18:58 -0800)]
compiler.cfg.finalization: reenable scheduling
Prolog safepoint appears to work with it enabled

12 years agovm: replace assert with FACTOR_ASSERT
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.

12 years agovm: charge samples collected in prolog to parent
Joe Groff [Fri, 18 Nov 2011 01:13:59 +0000 (17:13 -0800)]
vm: charge samples collected in prolog to parent
Fixes #379

12 years agovm: initialize all_blocks map from image
Joe Groff [Fri, 18 Nov 2011 01:13:18 +0000 (17:13 -0800)]
vm: initialize all_blocks map from image
um, code blocks from the image need to go in the set too

12 years agovm: keep a set of all code_blocks in the code_heap
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.

12 years agocompiler: emit safepoints in optimized prologs
Joe Groff [Thu, 17 Nov 2011 00:50:16 +0000 (16:50 -0800)]
compiler: emit safepoints in optimized prologs

12 years agovm: emit safepoints before VM compiler prologs
Joe Groff [Wed, 16 Nov 2011 20:39:25 +0000 (12:39 -0800)]
vm: emit safepoints before VM compiler prologs
For #379

12 years agoclasses.maybe: Change the type of maybe's class slot. As a result, maybe: maybe:...
Doug Coleman [Wed, 23 Nov 2011 09:43:02 +0000 (01:43 -0800)]
classes.maybe: Change the type of maybe's class slot. As a result, maybe: maybe: integer is valid now, so fix the unit tests and its prettyprinting.

12 years agoclasses.maybe: make maybe's slot type a classoid so you can do maybe: union{ }. Fix...
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.

12 years agocompiler tests: fix using, add tests to make sure instance? inlines
Doug Coleman [Wed, 23 Nov 2011 09:01:11 +0000 (01:01 -0800)]
compiler tests: fix using, add tests to make sure instance? inlines

12 years agocompiler.tree.propagation.transforms: fix infinite recursion that was breaking pretty...
Doug Coleman [Wed, 23 Nov 2011 08:48:05 +0000 (00:48 -0800)]
compiler.tree.propagation.transforms: fix infinite recursion that was breaking prettyprint

12 years agoclasses: optimize instance? for classoids
Doug Coleman [Wed, 23 Nov 2011 04:38:07 +0000 (20:38 -0800)]
classes: optimize instance? for classoids

12 years agodlists: use maybe: dlist-link.
Doug Coleman [Wed, 23 Nov 2011 03:38:46 +0000 (19:38 -0800)]
dlists: use maybe: dlist-link.

12 years agoclasses: add syntax for intersection{ and union{ anonymous classes. make classoid...
Doug Coleman [Wed, 23 Nov 2011 02:49:18 +0000 (18:49 -0800)]
classes: add syntax for intersection{ and union{ anonymous classes. make classoid a mixin.

12 years agoclasses: Make methods dispatch on maybes. Fix a couple bugs in the implementation...
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.

12 years agoclasses.maybe: move maybe definition from classes.union to classes.maybe
Doug Coleman [Tue, 22 Nov 2011 10:44:58 +0000 (02:44 -0800)]
classes.maybe: move maybe definition from classes.union to classes.maybe

12 years agomulti-methods: predicate-quot -> predicate-def
Doug Coleman [Tue, 22 Nov 2011 10:12:01 +0000 (02:12 -0800)]
multi-methods: predicate-quot -> predicate-def

12 years agotyped: Teach typed about maybe: foo. Should maybe: foo satisfy unboxable-tuple-class? ?
Doug Coleman [Tue, 22 Nov 2011 10:08:37 +0000 (02:08 -0800)]
typed: Teach typed about maybe: foo. Should maybe: foo satisfy unboxable-tuple-class? ?

12 years agoclasses.union: Define a maybe: word that makes a tuple that acts as an anonymous...
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.

12 years agobenchmark: remove debug code
Doug Coleman [Tue, 22 Nov 2011 05:54:09 +0000 (21:54 -0800)]
benchmark: remove debug code

12 years agococoa.messages: Apply mrjbq's patch to show the name of the cooca function in sender...
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.

12 years agobenchmark: Add a way to run a profile for each benchmark vocabulary.
Doug Coleman [Mon, 21 Nov 2011 21:42:49 +0000 (13:42 -0800)]
benchmark: Add a way to run a profile for each benchmark vocabulary.

12 years agoio.monitors: kill outdated doc about kqueue on BSD
Joe Groff [Fri, 18 Nov 2011 00:56:34 +0000 (16:56 -0800)]
io.monitors: kill outdated doc about kqueue on BSD