@effekt-lang/effekt 0.33.0 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/effekt +0 -0
- package/libraries/common/map.effekt +1 -1
- package/libraries/common/stream.effekt +76 -12
- package/licenses/eclipse public license, version 2.0 - epl-2.0.html +6 -6
- package/licenses/mit license - mit-license.html +138 -34
- package/licenses/the bsd license - bsd-license.html +137 -35
- package/licenses/the mit license - mit.html +140 -32
- package/package.json +1 -1
package/bin/effekt
CHANGED
|
Binary file
|
|
@@ -709,7 +709,7 @@ namespace internal {
|
|
|
709
709
|
///
|
|
710
710
|
/// O(???)
|
|
711
711
|
def union[K, V](m1: Tree[K, V], m2: Tree[K, V], compare: (K, K) => Ordering at {}) { combine : (K, V, V) => V }: Tree[K, V] = {
|
|
712
|
-
|
|
712
|
+
// Internal function similar to `putWithKey`, but right-biased. Only used here, recursively.
|
|
713
713
|
def putWithKeyR(m: Tree[K, V], k: K, v: V): Tree[K, V] = {
|
|
714
714
|
m match {
|
|
715
715
|
case Tip() => singleton(k, v)
|
|
@@ -30,6 +30,18 @@ effect stop(): Nothing
|
|
|
30
30
|
def for[A] { stream: () => Unit / emit[A] } { action: A => Unit }: Unit =
|
|
31
31
|
returning::for[A, Unit]{stream}{action}
|
|
32
32
|
|
|
33
|
+
/// Applies the given function on each emitted element and reemits the result.
|
|
34
|
+
///
|
|
35
|
+
/// e.g. map[Int,String]{ x => x.show } { range(0, 5) }
|
|
36
|
+
def map[A, B] { function: A => B } { stream: () => Unit / emit[A] }: Unit / emit[B] =
|
|
37
|
+
returning::map[A, B, Unit]{function}{stream}
|
|
38
|
+
|
|
39
|
+
/// Runs the given action whenever the given reader reads an element.
|
|
40
|
+
///
|
|
41
|
+
/// e.g. var i = -1; with tap { i = i + 1; i }; reader()
|
|
42
|
+
def tap[A] { action: () => A / stop } { reader: () => Unit / read[A] }: Unit =
|
|
43
|
+
returning::tap[A, Unit]{action}{reader}
|
|
44
|
+
|
|
33
45
|
/// Runs the stream as a message queue,
|
|
34
46
|
/// handling each of its elements that can produce new elements ("messages"),
|
|
35
47
|
/// until a fixed point is reached.
|
|
@@ -162,8 +174,8 @@ def index[A] { stream: () => Unit / emit[A] }: Unit / emit[Indexed[A]] =
|
|
|
162
174
|
|
|
163
175
|
|
|
164
176
|
/// If `number` is zero or negative it does nothing
|
|
165
|
-
def limit[A](number: Int) { stream: () => Unit / emit[A] }: Unit /
|
|
166
|
-
returning::limit[A, Unit](number){stream}
|
|
177
|
+
def limit[A](number: Int) { stream: () => Unit / emit[A] }: Unit / emit[A] =
|
|
178
|
+
boundary { returning::limit[A, Unit](number){stream} }
|
|
167
179
|
|
|
168
180
|
|
|
169
181
|
/// If `number` is zero or negative it does nothing
|
|
@@ -405,6 +417,12 @@ def encodeUTF8[R] { stream: () => R / emit[Char] }: R / emit[Byte] =
|
|
|
405
417
|
resume(encodeChar(char))
|
|
406
418
|
}
|
|
407
419
|
|
|
420
|
+
def writeFileUTF8[R](path: String) { stream: () => R / emit[Char] }: R / Exception[IOError] =
|
|
421
|
+
writeFile(path) { encodeUTF8 { stream() } }
|
|
422
|
+
|
|
423
|
+
def readFileUTF8[R](path: String) { reader: () => R / read[Char] }: R / Exception[IOError] =
|
|
424
|
+
readFile(path) { decodeUTF8 { reader() } }
|
|
425
|
+
|
|
408
426
|
def feed[R](string: String) { reader: () => R / read[Char] } =
|
|
409
427
|
feed(string.fromString) {
|
|
410
428
|
decodeUTF8 {
|
|
@@ -422,6 +440,12 @@ def each(string: String): Unit / emit[Char] =
|
|
|
422
440
|
def collectString { stream: () => Unit / emit[Char] }: String =
|
|
423
441
|
returning::collectString[Unit]{stream}.second
|
|
424
442
|
|
|
443
|
+
def writeLine { body: () => Unit / emit[Char] }: Unit / emit[Char] =
|
|
444
|
+
returning::writeLine[Unit]{body}
|
|
445
|
+
|
|
446
|
+
def readLine { body: () => Unit / read[Char] }: Unit / {read[Char], stop} =
|
|
447
|
+
returning::readLine[Unit]{body}
|
|
448
|
+
|
|
425
449
|
namespace internal {
|
|
426
450
|
effect snapshot(): Unit
|
|
427
451
|
}
|
|
@@ -515,6 +539,20 @@ def for[A, R] { stream: () => R / emit[A] } { action: A => Unit }: R =
|
|
|
515
539
|
resume(action(value))
|
|
516
540
|
}
|
|
517
541
|
|
|
542
|
+
def map[A, B, R] { function: A => B } { stream: () => R / emit[A] }: R / emit[B] =
|
|
543
|
+
try {
|
|
544
|
+
stream()
|
|
545
|
+
} with emit[A] { value =>
|
|
546
|
+
resume(do emit(function(value)))
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
def tap[A, R] { action: () => A / stop } { reader: () => R / read[A] }: R =
|
|
550
|
+
try {
|
|
551
|
+
reader()
|
|
552
|
+
} with read[A] { () =>
|
|
553
|
+
resume { action() }
|
|
554
|
+
}
|
|
555
|
+
|
|
518
556
|
def boundary[R] { program: () => R / stop }: Option[R] =
|
|
519
557
|
try {
|
|
520
558
|
Some(program())
|
|
@@ -542,17 +580,21 @@ def index[A, R] { stream: () => R / emit[A] }: R / emit[Indexed[A]] = {
|
|
|
542
580
|
|
|
543
581
|
/// If `number` is zero or negative it does nothing
|
|
544
582
|
def limit[A, R](number: Int) { stream: () => R / emit[A] }: R / { emit[A], stop } = {
|
|
545
|
-
if (number
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
i = i
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
583
|
+
if (number > 0) {
|
|
584
|
+
var i = number;
|
|
585
|
+
try {
|
|
586
|
+
stream()
|
|
587
|
+
} with emit[A] { v =>
|
|
588
|
+
do emit(v);
|
|
589
|
+
i = i - 1;
|
|
590
|
+
if (i > 0) {
|
|
591
|
+
resume(())
|
|
592
|
+
} else {
|
|
593
|
+
do stop()
|
|
594
|
+
}
|
|
555
595
|
}
|
|
596
|
+
} else {
|
|
597
|
+
do stop()
|
|
556
598
|
}
|
|
557
599
|
}
|
|
558
600
|
|
|
@@ -615,6 +657,28 @@ def collectString[R] { stream: () => R / emit[Char] }: (R, String) = {
|
|
|
615
657
|
(result, bytes.toString)
|
|
616
658
|
}
|
|
617
659
|
|
|
660
|
+
def writeLine[R] { body: () => R / emit[Char] }: R / emit[Char] = {
|
|
661
|
+
val result = body()
|
|
662
|
+
do emit('\n')
|
|
663
|
+
return result
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
def readLine[R] { body: () => R / read[Char] }: R / {read[Char], stop} = {
|
|
667
|
+
var stopped = false
|
|
668
|
+
try {
|
|
669
|
+
body()
|
|
670
|
+
} with read[Char] {
|
|
671
|
+
if(stopped){
|
|
672
|
+
resume { do stop() }
|
|
673
|
+
} else {
|
|
674
|
+
do read[Char] match {
|
|
675
|
+
case '\n' => stopped = true; resume { do stop() }
|
|
676
|
+
case char => resume { return char }
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
|
|
618
682
|
def source[A, R] { stream: () => Unit / emit[A] } { reader: () => R / read[A] }: R = {
|
|
619
683
|
var next = box { None() }
|
|
620
684
|
next = box {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><title>Eclipse Public License 2.0 (EPL) | The Eclipse Foundation</title>
|
|
2
|
-
<meta property="og:title" content="Eclipse Public License 2.0 (EPL) | The Eclipse Foundation"><meta name=twitter:title content="Eclipse Public License 2.0 (EPL) | The Eclipse Foundation"><meta name=description content="The Eclipse Foundation provides our global community of individuals and organisations with a mature, scalable, and business-friendly environment for open source …"><meta property="og:description" content="The Eclipse Foundation provides our global community of individuals and organisations with a mature, scalable, and business-friendly environment for open source …"><meta name=twitter:description content="The Eclipse Foundation provides our global community of individuals and organisations with a mature, scalable, and business-friendly environment for open source …"><meta name=author content="Wayne Beaton"><link href=/favicon.ico rel=icon type=image/x-icon><meta property="og:image" content="https://www.eclipse.org/images/logos/eclipse-foundation-400x400.png"><meta name=twitter:image content="https://www.eclipse.org/images/logos/eclipse-foundation-400x400.png"><meta name=twitter:card content="summary"><meta name=twitter:site content="@eclipsefdn"><meta name=twitter:creator content="@eclipsefdn"><meta property="og:url" content="https://www.eclipse.org/legal/epl-2.0/"><meta property="og:type" content="website"><meta property="og:site_name" content="Eclipse Foundation"><meta name=keywords content="epl,epl-2.0,legal,foundation,eclipse,eclipse public license,license,licenses"><meta name=generator content="Hugo 0.144.2"><link rel=canonical href=https://www.eclipse.org/legal/epl-2.0/><link rel=alternate href=/legal/epl-2.0/index.xml type=application/rss+xml title><link rel=stylesheet href="/public/css/styles.css?v=
|
|
2
|
+
<meta property="og:title" content="Eclipse Public License 2.0 (EPL) | The Eclipse Foundation"><meta name=twitter:title content="Eclipse Public License 2.0 (EPL) | The Eclipse Foundation"><meta name=description content="The Eclipse Foundation provides our global community of individuals and organisations with a mature, scalable, and business-friendly environment for open source …"><meta property="og:description" content="The Eclipse Foundation provides our global community of individuals and organisations with a mature, scalable, and business-friendly environment for open source …"><meta name=twitter:description content="The Eclipse Foundation provides our global community of individuals and organisations with a mature, scalable, and business-friendly environment for open source …"><meta name=author content="Wayne Beaton"><link href=/favicon.ico rel=icon type=image/x-icon><meta property="og:image" content="https://www.eclipse.org/images/logos/eclipse-foundation-400x400.png"><meta name=twitter:image content="https://www.eclipse.org/images/logos/eclipse-foundation-400x400.png"><meta name=twitter:card content="summary"><meta name=twitter:site content="@eclipsefdn"><meta name=twitter:creator content="@eclipsefdn"><meta property="og:url" content="https://www.eclipse.org/legal/epl-2.0/"><meta property="og:type" content="website"><meta property="og:site_name" content="Eclipse Foundation"><meta name=keywords content="epl,epl-2.0,legal,foundation,eclipse,eclipse public license,license,licenses"><meta name=generator content="Hugo 0.144.2"><link rel=canonical href=https://www.eclipse.org/legal/epl-2.0/><link rel=alternate href=/legal/epl-2.0/index.xml type=application/rss+xml title><link rel=stylesheet href="/public/css/styles.css?v=1750011359"><script>(function(e,t,n,s,o){e[s]=e[s]||[],e[s].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var a=t.getElementsByTagName(n)[0],i=t.createElement(n),r=s!="dataLayer"?"&l="+s:"";i.async=!0,i.src="https://www.googletagmanager.com/gtm.js?id="+o+r,a.parentNode.insertBefore(i,a)})(window,document,"script","dataLayer","GTM-5WLCZXC")</script><script>var tableClasses="table"</script><link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap" rel=stylesheet type=text/css></head><body><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5WLCZXC" height=0 width=0 style=display:none;visibility:hidden></iframe></noscript><a class=sr-only href=#content>Skip to main content</a><header class="header-wrapper header-wrapper" id=header><div class=header-toolbar><div class=container><div class=header-toolbar-row><div class="toolbar-btn toolbar-search-btn dropdown"><button class=dropdown-toggle id=toolbar-search type=button data-toggle=dropdown tabindex=0 aria-label=Search>
|
|
3
3
|
<i class="fa fa-search fa-lg" aria-role=none></i></button><div class="toolbar-search-bar-wrapper dropdown-menu dropdown-menu-right" aria-labelledby=toolbar-search><form action=https://www.eclipse.org/home/search method=get><div class=search-bar><input class=search-bar-input name=q placeholder=Search>
|
|
4
4
|
<button>
|
|
5
5
|
<i class="fa fa-search" type=submit></i></button></div></form></div></div><div class="toolbar-btn toolbar-user-menu-btn dropdown"><button class=dropdown-toggle id=toolbar-user-menu type=button data-toggle=dropdown tabindex=0 aria-label="User Menu">
|
|
@@ -20,12 +20,12 @@ Download
|
|
|
20
20
|
<i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=projects-projects-sub-menu><li><a class=mobile-menu-item href=https://projects.eclipse.org/>Project Finder</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/projects/project_activity.php>Project Activity</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/projects/resources/>Project Resources</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/specifications/>Specifications</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/contribute/>Contribute</a></li></ul></div></li></ul></div></li><li class=mobile-menu-dropdown><a class="mobile-menu-item mobile-menu-dropdown-toggle" data-target=supporters-menu><span>Supporters</span>
|
|
21
21
|
<i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu hidden" id=supporters-menu><li class=mobile-menu-dropdown><a data-target=supporters-membership-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>Membership</span>
|
|
22
22
|
<i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=supporters-membership-sub-menu><li><a class=mobile-menu-item href=https://www.eclipse.org/membership/explore-membership/>Our Members</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/membership/>Member Benefits</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/membership/#tab-levels>Membership Levels & Fees</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/membership/#tab-membership>Membership Application</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/membership/#tab-resources>Member Resources</a></li><li><a class=mobile-menu-item href=https://membership.eclipse.org/portal>Member Portal</a></li></ul></div></li><li class=mobile-menu-dropdown><a data-target=supporters-sponsorship-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>Sponsorship</span>
|
|
23
|
-
<i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=supporters-sponsorship-sub-menu><li><a class=mobile-menu-item href=https://www.eclipse.org/sponsor/>Sponsor</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/
|
|
23
|
+
<i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=supporters-sponsorship-sub-menu><li><a class=mobile-menu-item href=https://www.eclipse.org/sponsor/>Become a Sponsor</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/org/our-sponsors/>Sponsor Directory</a></li></ul></div></li></ul></div></li><li class=mobile-menu-dropdown><a class="mobile-menu-item mobile-menu-dropdown-toggle" data-target=collaborations-menu><span>Collaborations</span>
|
|
24
24
|
<i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu hidden" id=collaborations-menu><li class=mobile-menu-dropdown><a data-target=collaborations-industry-collaborations-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>Industry Collaborations</span>
|
|
25
25
|
<i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=collaborations-industry-collaborations-sub-menu><li><a class=mobile-menu-item href=https://www.eclipse.org/collaborations/>About Industry Collaborations</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/org/workinggroups/explore.php>Current Collaborations</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/org/workinggroups/about.php>About Working Groups</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/collaborations/interest-groups/>About Interest Groups</a></li></ul></div></li><li class=mobile-menu-dropdown><a data-target=collaborations-research-collaborations-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>Research Collaborations</span>
|
|
26
26
|
<i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=collaborations-research-collaborations-sub-menu><li><a class=mobile-menu-item href=https://www.eclipse.org/research/>Research @ Eclipse</a></li></ul></div></li></ul></div></li><li class=mobile-menu-dropdown><a class="mobile-menu-item mobile-menu-dropdown-toggle" data-target=resources-menu><span>Resources</span>
|
|
27
27
|
<i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu hidden" id=resources-menu><li class=mobile-menu-dropdown><a data-target=resources-open-source-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>Open Source for Business</span>
|
|
28
|
-
<i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=resources-open-source-sub-menu><li><a class=mobile-menu-item href=https://www.eclipse.org/org/value/>Business Value of Open Source</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/os4biz/ospo/>Open Source Program Offices</a></li></ul></div></li><li class=mobile-menu-dropdown><a data-target=resources-happening-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>What's Happening</span>
|
|
28
|
+
<i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=resources-open-source-sub-menu><li><a class=mobile-menu-item href=https://www.eclipse.org/org/value/>Business Value of Open Source</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/os4biz/services/>Professional Services</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/os4biz/ospo/>Open Source Program Offices</a></li></ul></div></li><li class=mobile-menu-dropdown><a data-target=resources-happening-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>What's Happening</span>
|
|
29
29
|
<i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=resources-happening-sub-menu><li><a class=mobile-menu-item href=https://newsroom.eclipse.org/>News</a></li><li><a class=mobile-menu-item href=https://events.eclipse.org/>Events</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/community/eclipse_newsletter/>Newsletter</a></li><li><a class=mobile-menu-item href=https://newsroom.eclipse.org/news/press-releases>Press Releases</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/org/foundation/eclipseawards/>Awards & Recognition</a></li></ul></div></li><li class=mobile-menu-dropdown><a data-target=resources-developer-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>Developer Resources</span>
|
|
30
30
|
<i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu mobile-menu-links-menu hidden" id=resources-developer-sub-menu><li><a class=mobile-menu-item href=https://eclipse.org/forums/>Forum</a></li><li><a class=mobile-menu-item href=https://accounts.eclipse.org/mailing-list>Mailing Lists</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/blogs-and-videos/>Blogs & Videos</a></li><li><a class=mobile-menu-item href=https://www.eclipse.org/resources/marketplaces/>Marketplaces</a></li></ul></div></li></ul></div></li><li class=mobile-menu-dropdown><a class="mobile-menu-item mobile-menu-dropdown-toggle" data-target=the-foundation-menu><span>The Foundation</span>
|
|
31
31
|
<i class="fa fa-chevron-down" aria-hidden=true></i></a><div class=mobile-menu-sub-menu-wrapper><ul class="mobile-menu-sub-menu hidden" id=the-foundation-menu><li class=mobile-menu-dropdown><a data-target=the-foundation-about-sub-menu class="mobile-menu-item mobile-menu-dropdown-toggle" aria-expanded=false><span>About</span>
|
|
@@ -36,12 +36,12 @@ hundreds of open source projects, including runtimes, tools,
|
|
|
36
36
|
specifications, and frameworks for cloud and edge applications, IoT, AI,
|
|
37
37
|
automotive, systems engineering, open processor designs, and many others.</p></div><div class=mega-menu-submenu-links-section><div class=mega-menu-submenu-links><p class=menu-heading>Technologies</p><ul><li><a href=https://www.eclipse.org/topics/ide/>Developer Tools & IDEs</a></li><li><a href=https://www.eclipse.org/topics/cloud-native/>Cloud Native</a></li><li><a href=https://www.eclipse.org/topics/edge-and-iot/>Edge & IoT</a></li><li><a href=https://www.eclipse.org/topics/automotive-and-mobility/>Automotive & Mobility</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>Projects</p><ul><li><a href=https://projects.eclipse.org/>Project Finder</a></li><li><a href=https://www.eclipse.org/projects/project_activity.php>Project Activity</a></li><li><a href=https://www.eclipse.org/projects/resources/>Project Resources</a></li><li><a href=https://www.eclipse.org/specifications/>Specifications</a></li><li><a href=https://www.eclipse.org/contribute/>Contribute</a></li></ul></div></div><div class=mega-menu-submenu-ad-wrapper><div class="eclipsefdn-mega-menu-promo-content mega-menu-promo-content" data-ad-format=ads_square data-ad-publish-to=eclipse_org_home></div></div></div><div class="mega-menu-submenu container hidden" data-menu-id=supporters-menu><div class=mega-menu-submenu-featured-story><p class=mega-menu-submenu-featured-story-heading>Supporters</p><p class=mega-menu-submenu-featured-story-text>The Eclipse Foundation is an international non-profit association
|
|
38
38
|
supported by our members, including industry leaders who value open
|
|
39
|
-
source as a key enabler for their business strategies.</p></div><div class=mega-menu-submenu-links-section><div class=mega-menu-submenu-links><p class=menu-heading>Membership</p><ul><li><a href=https://www.eclipse.org/membership/explore-membership/>Our Members</a></li><li><a href=https://www.eclipse.org/membership/>Member Benefits</a></li><li><a href=https://www.eclipse.org/membership/#tab-levels>Membership Levels & Fees</a></li><li><a href=https://www.eclipse.org/membership/#tab-membership>Membership Application</a></li><li><a href=https://www.eclipse.org/membership/#tab-resources>Member Resources</a></li><li><a href=https://membership.eclipse.org/portal>Member Portal</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>Sponsorship</p><ul><li><a href=https://www.eclipse.org/sponsor/>Sponsor</a></li><li><a href=https://www.eclipse.org/
|
|
39
|
+
source as a key enabler for their business strategies.</p></div><div class=mega-menu-submenu-links-section><div class=mega-menu-submenu-links><p class=menu-heading>Membership</p><ul><li><a href=https://www.eclipse.org/membership/explore-membership/>Our Members</a></li><li><a href=https://www.eclipse.org/membership/>Member Benefits</a></li><li><a href=https://www.eclipse.org/membership/#tab-levels>Membership Levels & Fees</a></li><li><a href=https://www.eclipse.org/membership/#tab-membership>Membership Application</a></li><li><a href=https://www.eclipse.org/membership/#tab-resources>Member Resources</a></li><li><a href=https://membership.eclipse.org/portal>Member Portal</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>Sponsorship</p><ul><li><a href=https://www.eclipse.org/sponsor/>Become a Sponsor</a></li><li><a href=https://www.eclipse.org/org/our-sponsors/>Sponsor Directory</a></li></ul></div></div><div class=mega-menu-submenu-ad-wrapper><div class="eclipsefdn-mega-menu-promo-content mega-menu-promo-content" data-ad-format=ads_square data-ad-publish-to=eclipse_org_home></div></div></div><div class="mega-menu-submenu container hidden" data-menu-id=collaborations-menu><div class=mega-menu-submenu-featured-story><p class=mega-menu-submenu-featured-story-heading>Collaborations</p><p class=mega-menu-submenu-featured-story-text>Whether you intend on contributing to Eclipse technologies that are
|
|
40
40
|
important to your product strategy, or simply want to explore a specific
|
|
41
41
|
innovation area with like-minded organisations, the Eclipse Foundation is
|
|
42
42
|
the open source home for industry collaboration.</p></div><div class=mega-menu-submenu-links-section><div class=mega-menu-submenu-links><p class=menu-heading>Industry Collaborations</p><ul><li><a href=https://www.eclipse.org/collaborations/>About Industry Collaborations</a></li><li><a href=https://www.eclipse.org/org/workinggroups/explore.php>Current Collaborations</a></li><li><a href=https://www.eclipse.org/org/workinggroups/about.php>About Working Groups</a></li><li><a href=https://www.eclipse.org/collaborations/interest-groups/>About Interest Groups</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>Research Collaborations</p><ul><li><a href=https://www.eclipse.org/research/>Research @ Eclipse</a></li></ul></div></div><div class=mega-menu-submenu-ad-wrapper><div class="eclipsefdn-mega-menu-promo-content mega-menu-promo-content" data-ad-format=ads_square data-ad-publish-to=eclipse_org_home></div></div></div><div class="mega-menu-submenu container hidden" data-menu-id=resources-menu><div class=mega-menu-submenu-featured-story><p class=mega-menu-submenu-featured-story-heading>Resources</p><p class=mega-menu-submenu-featured-story-text>The Eclipse community consists of individual developers and organisations
|
|
43
43
|
spanning many industries. Stay up to date on our open source community
|
|
44
|
-
and find resources to support your journey.</p></div><div class=mega-menu-submenu-links-section><div class=mega-menu-submenu-links><p class=menu-heading>Open Source for Business</p><ul><li><a href=https://www.eclipse.org/org/value/>Business Value of Open Source</a></li><li><a href=https://www.eclipse.org/os4biz/ospo/>Open Source Program Offices</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>What's Happening</p><ul><li><a href=https://newsroom.eclipse.org/>News</a></li><li><a href=https://events.eclipse.org/>Events</a></li><li><a href=https://www.eclipse.org/community/eclipse_newsletter/>Newsletter</a></li><li><a href=https://newsroom.eclipse.org/news/press-releases>Press Releases</a></li><li><a href=https://www.eclipse.org/org/foundation/eclipseawards/>Awards & Recognition</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>Developer Resources</p><ul><li><a href=https://eclipse.org/forums/>Forum</a></li><li><a href=https://accounts.eclipse.org/mailing-list>Mailing Lists</a></li><li><a href=https://www.eclipse.org/blogs-and-videos/>Blogs & Videos</a></li><li><a href=https://www.eclipse.org/resources/marketplaces/>Marketplaces</a></li></ul></div></div><div class=mega-menu-submenu-ad-wrapper><div class="eclipsefdn-mega-menu-promo-content mega-menu-promo-content" data-ad-format=ads_square data-ad-publish-to=eclipse_org_home></div></div></div><div class="mega-menu-submenu container hidden" data-menu-id=the-foundation-menu><div class=mega-menu-submenu-featured-story><p class=mega-menu-submenu-featured-story-heading>The Foundation</p><p class=mega-menu-submenu-featured-story-text>The Eclipse Foundation provides our global community of individuals and
|
|
44
|
+
and find resources to support your journey.</p></div><div class=mega-menu-submenu-links-section><div class=mega-menu-submenu-links><p class=menu-heading>Open Source for Business</p><ul><li><a href=https://www.eclipse.org/org/value/>Business Value of Open Source</a></li><li><a href=https://www.eclipse.org/os4biz/services/>Professional Services</a></li><li><a href=https://www.eclipse.org/os4biz/ospo/>Open Source Program Offices</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>What's Happening</p><ul><li><a href=https://newsroom.eclipse.org/>News</a></li><li><a href=https://events.eclipse.org/>Events</a></li><li><a href=https://www.eclipse.org/community/eclipse_newsletter/>Newsletter</a></li><li><a href=https://newsroom.eclipse.org/news/press-releases>Press Releases</a></li><li><a href=https://www.eclipse.org/org/foundation/eclipseawards/>Awards & Recognition</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>Developer Resources</p><ul><li><a href=https://eclipse.org/forums/>Forum</a></li><li><a href=https://accounts.eclipse.org/mailing-list>Mailing Lists</a></li><li><a href=https://www.eclipse.org/blogs-and-videos/>Blogs & Videos</a></li><li><a href=https://www.eclipse.org/resources/marketplaces/>Marketplaces</a></li></ul></div></div><div class=mega-menu-submenu-ad-wrapper><div class="eclipsefdn-mega-menu-promo-content mega-menu-promo-content" data-ad-format=ads_square data-ad-publish-to=eclipse_org_home></div></div></div><div class="mega-menu-submenu container hidden" data-menu-id=the-foundation-menu><div class=mega-menu-submenu-featured-story><p class=mega-menu-submenu-featured-story-heading>The Foundation</p><p class=mega-menu-submenu-featured-story-text>The Eclipse Foundation provides our global community of individuals and
|
|
45
45
|
organisations with a mature, scalable, and vendor-neutral environment for
|
|
46
46
|
open source software collaboration and innovation.</p></div><div class=mega-menu-submenu-links-section><div class=mega-menu-submenu-links><p class=menu-heading>About</p><ul><li><a href=https://www.eclipse.org/org/>About the Eclipse Foundation</a></li><li><a href=https://www.eclipse.org/org/governance/>Board & Governance</a></li><li><a href=https://www.eclipse.org/org/foundation/staff.php>Staff</a></li><li><a href=https://www.eclipse.org/org/services/>Services</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>Legal</p><ul><li><a href=https://www.eclipse.org/legal/>Legal Policies</a></li><li><a href=https://www.eclipse.org/legal/privacy/>Privacy Policy</a></li><li><a href=https://www.eclipse.org/legal/terms-of-use/>Terms of Use</a></li><li><a href=https://www.eclipse.org/legal/compliance/>Compliance</a></li><li><a href=https://www.eclipse.org/legal/epl-2.0/>Eclipse Public License</a></li></ul></div><div class=mega-menu-submenu-links><p class=menu-heading>More</p><ul><li><a href=https://newsroom.eclipse.org/news/press-releases>Press Releases</a></li><li><a href=https://www.eclipse.org/careers/>Careers</a></li><li><a href=https://www.eclipse.org/org/artwork/>Logos & Artwork</a></li><li><a href=https://www.eclipse.org/org/foundation/contact.php>Contact Us</a></li></ul></div></div><div class=mega-menu-submenu-ad-wrapper><div class="eclipsefdn-mega-menu-promo-content mega-menu-promo-content" data-ad-format=ads_square data-ad-publish-to=eclipse_org_home></div></div></div></div></header><main><div class="container padding-bottom-30"><div class=row><div class=col-md-18><div class="default-breadcrumbs hidden-print" id=breadcrumb><div><div class=row><div class=col-sm-24><ol aria-label=Breadcrumb class=breadcrumb><li><a href=https://www.eclipse.org/>Home</a></li><li><a href=https://www.eclipse.org/legal/>Eclipse Foundation Legal Resources</a></li><li class=active aria-current=page><a href=https://www.eclipse.org/legal/epl-2.0/>Eclipse Public License 2.0 (EPL)</a></li></ol></div></div></div></div><div id=content></div><script async src=/public/js/generate-body-content.js type=text/javascript></script></div><div class="col-md-6 padding-bottom-30"><aside class=main-sidebar-default-margin id=main-sidebar><ul class=ul-left-nav id=leftnav role=tablist aria-multiselectable=true><li class="main-sidebar-main-item main-sidebar-item-indented separator"><a class="main-sidebar-heading link-unstyled" href=/legal>Legal</a></li><li class="main-sidebar-item main-sidebar-item-indented"><li class="main-sidebar-item main-sidebar-item-indented"><a class=link-unstyled role=button data-toggle=collapse href=#legal-eca aria-expanded=false aria-controls=legal-eca><span>ECA</span>
|
|
47
47
|
<i class="main-sidebar-item-icon fa fa-chevron-down" aria-hidden=true></i></a><div class=collapse id=legal-eca><ul class="main-sidebar-item-submenu list-unstyled"><li class=submenu-item><a class=link-unstyled href=/legal/eca target=_self>About</a></li><li class=submenu-item><a class=link-unstyled href=https://accounts.eclipse.org/user/eca target=_self>Sign</a></li><li class=submenu-item><a class=link-unstyled href=https://accounts.eclipse.org/user/eca target=_self>Validation Tool</a></li></ul></div></li></li><li class="main-sidebar-item main-sidebar-item-indented"><li class="main-sidebar-item main-sidebar-item-indented"><a class=link-unstyled role=button data-toggle=collapse href=#legal-epl-20 aria-expanded=false aria-controls=legal-epl-20><span>EPL-2.0</span>
|
|
@@ -60,4 +60,4 @@ open source software collaboration and innovation.</p></div><div class=mega-menu
|
|
|
60
60
|
<i class="fa-brands fa-linkedin-in fa-stack-1x fa-inverse" aria-hidden=true></i>
|
|
61
61
|
<span class=sr-only>Linkedin account</span></span></a></li></ul></div></div><div class="footer-sections row equal-height-md font-bold"><div class=col-md-15><div class=row><section id=footer-eclipse-foundation class="footer-section col-sm-8"><div class=menu-heading>Eclipse Foundation</div><ul class=nav><li><a href=https://www.eclipse.org/org/>About</a></li><li><a href=https://projects.eclipse.org/>Projects</a></li><li><a href=https://www.eclipse.org/collaborations/>Collaborations</a></li><li><a href=https://www.eclipse.org/membership/>Membership</a></li><li><a href=https://www.eclipse.org/sponsor/>Sponsor</a></li></ul></section><section id=footer-legal class="footer-section col-sm-8"><div class=menu-heading>Legal</div><ul class=nav><li><a href=https://www.eclipse.org/legal/privacy/>Privacy Policy</a></li><li><a href=https://www.eclipse.org/legal/terms-of-use/>Terms of Use</a></li><li><a href=https://www.eclipse.org/legal/compliance/>Compliance</a></li><li><a href=https://www.eclipse.org/org/documents/Community_Code_of_Conduct.php>Code of Conduct</a></li><li><a href=https://www.eclipse.org/legal/>Legal Resources</a></li><li><a class=toolbar-manage-cookies href=# onclick=event.preventDefault()>Manage Cookies</a></li></ul></section><section id=footer-more class="footer-section col-sm-8"><div class=menu-heading>More</div><ul class=nav><li><a href=https://www.eclipse.org/security/>Report a Vulnerability</a></li><li><a href=https://status.eclipse.org/>Service Status</a></li><li><a href=https://www.eclipse.org/org/foundation/contact.php>Contact Us</a></li><li><a href=https://www.eclipse.org/projects/support/>Support</a></li></ul></section></div></div><div id=footer-end class="footer-section col-md-8 col-md-offset-1 col-sm-24"><div class=footer-end-newsletter><form id=mc-embedded-subscribe-form action="https://eclipse.us6.list-manage.com/subscribe/post?u=eaf9e1f06f194eadc66788a85&id=e7538485cd&f_id=00f9c2e1f0" method=post novalidate target=_blank><label class=footer-end-newsletter-label for=email>Subscribe to our Newsletter</label><div class=footer-end-newsletter-input-wrapper><input class=footer-end-newsletter-input type=email id=email name=EMAIL autocomplete=email placeholder="Enter your email address">
|
|
62
62
|
<button class="footer-end-newsletter-submit btn btn-link" id=mc-embedded-subscribe type=submit name=subscribe>
|
|
63
|
-
<i class="fa fa-solid fa-envelope fa-lg" aria-hidden=true></i></button></div></form></div></div></div><div class="col-sm-24 margin-top-20"><div class=row><div id=copyright class=col-md-16><p id=copyright-text>Copyright © Eclipse Foundation AISBL. All Rights Reserved.</p></div></div></div><a href=# class=scrollup>Back to the top</a></div></footer><div id=footer-js><script src="/public/js/main.js?v1.0?v=
|
|
63
|
+
<i class="fa fa-solid fa-envelope fa-lg" aria-hidden=true></i></button></div></form></div></div></div><div class="col-sm-24 margin-top-20"><div class=row><div id=copyright class=col-md-16><p id=copyright-text>Copyright © Eclipse Foundation AISBL. All Rights Reserved.</p></div></div></div><a href=# class=scrollup>Back to the top</a></div></footer><div id=footer-js><script src="/public/js/main.js?v1.0?v=1750011359"></script><script>(function(){})(jQuery,document)</script></div></body></html>
|