Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed several broken links and added canonical links for SEO #255

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Design.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ The design of IELE was based on our experience with formally defining [dozens of

* [KEVM](https://github.com/kframework/evm-semantics), our semantics of the [Ethereum Virtual Machine](https://github.com/ethereum/yellowpaper) (EVM); and

* KLLVM, our semantics of [LLVM](http://llvm.org); the latest version of the LLVM semantics will be made public when complete and published, but an earlier version [is available](https://github.com/kframework/llvm-semantics).
* KLLVM, our semantics of [LLVM](https://llvm.org/); the latest version of the LLVM semantics will be made public when complete and published, but an earlier version [is available](https://github.com/kframework/llvm-semantics).

Unlike the EVM, which is a stack-based machine, IELE is a register-based machine, like LLVM. IELE also directly supports functions, like LLVM. It has an unbounded number of registers and also supports unbounded integers. There are some tricky but manageable aspects with respect to gas calculation, a critical part of the design.

Expand All @@ -20,7 +20,7 @@ Here are the forces that drove the design of IELE:

3. To make it easier to write secure smart contracts. This includes writing requirements specifications that smart contracts must obey as well as making it easier to develop automated techniques that mathematically verify / prove smart contracts correct with respect to to such specifications. For example, pushing a possibly computed number on the stack and then jumping to it regarded as an address makes verification hard, and thus security weaker, with current smart contract paradigms. IELE has named labels, like LLVM, and jump statements can only jump to those labels. Also, avoiding the use of a bounded stack and not having to worry about stack or arithmetic overflow makes specification and verification of smart contracts significantly easier.

Like [KEVM](https://github.com/kframework/evm-semantics), the formal semantics of EVM that we previously defined, validated and evaluated using the [K framework](http://kframework.org), the design of IELE was also done in a semantics-based style, using K. Together with a fast (LLVM-based) execution backend for K that is still under development, it is expected that the interpreter obtained automatically from the semantics of IELE will be sufficiently efficient to serve as a reference implementation of IELE.
Like [KEVM](https://github.com/kframework/evm-semantics), the formal semantics of EVM that we previously defined, validated and evaluated using the [K framework](https://kframework.org), the design of IELE was also done in a semantics-based style, using K. Together with a fast (LLVM-based) execution backend for K that is still under development, it is expected that the interpreter obtained automatically from the semantics of IELE will be sufficiently efficient to serve as a reference implementation of IELE.


# Design Changes Relative to EVM
Expand Down
2 changes: 1 addition & 1 deletion INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ It is safe to skip any of these dependencies that are already installed.
Follow the instructions below.
Perform all steps as your normal (non-root) user.
You may find the same instructions and our public key at <https://runtimeverification.cachix.org>.
To follow this instructions, you will need `curl` installed on your system <https://curl.haxx.se/download.html>.
To follow this instructions, you will need `curl` installed on your system <https://curl.se/download.html>.

#### Nix

Expand Down
1 change: 1 addition & 0 deletions web/.nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
lts/dubnium
1 change: 1 addition & 0 deletions web/build-html.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ generatePagesFromMarkdownFiles({
sourceDirectory: path.resolve(__dirname, "../"),
outputDirectory: path.resolve(__dirname, "./public_content/"),
websiteDirectory: path.resolve(__dirname, "./public_content/"),
websiteOrigin: "https://ielelang.org",
template: pageTemplate,
includeFileBasePath: path.resolve(__dirname, "./static_content/html/"),
});
6 changes: 6 additions & 0 deletions web/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion web/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"description": "--- permalink: README.html copyright: Copyright (c) 2010-2020 Runtime Verification Team. All Rights Reserved. ---",
"main": "index.html",
"scripts": {
"build": "cd ./k-web-theme && npm install && npm run build && cd - && npm install ./k-web-theme && cp -r ./k-web-theme/public_content/* ./public_content/ && node build-html.js",
"build": "cd ./k-web-theme && npm install && npm run build && cd - && npm install ./k-web-theme && cp -r ./k-web-theme/public_content/. ./public_content/ && node build-html.js",
"build-sitemap": "node sitemap/build-sitemap.js https://ielelang.org/",
"serve": "http-server public_content"
},
Expand Down
1 change: 1 addition & 0 deletions web/static_content/html/include/head.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
<meta name="keywords" content="runtime, verification, rv, k" />
<meta name="author" content="IELE Semantics | Runtime Verification Inc" />
<meta name="robots" content="index, follow" />
<link rel="canonical" href="{{$PAGE_URL}}" />

<!--favicon icon-->
<link rel="icon" type="image/png" href="{{$ROOT}}/assets/img/favicon.ico" />
Expand Down
4 changes: 2 additions & 2 deletions web/static_content/html/include/sidebar.html
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
<nav class="collapse bd-links" aria-label="Main navigation">
<div class="bd-toc-item">
<a class="bd-toc-link" href="{{$ROOT}}/">Homepage</a>
<a class="bd-toc-link" href="{{$ROOT}}/INSTALL">Install</a>
<a class="bd-toc-link" href="{{$ROOT}}/Design">Design</a>
<a class="bd-toc-link" href="{{$ROOT}}/INSTALL/">Install</a>
<a class="bd-toc-link" href="{{$ROOT}}/Design/">Design</a>
</div>
</nav>
</div>