1. 19 Jun, 2020 2 commits
    • Pinto Pasquale's avatar
      [TM-410] make Indigo's tutorial a buildable website · 9f3d3d66
      Pinto Pasquale authored
      Problem: we can use the existing tutorial to make a static website
      for Indigo using mkdocs.
      This needs changed in the documentation's content, namely:
      - we would like to statically include part of the example modules
      - there needs to be an index/home page
      - the appendices should be moved to be "reference" pages
      - the explanations should not be flat, but include note blocks, etc.
      - references to local files need to be removed, as they don't work
      
      Solution: Make a buildable website with:
      - configuration for mkdocs and its extension
      - CSS for customized styling
      - a python-markdown extension for example source code inclusion
      9f3d3d66
    • Pinto Pasquale's avatar
      [TM-410] re-arrange indigo tutorial's files for website building · 1145fb98
      Pinto Pasquale authored
      Problem: A website for Indigo needs to be built from its current
      tutorial, however the tree structure is not ideal, in particular:
      - markdown files for the chapters are organized alonside the source
        code for the examples
      - the example modules are tied to the documentation structure
      These constitute a problem because we want the documentation's file
      tree structure to be independent from the examples and vice-versa.
      
      Solution: move the markdown files in a flat new directory and move
      the example modules in a topic-based tree structure.
      1145fb98
  2. 09 Jun, 2020 1 commit
    • Pinto Pasquale's avatar
      [#124] revise Indigo operators · 8a5a2539
      Pinto Pasquale authored
      Problem: some operators in Indigo are named in an odd way (usually with
      a `.`) to avoid conflicts with Haskell operators, additionally many of
      them operating on structures have been added organically and do not
      follow any convention, being confusing.
      Moreover, many of them do not have a prefix counterpart, which may be
      useful to have available.
      
      Solution: rename operators, replacing the ones from Prelude in case of
      name clashing and based on a convention in case of structure-based.
      Addionally, add all necessary prefix counterpart using the names of
      Michelson instructions where one exists.
      8a5a2539
  3. 22 May, 2020 1 commit
    • Moremi Vannak's avatar
      [#138] Reduce the usage `$` in Indigo · 89ae9d78
      Moremi Vannak authored
      Problem: Indigo code often contains the `$` Haskell operator,
      however since the language is meant to be used by people not
      familiar with Haskell it would be great to not make it a necessity.
      
      Solution: Reduce usage of `$` in 2 places:
      
      1. right before `do` is used for a block code
      - Solved by using `BlockArguments`
      
      2. right after `new`
      - Solved by treating `new$` as one keyword
      89ae9d78
  4. 20 May, 2020 1 commit
  5. 15 May, 2020 1 commit
    • Kirill Elagin's avatar
      Add licensing information · 1776886c
      Kirill Elagin authored
      * Add licenses for everything
      * Almost everything is copyrighted by TQ and the license is MIT,
      * apart from some dot-files in the root (Unlicensed by Serokell)
      * and example contracts comming from Tezos.
      1776886c
  6. 11 May, 2020 1 commit
    • Pinto Pasquale's avatar
      [#135] add custom Indigo fromInteger · 2afa4bb2
      Pinto Pasquale authored
      Problem: type signatures or annotations always need to be specified for
      numeric values in Indigo code, because they are otherwise ambiguous.
      However, Indigo uses `RebindableSyntax` that allows to define a
      `fromInteger` function used to resolve numeric literals, and this can
      be used to implement (some) custom resolution logic.
      
      Solution: implement a `fromInteger` that takes an additional value
      (beside the Integer) that provides disambiguation for the resulting
      value type, with function constructors for this type that match the
      target Michelson type.
      Additionally, because of this, the 'int' expression has been renamed
      'toInt'.
      2afa4bb2
  7. 07 Apr, 2020 1 commit
    • Pinto Pasquale's avatar
      [#90] fix Indigo's tutorial package to make it buildable · ebbc1761
      Pinto Pasquale authored
      Problem: Indigo's tutorial does not actually build, because its
      example modules are not included in the cabal file.
      This was caused by the modules having thir name starting with a
      number instead of a capital letter.
      Additionally, recent updates have broken these modules so they
      would not compile anyway.
      
      Solution: rename modules to include them in the cabal file, fix what
      was broken by recent changes.
      ebbc1761
  8. 19 Mar, 2020 1 commit
    • Pinto Pasquale's avatar
      [#90] update Indigo README and add a tutorial · 372c60c6
      Pinto Pasquale authored
      Problem: Indigo documentation is outdated and was written for internal
      use only. It would be better to have a newcomers-frienly tutorial that
      also introduces concepts for developers.
      
      Solution: create a tutorial with examples that is easy to follow and
      contains (updated) information from the old README.
      Provide then a simpler README that refers to the tutorial.
      Additionally, add printing and type synonyms that help Indigo usage.
      372c60c6