Last update: Sat Jan 6 02:03:49 MST 2018
Top |
Symbols |
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{Bloss:1989:OCM,
author = "Adrienne Bloss and P. R. Hudak and J. H. Young",
title = "An optimising compiler for a modern functional
language",
journal = j-COMP-J,
volume = "32",
number = "2",
pages = "152--161",
month = apr,
year = "1989",
CODEN = "CMPJA6",
DOI = "https://doi.org/10.1093/comjnl/32.2.152",
ISSN = "0010-4620 (print), 1460-2067 (electronic)",
ISSN-L = "0010-4620",
bibdate = "Tue Dec 4 14:48:26 MST 2012",
bibsource = "Compendex database;
http://comjnl.oxfordjournals.org/content/32/2.toc;
http://www.math.utah.edu/pub/tex/bib/compj1980.bib;
http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/;
Misc/Functional.bib",
URL = "http://comjnl.oxfordjournals.org/content/32/2/152.full.pdf+html;
http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/152.tif;
http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/153.tif;
http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/154.tif;
http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/155.tif;
http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/156.tif;
http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/157.tif;
http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/158.tif;
http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/159.tif;
http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/160.tif;
http://www3.oup.co.uk/computer_journal/hdb/Volume_32/Issue_02/tiff/161.tif",
abstract = "One of the factors hindering the use of functional
languages has been their relatively poor performance in
comparison to more traditional languages such as C and
Pascal. During the last decade tremendous progress has
been made in building implementations of functional
languages but the approaches adopted have employed
specialist hardware and/or compiler optimizations that
have been developed specifically for functional
languages. Building specialist hardware may be the best
long-term solution but in the short run it is possible
to increase the use and acceptance of functional
languages by exploiting the performance of commercially
available machines. The goal of this project described
in this paper has been to design an optimizing compiler
that produces fast code for functional languages on
conventional sequential and parallel machines.",
acknowledgement = ack-nhfb,
affiliation = "Dept. of Comput. Sci., Yale Univ.",
affiliationaddress = "New Haven, CT, USA",
classcodes = "C6150C (Compilers, interpreters and other processors);
C6110 (Systems analysis and programming); C6140D (High
level languages)",
classification = "723; C6110 (Systems analysis and programming);
C6140D (High level languages); C6150C (Compilers,
interpreters and other processors)",
corpsource = "Dept. of Comput. Sci., Yale Univ., New Haven, CT,
USA",
fjournal = "The Computer Journal",
journal-URL = "http://comjnl.oxfordjournals.org/",
keywords = "alfl lisp orbit strictness analysis benchmarks;
Computer Operating Systems; Computer Programming
Languages; functional; Functional language; Functional
Languages; functional programming; high level
languages; language; Optimising compiler; optimising
compiler; Optimization; parallel; Parallel machine;
parallel machine; Program Compilers; program compilers;
programming; Semantics, Sequencial machines; sequencial
machines; Termination",
thesaurus = "Functional programming; High level languages; Parallel
programming; Program compilers",
treatment = "P Practical",
}
Related entries
- approach,
23(1)3,
23(1)9,
23(1)28,
23(2)114-1,
23(3)223,
23(3)256,
23(4)317,
24(3)222,
24(4)320,
25(1)12,
25(3)353,
25(4)410,
25(4)442,
25(4)492,
26(3)255,
26(3)283,
26(4)293,
26(4)360,
26(4)383,
27(1)3,
27(1)37,
27(2)171,
27(3)246,
28(1)59,
28(1)89,
28(2)97,
28(2)162,
28(4)353,
29(2)161,
29(2)189,
29(2)189-1,
29(3)222,
29(4)330,
29(5)385,
30(1)8,
30(2)119,
30(2)176,
30(3)258,
30(5)393,
30(5)437,
30(6)507,
31(2)133,
31(2)182,
31(3)243,
31(5)409,
32(2)162,
32(5)386,
32(5)437
- available,
28(3)195,
30(3)214,
31(3)243
- been,
23(2)142,
24(4)320,
32(1)13,
32(2)127,
32(2)142,
32(2)162,
32(5)461
- benchmark,
26(3)208,
31(4)296
- best,
25(1)32,
25(1)114
- building,
30(4)295,
31(4)336,
32(5)386
- C,
25(4)492,
29(3)201,
29(6)527,
30(2)157,
31(3)285,
32(4)290
- C6110,
31(5)391,
31(5)420,
31(5)426,
31(5)431,
31(6)481,
31(6)531,
31(6)545,
32(1)1,
32(2)98,
32(2)122,
32(2)142,
32(2)175,
32(3)202,
32(4)290,
32(4)305,
32(4)323,
32(4)333,
32(4)341,
32(5)461
- C6140D,
32(1)36,
32(1)90,
32(2)127,
32(4)290,
32(4)297,
32(4)305,
32(4)312,
32(4)323,
32(4)341,
32(5)413
- C6150C,
31(6)517,
31(6)540,
31(6)545,
32(1)29,
32(1)91,
32(2)127,
32(2)142,
32(2)175,
32(3)276,
32(5)422,
32(5)445
- code,
23(1)46,
23(1)53,
23(1)66,
23(2)147,
23(3)212,
23(3)223,
24(4)324,
25(3)316,
25(4)442,
26(4)303,
26(4)375,
27(3)246,
27(4)354,
27(4)368-1,
28(3)343,
28(4)379,
29(1)12,
29(1)60,
29(4)307,
29(5)472,
29(6)573,
30(1)87,
30(2)149,
30(6)541,
30(6)569,
31(6)517,
32(3)228,
32(3)241,
32(3)246,
32(3)276
- comparison,
23(2)142,
23(3)274,
25(1)74,
25(2)169,
25(2)248,
29(4)368,
30(4)316,
31(3)248,
32(3)202,
32(3)220
- compiler,
23(2)115,
23(2)147,
23(3)211,
23(3)212,
23(3)223,
23(3)273,
24(2)107,
25(1)17,
25(3)331,
26(1)15,
26(2)142,
26(2)164,
27(3)233,
27(4)348,
28(1)9,
28(2)128,
28(3)257,
29(2)151,
29(3)253,
30(2)183,
30(4)328,
30(6)519,
31(6)517,
31(6)540,
31(6)545,
32(1)29,
32(1)91,
32(2)127,
32(2)142,
32(2)175,
32(3)276,
32(5)422,
32(5)445
- conventional,
27(4)368-1,
30(5)437
- described,
23(2)142,
25(4)471,
30(3)214,
32(1)45,
32(5)422,
32(5)461
- exploiting,
28(2)138
- factor,
25(2)161,
25(2)199,
26(1)93,
27(2)97,
28(2)97,
29(2)167,
29(5)475,
31(5)386,
31(5)391,
31(5)398,
31(5)409,
31(5)431,
31(5)437,
31(5)445,
31(5)457,
31(5)465,
32(6)533
- fast,
23(2)188,
25(2)231,
26(3)224,
30(1)77,
30(4)376,
31(2)147,
31(3)283,
32(3)281,
32(4)351,
32(6)541
- hardware,
23(1)46,
23(2)115,
24(3)230,
24(4)353,
25(4)471,
27(2)143,
27(3)246,
27(3)254,
28(2)105,
28(3)200,
28(3)264,
28(4)357,
30(4)295,
31(3)193,
32(4)362
- has,
32(2)127
- have,
24(4)320,
29(4)289,
31(3)243,
32(1)13,
32(2)142,
32(2)162,
32(5)461
- high,
23(2)124,
23(2)153,
24(1)56,
25(1)153,
25(2)176,
25(2)264,
25(3)289,
26(1)52,
26(1)72,
26(2)124,
26(2)175,
26(3)228,
26(3)277,
26(4)344,
26(4)360,
26(4)366,
27(1)37,
27(1)83,
27(2)97,
27(2)151,
28(1)34,
28(3)231,
28(3)250,
28(4)391,
29(2)118,
29(3)229,
29(3)253,
29(4)289,
29(4)340,
29(6)500,
29(6)506,
29(6)538,
30(2)128,
30(5)437,
30(6)487,
30(6)558,
31(2)99,
31(2)110,
31(3)220,
31(3)243,
32(1)36,
32(1)90,
32(2)127,
32(2)162,
32(4)290,
32(4)297,
32(4)305,
32(4)312,
32(4)323,
32(4)341,
32(5)413
- implementation,
23(3)212,
23(3)233,
24(1)71,
24(2)191,
24(4)384-2,
25(1)74,
25(3)307,
25(3)399,
25(4)471,
26(2)134,
26(2)164,
26(2)187,
26(3)235,
27(2)127,
27(3)260,
28(1)22,
28(2)97,
28(2)128,
28(4)391,
29(2)97,
29(3)201,
29(3)269,
29(6)500,
30(2)97,
30(2)157,
30(3)282,
30(3)282-1,
30(5)393,
30(5)420,
31(1)56,
31(2)116,
31(2)125,
31(2)147,
31(4)330,
31(5)398,
31(6)531,
31(6)545,
32(1)93,
32(2)127,
32(2)142,
32(2)175,
32(3)267,
32(4)312,
32(5)422
- interpreter,
23(3)223,
26(2)164,
30(1)37,
30(1)43,
30(6)519,
31(2)110,
31(6)517,
31(6)525,
31(6)540,
31(6)545,
32(1)29,
32(1)91,
32(2)108,
32(2)127,
32(2)142,
32(2)175,
32(3)276,
32(5)422,
32(5)445
- last,
32(2)122
- level,
23(2)124,
23(2)153,
24(1)25,
24(1)56,
24(1)62,
25(1)153,
25(2)176,
25(2)264,
25(3)289,
25(4)429,
26(1)52,
26(1)72,
26(2)124,
26(2)175,
26(2)188,
26(3)228,
26(3)235,
26(3)277,
26(4)344,
26(4)360,
26(4)366,
27(1)83,
27(2)97,
27(2)151,
27(4)334,
28(1)34,
28(3)250,
28(4)357,
29(2)118,
29(3)229,
29(3)253,
29(4)340,
29(6)500,
29(6)506,
29(6)538,
30(1)52,
30(2)128,
30(5)437,
30(6)487,
31(2)99,
31(2)110,
31(3)220,
31(3)229,
31(3)243,
31(4)344,
32(1)36,
32(1)90,
32(2)127,
32(2)162,
32(4)290,
32(4)297,
32(4)305,
32(4)312,
32(4)323,
32(4)341,
32(5)413
- lisp,
31(4)330
- long-term,
32(1)68
- machine,
23(3)229,
25(1)153,
26(4)293,
27(3)254,
27(3)283,
28(2)148,
28(5)449,
29(5)396,
29(5)451,
30(2)110,
30(3)214,
30(5)386,
30(5)393,
30(5)420,
31(4)325,
31(5)386,
31(5)391,
31(5)398,
31(5)409,
31(5)420,
31(5)426,
31(5)431,
31(5)437,
31(5)457,
31(6)490,
32(1)36,
32(2)127,
32(2)175,
32(5)461
- made,
25(4)471
- may,
24(4)320,
26(3)235,
31(3)243,
31(4)289,
32(2)108
- more,
23(2)142,
28(2)162,
30(5)437,
31(4)289,
32(1)13
- one,
23(2)165,
27(4)368-1,
28(3)313,
28(5)530,
30(5)437,
31(6)496,
32(1)13,
32(2)175,
32(5)461
- optimising,
30(5)458,
30(5)475
- optimization,
23(4)338,
25(2)188,
25(3)340,
26(2)154,
27(4)301,
28(5)518,
29(2)118,
29(2)182,
29(6)495,
30(5)458,
31(1)71,
31(2)99,
31(4)344
- other,
31(3)243,
31(6)496,
31(6)517,
31(6)540,
31(6)545,
32(1)29,
32(1)91,
32(2)127,
32(2)142,
32(2)175,
32(3)262,
32(3)276,
32(5)422,
32(5)445
- paper,
23(1)33,
24(1)95,
25(4)471,
26(2)109,
26(3)235,
27(3)288-2,
27(4)368-1,
28(1)1,
28(2)104-2,
28(4)446-1,
29(3)201,
29(3)277,
29(4)289,
29(5)477-1,
31(5)457,
31(6)496,
32(2)98,
32(2)142,
32(2)175,
32(5)422
- Pascal,
24(2)112,
25(1)17,
25(2)176,
25(2)248,
25(3)289,
25(3)340,
25(4)496,
26(2)164,
26(2)187,
26(4)366,
27(4)348,
27(4)373,
28(2)134,
28(3)270,
28(4)391,
29(2)176,
29(3)246,
29(3)277,
29(5)423,
30(1)52,
30(3)277,
30(4)337,
30(4)355,
30(4)372,
31(1)1,
31(1)9,
31(6)553,
31(6)557
- performance,
24(2)132,
24(4)343,
24(4)347,
24(4)384-2,
25(1)74,
25(2)169,
25(2)188,
25(2)193,
25(2)227,
25(3)347,
25(4)486,
26(1)93,
26(2)113,
27(1)27,
27(2)143,
27(2)165,
27(3)201,
27(3)238,
27(3)270,
28(2)142,
28(2)179,
28(3)231,
28(3)309,
28(3)319,
28(3)330,
28(4)409,
28(4)426,
28(5)501,
29(1)47,
29(2)118,
29(4)289,
29(5)390,
29(5)396,
29(5)451,
30(4)289,
30(4)362,
30(6)519,
30(6)535,
31(1)12,
31(3)276,
31(4)304,
31(5)409,
31(5)437,
31(5)445,
31(6)490,
31(6)565,
32(1)16,
32(2)142,
32(3)228,
32(3)252,
32(4)333,
32(5)437,
32(5)453
- poor,
32(2)142
- possible,
24(1)3,
25(1)32,
25(2)286-2
- processor,
23(2)147,
24(1)14,
24(1)62,
25(1)22,
25(4)423,
27(4)348,
28(1)29,
28(1)34,
28(2)148,
28(3)243,
28(4)357,
29(1)12,
29(4)289,
29(5)390,
29(6)486,
30(2)119,
30(3)214,
30(5)386,
30(5)393,
30(5)404,
30(5)413,
30(5)420,
30(5)433,
30(5)437,
31(1)12,
31(6)517,
31(6)540,
31(6)545,
32(1)29,
32(1)91,
32(2)127,
32(2)142,
32(2)175,
32(3)194,
32(3)276,
32(5)422,
32(5)437,
32(5)445,
32(6)571
- produce,
24(4)320,
26(3)235
- project,
26(3)247,
28(3)291,
28(5)474,
29(2)151,
29(3)201,
29(3)246,
29(6)527,
30(1)63,
30(5)469,
31(5)391,
32(5)386
- run,
25(1)114,
25(1)116,
25(2)193,
28(1)9,
30(5)475,
31(3)243
- semantic,
23(2)132,
23(3)212,
23(4)317,
24(1)56,
24(2)125,
25(1)63,
25(2)264,
25(3)331,
26(2)124,
26(2)164,
26(3)228,
27(1)83,
27(3)233,
28(2)112,
28(2)162,
28(3)250,
28(4)357,
28(5)480,
29(1)33,
29(2)151,
29(3)241,
29(5)404,
30(2)128,
30(3)239,
30(4)328,
30(6)498,
31(1)9,
31(2)141,
31(3)193,
32(1)90,
32(2)108,
32(4)290,
32(5)422
- sequential,
23(1)37,
24(1)78,
25(4)486,
26(1)43,
26(3)277,
27(4)321,
28(2)179,
28(3)291,
29(4)368,
29(6)500,
29(6)506,
30(3)258,
30(5)437,
30(6)529,
30(6)565,
31(1)41,
32(1)93
- short,
25(1)158,
26(1)93,
26(2)187,
26(2)188-1,
26(3)282,
27(1)83,
27(1)84,
27(1)86,
27(1)87,
27(3)283-1,
27(3)283-3,
27(3)284-1,
27(4)373,
27(4)375,
27(4)376,
28(2)111,
29(2)189-1,
29(4)378,
29(4)380-1,
29(5)477,
29(6)572,
29(6)573,
30(2)189,
30(3)282-1,
30(3)283,
30(4)376,
30(4)378,
31(3)285,
31(5)474,
31(6)564,
31(6)565,
31(6)567,
31(6)570,
32(1)90,
32(1)91,
32(1)93,
32(2)187,
32(3)281,
32(4)377,
32(5)474
- solution,
23(1)85,
23(4)338,
24(2)180,
24(2)184,
25(1)56,
25(2)231,
27(2)171,
28(4)366,
29(2)182,
30(4)376,
31(1)76,
32(1)13,
32(1)45,
32(2)162,
32(2)187
- specialist,
28(3)211
- such,
30(5)437,
31(3)243,
31(4)296,
32(2)108,
32(2)142,
32(2)162,
32(2)175
- term, long-,
32(1)68
- termination,
24(1)95-1,
29(5)430,
31(3)220,
31(4)380
- traditional,
24(4)320,
29(4)322
- use,
23(2)107,
24(1)95,
25(2)218,
26(1)93,
26(3)235,
28(2)162,
28(3)203,
29(1)52,
29(2)167,
29(4)289,
29(5)430,
30(1)80,
30(3)214,
30(4)362,
30(5)437,
30(5)451,
31(3)243,
31(4)289,
31(5)420,
32(2)122,
32(4)333,
z(z)z