-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.html
More file actions
196 lines (180 loc) · 11.4 KB
/
index.html
File metadata and controls
196 lines (180 loc) · 11.4 KB
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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
<!doctype html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="preload" as="font" href="https://www.e2immu.org/fonts/vendor/jost/jost-v4-latin-regular.woff2" type="font/woff2" crossorigin>
<link rel="preload" as="font" href="https://www.e2immu.org/fonts/vendor/jost/jost-v4-latin-700.woff2" type="font/woff2" crossorigin>
<link rel="stylesheet" href="https://www.e2immu.org/main.5bbc2ac22263d310b4767155ba9e9094f39b682048f19338d9ff42a4f472e6a179775d5d2f6bfe96849e5f8909efff576bac6b22277c49077e14ddccebe97880.css" integrity="sha512-W7wqwiJj0xC0dnFVup6QlPObaCBI8ZM42f9CpPRy5qF5d11dL2v+loSeX4kJ7/9Xa6xrIid8SQd+FN3M6+l4gA==" crossorigin="anonymous">
<noscript><style>img.lazyload { display: none; }</style></noscript>
<meta name="robots" content="index, follow">
<meta name="googlebot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<title>e2immu - A static code analyser for Java focusing on modification and immutability.</title>
<meta name="description" content="e2immu is a static code analyser for Java.">
<link rel="canonical" href="https://www.e2immu.org/">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="/doks.png">
<meta name="twitter:title" content="Effective and Eventual Immutability: a Static Code Analyser for Java">
<meta name="twitter:description" content="e2immu is a static code analyser for Java.">
<meta name="twitter:site" content="@e2immu.org">
<meta name="twitter:creator" content="@e2immu.org">
<meta property="og:title" content="Effective and Eventual Immutability: a Static Code Analyser for Java">
<meta property="og:description" content="e2immu is a static code analyser for Java.">
<meta property="og:type" content="website">
<meta property="og:url" content="/">
<meta property="og:image" content="/doks.png"/>
<meta property="og:updated_time" content="2020-10-06T08:47:36+00:00">
<meta property="og:site_name" content="e2immu">
<meta property="article:publisher" content="https://www.facebook.com/xxx">
<meta property="article:author" content="https://www.facebook.com/xxx">
<meta property="og:locale" content="en_US">
<link rel="alternate" type="application/rss+xml" href="https://www.e2immu.org/index.xml">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"url": "\/",
"name": "e2immu",
"logo": "\/logo-doks.png",
"sameAs": [
"https:\/\/twitter.com\/e2immu.org",
"xxx",
"https:\/\/github.com\/e2immu"
]
}
</script>
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{
"@type": "ListItem",
"position": 1 ,
"name": "Home",
"item": "https:\/\/www.e2immu.org\/"
}]
}
</script>
<meta name="theme-color" content="#fff">
<link rel="apple-touch-icon" sizes="180x180" href="https://www.e2immu.org/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://www.e2immu.org/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://www.e2immu.org/favicon-16x16.png">
<link rel="manifest" href="https://www.e2immu.org/site.webmanifest">
</head>
<body class="home">
<div class="header-bar fixed-top"></div>
<header class="navbar fixed-top navbar-expand-md navbar-light">
<div class="container">
<input class="menu-btn order-0" type="checkbox" id="menu-btn">
<label class="menu-icon d-md-none" for="menu-btn"><span class="navicon"></span></label>
<a class="navbar-brand order-1 order-md-0 me-auto" href="https://www.e2immu.org/">e2immu</a>
<button id="mode" class="btn btn-link order-2 order-md-4" type="button" aria-label="Toggle mode">
<span class="toggle-dark"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg></span>
<span class="toggle-light"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line></svg></span>
</button>
<ul class="navbar-nav social-nav order-3 order-md-5">
<li class="nav-item">
<a class="nav-link" href="https://twitter.com/e2immu.org"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-twitter"><path d="M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z"></path></svg><span class="ms-2 visually-hidden">Twitter</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://github.com/e2immu"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-github"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path></svg><span class="ms-2 visually-hidden">GitHub</span></a>
</li>
</ul>
<div class="collapse navbar-collapse order-4 order-md-1">
<ul class="navbar-nav main-nav me-auto order-5 order-md-2"><li class="nav-item">
<a class="nav-link" href="https://www.e2immu.org/docs/start/introduction/">Docs</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://www.e2immu.org/blog/">Blog</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
<form class="navbar-form flex-grow-1 order-7 order-md-3">
<input id="userinput" class="form-control is-search" type="search" placeholder="Search docs..." aria-label="Search docs..." autocomplete="off">
<div id="suggestions" class="shadow bg-white rounded"></div>
</form>
</div>
</div>
</header>
<div class="wrap container" role="document">
<div class="content">
<section class="section container-fluid mt-n3 pb-3">
<div class="row justify-content-center">
<div class="col-lg-12 text-center">
<h1 class="mt-0">Effective and Eventual Immutability: a Static Code Analyser for Java</h1>
</div>
<div class="col-lg-9 col-xl-8 text-center">
<p class="lead">e2immu is a static code analyser for Java. It offers practical definitions of modification and immutability, to help you write code that lasts longer.</p>
<a class="btn btn-primary btn-lg px-4 mb-2" href="https://www.e2immu.org/docs/start/introduction/" role="button">Get started</a>
<p class="meta">LGPL v3 licensed. <a href="https://github.com/e2immu">GitHub v0.6.2</a></p>
</div>
</div>
</section>
</div>
</div>
<section class="section section-sm">
<div class="container">
<div class="row justify-content-center text-center">
<div class="col-lg-5">
<h2 class="h4">Write better code</h2>
<p>The real purpose of a code analyser is to help you write better code, either by correcting you, or inspiring you.</p>
</div>
<div class="col-lg-5">
<h2 class="h4">Immutable Containers</h2>
<p>Read about some of the concepts introduced by <em>e2immu</em> in <a href="https://www.e2immu.org/docs/road-to-immutability.html">The Road to Immutability</a>,
whether you are a novice at Java, or a life-long enthousiast.
</p>
</div>
<div class="col-lg-5">
<h2 class="h4">Practical Immutability</h2>
<p>
<em>e2immu</em> provides <em>practical</em> definitions for immutability, and
helps you maintain a balance between object orientend and functional paradigms.
</p>
</div>
</div>
<div class="row justify-content-center text-center">
<div class="col-lg-5">
<h2 class="h4">Customizable Annotated APIs</h2>
<p>Bend, or sharpen, the modification rules yourself: Annotated APIs determine how you view library code.</p>
</div>
<div class="col-lg-5">
<h2 class="h4">Plugins</h2>
<p>A plugin for IntelliJ lets you see the immutability status of your classes in your IDE.
The Gradle plugin runs the analyser.
</p>
</div>
<div class="col-lg-5">
<h2 class="h4">No magic!</h2>
<p>Learn the concepts and use the support classes. The analyser is there to help, but it is <em>not required</em>.</p>
</div>
</div>
</div>
</section>
<section class="section section-sm container-fluid">
<div class="row justify-content-center text-center">
<div class="col-lg-9"></div>
</div>
</section>
<footer class="footer text-muted">
<div class="container">
<div class="row">
<div class="col-lg-8 order-last order-lg-first">
<ul class="list-inline">
<li class="list-inline-item">Powered by <a href="https://github.com/">GitHub</a>, <a href="https://gohugo.io/">Hugo</a>, and <a href="https://getdoks.org/">Doks</a></li>
</ul>
</div>
<div class="col-lg-8 order-first order-lg-last text-lg-end">
<ul class="list-inline">
</ul>
</div>
</div>
</div>
</footer>
<script src="https://www.e2immu.org/js/highlight.min.35dfd87db22666566b37765a95deb1f4aa5773135aa81be5f82ed4d9121b25af49b92f5df59513da16f3791d9968a325a0c8abc624001c3fc0dcca9dd310a711.js" integrity="sha512-Nd/YfbImZlZrN3Zald6x9KpXcxNaqBvl+C7U2RIbJa9JuS9d9ZUT2hbzeR2ZaKMloMirxiQAHD/A3Mqd0xCnEQ==" crossorigin="anonymous" defer></script>
<script src="https://www.e2immu.org/main.min.340380ec9a12f03aa85eb44bbef8f412a2a3a2a76289c359ea927ca010f9ab39340e6ac7e310d9751a029cd8e7670e27c05f02c11e92eaf181f44942d5a90c66.js" integrity="sha512-NAOA7JoS8DqoXrRLvvj0EqKjoqdiicNZ6pJ8oBD5qzk0DmrH4xDZdRoCnNjnZw4nwF8CwR6S6vGB9ElC1akMZg==" crossorigin="anonymous" defer></script>
<script src="https://www.e2immu.org/index.min.b4dcc8aa741436267bef8f0a419438f281a74f83124827bf2e90973c6c02042bd48919deaa2f255c4bbdafe43e9c155e9ea75f520cb3e729204d9667cbd1ff2e.js" integrity="sha512-tNzIqnQUNiZ7748KQZQ48oGnT4MSSCe/LpCXPGwCBCvUiRneqi8lXEu9r+Q+nBVenqdfUgyz5ykgTZZny9H/Lg==" crossorigin="anonymous" defer></script>
</body>
</html>