Commit Graph

55 Commits

Author SHA1 Message Date
Matthew Flatt
426a8c0d39 add `exn:fail:{filesystem,syntax}:missing-module'
These exception types are intended as a hook for a programming
environment to recommend packages that can provide a module that isn't
found (through an uncaught-exception handler). The new exceptions are
generated by the default module name resolver and defaultload
handler. In addition to the exceptions, there's a new
`prop:exn:missing-module' property and `exn:missing-module?', which is
what an environment should use to detect relevant exceptions.

There's also a new `current-module-path-for-load' parameter, which
just provides a commuincation path from the module name resolver to
the the load handler. The parameter is a relatively ugly piece of the
puzzle, but it's the best I could find to squash the new functionality
into the existing stack of handlers.
2013-04-22 10:27:02 -06:00
Danny Yoo
075212d07c Correct typo. 2013-04-09 15:49:11 -06:00
Matthew Flatt
abf44f8b49 add `module-compiled-cross-phase-persistent?' 2013-02-27 08:53:43 -07:00
Matthew Flatt
ef525233a2 references: link "A parameter that..." to the definition of "parameter" 2012-08-22 10:28:56 -06:00
Matthew Flatt
a3b316c02f typo 2012-07-18 03:52:20 -06:00
Matthew Flatt
c8f4ac6ae4 submodules: make .zo path stick for consistent independent loading
When a module is loaded from bytecode and then the value of
`use-compiled-file-paths' changes, an attempt to load a submodule
would fail, because source isn't used if the main module is
already declared, and the bytecode code is not used according to
`use-compiled-file-paths'. Make the bytecode path stick when it
is used once, so that submodule loads succeed, and make it work
even with `namespace-module-attach'.

The module-attach part of this protocol requires a change to the
API of a module name resolver: the notification mode gets two
arguments, instead of one, where the second argument is an
environment.
2012-07-17 09:47:05 -06:00
Matthew Flatt
8718a5dd62 doc and error-message fixes for module name resolver 2012-07-16 19:22:30 -06:00
Ryan Culpepper
eb3dce14cd fix some doc contracts for submodules 2012-05-07 14:46:13 -06:00
Matthew Flatt
9ba663aa77 preserve submoduleness in module path index for expanded submodules
The preserved path is exposed by a new `module-path-index-submodule'
function, and `module-path-index-join' now accepts an optional
submodule path.

Also, fixed a problem with `collapse-module-path-index' when
a module path indx is built on a resolved module path that
is a submodule path.

In addition to the main repair, `collapse-module-path[-index]' is
correctly documented to allow '(quote <sym>) rel-to paths.

