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

Chapter: Background #2

Open
wants to merge 72 commits into
base: main
Choose a base branch
from
Open

Chapter: Background #2

wants to merge 72 commits into from

Conversation

ysndr
Copy link
Owner

@ysndr ysndr commented Dec 27, 2021

  • Nickel
    • type system
    • row types
    • optional typing
  • AST
  • LSP Methods

@github-actions
Copy link

Uploaded preview of this chapter and the full document preview branch

Preview: chapter/background

1 similar comment
@github-actions
Copy link

Uploaded preview of this chapter and the full document preview branch

Preview: chapter/background

### Software defined Networks
### Software Networks



## Data oriented languages

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about transformations/term level handling of contracts and recursinve records etc.
Especially contracts as they get rewritten into expressions run during runtime.
I think this concept applies better to the background as I dont use it in the LSP, yet it is quite technical/internal.

### Software defined Networks
### Software Networks


Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should i go into detail of things like parsing and AST construction here as well?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I imagine you have to say somewhere the following: traditionally, programs are parsed as an AST (explaining quickly what it is). However, for the LSP, we need to enrich this data structure (while not polluting the core nickel implementation) and we need to index things by positions. Those two constraints explain your technical choices.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think i will motivate the need for enriching the AST (and in short describing what is the AST) in #4 or otherwise move the Nickel AST section from Method to Background entirely

@github-actions
Copy link

Uploaded preview of this chapter and the full document preview branch

Preview: chapter/background

1 similar comment
@github-actions
Copy link

Uploaded preview of this chapter and the full document preview branch

Preview: chapter/background


## Language Server Protocol

