diff --git a/gitlab-pages/docs/advanced/entrypoints-contracts.md b/gitlab-pages/docs/advanced/entrypoints-contracts.md index eeb4fc0ae..3b269d3d2 100644 --- a/gitlab-pages/docs/advanced/entrypoints-contracts.md +++ b/gitlab-pages/docs/advanced/entrypoints-contracts.md @@ -62,7 +62,7 @@ Each entrypoint function receives two arguments: - `parameter` - this is the parameter received in the invocation operation - `storage` - this is the current (real) on-chain storage value -Storage can only be modified by running the smart contract entrypoint, which is responsible for returning a list of operations, and a new storage at the end of it's execution. +Storage can only be modified by running the smart contract entrypoint, which is responsible for returning a list of operations, and a new storage at the end of its execution. ## Built-in contract variables diff --git a/gitlab-pages/docs/advanced/first-contract.md b/gitlab-pages/docs/advanced/first-contract.md index 19861291f..244cae5ab 100644 --- a/gitlab-pages/docs/advanced/first-contract.md +++ b/gitlab-pages/docs/advanced/first-contract.md @@ -33,7 +33,7 @@ Output of the `dry-run` is the return value of our entrypoint function, we can s ## Building a counter contract -Our counter contract will store a single `int` as it's storage, and will accept an `action` variant in order to re-route our single `main` entrypoint into two entrypoints for `addition` and `subtraction`. +Our counter contract will store a single `int` in its storage, and will accept an `action` variant in order to re-route our single `main` entrypoint into two entrypoints for `addition` and `subtraction`. @@ -167,7 +167,7 @@ ligo compile-storage src/counter.ligo main 5 -In our case the LIGO storage value maps 1:1 to it's Michelson representation, however this will not be the case once the parameter is of a more complex data type, like a record. +In our case the LIGO storage value maps 1:1 to its Michelson representation, however this will not be the case once the parameter is of a more complex data type, like a record. ## Invoking a LIGO contract diff --git a/gitlab-pages/docs/advanced/timestamps-addresses.md b/gitlab-pages/docs/advanced/timestamps-addresses.md index e77ba76ee..6538059d7 100644 --- a/gitlab-pages/docs/advanced/timestamps-addresses.md +++ b/gitlab-pages/docs/advanced/timestamps-addresses.md @@ -9,7 +9,7 @@ Timestamps in LIGO, or in Michelson in general are available in smart contracts, ### Current time -You can obtain the current time using the built-in syntax specific expression, please be aware that it's up to the baker to set the current timestamp value. +You can obtain the current time using the built-in syntax specific expression, please be aware that it is up to the baker to set the current timestamp value. diff --git a/gitlab-pages/docs/contributors/getting-started.md b/gitlab-pages/docs/contributors/getting-started.md index 7b186dfad..5a98402d3 100644 --- a/gitlab-pages/docs/contributors/getting-started.md +++ b/gitlab-pages/docs/contributors/getting-started.md @@ -23,9 +23,9 @@ The first issues will most likely be: >Tests are **really** important, we don’t have lots of them, and mostly regression ones. This can’t be stressed enough. Some features are missing not because we can’t add them, but because we don’t know as no tests tell us they are missing. ## How -Issues will be added to Gitlab tagged with `On-boarding and Front-End` / `Middle-End` / `Back-End` / `Everything`. +Issues will be added to GitLab tagged with `On-boarding and Front-End` / `Middle-End` / `Back-End` / `Everything`. -If you try to tackle an issue and you have **any** problem, please tell us by creating a new Gitlab issue, contacting us on Riot, on Discord, or even by mail! +If you try to tackle an issue and you have **any** problem, please tell us by creating a new GitLab issue, contacting us on Riot, on Discord, or even by mail! Problems might include: * Installing the repository or the tools needed to work on it diff --git a/gitlab-pages/docs/contributors/ligo_test_guide.md b/gitlab-pages/docs/contributors/ligo_test_guide.md index 4726c7fe3..eea05d77d 100644 --- a/gitlab-pages/docs/contributors/ligo_test_guide.md +++ b/gitlab-pages/docs/contributors/ligo_test_guide.md @@ -111,4 +111,4 @@ What if we want to write a test of our own? If the test is in the integration te 1. Write a test contract which uses the new syntax or feature in [src/test/contracts](https://gitlab.com/ligolang/ligo/tree/dev/src/test/contracts). 2. Write an integration test in [src/test/integration_tests.ml](https://gitlab.com/ligolang/ligo/blob/dev/src/test/integration_tests.ml) in the vein of existing tests, make sure you add it to the test runner that is currently located at the bottom of the file. 3. Write the feature, assuming it doesn't already exist. Build the resulting version of LIGO without errors. -4. Run the test suite, see if your test(s) pass. If they do, you're probably done. If not it's time to go debugging. +4. Run the test suite, see if your test(s) pass. If they do, you're probably done. If not, it's time to go debugging. diff --git a/gitlab-pages/docs/contributors/origin.md b/gitlab-pages/docs/contributors/origin.md index 9c8df5900..6b20863a3 100644 --- a/gitlab-pages/docs/contributors/origin.md +++ b/gitlab-pages/docs/contributors/origin.md @@ -3,8 +3,8 @@ id: origin title: Origin --- -LIGO is a programming language that aims to provide developers with an uncomplicated and safe way to implement smart-contracts. Since it is being implemented for the Tezos blockchain LIGO compiles to Michelson—the native smart-contract language of Tezos. +LIGO is a programming language that aims to provide developers with an uncomplicated and safe way to implement smart contracts. Since it is being implemented for the Tezos blockchain LIGO compiles to Michelson—the native smart contract language of Tezos. -> Smart-contracts are programs that run within a blockchain network. +> Smart contracts are programs that run within a blockchain network. LIGO was meant to be a language for developing Marigold on top of a hacky framework called Meta-Michelson. However, due to the attention received by the Tezos community, LIGO is now a standalone language being developed to support Tezos directly. \ No newline at end of file diff --git a/gitlab-pages/docs/contributors/philosophy.md b/gitlab-pages/docs/contributors/philosophy.md index 0af6e606b..351a470e2 100644 --- a/gitlab-pages/docs/contributors/philosophy.md +++ b/gitlab-pages/docs/contributors/philosophy.md @@ -6,7 +6,7 @@ title: Philosophy To understand LIGO’s design choices it’s important to understand its philosophy. We have two main concerns in mind while building LIGO. ## Safety -Once a smart-contract is deployed, it will likely be impossible to change it. You must get it right on the first try, and LIGO should help as much as possible. There are multiple ways to make LIGO a safer language for smart-contracts. +Once a smart contract is deployed, it will likely be impossible to change it. You must get it right on the first try, and LIGO should help as much as possible. There are multiple ways to make LIGO a safer language for smart contracts. ### Automated Testing Automated Testing is the process through which a program runs another program, and checks that this other program behaves correctly. @@ -18,7 +18,7 @@ Static analysis is the process of having a program analyze another one. For instance, type systems are a kind of static analysis through which it is possible to find lots of bugs. LIGO already has a simple type system, and we plan to make it much stronger. ### Conciseness -Writing less code gives you less room to introduce errors. That's why LIGO encourages writing lean rather than chunky smart-contracts. +Writing less code gives you less room to introduce errors. That's why LIGO encourages writing lean rather than chunky smart contracts. --- diff --git a/gitlab-pages/docs/intro/installation.md b/gitlab-pages/docs/intro/installation.md index cd45491ab..05c7f72ee 100644 --- a/gitlab-pages/docs/intro/installation.md +++ b/gitlab-pages/docs/intro/installation.md @@ -15,7 +15,7 @@ executable (see below). This manages the Docker bits for you. * Use the Docker image available at [Docker Hub](https://hub.docker.com/r/ligolang/ligo). This lets you run multiple versions and keep your installation(s) self contained, but requires more familiarity with Docker. -Sources for the image can be found on [Gitlab](https://gitlab.com/ligolang/ligo/blob/master/docker/Dockerfile). +Sources for the image can be found on [GitLab](https://gitlab.com/ligolang/ligo/blob/master/docker/Dockerfile). If this is your first time using Docker, you probably want to set up a global LIGO executable as shown below. ### Setting up a globally available `ligo` executable diff --git a/gitlab-pages/docs/intro/what-and-why.md b/gitlab-pages/docs/intro/what-and-why.md index 4cddae9a7..e1588392d 100644 --- a/gitlab-pages/docs/intro/what-and-why.md +++ b/gitlab-pages/docs/intro/what-and-why.md @@ -64,7 +64,7 @@ Unfortunately (???), we **can't run Javascript on the Tezos blockchain** at the ## C-like smart contracts instead of Michelson -Let's take a look at a similar LIGO program. Don't worry if it's a little confusing at first; we'll explain all the syntax in the upcoming sections of the documentation. +Let's take a look at a similar LIGO program. Don't worry if it is a little confusing at first; we'll explain all the syntax in the upcoming sections of the documentation. @@ -133,7 +133,7 @@ The LIGO contract behaves exactly* like the Michelson contract we've saw first, ## Runnable code snippets & exercises Some of the sections in this documentation will include runnable code snippets and exercises. Sources for those are available at -the [LIGO Gitlab repository](https://gitlab.com/ligolang/ligo). +the [LIGO GitLab repository](https://gitlab.com/ligolang/ligo). ### Snippets For example **code snippets** for the *Types* subsection of this doc, can be found here: @@ -142,7 +142,7 @@ For example **code snippets** for the *Types* subsection of this doc, can be fou ### Exercises Solutions to exercises can be found e.g. here: `gitlab-pages/docs/language-basics/exercises/types/**/solutions/**` -### Running snippets / excercise solutions +### Running snippets / exercise solutions In certain cases it makes sense to be able to run/evaluate the given snippet or a solution, usually there'll be an example command which you can use, such as: ```shell diff --git a/gitlab-pages/docs/language-basics/boolean-if-else.md b/gitlab-pages/docs/language-basics/boolean-if-else.md index d57e6fa99..4db3cf15e 100644 --- a/gitlab-pages/docs/language-basics/boolean-if-else.md +++ b/gitlab-pages/docs/language-basics/boolean-if-else.md @@ -141,7 +141,7 @@ const min_age: nat = 16n; (* This function is really obnoxious, but it showcases - how the if statement and it's syntax can be used. + how the if statement and its syntax can be used. Normally, you'd use `with (age > min_age)` instead. *) @@ -168,7 +168,7 @@ let min_age: nat = 16n (** This function is really obnoxious, but it showcases - how the if statement and it's syntax can be used. + how the if statement and its syntax can be used. Normally, you'd use `with (age > min_age)` instead. @@ -183,7 +183,7 @@ let min_age: nat = 16n; (** This function is really obnoxious, but it showcases - how the if statement and it's syntax can be used. + how the if statement and its syntax can be used. Normally, you'd use `with (age > min_age)` instead. diff --git a/gitlab-pages/docs/language-basics/functions.md b/gitlab-pages/docs/language-basics/functions.md index 6b5739205..c21fb2dfd 100644 --- a/gitlab-pages/docs/language-basics/functions.md +++ b/gitlab-pages/docs/language-basics/functions.md @@ -71,7 +71,7 @@ argument until every parameter is filled. This is useful because it means that CameLIGO can support [partial application](https://en.wikipedia.org/wiki/Partial_application). Currying is however *not* the preferred way to pass function arguments in CameLIGO. -While this approach is faithful to the original OCaml, it's costlier in Michelson +While this approach is faithful to the original OCaml, it is costlier in Michelson than naive function execution accepting multiple arguments. Instead for most functions with more than one parameter we should place the arguments in a [tuple](language-basics/sets-lists-touples.md) and pass the tuple in as a single @@ -111,7 +111,7 @@ value. Functions without a name, also known as anonymous functions are useful in cases when you want to pass the function as an argument or assign it to a key in a record/map. -Here's how to define an anonymous function assigned to a variable `increment`, with it's appropriate function type signature. +Here's how to define an anonymous function assigned to a variable `increment`, with its appropriate function type signature. ```pascaligo group=c diff --git a/gitlab-pages/docs/language-basics/tezos-specific.md b/gitlab-pages/docs/language-basics/tezos-specific.md index 2e40d786a..55b7be6af 100644 --- a/gitlab-pages/docs/language-basics/tezos-specific.md +++ b/gitlab-pages/docs/language-basics/tezos-specific.md @@ -42,7 +42,7 @@ let id_string = (p: string) : option(string) => { ## Hashing Keys -It's often desirable to hash a public key. In Michelson, certain data structures +It is often desirable to hash a public key. In Michelson, certain data structures such as maps will not allow the use of the `key` type. Even if this weren't the case hashes are much smaller than keys, and storage on blockchains comes at a cost premium. You can hash keys with the `key_hash` type and associated built in function. diff --git a/gitlab-pages/docs/tutorials/get-started/tezos-taco-shop-smart-contract.md b/gitlab-pages/docs/tutorials/get-started/tezos-taco-shop-smart-contract.md index e67c79506..9d2bf5ab2 100644 --- a/gitlab-pages/docs/tutorials/get-started/tezos-taco-shop-smart-contract.md +++ b/gitlab-pages/docs/tutorials/get-started/tezos-taco-shop-smart-contract.md @@ -1,13 +1,13 @@ --- id: tezos-taco-shop-smart-contract -title: Taco shop smart-contract +title: Taco shop smart contract ---
Michelson was never so easy
You can find past versions of this project on{' '} - Gitlab. + GitLab.
diff --git a/gitlab-pages/website/siteConfig.js b/gitlab-pages/website/siteConfig.js index c42f07a31..e7162d6af 100644 --- a/gitlab-pages/website/siteConfig.js +++ b/gitlab-pages/website/siteConfig.js @@ -4,7 +4,7 @@ let reasonHighlightJs = require('reason-highlightjs'); const siteConfig = { title: 'LIGO', // Title for your website. - tagline: 'LIGO is a friendly smart-contract language for Tezos', + tagline: 'LIGO is a friendly smart contract language for Tezos', taglineSub: 'Michelson was never so easy', url: 'https://ligolang.org', // Your website URL baseUrl: '/', // Base URL for your project */ @@ -29,7 +29,7 @@ const siteConfig = { label: 'Tutorials' }, { blog: true, label: 'Blog' }, - // TODO: { href: "/odoc", label: "Api" }, + // TODO: { href: "/odoc", label: "API" }, // { doc: 'contributors/origin', label: 'Contribute' }, { href: '/contact', label: 'Ask Questions' }, { search: true } @@ -40,14 +40,24 @@ const siteConfig = { { doc: 'intro/installation', label: 'Install' }, { doc: 'api/cli-commands', label: 'CLI Commands' }, { doc: 'contributors/origin', label: 'Contribute' }, - { href: '/odoc', label: 'Api Documentation' } + { href: '/odoc', label: 'API Documentation' } ], community: [ + { + href: 'https://forum.tezosagora.org/tag/ligo', + label: 'Tezos Agora Forum', + blankTarget: true + }, { href: 'https://tezos.stackexchange.com/questions/tagged/ligo', label: 'Tezos Stack Exchange', blankTarget: true }, + { + href: 'https://t.me/LigoLang', + label: 'Telegram', + blankTarget: true + }, { href: 'https://discord.gg/9rhYaEt', label: 'Discord', @@ -59,7 +69,7 @@ const siteConfig = { doc: 'tutorials/get-started/tezos-taco-shop-smart-contract', label: 'Tutorials' }, - { href: repoUrl, label: 'Gitlab' } + { href: repoUrl, label: 'GitLab' } ] }, diff --git a/gitlab-pages/website/static/img/telegram.svg b/gitlab-pages/website/static/img/telegram.svg new file mode 100644 index 000000000..cd4c3a0de --- /dev/null +++ b/gitlab-pages/website/static/img/telegram.svg @@ -0,0 +1,18 @@ + diff --git a/gitlab-pages/website/versioned_docs/version-next/contributors/origin.md b/gitlab-pages/website/versioned_docs/version-next/contributors/origin.md index 3b3820ef0..72b6002ac 100644 --- a/gitlab-pages/website/versioned_docs/version-next/contributors/origin.md +++ b/gitlab-pages/website/versioned_docs/version-next/contributors/origin.md @@ -4,8 +4,8 @@ title: Origin original_id: origin --- -LIGO is a programming language that aims to provide developers with an uncomplicated and safer way to implement smart-contracts. LIGO is currently being implemented for the Tezos blockchain and as a result, it compiles down to Michelson - the native smart-contract language of Tezos. +LIGO is a programming language that aims to provide developers with an uncomplicated and safe way to implement smart contracts. Since it is being implemented for the Tezos blockchain LIGO compiles to Michelson—the native smart contract language of Tezos. -> Smart-contracts are programs that run within a blockchain network. +> Smart contracts are programs that run within a blockchain network. -LIGO was initially meant to be a language for developing Marigold, on top of a hacky framework called Meta-Michelson. However, due to the attention received by the Tezos community, a decision has been put into action to develop LIGO as a standalone language that will support Tezos directly as well. \ No newline at end of file +LIGO was meant to be a language for developing Marigold on top of a hacky framework called Meta-Michelson. However, due to the attention received by the Tezos community, LIGO is now a standalone language being developed to support Tezos directly. \ No newline at end of file diff --git a/gitlab-pages/website/versioned_docs/version-next/contributors/philosophy.md b/gitlab-pages/website/versioned_docs/version-next/contributors/philosophy.md index 349c6d131..99c4d7c00 100644 --- a/gitlab-pages/website/versioned_docs/version-next/contributors/philosophy.md +++ b/gitlab-pages/website/versioned_docs/version-next/contributors/philosophy.md @@ -4,23 +4,22 @@ title: Philosophy original_id: philosophy --- -To understand LIGO’s design choices, it’s important to get its philosophy. There are two main concerns that we have in mind when building LIGO. - - +To understand LIGO’s design choices it’s important to understand its philosophy. We have two main concerns in mind while building LIGO. ## Safety -Once a smart-contract is deployed, it will likely be impossible to change it. You must get it right on the first try, and LIGO should help as much as possible. There are multiple ways to make LIGO a safer language for smart-contracts. +Once a smart contract is deployed, it will likely be impossible to change it. You must get it right on the first try, and LIGO should help as much as possible. There are multiple ways to make LIGO a safer language for smart contracts. ### Automated Testing -Automated Testing is the process through which a program will run some other program, and check that this other program behaves correctly. +Automated Testing is the process through which a program runs another program, and checks that this other program behaves correctly. + There already is a testing library for LIGO programs written in OCaml that is used to test LIGO itself. Making it accessible to users will greatly improve safety. A way to do so would be to make it accessible from within LIGO. ### Static Analysis Static analysis is the process of having a program analyze another one. -For instance, type systems are a kind of static analysis through which it is possible to find lots of bugs. There is already a fairly simple type system in LIGO, and we plan to make it much stronger. +For instance, type systems are a kind of static analysis through which it is possible to find lots of bugs. LIGO already has a simple type system, and we plan to make it much stronger. ### Conciseness -Writing less code gives you less room to introduce errors and that's why LIGO encourages writing lean rather than chunky smart-contracts. +Writing less code gives you less room to introduce errors. That's why LIGO encourages writing lean rather than chunky smart contracts. --- diff --git a/gitlab-pages/website/versioned_sidebars/version-next-sidebars.json b/gitlab-pages/website/versioned_sidebars/version-next-sidebars.json index e74ff6d36..07fc287dd 100644 --- a/gitlab-pages/website/versioned_sidebars/version-next-sidebars.json +++ b/gitlab-pages/website/versioned_sidebars/version-next-sidebars.json @@ -6,15 +6,27 @@ "version-next-intro/editor-support" ], "Language Basics": [ - "version-next-language-basics/cheat-sheet", "version-next-language-basics/types", - "version-next-language-basics/variables", + "version-next-language-basics/constants-and-variables", + "version-next-language-basics/math-numbers-tez", + "version-next-language-basics/strings", "version-next-language-basics/functions", - "version-next-language-basics/entrypoints", - "version-next-language-basics/operators" + "version-next-language-basics/boolean-if-else", + "version-next-language-basics/loops", + "version-next-language-basics/unit-option-pattern-matching", + "version-next-language-basics/maps-records", + "version-next-language-basics/sets-lists-tuples", + "version-next-language-basics/tezos-specific" + ], + "Advanced": [ + "version-next-advanced/timestamps-addresses", + "version-next-advanced/entrypoints-contracts", + "version-next-advanced/include", + "version-next-advanced/first-contract" ], "API": [ - "version-next-api-cli-commands" + "version-next-api/cli-commands", + "version-next-api/cheat-sheet" ] }, "version-next-contributors-docs": { diff --git a/scripts/distribution/generic/parameters.sh b/scripts/distribution/generic/parameters.sh index 436b48bf0..3899711d8 100644 --- a/scripts/distribution/generic/parameters.sh +++ b/scripts/distribution/generic/parameters.sh @@ -1,4 +1,4 @@ -# This script accepts three arguments, os family, os and it's version, +# This script accepts three arguments, os family, os and its version, # which are subsequently used to fetch the respective docker # image from the ocaml/infrastructure project. # diff --git a/vendors/ligo-utils/tezos-protocol-alpha/raw_context.ml b/vendors/ligo-utils/tezos-protocol-alpha/raw_context.ml index c887e319b..87b3615d0 100644 --- a/vendors/ligo-utils/tezos-protocol-alpha/raw_context.ml +++ b/vendors/ligo-utils/tezos-protocol-alpha/raw_context.ml @@ -330,7 +330,7 @@ let storage_error err = fail (Storage_error err) (* Initialization *********************************************************) (* This key should always be populated for every version of the - protocol. It's absence meaning that the context is empty. *) + protocol. Its absence meaning that the context is empty. *) let version_key = ["version"] let version_value = "babylon_005"