Finally, `collapse-module-path-index' changed to use a symbolic
resolved module path that appears as the base of a module path
index, rather than falling back to the given rel-to path. It's
possble that the old beavior was intentional, but it wasn't tested,
and it seems more likely to have been a bug.

Closes PR 12724
2012-04-24 21:10:28 -06:00
Matthew Flatt
659ff05143 refine some contracts related to submodule paths
Merge to 5.3
2012-04-19 12:45:28 -06:00
Matthew Flatt
876bc6f02b doc corrections and improvements related to submodules
In particular, add `module+' to the Guide.
2012-03-22 15:12:55 -06:00
Matthew Flatt
facc8db712 change module-path?' to subsume path?'
Although th eoriginal idea was to distinguish "text" paths
from derived filesystem paths, practically everythign that accepts
a module path also accepts a path. Building the generalization into
`module-path?' makes it easier to support `submod' wrappers on paths,
and it seems to fix things rather than break them.
2012-03-12 21:08:54 -06:00
Matthew Flatt
566759a5fa progress on submodule docs; bug fixes 2012-03-09 10:34:56 -07:00
Matthew Flatt
3d69dfab86 first cut at submodules 2012-03-09 10:34:56 -07:00
Matthew Flatt
3bffcae3c2 fix places & executable interaction
Added `module-predefined?' and changed `racket -k ...'
2011-11-15 18:42:21 -07:00
Eli Barzilay
d61eb53686 Lots of documentation formatting.
Started as fixing misindented definitions, then more indentations, then
a bunch of similar things (square brackets, huge spaces at end-of-lines,
etc).
2011-08-15 07:50:04 -04:00
Matthew Flatt
089201b49b doc typo fixes 2011-07-09 06:16:10 -06:00
Eli Barzilay
debd1f9f1e Recketizing much in `net/*', mass ".ss" -> ".rkt" conversion in .scrbl files.
(Some other minor things here and there.)
2011-06-20 04:27:14 -04:00
Matthew Flatt
963a8214b8 fix typo
Closes PR 11862
 Merge to 5.1.1
2011-04-18 15:47:52 -06:00
Matthew Flatt
5b3865f3e6 doc repairs 2011-01-07 09:48:03 -07:00
Eli Barzilay
c4f67b3e74 Small typos, some reformatting.
Fixes PR10920
2010-05-21 16:30:16 -04:00
Matthew Flatt
aa9a8549ad finish Guide chaper on defining languages 2010-05-14 13:34:23 -06:00
Matthew Flatt
1a5e662433 doc corrections and completions 2010-05-08 11:46:14 -06:00
Matthew Flatt
dbc4ea6e82 racketify reference more 2010-04-26 14:42:33 -06:00
Matthew Flatt
ce2d286586 add current-module-declare-source, variable-reference->module-source, convert soe sues of module paths to module sources
svn: r18804
2010-04-13 02:48:40 +00:00
Matthew Flatt
bdb71498e3 module paths normalize to .rkt, load handler converts .rkt back to .ss if necessary
svn: r18788
2010-04-11 16:55:18 +00:00
Matthew Flatt
2cb9f378aa Racket experiments
svn: r18725
2010-04-02 21:29:59 +00:00
Matthew Flatt
349c15d478 replae module->compiled-module-expression with module->imports and module->exports
svn: r17588
2010-01-09 14:42:18 +00:00
Matthew Flatt
4fedeeaf7a add module->compiled-module-expression, which is used in Scribble's traversal of module paths to find documented bindings
svn: r17576
2010-01-08 19:53:04 +00:00
Matthew Flatt
30c0dcf045 dynamic-require and 0 mode; repair to unsafe-fl ops; x86_64 for Mac OS X
svn: r15985
2009-09-11 23:05:50 +00:00
Matthew Flatt
1b21c14fd4 fix doc bug; could merge to 4.1.2
svn: r15584
2009-07-27 14:24:37 +00:00
Matthew Flatt
fd9ee204a5 on third thought, it's module->namespace that needs to prepare the compile time, not dynamic-require, and that's why it worked before; restored the visit-availing behavior of module->namespace, and rewound the previous change (still for PR 10185)
svn: r14455
2009-04-08 02:21:22 +00:00
Matthew Flatt
8c9bcd50c2 on second thought, PR 10185 demonstrates why the variant of dynamic-require (and namespace-attach-module) that doesn't make the phase availble is difficult to reason about; changing dynamic-require and namespace-attach-module, instead of DrScheme
svn: r14454
2009-04-08 02:11:21 +00:00
Matthew Flatt
1d26e97a35 Scheme-implemented editor classes; on-demand instantiation of module phases
svn: r14445
2009-04-07 17:12:22 +00:00
Eli Barzilay
c0a8a01222 Changed @itemize{...} to @itemize[...] (done after comparing the doc
tree and verifying that there are no changes).
(Also fixed a few bugs that were in the code)

svn: r14427
2009-04-05 17:46:20 +00:00
Matthew Flatt
2109cec2f4 free-id=? propagation through module exports; add 'not-free-identifier=? syntax property to disable free-id=? propagation; add prop:rename-transformer and prop:set-transformer; fix scheme/local so that local syntax bindings are visible to later definitions (v4.1.5.3)
svn: r14191
2009-03-19 20:22:18 +00:00
Matthew Flatt
87f92bc33e doc clarification
svn: r13719
2009-02-18 02:59:56 +00:00
Matthew Flatt
67f29daee5 reference doc corrections
svn: r12650
2008-11-30 14:32:58 +00:00
Matthew Flatt
077e5a4666 change reference and some other docs to use #f instead of false/c and or/c insteda of one-of/c
svn: r12023
2008-10-13 19:45:37 +00:00
Matthew Flatt
dd7db9ff7b add read-language, module-compiled-language-info, and module->language-info
svn: r11827
2008-09-21 16:00:42 +00:00
Matthew Flatt
2b98280729 fix module-path-index spec and use related to resolved module paths
svn: r11523
2008-09-02 13:54:43 +00:00
Matthew Flatt
9af00fcfb4 v4.0.2.4: logging
svn: r10818
2008-07-17 15:20:17 +00:00
Eli Barzilay
4ca2fb8c00 removed latex-induced-typos
svn: r10414
2008-06-23 04:03:18 +00:00
Carl Eastlund
e3f0a7ca15 Fixed typo in documentation of current-module-name-resolver.
svn: r10090
2008-06-02 15:04:21 +00:00
Matthew Flatt
ba63bd6f95 3.99.0.13: generalize require and provide to work with arbitrary phases
svn: r8742
2008-02-20 14:17:37 +00:00
Eli Barzilay
264af9a6d0 improved scribble syntax use
svn: r8720
2008-02-19 12:22:45 +00:00
Matthew Flatt
7fc41024c0 3.99.0.9: binding links in docs use nominal import sources
svn: r8196
2008-01-03 19:07:02 +00:00
Matthew Flatt
d91a07ef9b updates from Chongkai, plus a small doc repair
svn: r7919
2007-12-07 18:38:07 +00:00
Matthew Flatt
9b96716432 improve arity error messages when keywords are involved
svn: r7887
2007-12-02 15:45:51 +00:00
Matthew Flatt
0cc6eac6db doc require/provide transformers and pretty-print
svn: r7820
2007-11-23 14:53:20 +00:00