Last update: Thu Apr 12 03:37:15 MDT 2012
Top |
Symbols |
Numbers |
Math |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z
BibTeX entry
@Article{Appel:1994:SCS,
author = "Andrew W. Appel and David B. MacQueen",
title = "Separate Compilation for {Standard ML}",
journal = j-SIGPLAN,
volume = "29",
number = "6",
pages = "13--23",
month = jun,
year = "1994",
CODEN = "SINODQ",
DOI = "http://doi.acm.org/10.1145/178243.178245",
ISBN = "0-89791-598-4",
ISBN-13 = "978-0-89791-598-4",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
ISSN-L = "0362-1340",
bibdate = "Wed Jun 18 16:26:55 MDT 2008",
bibsource = "http://portal.acm.org/;
http://www.acm.org/pubs/contents/proceedings/pldi/178243/index.html",
URL = "http://www.acm.org:80/pubs/citations/proceedings/pldi/178243/p13-appel/",
abstract = "Languages that support abstraction and modular
structure, such as Standard ML, Modula, Ada, and (more
or less) C++, may have deeply nested dependency
hierarchies among source files. In ML the problem is
particularly severe because ML's powerful parameterized
module (functor) facility entails dependencies among
implementation modules, not just among interfaces. To
efficiently compile individual modules in such
languages, it is useful (in ML, necessary) to infer,
digest, and cache the static environment resulting from
the compilation of each module. Our system provides a
simple model of compilation and linkage that supports
incremental recompilation (a restricted form of
separate compilation) with type-safe linkage. This
model is made available to user programs in the form of
a set of internal compiler modules, a feature that we
call the ``visible compiler''. The chief client of this
interface is the IRM incremental recompilation manager
from CMU.",
acknowledgement = ack-nhfb,
annote = "Published as part of the Proceedings of PLDI'94.",
classification = "C6110 (Systems analysis and programming); C6140D
(High level languages); C6150C (Compilers, interpreters
and other processors)",
conflocation = "Orlando, FL, USA; 20-24 June 1994",
conftitle = "ACM SIGPLAN '94 Conference on Programming Language
Design and Implementation (PLDI)",
corpsource = "Princeton Univ., NJ, USA",
keywords = "abstraction; Ada; algorithms; C++; cache; CMU;
compilation; compile; deeply nested dependency
hierarchies; design; environment; high level languages;
incremental recompilation; incremental recompilation
manager; internal compiler modules; IRM; languages;
Modula; modular structure; parameterized module;
program compilers; programming; source files; Standard
ML; static environment; type-safe linkage; user
programs; visible compiler",
sponsororg = "ACM",
subject = "{\bf D.3.2} Software, PROGRAMMING LANGUAGES, Language
Classifications, ML. {\bf D.3.3} Software, PROGRAMMING
LANGUAGES, Language Constructs and Features, Modules,
packages. {\bf D.3.4} Software, PROGRAMMING LANGUAGES,
Processors, Compilers. {\bf F.3.3} Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS, Studies
of Program Constructs, Type structure.",
treatment = "P Practical",
}
Related entries
- abstraction,
25(5)25,
25(6)1,
25(6)102,
25(6)127-1,
25(6)165,
26(5)25,
27(7)22,
27(7)249,
27(7)261,
28(1)40,
28(3)133,
28(3)351,
28(6)156,
28(7)229,
28(12)85,
29(5)17-1,
29(8)1,
29(8)84,
29(8)119,
29(9)81,
29(10)212,
29(10)272,
29(12)104,
30(3)71,
30(3)83,
30(8)11,
30(8)217,
31(10)214,
32(6)53,
32(6)53,
32(8)75,
34(1)337,
34(8)183
- Ada,
25(4)20,
26(3)25,
26(12)97,
27(1)13,
27(1)14,
27(3)61,
28(3)299,
28(3)343,
28(7)129,
28(10)127,
29(3)18,
29(3)18-1,
30(2)12,
30(4)13,
30(9)9,
30(12)25
- Appel, Andrew W.,
26(4)96,
26(12)120,
27(4)87,
30(6)116,
31(2)55,
32(8)112,
32(8)112,
33(4)17
- available,
25(6)127-1,
25(6)174,
25(6)209,
27(7)200,
27(7)249,
28(3)209,
28(3)343,
28(3)359,
28(3)367,
28(6)1,
28(6)100,
28(6)300,
29(6)97,
29(6)186,
29(11)183,
30(6)103,
30(6)151,
30(6)186,
30(6)218,
30(8)58,
30(8)134,
30(11)60,
30(11)134,
31(2)6,
33(7)67
- because,
25(6)66,
25(6)174,
25(6)234,
27(7)140,
27(7)152,
27(7)300,
28(3)69,
28(3)343,
28(3)347,
28(3)365,
28(6)1,
28(6)78-1,
28(6)156,
28(7)54-1,
29(6)186,
29(6)290,
29(11)25,
29(11)145,
29(11)171,
29(11)252,
29(11)274,
30(6)1,
30(6)103,
30(6)151,
30(6)218,
30(11)60
- C6110,
25(6)102,
26(1)14,
26(6)145,
26(6)219,
27(1)95,
27(6)54,
27(12)61,
28(6)1,
28(6)13,
28(6)26,
28(6)36,
28(6)46,
28(6)56,
28(6)78-1,
28(6)90,
28(6)147,
28(6)156,
28(6)197,
28(6)207-1,
28(6)227,
28(6)237,
28(6)268,
28(6)300,
29(1)20,
29(1)53,
29(2)13,
29(2)33,
29(2)44,
29(3)18,
29(3)23,
29(3)28,
29(3)33,
29(4)15,
29(4)23,
29(4)49,
29(6)1,
29(6)24,
29(6)49,
29(6)61,
29(6)85,
29(6)159,
29(6)206,
29(6)290,
29(6)313,
29(9)22,
29(9)29,
29(9)44,
29(9)51,
29(9)72,
29(9)81,
29(9)91,
29(9)125,
29(10)259,
29(10)388,
30(3)1,
30(3)13,
30(3)62,
30(3)94,
30(4)13,
30(6)13,
30(6)23,
30(6)32,
30(6)47,
30(6)233,
30(6)246,
30(8)92,
30(11)41,
30(11)108,
30(11)117,
30(11)125
- client,
29(8)94,
29(8)119,
29(10)341,
29(10)403,
29(10)453,
29(11)2,
29(11)263,
31(9)160
- compilation,
24(3)34,
25(6)16,
25(6)137,
25(6)150,
25(6)283,
27(1)13,
27(7)68,
27(7)94,
27(7)200,
28(6)166,
28(6)237,
29(6)36,
29(10)229,
30(3)13,
30(3)119,
30(6)116,
30(6)163-1,
30(6)258,
30(8)1,
30(10)124,
30(11)41,
30(11)125,
31(5)149,
31(5)206,
31(6)34,
32(5)215,
32(7)180,
32(8)309,
32(8)309,
32(12)1,
32(12)107,
34(1)141,
34(9)160
- compile,
25(6)9,
25(6)137,
25(6)150,
25(6)174,
25(6)257,
27(7)106,
27(7)116,
28(3)349,
28(7)83,
29(6)290,
30(3)119,
30(6)67,
30(6)93,
30(6)174,
30(8)58,
30(8)179,
33(7)27
- deeply,
26(6)219,
27(7)300
- dependency,
27(7)140,
27(7)261,
28(7)83,
29(12)38,
30(8)48,
30(10)265,
31(6)83
- each,
25(6)85-1,
25(6)234,
25(6)283,
26(4)290,
27(7)1,
27(7)22,
27(7)68,
27(7)82,
27(7)188-1,
27(7)212,
27(7)273,
27(7)322,
28(2)21,
28(3)299,
28(6)1,
28(6)26,
28(6)56,
28(6)90,
28(6)100,
28(6)126,
28(6)147,
28(8)90,
29(6)85,
29(6)107,
29(6)171,
29(6)349,
29(6)349-1,
29(8)59,
29(8)101,
29(8)119,
29(11)61,
29(11)98,
29(11)171,
29(11)286,
29(11)297,
29(11)319,
30(3)35,
30(3)62,
30(6)23,
30(6)47,
30(6)79-1,
30(6)93,
30(8)29,
30(8)80-1,
30(8)134,
30(8)189,
30(11)79,
30(11)125,
33(7)43
- efficiently,
25(3)31,
25(6)66,
25(6)272,
26(6)145,
27(1)95,
27(1)95-1,
27(7)44,
27(7)212,
27(7)283,
27(9)262,
27(10)127,
28(6)46,
28(6)78-1,
28(7)54-1,
29(6)73,
29(6)278,
29(11)25,
29(11)208,
30(6)1,
30(8)11,
31(5)108
- environment,
25(2)25,
25(4)20,
25(6)78,
25(6)189,
25(6)209,
25(9)39,
25(11)85,
26(7)114,
26(11)62,
27(7)12,
27(7)44,
27(11)27,
28(1)44,
28(2)53,
28(3)69,
28(3)201,
28(3)299,
28(4)21,
28(6)26,
28(7)64,
28(10)215,
29(6)36,
29(10)51,
29(10)85,
29(10)212,
29(10)229,
29(10)355,
29(11)308,
29(12)73,
30(3)111,
30(8)48,
30(11)20-1,
30(11)146-1,
31(8)64,
31(8)64-1,
31(9)258,
32(3)42,
32(9)57,
32(9)57-1,
33(7)59,
34(10)340,
34(12)37
- facility,
25(6)78,
26(8)101,
27(7)128,
27(9)223,
27(10)235,
28(3)299,
28(3)359,
28(3)363,
28(6)1,
28(6)156,
29(2)39-1,
29(9)91,
29(11)219,
30(2)12,
30(11)117
- files,
25(6)234,
28(3)363,
29(6)196,
34(5)247
- form,
25(4)20,
25(4)73,
25(5)29,
25(5)95,
25(6)165,
25(6)189,
25(6)283,
26(1)47,
26(6)145,
27(7)1,
27(7)162,
27(8)51,
28(3)345,
28(6)26,
28(6)36,
28(6)78-1,
28(6)147,
28(6)227,
28(6)237,
28(7)112,
28(8)90,
29(6)171,
29(8)35,
29(11)297,
30(3)13,
30(3)62,
30(3)71,
30(3)111,
30(6)67,
30(8)19,
30(8)144,
30(11)134,
32(5)273,
33(5)15,
33(5)97,
33(10)65,
34(1)336,
34(5)204
- hierarchy,
25(6)16,
25(10)181,
26(3)45,
27(10)25,
28(3)367,
28(7)249,
28(10)271,
28(10)271-1,
28(10)394,
29(10)1,
29(11)328,
30(6)103,
30(6)205,
30(8)166,
30(8)189,
30(11)146-1,
31(10)83,
31(10)179,
31(10)235,
32(10)271,
33(11)105
- incremental,
25(6)197,
25(6)209,
26(2)25,
26(9)83,
27(7)261,
27(10)110,
27(10)110-1,
29(6)313,
29(9)44,
29(10)259,
29(10)324,
30(3)1,
31(5)278,
31(6)239,
32(5)31,
34(1)350,
34(3)1,
34(3)20,
34(3)130,
34(5)281
- individual,
25(6)40,
27(7)200,
27(7)311,
28(3)177,
28(3)299,
28(6)126,
28(7)92,
28(7)187,
29(12)94,
30(8)179
- infer,
25(6)127-1,
25(6)223,
27(7)1,
30(6)79-1
- internal,
27(7)82,
28(6)290,
29(6)24,
30(11)60,
31(10)83
- just,
6(4)1,
25(6)85-1,
25(8)80,
27(9)248,
28(3)355,
28(6)126,
34(4)25-1
- less,
25(5)60,
27(7)152,
27(9)223,
27(11)15,
28(7)83,
29(11)171,
29(11)232,
29(11)308,
30(3)111,
30(6)246,
30(8)144,
33(7)51
- linkage,
25(6)66,
26(8)74
- made,
23(1)17,
25(5)95,
27(7)116,
27(7)249,
27(7)300,
27(9)285,
28(3)149,
28(3)347,
28(6)217,
28(8)90,
28(12)169,
29(6)186,
29(11)98,
30(11)125
- manager,
27(10)166-1,
28(8)19,
29(12)104,
30(11)146-1
- may,
25(6)85-1,
25(6)112,
25(6)246,
27(7)32,
27(7)44,
27(7)55,
27(7)212,
27(7)235,
27(7)273,
27(7)322,
27(12)20,
27(12)28,
28(3)361,
28(6)1,
28(6)13,
28(7)23,
28(7)83,
29(6)1,
29(6)36,
29(6)206,
29(6)266,
29(6)337,
29(6)337-1,
29(6)349,
29(6)349-1,
29(8)46,
29(8)59,
29(11)25,
29(11)183,
30(3)1,
30(3)62,
30(6)67,
30(6)246,
30(11)50,
30(11)79,
30(11)125,
30(11)134,
33(7)27,
34(4)17
- Modula,
27(7)68,
27(7)273,
29(9)125,
31(10)83
- modular,
27(1)95,
27(7)82,
30(6)103,
30(10)200,
31(12)41,
32(8)1,
33(3)38,
34(1)94,
34(10)97
- necessary,
25(6)150,
27(7)94,
27(9)248,
28(3)299,
28(6)46,
28(6)126,
29(6)206,
29(8)1,
29(11)319,
30(6)186,
30(6)315,
30(8)156,
30(11)20-1,
30(11)134,
33(7)19,
33(7)27
- nested,
25(5)69,
25(6)283,
26(2)25,
27(7)162,
27(7)300,
28(3)363,
28(7)102,
28(7)119,
28(12)107,
28(12)107-1,
29(10)388,
30(2)49,
30(8)156,
32(7)1,
32(7)25,
32(7)25
- package,
25(10)278,
27(9)223,
28(3)347,
28(7)198,
28(8)90,
29(3)33,
30(8)217,
30(11)146-1,
33(7)19,
33(7)43,
33(7)51
- parameterized,
26(6)92,
28(3)133,
29(12)58,
34(10)97
- particularly,
25(6)78,
25(6)296,
28(3)69,
29(6)73,
29(6)147,
29(6)218,
30(6)93,
30(8)199,
30(11)41
- PLDI'94.,
29(6)1,
29(6)24,
29(6)36,
29(6)49,
29(6)61,
29(6)73,
29(6)85,
29(6)97,
29(6)107,
29(6)121,
29(6)135,
29(6)147,
29(6)159,
29(6)171,
29(6)186,
29(6)196,
29(6)206,
29(6)218,
29(6)230,
29(6)242,
29(6)257-1,
29(6)266,
29(6)278,
29(6)290,
29(6)302,
29(6)313,
29(6)326,
29(6)337-1,
29(6)349-1
- powerful,
27(7)116,
27(7)212,
28(3)231,
28(6)26,
28(6)147,
28(6)156,
28(7)23,
28(7)33,
28(7)112,
29(6)147,
30(3)83,
30(6)233
- restricted,
26(4)28,
28(6)68,
28(7)112,
29(11)183,
30(3)1,
30(8)48,
30(11)99
- resulting,
25(6)174,
26(6)219,
27(7)152,
29(6)147,
30(3)35,
30(6)301,
30(8)80-1
- separate,
25(6)1,
25(6)174,
28(3)353,
28(6)100,
29(6)302,
29(8)1,
29(8)119,
29(11)286,
30(3)103,
30(8)179,
30(10)124,
32(12)1
- severe,
28(7)44,
30(8)217,
33(3)57
- source,
24(3)34,
25(6)223,
25(12)85,
26(12)132,
27(7)1,
27(7)12,
27(7)68,
27(9)238,
28(6)13,
28(6)156,
28(6)166,
28(6)237,
28(7)179,
29(1)46,
29(6)1,
29(6)49,
29(6)85,
29(6)278,
29(6)290,
29(9)125,
29(11)51,
30(3)71,
30(6)67,
30(6)93,
30(6)246,
30(8)112,
30(11)99,
32(7)206,
33(7)19,
33(7)43,
33(7)75
- type-safe,
26(8)74
- useful,
25(1)59,
25(4)51,
25(6)102,
25(6)246,
25(6)322,
25(6)337,
25(10)237,
27(7)140,
27(7)188-1,
28(6)90,
28(6)300,
28(7)129,
28(8)90,
29(6)1,
29(6)147,
29(11)12,
29(11)171,
29(11)219,
29(11)252,
30(3)13,
30(8)123,
32(3)38,
32(9)68,
33(7)19
- visible,
25(8)120,
28(7)23