### Rationale
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Discuss use-cases as part of related work (on other usecases such as dsl's)


### Rationale

Since its release, the LSP has grown to be supported by a multitude of languages and editors[@langservers @lsp-website].
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

General question: footnotes or refernces for websites

@github-actions
Copy link

Uploaded preview of this chapter and the full document preview branch

Preview: chapter/background

5 similar comments
@github-actions
Copy link

Uploaded preview of this chapter and the full document preview branch

Preview: chapter/background

@github-actions
Copy link

Uploaded preview of this chapter and the full document preview branch

Preview: chapter/background

@github-actions
Copy link

Uploaded preview of this chapter and the full document preview branch

Preview: chapter/background

@github-actions
Copy link

Uploaded preview of this chapter and the full document preview branch

Preview: chapter/background

@github-actions
Copy link

github-actions bot commented Jan 1, 2022

Uploaded preview of this chapter and the full document preview branch

Preview: chapter/background

chapter/background.md Outdated Show resolved Hide resolved
Comment on lines 55 to 69
`"jsonrpc" : "2.0"`
~ A fixed value format indicator

`"method"`
~ The name of the procedure called on the server
~ May not start with `rpc.` which is an indicator for internal messages

`"params"`
~ An optional set of parameters passed to the executed method.
~ Parameters can be passed as a list of arguments or as a named dictionary.

`"id"`
~ A (unique) identifier for the current message
~ Used to answer client requests
~ Messages without an `id` are considered to be *Notifications*
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like this key specific documentation and the following prosa are somewhat redundant.
I'm not sure which to keep, especially considering my comment on documenting the LSP

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you can get rid of this indeed. You can link to the LSP official documentation somewhere. Explaining a few things like below is fine, but reproducing technical documentation is a bit superfluous.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think about turning the schema into a short example, just to have an idea at least
Something like

{ "jsonrpc": "2.0", "method": "add" , "params": [1,2] , "id": 12 }

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, short examples are always welcome

@github-actions
Copy link

github-actions bot commented Jan 1, 2022

Uploaded preview of this chapter and the full document preview branch

Preview: chapter/background

3 similar comments
@github-actions
Copy link

github-actions bot commented Jan 1, 2022

Uploaded preview of this chapter and the full document preview branch

Preview: chapter/background

@github-actions
Copy link

github-actions bot commented Jan 1, 2022

Uploaded preview of this chapter and the full document preview branch

Preview: chapter/background

@github-actions
Copy link

github-actions bot commented Jan 2, 2022

Uploaded preview of this chapter and the full document preview branch

Preview: chapter/background


## Configuration programming languages

Nickel [@nickel], the language targeted by the language server detailed in this thesis, defines itself as "configuration language" used to automize the generation of static configuration files.
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section describes the use-case for text based configuration files, their shortcomings in terms of validation and language features.
I then mention using general purpose languages for configuration, closing with why one would want to use configuration programming languages

Comment on lines 142 to 99
Despite this, not all languages serve as a configuration language, e.g. compiled languages and some domains require language agnostic formats.
For particularly complex products, both language independence and advanced features are desirable.
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mention the security aspects of using an evaluated language with access to the system?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can mention it. Most of the config languages I know and you cite are pure, that is they can't perform side effects like interacting with the system. It's an important property for both reproducibility (avoid having the configuration unseemly depends on external state) and security (you don't want your config to be able to run arbitrary programs).

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Secure also in terms of leaving critical holes in a network which could solve statically checked or enforced against using contracts

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also Chef uses ruby ...
And in the end this would be an argument for DSL like languages with certain restrictions

@github-actions
Copy link

github-actions bot commented Jan 2, 2022

Uploaded preview of this chapter and the full document preview branch

Preview: chapter/background

chapter/background.md Outdated Show resolved Hide resolved
chapter/background.md Outdated Show resolved Hide resolved
chapter/background.md Outdated Show resolved Hide resolved
chapter/background.md Outdated Show resolved Hide resolved
Language servers are today's standard of integrating support for programming languages into code editors.
Initially developed by Microsoft for the use with their polyglot editor Visual Studio Code^[https://code.visualstudio.com/] before being released to the public in 2016 by Microsoft, RedHat and Codeenvy, the LSP decouples language analysis and provision of IDE-like features from the environment used to write.
Developed under open source license on GitHub^[https://github.com/microsoft/language-server-protocol/], it allows developers of editors and languages to work independently on the support for new languages.
If supported by both server and client, the LSP now supports more than 24 language features^[https://microsoft.github.io/language-server-protocol/specifications/specification-current/] including code completion, hover information, resolution of type and variable definitions, controlling document highlighting, formatting and more.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"If supported by both server and client": I don't understand the logical relation between this beginning and the rest of the sentence.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, implementing language features on the server side does not mean these are available on your editor and vice versa.
In fact both declare sets capabilities.
All 24 features are only available for a combination of editors (clients) and servers that support them all

Applications of configuration languages are ubiquitous especially in the vicinity of software development. While XML and JSON are often used by package managers [@npm, @maven, @composer], YAML is a popular choice for complex configurations such as CI/CD pipelines [@travis, @ghaction, @gitlab-runner] or machine configurations in software defined networks such as Kubernetes and docker compose.

Such static formats are used due to some significant advantages compared to other formats.
Most strikingly, the textual representation allows inspection of a configuration without the need of a separate tool but a text editor and be version controlled using VCS software like Git.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You explain why text configuration is better than some random proprietary format + a GUI application to control it. I would also insist in this paragraph on why configuration has become so ubiquitous recently: infrastructure as code and related paradigms. That is, configuration is replacing a lot of things that were done in an imperative manner formerly. Sysadmins 20 years ago were mostly linux users typing commands on servers. Nowadays they are mostly SRE/DevOps writing yaml and deploying through things Kubernetes/docker/Terraform. I don't think you would use Nickel for an npm package description (it would probably be overkill, and here simplicity is a good thing). One important motivation for Nickel is all these new use-cases for configuration that just didn't exist before, and they bring in complexity. There, JSON and co becomes verbose, hard to maintain, hard to "debug", and so on.

The first symptom is you ending up duplicating a lot of data that may become out of sync (like IPs, machine names, servers, etc.). Just by adding variables (let-binding) and say string interpolation, you already gain a lot by being able to specifying a single source of truth and refers to it elsewhere. With functions, you are able to describe dependencies between data: typically, the list of open ports is derived from the list of enabled protocols, e.g.

Copy link
Owner Author

@ysndr ysndr Jan 4, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's covered in parts in another subsection

Comment on lines 142 to 99
Despite this, not all languages serve as a configuration language, e.g. compiled languages and some domains require language agnostic formats.
For particularly complex products, both language independence and advanced features are desirable.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can mention it. Most of the config languages I know and you cite are pure, that is they can't perform side effects like interacting with the system. It's an important property for both reproducibility (avoid having the configuration unseemly depends on external state) and security (you don't want your config to be able to run arbitrary programs).

chapter/background.md Outdated Show resolved Hide resolved
Alternatively to generating configurations using high level languages, this demand is addressed by more domain specific languages.
Dhall [@dhall], Cue [@cue] or jsonnet [@jsonnet] are such intermediate languages, that offer varying support for string interpolation, (strict) typing, functions and validation.

## Infrastructure as Code
Copy link
Collaborator

@yannham yannham Jan 3, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh you intend to have a specific section dedicated to this. Then I would put this section before the previous one, as it serves as context about why configuration languages are needed. IaC is one of the main motivation and use-case.

For particularly complex products, both language independence and advanced features are desirable.
Alternatively to generating configurations using high level languages, this demand is addressed by more domain specific languages.
Dhall [@dhall], Cue [@cue] or jsonnet [@jsonnet] are such intermediate languages, that offer varying support for string interpolation, (strict) typing, functions and validation.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should probably also cite Nix, as it is one of the main target of Nickel. Don't have to explain everything, but mention it is a package manager enforcing reproducibility that uses a language to describe its software packages.

@github-actions
Copy link

github-actions bot commented Jan 4, 2022

Uploaded preview of this chapter and the full document preview branch

Preview: chapter/background

3 similar comments
@github-actions
Copy link

github-actions bot commented Jan 4, 2022

Uploaded preview of this chapter and the full document preview branch

Preview: chapter/background

@github-actions
Copy link

github-actions bot commented Jan 4, 2022

Uploaded preview of this chapter and the full document preview branch

Preview: chapter/background

@github-actions
Copy link

github-actions bot commented Jan 4, 2022

Uploaded preview of this chapter and the full document preview branch

Preview: chapter/background

@ysndr ysndr requested a review from yannham January 5, 2022 16:03
@ysndr
Copy link
Owner Author

ysndr commented Jan 5, 2022

@yannham I addressed most of your remarks, if you want to have an eye on it
Im working on the methods now and find myself writing a couple of nickel internals in that chapter about which I think they would be to technical in the background (elements of the ast t.ex)

@ysndr ysndr mentioned this pull request Jan 11, 2022
3 tasks
github-actions bot pushed a commit that referenced this pull request Apr 17, 2022
commit 9f55909
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:34:28 2022 +0200

    Short description of gradual typing

commit 010ac56
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:34:13 2022 +0200

    Describe Record Merging

commit 44e266a
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:33:28 2022 +0200

    Add Nickel Introduction

commit a82da53
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:33:09 2022 +0200

    Comment configuration example

commit 86ab1ad
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:32:53 2022 +0200

    Move file processing section from related work

commit 6b64478
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:32:32 2022 +0200

    Fix list item

commit 9cb38ea
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:32:16 2022 +0200

    Cleanup Headers

commit 25fdb8f
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:31:42 2022 +0200

    Describe Diagnostics capability

commit 2fb44ae
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:31:14 2022 +0200

    Describe symbols capability

commit f678716
Author: ysndr <me@ysndr.de>
Date:   Mon Apr 11 15:18:14 2022 +0200

    Add Go-To Methods

commit 35456a7
Author: ysndr <me@ysndr.de>
Date:   Sat Apr 9 21:37:28 2022 +0200

    Fix file paths

commit 32730eb
Author: ysndr <me@ysndr.de>
Date:   Sat Apr 9 21:14:03 2022 +0200

    Explain hover

commit 681d268
Author: ysndr <me@ysndr.de>
Date:   Sat Apr 9 21:13:40 2022 +0200

    Explain completion

commit 85e4b6f
Author: ysndr <me@ysndr.de>
Date:   Sat Apr 9 21:13:15 2022 +0200

    Improve LSP introduction

commit f526565
Author: ysndr <me@ysndr.de>
Date:   Sat Apr 9 21:12:50 2022 +0200

    Clean up json rpc

commit 69dcab0
Author: Yannik Sander <me@ysndr.de>
Date:   Fri Feb 25 14:04:37 2022 +0100

    Fix code block formatting

commit 5c2ee8c
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 16:01:30 2022 +0100

    Clarifying static/dynamic access

commit ce50274
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 15:32:40 2022 +0100

    Nickel record shorthand example fixes

commit a4ce6ee
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 15:28:56 2022 +0100

    Remove (commented) comparative example

commit ab40ab4
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 15:27:55 2022 +0100

    Simplify metadata

commit 835cfcc
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 15:02:04 2022 +0100

    Nix example typos and empty lines

commit 496702d
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 14:59:53 2022 +0100

    IaC intro

commit d71ed22
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 14:41:52 2022 +0100

    Rephrase "config drift" paragraph

commit 3fc8853
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 12:15:59 2022 +0100

    Apply suggestions from code review

    From PR review #4
    Moved to #2

    Co-authored-by: Yann Hamdaoui <yann.hamdaoui@gmail.com>
    # Conflicts:
    #	chapter/background.md

commit 59fee45
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Feb 6 17:51:43 2022 +0100

    Fix latex incompatibility

commit 7a38c0d
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Feb 6 17:43:20 2022 +0100

    Add section on contracts

commit e6dd02a
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Feb 6 17:42:58 2022 +0100

    Move down header level of gradual typing

commit a8b020a
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Feb 6 17:42:23 2022 +0100

    Fix typos and wording

commit 1034f59
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Feb 6 15:26:40 2022 +0100

    Remove Motivation (moved to introduction)

commit c6791ed
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Jan 26 17:25:21 2022 +0100

    Fix code examples to pass syntax highlighter

commit 5874b6a
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Jan 26 17:24:57 2022 +0100

    AST: Identifiers and let bindings

commit b143283
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 13 15:40:43 2022 +0100

    Add Nickel AST chapter to background

commit 815a0fe
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 13 15:40:13 2022 +0100

    Merge Nickel section into Configuration languages

commit d27c9a3
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 4 18:02:25 2022 +0100

    Removing math terms and mention edit integration work

commit b9a65f0
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 4 17:50:07 2022 +0100

    Add paragraph about config security

commit 584e5a5
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 4 17:49:44 2022 +0100

    Do not use auxillary description for DSL

commit 6f52325
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 4 17:18:16 2022 +0100

    Address more suggestions towards motivation and JSONRPC

commit 49605bc
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 4 16:52:32 2022 +0100

    Address suggestions regarding LSP

commit 99d5d07
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 4 16:47:35 2022 +0100

    Apply suggestions from code review

    Co-authored-by: Yann Hamdaoui <yann.hamdaoui@gmail.com>

commit 1e0facf
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 4 16:31:33 2022 +0100

    Fill subsection on IaC

commit 525c298
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Jan 2 16:19:43 2022 +0100

    Fix some footnotes and typo

commit be79a9c
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Jan 2 14:26:40 2022 +0100

    Finish `Configuration programming languages` section

commit 440fdf8
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Jan 2 00:51:02 2022 +0100

    Amend static text vs binary paragraph

commit c8903d3
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Jan 1 18:07:26 2022 +0100

    Start section on configuration programming languages

commit 3cfc28b
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Jan 1 15:55:21 2022 +0100

    Fix figure references

commit e1b816b
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Jan 1 15:31:30 2022 +0100

    Finish rpc doc

commit 3cc32b5
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Jan 1 15:05:58 2022 +0100

    Fix code block rendering

commit 0706fe3
Author: Yannik Sander <me@ysndr.de>
Date:   Fri Dec 31 17:57:41 2021 +0100

    Start subsection jsron rpc

commit 277674f
Author: Yannik Sander <me@ysndr.de>
Date:   Fri Dec 31 16:49:02 2021 +0100

    Fix footnote

commit 40cbc87
Author: Yannik Sander <me@ysndr.de>
Date:   Fri Dec 31 16:32:35 2021 +0100

    Rename rationale Motivation and extend subsection

commit 87589b6
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Dec 29 00:05:48 2021 +0100

    Add to the rationale of LSP

commit d36bac9
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Dec 28 21:29:57 2021 +0100

    Language server Introduction

commit 32aa082
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Dec 28 20:17:57 2021 +0100

    Background introduction

commit c0b5965
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Dec 28 20:01:15 2021 +0100

    Extend chapter outline

commit 7826b00
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Dec 27 23:10:25 2021 +0100

    Address LSP first
github-actions bot pushed a commit that referenced this pull request May 8, 2022
commit 6f83edd
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:51:17 2022 +0200

    Style improvements

    Co-authored-by: Martin Monperrus <martin.monperrus@gnieh.org>

commit bd59fe3
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:50:31 2022 +0200

    IaaS description and application

commit f7cbbc9
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:49:45 2022 +0200

    Move Nickel AST to top to introduce fundamental concepts (i.e. records)

commit 1e0821b
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:47:59 2022 +0200

    Add sentence about IaC implementation

commit 430c53e
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:46:16 2022 +0200

    Fixup: Rewrite Configuration programming languages as text based configuration

commit e945242
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:45:00 2022 +0200

    Rewrite Configuration programming languages as text based configuration

    Co-authored-by: Martin Monperrus <martin.monperrus@gnieh.org>

commit 8f4f497
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:40:38 2022 +0200

    Destinction of workspace scoped symbols

commit ccdde1e
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:39:32 2022 +0200

    Define Folder/Workspace

    Co-authored-by: Martin Monperrus <martin.monperrus@gnieh.org>

commit 102d411
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:38:09 2022 +0200

    Add RPC method names

commit 643d5c8
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:36:58 2022 +0200

    Remove subjective phrase

    Co-authored-by: Martin Monperrus <martin.monperrus@gnieh.org>

commit d2a3e93
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:36:31 2022 +0200

    Improve self containment of this chapter

commit 1b7f7c6
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:35:19 2022 +0200

    Update chapter/background.md

commit dd68fdd
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:33:43 2022 +0200

    Define JSON-RPC after naming it

commit 33d2f6f
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:31:26 2022 +0200

    Define and distinct LSP Server/Client

commit 9f55909
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:34:28 2022 +0200

    Short description of gradual typing

commit 010ac56
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:34:13 2022 +0200

    Describe Record Merging

commit 44e266a
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:33:28 2022 +0200

    Add Nickel Introduction

commit a82da53
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:33:09 2022 +0200

    Comment configuration example

commit 86ab1ad
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:32:53 2022 +0200

    Move file processing section from related work

commit 6b64478
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:32:32 2022 +0200

    Fix list item

commit 9cb38ea
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:32:16 2022 +0200

    Cleanup Headers

commit 25fdb8f
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:31:42 2022 +0200

    Describe Diagnostics capability

commit 2fb44ae
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:31:14 2022 +0200

    Describe symbols capability

commit f678716
Author: ysndr <me@ysndr.de>
Date:   Mon Apr 11 15:18:14 2022 +0200

    Add Go-To Methods

commit 35456a7
Author: ysndr <me@ysndr.de>
Date:   Sat Apr 9 21:37:28 2022 +0200

    Fix file paths

commit 32730eb
Author: ysndr <me@ysndr.de>
Date:   Sat Apr 9 21:14:03 2022 +0200

    Explain hover

commit 681d268
Author: ysndr <me@ysndr.de>
Date:   Sat Apr 9 21:13:40 2022 +0200

    Explain completion

commit 85e4b6f
Author: ysndr <me@ysndr.de>
Date:   Sat Apr 9 21:13:15 2022 +0200

    Improve LSP introduction

commit f526565
Author: ysndr <me@ysndr.de>
Date:   Sat Apr 9 21:12:50 2022 +0200

    Clean up json rpc

commit 69dcab0
Author: Yannik Sander <me@ysndr.de>
Date:   Fri Feb 25 14:04:37 2022 +0100

    Fix code block formatting

commit 5c2ee8c
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 16:01:30 2022 +0100

    Clarifying static/dynamic access

commit ce50274
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 15:32:40 2022 +0100

    Nickel record shorthand example fixes

commit a4ce6ee
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 15:28:56 2022 +0100

    Remove (commented) comparative example

commit ab40ab4
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 15:27:55 2022 +0100

    Simplify metadata

commit 835cfcc
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 15:02:04 2022 +0100

    Nix example typos and empty lines

commit 496702d
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 14:59:53 2022 +0100

    IaC intro

commit d71ed22
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 14:41:52 2022 +0100

    Rephrase "config drift" paragraph

commit 3fc8853
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 12:15:59 2022 +0100

    Apply suggestions from code review

    From PR review #4
    Moved to #2

    Co-authored-by: Yann Hamdaoui <yann.hamdaoui@gmail.com>
    # Conflicts:
    #	chapter/background.md

commit 59fee45
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Feb 6 17:51:43 2022 +0100

    Fix latex incompatibility

commit 7a38c0d
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Feb 6 17:43:20 2022 +0100

    Add section on contracts

commit e6dd02a
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Feb 6 17:42:58 2022 +0100

    Move down header level of gradual typing

commit a8b020a
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Feb 6 17:42:23 2022 +0100

    Fix typos and wording

commit 1034f59
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Feb 6 15:26:40 2022 +0100

    Remove Motivation (moved to introduction)

commit c6791ed
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Jan 26 17:25:21 2022 +0100

    Fix code examples to pass syntax highlighter

commit 5874b6a
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Jan 26 17:24:57 2022 +0100

    AST: Identifiers and let bindings

commit b143283
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 13 15:40:43 2022 +0100

    Add Nickel AST chapter to background

commit 815a0fe
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 13 15:40:13 2022 +0100

    Merge Nickel section into Configuration languages

commit d27c9a3
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 4 18:02:25 2022 +0100

    Removing math terms and mention edit integration work

commit b9a65f0
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 4 17:50:07 2022 +0100

    Add paragraph about config security

commit 584e5a5
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 4 17:49:44 2022 +0100

    Do not use auxillary description for DSL

commit 6f52325
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 4 17:18:16 2022 +0100

    Address more suggestions towards motivation and JSONRPC

commit 49605bc
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 4 16:52:32 2022 +0100

    Address suggestions regarding LSP

commit 99d5d07
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 4 16:47:35 2022 +0100

    Apply suggestions from code review

    Co-authored-by: Yann Hamdaoui <yann.hamdaoui@gmail.com>

commit 1e0facf
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 4 16:31:33 2022 +0100

    Fill subsection on IaC

commit 525c298
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Jan 2 16:19:43 2022 +0100

    Fix some footnotes and typo

commit be79a9c
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Jan 2 14:26:40 2022 +0100

    Finish `Configuration programming languages` section

commit 440fdf8
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Jan 2 00:51:02 2022 +0100

    Amend static text vs binary paragraph

commit c8903d3
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Jan 1 18:07:26 2022 +0100

    Start section on configuration programming languages

commit 3cfc28b
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Jan 1 15:55:21 2022 +0100

    Fix figure references

commit e1b816b
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Jan 1 15:31:30 2022 +0100

    Finish rpc doc

commit 3cc32b5
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Jan 1 15:05:58 2022 +0100

    Fix code block rendering

commit 0706fe3
Author: Yannik Sander <me@ysndr.de>
Date:   Fri Dec 31 17:57:41 2021 +0100

    Start subsection jsron rpc

commit 277674f
Author: Yannik Sander <me@ysndr.de>
Date:   Fri Dec 31 16:49:02 2021 +0100

    Fix footnote

commit 40cbc87
Author: Yannik Sander <me@ysndr.de>
Date:   Fri Dec 31 16:32:35 2021 +0100

    Rename rationale Motivation and extend subsection

commit 87589b6
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Dec 29 00:05:48 2021 +0100

    Add to the rationale of LSP

commit d36bac9
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Dec 28 21:29:57 2021 +0100

    Language server Introduction

commit 32aa082
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Dec 28 20:17:57 2021 +0100

    Background introduction

commit c0b5965
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Dec 28 20:01:15 2021 +0100

    Extend chapter outline

commit 7826b00
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Dec 27 23:10:25 2021 +0100

    Address LSP first
github-actions bot pushed a commit that referenced this pull request May 24, 2022
commit 78807b7
Author: ysndr <me@ysndr.de>
Date:   Tue May 24 13:14:20 2022 +0200

    Fill bibliography

commit ad3d394
Author: ysndr <me@ysndr.de>
Date:   Tue May 24 13:13:58 2022 +0200

    Import bibliography config

commit 6f83edd
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:51:17 2022 +0200

    Style improvements

    Co-authored-by: Martin Monperrus <martin.monperrus@gnieh.org>

commit bd59fe3
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:50:31 2022 +0200

    IaaS description and application

commit f7cbbc9
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:49:45 2022 +0200

    Move Nickel AST to top to introduce fundamental concepts (i.e. records)

commit 1e0821b
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:47:59 2022 +0200

    Add sentence about IaC implementation

commit 430c53e
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:46:16 2022 +0200

    Fixup: Rewrite Configuration programming languages as text based configuration

commit e945242
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:45:00 2022 +0200

    Rewrite Configuration programming languages as text based configuration

    Co-authored-by: Martin Monperrus <martin.monperrus@gnieh.org>

commit 8f4f497
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:40:38 2022 +0200

    Destinction of workspace scoped symbols

commit ccdde1e
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:39:32 2022 +0200

    Define Folder/Workspace

    Co-authored-by: Martin Monperrus <martin.monperrus@gnieh.org>

commit 102d411
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:38:09 2022 +0200

    Add RPC method names

commit 643d5c8
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:36:58 2022 +0200

    Remove subjective phrase

    Co-authored-by: Martin Monperrus <martin.monperrus@gnieh.org>

commit d2a3e93
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:36:31 2022 +0200

    Improve self containment of this chapter

commit 1b7f7c6
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:35:19 2022 +0200

    Update chapter/background.md

commit dd68fdd
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:33:43 2022 +0200

    Define JSON-RPC after naming it

commit 33d2f6f
Author: Yannik Sander <me@ysndr.de>
Date:   Sun May 8 11:31:26 2022 +0200

    Define and distinct LSP Server/Client

commit 9f55909
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:34:28 2022 +0200

    Short description of gradual typing

commit 010ac56
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:34:13 2022 +0200

    Describe Record Merging

commit 44e266a
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:33:28 2022 +0200

    Add Nickel Introduction

commit a82da53
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:33:09 2022 +0200

    Comment configuration example

commit 86ab1ad
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:32:53 2022 +0200

    Move file processing section from related work

commit 6b64478
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:32:32 2022 +0200

    Fix list item

commit 9cb38ea
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:32:16 2022 +0200

    Cleanup Headers

commit 25fdb8f
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:31:42 2022 +0200

    Describe Diagnostics capability

commit 2fb44ae
Author: ysndr <me@ysndr.de>
Date:   Sun Apr 17 15:31:14 2022 +0200

    Describe symbols capability

commit f678716
Author: ysndr <me@ysndr.de>
Date:   Mon Apr 11 15:18:14 2022 +0200

    Add Go-To Methods

commit 35456a7
Author: ysndr <me@ysndr.de>
Date:   Sat Apr 9 21:37:28 2022 +0200

    Fix file paths

commit 32730eb
Author: ysndr <me@ysndr.de>
Date:   Sat Apr 9 21:14:03 2022 +0200

    Explain hover

commit 681d268
Author: ysndr <me@ysndr.de>
Date:   Sat Apr 9 21:13:40 2022 +0200

    Explain completion

commit 85e4b6f
Author: ysndr <me@ysndr.de>
Date:   Sat Apr 9 21:13:15 2022 +0200

    Improve LSP introduction

commit f526565
Author: ysndr <me@ysndr.de>
Date:   Sat Apr 9 21:12:50 2022 +0200

    Clean up json rpc

commit 69dcab0
Author: Yannik Sander <me@ysndr.de>
Date:   Fri Feb 25 14:04:37 2022 +0100

    Fix code block formatting

commit 5c2ee8c
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 16:01:30 2022 +0100

    Clarifying static/dynamic access

commit ce50274
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 15:32:40 2022 +0100

    Nickel record shorthand example fixes

commit a4ce6ee
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 15:28:56 2022 +0100

    Remove (commented) comparative example

commit ab40ab4
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 15:27:55 2022 +0100

    Simplify metadata

commit 835cfcc
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 15:02:04 2022 +0100

    Nix example typos and empty lines

commit 496702d
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 14:59:53 2022 +0100

    IaC intro

commit d71ed22
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 14:41:52 2022 +0100

    Rephrase "config drift" paragraph

commit 3fc8853
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 12:15:59 2022 +0100

    Apply suggestions from code review

    From PR review #4
    Moved to #2

    Co-authored-by: Yann Hamdaoui <yann.hamdaoui@gmail.com>
    # Conflicts:
    #	chapter/background.md

commit 59fee45
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Feb 6 17:51:43 2022 +0100

    Fix latex incompatibility

commit 7a38c0d
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Feb 6 17:43:20 2022 +0100

    Add section on contracts

commit e6dd02a
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Feb 6 17:42:58 2022 +0100

    Move down header level of gradual typing

commit a8b020a
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Feb 6 17:42:23 2022 +0100

    Fix typos and wording

commit 1034f59
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Feb 6 15:26:40 2022 +0100

    Remove Motivation (moved to introduction)

commit c6791ed
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Jan 26 17:25:21 2022 +0100

    Fix code examples to pass syntax highlighter

commit 5874b6a
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Jan 26 17:24:57 2022 +0100

    AST: Identifiers and let bindings

commit b143283
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 13 15:40:43 2022 +0100

    Add Nickel AST chapter to background

commit 815a0fe
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 13 15:40:13 2022 +0100

    Merge Nickel section into Configuration languages

commit d27c9a3
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 4 18:02:25 2022 +0100

    Removing math terms and mention edit integration work

commit b9a65f0
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 4 17:50:07 2022 +0100

    Add paragraph about config security

commit 584e5a5
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 4 17:49:44 2022 +0100

    Do not use auxillary description for DSL

commit 6f52325
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 4 17:18:16 2022 +0100

    Address more suggestions towards motivation and JSONRPC

commit 49605bc
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 4 16:52:32 2022 +0100

    Address suggestions regarding LSP

commit 99d5d07
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 4 16:47:35 2022 +0100

    Apply suggestions from code review

    Co-authored-by: Yann Hamdaoui <yann.hamdaoui@gmail.com>

commit 1e0facf
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 4 16:31:33 2022 +0100

    Fill subsection on IaC

commit 525c298
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Jan 2 16:19:43 2022 +0100

    Fix some footnotes and typo

commit be79a9c
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Jan 2 14:26:40 2022 +0100

    Finish `Configuration programming languages` section

commit 440fdf8
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Jan 2 00:51:02 2022 +0100

    Amend static text vs binary paragraph

commit c8903d3
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Jan 1 18:07:26 2022 +0100

    Start section on configuration programming languages

commit 3cfc28b
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Jan 1 15:55:21 2022 +0100

    Fix figure references

commit e1b816b
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Jan 1 15:31:30 2022 +0100

    Finish rpc doc

commit 3cc32b5
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Jan 1 15:05:58 2022 +0100

    Fix code block rendering

commit 0706fe3
Author: Yannik Sander <me@ysndr.de>
Date:   Fri Dec 31 17:57:41 2021 +0100

    Start subsection jsron rpc

commit 277674f
Author: Yannik Sander <me@ysndr.de>
Date:   Fri Dec 31 16:49:02 2021 +0100

    Fix footnote

commit 40cbc87
Author: Yannik Sander <me@ysndr.de>
Date:   Fri Dec 31 16:32:35 2021 +0100

    Rename rationale Motivation and extend subsection

commit 87589b6
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Dec 29 00:05:48 2021 +0100

    Add to the rationale of LSP

commit d36bac9
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Dec 28 21:29:57 2021 +0100

    Language server Introduction

commit 32aa082
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Dec 28 20:17:57 2021 +0100

    Background introduction

commit c0b5965
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Dec 28 20:01:15 2021 +0100

    Extend chapter outline

commit 7826b00
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Dec 27 23:10:25 2021 +0100

    Address LSP first
@ysndr ysndr added the no-preview Pause preview generation for this PR label Jun 4, 2022
(cherry picked from commit 4c3c83c)
github-actions bot pushed a commit that referenced this pull request Jul 17, 2022
commit ad17e94
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Jul 17 13:54:19 2022 +0200

    Fix various typos

commit c1eb04e
Author: Yannik Sander <me@ysndr.de>
Date:   Fri Mar 25 13:12:23 2022 +0100

    Add sequence diagrams for analysis

commit 3b65ce0
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Mar 23 16:24:30 2022 +0100

    Escape pdf url

    (cherry picked from commit d2136c1)

commit e57ee66
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Mar 26 16:01:29 2022 +0100

    Remind core requirements for transfer

commit e67230d
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Mar 26 16:00:33 2022 +0100

    Add phases take-away

    Co-authored-by: Martin Monperrus <martin.monperrus@gnieh.org>

commit 8fb36db
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Mar 26 15:59:37 2022 +0100

    Apply suggestions from code review

    Minor changes  of wording and elaboration

    Co-authored-by: Martin Monperrus <martin.monperrus@gnieh.org>

commit 2b9ea9b
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Mar 26 15:54:51 2022 +0100

    Refer to objectives section

    Co-authored-by: Martin Monperrus <martin.monperrus@gnieh.org>

commit 9ecc342
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Mar 26 15:53:03 2022 +0100

    Add more detail about generic linearizer interface usage

commit 7dcf653
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Mar 26 15:14:01 2022 +0100

    Clarify LinarizationItem role

    Co-authored-by: Martin Monperrus <martin.monperrus@gnieh.org>

commit 8d0fa6d
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Mar 26 14:49:42 2022 +0100

    Split long sentence

    Co-authored-by: Martin Monperrus <martin.monperrus@gnieh.org>

commit 8d4d230
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Mar 26 14:42:13 2022 +0100

    More thorough LinearizationItem introduction

commit d9da6f8
Author: Yannik Sander <me@ysndr.de>
Date:   Fri Mar 25 13:14:49 2022 +0100

    Rewrite introductive sentence for traits

    Co-authored-by: Martin Monperrus <martin.monperrus@gnieh.org>

commit dc9ab2c
Author: Yannik Sander <me@ysndr.de>
Date:   Fri Mar 25 13:14:08 2022 +0100

    Add descriptive sentence for each capability

commit 0e74a02
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Mar 23 16:06:15 2022 +0100

    Fix typos

    Co-authored-by: Martin Monperrus <martin.monperrus@gnieh.org>

commit 46fd99a
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Mar 23 12:11:11 2022 +0100

    Fix Code Block

commit 33177b6
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Mar 23 11:35:07 2022 +0100

    Fix scope example layout

commit 8c087c4
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Mar 21 19:02:30 2022 +0100

    Fix label in element lookup

commit 613360c
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Mar 21 18:06:04 2022 +0100

    Include StubHost in diagram

commit ee2bbdd
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Mar 21 17:01:16 2022 +0100

    Make sentence lighter

commit c94c1fd
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Mar 21 16:57:28 2022 +0100

    Edit Server implementation section

commit 034e1ed
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Mar 21 14:53:36 2022 +0100

    Explicitly ignore plantuml outputs

commit 51164e3
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Mar 21 14:48:05 2022 +0100

    Add meaningful caption to entity diagram

commit 56c9afe
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Mar 21 14:44:36 2022 +0100

    Add landscape support

commit 3a86feb
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Mar 21 14:44:03 2022 +0100

    Amend description of some resolution sections

commit 2a357d7
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Mar 21 14:43:11 2022 +0100

    Add item resolution activity diagram

commit fc8f5ba
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Mar 21 14:42:14 2022 +0100

    Use forked plantuml filter

commit 3b73f1e
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Mar 21 14:39:25 2022 +0100

    Update nixpkgs

commit 512353c
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Mar 21 09:51:13 2022 +0100

    Describe architecture

commit 6b02010
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Mar 21 09:50:47 2022 +0100

    Update class diagram

commit b1ba3cd
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Mar 17 16:43:45 2022 +0100

    Update chapter/methodology.md

    More on typesafety

commit ac2bfe9
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Mar 17 16:29:22 2022 +0100

    Update chapter/methodology.md

commit 1f4e54b
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Mar 17 16:23:17 2022 +0100

    Update chapter/methodology.md

    Design decisions intro

commit 7be11c3
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Mar 17 16:03:58 2022 +0100

    Apply suggestions from code review

    Improvements to linearizaion intro

commit 4a29e6b
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Mar 17 16:02:48 2022 +0100

    implrove linearization intro

commit 0ebbbf7
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Mar 17 14:59:36 2022 +0100

    More clarifications on traits

commit 72ffa07
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Mar 17 14:47:33 2022 +0100

    Lead into rust features

commit 904ad5b
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Mar 16 19:23:01 2022 +0100

    Add plantuml definition of nls type structure.

commit 2c25489
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Mar 16 19:22:28 2022 +0100

    Add more pandoc filters for plantuml and code inclusion

commit 1c4ff64
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Mar 16 19:21:44 2022 +0100

    More about traits and changes to rust intro

commit 8aec8ae
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Mar 16 18:40:29 2022 +0100

    Elaborate Example

commit a9c0cf8
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Mar 15 01:40:50 2022 +0100

    Ad design decision section

commit ea15cb5
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Mar 14 23:20:50 2022 +0100

    Add "Key objectives section"

commit 5feded9
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Mar 14 23:20:27 2022 +0100

    Reword introduction part a bit

commit 4e908cf
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Mar 13 00:17:08 2022 +0100

    Apply prelude to chapter preview

commit f3bc950
Author: Yannik Sander <me@ysndr.de>
Date:   Fri Mar 11 13:21:24 2022 +0100

    Fix listings

commit 0dd4775
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Mar 9 16:51:48 2022 +0100

    More detailed scope description

commit c0910ad
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Mar 9 16:51:26 2022 +0100

    Typos and commas

commit 9118685
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Mar 9 12:14:04 2022 +0100

    Add wikipedia entry of currying as footnote

commit ddc6974
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Mar 9 12:13:10 2022 +0100

    call pattern matches "patterns"

    Co-authored-by: Yann Hamdaoui <yann.hamdaoui@gmail.com>

commit 3905672
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Mar 9 12:09:39 2022 +0100

    Apply suggested rewrite about type resolution

commit 698d777
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Mar 9 12:05:38 2022 +0100

    Make post-processing paragraph about reordering clearer

commit 249720e
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Mar 9 12:02:37 2022 +0100

    Address some review comments

commit b681e07
Author: Yannik Sander <me@ysndr.de>
Date:   Fri Feb 18 14:41:03 2022 +0100

    Attempt to make library separation figure more clear

commit 66ec962
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Mar 9 11:41:38 2022 +0100

    Recall "record access"

    Co-authored-by: Yann Hamdaoui <yann.hamdaoui@gmail.com>

commit 7c1d66d
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Mar 9 10:16:58 2022 +0100

    Apply suggestions from review

    - Typos
    - Clearer sentences

    Co-authored-by: Yann Hamdaoui <yann.hamdaoui@gmail.com>

commit caee52a
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Mar 9 10:09:29 2022 +0100

    Update Nickel Syntax

    Co-authored-by: Yann Hamdaoui <yann.hamdaoui@gmail.com>

commit a6759ac
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Feb 13 14:24:07 2022 +0100

    general typos and words

commit 6036dc2
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Feb 9 20:33:05 2022 +0100

    Rewrite Variable access subsection

commit 723f06f
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Feb 9 16:44:12 2022 +0100

    Reword records subsection

commit a5062ea
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Feb 9 16:43:49 2022 +0100

    Fix dash

commit 2a0958c
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Feb 9 16:18:59 2022 +0100

    Include Value Sta

commit c6f06da
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Feb 9 15:34:46 2022 +0100

    Reword declarations subsection

commit d6045e5
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Feb 9 15:05:30 2022 +0100

    Make usage graph subsection more concise

commit 07a3b67
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Feb 8 17:38:25 2022 +0100

    Reword AST transfer intro

commit 465ef20
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Feb 8 17:26:41 2022 +0100

    Remove redundant sentence

commit 3de02d3
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Feb 8 17:25:03 2022 +0100

    Correctly format list

commit b1b2de8
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Feb 8 17:24:48 2022 +0100

    flatten single child section `Variable Usage`

commit 4ff87c5
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Feb 8 17:06:48 2022 +0100

    Try clarify retype_ident

commit 544a9ab
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Feb 8 17:06:23 2022 +0100

    Address comments to term kind definitions

commit ef3ffea
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Feb 8 17:05:41 2022 +0100

    Rewrite Usage graph intro

commit 4f0b00b
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Feb 8 16:45:49 2022 +0100

    Apply suggestions from code review

    Co-authored-by: Yann Hamdaoui <yann.hamdaoui@gmail.com>

commit a3d286a
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Feb 8 16:43:31 2022 +0100

    Rewrite state subsection intro

commit 646f57b
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Feb 8 16:42:54 2022 +0100

    Fix typo

commit e0ed9e9
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Feb 8 16:11:01 2022 +0100

    Address review suggestions in States subsection

commit d7d2a93
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Feb 8 15:35:23 2022 +0100

    Rework linearization Intro

commit 72d52c0
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Feb 7 16:05:54 2022 +0100

    Apply suggestions from code review

    Co-authored-by: Yann Hamdaoui <yann.hamdaoui@gmail.com>

commit 9522440
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Feb 6 13:37:24 2022 +0100

    Section: LSP Server :: Completion and Document symbols

commit d9b46a0
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Feb 6 13:37:05 2022 +0100

    Fix word

commit e96a1a4
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Feb 5 14:13:43 2022 +0100

    Section: LSP Server :: Hover and references

commit 582b251
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Feb 5 14:12:50 2022 +0100

    Section: LSP Server :: Diagnostics and Caching

commit 0decf02
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Feb 5 14:11:43 2022 +0100

    Apply some text suggestions (style, grammar,typo)

commit aaf4e23
Author: Yannik Sander <me@ysndr.de>
Date:   Fri Feb 4 11:43:49 2022 +0100

    Section: Server::Intro

commit e0e670d
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Feb 1 13:31:55 2022 +0100

    Cleanup figure code

commit d7ce021
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Feb 1 13:29:46 2022 +0100

    Post processing: Resolving types

commit 3ee378b
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Feb 1 13:12:01 2022 +0100

    Post processing: Deferred Usages

commit 5b134ed
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Jan 31 13:27:14 2022 +0100

    Post-Processing: sorting

commit fc6d4aa
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Jan 31 13:26:48 2022 +0100

    Post processing intro

commit a4a70a4
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Jan 31 13:26:40 2022 +0100

    Remove section headers for scopes and retyping

commit 7a275b0
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Jan 31 13:24:04 2022 +0100

    Cleanup file

commit d2912a6
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 27 20:33:22 2022 +0100

    Section Metadata

commit 2e062aa
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 27 20:30:49 2022 +0100

    Document linearizer fields

commit 6f0aef5
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 27 15:12:58 2022 +0100

    Add lost chapter header back to document

commit e4cc1f3
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 27 15:12:05 2022 +0100

    Reword linearization of name bindings

commit 8b77edb
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 27 15:10:43 2022 +0100

    Fix code block: make it a listing

commit c4a2b92
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 27 14:48:45 2022 +0100

    Section Variable referencing

commit 14223a0
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 27 14:48:19 2022 +0100

    Fix typo

commit c3456f5
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 27 14:42:17 2022 +0100

    Clarify `TermKind`s

commit 41c2448
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Jan 26 17:22:43 2022 +0100

    Section: linearizing variable usage and record destructuring

commit e6fffed
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Jan 26 17:21:36 2022 +0100

    Overhaul some sentences

commit 468d767
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Jan 26 17:20:27 2022 +0100

    Format and fix to code examples

commit 5a7f66c
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Jan 24 19:48:57 2022 +0100

    fix misprinted listings

commit e182ce7
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Jan 24 19:27:41 2022 +0100

    Change record example

commit fe0fe5a
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Jan 24 19:24:52 2022 +0100

    Registering Records

commit 4275249
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Jan 24 19:24:30 2022 +0100

    Registering structures let and function args

commit 30ed2ce
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Jan 24 19:23:07 2022 +0100

    Change process section title

commit d98007d
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Jan 24 19:22:38 2022 +0100

    Code typos

commit 51d8859
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Jan 24 15:05:51 2022 +0100

    Intro general process

commit b249ffc
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Jan 24 11:25:00 2022 +0100

    minor typos

commit 3da38d7
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Jan 24 02:23:25 2022 +0100

    Fix Code block

commit aaeaaac
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Jan 24 02:19:43 2022 +0100

    Fix definition list

commit 631c9b6
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Jan 24 02:18:12 2022 +0100

    General process started

commit 7c38c0e
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Jan 24 02:17:56 2022 +0100

    Linearizer subsection

commit b7d75fb
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Jan 24 02:16:54 2022 +0100

    Scopes subsection reworked

commit 8689c79
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Jan 24 02:16:26 2022 +0100

    Transfer from AST intro

commit b5a7b61
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 20 12:27:01 2022 +0100

    WIP section on scopes

commit aaee232
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Jan 16 22:35:12 2022 +0100

    Add Usage Graph section

commit c9ac80a
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Jan 15 14:00:45 2022 +0100

    Find most ~"concrete"~  -> "specific" element

commit 1fd345f
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Jan 15 14:00:09 2022 +0100

    Change description of Building state

commit 4f0c45b
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 13 16:00:33 2022 +0100

    Amending reasoning for choosing eager approach

commit 849ed59
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 13 15:37:51 2022 +0100

    Add illustrative example in Nickel

commit 9948bf6
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 13 15:37:20 2022 +0100

    Add symbols section in outline

commit 7f5fc4a
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 13 15:37:01 2022 +0100

    Remove Nickel AST section

    Moved to Background (#2)

commit 049a90a
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 13 15:35:24 2022 +0100

    Rename Method chapter

commit 8f79076
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 13 15:34:39 2022 +0100

    Add more subsections to ast transfer outline

commit 85289ec
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 11 14:34:41 2022 +0100

    Address review comment on span structure

commit 3193361
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 11 14:26:43 2022 +0100

    Apply suggestions from code review

    Co-authored-by: Yann Hamdaoui <yann.hamdaoui@gmail.com>

commit a5b0721
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 11 13:35:15 2022 +0100

    Reference item_at algorithm

commit 98241c5
Author: Yannik Sander <me@ysndr.de>
Date:   Tue Jan 11 13:33:00 2022 +0100

    Correct type definition

commit 092cecd
Author: Yannik Sander <me@ysndr.de>
Date:   Mon Jan 10 15:29:53 2022 +0100

    Resolution by scope

commit 783f63c
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Jan 9 19:39:27 2022 +0100

    Add access methods

commit 661d0f0
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Jan 9 18:33:48 2022 +0100

    Reference smart pointers

commit 6c3b9f2
Author: Yannik Sander <me@ysndr.de>
Date:   Sun Jan 9 18:15:15 2022 +0100

    Finish states subsection

commit 2bf8cee
Author: Yannik Sander <me@ysndr.de>
Date:   Sat Jan 8 00:01:07 2022 +0100

    First words about different states

commit 7e8509d
Author: Yannik Sander <me@ysndr.de>
Date:   Fri Jan 7 15:26:49 2022 +0100

    Linearization intro

commit 8151ffa
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 6 19:19:55 2022 +0100

    Amend wording and graphic size

commit 3b2d52c
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 6 19:19:16 2022 +0100

    Add subsubsection for static record access

commit 663a6b9
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 6 18:11:50 2022 +0100

    Start on Record Shorthands

commit f10cea0
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 6 16:59:41 2022 +0100

    Meta information section

commit 51a1876
Author: Yannik Sander <me@ysndr.de>
Date:   Thu Jan 6 16:59:11 2022 +0100

    Fixes to existing content

commit bfdf4b1
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Jan 5 16:56:07 2022 +0100

    Static Nickel

commit eb08440
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Jan 5 15:45:32 2022 +0100

    Chapter introduction

commit 2a696e0
Author: Yannik Sander <me@ysndr.de>
Date:   Wed Jan 5 13:50:27 2022 +0100

    Init with structure
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no-preview Pause preview generation for this PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants