-
Notifications
You must be signed in to change notification settings - Fork 3
/
benchmarks.html
146 lines (141 loc) · 11.2 KB
/
benchmarks.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" />
<meta name="description" contents="Gradual Typing Across the Spectrum" />
<meta name="keywords" content="programming, language, gradual, typing" />
<title>Gradual Typing Across the Spectrum</title>
<link rel="stylesheet" href="css/bootstrap.min.css" /><link rel="stylesheet" href="css/animate.css" /><link rel="stylesheet" href="css/custom.css" />
<link href="http://fonts.googleapis.com/css?family=Ubuntu:300" rel="stylesheet" type="text/css" />
<link href="http://fonts.googleapis.com/css?family=PT+Sans" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" type="image/x-icon" size="16x16" href="images/logo/gtp-0.ico" /> <script src="js/wow.min.js"></script>
<script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/bootstrap.min.js"></script><script type="text/javascript" src="js/custom.js"></script><script type="text/javascript" src="js/stellar.js"></script></head>
<div class="body" data-stellar-background-ratio="1.5"></div>
<div class="main-header-container"><div class="shadow-back"><div class="main-logo"><img class="img-responsive pull-left" alt="" src="images/logo/gtp-0.png" /></div>
<div class="main-header"><h1>Gradual Typing Across the Spectrum</h1></div></div></div>
<body id="top"><div id="menu" class="menu-fixed"><span id="menu-icon"><span class="glyphicon glyphicon-menu-hamburger"></span></span>
<ul><li class="" data-src="./images/menu/item_1.png"><a href="index.html">Home</a></li><li class="" data-src="./images/menu/item_2.png"><a href="about.html">About</a></li><li class="" data-src="./images/menu/item_3.png"><a href="projects.html">Projects</a></li><li class="active" data-src="./images/menu/item_4.png"><a href="benchmarks.html">Benchmarks</a></li><li class="" data-src="./images/menu/item_5.png"><a href="people.html">People</a></li><li class="" data-src="./images/menu/item_6.png"><a href="contact.html">Contact</a></li></ul></div>
<div class="body-content"> <div id="content"><h3 class="red-back-big">Benchmarks</h3><div class="col-md-12"><h3 id="reticulated-python" class="gray-back">Reticulated Python</h3>
<div class="col-md-12 card"><p><a href="https://github.com/nuprl/retic_performance?path=benchmarks" class="project-link" target="_blank">https://github.com/nuprl/retic_performance?path=benchmarks</a></p>
<p>Suite of Python programs adapted from:
case studies reported by <a href="https://dl.acm.org/citation.cfm?id=2661101">Vitousek, Kent, Siek, and Baker</a>;
the module-level evaluation of <a href="http://popl17.sigplan.org/event/popl-2017-papers-big-types-in-little-runtime">Big Types in Little Runtime</a>;
and open-source programs.
Each function in these benchmarks may be typed or untyped.
In other words, for a program with 10 functions the benchmark explores
1024 configurations of gradual typing.</p>
Appeared in:
<ul><li><a href="https://popl18.sigplan.org/event/pepm-2018-on-the-cost-of-type-tag-soundness">On the Cost of Type-Tag Soundness</a>. <a href="http://ccs.neu.edu/home/types">Ben Greenman</a> and <a href="http://github.com/migeed-z">Zeina Migeed</a>. <a href="https://popl18.sigplan.org/track/PEPM-2018">PEPM 2018</a></li></ul></div></div><div class="col-md-12"><h3 id="typed-racket" class="gray-back">Typed Racket</h3>
<div class="col-md-12 card"><p><a href="https://github.com/bennn/gtp-benchmarks" class="project-link" target="_blank">https://github.com/bennn/gtp-benchmarks</a></p>
<p>Suite of Typed Racket programs adapted from open-source projects.
Each module in these benchmarks may be typed or untyped.</p>
Appeared in:
<ul><li><a href="http://www.ccs.neu.edu/racket/pubs/popl16-tfgnvf.pdf">Is Sound Gradual Typing Dead?</a>. <a href="http://ccs.neu.edu/home/asumu">Asumu Takikawa</a>, <a href="https://github.com/dfeltey">Daniel Feltey</a>, <a href="http://ccs.neu.edu/home/types">Ben Greenman</a>, <a href="http://maxsnew.github.io">Max S. New</a>, <a href="http://janvitek.org">Jan Vitek</a>, and <a href="http://felleisen.org/matthias/">Matthias Felleisen</a>. <a href="http://conf.researchr.org/home/POPL-2016">POPL 2016</a></li><li><a href="https://dl.acm.org/citation.cfm?doid=3152284.3133878">Sound Gradual Typing Only Mostly Dead</a>. <a href="http://www.crest.iu.edu/node/194">Spenser Bauman</a>, <a href="http://cfbolz.de/">Carl-Friedrich Bolz-Tereick</a>, <a href="http://wphomes.soic.indiana.edu/jsiek/">Jeremy Siek</a>, and <a href="http://homes.soic.indiana.edu/samth">Sam Tobin-Hochstadt</a>. <a href="https://2017.splashcon.org/track/splash-2017-OOPSLA">OOPSLA 2017</a></li></ul></div></div><div class="col-md-12"><h3 id="grift" class="gray-back">Grift</h3>
<div class="col-md-12 card"><p><a href="https://github.com/Gradual-Typing/benchmarks" class="project-link" target="_blank">https://github.com/Gradual-Typing/benchmarks</a></p>
<p>Suite of programs adapted from different sources including
"The Computer Language Benchmarks Game", "Kernighan and Van Wyk benchmarks",
"Numerical Recipes in C", "John C. Hull's Options, Futures, and Other Derivatives",
and "Paul Graham's book ANSI Common Lisp". Each benchmark has two Grift and Racket
versions, fully typed and fully untyped. They are also ported to OCaml,
Chez Scheme, and Gambit Scheme. They are intended to benchmark systems that support
fine-grained gradual typing where each type place holder can be fully typed,
partially typed, or untyped. Currently the benchmarking infrastructure supports
Grift only for the gradual typing experiments but also benchmarks fully typed and
fully untyped Grift against other statically typed and dynamically typed languages
mentioned before. There are plans to support other fine-grained gradually-typed
systems such as HiggsCheck and Reticulated Python.</p>
Appeared in:
<ul><li><a href="https://2015.ecoop.org/event/stop2015-towards-absolutely-efficient-gradually-typed-languages"> Towards Absolutely Efficient Gradually Typed Languages</a>. <a href="http://www.crest.iu.edu/node/164">Andre Kuhlenschmidt</a>, <a href="http://deyaaeldeen.github.io/">Deyaaeldeen Almahallawi</a>, and <a href="http://wphomes.soic.indiana.edu/jsiek/">Jeremy Siek</a>. <a href="https://2015.ecoop.org/track/STOP2015">STOP 2015</a></li><li><a href="https://2016.ecoop.org/event/stop-2016-a-systematic-performance-evaluation-of-gradually-typed-functions-and-references"> A Systematic Performance Evaluation of Gradually Typed Functions and References</a>. <a href="http://www.crest.iu.edu/node/164">Andre Kuhlenschmidt</a>, <a href="http://deyaaeldeen.github.io/">Deyaaeldeen Almahallawi</a>, and <a href="http://wphomes.soic.indiana.edu/jsiek/">Jeremy Siek</a>. <a href="http://2016.ecoop.org/track/STOP-2016">STOP 2016</a></li><li><a href="https://icfp18.sigplan.org/event/scheme-2018-papers-toward-efficient-gradual-typing">An Efficient Compiler for Gradually-Typed Lambda Calculus</a>. <a href="http://www.crest.iu.edu/node/164">Andre Kuhlenschmidt</a>, <a href="http://deyaaeldeen.github.io/">Deyaaeldeen Almahallawi</a>, and <a href="http://wphomes.soic.indiana.edu/jsiek/">Jeremy Siek</a>. <a href="https://icfp18.sigplan.org/track/scheme-2018-papers">Scheme 2018</a></li></ul></div></div></div>
<div id="sponsors" class="col-md-12"><center><h4 class="red-back"></h4></center></div>
<footer class="col-md-12"><div class="container text-center"><hr />
<div class="copyright"><p class="text-center">© Copyright Programming Research Laboratory 2016-2017
| made by <a href="http://www.catchexception.cz/" target="_blank"> Catchexception s.r.o.</a>
| source on <a href="https://github.com/nuprl/gtp">GitHub</a></p></div>
<a href="#top" title="To Top"><span class="glyphicon glyphicon-chevron-up"></span></a></div></footer>
<script type="text/javascript">$(document).on('click', '.list', function (e) {
var ul = $(this).parent('li').find('ul');
ul.toggleClass('active');
var i = 1;
ul.children('li').each(function(){
$(this).delay(200*i).toggle('slow');
i++;
});
});</script><script type="text/javascript">function stopTopParallax()
{
var mainBanner = $('#main-banner');
if($('.shadow-back').offset().top >150)
{
mainBanner.css('position','fixed');
mainBanner.css('height','75px');
mainBanner.css('z-index','2');
$('#content').css('margin-top','260px');
} else {
mainBanner.css('position','relative');
mainBanner.css('height','260px');
mainBanner.css('z-index','0');
$('#content').css('margin-top','0px');
}
}
function checkOffset___() {
if($('#menu').offset().top + $('#menu').height()
>= $('#sponsors').offset().top -150)
{
var height = $('#content').height()-470;
$('#menu').removeClass('fixed-menu');
$('#menu').addClass('absolute-menu');
console.log();
$('#menu').css('bottom','-'+height+'px');
}
if($(document).scrollTop() + window.innerHeight < $('#sponsors').offset().top+150)
{
$('#menu').removeClass('absolute-menu');
$('#menu').addClass('fixed-menu');
$('#menu').css('bottom','');
}
}
function checkOffset() {
if ($('#menu').offset().top + $('#menu').height() > $('#sponsors').offset().top && $('#menu').hasClass('menu-fixed'))
{
$('#menu').removeClass('menu-fixed');
$('#menu').addClass('menu-absolute');
$('#menu').css('top',$('#sponsors').offset().top-$('#menu').height());
}
if ($(document).scrollTop() + window.innerHeight-100 < $('#sponsors').offset().top && $('#menu').hasClass('menu-absolute'))
{
$('#menu').removeClass('menu-absolute');
$('#menu').addClass('menu-fixed');
$('#menu').removeAttr('style');
}
}
$(document).scroll(function() {
checkOffset();
//stopTopParallax();
});
</script><script>$(document).on('click', '#menu-icon', function (e) {
$(this).parent('div').find('ul').toggleClass('active');
});
$(document).on('mouseover', '#menu li', function (e) {
$('#menu li').each(function(){
if (!$(this).hasClass('active'))
$(this).css('background-image','');
});
if (typeof $(this).data('src') !== 'undefined')
$(this).css('background-image','url("'+$(this).data('src')+'")')
});
$(document).on('mouseout', '#menu li', function (e) {
$('#menu li').each(function(){
if (!$(this).hasClass('active'))
$(this).css('background-image','');
});
});
$(document).ready(function () {
$('#menu li').each(function(){
if (!$(this).hasClass('active'))
$(this).css('background-image','');
else if (typeof $(this).data('src') !== 'undefined')
$(this).css('background-image','url("'+$(this).data('src')+'")')
});
});</script><script>$(function(){
$.stellar({
horizontalScrolling: false,
verticalOffset: 40
});
});</script><script>new WOW().init();</script> </div></body></html>