-
Notifications
You must be signed in to change notification settings - Fork 0
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
base: main
Are you sure you want to change the base?
Conversation
ysndr
commented
Dec 27, 2021
•
edited
Loading
edited
- Nickel
- type system
- row types
- optional typing
- AST
- LSP Methods
Uploaded preview of this chapter and the full document preview branch Preview: chapter/background |
1 similar comment
Uploaded preview of this chapter and the full document preview branch Preview: chapter/background |
### Software defined Networks | ||
### Software Networks | ||
|
||
|
||
|
||
## Data oriented languages | ||
|
There was a problem hiding this comment.
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 | ||
|
||
|
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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
b32e9c0
to
70e2aec
Compare
Uploaded preview of this chapter and the full document preview branch Preview: chapter/background |
1 similar comment
Uploaded preview of this chapter and the full document preview branch Preview: chapter/background |
chapter/background.md
Outdated
|
||
## Language Server Protocol | ||
|
||
### Rationale |
There was a problem hiding this comment.
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)
chapter/background.md
Outdated
|
||
### Rationale | ||
|
||
Since its release, the LSP has grown to be supported by a multitude of languages and editors[@langservers @lsp-website]. |
There was a problem hiding this comment.
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
Uploaded preview of this chapter and the full document preview branch Preview: chapter/background |
5 similar comments
Uploaded preview of this chapter and the full document preview branch Preview: chapter/background |
Uploaded preview of this chapter and the full document preview branch Preview: chapter/background |
Uploaded preview of this chapter and the full document preview branch Preview: chapter/background |
Uploaded preview of this chapter and the full document preview branch Preview: chapter/background |
Uploaded preview of this chapter and the full document preview branch Preview: chapter/background |
chapter/background.md
Outdated
`"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* |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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 }
There was a problem hiding this comment.
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
Uploaded preview of this chapter and the full document preview branch Preview: chapter/background |
3 similar comments
Uploaded preview of this chapter and the full document preview branch Preview: chapter/background |
Uploaded preview of this chapter and the full document preview branch Preview: chapter/background |
Uploaded preview of this chapter and the full document preview branch Preview: chapter/background |
chapter/background.md
Outdated
|
||
## 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. |
There was a problem hiding this comment.
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
chapter/background.md
Outdated
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. |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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).
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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
Uploaded preview of this chapter and the full document preview branch Preview: chapter/background |
chapter/background.md
Outdated
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. |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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
chapter/background.md
Outdated
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. |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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
chapter/background.md
Outdated
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. |
There was a problem hiding this comment.
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
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 |
There was a problem hiding this comment.
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. | ||
|
There was a problem hiding this comment.
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.
Uploaded preview of this chapter and the full document preview branch Preview: chapter/background |
3 similar comments
Uploaded preview of this chapter and the full document preview branch Preview: chapter/background |
Uploaded preview of this chapter and the full document preview branch Preview: chapter/background |
Uploaded preview of this chapter and the full document preview branch Preview: chapter/background |
@yannham I addressed most of your remarks, if you want to have an eye on it |
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
Co-authored-by: Martin Monperrus <martin.monperrus@gnieh.org>
Co-authored-by: Martin Monperrus <martin.monperrus@gnieh.org>
Co-authored-by: Martin Monperrus <martin.monperrus@gnieh.org>
Co-authored-by: Martin Monperrus <martin.monperrus@gnieh.org>
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
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
(cherry picked from commit 4c3c83c)
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