on bcc2cd7 help sign in
.github/workflows/build_docs.yaml−4
since splitsnapshots
unifiedsplit
@@ -3,13 +3,9 @@ on:
3 push:
3 push:
4 branches:
4 branches:
5 - master
5 - master
6− paths:
7− - docs/**
8 pull_request:
6 pull_request:
9 branches:
7 branches:
10 - master
8 - master
11− paths:
12− - docs/**
13
9
14jobs:
10jobs:
15 linux:
11 linux:
docs/.vscode/settings.json+1−8
@@ -11,12 +11,5 @@
11 "-A",
11 "-A",
12 "%DOCFILE%"
12 "%DOCFILE%"
13 ],
13 ],
14− "nixEnvSelector.suggestion": false,
14+ "nixEnvSelector.suggestion": false
15− "latex-workshop.latexindent.args": [
16− "-c",
17− "%DIR%/",
18− "%TMPFILE%",
19− "-y=defaultIndent: '%INDENT%'",
20− "-l"
21− ]
22}
15}
docs/bibl.bib+1−16
@@ -1,18 +1,13 @@
1%% This BibTeX bibliography file was created using BibDesk.
1%% This BibTeX bibliography file was created using BibDesk.
2%% https://bibdesk.sourceforge.io/
2%% https://bibdesk.sourceforge.io/
3
3
4−%% Created for Ilya at 2021-05-15 17:02:08 +0300
4+%% Created for Ilya at 2021-04-25 18:35:19 +0300
5
5
6
6
7%% Saved with string encoding Unicode (UTF-8)
7%% Saved with string encoding Unicode (UTF-8)
8
8
9
9
10
10
11−@webpage{github-source,
12− date-added = {2021-05-15 17:00:09 +0300},
13− date-modified = {2021-05-15 17:02:05 +0300},
14− url = {https://github.com/ilyakooo0/tix}}
15−
16@article{goldberg2000mercury,
11@article{goldberg2000mercury,
17 author = {Goldberg, Ken and Gentner, Steve and Sutter, Carl and Wiegley, Jeff},
12 author = {Goldberg, Ken and Gentner, Steve and Sutter, Carl and Wiegley, Jeff},
18 date-added = {2021-04-25 18:35:16 +0300},
13 date-added = {2021-04-25 18:35:16 +0300},
@@ -205,13 +200,3 @@
205 pages = {367--378},
200 pages = {367--378},
206 title = {NixOS: A purely functional Linux distribution},
201 title = {NixOS: A purely functional Linux distribution},
207 year = {2008}}
202 year = {2008}}
208−
209−@article{wand1991type,
210− author = {Wand, Mitchell},
211− journal = {Information and Computation},
212− number = {1},
213− pages = {1--15},
214− publisher = {Elsevier},
215− title = {Type inference for record concatenation and multiple inheritance},
216− volume = {93},
217− year = {1991}}
docs/default.nix+10−2
@@ -27,7 +27,15 @@ builtins.listToAttrs (map
27 # , compressBlanksInIndex ? true
27 # , compressBlanksInIndex ? true
28 # , packages ? [ ]
28 # , packages ? [ ]
29 texPackages = {
29 texPackages = {
30− inherit (pkgs.texlive) scheme-medium IEEEtran polytable lazylist multirow;
30+ myPackages = {
31+ pkgs = [
32+ (
33+ pkgs.runCommand "gost"
34+ { passthru = { tlType = "run"; pname = "gost"; }; }
35+ "mkdir $out; cp -r ${sources.GOST + "/bibtex"} $out"
36+ )
37+ ] ++ (builtins.filter (x: x.pname != "gost") pkgs.texlive.scheme-full.pkgs);
38+ };
31 };
39 };
32 # , copySources ? false
40 # , copySources ? false
33 };
41 };
@@ -35,6 +43,6 @@ builtins.listToAttrs (map
35 [
43 [
36 { file = ./tech_spec.tex; }
44 { file = ./tech_spec.tex; }
37 { file = ./project_proposal.tex; }
45 { file = ./project_proposal.tex; }
38− { file = ./paper.lhs; extraFiles = [ ./bibl.bib ./trfrac.sty ]; }
46+ { file = ./paper.lhs; extraFiles = [ (sources.TechDoc + "/TechDoc.cls") ./bibl.bib ]; }
39 ]
47 ]
40)
48)
docs/nix/sources.json+12
@@ -11,6 +11,18 @@
11 "url": "https://github.com/kia999/GOST/archive/072a2ef457b5dc9e5ddc6bfeb0b6f81d4147a328.tar.gz",
11 "url": "https://github.com/kia999/GOST/archive/072a2ef457b5dc9e5ddc6bfeb0b6f81d4147a328.tar.gz",
12 "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
12 "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
13 },
13 },
14+ "TechDoc": {
15+ "branch": "master",
16+ "description": "📄🖋️💻 LaTeX document class for technical documents at SE HSE",
17+ "homepage": "https://iko.soy/kursach/techDoc",
18+ "owner": "ilyakooo0",
19+ "repo": "TechDoc",
20+ "rev": "ab77f326ffe0ff054308ca48221940ec3809d4db",
21+ "sha256": "0m94dwd7pjsgrfk8hra3gyhbd2wxk07xsdxb386vbymmk9cvfxji",
22+ "type": "tarball",
23+ "url": "https://github.com/ilyakooo0/TechDoc/archive/ab77f326ffe0ff054308ca48221940ec3809d4db.tar.gz",
24+ "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
25+ },
14 "niv": {
26 "niv": {
15 "branch": "master",
27 "branch": "master",
16 "description": "Easy dependency management for Nix projects",
28 "description": "Easy dependency management for Nix projects",
docs/paper.lhs+116−904
@@ -1,97 +1,57 @@
1−\documentclass[a4paper,journal,compsoc]{IEEEtran}
1+\PassOptionsToPackage{main=english,russian}{babel}
2
2
3−% \usepackage{float}
3+\documentclass[]{TechDoc}
4−\usepackage{mathtools}
5−\usepackage{hyperref}
6−\usepackage{microtype}
7−\usepackage{trfrac}
8−\usepackage{multirow}
9−\usepackage{textcomp}
10−% \usepackage{caption}
11−% \usepackage[main=english,russian]{babel}
12−
13−% \selectlanguage{english}
14
4
15−% \sectionsAreChapters
5+\usepackage{float}
6+\usepackage{mathtools}
16
7
8+\selectlanguage{english}
17
9
18−%include polycode.fmt
10+\sectionsAreChapters
19
11
20−%format forall = "\forall"
21−%format a = "\alpha"
22−%format a'
23−%format b = "\beta"
24−%format b'
25−%format c = "\gamma"
26−%format c'
27−%format d = "\delta"
28−%format d'
29−%format s = "\sigma"
30−%format m = "\mu"
31−%format r = "\psi"
32−%format x = "\eta"
33−%format x'
34−%format y = "\zeta"
35−%format y'
36−%format ^ = " "
37−%format ^^ = "\;"
38−%format !! = "{\;}''\!\!"
39−%format <> = "\diamond"
40−
41−% \floatstyle{boxed}
12+\floatstyle{boxed}
42−% \newfloat{figure}{hbp}{lst}
13+\newfloat{Listing}{hbp}{lst}
43
14
44\newcommand{\parr}[1]{\medskip\textbf{#1}\hspace{0.6cm}}
15\newcommand{\parr}[1]{\medskip\textbf{#1}\hspace{0.6cm}}
45−\newcommand{\strOrNum}{(\text{String} || \text{Number})}
46
16
17+%include polycode.fmt
47
18
48−% \year{2021}
19+\year{2021}
49\title{Static analyzer for the Nix Expression Language}
20\title{Static analyzer for the Nix Expression Language}
50−% \author{Student, BSE174}{I. I. Kostyuchenko}
21+\author{Student, BSE174}{I. I. Kostyuchenko}
51−% \academicTeacher{Associate Professor, PhD}{V. V. Kuliamin}
22+\academicTeacher{Associate Professor, PhD}{V. V. Kuliamin}
52−
23+
53−% \documentTitle{Explanatory note}
24+\documentTitle{Explanatory note}
54−% \documentCode{RU.17701729.04.05-01 ПЗ 01-1}
25+\documentCode{RU.17701729.04.05-01 ПЗ 01-1}
55−
56−\author{
57− \IEEEauthorblockN{Kostyuchenko Ilya}
58− \IEEEauthorblockA{
59− Faculty of Computer Science,\\
60− Higher School of Economics,\\
61− Moscow, Russia
62− }
63−}
64
26
65\begin{document}
27\begin{document}
66\maketitle
28\maketitle
67−\thispagestyle{plain}
68−\pagestyle{plain}
69
29
70\begin{abstract}
30\begin{abstract}
71− Configuring and building even the most straightforward software projects is often not simple -- it requires downloading and installing copious amounts of prerequisite software. This often makes reproducing builds of a project on different machines problematic. The Nix package manager aims to address this problem by providing a unified language for describing software packages in a purely functional way. This language is called the Nix Expression Language. Since all of the complexity of software configuration needs to be expressed in the Nix Expression Language, the expressions themselves often become pretty complicated, making it difficult to understand and extend existing expressions without introducing errors. A widespread tool for easing the understandability and correctness of expressions in other languages is static type checking. This paper will explore the techniques that can be used to add static type checking to the Nix Expression Language.
31+ Configuring and building even the most straightforward software projects is often not simple -- it requires downloading and installing copious amounts of prerequisite software. This often makes reproducing builds of a project on different machines problematic. The Nix package manager aims to address this problem by providing a unified language for describing software packages in a purely functional way. This language is called the Nix Expression Language. Since all of the complexity of software configuration needs to be expressed in the Nix Expression Language, the expressions themselves often become quite complicated, making it difficult to understand and extend existing expressions without introducing errors. A widespread tool for easing the understandability and correctness of expressions in other languages is static type checking. This paper will explore the techniques that can be used to add static type checking to the Nix Expression Language.
72\end{abstract}
32\end{abstract}
73
33
74−% \begin{otherlanguage}{russian}
34+\begin{otherlanguage}{russian}
75
35
76−% \begin{abstract}
36+ \begin{abstract}
77−% Настройка и сборка даже самых простых программных проектов часто бывает непростой задачей -- для этого требуется загрузить и установить большое количество необходимого программного обеспечения. Это часто делает проблематичным воспроизведение сборок проекта на разных компьютерах. Менеджер пакетов Nix стремится решить эту проблему, предоставляя единый язык для описания пакетов программного обеспечения чисто функциональным способом. Этот язык называется языком Nix Expression Language. Поскольку вся сложность конфигурации программного обеспечения должна быть выражена на языке Nix Expression Language, сами выражения часто становятся довольно сложными, что затрудняет понимание и расширение существующих выражений без ошибок. Широко распространенным инструментом для облегчения понимания и проверки корректности выражений на других языках является статическая проверка типов. В этой статье будут рассмотрены методы, которые можно использовать для добавления статической проверки типов в язык выражений Nix Expression Language.
37+ Настройка и сборка даже самых простых программных проектов часто бывает непростой задачей -- для этого требуется загрузить и установить большое количество необходимого программного обеспечения. Это часто делает проблематичным воспроизведение сборок проекта на разных компьютерах. Менеджер пакетов Nix стремится решить эту проблему, предоставляя единый язык для описания пакетов программного обеспечения чисто функциональным способом. Этот язык называется языком Nix Expression Language. Поскольку вся сложность конфигурации программного обеспечения должна быть выражена на языке Nix Expression Language, сами выражения часто становятся довольно сложными, что затрудняет понимание и расширение существующих выражений без ошибок. Широко распространенным инструментом для облегчения понимания и проверки корректности выражений на других языках является статическая проверка типов. В этой статье будут рассмотрены методы, которые можно использовать для добавления статической проверки типов в язык выражений Nix Expression Language.
78−% \end{abstract}
38+ \end{abstract}
79
39
80−% \end{otherlanguage}
40+\end{otherlanguage}
81
41
82−% \parr{Source code} \url{https://github.com/ilyakooo0/tix}
42+\parr{Source code} \url{https://github.com/ilyakooo0/tix}
83
43
84−% \newpage
44+\newpage
85
45
86−% \tableofcontents
46+\tableofcontents
87
47
88\section*{Introduction}
48\section*{Introduction}
89
49
90−Today developing software is riddled with large amounts of complexity -- newer software is built on top of older software, dragging the whole stack below as dependencies. As a result, building software requires a large number of dependencies to be preinstalled. Modern build systems like Gradle\footnote{\url{https://gradle.org}}, Maven\footnote{\url{https://maven.apache.org}}, and Stack\footnote{\url{https://docs.haskellstack.org/en/stable/README/}} try to mitigate the issue by automatically downloading and installing the required dependencies. However, in most cases, such tools can only manage language-level dependencies, requiring the user to manually install additional libraries and tools.
50+Today developing software is riddled with large amounts of complexity -- newer software is built on top of older software, dragging the whole stack below as dependencies. As a result, building software requires a large number of dependencies to be preinstalled. Modern build systems like Gradle\footnote{\url{https://gradle.org}}, Maven\footnote{\url{https://maven.apache.org}}, and Stack\footnote{\url{https://docs.haskellstack.org/en/stable/README/}} try to mitigate the issue by automatically downloading and installing the required dependencies. However, in most cases, such tools can only manage language-level dependencies, requiring the user to install additional libraries and tools manually.
91
51
92Such manual dependency management leads to several problems. Firstly, when a user wants to work on a project he has not encountered before, he will have to install the required dependencies, leading to additional tedious work. Furthermore, the required versions of project dependencies might conflict with the versions that another project requires. The user will have to manually switch the versions of executables and libraries when switching between projects.
52Such manual dependency management leads to several problems. Firstly, when a user wants to work on a project he has not encountered before, he will have to install the required dependencies, leading to additional tedious work. Furthermore, the required versions of project dependencies might conflict with the versions that another project requires. The user will have to manually switch the versions of executables and libraries when switching between projects.
93
53
94−So-called virtual environment tools partially solve this problem. A virtual environment is a way of restricting and customizing the available external tools (usually compilers) with the ability to switch between them dynamically. These tools can generally be split into one of two categories:
54+This problem is partially solved by so-called virtual environments tools. A virtual environment is a way of restricting and customizing the available external tools (usually compilers) with the ability to dynamically switch between them. The tools can generally be split into one of two categories:
95
55
96\begin{enumerate}
56\begin{enumerate}
97 \item \emph{language-specific tools} which simplify installing and switching between different versions of some tools (usually compilers). Examples of such tools are:
57 \item \emph{language-specific tools} which simplify installing and switching between different versions of some tools (usually compilers). Examples of such tools are:
@@ -109,7 +69,7 @@ So-called virtual environment tools partially solve this problem. A virtual envi
109 \end{enumerate}
69 \end{enumerate}
110\end{enumerate}
70\end{enumerate}
111
71
112−Such tools still require explicit user action: the user needs to explicitly switch between (or install) the necessary tools when switching projects in the case of \emph{language-specific tools}, the user needs to explicitly install the required tools in some other way for them to be imported by \emph{general-purpose tools}.
72+Even so, such tools still require explicit user action: the user needs to explicitly switch between (or install) the necessary tools when switching projects in the case of \emph{language-specific tools}, the user needs to explicitly install the required tools in some other way for them to be imported by \emph{general-purpose tools}.
113
73
114Secondly, manual dependency management impedes the reproducibility of the project builds -- building the same project on multiple machines will, in all likelihood, produce different results since the machines will likely differ in many ways that impact the build, such as having slightly different versions\footnote{``Version'' here refers to actual variations on the bit level, and not just version numbers.} of libraries and executables.
74Secondly, manual dependency management impedes the reproducibility of the project builds -- building the same project on multiple machines will, in all likelihood, produce different results since the machines will likely differ in many ways that impact the build, such as having slightly different versions\footnote{``Version'' here refers to actual variations on the bit level, and not just version numbers.} of libraries and executables.
115
75
@@ -121,19 +81,19 @@ Using a fully-fledged programming language allows the users to reuse common defi
121
81
122Nix Expression Language is a dynamic, lazy, purely functional programming language. The purely functional nature of the language aids in build reproducibility guarantees that Nix aims to provide.
82Nix Expression Language is a dynamic, lazy, purely functional programming language. The purely functional nature of the language aids in build reproducibility guarantees that Nix aims to provide.
123
83
124−Even considering the tremendous benefits that using a programming language for build configuration brings, the dynamic nature of the language often still makes it challenging to understand and reuse existing code. This is in part due to the large amounts of code required to describe real-world systems in all of their complexity.\footnote{The standard Nix package repository |nixpkgs| contains 2 million lines of code.}
84+Even considering the tremendous benefits that using a programming language for build configuration brings, the dynamic nature of the language often still makes it challenging to understand and reuse existing code. This is in part due to the large amounts of code required to describe real-world systems in all of their complexity fully.\footnote{The standard Nix package repository |nixpkgs| contains 2 million lines of code.}
125
85
126Refactoring existing code is also tricky since the generated expressions are only really checked for correctness\footnote{Here, ``correctness'' is used to mean the absence of evaluation-time errors.} at their evaluation time, and the evaluation time of expressions is difficult to predict due to the lazy nature of the language.
86Refactoring existing code is also tricky since the generated expressions are only really checked for correctness\footnote{Here, ``correctness'' is used to mean the absence of evaluation-time errors.} at their evaluation time, and the evaluation time of expressions is difficult to predict due to the lazy nature of the language.
127
87
128−A widespread tool for easing development and alleviate the aforementioned problems in other languages is static type checking -- the process of analyzing the types of expressions and detecting type errors in programs without evaluating them.
88+Static type checking is the process of analyzing the types of expressions and detecting type errors in programs without evaluating them.
129
89
130−Even though static type checking in most mainstream programming languages does not influence the semantics of the programs, it is nonetheless widely used. This is an indication of the usefulness of static type checking during development. Type checking helps detect likely ``incorrect'' programs without evaluating them (very helpful during refactoring) and aids in understanding existing code since types often expose some semantics of expressions (this is especially true for purely functional programs).
90+Even though static type checking in most mainstream programming languages does not influence the semantics of the programs, it is nonetheless widely used. This is an indication of the usefulness of static type checking during development. Type checking helps detect likely ``incorrect'' programs without evaluating them (very helpful during refactoring), and aids in understanding existing code since types often expose some semantics of expressions (this is especially true for purely functional programs).
131
91
132The Nix Expression Language does not currently support static type checking of any kind. Of course, retrofitting a static type checker onto an existing dynamic programming language will reject programs that will not produce errors at runtime. However, this is still a goal worth pursuing because even with all of the situations when the type checker produces false negatives, inferring types for existing expressions, as mentioned above, will aid in understanding existing code and surface potentially problematic areas of code to the developer.
92The Nix Expression Language does not currently support static type checking of any kind. Of course, retrofitting a static type checker onto an existing dynamic programming language will reject programs that will not produce errors at runtime. However, this is still a goal worth pursuing because even with all of the situations when the type checker produces false negatives, inferring types for existing expressions, as mentioned above, will aid in understanding existing code and surface potentially problematic areas of code to the developer.
133
93
134\section{Nix Expression Language}
94\section{Nix Expression Language}
135
95
136−In this chapter, we will examine the semantics of major terms of the Nix Expression Language. We will, from now on abbreviate \emph{Nix Expression Language} as \emph{Nix} as it is in most cases clear from the context what is being referred to: the language or the system as a whole.
96+In this chapter we will examine the semantics of major terms of the Nix Expression Language. We will from now on abbreviate \emph{Nix Expression Language} as \emph{Nix} as it is in most cases clear from the context what is being referred to: the language or the system as a whole.
137
97
138\subsection{Atomic types}
98\subsection{Atomic types}
139
99
@@ -141,9 +101,8 @@ Atomic types are described in table~\ref{tab:atomicTypes}.
141
101
142\begin{table}[hbp]
102\begin{table}[hbp]
143 \centering
103 \centering
144− \caption{Table of atomic Nix Expression Language types}
145− \begin{tabular}{ ||c||p{2cm}||p{4cm}|| } \hline
104+ \begin{tabular}{ ||c||p{6cm}||p{6cm}|| } \hline
146− \textbf{Atomic type} & \textbf{Description} & \textbf{Example terms} \\ \hline \hline
105+ \textbf{Atomic type} & \textbf{Description} & \textbf{Example terms} \\ \hline
147 URI & A string literal representing a URI. Does not require quoting. & \texttt{https://example.com} \\ \hline
106 URI & A string literal representing a URI. Does not require quoting. & \texttt{https://example.com} \\ \hline
148 Path literal & A path literal referring to either a relative or absolute path. Does not require quoting. & \texttt{../../directory/file.txt} \\ \hline
107 Path literal & A path literal referring to either a relative or absolute path. Does not require quoting. & \texttt{../../directory/file.txt} \\ \hline
149 Integer & The current C implementation of Nix allows values of 64-bit signed integers. & \texttt{69} \newline \texttt{-42} \\ \hline
108 Integer & The current C implementation of Nix allows values of 64-bit signed integers. & \texttt{69} \newline \texttt{-42} \\ \hline
@@ -151,6 +110,7 @@ Atomic types are described in table~\ref{tab:atomicTypes}.
151 Bool & Boolean values. & \texttt{true} \newline \texttt{false} \\ \hline
110 Bool & Boolean values. & \texttt{true} \newline \texttt{false} \\ \hline
152 Null & A type with a single value. & \texttt{null} \\ \hline
111 Null & A type with a single value. & \texttt{null} \\ \hline
153 \end{tabular}
112 \end{tabular}
113+ \caption{Table of atomic Nix Expression Language types}
154 \label{tab:atomicTypes}
114 \label{tab:atomicTypes}
155\end{table}
115\end{table}
156
116
@@ -158,9 +118,9 @@ Atomic types are described in table~\ref{tab:atomicTypes}.
158
118
159\subsubsection{Double quoted string literals}
119\subsubsection{Double quoted string literals}
160
120
161−Double quoted string literals are string literals, just like in many other programming languages. It can contain escaped newline character literals \texttt{\textbackslash n} which will be preserved as shown in figure~\ref{lst:newlineString}.
121+Double quoted string literals are string literals just like in many other programming languages. It can contain esaped newline character literals \texttt{\\n} which will be preserved as shown in listing~\ref{lst:newlineString}.
162
122
163−\begin{figure}
123+\begin{Listing}
164 \begin{minipage}{\textwidth}
124 \begin{minipage}{\textwidth}
165 \begin{verbatim}
125 \begin{verbatim}
166"Sampel\nPalnet"
126"Sampel\nPalnet"
@@ -168,13 +128,13 @@ Double quoted string literals are string literals, just like in many other progr
168 \end{minipage}
128 \end{minipage}
169 \caption{Nix Expression Language double quoted string literal example}
129 \caption{Nix Expression Language double quoted string literal example}
170 \label{lst:newlineString}
130 \label{lst:newlineString}
171−\end{figure}
131+\end{Listing}
172
132
173\subsubsection{Multiline string literals}
133\subsubsection{Multiline string literals}
174
134
175−Multiline string literals are enclosed by pairs of single quotes (\texttt{''} as opposed to \texttt{"}). Newlines are preserved, and indentation is stripped from the beginning of the literal. An example multiline string literal is shown in figure~\ref{lst:multilineString}.
135+Multiline string literals are enclosed by pairs of single quotes (\texttt{''} as opposed to \texttt{"}). Newlines are preserved and indentation is stripped from the beginning of the literal. An example multiline string literal is shown in listing~\ref{lst:multilineString}.
176
136
177−\begin{figure}
137+\begin{Listing}
178 \begin{minipage}{\textwidth}
138 \begin{minipage}{\textwidth}
179 \begin{verbatim}
139 \begin{verbatim}
180''
140''
@@ -186,43 +146,43 @@ Palnet''
186 \end{minipage}
146 \end{minipage}
187 \caption{Nix Expression Language multiline string literal example and an equivalent double quoted string literal}
147 \caption{Nix Expression Language multiline string literal example and an equivalent double quoted string literal}
188 \label{lst:multilineString}
148 \label{lst:multilineString}
189−\end{figure}
149+\end{Listing}
190
150
191−% \subsubsection{String interpolation}
151+\subsubsection{String interpolation}
192
152
193−% The Nix Expression Language also allows for arbitrary expressions of the language to be interpolated in string using the following syntax: \texttt{\$\{ <expression> \}} where \texttt{<expression>} is a Nix expression.An example of string interpolation is show in figure~\ref{lst:stringInterpolation}.
153+The Nix Expression Language also allows for arbitrary expressions of the language to be interpolated in string using the following syntax: \texttt{\$\{ <expression> \}} where \texttt{<expression>} is a Nix expression.An example of string interpolation is show in listing~\ref{lst:stringInterpolation}.
194
154
195−% \begin{figure}
155+\begin{Listing}
196−% \begin{minipage}{\textwidth}
156+ \begin{minipage}{\textwidth}
197−% \begin{verbatim}
157+ \begin{verbatim}
198−% "one is ${ if 1 == 2 then "equal" else "not equal" } to two."
158+"one is ${ if 1 == 2 then "equal" else "not equal" } to two."
199
159
200−% "one is not equal to two."
160+"one is not equal to two."
201−% \end{verbatim}
161+ \end{verbatim}
202−% \end{minipage}
162+ \end{minipage}
203−% \caption{Nix Expression Language string interpolation example with the resulting string.}
163+ \caption{Nix Expression Language string interpolation example with the resulting string.}
204−% \label{lst:stringInterpolation}
164+ \label{lst:stringInterpolation}
205−% \end{figure}
165+\end{Listing}
206
166
207\subsection{Lists}
167\subsection{Lists}
208
168
209−Nix supports a list type. List literals are enclosed by square brackets \texttt{[]}, and the elements are separated by whitespace. Examples of list literals are shown in figure~\ref{lst:list}.
169+Nix support a list type. List literals are enclosed by square brackets \texttt{[]} and the elements are separated by whitespace. Examples of list literals are shown in listing~\ref{lst:list}.
210
170
211−\begin{figure}
171+\begin{Listing}
212 \begin{minipage}{\textwidth}
172 \begin{minipage}{\textwidth}
213 \begin{verbatim}
173 \begin{verbatim}
214−[1 2 "hello" ../../file.txt]
174+[1 2 "hello" ../../file.txt https://example.com]
215 \end{verbatim}
175 \end{verbatim}
216 \end{minipage}
176 \end{minipage}
217 \caption{Nix Expression Language List literals.}
177 \caption{Nix Expression Language List literals.}
218 \label{lst:list}
178 \label{lst:list}
219−\end{figure}
179+\end{Listing}
220
180
221\subsection{Attribute sets} \label{sec:attrSet}
181\subsection{Attribute sets} \label{sec:attrSet}
222
182
223−An attribute set is internally implemented as a hashmap with strings as keys where values can be arbitrary expressions. An example attribute set literal is shown in figure~\ref{lst:attrSet}.
183+An attribute set is internally implemented as a hashmap with strings as keys where values can be arbitrary expressions. An example attribute set literal is shown in listing~\ref{lst:attrSet}.
224
184
225−\begin{figure}
185+\begin{Listing}
226 \begin{minipage}{\textwidth}
186 \begin{minipage}{\textwidth}
227 \begin{verbatim}
187 \begin{verbatim}
228{ a = 42;
188{ a = 42;
@@ -234,46 +194,29 @@ An attribute set is internally implemented as a hashmap with strings as keys whe
234 \end{minipage}
194 \end{minipage}
235 \caption{Nix Expression Language attribute set literals.}
195 \caption{Nix Expression Language attribute set literals.}
236 \label{lst:attrSet}
196 \label{lst:attrSet}
237−\end{figure}
197+\end{Listing}
238−
239−Fields (keys) of an attribute set can be accessed through the \emph{dot} (\texttt{.}) operator, as shown in figure~\ref{lst:attrSetAccess}. Accessing an absent field yields a runtime error.
240−
241−\begin{figure}
242− \begin{minipage}{\textwidth}
243− \begin{verbatim}
244−{ a = 42;
245− b = 6 + 9;
246−}.b
247−
248−15
249− \end{verbatim}
250− \end{minipage}
251− \caption{Nix Expression Language attribute set field accessing.}
252− \label{lst:attrSetAccess}
253−\end{figure}
254
198
255\subsection{Attribute set updates} \label{sec:update}
199\subsection{Attribute set updates} \label{sec:update}
256
200
257−There is a binary \emph{update} operator that takes two \emph{attribute sets} as operands and ``merges'' them in a shallow manner, preferring values from the right operand. The operator is written as two forward slashes \texttt{//}. This has the effect of updating the left operand with values from the right operand. An example is shown in figure~\ref{lst:update}.
201+There is a binary \emph{update} operator that takes two \emph{attribute sets} as operands and ``merges'' them in a shallow manner, preferring values from the right operand. The operator is written as two forward slashes \texttt{//}. This has the effect of updating the left operand with values from the right operand. An example is shown in listing~\ref{lst:update}.
258
202
259−\begin{figure}
203+\begin{Listing}
260 \begin{minipage}{\textwidth}
204 \begin{minipage}{\textwidth}
261 \begin{verbatim}
205 \begin{verbatim}
262−{x = {a = 1;}; y = 2;}
263− // {x = "hello"; z = 1.5;}
206+{x = {a = 1;}; y = 2;} // {x = "hello"; z = 1.5;}
264
207
265{ x = "hello"; y = 2; z = 1.5; }
208{ x = "hello"; y = 2; z = 1.5; }
266 \end{verbatim}
209 \end{verbatim}
267 \end{minipage}
210 \end{minipage}
268 \caption{Nix Expression Language attribute set updates.}
211 \caption{Nix Expression Language attribute set updates.}
269 \label{lst:update}
212 \label{lst:update}
270−\end{figure}
213+\end{Listing}
271
214
272\subsection{Recursive attribute sets} \label{sec:recAttrSet}
215\subsection{Recursive attribute sets} \label{sec:recAttrSet}
273
216
274−While ordinary \emph{attribute sets} discussed in section~\ref{sec:attrSet} can only reference values defined outside of the attribute set literal, \emph{recursive attribute sets} can also reference values defined in the attribute set literal itself. The keys of the attribute set are available in the scopes of the attribute set values. An example \emph{recursive attribute set} is given in figure~\ref{lst:recAttrSet}. Note that it is syntactically distinguished from normal \emph{attribute set} literals by the \texttt{rec} keyword at the beginning.
217+While ordinary \emph{attribute sets} from discussed in section~\ref{sec:attrSet} can only reference values defined outside of the attribute set literal, \emph{recursive attribute sets} can also reference values defined in the attribute set literal itself. The keys of the attribute set are essentially available in scope of the attribute set values. An example of \emph{recursive attribute set} are given in listing~\ref{lst:recAttrSet}. Note that it is syntactically distiguished form normal \emph{attribute set} literals by the \texttt{rec} key word at the beginning.
275
218
276−\begin{figure}
219+\begin{Listing}
277 \begin{minipage}{\textwidth}
220 \begin{minipage}{\textwidth}
278 \begin{verbatim}
221 \begin{verbatim}
279rec {
222rec {
@@ -286,13 +229,13 @@ rec {
286 \end{minipage}
229 \end{minipage}
287 \caption{Nix Expression Language recursive attribute set literals.}
230 \caption{Nix Expression Language recursive attribute set literals.}
288 \label{lst:recAttrSet}
231 \label{lst:recAttrSet}
289−\end{figure}
232+\end{Listing}
290
233
291\subsection{Let expressions} \label{sec:let}
234\subsection{Let expressions} \label{sec:let}
292
235
293−A \emph{let expression} has two parts: \emph{declarations} and the \emph{body}. The format can be roughly described like so: \texttt{let <definitions> in <body>}. A \emph{let expression} allows us to define values in the \emph{declarations} that can be reused in the \emph{body} of the expression. Just like \emph{recursive attribute sets} from section~\ref{sec:recAttrSet} all declared values are available in scope in the defined expressions. An example of \emph{let expressions} is available in figure~\ref{lst:let}.
236+A \emph{let expression} has two parts: the \emph{declarations} and the \emph{body}. The format can be roughly described like so: \texttt{let <definitions> in <body>}. A \emph{let expression} allows us to define values in the \emph{declarations} that can be reused in the \emph{body} of the expression. Just like \emph{recursive attribute sets} from section~\ref{sec:recAttrSet} all declared values are available in scope in the defined expressions. An example of \emph{let expressions} is available in listing~\ref{lst:let}.
294
237
295−\begin{figure}
238+\begin{Listing}
296 \begin{minipage}{\textwidth}
239 \begin{minipage}{\textwidth}
297 \begin{verbatim}
240 \begin{verbatim}
298let
241let
@@ -303,13 +246,13 @@ in d
303 \end{minipage}
246 \end{minipage}
304 \caption{Nix Expression Language \emph{let} expression literals.}
247 \caption{Nix Expression Language \emph{let} expression literals.}
305 \label{lst:let}
248 \label{lst:let}
306−\end{figure}
249+\end{Listing}
307
250
308−\subsection{With expression} \label{sec:withExp}
251+\subsection{With expression}
309
252
310−\emph{With expressions} are a way of bringing all values from an \emph{attribute set} into scope. It is conceptually very similar to \emph{let expressions} discussed in section~\ref{sec:let}. The syntax can be roughly described like so: \texttt{with <set>; <body>} where \texttt{<set>} is an expression which evaluates to an \emph{attribute set} and all values from the set are available as definitions in the \texttt{<body>} expression. An example of a \emph{with expression} can be found in figure~\ref{lst:with}.
253+\emph{With expressions} are a way to bring all values from an \emph{attribute set} into scope. It is conceptually very similar to \emph{let expressions} discussed in section~\ref{sec:let}. The syntax can be roughly describe like so: \texttt{with <set>; <body>} where \texttt{<set>} is an expression which evaluates to an \emph{attribute set} and all values from the set are available as definitions in the \texttt{<body>} expression. An example of a \emph{with expression} can be found in listing~\ref{lst:with}.
311
254
312−\begin{figure}
255+\begin{Listing}
313 \begin{minipage}{\textwidth}
256 \begin{minipage}{\textwidth}
314 \begin{verbatim}
257 \begin{verbatim}
315let
258let
@@ -320,34 +263,32 @@ in d
320 \end{minipage}
263 \end{minipage}
321 \caption{Nix Expression Language \emph{with} expression literals.}
264 \caption{Nix Expression Language \emph{with} expression literals.}
322 \label{lst:with}
265 \label{lst:with}
323−\end{figure}
266+\end{Listing}
324
267
325−\section{Existing typecheckers implementations}
268+\section{Existing typecheckers}
326
269
327−In this section we will examine existing attempts at developing a typechecker for the Nix Expression Language, determine the features of the implemented type systems and assess how well maintained the implementations are.
270+In this section we will examine existing attempts at developing a typechecker for the Nix Expression Language, determine the features of the implemented type systems and assess how well maintained are the implementations.
328
271
329\subsection{regnat/tix} \label{sec:regnat/tix}
272\subsection{regnat/tix} \label{sec:regnat/tix}
330
273
331−regnat/tix\footnote{\url{https://github.com/regnat/tix}} is an implementation of a typechecker for the \emph{Nix Expression Language} implemented in \emph{OCaml}\footnote{\url{https://ocaml.org}}. The type checker itself is implemented on a different much simpler language named \emph{Nix Light}. To typecheck a normal \emph{Nix} program(expression) the program need to be first converted to an equivalent \emph{Nix Light} program. The type checker has a row-polymorphism-inspired feature: records are represented as a product of one-row types. In \emph{Nix Light} lists are represented as a single-linked heterogeneous list. The type system does not have support for parametric polymorphism in favour of a gradual typing paradigm.
274+regnat/tix\footnote{\url{https://github.com/regnat/tix}} is an implementation of typechecker for the \emph{Nix Expression Language} implemented in \emph{OCaml}\footnote{\url{https://ocaml.org}}. The type checker itself is implemented on a different much simpler language named \emph{Nix Light}. To typecheck a normal \emph{Nix} program(expression) the program need to be first converted to an equivalent \emph{Nix Light} program. The type checker has a row-polymorphism-inspired feature: records are represented as a product of one-row types. In \emph{Nix Light} lists are represented as a single-liked heterogeneous list. The type system does not have support for parametric polymorphism in favour of a gradual typing paradigm.
332
275
333\parr{Status} The last commit was published in 2017 and the project is now abandoned in favour of regnat/ptyx which we examin in section~\ref{sec:regnat/ptyx}.
276\parr{Status} The last commit was published in 2017 and the project is now abandoned in favour of regnat/ptyx which we examin in section~\ref{sec:regnat/ptyx}.
334
277
335\subsection{regnat/ptyx} \label{sec:regnat/ptyx}
278\subsection{regnat/ptyx} \label{sec:regnat/ptyx}
336
279
337−regnat/ptyx\footnote{\url{https://github.com/regnat/ptyx}} is in essence a reimplementation of regnat/tix in Haskell\footnote{\url{https://www.haskell.org}} which we examined in section~\ref{sec:regnat/tix}. The basic ideas and techniques are the same. In fact, so much so, that the simpler language is also called \emph{Nix Light} and \emph{Nix} expressions are also converted to it before type checking. There is still no support for parametric polymorphism.
280+regnat/ptyx\footnote{\url{https://github.com/regnat/ptyx}} is in essence a reimplementation of regnat/tix in Haskell\footnote{\url{https://www.haskell.org}} which we examined in section~\ref{sec:regnat/tix}. The basic ideas and techniques are the same. In fact, so much so, that the simpler language is also called \emph{Nix Light} and \emph{Nix} expression are also converted to it before type checking. There is still no support for parametric polymorphism.
338
281
339\parr{Status} The last commit was published in 2018. Unsupported language features include lists and attribute sets.
282\parr{Status} The last commit was published in 2018. Unsupported language features include lists and attribute sets.
340
283
341\subsection{haskell-nix/hnix}
284\subsection{haskell-nix/hnix}
342
285
343−haskell-nix/hnix\footnote{\url{https://github.com/haskell-nix/hnix}} is primarily not a typechecker, but rather the goal of the project is to fully reimplement the \emph{Nix Expression Language} interpreter in \emph{Haskell}. There is, however, a number of modules dedicated to a typechecker implementation which was migrated into the project. Contrary to how it may seem, the typechecker is not integrated with the rest of the project in any significant way. The type system itself is based on the Hindley-Milner type system. However, the type system was not extended with additional features to better support the dynamic nature of \emph{Nix}. For instance, there is no support for row-polymorphism which greatly impedes typechecking code that interacts with \emph{attribute sets} in any way.
286+haskell-nix/hnix\footnote{\url{https://github.com/haskell-nix/hnix}} is primarily not a typechecker, but rather the goal of the project is to fully reimplement the \emph{Nix Expression Language} interpreter in \emph{Haskell}. There is, however a number of modules dedicated to a typechecker implementation which was migrated into the project. Contrary to how it may seem, the typechecker is not integrated with the rest of the project in any significant way. The type system itself is based on the Hindley-Milner type system. However, the type system was not extended with additional features to better support the dynamic nature of \emph{Nix}. For instance, there is no support for row-polymorphism which greatly impedes typechecking any code that interacts with \emph{attribute sets} in any way.
344
287
345\parr{Status} Last time the typechecker was modified in any substantial way was in 2019. It does not appear to be actively developed. Furthermore, there is no description of the implemented type system.
288\parr{Status} Last time the typechecker was modified in any substantial way was in 2019. It does not appear to be actively developed. Furthermore, there is no description of the implemented type system.
346
289
347
290
348−\section{Existing type system research}
291+\section{Existing Approaches}
349−
350−In this section we will explore existing techniques used to develop typecheckers, and explore how they can be applicable to our implementation.
351
292
352\subsection{Type System Approach}
293\subsection{Type System Approach}
353
294
@@ -377,7 +318,7 @@ In some cases, this approach will likely yield too little information to be usef
377
318
378The original W inference algorithm is a single-stage inference algorithm, meaning that it attempts to satisfy type constraints as soon as it encounters them. A consequence of this is that errors are reported as soon as they are encountered. Often, the information available about the program at the time the error had occurred is very limited due to not all of the program being processed. This leads to poor error reporting.
319The original W inference algorithm is a single-stage inference algorithm, meaning that it attempts to satisfy type constraints as soon as it encounters them. A consequence of this is that errors are reported as soon as they are encountered. Often, the information available about the program at the time the error had occurred is very limited due to not all of the program being processed. This leads to poor error reporting.
379
320
380−In contrast to the single-stage algorithm, the two-stage algorithm~\cite{jones2005practical,serrano2016type} collects the type constraints as the first stage of type checking and solves the collected constraints as a second step. This leads to most errors occurring during the second stage when all available type information has already been collected. As a result, better type errors are produced. This is the more preferable approach for our goals.
321+In contrast to the single-stage algorithm, the two-stage algorithm~\cite{jones2005practical,serrano2016type} collects the type constraints as the first stage of type checking and solves the collected constraints as a second step. This leads to most errors occurring during the second stage when all available type information has already been collected. As a result, better type errors are produced. This is the preferable approach for our goals.
381
322
382\subsection{Row-Polymorphism}
323\subsection{Row-Polymorphism}
383
324
@@ -385,27 +326,43 @@ One of the language-level constructs in the Nix Expression Language is the ``att
385
326
386There has been some research conducted in the field of type systems with row-polymorphic records~\cite{morris2019abstracting,leijen2005extensible}. The approach that should be taken in developing a static type checker for the Nix Expression Language is describing row-polymorphic attribute sets with a construct similar\footnote{The way it should be displayed to the user will be distinct, since, unlike in Haskell, the Nix Expression Language does not have constraints as a language construct.} to Haskell constraints~\cite{orchard2010haskell}.
327There has been some research conducted in the field of type systems with row-polymorphic records~\cite{morris2019abstracting,leijen2005extensible}. The approach that should be taken in developing a static type checker for the Nix Expression Language is describing row-polymorphic attribute sets with a construct similar\footnote{The way it should be displayed to the user will be distinct, since, unlike in Haskell, the Nix Expression Language does not have constraints as a language construct.} to Haskell constraints~\cite{orchard2010haskell}.
387
328
388−% \subsection{Message Reporting}
329+\subsection{Message Reporting}
330+
331+Displaying errors to the user is not as simple as it might initially seem. For the type checker to be as helpful as possible, error messages should display the encountered issues in the language contexts in which they had occurred. Ideally, the errors should point to the exact terms that are most likely problematic.
389
332
390−% Displaying errors to the user is not as simple as it might initially seem. For the type checker to be as helpful as possible, error messages should display the encountered issues in the language contexts in which they had occurred. Ideally, the errors should point to the exact terms that are most likely problematic.
333+Even if all of the information necessary for detailed error messages is collected during type checking, displaying errors to the user is a problem that deserves its own research\footnote{This also relates to how types are laid out when displaying to the user even when no errors have occurred.}. The users might have different screen sizes. The error message should reflow all of the displayed text, code, and type annotations to accommodate the available space.
391
334
392−% Even if all of the information necessary for detailed error messages is collected during type checking, displaying errors to the user is a problem that deserves its own research\footnote{This also relates to how types are laid out when displaying to the user even when no errors have occurred.}. The users might have different screen sizes. The error message should reflow all of the displayed text, code, and type annotations to accommodate the available space.
335+Hughes introduced a general-purpose algebraic pretty-printer~\cite{hughes1995design}, which was later improved upon~\cite{wadler2003prettier}, to solve precisely this problem. Using one of the pretty-printers based on that research is the industry standard and will be used by our type checker.
393
336
394−% Hughes introduced a general-purpose algebraic pretty-printer~\cite{hughes1995design}, which was later improved upon~\cite{wadler2003prettier}, to solve precisely this problem. Using one of the pretty-printers based on that research is the industry standard and will be used by our type checker.
337+\section{Architecture}
338+
339+\subsection{Effect system}
340+
341+\subsubsection{Monad transformers}
342+
343+Developing a typechecker requires working with a large amount of non-trivial algorithms which influence each other in complex ways. A widespread way of dealing with such situations is introducing a common computational environment through which different parts of the program can interact (instead of ``manually'' passing state around). A well-established way of handling state in purely functional programming languages is the \emph{Monad} abstraction~\cite{moggi1988computational}.
395
344
396−\section{Our Nix type system}
345+It is natural to want to abstract of the underlying monad – explicitly declare what features a function actually needs the monad to have. Furthermore, it is desireable to decompose the features of the a monad not only in function definitions, but also at the call site – it is desireable to be able to conjure up monads with desireable traits in an as-hoc manner. This has been achieved a while ago with \emph{monad transformers}~\cite{liang1995monad}.
397
346
347+A drawback of monad transformers is their somewhat rigid nature – every behavior a monad needs to have needs to be defined as a distinct transformer with appropriate instances. The instances need to only implement the desired behavior, but also explicitly ``pass through'' \emph{all} other effects that it might be used in combination with. This means that adding extra behavior leads to a large amount of boilerplate. Furthermore, monads themselves (monad transformers) are not in general composable, leading a whole other set of problems. In addition, it is cumbersome to locally change parts of the underlying implementation of a monad dynamically – it might be useful to tweak some behavior in only part of an algorithm, leaving the rest to the abstract implementation; monad transformers don't really have such capabilities.
348+
349+\subsubsection{Free monad extensible effects}
350+
351+Recently a ne aprproach to effect systems has been getting more attention – \emph{free monads algebraic effects}~\cite{kiselyov2015freer, ploeg2014reflection, kiselyov2013extensible}. This approach solves the problems with monad transformers mentioned above. Rather than being transformers, effects are described as \emph{functors}. The composability problem is resolved due to functors being in general composable. Contrary to how monad transformers operate, effects (or their carriers) in \emph{free monads algebraic effects} (we will from now on refer to them as just \emph{algebraic effects}) don't have any particulare inrpretation of the effect associated with them. Effects are interpreted in an ad-hoc way at the call site. Furthermore this allows us to dynamically modify the behavior of effects without changing the types or implementations of functions we wish to change the behavior of. How we use \emph{algebraic effects} will be discussed in more detail in section~\ref{sec:implementation}.
352+
353+\subsection{Type system}
354+
398−As mentioned above, we have opted to use the Damas-Milner type system as a basis for our implementation. Our goal is not just to add types for the sake of types, but give additional reassurance to the developer, and reject as many potentially ``invalid'' programs as possible. If the developed typechecker processes a program without errors, then the program should have no type errors during execution.
355+As mentioned above, we have opted to use the Damas-Milner type system as a basis for our implementation. Our goal is not to just add types for the sake of types, but give additional reassurance to the developer, and reject as many potentially ``invalid'' programs as possible. If the developer typechecker processes a program without errors, then the program should have no type errors during execution.
399
356
400\subsection{Polymorphism} \label{sec:polymorphism}
357\subsection{Polymorphism} \label{sec:polymorphism}
401
358
402−Dynamic languages have potentially limitless polymorphism – you can pass anything of any type to any function and it can potentially work without errors – it is in principal possible to check the ``types'' of passed values at runtime. This leads to the fact that there is really no way to know which ``types'' are acceptable in which positions without executing the program.
359+Dynamic languages have potenitally limitless polymorphism – you can pass anything of any type to any function and it can potentially work without errors – it is in principal possible to check the ``types'' of passed values at runtime. This leads to the fact that there is really no way to know which ``types'' are acceptable in which positions without executing the program.
403
360
404The Nix community, just like with any other language, has developed idiomatic ways of solving problems. Some of these idioms are heavily based on polymorphic behavior at runtime. We should strive to develop a type system which supports as much of idiomatic behavior as possible (and where not possible, similar behavior should be expressible within the type system).
361The Nix community, just like with any other language, has developed idiomatic ways of solving problems. Some of these idioms are heavily based on polymorphic behavior at runtime. We should strive to develop a type system which supports as much of idiomatic behavior as possible (and where not possible, similar behavior should be expressible within the type system).
405
362
406Parametric polymorphism has proven to strike a nice balance between strictness, expressiveness and type inference. We feel it will be most useful as a type system for \emph{Nix}.
363Parametric polymorphism has proven to strike a nice balance between strictness, expressiveness and type inference. We feel it will be most useful as a type system for \emph{Nix}.
407
364
408−Inferring types with parametric polymorphism implies generalizing the inferred types at certain points in the syntax tree. Generalization is also known as ``closing over type variable'' – it can be though of as explicitly choosing a point where the variable is quantified over. Figure~\ref{fig:closing} is an example of closing over a type variable.
365+Inferring types with parametric polymorphism implies generalizing the inferred types at certain points in the program. Generalization is also known as ``closing over type variable'' – it can be though of as explicitly choosing a point where the variable is quantified over. Figure~\ref{fig:closing} is an example of closing for a type variable.
409
366
410Traditionally in languages similar to \emph{simply-typed lambda calculus} generalization is performed in \emph{let} declarations – so-called \emph{let-generalization}. \emph{Nix} has a very similar \emph{let} construct as discussed in section~\ref{sec:let} which is also a great point to perform type generalization.
367Traditionally in languages similar to \emph{simply-typed lambda calculus} generalization is performed in \emph{let} declarations – so-called \emph{let-generalization}. \emph{Nix} has a very similar \emph{let} construct as discussed in section~\ref{sec:let} which is also a great point to perform type generalization.
411
368
@@ -418,9 +375,9 @@ Traditionally in languages similar to \emph{simply-typed lambda calculus} genera
418 \label{fig:closing}
375 \label{fig:closing}
419\end{figure}
376\end{figure}
420
377
421−Apart from \emph{let expressions} Nix also has \emph{attribute sets} discussed in section~\ref{sec:attrSet}, definitions in which are semantically similar to those in \emph{let expressions}. \emph{Attribute set} definitions also seem like a good point for \emph{generalization}.
378+Apart from \emph{let expression} Nix also has \emph{attribute sets} discussed in section~\ref{sec:attrSet}, definitions in which are semantically similar to those in \emph{let expressions}. \emph{Attribute set} definitions also seem like a good point for \emph{generalization}.
422
379
423−\subsection{Inferring recursive types} \label{sec:recLet}
380+\subsection{Inferring recursive types}
424
381
425Recursive definitions pose a challenge for type inference without developer-supplied type annotations (which will be the case for the vast majority of code). There are three major approaches to inferring types of recursive definitions:
382Recursive definitions pose a challenge for type inference without developer-supplied type annotations (which will be the case for the vast majority of code). There are three major approaches to inferring types of recursive definitions:
426
383
@@ -430,7 +387,7 @@ Recursive definitions pose a challenge for type inference without developer-supp
430 \item The last implements a more complicated iteration-based type inference algorithm with a user-configurable number of iterations.~\cite{goldberg2000mercury} If the specified number of iterations is not enough to deduce the type of a recursive definition, it is rejected. The clear upside of this approach is that the inferred type (if it is given enough iterations and succeeds) is the principal (most general, most polymorphic) type of the expression.
387 \item The last implements a more complicated iteration-based type inference algorithm with a user-configurable number of iterations.~\cite{goldberg2000mercury} If the specified number of iterations is not enough to deduce the type of a recursive definition, it is rejected. The clear upside of this approach is that the inferred type (if it is given enough iterations and succeeds) is the principal (most general, most polymorphic) type of the expression.
431\end{enumerate}
388\end{enumerate}
432
389
433−While the last approach would allow us to, in theory, type more programs, we feel that tasking the user with configuring the typechecker would make the barrier to entry higher than it needs to be, and in practice the second approach would be useful enough (and faster), so that is the approach we chose to go with.
390+While the last approach would allow us to in theory type more programs, we feel that tasking the user with configuring the typechecker would make the barrier to entry higher than it needs, and in practice the second approach would be useful enough (and faster), so that is the approach we chose to go with.
434
391
435\subsection{Row polymorphism}
392\subsection{Row polymorphism}
436
393
@@ -438,9 +395,9 @@ Nix has first-class hashmaps with strings as keys called \emph{attribute sets} a
438
395
439Of course, since \emph{attribute sets} are used as structures, their internal structure (keys and types of values) has significance and should be tracked in types just like objects and structures are tracked in most statically typed programming languages. Even though it is in most cases implemented as a mechanism that allows the programmer to introduce new types which correspond to a static set of field names and types, and the type system is presented in terms of those types, this is not significantly different from tracking keys directly. In fact, the \emph{Go}\footnote{\url{https://golang.org}} programming language has a notion of \emph{protocols} which bridges the gap between the two paradigms.
396Of course, since \emph{attribute sets} are used as structures, their internal structure (keys and types of values) has significance and should be tracked in types just like objects and structures are tracked in most statically typed programming languages. Even though it is in most cases implemented as a mechanism that allows the programmer to introduce new types which correspond to a static set of field names and types, and the type system is presented in terms of those types, this is not significantly different from tracking keys directly. In fact, the \emph{Go}\footnote{\url{https://golang.org}} programming language has a notion of \emph{protocols} which bridges the gap between the two paradigms.
440
397
441−This leads to a non-trivial typechecking case where modifying a structure leads to the resulting type depending on the type of the input structure as shown in figure~\ref{lst:update_ex}. The figure shows a lambda expression which receives an \emph{attribute set} as input, and updates the field \texttt{a} with the value of \texttt{1}. It quickly becomes problematic to derive a type for this expression if we decide to track fields at the type level: we can say that the lambda takes a value of type \texttt{\{\}} and returns a value of type \texttt{\{a = Integer;\}} (type of functions will later be written as \texttt{<input type> -> <output type>}). This might seem like a natural type to derive, however it is obviously not correct. Calling it with a values of type \texttt{\{b = String;\}} and \texttt{\{b = Float; a = Bool;\}} would both be very much valid, and would both produce different resulting types: \texttt{\{a = Integer; b = String;\}} and \texttt{\{a = Integer; b = Float;\}}. As stated above, the output type of a lambda expression like this depends on the input type.
398+This leads to a non-trivial typechecking case where modifying a structure leads to the resulting type depending on the type of the input structure as shown in listing~\ref{lst:update_ex}. The listing shows a lambda expression which receives an \emph{attribute set} as input, and updates the field \texttt{a} with the value of \texttt{1}. It quickly becomes problematic to derive a type for this expression if we decide to track fields at the type level: we can say that the lambda takes a value of type \texttt{\{\}} and returns a value of type \texttt{\{a = Integer;\}} (type of functions will later be written as \texttt{<input type> -> <output type>}). This might seem a natural type to derive, however it is obviously not correct. Calling it with a values of type \texttt{\{b = String;\}} and \texttt{\{b = Float; a = Bool;\}} would both be very much valid, and would both produce different resulting types: \texttt{\{a = Integer; b = String;\}} and \texttt{\{a = Integer; b = Float;\}}. As stated above, the output type of a lambda expression like this depends on the input type.
442
399
443−\begin{figure}
400+\begin{Listing}
444 \begin{minipage}{\textwidth}
401 \begin{minipage}{\textwidth}
445 \begin{verbatim}
402 \begin{verbatim}
446x: x // {a = 1;}
403x: x // {a = 1;}
@@ -448,768 +405,23 @@ x: x // {a = 1;}
448 \end{minipage}
405 \end{minipage}
449 \caption{A lambda expression which updates an input set.}
406 \caption{A lambda expression which updates an input set.}
450 \label{lst:update_ex}
407 \label{lst:update_ex}
451−\end{figure}
408+\end{Listing}
452−
453−This problem is widely known as \emph{row polymorphism}~\cite{wand1991type} – the term \emph{row} refers to a single key-value type pair. Thus, \emph{row polymorphism} is the polymorphism of key-value pairs. This fields has already received some research attention: a recent paper on the topic was written by Morris and McKinna~\cite{morris2019abstracting}. In the paper the authors introduce the \emph{Rose}\footnote{The name is a pun on ``rows'' referring to row polymorphism.} programming language which supports \emph{row polymorphism}.
454−
455−\subsubsection{Rose} \label{sec:rose}
456−
457−In \emph{Rose} row polymorphism is implemented by introducing two predicates on types. The first one denotes a \emph{combination} of two ``record'' types:
458−
459−\begin{equation} \label{eq:combination}
460− \alpha \odot \beta \sim \gamma
461−\end{equation}
462−
463−
464−where $\alpha$ and $\beta$ are the two types that are being combined and $\gamma$ is the resulting type. The semantics of what \emph{combination} is depend on the semantics of the language itself. Examples include:
465−
466−\begin{enumerate}
467− \item The two types can not have overlapping rows (combining types with overlapping rows is considered an error), and the resulting type is the union of the rows from the two types.
468− \item The two types can have overlapping rows, and the resulting type is either a left-biased or right-biased union of the rows from the two types.
469−\end{enumerate}
470−
471−\def\clt{\mathrel{\mathrlap{\bigcirc}\!<\:}}
472−
473−The second predicate is:
474−
475−\begin{equation}
476− \alpha \clt \beta
477−\end{equation}
478−
479−where all rows from $\alpha$ are present in $\beta$. This predicate isn't strictly necessary, and can be expressed through predicate~\ref{eq:combination}:
480−
481−\begin{equation}
482− \alpha \clt \gamma = \exists \beta. \; \beta \odot \alpha \sim \gamma
483−\end{equation}
484−
485−Nevertheless, this predicate was still introduced as it closely matches the language term syntax and simplifies further processing of type.
486−
487−\subsubsection{Row polymophism in Nix} \label{sec:nixRowPoly}
488−
489−When deciding how to represent row polymorphism in Nix it is helpful to examine the base operators which would conjure row-related predicates during type inference. They include:
490−
491−\begin{enumerate}
492− \item Attribute set field accessing (the \texttt{.} operator) as discussed in section~\ref{sec:attrSet}
493− \item Attribute set field accessing with a default value (\texttt{\{a = 1;\}.b or 8})
494− \item Attribute set field presence check (\texttt{\{a = 1;\} ? a})
495− \item Attribute set updates (the \texttt{//} operator) as discussed in section~\ref{sec:attrSet}
496−\end{enumerate}
497−
498−In terms of the predicates described in section~\ref{sec:rose} the expression \texttt{x: x.a}, which is a lambda expression which return the field \texttt{a} from the attribute set supplied as the argument, would have the following type:
499−
500−\begin{equation}
501− \forall \alpha \beta. \; (\{ a = \beta; \} \clt \alpha) \Rightarrow \alpha \rightarrow \beta
502−\end{equation}
503−
504−Analogously, the expression \texttt{x: y: x // {a = y;}}, which returns the attribute set supplied as the argument updated with the field \texttt{a} supplied as the second argument, would have the following type:
505−
506−\begin{equation}
507− \forall \alpha \beta \gamma. \; (\alpha \odot \{ a = \beta; \} \sim \gamma) \Rightarrow \alpha \rightarrow \beta \rightarrow \gamma
508−\end{equation}
509−
510−The types of the other two expressions are not fully expressible with the predicates from \emph{Rose}. This is due to the \emph{Rose} type system not having support for working with missing (optional) rows as it is very dynamic in nature. Nix, on the other hand, being a dynamic language, has full support for introspecting values at runtime, including branching on the presence of a key in an \emph{attribute set} as mentioned before.
511−
512−\subsubsection{Nix row predicates}
513−
514−When deciding how to model the four base row-related operations we decided to derive the predicates from the operations themselves. This would yield simpler types, and having simpler types for base operations leads to simpler types overall. Furthermore, the type system would in all likelihood be easier for Nix developers to use and understand if it is expressed in terms of familiar operations.
515−
516−We will now describe the row predicates we have chosen for Nix. Note the analogy with the enumeration from section~\ref{sec:nixRowPoly}.
517−
518−\newcommand{\update}{\mathbin{/\!\!/}}
519−\newcommand{\optDot}{.\!?}
520−
521−\paragraph{Attribute set field predicate} \label{sec:attrSetPred}
522−
523−\begin{equation} \label{eq:fieldPred}
524− \alpha. \text{x} = \beta
525−\end{equation}
526
409
527−The type $\alpha$ should be an attribute set and it should contain a field $x$ of the type $\beta$. This predicate arises from the use of the \emph{dot operator} (\texttt{.}) as discussed in section~\ref{sec:attrSet}. The syntax was chosen to be analogous to that of the Nix term syntax.
410+This problem is widely known as \emph{row polymorphism} – the term \emph{row} refers to a single key-value type pair. Thus, \emph{row polymorphism} is the polymorphism of key-value pairs. This fields has already received some research attention: a recent paper on the topic was written by Morris and McKinna~\cite{morris2019abstracting}.
528−
529−The term \texttt{x: x.y} would yield the following type:
530−
531−\begin{equation} \label{eq:dotExample}
532− \forall \alpha \beta. \; \alpha.\text{y} = \beta \Rightarrow \alpha \rightarrow \beta
533−\end{equation}
534−
535−\paragraph{Optional attribute set field predicate}
536−
537−\begin{equation} \label{eq:optFieldPred}
538− \alpha \optDot \text{x} = \beta
539−\end{equation}
540−
541−The type $\alpha$ should be an attribute set and if it contains the field $x$, then the type of the field should be $\beta$. This predicate arises from the combination of the \emph{dot operator} (\texttt{.}) and the \emph{or operator} (\texttt{or}) which is used to supply a fallback value if the attribute set does not contain the required field. The syntax was chosen to be analogous to that of the Nix term syntax.
542−
543−The term \texttt{x: x.y or 1} would yield the following type:
544−
545−\begin{equation} \label{eq:optFieldPredExample}
546− \forall \alpha. \; \alpha \optDot \text{y} = \text{Number} \Rightarrow \alpha \rightarrow \text{Number}
547−\end{equation}
548−
549−This predicate also arises from the use of the \emph{attribute set field presence check operator} (\texttt{?}). In that case the
550−
551−The term \texttt{x: x ? y} would yield the following type:
552−
553−\begin{equation} \label{eq:optFieldPredExample2}
554− \forall \alpha \beta. \; \alpha \optDot \text{y} = \beta \Rightarrow \alpha \rightarrow \text{Bool}
555−\end{equation}
556−
557−\paragraph{Record update predicate}
558−
559−\begin{equation} \label{eq:upatePred}
560− \alpha \update \beta \sim \gamma
561−\end{equation}
562−
563−All $\alpha$, $\beta$ and $\gamma$ should be \emph{attribute sets}. The \emph{attribute set} $\gamma$ should contain all fields from both $\alpha$ and $\beta$, preferring the types from $\beta$ if they happen to overlap. That is, if $\alpha$ and $\beta$ both contain a field with the same name, then $\gamma$ should contain the same field with the type from $\beta$. This behavior matches the way the \emph{update operator} (\texttt{//}) works as discussed in section~\ref{sec:update}.
564−
565−The term \texttt{x: y: x // y} would yield the following type:
566−
567−\begin{equation} \label{eq:updatePredExample}
568− \forall \alpha \beta \gamma. \; \alpha \update \beta \sim \gamma \Rightarrow \alpha \rightarrow \beta \rightarrow \gamma
569−\end{equation}
570−
571−\subsection{Atomic types}
572−
573−Nix is a dynamic language, and as such, allows dynamic coercions between certain types. This means that we can not use the dynamic types from the interpreter to perform static type checking -- if we did that we would reject \emph{a lot} of valid programs.\footnote{``Valid'' not just in the sense that they would not produce runtime errors, but ``valid'' in the sense that the programmer would judge the program as being ``correct''.}
574−
575−For this reason, we will have to define a smaller set of static types that will be employed in our type system. The static types along with the corresponding dynamic types from table~\ref{tab:atomicTypes} are shown in table~\ref{tbl:staticTypes}.
576−
577−\begin{table}[hbp]
578− \centering
579− \caption{Mapping from static types to dynamic types}
580− \begin{tabular}{ ||c||c|| } \hline
581− \textbf{Static type} & \textbf{Dynamic types} \\ \hline \hline
582− \multirow{3}{*}{String} & URI \\ \cline{2-2}
583− & Path literal \\ \cline{2-2}
584− & String \\ \hline \hline
585− \multirow{2}{*}{Number} & Integer \\ \cline{2-2}
586− & Float \\ \hline \hline
587− Bool & Bool \\ \hline \hline
588− Null & Null \\ \hline
589− \end{tabular}
590− \label{tbl:staticTypes}
591−\end{table}
592−
593−\begin{table*}[hbp]
594− \centering
595− \caption{Table of Nix Expression Language operators and their static types}
596− \begin{tabular}{||c||c||c||c||} \hline
597− \textbf{Operator} & \textbf{Operator description} & \textbf{Static type} \\ \hline \hline
598− \texttt{-} & Numeric negation & $\text{Number} \rightarrow \text{Number}$ \\ \hline
599− \texttt{!} & Boolean negation & $\text{Bool} \rightarrow \text{Bool}$ \\ \hline
600− \texttt{++} & List concatenation & $\forall \alpha. \; [\alpha] \rightarrow [\alpha] \rightarrow [\alpha]$ \\ \hline
601− \texttt{==} & Equality & $\forall \alpha. \; \alpha \rightarrow \alpha \rightarrow \text{Bool}$ \\ \hline
602− \texttt{!=} & Not equality & $\forall \alpha. \; \alpha \rightarrow \alpha \rightarrow \text{Bool}$ \\ \hline
603− \texttt{<} & Less than & $\text{Number} \rightarrow \text{Number} \rightarrow \text{Bool}$ \\ \hline
604− \texttt{<=} & Less than or equal & $\text{Number} \rightarrow \text{Number} \rightarrow \text{Bool}$ \\ \hline
605− \texttt{>} & Greater than & $\text{Number} \rightarrow \text{Number} \rightarrow \text{Bool}$ \\ \hline
606− \texttt{>=} & Greater than or equal & $\text{Number} \rightarrow \text{Number} \rightarrow \text{Bool}$ \\ \hline
607− \texttt{+} & Addition & $\forall \alpha. \; \strOrNum \sim \alpha \Rightarrow \alpha \rightarrow \alpha \rightarrow \alpha$ \\ \hline
608− \texttt{-} & Subtraction & $\text{Number} \rightarrow \text{Number} \rightarrow \text{Number}$ \\ \hline
609− \texttt{*} & Multiplication & $\text{Number} \rightarrow \text{Number} \rightarrow \text{Number}$ \\ \hline
610− \texttt{/} & Division & $\text{Number} \rightarrow \text{Number} \rightarrow \text{Number}$ \\ \hline
611− \texttt{\&\&} & Boolean ``and'' & $\text{Bool} \rightarrow \text{Bool} \rightarrow \text{Bool}$ \\ \hline
612− \texttt{||||} & Boolean ``and'' & $\text{Bool} \rightarrow \text{Bool} \rightarrow \text{Bool}$ \\ \hline
613− \texttt{->} & Implication & $\text{Bool} \rightarrow \text{Bool} \rightarrow \text{Bool}$ \\ \hline
614− \texttt{//} & Attribute set update & $ \forall \alpha \beta \gamma. \; \alpha \update \beta \sim \gamma \Rightarrow \alpha \rightarrow \beta \rightarrow \gamma$ \\ \hline
615− \end{tabular}
616− \label{tbl:allOperators}
617−\end{table*}
618−
619−\subsection{Addition} \label{sec:addition}
620−
621−Among all operators, addition (\texttt{+}) has semantics that stand out from the rest: addition can be applied to either two \texttt{Number} operands or two \texttt{String} operands. All other operands are monomorphic in that they can only be applied to two operands of a predefined type. In that sense addition in polymorphic.
622−
623−Since our current implementation does not support sum types (see section~\ref{sec:sumTypes} for more detail), it is non-trivial to encode the type of addition in our current type system. We wanted to encode the type without having to resort to extending the type system too much (without implementing sum types).
624−
625−The simplest approach is to introduce a simple predicate which is satisfied only if the argument is either of type \texttt{Number} or \texttt{String}:
626−
627−\begin{equation}
628− \strOrNum \sim \alpha
629−\end{equation}
630−
631−With this predicate the type of the addition operator (\texttt{+}) now becomes:
632−
633−\begin{equation}
634− \forall \alpha. \; \strOrNum \sim \alpha \Rightarrow \alpha \rightarrow \alpha \rightarrow \alpha
635−\end{equation}
636−
637−\subsection{Typing rules}
638−
639−What follows is a formal description of the developed type system. For brevity we have omitted rules for typing literal constant values described in tables \ref{tab:atomicTypes} and \ref{tbl:staticTypes}, and most operators described in table~\ref{tbl:allOperators} as those rules are trivial.
640−
641−\subsubsection{Lists}
642−
643−After doing an informal analysis of existing Nix codebases we have concluded that it is not idiomatic to have heterogeneous lists in Nix. Thus, we have chosen to enforce homogenous lists in our static type system:
644−
645−\begin{equation}
646− \trfrac
647− {\Gamma \vdash e_1:\tau \quad \cdots \quad \Gamma \vdash e_n:\tau}
648− {\Gamma \vdash [e_1 \; \cdots \; e_n ] : [\tau]}
649−\end{equation}
650−
651−\begin{equation}
652− \trfrac
653− {\Gamma \vdash e_1:[\tau] \qquad \Gamma \vdash e_2 : [\tau]}
654− {\Gamma \vdash (e_1 +\!\!+ \: e_2) : [\tau]}
655−\end{equation}
656−
657−\subsubsection{Lambda abstractions}
658−
659−Typing rules for both lambda abstraction definitions and application is common among type system derived from Hindley-Milner:
660−
661−\begin{equation}
662− \trfrac
663− {\Gamma \vdash e_1:\tau_1 \rightarrow \tau_2 \qquad \Gamma \vdash e_2 : \tau_1}
664− {\Gamma \vdash (e_1 \; e_2) : \tau_2}
665−\end{equation}
666−
667−\begin{equation}
668− \trfrac
669− {\Gamma, \text{x}: \tau_1 \vdash e : \tau_2}
670− {\Gamma \vdash (\text{x: } e) : \tau_1 \rightarrow \tau_2}
671−\end{equation}
672−
673−\subsubsection{Addition}
674−
675−The rationale for having a special case for the addition operator is layed out in section~\ref{sec:addition}:
676−
677−\begin{equation}
678− \trfrac
679− {\Gamma \vdash e_1:\tau \qquad \Gamma \vdash e_2 : \tau \qquad \Gamma \vdash (\text{String} || \text{Number}) \sim \tau}
680− {\Gamma \vdash (e_1 + e_2) : \tau}
681−\end{equation}
682−
683−\subsubsection{Conditional expressions}
684−
685−Conditionals are also very similar to what is described in the Hindley–Milner type system:
686−
687−\begin{equation}
688− \trfrac
689− {\Gamma \vdash e_1 : \text{Bool} \qquad \Gamma \vdash e_2 : \tau \qquad \Gamma \vdash e_3 : \tau}
690− {\Gamma \vdash (\text{if} \; e_1 \; \text{then} \; e_2 \; \text{else} \; e_3) : \tau}
691−\end{equation}
692−
693−\subsubsection{\texttt{let}-generalization}
694−
695−Just like in many functional type systems, our type system will support let-generalization -- constants bound in a \texttt{let} expression are generalized as much as possible. All free type variables that were defined while inferring an expression are closed over.
696−
697−A simple version of rule is as follows:
698−
699−\begin{equation} \label{eq:letGeneralization}
700− \trfrac
701− {\Gamma \vdash e_1 : \tau_1 \qquad \Gamma, (\text{x}: \forall \{\text{ftv}(\tau_1) - \text{ftv}(\Gamma)\}. \; \tau_1) \vdash e_2 : \tau_2}
702− {\Gamma \vdash (\text{let} \; \text{x = } e_1; \; \text{in} \; e_2) : \tau_2}
703−\end{equation}
704−
705−where $\text{fvt}(\alpha)$ is the set of all free variables that occur in $\alpha$.
706−
707−Of course, this does not cover all possible syntactic constructs -- it is only concerned with inferring a single declaration. It is trivially extendable to a series of independent declarations. Inferring recursive declarations is discussed in section~\ref{sec:recLet}.
708−
709−Inferring \emph{let expressions} trivially extends to inferring fields of \emph{attribute sets} and is omitted for brevity.
710−
711−\subsubsection{Instantiation}
712−
713−When using expressions with generalized types, we need to instantiate theme to concrete types:
714−
715−\begin{equation}
716− \trfrac
717− {\Gamma \vdash e : \forall \alpha. \; \tau_1}
718− {\Gamma \vdash e: [\alpha \rightarrow \tau_2] \tau_1}
719−\end{equation}
720−
721−where $[\alpha \rightarrow \beta]\gamma$ denotes the result of substituting all free occurrences of $\alpha$ in $\gamma$ with $\beta$.
722−
723−\subsubsection{Attribute sets}
724−
725−Basic \emph{attribute set} operations are now trivially expressible through the predicate defined in section~\ref{sec:attrSetPred}:
726−
727−\begin{equation}
728− \trfrac
729− {\Gamma \vdash e_1 : \tau_1 \qquad \Gamma \vdash e_2 : \tau_2 \qquad \Gamma \vdash \tau_1 \update \tau_2 \sim \tau_3}
730− {\Gamma \vdash (e_1 \update e_2) : \tau_3}
731−\end{equation}
732−
733−\begin{equation}
734− \trfrac
735− {\Gamma \vdash e.\text{x} = \tau}
736− {\Gamma \vdash (e.\text{x}) : \tau}
737−\end{equation}
738−
739−\begin{equation}
740− \trfrac
741− {\Gamma \vdash e_2 : \tau \qquad \Gamma \vdash e_1 \optDot \text{x} = \tau}
742− {\Gamma \vdash (e.\text{x} \; \text{or} \; e_2) : \tau}
743−\end{equation}
744−
745−\begin{equation}
746− \trfrac
747− {\Gamma \vdash e \optDot \text{x} = \tau}
748− {\Gamma \vdash (e \; \text{?} \; \text{x}) : \text{Bool}}
749−\end{equation}
750−
751−When defining typing rules for \emph{attribute sets} we will use the notion of rows similar to what is used in the \emph{Rose} paper~\cite{morris2019abstracting}: for typing purposes an attribute set will be defined as a product of a set of \emph{rows} – key-value pairs: $\Pi \xi$ where $\xi$ is a set of \emph{rows}.
752−
753−A key-value pair will be denoted as $\text{x} = \alpha$ where `x' is the name of a field and $\alpha$ is the type of the field.
754−
755−Of course, a \emph{set of rows} can not contain multiple \emph{rows} with the same key.
756−
757−With that we can define how those predicate are actually satisfied:
758−
759−\begin{equation}
760− \trfrac
761− {(\text{x} = \tau) \in \xi}
762− {(\Pi \xi).\text{x} = \tau}
763−\end{equation}
764−
765−\begin{equation}
766− \trfrac
767− {\text{x} \notin \xi}
768− {(\Pi \xi) \optDot \text{x} = \tau}
769−\end{equation}
770−
771−\begin{equation}
772− \trfrac
773− {\Gamma \vdash \tau_1.\text{x} = \tau_2}
774− {\Gamma \vdash (\tau_1 \optDot \text{x}) = \tau_2}
775−\end{equation}
776−
777−where $(\text{x} = \tau) \in \xi$ denotes the presence of the \emph{row} $(\text{x} = \tau)$ in the \emph{set} $\xi$, and $\text{x} \notin \xi$ denotes the absence of a \emph{row} with the key `x' in the \emph{set} $\xi$.
778−
779−The definition of the ``update'' predicate uses standard set comprehension notation:
780−
781−\begin{equation}
782− \trfrac
783− {}
784− {\Pi \xi_1 \update \Pi \xi_2 \sim \Pi (\xi_2 \cup \{a = \tau || (a = \tau) \leftarrow \xi_1, a \notin \xi_2\})}
785−\end{equation}
786−
787−\subsubsection{with expressions} \label{sec:withExprType}
788−
789−\emph{with expressions} discussed in section~\ref{sec:withExp} are not difficult to define a typing rule for:
790−
791−\begin{equation}
792− \trfrac
793− {\Gamma \vdash e_1: \Pi \xi \qquad \Gamma, \xi \vdash e_2 : \tau}
794− {\Gamma \vdash (\text{with } e_1\text{; } e_2) : \tau}
795−\end{equation}
796−
797−\emph{with expressions} do, however, pose a particularly hard problem when implementing the type system – we can't always statically know the fields in $e_1$ -- it can be passed in as a function argument. This means that the typing environment of a function can depend on its argument. Implementing this in a wholistic manner would require our type system support a form of dependent types. That is not a direction we want to pursue -- introducing dependent types would greatly complicate the type system to a point where automated type inference would not practical and the type system would be a lot harder to work with.
798−
799−Instead, we opted to define a heuristic which in our testing was proven to cover most practical cases: when encountering a variable in the body of a \emph{with expression}:
800−
801−\begin{enumerate}
802− \item if a variable was defined in the body of the with expression and is in scope, return that type
803− \item if the \emph{attribute set} from the \emph{with expression} is statically known and defined a key with the appropriate name then return that types
804− \item if the \emph{attribute set} from the \emph{with expression} is not statically known and the outer context of the \emph{with expression} contains a variable with the appropriate name, return that type
805− \item else, create a constraint that the first operand in the \emph{with expression} contains a field with the appropriate name and type
806−\end{enumerate}
807
411
808\section{Implementation} \label{sec:implementation}
412\section{Implementation} \label{sec:implementation}
809
413
810−In this section we will explore the techniques employed in our implementation~\cite{github-source} of our type system. It is implemented in the \emph{Haskell}\footnote{\url{https://www.haskell.org}} programming language.
414+\section{Conclusion}
811−
812−% \subsubsection{Effects}
813−
814−% Our implementation uses the \emph{freer-simple}\footnote{\url{https://github.com/lexi-lambda/freer-simple}} library as the effects system.
815−
816−% The
817−
818−% \begin{code}
819−% type InferEffs =
820−% !! [ Fresh,
821−% Reader SrcSpan,
822−% Writer (SrcSpan, Errors),
823−% Writer PredicateError,
824−% Writer Pred,
825−% State (MKM.Map Pred),
826−% VariableMapEff,
827−% Writer UnifyingError,
828−% Writer InferError,
829−% State Substitution,
830−% TreeTracer
831−% ]
832−% \end{code}
833−
834−\subsection{Effect system}
835−
836−\subsubsection{Monad transformers}
837−
838−Developing a typechecker requires working with a large amount of non-trivial algorithms which influence each other in complex ways. A widespread way of dealing with such situations is introducing a common computational environment through which different parts of the program can interact (instead of ``manually'' passing state around). A well-established way of handling state in purely functional programming languages is the \emph{Monad} abstraction~\cite{moggi1988computational}.
839−
840−It is natural to want to abstract the underlying monad – explicitly declare what features a function actually needs the monad to have. Furthermore, it is desireable to decompose the features of the a monad not only in function definitions, but also at the call site – it is desireable to be able to conjure up monads with desireable traits in an ad-hoc manner. This has been achieved a while ago with \emph{monad transformers}~\cite{liang1995monad}.
841−
842−A drawback of monad transformers is their somewhat rigid nature – every behavior a monad needs to have needs to be defined as a distinct transformer with appropriate instances. The instances need to not only implement the desired behavior, but also explicitly ``pass through'' \emph{all} other effects that it might be used in combination with. This means that adding extra behavior leads to a large amount of boilerplate. Furthermore, monads themselves (monad transformers) are not in general composable, leading to a whole other set of problems. In addition, it is cumbersome to locally change parts of the underlying implementation of a monad dynamically – it might be useful to tweak some behavior in only a part of an algorithm, leaving the rest to the abstract implementation; monad transformers don't really have such capabilities.
843−
844−\subsubsection{Free monad extensible effects}
845−
846−Recently a new approach to effect systems has been getting more attention – \emph{free monads algebraic effects}~\cite{kiselyov2015freer, ploeg2014reflection, kiselyov2013extensible}. This approach solves the problems with monad transformers mentioned above. Rather than being transformers, effects are described as \emph{functors}. The composability problem is resolved due to functors being in general composable. Contrary to how monad transformers operate, effects (or their carriers) in \emph{free monads algebraic effects} (we will from now on refer to them as just \emph{algebraic effects}) don't have any particular interpretation of the effect associated with them. Effects are interpreted in an ad-hoc manner at the call site. Furthermore, this allows us to dynamically modify the behavior of effects without changing the types or implementations of functions we wish to change the behavior of.
847−% How we use \emph{algebraic effects} will be discussed in more detail in section~\ref{sec:implementation}.
848−
849−\subsection{Substitutions}
850−
851−\subsubsection{Substitutions in other implementations}
852−
853−In most typechecker implementations a substitution is a mapping from \emph{type variables} to \emph{types}. These substitutions are usually generated during the unification of type constraints and are, in general, applied to types as soon as they are available.
854−
855−The notion of substitution composition is usually taken to mean a binary operation which produces a new substitution that when applied (|sub|) to a type would produce the same result as sequentially applying the two source substitutions:
856−
857−\begin{code}
858−sub (s1 . s2) = sub s1 . sub s2
859−\end{code}
860−
861−\subsubsection{Substitutions in our implementation}
862−
863−In our implementation the application of substitutions is delayed as much as possible. They are applied in exactly two cases:
864−
865−\begin{enumerate}
866− \item Right before unifying a constraint
867− \item Right before closing over a type
868−\end{enumerate}
869−
870−This choice has several implications. Firstly, we can never have conflicting ``keys'' in substitutions (which is not the case in other implementations). Using this information we can define stronger substitution composition:
871−
872−\begin{code}
873−newtype Substitution = Substitution
874− {unSubstitution :: Map TypeVariable NType}
875−
876−instance Semigroup Substitution where
877− a'@(Substitution a) <> b'@(Substitution b) =
878− Substitution $ M.unionWith undefined
879− (fmap (sub b') a)
880− (fmap (sub a') b)
881−\end{code}
882−
883−
884−This means that the order of composition does no longer matter, and applying the composition of substitutions yields more information than applying them sequentially.
885−
886−Another consequence of the decision to delay substitutions is that now the role of the |infer| step of typechecking only does the following three things:
887−
888−\begin{enumerate}
889− \item returns a type variable that represents the type of the expression being inferred
890− \item emits constraints generated during inferring
891− \item emits predicates generated during inferring
892−\end{enumerate}
893−
894−\subsection{Typing context}
895−
896−The typing context in our implementation, in essence, consists of two distinct data structures:
897−
898−\begin{enumerate}
899− \item the types of variables currently in scope
900− \item the predicates which are applicable to those types
901−\end{enumerate}
902−
903−\subsubsection{Variables in scope}
904−
905−Note that in practice, the ``variables in scope'' data structure only needs to contain type variables since we apply substitutions as late as possible.
906−
907−In actual fact, due to the heuristics described in section~\ref{sec:withExprType}, the types of variables in scope can not be represented as a static data structure but rather is implemented as a scoped effect\footnote{Effects in our case are implemented using the \emph{freer-simple} library: \url{https://github.com/lexi-lambda/freer-simple}}:
908−
909−\begin{code}
910−data VariableMapEff x where
911− LookupVariable
912− :: VarName
913− -> VariableMapEff (Maybe Scheme)
914−
915−lookupVar
916− :: Member VariableMapEff eff
917− => VarName -> Eff eff (Maybe Scheme)
918−lookupVar = send . LookupVariable
919−\end{code}
920−
921−This allows us to dynamically redefine what it means to look up a variable in terms of its implementation in the outer context.
922−
923−\subsubsection{Predicates}
924−
925−Predicates can, on the other hand, be stored as a static data structure. The only non-standard behavior is that the set of predicates needs to be queried and manipulated based on the types that they contain rather than on the predicates themselves.
926−
927−For this reason, we have developed a data structure we call ``multi-keyed map''.
928−
929−\begin{code}
930−class (Ord (Key t), Ord t) => Keyable t where
931− type Key t :: Type
932− getKeys :: t -> [Key t]
933−
934−data MultiKeyedMap t = MultiKeyedMap
935− (M.Map (Key t) (S.Set t)) (S.Set t)
936−\end{code}
937−
938−The data structure is the product of two other data structures:
939−
940−\begin{enumerate}
941− \item A map, mapping possible keys of the stored |t| to a set of values that contain the given key
942− \item A set that contains the values that don't contain any keys
943−\end{enumerate}
944−
945−The |Keyable| typeclass is used to extract the keys from the values that need to be stored.
946−
947−The union of two maps is defined trivially -- by taking the union of the inner structures:
948−
949−\begin{code}
950−instance (Ord (Key t), Ord t)
951− => Semigroup (MultiKeyedMap t) where
952− (MultiKeyedMap x x') <> (MultiKeyedMap y y') =
953− MultiKeyedMap
954− (M.unionWith S.union x y) (x' <> y')
955−\end{code}
956−
957−Creating a singleton map from a single values is defined like so:
958−
959−\begin{code}
960−singleton :: Keyable t => t -> MultiKeyedMap t
961−singleton t = case getKeys t of
962− [] -> MultiKeyedMap M.empty (S.singleton t)
963− ks@(_ : _) -> MultiKeyedMap
964− (M.fromList $ fmap (,s) ks) S.empty
965− where
966− s = S.singleton t
967−\end{code}
968−
969−With these operations defining the |insert| operation becomes trivial:
970−
971−\begin{code}
972−insert
973− :: Keyable t
974− => t -> MultiKeyedMap t -> MultiKeyedMap t
975−insert t m = m <> singleton t
976−\end{code}
977−
978−Now we come to the lookup operation. Note that the algorithmic complexity of querying the predicates by a type they contain is now the cost of an ordinary map lookup -- $O(log(n))$ where $n$ is the number of values contained in the map (in our case the number of all types referenced from within the predicates):
979−
980−\begin{code}
981−lookup
982− :: Keyable t
983− => Key t -> MultiKeyedMap t -> S.Set t
984−lookup k (MultiKeyedMap m _) =
985− fromMaybe S.empty $ M.lookup k m
986−\end{code}
987−
988−\subsection{Closing over type variables}
989−
990−An observation we can make is the following: it only makes sense to close over the type variables that were generated during the inference of the type we are closing over. Any other type variables either:
991−
992−\begin{enumerate}
993− \item are not present in the type
994− \item are used in an outer lexical scope (environment)
995−\end{enumerate}
996−
997−This greatly simplifies implementing the typing rule~\ref{eq:letGeneralization} since instead of having to calculate a set of free type variables of the whole context, we only need to obtain a predicate that identifies if a type variable was introduced during the inference of an expression. This is made even easier if type variables are internally represented as integers, as they often are.
998−
999−In our case, this is complicated by the fact that we need to introduce type variables which are fields of an \emph{attribute set} from an outer lexical scope. This is problematic because while the type variable can be defined during inference, it is actually logically defined at the same position as the initial \emph{attribute set}; it has the same lexical scope as the \emph{attribute set}. So, the lexical scope of a type variable can not be derived from the inference context of an expression.
1000−
1001−A solution we came up with is to have two ways a type variable can be constructed -- as an ordinary type variable backed by a single integer or as a sub-type variable that has the same lexical scope as another type variable:
1002−
1003−\begin{code}
1004−data TypeVariable
1005− = TypeVariable Int
1006− | SubTypeVariable Int Int
1007−\end{code}
1008−
1009−This way, when applying a predicate to check the lexical scope of a type variable, we can always restrict ourselves to the first integer.
1010−
1011−\section{Evaluation of our implementation}
1012−
1013−In this section, we will examine how our implementation of the typechecker behaves on real input.
1014−
1015−\subsection{Evaluating nixpkgs}
1016−
1017−To evaluate our typechecker implementation~\cite{github-source}, we collected \emph{Nix} source files from the largest \emph{Nix} package repository – \emph{nixpkgs}\footnote{\url{https://github.com/NixOS/nixpkgs}}. Due to our current implementation not supporting file imports (file imports are the responsibility of the system calling the typechecker, not the type checker itself), the files were filtered down to those that do not contain import statements.
1018−
1019−Running our typechecker on the test set of \emph{Nix} source files results in \emph{1963} out of \emph{2948} (67\%) typechecking with no type errors.
1020−
1021−We believe this is a very good result since the files were not prepared in any way and were taken as-is from the package repository. Furthermore, it is important to note that rejecting a portion of ``valid'' programs is an unavoidable property of static typecheckers.
1022−
1023−We would also like to point out that even in those cases when type errors were encountered during typechecking, the typechecker still produces output types that can be useful to the developer and can be used for further typechecking of larger expressions (though providing fewer guarantees).
1024−
1025−\subsection{Evaluating common expressions}
1026−
1027−We will now examine a few language constructs to see how our typechecker handles them and what errors it can detect.
1028−
1029−\subsubsection{Script interpreters}
1030−
1031−In listing~\ref{lst:interpreters} we present a sample script that demonstrates our type inference algorithm.
1032−
1033−The function \texttt{getScriptInterpreters} takes a single ``package'' structure and returns a list of interpreters used in the scripts of the package. Out type inference algorithm correctly infers the following type of the function:
1034−
1035−\begin{equation}
1036− \forall \alpha \beta \gamma. \; (\alpha. \text{scripts} = [\beta], \beta. \text{interpreter} = \gamma) \Rightarrow \alpha \rightarrow [\gamma]
1037−\end{equation}
1038−
1039−The constant \texttt{package} contains a sample ``package'' structure with three scripts. In real code, the structure would be a lot more complex, but it is simplified for brevity.
1040−
1041−The result of the whole expression (applying \texttt{getScriptInterpreters} to \texttt{package}) is correctly inferred by our type checker to have the type:
1042−
1043−\begin{equation}
1044− [\text{String}]
1045−\end{equation}
1046−
1047−\begin{figure}
1048− \begin{minipage}{\textwidth}
1049− \begin{verbatim}
1050−let getScriptInterpreters = x:
1051− builtins.map
1052− (y: y.interpreter)
1053− x.scripts;
1054− package = {
1055− scripts = [
1056− {interpreter = "bash";}
1057− {interpreter = "zsh";}
1058− {interpreter = "fish";}
1059− ];
1060− };
1061−in getScriptInterpreters package
1062−\end{verbatim}
1063− \end{minipage}
1064− \caption{A sample nix program which gathers all interpreters used by a script in a package.}
1065− \label{lst:interpreters}
1066−\end{figure}
1067−
1068−If a programmer makes a certain class of mistakes when developing the program, our typechecker would report an error. For example, the programmer might forget to access the ``scripts'' field of the package and pass the whole package by accident:
1069−
1070−\begin{verbatim}
1071−getScriptInterpreters =
1072− x: builtins.map (y: y.interpreter) x;
1073−\end{verbatim}
1074−
1075−In that case, when evaluating the whole expression from listing~\ref{lst:interpreters}, he would receive the following error from the typechecker: ``could not match list with type \texttt{\{scripts = [{interpreter = String;}]\}}''. This error is a result of trying to \texttt{map} over an attribute set.
1076−
1077−\subsubsection{Haskell packages}
1078−
1079−In listing~\ref{lst:haskellPackages}, we defined a function \texttt{haskellPackage} that takes parameters for a Haskell package and returns a configuration that might describe how to build the package. Out tool correctly infers the type of the function:
1080−
1081−\begin{equation}
1082− \begin{aligned}
1083− \forall \alpha \beta. \; &
1084− \\ ( & \alpha \optDot \text{compilerFlags} = [\text{String}],
1085− \\ & \alpha \optDot \text{compilerVersion} = \text{String},
1086− \\ & \alpha.\text{src} = \beta)
1087− \\ \Rightarrow & \alpha
1088− \\ \rightarrow & \{ \text{compiler} = \text{String};
1089− \\ & \text{compilerFlags} = [\text{String}];
1090− \\ & \text{src} = \beta; \}
1091− \end{aligned}
1092−\end{equation}
1093−
1094−By the derived type of the function, we can clearly see that the \texttt{compilerFlags} and \texttt{compilerVersion} fields of the input attribute set are optional.
1095−
1096−The result of the whole expression is a list of applications of the \texttt{haskellPackage} function to multiple configurations. Ou implementation correctly infers the following type:
1097−
1098−\begin{equation}
1099− [{\text{compiler} = \text{String}; \text{compilerFlags} = [\text{String}]; \text{src} = \text{String};}]
1100−\end{equation}
1101−
1102−\begin{figure}
1103− \begin{minipage}{\textwidth}
1104− \begin{verbatim}
1105−let haskellPackage = x: {
1106− compiler = "ghc" + (x.compilerVersion or "900");
1107− inherit (x) src;
1108− compilerFlags = x.compilerFlags or ["-O3" "-j"];
1109−};
1110−in [
1111− (haskellPackage {
1112− src = ./project-m36;
1113− compilerVersion = "865";
1114− })
1115− (haskellPackage {
1116− src = ./pandoc;
1117− compilerFlags = ["-static"];
1118− })
1119−]
1120− \end{verbatim}
1121− \end{minipage}
1122− \caption{A sample nix program which defined several haskell packages..}
1123− \label{lst:haskellPackages}
1124−\end{figure}
1125−
1126−A mistake that is easy to make here is to forget to quote the \texttt{compilerVersion} field, leading to the type being `Number' instead of `String'. In that case, our implementation will convey exactly that in an error.
1127−
1128−Another common mistake is specifying the \texttt{compilerFlags} field as a single `String' instead of a list. In that case, our implementation will emit an appropriate error without the need to execute the expression.
1129−
1130−\section{Possible improvements}
1131−
1132−\subsection{Making predicates more user-friendly}
1133−
1134−\subsubsection{A novel technique}
1135−
1136−The reader might observe that, although the predicates have a parallel with the Nix term syntax, visually parsing predicates and mentally applying them to the specified type variables can be difficult even in such simple examples. Here we will explore a technique that can be used to make these predicates easier for the programmer to work with.
1137−
1138−The technique is based on the fact that a type variable by itself can only convey the following information:
1139−
1140−\begin{enumerate}
1141− \item positional information -- a specific position in a type
1142− \item identity information -- the type variable is equivalent to other type variables with the same name within the scope where it is declared
1143−\end{enumerate}
1144−
1145−Note that all of what follows is only concerned with syntactic constructs. It does in no way alter the semantic of the predicates described above.
1146−
1147−We would like to point out that all of the predicates have an operand which is the ``result'' of the predicate -- a single type variable that is said to be equivalent to a more complex expression. That is $\beta$ in predicates \ref{eq:fieldPred} and \ref{eq:optFieldPred}, and $\gamma$ in predicate \ref{eq:upatePred}.
1148−
1149−The observation we need to make is that \emph{referential transparency}\footnote{\url{https://en.wikipedia.org/wiki/Referential_transparency}} is a natural notion in functional programming languages like Nix, and it is natural to replace variables with their definitions. In some sense, the ``results'' of predicates described above can be interpreted as being ``defined'' by the predicate to be ``equal'' to the combination of the other operands and, as such, can be replaced with their definitions.
1150−
1151−This means that we can syntactically replace \emph{type variables} with a portion of a predicate -- replace the variable with the definition. If we apply this technique to the type~\ref{eq:dotExample}, we get the following type:
1152−
1153−\begin{equation}
1154− \forall \alpha. \; \alpha \rightarrow \alpha.\text{y}
1155−\end{equation}
1156−
1157−When applied to the type~\ref{eq:updatePredExample}, it yields:
1158−
1159−\begin{equation}
1160− \forall \alpha \beta. \; \alpha \rightarrow \beta \rightarrow (\alpha \update \beta)
1161−\end{equation}
1162−
1163−We believe the derived types above are a lot easier to understand than their initial counterparts.
1164−
1165−\subsubsection{Implementation notes}
1166−
1167−For practical reasons, when applying the technique, there should be a threshold that limits the syntactic complexity of types that can be ``inlined''. This is due to the types being potentially as big as literals in the source expressions.
1168−
1169−The complexity of types should also be used as a heuristic in cases where there are multiple potential ``definitions'' for the same type variable – it is preferable to use the ``definitions'' with the lowest syntactic complexity as it leads to simpler types.
1170−
1171−\subsubsection{Limitations}
1172−
1173−The technique is not applicable if the ``result'' of a predicate is not a type variable like in type \ref{eq:optFieldPredExample2}.
1174−
1175−Another limitation is that we can not remove predicates if their ``result'' type variable is not present in the head of the type like in type \ref{eq:optFieldPredExample}, since we would be losing typing information by doing so.
1176−
1177−\subsection{Type hints}
1178−
1179−Dynamic types in Nix contain more information than our static type system can convey. A usability improvement to provide more utility to the programmer might be to allow extra information to be tagged onto type information and propagated during type inference. This information would not influence the typechecking algorithm in any way. It would only provide utility to the person reading the resulting types or to external tools.
1180−
1181−Some information that might be useful as type hints:
1182−
1183−\begin{enumerate}
1184− \item The dynamic type of strings (URI, Path, etc.) – useful information for the programmer
1185− \item Programmer-supplied annotations. When writing nix expressions, it is common practice to have a program in some other programming language embedded in Nix as a string literal. It would be useful to propagate information about the underlying programming language to aid IDEs -- they could enable special syntax highlighting and linting based on the programming language.
1186−\end{enumerate}
1187−
1188−\subsection{Sum types} \label{sec:sumTypes}
1189−
1190−In our static type system, we introduced a ``special case'' for the \emph{addition operator} as it could be applied to a number of different types.
1191−
1192−The idea of this improvement is to generalize the case and allow the type system to handle arbitrary sums of arbitrary types. This can be implemented as a predicate stating that a type variable can be a certain type:
1193−
1194−\begin{equation}
1195− \alpha \lessdot \beta
1196−\end{equation}
1197−
1198−where $\beta$ can be the type $\alpha$. With this predicate, our ``String or Number'' predicate can be expressed like so:
1199−
1200−\begin{equation}
1201− \strOrNum \sim \alpha = (\text{String} \lessdot \alpha, \text{Number} \lessdot \alpha)
1202−\end{equation}
1203
415
1204−\section*{Conclusion}
416+Nix is a rapidly growing ecosystem. At the time of writing, nixpkgs, the Nix package registry, contains over 60000 packages\footnote{\url{https://github.com/NixOS/nixpkgs}} that can be either installed or used as dependencies in other projects. There is much interest in the approach used by Nix, and making the ever-growing codebase of configurations easier to manage and extend would be a welcome development.
1205
417
1206−In this paper, we have examined the existing approaches which have been used in developing type systems for functional programming languages. We have then adapted the existing approaches and developed a new static type system for the Nix Expression Language. We have also developed a preliminary implementation of our type system, which we tested on an existing codebase. We have also outlined further practical improvements to our implementation, which could improve the developer experience.
418+Even though the developed type checker will need to check code for an existing dynamic language, and no type checker can cover all of the valid cases, producing false negatives, covering most of the cases encountered in practice would be useful enough to be worth using. Furthermore, plenty of research has already been conducted on which the Nix Expression Language type checker can be based.
1207
419
1208\newpage
420\newpage
1209
421
1210−\bibliographystyle{IEEEtran}
422+\bibliographystyle{gost2008}
1211\bibliography{bibl}
423\bibliography{bibl}
1212
424
1213−% \registrationList
425+\registrationList
1214
426
1215\end{document}
427\end{document}
docs/pres_2/img/ter.png

Binary file not shown.

docs/pres_2/pres.md+52−52
@@ -20,9 +20,8 @@ _Supervisor:_ Victor Kuliamin, Associate Professor, PhD
20
20
21---
21---
22
22
23−## Nix is a powerful package manager that makes package management reliable and reproducible.
23+> Nix is a powerful package manager that makes package management reliable and reproducible.
24−
25−#### – [nixos.org](https://nixos.org)
24+-- [nixos.org](https://nixos.org)
26
25
27---
26---
28
27
@@ -66,12 +65,10 @@ in derivation {
66
65
67---
66---
68
67
69−[.text: text-scale(0.55)]
68+[.text: text-scale(0.75)]
70
69
71# Terms and definitions
70# Terms and definitions
72
71
73−**Type** – an attribute of data which tells the compiler or interpreter how the programmer intends to use the data
74−
75**Type system** – a logical system comprising a set of rules that assigns a property called a type to the various constructs of a computer program
72**Type system** – a logical system comprising a set of rules that assigns a property called a type to the various constructs of a computer program
76
73
77**Type checking** – the process of verifying and enforcing the constraints of types.
74**Type checking** – the process of verifying and enforcing the constraints of types.
@@ -105,14 +102,14 @@ Adding static typing would:
105- Increase reliability of code
102- Increase reliability of code
106- Lower costs of development (resolving issue earlier is cheaper)
103- Lower costs of development (resolving issue earlier is cheaper)
107
104
108−<!-- _The typechecker should help find issues in existing code_ -->
105+_The typechecker should help find issues in existing code_
109
106
110---
107---
111
108
112# The goal
109# The goal
113
110
114−1. Develop a static type system for the existing Nix expression language
111+1. Develop a type static system for the existing Nix expression language
115−2. Develop a type checker for this static type system
112+2. Develop a type checker for this type system
116
113
117---
114---
118
115
@@ -132,48 +129,31 @@ The Hindley–Milner type system_[1]_ is a simple, but well-studied type system
132
129
133---
130---
134
131
135−# Methods and algorithms
132+# Functional requirements
136
133
137−The developed type system is heavily influenced by the Hindley–Milner_[1]_ type system.
134+- The system should perform type checking on expression.
138
135
136+- The system should analyze the types and presence of attributes in attribute sets.
139
137
140−---
138+- The system should report encountered typechecking.
141
139
142−# Methods and algorithms
140+- The system should report the use of undefined terms.
143
141
144−The developed type system supports parametric polymorphism to support code that does not require a specific type.
142+- The system should report the resulting types of expressions to the user.
145−
146−```nix
147−x: y: x ++ y
148−```
149−
150−```
151−∀ α. [α] -> [α] -> [α]
152−```
153
143
154---
144---
155
145
156−# Methods and algorithms
146+[.text: text-scale(0.85)]
157−
158−The developed type system implements row polymorphism to work with attribute sets.
159
147
160−```nix
148+# Methods and algorithms
161−x: x.v + 69
162−```
163
149
164−```
150+The type system will be heavily influenced by the Hindley–Milner_[1]_ type system.
165−∀ α. (α.v = Number) => α -> Number
166−```
167
151
168−<br />
152+The type system will implement parametric polymorphism to support code that does not require a specific type.
169
153
170−```nix
154+The type system will implement arbitrary-ranked polymorphism_[3]_ with deep instantiation to disambiguate types in existing untyped code.
171−x: x // {v = "hello";}
172−```
173
155
174−```
156+The type system will implement row polymorphism to work with attribute sets.
175−∀ α β. (α // {v = String;} ~ β) => α -> β
176−```
177
157
178---
158---
179
159
@@ -197,28 +177,49 @@ The typechecker is implemented in a two-step architecture:
197
177
198---
178---
199
179
200−# Results
180+# Current results
201
181
202−- Theoretical
182+A typechecker executable that successfully typechecks _most_ of the selected files from _nixpkgs_.
203− - A static type system for the Nix Expression Language
204
183
205−- Practical
184+The typechecker currently has some support for all language constructs.
206
185
207− - A typechecker executable that successfully typechecks _most_ of the selected files from _nixpkgs_.
186+![.right .fit](img/ter.png)
208
187
209− - The typechecker supports all language constructs.
188+---
210
189
190+[.build-lists: false]
191+
192+# Current results
193+
194+## Paper status
195+
196+1. Nix Expression Language (80%)
197+2. Existing typecheckers (100%)
198+3. Existing approaches (100%)
199+4. Architecture (20%)
200+5. Implementation (0%)
201+6. Conclusion (60%)
202+
211−![.right .fit](img/ter.png)
203+![.right .fit](img/paper.png)
204+
205+---
206+
207+# What is left
208+
209+- Better type rendering (predicates)
210+- Subsumption
211+- A lot of minor big fixes in type inference
212+- Add type information about built-in functions
212
213
213---
214---
214
215
215# Potential future developments
216# Potential future developments
216
217
217- Add support for user-supplied type annotations.
218- Add support for user-supplied type annotations.
219+ - Fork parser
220+ - Bidirectional type inference_[4]_
218- Type holes
221- Type holes
219- Language Server Integration
222- Language Server Integration
220−- Better type rendering
221−- Sum types
222
223
223---
224---
224
225
@@ -227,10 +228,9 @@ The typechecker is implemented in a two-step architecture:
227
228
228# References
229# References
229
230
230−1. L. Damas and R. Milner, “Principal type-schemes for functional pro- grams,” in Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, 1982, pp. 207–212.
231+1. Damas L., Milner R. Principal type-schemes for functional programs //Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages. – 1982. – С. 207-212.
231−2. E. Dolstra and A. Loh, “Nixos: A purely functional linux distribution,” in Proceedings of the 13th ACM SIGPLAN international conference on Functional programming, 2008, pp. 367–378.
232+2. Jones S. P. et al. Practical type inference for arbitrary-rank types //Journal of functional programming. – 2007. – Т. 17. – №. 1. – С. 1-82. MLA
232−3. J. G. Morris and J. McKinna, “Abstracting extensible data types: or, rows by any other name,” Proceedings of the ACM on Programming Languages, vol. 3, no. POPL, pp. 1–28, 2019.
233+3. Stuckey P. J., Sulzmann M., Wazny J. Improved inference for checking type annotations //arXiv preprint cs/0507036. – 2005. MLA
233−4. D. Leijen, “Extensible records with scoped labels.” Trends in Functional Programming, vol. 6, pp. 179–194, 2005.
234
234
235---
235---
236
236
@@ -347,7 +347,7 @@ let f = x: x.a; in f {b = "hello";}
347```
347```
348
348
349```
349```
350−Error: key "a" not present in { b = String; }
350+Error: key "a" NotPresent in { b = String; }
351```
351```
352
352
353---
353---
docs/trfrac.stydeleted−193
@@ -1,193 +0,0 @@
1−%%
2−%% This is file `trfrac.sty',
3−%% generated with the docstrip utility.
4−%%
5−%% The original source files were:
6−%%
7−%% trfrac.dtx (with options: `file')
8−%%
9−%% This is a generated file.
10−%%
11−%% Copyright (C) 2009 by Kevin W. Hamlen
12−%%
13−%% This file may be distributed and/or modified under the conditions of
14−%% the LaTeX Project Public License, either version 1.3a of this license
15−%% or (at your option) any later version. The latest version of this
16−%% license is in:
17−%%
18−%% http://www.latex-project.org/lppl.txt
19−%%
20−%% and version 1.3a or later is part of all distributions of LaTeX version
21−%% 2004/10/01 or later.
22−%%
23−\newdimen\trtopgap\trtopgap\z@
24−\newdimen\trbotgap\trbotgap\z@
25−\newcommand\TRF@startp{31415926}
26−\newcommand\TRF@endp{27182818}
27−\newif\ifTRF@first
28−\newif\ifTRF@outer\TRF@outertrue
29−\newif\ifTRF@derivok\TRF@derivoktrue
30−\newdimen\TRF@lhang\TRF@lhang\z@
31−\newdimen\TRF@rhang\TRF@rhang\z@
32−\newdimen\TRF@lsave
33−\newdimen\TRF@ni
34−\newdimen\TRF@bi
35−\newdimen\TRF@bw
36−\newbox\TRF@numbox
37−\newbox\TRF@denombox
38−\newbox\TRF@eqbox
39−\newcommand\TRF@trfrac[3]{%
40− \begingroup%
41− \ifnum\lastpenalty=\TRF@startp\relax%
42− \TRF@firsttrue%
43− \else%
44− \TRF@firstfalse%
45− \fi%
46− \TRF@lsave\TRF@lhang%
47− \setbox\TRF@eqbox\hbox{\TRF@derivokfalse#1}%
48− \ifdim\wd\TRF@eqbox>\z@%
49− \setbox\TRF@eqbox\hbox{\kern\p@\unhbox\TRF@eqbox}%
50− \fi%
51− \TRF@lhang\z@%
52− \setbox\TRF@numbox\hbox{%
53− \TRF@outerfalse%
54− \m@th$\strut%
55− \penalty\TRF@startp\relax%
56− #2%
57− \ifnum\lastpenalty=\TRF@endp\relax\else%
58− \global\TRF@rhang\z@%
59− \fi%
60− $%
61− }%
62− \setbox\TRF@denombox\hbox{%
63− \TRF@derivokfalse%
64− \m@th$\strut#3$%
65− }%
66− \dimen@\wd\TRF@numbox%
67− \advance\dimen@-\TRF@rhang%
68− \TRF@bw\dimen@%
69− \advance\TRF@bw-\TRF@lhang%
70− \ifdim\wd\TRF@denombox>\TRF@bw\TRF@bw\wd\TRF@denombox\fi%
71− \advance\dimen@\TRF@lhang%
72− \advance\dimen@-\wd\TRF@denombox%
73− \TRF@ni\ifdim\dimen@>\z@\z@\else-.5\dimen@\fi%
74− \TRF@bi\TRF@ni%
75− \advance\TRF@bi\TRF@lhang%
76− \TRF@lhang\ifdim\dimen@<\z@\z@\else.5\dimen@\fi%
77− \ifdim\TRF@bi>\TRF@lhang\TRF@bi\TRF@lhang\fi%
78− \TRF@rhang\TRF@ni%
79− \advance\TRF@rhang\wd\TRF@numbox%
80− \dimen@\TRF@bi%
81− \advance\dimen@\TRF@bw%
82− \advance\dimen@\wd\TRF@eqbox%
83− \ifdim\dimen@>\TRF@rhang\TRF@rhang\dimen@\fi%
84− \advance\TRF@rhang-\TRF@lhang%
85− \advance\TRF@rhang-\wd\TRF@denombox%
86− \global\TRF@rhang\TRF@rhang%
87− \mathinner{%
88− \ifTRF@outer%
89− \raise\fontdimen22\textfont\tw@\vtop%
90− \else%
91− \vbox%
92− \fi%
93− {%
94− \offinterlineskip%
95− \hbox{%
96− \vbox{%
97− \dimen@\fontdimen8\textfont\tw@%
98− \advance\dimen@-\fontdimen22\textfont\tw@%
99− \advance\dimen@-.5\fontdimen8\textfont\thr@@%
100− \advance\dimen@-\dp\TRF@numbox%
101− \ifdim\dimen@<3\fontdimen8\textfont\thr@@%
102− \dimen@3\fontdimen8\textfont\thr@@%
103− \fi%
104− \advance\dimen@\trtopgap%
105− \hbox{\kern\TRF@ni\unhbox\TRF@numbox}%
106− \kern\dimen@%
107− \hbox{%
108− \kern\TRF@bi%
109− \vrule\@width\TRF@bw%
110− \@height.5\fontdimen8\textfont\thr@@%
111− \@depth.5\fontdimen8\textfont\thr@@%
112− \vbox{%
113− \dimen@.5\ht\TRF@eqbox%
114− \advance\dimen@.5\dp\TRF@eqbox%
115− \kern-\dimen@%
116− \box\TRF@eqbox%
117− \kern-\dimen@%
118− }%
119− }%
120− }%
121− }%
122− \dimen@\fontdimen11\textfont\tw@%
123− \advance\dimen@\fontdimen22\textfont\tw@%
124− \advance\dimen@-.5\fontdimen8\textfont\thr@@%
125− \advance\dimen@-\ht\TRF@denombox%
126− \ifdim\dimen@<3\fontdimen8\textfont\thr@@%
127− \dimen@3\fontdimen8\textfont\thr@@%
128− \fi%
129− \advance\dimen@\trbotgap%
130− \kern\dimen@%
131− \hbox{\kern\TRF@lhang\box\TRF@denombox}%
132− }%
133− }%
134− \ifTRF@outer\else%
135− \penalty\TRF@endp\relax%
136− \fi%
137− \global\TRF@lhang\ifTRF@first\TRF@lhang\else\TRF@lsave\fi%
138− \endgroup%
139−}
140−\newcommand\trfrac[3][]{%
141− \ifTRF@derivok%
142− \ifmmode%
143− \TRF@trfrac{#1}{#2}{#3}%
144− \else%
145− \TRF@mmerr%
146− \fi%
147− \else%
148− \TRF@derr%
149− \fi%
150−}
151−\newcommand\TRF@mmerr{%
152− \PackageError{trfrac}{\protect\trfrac\space%
153− only allowed in math mode}%
154− {I encountered a \protect\trfrac\space%
155− macro without first encountering a begin-math token.}%
156−}
157−\newcommand\TRF@derr{%
158− \PackageError{trfrac}{\protect\trfrac\space%
159− not allowed in the consequent of another \protect\trfrac}%
160− {\protect\trfrac\space can only appear in the premise (numerator%
161− ) of another \protect\trfrac, not in the consequent (denominator%
162− ) of a \protect\trfrac.}%
163−}
164−\newcommand\TRF@next{}
165−\newcommand\TRF@sep{\futurelet\TRF@next\TRF@@sep}
166−\newcommand\TRF@@sep{%
167− \ifx[\TRF@next%
168− \let\TRF@next\TRF@separg%
169− \else%
170− \let\TRF@next\TRF@sepnoarg%
171− \fi%
172− \TRF@next%
173−}
174−\newcommand\TRF@separg{}
175−\def\TRF@separg[#1]{\cr\noalign{\kern#1}}
176−\newcommand\TRF@sepnoarg{\cr}
177−\newenvironment{trgather}{%
178− \vbox\bgroup%
179− \let\\\TRF@sep%
180− \ialign\bgroup\hfil{\m@th$##$}\hfil\cr%
181−}{%
182− \crcr\egroup\egroup%
183−}
184−\newenvironment{tralign}{%
185− \vbox\bgroup%
186− \let\\\TRF@sep%
187− \ialign\bgroup\hfil{\m@th$##\null$}&{\m@th$\null##$}\hfil\cr%
188−}{%
189− \crcr\egroup\egroup%
190−}
191−\endinput
192−%%
193−%% End of file `trfrac.sty'.
paper.pdfdeleted

Binary file not shown.

src/Tix/Builtins.hsdeleted−68
@@ -1,68 +0,0 @@
1−module Tix.Builtins (builtins) where
2−
3−import Data.Map (Map)
4−import qualified Data.Map as M
5−import Data.Text (Text)
6−import Tix.Types
7−
8−builtins :: Map Text Scheme
9−builtins =
10− M.fromList
11− [ ( "builtins",
12− scheme $
13− NAttrSet $
14− M.fromList
15− [ ("abort", scheme $ NAtomic String :-> deBruijn 0 0),
16− ("add", [StringOrNumber $ deBruijn 2 0] :=> (deBruijn 3 0 :-> (deBruijn 4 0 :-> deBruijn 4 0))),
17− ("all", [] :=> ((deBruijn 4 0 :-> NAtomic Bool) :-> (List (deBruijn 5 0) :-> NAtomic Bool))),
18− ("any", [] :=> ((deBruijn 4 0 :-> NAtomic Bool) :-> (List (deBruijn 5 0) :-> NAtomic Bool))),
19− ("attrNames", [] :=> (deBruijn 3 0 :-> List (NAtomic String))),
20− ("attrValues", [] :=> (deBruijn 3 0 :-> List (deBruijn 0 0))),
21− ("baseNameOf", [] :=> (NAtomic String :-> NAtomic String)),
22− ("bitAnd", [] :=> (NAtomic Number :-> (NAtomic Number :-> NAtomic Number))),
23− ("bitXor", [] :=> (NAtomic Number :-> (NAtomic Number :-> NAtomic Number))),
24− ("bitOr", [] :=> (NAtomic Number :-> (NAtomic Number :-> NAtomic Number))),
25− ("ceil", [] :=> (NAtomic Number :-> NAtomic Number)),
26− ("compareVersions", [] :=> (NAtomic String :-> (NAtomic String :-> NAtomic Number))),
27− ("concatLists", [] :=> (List (List (deBruijn 5 0)) :-> List (deBruijn 4 0))),
28− ("concatMap", [] :=> ((deBruijn 4 0 :-> List (deBruijn 5 1)) :-> (List (deBruijn 5 0) :-> List (deBruijn 5 1)))),
29− ("map", [] :=> ((deBruijn 4 0 :-> deBruijn 4 1) :-> (List (deBruijn 5 0) :-> List (deBruijn 5 1)))),
30− ("catAttrs", [] :=> (NAtomic String :-> (List (deBruijn 0 0) :-> List (deBruijn 0 0))))
31− ]
32− ),
33− ( "derivation",
34− [ deBruijn 2 0
35− // attrSet
36− [ ("all", scheme $ List (deBruijn 5 1)),
37− ("drvAttrs", scheme $ deBruijn 4 0),
38− ("drvPath", string),
39− ("out", scheme $ deBruijn 4 1),
40− ("outPath", string),
41− ("outputName", string),
42− ("type", string)
43− ]
44− $ deBruijn 2 1,
45− deBruijn 2 0 .! ("name", string),
46− deBruijn 2 0 .! ("builder", string),
47− deBruijn 2 0 .! ("system", string),
48− deBruijn 2 0 .? ("args", scheme $ List (NAtomic String)),
49− deBruijn 2 0 .? ("outputs", scheme $ List (NAtomic String))
50− ]
51− :=> (deBruijn 3 0 :-> deBruijn 3 1)
52− )
53− ]
54−
55−string :: Scheme
56−string = scheme $ NAtomic String
57−
58−deBruijn :: Int -> Int -> NType
59−deBruijn a b = NBruijn $ DeBruijn a b
60−
61−attrSet :: [(Text, Scheme)] -> NType
62−attrSet = NAttrSet . M.fromList
63−
64−(.!) :: NType -> (Text, Scheme) -> Pred
65−(.!) = HasField RequiredField
66−
67−(.?) :: NType -> (Text, Scheme) -> Pred
68−(.?) = HasField OptionalField
src/Tix/Typechecker.hs+20−50
@@ -52,7 +52,6 @@ import Data.Traversable
52import Nix.Atoms
52import Nix.Atoms
53import Nix.Expr
53import Nix.Expr
54import Nix.Pretty
54import Nix.Pretty
55−import Tix.Builtins (builtins)
56import Tix.Types
55import Tix.Types
57import Prelude as P
56import Prelude as P
58
57
@@ -64,7 +63,6 @@ getType r =
64 . evalState @(MKM.Map Pred) mempty
63 . evalState @(MKM.Map Pred) mempty
65 . interpret @(Writer Pred) (\(Tell x) -> modify (<> MKM.singleton x))
64 . interpret @(Writer Pred) (\(Tell x) -> modify (<> MKM.singleton x))
66 . runVariableMapEff
65 . runVariableMapEff
67− . localVariablesMap builtins
68 . evalState @Substitution mempty
66 . evalState @Substitution mempty
69 . runState @[(TypeVariable, SrcSpan)] []
67 . runState @[(TypeVariable, SrcSpan)] []
70 . interpret @(Writer (TypeVariable, SrcSpan)) (\(Tell x) -> modify (x :))
68 . interpret @(Writer (TypeVariable, SrcSpan)) (\(Tell x) -> modify (x :))
@@ -146,11 +144,9 @@ instance Free Pred where
146 free = \case
144 free = \case
147 Update x y z -> free x <> free y <> free z
145 Update x y z -> free x <> free y <> free z
148 HasField _ x (_, y) -> free x <> free y
146 HasField _ x (_, y) -> free x <> free y
149− StringOrNumber x -> free x
150 sub s = \case
147 sub s = \case
151 Update x y z -> Update (sub s x) (sub s y) (sub s z)
148 Update x y z -> Update (sub s x) (sub s y) (sub s z)
152 HasField r t (f, v) -> HasField r (sub s t) (f, sub s v)
149 HasField r t (f, v) -> HasField r (sub s t) (f, sub s v)
153− StringOrNumber x -> StringOrNumber $ sub s x
154
150
155instance Free Scheme where
151instance Free Scheme where
156 free (x :=> y) = free x <> free y
152 free (x :=> y) = free x <> free y
@@ -187,7 +183,7 @@ prettySubstitution :: Substitution -> A.Value
187prettySubstitution = A.toJSON . M.mapKeysMonotonic (TL.pack . show) . fmap renderPretty . unSubstitution
183prettySubstitution = A.toJSON . M.mapKeysMonotonic (TL.pack . show) . fmap renderPretty . unSubstitution
188
184
189instance Semigroup Substitution where
185instance Semigroup Substitution where
190− x'@(Substitution x) <> y'@(Substitution y) = Substitution (M.unionWith (error "invariant") (fmap (sub y') x) (fmap (sub x') y))
186+ x'@(Substitution x) <> y'@(Substitution y) = Substitution (M.unionWithKey (error "invariant") (fmap (sub y') x) (fmap (sub x') y))
191
187
192instance Monoid Substitution where
188instance Monoid Substitution where
193 mempty = Substitution mempty
189 mempty = Substitution mempty
@@ -279,7 +275,6 @@ data UnifyingError
279data PredicateError
275data PredicateError
280 = KeyNotPresent Text NType
276 = KeyNotPresent Text NType
281 | NotAnAttributeSet NType
277 | NotAnAttributeSet NType
282− | NotAddable NType
283 deriving stock (Eq, Show)
278 deriving stock (Eq, Show)
284
279
285data InferError
280data InferError
@@ -363,13 +358,13 @@ instantiate s = do
363infer :: NExprLoc -> InferM' NType
358infer :: NExprLoc -> InferM' NType
364infer (Fix (Compose (Ann src x))) = local (const src) $ case x of
359infer (Fix (Compose (Ann src x))) = local (const src) $ case x of
365 NConstant a -> return . NAtomic $ case a of
360 NConstant a -> return . NAtomic $ case a of
366− NURI {} -> String
361+ NURI {} -> URI
367− NInt {} -> Number
362+ NInt {} -> Integer
368− NFloat {} -> Number
363+ NFloat {} -> Float
369 NBool {} -> Bool
364 NBool {} -> Bool
370 NNull {} -> Null
365 NNull {} -> Null
371− NLiteralPath {} -> return . NAtomic $ String
366+ NLiteralPath {} -> return . NAtomic $ Path
372− NEnvPath {} -> return . NAtomic $ String
367+ NEnvPath {} -> return . NAtomic $ Path
373 NStr {} -> return $ NAtomic String
368 NStr {} -> return $ NAtomic String
374 NSym var ->
369 NSym var ->
375 lookupVar var
370 lookupVar var
@@ -379,16 +374,17 @@ infer (Fix (Compose (Ann src x))) = local (const src) $ case x of
379 xs' <- traverse infer xs
374 xs' <- traverse infer xs
380 traverse_ tell . fmap (uncurry (:~)) $ zip xs' (tail xs')
375 traverse_ tell . fmap (uncurry (:~)) $ zip xs' (tail xs')
381 case xs' of
376 case xs' of
382− [] -> List . NTypeVariable <$> fresh
377+ [] -> NTypeVariable <$> fresh
383 y : _ -> return $ List y
378 y : _ -> return $ List y
384 NUnary NNeg y -> do
379 NUnary NNeg y -> do
385 t <- infer y
380 t <- infer y
381+ -- TODO: Infer either Float or Integer
386− t ~~ NAtomic Number
382+ -- tell $ t :~ (normalType . NAtomic $ )
387− return $ NAtomic Number
383+ return t
388 NUnary NNot y -> do
384 NUnary NNot y -> do
389 t <- infer y
385 t <- infer y
390 t ~~ NAtomic Bool
386 t ~~ NAtomic Bool
391− return $ NAtomic Bool
387+ return t
392 NBinary NUpdate lhs rhs -> do
388 NBinary NUpdate lhs rhs -> do
393 lhsT <- infer lhs
389 lhsT <- infer lhs
394 rhsT <- infer rhs
390 rhsT <- infer rhs
@@ -415,12 +411,7 @@ infer (Fix (Compose (Ann src x))) = local (const src) $ case x of
415 NBinary NLte lhs rhs -> comparison lhs rhs
411 NBinary NLte lhs rhs -> comparison lhs rhs
416 NBinary NGt lhs rhs -> comparison lhs rhs
412 NBinary NGt lhs rhs -> comparison lhs rhs
417 NBinary NGte lhs rhs -> comparison lhs rhs
413 NBinary NGte lhs rhs -> comparison lhs rhs
418− NBinary NPlus lhs rhs -> do
414+ NBinary NPlus lhs rhs -> math lhs rhs
419− lhst <- infer lhs
420− rhst <- infer rhs
421− lhst ~~ rhst
422− tell $ StringOrNumber lhst
423− return lhst
424 NBinary NMinus lhs rhs -> math lhs rhs
415 NBinary NMinus lhs rhs -> math lhs rhs
425 NBinary NMult lhs rhs -> math lhs rhs
416 NBinary NMult lhs rhs -> math lhs rhs
426 NBinary NDiv lhs rhs -> math lhs rhs
417 NBinary NDiv lhs rhs -> math lhs rhs
@@ -523,23 +514,21 @@ infer (Fix (Compose (Ann src x))) = local (const src) $ case x of
523 comparison lhs rhs = do
514 comparison lhs rhs = do
524 lhst <- infer lhs
515 lhst <- infer lhs
525 rhst <- infer rhs
516 rhst <- infer rhs
526− tell (StringOrNumber lhst)
517+ -- TODO: Infer lhst and rhst are either Integer or Double or String
527 lhst ~~ rhst
518 lhst ~~ rhst
528 return $ NAtomic Bool
519 return $ NAtomic Bool
529 math lhs rhs = do
520 math lhs rhs = do
530 lhst <- infer lhs
521 lhst <- infer lhs
531 rhst <- infer rhs
522 rhst <- infer rhs
532− let t = NAtomic Number
523+ -- TODO: Infer lhst and rhst are either Integer or Double
533− lhst ~~ t
524+ lhst ~~ rhst
534− rhst ~~ t
535− return t
525+ return lhst
536 logic lhs rhs = do
526 logic lhs rhs = do
537 lhst <- infer lhs
527 lhst <- infer lhs
538 rhst <- infer rhs
528 rhst <- infer rhs
539− let t = NAtomic Bool
540− rhst ~~ t
529+ rhst ~~ NAtomic Bool
541− lhst ~~ t
530+ lhst ~~ NAtomic Bool
542− return t
531+ return $ NAtomic Bool
543
532
544type NormalizedBinding' = F.Free (Map VarName)
533type NormalizedBinding' = F.Free (Map VarName)
545
534
@@ -799,7 +788,6 @@ solveAndClose range (cs :=> t) = evalState @Substitution mempty $ do
799 solveAndClose newRange $ sub s $ (collectedPreds <> solvedPreds) :=> t
788 solveAndClose newRange $ sub s $ (collectedPreds <> solvedPreds) :=> t
800
789
801solveConstraints ::
790solveConstraints ::
802− forall effs.
803 Members
791 Members
804 '[ Fresh,
792 '[ Fresh,
805 Writer Pred,
793 Writer Pred,
@@ -814,15 +802,6 @@ solveConstraints ::
814 Eff effs [Pred]
802 Eff effs [Pred]
815solveConstraints _ [] = pure []
803solveConstraints _ [] = pure []
816solveConstraints range (p : ps) = case p of
804solveConstraints range (p : ps) = case p of
817− -- StringOrNumber
818− StringOrNumber (NTypeVariable _) -> (p :) <$> solveConstraints range ps
819− StringOrNumber t -> do
820− case t of
821− NAtomic String -> pure ()
822− NAtomic Number -> pure ()
823− other -> tell $ NotAddable other
824− solveConstraints range ps
825− -- HasField
826 HasField r (NAttrSet ts) (f, t) -> case M.lookup f ts of
805 HasField r (NAttrSet ts) (f, t) -> case M.lookup f ts of
827 Nothing -> do
806 Nothing -> do
828 case r of
807 case r of
@@ -850,19 +829,10 @@ solveConstraints range (p : ps) = case p of
850 HasField _ t _ -> do
829 HasField _ t _ -> do
851 tell $ NotAnAttributeSet t
830 tell $ NotAnAttributeSet t
852 solveConstraints range ps
831 solveConstraints range ps
853− -- Update
854 (Update (NAttrSet a) (NAttrSet b) t) -> do
832 (Update (NAttrSet a) (NAttrSet b) t) -> do
855 (NAttrSet $ b <> a) ~~ t
833 (NAttrSet $ b <> a) ~~ t
856 solveConstraints range ps
834 solveConstraints range ps
857− (Update a b _) -> do
858− allGood <- check `traverse` ([a, b] :: [NType])
859− (if and allGood then (p :) else id) <$> solveConstraints range ps
835+ _ -> (p :) <$> solveConstraints range ps
860− where
861− check :: NType -> Eff effs Bool
862− check = \case
863− NTypeVariable _ -> pure True
864− NAttrSet _ -> pure True
865− other -> tell (NotAnAttributeSet other) >> pure False
866
836
867partitionWith :: (a -> Either b c) -> [a] -> ([b], [c])
837partitionWith :: (a -> Either b c) -> [a] -> ([b], [c])
868partitionWith f = partitionEithers . map f
838partitionWith f = partitionEithers . map f
src/Tix/Types.hs+6−10
@@ -39,10 +39,7 @@ data Pred
39 -- ^ y
39 -- ^ y
40 !NType
40 !NType
41 -- ^ z
41 -- ^ z
42− -- | 'x.a ~ y'
43− | HasField !FieldStrictness !NType !(Text, Scheme)
42+ | HasField {- Is the field optional? -} !FieldStrictness !NType !(Text, Scheme)
44− | -- | supports '+' operator (strings and numbers)
45− StringOrNumber !NType
46 deriving stock (Eq, Ord, Show, Generic)
43 deriving stock (Eq, Ord, Show, Generic)
47
44
48data FieldStrictness = OptionalField | RequiredField
45data FieldStrictness = OptionalField | RequiredField
@@ -115,7 +112,6 @@ instance TraversableNTypes Pred where
115 <$> traverseNTypesWith ctx f x
112 <$> traverseNTypesWith ctx f x
116 <*> traverseNTypesWith ctx f y
113 <*> traverseNTypesWith ctx f y
117 <*> traverseNTypesWith ctx f z
114 <*> traverseNTypesWith ctx f z
118− (StringOrNumber x) -> StringOrNumber <$> traverseNTypesWith ctx f x
119 {-# INLINE traverseNTypesWith #-}
115 {-# INLINE traverseNTypesWith #-}
120
116
121traverseNTypes :: TraversableNTypes s => Traversal' s TerminalNType
117traverseNTypes :: TraversableNTypes s => Traversal' s TerminalNType
@@ -132,10 +128,13 @@ data NType
132 deriving stock (Eq, Ord, Show, Generic)
128 deriving stock (Eq, Ord, Show, Generic)
133
129
134data AtomicType
130data AtomicType
135− = Number
131+ = Integer
132+ | Float
136 | Bool
133 | Bool
137 | String
134 | String
135+ | Path
138 | Null
136 | Null
137+ | URI
139 deriving stock (Eq, Ord, Show, Generic)
138 deriving stock (Eq, Ord, Show, Generic)
140
139
141instance Pretty AtomicType where
140instance Pretty AtomicType where
@@ -252,10 +251,7 @@ prettyScheme u@(cs :=> t) = do
252 x' <- prettyNType False x
251 x' <- prettyNType False x
253 y' <- prettyNType False y
252 y' <- prettyNType False y
254 z' <- prettyNType False z
253 z' <- prettyNType False z
255− return $ group $ x' <+> "//" <> line <> y' <+> "~" <> line <> z'
254+ return $ group $ paren x' <+> "//" <> line <> paren y' <+> "~" <> line <> paren z'
256− prettyPred (StringOrNumber x) = do
257− x' <- prettyNType False x
258− return $ "(String | Number)" <+> "~" <+> x'
259 paren = bracketed "(" ")"
255 paren = bracketed "(" ")"
260
256
261-- | Returns the set of all De Bruijn type variables relative to the outermost
257-- | Returns the set of all De Bruijn type variables relative to the outermost
test/golden/importless/0.1.txt+1−1
@@ -21,7 +21,7 @@
21 version = String;
21 version = String;
22 } ->
22 } ->
23 κ,
23 κ,
24− γ.optional = λ -> String -> θ,
24+ γ.optional = λ -> Path -> θ,
25 β.isMusl = λ,
25 β.isMusl = λ,
26 μ.licenses = ν,
26 μ.licenses = ν,
27 μ.platforms = ξ,
27 μ.platforms = ξ,
test/golden/importless/0.10.txt+1−1
@@ -14,7 +14,7 @@
14 nativeBuildInputs = [θ];
14 nativeBuildInputs = [θ];
15 pname = String;
15 pname = String;
16 preConfigure = String;
16 preConfigure = String;
17− pythonPath = ∀ α. [α];
17+ pythonPath = ∀ α. α;
18 src = ι;
18 src = ι;
19 version = String;
19 version = String;
20 } ->
20 } ->
test/golden/importless/0.11.1.txt+1−1
@@ -6,7 +6,7 @@
6 meta =
6 meta =
7 {description = String; homepage = String; license = δ; platforms = ε;};
7 {description = String; homepage = String; license = δ; platforms = ε;};
8 name = String;
8 name = String;
9− patches = [String];
9+ patches = [Path];
10 src = ζ;
10 src = ζ;
11 } ->
11 } ->
12 η,
12 η,
test/golden/importless/0.11.txt+1−1
@@ -1 +1 @@
1−∀ α. {callPackage = String -> {sha256 = String; version = String;} -> α;} -> α
1+∀ α. {callPackage = Path -> {sha256 = String; version = String;} -> α;} -> α
test/golden/importless/0.12.txt+1−1
@@ -1 +1 @@
1−∀ α. {callPackage = String -> {sha256 = String; version = String;} -> α;} -> α
1+∀ α. {callPackage = Path -> {sha256 = String; version = String;} -> α;} -> α
test/golden/importless/0.2.txt+1−1
@@ -42,7 +42,7 @@
42 gst_all_1 = μ;
42 gst_all_1 = μ;
43 libjack2 = ε;
43 libjack2 = ε;
44 libva = ε;
44 libva = ε;
45− makeFontsConf = {fontDirectories = ∀ α. [α];} -> δ;
45+ makeFontsConf = {fontDirectories = ∀ α. α;} -> δ;
46 meson = ι;
46 meson = ι;
47 ninja = ι;
47 ninja = ι;
48 pkgconfig = ι;
48 pkgconfig = ι;
test/golden/importless/0.29.txt+1−1
@@ -16,7 +16,7 @@
16 version = String;
16 version = String;
17 } ->
17 } ->
18 λ,
18 λ,
19− γ.optionals = β -> [String] -> ι,
19+ γ.optionals = β -> [Path] -> ι,
20 μ.licenses = ν,
20 μ.licenses = ν,
21 μ.platforms = ξ,
21 μ.platforms = ξ,
22 ν.lgpl2 = ζ,
22 ν.lgpl2 = ζ,
test/golden/importless/0.3.3.txt+2−2
@@ -1,5 +1,5 @@
1∀ α β γ.
1∀ α β γ.
2−( α // {patches = [String]; sha256 = String; version = String;} ~ β,
2+( (α) // ({patches = [Path]; sha256 = String; version = String;}) ~ (β),
3− α.callPackage = String -> β -> γ
3+ α.callPackage = Path -> β -> γ
4) =>
4) =>
5α -> γ
5α -> γ
test/golden/importless/0.5.1.txt+2−2
@@ -1,6 +1,6 @@
1∀ α β γ δ.
1∀ α β γ δ.
2−( α // {prePatch = String; src = β; version = String;} ~ γ,
2+( (α) // ({prePatch = String; src = β; version = String;}) ~ (γ),
3− α.callPackage = String -> γ -> δ,
3+ α.callPackage = Path -> γ -> δ,
4 α.fetchurl = {sha256 = String; url = String;} -> β
4 α.fetchurl = {sha256 = String; url = String;} -> β
5) =>
5) =>
6α -> δ
6α -> δ
test/golden/importless/0.61.txt+2−2
@@ -16,7 +16,7 @@
16 name = String;
16 name = String;
17 nativeBuildInputs = [ι];
17 nativeBuildInputs = [ι];
18 outputs = [String];
18 outputs = [String];
19− patches = [String];
19+ patches = [Path];
20 propagatedBuildInputs = [κ];
20 propagatedBuildInputs = [κ];
21 src = λ;
21 src = λ;
22 } ->
22 } ->
@@ -35,7 +35,7 @@
35{ cairo = π;
35{ cairo = π;
36 cmake = ι;
36 cmake = ι;
37 curl = π;
37 curl = π;
38− fetchpatch = {name = String; sha256 = String; url = String;} -> String;
38+ fetchpatch = {name = String; sha256 = String; url = String;} -> Path;
39 fetchurl = {sha256 = String; url = String;} -> λ;
39 fetchurl = {sha256 = String; url = String;} -> λ;
40 fontconfig = κ;
40 fontconfig = κ;
41 freetype = κ;
41 freetype = κ;
test/golden/importless/0.8.5.txt+2−2
@@ -1,6 +1,6 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ ν.
1∀ α β γ δ ε ζ η θ ι κ λ μ ν.
2( α.?meta = β,
2( α.?meta = β,
3− β.?platforms = [γ],
3+ β.?platforms = γ,
4 δ.lib = ε,
4 δ.lib = ε,
5 δ.mkDerivation =
5 δ.mkDerivation =
6 { buildInputs = [α];
6 { buildInputs = [α];
@@ -10,7 +10,7 @@
10 homepage = String;
10 homepage = String;
11 license = ζ;
11 license = ζ;
12 maintainers = [η];
12 maintainers = [η];
13− platforms = [γ];
13+ platforms = γ;
14 };
14 };
15 patches = [θ];
15 patches = [θ];
16 pname = String;
16 pname = String;
test/golden/importless/0.9.txt+1−1
@@ -14,7 +14,7 @@
14 maintainers = [ε];
14 maintainers = [ε];
15 };
15 };
16 name = String;
16 name = String;
17− patches = [String];
17+ patches = [Path];
18 postPatch = String;
18 postPatch = String;
19 src = ζ;
19 src = ζ;
20 version = String;
20 version = String;
test/golden/importless/1-default.txt+2−2
@@ -7,13 +7,13 @@
7 { broken = Bool;
7 { broken = Bool;
8 description = String;
8 description = String;
9 homepage = String;
9 homepage = String;
10− hydraPlatforms = ∀ α. [α];
10+ hydraPlatforms = ∀ α. α;
11 license = [ε];
11 license = [ε];
12 platforms = ζ;
12 platforms = ζ;
13 };
13 };
14 name = String;
14 name = String;
15 nativeBuildInputs = [η];
15 nativeBuildInputs = [η];
16− patches = [String];
16+ patches = [Path];
17 postPatch = String;
17 postPatch = String;
18 preConfigure = String;
18 preConfigure = String;
19 src = θ;
19 src = θ;
test/golden/importless/1.0.0.txt+1−1
@@ -8,7 +8,7 @@
8 { description = String;
8 { description = String;
9 homepage = String;
9 homepage = String;
10 license = ε;
10 license = ε;
11− maintainers = ∀ α. [α];
11+ maintainers = ∀ α. α;
12 platforms = ζ;
12 platforms = ζ;
13 };
13 };
14 nativeBuildInputs = [η];
14 nativeBuildInputs = [η];
test/golden/importless/1.0.txt+2−2
@@ -1,6 +1,6 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ.
1∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ.
2( α.?meta = β,
2( α.?meta = β,
3− β.?platforms = [γ],
3+ β.?platforms = γ,
4 δ.lib = ε,
4 δ.lib = ε,
5 δ.mkDerivation =
5 δ.mkDerivation =
6 { buildInputs = [α];
6 { buildInputs = [α];
@@ -11,7 +11,7 @@
11 homepage = String;
11 homepage = String;
12 license = ζ;
12 license = ζ;
13 maintainers = [η];
13 maintainers = [η];
14− platforms = [γ];
14+ platforms = γ;
15 };
15 };
16 name = String;
16 name = String;
17 preBuild = String;
17 preBuild = String;
test/golden/importless/1.3.txt+1−1
@@ -27,7 +27,7 @@
27 minorVersion = String;
27 minorVersion = String;
28 site = String;
28 site = String;
29 };
29 };
30− patches = [String];
30+ patches = [Path];
31 pname = String;
31 pname = String;
32 postInstall = String;
32 postInstall = String;
33 postPatch = String;
33 postPatch = String;
test/golden/importless/1.5.txt+2−2
@@ -1,6 +1,6 @@
1∀ α β γ δ ε ζ η θ ι κ λ.
1∀ α β γ δ ε ζ η θ ι κ λ.
2( α.?meta = β,
2( α.?meta = β,
3− β.?platforms = [γ],
3+ β.?platforms = γ,
4 δ.lib = ε,
4 δ.lib = ε,
5 δ.mkDerivation =
5 δ.mkDerivation =
6 { buildInputs = [α];
6 { buildInputs = [α];
@@ -15,7 +15,7 @@
15 homepage = String;
15 homepage = String;
16 license = ζ;
16 license = ζ;
17 maintainers = [η];
17 maintainers = [η];
18− platforms = [γ];
18+ platforms = γ;
19 };
19 };
20 name = String;
20 name = String;
21 src = θ;
21 src = θ;
test/golden/importless/1.55.txt+2−2
@@ -1,6 +1,6 @@
1∀ α β γ δ.
1∀ α β γ δ.
2−( α // {patches = [String]; src = β; version = String;} ~ γ,
2+( (α) // ({patches = [Path]; src = β; version = String;}) ~ (γ),
3− α.callPackage = String -> γ -> δ,
3+ α.callPackage = Path -> γ -> δ,
4 α.fetchurl = {sha256 = String; url = String;} -> β
4 α.fetchurl = {sha256 = String; url = String;} -> β
5) =>
5) =>
6α -> δ
6α -> δ
test/golden/importless/1.59.txt+2−2
@@ -1,6 +1,6 @@
1∀ α β γ δ ε.
1∀ α β γ δ ε.
2−( α // {src = β; version = String;} ~ γ,
2+( (α) // ({src = β; version = String;}) ~ (γ),
3− α.callPackage = String -> γ -> δ,
3+ α.callPackage = Path -> γ -> δ,
4 α.fetchurl = {sha256 = String; url = String;} -> β,
4 α.fetchurl = {sha256 = String; url = String;} -> β,
5 α.stdenv = ε
5 α.stdenv = ε
6) =>
6) =>
test/golden/importless/1.60.txt+2−2
@@ -1,6 +1,6 @@
1∀ α β γ δ ε.
1∀ α β γ δ ε.
2−( α // {src = β; version = String;} ~ γ,
2+( (α) // ({src = β; version = String;}) ~ (γ),
3− α.callPackage = String -> γ -> δ,
3+ α.callPackage = Path -> γ -> δ,
4 α.fetchurl = {sha256 = String; url = String;} -> β,
4 α.fetchurl = {sha256 = String; url = String;} -> β,
5 α.stdenv = ε
5 α.stdenv = ε
6) =>
6) =>
test/golden/importless/1.65.txt+2−2
@@ -1,6 +1,6 @@
1∀ α β γ δ ε.
1∀ α β γ δ ε.
2−( α // {src = β; version = String;} ~ γ,
2+( (α) // ({src = β; version = String;}) ~ (γ),
3− α.callPackage = String -> γ -> δ,
3+ α.callPackage = Path -> γ -> δ,
4 α.fetchurl = {sha256 = String; url = String;} -> β,
4 α.fetchurl = {sha256 = String; url = String;} -> β,
5 α.stdenv = ε
5 α.stdenv = ε
6) =>
6) =>
test/golden/importless/1.66.txt+2−2
@@ -1,6 +1,6 @@
1∀ α β γ δ ε.
1∀ α β γ δ ε.
2−( α // {src = β; version = String;} ~ γ,
2+( (α) // ({src = β; version = String;}) ~ (γ),
3− α.callPackage = String -> γ -> δ,
3+ α.callPackage = Path -> γ -> δ,
4 α.fetchurl = {sha256 = String; url = String;} -> β,
4 α.fetchurl = {sha256 = String; url = String;} -> β,
5 α.stdenv = ε
5 α.stdenv = ε
6) =>
6) =>
test/golden/importless/1.67.txt+3−3
@@ -1,7 +1,7 @@
1∀ α β γ δ ε ζ η θ ι.
1∀ α β γ δ ε ζ η θ ι.
2−( α // {patches = [β]; src = γ; version = String;} ~ δ,
2+( (α) // ({patches = [β]; src = γ; version = String;}) ~ (δ),
3− α.callPackage = String -> δ -> ε,
3+ α.callPackage = Path -> δ -> ε,
4− α.fetchpatch = {sha256 = String; stripLen = Number; url = String;} -> β,
4+ α.fetchpatch = {sha256 = String; stripLen = Integer; url = String;} -> β,
5 α.fetchurl = {sha256 = String; url = String;} -> γ,
5 α.fetchurl = {sha256 = String; url = String;} -> γ,
6 α.stdenv = ζ,
6 α.stdenv = ζ,
7 ζ.cc = η,
7 ζ.cc = η,
test/golden/importless/1.68.txt+2−2
@@ -1,6 +1,6 @@
1∀ α β γ δ ε ζ.
1∀ α β γ δ ε ζ.
2−( α // {src = β; version = String;} ~ γ,
2+( (α) // ({src = β; version = String;}) ~ (γ),
3− α.callPackage = String -> γ -> δ,
3+ α.callPackage = Path -> γ -> δ,
4 α.fetchpatch = ε,
4 α.fetchpatch = ε,
5 α.fetchurl = {sha256 = String; url = String;} -> β,
5 α.fetchurl = {sha256 = String; url = String;} -> β,
6 α.stdenv = ζ
6 α.stdenv = ζ
test/golden/importless/1.69.txt+2−2
@@ -1,6 +1,6 @@
1∀ α β γ δ ε ζ.
1∀ α β γ δ ε ζ.
2−( α // {src = β; version = String;} ~ γ,
2+( (α) // ({src = β; version = String;}) ~ (γ),
3− α.callPackage = String -> γ -> δ,
3+ α.callPackage = Path -> γ -> δ,
4 α.fetchpatch = ε,
4 α.fetchpatch = ε,
5 α.fetchurl = {sha256 = String; url = String;} -> β,
5 α.fetchurl = {sha256 = String; url = String;} -> β,
6 α.stdenv = ζ
6 α.stdenv = ζ
test/golden/importless/1.70.txt+2−2
@@ -1,6 +1,6 @@
1∀ α β γ δ ε ζ.
1∀ α β γ δ ε ζ.
2−( α // {src = β; version = String;} ~ γ,
2+( (α) // ({src = β; version = String;}) ~ (γ),
3− α.callPackage = String -> γ -> δ,
3+ α.callPackage = Path -> γ -> δ,
4 α.fetchpatch = ε,
4 α.fetchpatch = ε,
5 α.fetchurl = {sha256 = String; url = String;} -> β,
5 α.fetchurl = {sha256 = String; url = String;} -> β,
6 α.stdenv = ζ
6 α.stdenv = ζ
test/golden/importless/1.71.txt+2−2
@@ -1,6 +1,6 @@
1∀ α β γ δ ε ζ.
1∀ α β γ δ ε ζ.
2−( α // {src = β; version = String;} ~ γ,
2+( (α) // ({src = β; version = String;}) ~ (γ),
3− α.callPackage = String -> γ -> δ,
3+ α.callPackage = Path -> γ -> δ,
4 α.fetchpatch = ε,
4 α.fetchpatch = ε,
5 α.fetchurl = {sha256 = String; urls = [String];} -> β,
5 α.fetchurl = {sha256 = String; urls = [String];} -> β,
6 α.stdenv = ζ
6 α.stdenv = ζ
test/golden/importless/1.72.txt+2−2
@@ -1,6 +1,6 @@
1∀ α β γ δ ε ζ.
1∀ α β γ δ ε ζ.
2−( α // {src = β; version = String;} ~ γ,
2+( (α) // ({src = β; version = String;}) ~ (γ),
3− α.callPackage = String -> γ -> δ,
3+ α.callPackage = Path -> γ -> δ,
4 α.fetchpatch = ε,
4 α.fetchpatch = ε,
5 α.fetchurl = {sha256 = String; urls = [String];} -> β,
5 α.fetchurl = {sha256 = String; urls = [String];} -> β,
6 α.stdenv = ζ
6 α.stdenv = ζ
test/golden/importless/1.8.5.txt+1−1
@@ -36,7 +36,7 @@
36 π.platforms = σ,
36 π.platforms = σ,
37 ρ.goibhniu = η,
37 ρ.goibhniu = η,
38 σ.linux = θ,
38 σ.linux = θ,
39− τ.optionals = υ -> [String] -> [κ]
39+ τ.optionals = υ -> [Path] -> [κ]
40) =>
40) =>
41{ autoconf213 = ο;
41{ autoconf213 = ο;
42 fetchpatch = {name = String; sha256 = String; url = String;} -> κ;
42 fetchpatch = {name = String; sha256 = String; url = String;} -> κ;
test/golden/importless/1.8.txt+2−2
@@ -19,12 +19,12 @@
19 name = String;
19 name = String;
20 nativeBuildInputs = [ι];
20 nativeBuildInputs = [ι];
21 outputs = [String];
21 outputs = [String];
22− patches = [String];
22+ patches = [Path];
23 postInstall = String;
23 postInstall = String;
24 preBuild = String;
24 preBuild = String;
25 propagatedBuildInputs = [δ];
25 propagatedBuildInputs = [δ];
26 setOutputFlags = Bool;
26 setOutputFlags = Bool;
27− setupHook = String;
27+ setupHook = Path;
28 src = κ;
28 src = κ;
29 } ->
29 } ->
30 λ,
30 λ,
test/golden/importless/12.txt+1−1
@@ -9,7 +9,7 @@
9 description = String;
9 description = String;
10 homepage = String;
10 homepage = String;
11 license = ε;
11 license = ε;
12− maintainers = ∀ α. [α];
12+ maintainers = ∀ α. α;
13 platforms = ζ;
13 platforms = ζ;
14 };
14 };
15 name = String;
15 name = String;
test/golden/importless/16.1.2.txt+2−2
@@ -12,7 +12,7 @@
12 version = String;
12 version = String;
13 };
13 };
14 name = String;
14 name = String;
15− patches = [String];
15+ patches = [Path];
16 postInstall = String;
16 postInstall = String;
17 propagatedBuildInputs = [η];
17 propagatedBuildInputs = [η];
18 src = θ;
18 src = θ;
@@ -31,7 +31,7 @@
31{ autoconf = γ;
31{ autoconf = γ;
32 automake = γ;
32 automake = γ;
33 boehmgc = Null;
33 boehmgc = Null;
34− fetchpatch = {name = String; sha256 = String; url = String;} -> String;
34+ fetchpatch = {name = String; sha256 = String; url = String;} -> Path;
35 fetchurl = {sha256 = String; url = String;} -> θ;
35 fetchurl = {sha256 = String; url = String;} -> θ;
36 gcc = η;
36 gcc = η;
37 gmp = η;
37 gmp = η;
test/golden/importless/1compat.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ ι.
1∀ β γ δ ε ζ η θ ι.
2−( β // {description = String; priority = Number;} ~ γ,
2+( (β) // ({description = String; priority = Integer;}) ~ (γ),
3 δ.mkDerivation = {builder = ε; meta = ∀ α. α; name = String;} -> ζ,
3 δ.mkDerivation = {builder = ε; meta = ∀ α. α; name = String;} -> ζ,
4 η.meta = β,
4 η.meta = β,
5 θ.description = String
5 θ.description = String
test/golden/importless/2.0.0.txt+2−2
@@ -9,11 +9,11 @@
9 { description = String;
9 { description = String;
10 homepage = String;
10 homepage = String;
11 license = ε;
11 license = ε;
12− maintainers = ∀ α. [α];
12+ maintainers = ∀ α. α;
13 platforms = ζ;
13 platforms = ζ;
14 };
14 };
15 nativeBuildInputs = [η];
15 nativeBuildInputs = [η];
16− patches = [String];
16+ patches = [Path];
17 pname = String;
17 pname = String;
18 postPatch = String;
18 postPatch = String;
19 src = θ;
19 src = θ;
test/golden/importless/2.1.txt+2−2
@@ -1,5 +1,5 @@
1∀ α β γ.
1∀ α β γ.
2−( α // {sha256 = String; version = String;} ~ β,
2+( (α) // ({sha256 = String; version = String;}) ~ (β),
3− α.callPackage = String -> β -> γ
3+ α.callPackage = Path -> β -> γ
4) =>
4) =>
5α -> γ
5α -> γ
test/golden/importless/2.2.txt+2−2
@@ -1,5 +1,5 @@
1∀ α β γ.
1∀ α β γ.
2−( α // {sha256 = String; version = String;} ~ β,
2+( (α) // ({sha256 = String; version = String;}) ~ (β),
3− α.callPackage = String -> β -> γ
3+ α.callPackage = Path -> β -> γ
4) =>
4) =>
5α -> γ
5α -> γ
test/golden/importless/2.5.txt+2−2
@@ -1,6 +1,6 @@
1∀ α β γ δ.
1∀ α β γ δ.
2−( α // {src = β; version = String;} ~ γ,
2+( (α) // ({src = β; version = String;}) ~ (γ),
3− α.callPackage = String -> γ -> δ,
3+ α.callPackage = Path -> γ -> δ,
4 α.fetchurl = {sha256 = String; url = String;} -> β
4 α.fetchurl = {sha256 = String; url = String;} -> β
5) =>
5) =>
6α -> δ
6α -> δ
test/golden/importless/2.6.13-pre.txt+1−1
@@ -7,7 +7,7 @@
7 configureFlags = [String];
7 configureFlags = [String];
8 hardeningDisable = [String];
8 hardeningDisable = [String];
9 meta = {description = String; maintainers = [θ]; platforms = ι;};
9 meta = {description = String; maintainers = [θ]; platforms = ι;};
10− patches = ∀ α. [α];
10+ patches = ∀ α. α;
11 pname = String;
11 pname = String;
12 postPatch = String;
12 postPatch = String;
13 sourceRoot = String;
13 sourceRoot = String;
test/golden/importless/2.6.2.txt+1−1
@@ -12,7 +12,7 @@
12 meta =
12 meta =
13 {description = String; homepage = String; license = ζ; platforms = η;};
13 {description = String; homepage = String; license = ζ; platforms = η;};
14 nativeBuildInputs = [θ];
14 nativeBuildInputs = [θ];
15− patches = [String];
15+ patches = [Path];
16 pname = String;
16 pname = String;
17 preConfigure = String;
17 preConfigure = String;
18 src = ι;
18 src = ι;
test/golden/importless/2.7-html.txt+1−1
@@ -1,7 +1,7 @@
1∀ β γ δ ε.
1∀ β γ δ ε.
2( β.mkDerivation =
2( β.mkDerivation =
3 { installPhase = String;
3 { installPhase = String;
4− meta = {maintainers = ∀ α. [α];};
4+ meta = {maintainers = ∀ α. α;};
5 name = String;
5 name = String;
6 src = γ;
6 src = γ;
7 } ->
7 } ->
test/golden/importless/2.7-pdf-a4.txt+1−1
@@ -1,7 +1,7 @@
1∀ β γ δ ε.
1∀ β γ δ ε.
2( β.mkDerivation =
2( β.mkDerivation =
3 { installPhase = String;
3 { installPhase = String;
4− meta = {maintainers = ∀ α. [α];};
4+ meta = {maintainers = ∀ α. α;};
5 name = String;
5 name = String;
6 src = γ;
6 src = γ;
7 } ->
7 } ->
test/golden/importless/2.7-pdf-letter.txt+1−1
@@ -1,7 +1,7 @@
1∀ β γ δ ε.
1∀ β γ δ ε.
2( β.mkDerivation =
2( β.mkDerivation =
3 { installPhase = String;
3 { installPhase = String;
4− meta = {maintainers = ∀ α. [α];};
4+ meta = {maintainers = ∀ α. α;};
5 name = String;
5 name = String;
6 src = γ;
6 src = γ;
7 } ->
7 } ->
test/golden/importless/2.7-text.txt+1−1
@@ -1,7 +1,7 @@
1∀ β γ δ ε.
1∀ β γ δ ε.
2( β.mkDerivation =
2( β.mkDerivation =
3 { installPhase = String;
3 { installPhase = String;
4− meta = {maintainers = ∀ α. [α];};
4+ meta = {maintainers = ∀ α. α;};
5 name = String;
5 name = String;
6 src = γ;
6 src = γ;
7 } ->
7 } ->
test/golden/importless/2.7.7.txt+1−1
@@ -11,7 +11,7 @@
11 };
11 };
12 name = String;
12 name = String;
13 nativeBuildInputs = [ζ];
13 nativeBuildInputs = [ζ];
14− patches = [String];
14+ patches = [Path];
15 src = η;
15 src = η;
16 } ->
16 } ->
17 θ,
17 θ,
test/golden/importless/2.8.txt+2−2
@@ -1,5 +1,5 @@
1∀ α β γ.
1∀ α β γ.
2−( {branch = String; sha256 = String; version = String;} // α ~ β,
2+( ({branch = String; sha256 = String; version = String;}) // (α) ~ (β),
3− α.callPackage = String -> β -> γ
3+ α.callPackage = Path -> β -> γ
4) =>
4) =>
5α -> γ
5α -> γ
test/golden/importless/2_4.txt+2−2
@@ -1,5 +1,5 @@
1∀ α β γ.
1∀ α β γ.
2−( α // {sha256 = String; version = String;} ~ β,
2+( (α) // ({sha256 = String; version = String;}) ~ (β),
3− α.callPackage = String -> β -> γ
3+ α.callPackage = Path -> β -> γ
4) =>
4) =>
5α -> γ
5α -> γ
test/golden/importless/3.0.txt+2−2
@@ -1,5 +1,5 @@
1∀ α β γ.
1∀ α β γ.
2−( α // {sha256 = String; version = String;} ~ β,
2+( (α) // ({sha256 = String; version = String;}) ~ (β),
3− α.callPackage = String -> β -> γ
3+ α.callPackage = Path -> β -> γ
4) =>
4) =>
5α -> γ
5α -> γ
test/golden/importless/3.0.x.txt+1−1
@@ -10,7 +10,7 @@
10 };
10 };
11 name = String;
11 name = String;
12 nativeBuildInputs = [ε];
12 nativeBuildInputs = [ε];
13− patches = [String];
13+ patches = [Path];
14 src = ζ;
14 src = ζ;
15 } ->
15 } ->
16 η,
16 η,
test/golden/importless/3.08.0.txt+2−2
@@ -2,10 +2,10 @@
2( α.lib = β,
2( α.lib = β,
3 α.mkDerivation =
3 α.mkDerivation =
4 { buildFlags = [String];
4 { buildFlags = [String];
5− builder = String;
5+ builder = Path;
6 checkTarget = [String];
6 checkTarget = [String];
7 configureFlags = [String];
7 configureFlags = [String];
8− configureScript = String;
8+ configureScript = Path;
9 dontAddPrefix = String;
9 dontAddPrefix = String;
10 meta = {platforms = γ;};
10 meta = {platforms = γ;};
11 pname = String;
11 pname = String;
test/golden/importless/3.10.txt+1−1
@@ -1,2 +1,2 @@
1∀ α β.
1∀ α β.
2−(α.callPackage = String -> {sha256 = String; version = String;} -> β) => α -> β
2+(α.callPackage = Path -> {sha256 = String; version = String;} -> β) => α -> β
test/golden/importless/3.11.txt+2−2
@@ -1,5 +1,5 @@
1∀ α β γ.
1∀ α β γ.
2−( α // {sha256 = String; version = String;} ~ β,
2+( (α) // ({sha256 = String; version = String;}) ~ (β),
3− α.callPackage = String -> β -> γ
3+ α.callPackage = Path -> β -> γ
4) =>
4) =>
5α -> γ
5α -> γ
test/golden/importless/3.12.1.txtdeleted−42
@@ -1,42 +0,0 @@
1−∀ α β γ δ ε ζ η θ ι κ.
2−( α.isAarch32 = Bool,
3− α.isDarwin = Bool,
4− α.isMips = Bool,
5− α.lib = β,
6− α.mkDerivation =
7− { buildFlags = [String];
8− buildInputs = [String];
9− configureFlags = [String];
10− installTargets = String;
11− meta =
12− { branch = String;
13− description = String;
14− homepage = String;
15− license = [γ];
16− longDescription = String;
17− platforms = δ;
18− };
19− passthru = {nativeCompilers = Bool;};
20− patches = [String];
21− pname = String;
22− postBuild = String;
23− preConfigure = String;
24− prefixKey = String;
25− src = ε;
26− version = String;
27− } ->
28− ζ,
29− β.optionals = Bool -> [String] -> [String],
30− η.optionalString = Bool -> String -> String,
31− θ.lgpl2 = γ,
32− θ.licenses = ι,
33− θ.linux = δ,
34− θ.platforms = κ,
35− θ.qpl = γ
36−) =>
37−{ fetchurl = {sha256 = String; url = String;} -> ε;
38− ncurses = String;
39− stdenv = α;
40− xlibsWrapper = String;
41−} ->
42−ζ
test/golden/importless/3.12.txt+1−1
@@ -1,2 +1,2 @@
1∀ α β.
1∀ α β.
2−(α.callPackage = String -> {sha256 = String; version = String;} -> β) => α -> β
2+(α.callPackage = Path -> {sha256 = String; version = String;} -> β) => α -> β
test/golden/importless/3.13.txt+1−1
@@ -1,2 +1,2 @@
1∀ α β.
1∀ α β.
2−(α.callPackage = String -> {sha256 = String; version = String;} -> β) => α -> β
2+(α.callPackage = Path -> {sha256 = String; version = String;} -> β) => α -> β
test/golden/importless/3.5.txt+2−2
@@ -1,7 +1,7 @@
1∀ α β γ δ ε.
1∀ α β γ δ ε.
2−( α // {src = β; version = String;} ~ γ,
2+( (α) // ({src = β; version = String;}) ~ (γ),
3 α.autoreconfHook = δ,
3 α.autoreconfHook = δ,
4− α.callPackage = String -> γ -> ε,
4+ α.callPackage = Path -> γ -> ε,
5 α.fetchFromGitHub =
5 α.fetchFromGitHub =
6 {owner = String; repo = String; rev = String; sha256 = String;} -> β
6 {owner = String; repo = String; rev = String; sha256 = String;} -> β
7) =>
7) =>
test/golden/importless/3.6.txt+1−1
@@ -1,2 +1,2 @@
1∀ α β.
1∀ α β.
2−(α.callPackage = String -> {sha256 = String; version = String;} -> β) => α -> β
2+(α.callPackage = Path -> {sha256 = String; version = String;} -> β) => α -> β
test/golden/importless/3.7-html.txt+1−1
@@ -1,7 +1,7 @@
1∀ β γ δ ε.
1∀ β γ δ ε.
2( β.mkDerivation =
2( β.mkDerivation =
3 { installPhase = String;
3 { installPhase = String;
4− meta = {maintainers = ∀ α. [α];};
4+ meta = {maintainers = ∀ α. α;};
5 name = String;
5 name = String;
6 src = γ;
6 src = γ;
7 } ->
7 } ->
test/golden/importless/3.7-pdf-a4.txt+1−1
@@ -1,7 +1,7 @@
1∀ β γ δ ε.
1∀ β γ δ ε.
2( β.mkDerivation =
2( β.mkDerivation =
3 { installPhase = String;
3 { installPhase = String;
4− meta = {maintainers = ∀ α. [α];};
4+ meta = {maintainers = ∀ α. α;};
5 name = String;
5 name = String;
6 src = γ;
6 src = γ;
7 } ->
7 } ->
test/golden/importless/3.7-pdf-letter.txt+1−1
@@ -1,7 +1,7 @@
1∀ β γ δ ε.
1∀ β γ δ ε.
2( β.mkDerivation =
2( β.mkDerivation =
3 { installPhase = String;
3 { installPhase = String;
4− meta = {maintainers = ∀ α. [α];};
4+ meta = {maintainers = ∀ α. α;};
5 name = String;
5 name = String;
6 src = γ;
6 src = γ;
7 } ->
7 } ->
test/golden/importless/3.7-text.txt+1−1
@@ -1,7 +1,7 @@
1∀ β γ δ ε.
1∀ β γ δ ε.
2( β.mkDerivation =
2( β.mkDerivation =
3 { installPhase = String;
3 { installPhase = String;
4− meta = {maintainers = ∀ α. [α];};
4+ meta = {maintainers = ∀ α. α;};
5 name = String;
5 name = String;
6 src = γ;
6 src = γ;
7 } ->
7 } ->
test/golden/importless/3.7.txt+1−1
@@ -1,2 +1,2 @@
1∀ α β.
1∀ α β.
2−(α.callPackage = String -> {sha256 = String; version = String;} -> β) => α -> β
2+(α.callPackage = Path -> {sha256 = String; version = String;} -> β) => α -> β
test/golden/importless/3.8.txt+1−1
@@ -1,2 +1,2 @@
1∀ α β.
1∀ α β.
2−(α.callPackage = String -> {sha256 = String; version = String;} -> β) => α -> β
2+(α.callPackage = Path -> {sha256 = String; version = String;} -> β) => α -> β
test/golden/importless/3.9.txt+1−1
@@ -1,2 +1,2 @@
1∀ α β.
1∀ α β.
2−(α.callPackage = String -> {sha256 = String; version = String;} -> β) => α -> β
2+(α.callPackage = Path -> {sha256 = String; version = String;} -> β) => α -> β
test/golden/importless/38.txt+1−1
@@ -6,7 +6,7 @@
6 β.mkDerivation =
6 β.mkDerivation =
7 { buildInputs = [ζ];
7 { buildInputs = [ζ];
8 configureFlags = [String];
8 configureFlags = [String];
9− configurePlatforms = ∀ α. [α];
9+ configurePlatforms = ∀ α. α;
10 depsBuildBuild = [η];
10 depsBuildBuild = [η];
11 enableParallelBuilding = Bool;
11 enableParallelBuilding = Bool;
12 meta =
12 meta =
test/golden/importless/3_1.txt+2−2
@@ -1,5 +1,5 @@
1∀ α β γ.
1∀ α β γ.
2−( α // {sha256 = String; version = String;} ~ β,
2+( (α) // ({sha256 = String; version = String;}) ~ (β),
3− α.callPackage = String -> β -> γ
3+ α.callPackage = Path -> β -> γ
4) =>
4) =>
5α -> γ
5α -> γ
test/golden/importless/3dovideo.txt+3−4
@@ -6,7 +6,7 @@
6 β.bytestring = ε,
6 β.bytestring = ε,
7 β.concatMapStrings = (ζ -> String) -> η -> String,
7 β.concatMapStrings = (ζ -> String) -> η -> String,
8 β.filepath = ε,
8 β.filepath = ε,
9− β.lessThan = ζ -> Number -> θ,
9+ β.lessThan = ζ -> Integer -> θ,
10 β.mkDerivation =
10 β.mkDerivation =
11 { buildDepends = [ε];
11 { buildDepends = [ε];
12 description = String;
12 description = String;
@@ -19,12 +19,11 @@
19 } ->
19 } ->
20 λ,
20 λ,
21 β.optionalString = θ -> String -> μ,
21 β.optionalString = θ -> String -> μ,
22− β.range = Number -> Number -> η,
22+ β.range = Integer -> Integer -> η,
23 β.tar = ε,
23 β.tar = ε,
24 β.toString = ζ -> μ,
24 β.toString = ζ -> μ,
25 ν.licenses = ξ,
25 ν.licenses = ξ,
26− ξ.bsd3 = ι,
26+ ξ.bsd3 = ι
27− (String | Number) ~ μ
28) =>
27) =>
29{ fetchurl = {sha256 = String; url = String;} -> κ;
28{ fetchurl = {sha256 = String; url = String;} -> κ;
30 haskellPackages = ο;
29 haskellPackages = ο;
test/golden/importless/4.13a.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ ι.
1∀ β γ δ ε ζ η θ ι.
2−( β // {branch = String;} ~ γ,
2+( (β) // ({branch = String;}) ~ (γ),
3 δ.mkDerivation =
3 δ.mkDerivation =
4 { buildInputs = [ε];
4 { buildInputs = [ε];
5 meta = ∀ α. α;
5 meta = ∀ α. α;
test/golden/importless/4.3.2.txt+1−1
@@ -11,7 +11,7 @@
11 homepage = String;
11 homepage = String;
12 license = ε;
12 license = ε;
13 longDescription = String;
13 longDescription = String;
14− maintainers = ∀ α. [α];
14+ maintainers = ∀ α. α;
15 platforms = ζ;
15 platforms = ζ;
16 };
16 };
17 name = String;
17 name = String;
test/golden/importless/4.txt+2−2
@@ -1,10 +1,10 @@
1∀ α β γ.
1∀ α β γ.
2{ Foundation = α;
2{ Foundation = α;
3 callPackage =
3 callPackage =
4− String ->
4+ Path ->
5 { Foundation = α;
5 { Foundation = α;
6 enableParallelBuilding = Bool;
6 enableParallelBuilding = Bool;
7− extraPatches = [String];
7+ extraPatches = [Path];
8 libobjc = β;
8 libobjc = β;
9 sha256 = String;
9 sha256 = String;
10 version = String;
10 version = String;
test/golden/importless/422.txt+1−1
@@ -8,7 +8,7 @@
8 homepage = String;
8 homepage = String;
9 license = ζ;
9 license = ζ;
10 longDescription = String;
10 longDescription = String;
11− maintainers = ∀ α. [α];
11+ maintainers = ∀ α. α;
12 platforms = η;
12 platforms = η;
13 };
13 };
14 name = String;
14 name = String;
test/golden/importless/44.0.txt+1−1
@@ -24,7 +24,7 @@
24 homepage = String;
24 homepage = String;
25 license = [ο];
25 license = [ο];
26 platforms = π;
26 platforms = π;
27− priority = Number;
27+ priority = Integer;
28 };
28 };
29 nativeBuildInputs = [μ];
29 nativeBuildInputs = [μ];
30 pipInstallFlags = [String];
30 pipInstallFlags = [String];
test/golden/importless/5.41.txt+3−3
@@ -13,7 +13,7 @@
13 platforms = ζ;
13 platforms = ζ;
14 };
14 };
15 name = String;
15 name = String;
16− patches = [String];
16+ patches = [Path];
17 postInstall = String;
17 postInstall = String;
18 src = η;
18 src = η;
19 version = String;
19 version = String;
@@ -28,12 +28,12 @@
28 π.peti = ε,
28 π.peti = ε,
29 ρ.platforms = σ,
29 ρ.platforms = σ,
30 σ.unix = ζ,
30 σ.unix = ζ,
31− τ.optionals = Bool -> [String] -> [String],
31+ τ.optionals = Bool -> [Path] -> [Path],
32 υ.optionalString = Bool -> String -> String
32 υ.optionalString = Bool -> String -> String
33) =>
33) =>
34{ ecl = Null;
34{ ecl = Null;
35 ecl-fasl = Bool;
35 ecl-fasl = Bool;
36− fetchpatch = {sha256 = String; url = String;} -> String;
36+ fetchpatch = {sha256 = String; url = String;} -> Path;
37 fetchurl = {sha256 = String; url = String;} -> η;
37 fetchurl = {sha256 = String; url = String;} -> η;
38 gnuplot = Null;
38 gnuplot = Null;
39 makeWrapper = Null;
39 makeWrapper = Null;
test/golden/importless/5.7.txt+1−1
@@ -13,7 +13,7 @@
13 platforms = [η];
13 platforms = [η];
14 };
14 };
15 nativeBuildInputs = θ;
15 nativeBuildInputs = θ;
16− patches = [String];
16+ patches = [Path];
17 pname = String;
17 pname = String;
18 prePatch = ι;
18 prePatch = ι;
19 src = κ;
19 src = κ;
test/golden/importless/6.3.txt+1−1
@@ -8,7 +8,7 @@
8 { description = String;
8 { description = String;
9 homepage = String;
9 homepage = String;
10 license = ζ;
10 license = ζ;
11− maintainers = ∀ α. [α];
11+ maintainers = ∀ α. α;
12 };
12 };
13 nativeBuildInputs = [θ];
13 nativeBuildInputs = [θ];
14 pname = String;
14 pname = String;
test/golden/importless/6.txt+1−1
@@ -1,7 +1,7 @@
1∀ α β γ.
1∀ α β γ.
2{ Foundation = α;
2{ Foundation = α;
3 callPackage =
3 callPackage =
4− String ->
4+ Path ->
5 { Foundation = α;
5 { Foundation = α;
6 enableParallelBuilding = Bool;
6 enableParallelBuilding = Bool;
7 libobjc = β;
7 libobjc = β;
test/golden/importless/60.txt+1−1
@@ -5,7 +5,7 @@
5 β.mkDerivation =
5 β.mkDerivation =
6 { buildInputs = [ε];
6 { buildInputs = [ε];
7 configureFlags = [String];
7 configureFlags = [String];
8− configurePlatforms = ∀ α. [α];
8+ configurePlatforms = ∀ α. α;
9 depsBuildBuild = [ζ];
9 depsBuildBuild = [ζ];
10 enableParallelBuilding = Bool;
10 enableParallelBuilding = Bool;
11 meta =
11 meta =
test/golden/importless/68.txt+1−1
@@ -5,7 +5,7 @@
5 β.mkDerivation =
5 β.mkDerivation =
6 { buildInputs = [ε];
6 { buildInputs = [ε];
7 configureFlags = [String];
7 configureFlags = [String];
8− configurePlatforms = ∀ α. [α];
8+ configurePlatforms = ∀ α. α;
9 depsBuildBuild = [ζ];
9 depsBuildBuild = [ζ];
10 enableParallelBuilding = Bool;
10 enableParallelBuilding = Bool;
11 meta =
11 meta =
test/golden/importless/7.6.6.txtdeleted−46
@@ -1,46 +0,0 @@
1−∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ.
2−( β.optional = γ -> String -> [δ],
3− ε.buildPlatform = ζ,
4− ε.hostPlatform = η,
5− ε.isLinux = θ,
6− ε.lib = ι,
7− ε.mkDerivation =
8− { buildInputs = [κ];
9− configureFlags = [String];
10− doCheck = Bool;
11− dontStrip = Bool;
12− enableParallelBuilding = Bool;
13− meta =
14− { description = String;
15− homepage = String;
16− license = String;
17− longDescription = String;
18− maintainers = ∀ α. [α];
19− platforms = λ;
20− };
21− nativeBuildInputs = [μ];
22− outputs = [String];
23− patches = [δ];
24− pname = String;
25− preConfigure = ν;
26− separateDebugInfo = θ;
27− src = ξ;
28− version = String;
29− } ->
30− ο,
31− ι.optionalString = Bool -> String -> ν,
32− η.libc = String,
33− π.isRiscV = γ,
34− ρ.platforms = σ,
35− σ.all = λ,
36− τ.libc = String
37−) =>
38−{ enableLargeConfig = Bool;
39− fetchpatch = {sha256 = String; url = String;} -> δ;
40− fetchurl = {sha256 = String; urls = [String];} -> ξ;
41− lib = β;
42− libatomic_ops = κ;
43− pkgconfig = μ;
44− stdenv = ε;
45−} ->
46−ο
test/golden/importless/78.txt+1−1
@@ -5,7 +5,7 @@
5 β.mkDerivation =
5 β.mkDerivation =
6 { buildInputs = [ε];
6 { buildInputs = [ε];
7 configureFlags = [String];
7 configureFlags = [String];
8− configurePlatforms = ∀ α. [α];
8+ configurePlatforms = ∀ α. α;
9 depsBuildBuild = [ζ];
9 depsBuildBuild = [ζ];
10 enableParallelBuilding = Bool;
10 enableParallelBuilding = Bool;
11 meta =
11 meta =
test/golden/importless/8.0.x.txt+1−1
@@ -20,7 +20,7 @@
20 outputs = [String];
20 outputs = [String];
21 passthru =
21 passthru =
22 {client = ξ; connector-c = ξ; mysqlVersion = String; server = ξ;};
22 {client = ξ; connector-c = ξ; mysqlVersion = String; server = ξ;};
23− patches = [String];
23+ patches = [Path];
24 pname = String;
24 pname = String;
25 postInstall = String;
25 postInstall = String;
26 src = ο;
26 src = ο;
test/golden/importless/8.5.txt+2−2
@@ -1,6 +1,6 @@
1∀ α β γ δ ε.
1∀ α β γ δ ε.
2−( α // {src = β;} ~ γ,
2+( (α) // ({src = β;}) ~ (γ),
3− α.callPackage = String -> γ -> δ,
3+ α.callPackage = Path -> γ -> δ,
4 α.fetchurl = {sha256 = String; url = String;} -> β,
4 α.fetchurl = {sha256 = String; url = String;} -> β,
5 α.tcl = ε
5 α.tcl = ε
6) =>
6) =>
test/golden/importless/8.6.txt+3−3
@@ -1,11 +1,11 @@
1∀ α β γ δ ε ζ η θ.
1∀ α β γ δ ε ζ η θ.
2−( α // {patches = [String]; src = β;} ~ γ,
2+( (α) // ({patches = [Path]; src = β;}) ~ (γ),
3− α.callPackage = String -> γ -> δ,
3+ α.callPackage = Path -> γ -> δ,
4 α.fetchurl = {sha256 = String; url = String;} -> β,
4 α.fetchurl = {sha256 = String; url = String;} -> β,
5 α.stdenv = ε,
5 α.stdenv = ε,
6 α.tcl = ζ,
6 α.tcl = ζ,
7 ε.isDarwin = η,
7 ε.isDarwin = η,
8 ε.lib = θ,
8 ε.lib = θ,
9− θ.optionals = η -> [String] -> [String]
9+ θ.optionals = η -> [Path] -> [Path]
10) =>
10) =>
11α -> δ
11α -> δ
test/golden/importless/8_0.txt+11−8
@@ -1,11 +1,14 @@
1∀ α β γ.
1∀ α β γ.
2−( α //
2+( ( α
3+ ) //
3− { extraPatches = [String];
4+ ( { extraPatches = [Path];
4− extraPostInstall = String;
5+ extraPostInstall = String;
5− sha256 = String;
6+ sha256 = String;
6− version = String;
7+ version = String;
7− } ~
8+ }
9+ ) ~
8− β,
10+ ( β
11+ ),
9− α.callPackage = String -> β -> γ
12+ α.callPackage = Path -> β -> γ
10) =>
13) =>
11α -> γ
14α -> γ
test/golden/importless/9.2.txt+3−3
@@ -1,14 +1,14 @@
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π.
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π.
2( β.lib = γ,
2( β.lib = γ,
3 δ.mkDerivation =
3 δ.mkDerivation =
4− { alt_wrapper = String;
4+ { alt_wrapper = Path;
5 buildInputs = [ε];
5 buildInputs = [ε];
6− builder = String;
6+ builder = Path;
7 cctools_port = ζ;
7 cctools_port = ζ;
8 ldid = ζ;
8 ldid = ζ;
9 meta =
9 meta =
10 { description = String;
10 { description = String;
11− hydraPlatforms = ∀ α. [α];
11+ hydraPlatforms = ∀ α. α;
12 license = η;
12 license = η;
13 maintainers = [θ];
13 maintainers = [θ];
14 platforms = ι;
14 platforms = ι;
test/golden/importless/Cargo.txt+1−1
@@ -2,7 +2,7 @@
2( α.isDarwin = β,
2( α.isDarwin = β,
3 α.lib = γ,
3 α.lib = γ,
4 δ.buildRustPackage =
4 δ.buildRustPackage =
5− { RUSTC_BOOTSTRAP = Number;
5+ { RUSTC_BOOTSTRAP = Integer;
6 buildAndTestSubdir = String;
6 buildAndTestSubdir = String;
7 buildInputs = [ε];
7 buildInputs = [ε];
8 cargoVendorDir = String;
8 cargoVendorDir = String;
test/golden/importless/account-service-util.txt+1−1
@@ -11,7 +11,7 @@
11 name = String;
11 name = String;
12 nativeBuildInputs = [η];
12 nativeBuildInputs = [η];
13 propagatedBuildInputs = [θ];
13 propagatedBuildInputs = [θ];
14− src = String;
14+ src = Path;
15 strictDeps = Bool;
15 strictDeps = Bool;
16 } ->
16 } ->
17 ι,
17 ι,
test/golden/importless/alexandria.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/aliases.txtnew file+217
@@ -0,0 +1,217 @@
1+∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1 ζ1 η1 θ1 ι1 κ1
2+λ1 μ1 ν1 ξ1 ο1 π1 ρ1 σ1 τ1 υ1 φ1 χ1 ψ1 ω1 α2 β2 γ2 δ2 ε2 ζ2 η2 θ2 ι2 κ2 λ2 μ2 ν2
3+ξ2 ο2 π2 ρ2 σ2 τ2 υ2 φ2 χ2 ψ2 ω2 α3 β3 γ3 δ3 ε3 ζ3 η3 θ3 ι3 κ3 λ3 μ3 ν3 ξ3 ο3 π3
4+ρ3 σ3 τ3 υ3 φ3 χ3 ψ3 ω3 α4 β4 γ4 δ4 ε4 ζ4 η4 θ4 ι4 κ4 λ4 μ4 ν4 ξ4 ο4 π4 ρ4 σ4
5+τ4.
6+( ( { BufOnly = α;
7+ CSApprox = β;
8+ Colour_Sampler_Pack = γ;
9+ Cosco = δ;
10+ Gist = ε;
11+ Gundo = ζ;
12+ Hoogle = η;
13+ Solarized = θ;
14+ Supertab = ι;
15+ Syntastic = κ;
16+ SyntaxRange = λ;
17+ Tabular = μ;
18+ Tagbar = ν;
19+ The_NERD_Commenter = ξ;
20+ The_NERD_tree = ο;
21+ UltiSnips = π;
22+ WebAPI = ρ;
23+ Yankring = σ;
24+ airline = τ;
25+ alternative = υ;
26+ bats = φ;
27+ calendar = χ;
28+ caw = ψ;
29+ coffee-script = ω;
30+ coffeeScript = α1;
31+ colors-solarized = β1;
32+ colorsamplerpack = γ1;
33+ command_T = δ1;
34+ commentary = ε1;
35+ committia = ζ1;
36+ concealedyank = η1;
37+ context-filetype = θ1;
38+ css_color_5056 = ι1;
39+ csv = κ1;
40+ ctrlp = λ1;
41+ cute-python = μ1;
42+ denite = ν1;
43+ easy-align = ξ1;
44+ easygit = ο1;
45+ easymotion = π1;
46+ echodoc = ρ1;
47+ eighties = σ1;
48+ extradite = τ1;
49+ fugitive = υ1;
50+ ghc-mod-vim = φ1;
51+ ghcmod = χ1;
52+ gitgutter = ψ1;
53+ goyo = ω1;
54+ gundo = α2;
55+ haskellConceal = β2;
56+ haskellConcealPlus = γ2;
57+ haskellconceal = δ2;
58+ hier = ε2;
59+ hlint-refactor = ζ2;
60+ hoogle = η2;
61+ ipython = θ2;
62+ latex-live-preview = ι2;
63+ maktaba = κ2;
64+ multiple-cursors = λ2;
65+ necoGhc = μ2;
66+ neocomplete = ν2;
67+ neoinclude = ξ2;
68+ neomru = ο2;
69+ neosnippet = π2;
70+ open-browser = ρ2;
71+ pathogen = σ2;
72+ polyglot = τ2;
73+ prettyprint = υ2;
74+ quickrun = φ2;
75+ rainbow_parentheses = χ2;
76+ repeat = ψ2;
77+ rhubarb = ω2;
78+ riv = α3;
79+ sensible = β3;
80+ signature = γ3;
81+ sleuth = δ3;
82+ snipmate = ε3;
83+ solarized = ζ3;
84+ solidity = η3;
85+ sourcemap = θ3;
86+ sourcemap.vim = ι3;
87+ stylish-haskell = κ3;
88+ stylishHaskell = λ3;
89+ surround = μ3;
90+ table-mode = ν3;
91+ tabpagebuffer = ξ3;
92+ tabpagecd = ο3;
93+ taglist = π3;
94+ thumbnail = ρ3;
95+ tlib = σ3;
96+ tmux-navigator = τ3;
97+ tmuxNavigator = υ3;
98+ tslime = φ3;
99+ unite = χ3;
100+ vim-addon-vim2nix = ψ3;
101+ vimproc = ω3;
102+ vimshell = α4;
103+ vinegar = β4;
104+ watchdogs = γ4;
105+ wombat256 = δ4;
106+ xterm-color-table = ε4;
107+ yankring = ζ4;
108+ zeavim = η4;
109+ }
110+ ) //
111+ ( θ4
112+ ) ~
113+ ( ι4
114+ ),
115+ κ4.?recurseForDerivations = Bool,
116+ λ4.mapAttrs = (μ4 -> κ4 -> κ4) -> ι4 -> ν4,
117+ ξ4.BufOnly-vim = α,
118+ ξ4.Colour-Sampler-Pack = γ,
119+ ξ4.YankRing-vim = σ,
120+ ξ4.a-vim = υ,
121+ ξ4.bats-vim = φ,
122+ ξ4.builtins = ο4,
123+ ξ4.calendar-vim = χ,
124+ ξ4.caw-vim = ψ,
125+ ξ4.command-t = δ1,
126+ ξ4.committia-vim = ζ1,
127+ ξ4.concealedyank-vim = η1,
128+ ξ4.context_filetype-vim = θ1,
129+ ξ4.cosco-vim = δ,
130+ ξ4.csapprox = β,
131+ ξ4.csv-vim = κ1,
132+ ξ4.ctrlp-vim = λ1,
133+ ξ4.denite-nvim = ν1,
134+ ξ4.dontDistribute = κ4 -> κ4,
135+ ξ4.echodoc-vim = ρ1,
136+ ξ4.ghcmod-vim = φ1,
137+ ξ4.goyo-vim = ω1,
138+ ξ4.gundo-vim = ζ,
139+ ξ4.hlint-refactor-vim = ζ2,
140+ ξ4.isDerivation = κ4 -> Bool,
141+ ξ4.neco-ghc = μ2,
142+ ξ4.neocomplete-vim = ν2,
143+ ξ4.neoinclude-vim = ξ2,
144+ ξ4.neomru-vim = ο2,
145+ ξ4.neosnippet-vim = π2,
146+ ξ4.nerdcommenter = ξ,
147+ ξ4.nerdtree = ο,
148+ ξ4.open-browser-vim = ρ2,
149+ ξ4.rainbow_parentheses-vim = χ2,
150+ ξ4.removeAttrs = κ4 -> [String] -> κ4,
151+ ξ4.riv-vim = α3,
152+ ξ4.sourcemap-vim = θ3,
153+ ξ4.supertab = ι,
154+ ξ4.syntastic = κ,
155+ ξ4.tabpagebuffer-vim = ξ3,
156+ ξ4.tabular = μ,
157+ ξ4.tagbar = ν,
158+ ξ4.taglist-vim = π3,
159+ ξ4.throw = String -> κ4,
160+ ξ4.thumbnail-vim = ρ3,
161+ ξ4.tlib_vim = σ3,
162+ ξ4.tslime-vim = φ3,
163+ ξ4.ultisnips = π,
164+ ξ4.unite-vim = χ3,
165+ ξ4.vim-SyntaxRange = λ,
166+ ξ4.vim-airline = τ,
167+ ξ4.vim-coffee-script = ω,
168+ ξ4.vim-colors-solarized = θ,
169+ ξ4.vim-commentary = ε1,
170+ ξ4.vim-css-color = ι1,
171+ ξ4.vim-cute-python = μ1,
172+ ξ4.vim-easy-align = ξ1,
173+ ξ4.vim-easygit = ο1,
174+ ξ4.vim-easymotion = π1,
175+ ξ4.vim-eighties = σ1,
176+ ξ4.vim-extradite = τ1,
177+ ξ4.vim-fugitive = υ1,
178+ ξ4.vim-gist = ε,
179+ ξ4.vim-gitgutter = ψ1,
180+ ξ4.vim-haskellConcealPlus = γ2,
181+ ξ4.vim-haskellconceal = β2,
182+ ξ4.vim-hier = ε2,
183+ ξ4.vim-hoogle = η,
184+ ξ4.vim-ipython = θ2,
185+ ξ4.vim-latex-live-preview = ι2,
186+ ξ4.vim-maktaba = κ2,
187+ ξ4.vim-multiple-cursors = λ2,
188+ ξ4.vim-pathogen = σ2,
189+ ξ4.vim-polyglot = τ2,
190+ ξ4.vim-prettyprint = υ2,
191+ ξ4.vim-quickrun = φ2,
192+ ξ4.vim-repeat = ψ2,
193+ ξ4.vim-rhubarb = ω2,
194+ ξ4.vim-sensible = β3,
195+ ξ4.vim-signature = γ3,
196+ ξ4.vim-sleuth = δ3,
197+ ξ4.vim-snipmate = ε3,
198+ ξ4.vim-solidity = η3,
199+ ξ4.vim-stylish-haskell = κ3,
200+ ξ4.vim-surround = μ3,
201+ ξ4.vim-table-mode = ν3,
202+ ξ4.vim-tabpagecd = ο3,
203+ ξ4.vim-tmux-navigator = τ3,
204+ ξ4.vim-vinegar = β4,
205+ ξ4.vim-watchdogs = γ4,
206+ ξ4.vim2nix = ψ3,
207+ ξ4.vimproc-vim = ω3,
208+ ξ4.vimshell-vim = α4,
209+ ξ4.webapi-vim = ρ,
210+ ξ4.wombat256-vim = δ4,
211+ ξ4.xterm-color-table-vim = ε4,
212+ ξ4.zeavim-vim = η4,
213+ ο4.hasAttr = μ4 -> ξ4 -> Bool,
214+ π4.fromJSON = ρ4 -> σ4,
215+ τ4.readFile = Path -> ρ4
216+) =>
217+λ4 -> ξ4 -> ν4
test/golden/importless/amd-microcode.txt+1−1
@@ -5,7 +5,7 @@
5 β.hardware = ε,
5 β.hardware = ε,
6 γ.mkIf = ζ -> {boot = {initrd = {prepend = η;};};} -> θ,
6 γ.mkIf = ζ -> {boot = {initrd = {prepend = η;};};} -> θ,
7 γ.mkOption = {default = Bool; description = String; type = ι;} -> κ,
7 γ.mkOption = {default = Bool; description = String; type = ι;} -> κ,
8− γ.mkOrder = Number -> [String] -> η,
8+ γ.mkOrder = Integer -> [String] -> η,
9 γ.types = λ,
9 γ.types = λ,
10 ε.cpu = μ,
10 ε.cpu = μ,
11 μ.amd = ν,
11 μ.amd = ν,
test/golden/importless/apcupsd.txt+1−1
@@ -10,6 +10,6 @@
10) =>
10) =>
11{config = α; lib = γ; options = μ; pkgs = ν;} ->
11{config = α; lib = γ; options = μ; pkgs = ν;} ->
12{ extraOpts = {apcupsdAddress = ε; apcupsdNetwork = ξ;};
12{ extraOpts = {apcupsdAddress = ε; apcupsdNetwork = ξ;};
13− port = Number;
13+ port = Integer;
14 serviceOpts = {serviceConfig = {ExecStart = String;};};
14 serviceOpts = {serviceConfig = {ExecStart = String;};};
15}
15}
test/golden/importless/apeclex.txt+1−1
@@ -1,7 +1,7 @@
1∀ α β γ δ ε ζ η.
1∀ α β γ δ ε ζ η.
2(α.lib = β, β.licenses = γ, γ.lgpl3 = δ, ε.gpl3 = δ) => { attemptoClex = ζ;
2(α.lib = β, β.licenses = γ, γ.lgpl3 = δ, ε.gpl3 = δ) => { attemptoClex = ζ;
3 callPackage =
3 callPackage =
4− String ->
4+ Path ->
5 { description = String;
5 { description = String;
6 lexiconPath = String;
6 lexiconPath = String;
7 license = [δ];
7 license = [δ];
test/golden/importless/apiextractor.txt+1−1
@@ -7,7 +7,7 @@
7 { description = String;
7 { description = String;
8 homepage = String;
8 homepage = String;
9 license = ε;
9 license = ε;
10− maintainers = ∀ α. [α];
10+ maintainers = ∀ α. α;
11 platforms = ζ;
11 platforms = ζ;
12 };
12 };
13 name = String;
13 name = String;
test/golden/importless/appliance.txt+1−1
@@ -1,6 +1,6 @@
1∀ β.
1∀ β.
2{ fetchzip =
2{ fetchzip =
3− { meta = {hydraPlatforms = ∀ α. [α];};
3+ { meta = {hydraPlatforms = ∀ α. α;};
4 name = String;
4 name = String;
5 sha256 = String;
5 sha256 = String;
6 url = String;
6 url = String;
test/golden/importless/archive-version.txt+1−1
@@ -1,6 +1,6 @@
1∀ α β γ δ ε.
1∀ α β γ δ ε.
2( α.concatMapStrings = β -> γ -> String,
2( α.concatMapStrings = β -> γ -> String,
3− α.fixedWidthNumber = Number -> β,
3+ α.fixedWidthNumber = Integer -> β,
4 α.head = δ -> String,
4 α.head = δ -> String,
5 α.splitVersion = ε -> δ,
5 α.splitVersion = ε -> δ,
6 α.tail = δ -> γ
6 α.tail = δ -> γ
test/golden/importless/array-utils.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/asdf-finalizers.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/asdf-package-system.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/asdf-system-connections.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/assets.txt+1−1
@@ -7,7 +7,7 @@
7 meta =
7 meta =
8 { description = String;
8 { description = String;
9 homepage = String;
9 homepage = String;
10− hydraPlatforms = ∀ α. [α];
10+ hydraPlatforms = ∀ α. α;
11 license = δ;
11 license = δ;
12 maintainers = [ε];
12 maintainers = [ε];
13 };
13 };
test/golden/importless/atd.txtnew file+59
@@ -0,0 +1,59 @@
1+∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1.
2+( α.config = β,
3+ α.lib = γ,
4+ α.pkgs = δ,
5+ β.ids = ε,
6+ β.services = ζ,
7+ γ.builtins = η,
8+ γ.map =
9+ ( θ ->
10+ { name = String;
11+ value =
12+ { group = String;
13+ owner = String;
14+ setgid = Bool;
15+ setuid = Bool;
16+ source = String;
17+ };
18+ }
19+ ) ->
20+ [String] -> ι,
21+ γ.mkIf =
22+ κ ->
23+ { environment = {systemPackages = [λ];};
24+ security = {pam = {services = {atd = {};};}; wrappers = μ;};
25+ systemd =
26+ { services =
27+ { atd =
28+ { description = String;
29+ path = [λ];
30+ preStart = String;
31+ script = String;
32+ serviceConfig = {Type = String;};
33+ wantedBy = [String];
34+ };
35+ };
36+ };
37+ users =
38+ { groups = {atd = {gid = ν;};};
39+ users = {atd = {description = String; home = String; uid = ξ;};};
40+ };
41+ } ->
42+ ο,
43+ γ.mkOption = {default = Bool; description = String; type = π;} -> ρ,
44+ γ.types = σ,
45+ δ.at = λ,
46+ ζ.atd = τ,
47+ τ.enable = κ,
48+ η.listToAttrs = ι -> μ,
49+ ε.gids = υ,
50+ υ.atd = ν,
51+ φ.uids = χ,
52+ χ.atd = ξ,
53+ σ.bool = π,
54+ ψ.bool = ω
55+) =>
56+α ->
57+{ config = ο;
58+ options = {services = {atd = {allowEveryone = ρ; enable = α1;};};};
59+}
test/golden/importless/atop.txt+1−1
@@ -8,7 +8,7 @@
8 γ.mkOption =
8 γ.mkOption =
9 { default = {};
9 { default = {};
10 description = String;
10 description = String;
11− example = {flags = String; interval = Number;};
11+ example = {flags = String; interval = Integer;};
12 type = λ;
12 type = λ;
13 } ->
13 } ->
14 μ,
14 μ,
test/golden/importless/attica.txtdeleted−14
@@ -1,14 +0,0 @@
1−∀ α β γ δ ε ζ η.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { extra-cmake-modules = ζ;
3− lib = α;
4− mkDerivation =
5− { buildInputs = [γ];
6− meta = {broken = Bool; maintainers = [ε];};
7− name = String;
8− nativeBuildInputs = [ζ];
9− outputs = [String];
10− } ->
11− η;
12− qtbase = γ;
13−} ->
14−η
test/golden/importless/automake-1.11.x.txt+3−3
@@ -2,7 +2,7 @@
2( α.lib = β,
2( α.lib = β,
3 α.mkDerivation =
3 α.mkDerivation =
4 { buildInputs = [γ];
4 { buildInputs = [γ];
5− builder = String;
5+ builder = Path;
6 doCheck = Bool;
6 doCheck = Bool;
7 dontPatchShebangs = Bool;
7 dontPatchShebangs = Bool;
8 enableParallelBuilding = Bool;
8 enableParallelBuilding = Bool;
@@ -15,9 +15,9 @@
15 platforms = ε;
15 platforms = ε;
16 };
16 };
17 name = String;
17 name = String;
18− patches = [String];
18+ patches = [Path];
19 preCheck = String;
19 preCheck = String;
20− setupHook = String;
20+ setupHook = Path;
21 src = ζ;
21 src = ζ;
22 } ->
22 } ->
23 η,
23 η,
test/golden/importless/automake-1.15.x.txt+2−2
@@ -16,9 +16,9 @@
16 };
16 };
17 name = String;
17 name = String;
18 nativeBuildInputs = [γ];
18 nativeBuildInputs = [γ];
19− patches = [String];
19+ patches = [Path];
20 preCheck = String;
20 preCheck = String;
21− setupHook = String;
21+ setupHook = Path;
22 src = ζ;
22 src = ζ;
23 } ->
23 } ->
24 η,
24 η,
test/golden/importless/automake-1.16.x.txt+1−1
@@ -17,7 +17,7 @@
17 name = String;
17 name = String;
18 nativeBuildInputs = [γ];
18 nativeBuildInputs = [γ];
19 preCheck = String;
19 preCheck = String;
20− setupHook = String;
20+ setupHook = Path;
21 src = ζ;
21 src = ζ;
22 } ->
22 } ->
23 η,
23 η,
test/golden/importless/autorandr.txt+2−2
@@ -18,8 +18,8 @@
18 serviceConfig =
18 serviceConfig =
19 { ExecStart = String;
19 { ExecStart = String;
20 RemainAfterExit = Bool;
20 RemainAfterExit = Bool;
21− StartLimitBurst = Number;
21+ StartLimitBurst = Integer;
22− StartLimitInterval = Number;
22+ StartLimitInterval = Integer;
23 Type = String;
23 Type = String;
24 };
24 };
25 wantedBy = [String];
25 wantedBy = [String];
test/golden/importless/aws-s3-exporter.txt+1−1
@@ -7,7 +7,7 @@
7) =>
7) =>
8{ buildGoPackage =
8{ buildGoPackage =
9 { doCheck = Bool;
9 { doCheck = Bool;
10− goDeps = String;
10+ goDeps = Path;
11 goPackagePath = String;
11 goPackagePath = String;
12 meta =
12 meta =
13 { description = String;
13 { description = String;
test/golden/importless/azure-agent.txt+2−2
@@ -16,7 +16,7 @@
16 environment = {etc = {waagent.conf = {text = String;};};};
16 environment = {etc = {waagent.conf = {text = String;};};};
17 networking =
17 networking =
18 { dhcpcd = {persistent = Bool;};
18 { dhcpcd = {persistent = Bool;};
19− firewall = {allowedUDPPorts = [Number];};
19+ firewall = {allowedUDPPorts = [Integer];};
20 };
20 };
21 services =
21 services =
22 { logrotate = {config = String; enable = Bool;};
22 { logrotate = {config = String; enable = Bool;};
@@ -75,7 +75,7 @@
75 configurePhase = Bool;
75 configurePhase = Bool;
76 installPhase = String;
76 installPhase = String;
77 name = String;
77 name = String;
78− patches = [String];
78+ patches = [Path];
79 pythonPath = [υ];
79 pythonPath = [υ];
80 runtimeDeps = [η];
80 runtimeDeps = [η];
81 src = ρ;
81 src = ρ;
test/golden/importless/b43.txt+15−13
@@ -1,19 +1,21 @@
1−∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ.
1+∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ.
2( α.config = β,
2( α.config = β,
3 α.lib = γ,
3 α.lib = γ,
4 α.pkgs = δ,
4 α.pkgs = δ,
5 β.boot = ε,
5 β.boot = ε,
6 β.networking = ζ,
6 β.networking = ζ,
7− γ.lessThan = Number -> η -> θ,
7+ γ.builtins = η,
8+ γ.lessThan = Integer -> θ -> ι,
8− γ.mkIf = ι -> {assertions = κ; hardware = {firmware = [λ];};} -> μ,
9+ γ.mkIf = κ -> {assertions = λ; hardware = {firmware = [μ];};} -> ν,
9− γ.mkOption = {default = Bool; description = String; type = ν;} -> ξ,
10+ γ.mkOption = {default = Bool; description = String; type = ξ;} -> ο,
10− γ.singleton = {assertion = θ; message = String;} -> κ,
11+ γ.singleton = {assertion = ι; message = String;} -> λ,
11− γ.types = ο,
12+ γ.types = π,
12− δ.b43Firmware_5_1_138 = λ,
13+ δ.b43Firmware_5_1_138 = μ,
13− ε.kernelPackages = π,
14+ ε.kernelPackages = ρ,
14− π.kernel = ρ,
15+ ρ.kernel = σ,
15− ρ.version = σ,
16+ σ.version = τ,
16− ζ.enableB43Firmware = ι,
17+ ζ.enableB43Firmware = κ,
18+ η.compareVersions = τ -> String -> θ,
17− ο.bool = ν
19+ π.bool = ξ
18) =>
20) =>
19−α -> {config = μ; options = {networking = {enableB43Firmware = ξ;};};}
21+α -> {config = ν; options = {networking = {enableB43Firmware = ο;};};}
test/golden/importless/bcc-git.txt+1−1
@@ -11,7 +11,7 @@
11 maintainers = [δ];
11 maintainers = [δ];
12 };
12 };
13 name = String;
13 name = String;
14− patches = [String];
14+ patches = [Path];
15 src = ε;
15 src = ε;
16 } ->
16 } ->
17 ζ,
17 ζ,
test/golden/importless/binary-tarball.txt+22−16
@@ -1,20 +1,26 @@
1∀ β γ δ ε ζ η.
1∀ β γ δ ε ζ η.
2−( β //
2+( ( β
3+ ) //
3− { distPhase = String;
4+ ( { distPhase = String;
4− doDist = Bool;
5+ doDist = Bool;
5− finalPhase = String;
6+ finalPhase = String;
6− meta = ∀ α. α;
7+ meta = ∀ α. α;
7− name = String;
8+ name = String;
8− postHook = String;
9+ postHook = String;
10+ }
9− } ~
11+ ) ~
10− γ,
12+ ( γ
13+ ),
11− { doCheck = Bool;
14+ ( { doCheck = Bool;
12− postPhases = String;
15+ postPhases = String;
13− prefix = String;
16+ prefix = String;
14− showBuildStats = Bool;
17+ showBuildStats = Bool;
18+ }
15− } //
19+ ) //
16− γ ~
20+ ( γ
21+ ) ~
17− δ,
22+ ( δ
23+ ),
18 β.meta = {},
24 β.meta = {},
19 β.?name = String,
25 β.?name = String,
20 ε.version = String,
26 ε.version = String,
test/golden/importless/blivet.txt+1−1
@@ -15,7 +15,7 @@
15 license = [ε];
15 license = [ε];
16 platforms = θ;
16 platforms = θ;
17 };
17 };
18− patches = [String];
18+ patches = [Path];
19 pname = String;
19 pname = String;
20 postPatch = String;
20 postPatch = String;
21 propagatedBuildInputs = [γ];
21 propagatedBuildInputs = [γ];
test/golden/importless/blocks-gaps.txt+1−1
@@ -20,7 +20,7 @@
20 ι,
20 ι,
21 β.carlsverre = ε,
21 β.carlsverre = ε,
22 β.intersectLists = [String] -> [String] -> κ,
22 β.intersectLists = [String] -> [String] -> κ,
23− β.length = κ -> Number,
23+ β.length = κ -> Integer,
24 β.licenses = λ,
24 β.licenses = λ,
25 β.maintainers = μ,
25 β.maintainers = μ,
26 β.optional = Bool -> ν -> γ,
26 β.optional = Bool -> ν -> γ,
test/golden/importless/bloodspilot-server.txt+1−1
@@ -9,7 +9,7 @@
9 maintainers = [ε];
9 maintainers = [ε];
10 platforms = ζ;
10 platforms = ζ;
11 };
11 };
12− patches = [String];
12+ patches = [Path];
13 pname = String;
13 pname = String;
14 src = η;
14 src = η;
15 version = String;
15 version = String;
test/golden/importless/bluez-qt.txtdeleted−16
@@ -1,16 +0,0 @@
1−∀ α β γ δ ε ζ η θ.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { extra-cmake-modules = ζ;
3− lib = α;
4− mkDerivation =
5− { buildInputs = [η];
6− meta = {broken = Bool; maintainers = [ε];};
7− name = String;
8− nativeBuildInputs = [ζ];
9− preConfigure = String;
10− propagatedBuildInputs = [γ];
11− } ->
12− θ;
13− qtbase = γ;
14− qtdeclarative = η;
15−} ->
16−θ
test/golden/importless/brltty.txt+5−5
@@ -13,15 +13,15 @@
13 description = String;
13 description = String;
14 serviceConfig =
14 serviceConfig =
15 { ExecStart = String;
15 { ExecStart = String;
16− Nice = Number;
16+ Nice = Integer;
17− OOMScoreAdjust = Number;
17+ OOMScoreAdjust = Integer;
18 ProtectHome = String;
18 ProtectHome = String;
19 ProtectSystem = String;
19 ProtectSystem = String;
20 Restart = String;
20 Restart = String;
21− RestartSec = Number;
21+ RestartSec = Integer;
22 SystemCallArchitectures = String;
22 SystemCallArchitectures = String;
23− TimeoutStartSec = Number;
23+ TimeoutStartSec = Integer;
24− TimeoutStopSec = Number;
24+ TimeoutStopSec = Integer;
25 Type = String;
25 Type = String;
26 };
26 };
27 unitConfig =
27 unitConfig =
test/golden/importless/build-rebar3.txt+22−19
@@ -1,23 +1,26 @@
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ.
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ.
2−( β // γ ~ {buildInputs = [δ]; name = String;},
2+( (β) // (γ) ~ ({buildInputs = [δ]; name = String;}),
3− { buildInputs = [ε];
3+ ( { buildInputs = [ε];
4− buildPhase = String;
4+ buildPhase = String;
5− buildPlugins = [ζ];
5+ buildPlugins = [ζ];
6− compilePorts = Bool;
6+ compilePorts = Bool;
7− configurePhase = String;
7+ configurePhase = String;
8− dontStrip = Bool;
8+ dontStrip = Bool;
9− installPhase = String;
9+ installPhase = String;
10− meta = ∀ α. α;
10+ meta = ∀ α. α;
11− name = String;
11+ name = String;
12− passthru = {beamDeps = [ζ]; env = η; packageName = θ;};
12+ passthru = {beamDeps = [ζ]; env = η; packageName = θ;};
13− postPatch = String;
13+ postPatch = String;
14− propagatedBuildInputs = ι;
14+ propagatedBuildInputs = ι;
15− setupHook = κ;
15+ setupHook = κ;
16− src = λ;
16+ src = λ;
17− version = μ;
17+ version = μ;
18+ }
18− } //
19+ ) //
19− ν ~
20+ ( ν
21+ ) ~
20− γ,
22+ ( γ
23+ ),
21 β.?beamDeps = [ζ],
24 β.?beamDeps = [ζ],
22 β.?buildInputs = [ε],
25 β.?buildInputs = [ε],
23 β.?buildPhase = Null,
26 β.?buildPhase = Null,
test/golden/importless/build-solution.txt+1−1
@@ -10,7 +10,7 @@
10 ε
10 ε
11) =>
11) =>
12{dotnetfx = β; stdenv = α;} ->
12{dotnetfx = β; stdenv = α;} ->
13−{ assemblyInputs = [ζ];
13+{ assemblyInputs = ζ;
14 baseDir = String;
14 baseDir = String;
15 mainClassFile = Null;
15 mainClassFile = Null;
16 modifyPublicMain = Bool;
16 modifyPublicMain = Bool;
test/golden/importless/build.txt+2−2
@@ -12,7 +12,7 @@
12 platforms = ζ;
12 platforms = ζ;
13 };
13 };
14 nativeBuildInputs = [η];
14 nativeBuildInputs = [η];
15− patches = [θ];
15+ patches = θ;
16 pname = String;
16 pname = String;
17 postInstall = String;
17 postInstall = String;
18 postPatch = String;
18 postPatch = String;
@@ -39,7 +39,7 @@
39 libxslt = γ;
39 libxslt = γ;
40 makeWrapper = γ;
40 makeWrapper = γ;
41 pango = γ;
41 pango = γ;
42− patches = [θ];
42+ patches = θ;
43 pkgconfig = η;
43 pkgconfig = η;
44 rev = ο;
44 rev = ο;
45 sha256 = π;
45 sha256 = π;
test/golden/importless/buildOcamlJane.txt+16−13
@@ -1,17 +1,20 @@
1∀ α β γ δ ε ζ.
1∀ α β γ δ ε ζ.
2−( α //
2+( ( α
3+ ) //
3− { buildInputs = [β];
4+ ( { buildInputs = [β];
4− buildPhase = String;
5+ buildPhase = String;
5− configurePhase = String;
6+ configurePhase = String;
6− dontAddPrefix = Bool;
7+ dontAddPrefix = Bool;
7− hasSharedObjects = Bool;
8+ hasSharedObjects = Bool;
8− installPhase = String;
9+ installPhase = String;
9− minimumSupportedOcamlVersion = String;
10+ minimumSupportedOcamlVersion = String;
10− name = γ;
11+ name = γ;
11− src = δ;
12+ src = δ;
12− version = String;
13+ version = String;
13− } ~
14+ }
15+ ) ~
14− ε,
16+ ( ε
17+ ),
15 α.?buildInputs = [β],
18 α.?buildInputs = [β],
16 α.?hash = String,
19 α.?hash = String,
17 α.?minimumSupportedOcamlVersion = String,
20 α.?minimumSupportedOcamlVersion = String,
test/golden/importless/builder.txt+13−10
@@ -1,14 +1,17 @@
1∀ α β γ δ ε ζ η θ.
1∀ α β γ δ ε ζ η θ.
2−( α //
2+( ( α
3+ ) //
3− { buildPhase = String;
4+ ( { buildPhase = String;
4− checkPhase = String;
5+ checkPhase = String;
5− configurePhase = String;
6+ configurePhase = String;
6− installPhase = String;
7+ installPhase = String;
7− modRoot = String;
8+ modRoot = String;
8− passthru = {forCurses = Bool; forTiles = Bool;};
9+ passthru = {forCurses = Bool; forTiles = Bool;};
9− pname = String;
10+ pname = String;
10− } ~
11+ }
12+ ) ~
11− β,
13+ ( β
14+ ),
12 α.?buildPhase = String,
15 α.?buildPhase = String,
13 α.?checkPhase = String,
16 α.?checkPhase = String,
14 α.?configurePhase = String,
17 α.?configurePhase = String,
test/golden/importless/builds.txt+1−1
@@ -22,7 +22,7 @@
22 maintainers = [ζ];
22 maintainers = [ζ];
23 };
23 };
24 nativeBuildInputs = ε;
24 nativeBuildInputs = ε;
25− patches = [String];
25+ patches = [Path];
26 pname = String;
26 pname = String;
27 postInstall = String;
27 postInstall = String;
28 preBuild = String;
28 preBuild = String;
test/golden/importless/chacha.txt+1−1
@@ -12,7 +12,7 @@
12 license = δ;
12 license = δ;
13 maintainers = [ε];
13 maintainers = [ε];
14 platforms = [String];
14 platforms = [String];
15− priority = Number;
15+ priority = Integer;
16 };
16 };
17 nativeBuildInputs = [ζ];
17 nativeBuildInputs = [ζ];
18 outputs = [String];
18 outputs = [String];
test/golden/importless/check-plugin.txt+1−1
@@ -11,7 +11,7 @@
11 };
11 };
12 name = String;
12 name = String;
13 nativeBuildInputs = [η];
13 nativeBuildInputs = [η];
14− patches = [String];
14+ patches = [Path];
15 prePatch = String;
15 prePatch = String;
16 propagatedBuildInputs = [δ];
16 propagatedBuildInputs = [δ];
17 src = θ;
17 src = θ;
test/golden/importless/chipz.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/chrootenv.txt+2−2
@@ -23,7 +23,7 @@
23 β.pkgs = δ,
23 β.pkgs = δ,
24 γ.override =
24 γ.override =
25 { packageOverrides =
25 { packageOverrides =
26− (ε.callPackage = String -> {} -> ζ) => ε ->
26+ (ε.callPackage = Path -> {} -> ζ) => ε ->
27 η -> {platformio = ζ;};
27 η -> {platformio = ζ;};
28 } ->
28 } ->
29 β,
29 β,
@@ -43,7 +43,7 @@
43 β.pkgs = δ,
43 β.pkgs = δ,
44 γ.override =
44 γ.override =
45 { packageOverrides =
45 { packageOverrides =
46− (ε.callPackage = String -> {} -> ζ) => ε ->
46+ (ε.callPackage = Path -> {} -> ζ) => ε ->
47 η -> {platformio = ζ;};
47 η -> {platformio = ζ;};
48 } ->
48 } ->
49 β,
49 β,
test/golden/importless/cl-aa.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/cl-anonfun.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/cl-css.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/cl-html-parse.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/cl-jpeg.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/cl-l10n-cldr.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/cl-log.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/cl-markup.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/cl-paths.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/cl-unification.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/cl-utilities.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/clack-socket.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/clippy.txt+1−1
@@ -2,7 +2,7 @@
2( α.isDarwin = β,
2( α.isDarwin = β,
3 α.lib = γ,
3 α.lib = γ,
4 δ.buildRustPackage =
4 δ.buildRustPackage =
5− { RUSTC_BOOTSTRAP = Number;
5+ { RUSTC_BOOTSTRAP = Integer;
6 buildAndTestSubdir = String;
6 buildAndTestSubdir = String;
7 buildInputs = [ε];
7 buildInputs = [ε];
8 cargoVendorDir = String;
8 cargoVendorDir = String;
test/golden/importless/closer-mop.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/cmake-modules.txt+1−1
@@ -5,7 +5,7 @@
5 nativeBuildInputs = [ε];
5 nativeBuildInputs = [ε];
6 pname = String;
6 pname = String;
7 prePatch = String;
7 prePatch = String;
8− setupHook = String;
8+ setupHook = Path;
9 src = ζ;
9 src = ζ;
10 version = String;
10 version = String;
11 } ->
11 } ->
test/golden/importless/cohttp.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ ι κ λ.
1∀ β γ δ ε ζ η θ ι κ λ.
2−( β // {description = String;} ~ γ,
2+( (β) // ({description = String;}) ~ (γ),
3 δ.optionals = Bool -> [ε] -> ζ,
3 δ.optionals = Bool -> [ε] -> ζ,
4 η.meta = β,
4 η.meta = β,
5 η.src = θ,
5 η.src = θ,
test/golden/importless/combinators.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ.
1∀ β γ δ ε ζ η θ.
2−( β // {description = String;} ~ γ,
2+( (β) // ({description = String;}) ~ (γ),
3 δ.meta = β,
3 δ.meta = β,
4 δ.src = ε,
4 δ.src = ε,
5 δ.version = ζ
5 δ.version = ζ
test/golden/importless/command-line-arguments.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/common.txt+2−2
@@ -19,7 +19,7 @@
19 β ->
19 β ->
20 { environment = {systemPackages = [δ];};
20 { environment = {systemPackages = [δ];};
21 nix =
21 nix =
22− { binaryCaches = ∀ α. [α];
22+ { binaryCaches = ∀ α. α;
23 buildMachines = [{hostName = String; systems = [ι];}];
23 buildMachines = [{hostName = String; systems = [ι];}];
24 distributedBuilds = Bool;
24 distributedBuilds = Bool;
25 };
25 };
@@ -33,6 +33,6 @@
33 postfix = {enable = Bool;};
33 postfix = {enable = Bool;};
34 };
34 };
35 time = {timeZone = String;};
35 time = {timeZone = String;};
36− virtualisation = {memorySize = Number;};
36+ virtualisation = {memorySize = Integer;};
37 };
37 };
38}
38}
test/golden/importless/community.txt+1−1
@@ -20,7 +20,7 @@
20 platforms = [κ];
20 platforms = [κ];
21 };
21 };
22 nativeBuildInputs = [λ];
22 nativeBuildInputs = [λ];
23− patches = [String];
23+ patches = [Path];
24 pname = String;
24 pname = String;
25 postPatch = μ;
25 postPatch = μ;
26 preFixup = ν;
26 preFixup = ν;
test/golden/importless/compiler-rt.txt+5−7
@@ -11,7 +11,7 @@
11 enableParallelBuilding = Bool;
11 enableParallelBuilding = Bool;
12 nativeBuildInputs = [ζ];
12 nativeBuildInputs = [ζ];
13 outputs = [String];
13 outputs = [String];
14− patches = [String];
14+ patches = [Path];
15 pname = String;
15 pname = String;
16 postInstall = η;
16 postInstall = η;
17 postPatch = θ;
17 postPatch = θ;
@@ -29,20 +29,18 @@
29 υ.optionals = Bool -> [String] -> [String],
29 υ.optionals = Bool -> [String] -> [String],
30 φ.optionals = Bool -> [String] -> [String],
30 φ.optionals = Bool -> [String] -> [String],
31 χ.optionals = Bool -> [String] -> [String],
31 χ.optionals = Bool -> [String] -> [String],
32− ψ.optional = ω -> String -> [String],
32+ ψ.optional = ω -> Path -> [Path],
33 α1.isMusl = ω,
33 α1.isMusl = ω,
34− β1.optional = Bool -> String -> [String],
34+ β1.optional = Bool -> Path -> [Path],
35 γ1.libc = String,
35 γ1.libc = String,
36− δ1.optional = ε1 -> String -> [String],
36+ δ1.optional = ε1 -> Path -> [Path],
37 ζ1.isAarch32 = ε1,
37 ζ1.isAarch32 = ε1,
38 η1.optionalString = Bool -> String -> η,
38 η1.optionalString = Bool -> String -> η,
39 θ1.isDarwin = Bool,
39 θ1.isDarwin = Bool,
40 ι1.isWasm = Bool,
40 ι1.isWasm = Bool,
41 κ1.optionalString = Bool -> String -> η,
41 κ1.optionalString = Bool -> String -> η,
42 λ1.optionalString = γ -> String -> θ,
42 λ1.optionalString = γ -> String -> θ,
43− μ1.optionalString = Bool -> String -> θ,
43+ μ1.optionalString = Bool -> String -> θ
44− (String | Number) ~ η,
45− (String | Number) ~ θ
46) =>
44) =>
47{ cmake = ζ;
45{ cmake = ζ;
48 fetch = String -> String -> ι;
46 fetch = String -> String -> ι;
test/golden/importless/compiler.txt+1−1
@@ -6,7 +6,7 @@
6) =>
6) =>
7{ buildDunePackage =
7{ buildDunePackage =
8 { buildInputs = [η];
8 { buildInputs = [η];
9− configurePlatforms = ∀ α. [α];
9+ configurePlatforms = ∀ α. α;
10 meta =
10 meta =
11 { description = String;
11 { description = String;
12 homepage = String;
12 homepage = String;
test/golden/importless/component-packages.txt+671−671
@@ -1,36 +1,36 @@
1{ components =
1{ components =
2− { abode = ∀ α β. α -> [β];
2+ { abode = ∀ α β. α -> β;
3− accuweather = ∀ α β. α -> [β];
3+ accuweather = ∀ α β. α -> β;
4 acer_projector = ∀ α β. (α.pyserial = β) => α -> [β];
4 acer_projector = ∀ α β. (α.pyserial = β) => α -> [β];
5− acmeda = ∀ α β. α -> [β];
5+ acmeda = ∀ α β. α -> β;
6− actiontec = ∀ α β. α -> [β];
6+ actiontec = ∀ α β. α -> β;
7− adguard = ∀ α β. α -> [β];
7+ adguard = ∀ α β. α -> β;
8− ads = ∀ α β. α -> [β];
8+ ads = ∀ α β. α -> β;
9− aftership = ∀ α β. α -> [β];
9+ aftership = ∀ α β. α -> β;
10− agent_dvr = ∀ α β. α -> [β];
10+ agent_dvr = ∀ α β. α -> β;
11− air_quality = ∀ α β. α -> [β];
11+ air_quality = ∀ α β. α -> β;
12− airly = ∀ α β. α -> [β];
12+ airly = ∀ α β. α -> β;
13 airvisual = ∀ α β. (α.pyairvisual = β) => α -> [β];
13 airvisual = ∀ α β. (α.pyairvisual = β) => α -> [β];
14− aladdin_connect = ∀ α β. α -> [β];
14+ aladdin_connect = ∀ α β. α -> β;
15− alarm_control_panel = ∀ α β. α -> [β];
15+ alarm_control_panel = ∀ α β. α -> β;
16− alarmdecoder = ∀ α β. α -> [β];
16+ alarmdecoder = ∀ α β. α -> β;
17− alert = ∀ α β. α -> [β];
17+ alert = ∀ α β. α -> β;
18 alexa = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
18 alexa = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
19 almond = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
19 almond = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
20− alpha_vantage = ∀ α β. α -> [β];
20+ alpha_vantage = ∀ α β. α -> β;
21 amazon_polly = ∀ α β. (α.boto3 = β) => α -> [β];
21 amazon_polly = ∀ α β. (α.boto3 = β) => α -> [β];
22 ambiclimate = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
22 ambiclimate = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
23− ambient_station = ∀ α β. α -> [β];
23+ ambient_station = ∀ α β. α -> β;
24 amcrest = ∀ α β. (α.ha-ffmpeg = β) => α -> [β];
24 amcrest = ∀ α β. (α.ha-ffmpeg = β) => α -> [β];
25− ampio = ∀ α β. α -> [β];
25+ ampio = ∀ α β. α -> β;
26− android_ip_webcam = ∀ α β. α -> [β];
26+ android_ip_webcam = ∀ α β. α -> β;
27− androidtv = ∀ α β. α -> [β];
27+ androidtv = ∀ α β. α -> β;
28− anel_pwrctrl = ∀ α β. α -> [β];
28+ anel_pwrctrl = ∀ α β. α -> β;
29− anthemav = ∀ α β. α -> [β];
29+ anthemav = ∀ α β. α -> β;
30 apache_kafka = ∀ α β. (α.aiokafka = β) => α -> [β];
30 apache_kafka = ∀ α β. (α.aiokafka = β) => α -> [β];
31− apcupsd = ∀ α β. α -> [β];
31+ apcupsd = ∀ α β. α -> β;
32 api = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
32 api = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
33− apns = ∀ α β. α -> [β];
33+ apns = ∀ α β. α -> β;
34 apple_tv =
34 apple_tv =
35 ∀ α β.
35 ∀ α β.
36 ( α.aiohttp-cors = β,
36 ( α.aiohttp-cors = β,
@@ -40,71 +40,71 @@
40 ) =>
40 ) =>
41 α -> [β];
41 α -> [β];
42 apprise = ∀ α β. (α.apprise = β) => α -> [β];
42 apprise = ∀ α β. (α.apprise = β) => α -> [β];
43− aprs = ∀ α β. α -> [β];
43+ aprs = ∀ α β. α -> β;
44− aqualogic = ∀ α β. α -> [β];
44+ aqualogic = ∀ α β. α -> β;
45− aquostv = ∀ α β. α -> [β];
45+ aquostv = ∀ α β. α -> β;
46− arcam_fmj = ∀ α β. α -> [β];
46+ arcam_fmj = ∀ α β. α -> β;
47− arduino = ∀ α β. α -> [β];
47+ arduino = ∀ α β. α -> β;
48− arest = ∀ α β. α -> [β];
48+ arest = ∀ α β. α -> β;
49 arlo = ∀ α β. (α.ha-ffmpeg = β) => α -> [β];
49 arlo = ∀ α β. (α.ha-ffmpeg = β) => α -> [β];
50− arris_tg2492lg = ∀ α β. α -> [β];
50+ arris_tg2492lg = ∀ α β. α -> β;
51 aruba = ∀ α β. (α.pexpect = β) => α -> [β];
51 aruba = ∀ α β. (α.pexpect = β) => α -> [β];
52 arwn = ∀ α β. (α.aiohttp-cors = β, α.paho-mqtt = β) => α -> [β];
52 arwn = ∀ α β. (α.aiohttp-cors = β, α.paho-mqtt = β) => α -> [β];
53− asterisk_cdr = ∀ α β. α -> [β];
53+ asterisk_cdr = ∀ α β. α -> β;
54− asterisk_mbox = ∀ α β. α -> [β];
54+ asterisk_mbox = ∀ α β. α -> β;
55− asuswrt = ∀ α β. α -> [β];
55+ asuswrt = ∀ α β. α -> β;
56− atag = ∀ α β. α -> [β];
56+ atag = ∀ α β. α -> β;
57− aten_pe = ∀ α β. α -> [β];
57+ aten_pe = ∀ α β. α -> β;
58− atome = ∀ α β. α -> [β];
58+ atome = ∀ α β. α -> β;
59− august = ∀ α β. α -> [β];
59+ august = ∀ α β. α -> β;
60− aurora = ∀ α β. α -> [β];
60+ aurora = ∀ α β. α -> β;
61− aurora_abb_powerone = ∀ α β. α -> [β];
61+ aurora_abb_powerone = ∀ α β. α -> β;
62 auth = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
62 auth = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
63 automation = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
63 automation = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
64− avea = ∀ α β. α -> [β];
64+ avea = ∀ α β. α -> β;
65− avion = ∀ α β. α -> [β];
65+ avion = ∀ α β. α -> β;
66 avri = ∀ α β. (α.pycountry = β) => α -> [β];
66 avri = ∀ α β. (α.pycountry = β) => α -> [β];
67− awair = ∀ α β. α -> [β];
67+ awair = ∀ α β. α -> β;
68− aws = ∀ α β. α -> [β];
68+ aws = ∀ α β. α -> β;
69 axis = ∀ α β. (α.aiohttp-cors = β, α.paho-mqtt = β) => α -> [β];
69 axis = ∀ α β. (α.aiohttp-cors = β, α.paho-mqtt = β) => α -> [β];
70− azure_devops = ∀ α β. α -> [β];
70+ azure_devops = ∀ α β. α -> β;
71− azure_event_hub = ∀ α β. α -> [β];
71+ azure_event_hub = ∀ α β. α -> β;
72 azure_service_bus = ∀ α β. (α.azure-servicebus = β) => α -> [β];
72 azure_service_bus = ∀ α β. (α.azure-servicebus = β) => α -> [β];
73− baidu = ∀ α β. α -> [β];
73+ baidu = ∀ α β. α -> β;
74− bayesian = ∀ α β. α -> [β];
74+ bayesian = ∀ α β. α -> β;
75− bbb_gpio = ∀ α β. α -> [β];
75+ bbb_gpio = ∀ α β. α -> β;
76− bbox = ∀ α β. α -> [β];
76+ bbox = ∀ α β. α -> β;
77− beewi_smartclim = ∀ α β. α -> [β];
77+ beewi_smartclim = ∀ α β. α -> β;
78− bh1750 = ∀ α β. α -> [β];
78+ bh1750 = ∀ α β. α -> β;
79− binary_sensor = ∀ α β. α -> [β];
79+ binary_sensor = ∀ α β. α -> β;
80− bitcoin = ∀ α β. α -> [β];
80+ bitcoin = ∀ α β. α -> β;
81− bizkaibus = ∀ α β. α -> [β];
81+ bizkaibus = ∀ α β. α -> β;
82− blackbird = ∀ α β. α -> [β];
82+ blackbird = ∀ α β. α -> β;
83− blebox = ∀ α β. α -> [β];
83+ blebox = ∀ α β. α -> β;
84− blink = ∀ α β. α -> [β];
84+ blink = ∀ α β. α -> β;
85 blinksticklight = ∀ α β. (α.BlinkStick = β) => α -> [β];
85 blinksticklight = ∀ α β. (α.BlinkStick = β) => α -> [β];
86− blinkt = ∀ α β. α -> [β];
86+ blinkt = ∀ α β. α -> β;
87− blockchain = ∀ α β. α -> [β];
87+ blockchain = ∀ α β. α -> β;
88− bloomsky = ∀ α β. α -> [β];
88+ bloomsky = ∀ α β. α -> β;
89 bluesound = ∀ α β. (α.xmltodict = β) => α -> [β];
89 bluesound = ∀ α β. (α.xmltodict = β) => α -> [β];
90− bluetooth_le_tracker = ∀ α β. α -> [β];
90+ bluetooth_le_tracker = ∀ α β. α -> β;
91 bluetooth_tracker = ∀ α β. (α.bt_proximity = β) => α -> [β];
91 bluetooth_tracker = ∀ α β. (α.bt_proximity = β) => α -> [β];
92− bme280 = ∀ α β. α -> [β];
92+ bme280 = ∀ α β. α -> β;
93− bme680 = ∀ α β. α -> [β];
93+ bme680 = ∀ α β. α -> β;
94− bmp280 = ∀ α β. α -> [β];
94+ bmp280 = ∀ α β. α -> β;
95− bmw_connected_drive = ∀ α β. α -> [β];
95+ bmw_connected_drive = ∀ α β. α -> β;
96− bom = ∀ α β. α -> [β];
96+ bom = ∀ α β. α -> β;
97− bond = ∀ α β. α -> [β];
97+ bond = ∀ α β. α -> β;
98 braviatv = ∀ α β. (α.bravia-tv = β) => α -> [β];
98 braviatv = ∀ α β. (α.bravia-tv = β) => α -> [β];
99 broadlink = ∀ α β. (α.broadlink = β) => α -> [β];
99 broadlink = ∀ α β. (α.broadlink = β) => α -> [β];
100 brother = ∀ α β. (α.brother = β) => α -> [β];
100 brother = ∀ α β. (α.brother = β) => α -> [β];
101− brottsplatskartan = ∀ α β. α -> [β];
101+ brottsplatskartan = ∀ α β. α -> β;
102− browser = ∀ α β. α -> [β];
102+ browser = ∀ α β. α -> β;
103− brunt = ∀ α β. α -> [β];
103+ brunt = ∀ α β. α -> β;
104− bsblan = ∀ α β. α -> [β];
104+ bsblan = ∀ α β. α -> β;
105− bt_home_hub_5 = ∀ α β. α -> [β];
105+ bt_home_hub_5 = ∀ α β. α -> β;
106− bt_smarthub = ∀ α β. α -> [β];
106+ bt_smarthub = ∀ α β. α -> β;
107− buienradar = ∀ α β. α -> [β];
107+ buienradar = ∀ α β. α -> β;
108 caldav = ∀ α β. (α.caldav = β) => α -> [β];
108 caldav = ∀ α β. (α.caldav = β) => α -> [β];
109 calendar = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
109 calendar = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
110 camera = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
110 camera = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
@@ -117,50 +117,50 @@
117 α.zeroconf = β
117 α.zeroconf = β
118 ) =>
118 ) =>
119 α -> [β];
119 α -> [β];
120− cert_expiry = ∀ α β. α -> [β];
120+ cert_expiry = ∀ α β. α -> β;
121− channels = ∀ α β. α -> [β];
121+ channels = ∀ α β. α -> β;
122− circuit = ∀ α β. α -> [β];
122+ circuit = ∀ α β. α -> β;
123 cisco_ios = ∀ α β. (α.pexpect = β) => α -> [β];
123 cisco_ios = ∀ α β. (α.pexpect = β) => α -> [β];
124− cisco_mobility_express = ∀ α β. α -> [β];
124+ cisco_mobility_express = ∀ α β. α -> β;
125− cisco_webex_teams = ∀ α β. α -> [β];
125+ cisco_webex_teams = ∀ α β. α -> β;
126− citybikes = ∀ α β. α -> [β];
126+ citybikes = ∀ α β. α -> β;
127− clementine = ∀ α β. α -> [β];
127+ clementine = ∀ α β. α -> β;
128− clickatell = ∀ α β. α -> [β];
128+ clickatell = ∀ α β. α -> β;
129− clicksend = ∀ α β. α -> [β];
129+ clicksend = ∀ α β. α -> β;
130− clicksend_tts = ∀ α β. α -> [β];
130+ clicksend_tts = ∀ α β. α -> β;
131− climate = ∀ α β. α -> [β];
131+ climate = ∀ α β. α -> β;
132 cloud = ∀ α β. (α.aiohttp-cors = β, α.hass-nabucasa = β) => α -> [β];
132 cloud = ∀ α β. (α.aiohttp-cors = β, α.hass-nabucasa = β) => α -> [β];
133− cloudflare = ∀ α β. α -> [β];
133+ cloudflare = ∀ α β. α -> β;
134− cmus = ∀ α β. α -> [β];
134+ cmus = ∀ α β. α -> β;
135− co2signal = ∀ α β. α -> [β];
135+ co2signal = ∀ α β. α -> β;
136− coinbase = ∀ α β. α -> [β];
136+ coinbase = ∀ α β. α -> β;
137 coinmarketcap = ∀ α β. (α.coinmarketcap = β) => α -> [β];
137 coinmarketcap = ∀ α β. (α.coinmarketcap = β) => α -> [β];
138− comed_hourly_pricing = ∀ α β. α -> [β];
138+ comed_hourly_pricing = ∀ α β. α -> β;
139− comfoconnect = ∀ α β. α -> [β];
139+ comfoconnect = ∀ α β. α -> β;
140− command_line = ∀ α β. α -> [β];
140+ command_line = ∀ α β. α -> β;
141− concord232 = ∀ α β. α -> [β];
141+ concord232 = ∀ α β. α -> β;
142 config = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
142 config = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
143− configurator = ∀ α β. α -> [β];
143+ configurator = ∀ α β. α -> β;
144− control4 = ∀ α β. α -> [β];
144+ control4 = ∀ α β. α -> β;
145 conversation = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
145 conversation = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
146− coolmaster = ∀ α β. α -> [β];
146+ coolmaster = ∀ α β. α -> β;
147− coronavirus = ∀ α β. α -> [β];
147+ coronavirus = ∀ α β. α -> β;
148− counter = ∀ α β. α -> [β];
148+ counter = ∀ α β. α -> β;
149− cover = ∀ α β. α -> [β];
149+ cover = ∀ α β. α -> β;
150− cppm_tracker = ∀ α β. α -> [β];
150+ cppm_tracker = ∀ α β. α -> β;
151 cpuspeed = ∀ α β. (α.py-cpuinfo = β) => α -> [β];
151 cpuspeed = ∀ α β. (α.py-cpuinfo = β) => α -> [β];
152− crimereports = ∀ α β. α -> [β];
152+ crimereports = ∀ α β. α -> β;
153 cups = ∀ α β. (α.pycups = β) => α -> [β];
153 cups = ∀ α β. (α.pycups = β) => α -> [β];
154− currencylayer = ∀ α β. α -> [β];
154+ currencylayer = ∀ α β. α -> β;
155− daikin = ∀ α β. α -> [β];
155+ daikin = ∀ α β. α -> β;
156− danfoss_air = ∀ α β. α -> [β];
156+ danfoss_air = ∀ α β. α -> β;
157 darksky = ∀ α β. (α.python-forecastio = β) => α -> [β];
157 darksky = ∀ α β. (α.python-forecastio = β) => α -> [β];
158 datadog = ∀ α β. (α.datadog = β) => α -> [β];
158 datadog = ∀ α β. (α.datadog = β) => α -> [β];
159− ddwrt = ∀ α β. α -> [β];
159+ ddwrt = ∀ α β. α -> β;
160 debugpy = ∀ α β. (α.debugpy = β) => α -> [β];
160 debugpy = ∀ α β. (α.debugpy = β) => α -> [β];
161− deconz = ∀ α β. α -> [β];
161+ deconz = ∀ α β. α -> β;
162 decora = ∀ α β. (α.bluepy = β) => α -> [β];
162 decora = ∀ α β. (α.bluepy = β) => α -> [β];
163− decora_wifi = ∀ α β. α -> [β];
163+ decora_wifi = ∀ α β. α -> β;
164 default_config =
164 default_config =
165 ∀ α β.
165 ∀ α β.
166 ( α.aiohttp-cors = β,
166 ( α.aiohttp-cors = β,
@@ -174,157 +174,157 @@
174 α.zeroconf = β
174 α.zeroconf = β
175 ) =>
175 ) =>
176 α -> [β];
176 α -> [β];
177− delijn = ∀ α β. α -> [β];
177+ delijn = ∀ α β. α -> β;
178 deluge = ∀ α β. (α.deluge-client = β) => α -> [β];
178 deluge = ∀ α β. (α.deluge-client = β) => α -> [β];
179 demo = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
179 demo = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
180− denon = ∀ α β. α -> [β];
180+ denon = ∀ α β. α -> β;
181 denonavr = ∀ α β. (α.denonavr = β, α.getmac = β) => α -> [β];
181 denonavr = ∀ α β. (α.denonavr = β, α.getmac = β) => α -> [β];
182− derivative = ∀ α β. α -> [β];
182+ derivative = ∀ α β. α -> β;
183− deutsche_bahn = ∀ α β. α -> [β];
183+ deutsche_bahn = ∀ α β. α -> β;
184− device_automation = ∀ α β. α -> [β];
184+ device_automation = ∀ α β. α -> β;
185− device_sun_light_trigger = ∀ α β. α -> [β];
185+ device_sun_light_trigger = ∀ α β. α -> β;
186− device_tracker = ∀ α β. α -> [β];
186+ device_tracker = ∀ α β. α -> β;
187− devolo_home_control = ∀ α β. α -> [β];
187+ devolo_home_control = ∀ α β. α -> β;
188− dexcom = ∀ α β. α -> [β];
188+ dexcom = ∀ α β. α -> β;
189− dht = ∀ α β. α -> [β];
189+ dht = ∀ α β. α -> β;
190 dialogflow = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
190 dialogflow = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
191 digital_ocean = ∀ α β. (α.digital-ocean = β) => α -> [β];
191 digital_ocean = ∀ α β. (α.digital-ocean = β) => α -> [β];
192− digitalloggers = ∀ α β. α -> [β];
192+ digitalloggers = ∀ α β. α -> β;
193− directv = ∀ α β. α -> [β];
193+ directv = ∀ α β. α -> β;
194 discogs = ∀ α β. (α.discogs_client = β) => α -> [β];
194 discogs = ∀ α β. (α.discogs_client = β) => α -> [β];
195 discord = ∀ α β. (α.discordpy = β) => α -> [β];
195 discord = ∀ α β. (α.discordpy = β) => α -> [β];
196 discovery =
196 discovery =
197 ∀ α β. (α.aiohttp-cors = β, α.netdisco = β, α.zeroconf = β) => α -> [β];
197 ∀ α β. (α.aiohttp-cors = β, α.netdisco = β, α.zeroconf = β) => α -> [β];
198 dlib_face_detect = ∀ α β. (α.face_recognition = β) => α -> [β];
198 dlib_face_detect = ∀ α β. (α.face_recognition = β) => α -> [β];
199 dlib_face_identify = ∀ α β. (α.face_recognition = β) => α -> [β];
199 dlib_face_identify = ∀ α β. (α.face_recognition = β) => α -> [β];
200− dlink = ∀ α β. α -> [β];
200+ dlink = ∀ α β. α -> β;
201 dlna_dmr = ∀ α β. (α.async-upnp-client = β) => α -> [β];
201 dlna_dmr = ∀ α β. (α.async-upnp-client = β) => α -> [β];
202 dnsip = ∀ α β. (α.aiodns = β) => α -> [β];
202 dnsip = ∀ α β. (α.aiodns = β) => α -> [β];
203 dominos = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
203 dominos = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
204 doods = ∀ α β. (α.pillow = β) => α -> [β];
204 doods = ∀ α β. (α.pillow = β) => α -> [β];
205 doorbird = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
205 doorbird = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
206− dovado = ∀ α β. α -> [β];
206+ dovado = ∀ α β. α -> β;
207− downloader = ∀ α β. α -> [β];
207+ downloader = ∀ α β. α -> β;
208− dsmr = ∀ α β. α -> [β];
208+ dsmr = ∀ α β. α -> β;
209 dsmr_reader = ∀ α β. (α.aiohttp-cors = β, α.paho-mqtt = β) => α -> [β];
209 dsmr_reader = ∀ α β. (α.aiohttp-cors = β, α.paho-mqtt = β) => α -> [β];
210− dte_energy_bridge = ∀ α β. α -> [β];
210+ dte_energy_bridge = ∀ α β. α -> β;
211− dublin_bus_transport = ∀ α β. α -> [β];
211+ dublin_bus_transport = ∀ α β. α -> β;
212− duckdns = ∀ α β. α -> [β];
212+ duckdns = ∀ α β. α -> β;
213− dunehd = ∀ α β. α -> [β];
213+ dunehd = ∀ α β. α -> β;
214 dwd_weather_warnings =
214 dwd_weather_warnings =
215 ∀ α β. (α.jsonpath = β, α.xmltodict = β) => α -> [β];
215 ∀ α β. (α.jsonpath = β, α.xmltodict = β) => α -> [β];
216− dweet = ∀ α β. α -> [β];
216+ dweet = ∀ α β. α -> β;
217− dynalite = ∀ α β. α -> [β];
217+ dynalite = ∀ α β. α -> β;
218 dyson = ∀ α β. (α.aiohttp-cors = β, α.zeroconf = β) => α -> [β];
218 dyson = ∀ α β. (α.aiohttp-cors = β, α.zeroconf = β) => α -> [β];
219− ebox = ∀ α β. α -> [β];
219+ ebox = ∀ α β. α -> β;
220− ebusd = ∀ α β. α -> [β];
220+ ebusd = ∀ α β. α -> β;
221− ecoal_boiler = ∀ α β. α -> [β];
221+ ecoal_boiler = ∀ α β. α -> β;
222− ecobee = ∀ α β. α -> [β];
222+ ecobee = ∀ α β. α -> β;
223− econet = ∀ α β. α -> [β];
223+ econet = ∀ α β. α -> β;
224− ecovacs = ∀ α β. α -> [β];
224+ ecovacs = ∀ α β. α -> β;
225 eddystone_temperature = ∀ α β. (α.construct = β) => α -> [β];
225 eddystone_temperature = ∀ α β. (α.construct = β) => α -> [β];
226− edimax = ∀ α β. α -> [β];
226+ edimax = ∀ α β. α -> β;
227− edl21 = ∀ α β. α -> [β];
227+ edl21 = ∀ α β. α -> β;
228− ee_brightbox = ∀ α β. α -> [β];
228+ ee_brightbox = ∀ α β. α -> β;
229− efergy = ∀ α β. α -> [β];
229+ efergy = ∀ α β. α -> β;
230− egardia = ∀ α β. α -> [β];
230+ egardia = ∀ α β. α -> β;
231− eight_sleep = ∀ α β. α -> [β];
231+ eight_sleep = ∀ α β. α -> β;
232− elgato = ∀ α β. α -> [β];
232+ elgato = ∀ α β. α -> β;
233− eliqonline = ∀ α β. α -> [β];
233+ eliqonline = ∀ α β. α -> β;
234− elkm1 = ∀ α β. α -> [β];
234+ elkm1 = ∀ α β. α -> β;
235− elv = ∀ α β. α -> [β];
235+ elv = ∀ α β. α -> β;
236− emby = ∀ α β. α -> [β];
236+ emby = ∀ α β. α -> β;
237− emoncms = ∀ α β. α -> [β];
237+ emoncms = ∀ α β. α -> β;
238− emoncms_history = ∀ α β. α -> [β];
238+ emoncms_history = ∀ α β. α -> β;
239 emulated_hue = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
239 emulated_hue = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
240− emulated_roku = ∀ α β. α -> [β];
240+ emulated_roku = ∀ α β. α -> β;
241 enigma2 = ∀ α β. (α.openwebifpy = β) => α -> [β];
241 enigma2 = ∀ α β. (α.openwebifpy = β) => α -> [β];
242− enocean = ∀ α β. α -> [β];
242+ enocean = ∀ α β. α -> β;
243− enphase_envoy = ∀ α β. α -> [β];
243+ enphase_envoy = ∀ α β. α -> β;
244− entur_public_transport = ∀ α β. α -> [β];
244+ entur_public_transport = ∀ α β. α -> β;
245− environment_canada = ∀ α β. α -> [β];
245+ environment_canada = ∀ α β. α -> β;
246− envirophat = ∀ α β. α -> [β];
246+ envirophat = ∀ α β. α -> β;
247− envisalink = ∀ α β. α -> [β];
247+ envisalink = ∀ α β. α -> β;
248− ephember = ∀ α β. α -> [β];
248+ ephember = ∀ α β. α -> β;
249− epson = ∀ α β. α -> [β];
249+ epson = ∀ α β. α -> β;
250− epsonworkforce = ∀ α β. α -> [β];
250+ epsonworkforce = ∀ α β. α -> β;
251 eq3btsmart = ∀ α β. (α.construct = β) => α -> [β];
251 eq3btsmart = ∀ α β. (α.construct = β) => α -> [β];
252 esphome = ∀ α β. (α.aioesphomeapi = β) => α -> [β];
252 esphome = ∀ α β. (α.aioesphomeapi = β) => α -> [β];
253− essent = ∀ α β. α -> [β];
253+ essent = ∀ α β. α -> β;
254− etherscan = ∀ α β. α -> [β];
254+ etherscan = ∀ α β. α -> β;
255− eufy = ∀ α β. α -> [β];
255+ eufy = ∀ α β. α -> β;
256− everlights = ∀ α β. α -> [β];
256+ everlights = ∀ α β. α -> β;
257− evohome = ∀ α β. α -> [β];
257+ evohome = ∀ α β. α -> β;
258− ezviz = ∀ α β. α -> [β];
258+ ezviz = ∀ α β. α -> β;
259− facebook = ∀ α β. α -> [β];
259+ facebook = ∀ α β. α -> β;
260− facebox = ∀ α β. α -> [β];
260+ facebox = ∀ α β. α -> β;
261− fail2ban = ∀ α β. α -> [β];
261+ fail2ban = ∀ α β. α -> β;
262− familyhub = ∀ α β. α -> [β];
262+ familyhub = ∀ α β. α -> β;
263− fan = ∀ α β. α -> [β];
263+ fan = ∀ α β. α -> β;
264− fastdotcom = ∀ α β. α -> [β];
264+ fastdotcom = ∀ α β. α -> β;
265− feedreader = ∀ α β. α -> [β];
265+ feedreader = ∀ α β. α -> β;
266 ffmpeg = ∀ α β. (α.ha-ffmpeg = β) => α -> [β];
266 ffmpeg = ∀ α β. (α.ha-ffmpeg = β) => α -> [β];
267 ffmpeg_motion = ∀ α β. (α.ha-ffmpeg = β) => α -> [β];
267 ffmpeg_motion = ∀ α β. (α.ha-ffmpeg = β) => α -> [β];
268 ffmpeg_noise = ∀ α β. (α.ha-ffmpeg = β) => α -> [β];
268 ffmpeg_noise = ∀ α β. (α.ha-ffmpeg = β) => α -> [β];
269− fibaro = ∀ α β. α -> [β];
269+ fibaro = ∀ α β. α -> β;
270− fido = ∀ α β. α -> [β];
270+ fido = ∀ α β. α -> β;
271− file = ∀ α β. α -> [β];
271+ file = ∀ α β. α -> β;
272− filesize = ∀ α β. α -> [β];
272+ filesize = ∀ α β. α -> β;
273 filter = ∀ α β. (α.aiohttp-cors = β, α.sqlalchemy = β) => α -> [β];
273 filter = ∀ α β. (α.aiohttp-cors = β, α.sqlalchemy = β) => α -> [β];
274 fints = ∀ α β. (α.fints = β) => α -> [β];
274 fints = ∀ α β. (α.fints = β) => α -> [β];
275− firmata = ∀ α β. α -> [β];
275+ firmata = ∀ α β. α -> β;
276 fitbit = ∀ α β. (α.aiohttp-cors = β, α.fitbit = β) => α -> [β];
276 fitbit = ∀ α β. (α.aiohttp-cors = β, α.fitbit = β) => α -> [β];
277− fixer = ∀ α β. α -> [β];
277+ fixer = ∀ α β. α -> β;
278− fleetgo = ∀ α β. α -> [β];
278+ fleetgo = ∀ α β. α -> β;
279− flexit = ∀ α β. α -> [β];
279+ flexit = ∀ α β. α -> β;
280− flic = ∀ α β. α -> [β];
280+ flic = ∀ α β. α -> β;
281− flick_electric = ∀ α β. α -> [β];
281+ flick_electric = ∀ α β. α -> β;
282− flock = ∀ α β. α -> [β];
282+ flock = ∀ α β. α -> β;
283− flume = ∀ α β. α -> [β];
283+ flume = ∀ α β. α -> β;
284− flunearyou = ∀ α β. α -> [β];
284+ flunearyou = ∀ α β. α -> β;
285− flux = ∀ α β. α -> [β];
285+ flux = ∀ α β. α -> β;
286 flux_led = ∀ α β. (α.flux-led = β) => α -> [β];
286 flux_led = ∀ α β. (α.flux-led = β) => α -> [β];
287− folder = ∀ α β. α -> [β];
287+ folder = ∀ α β. α -> β;
288 folder_watcher = ∀ α β. (α.watchdog = β) => α -> [β];
288 folder_watcher = ∀ α β. (α.watchdog = β) => α -> [β];
289− foobot = ∀ α β. α -> [β];
289+ foobot = ∀ α β. α -> β;
290− forked_daapd = ∀ α β. α -> [β];
290+ forked_daapd = ∀ α β. α -> β;
291− fortios = ∀ α β. α -> [β];
291+ fortios = ∀ α β. α -> β;
292− foscam = ∀ α β. α -> [β];
292+ foscam = ∀ α β. α -> β;
293 foursquare = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
293 foursquare = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
294− free_mobile = ∀ α β. α -> [β];
294+ free_mobile = ∀ α β. α -> β;
295 freebox =
295 freebox =
296 ∀ α β. (α.aiohttp-cors = β, α.netdisco = β, α.zeroconf = β) => α -> [β];
296 ∀ α β. (α.aiohttp-cors = β, α.netdisco = β, α.zeroconf = β) => α -> [β];
297− freedns = ∀ α β. α -> [β];
297+ freedns = ∀ α β. α -> β;
298 fritz = ∀ α β. (α.fritzconnection = β) => α -> [β];
298 fritz = ∀ α β. (α.fritzconnection = β) => α -> [β];
299 fritzbox = ∀ α β. (α.pyfritzhome = β) => α -> [β];
299 fritzbox = ∀ α β. (α.pyfritzhome = β) => α -> [β];
300 fritzbox_callmonitor = ∀ α β. (α.fritzconnection = β) => α -> [β];
300 fritzbox_callmonitor = ∀ α β. (α.fritzconnection = β) => α -> [β];
301 fritzbox_netmonitor = ∀ α β. (α.fritzconnection = β) => α -> [β];
301 fritzbox_netmonitor = ∀ α β. (α.fritzconnection = β) => α -> [β];
302− fronius = ∀ α β. α -> [β];
302+ fronius = ∀ α β. α -> β;
303 frontend = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
303 frontend = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
304− frontier_silicon = ∀ α β. α -> [β];
304+ frontier_silicon = ∀ α β. α -> β;
305− futurenow = ∀ α β. α -> [β];
305+ futurenow = ∀ α β. α -> β;
306− garadget = ∀ α β. α -> [β];
306+ garadget = ∀ α β. α -> β;
307− garmin_connect = ∀ α β. α -> [β];
307+ garmin_connect = ∀ α β. α -> β;
308− gc100 = ∀ α β. α -> [β];
308+ gc100 = ∀ α β. α -> β;
309− gdacs = ∀ α β. α -> [β];
309+ gdacs = ∀ α β. α -> β;
310− geizhals = ∀ α β. α -> [β];
310+ geizhals = ∀ α β. α -> β;
311− generic = ∀ α β. α -> [β];
311+ generic = ∀ α β. α -> β;
312− generic_thermostat = ∀ α β. α -> [β];
312+ generic_thermostat = ∀ α β. α -> β;
313− geniushub = ∀ α β. α -> [β];
313+ geniushub = ∀ α β. α -> β;
314− geo_json_events = ∀ α β. α -> [β];
314+ geo_json_events = ∀ α β. α -> β;
315− geo_location = ∀ α β. α -> [β];
315+ geo_location = ∀ α β. α -> β;
316− geo_rss_events = ∀ α β. α -> [β];
316+ geo_rss_events = ∀ α β. α -> β;
317 geofency = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
317 geofency = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
318− geonetnz_quakes = ∀ α β. α -> [β];
318+ geonetnz_quakes = ∀ α β. α -> β;
319− geonetnz_volcano = ∀ α β. α -> [β];
319+ geonetnz_volcano = ∀ α β. α -> β;
320− gios = ∀ α β. α -> [β];
320+ gios = ∀ α β. α -> β;
321 github = ∀ α β. (α.PyGithub = β) => α -> [β];
321 github = ∀ α β. (α.PyGithub = β) => α -> [β];
322 gitlab_ci = ∀ α β. (α.python-gitlab = β) => α -> [β];
322 gitlab_ci = ∀ α β. (α.python-gitlab = β) => α -> [β];
323− gitter = ∀ α β. α -> [β];
323+ gitter = ∀ α β. α -> β;
324− glances = ∀ α β. α -> [β];
324+ glances = ∀ α β. α -> β;
325− gntp = ∀ α β. α -> [β];
325+ gntp = ∀ α β. α -> β;
326− goalfeed = ∀ α β. α -> [β];
326+ goalfeed = ∀ α β. α -> β;
327− gogogate2 = ∀ α β. α -> [β];
327+ gogogate2 = ∀ α β. α -> β;
328 google =
328 google =
329 ∀ α β.
329 ∀ α β.
330 ( α.google_api_python_client = β,
330 ( α.google_api_python_client = β,
@@ -334,45 +334,45 @@
334 α -> [β];
334 α -> [β];
335 google_assistant = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
335 google_assistant = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
336 google_cloud = ∀ α β. (α.google_cloud_texttospeech = β) => α -> [β];
336 google_cloud = ∀ α β. (α.google_cloud_texttospeech = β) => α -> [β];
337− google_domains = ∀ α β. α -> [β];
337+ google_domains = ∀ α β. α -> β;
338− google_maps = ∀ α β. α -> [β];
338+ google_maps = ∀ α β. α -> β;
339 google_pubsub = ∀ α β. (α.google_cloud_pubsub = β) => α -> [β];
339 google_pubsub = ∀ α β. (α.google_cloud_pubsub = β) => α -> [β];
340 google_translate = ∀ α β. (α.gtts-token = β) => α -> [β];
340 google_translate = ∀ α β. (α.gtts-token = β) => α -> [β];
341− google_travel_time = ∀ α β. α -> [β];
341+ google_travel_time = ∀ α β. α -> β;
342− google_wifi = ∀ α β. α -> [β];
342+ google_wifi = ∀ α β. α -> β;
343 gpmdp = ∀ α β. (α.websocket_client = β) => α -> [β];
343 gpmdp = ∀ α β. (α.websocket_client = β) => α -> [β];
344− gpsd = ∀ α β. α -> [β];
344+ gpsd = ∀ α β. α -> β;
345 gpslogger = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
345 gpslogger = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
346− graphite = ∀ α β. α -> [β];
346+ graphite = ∀ α β. α -> β;
347− greeneye_monitor = ∀ α β. α -> [β];
347+ greeneye_monitor = ∀ α β. α -> β;
348− greenwave = ∀ α β. α -> [β];
348+ greenwave = ∀ α β. α -> β;
349− griddy = ∀ α β. α -> [β];
349+ griddy = ∀ α β. α -> β;
350− group = ∀ α β. α -> [β];
350+ group = ∀ α β. α -> β;
351− growatt_server = ∀ α β. α -> [β];
351+ growatt_server = ∀ α β. α -> β;
352− gstreamer = ∀ α β. α -> [β];
352+ gstreamer = ∀ α β. α -> β;
353− gtfs = ∀ α β. α -> [β];
353+ gtfs = ∀ α β. α -> β;
354− guardian = ∀ α β. α -> [β];
354+ guardian = ∀ α β. α -> β;
355− habitica = ∀ α β. α -> [β];
355+ habitica = ∀ α β. α -> β;
356− hangouts = ∀ α β. α -> [β];
356+ hangouts = ∀ α β. α -> β;
357− harman_kardon_avr = ∀ α β. α -> [β];
357+ harman_kardon_avr = ∀ α β. α -> β;
358 harmony = ∀ α β. (α.aioharmony = β) => α -> [β];
358 harmony = ∀ α β. (α.aioharmony = β) => α -> [β];
359 hassio = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
359 hassio = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
360− haveibeenpwned = ∀ α β. α -> [β];
360+ haveibeenpwned = ∀ α β. α -> β;
361− hddtemp = ∀ α β. α -> [β];
361+ hddtemp = ∀ α β. α -> β;
362− hdmi_cec = ∀ α β. α -> [β];
362+ hdmi_cec = ∀ α β. α -> β;
363− heatmiser = ∀ α β. α -> [β];
363+ heatmiser = ∀ α β. α -> β;
364− heos = ∀ α β. α -> [β];
364+ heos = ∀ α β. α -> β;
365− here_travel_time = ∀ α β. α -> [β];
365+ here_travel_time = ∀ α β. α -> β;
366− hikvision = ∀ α β. α -> [β];
366+ hikvision = ∀ α β. α -> β;
367− hikvisioncam = ∀ α β. α -> [β];
367+ hikvisioncam = ∀ α β. α -> β;
368− hisense_aehw4a1 = ∀ α β. α -> [β];
368+ hisense_aehw4a1 = ∀ α β. α -> β;
369 history = ∀ α β. (α.aiohttp-cors = β, α.sqlalchemy = β) => α -> [β];
369 history = ∀ α β. (α.aiohttp-cors = β, α.sqlalchemy = β) => α -> [β];
370 history_stats = ∀ α β. (α.aiohttp-cors = β, α.sqlalchemy = β) => α -> [β];
370 history_stats = ∀ α β. (α.aiohttp-cors = β, α.sqlalchemy = β) => α -> [β];
371− hitron_coda = ∀ α β. α -> [β];
371+ hitron_coda = ∀ α β. α -> β;
372− hive = ∀ α β. α -> [β];
372+ hive = ∀ α β. α -> β;
373− hlk_sw16 = ∀ α β. α -> [β];
373+ hlk_sw16 = ∀ α β. α -> β;
374 home_connect = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
374 home_connect = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
375− homeassistant = ∀ α β. α -> [β];
375+ homeassistant = ∀ α β. α -> β;
376 homekit =
376 homekit =
377 ∀ α β.
377 ∀ α β.
378 ( α.HAP-python = β,
378 ( α.HAP-python = β,
@@ -385,152 +385,152 @@
385 homekit_controller =
385 homekit_controller =
386 ∀ α β. (α.aiohttp-cors = β, α.zeroconf = β) => α -> [β];
386 ∀ α β. (α.aiohttp-cors = β, α.zeroconf = β) => α -> [β];
387 homematic = ∀ α β. (α.pyhomematic = β) => α -> [β];
387 homematic = ∀ α β. (α.pyhomematic = β) => α -> [β];
388− homematicip_cloud = ∀ α β. α -> [β];
388+ homematicip_cloud = ∀ α β. α -> β;
389− homeworks = ∀ α β. α -> [β];
389+ homeworks = ∀ α β. α -> β;
390− honeywell = ∀ α β. α -> [β];
390+ honeywell = ∀ α β. α -> β;
391− horizon = ∀ α β. α -> [β];
391+ horizon = ∀ α β. α -> β;
392− hp_ilo = ∀ α β. α -> [β];
392+ hp_ilo = ∀ α β. α -> β;
393 html5 = ∀ α β. (α.aiohttp-cors = β, α.pywebpush = β) => α -> [β];
393 html5 = ∀ α β. (α.aiohttp-cors = β, α.pywebpush = β) => α -> [β];
394 http = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
394 http = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
395− htu21d = ∀ α β. α -> [β];
395+ htu21d = ∀ α β. α -> β;
396 huawei_lte = ∀ α β. (α.getmac = β, α.stringcase = β) => α -> [β];
396 huawei_lte = ∀ α β. (α.getmac = β, α.stringcase = β) => α -> [β];
397− huawei_router = ∀ α β. α -> [β];
397+ huawei_router = ∀ α β. α -> β;
398 hue = ∀ α β. (α.aiohue = β) => α -> [β];
398 hue = ∀ α β. (α.aiohue = β) => α -> [β];
399− humidifier = ∀ α β. α -> [β];
399+ humidifier = ∀ α β. α -> β;
400− hunterdouglas_powerview = ∀ α β. α -> [β];
400+ hunterdouglas_powerview = ∀ α β. α -> β;
401− hvv_departures = ∀ α β. α -> [β];
401+ hvv_departures = ∀ α β. α -> β;
402− hydrawise = ∀ α β. α -> [β];
402+ hydrawise = ∀ α β. α -> β;
403− hyperion = ∀ α β. α -> [β];
403+ hyperion = ∀ α β. α -> β;
404− ialarm = ∀ α β. α -> [β];
404+ ialarm = ∀ α β. α -> β;
405− iammeter = ∀ α β. α -> [β];
405+ iammeter = ∀ α β. α -> β;
406− iaqualink = ∀ α β. α -> [β];
406+ iaqualink = ∀ α β. α -> β;
407 icloud = ∀ α β. (α.pyicloud = β) => α -> [β];
407 icloud = ∀ α β. (α.pyicloud = β) => α -> [β];
408− idteck_prox = ∀ α β. α -> [β];
408+ idteck_prox = ∀ α β. α -> β;
409 ifttt = ∀ α β. (α.aiohttp-cors = β, α.pyfttt = β) => α -> [β];
409 ifttt = ∀ α β. (α.aiohttp-cors = β, α.pyfttt = β) => α -> [β];
410− iglo = ∀ α β. α -> [β];
410+ iglo = ∀ α β. α -> β;
411− ign_sismologia = ∀ α β. α -> [β];
411+ ign_sismologia = ∀ α β. α -> β;
412 ihc = ∀ α β. (α.defusedxml = β) => α -> [β];
412 ihc = ∀ α β. (α.defusedxml = β) => α -> [β];
413 image_processing = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
413 image_processing = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
414− imap = ∀ α β. α -> [β];
414+ imap = ∀ α β. α -> β;
415− imap_email_content = ∀ α β. α -> [β];
415+ imap_email_content = ∀ α β. α -> β;
416− incomfort = ∀ α β. α -> [β];
416+ incomfort = ∀ α β. α -> β;
417 influxdb = ∀ α β. (α.influxdb = β, α.influxdb-client = β) => α -> [β];
417 influxdb = ∀ α β. (α.influxdb = β, α.influxdb-client = β) => α -> [β];
418− input_boolean = ∀ α β. α -> [β];
418+ input_boolean = ∀ α β. α -> β;
419− input_datetime = ∀ α β. α -> [β];
419+ input_datetime = ∀ α β. α -> β;
420− input_number = ∀ α β. α -> [β];
420+ input_number = ∀ α β. α -> β;
421− input_select = ∀ α β. α -> [β];
421+ input_select = ∀ α β. α -> β;
422− input_text = ∀ α β. α -> [β];
422+ input_text = ∀ α β. α -> β;
423− insteon = ∀ α β. α -> [β];
423+ insteon = ∀ α β. α -> β;
424− integration = ∀ α β. α -> [β];
424+ integration = ∀ α β. α -> β;
425 intent = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
425 intent = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
426− intent_script = ∀ α β. α -> [β];
426+ intent_script = ∀ α β. α -> β;
427− intesishome = ∀ α β. α -> [β];
427+ intesishome = ∀ α β. α -> β;
428 ios = ∀ α β. (α.aiohttp-cors = β, α.zeroconf = β) => α -> [β];
428 ios = ∀ α β. (α.aiohttp-cors = β, α.zeroconf = β) => α -> [β];
429− iota = ∀ α β. α -> [β];
429+ iota = ∀ α β. α -> β;
430− iperf3 = ∀ α β. α -> [β];
430+ iperf3 = ∀ α β. α -> β;
431− ipma = ∀ α β. α -> [β];
431+ ipma = ∀ α β. α -> β;
432 ipp = ∀ α β. (α.pyipp = β) => α -> [β];
432 ipp = ∀ α β. (α.pyipp = β) => α -> [β];
433 iqvia = ∀ α β. (α.numpy = β) => α -> [β];
433 iqvia = ∀ α β. (α.numpy = β) => α -> [β];
434− irish_rail_transport = ∀ α β. α -> [β];
434+ irish_rail_transport = ∀ α β. α -> β;
435− islamic_prayer_times = ∀ α β. α -> [β];
435+ islamic_prayer_times = ∀ α β. α -> β;
436− iss = ∀ α β. α -> [β];
436+ iss = ∀ α β. α -> β;
437− isy994 = ∀ α β. α -> [β];
437+ isy994 = ∀ α β. α -> β;
438− itach = ∀ α β. α -> [β];
438+ itach = ∀ α β. α -> β;
439− itunes = ∀ α β. α -> [β];
439+ itunes = ∀ α β. α -> β;
440− izone = ∀ α β. α -> [β];
440+ izone = ∀ α β. α -> β;
441− jewish_calendar = ∀ α β. α -> [β];
441+ jewish_calendar = ∀ α β. α -> β;
442− joaoapps_join = ∀ α β. α -> [β];
442+ joaoapps_join = ∀ α β. α -> β;
443− juicenet = ∀ α β. α -> [β];
443+ juicenet = ∀ α β. α -> β;
444− kaiterra = ∀ α β. α -> [β];
444+ kaiterra = ∀ α β. α -> β;
445− kankun = ∀ α β. α -> [β];
445+ kankun = ∀ α β. α -> β;
446− keba = ∀ α β. α -> [β];
446+ keba = ∀ α β. α -> β;
447− keenetic_ndms2 = ∀ α β. α -> [β];
447+ keenetic_ndms2 = ∀ α β. α -> β;
448 kef = ∀ α β. (α.getmac = β) => α -> [β];
448 kef = ∀ α β. (α.getmac = β) => α -> [β];
449− keyboard = ∀ α β. α -> [β];
449+ keyboard = ∀ α β. α -> β;
450 keyboard_remote = ∀ α β. (α.evdev = β) => α -> [β];
450 keyboard_remote = ∀ α β. (α.evdev = β) => α -> [β];
451− kira = ∀ α β. α -> [β];
451+ kira = ∀ α β. α -> β;
452− kiwi = ∀ α β. α -> [β];
452+ kiwi = ∀ α β. α -> β;
453− knx = ∀ α β. α -> [β];
453+ knx = ∀ α β. α -> β;
454 kodi = ∀ α β. (α.jsonrpc-async = β, α.jsonrpc-websocket = β) => α -> [β];
454 kodi = ∀ α β. (α.jsonrpc-async = β, α.jsonrpc-websocket = β) => α -> [β];
455 konnected = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
455 konnected = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
456− kwb = ∀ α β. α -> [β];
456+ kwb = ∀ α β. α -> β;
457− lacrosse = ∀ α β. α -> [β];
457+ lacrosse = ∀ α β. α -> β;
458− lametric = ∀ α β. α -> [β];
458+ lametric = ∀ α β. α -> β;
459− lannouncer = ∀ α β. α -> [β];
459+ lannouncer = ∀ α β. α -> β;
460 lastfm = ∀ α β. (α.pylast = β) => α -> [β];
460 lastfm = ∀ α β. (α.pylast = β) => α -> [β];
461− launch_library = ∀ α β. α -> [β];
461+ launch_library = ∀ α β. α -> β;
462− lcn = ∀ α β. α -> [β];
462+ lcn = ∀ α β. α -> β;
463− lg_netcast = ∀ α β. α -> [β];
463+ lg_netcast = ∀ α β. α -> β;
464− lg_soundbar = ∀ α β. α -> [β];
464+ lg_soundbar = ∀ α β. α -> β;
465− life360 = ∀ α β. α -> [β];
465+ life360 = ∀ α β. α -> β;
466 lifx = ∀ α β. (α.aiolifx = β, α.aiolifx-effects = β) => α -> [β];
466 lifx = ∀ α β. (α.aiolifx = β, α.aiolifx-effects = β) => α -> [β];
467− lifx_cloud = ∀ α β. α -> [β];
467+ lifx_cloud = ∀ α β. α -> β;
468− lifx_legacy = ∀ α β. α -> [β];
468+ lifx_legacy = ∀ α β. α -> β;
469− light = ∀ α β. α -> [β];
469+ light = ∀ α β. α -> β;
470− lightwave = ∀ α β. α -> [β];
470+ lightwave = ∀ α β. α -> β;
471 limitlessled = ∀ α β. (α.limitlessled = β) => α -> [β];
471 limitlessled = ∀ α β. (α.limitlessled = β) => α -> [β];
472− linksys_smart = ∀ α β. α -> [β];
472+ linksys_smart = ∀ α β. α -> β;
473 linode = ∀ α β. (α.linode-api = β) => α -> [β];
473 linode = ∀ α β. (α.linode-api = β) => α -> [β];
474 linux_battery = ∀ α β. (α.batinfo = β) => α -> [β];
474 linux_battery = ∀ α β. (α.batinfo = β) => α -> [β];
475− lirc = ∀ α β. α -> [β];
475+ lirc = ∀ α β. α -> β;
476− litejet = ∀ α β. α -> [β];
476+ litejet = ∀ α β. α -> β;
477− llamalab_automate = ∀ α β. α -> [β];
477+ llamalab_automate = ∀ α β. α -> β;
478− local_file = ∀ α β. α -> [β];
478+ local_file = ∀ α β. α -> β;
479− local_ip = ∀ α β. α -> [β];
479+ local_ip = ∀ α β. α -> β;
480 locative = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
480 locative = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
481− lock = ∀ α β. α -> [β];
481+ lock = ∀ α β. α -> β;
482 logbook = ∀ α β. (α.aiohttp-cors = β, α.sqlalchemy = β) => α -> [β];
482 logbook = ∀ α β. (α.aiohttp-cors = β, α.sqlalchemy = β) => α -> [β];
483− logentries = ∀ α β. α -> [β];
483+ logentries = ∀ α β. α -> β;
484− logger = ∀ α β. α -> [β];
484+ logger = ∀ α β. α -> β;
485 logi_circle = ∀ α β. (α.aiohttp-cors = β, α.ha-ffmpeg = β) => α -> [β];
485 logi_circle = ∀ α β. (α.aiohttp-cors = β, α.ha-ffmpeg = β) => α -> [β];
486− london_air = ∀ α β. α -> [β];
486+ london_air = ∀ α β. α -> β;
487− london_underground = ∀ α β. α -> [β];
487+ london_underground = ∀ α β. α -> β;
488− loopenergy = ∀ α β. α -> [β];
488+ loopenergy = ∀ α β. α -> β;
489− lovelace = ∀ α β. α -> [β];
489+ lovelace = ∀ α β. α -> β;
490 luci = ∀ α β. (α.openwrt-luci-rpc = β) => α -> [β];
490 luci = ∀ α β. (α.openwrt-luci-rpc = β) => α -> [β];
491 luftdaten = ∀ α β. (α.luftdaten = β) => α -> [β];
491 luftdaten = ∀ α β. (α.luftdaten = β) => α -> [β];
492− lupusec = ∀ α β. α -> [β];
492+ lupusec = ∀ α β. α -> β;
493− lutron = ∀ α β. α -> [β];
493+ lutron = ∀ α β. α -> β;
494− lutron_caseta = ∀ α β. α -> [β];
494+ lutron_caseta = ∀ α β. α -> β;
495− lw12wifi = ∀ α β. α -> [β];
495+ lw12wifi = ∀ α β. α -> β;
496− lyft = ∀ α β. α -> [β];
496+ lyft = ∀ α β. α -> β;
497− magicseaweed = ∀ α β. α -> [β];
497+ magicseaweed = ∀ α β. α -> β;
498 mailbox = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
498 mailbox = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
499 mailgun = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
499 mailgun = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
500− manual = ∀ α β. α -> [β];
500+ manual = ∀ α β. α -> β;
501 manual_mqtt = ∀ α β. (α.aiohttp-cors = β, α.paho-mqtt = β) => α -> [β];
501 manual_mqtt = ∀ α β. (α.aiohttp-cors = β, α.paho-mqtt = β) => α -> [β];
502 map = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
502 map = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
503− marytts = ∀ α β. α -> [β];
503+ marytts = ∀ α β. α -> β;
504− mastodon = ∀ α β. α -> [β];
504+ mastodon = ∀ α β. α -> β;
505 matrix = ∀ α β. (α.matrix-client = β) => α -> [β];
505 matrix = ∀ α β. (α.matrix-client = β) => α -> [β];
506− maxcube = ∀ α β. α -> [β];
506+ maxcube = ∀ α β. α -> β;
507− mcp23017 = ∀ α β. α -> [β];
507+ mcp23017 = ∀ α β. α -> β;
508 media_extractor =
508 media_extractor =
509 ∀ α β. (α.aiohttp-cors = β, α.youtube-dl-light = β) => α -> [β];
509 ∀ α β. (α.aiohttp-cors = β, α.youtube-dl-light = β) => α -> [β];
510 media_player = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
510 media_player = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
511− mediaroom = ∀ α β. α -> [β];
511+ mediaroom = ∀ α β. α -> β;
512− melcloud = ∀ α β. α -> [β];
512+ melcloud = ∀ α β. α -> β;
513− melissa = ∀ α β. α -> [β];
513+ melissa = ∀ α β. α -> β;
514 meraki = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
514 meraki = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
515− message_bird = ∀ α β. α -> [β];
515+ message_bird = ∀ α β. α -> β;
516 met = ∀ α β. (α.pymetno = β) => α -> [β];
516 met = ∀ α β. (α.pymetno = β) => α -> [β];
517− meteo_france = ∀ α β. α -> [β];
517+ meteo_france = ∀ α β. α -> β;
518− meteoalarm = ∀ α β. α -> [β];
518+ meteoalarm = ∀ α β. α -> β;
519− metoffice = ∀ α β. α -> [β];
519+ metoffice = ∀ α β. α -> β;
520− mfi = ∀ α β. α -> [β];
520+ mfi = ∀ α β. α -> β;
521− mhz19 = ∀ α β. α -> [β];
521+ mhz19 = ∀ α β. α -> β;
522− microsoft = ∀ α β. α -> [β];
522+ microsoft = ∀ α β. α -> β;
523 microsoft_face = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
523 microsoft_face = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
524 microsoft_face_detect = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
524 microsoft_face_detect = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
525 microsoft_face_identify = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
525 microsoft_face_identify = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
526 miflora = ∀ α β. (α.bluepy = β) => α -> [β];
526 miflora = ∀ α β. (α.bluepy = β) => α -> [β];
527− mikrotik = ∀ α β. α -> [β];
527+ mikrotik = ∀ α β. α -> β;
528− mill = ∀ α β. α -> [β];
528+ mill = ∀ α β. α -> β;
529− min_max = ∀ α β. α -> [β];
529+ min_max = ∀ α β. α -> β;
530 minecraft_server = ∀ α β. (α.aiodns = β, α.getmac = β) => α -> [β];
530 minecraft_server = ∀ α β. (α.aiodns = β, α.getmac = β) => α -> [β];
531 minio = ∀ α β. (α.minio = β) => α -> [β];
531 minio = ∀ α β. (α.minio = β) => α -> [β];
532− mitemp_bt = ∀ α β. α -> [β];
532+ mitemp_bt = ∀ α β. α -> β;
533− mjpeg = ∀ α β. α -> [β];
533+ mjpeg = ∀ α β. α -> β;
534 mobile_app =
534 mobile_app =
535 ∀ α β.
535 ∀ α β.
536 ( α.aiohttp-cors = β,
536 ( α.aiohttp-cors = β,
@@ -539,13 +539,13 @@
539 α.pynacl = β
539 α.pynacl = β
540 ) =>
540 ) =>
541 α -> [β];
541 α -> [β];
542− mochad = ∀ α β. α -> [β];
542+ mochad = ∀ α β. α -> β;
543− modbus = ∀ α β. α -> [β];
543+ modbus = ∀ α β. α -> β;
544− modem_callerid = ∀ α β. α -> [β];
544+ modem_callerid = ∀ α β. α -> β;
545− mold_indicator = ∀ α β. α -> [β];
545+ mold_indicator = ∀ α β. α -> β;
546− monoprice = ∀ α β. α -> [β];
546+ monoprice = ∀ α β. α -> β;
547− moon = ∀ α β. α -> [β];
547+ moon = ∀ α β. α -> β;
548− mpchc = ∀ α β. α -> [β];
548+ mpchc = ∀ α β. α -> β;
549 mpd = ∀ α β. (α.mpd2 = β) => α -> [β];
549 mpd = ∀ α β. (α.mpd2 = β) => α -> [β];
550 mqtt = ∀ α β. (α.aiohttp-cors = β, α.paho-mqtt = β) => α -> [β];
550 mqtt = ∀ α β. (α.aiohttp-cors = β, α.paho-mqtt = β) => α -> [β];
551 mqtt_eventstream =
551 mqtt_eventstream =
@@ -554,89 +554,89 @@
554 mqtt_room = ∀ α β. (α.aiohttp-cors = β, α.paho-mqtt = β) => α -> [β];
554 mqtt_room = ∀ α β. (α.aiohttp-cors = β, α.paho-mqtt = β) => α -> [β];
555 mqtt_statestream =
555 mqtt_statestream =
556 ∀ α β. (α.aiohttp-cors = β, α.paho-mqtt = β) => α -> [β];
556 ∀ α β. (α.aiohttp-cors = β, α.paho-mqtt = β) => α -> [β];
557− msteams = ∀ α β. α -> [β];
557+ msteams = ∀ α β. α -> β;
558 mvglive = ∀ α β. (α.PyMVGLive = β) => α -> [β];
558 mvglive = ∀ α β. (α.PyMVGLive = β) => α -> [β];
559− mychevy = ∀ α β. α -> [β];
559+ mychevy = ∀ α β. α -> β;
560− mycroft = ∀ α β. α -> [β];
560+ mycroft = ∀ α β. α -> β;
561− myq = ∀ α β. α -> [β];
561+ myq = ∀ α β. α -> β;
562 mysensors = ∀ α β. (α.aiohttp-cors = β, α.paho-mqtt = β) => α -> [β];
562 mysensors = ∀ α β. (α.aiohttp-cors = β, α.paho-mqtt = β) => α -> [β];
563 mystrom = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
563 mystrom = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
564− mythicbeastsdns = ∀ α β. α -> [β];
564+ mythicbeastsdns = ∀ α β. α -> β;
565− n26 = ∀ α β. α -> [β];
565+ n26 = ∀ α β. α -> β;
566− nad = ∀ α β. α -> [β];
566+ nad = ∀ α β. α -> β;
567 namecheapdns = ∀ α β. (α.defusedxml = β) => α -> [β];
567 namecheapdns = ∀ α β. (α.defusedxml = β) => α -> [β];
568 nanoleaf = ∀ α β. (α.pynanoleaf = β) => α -> [β];
568 nanoleaf = ∀ α β. (α.pynanoleaf = β) => α -> [β];
569 neato = ∀ α β. (α.pybotvac = β) => α -> [β];
569 neato = ∀ α β. (α.pybotvac = β) => α -> [β];
570− nederlandse_spoorwegen = ∀ α β. α -> [β];
570+ nederlandse_spoorwegen = ∀ α β. α -> β;
571− nello = ∀ α β. α -> [β];
571+ nello = ∀ α β. α -> β;
572− ness_alarm = ∀ α β. α -> [β];
572+ ness_alarm = ∀ α β. α -> β;
573− nest = ∀ α β. α -> [β];
573+ nest = ∀ α β. α -> β;
574 netatmo =
574 netatmo =
575 ∀ α β.
575 ∀ α β.
576 (α.aiohttp-cors = β, α.hass-nabucasa = β, α.pyatmo = β) => α -> [β];
576 (α.aiohttp-cors = β, α.hass-nabucasa = β, α.pyatmo = β) => α -> [β];
577− netdata = ∀ α β. α -> [β];
577+ netdata = ∀ α β. α -> β;
578− netgear = ∀ α β. α -> [β];
578+ netgear = ∀ α β. α -> β;
579− netgear_lte = ∀ α β. α -> [β];
579+ netgear_lte = ∀ α β. α -> β;
580 netio = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
580 netio = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
581− neurio_energy = ∀ α β. α -> [β];
581+ neurio_energy = ∀ α β. α -> β;
582− nexia = ∀ α β. α -> [β];
582+ nexia = ∀ α β. α -> β;
583− nextbus = ∀ α β. α -> [β];
583+ nextbus = ∀ α β. α -> β;
584− nextcloud = ∀ α β. α -> [β];
584+ nextcloud = ∀ α β. α -> β;
585− nfandroidtv = ∀ α β. α -> [β];
585+ nfandroidtv = ∀ α β. α -> β;
586− niko_home_control = ∀ α β. α -> [β];
586+ niko_home_control = ∀ α β. α -> β;
587− nilu = ∀ α β. α -> [β];
587+ nilu = ∀ α β. α -> β;
588− nissan_leaf = ∀ α β. α -> [β];
588+ nissan_leaf = ∀ α β. α -> β;
589 nmap_tracker = ∀ α β. (α.getmac = β) => α -> [β];
589 nmap_tracker = ∀ α β. (α.getmac = β) => α -> [β];
590− nmbs = ∀ α β. α -> [β];
590+ nmbs = ∀ α β. α -> β;
591− no_ip = ∀ α β. α -> [β];
591+ no_ip = ∀ α β. α -> β;
592− noaa_tides = ∀ α β. α -> [β];
592+ noaa_tides = ∀ α β. α -> β;
593 norway_air = ∀ α β. (α.pymetno = β) => α -> [β];
593 norway_air = ∀ α β. (α.pymetno = β) => α -> [β];
594− notify = ∀ α β. α -> [β];
594+ notify = ∀ α β. α -> β;
595− notify_events = ∀ α β. α -> [β];
595+ notify_events = ∀ α β. α -> β;
596− notion = ∀ α β. α -> [β];
596+ notion = ∀ α β. α -> β;
597− nsw_fuel_station = ∀ α β. α -> [β];
597+ nsw_fuel_station = ∀ α β. α -> β;
598− nsw_rural_fire_service_feed = ∀ α β. α -> [β];
598+ nsw_rural_fire_service_feed = ∀ α β. α -> β;
599− nuheat = ∀ α β. α -> [β];
599+ nuheat = ∀ α β. α -> β;
600− nuimo_controller = ∀ α β. α -> [β];
600+ nuimo_controller = ∀ α β. α -> β;
601− nuki = ∀ α β. α -> [β];
601+ nuki = ∀ α β. α -> β;
602− numato = ∀ α β. α -> [β];
602+ numato = ∀ α β. α -> β;
603− nut = ∀ α β. α -> [β];
603+ nut = ∀ α β. α -> β;
604− nws = ∀ α β. α -> [β];
604+ nws = ∀ α β. α -> β;
605− nx584 = ∀ α β. α -> [β];
605+ nx584 = ∀ α β. α -> β;
606− nzbget = ∀ α β. α -> [β];
606+ nzbget = ∀ α β. α -> β;
607− oasa_telematics = ∀ α β. α -> [β];
607+ oasa_telematics = ∀ α β. α -> β;
608− obihai = ∀ α β. α -> [β];
608+ obihai = ∀ α β. α -> β;
609 octoprint =
609 octoprint =
610 ∀ α β. (α.aiohttp-cors = β, α.netdisco = β, α.zeroconf = β) => α -> [β];
610 ∀ α β. (α.aiohttp-cors = β, α.netdisco = β, α.zeroconf = β) => α -> [β];
611− oem = ∀ α β. α -> [β];
611+ oem = ∀ α β. α -> β;
612 ohmconnect = ∀ α β. (α.defusedxml = β) => α -> [β];
612 ohmconnect = ∀ α β. (α.defusedxml = β) => α -> [β];
613− ombi = ∀ α β. α -> [β];
613+ ombi = ∀ α β. α -> β;
614 onboarding = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
614 onboarding = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
615− onewire = ∀ α β. α -> [β];
615+ onewire = ∀ α β. α -> β;
616 onkyo = ∀ α β. (α.onkyo-eiscp = β) => α -> [β];
616 onkyo = ∀ α β. (α.onkyo-eiscp = β) => α -> [β];
617 onvif = ∀ α β. (α.ha-ffmpeg = β) => α -> [β];
617 onvif = ∀ α β. (α.ha-ffmpeg = β) => α -> [β];
618− openalpr_cloud = ∀ α β. α -> [β];
618+ openalpr_cloud = ∀ α β. α -> β;
619− openalpr_local = ∀ α β. α -> [β];
619+ openalpr_local = ∀ α β. α -> β;
620 opencv = ∀ α β. (α.numpy = β) => α -> [β];
620 opencv = ∀ α β. (α.numpy = β) => α -> [β];
621− openerz = ∀ α β. α -> [β];
621+ openerz = ∀ α β. α -> β;
622− openevse = ∀ α β. α -> [β];
622+ openevse = ∀ α β. α -> β;
623− openexchangerates = ∀ α β. α -> [β];
623+ openexchangerates = ∀ α β. α -> β;
624− opengarage = ∀ α β. α -> [β];
624+ opengarage = ∀ α β. α -> β;
625− openhardwaremonitor = ∀ α β. α -> [β];
625+ openhardwaremonitor = ∀ α β. α -> β;
626− openhome = ∀ α β. α -> [β];
626+ openhome = ∀ α β. α -> β;
627− opensensemap = ∀ α β. α -> [β];
627+ opensensemap = ∀ α β. α -> β;
628− opensky = ∀ α β. α -> [β];
628+ opensky = ∀ α β. α -> β;
629− opentherm_gw = ∀ α β. α -> [β];
629+ opentherm_gw = ∀ α β. α -> β;
630− openuv = ∀ α β. α -> [β];
630+ openuv = ∀ α β. α -> β;
631 openweathermap = ∀ α β. (α.pyowm = β) => α -> [β];
631 openweathermap = ∀ α β. (α.pyowm = β) => α -> [β];
632− opnsense = ∀ α β. α -> [β];
632+ opnsense = ∀ α β. α -> β;
633− opple = ∀ α β. α -> [β];
633+ opple = ∀ α β. α -> β;
634− orangepi_gpio = ∀ α β. α -> [β];
634+ orangepi_gpio = ∀ α β. α -> β;
635− oru = ∀ α β. α -> [β];
635+ oru = ∀ α β. α -> β;
636− orvibo = ∀ α β. α -> [β];
636+ orvibo = ∀ α β. α -> β;
637− osramlightify = ∀ α β. α -> [β];
637+ osramlightify = ∀ α β. α -> β;
638 otp = ∀ α β. (α.pyotp = β) => α -> [β];
638 otp = ∀ α β. (α.pyotp = β) => α -> [β];
639− ovo_energy = ∀ α β. α -> [β];
639+ ovo_energy = ∀ α β. α -> β;
640 owntracks =
640 owntracks =
641 ∀ α β.
641 ∀ α β.
642 ( α.aiohttp-cors = β,
642 ( α.aiohttp-cors = β,
@@ -646,24 +646,24 @@
646 ) =>
646 ) =>
647 α -> [β];
647 α -> [β];
648 ozw = ∀ α β. (α.aiohttp-cors = β, α.paho-mqtt = β) => α -> [β];
648 ozw = ∀ α β. (α.aiohttp-cors = β, α.paho-mqtt = β) => α -> [β];
649− panasonic_bluray = ∀ α β. α -> [β];
649+ panasonic_bluray = ∀ α β. α -> β;
650− panasonic_viera = ∀ α β. α -> [β];
650+ panasonic_viera = ∀ α β. α -> β;
651 pandora = ∀ α β. (α.pexpect = β) => α -> [β];
651 pandora = ∀ α β. (α.pexpect = β) => α -> [β];
652 panel_custom = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
652 panel_custom = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
653 panel_iframe = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
653 panel_iframe = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
654− pcal9535a = ∀ α β. α -> [β];
654+ pcal9535a = ∀ α β. α -> β;
655− pencom = ∀ α β. α -> [β];
655+ pencom = ∀ α β. α -> β;
656− persistent_notification = ∀ α β. α -> [β];
656+ persistent_notification = ∀ α β. α -> β;
657− person = ∀ α β. α -> [β];
657+ person = ∀ α β. α -> β;
658− philips_js = ∀ α β. α -> [β];
658+ philips_js = ∀ α β. α -> β;
659− pi4ioe5v9xxxx = ∀ α β. α -> [β];
659+ pi4ioe5v9xxxx = ∀ α β. α -> β;
660− pi_hole = ∀ α β. α -> [β];
660+ pi_hole = ∀ α β. α -> β;
661− picotts = ∀ α β. α -> [β];
661+ picotts = ∀ α β. α -> β;
662− piglow = ∀ α β. α -> [β];
662+ piglow = ∀ α β. α -> β;
663− pilight = ∀ α β. α -> [β];
663+ pilight = ∀ α β. α -> β;
664− ping = ∀ α β. α -> [β];
664+ ping = ∀ α β. α -> β;
665− pioneer = ∀ α β. α -> [β];
665+ pioneer = ∀ α β. α -> β;
666− pjlink = ∀ α β. α -> [β];
666+ pjlink = ∀ α β. α -> β;
667 plaato = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
667 plaato = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
668 plant = ∀ α β. (α.sqlalchemy = β) => α -> [β];
668 plant = ∀ α β. (α.sqlalchemy = β) => α -> [β];
669 plex =
669 plex =
@@ -675,158 +675,158 @@
675 α.pysonos = β
675 α.pysonos = β
676 ) =>
676 ) =>
677 α -> [β];
677 α -> [β];
678− plugwise = ∀ α β. α -> [β];
678+ plugwise = ∀ α β. α -> β;
679− plum_lightpad = ∀ α β. α -> [β];
679+ plum_lightpad = ∀ α β. α -> β;
680− pocketcasts = ∀ α β. α -> [β];
680+ pocketcasts = ∀ α β. α -> β;
681 point = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
681 point = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
682− poolsense = ∀ α β. α -> [β];
682+ poolsense = ∀ α β. α -> β;
683− powerwall = ∀ α β. α -> [β];
683+ powerwall = ∀ α β. α -> β;
684− prezzibenzina = ∀ α β. α -> [β];
684+ prezzibenzina = ∀ α β. α -> β;
685− proliphix = ∀ α β. α -> [β];
685+ proliphix = ∀ α β. α -> β;
686 prometheus =
686 prometheus =
687 ∀ α β. (α.aiohttp-cors = β, α.prometheus_client = β) => α -> [β];
687 ∀ α β. (α.aiohttp-cors = β, α.prometheus_client = β) => α -> [β];
688− prowl = ∀ α β. α -> [β];
688+ prowl = ∀ α β. α -> β;
689− proximity = ∀ α β. α -> [β];
689+ proximity = ∀ α β. α -> β;
690− proxmoxve = ∀ α β. α -> [β];
690+ proxmoxve = ∀ α β. α -> β;
691 proxy = ∀ α β. (α.pillow = β) => α -> [β];
691 proxy = ∀ α β. (α.pillow = β) => α -> [β];
692− ps4 = ∀ α β. α -> [β];
692+ ps4 = ∀ α β. α -> β;
693− ptvsd = ∀ α β. α -> [β];
693+ ptvsd = ∀ α β. α -> β;
694 pulseaudio_loopback = ∀ α β. (α.pulsectl = β) => α -> [β];
694 pulseaudio_loopback = ∀ α β. (α.pulsectl = β) => α -> [β];
695 push = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
695 push = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
696 pushbullet = ∀ α β. (α.pushbullet = β) => α -> [β];
696 pushbullet = ∀ α β. (α.pushbullet = β) => α -> [β];
697 pushover = ∀ α β. (α.pushover-complete = β) => α -> [β];
697 pushover = ∀ α β. (α.pushover-complete = β) => α -> [β];
698− pushsafer = ∀ α β. α -> [β];
698+ pushsafer = ∀ α β. α -> β;
699 pvoutput = ∀ α β. (α.jsonpath = β, α.xmltodict = β) => α -> [β];
699 pvoutput = ∀ α β. (α.jsonpath = β, α.xmltodict = β) => α -> [β];
700− pvpc_hourly_pricing = ∀ α β. α -> [β];
700+ pvpc_hourly_pricing = ∀ α β. α -> β;
701− pyload = ∀ α β. α -> [β];
701+ pyload = ∀ α β. α -> β;
702 python_script = ∀ α β. (α.restrictedpython = β) => α -> [β];
702 python_script = ∀ α β. (α.restrictedpython = β) => α -> [β];
703− qbittorrent = ∀ α β. α -> [β];
703+ qbittorrent = ∀ α β. α -> β;
704− qld_bushfire = ∀ α β. α -> [β];
704+ qld_bushfire = ∀ α β. α -> β;
705− qnap = ∀ α β. α -> [β];
705+ qnap = ∀ α β. α -> β;
706 qrcode = ∀ α β. (α.pillow = β) => α -> [β];
706 qrcode = ∀ α β. (α.pillow = β) => α -> [β];
707− quantum_gateway = ∀ α β. α -> [β];
707+ quantum_gateway = ∀ α β. α -> β;
708− qvr_pro = ∀ α β. α -> [β];
708+ qvr_pro = ∀ α β. α -> β;
709− qwikswitch = ∀ α β. α -> [β];
709+ qwikswitch = ∀ α β. α -> β;
710 rachio = ∀ α β. (α.aiohttp-cors = β, α.hass-nabucasa = β) => α -> [β];
710 rachio = ∀ α β. (α.aiohttp-cors = β, α.hass-nabucasa = β) => α -> [β];
711− radarr = ∀ α β. α -> [β];
711+ radarr = ∀ α β. α -> β;
712− radiotherm = ∀ α β. α -> [β];
712+ radiotherm = ∀ α β. α -> β;
713− rainbird = ∀ α β. α -> [β];
713+ rainbird = ∀ α β. α -> β;
714− raincloud = ∀ α β. α -> [β];
714+ raincloud = ∀ α β. α -> β;
715− rainforest_eagle = ∀ α β. α -> [β];
715+ rainforest_eagle = ∀ α β. α -> β;
716− rainmachine = ∀ α β. α -> [β];
716+ rainmachine = ∀ α β. α -> β;
717− random = ∀ α β. α -> [β];
717+ random = ∀ α β. α -> β;
718− raspihats = ∀ α β. α -> [β];
718+ raspihats = ∀ α β. α -> β;
719− raspyrfm = ∀ α β. α -> [β];
719+ raspyrfm = ∀ α β. α -> β;
720− recollect_waste = ∀ α β. α -> [β];
720+ recollect_waste = ∀ α β. α -> β;
721 recorder = ∀ α β. (α.sqlalchemy = β) => α -> [β];
721 recorder = ∀ α β. (α.sqlalchemy = β) => α -> [β];
722− recswitch = ∀ α β. α -> [β];
722+ recswitch = ∀ α β. α -> β;
723 reddit = ∀ α β. (α.praw = β) => α -> [β];
723 reddit = ∀ α β. (α.praw = β) => α -> [β];
724− rejseplanen = ∀ α β. α -> [β];
724+ rejseplanen = ∀ α β. α -> β;
725 remember_the_milk = ∀ α β. (α.httplib2 = β) => α -> [β];
725 remember_the_milk = ∀ α β. (α.httplib2 = β) => α -> [β];
726− remote = ∀ α β. α -> [β];
726+ remote = ∀ α β. α -> β;
727− remote_rpi_gpio = ∀ α β. α -> [β];
727+ remote_rpi_gpio = ∀ α β. α -> β;
728− repetier = ∀ α β. α -> [β];
728+ repetier = ∀ α β. α -> β;
729 rest = ∀ α β. (α.jsonpath = β, α.xmltodict = β) => α -> [β];
729 rest = ∀ α β. (α.jsonpath = β, α.xmltodict = β) => α -> [β];
730− rest_command = ∀ α β. α -> [β];
730+ rest_command = ∀ α β. α -> β;
731− rflink = ∀ α β. α -> [β];
731+ rflink = ∀ α β. α -> β;
732− rfxtrx = ∀ α β. α -> [β];
732+ rfxtrx = ∀ α β. α -> β;
733 ring = ∀ α β. (α.ha-ffmpeg = β) => α -> [β];
733 ring = ∀ α β. (α.ha-ffmpeg = β) => α -> [β];
734− ripple = ∀ α β. α -> [β];
734+ ripple = ∀ α β. α -> β;
735 rmvtransport = ∀ α β. (α.PyRMVtransport = β) => α -> [β];
735 rmvtransport = ∀ α β. (α.PyRMVtransport = β) => α -> [β];
736− rocketchat = ∀ α β. α -> [β];
736+ rocketchat = ∀ α β. α -> β;
737− roku = ∀ α β. α -> [β];
737+ roku = ∀ α β. α -> β;
738− roomba = ∀ α β. α -> [β];
738+ roomba = ∀ α β. α -> β;
739 route53 = ∀ α β. (α.boto3 = β) => α -> [β];
739 route53 = ∀ α β. (α.boto3 = β) => α -> [β];
740− rova = ∀ α β. α -> [β];
740+ rova = ∀ α β. α -> β;
741− rpi_camera = ∀ α β. α -> [β];
741+ rpi_camera = ∀ α β. α -> β;
742− rpi_gpio = ∀ α β. α -> [β];
742+ rpi_gpio = ∀ α β. α -> β;
743− rpi_gpio_pwm = ∀ α β. α -> [β];
743+ rpi_gpio_pwm = ∀ α β. α -> β;
744− rpi_pfio = ∀ α β. α -> [β];
744+ rpi_pfio = ∀ α β. α -> β;
745− rpi_rf = ∀ α β. α -> [β];
745+ rpi_rf = ∀ α β. α -> β;
746 rss_feed_template = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
746 rss_feed_template = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
747− rtorrent = ∀ α β. α -> [β];
747+ rtorrent = ∀ α β. α -> β;
748− russound_rio = ∀ α β. α -> [β];
748+ russound_rio = ∀ α β. α -> β;
749− russound_rnet = ∀ α β. α -> [β];
749+ russound_rnet = ∀ α β. α -> β;
750 sabnzbd =
750 sabnzbd =
751 ∀ α β. (α.aiohttp-cors = β, α.netdisco = β, α.zeroconf = β) => α -> [β];
751 ∀ α β. (α.aiohttp-cors = β, α.netdisco = β, α.zeroconf = β) => α -> [β];
752 safe_mode = ∀ α β. (α.aiohttp-cors = β, α.hass-nabucasa = β) => α -> [β];
752 safe_mode = ∀ α β. (α.aiohttp-cors = β, α.hass-nabucasa = β) => α -> [β];
753− saj = ∀ α β. α -> [β];
753+ saj = ∀ α β. α -> β;
754− salt = ∀ α β. α -> [β];
754+ salt = ∀ α β. α -> β;
755 samsungtv = ∀ α β. (α.samsungctl = β, α.samsungtvws = β) => α -> [β];
755 samsungtv = ∀ α β. (α.samsungctl = β, α.samsungtvws = β) => α -> [β];
756− satel_integra = ∀ α β. α -> [β];
756+ satel_integra = ∀ α β. α -> β;
757− scene = ∀ α β. α -> [β];
757+ scene = ∀ α β. α -> β;
758− schluter = ∀ α β. α -> [β];
758+ schluter = ∀ α β. α -> β;
759 scrape =
759 scrape =
760 ∀ α β.
760 ∀ α β.
761 (α.beautifulsoup4 = β, α.jsonpath = β, α.xmltodict = β) => α -> [β];
761 (α.beautifulsoup4 = β, α.jsonpath = β, α.xmltodict = β) => α -> [β];
762− script = ∀ α β. α -> [β];
762+ script = ∀ α β. α -> β;
763− scsgate = ∀ α β. α -> [β];
763+ scsgate = ∀ α β. α -> β;
764 search = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
764 search = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
765 season = ∀ α β. (α.ephem = β) => α -> [β];
765 season = ∀ α β. (α.ephem = β) => α -> [β];
766− sendgrid = ∀ α β. α -> [β];
766+ sendgrid = ∀ α β. α -> β;
767− sense = ∀ α β. α -> [β];
767+ sense = ∀ α β. α -> β;
768− sensehat = ∀ α β. α -> [β];
768+ sensehat = ∀ α β. α -> β;
769− sensibo = ∀ α β. α -> [β];
769+ sensibo = ∀ α β. α -> β;
770− sensor = ∀ α β. α -> [β];
770+ sensor = ∀ α β. α -> β;
771 sentry = ∀ α β. (α.sentry-sdk = β) => α -> [β];
771 sentry = ∀ α β. (α.sentry-sdk = β) => α -> [β];
772 serial = ∀ α β. (α.pyserial-asyncio = β) => α -> [β];
772 serial = ∀ α β. (α.pyserial-asyncio = β) => α -> [β];
773− serial_pm = ∀ α β. α -> [β];
773+ serial_pm = ∀ α β. α -> β;
774− sesame = ∀ α β. α -> [β];
774+ sesame = ∀ α β. α -> β;
775 seven_segments = ∀ α β. (α.pillow = β) => α -> [β];
775 seven_segments = ∀ α β. (α.pillow = β) => α -> [β];
776− seventeentrack = ∀ α β. α -> [β];
776+ seventeentrack = ∀ α β. α -> β;
777− shell_command = ∀ α β. α -> [β];
777+ shell_command = ∀ α β. α -> β;
778 shiftr = ∀ α β. (α.paho-mqtt = β) => α -> [β];
778 shiftr = ∀ α β. (α.paho-mqtt = β) => α -> [β];
779 shodan = ∀ α β. (α.shodan = β) => α -> [β];
779 shodan = ∀ α β. (α.shodan = β) => α -> [β];
780 shopping_list = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
780 shopping_list = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
781− sht31 = ∀ α β. α -> [β];
781+ sht31 = ∀ α β. α -> β;
782− sigfox = ∀ α β. α -> [β];
782+ sigfox = ∀ α β. α -> β;
783 sighthound = ∀ α β. (α.pillow = β) => α -> [β];
783 sighthound = ∀ α β. (α.pillow = β) => α -> [β];
784− signal_messenger = ∀ α β. α -> [β];
784+ signal_messenger = ∀ α β. α -> β;
785− simplepush = ∀ α β. α -> [β];
785+ simplepush = ∀ α β. α -> β;
786− simplisafe = ∀ α β. α -> [β];
786+ simplisafe = ∀ α β. α -> β;
787− simulated = ∀ α β. α -> [β];
787+ simulated = ∀ α β. α -> β;
788− sinch = ∀ α β. α -> [β];
788+ sinch = ∀ α β. α -> β;
789− sisyphus = ∀ α β. α -> [β];
789+ sisyphus = ∀ α β. α -> β;
790− sky_hub = ∀ α β. α -> [β];
790+ sky_hub = ∀ α β. α -> β;
791− skybeacon = ∀ α β. α -> [β];
791+ skybeacon = ∀ α β. α -> β;
792− skybell = ∀ α β. α -> [β];
792+ skybell = ∀ α β. α -> β;
793− slack = ∀ α β. α -> [β];
793+ slack = ∀ α β. α -> β;
794− sleepiq = ∀ α β. α -> [β];
794+ sleepiq = ∀ α β. α -> β;
795− slide = ∀ α β. α -> [β];
795+ slide = ∀ α β. α -> β;
796− sma = ∀ α β. α -> [β];
796+ sma = ∀ α β. α -> β;
797 smappee = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
797 smappee = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
798− smarthab = ∀ α β. α -> [β];
798+ smarthab = ∀ α β. α -> β;
799 smartthings =
799 smartthings =
800 ∀ α β. (α.aiohttp-cors = β, α.hass-nabucasa = β) => α -> [β];
800 ∀ α β. (α.aiohttp-cors = β, α.hass-nabucasa = β) => α -> [β];
801− smarty = ∀ α β. α -> [β];
801+ smarty = ∀ α β. α -> β;
802− smhi = ∀ α β. α -> [β];
802+ smhi = ∀ α β. α -> β;
803− sms = ∀ α β. α -> [β];
803+ sms = ∀ α β. α -> β;
804− smtp = ∀ α β. α -> [β];
804+ smtp = ∀ α β. α -> β;
805 snapcast = ∀ α β. (α.snapcast = β) => α -> [β];
805 snapcast = ∀ α β. (α.snapcast = β) => α -> [β];
806 snips = ∀ α β. (α.aiohttp-cors = β, α.paho-mqtt = β) => α -> [β];
806 snips = ∀ α β. (α.aiohttp-cors = β, α.paho-mqtt = β) => α -> [β];
807 snmp = ∀ α β. (α.pysnmp = β) => α -> [β];
807 snmp = ∀ α β. (α.pysnmp = β) => α -> [β];
808− sochain = ∀ α β. α -> [β];
808+ sochain = ∀ α β. α -> β;
809− socialblade = ∀ α β. α -> [β];
809+ socialblade = ∀ α β. α -> β;
810 solaredge = ∀ α β. (α.stringcase = β) => α -> [β];
810 solaredge = ∀ α β. (α.stringcase = β) => α -> [β];
811− solaredge_local = ∀ α β. α -> [β];
811+ solaredge_local = ∀ α β. α -> β;
812− solarlog = ∀ α β. α -> [β];
812+ solarlog = ∀ α β. α -> β;
813− solax = ∀ α β. α -> [β];
813+ solax = ∀ α β. α -> β;
814− soma = ∀ α β. α -> [β];
814+ soma = ∀ α β. α -> β;
815 somfy = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
815 somfy = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
816− somfy_mylink = ∀ α β. α -> [β];
816+ somfy_mylink = ∀ α β. α -> β;
817− sonarr = ∀ α β. α -> [β];
817+ sonarr = ∀ α β. α -> β;
818− songpal = ∀ α β. α -> [β];
818+ songpal = ∀ α β. α -> β;
819 sonos = ∀ α β. (α.pysonos = β) => α -> [β];
819 sonos = ∀ α β. (α.pysonos = β) => α -> [β];
820− sony_projector = ∀ α β. α -> [β];
820+ sony_projector = ∀ α β. α -> β;
821 soundtouch =
821 soundtouch =
822 ∀ α β.
822 ∀ α β.
823 (α.aiohttp-cors = β, α.libsoundtouch = β, α.zeroconf = β) => α -> [β];
823 (α.aiohttp-cors = β, α.libsoundtouch = β, α.zeroconf = β) => α -> [β];
824 spaceapi = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
824 spaceapi = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
825− spc = ∀ α β. α -> [β];
825+ spc = ∀ α β. α -> β;
826 speedtestdotnet = ∀ α β. (α.speedtest-cli = β) => α -> [β];
826 speedtestdotnet = ∀ α β. (α.speedtest-cli = β) => α -> [β];
827− spider = ∀ α β. α -> [β];
827+ spider = ∀ α β. α -> β;
828− splunk = ∀ α β. α -> [β];
828+ splunk = ∀ α β. α -> β;
829− spotcrime = ∀ α β. α -> [β];
829+ spotcrime = ∀ α β. α -> β;
830 spotify = ∀ α β. (α.aiohttp-cors = β, α.spotipy = β) => α -> [β];
830 spotify = ∀ α β. (α.aiohttp-cors = β, α.spotipy = β) => α -> [β];
831 sql = ∀ α β. (α.sqlalchemy = β) => α -> [β];
831 sql = ∀ α β. (α.sqlalchemy = β) => α -> [β];
832 squeezebox = ∀ α β. (α.pysqueezebox = β) => α -> [β];
832 squeezebox = ∀ α β. (α.pysqueezebox = β) => α -> [β];
@@ -838,47 +838,47 @@
838 α.zeroconf = β
838 α.zeroconf = β
839 ) =>
839 ) =>
840 α -> [β];
840 α -> [β];
841− starline = ∀ α β. α -> [β];
841+ starline = ∀ α β. α -> β;
842− starlingbank = ∀ α β. α -> [β];
842+ starlingbank = ∀ α β. α -> β;
843 startca = ∀ α β. (α.xmltodict = β) => α -> [β];
843 startca = ∀ α β. (α.xmltodict = β) => α -> [β];
844 statistics = ∀ α β. (α.sqlalchemy = β) => α -> [β];
844 statistics = ∀ α β. (α.sqlalchemy = β) => α -> [β];
845 statsd = ∀ α β. (α.statsd = β) => α -> [β];
845 statsd = ∀ α β. (α.statsd = β) => α -> [β];
846− steam_online = ∀ α β. α -> [β];
846+ steam_online = ∀ α β. α -> β;
847− stiebel_eltron = ∀ α β. α -> [β];
847+ stiebel_eltron = ∀ α β. α -> β;
848− stookalert = ∀ α β. α -> [β];
848+ stookalert = ∀ α β. α -> β;
849 stream = ∀ α β. (α.aiohttp-cors = β, α.av = β) => α -> [β];
849 stream = ∀ α β. (α.aiohttp-cors = β, α.av = β) => α -> [β];
850− streamlabswater = ∀ α β. α -> [β];
850+ streamlabswater = ∀ α β. α -> β;
851 stt = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
851 stt = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
852− suez_water = ∀ α β. α -> [β];
852+ suez_water = ∀ α β. α -> β;
853− sun = ∀ α β. α -> [β];
853+ sun = ∀ α β. α -> β;
854− supervisord = ∀ α β. α -> [β];
854+ supervisord = ∀ α β. α -> β;
855− supla = ∀ α β. α -> [β];
855+ supla = ∀ α β. α -> β;
856− surepetcare = ∀ α β. α -> [β];
856+ surepetcare = ∀ α β. α -> β;
857− swiss_hydrological_data = ∀ α β. α -> [β];
857+ swiss_hydrological_data = ∀ α β. α -> β;
858− swiss_public_transport = ∀ α β. α -> [β];
858+ swiss_public_transport = ∀ α β. α -> β;
859− swisscom = ∀ α β. α -> [β];
859+ swisscom = ∀ α β. α -> β;
860− switch = ∀ α β. α -> [β];
860+ switch = ∀ α β. α -> β;
861− switchbot = ∀ α β. α -> [β];
861+ switchbot = ∀ α β. α -> β;
862− switcher_kis = ∀ α β. α -> [β];
862+ switcher_kis = ∀ α β. α -> β;
863− switchmate = ∀ α β. α -> [β];
863+ switchmate = ∀ α β. α -> β;
864− syncthru = ∀ α β. α -> [β];
864+ syncthru = ∀ α β. α -> β;
865− synology = ∀ α β. α -> [β];
865+ synology = ∀ α β. α -> β;
866− synology_chat = ∀ α β. α -> [β];
866+ synology_chat = ∀ α β. α -> β;
867− synology_dsm = ∀ α β. α -> [β];
867+ synology_dsm = ∀ α β. α -> β;
868− synology_srm = ∀ α β. α -> [β];
868+ synology_srm = ∀ α β. α -> β;
869− syslog = ∀ α β. α -> [β];
869+ syslog = ∀ α β. α -> β;
870 system_health = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
870 system_health = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
871 system_log = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
871 system_log = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
872 systemmonitor = ∀ α β. (α.psutil = β) => α -> [β];
872 systemmonitor = ∀ α β. (α.psutil = β) => α -> [β];
873− tado = ∀ α β. α -> [β];
873+ tado = ∀ α β. α -> β;
874− tahoma = ∀ α β. α -> [β];
874+ tahoma = ∀ α β. α -> β;
875− tank_utility = ∀ α β. α -> [β];
875+ tank_utility = ∀ α β. α -> β;
876− tankerkoenig = ∀ α β. α -> [β];
876+ tankerkoenig = ∀ α β. α -> β;
877− tapsaff = ∀ α β. α -> [β];
877+ tapsaff = ∀ α β. α -> β;
878− tautulli = ∀ α β. α -> [β];
878+ tautulli = ∀ α β. α -> β;
879− tcp = ∀ α β. α -> [β];
879+ tcp = ∀ α β. α -> β;
880 ted5000 = ∀ α β. (α.xmltodict = β) => α -> [β];
880 ted5000 = ∀ α β. (α.xmltodict = β) => α -> [β];
881− teksavvy = ∀ α β. α -> [β];
881+ teksavvy = ∀ α β. α -> β;
882 telegram =
882 telegram =
883 ∀ α β.
883 ∀ α β.
884 (α.aiohttp-cors = β, α.pysocks = β, α.python-telegram-bot = β) => α ->
884 (α.aiohttp-cors = β, α.pysocks = β, α.python-telegram-bot = β) => α ->
@@ -887,139 +887,139 @@
887 ∀ α β.
887 ∀ α β.
888 (α.aiohttp-cors = β, α.pysocks = β, α.python-telegram-bot = β) => α ->
888 (α.aiohttp-cors = β, α.pysocks = β, α.python-telegram-bot = β) => α ->
889 [β];
889 [β];
890− tellduslive = ∀ α β. α -> [β];
890+ tellduslive = ∀ α β. α -> β;
891− tellstick = ∀ α β. α -> [β];
891+ tellstick = ∀ α β. α -> β;
892− telnet = ∀ α β. α -> [β];
892+ telnet = ∀ α β. α -> β;
893− temper = ∀ α β. α -> [β];
893+ temper = ∀ α β. α -> β;
894− template = ∀ α β. α -> [β];
894+ template = ∀ α β. α -> β;
895 tensorflow =
895 tensorflow =
896 ∀ α β. (α.numpy = β, α.pillow = β, α.protobuf = β) => α -> [β];
896 ∀ α β. (α.numpy = β, α.pillow = β, α.protobuf = β) => α -> [β];
897− tesla = ∀ α β. α -> [β];
897+ tesla = ∀ α β. α -> β;
898− tfiac = ∀ α β. α -> [β];
898+ tfiac = ∀ α β. α -> β;
899 thermoworks_smoke = ∀ α β. (α.stringcase = β) => α -> [β];
899 thermoworks_smoke = ∀ α β. (α.stringcase = β) => α -> [β];
900− thethingsnetwork = ∀ α β. α -> [β];
900+ thethingsnetwork = ∀ α β. α -> β;
901− thingspeak = ∀ α β. α -> [β];
901+ thingspeak = ∀ α β. α -> β;
902− thinkingcleaner = ∀ α β. α -> [β];
902+ thinkingcleaner = ∀ α β. α -> β;
903− thomson = ∀ α β. α -> [β];
903+ thomson = ∀ α β. α -> β;
904− threshold = ∀ α β. α -> [β];
904+ threshold = ∀ α β. α -> β;
905− tibber = ∀ α β. α -> [β];
905+ tibber = ∀ α β. α -> β;
906− tikteck = ∀ α β. α -> [β];
906+ tikteck = ∀ α β. α -> β;
907− tile = ∀ α β. α -> [β];
907+ tile = ∀ α β. α -> β;
908− time_date = ∀ α β. α -> [β];
908+ time_date = ∀ α β. α -> β;
909− timer = ∀ α β. α -> [β];
909+ timer = ∀ α β. α -> β;
910− tmb = ∀ α β. α -> [β];
910+ tmb = ∀ α β. α -> β;
911− tod = ∀ α β. α -> [β];
911+ tod = ∀ α β. α -> β;
912 todoist = ∀ α β. (α.todoist = β) => α -> [β];
912 todoist = ∀ α β. (α.todoist = β) => α -> [β];
913− tof = ∀ α β. α -> [β];
913+ tof = ∀ α β. α -> β;
914− tomato = ∀ α β. α -> [β];
914+ tomato = ∀ α β. α -> β;
915 toon = ∀ α β. (α.aiohttp-cors = β, α.hass-nabucasa = β) => α -> [β];
915 toon = ∀ α β. (α.aiohttp-cors = β, α.hass-nabucasa = β) => α -> [β];
916 torque = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
916 torque = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
917− totalconnect = ∀ α β. α -> [β];
917+ totalconnect = ∀ α β. α -> β;
918− touchline = ∀ α β. α -> [β];
918+ touchline = ∀ α β. α -> β;
919 tplink = ∀ α β. (α.pyhs100 = β) => α -> [β];
919 tplink = ∀ α β. (α.pyhs100 = β) => α -> [β];
920− tplink_lte = ∀ α β. α -> [β];
920+ tplink_lte = ∀ α β. α -> β;
921 traccar = ∀ α β. (α.aiohttp-cors = β, α.stringcase = β) => α -> [β];
921 traccar = ∀ α β. (α.aiohttp-cors = β, α.stringcase = β) => α -> [β];
922− trackr = ∀ α β. α -> [β];
922+ trackr = ∀ α β. α -> β;
923− tradfri = ∀ α β. α -> [β];
923+ tradfri = ∀ α β. α -> β;
924− trafikverket_train = ∀ α β. α -> [β];
924+ trafikverket_train = ∀ α β. α -> β;
925− trafikverket_weatherstation = ∀ α β. α -> [β];
925+ trafikverket_weatherstation = ∀ α β. α -> β;
926 transmission = ∀ α β. (α.transmissionrpc = β) => α -> [β];
926 transmission = ∀ α β. (α.transmissionrpc = β) => α -> [β];
927− transport_nsw = ∀ α β. α -> [β];
927+ transport_nsw = ∀ α β. α -> β;
928− travisci = ∀ α β. α -> [β];
928+ travisci = ∀ α β. α -> β;
929 trend = ∀ α β. (α.numpy = β) => α -> [β];
929 trend = ∀ α β. (α.numpy = β) => α -> [β];
930 tts = ∀ α β. (α.aiohttp-cors = β, α.mutagen = β) => α -> [β];
930 tts = ∀ α β. (α.aiohttp-cors = β, α.mutagen = β) => α -> [β];
931− tuya = ∀ α β. α -> [β];
931+ tuya = ∀ α β. α -> β;
932− twentemilieu = ∀ α β. α -> [β];
932+ twentemilieu = ∀ α β. α -> β;
933 twilio = ∀ α β. (α.aiohttp-cors = β, α.twilio = β) => α -> [β];
933 twilio = ∀ α β. (α.aiohttp-cors = β, α.twilio = β) => α -> [β];
934 twilio_call = ∀ α β. (α.aiohttp-cors = β, α.twilio = β) => α -> [β];
934 twilio_call = ∀ α β. (α.aiohttp-cors = β, α.twilio = β) => α -> [β];
935 twilio_sms = ∀ α β. (α.aiohttp-cors = β, α.twilio = β) => α -> [β];
935 twilio_sms = ∀ α β. (α.aiohttp-cors = β, α.twilio = β) => α -> [β];
936− twitch = ∀ α β. α -> [β];
936+ twitch = ∀ α β. α -> β;
937− twitter = ∀ α β. α -> [β];
937+ twitter = ∀ α β. α -> β;
938− ubee = ∀ α β. α -> [β];
938+ ubee = ∀ α β. α -> β;
939− ubus = ∀ α β. α -> [β];
939+ ubus = ∀ α β. α -> β;
940− ue_smart_radio = ∀ α β. α -> [β];
940+ ue_smart_radio = ∀ α β. α -> β;
941− uk_transport = ∀ α β. α -> [β];
941+ uk_transport = ∀ α β. α -> β;
942 unifi = ∀ α β. (α.aiounifi = β) => α -> [β];
942 unifi = ∀ α β. (α.aiounifi = β) => α -> [β];
943 unifi_direct = ∀ α β. (α.pexpect = β) => α -> [β];
943 unifi_direct = ∀ α β. (α.pexpect = β) => α -> [β];
944− unifiled = ∀ α β. α -> [β];
944+ unifiled = ∀ α β. α -> β;
945− universal = ∀ α β. α -> [β];
945+ universal = ∀ α β. α -> β;
946− upb = ∀ α β. α -> [β];
946+ upb = ∀ α β. α -> β;
947− upc_connect = ∀ α β. α -> [β];
947+ upc_connect = ∀ α β. α -> β;
948− upcloud = ∀ α β. α -> [β];
948+ upcloud = ∀ α β. α -> β;
949 updater = ∀ α β. (α.distro = β) => α -> [β];
949 updater = ∀ α β. (α.distro = β) => α -> [β];
950 upnp = ∀ α β. (α.async-upnp-client = β) => α -> [β];
950 upnp = ∀ α β. (α.async-upnp-client = β) => α -> [β];
951− uptime = ∀ α β. α -> [β];
951+ uptime = ∀ α β. α -> β;
952− uptimerobot = ∀ α β. α -> [β];
952+ uptimerobot = ∀ α β. α -> β;
953− uscis = ∀ α β. α -> [β];
953+ uscis = ∀ α β. α -> β;
954− usgs_earthquakes_feed = ∀ α β. α -> [β];
954+ usgs_earthquakes_feed = ∀ α β. α -> β;
955− utility_meter = ∀ α β. α -> [β];
955+ utility_meter = ∀ α β. α -> β;
956 uvc = ∀ α β. (α.uvcclient = β) => α -> [β];
956 uvc = ∀ α β. (α.uvcclient = β) => α -> [β];
957− vacuum = ∀ α β. α -> [β];
957+ vacuum = ∀ α β. α -> β;
958− vallox = ∀ α β. α -> [β];
958+ vallox = ∀ α β. α -> β;
959− vasttrafik = ∀ α β. α -> [β];
959+ vasttrafik = ∀ α β. α -> β;
960− velbus = ∀ α β. α -> [β];
960+ velbus = ∀ α β. α -> β;
961− velux = ∀ α β. α -> [β];
961+ velux = ∀ α β. α -> β;
962− venstar = ∀ α β. α -> [β];
962+ venstar = ∀ α β. α -> β;
963− vera = ∀ α β. α -> [β];
963+ vera = ∀ α β. α -> β;
964 verisure = ∀ α β. (α.jsonpath = β) => α -> [β];
964 verisure = ∀ α β. (α.jsonpath = β) => α -> [β];
965− versasense = ∀ α β. α -> [β];
965+ versasense = ∀ α β. α -> β;
966 version = ∀ α β. (α.pyhaversion = β) => α -> [β];
966 version = ∀ α β. (α.pyhaversion = β) => α -> [β];
967− vesync = ∀ α β. α -> [β];
967+ vesync = ∀ α β. α -> β;
968− viaggiatreno = ∀ α β. α -> [β];
968+ viaggiatreno = ∀ α β. α -> β;
969− vicare = ∀ α β. α -> [β];
969+ vicare = ∀ α β. α -> β;
970− vilfo = ∀ α β. α -> [β];
970+ vilfo = ∀ α β. α -> β;
971− vivotek = ∀ α β. α -> [β];
971+ vivotek = ∀ α β. α -> β;
972− vizio = ∀ α β. α -> [β];
972+ vizio = ∀ α β. α -> β;
973 vlc = ∀ α β. (α.python-vlc = β) => α -> [β];
973 vlc = ∀ α β. (α.python-vlc = β) => α -> [β];
974− vlc_telnet = ∀ α β. α -> [β];
974+ vlc_telnet = ∀ α β. α -> β;
975− voicerss = ∀ α β. α -> [β];
975+ voicerss = ∀ α β. α -> β;
976− volkszaehler = ∀ α β. α -> [β];
976+ volkszaehler = ∀ α β. α -> β;
977− volumio = ∀ α β. α -> [β];
977+ volumio = ∀ α β. α -> β;
978− volvooncall = ∀ α β. α -> [β];
978+ volvooncall = ∀ α β. α -> β;
979 vultr = ∀ α β. (α.vultr = β) => α -> [β];
979 vultr = ∀ α β. (α.vultr = β) => α -> [β];
980− w800rf32 = ∀ α β. α -> [β];
980+ w800rf32 = ∀ α β. α -> β;
981 wake_on_lan = ∀ α β. (α.wakeonlan = β) => α -> [β];
981 wake_on_lan = ∀ α β. (α.wakeonlan = β) => α -> [β];
982− waqi = ∀ α β. α -> [β];
982+ waqi = ∀ α β. α -> β;
983− water_heater = ∀ α β. α -> [β];
983+ water_heater = ∀ α β. α -> β;
984− waterfurnace = ∀ α β. α -> [β];
984+ waterfurnace = ∀ α β. α -> β;
985− watson_iot = ∀ α β. α -> [β];
985+ watson_iot = ∀ α β. α -> β;
986− watson_tts = ∀ α β. α -> [β];
986+ watson_tts = ∀ α β. α -> β;
987 waze_travel_time = ∀ α β. (α.WazeRouteCalculator = β) => α -> [β];
987 waze_travel_time = ∀ α β. (α.WazeRouteCalculator = β) => α -> [β];
988− weather = ∀ α β. α -> [β];
988+ weather = ∀ α β. α -> β;
989 webhook = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
989 webhook = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
990− webostv = ∀ α β. α -> [β];
990+ webostv = ∀ α β. α -> β;
991 websocket_api = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
991 websocket_api = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
992− wemo = ∀ α β. α -> [β];
992+ wemo = ∀ α β. α -> β;
993− whois = ∀ α β. α -> [β];
993+ whois = ∀ α β. α -> β;
994− wiffi = ∀ α β. α -> [β];
994+ wiffi = ∀ α β. α -> β;
995 wink = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
995 wink = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
996− wirelesstag = ∀ α β. α -> [β];
996+ wirelesstag = ∀ α β. α -> β;
997 withings = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
997 withings = ∀ α β. (α.aiohttp-cors = β) => α -> [β];
998− wled = ∀ α β. α -> [β];
998+ wled = ∀ α β. α -> β;
999− wolflink = ∀ α β. α -> [β];
999+ wolflink = ∀ α β. α -> β;
1000 workday = ∀ α β. (α.holidays = β) => α -> [β];
1000 workday = ∀ α β. (α.holidays = β) => α -> [β];
1001− worldclock = ∀ α β. α -> [β];
1001+ worldclock = ∀ α β. α -> β;
1002− worldtidesinfo = ∀ α β. α -> [β];
1002+ worldtidesinfo = ∀ α β. α -> β;
1003− worxlandroid = ∀ α β. α -> [β];
1003+ worxlandroid = ∀ α β. α -> β;
1004− wsdot = ∀ α β. α -> [β];
1004+ wsdot = ∀ α β. α -> β;
1005− wunderground = ∀ α β. α -> [β];
1005+ wunderground = ∀ α β. α -> β;
1006− x10 = ∀ α β. α -> [β];
1006+ x10 = ∀ α β. α -> β;
1007− xbee = ∀ α β. α -> [β];
1007+ xbee = ∀ α β. α -> β;
1008− xbox_live = ∀ α β. α -> [β];
1008+ xbox_live = ∀ α β. α -> β;
1009− xeoma = ∀ α β. α -> [β];
1009+ xeoma = ∀ α β. α -> β;
1010− xfinity = ∀ α β. α -> [β];
1010+ xfinity = ∀ α β. α -> β;
1011 xiaomi = ∀ α β. (α.ha-ffmpeg = β) => α -> [β];
1011 xiaomi = ∀ α β. (α.ha-ffmpeg = β) => α -> [β];
1012 xiaomi_aqara =
1012 xiaomi_aqara =
1013 ∀ α β. (α.aiohttp-cors = β, α.netdisco = β, α.zeroconf = β) => α -> [β];
1013 ∀ α β. (α.aiohttp-cors = β, α.netdisco = β, α.zeroconf = β) => α -> [β];
1014 xiaomi_miio = ∀ α β. (α.construct = β, α.python-miio = β) => α -> [β];
1014 xiaomi_miio = ∀ α β. (α.construct = β, α.python-miio = β) => α -> [β];
1015− xiaomi_tv = ∀ α β. α -> [β];
1015+ xiaomi_tv = ∀ α β. α -> β;
1016 xmpp = ∀ α β. (α.slixmpp = β) => α -> [β];
1016 xmpp = ∀ α β. (α.slixmpp = β) => α -> [β];
1017− xs1 = ∀ α β. α -> [β];
1017+ xs1 = ∀ α β. α -> β;
1018− yale_smart_alarm = ∀ α β. α -> [β];
1018+ yale_smart_alarm = ∀ α β. α -> β;
1019 yamaha = ∀ α β. (α.rxv = β) => α -> [β];
1019 yamaha = ∀ α β. (α.rxv = β) => α -> [β];
1020− yamaha_musiccast = ∀ α β. α -> [β];
1020+ yamaha_musiccast = ∀ α β. α -> β;
1021− yandex_transport = ∀ α β. α -> [β];
1021+ yandex_transport = ∀ α β. α -> β;
1022− yandextts = ∀ α β. α -> [β];
1022+ yandextts = ∀ α β. α -> β;
1023 yeelight =
1023 yeelight =
1024 ∀ α β.
1024 ∀ α β.
1025 ( α.aiohttp-cors = β,
1025 ( α.aiohttp-cors = β,
@@ -1028,15 +1028,15 @@
1028 α.zeroconf = β
1028 α.zeroconf = β
1029 ) =>
1029 ) =>
1030 α -> [β];
1030 α -> [β];
1031− yeelightsunflower = ∀ α β. α -> [β];
1031+ yeelightsunflower = ∀ α β. α -> β;
1032− yessssms = ∀ α β. α -> [β];
1032+ yessssms = ∀ α β. α -> β;
1033 yi = ∀ α β. (α.aioftp = β, α.ha-ffmpeg = β) => α -> [β];
1033 yi = ∀ α β. (α.aioftp = β, α.ha-ffmpeg = β) => α -> [β];
1034 yr = ∀ α β. (α.xmltodict = β) => α -> [β];
1034 yr = ∀ α β. (α.xmltodict = β) => α -> [β];
1035− zabbix = ∀ α β. α -> [β];
1035+ zabbix = ∀ α β. α -> β;
1036− zamg = ∀ α β. α -> [β];
1036+ zamg = ∀ α β. α -> β;
1037− zengge = ∀ α β. α -> [β];
1037+ zengge = ∀ α β. α -> β;
1038 zeroconf = ∀ α β. (α.aiohttp-cors = β, α.zeroconf = β) => α -> [β];
1038 zeroconf = ∀ α β. (α.aiohttp-cors = β, α.zeroconf = β) => α -> [β];
1039− zerproc = ∀ α β. α -> [β];
1039+ zerproc = ∀ α β. α -> β;
1040 zestimate = ∀ α β. (α.xmltodict = β) => α -> [β];
1040 zestimate = ∀ α β. (α.xmltodict = β) => α -> [β];
1041 zha =
1041 zha =
1042 ∀ α β.
1042 ∀ α β.
@@ -1050,9 +1050,9 @@
1050 α.zigpy-zigate = β
1050 α.zigpy-zigate = β
1051 ) =>
1051 ) =>
1052 α -> [β];
1052 α -> [β];
1053− zhong_hong = ∀ α β. α -> [β];
1053+ zhong_hong = ∀ α β. α -> β;
1054− ziggo_mediabox_xl = ∀ α β. α -> [β];
1054+ ziggo_mediabox_xl = ∀ α β. α -> β;
1055− zone = ∀ α β. α -> [β];
1055+ zone = ∀ α β. α -> β;
1056 zoneminder = ∀ α β. (α.zm-py = β) => α -> [β];
1056 zoneminder = ∀ α β. (α.zm-py = β) => α -> [β];
1057 zwave =
1057 zwave =
1058 ∀ α β. (α.homeassistant-pyozw = β, α.pydispatcher = β) => α -> [β];
1058 ∀ α β. (α.homeassistant-pyozw = β, α.pydispatcher = β) => α -> [β];
test/golden/importless/configuration-ghc-8.4.x.txt+1−1
@@ -1,6 +1,6 @@
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1 ζ1 η1 θ1 ι1 κ1 λ1
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1 ζ1 η1 θ1 ι1 κ1 λ1
2μ1 ν1 ξ1 ο1 π1 ρ1 σ1 τ1 υ1 φ1 χ1 ψ1 ω1 α2 β2.
2μ1 ν1 ξ1 ο1 π1 ρ1 σ1 τ1 υ1 φ1 χ1 ψ1 ω1 α2 β2.
3−( β.fetchpatch = {sha256 = String; stripLen = Number; url = String;} -> γ,
3+( β.fetchpatch = {sha256 = String; stripLen = Integer; url = String;} -> γ,
4 β.llvmPackages_5 = δ,
4 β.llvmPackages_5 = δ,
5 ε.addBuildDepend = ζ -> η -> θ,
5 ε.addBuildDepend = ζ -> η -> θ,
6 ε.appendPatch = ι -> γ -> κ,
6 ε.appendPatch = ι -> γ -> κ,
test/golden/importless/configuration-ghc-head.txt+1−1
@@ -1,7 +1,7 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1 ζ1 η1 θ1 ι1 κ1
1∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1 ζ1 η1 θ1 ι1 κ1
2λ1 μ1 ν1 ξ1 ο1 π1 ρ1.
2λ1 μ1 ν1 ξ1 ο1 π1 ρ1.
3( α.llvmPackages_6 = β,
3( α.llvmPackages_6 = β,
4− γ.appendPatch = δ -> String -> ε,
4+ γ.appendPatch = δ -> Path -> ε,
5 γ.doJailbreak = ζ -> η,
5 γ.doJailbreak = ζ -> η,
6 γ.dontCheck = θ -> ι,
6 γ.dontCheck = θ -> ι,
7 κ.Diff = θ,
7 κ.Diff = θ,
test/golden/importless/contrib.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1.
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1.
2−( β // {description = String; homepage = String;} ~ γ,
2+( (β) // ({description = String; homepage = String;}) ~ (γ),
3 δ.lib = ε,
3 δ.lib = ε,
4 δ.mkDerivation =
4 δ.mkDerivation =
5 { doInstallCheck = Bool;
5 { doInstallCheck = Bool;
test/golden/importless/convert.txt+1−1
@@ -9,7 +9,7 @@
9 maintainers = [β];
9 maintainers = [β];
10 };
10 };
11 passthru = {scriptName = String;};
11 passthru = {scriptName = String;};
12− patches = [String];
12+ patches = [Path];
13 pname = String;
13 pname = String;
14 postPatch = String;
14 postPatch = String;
15 src = γ;
15 src = γ;
test/golden/importless/cryptsetup.txt+1−1
@@ -7,7 +7,7 @@
7 { description = String;
7 { description = String;
8 homepage = String;
8 homepage = String;
9 license = ε;
9 license = ε;
10− maintainers = ∀ α. [α];
10+ maintainers = ∀ α. α;
11 platforms = ζ;
11 platforms = ζ;
12 };
12 };
13 name = String;
13 name = String;
test/golden/importless/css-lite.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/cstruct.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ ι.
1∀ β γ δ ε ζ η θ ι.
2−( β // {description = String;} ~ γ,
2+( (β) // ({description = String;}) ~ (γ),
3 δ.meta = β,
3 δ.meta = β,
4 δ.minimumOCamlVersion = ε,
4 δ.minimumOCamlVersion = ε,
5 δ.src = ζ,
5 δ.src = ζ,
test/golden/importless/curaengine.txt+1−1
@@ -11,7 +11,7 @@
11 platforms = ζ;
11 platforms = ζ;
12 };
12 };
13 nativeBuildInputs = [η];
13 nativeBuildInputs = [η];
14− patches = [String];
14+ patches = [Path];
15 pname = String;
15 pname = String;
16 src = θ;
16 src = θ;
17 version = String;
17 version = String;
test/golden/importless/curry-base.txt+1−1
@@ -11,7 +11,7 @@
11 libraryHaskellDepends = [ε];
11 libraryHaskellDepends = [ε];
12 license = δ;
12 license = δ;
13 pname = String;
13 pname = String;
14− src = String;
14+ src = Path;
15 testHaskellDepends = [ε];
15 testHaskellDepends = [ε];
16 version = String;
16 version = String;
17 } ->
17 } ->
test/golden/importless/curry-frontend.txt+1−1
@@ -18,7 +18,7 @@
18 libraryHaskellDepends = [ε];
18 libraryHaskellDepends = [ε];
19 license = δ;
19 license = δ;
20 pname = String;
20 pname = String;
21− src = String;
21+ src = Path;
22 testHaskellDepends = [ε];
22 testHaskellDepends = [ε];
23 version = String;
23 version = String;
24 } ->
24 } ->
test/golden/importless/cursive.txt+1−1
@@ -13,7 +13,7 @@
13 platforms = θ;
13 platforms = θ;
14 };
14 };
15 nativeBuildInputs = [ε];
15 nativeBuildInputs = [ε];
16− patches = [String];
16+ patches = [Path];
17 pname = String;
17 pname = String;
18 preFixup = String;
18 preFixup = String;
19 src = ι;
19 src = ι;
test/golden/importless/data-api.txt+2−2
@@ -14,8 +14,8 @@
14 version = λ;
14 version = λ;
15 } ->
15 } ->
16 μ,
16 μ,
17− ι.override = {generated = String; self = β;} -> β,
17+ ι.override = {generated = Path; self = β;} -> β,
18− θ.substring = Number -> Number -> String -> λ
18+ θ.substring = Integer -> Integer -> String -> λ
19) =>
19) =>
20{ fetchgit = {rev = String; sha256 = String; url = String;} -> κ;
20{ fetchgit = {rev = String; sha256 = String; url = String;} -> κ;
21 lib = α;
21 lib = α;
test/golden/importless/data.txt+1−1
@@ -5,7 +5,7 @@
5 meta =
5 meta =
6 { description = String;
6 { description = String;
7 homepage = String;
7 homepage = String;
8− hydraPlatforms = ∀ α. [α];
8+ hydraPlatforms = ∀ α. α;
9 license = δ;
9 license = δ;
10 platforms = ε;
10 platforms = ε;
11 };
11 };
test/golden/importless/db3.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/debian-build.txt+15−12
@@ -1,16 +1,19 @@
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο.
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο.
2−( β //
2+( ( β
3+ ) //
3− { installExtraDebsPhase = String;
4+ ( { installExtraDebsPhase = String;
4− installPhase = String;
5+ installPhase = String;
5− meta = ∀ α. α;
6+ meta = ∀ α. α;
6− name = String;
7+ name = String;
7− postHook = String;
8+ postHook = String;
8− sysInfoPhase = String;
9+ sysInfoPhase = String;
10+ }
9− } ~
11+ ) ~
10− γ,
12+ ( γ
13+ ),
11− {doCheck = Bool; prePhases = String; prefix = String;} // γ ~ δ,
14+ ({doCheck = Bool; prePhases = String; prefix = String;}) // (γ) ~ (δ),
12− ε.?debProvides = [ζ],
15+ ε.?debProvides = ζ,
13− ε.?debRequires = [η],
16+ ε.?debRequires = η,
14 ε.?fsTranslation = Bool,
17 ε.?fsTranslation = Bool,
15 ε.meta = {},
18 ε.meta = {},
16 ε.?name = String,
19 ε.?name = String,
test/golden/importless/declare-int-between-value.txt+1−1
@@ -3,6 +3,6 @@
3 β.mkOption = {type = γ;} -> δ,
3 β.mkOption = {type = γ;} -> δ,
4 β.types = ε,
4 β.types = ε,
5 ε.ints = ζ,
5 ε.ints = ζ,
6− ζ.between = Number -> Number -> γ
6+ ζ.between = Integer -> Integer -> γ
7) =>
7) =>
8α -> {options = {value = δ;};}
8α -> {options = {value = δ;};}
test/golden/importless/declare-lazyAttrsOf.txt+1−1
@@ -1,5 +1,5 @@
1∀ α β γ δ ε ζ η θ.
1∀ α β γ δ ε ζ η θ.
2−( α // {emptyValue = {value = String;};} ~ β,
2+( (α) // ({emptyValue = {value = String;};}) ~ (β),
3 γ.lib = δ,
3 γ.lib = δ,
4 δ.mkOption = {default = {}; type = ε;} -> ζ,
4 δ.mkOption = {default = {}; type = ε;} -> ζ,
5 δ.types = η,
5 δ.types = η,
test/golden/importless/declare-submoduleWith-path.txt+2−2
@@ -2,6 +2,6 @@
2( α.lib = β,
2( α.lib = β,
3 β.mkOption = {default = {}; type = γ;} -> δ,
3 β.mkOption = {default = {}; type = γ;} -> δ,
4 β.types = ε,
4 β.types = ε,
5− ε.submoduleWith = {modules = [String];} -> γ
5+ ε.submoduleWith = {modules = [Path];} -> γ
6) =>
6) =>
7−α -> {config = {submodule = String;}; options = {submodule = δ;};}
7+α -> {config = {submodule = Path;}; options = {submodule = δ;};}
test/golden/importless/declare-submoduleWith-special.txt+1−1
@@ -1,5 +1,5 @@
1∀ ζ η θ ι κ λ.
1∀ ζ η θ ι κ λ.
2−( ζ // {foo = String;} ~ η,
2+( (ζ) // ({foo = String;}) ~ (η),
3 θ.lib = ζ,
3 θ.lib = ζ,
4 ζ.mkOption = {default = {}; type = ι;} -> κ,
4 ζ.mkOption = {default = {}; type = ι;} -> κ,
5 ζ.types = λ,
5 ζ.types = λ,
test/golden/importless/define-option-dependently-nested.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ ι κ.
1∀ β γ δ ε ζ η θ ι κ.
2−( {value = Number;} // β ~ γ,
2+( ({value = Integer;}) // (β) ~ (γ),
3 δ.?set = ε,
3 δ.?set = ε,
4 ε.?enable = ζ,
4 ε.?enable = ζ,
5 η.?enable = θ,
5 η.?enable = θ,
test/golden/importless/define-option-dependently.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η.
1∀ β γ δ ε ζ η.
2−( {value = Number;} // β ~ γ,
2+( ({value = Integer;}) // (β) ~ (γ),
3 δ.?enable = ε,
3 δ.?enable = ε,
4 ζ.lib = η,
4 ζ.lib = η,
5 ζ.options = δ,
5 ζ.options = δ,
test/golden/importless/define-value-int-negative.txt+1−1
@@ -1 +1 @@
1−{value = Number;}
1+{value = Integer;}
test/golden/importless/define-value-int-positive.txt+1−1
@@ -1 +1 @@
1−{value = Number;}
1+{value = Integer;}
test/golden/importless/define-value-int-zero.txt+1−1
@@ -1 +1 @@
1−{value = Number;}
1+{value = Integer;}
test/golden/importless/define-value-list.txt+1−1
@@ -1 +1 @@
1−{value = ∀ α. [α];}
1+{value = ∀ α. α;}
test/golden/importless/dfu-util.txt+1−1
@@ -7,7 +7,7 @@
7 homepage = String;
7 homepage = String;
8 license = ε;
8 license = ε;
9 longDescription = String;
9 longDescription = String;
10− maintainers = ∀ α. [α];
10+ maintainers = ∀ α. α;
11 platforms = ζ;
11 platforms = ζ;
12 };
12 };
13 nativeBuildInputs = [η];
13 nativeBuildInputs = [η];
test/golden/importless/dhall-packages.txt+1−1
@@ -13,4 +13,4 @@
13 η,
13 η,
14 α.fix' = η -> θ
14 α.fix' = η -> θ
15) =>
15) =>
16−{lib = α; newScope = δ -> String -> {} -> ζ; overrides = β -> γ -> {};} -> θ
16+{lib = α; newScope = δ -> Path -> {} -> ζ; overrides = β -> γ -> {};} -> θ
test/golden/importless/dictd-db.txt+1−1
@@ -14,7 +14,7 @@
14 β.platforms = ζ,
14 β.platforms = ζ,
15 ζ.linux = γ
15 ζ.linux = γ
16) =>
16) =>
17−{ callPackage = String -> {} -> η;
17+{ callPackage = Path -> {} -> η;
18 fetchurl = {sha256 = String; url = String;} -> δ;
18 fetchurl = {sha256 = String; url = String;} -> δ;
19 stdenv = α;
19 stdenv = α;
20} ->
20} ->
test/golden/importless/dictd-wiktionary.txt+2−2
@@ -3,12 +3,12 @@
3 β.mkDerivation =
3 β.mkDerivation =
4 { buildInputs = [δ];
4 { buildInputs = [δ];
5 builder = ε;
5 builder = ε;
6− convert = String;
6+ convert = Path;
7 data = ζ;
7 data = ζ;
8 meta =
8 meta =
9 { description = String;
9 { description = String;
10 homepage = String;
10 homepage = String;
11− maintainers = ∀ α. [α];
11+ maintainers = ∀ α. α;
12 platforms = η;
12 platforms = η;
13 };
13 };
14 pname = String;
14 pname = String;
test/golden/importless/dictd-wordnet.txt+2−2
@@ -3,12 +3,12 @@
3 β.mkDerivation =
3 β.mkDerivation =
4 { buildInputs = [δ];
4 { buildInputs = [δ];
5 builder = ε;
5 builder = ε;
6− convert = String;
6+ convert = Path;
7 meta =
7 meta =
8 { description = String;
8 { description = String;
9 homepage = String;
9 homepage = String;
10 longDescription = String;
10 longDescription = String;
11− maintainers = ∀ α. [α];
11+ maintainers = ∀ α. α;
12 platforms = ζ;
12 platforms = ζ;
13 };
13 };
14 pname = String;
14 pname = String;
test/golden/importless/disable-bar.txt+1−1
@@ -1 +1 @@
1−{disabledModules = [String];}
1+{disabledModules = [Path];}
test/golden/importless/disable-declare-enable.txt+1−1
@@ -1 +1 @@
1−∀ α β. (α.lib = β) => α -> {disabledModules = [String];}
1+∀ α β. (α.lib = β) => α -> {disabledModules = [Path];}
test/golden/importless/disable-define-enable.txt+1−1
@@ -1 +1 @@
1−∀ α β. (α.lib = β) => α -> {disabledModules = [String];}
1+∀ α β. (α.lib = β) => α -> {disabledModules = [Path];}
test/golden/importless/disable-foo.txt+1−1
@@ -1 +1 @@
1−{disabledModules = [String];}
1+{disabledModules = [Path];}
test/golden/importless/dispatch.txt+1−1
@@ -15,7 +15,7 @@
15 maintainers = [ε];
15 maintainers = [ε];
16 };
16 };
17 nativeBuildInputs = δ;
17 nativeBuildInputs = δ;
18− patches = [String];
18+ patches = [Path];
19 pname = String;
19 pname = String;
20 preBuild = String;
20 preBuild = String;
21 propagatedBuildInputs = [γ];
21 propagatedBuildInputs = [γ];
test/golden/importless/displaylink.txt+1−1
@@ -25,7 +25,7 @@
25 { ExecStart = String;
25 { ExecStart = String;
26 LogsDirectory = String;
26 LogsDirectory = String;
27 Restart = String;
27 Restart = String;
28− RestartSec = Number;
28+ RestartSec = Integer;
29 };
29 };
30 };
30 };
31 };
31 };
test/golden/importless/dissect.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/dotty.txt+1−1
@@ -4,7 +4,7 @@
4 δ.meta = β
4 δ.meta = β
5) =>
5) =>
6{ callPackage =
6{ callPackage =
7− String -> {fetchurl = ε; jre = ζ; makeWrapper = η; stdenv = α;} -> δ;
7+ Path -> {fetchurl = ε; jre = ζ; makeWrapper = η; stdenv = α;} -> δ;
8 fetchurl = ε;
8 fetchurl = ε;
9 jre = ζ;
9 jre = ζ;
10 makeWrapper = η;
10 makeWrapper = η;
test/golden/importless/dovecot-exporter.txt+1−1
@@ -11,7 +11,7 @@
11 ζ.homepage = μ
11 ζ.homepage = μ
12) =>
12) =>
13{ buildGoPackage =
13{ buildGoPackage =
14− { goDeps = String;
14+ { goDeps = Path;
15 goPackagePath = String;
15 goPackagePath = String;
16 meta =
16 meta =
17 {description = String; homepage = μ; license = κ; maintainers = [η];};
17 {description = String; homepage = μ; license = κ; maintainers = [η];};
test/golden/importless/dsseries.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο.
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο.
2−( β // {description = String;} ~ γ,
2+( (β) // ({description = String;}) ~ (γ),
3 δ.config = ε,
3 δ.config = ε,
4 δ.lib = ζ,
4 δ.lib = ζ,
5 δ.pkgs = η,
5 δ.pkgs = η,
test/golden/importless/dust.txt+1−1
@@ -7,7 +7,7 @@
7 meta =
7 meta =
8 {description = String; homepage = δ; license = ε; platforms = [ζ];};
8 {description = String; homepage = δ; license = ε; platforms = [ζ];};
9 name = String;
9 name = String;
10− patches = [String];
10+ patches = [Path];
11 src = η;
11 src = η;
12 } ->
12 } ->
13 θ,
13 θ,
test/golden/importless/dvtm.txt+2−2
@@ -14,7 +14,7 @@
14 };
14 };
15 name = ι;
15 name = ι;
16 nativeBuildInputs = [ε];
16 nativeBuildInputs = [ε];
17− patches = [κ];
17+ patches = κ;
18 postPatch = λ;
18 postPatch = λ;
19 prePatch = String;
19 prePatch = String;
20 src = μ;
20 src = μ;
@@ -32,7 +32,7 @@
32{ customConfig = Null;
32{ customConfig = Null;
33 name = ι;
33 name = ι;
34 ncurses = ε;
34 ncurses = ε;
35− patches = [κ];
35+ patches = κ;
36 src = μ;
36 src = μ;
37 stdenv = α;
37 stdenv = α;
38} ->
38} ->
test/golden/importless/edit.txt+2−2
@@ -8,12 +8,12 @@
8 {description = String; homepage = String; license = δ; platforms = ε;};
8 {description = String; homepage = String; license = δ; platforms = ε;};
9 name = String;
9 name = String;
10 nativeBuildInputs = [ζ];
10 nativeBuildInputs = [ζ];
11− patches = [String];
11+ patches = [Path];
12 postPatch = String;
12 postPatch = String;
13 src = η;
13 src = η;
14 } ->
14 } ->
15 θ,
15 θ,
16− γ.api_version = Number,
16+ γ.api_version = Integer,
17 β.optionalString = Bool -> String -> String,
17 β.optionalString = Bool -> String -> String,
18 ι.licenses = κ,
18 ι.licenses = κ,
19 ι.platforms = λ,
19 ι.platforms = λ,
test/golden/importless/eggs.txtdeleted−14
@@ -1,14 +0,0 @@
1−∀ ζ η θ.
2−( ζ.eggDerivation = ∀ ε. {buildInputs = ∀ β. [β]; name = String; src = η;} -> ε,
3− ζ.fetchegg = {name = String; sha256 = String; version = String;} -> η
4−) =>
5−{pkgs = ζ; stdenv = θ;} ->
6−{ args = δ;
7− eggDerivation = ∀ γ. {buildInputs = ∀ α. [α]; name = String; src = η;} -> γ;
8− fetchegg = {name = String; sha256 = String; version = String;} -> η;
9− matchable = δ;
10− srfi-1 = δ;
11− srfi-13 = δ;
12− srfi-14 = δ;
13− srfi-37 = δ;
14−}
test/golden/importless/element-desktop.txt+2−2
@@ -37,10 +37,10 @@
37 };
37 };
38 name = String;
38 name = String;
39 nativeBuildInputs = [ο];
39 nativeBuildInputs = [ο];
40− packageJSON = String;
40+ packageJSON = Path;
41 src = ∀ α. α;
41 src = ∀ α. α;
42 version = ∀ α. α;
42 version = ∀ α. α;
43− yarnNix = String;
43+ yarnNix = Path;
44 } ->
44 } ->
45 π;
45 π;
46 stdenv = β;
46 stdenv = β;
test/golden/importless/elm-json.txt+1−1
@@ -1,7 +1,7 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ ν.
1∀ α β γ δ ε ζ η θ ι κ λ μ ν.
2( α.buildRustPackage =
2( α.buildRustPackage =
3 { buildInputs = [β];
3 { buildInputs = [β];
4− cargoPatches = [String];
4+ cargoPatches = [Path];
5 cargoSha256 = String;
5 cargoSha256 = String;
6 doCheck = Bool;
6 doCheck = Bool;
7 meta =
7 meta =
test/golden/importless/emulate-app.txt+1−1
@@ -20,7 +20,7 @@
20 app = Null;
20 app = Null;
21 avdHomeDir = Null;
21 avdHomeDir = Null;
22 enableGPU = Bool;
22 enableGPU = Bool;
23− extraAVDFiles = [θ];
23+ extraAVDFiles = θ;
24 name = β;
24 name = β;
25 package = Null;
25 package = Null;
26 platformVersion = String;
26 platformVersion = String;
test/golden/importless/eos.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/extlinux-conf-builder.txt+1−1
@@ -4,6 +4,6 @@
4 α.gnugrep = γ,
4 α.gnugrep = γ,
5 α.gnused = γ,
5 α.gnused = γ,
6 α.substituteAll =
6 α.substituteAll =
7− {bash = β; isExecutable = Bool; path = [γ]; src = String;} -> δ
7+ {bash = β; isExecutable = Bool; path = [γ]; src = Path;} -> δ
8) =>
8) =>
9{pkgs = α;} -> δ
9{pkgs = α;} -> δ
test/golden/importless/extpack.txtnew file+27
@@ -0,0 +1,27 @@
1+∀ α β γ δ ε ζ η θ ι.
2+( α.builtins = β,
3+ α.cdepillabout = γ,
4+ α.licenses = δ,
5+ α.maintainers = ε,
6+ α.sander = γ,
7+ ζ.version = η,
8+ β.stringLength = String -> Integer,
9+ δ.virtualbox-puel = θ
10+) =>
11+{ fetchurl =
12+ { meta =
13+ { description = String;
14+ homepage = String;
15+ license = θ;
16+ maintainers = [γ];
17+ platforms = [String];
18+ };
19+ name = String;
20+ sha256 = String;
21+ url = String;
22+ } ->
23+ ι;
24+ lib = α;
25+ virtualbox = ζ;
26+} ->
27+ι
test/golden/importless/extras.txt+1−2
@@ -32,8 +32,7 @@
32 τ.optionals = Bool -> [String] -> [String],
32 τ.optionals = Bool -> [String] -> [String],
33 υ.optionals = Bool -> [String] -> [String],
33 υ.optionals = Bool -> [String] -> [String],
34 φ.optionalString = Bool -> String -> γ,
34 φ.optionalString = Bool -> String -> γ,
35− χ.optionalString = Bool -> String -> γ,
35+ χ.optionalString = Bool -> String -> γ
36− (String | Number) ~ γ
37) =>
36) =>
38{ enableLua = Bool;
37{ enableLua = Bool;
39 enableMysql = Bool;
38 enableMysql = Bool;
test/golden/importless/fare-utils.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/faust1.txt+46−37
@@ -1,41 +1,50 @@
1∀ γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1 ζ1.
1∀ γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1 ζ1.
2−( γ //
2+( ( γ
3+ ) //
3− { dontBuild = Bool;
4+ ( { dontBuild = Bool;
4− installPhase = String;
5+ installPhase = String;
5− meta = ∀ β. β;
6+ meta = ∀ β. β;
6− name = String;
7+ name = String;
7− postInstall = String;
8+ postInstall = String;
8− src = δ;
9+ src = δ;
9− } ~
10+ }
11+ ) ~
10− ε,
12+ ( ε
13+ ),
11− ζ //
14+ ( ζ
15+ ) //
12− { buildInputs = [η];
16+ ( { buildInputs = [η];
13− nativeBuildInputs = [θ];
17+ nativeBuildInputs = [θ];
14− postFixup = String;
18+ postFixup = String;
15− propagatedBuildInputs = [ι];
19+ propagatedBuildInputs = [ι];
20+ }
16− } ~
21+ ) ~
17− { buildInputs = [η];
22+ ( { buildInputs = [η];
18− meta = ∀ β. β;
23+ meta = ∀ β. β;
19− passthru = {wrap = κ; wrapWithBuildEnv = λ;};
24+ passthru = {wrap = κ; wrapWithBuildEnv = λ;};
20− pname = String;
25+ pname = String;
21− postFixup = String;
26+ postFixup = String;
22− postInstall = String;
27+ postInstall = String;
23− preConfigure = String;
28+ preConfigure = String;
24− src = δ;
29+ src = δ;
25− version = μ;
30+ version = μ;
31+ }
26− },
32+ ),
27− ν //
33+ ( ν
34+ ) //
28− {buildInputs = [η]; postFixup = String;} ~
35+ ( {buildInputs = [η]; postFixup = String;}
36+ ) ~
29− { buildInputs = [η];
37+ ( { buildInputs = [η];
30− meta = ∀ β. β;
38+ meta = ∀ β. β;
31− passthru = {wrap = κ; wrapWithBuildEnv = λ;};
39+ passthru = {wrap = κ; wrapWithBuildEnv = λ;};
32− pname = String;
40+ pname = String;
33− postFixup = String;
41+ postFixup = String;
34− postInstall = String;
42+ postInstall = String;
35− preConfigure = String;
43+ preConfigure = String;
36− src = δ;
44+ src = δ;
37− version = μ;
45+ version = μ;
38− },
46+ }
47+ ),
39 ξ.?scripts = [ο],
48 ξ.?scripts = [ο],
40 π.?scripts = [ο],
49 π.?scripts = [ο],
41 ρ.lib = σ,
50 ρ.lib = σ,
test/golden/importless/faust2.txt+51−42
@@ -1,46 +1,55 @@
1∀ γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1 ζ1 η1.
1∀ γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1 ζ1 η1.
2−( γ //
2+( ( γ
3+ ) //
3− { dontBuild = Bool;
4+ ( { dontBuild = Bool;
4− installPhase = String;
5+ installPhase = String;
5− meta = ∀ β. β;
6+ meta = ∀ β. β;
6− name = String;
7+ name = String;
7− postInstall = String;
8+ postInstall = String;
8− src = δ;
9+ src = δ;
9− } ~
10+ }
11+ ) ~
10− ε,
12+ ( ε
13+ ),
11− ζ //
14+ ( ζ
15+ ) //
12− { buildInputs = [η];
16+ ( { buildInputs = [η];
13− libPath = θ;
17+ libPath = θ;
14− nativeBuildInputs = [η];
18+ nativeBuildInputs = [η];
15− postFixup = String;
19+ postFixup = String;
16− propagatedBuildInputs = [ι];
20+ propagatedBuildInputs = [ι];
17− } ~
21+ }
22+ ) ~
18− { buildInputs = [κ];
23+ ( { buildInputs = [κ];
19− cmakeFlags = String;
24+ cmakeFlags = String;
20− meta = ∀ β. β;
25+ meta = ∀ β. β;
21− nativeBuildInputs = [η];
26+ nativeBuildInputs = [η];
22− passthru = {wrap = λ; wrapWithBuildEnv = μ;};
27+ passthru = {wrap = λ; wrapWithBuildEnv = μ;};
23− pname = String;
28+ pname = String;
24− postFixup = String;
29+ postFixup = String;
25− postInstall = String;
30+ postInstall = String;
26− preConfigure = String;
31+ preConfigure = String;
27− src = δ;
32+ src = δ;
28− version = ν;
33+ version = ν;
34+ }
29− },
35+ ),
30− ξ //
36+ ( ξ
37+ ) //
31− {buildInputs = [η]; postFixup = String;} ~
38+ ( {buildInputs = [η]; postFixup = String;}
39+ ) ~
32− { buildInputs = [κ];
40+ ( { buildInputs = [κ];
33− cmakeFlags = String;
41+ cmakeFlags = String;
34− meta = ∀ β. β;
42+ meta = ∀ β. β;
35− nativeBuildInputs = [η];
43+ nativeBuildInputs = [η];
36− passthru = {wrap = λ; wrapWithBuildEnv = μ;};
44+ passthru = {wrap = λ; wrapWithBuildEnv = μ;};
37− pname = String;
45+ pname = String;
38− postFixup = String;
46+ postFixup = String;
39− postInstall = String;
47+ postInstall = String;
40− preConfigure = String;
48+ preConfigure = String;
41− src = δ;
49+ src = δ;
42− version = ν;
50+ version = ν;
51+ }
43− },
52+ ),
44 ο.?scripts = [π],
53 ο.?scripts = [π],
45 ρ.?scripts = [π],
54 ρ.?scripts = [π],
46 σ.lib = τ,
55 σ.lib = τ,
test/golden/importless/fcitx.txt+2−2
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1 ζ1 η1 θ1 ι1.
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1 ζ1 η1 θ1 ι1.
2−( β // {check = γ -> Bool; name = String;} ~ δ,
2+( (β) // ({check = γ -> Bool; name = String;}) ~ (δ),
3 ε.config = ζ,
3 ε.config = ζ,
4 ε.lib = η,
4 ε.lib = η,
5 ε.pkgs = θ,
5 ε.pkgs = θ,
@@ -30,7 +30,7 @@
30 } ->
30 } ->
31 ω,
31 ω,
32 η.mkOption =
32 η.mkOption =
33− {default = ∀ α. [α]; description = String; example = φ; type = υ;} -> α1,
33+ {default = ∀ α. α; description = String; example = φ; type = υ;} -> α1,
34 η.types = β1,
34 η.types = β1,
35 κ.override = {plugins = γ1;} -> ψ,
35 κ.override = {plugins = γ1;} -> ψ,
36 ξ.engines = γ1,
36 ξ.engines = γ1,
test/golden/importless/fixed-points.txt+9−5
@@ -2,14 +2,18 @@
2θ ->
2θ ->
3{ composeExtensions =
3{ composeExtensions =
4 ∀ α β γ δ ε ζ η.
4 ∀ α β γ δ ε ζ η.
5− (α // β ~ γ, β // δ ~ ε) => (ζ -> α -> β) -> (ζ -> η -> δ) -> ζ -> α -> ε;
5+ ((α) // (β) ~ (γ), (β) // (δ) ~ (ε)) => (ζ -> α -> β) ->
6+ (ζ -> η -> δ) -> ζ -> α -> ε;
6 converge = ∀ α. (α -> α) -> α -> α;
7 converge = ∀ α. (α -> α) -> α -> α;
8+ extends =
7− extends = ∀ α β γ δ. (α // β ~ γ) => (δ -> α -> β) -> (δ -> α) -> δ -> γ;
9+ ∀ α β γ δ. ((α) // (β) ~ (γ)) => (δ -> α -> β) -> (δ -> α) -> δ -> γ;
8 fix = ∀ α. (α -> α) -> α;
10 fix = ∀ α. (α -> α) -> α;
9− fix' = ∀ α β. (α // {__unfix__ = β -> α;} ~ β) => (β -> α) -> β;
11+ fix' = ∀ α β. ((α) // ({__unfix__ = β -> α;}) ~ (β)) => (β -> α) -> β;
10 makeExtensible =
12 makeExtensible =
13+ ∀ α β γ.
11− ∀ α β γ. (α // {__unfix__ = β -> α;} ~ β, β // {} ~ γ) => (β -> α) -> γ;
14+ ((α) // ({__unfix__ = β -> α;}) ~ (β), (β) // ({}) ~ (γ)) => (β -> α) -> γ;
12 makeExtensibleWithCustomName =
15 makeExtensibleWithCustomName =
13 ∀ α β γ δ.
16 ∀ α β γ δ.
14− (α // {__unfix__ = β -> α;} ~ β, β // {} ~ γ) => δ -> (β -> α) -> γ;
17+ ((α) // ({__unfix__ = β -> α;}) ~ (β), (β) // ({}) ~ (γ)) => δ ->
18+ (β -> α) -> γ;
15}
19}
test/golden/importless/flatpak-builder.txt+1−1
@@ -3,7 +3,7 @@
3 { testConfig =
3 { testConfig =
4 { environment = {systemPackages = [β];};
4 { environment = {systemPackages = [β];};
5 services = {flatpak = {enable = Bool;};};
5 services = {flatpak = {enable = Bool;};};
6− virtualisation = {diskSize = Number;};
6+ virtualisation = {diskSize = Integer;};
7 xdg = {portal = {enable = Bool;};};
7 xdg = {portal = {enable = Bool;};};
8 };
8 };
9 testRunnerFlags = String;
9 testRunnerFlags = String;
test/golden/importless/flatpak.txt+2−2
@@ -22,7 +22,7 @@
22 } ->
22 } ->
23 ξ,
23 ξ,
24 δ.mkOption =
24 δ.mkOption =
25− { default = ∀ α. [α];
25+ { default = ∀ α. α;
26 description = String;
26 description = String;
27 example = θ;
27 example = θ;
28 internal = Bool;
28 internal = Bool;
@@ -43,6 +43,6 @@
43) =>
43) =>
44β ->
44β ->
45{ config = ξ;
45{ config = ξ;
46− meta = {doc = String; maintainers = χ;};
46+ meta = {doc = Path; maintainers = χ;};
47 options = {services = {flatpak = {enable = ι; guiPackages = π;};};};
47 options = {services = {flatpak = {enable = ι; guiPackages = π;};};};
48}
48}
test/golden/importless/fox-1.6.txt+1−1
@@ -12,7 +12,7 @@
12 homepage = String;
12 homepage = String;
13 license = η;
13 license = η;
14 longDescription = String;
14 longDescription = String;
15− maintainers = ∀ α. [α];
15+ maintainers = ∀ α. α;
16 platforms = θ;
16 platforms = θ;
17 };
17 };
18 pname = String;
18 pname = String;
test/golden/importless/frameworks.txt+60−60
@@ -47,115 +47,115 @@
47{frameworks = β; libobjc = χ; libs = ψ;} ->
47{frameworks = β; libobjc = χ; libs = ψ;} ->
48{ AGL = [θ];
48{ AGL = [θ];
49 AVFoundation = [ε];
49 AVFoundation = [ε];
50− AVKit = ∀ α. [α];
50+ AVKit = ∀ α. α;
51 Accelerate = [ο];
51 Accelerate = [ο];
52− Accounts = ∀ α. [α];
52+ Accounts = ∀ α. α;
53 AddressBook = [ω];
53 AddressBook = [ω];
54 AppKit = [ζ];
54 AppKit = [ζ];
55− AppKitScripting = ∀ α. [α];
55+ AppKitScripting = ∀ α. α;
56− AppleScriptKit = ∀ α. [α];
56+ AppleScriptKit = ∀ α. α;
57− AppleScriptObjC = ∀ α. [α];
57+ AppleScriptObjC = ∀ α. α;
58 ApplicationServices = [ν];
58 ApplicationServices = [ν];
59 AudioToolbox = [ι];
59 AudioToolbox = [ι];
60 AudioUnit = [α1];
60 AudioUnit = [α1];
61 AudioVideoBridging = [β1];
61 AudioVideoBridging = [β1];
62− Automator = ∀ α. [α];
62+ Automator = ∀ α. α;
63− CFNetwork = ∀ α. [α];
63+ CFNetwork = ∀ α. α;
64− CalendarStore = ∀ α. [α];
64+ CalendarStore = ∀ α. α;
65 Carbon = [π];
65 Carbon = [π];
66 Cocoa = [δ];
66 Cocoa = [δ];
67− Collaboration = ∀ α. [α];
67+ Collaboration = ∀ α. α;
68 CoreAudio = [γ1];
68 CoreAudio = [γ1];
69 CoreAudioKit = [δ1];
69 CoreAudioKit = [δ1];
70− CoreBluetooth = ∀ α. [α];
70+ CoreBluetooth = ∀ α. α;
71− CoreData = ∀ α. [α];
71+ CoreData = ∀ α. α;
72− CoreFoundation = ∀ α. [α];
72+ CoreFoundation = ∀ α. α;
73 CoreGraphics = [γ];
73 CoreGraphics = [γ];
74− CoreImage = ∀ α. [α];
74+ CoreImage = ∀ α. α;
75− CoreLocation = ∀ α. [α];
75+ CoreLocation = ∀ α. α;
76− CoreMIDI = ∀ α. [α];
76+ CoreMIDI = ∀ α. α;
77− CoreMIDIServer = ∀ α. [α];
77+ CoreMIDIServer = ∀ α. α;
78 CoreMedia = [ξ];
78 CoreMedia = [ξ];
79 CoreMediaIO = [λ];
79 CoreMediaIO = [λ];
80 CoreServices = [η];
80 CoreServices = [η];
81 CoreText = [ε1];
81 CoreText = [ε1];
82 CoreVideo = [ζ1];
82 CoreVideo = [ζ1];
83 CoreWLAN = [υ];
83 CoreWLAN = [υ];
84− DVDPlayback = ∀ α. [α];
84+ DVDPlayback = ∀ α. α;
85− DirectoryService = ∀ α. [α];
85+ DirectoryService = ∀ α. α;
86 DiscRecording = [η1];
86 DiscRecording = [η1];
87− DiscRecordingUI = ∀ α. [α];
87+ DiscRecordingUI = ∀ α. α;
88 DiskArbitration = [θ1];
88 DiskArbitration = [θ1];
89− EventKit = ∀ α. [α];
89+ EventKit = ∀ α. α;
90− ExceptionHandling = ∀ α. [α];
90+ ExceptionHandling = ∀ α. α;
91− FWAUserLib = ∀ α. [α];
91+ FWAUserLib = ∀ α. α;
92 ForceFeedback = [ι1];
92 ForceFeedback = [ι1];
93 Foundation = [χ];
93 Foundation = [χ];
94− GLKit = ∀ α. [α];
94+ GLKit = ∀ α. α;
95 GLUT = [κ1];
95 GLUT = [κ1];
96− GSS = ∀ α. [α];
96+ GSS = ∀ α. α;
97− GameController = ∀ α. [α];
97+ GameController = ∀ α. α;
98 GameKit = [λ1];
98 GameKit = [λ1];
99− Hypervisor = ∀ α. [α];
99+ Hypervisor = ∀ α. α;
100 ICADevices = [μ1];
100 ICADevices = [μ1];
101− IMServicePlugIn = ∀ α. [α];
101+ IMServicePlugIn = ∀ α. α;
102 IOBluetooth = [ν1];
102 IOBluetooth = [ν1];
103 IOBluetoothUI = [ξ1];
103 IOBluetoothUI = [ξ1];
104− IOKit = ∀ α. [α];
104+ IOKit = ∀ α. α;
105 IOSurface = [φ];
105 IOSurface = [φ];
106− ImageCaptureCore = ∀ α. [α];
106+ ImageCaptureCore = ∀ α. α;
107 ImageIO = [ο1];
107 ImageIO = [ο1];
108 InputMethodKit = [π1];
108 InputMethodKit = [π1];
109− InstallerPlugins = ∀ α. [α];
109+ InstallerPlugins = ∀ α. α;
110− InstantMessage = ∀ α. [α];
110+ InstantMessage = ∀ α. α;
111− JavaFrameEmbedding = ∀ α. [α];
111+ JavaFrameEmbedding = ∀ α. α;
112− JavaNativeFoundation = ∀ α. [α];
112+ JavaNativeFoundation = ∀ α. α;
113− JavaRuntimeSupport = ∀ α. [α];
113+ JavaRuntimeSupport = ∀ α. α;
114− JavaScriptCore = ∀ α. [α];
114+ JavaScriptCore = ∀ α. α;
115− JavaVM = ∀ α. [α];
115+ JavaVM = ∀ α. α;
116− Kerberos = ∀ α. [α];
116+ Kerberos = ∀ α. α;
117 Kernel = [ρ1];
117 Kernel = [ρ1];
118− LDAP = ∀ α. [α];
118+ LDAP = ∀ α. α;
119 LatentSemanticMapping = [σ1];
119 LatentSemanticMapping = [σ1];
120− LocalAuthentication = ∀ α. [α];
120+ LocalAuthentication = ∀ α. α;
121− MapKit = ∀ α. [α];
121+ MapKit = ∀ α. α;
122 MediaAccessibility = [τ1];
122 MediaAccessibility = [τ1];
123− MediaPlayer = ∀ α. [α];
123+ MediaPlayer = ∀ α. α;
124 MediaToolbox = [υ1];
124 MediaToolbox = [υ1];
125− Metal = ∀ α. [α];
125+ Metal = ∀ α. α;
126 MetalKit = [σ];
126 MetalKit = [σ];
127− ModelIO = ∀ α. [α];
127+ ModelIO = ∀ α. α;
128− NetFS = ∀ α. [α];
128+ NetFS = ∀ α. α;
129 OSAKit = [φ1];
129 OSAKit = [φ1];
130− OpenAL = ∀ α. [α];
130+ OpenAL = ∀ α. α;
131 OpenCL = [χ1];
131 OpenCL = [χ1];
132− OpenDirectory = ∀ α. [α];
132+ OpenDirectory = ∀ α. α;
133− OpenGL = ∀ α. [α];
133+ OpenGL = ∀ α. α;
134 PCSC = [ψ1];
134 PCSC = [ψ1];
135− PreferencePanes = ∀ α. [α];
135+ PreferencePanes = ∀ α. α;
136− PubSub = ∀ α. [α];
136+ PubSub = ∀ α. α;
137 QTKit = [μ];
137 QTKit = [μ];
138 Quartz = [τ];
138 Quartz = [τ];
139 QuartzCore = [κ];
139 QuartzCore = [κ];
140 QuickLook = [ω1];
140 QuickLook = [ω1];
141 QuickTime = [α2];
141 QuickTime = [α2];
142− SceneKit = ∀ α. [α];
142+ SceneKit = ∀ α. α;
143− ScreenSaver = ∀ α. [α];
143+ ScreenSaver = ∀ α. α;
144− Scripting = ∀ α. [α];
144+ Scripting = ∀ α. α;
145− ScriptingBridge = ∀ α. [α];
145+ ScriptingBridge = ∀ α. α;
146 Security = [β2];
146 Security = [β2];
147− SecurityFoundation = ∀ α. [α];
147+ SecurityFoundation = ∀ α. α;
148 SecurityInterface = [γ2];
148 SecurityInterface = [γ2];
149 ServiceManagement = [δ2];
149 ServiceManagement = [δ2];
150− Social = ∀ α. [α];
150+ Social = ∀ α. α;
151− SpriteKit = ∀ α. [α];
151+ SpriteKit = ∀ α. α;
152− StoreKit = ∀ α. [α];
152+ StoreKit = ∀ α. α;
153− SyncServices = ∀ α. [α];
153+ SyncServices = ∀ α. α;
154 SystemConfiguration = [ε2];
154 SystemConfiguration = [ε2];
155 TWAIN = [ζ2];
155 TWAIN = [ζ2];
156− Tcl = ∀ α. [α];
156+ Tcl = ∀ α. α;
157 VideoDecodeAcceleration = [η2];
157 VideoDecodeAcceleration = [η2];
158 VideoToolbox = [θ2];
158 VideoToolbox = [θ2];
159 WebKit = [ρ];
159 WebKit = [ρ];
160− vmnet = ∀ α. [α];
160+ vmnet = ∀ α. α;
161}
161}
test/golden/importless/freeoffice.txt+13−10
@@ -1,15 +1,18 @@
1∀ α β γ δ.
1∀ α β γ δ.
2−( α //
2+( ( α
3+ ) //
3− { archive = String;
4+ ( { archive = String;
4− edition = String;
5+ edition = String;
5− pname = String;
6+ pname = String;
6− src = β;
7+ src = β;
7− suiteName = String;
8+ suiteName = String;
8− version = String;
9+ version = String;
9− } ~
10+ }
11+ ) ~
10− γ,
12+ ( γ
13+ ),
11 α.?officeVersion = {edition = String; sha256 = String; version = String;},
14 α.?officeVersion = {edition = String; sha256 = String; version = String;},
12− α.callPackage = String -> γ -> δ,
15+ α.callPackage = Path -> γ -> δ,
13 α.fetchurl = {sha256 = String; url = String;} -> β
16 α.fetchurl = {sha256 = String; url = String;} -> β
14) =>
17) =>
15α -> δ
18α -> δ
test/golden/importless/freetds.txt+1−1
@@ -5,7 +5,7 @@
5 β.environment = ε,
5 β.environment = ε,
6 γ.attrNames = ζ -> η,
6 γ.attrNames = ζ -> η,
7 γ.concatStrings = θ -> ι,
7 γ.concatStrings = θ -> ι,
8− γ.length = η -> Number,
8+ γ.length = η -> Integer,
9 γ.literalExample = String -> κ,
9 γ.literalExample = String -> κ,
10 γ.mapAttrsToList = (λ -> μ -> String) -> ζ -> θ,
10 γ.mapAttrsToList = (λ -> μ -> String) -> ζ -> θ,
11 γ.mkIf =
11 γ.mkIf =
test/golden/importless/fs.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ ι κ.
1∀ β γ δ ε ζ η θ ι κ.
2−( β // {description = String;} ~ γ,
2+( (β) // ({description = String;}) ~ (γ),
3 δ.optional = Bool -> ε -> ζ,
3 δ.optional = Bool -> ε -> ζ,
4 η.meta = β,
4 η.meta = β,
5 η.src = θ,
5 η.src = θ,
test/golden/importless/full.txt+1−1
@@ -5,7 +5,7 @@
5 meta =
5 meta =
6 { description = String;
6 { description = String;
7 homepage = String;
7 homepage = String;
8− hydraPlatforms = ∀ α. [α];
8+ hydraPlatforms = ∀ α. α;
9 license = [δ];
9 license = [δ];
10 maintainers = [ε];
10 maintainers = [ε];
11 platforms = ζ;
11 platforms = ζ;
test/golden/importless/garbage-pools.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/gdal-1_11.txt+1−1
@@ -13,7 +13,7 @@
13 maintainers = [ε];
13 maintainers = [ε];
14 platforms = [ζ];
14 platforms = [ζ];
15 };
15 };
16− patches = [String];
16+ patches = [Path];
17 pname = String;
17 pname = String;
18 preBuild = String;
18 preBuild = String;
19 preConfigure = String;
19 preConfigure = String;
test/golden/importless/gdk-pixbuf.txt+2−2
@@ -7,7 +7,7 @@
7 δ.mkIf =
7 δ.mkIf =
8 Bool ->
8 Bool ->
9 {environment = {variables = {GDK_PIXBUF_MODULE_FILE = String;};};} -> θ,
9 {environment = {variables = {GDK_PIXBUF_MODULE_FILE = String;};};} -> θ,
10− δ.mkOption = {default = ∀ α. [α]; description = String; type = ι;} -> κ,
10+ δ.mkOption = {default = ∀ α. α; description = String; type = ι;} -> κ,
11 δ.types = λ,
11 δ.types = λ,
12 δ.unique = [μ] -> ν,
12 δ.unique = [μ] -> ν,
13 ε.gdk-pixbuf = μ,
13 ε.gdk-pixbuf = μ,
@@ -15,7 +15,7 @@
15 η.modulePackages = [μ],
15 η.modulePackages = [μ],
16 ζ.xserver = ο,
16 ζ.xserver = ο,
17 ο.gdk-pixbuf = π,
17 ο.gdk-pixbuf = π,
18− π.modulePackages = [ρ],
18+ π.modulePackages = ρ,
19 λ.listOf = σ -> ι,
19 λ.listOf = σ -> ι,
20 τ.package = σ
20 τ.package = σ
21) =>
21) =>
test/golden/importless/gemset-beta.txt+36−36
@@ -1,228 +1,228 @@
1{ CFPropertyList =
1{ CFPropertyList =
2 { groups = [String];
2 { groups = [String];
3− platforms = ∀ α. [α];
3+ platforms = ∀ α. α;
4 source = {remotes = [String]; sha256 = String; type = String;};
4 source = {remotes = [String]; sha256 = String; type = String;};
5 version = String;
5 version = String;
6 };
6 };
7 activesupport =
7 activesupport =
8 { dependencies = [String];
8 { dependencies = [String];
9 groups = [String];
9 groups = [String];
10− platforms = ∀ α. [α];
10+ platforms = ∀ α. α;
11 source = {remotes = [String]; sha256 = String; type = String;};
11 source = {remotes = [String]; sha256 = String; type = String;};
12 version = String;
12 version = String;
13 };
13 };
14 addressable =
14 addressable =
15 { dependencies = [String];
15 { dependencies = [String];
16 groups = [String];
16 groups = [String];
17− platforms = ∀ α. [α];
17+ platforms = ∀ α. α;
18 source = {remotes = [String]; sha256 = String; type = String;};
18 source = {remotes = [String]; sha256 = String; type = String;};
19 version = String;
19 version = String;
20 };
20 };
21 algoliasearch =
21 algoliasearch =
22 { dependencies = [String];
22 { dependencies = [String];
23 groups = [String];
23 groups = [String];
24− platforms = ∀ α. [α];
24+ platforms = ∀ α. α;
25 source = {remotes = [String]; sha256 = String; type = String;};
25 source = {remotes = [String]; sha256 = String; type = String;};
26 version = String;
26 version = String;
27 };
27 };
28 atomos =
28 atomos =
29 { groups = [String];
29 { groups = [String];
30− platforms = ∀ α. [α];
30+ platforms = ∀ α. α;
31 source = {remotes = [String]; sha256 = String; type = String;};
31 source = {remotes = [String]; sha256 = String; type = String;};
32 version = String;
32 version = String;
33 };
33 };
34 claide =
34 claide =
35 { groups = [String];
35 { groups = [String];
36− platforms = ∀ α. [α];
36+ platforms = ∀ α. α;
37 source = {remotes = [String]; sha256 = String; type = String;};
37 source = {remotes = [String]; sha256 = String; type = String;};
38 version = String;
38 version = String;
39 };
39 };
40 cocoapods =
40 cocoapods =
41 { dependencies = [String];
41 { dependencies = [String];
42 groups = [String];
42 groups = [String];
43− platforms = ∀ α. [α];
43+ platforms = ∀ α. α;
44 source = {remotes = [String]; sha256 = String; type = String;};
44 source = {remotes = [String]; sha256 = String; type = String;};
45 version = String;
45 version = String;
46 };
46 };
47 cocoapods-core =
47 cocoapods-core =
48 { dependencies = [String];
48 { dependencies = [String];
49 groups = [String];
49 groups = [String];
50− platforms = ∀ α. [α];
50+ platforms = ∀ α. α;
51 source = {remotes = [String]; sha256 = String; type = String;};
51 source = {remotes = [String]; sha256 = String; type = String;};
52 version = String;
52 version = String;
53 };
53 };
54 cocoapods-deintegrate =
54 cocoapods-deintegrate =
55 { groups = [String];
55 { groups = [String];
56− platforms = ∀ α. [α];
56+ platforms = ∀ α. α;
57 source = {remotes = [String]; sha256 = String; type = String;};
57 source = {remotes = [String]; sha256 = String; type = String;};
58 version = String;
58 version = String;
59 };
59 };
60 cocoapods-downloader =
60 cocoapods-downloader =
61 { groups = [String];
61 { groups = [String];
62− platforms = ∀ α. [α];
62+ platforms = ∀ α. α;
63 source = {remotes = [String]; sha256 = String; type = String;};
63 source = {remotes = [String]; sha256 = String; type = String;};
64 version = String;
64 version = String;
65 };
65 };
66 cocoapods-plugins =
66 cocoapods-plugins =
67 { dependencies = [String];
67 { dependencies = [String];
68 groups = [String];
68 groups = [String];
69− platforms = ∀ α. [α];
69+ platforms = ∀ α. α;
70 source = {remotes = [String]; sha256 = String; type = String;};
70 source = {remotes = [String]; sha256 = String; type = String;};
71 version = String;
71 version = String;
72 };
72 };
73 cocoapods-search =
73 cocoapods-search =
74 { groups = [String];
74 { groups = [String];
75− platforms = ∀ α. [α];
75+ platforms = ∀ α. α;
76 source = {remotes = [String]; sha256 = String; type = String;};
76 source = {remotes = [String]; sha256 = String; type = String;};
77 version = String;
77 version = String;
78 };
78 };
79 cocoapods-trunk =
79 cocoapods-trunk =
80 { dependencies = [String];
80 { dependencies = [String];
81 groups = [String];
81 groups = [String];
82− platforms = ∀ α. [α];
82+ platforms = ∀ α. α;
83 source = {remotes = [String]; sha256 = String; type = String;};
83 source = {remotes = [String]; sha256 = String; type = String;};
84 version = String;
84 version = String;
85 };
85 };
86 cocoapods-try =
86 cocoapods-try =
87 { groups = [String];
87 { groups = [String];
88− platforms = ∀ α. [α];
88+ platforms = ∀ α. α;
89 source = {remotes = [String]; sha256 = String; type = String;};
89 source = {remotes = [String]; sha256 = String; type = String;};
90 version = String;
90 version = String;
91 };
91 };
92 colored2 =
92 colored2 =
93 { groups = [String];
93 { groups = [String];
94− platforms = ∀ α. [α];
94+ platforms = ∀ α. α;
95 source = {remotes = [String]; sha256 = String; type = String;};
95 source = {remotes = [String]; sha256 = String; type = String;};
96 version = String;
96 version = String;
97 };
97 };
98 concurrent-ruby =
98 concurrent-ruby =
99 { groups = [String];
99 { groups = [String];
100− platforms = ∀ α. [α];
100+ platforms = ∀ α. α;
101 source = {remotes = [String]; sha256 = String; type = String;};
101 source = {remotes = [String]; sha256 = String; type = String;};
102 version = String;
102 version = String;
103 };
103 };
104 escape =
104 escape =
105 { groups = [String];
105 { groups = [String];
106− platforms = ∀ α. [α];
106+ platforms = ∀ α. α;
107 source = {remotes = [String]; sha256 = String; type = String;};
107 source = {remotes = [String]; sha256 = String; type = String;};
108 version = String;
108 version = String;
109 };
109 };
110 ethon =
110 ethon =
111 { dependencies = [String];
111 { dependencies = [String];
112 groups = [String];
112 groups = [String];
113− platforms = ∀ α. [α];
113+ platforms = ∀ α. α;
114 source = {remotes = [String]; sha256 = String; type = String;};
114 source = {remotes = [String]; sha256 = String; type = String;};
115 version = String;
115 version = String;
116 };
116 };
117 ffi =
117 ffi =
118 { groups = [String];
118 { groups = [String];
119− platforms = ∀ α. [α];
119+ platforms = ∀ α. α;
120 source = {remotes = [String]; sha256 = String; type = String;};
120 source = {remotes = [String]; sha256 = String; type = String;};
121 version = String;
121 version = String;
122 };
122 };
123 fourflusher =
123 fourflusher =
124 { groups = [String];
124 { groups = [String];
125− platforms = ∀ α. [α];
125+ platforms = ∀ α. α;
126 source = {remotes = [String]; sha256 = String; type = String;};
126 source = {remotes = [String]; sha256 = String; type = String;};
127 version = String;
127 version = String;
128 };
128 };
129 fuzzy_match =
129 fuzzy_match =
130 { groups = [String];
130 { groups = [String];
131− platforms = ∀ α. [α];
131+ platforms = ∀ α. α;
132 source = {remotes = [String]; sha256 = String; type = String;};
132 source = {remotes = [String]; sha256 = String; type = String;};
133 version = String;
133 version = String;
134 };
134 };
135 gh_inspector =
135 gh_inspector =
136 { groups = [String];
136 { groups = [String];
137− platforms = ∀ α. [α];
137+ platforms = ∀ α. α;
138 source = {remotes = [String]; sha256 = String; type = String;};
138 source = {remotes = [String]; sha256 = String; type = String;};
139 version = String;
139 version = String;
140 };
140 };
141 httpclient =
141 httpclient =
142 { groups = [String];
142 { groups = [String];
143− platforms = ∀ α. [α];
143+ platforms = ∀ α. α;
144 source = {remotes = [String]; sha256 = String; type = String;};
144 source = {remotes = [String]; sha256 = String; type = String;};
145 version = String;
145 version = String;
146 };
146 };
147 i18n =
147 i18n =
148 { dependencies = [String];
148 { dependencies = [String];
149 groups = [String];
149 groups = [String];
150− platforms = ∀ α. [α];
150+ platforms = ∀ α. α;
151 source = {remotes = [String]; sha256 = String; type = String;};
151 source = {remotes = [String]; sha256 = String; type = String;};
152 version = String;
152 version = String;
153 };
153 };
154 json =
154 json =
155 { groups = [String];
155 { groups = [String];
156− platforms = ∀ α. [α];
156+ platforms = ∀ α. α;
157 source = {remotes = [String]; sha256 = String; type = String;};
157 source = {remotes = [String]; sha256 = String; type = String;};
158 version = String;
158 version = String;
159 };
159 };
160 minitest =
160 minitest =
161 { groups = [String];
161 { groups = [String];
162− platforms = ∀ α. [α];
162+ platforms = ∀ α. α;
163 source = {remotes = [String]; sha256 = String; type = String;};
163 source = {remotes = [String]; sha256 = String; type = String;};
164 version = String;
164 version = String;
165 };
165 };
166 molinillo =
166 molinillo =
167 { groups = [String];
167 { groups = [String];
168− platforms = ∀ α. [α];
168+ platforms = ∀ α. α;
169 source = {remotes = [String]; sha256 = String; type = String;};
169 source = {remotes = [String]; sha256 = String; type = String;};
170 version = String;
170 version = String;
171 };
171 };
172 nanaimo =
172 nanaimo =
173 { groups = [String];
173 { groups = [String];
174− platforms = ∀ α. [α];
174+ platforms = ∀ α. α;
175 source = {remotes = [String]; sha256 = String; type = String;};
175 source = {remotes = [String]; sha256 = String; type = String;};
176 version = String;
176 version = String;
177 };
177 };
178 nap =
178 nap =
179 { groups = [String];
179 { groups = [String];
180− platforms = ∀ α. [α];
180+ platforms = ∀ α. α;
181 source = {remotes = [String]; sha256 = String; type = String;};
181 source = {remotes = [String]; sha256 = String; type = String;};
182 version = String;
182 version = String;
183 };
183 };
184 netrc =
184 netrc =
185 { groups = [String];
185 { groups = [String];
186− platforms = ∀ α. [α];
186+ platforms = ∀ α. α;
187 source = {remotes = [String]; sha256 = String; type = String;};
187 source = {remotes = [String]; sha256 = String; type = String;};
188 version = String;
188 version = String;
189 };
189 };
190 public_suffix =
190 public_suffix =
191 { groups = [String];
191 { groups = [String];
192− platforms = ∀ α. [α];
192+ platforms = ∀ α. α;
193 source = {remotes = [String]; sha256 = String; type = String;};
193 source = {remotes = [String]; sha256 = String; type = String;};
194 version = String;
194 version = String;
195 };
195 };
196 ruby-macho =
196 ruby-macho =
197 { groups = [String];
197 { groups = [String];
198− platforms = ∀ α. [α];
198+ platforms = ∀ α. α;
199 source = {remotes = [String]; sha256 = String; type = String;};
199 source = {remotes = [String]; sha256 = String; type = String;};
200 version = String;
200 version = String;
201 };
201 };
202 thread_safe =
202 thread_safe =
203 { groups = [String];
203 { groups = [String];
204− platforms = ∀ α. [α];
204+ platforms = ∀ α. α;
205 source = {remotes = [String]; sha256 = String; type = String;};
205 source = {remotes = [String]; sha256 = String; type = String;};
206 version = String;
206 version = String;
207 };
207 };
208 typhoeus =
208 typhoeus =
209 { dependencies = [String];
209 { dependencies = [String];
210 groups = [String];
210 groups = [String];
211− platforms = ∀ α. [α];
211+ platforms = ∀ α. α;
212 source = {remotes = [String]; sha256 = String; type = String;};
212 source = {remotes = [String]; sha256 = String; type = String;};
213 version = String;
213 version = String;
214 };
214 };
215 tzinfo =
215 tzinfo =
216 { dependencies = [String];
216 { dependencies = [String];
217 groups = [String];
217 groups = [String];
218− platforms = ∀ α. [α];
218+ platforms = ∀ α. α;
219 source = {remotes = [String]; sha256 = String; type = String;};
219 source = {remotes = [String]; sha256 = String; type = String;};
220 version = String;
220 version = String;
221 };
221 };
222 xcodeproj =
222 xcodeproj =
223 { dependencies = [String];
223 { dependencies = [String];
224 groups = [String];
224 groups = [String];
225− platforms = ∀ α. [α];
225+ platforms = ∀ α. α;
226 source = {remotes = [String]; sha256 = String; type = String;};
226 source = {remotes = [String]; sha256 = String; type = String;};
227 version = String;
227 version = String;
228 };
228 };
test/golden/importless/gemset_libvirt.txt+15−15
@@ -1,97 +1,97 @@
1{ builder =
1{ builder =
2 { groups = [String];
2 { groups = [String];
3− platforms = ∀ α. [α];
3+ platforms = ∀ α. α;
4 source = {remotes = [String]; sha256 = String; type = String;};
4 source = {remotes = [String]; sha256 = String; type = String;};
5 version = String;
5 version = String;
6 };
6 };
7 excon =
7 excon =
8 { groups = [String];
8 { groups = [String];
9− platforms = ∀ α. [α];
9+ platforms = ∀ α. α;
10 source = {remotes = [String]; sha256 = String; type = String;};
10 source = {remotes = [String]; sha256 = String; type = String;};
11 version = String;
11 version = String;
12 };
12 };
13 fog-core =
13 fog-core =
14 { dependencies = [String];
14 { dependencies = [String];
15 groups = [String];
15 groups = [String];
16− platforms = ∀ α. [α];
16+ platforms = ∀ α. α;
17 source = {remotes = [String]; sha256 = String; type = String;};
17 source = {remotes = [String]; sha256 = String; type = String;};
18 version = String;
18 version = String;
19 };
19 };
20 fog-json =
20 fog-json =
21 { dependencies = [String];
21 { dependencies = [String];
22 groups = [String];
22 groups = [String];
23− platforms = ∀ α. [α];
23+ platforms = ∀ α. α;
24 source = {remotes = [String]; sha256 = String; type = String;};
24 source = {remotes = [String]; sha256 = String; type = String;};
25 version = String;
25 version = String;
26 };
26 };
27 fog-libvirt =
27 fog-libvirt =
28 { dependencies = [String];
28 { dependencies = [String];
29 groups = [String];
29 groups = [String];
30− platforms = ∀ α. [α];
30+ platforms = ∀ α. α;
31 source = {remotes = [String]; sha256 = String; type = String;};
31 source = {remotes = [String]; sha256 = String; type = String;};
32 version = String;
32 version = String;
33 };
33 };
34 fog-xml =
34 fog-xml =
35 { dependencies = [String];
35 { dependencies = [String];
36 groups = [String];
36 groups = [String];
37− platforms = ∀ α. [α];
37+ platforms = ∀ α. α;
38 source = {remotes = [String]; sha256 = String; type = String;};
38 source = {remotes = [String]; sha256 = String; type = String;};
39 version = String;
39 version = String;
40 };
40 };
41 formatador =
41 formatador =
42 { groups = [String];
42 { groups = [String];
43− platforms = ∀ α. [α];
43+ platforms = ∀ α. α;
44 source = {remotes = [String]; sha256 = String; type = String;};
44 source = {remotes = [String]; sha256 = String; type = String;};
45 version = String;
45 version = String;
46 };
46 };
47 json =
47 json =
48 { groups = [String];
48 { groups = [String];
49− platforms = ∀ α. [α];
49+ platforms = ∀ α. α;
50 source = {remotes = [String]; sha256 = String; type = String;};
50 source = {remotes = [String]; sha256 = String; type = String;};
51 version = String;
51 version = String;
52 };
52 };
53 mime-types =
53 mime-types =
54 { dependencies = [String];
54 { dependencies = [String];
55 groups = [String];
55 groups = [String];
56− platforms = ∀ α. [α];
56+ platforms = ∀ α. α;
57 source = {remotes = [String]; sha256 = String; type = String;};
57 source = {remotes = [String]; sha256 = String; type = String;};
58 version = String;
58 version = String;
59 };
59 };
60 mime-types-data =
60 mime-types-data =
61 { groups = [String];
61 { groups = [String];
62− platforms = ∀ α. [α];
62+ platforms = ∀ α. α;
63 source = {remotes = [String]; sha256 = String; type = String;};
63 source = {remotes = [String]; sha256 = String; type = String;};
64 version = String;
64 version = String;
65 };
65 };
66 mini_portile2 =
66 mini_portile2 =
67 { groups = [String];
67 { groups = [String];
68− platforms = ∀ α. [α];
68+ platforms = ∀ α. α;
69 source = {remotes = [String]; sha256 = String; type = String;};
69 source = {remotes = [String]; sha256 = String; type = String;};
70 version = String;
70 version = String;
71 };
71 };
72 multi_json =
72 multi_json =
73 { groups = [String];
73 { groups = [String];
74− platforms = ∀ α. [α];
74+ platforms = ∀ α. α;
75 source = {remotes = [String]; sha256 = String; type = String;};
75 source = {remotes = [String]; sha256 = String; type = String;};
76 version = String;
76 version = String;
77 };
77 };
78 nokogiri =
78 nokogiri =
79 { dependencies = [String];
79 { dependencies = [String];
80 groups = [String];
80 groups = [String];
81− platforms = ∀ α. [α];
81+ platforms = ∀ α. α;
82 source = {remotes = [String]; sha256 = String; type = String;};
82 source = {remotes = [String]; sha256 = String; type = String;};
83 version = String;
83 version = String;
84 };
84 };
85 ruby-libvirt =
85 ruby-libvirt =
86 { groups = [String];
86 { groups = [String];
87− platforms = ∀ α. [α];
87+ platforms = ∀ α. α;
88 source = {remotes = [String]; sha256 = String; type = String;};
88 source = {remotes = [String]; sha256 = String; type = String;};
89 version = String;
89 version = String;
90 };
90 };
91 vagrant-libvirt =
91 vagrant-libvirt =
92 { dependencies = [String];
92 { dependencies = [String];
93 groups = [String];
93 groups = [String];
94− platforms = ∀ α. [α];
94+ platforms = ∀ α. α;
95 source = {remotes = [String]; sha256 = String; type = String;};
95 source = {remotes = [String]; sha256 = String; type = String;};
96 version = String;
96 version = String;
97 };
97 };
test/golden/importless/generations-dir.txt+1−6
@@ -19,12 +19,7 @@
19 δ.gnused = ξ,
19 δ.gnused = ξ,
20 δ.stdenv = ο,
20 δ.stdenv = ο,
21 δ.substituteAll =
21 δ.substituteAll =
22− { bash = ν;
23− copyKernels = π;
24− isExecutable = Bool;
22+ {bash = ν; copyKernels = π; isExecutable = Bool; path = [ξ]; src = Path;} ->
25− path = [ξ];
26− src = String;
27− } ->
28 θ,
23 θ,
29 ο.hostPlatform = ρ,
24 ο.hostPlatform = ρ,
30 ρ.platform = σ,
25 ρ.platform = σ,
test/golden/importless/generatorrunner.txt+1−1
@@ -7,7 +7,7 @@
7 { description = String;
7 { description = String;
8 homepage = String;
8 homepage = String;
9 license = ε;
9 license = ε;
10− maintainers = ∀ α. [α];
10+ maintainers = ∀ α. α;
11 platforms = ζ;
11 platforms = ζ;
12 };
12 };
13 name = String;
13 name = String;
test/golden/importless/generic-builder.txt+16−13
@@ -1,17 +1,20 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο.
1∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο.
2−( α // {name = String;} ~ β,
2+( (α) // ({name = String;}) ~ (β),
3− { NIX_CFLAGS_COMPILE = γ;
3+ ( { NIX_CFLAGS_COMPILE = γ;
4− buildInputs = [δ];
4+ buildInputs = [δ];
5− buildPhase = String;
5+ buildPhase = String;
6− checkPhase = String;
6+ checkPhase = String;
7− configurePhase = String;
7+ configurePhase = String;
8− installFlags = [String];
8+ installFlags = [String];
9− installPhase = String;
9+ installPhase = String;
10− postFixup = String;
10+ postFixup = String;
11− rCommand = String;
11+ rCommand = String;
12+ }
12− } //
13+ ) //
13− β ~
14+ ( β
15+ ) ~
14− ε,
16+ ( ε
17+ ),
15 α.?buildInputs = [δ],
18 α.?buildInputs = [δ],
16 α.?doCheck = Bool,
19 α.?doCheck = Bool,
17 α.?requireX = Bool,
20 α.?requireX = Bool,
test/golden/importless/generic-stack-builder.txt+23−20
@@ -1,28 +1,31 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ.
1∀ α β γ δ ε ζ η θ ι κ λ μ.
2−( α //
2+( ( α
3+ ) //
3− { GIT_SSL_CAINFO = String;
4+ ( { GIT_SSL_CAINFO = String;
4− LANG = String;
5+ LANG = String;
5− LD_LIBRARY_PATH = β;
6+ LD_LIBRARY_PATH = β;
6− STACK_IN_NIX_EXTRA_ARGS = [γ];
7+ STACK_IN_NIX_EXTRA_ARGS = γ;
7− STACK_IN_NIX_SHELL = Number;
8+ STACK_IN_NIX_SHELL = Integer;
8− STACK_PLATFORM_VARIANT = String;
9+ STACK_PLATFORM_VARIANT = String;
9− __noChroot = Bool;
10+ __noChroot = Bool;
10− buildInputs = [δ];
11+ buildInputs = [δ];
11− buildPhase = String;
12+ buildPhase = String;
12− checkPhase = String;
13+ checkPhase = String;
13− doCheck = Bool;
14+ doCheck = Bool;
14− installPhase = String;
15+ installPhase = String;
15− nativeBuildInputs = [ε];
16+ nativeBuildInputs = [ε];
16− preConfigure = String;
17+ preConfigure = String;
17− preferLocalBuild = Bool;
18+ preferLocalBuild = Bool;
18− } ~
19+ }
20+ ) ~
19− ζ,
21+ ( ζ
22+ ),
20 α.?LD_LIBRARY_PATH = [δ],
23 α.?LD_LIBRARY_PATH = [δ],
21 α.?buildInputs = [δ],
24 α.?buildInputs = [δ],
22 α.?buildPhase = String,
25 α.?buildPhase = String,
23 α.?checkPhase = String,
26 α.?checkPhase = String,
24 α.?doCheck = Bool,
27 α.?doCheck = Bool,
25− α.?extraArgs = [γ],
28+ α.?extraArgs = γ,
26 α.?ghc = ε,
29 α.?ghc = ε,
27 α.?installPhase = String,
30 α.?installPhase = String,
28 α.?nativeBuildInputs = [ε],
31 α.?nativeBuildInputs = [ε],
@@ -37,7 +40,7 @@
37 ghc = ε;
40 ghc = ε;
38 glibcLocales = λ;
41 glibcLocales = λ;
39 lib = κ;
42 lib = κ;
40− makeSetupHook = {} -> String -> ε;
43+ makeSetupHook = {} -> Path -> ε;
41 pkgconfig = ε;
44 pkgconfig = ε;
42 stack = ε;
45 stack = ε;
43 stdenv = η;
46 stdenv = η;
test/golden/importless/geogebra6.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ.
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ.
2−( β // {license = γ; maintainers = [δ]; platforms = ε;} ~ ζ,
2+( (β) // ({license = γ; maintainers = [δ]; platforms = ε;}) ~ (ζ),
3 η.lib = θ,
3 η.lib = θ,
4 η.mkDerivation =
4 η.mkDerivation =
5 { desktopItem = ι;
5 { desktopItem = ι;
test/golden/importless/gerbil-ethereum.txt+1−1
@@ -3,7 +3,7 @@
3 β.maintainers = δ,
3 β.maintainers = δ,
4 β.platforms = ε,
4 β.platforms = ε,
5 ζ.gerbilPackage =
5 ζ.gerbilPackage =
6− { buildInputs = ∀ α. [α];
6+ { buildInputs = ∀ α. α;
7 gambit-params = η;
7 gambit-params = η;
8 gerbil = θ;
8 gerbil = θ;
9 gerbil-package = String;
9 gerbil-package = String;
test/golden/importless/gerbil-persist.txt+1−1
@@ -3,7 +3,7 @@
3 β.maintainers = δ,
3 β.maintainers = δ,
4 β.platforms = ε,
4 β.platforms = ε,
5 ζ.gerbilPackage =
5 ζ.gerbilPackage =
6− { buildInputs = ∀ α. [α];
6+ { buildInputs = ∀ α. α;
7 gambit-params = η;
7 gambit-params = η;
8 gerbil = θ;
8 gerbil = θ;
9 gerbil-package = String;
9 gerbil-package = String;
test/golden/importless/gerbil-poo.txt+1−1
@@ -3,7 +3,7 @@
3 β.maintainers = δ,
3 β.maintainers = δ,
4 β.platforms = ε,
4 β.platforms = ε,
5 ζ.gerbilPackage =
5 ζ.gerbilPackage =
6− { buildInputs = ∀ α. [α];
6+ { buildInputs = ∀ α. α;
7 gambit-params = η;
7 gambit-params = η;
8 gerbil = θ;
8 gerbil = θ;
9 gerbil-package = String;
9 gerbil-package = String;
test/golden/importless/gitlab-ci-pipelines-exporter.txt+1−1
@@ -7,7 +7,7 @@
7) =>
7) =>
8{ buildGoPackage =
8{ buildGoPackage =
9 { doCheck = Bool;
9 { doCheck = Bool;
10− goDeps = String;
10+ goDeps = Path;
11 goPackagePath = String;
11 goPackagePath = String;
12 meta =
12 meta =
13 { description = String;
13 { description = String;
test/golden/importless/global-vars.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/gmusic.txt+1−1
@@ -5,7 +5,7 @@
5 meta =
5 meta =
6 { description = String;
6 { description = String;
7 homepage = String;
7 homepage = String;
8− hydraPlatforms = ∀ α. [α];
8+ hydraPlatforms = ∀ α. α;
9 license = ε;
9 license = ε;
10 maintainers = [ζ];
10 maintainers = [ζ];
11 };
11 };
test/golden/importless/gnu.txt+1−1
@@ -6,7 +6,7 @@
6 γ.grub2 = ζ,
6 γ.grub2 = ζ,
7 γ.mkIf =
7 γ.mkIf =
8 ε ->
8 ε ->
9− { boot = {loader = {grub = {enable = Bool; version = Number;};};};
9+ { boot = {loader = {grub = {enable = Bool; version = Integer;};};};
10 environment = {systemPackages = [η];};
10 environment = {systemPackages = [η];};
11 programs = {ssh = {startAgent = Bool;};};
11 programs = {ssh = {startAgent = Bool;};};
12 services =
12 services =
test/golden/importless/graphite2.txt+1−1
@@ -14,7 +14,7 @@
14 version = String;
14 version = String;
15 } ->
15 } ->
16 μ,
16 μ,
17− γ.optionals = β -> [String] -> κ,
17+ γ.optionals = β -> [Path] -> κ,
18 ν.licenses = ξ,
18 ν.licenses = ξ,
19 ν.maintainers = ο,
19 ν.maintainers = ο,
20 ν.platforms = π,
20 ν.platforms = π,
test/golden/importless/graphql.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ.
1∀ β γ δ ε ζ η θ.
2−( β // {description = String;} ~ γ,
2+( (β) // ({description = String;}) ~ (γ),
3 δ.meta = β,
3 δ.meta = β,
4 δ.src = ε,
4 δ.src = ε,
5 δ.version = ζ
5 δ.version = ζ
test/golden/importless/gstreamer.txt+1−1
@@ -12,7 +12,7 @@
12 platforms = η;
12 platforms = η;
13 };
13 };
14 nativeBuildInputs = [θ];
14 nativeBuildInputs = [θ];
15− patches = [String];
15+ patches = [Path];
16 pname = String;
16 pname = String;
17 src = ι;
17 src = ι;
18 version = String;
18 version = String;
test/golden/importless/helper.txt+1−1
@@ -5,7 +5,7 @@
5 installPhase = String;
5 installPhase = String;
6 meta =
6 meta =
7 { description = String;
7 { description = String;
8− hydraPlatforms = ∀ α. [α];
8+ hydraPlatforms = ∀ α. α;
9 license = ε;
9 license = ε;
10 maintainers = [ζ];
10 maintainers = [ζ];
11 platforms = η;
11 platforms = η;
test/golden/importless/hg.txt+1−1
@@ -14,7 +14,7 @@
14 maintainers = [ε];
14 maintainers = [ε];
15 };
15 };
16 nativeBuildInputs = δ;
16 nativeBuildInputs = δ;
17− patches = [String];
17+ patches = [Path];
18 pname = String;
18 pname = String;
19 preBuild = String;
19 preBuild = String;
20 propagatedBuildInputs = [γ];
20 propagatedBuildInputs = [γ];
test/golden/importless/hidepid.txt+1−1
@@ -26,6 +26,6 @@
26) =>
26) =>
27α ->
27α ->
28{ config = ι;
28{ config = ι;
29− meta = {doc = String; maintainers = [ξ];};
29+ meta = {doc = Path; maintainers = [ξ];};
30 options = {security = {hideProcessInformation = λ;};};
30 options = {security = {hideProcessInformation = λ;};};
31}
31}
test/golden/importless/http.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ ι κ.
1∀ β γ δ ε ζ η θ ι κ.
2−( β // {description = String;} ~ γ,
2+( (β) // ({description = String;}) ~ (γ),
3 δ.optionals = Bool -> [ε] -> ζ,
3 δ.optionals = Bool -> [ε] -> ζ,
4 η.meta = β,
4 η.meta = β,
5 η.src = θ,
5 η.src = θ,
test/golden/importless/imapfilter.txt+1−1
@@ -6,7 +6,7 @@
6 { description = String;
6 { description = String;
7 homepage = String;
7 homepage = String;
8 license = δ;
8 license = δ;
9− maintainers = ∀ α. [α];
9+ maintainers = ∀ α. α;
10 platforms = ε;
10 platforms = ε;
11 };
11 };
12 pname = String;
12 pname = String;
test/golden/importless/info.txt+1−1
@@ -1,6 +1,6 @@
1∀ α β.
1∀ α β.
2{ callPackage =
2{ callPackage =
3− String ->
3+ Path ->
4 {} ->
4 {} ->
5 { buildInputs = [α];
5 { buildInputs = [α];
6 buildPhase = String;
6 buildPhase = String;
test/golden/importless/init-script.txt+1−1
@@ -11,7 +11,7 @@
11 δ.gnugrep = ν,
11 δ.gnugrep = ν,
12 δ.gnused = ν,
12 δ.gnused = ν,
13 δ.substituteAll =
13 δ.substituteAll =
14− {bash = μ; isExecutable = Bool; path = [ν]; src = String;} -> η,
14+ {bash = μ; isExecutable = Bool; path = [ν]; src = Path;} -> η,
15 ε.loader = ξ,
15 ε.loader = ξ,
16 ξ.initScript = ο,
16 ξ.initScript = ο,
17 ο.enable = ζ,
17 ο.enable = ζ,
test/golden/importless/integrations-core.txt+13−10
@@ -1,14 +1,17 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ.
1∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ.
2−( α //
2+( ( α
3+ ) //
3− { doCheck = Bool;
4+ ( { doCheck = Bool;
4− name = String;
5+ name = String;
5− postPatch = String;
6+ postPatch = String;
6− sourceRoot = String;
7+ sourceRoot = String;
7− src = β;
8+ src = β;
8− version = String;
9+ version = String;
10+ }
9− } ~
11+ ) ~
10− γ,
12+ ( γ
13+ ),
11− δ // {datadog_checks_base = ε; python = ζ;} ~ η,
14+ (δ) // ({datadog_checks_base = ε; python = ζ;}) ~ (η),
12 θ.fetchFromGitHub =
15 θ.fetchFromGitHub =
13 {owner = String; repo = String; rev = String; sha256 = String;} -> β,
16 {owner = String; repo = String; rev = String; sha256 = String;} -> β,
14 θ.lib = ι,
17 θ.lib = ι,
test/golden/importless/intel-microcode.txt+1−1
@@ -5,7 +5,7 @@
5 β.hardware = ε,
5 β.hardware = ε,
6 γ.mkIf = ζ -> {boot = {initrd = {prepend = η;};};} -> θ,
6 γ.mkIf = ζ -> {boot = {initrd = {prepend = η;};};} -> θ,
7 γ.mkOption = {default = Bool; description = String; type = ι;} -> κ,
7 γ.mkOption = {default = Bool; description = String; type = ι;} -> κ,
8− γ.mkOrder = Number -> [String] -> η,
8+ γ.mkOrder = Integer -> [String] -> η,
9 γ.types = λ,
9 γ.types = λ,
10 ε.cpu = μ,
10 ε.cpu = μ,
11 μ.intel = ν,
11 μ.intel = ν,
test/golden/importless/introspect-environment.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/iproute2.txt+1−2
@@ -28,8 +28,7 @@
28 ε.iproute2 = φ,
28 ε.iproute2 = φ,
29 φ.enable = θ,
29 φ.enable = θ,
30 φ.rttablesExtraConfig = String,
30 φ.rttablesExtraConfig = String,
31− υ.lines = σ,
31+ υ.lines = σ
32− (String | Number) ~ π
33) =>
32) =>
34α ->
33α ->
35{ config = ρ;
34{ config = ρ;
test/golden/importless/iterate.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/janePackage.txt+10−7
@@ -1,11 +1,14 @@
1∀ α β γ δ ε ζ η θ ι κ.
1∀ α β γ δ ε ζ η θ ι κ.
2−( α //
2+( ( α
3+ ) //
3− { meta = {homepage = String; license = β;};
4+ ( { meta = {homepage = String; license = β;};
4− minimumOCamlVersion = String;
5+ minimumOCamlVersion = String;
5− src = γ;
6+ src = γ;
6− version = String;
7+ version = String;
7− } ~
8+ }
9+ ) ~
8− δ,
10+ ( δ
11+ ),
9 α.?version = String,
12 α.?version = String,
10 ε.lib = ζ,
13 ε.lib = ζ,
11 α.hash = η,
14 α.hash = η,
test/golden/importless/janePackage_0_12.txt+10−7
@@ -1,11 +1,14 @@
1∀ α β γ δ ε ζ η θ ι.
1∀ α β γ δ ε ζ η θ ι.
2−( α //
2+( ( α
3+ ) //
3− { meta = {homepage = String; license = β;};
4+ ( { meta = {homepage = String; license = β;};
4− minimumOCamlVersion = String;
5+ minimumOCamlVersion = String;
5− src = γ;
6+ src = γ;
6− version = String;
7+ version = String;
7− } ~
8+ }
9+ ) ~
8− δ,
10+ ( δ
11+ ),
9 α.?version = String,
12 α.?version = String,
10 ε.licenses = ζ,
13 ε.licenses = ζ,
11 α.hash = η,
14 α.hash = η,
test/golden/importless/janePackage_0_13.txt+10−7
@@ -1,11 +1,14 @@
1∀ α β γ δ ε ζ η θ ι.
1∀ α β γ δ ε ζ η θ ι.
2−( α //
2+( ( α
3+ ) //
3− { meta = {homepage = String; license = β;};
4+ ( { meta = {homepage = String; license = β;};
4− minimumOCamlVersion = String;
5+ minimumOCamlVersion = String;
5− src = γ;
6+ src = γ;
6− version = String;
7+ version = String;
7− } ~
8+ }
9+ ) ~
8− δ,
10+ ( δ
11+ ),
9 α.?version = String,
12 α.?version = String,
10 ε.licenses = ζ,
13 ε.licenses = ζ,
11 α.hash = η,
14 α.hash = η,
test/golden/importless/java.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π.
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π.
2−( β // {description = String;} ~ γ,
2+( (β) // ({description = String;}) ~ (γ),
3 δ.config = ε,
3 δ.config = ε,
4 δ.lib = ζ,
4 δ.lib = ζ,
5 δ.pkgs = η,
5 δ.pkgs = η,
test/golden/importless/jdk-darwin-base.txt+1−1
@@ -3,7 +3,7 @@
3 δ.hostPlatform = ε,
3 δ.hostPlatform = ε,
4 δ.lib = ζ,
4 δ.lib = ζ,
5 δ.mkDerivation =
5 δ.mkDerivation =
6− { dontStrip = Number;
6+ { dontStrip = Integer;
7 installPhase = String;
7 installPhase = String;
8 meta =
8 meta =
9 { description = String;
9 { description = String;
test/golden/importless/js-build-tools.txt+1−1
@@ -14,7 +14,7 @@
14 meta = {description = String; license = ε; maintainers = [ζ];};
14 meta = {description = String; license = ε; maintainers = [ζ];};
15 minimumSupportedOcamlVersion = String;
15 minimumSupportedOcamlVersion = String;
16 name = String;
16 name = String;
17− patches = [String];
17+ patches = [Path];
18 src = θ;
18 src = θ;
19 version = String;
19 version = String;
20 } ->
20 } ->
test/golden/importless/json-exporter.txt+1−1
@@ -7,7 +7,7 @@
7 ζ.json = θ
7 ζ.json = θ
8) =>
8) =>
9{ buildGoPackage =
9{ buildGoPackage =
10− { goDeps = String;
10+ { goDeps = Path;
11 goPackagePath = String;
11 goPackagePath = String;
12 meta =
12 meta =
13 { description = String;
13 { description = String;
test/golden/importless/json.txt+1−1
@@ -10,6 +10,6 @@
10) =>
10) =>
11{config = α; lib = γ; options = μ; pkgs = ν;} ->
11{config = α; lib = γ; options = μ; pkgs = ν;} ->
12{ extraOpts = {configFile = ε; listenAddress = {}; url = ξ;};
12{ extraOpts = {configFile = ε; listenAddress = {}; url = ξ;};
13− port = Number;
13+ port = Integer;
14 serviceOpts = {serviceConfig = {ExecStart = String;};};
14 serviceOpts = {serviceConfig = {ExecStart = String;};};
15}
15}
test/golden/importless/karchive.txtdeleted−18
@@ -1,18 +0,0 @@
1−∀ α β γ δ ε ζ η θ.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { bzip2 = ζ;
3− extra-cmake-modules = η;
4− lib = α;
5− lzma = ζ;
6− mkDerivation =
7− { buildInputs = [ζ];
8− meta = {broken = Bool; maintainers = [ε];};
9− name = String;
10− nativeBuildInputs = [η];
11− outputs = [String];
12− propagatedBuildInputs = [γ];
13− } ->
14− θ;
15− qtbase = γ;
16− zlib = ζ;
17−} ->
18−θ
test/golden/importless/kcodecs.txtdeleted−17
@@ -1,17 +0,0 @@
1−∀ α β γ δ ε ζ η θ.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { extra-cmake-modules = ζ;
3− gperf = η;
4− lib = α;
5− mkDerivation =
6− { buildInputs = [η];
7− meta = {broken = Bool; maintainers = [ε];};
8− name = String;
9− nativeBuildInputs = [ζ];
10− outputs = [String];
11− propagatedBuildInputs = [γ];
12− } ->
13− θ;
14− qtbase = γ;
15− qttools = η;
16−} ->
17−θ
test/golden/importless/kconfig.txtdeleted−15
@@ -1,15 +0,0 @@
1−∀ α β γ δ ε ζ η θ.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { extra-cmake-modules = ζ;
3− lib = α;
4− mkDerivation =
5− { buildInputs = [η];
6− meta = {broken = Bool; maintainers = [ε];};
7− name = String;
8− nativeBuildInputs = [ζ];
9− propagatedBuildInputs = [γ];
10− } ->
11− θ;
12− qtbase = γ;
13− qttools = η;
14−} ->
15−θ
test/golden/importless/kcoreaddons.txtdeleted−16
@@ -1,16 +0,0 @@
1−∀ α β γ δ ε ζ η θ.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { extra-cmake-modules = ζ;
3− lib = α;
4− mkDerivation =
5− { buildInputs = [η];
6− meta = {broken = Bool; maintainers = [ε];};
7− name = String;
8− nativeBuildInputs = [ζ];
9− propagatedBuildInputs = [γ];
10− } ->
11− θ;
12− qtbase = γ;
13− qttools = η;
14− shared-mime-info = η;
15−} ->
16−θ
test/golden/importless/kdbusaddons.txtdeleted−16
@@ -1,16 +0,0 @@
1−∀ α β γ δ ε ζ η θ.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { extra-cmake-modules = ζ;
3− lib = α;
4− mkDerivation =
5− { buildInputs = [η];
6− meta = {broken = Bool; maintainers = [ε];};
7− name = String;
8− nativeBuildInputs = [ζ];
9− propagatedBuildInputs = [γ];
10− } ->
11− θ;
12− qtbase = γ;
13− qttools = η;
14− qtx11extras = η;
15−} ->
16−θ
test/golden/importless/kdebugsettings.txt+1−1
@@ -19,7 +19,7 @@
19 meta = {license = [ε]; maintainers = [ζ];};
19 meta = {license = [ε]; maintainers = [ζ];};
20 name = String;
20 name = String;
21 nativeBuildInputs = [η];
21 nativeBuildInputs = [η];
22− propagatedUserEnvPkgs = ∀ α. [α];
22+ propagatedUserEnvPkgs = ∀ α. α;
23 } ->
23 } ->
24 ι;
24 ι;
25 python = θ;
25 python = θ;
test/golden/importless/kdecoration.txtdeleted−15
@@ -1,15 +0,0 @@
1−∀ α β γ δ.
2−(α.version = β) => { extra-cmake-modules = γ;
3− ki18n = α;
4− mkDerivation =
5− { broken = Bool;
6− buildInputs = [α];
7− meta = {broken = Bool;};
8− name = String;
9− nativeBuildInputs = [γ];
10− outputs = [String];
11− } ->
12− δ;
13− qtbase = α;
14−} ->
15−δ
test/golden/importless/kdenlive.txt+1−1
@@ -31,7 +31,7 @@
31 mlt = δ;
31 mlt = δ;
32 name = String;
32 name = String;
33 nativeBuildInputs = [ε];
33 nativeBuildInputs = [ε];
34− patches = [String];
34+ patches = [Path];
35 postPatch = String;
35 postPatch = String;
36 preFixup = String;
36 preFixup = String;
37 qtWrapperArgs = [String];
37 qtWrapperArgs = [String];
test/golden/importless/kdnssd.txtdeleted−17
@@ -1,17 +0,0 @@
1−∀ α β γ δ ε ζ η θ.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { avahi = ζ;
3− extra-cmake-modules = η;
4− lib = α;
5− mkDerivation =
6− { buildInputs = [ζ];
7− meta = {broken = Bool; maintainers = [ε];};
8− name = String;
9− nativeBuildInputs = [η];
10− outputs = [String];
11− propagatedBuildInputs = [γ];
12− } ->
13− θ;
14− qtbase = γ;
15− qttools = ζ;
16−} ->
17−θ
test/golden/importless/keylight.txt+1−1
@@ -5,4 +5,4 @@
5 δ.keylight = ε
5 δ.keylight = ε
6) =>
6) =>
7{config = α; lib = ζ; options = η; pkgs = θ;} ->
7{config = α; lib = ζ; options = η; pkgs = θ;} ->
8−{port = Number; serviceOpts = {serviceConfig = {ExecStart = String;};};}
8+{port = Integer; serviceOpts = {serviceConfig = {ExecStart = String;};};}
test/golden/importless/kguiaddons.txtdeleted−16
@@ -1,16 +0,0 @@
1−∀ α β γ δ ε ζ η θ.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { extra-cmake-modules = ζ;
3− lib = α;
4− mkDerivation =
5− { buildInputs = [η];
6− meta = {broken = Bool; maintainers = [ε];};
7− name = String;
8− nativeBuildInputs = [ζ];
9− outputs = [String];
10− propagatedBuildInputs = [γ];
11− } ->
12− θ;
13− qtbase = γ;
14− qtx11extras = η;
15−} ->
16−θ
test/golden/importless/ki18n.txtdeleted−18
@@ -1,18 +0,0 @@
1−∀ α β γ δ ε ζ η θ ι.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { extra-cmake-modules = ζ;
3− gettext = η;
4− lib = α;
5− mkDerivation =
6− { buildInputs = [θ];
7− meta = {broken = Bool; maintainers = [ε];};
8− name = String;
9− nativeBuildInputs = [ζ];
10− propagatedNativeBuildInputs = [η];
11− } ->
12− ι;
13− python3 = η;
14− qtbase = γ;
15− qtdeclarative = θ;
16− qtscript = θ;
17−} ->
18−ι
test/golden/importless/kidletime.txtdeleted−15
@@ -1,15 +0,0 @@
1−∀ α β γ δ ε ζ η θ.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { extra-cmake-modules = ζ;
3− lib = α;
4− mkDerivation =
5− { buildInputs = [η];
6− meta = {broken = Bool; maintainers = [ε];};
7− name = String;
8− nativeBuildInputs = [ζ];
9− propagatedBuildInputs = [γ];
10− } ->
11− θ;
12− qtbase = γ;
13− qtx11extras = η;
14−} ->
15−θ
test/golden/importless/kirigami2.txtdeleted−15
@@ -1,15 +0,0 @@
1−∀ α β γ δ.
2−(α.version = β) => { extra-cmake-modules = γ;
3− mkDerivation =
4− { buildInputs = [α];
5− meta = {broken = Bool;};
6− name = String;
7− nativeBuildInputs = [γ];
8− outputs = [String];
9− } ->
10− δ;
11− qtbase = α;
12− qtquickcontrols2 = α;
13− qttranslations = α;
14−} ->
15−δ
test/golden/importless/kitemmodels.txtdeleted−14
@@ -1,14 +0,0 @@
1−∀ α β γ δ ε ζ η.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { extra-cmake-modules = ζ;
3− lib = α;
4− mkDerivation =
5− { meta = {broken = Bool; maintainers = [ε];};
6− name = String;
7− nativeBuildInputs = [ζ];
8− outputs = [String];
9− propagatedBuildInputs = [γ];
10− } ->
11− η;
12− qtbase = γ;
13−} ->
14−η
test/golden/importless/kitemviews.txtdeleted−16
@@ -1,16 +0,0 @@
1−∀ α β γ δ ε ζ η θ.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { extra-cmake-modules = ζ;
3− lib = α;
4− mkDerivation =
5− { buildInputs = [η];
6− meta = {broken = Bool; maintainers = [ε];};
7− name = String;
8− nativeBuildInputs = [ζ];
9− outputs = [String];
10− propagatedBuildInputs = [γ];
11− } ->
12− θ;
13− qtbase = γ;
14− qttools = η;
15−} ->
16−θ
test/golden/importless/kmrcl.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/konqueror.txt+1−1
@@ -8,7 +8,7 @@
8 lib = β;
8 lib = β;
9 mkDerivation =
9 mkDerivation =
10 { buildInputs = [η];
10 { buildInputs = [η];
11− meta = {license = [ε]; maintainers = ∀ α. [α];};
11+ meta = {license = [ε]; maintainers = ∀ α. α;};
12 name = String;
12 name = String;
13 nativeBuildInputs = [ζ];
13 nativeBuildInputs = [ζ];
14 postPatch = String;
14 postPatch = String;
test/golden/importless/kplotting.txtdeleted−15
@@ -1,15 +0,0 @@
1−∀ α β γ δ ε ζ η.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { extra-cmake-modules = ζ;
3− lib = α;
4− mkDerivation =
5− { meta = {broken = Bool; maintainers = [ε];};
6− name = String;
7− nativeBuildInputs = [ζ];
8− outputs = [String];
9− propagatedBuildInputs = [γ];
10− } ->
11− η;
12− qtbase = γ;
13− qttools = γ;
14−} ->
15−η
test/golden/importless/kvm.txt+1−1
@@ -9,7 +9,7 @@
9) =>
9) =>
10{ buildGoPackage =
10{ buildGoPackage =
11 { buildInputs = [ι];
11 { buildInputs = [ι];
12− goDeps = String;
12+ goDeps = Path;
13 goPackagePath = String;
13 goPackagePath = String;
14 meta =
14 meta =
15 { description = String;
15 { description = String;
test/golden/importless/kwayland.txtdeleted−19
@@ -1,19 +0,0 @@
1−∀ α β γ δ ε ζ η θ ι.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { extra-cmake-modules = ζ;
3− lib = α;
4− mkDerivation =
5− { buildInputs = [η];
6− meta = {broken = Bool; maintainers = [ε];};
7− name = String;
8− nativeBuildInputs = [ζ];
9− propagatedBuildInputs = [γ];
10− setupHook = θ;
11− } ->
12− ι;
13− plasma-wayland-protocols = η;
14− propagateBin = θ;
15− qtbase = γ;
16− wayland = η;
17− wayland-protocols = η;
18−} ->
19−ι
test/golden/importless/kwidgetsaddons.txtdeleted−16
@@ -1,16 +0,0 @@
1−∀ α β γ δ ε ζ η θ.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { extra-cmake-modules = ζ;
3− lib = α;
4− mkDerivation =
5− { buildInputs = [η];
6− meta = {broken = Bool; maintainers = [ε];};
7− name = String;
8− nativeBuildInputs = [ζ];
9− outputs = [String];
10− propagatedBuildInputs = [γ];
11− } ->
12− θ;
13− qtbase = γ;
14− qttools = η;
15−} ->
16−θ
test/golden/importless/lack-component.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/layout-manager.txt+1−1
@@ -7,7 +7,7 @@
7 { description = String;
7 { description = String;
8 homepage = String;
8 homepage = String;
9 license = δ;
9 license = δ;
10− maintainers = ∀ α. [α];
10+ maintainers = ∀ α. α;
11 platforms = ε;
11 platforms = ε;
12 };
12 };
13 nativeBuildInputs = [ζ];
13 nativeBuildInputs = [ζ];
test/golden/importless/libmaa.txt+1−1
@@ -3,7 +3,7 @@
3 β.mkDerivation =
3 β.mkDerivation =
4 { NIX_CFLAGS_COMPILE = String;
4 { NIX_CFLAGS_COMPILE = String;
5 buildInputs = [δ];
5 buildInputs = [δ];
6− meta = {description = String; maintainers = ∀ α. [α]; platforms = ε;};
6+ meta = {description = String; maintainers = ∀ α. α; platforms = ε;};
7 pname = String;
7 pname = String;
8 src = ζ;
8 src = ζ;
9 version = String;
9 version = String;
test/golden/importless/libnvc.txt+1−1
@@ -5,7 +5,7 @@
5 meta =
5 meta =
6 {description = String; homepage = String; license = γ; platforms = δ;};
6 {description = String; homepage = String; license = γ; platforms = δ;};
7 nativeBuildInputs = [ε];
7 nativeBuildInputs = [ε];
8− patches = [String];
8+ patches = [Path];
9 pname = String;
9 pname = String;
10 postPatch = String;
10 postPatch = String;
11 src = ζ;
11 src = ζ;
test/golden/importless/library.txt+1−1
@@ -6,7 +6,7 @@
6 { description = String;
6 { description = String;
7 homepage = String;
7 homepage = String;
8 license = ε;
8 license = ε;
9− maintainers = ∀ α. [α];
9+ maintainers = ∀ α. α;
10 platforms = ζ;
10 platforms = ζ;
11 };
11 };
12 nativeBuildInputs = [η];
12 nativeBuildInputs = [η];
test/golden/importless/libtool2.txt+1−1
@@ -10,7 +10,7 @@
10 homepage = String;
10 homepage = String;
11 license = δ;
11 license = δ;
12 longDescription = String;
12 longDescription = String;
13− maintainers = ∀ α. [α];
13+ maintainers = ∀ α. α;
14 platforms = ε;
14 platforms = ε;
15 };
15 };
16 nativeBuildInputs = [ζ];
16 nativeBuildInputs = [ζ];
test/golden/importless/libxpdf.txt+3−3
@@ -4,8 +4,8 @@
4 { installPhase = String;
4 { installPhase = String;
5 meta = {license = γ; platforms = δ;};
5 meta = {license = γ; platforms = δ;};
6 name = String;
6 name = String;
7− patches = [String];
7+ patches = [Path];
8− src = String;
8+ src = Path;
9 } ->
9 } ->
10 ε,
10 ε,
11 β.licenses = ζ,
11 β.licenses = ζ,
@@ -13,4 +13,4 @@
13 ζ.gpl2 = γ,
13 ζ.gpl2 = γ,
14 η.unix = δ
14 η.unix = δ
15) =>
15) =>
16−{fetchurl = {sha256 = String; url = String;} -> String; stdenv = α;} -> ε
16+{fetchurl = {sha256 = String; url = String;} -> Path; stdenv = α;} -> ε
test/golden/importless/licenses.txt+17−14
@@ -1,18 +1,21 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1.
1∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1.
2−( α // {shortName = β;} ~ γ,
2+( (α) // ({shortName = β;}) ~ (γ),
3− δ //
3+ ( δ
4+ ) //
4− { agpl3 = ε;
5+ ( { agpl3 = ε;
5− fdl11 = ζ;
6+ fdl11 = ζ;
6− fdl12 = η;
7+ fdl12 = η;
7− fdl13 = θ;
8+ fdl13 = θ;
8− gpl1 = ι;
9+ gpl1 = ι;
9− gpl2 = κ;
10+ gpl2 = κ;
10− gpl3 = λ;
11+ gpl3 = λ;
11− lgpl2 = μ;
12+ lgpl2 = μ;
12− lgpl21 = ν;
13+ lgpl21 = ν;
13− lgpl3 = ξ;
14+ lgpl3 = ξ;
15+ }
14− } ~
16+ ) ~
15− ο,
17+ ( ο
18+ ),
16 π.licenses = ρ,
19 π.licenses = ρ,
17 π.mapAttrs =
20 π.mapAttrs =
18 (β -> α -> γ) ->
21 (β -> α -> γ) ->
test/golden/importless/lift.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/linux-4.14.txt+11−8
@@ -1,11 +1,14 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ.
1∀ α β γ δ ε ζ η θ ι κ λ μ.
2−( α //
2+( ( α
3+ ) //
3− { extraMeta = {branch = β;};
4+ ( { extraMeta = {branch = β;};
4− modDirVersion = Null;
5+ modDirVersion = Null;
5− src = γ;
6+ src = γ;
6− version = String;
7+ version = String;
7− } ~
8+ }
9+ ) ~
8− δ,
10+ ( δ
11+ ),
9 α.?argsOverride = {},
12 α.?argsOverride = {},
10 α.?modDirVersionArg = Null,
13 α.?modDirVersionArg = Null,
11 α.buildLinux = δ -> ε,
14 α.buildLinux = δ -> ε,
@@ -16,7 +19,7 @@
16 θ.lib = ι,
19 θ.lib = ι,
17 ι.concatStringsSep = String -> κ -> Null,
20 ι.concatStringsSep = String -> κ -> Null,
18 ι.splitVersion = String -> λ,
21 ι.splitVersion = String -> λ,
19− ι.take = Number -> λ -> κ,
22+ ι.take = Integer -> λ -> κ,
20 ι.versions = μ,
23 ι.versions = μ,
21 μ.majorMinor = String -> β
24 μ.majorMinor = String -> β
22) =>
25) =>
test/golden/importless/linux-4.19.txt+11−8
@@ -1,11 +1,14 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ.
1∀ α β γ δ ε ζ η θ ι κ λ μ.
2−( α //
2+( ( α
3+ ) //
3− { extraMeta = {branch = β;};
4+ ( { extraMeta = {branch = β;};
4− modDirVersion = Null;
5+ modDirVersion = Null;
5− src = γ;
6+ src = γ;
6− version = String;
7+ version = String;
7− } ~
8+ }
9+ ) ~
8− δ,
10+ ( δ
11+ ),
9 α.?argsOverride = {},
12 α.?argsOverride = {},
10 α.?modDirVersionArg = Null,
13 α.?modDirVersionArg = Null,
11 α.buildLinux = δ -> ε,
14 α.buildLinux = δ -> ε,
@@ -16,7 +19,7 @@
16 θ.lib = ι,
19 θ.lib = ι,
17 ι.concatStringsSep = String -> κ -> Null,
20 ι.concatStringsSep = String -> κ -> Null,
18 ι.splitVersion = String -> λ,
21 ι.splitVersion = String -> λ,
19− ι.take = Number -> λ -> κ,
22+ ι.take = Integer -> λ -> κ,
20 ι.versions = μ,
23 ι.versions = μ,
21 μ.majorMinor = String -> β
24 μ.majorMinor = String -> β
22) =>
25) =>
test/golden/importless/linux-4.4.txt+1−1
@@ -1,5 +1,5 @@
1∀ α β γ δ ε ζ η.
1∀ α β γ δ ε ζ η.
2−( α // {extraMeta = {branch = String;}; src = β; version = String;} ~ γ,
2+( (α) // ({extraMeta = {branch = String;}; src = β; version = String;}) ~ (γ),
3 α.?argsOverride = {},
3 α.?argsOverride = {},
4 α.buildLinux = γ -> δ,
4 α.buildLinux = γ -> δ,
5 α.buildPackages = ε,
5 α.buildPackages = ε,
test/golden/importless/linux-4.9.txt+1−1
@@ -1,5 +1,5 @@
1∀ α β γ δ ε ζ η.
1∀ α β γ δ ε ζ η.
2−( α // {extraMeta = {branch = String;}; src = β; version = String;} ~ γ,
2+( (α) // ({extraMeta = {branch = String;}; src = β; version = String;}) ~ (γ),
3 α.?argsOverride = {},
3 α.?argsOverride = {},
4 α.buildLinux = γ -> δ,
4 α.buildLinux = γ -> δ,
5 α.buildPackages = ε,
5 α.buildPackages = ε,
test/golden/importless/linux-5.4.txt+11−8
@@ -1,11 +1,14 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ.
1∀ α β γ δ ε ζ η θ ι κ λ μ.
2−( α //
2+( ( α
3+ ) //
3− { extraMeta = {branch = β;};
4+ ( { extraMeta = {branch = β;};
4− modDirVersion = Null;
5+ modDirVersion = Null;
5− src = γ;
6+ src = γ;
6− version = String;
7+ version = String;
7− } ~
8+ }
9+ ) ~
8− δ,
10+ ( δ
11+ ),
9 α.?argsOverride = {},
12 α.?argsOverride = {},
10 α.?modDirVersionArg = Null,
13 α.?modDirVersionArg = Null,
11 α.buildLinux = δ -> ε,
14 α.buildLinux = δ -> ε,
@@ -16,7 +19,7 @@
16 θ.lib = ι,
19 θ.lib = ι,
17 ι.concatStringsSep = String -> κ -> Null,
20 ι.concatStringsSep = String -> κ -> Null,
18 ι.splitVersion = String -> λ,
21 ι.splitVersion = String -> λ,
19− ι.take = Number -> λ -> κ,
22+ ι.take = Integer -> λ -> κ,
20 ι.versions = μ,
23 ι.versions = μ,
21 μ.majorMinor = String -> β
24 μ.majorMinor = String -> β
22) =>
25) =>
test/golden/importless/linux-5.8.txt+11−8
@@ -1,11 +1,14 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ.
1∀ α β γ δ ε ζ η θ ι κ λ μ.
2−( α //
2+( ( α
3+ ) //
3− { extraMeta = {branch = β;};
4+ ( { extraMeta = {branch = β;};
4− modDirVersion = Null;
5+ modDirVersion = Null;
5− src = γ;
6+ src = γ;
6− version = String;
7+ version = String;
7− } ~
8+ }
9+ ) ~
8− δ,
10+ ( δ
11+ ),
9 α.?argsOverride = {},
12 α.?argsOverride = {},
10 α.?modDirVersionArg = Null,
13 α.?modDirVersionArg = Null,
11 α.buildLinux = δ -> ε,
14 α.buildLinux = δ -> ε,
@@ -16,7 +19,7 @@
16 θ.lib = ι,
19 θ.lib = ι,
17 ι.concatStringsSep = String -> κ -> Null,
20 ι.concatStringsSep = String -> κ -> Null,
18 ι.splitVersion = String -> λ,
21 ι.splitVersion = String -> λ,
19− ι.take = Number -> λ -> κ,
22+ ι.take = Integer -> λ -> κ,
20 ι.versions = μ,
23 ι.versions = μ,
21 μ.majorMinor = String -> β
24 μ.majorMinor = String -> β
22) =>
25) =>
test/golden/importless/linux-5.9.txt+11−8
@@ -1,11 +1,14 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ.
1∀ α β γ δ ε ζ η θ ι κ λ μ.
2−( α //
2+( ( α
3+ ) //
3− { extraMeta = {branch = β;};
4+ ( { extraMeta = {branch = β;};
4− modDirVersion = Null;
5+ modDirVersion = Null;
5− src = γ;
6+ src = γ;
6− version = String;
7+ version = String;
7− } ~
8+ }
9+ ) ~
8− δ,
10+ ( δ
11+ ),
9 α.?argsOverride = {},
12 α.?argsOverride = {},
10 α.?modDirVersionArg = Null,
13 α.?modDirVersionArg = Null,
11 α.buildLinux = δ -> ε,
14 α.buildLinux = δ -> ε,
@@ -16,7 +19,7 @@
16 θ.lib = ι,
19 θ.lib = ι,
17 ι.concatStringsSep = String -> κ -> Null,
20 ι.concatStringsSep = String -> κ -> Null,
18 ι.splitVersion = String -> λ,
21 ι.splitVersion = String -> λ,
19− ι.take = Number -> λ -> κ,
22+ ι.take = Integer -> λ -> κ,
20 ι.versions = μ,
23 ι.versions = μ,
21 μ.majorMinor = String -> β
24 μ.majorMinor = String -> β
22) =>
25) =>
test/golden/importless/linux-hardkernel-4.14.txt+12−9
@@ -1,13 +1,16 @@
1∀ α β γ δ ε ζ η θ ι.
1∀ α β γ δ ε ζ η θ ι.
2−( α //
2+( ( α
3+ ) //
3− { defconfig = String;
4+ ( { defconfig = String;
4− extraConfig = String;
5+ extraConfig = String;
5− extraMeta = {branch = String; platforms = [String];};
6+ extraMeta = {branch = String; platforms = [String];};
6− modDirVersion = String;
7+ modDirVersion = String;
7− src = β;
8+ src = β;
8− version = String;
9+ version = String;
9− } ~
10+ }
11+ ) ~
10− γ,
12+ ( γ
13+ ),
11 α.?argsOverride = {},
14 α.?argsOverride = {},
12 α.?extraConfig = String,
15 α.?extraConfig = String,
13 α.buildLinux = γ -> δ,
16 α.buildLinux = γ -> δ,
test/golden/importless/linux-testing-bcachefs.txt+16−13
@@ -1,17 +1,20 @@
1∀ β γ δ ε ζ η θ ι κ λ μ.
1∀ β γ δ ε ζ η θ ι κ λ μ.
2−( β //
2+( ( β
3+ ) //
3− { extraConfig = String;
4+ ( { extraConfig = String;
4− extraMeta =
5+ extraMeta =
5− { branch = String;
6+ { branch = String;
6− hydraPlatforms = ∀ α. [α];
7+ hydraPlatforms = ∀ α. α;
7− maintainers = [γ];
8+ maintainers = [γ];
8− platforms = [String];
9+ platforms = [String];
9− };
10+ };
10− modDirVersion = String;
11+ modDirVersion = String;
11− src = δ;
12+ src = δ;
12− version = String;
13+ version = String;
13− } ~
14+ }
15+ ) ~
14− ε,
16+ ( ε
17+ ),
15 β.?argsOverride = {},
18 β.?argsOverride = {},
16 β.buildLinux = ε -> ζ,
19 β.buildLinux = ε -> ζ,
17 β.buildPackages = η,
20 β.buildPackages = η,
test/golden/importless/linux-testing.txtnew file+23
@@ -0,0 +1,23 @@
1+∀ β γ δ ε ζ η θ ι κ.
2+( ( β
3+ ) //
4+ ( { extraMeta = {branch = String; hydraPlatforms = ∀ α. α;};
5+ modDirVersion = Null;
6+ src = γ;
7+ version = String;
8+ }
9+ ) ~
10+ ( δ
11+ ),
12+ β.?argsOverride = {},
13+ β.?modDirVersionArg = Null,
14+ β.buildLinux = δ -> ε,
15+ β.buildPackages = ζ,
16+ β.fetchurl = {sha256 = String; url = String;} -> γ,
17+ β.perl = η,
18+ β.stdenv = θ,
19+ θ.lib = ι,
20+ ι.builtins = κ,
21+ κ.replaceStrings = [String] -> [String] -> String -> Null
22+) =>
23+β -> ε
test/golden/importless/linux-zen.txt+11−8
@@ -1,12 +1,15 @@
1∀ α β γ δ ε ζ η θ.
1∀ α β γ δ ε ζ η θ.
2−( α //
2+( ( α
3+ ) //
3− { extraMeta = {branch = String; maintainers = [β];};
4+ ( { extraMeta = {branch = String; maintainers = [β];};
4− isZen = Bool;
5+ isZen = Bool;
5− modDirVersion = String;
6+ modDirVersion = String;
6− src = γ;
7+ src = γ;
7− version = String;
8+ version = String;
8− } ~
9+ }
10+ ) ~
9− δ,
11+ ( δ
12+ ),
10 α.?argsOverride = {},
13 α.?argsOverride = {},
11 α.buildLinux = δ -> ε,
14 α.buildLinux = δ -> ε,
12 α.fetchFromGitHub =
15 α.fetchFromGitHub =
test/golden/importless/linux.txt+1−1
@@ -2,7 +2,7 @@
2( α.pkgs = β,
2( α.pkgs = β,
3 β.isPy27 = Bool,
3 β.isPy27 = Bool,
4 γ.buildPythonPackage =
4 γ.buildPythonPackage =
5− { patches = [String];
5+ { patches = [Path];
6 pname = String;
6 pname = String;
7 postFixup = String;
7 postFixup = String;
8 postInstall = String;
8 postInstall = String;
test/golden/importless/liquidsoap.txtnew file+68
@@ -0,0 +1,68 @@
1+∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1 ζ1 η1 θ1 ι1 κ1
2+λ1 μ1 ν1 ξ1 ο1.
3+( α.config = β,
4+ α.lib = γ,
5+ α.pkgs = δ,
6+ β.ids = ε,
7+ β.services = ζ,
8+ γ.builtins = η,
9+ γ.literalExample = String -> θ,
10+ γ.map =
11+ ( ι ->
12+ { name = ι;
13+ value =
14+ { after = [String];
15+ description = String;
16+ path = [κ];
17+ serviceConfig =
18+ {ExecStart = String; LogsDirectory = String; User = String;};
19+ wantedBy = [String];
20+ };
21+ }
22+ ) ->
23+ λ -> μ,
24+ γ.mkIf =
25+ Bool ->
26+ { systemd = {services = ν;};
27+ users =
28+ { groups = {liquidsoap = {gid = ξ;};};
29+ users =
30+ { liquidsoap =
31+ { createHome = Bool;
32+ description = String;
33+ extraGroups = [String];
34+ group = String;
35+ home = String;
36+ uid = ο;
37+ };
38+ };
39+ };
40+ } ->
41+ π,
42+ γ.mkOption =
43+ { default = {};
44+ description = String;
45+ example = {myStream1 = θ; myStream2 = ρ; myStream3 = σ;};
46+ type = τ;
47+ } ->
48+ υ,
49+ γ.types = φ,
50+ δ.wget = κ,
51+ η.attrNames = χ -> λ,
52+ ζ.liquidsoap = ψ,
53+ ψ.streams = χ,
54+ ω.getAttr = ι -> α1 -> β1,
55+ γ1.liquidsoap = δ1,
56+ δ1.streams = α1,
57+ ε1.length = λ -> Integer,
58+ ζ1.listToAttrs = μ -> ν,
59+ ε.gids = η1,
60+ η1.liquidsoap = ξ,
61+ θ1.uids = ι1,
62+ ι1.liquidsoap = ο,
63+ φ.attrsOf = κ1 -> τ,
64+ λ1.either = μ1 -> ν1 -> κ1,
65+ ξ1.path = μ1,
66+ ο1.str = ν1
67+) =>
68+α -> {config = π; options = {services = {liquidsoap = {streams = υ;};};};}
test/golden/importless/lldb.txt+1−1
@@ -39,7 +39,7 @@
39 cmake = η;
39 cmake = η;
40 darwin = μ;
40 darwin = μ;
41 fetch = String -> String -> ι;
41 fetch = String -> String -> ι;
42− fetchpatch = {sha256 = String; stripLen = Number; url = String;} -> θ;
42+ fetchpatch = {sha256 = String; stripLen = Integer; url = String;} -> θ;
43 libedit = δ;
43 libedit = δ;
44 libxml2 = δ;
44 libxml2 = δ;
45 llvm = δ;
45 llvm = δ;
test/golden/importless/lldpd.txt+1−1
@@ -29,7 +29,7 @@
29 } ->
29 } ->
30 ν,
30 ν,
31 δ.mkOption =
31 δ.mkOption =
32− {default = ∀ α. [α]; description = String; example = [String]; type = ξ;} ->
32+ {default = ∀ α. α; description = String; example = [String]; type = ξ;} ->
33 ο,
33 ο,
34 δ.types = π,
34 δ.types = π,
35 ε.lldpd = λ,
35 ε.lldpd = λ,
test/golden/importless/locales.txt+2−2
@@ -2,10 +2,10 @@
2(α.lib = β, β.optionalString = Bool -> String -> String) => { allLocales = Bool;
2(α.lib = β, β.optionalString = Bool -> String -> String) => { allLocales = Bool;
3 buildPackages = γ;
3 buildPackages = γ;
4 callPackage =
4 callPackage =
5− String ->
5+ Path ->
6 {stdenv = α;} ->
6 {stdenv = α;} ->
7 { buildPhase = String;
7 { buildPhase = String;
8− builder = String;
8+ builder = Path;
9 installPhase = String;
9 installPhase = String;
10 meta = {description = String;};
10 meta = {description = String;};
11 name = String;
11 name = String;
test/golden/importless/ltc.txt+1−1
@@ -7,7 +7,7 @@
7 homepage = String;
7 homepage = String;
8 license = ε;
8 license = ε;
9 longDescription = String;
9 longDescription = String;
10− maintainers = ∀ α. [α];
10+ maintainers = ∀ α. α;
11 platforms = ζ;
11 platforms = ζ;
12 };
12 };
13 nativeBuildInputs = [η];
13 nativeBuildInputs = [η];
test/golden/importless/luarocks-nix.txt+1−1
@@ -1,6 +1,6 @@
1∀ α β γ δ.
1∀ α β γ δ.
2( α.overrideAttrs =
2( α.overrideAttrs =
3− (β -> {patches = [String]; pname = String; src = γ; version = String;}) -> δ
3+ (β -> {patches = [Path]; pname = String; src = γ; version = String;}) -> δ
4) =>
4) =>
5{ fetchFromGitHub =
5{ fetchFromGitHub =
6 {owner = String; repo = String; rev = String; sha256 = String;} -> γ;
6 {owner = String; repo = String; rev = String; sha256 = String;} -> γ;
test/golden/importless/m32edit.txt+12−9
@@ -1,12 +1,15 @@
1∀ α β γ.
1∀ α β γ.
2−( α //
2+( ( α
3+ ) //
3− { brand = String;
4+ ( { brand = String;
4− homepage = String;
5+ homepage = String;
5− sha256 = String;
6+ sha256 = String;
6− type = String;
7+ type = String;
7− version = String;
8+ version = String;
8− } ~
9+ }
10+ ) ~
9− β,
11+ ( β
12+ ),
10− α.callPackage = String -> β -> γ
13+ α.callPackage = Path -> β -> γ
11) =>
14) =>
12α -> γ
15α -> γ
test/golden/importless/machine.txt+1−1
@@ -4,7 +4,7 @@
4 { config =
4 { config =
5 { packageOverrides =
5 { packageOverrides =
6 ∀ α β.
6 ∀ α β.
7− (α.callPackage = String -> {} -> β) => α ->
7+ (α.callPackage = Path -> {} -> β) => α ->
8 {hello-world-container = β;};
8 {hello-world-container = β;};
9 };
9 };
10 };
10 };
test/golden/importless/macport.txt+1−1
@@ -21,7 +21,7 @@
21 };
21 };
22 name = String;
22 name = String;
23 nativeBuildInputs = [θ];
23 nativeBuildInputs = [θ];
24− patches = [String];
24+ patches = [Path];
25 pname = String;
25 pname = String;
26 postInstall = String;
26 postInstall = String;
27 postPatch = String;
27 postPatch = String;
test/golden/importless/macvim.txt+2−2
@@ -7,13 +7,13 @@
7 meta =
7 meta =
8 { description = String;
8 { description = String;
9 homepage = String;
9 homepage = String;
10− hydraPlatforms = ∀ α. [α];
10+ hydraPlatforms = ∀ α. α;
11 license = ε;
11 license = ε;
12 maintainers = [ζ];
12 maintainers = [ζ];
13 platforms = η;
13 platforms = η;
14 };
14 };
15 nativeBuildInputs = [θ];
15 nativeBuildInputs = [θ];
16− patches = [String];
16+ patches = [Path];
17 pname = String;
17 pname = String;
18 postConfigure = String;
18 postConfigure = String;
19 postInstall = String;
19 postInstall = String;
test/golden/importless/mail-exporter.txt+1−1
@@ -11,7 +11,7 @@
11 δ.mail = λ
11 δ.mail = λ
12) =>
12) =>
13{ buildGoPackage =
13{ buildGoPackage =
14− { goDeps = String;
14+ { goDeps = Path;
15 goPackagePath = String;
15 goPackagePath = String;
16 meta =
16 meta =
17 { description = String;
17 { description = String;
test/golden/importless/mailpile.txt+1−1
@@ -19,7 +19,7 @@
19 { ExecStart = String;
19 { ExecStart = String;
20 KillMode = String;
20 KillMode = String;
21 KillSignal = String;
21 KillSignal = String;
22− TimeoutSec = Number;
22+ TimeoutSec = Integer;
23 User = String;
23 User = String;
24 };
24 };
25 wantedBy = [String];
25 wantedBy = [String];
test/golden/importless/mainline.txt+2−3
@@ -1,4 +1,3 @@
1∀ α β.
1∀ α β.
2−( α.callPackage = String -> α -> {sha256 = String; version = String;} -> β
2+(α.callPackage = Path -> α -> {sha256 = String; version = String;} -> β) => α ->
3−) =>
4−α -> β
3+β
test/golden/importless/maintainer-list.txt+1705−1490
@@ -1,3003 +1,3218 @@
1{ Adjective-Object =
1{ Adjective-Object =
2− {email = String; github = String; githubId = Number; name = String;};
2+ {email = String; github = String; githubId = Integer; name = String;};
3 AluisioASG =
3 AluisioASG =
4 { email = String;
4 { email = String;
5 github = String;
5 github = String;
6− githubId = Number;
6+ githubId = Integer;
7 keys = [{fingerprint = String; longkeyid = String;}];
7 keys = [{fingerprint = String; longkeyid = String;}];
8 name = String;
8 name = String;
9 };
9 };
10 AndersonTorres =
10 AndersonTorres =
11− {email = String; github = String; githubId = Number; name = String;};
11+ {email = String; github = String; githubId = Integer; name = String;};
12 Anton-Latukha =
12 Anton-Latukha =
13− {email = String; github = String; githubId = Number; name = String;};
13+ {email = String; github = String; githubId = Integer; name = String;};
14+ Baughn =
14− Baughn = {email = String; github = String; githubId = Number; name = String;};
15+ {email = String; github = String; githubId = Integer; name = String;};
15 CRTified =
16 CRTified =
16 { email = String;
17 { email = String;
17 github = String;
18 github = String;
18− githubId = Number;
19+ githubId = Integer;
19 keys = [{fingerprint = String; longkeyid = String;}];
20 keys = [{fingerprint = String; longkeyid = String;}];
20 name = String;
21 name = String;
21 };
22 };
22 CharlesHD =
23 CharlesHD =
23− {email = String; github = String; githubId = Number; name = String;};
24+ {email = String; github = String; githubId = Integer; name = String;};
24 ChengCat =
25 ChengCat =
25− {email = String; github = String; githubId = Number; name = String;};
26+ {email = String; github = String; githubId = Integer; name = String;};
26 Chili-Man =
27 Chili-Man =
27 { email = String;
28 { email = String;
28 github = String;
29 github = String;
29− githubId = Number;
30+ githubId = Integer;
30 keys = [{fingerprint = String; longkeyid = String;}];
31 keys = [{fingerprint = String; longkeyid = String;}];
31 name = String;
32 name = String;
32 };
33 };
33 CrazedProgrammer =
34 CrazedProgrammer =
34− {email = String; github = String; githubId = Number; name = String;};
35+ {email = String; github = String; githubId = Integer; name = String;};
35 CrystalGamma =
36 CrystalGamma =
36− {email = String; github = String; githubId = Number; name = String;};
37+ {email = String; github = String; githubId = Integer; name = String;};
37 DamienCassou =
38 DamienCassou =
38− {email = String; github = String; githubId = Number; name = String;};
39+ {email = String; github = String; githubId = Integer; name = String;};
39 DerGuteMoritz =
40 DerGuteMoritz =
40− {email = String; github = String; githubId = Number; name = String;};
41+ {email = String; github = String; githubId = Integer; name = String;};
41 DerTim1 =
42 DerTim1 =
42− {email = String; github = String; githubId = Number; name = String;};
43+ {email = String; github = String; githubId = Integer; name = String;};
43 Dje4321 =
44 Dje4321 =
44− {email = String; github = String; githubId = Number; name = String;};
45+ {email = String; github = String; githubId = Integer; name = String;};
45 DmitryTsygankov =
46 DmitryTsygankov =
46− {email = String; github = String; githubId = Number; name = String;};
47+ {email = String; github = String; githubId = Integer; name = String;};
48+ Enteee =
47− Enteee = {email = String; github = String; githubId = Number; name = String;};
49+ {email = String; github = String; githubId = Integer; name = String;};
48 Esteth = {email = String; name = String;};
50 Esteth = {email = String; name = String;};
49 FireyFly =
51 FireyFly =
50− {email = String; github = String; githubId = Number; name = String;};
52+ {email = String; github = String; githubId = Integer; name = String;};
51 Flakebi =
53 Flakebi =
52 { email = String;
54 { email = String;
53 github = String;
55 github = String;
54− githubId = Number;
56+ githubId = Integer;
55 keys = [{fingerprint = String; longkeyid = String;}];
57 keys = [{fingerprint = String; longkeyid = String;}];
56 name = String;
58 name = String;
57 };
59 };
58 FlorianFranzen =
60 FlorianFranzen =
59− {email = String; github = String; githubId = Number; name = String;};
61+ {email = String; github = String; githubId = Integer; name = String;};
60 Fresheyeball =
62 Fresheyeball =
61− {email = String; github = String; githubId = Number; name = String;};
63+ {email = String; github = String; githubId = Integer; name = String;};
62 Frostman =
64 Frostman =
63− {email = String; github = String; githubId = Number; name = String;};
65+ {email = String; github = String; githubId = Integer; name = String;};
66+ Gonzih =
64− Gonzih = {email = String; github = String; githubId = Number; name = String;};
67+ {email = String; github = String; githubId = Integer; name = String;};
65 GuillaumeDesforges =
68 GuillaumeDesforges =
66− {email = String; github = String; githubId = Number; name = String;};
69+ {email = String; github = String; githubId = Integer; name = String;};
67 HaoZeke =
70 HaoZeke =
68 { email = String;
71 { email = String;
69 github = String;
72 github = String;
70− githubId = Number;
73+ githubId = Integer;
71 keys = [{fingerprint = String; longkeyid = String;}];
74 keys = [{fingerprint = String; longkeyid = String;}];
72 name = String;
75 name = String;
73 };
76 };
74 KarlJoad =
77 KarlJoad =
75− {email = String; github = String; githubId = Number; name = String;};
78+ {email = String; github = String; githubId = Integer; name = String;};
76 KibaFox =
79 KibaFox =
77− {email = String; github = String; githubId = Number; name = String;};
80+ {email = String; github = String; githubId = Integer; name = String;};
78 Luflosi =
81 Luflosi =
79 { email = String;
82 { email = String;
80 github = String;
83 github = String;
81− githubId = Number;
84+ githubId = Integer;
82 keys = [{fingerprint = String; longkeyid = String;}];
85 keys = [{fingerprint = String; longkeyid = String;}];
83 name = String;
86 name = String;
84 };
87 };
85− MP2E = {email = String; github = String; githubId = Number; name = String;};
88+ MP2E = {email = String; github = String; githubId = Integer; name = String;};
86 McSinyx =
89 McSinyx =
87− {email = String; github = String; githubId = Number; name = String;};
90+ {email = String; github = String; githubId = Integer; name = String;};
91+ Mogria =
88− Mogria = {email = String; github = String; githubId = Number; name = String;};
92+ {email = String; github = String; githubId = Integer; name = String;};
89 MostAwesomeDude =
93 MostAwesomeDude =
90− {email = String; github = String; githubId = Number; name = String;};
94+ {email = String; github = String; githubId = Integer; name = String;};
91− MtP = {email = String; github = String; githubId = Number; name = String;};
95+ MtP = {email = String; github = String; githubId = Integer; name = String;};
92 Nate-Devv = {email = String; name = String;};
96 Nate-Devv = {email = String; name = String;};
93 NikolaMandic =
97 NikolaMandic =
94− {email = String; github = String; githubId = Number; name = String;};
98+ {email = String; github = String; githubId = Integer; name = String;};
95 OPNA2608 =
99 OPNA2608 =
96− {email = String; github = String; githubId = Number; name = String;};
100+ {email = String; github = String; githubId = Integer; name = String;};
97 Phlogistique =
101 Phlogistique =
98− {email = String; github = String; githubId = Number; name = String;};
102+ {email = String; github = String; githubId = Integer; name = String;};
99 Profpatsch =
103 Profpatsch =
100− {email = String; github = String; githubId = Number; name = String;};
104+ {email = String; github = String; githubId = Integer; name = String;};
101 RaghavSood =
105 RaghavSood =
102− {email = String; github = String; githubId = Number; name = String;};
106+ {email = String; github = String; githubId = Integer; name = String;};
103 SShrike =
107 SShrike =
104− {email = String; github = String; githubId = Number; name = String;};
108+ {email = String; github = String; githubId = Integer; name = String;};
105 Scriptkiddi =
109 Scriptkiddi =
106− {email = String; github = String; githubId = Number; name = String;};
110+ {email = String; github = String; githubId = Integer; name = String;};
107 SeanZicari =
111 SeanZicari =
108− {email = String; github = String; githubId = Number; name = String;};
112+ {email = String; github = String; githubId = Integer; name = String;};
109 ShamrockLee =
113 ShamrockLee =
110− {email = String; github = String; githubId = Number; name = String;};
114+ {email = String; github = String; githubId = Integer; name = String;};
111 SlothOfAnarchy =
115 SlothOfAnarchy =
112− {email = String; github = String; githubId = Number; name = String;};
116+ {email = String; github = String; githubId = Integer; name = String;};
113 StijnDW =
117 StijnDW =
114− {email = String; github = String; githubId = Number; name = String;};
118+ {email = String; github = String; githubId = Integer; name = String;};
115 StillerHarpo =
119 StillerHarpo =
116− {email = String; github = String; githubId = Number; name = String;};
120+ {email = String; github = String; githubId = Integer; name = String;};
117 SuperSandro2000 =
121 SuperSandro2000 =
118− {email = String; github = String; githubId = Number; name = String;};
122+ {email = String; github = String; githubId = Integer; name = String;};
119 SuprDewd =
123 SuprDewd =
120− {email = String; github = String; githubId = Number; name = String;};
124+ {email = String; github = String; githubId = Integer; name = String;};
121 TethysSvensson =
125 TethysSvensson =
122− {email = String; github = String; githubId = Number; name = String;};
126+ {email = String; github = String; githubId = Integer; name = String;};
123 TheBrainScrambler =
127 TheBrainScrambler =
124− {email = String; github = String; githubId = Number; name = String;};
128+ {email = String; github = String; githubId = Integer; name = String;};
125 ThomasMader =
129 ThomasMader =
126− {email = String; github = String; githubId = Number; name = String;};
130+ {email = String; github = String; githubId = Integer; name = String;};
131+ Thra11 =
127− Thra11 = {email = String; github = String; githubId = Number; name = String;};
132+ {email = String; github = String; githubId = Integer; name = String;};
128 WhittlesJr =
133 WhittlesJr =
129− {email = String; github = String; githubId = Number; name = String;};
134+ {email = String; github = String; githubId = Integer; name = String;};
130 Yumasi =
135 Yumasi =
131 { email = String;
136 { email = String;
132 github = String;
137 github = String;
133− githubId = Number;
138+ githubId = Integer;
134 keys = [{fingerprint = String; longkeyid = String;}];
139 keys = [{fingerprint = String; longkeyid = String;}];
135 name = String;
140 name = String;
136 };
141 };
137 Zimmi48 =
142 Zimmi48 =
138− {email = String; github = String; githubId = Number; name = String;};
143+ {email = String; github = String; githubId = Integer; name = String;};
139 _0x4A6F =
144 _0x4A6F =
140 { email = String;
145 { email = String;
141 github = String;
146 github = String;
142− githubId = Number;
147+ githubId = Integer;
143 keys = [{fingerprint = String; longkeyid = String;}];
148 keys = [{fingerprint = String; longkeyid = String;}];
144 name = String;
149 name = String;
145 };
150 };
146 _1000101 =
151 _1000101 =
147− {email = String; github = String; githubId = Number; name = String;};
152+ {email = String; github = String; githubId = Integer; name = String;};
148 a1russell =
153 a1russell =
149− {email = String; github = String; githubId = Number; name = String;};
154+ {email = String; github = String; githubId = Integer; name = String;};
150 aanderse =
155 aanderse =
151− {email = String; github = String; githubId = Number; name = String;};
156+ {email = String; github = String; githubId = Integer; name = String;};
152 aaronjanse =
157 aaronjanse =
153− {email = String; github = String; githubId = Number; name = String;};
158+ {email = String; github = String; githubId = Integer; name = String;};
154 aaronschif =
159 aaronschif =
155− {email = String; github = String; githubId = Number; name = String;};
160+ {email = String; github = String; githubId = Integer; name = String;};
156 abaldeau =
161 abaldeau =
157− {email = String; github = String; githubId = Number; name = String;};
162+ {email = String; github = String; githubId = Integer; name = String;};
158 abbe =
163 abbe =
159 { email = String;
164 { email = String;
160 github = String;
165 github = String;
161− githubId = Number;
166+ githubId = Integer;
162 keys = [{fingerprint = String; longkeyid = String;}];
167 keys = [{fingerprint = String; longkeyid = String;}];
163 name = String;
168 name = String;
164 };
169 };
165 abbradar =
170 abbradar =
166− {email = String; github = String; githubId = Number; name = String;};
171+ {email = String; github = String; githubId = Integer; name = String;};
167 abhi18av =
172 abhi18av =
168− {email = String; github = String; githubId = Number; name = String;};
173+ {email = String; github = String; githubId = Integer; name = String;};
169 abigailbuccaneer =
174 abigailbuccaneer =
170− {email = String; github = String; githubId = Number; name = String;};
175+ {email = String; github = String; githubId = Integer; name = String;};
176+ aborsu =
171− aborsu = {email = String; github = String; githubId = Number; name = String;};
177+ {email = String; github = String; githubId = Integer; name = String;};
172 aboseley =
178 aboseley =
173− {email = String; github = String; githubId = Number; name = String;};
179+ {email = String; github = String; githubId = Integer; name = String;};
174 abuibrahim =
180 abuibrahim =
175− {email = String; github = String; githubId = Number; name = String;};
181+ {email = String; github = String; githubId = Integer; name = String;};
176 acairncross =
182 acairncross =
177− {email = String; github = String; githubId = Number; name = String;};
183+ {email = String; github = String; githubId = Integer; name = String;};
178 aciceri =
184 aciceri =
179− {email = String; github = String; githubId = Number; name = String;};
185+ {email = String; github = String; githubId = Integer; name = String;};
180 acowley =
186 acowley =
181− {email = String; github = String; githubId = Number; name = String;};
187+ {email = String; github = String; githubId = Integer; name = String;};
182− adamt = {email = String; github = String; githubId = Number; name = String;};
188+ adamt = {email = String; github = String; githubId = Integer; name = String;};
183 adelbertc =
189 adelbertc =
184− {email = String; github = String; githubId = Number; name = String;};
190+ {email = String; github = String; githubId = Integer; name = String;};
185− adev = {email = String; github = String; githubId = Number; name = String;};
191+ adev = {email = String; github = String; githubId = Integer; name = String;};
186 adisbladis =
192 adisbladis =
187− {email = String; github = String; githubId = Number; name = String;};
193+ {email = String; github = String; githubId = Integer; name = String;};
188 adnelson =
194 adnelson =
189− {email = String; github = String; githubId = Number; name = String;};
195+ {email = String; github = String; githubId = Integer; name = String;};
190 adolfogc =
196 adolfogc =
191− {email = String; github = String; githubId = Number; name = String;};
197+ {email = String; github = String; githubId = Integer; name = String;};
192− adsr = {email = String; github = String; githubId = Number; name = String;};
198+ adsr = {email = String; github = String; githubId = Integer; name = String;};
193 aerialx =
199 aerialx =
194− {email = String; github = String; githubId = Number; name = String;};
200+ {email = String; github = String; githubId = Integer; name = String;};
195 aespinosa =
201 aespinosa =
196− {email = String; github = String; githubId = Number; name = String;};
202+ {email = String; github = String; githubId = Integer; name = String;};
197 aethelz =
203 aethelz =
198− {email = String; github = String; githubId = Number; name = String;};
204+ {email = String; github = String; githubId = Integer; name = String;};
199 aflatter =
205 aflatter =
200− {email = String; github = String; githubId = Number; name = String;};
206+ {email = String; github = String; githubId = Integer; name = String;};
207+ afldcr =
201− afldcr = {email = String; github = String; githubId = Number; name = String;};
208+ {email = String; github = String; githubId = Integer; name = String;};
202 aforemny =
209 aforemny =
203− {email = String; github = String; githubId = Number; name = String;};
210+ {email = String; github = String; githubId = Integer; name = String;};
204 afranchuk =
211 afranchuk =
205− {email = String; github = String; githubId = Number; name = String;};
212+ {email = String; github = String; githubId = Integer; name = String;};
206 aherrmann =
213 aherrmann =
207− {email = String; github = String; githubId = Number; name = String;};
214+ {email = String; github = String; githubId = Integer; name = String;};
208− ahrzb = {email = String; github = String; githubId = Number; name = String;};
215+ ahrzb = {email = String; github = String; githubId = Integer; name = String;};
216+ ahuzik =
209− ahuzik = {email = String; github = String; githubId = Number; name = String;};
217+ {email = String; github = String; githubId = Integer; name = String;};
210− aij = {email = String; github = String; githubId = Number; name = String;};
218+ aij = {email = String; github = String; githubId = Integer; name = String;};
211− ajgrf = {email = String; github = String; githubId = Number; name = String;};
219+ ajgrf = {email = String; github = String; githubId = Integer; name = String;};
220+ ajs124 =
212− ajs124 = {email = String; github = String; githubId = Number; name = String;};
221+ {email = String; github = String; githubId = Integer; name = String;};
213− ak = {email = String; github = String; githubId = Number; name = String;};
222+ ak = {email = String; github = String; githubId = Integer; name = String;};
214 akaWolf =
223 akaWolf =
215− {email = String; github = String; githubId = Number; name = String;};
224+ {email = String; github = String; githubId = Integer; name = String;};
216 akamaus =
225 akamaus =
217− {email = String; github = String; githubId = Number; name = String;};
226+ {email = String; github = String; githubId = Integer; name = String;};
227+ akavel =
218− akavel = {email = String; github = String; githubId = Number; name = String;};
228+ {email = String; github = String; githubId = Integer; name = String;};
219− akc = {email = String; github = String; githubId = Number; name = String;};
229+ akc = {email = String; github = String; githubId = Integer; name = String;};
220− akru = {email = String; github = String; githubId = Number; name = String;};
230+ akru = {email = String; github = String; githubId = Integer; name = String;};
221 albakham =
231 albakham =
222− {email = String; github = String; githubId = Number; name = String;};
232+ {email = String; github = String; githubId = Integer; name = String;};
223 alerque =
233 alerque =
224− {email = String; github = String; githubId = Number; name = String;};
234+ {email = String; github = String; githubId = Integer; name = String;};
225 alexarice =
235 alexarice =
226− {email = String; github = String; githubId = Number; name = String;};
236+ {email = String; github = String; githubId = Integer; name = String;};
227 alexbakker =
237 alexbakker =
228− {email = String; github = String; githubId = Number; name = String;};
238+ {email = String; github = String; githubId = Integer; name = String;};
229 alexbiehl =
239 alexbiehl =
230− {email = String; github = String; githubId = Number; name = String;};
240+ {email = String; github = String; githubId = Integer; name = String;};
231 alexchapman =
241 alexchapman =
232− {email = String; github = String; githubId = Number; name = String;};
242+ {email = String; github = String; githubId = Integer; name = String;};
233 alexfmpe =
243 alexfmpe =
234− {email = String; github = String; githubId = Number; name = String;};
244+ {email = String; github = String; githubId = Integer; name = String;};
235 alexvorobiev =
245 alexvorobiev =
236− {email = String; github = String; githubId = Number; name = String;};
246+ {email = String; github = String; githubId = Integer; name = String;};
237 algorith = {email = String; name = String;};
247 algorith = {email = String; name = String;};
238 alibabzo =
248 alibabzo =
239− {email = String; github = String; githubId = Number; name = String;};
249+ {email = String; github = String; githubId = Integer; name = String;};
240 alkeryn =
250 alkeryn =
241− {email = String; github = String; githubId = Number; name = String;};
251+ {email = String; github = String; githubId = Integer; name = String;};
242 all = {email = String; name = String;};
252 all = {email = String; name = String;};
243 allonsy =
253 allonsy =
244− {email = String; github = String; githubId = Number; name = String;};
254+ {email = String; github = String; githubId = Integer; name = String;};
245− almac = {email = String; github = String; githubId = Number; name = String;};
255+ almac = {email = String; github = String; githubId = Integer; name = String;};
246 alunduil =
256 alunduil =
247− {email = String; github = String; githubId = Number; name = String;};
257+ {email = String; github = String; githubId = Integer; name = String;};
248 alva =
258 alva =
249 { email = String;
259 { email = String;
250 github = String;
260 github = String;
251− githubId = Number;
261+ githubId = Integer;
252 keys = [{fingerprint = String; longkeyid = String;}];
262 keys = [{fingerprint = String; longkeyid = String;}];
253 name = String;
263 name = String;
254 };
264 };
255 amar1729 =
265 amar1729 =
256− {email = String; github = String; githubId = Number; name = String;};
266+ {email = String; github = String; githubId = Integer; name = String;};
257 ambrop72 =
267 ambrop72 =
258− {email = String; github = String; githubId = Number; name = String;};
268+ {email = String; github = String; githubId = Integer; name = String;};
259 amiddelk =
269 amiddelk =
260− {email = String; github = String; githubId = Number; name = String;};
270+ {email = String; github = String; githubId = Integer; name = String;};
261 amiloradovsky =
271 amiloradovsky =
262− {email = String; github = String; githubId = Number; name = String;};
272+ {email = String; github = String; githubId = Integer; name = String;};
263 aminechikhaoui =
273 aminechikhaoui =
264− {email = String; github = String; githubId = Number; name = String;};
274+ {email = String; github = String; githubId = Integer; name = String;};
265 amorsillo =
275 amorsillo =
266− {email = String; github = String; githubId = Number; name = String;};
276+ {email = String; github = String; githubId = Integer; name = String;};
267 andehen =
277 andehen =
268− {email = String; github = String; githubId = Number; name = String;};
278+ {email = String; github = String; githubId = Integer; name = String;};
269 andersk =
279 andersk =
270− {email = String; github = String; githubId = Number; name = String;};
280+ {email = String; github = String; githubId = Integer; name = String;};
271 anderslundstedt =
281 anderslundstedt =
272− {email = String; github = String; githubId = Number; name = String;};
282+ {email = String; github = String; githubId = Integer; name = String;};
273 anderspapitto =
283 anderspapitto =
274− {email = String; github = String; githubId = Number; name = String;};
284+ {email = String; github = String; githubId = Integer; name = String;};
275− andir = {email = String; github = String; githubId = Number; name = String;};
285+ andir = {email = String; github = String; githubId = Integer; name = String;};
276 andreabedini =
286 andreabedini =
277− {email = String; github = String; githubId = Number; name = String;};
287+ {email = String; github = String; githubId = Integer; name = String;};
288+ andres =
278− andres = {email = String; github = String; githubId = Number; name = String;};
289+ {email = String; github = String; githubId = Integer; name = String;};
279 andrestylianos =
290 andrestylianos =
280− {email = String; github = String; githubId = Number; name = String;};
291+ {email = String; github = String; githubId = Integer; name = String;};
281 andrew-d =
292 andrew-d =
282− {email = String; github = String; githubId = Number; name = String;};
293+ {email = String; github = String; githubId = Integer; name = String;};
283 andrewchambers =
294 andrewchambers =
284− {email = String; github = String; githubId = Number; name = String;};
295+ {email = String; github = String; githubId = Integer; name = String;};
285 andrewrk =
296 andrewrk =
286− {email = String; github = String; githubId = Number; name = String;};
297+ {email = String; github = String; githubId = Integer; name = String;};
287 andsild =
298 andsild =
288− {email = String; github = String; githubId = Number; name = String;};
299+ {email = String; github = String; githubId = Integer; name = String;};
289 aneeshusa =
300 aneeshusa =
290− {email = String; github = String; githubId = Number; name = String;};
301+ {email = String; github = String; githubId = Integer; name = String;};
291 angristan =
302 angristan =
292− {email = String; github = String; githubId = Number; name = String;};
303+ {email = String; github = String; githubId = Integer; name = String;};
293 ankhers =
304 ankhers =
294− {email = String; github = String; githubId = Number; name = String;};
305+ {email = String; github = String; githubId = Integer; name = String;};
295 anmonteiro =
306 anmonteiro =
296− {email = String; github = String; githubId = Number; name = String;};
307+ {email = String; github = String; githubId = Integer; name = String;};
297 anna328p =
308 anna328p =
298− {email = String; github = String; githubId = Number; name = String;};
309+ {email = String; github = String; githubId = Integer; name = String;};
310+ anpryl =
299− anpryl = {email = String; github = String; githubId = Number; name = String;};
311+ {email = String; github = String; githubId = Integer; name = String;};
300 antoinerg =
312 antoinerg =
301− {email = String; github = String; githubId = Number; name = String;};
313+ {email = String; github = String; githubId = Integer; name = String;};
302 anton-dessiatov =
314 anton-dessiatov =
303− {email = String; github = String; githubId = Number; name = String;};
315+ {email = String; github = String; githubId = Integer; name = String;};
316+ antono =
304− antono = {email = String; github = String; githubId = Number; name = String;};
317+ {email = String; github = String; githubId = Integer; name = String;};
305 antonxy =
318 antonxy =
306− {email = String; github = String; githubId = Number; name = String;};
319+ {email = String; github = String; githubId = Integer; name = String;};
307 apeschar =
320 apeschar =
308− {email = String; github = String; githubId = Number; name = String;};
321+ {email = String; github = String; githubId = Integer; name = String;};
309 apeyroux =
322 apeyroux =
310− {email = String; github = String; githubId = Number; name = String;};
323+ {email = String; github = String; githubId = Integer; name = String;};
311− ar1a = {email = String; github = String; githubId = Number; name = String;};
324+ ar1a = {email = String; github = String; githubId = Integer; name = String;};
312 arcadio =
325 arcadio =
313− {email = String; github = String; githubId = Number; name = String;};
326+ {email = String; github = String; githubId = Integer; name = String;};
327+ arcnmx =
314− arcnmx = {email = String; github = String; githubId = Number; name = String;};
328+ {email = String; github = String; githubId = Integer; name = String;};
315 ardumont =
329 ardumont =
316− {email = String; github = String; githubId = Number; name = String;};
330+ {email = String; github = String; githubId = Integer; name = String;};
317 arianvp =
331 arianvp =
318− {email = String; github = String; githubId = Number; name = String;};
332+ {email = String; github = String; githubId = Integer; name = String;};
319 aristid =
333 aristid =
320− {email = String; github = String; githubId = Number; name = String;};
334+ {email = String; github = String; githubId = Integer; name = String;};
321 ariutta =
335 ariutta =
322− {email = String; github = String; githubId = Number; name = String;};
336+ {email = String; github = String; githubId = Integer; name = String;};
337+ arnarg =
323− arnarg = {email = String; github = String; githubId = Number; name = String;};
338+ {email = String; github = String; githubId = Integer; name = String;};
324 arnoldfarkas =
339 arnoldfarkas =
325− {email = String; github = String; githubId = Number; name = String;};
340+ {email = String; github = String; githubId = Integer; name = String;};
341+ arobyn =
326− arobyn = {email = String; github = String; githubId = Number; name = String;};
342+ {email = String; github = String; githubId = Integer; name = String;};
327 artemist =
343 artemist =
328 { email = String;
344 { email = String;
329 github = String;
345 github = String;
330− githubId = Number;
346+ githubId = Integer;
331 keys = [{fingerprint = String; longkeyid = String;}];
347 keys = [{fingerprint = String; longkeyid = String;}];
332 name = String;
348 name = String;
333 };
349 };
350+ arthur =
334− arthur = {email = String; github = String; githubId = Number; name = String;};
351+ {email = String; github = String; githubId = Integer; name = String;};
335 artturin =
352 artturin =
336− {email = String; github = String; githubId = Number; name = String;};
353+ {email = String; github = String; githubId = Integer; name = String;};
337 arturcygan =
354 arturcygan =
338− {email = String; github = String; githubId = Number; name = String;};
355+ {email = String; github = String; githubId = Integer; name = String;};
339 artuuge =
356 artuuge =
340− {email = String; github = String; githubId = Number; name = String;};
357+ {email = String; github = String; githubId = Integer; name = String;};
341 asbachb =
358 asbachb =
342− {email = String; github = String; githubId = Number; name = String;};
359+ {email = String; github = String; githubId = Integer; name = String;};
343 ashalkhakov =
360 ashalkhakov =
344− {email = String; github = String; githubId = Number; name = String;};
361+ {email = String; github = String; githubId = Integer; name = String;};
345 ashgillman =
362 ashgillman =
346− {email = String; github = String; githubId = Number; name = String;};
363+ {email = String; github = String; githubId = Integer; name = String;};
347 ashkitten =
364 ashkitten =
348− {email = String; github = String; githubId = Number; name = String;};
365+ {email = String; github = String; githubId = Integer; name = String;};
349− aske = {email = String; github = String; githubId = Number; name = String;};
366+ aske = {email = String; github = String; githubId = Integer; name = String;};
367+ asppsa =
350− asppsa = {email = String; github = String; githubId = Number; name = String;};
368+ {email = String; github = String; githubId = Integer; name = String;};
351− astro = {email = String; github = String; githubId = Number; name = String;};
369+ astro = {email = String; github = String; githubId = Integer; name = String;};
352 astsmtl =
370 astsmtl =
353− {email = String; github = String; githubId = Number; name = String;};
371+ {email = String; github = String; githubId = Integer; name = String;};
354 asymmetric =
372 asymmetric =
355− {email = String; github = String; githubId = Number; name = String;};
373+ {email = String; github = String; githubId = Integer; name = String;};
374+ aszlig =
356− aszlig = {email = String; github = String; githubId = Number; name = String;};
375+ {email = String; github = String; githubId = Integer; name = String;};
357− atemu = {email = String; github = String; githubId = Number; name = String;};
376+ atemu = {email = String; github = String; githubId = Integer; name = String;};
358− athas = {email = String; github = String; githubId = Number; name = String;};
377+ athas = {email = String; github = String; githubId = Integer; name = String;};
359 atkinschang =
378 atkinschang =
360− {email = String; github = String; githubId = Number; name = String;};
379+ {email = String; github = String; githubId = Integer; name = String;};
361− atnnn = {email = String; github = String; githubId = Number; name = String;};
380+ atnnn = {email = String; github = String; githubId = Integer; name = String;};
381+ auntie =
362− auntie = {email = String; github = String; githubId = Number; name = String;};
382+ {email = String; github = String; githubId = Integer; name = String;};
363 austinbutler =
383 austinbutler =
364− {email = String; github = String; githubId = Number; name = String;};
384+ {email = String; github = String; githubId = Integer; name = String;};
365− avaq = {email = String; github = String; githubId = Number; name = String;};
385+ avaq = {email = String; github = String; githubId = Integer; name = String;};
366 averelld =
386 averelld =
367− {email = String; github = String; githubId = Number; name = String;};
387+ {email = String; github = String; githubId = Integer; name = String;};
368− avery = {email = String; github = String; githubId = Number; name = String;};
388+ avery = {email = String; github = String; githubId = Integer; name = String;};
369 avitex =
389 avitex =
370 { email = String;
390 { email = String;
371 github = String;
391 github = String;
372− githubId = Number;
392+ githubId = Integer;
373 keys = [{fingerprint = String; longkeyid = String;}];
393 keys = [{fingerprint = String; longkeyid = String;}];
374 name = String;
394 name = String;
375 };
395 };
376− avnik = {email = String; github = String; githubId = Number; name = String;};
396+ avnik = {email = String; github = String; githubId = Integer; name = String;};
377− aw = {email = String; github = String; githubId = Number; name = String;};
397+ aw = {email = String; github = String; githubId = Integer; name = String;};
378 aycanirican =
398 aycanirican =
379− {email = String; github = String; githubId = Number; name = String;};
399+ {email = String; github = String; githubId = Integer; name = String;};
380 b4dm4n =
400 b4dm4n =
381 { email = String;
401 { email = String;
382 github = String;
402 github = String;
383− githubId = Number;
403+ githubId = Integer;
384 keys = [{fingerprint = String; longkeyid = String;}];
404 keys = [{fingerprint = String; longkeyid = String;}];
385 name = String;
405 name = String;
386 };
406 };
387 babariviere =
407 babariviere =
388− {email = String; github = String; githubId = Number; name = String;};
408+ {email = String; github = String; githubId = Integer; name = String;};
389− bachp = {email = String; github = String; githubId = Number; name = String;};
409+ bachp = {email = String; github = String; githubId = Integer; name = String;};
390 backuitist =
410 backuitist =
391− {email = String; github = String; githubId = Number; name = String;};
411+ {email = String; github = String; githubId = Integer; name = String;};
392− badi = {email = String; github = String; githubId = Number; name = String;};
412+ badi = {email = String; github = String; githubId = Integer; name = String;};
393 balajisivaraman = {email = String; name = String;};
413 balajisivaraman = {email = String; name = String;};
394 balsoft =
414 balsoft =
395− {email = String; github = String; githubId = Number; name = String;};
415+ {email = String; github = String; githubId = Integer; name = String;};
396 bandresen =
416 bandresen =
397− {email = String; github = String; githubId = Number; name = String;};
417+ {email = String; github = String; githubId = Integer; name = String;};
398 baracoder =
418 baracoder =
399− {email = String; github = String; githubId = Number; name = String;};
419+ {email = String; github = String; githubId = Integer; name = String;};
400 barrucadu =
420 barrucadu =
401− {email = String; github = String; githubId = Number; name = String;};
421+ {email = String; github = String; githubId = Integer; name = String;};
402 basvandijk =
422 basvandijk =
403− {email = String; github = String; githubId = Number; name = String;};
423+ {email = String; github = String; githubId = Integer; name = String;};
424+ bb010g =
404− bb010g = {email = String; github = String; githubId = Number; name = String;};
425+ {email = String; github = String; githubId = Integer; name = String;};
405 bbarker =
426 bbarker =
406− {email = String; github = String; githubId = Number; name = String;};
427+ {email = String; github = String; githubId = Integer; name = String;};
407 bbigras =
428 bbigras =
408− {email = String; github = String; githubId = Number; name = String;};
429+ {email = String; github = String; githubId = Integer; name = String;};
409 bcarrell =
430 bcarrell =
410− {email = String; github = String; githubId = Number; name = String;};
431+ {email = String; github = String; githubId = Integer; name = String;};
411 bcdarwin =
432 bcdarwin =
412− {email = String; github = String; githubId = Number; name = String;};
433+ {email = String; github = String; githubId = Integer; name = String;};
413 bdesham =
434 bdesham =
414− {email = String; github = String; githubId = Number; name = String;};
435+ {email = String; github = String; githubId = Integer; name = String;};
415 bdimcheff =
436 bdimcheff =
416− {email = String; github = String; githubId = Number; name = String;};
437+ {email = String; github = String; githubId = Integer; name = String;};
417 bendlas =
438 bendlas =
418− {email = String; github = String; githubId = Number; name = String;};
439+ {email = String; github = String; githubId = Integer; name = String;};
440+ benley =
419− benley = {email = String; github = String; githubId = Number; name = String;};
441+ {email = String; github = String; githubId = Integer; name = String;};
420 bennofs =
442 bennofs =
421− {email = String; github = String; githubId = Number; name = String;};
443+ {email = String; github = String; githubId = Integer; name = String;};
444+ benpye =
422− benpye = {email = String; github = String; githubId = Number; name = String;};
445+ {email = String; github = String; githubId = Integer; name = String;};
423 benwbooth =
446 benwbooth =
424− {email = String; github = String; githubId = Number; name = String;};
447+ {email = String; github = String; githubId = Integer; name = String;};
425− berce = {email = String; github = String; githubId = Number; name = String;};
448+ berce = {email = String; github = String; githubId = Integer; name = String;};
426 berdario =
449 berdario =
427− {email = String; github = String; githubId = Number; name = String;};
450+ {email = String; github = String; githubId = Integer; name = String;};
451+ bergey =
428− bergey = {email = String; github = String; githubId = Number; name = String;};
452+ {email = String; github = String; githubId = Integer; name = String;};
429 betaboon =
453 betaboon =
430− {email = String; github = String; githubId = Number; name = String;};
454+ {email = String; github = String; githubId = Integer; name = String;};
455+ bfortz =
431− bfortz = {email = String; github = String; githubId = Number; name = String;};
456+ {email = String; github = String; githubId = Integer; name = String;};
432 bgamari =
457 bgamari =
433− {email = String; github = String; githubId = Number; name = String;};
458+ {email = String; github = String; githubId = Integer; name = String;};
434− bhall = {email = String; github = String; githubId = Number; name = String;};
459+ bhall = {email = String; github = String; githubId = Integer; name = String;};
435 bhipple =
460 bhipple =
436− {email = String; github = String; githubId = Number; name = String;};
461+ {email = String; github = String; githubId = Integer; name = String;};
437 bhougland =
462 bhougland =
438− {email = String; github = String; githubId = Number; name = String;};
463+ {email = String; github = String; githubId = Integer; name = String;};
439 binarin =
464 binarin =
440− {email = String; github = String; githubId = Number; name = String;};
465+ {email = String; github = String; githubId = Integer; name = String;};
441 bjg = {email = String; name = String;};
466 bjg = {email = String; name = String;};
442 bjornfor =
467 bjornfor =
443− {email = String; github = String; githubId = Number; name = String;};
468+ {email = String; github = String; githubId = Integer; name = String;};
444− bkchr = {email = String; github = String; githubId = Number; name = String;};
469+ bkchr = {email = String; github = String; githubId = Integer; name = String;};
445 blaggacao =
470 blaggacao =
446− {email = String; github = String; githubId = Number; name = String;};
471+ {email = String; github = String; githubId = Integer; name = String;};
447 blanky0230 =
472 blanky0230 =
448− {email = String; github = String; githubId = Number; name = String;};
473+ {email = String; github = String; githubId = Integer; name = String;};
449− blitz = {email = String; github = String; githubId = Number; name = String;};
474+ blitz = {email = String; github = String; githubId = Integer; name = String;};
450 bluescreen303 =
475 bluescreen303 =
451− {email = String; github = String; githubId = Number; name = String;};
476+ {email = String; github = String; githubId = Integer; name = String;};
452 bmilanov =
477 bmilanov =
453− {email = String; github = String; githubId = Number; name = String;};
478+ {email = String; github = String; githubId = Integer; name = String;};
454 bobakker =
479 bobakker =
455− {email = String; github = String; githubId = Number; name = String;};
480+ {email = String; github = String; githubId = Integer; name = String;};
456 bobvanderlinden =
481 bobvanderlinden =
457− {email = String; github = String; githubId = Number; name = String;};
482+ {email = String; github = String; githubId = Integer; name = String;};
458− bodil = {email = String; github = String; githubId = Number; name = String;};
483+ bodil = {email = String; github = String; githubId = Integer; name = String;};
459− boj = {email = String; github = String; githubId = Number; name = String;};
484+ boj = {email = String; github = String; githubId = Integer; name = String;};
460 boothead =
485 boothead =
461− {email = String; github = String; githubId = Number; name = String;};
486+ {email = String; github = String; githubId = Integer; name = String;};
462 borisbabic =
487 borisbabic =
463− {email = String; github = String; githubId = Number; name = String;};
488+ {email = String; github = String; githubId = Integer; name = String;};
464− bosu = {email = String; github = String; githubId = Number; name = String;};
489+ bosu = {email = String; github = String; githubId = Integer; name = String;};
465− bouk = {email = String; github = String; githubId = Number; name = String;};
490+ bouk = {email = String; github = String; githubId = Integer; name = String;};
466 bradediger =
491 bradediger =
467− {email = String; github = String; githubId = Number; name = String;};
492+ {email = String; github = String; githubId = Integer; name = String;};
468 brainrape =
493 brainrape =
469− {email = String; github = String; githubId = Number; name = String;};
494+ {email = String; github = String; githubId = Integer; name = String;};
470− bramd = {email = String; github = String; githubId = Number; name = String;};
495+ bramd = {email = String; github = String; githubId = Integer; name = String;};
471 braydenjw =
496 braydenjw =
472− {email = String; github = String; githubId = Number; name = String;};
497+ {email = String; github = String; githubId = Integer; name = String;};
473 breakds =
498 breakds =
474− {email = String; github = String; githubId = Number; name = String;};
499+ {email = String; github = String; githubId = Integer; name = String;};
475 brettlyons =
500 brettlyons =
476− {email = String; github = String; githubId = Number; name = String;};
501+ {email = String; github = String; githubId = Integer; name = String;};
477 brian-dawn =
502 brian-dawn =
478− {email = String; github = String; githubId = Number; name = String;};
503+ {email = String; github = String; githubId = Integer; name = String;};
479 brianhicks =
504 brianhicks =
480− {email = String; github = String; githubId = Number; name = String;};
505+ {email = String; github = String; githubId = Integer; name = String;};
481 bricewge =
506 bricewge =
482− {email = String; github = String; githubId = Number; name = String;};
507+ {email = String; github = String; githubId = Integer; name = String;};
508+ bstrik =
483− bstrik = {email = String; github = String; githubId = Number; name = String;};
509+ {email = String; github = String; githubId = Integer; name = String;};
484− btlvr = {email = String; github = String; githubId = Number; name = String;};
510+ btlvr = {email = String; github = String; githubId = Integer; name = String;};
511+ buffet =
485− buffet = {email = String; github = String; githubId = Number; name = String;};
512+ {email = String; github = String; githubId = Integer; name = String;};
486 bugworm =
513 bugworm =
487− {email = String; github = String; githubId = Number; name = String;};
514+ {email = String; github = String; githubId = Integer; name = String;};
515+ bzizou =
488− bzizou = {email = String; github = String; githubId = Number; name = String;};
516+ {email = String; github = String; githubId = Integer; name = String;};
489− c00w = {email = String; github = String; githubId = Number; name = String;};
517+ c00w = {email = String; github = String; githubId = Integer; name = String;};
518+ c0bw3b =
490− c0bw3b = {email = String; github = String; githubId = Number; name = String;};
519+ {email = String; github = String; githubId = Integer; name = String;};
491 c0deaddict =
520 c0deaddict =
492− {email = String; github = String; githubId = Number; name = String;};
521+ {email = String; github = String; githubId = Integer; name = String;};
522+ caadar =
493− caadar = {email = String; github = String; githubId = Number; name = String;};
523+ {email = String; github = String; githubId = Integer; name = String;};
494 cab404 =
524 cab404 =
495 { email = String;
525 { email = String;
496 github = String;
526 github = String;
497− githubId = Number;
527+ githubId = Integer;
498 keys = [{fingerprint = String; longkeyid = String;}];
528 keys = [{fingerprint = String; longkeyid = String;}];
499 name = String;
529 name = String;
500 };
530 };
501 calbrecht =
531 calbrecht =
502− {email = String; github = String; githubId = Number; name = String;};
532+ {email = String; github = String; githubId = Integer; name = String;};
503 callahad =
533 callahad =
504− {email = String; github = String; githubId = Number; name = String;};
534+ {email = String; github = String; githubId = Integer; name = String;};
505 calvertvl =
535 calvertvl =
506− {email = String; github = String; githubId = Number; name = String;};
536+ {email = String; github = String; githubId = Integer; name = String;};
507 campadrenalin =
537 campadrenalin =
508− {email = String; github = String; githubId = Number; name = String;};
538+ {email = String; github = String; githubId = Integer; name = String;};
509 candeira =
539 candeira =
510− {email = String; github = String; githubId = Number; name = String;};
540+ {email = String; github = String; githubId = Integer; name = String;};
511 canndrew =
541 canndrew =
512− {email = String; github = String; githubId = Number; name = String;};
542+ {email = String; github = String; githubId = Integer; name = String;};
513− cap = {email = String; github = String; githubId = Number; name = String;};
543+ cap = {email = String; github = String; githubId = Integer; name = String;};
514 carlosdagos =
544 carlosdagos =
515− {email = String; github = String; githubId = Number; name = String;};
545+ {email = String; github = String; githubId = Integer; name = String;};
516 carlsverre =
546 carlsverre =
517− {email = String; github = String; githubId = Number; name = String;};
547+ {email = String; github = String; githubId = Integer; name = String;};
518− cartr = {email = String; github = String; githubId = Number; name = String;};
548+ cartr = {email = String; github = String; githubId = Integer; name = String;};
519− casey = {email = String; github = String; githubId = Number; name = String;};
549+ casey = {email = String; github = String; githubId = Integer; name = String;};
550+ catern =
520− catern = {email = String; github = String; githubId = Number; name = String;};
551+ {email = String; github = String; githubId = Integer; name = String;};
521 caugner =
552 caugner =
522− {email = String; github = String; githubId = Number; name = String;};
553+ {email = String; github = String; githubId = Integer; name = String;};
523− cbley = {email = String; github = String; githubId = Number; name = String;};
554+ cbley = {email = String; github = String; githubId = Integer; name = String;};
524 ccellado =
555 ccellado =
525− {email = String; github = String; githubId = Number; name = String;};
556+ {email = String; github = String; githubId = Integer; name = String;};
526 cdepillabout =
557 cdepillabout =
527− {email = String; github = String; githubId = Number; name = String;};
558+ {email = String; github = String; githubId = Integer; name = String;};
528 ceedubs =
559 ceedubs =
529− {email = String; github = String; githubId = Number; name = String;};
560+ {email = String; github = String; githubId = Integer; name = String;};
530 cfouche =
561 cfouche =
531− {email = String; github = String; githubId = Number; name = String;};
562+ {email = String; github = String; githubId = Integer; name = String;};
563+ cfsmp3 =
532− cfsmp3 = {email = String; github = String; githubId = Number; name = String;};
564+ {email = String; github = String; githubId = Integer; name = String;};
533 cge =
565 cge =
534 { email = String;
566 { email = String;
535 github = String;
567 github = String;
536− githubId = Number;
568+ githubId = Integer;
537 keys = [{fingerprint = String; longkeyid = String;}];
569 keys = [{fingerprint = String; longkeyid = String;}];
538 name = String;
570 name = String;
539 };
571 };
540 chaduffy =
572 chaduffy =
541− {email = String; github = String; githubId = Number; name = String;};
573+ {email = String; github = String; githubId = Integer; name = String;};
542 changlinli =
574 changlinli =
543− {email = String; github = String; githubId = Number; name = String;};
575+ {email = String; github = String; githubId = Integer; name = String;};
544 chaoflow =
576 chaoflow =
545− {email = String; github = String; githubId = Number; name = String;};
577+ {email = String; github = String; githubId = Integer; name = String;};
546 chattered = {email = String; name = String;};
578 chattered = {email = String; name = String;};
547 chessai =
579 chessai =
548− {email = String; github = String; githubId = Number; name = String;};
580+ {email = String; github = String; githubId = Integer; name = String;};
549 chiiruno =
581 chiiruno =
550− {email = String; github = String; githubId = Number; name = String;};
582+ {email = String; github = String; githubId = Integer; name = String;};
551 chiroptical =
583 chiroptical =
552− {email = String; github = String; githubId = Number; name = String;};
584+ {email = String; github = String; githubId = Integer; name = String;};
553− chkno = {email = String; github = String; githubId = Number; name = String;};
585+ chkno = {email = String; github = String; githubId = Integer; name = String;};
554 choochootrain =
586 choochootrain =
555− {email = String; github = String; githubId = Number; name = String;};
587+ {email = String; github = String; githubId = Integer; name = String;};
556 chpatrick =
588 chpatrick =
557− {email = String; github = String; githubId = Number; name = String;};
589+ {email = String; github = String; githubId = Integer; name = String;};
558 chreekat =
590 chreekat =
559− {email = String; github = String; githubId = Number; name = String;};
591+ {email = String; github = String; githubId = Integer; name = String;};
560 chris-martin =
592 chris-martin =
561− {email = String; github = String; githubId = Number; name = String;};
593+ {email = String; github = String; githubId = Integer; name = String;};
562 chrisaw =
594 chrisaw =
563− {email = String; github = String; githubId = Number; name = String;};
595+ {email = String; github = String; githubId = Integer; name = String;};
564 chrisjefferson =
596 chrisjefferson =
565− {email = String; github = String; githubId = Number; name = String;};
597+ {email = String; github = String; githubId = Integer; name = String;};
566 chrisrosset =
598 chrisrosset =
567− {email = String; github = String; githubId = Number; name = String;};
599+ {email = String; github = String; githubId = Integer; name = String;};
568 christianharke =
600 christianharke =
569 { email = String;
601 { email = String;
570 github = String;
602 github = String;
571− githubId = Number;
603+ githubId = Integer;
572 keys = [{fingerprint = String; longkeyid = String;}];
604 keys = [{fingerprint = String; longkeyid = String;}];
573 name = String;
605 name = String;
574 };
606 };
575 christopherpoole =
607 christopherpoole =
576− {email = String; github = String; githubId = Number; name = String;};
608+ {email = String; github = String; githubId = Integer; name = String;};
577− ciil = {email = String; github = String; githubId = Number; name = String;};
609+ ciil = {email = String; github = String; githubId = Integer; name = String;};
578− cizra = {email = String; github = String; githubId = Number; name = String;};
610+ cizra = {email = String; github = String; githubId = Integer; name = String;};
579− ck3d = {email = String; github = String; githubId = Number; name = String;};
611+ ck3d = {email = String; github = String; githubId = Integer; name = String;};
580 ckauhaus =
612 ckauhaus =
581− {email = String; github = String; githubId = Number; name = String;};
613+ {email = String; github = String; githubId = Integer; name = String;};
582− cko = {email = String; github = String; githubId = Number; name = String;};
614+ cko = {email = String; github = String; githubId = Integer; name = String;};
615+ clacke =
583− clacke = {email = String; github = String; githubId = Number; name = String;};
616+ {email = String; github = String; githubId = Integer; name = String;};
584 cleverca22 =
617 cleverca22 =
585− {email = String; github = String; githubId = Number; name = String;};
618+ {email = String; github = String; githubId = Integer; name = String;};
619+ clkamp =
586− clkamp = {email = String; github = String; githubId = Number; name = String;};
620+ {email = String; github = String; githubId = Integer; name = String;};
587 cmacrae =
621 cmacrae =
588− {email = String; github = String; githubId = Number; name = String;};
622+ {email = String; github = String; githubId = Integer; name = String;};
589 cmcdragonkai =
623 cmcdragonkai =
590− {email = String; github = String; githubId = Number; name = String;};
624+ {email = String; github = String; githubId = Integer; name = String;};
625+ cmfwyp =
591− cmfwyp = {email = String; github = String; githubId = Number; name = String;};
626+ {email = String; github = String; githubId = Integer; name = String;};
627+ cobbal =
592− cobbal = {email = String; github = String; githubId = Number; name = String;};
628+ {email = String; github = String; githubId = Integer; name = String;};
593 coconnor =
629 coconnor =
594− {email = String; github = String; githubId = Number; name = String;};
630+ {email = String; github = String; githubId = Integer; name = String;};
595− codsl = {email = String; github = String; githubId = Number; name = String;};
631+ codsl = {email = String; github = String; githubId = Integer; name = String;};
596 codyopel =
632 codyopel =
597− {email = String; github = String; githubId = Number; name = String;};
633+ {email = String; github = String; githubId = Integer; name = String;};
598 cohencyril =
634 cohencyril =
599− {email = String; github = String; githubId = Number; name = String;};
635+ {email = String; github = String; githubId = Integer; name = String;};
600 cole-h =
636 cole-h =
601 { email = String;
637 { email = String;
602 github = String;
638 github = String;
603− githubId = Number;
639+ githubId = Integer;
604 keys = [{fingerprint = String; longkeyid = String;}];
640 keys = [{fingerprint = String; longkeyid = String;}];
605 name = String;
641 name = String;
606 };
642 };
607 colemickens =
643 colemickens =
608− {email = String; github = String; githubId = Number; name = String;};
644+ {email = String; github = String; githubId = Integer; name = String;};
609 colescott =
645 colescott =
610− {email = String; github = String; githubId = Number; name = String;};
646+ {email = String; github = String; githubId = Integer; name = String;};
611 conradmearns =
647 conradmearns =
612− {email = String; github = String; githubId = Number; name = String;};
648+ {email = String; github = String; githubId = Integer; name = String;};
613 contrun =
649 contrun =
614− {email = String; github = String; githubId = Number; name = String;};
650+ {email = String; github = String; githubId = Integer; name = String;};
615 copumpkin =
651 copumpkin =
616− {email = String; github = String; githubId = Number; name = String;};
652+ {email = String; github = String; githubId = Integer; name = String;};
617 corngood =
653 corngood =
618− {email = String; github = String; githubId = Number; name = String;};
654+ {email = String; github = String; githubId = Integer; name = String;};
619− coroa = {email = String; github = String; githubId = Number; name = String;};
655+ coroa = {email = String; github = String; githubId = Integer; name = String;};
620 costrouc =
656 costrouc =
621− {email = String; github = String; githubId = Number; name = String;};
657+ {email = String; github = String; githubId = Integer; name = String;};
622 couchemar =
658 couchemar =
623− {email = String; github = String; githubId = Number; name = String;};
659+ {email = String; github = String; githubId = Integer; name = String;};
660+ cpages =
624− cpages = {email = String; github = String; githubId = Number; name = String;};
661+ {email = String; github = String; githubId = Integer; name = String;};
625 cpcloud =
662 cpcloud =
626− {email = String; github = String; githubId = Number; name = String;};
663+ {email = String; github = String; githubId = Integer; name = String;};
627 cpu =
664 cpu =
628 { email = String;
665 { email = String;
629 github = String;
666 github = String;
630− githubId = Number;
667+ githubId = Integer;
631 keys = [{fingerprint = String; longkeyid = String;}];
668 keys = [{fingerprint = String; longkeyid = String;}];
632 name = String;
669 name = String;
633 };
670 };
634 craigem =
671 craigem =
635− {email = String; github = String; githubId = Number; name = String;};
672+ {email = String; github = String; githubId = Integer; name = String;};
636 cransom =
673 cransom =
637− {email = String; github = String; githubId = Number; name = String;};
674+ {email = String; github = String; githubId = Integer; name = String;};
638 cript0nauta =
675 cript0nauta =
639− {email = String; github = String; githubId = Number; name = String;};
676+ {email = String; github = String; githubId = Integer; name = String;};
640 cryptix =
677 cryptix =
641− {email = String; github = String; githubId = Number; name = String;};
678+ {email = String; github = String; githubId = Integer; name = String;};
642 csingley =
679 csingley =
643− {email = String; github = String; githubId = Number; name = String;};
680+ {email = String; github = String; githubId = Integer; name = String;};
644 cstrahan =
681 cstrahan =
645− {email = String; github = String; githubId = Number; name = String;};
682+ {email = String; github = String; githubId = Integer; name = String;};
683+ cswank =
646− cswank = {email = String; github = String; githubId = Number; name = String;};
684+ {email = String; github = String; githubId = Integer; name = String;};
647 cust0dian =
685 cust0dian =
648 { email = String;
686 { email = String;
649 github = String;
687 github = String;
650− githubId = Number;
688+ githubId = Integer;
651 keys = [{fingerprint = String; longkeyid = String;}];
689 keys = [{fingerprint = String; longkeyid = String;}];
652 name = String;
690 name = String;
653 };
691 };
654− cwoac = {email = String; github = String; githubId = Number; name = String;};
692+ cwoac = {email = String; github = String; githubId = Integer; name = String;};
655 cypherpunk2140 =
693 cypherpunk2140 =
656 { email = String;
694 { email = String;
657 github = String;
695 github = String;
658− githubId = Number;
696+ githubId = Integer;
659 keys = [{fingerprint = String; longkeyid = String;}];
697 keys = [{fingerprint = String; longkeyid = String;}];
660 name = String;
698 name = String;
661 };
699 };
662− cyplo = {email = String; github = String; githubId = Number; name = String;};
700+ cyplo = {email = String; github = String; githubId = Integer; name = String;};
663 d-goldin =
701 d-goldin =
664 { email = String;
702 { email = String;
665 github = String;
703 github = String;
666− githubId = Number;
704+ githubId = Integer;
667 keys = [{fingerprint = String; longkeyid = String;}];
705 keys = [{fingerprint = String; longkeyid = String;}];
668 name = String;
706 name = String;
669 };
707 };
670 dadada =
708 dadada =
671 { email = String;
709 { email = String;
672 github = String;
710 github = String;
673− githubId = Number;
711+ githubId = Integer;
674 keys = [{fingerprint = String; longkeyid = String;}];
712 keys = [{fingerprint = String; longkeyid = String;}];
675 name = String;
713 name = String;
676 };
714 };
677 dalance =
715 dalance =
678− {email = String; github = String; githubId = Number; name = String;};
716+ {email = String; github = String; githubId = Integer; name = String;};
717+ danbst =
679− danbst = {email = String; github = String; githubId = Number; name = String;};
718+ {email = String; github = String; githubId = Integer; name = String;};
719+ dancek =
680− dancek = {email = String; github = String; githubId = Number; name = String;};
720+ {email = String; github = String; githubId = Integer; name = String;};
681 dandellion =
721 dandellion =
682− {email = String; github = String; githubId = Number; name = String;};
722+ {email = String; github = String; githubId = Integer; name = String;};
683 danderson =
723 danderson =
684− {email = String; github = String; githubId = Number; name = String;};
724+ {email = String; github = String; githubId = Integer; name = String;};
685 danharaj =
725 danharaj =
686− {email = String; github = String; githubId = Number; name = String;};
726+ {email = String; github = String; githubId = Integer; name = String;};
687 danieldk =
727 danieldk =
688− {email = String; github = String; githubId = Number; name = String;};
728+ {email = String; github = String; githubId = Integer; name = String;};
689 danielfullmer =
729 danielfullmer =
690− {email = String; github = String; githubId = Number; name = String;};
730+ {email = String; github = String; githubId = Integer; name = String;};
691− das-g = {email = String; github = String; githubId = Number; name = String;};
731+ das-g = {email = String; github = String; githubId = Integer; name = String;};
692− das_j = {email = String; github = String; githubId = Number; name = String;};
732+ das_j = {email = String; github = String; githubId = Integer; name = String;};
733+ dasj19 =
693− dasj19 = {email = String; github = String; githubId = Number; name = String;};
734+ {email = String; github = String; githubId = Integer; name = String;};
694 dasuxullebt = {email = String; name = String;};
735 dasuxullebt = {email = String; name = String;};
695 davegallant =
736 davegallant =
696− {email = String; github = String; githubId = Number; name = String;};
737+ {email = String; github = String; githubId = Integer; name = String;};
697 david-sawatzke =
738 david-sawatzke =
698− {email = String; github = String; githubId = Number; name = String;};
739+ {email = String; github = String; githubId = Integer; name = String;};
699 david50407 =
740 david50407 =
700− {email = String; github = String; githubId = Number; name = String;};
741+ {email = String; github = String; githubId = Integer; name = String;};
701 davidak =
742 davidak =
702− {email = String; github = String; githubId = Number; name = String;};
743+ {email = String; github = String; githubId = Integer; name = String;};
703 davidrusu =
744 davidrusu =
704− {email = String; github = String; githubId = Number; name = String;};
745+ {email = String; github = String; githubId = Integer; name = String;};
705 davidtwco =
746 davidtwco =
706 { email = String;
747 { email = String;
707 github = String;
748 github = String;
708− githubId = Number;
749+ githubId = Integer;
709 keys = [{fingerprint = String; longkeyid = String;}];
750 keys = [{fingerprint = String; longkeyid = String;}];
710 name = String;
751 name = String;
711 };
752 };
753+ davorb =
712− davorb = {email = String; github = String; githubId = Number; name = String;};
754+ {email = String; github = String; githubId = Integer; name = String;};
713 dawidsowa =
755 dawidsowa =
714− {email = String; github = String; githubId = Number; name = String;};
756+ {email = String; github = String; githubId = Integer; name = String;};
715 dbohdan =
757 dbohdan =
716− {email = String; github = String; githubId = Number; name = String;};
758+ {email = String; github = String; githubId = Integer; name = String;};
759+ dbrock =
717− dbrock = {email = String; github = String; githubId = Number; name = String;};
760+ {email = String; github = String; githubId = Integer; name = String;};
718 ddelabru =
761 ddelabru =
719− {email = String; github = String; githubId = Number; name = String;};
762+ {email = String; github = String; githubId = Integer; name = String;};
720− dduan = {email = String; github = String; githubId = Number; name = String;};
763+ dduan = {email = String; github = String; githubId = Integer; name = String;};
721 deepfire =
764 deepfire =
722− {email = String; github = String; githubId = Number; name = String;};
765+ {email = String; github = String; githubId = Integer; name = String;};
723 deifactor =
766 deifactor =
724− {email = String; github = String; githubId = Number; name = String;};
767+ {email = String; github = String; githubId = Integer; name = String;};
725− delan = {email = String; github = String; githubId = Number; name = String;};
768+ delan = {email = String; github = String; githubId = Integer; name = String;};
726 delroth =
769 delroth =
727− {email = String; github = String; githubId = Number; name = String;};
770+ {email = String; github = String; githubId = Integer; name = String;};
728 deltaevo =
771 deltaevo =
729− {email = String; github = String; githubId = Number; name = String;};
772+ {email = String; github = String; githubId = Integer; name = String;};
730 demin-dmitriy =
773 demin-dmitriy =
731− {email = String; github = String; githubId = Number; name = String;};
774+ {email = String; github = String; githubId = Integer; name = String;};
775+ demize =
732− demize = {email = String; github = String; githubId = Number; name = String;};
776+ {email = String; github = String; githubId = Integer; name = String;};
733 demyanrogozhin =
777 demyanrogozhin =
734− {email = String; github = String; githubId = Number; name = String;};
778+ {email = String; github = String; githubId = Integer; name = String;};
735 derchris =
779 derchris =
736− {email = String; github = String; githubId = Number; name = String;};
780+ {email = String; github = String; githubId = Integer; name = String;};
737 dermetfan =
781 dermetfan =
738− {email = String; github = String; githubId = Number; name = String;};
782+ {email = String; github = String; githubId = Integer; name = String;};
739 desiderius =
783 desiderius =
740− {email = String; github = String; githubId = Number; name = String;};
784+ {email = String; github = String; githubId = Integer; name = String;};
741 devhell =
785 devhell =
742− {email = String; github = String; githubId = Number; name = String;};
786+ {email = String; github = String; githubId = Integer; name = String;};
787+ dezgeg =
743− dezgeg = {email = String; github = String; githubId = Number; name = String;};
788+ {email = String; github = String; githubId = Integer; name = String;};
744 dfordivam =
789 dfordivam =
745− {email = String; github = String; githubId = Number; name = String;};
790+ {email = String; github = String; githubId = Integer; name = String;};
746 dfoxfranke =
791 dfoxfranke =
747− {email = String; github = String; githubId = Number; name = String;};
792+ {email = String; github = String; githubId = Integer; name = String;};
748 dgonyeo =
793 dgonyeo =
749− {email = String; github = String; githubId = Number; name = String;};
794+ {email = String; github = String; githubId = Integer; name = String;};
750− dhkl = {email = String; github = String; githubId = Number; name = String;};
795+ dhkl = {email = String; github = String; githubId = Integer; name = String;};
751 dipinhora =
796 dipinhora =
752− {email = String; github = String; githubId = Number; name = String;};
797+ {email = String; github = String; githubId = Integer; name = String;};
753− dirkx = {email = String; github = String; githubId = Number; name = String;};
798+ dirkx = {email = String; github = String; githubId = Integer; name = String;};
754 disassembler =
799 disassembler =
755− {email = String; github = String; githubId = Number; name = String;};
800+ {email = String; github = String; githubId = Integer; name = String;};
756 disserman =
801 disserman =
757− {email = String; github = String; githubId = Number; name = String;};
802+ {email = String; github = String; githubId = Integer; name = String;};
803+ dizfer =
758− dizfer = {email = String; github = String; githubId = Number; name = String;};
804+ {email = String; github = String; githubId = Integer; name = String;};
805+ dkabot =
759− dkabot = {email = String; github = String; githubId = Number; name = String;};
806+ {email = String; github = String; githubId = Integer; name = String;};
760 dmalikov =
807 dmalikov =
761− {email = String; github = String; githubId = Number; name = String;};
808+ {email = String; github = String; githubId = Integer; name = String;};
762− dmjio = {email = String; github = String; githubId = Number; name = String;};
809+ dmjio = {email = String; github = String; githubId = Integer; name = String;};
810+ dmrauh =
763− dmrauh = {email = String; github = String; githubId = Number; name = String;};
811+ {email = String; github = String; githubId = Integer; name = String;};
764 dmvianna =
812 dmvianna =
765− {email = String; github = String; githubId = Number; name = String;};
813+ {email = String; github = String; githubId = Integer; name = String;};
766 dochang =
814 dochang =
767− {email = String; github = String; githubId = Number; name = String;};
815+ {email = String; github = String; githubId = Integer; name = String;};
768 domenkozar =
816 domenkozar =
769− {email = String; github = String; githubId = Number; name = String;};
817+ {email = String; github = String; githubId = Integer; name = String;};
770 dominikh =
818 dominikh =
771− {email = String; github = String; githubId = Number; name = String;};
819+ {email = String; github = String; githubId = Integer; name = String;};
772 doronbehar =
820 doronbehar =
773− {email = String; github = String; githubId = Number; name = String;};
821+ {email = String; github = String; githubId = Integer; name = String;};
774 dotlambda =
822 dotlambda =
775− {email = String; github = String; githubId = Number; name = String;};
823+ {email = String; github = String; githubId = Integer; name = String;};
776 doublec =
824 doublec =
777− {email = String; github = String; githubId = Number; name = String;};
825+ {email = String; github = String; githubId = Integer; name = String;};
778 dpaetzel =
826 dpaetzel =
779− {email = String; github = String; githubId = Number; name = String;};
827+ {email = String; github = String; githubId = Integer; name = String;};
780 dpausp =
828 dpausp =
781 { email = String;
829 { email = String;
782 github = String;
830 github = String;
783− githubId = Number;
831+ githubId = Integer;
784 keys = [{fingerprint = String; longkeyid = String;}];
832 keys = [{fingerprint = String; longkeyid = String;}];
785 name = String;
833 name = String;
786 };
834 };
835+ dpflug =
787− dpflug = {email = String; github = String; githubId = Number; name = String;};
836+ {email = String; github = String; githubId = Integer; name = String;};
788 dramaturg =
837 dramaturg =
789− {email = String; github = String; githubId = Number; name = String;};
838+ {email = String; github = String; githubId = Integer; name = String;};
790− drets = {email = String; github = String; githubId = Number; name = String;};
839+ drets = {email = String; github = String; githubId = Integer; name = String;};
791 drewkett = {email = String; name = String;};
840 drewkett = {email = String; name = String;};
792 drewrisinger =
841 drewrisinger =
793− {email = String; github = String; githubId = Number; name = String;};
842+ {email = String; github = String; githubId = Integer; name = String;};
794 dsferruzza =
843 dsferruzza =
795− {email = String; github = String; githubId = Number; name = String;};
844+ {email = String; github = String; githubId = Integer; name = String;};
796 dtzWill =
845 dtzWill =
797 { email = String;
846 { email = String;
798 github = String;
847 github = String;
799− githubId = Number;
848+ githubId = Integer;
800 keys = [{fingerprint = String; longkeyid = String;}];
849 keys = [{fingerprint = String; longkeyid = String;}];
801 name = String;
850 name = String;
802 };
851 };
803 dump_stack =
852 dump_stack =
804 { email = String;
853 { email = String;
805 github = String;
854 github = String;
806− githubId = Number;
855+ githubId = Integer;
807 keys = [{fingerprint = String; longkeyid = String;}];
856 keys = [{fingerprint = String; longkeyid = String;}];
808 name = String;
857 name = String;
809 };
858 };
810 dwarfmaster =
859 dwarfmaster =
811− {email = String; github = String; githubId = Number; name = String;};
860+ {email = String; github = String; githubId = Integer; name = String;};
812− dxf = {email = String; github = String; githubId = Number; name = String;};
861+ dxf = {email = String; github = String; githubId = Integer; name = String;};
813 dysinger =
862 dysinger =
814− {email = String; github = String; githubId = Number; name = String;};
863+ {email = String; github = String; githubId = Integer; name = String;};
815 dywedir =
864 dywedir =
816− {email = String; github = String; githubId = Number; name = String;};
865+ {email = String; github = String; githubId = Integer; name = String;};
817 dzabraev =
866 dzabraev =
818− {email = String; github = String; githubId = Number; name = String;};
867+ {email = String; github = String; githubId = Integer; name = String;};
868+ e-user =
819− e-user = {email = String; github = String; githubId = Number; name = String;};
869+ {email = String; github = String; githubId = Integer; name = String;};
820− eadwu = {email = String; github = String; githubId = Number; name = String;};
870+ eadwu = {email = String; github = String; githubId = Integer; name = String;};
871+ ealasu =
821− ealasu = {email = String; github = String; githubId = Number; name = String;};
872+ {email = String; github = String; githubId = Integer; name = String;};
822 eamsden =
873 eamsden =
823− {email = String; github = String; githubId = Number; name = String;};
874+ {email = String; github = String; githubId = Integer; name = String;};
824 earldouglas =
875 earldouglas =
825− {email = String; github = String; githubId = Number; name = String;};
876+ {email = String; github = String; githubId = Integer; name = String;};
826 earvstedt =
877 earvstedt =
827− {email = String; github = String; githubId = Number; name = String;};
878+ {email = String; github = String; githubId = Integer; name = String;};
879+ ebzzry =
828− ebzzry = {email = String; github = String; githubId = Number; name = String;};
880+ {email = String; github = String; githubId = Integer; name = String;};
829 edanaher =
881 edanaher =
830− {email = String; github = String; githubId = Number; name = String;};
882+ {email = String; github = String; githubId = Integer; name = String;};
831− edef = {email = String; github = String; githubId = Number; name = String;};
883+ edef = {email = String; github = String; githubId = Integer; name = String;};
832 ederoyd46 =
884 ederoyd46 =
833− {email = String; github = String; githubId = Number; name = String;};
885+ {email = String; github = String; githubId = Integer; name = String;};
834 edibopp =
886 edibopp =
835− {email = String; github = String; githubId = Number; name = String;};
887+ {email = String; github = String; githubId = Integer; name = String;};
836 eduarrrd =
888 eduarrrd =
837− {email = String; github = String; githubId = Number; name = String;};
889+ {email = String; github = String; githubId = Integer; name = String;};
838 edude03 =
890 edude03 =
839− {email = String; github = String; githubId = Number; name = String;};
891+ {email = String; github = String; githubId = Integer; name = String;};
892+ edwtjo =
840− edwtjo = {email = String; github = String; githubId = Number; name = String;};
893+ {email = String; github = String; githubId = Integer; name = String;};
841− eelco = {email = String; github = String; githubId = Number; name = String;};
894+ eelco = {email = String; github = String; githubId = Integer; name = String;};
842 ehegnes =
895 ehegnes =
843− {email = String; github = String; githubId = Number; name = String;};
896+ {email = String; github = String; githubId = Integer; name = String;};
844− ehmry = {email = String; github = String; githubId = Number; name = String;};
897+ ehmry = {email = String; github = String; githubId = Integer; name = String;};
845− eikek = {email = String; github = String; githubId = Number; name = String;};
898+ eikek = {email = String; github = String; githubId = Integer; name = String;};
899+ ekleog =
846− ekleog = {email = String; github = String; githubId = Number; name = String;};
900+ {email = String; github = String; githubId = Integer; name = String;};
847 elasticdog =
901 elasticdog =
848− {email = String; github = String; githubId = Number; name = String;};
902+ {email = String; github = String; githubId = Integer; name = String;};
849 eleanor =
903 eleanor =
850− {email = String; github = String; githubId = Number; name = String;};
904+ {email = String; github = String; githubId = Integer; name = String;};
905+ eliasp =
851− eliasp = {email = String; github = String; githubId = Number; name = String;};
906+ {email = String; github = String; githubId = Integer; name = String;};
852 elijahcaine =
907 elijahcaine =
853− {email = String; github = String; githubId = Number; name = String;};
908+ {email = String; github = String; githubId = Integer; name = String;};
909+ elitak =
854− elitak = {email = String; github = String; githubId = Number; name = String;};
910+ {email = String; github = String; githubId = Integer; name = String;};
855 elkowar =
911 elkowar =
856− {email = String; github = String; githubId = Number; name = String;};
912+ {email = String; github = String; githubId = Integer; name = String;};
857 elliottvillars =
913 elliottvillars =
858− {email = String; github = String; githubId = Number; name = String;};
914+ {email = String; github = String; githubId = Integer; name = String;};
859− ellis = {email = String; github = String; githubId = Number; name = String;};
915+ ellis = {email = String; github = String; githubId = Integer; name = String;};
860 elohmeier =
916 elohmeier =
861− {email = String; github = String; githubId = Number; name = String;};
917+ {email = String; github = String; githubId = Integer; name = String;};
918+ elseym =
862− elseym = {email = String; github = String; githubId = Number; name = String;};
919+ {email = String; github = String; githubId = Integer; name = String;};
863 elvishjerricco =
920 elvishjerricco =
864− {email = String; github = String; githubId = Number; name = String;};
921+ {email = String; github = String; githubId = Integer; name = String;};
865 elyhaka =
922 elyhaka =
866− {email = String; github = String; githubId = Number; name = String;};
923+ {email = String; github = String; githubId = Integer; name = String;};
867 emantor =
924 emantor =
868− {email = String; github = String; githubId = Number; name = String;};
925+ {email = String; github = String; githubId = Integer; name = String;};
869− embr = {email = String; github = String; githubId = Number; name = String;};
926+ embr = {email = String; github = String; githubId = Integer; name = String;};
870− emily = {email = String; github = String; githubId = Number; name = String;};
927+ emily = {email = String; github = String; githubId = Integer; name = String;};
871 emmanuelrosa =
928 emmanuelrosa =
872− {email = String; github = String; githubId = Number; name = String;};
929+ {email = String; github = String; githubId = Integer; name = String;};
873 endgame =
930 endgame =
874− {email = String; github = String; githubId = Number; name = String;};
931+ {email = String; github = String; githubId = Integer; name = String;};
875 endocrimes =
932 endocrimes =
876− {email = String; github = String; githubId = Number; name = String;};
933+ {email = String; github = String; githubId = Integer; name = String;};
877 enorris =
934 enorris =
878− {email = String; github = String; githubId = Number; name = String;};
935+ {email = String; github = String; githubId = Integer; name = String;};
936+ enzime =
879− enzime = {email = String; github = String; githubId = Number; name = String;};
937+ {email = String; github = String; githubId = Integer; name = String;};
880 eonpatapon =
938 eonpatapon =
881− {email = String; github = String; githubId = Number; name = String;};
939+ {email = String; github = String; githubId = Integer; name = String;};
882 eperuffo =
940 eperuffo =
883− {email = String; github = String; githubId = Number; name = String;};
941+ {email = String; github = String; githubId = Integer; name = String;};
884 epitrochoid = {email = String; name = String;};
942 epitrochoid = {email = String; name = String;};
885 equirosa =
943 equirosa =
886− {email = String; github = String; githubId = Number; name = String;};
944+ {email = String; github = String; githubId = Integer; name = String;};
945+ eqyiel =
887− eqyiel = {email = String; github = String; githubId = Number; name = String;};
946+ {email = String; github = String; githubId = Integer; name = String;};
888 eraserhd =
947 eraserhd =
889− {email = String; github = String; githubId = Number; name = String;};
948+ {email = String; github = String; githubId = Integer; name = String;};
890 ericbmerritt =
949 ericbmerritt =
891− {email = String; github = String; githubId = Number; name = String;};
950+ {email = String; github = String; githubId = Integer; name = String;};
892 ericdallo =
951 ericdallo =
893− {email = String; github = String; githubId = Number; name = String;};
952+ {email = String; github = String; githubId = Integer; name = String;};
894 ericsagnes =
953 ericsagnes =
895− {email = String; github = String; githubId = Number; name = String;};
954+ {email = String; github = String; githubId = Integer; name = String;};
896 ericson2314 =
955 ericson2314 =
897− {email = String; github = String; githubId = Number; name = String;};
956+ {email = String; github = String; githubId = Integer; name = String;};
898 erictapen =
957 erictapen =
899 { email = String;
958 { email = String;
900 github = String;
959 github = String;
901− githubId = Number;
960+ githubId = Integer;
902 keys = [{fingerprint = String; longkeyid = String;}];
961 keys = [{fingerprint = String; longkeyid = String;}];
903 name = String;
962 name = String;
904 };
963 };
905 erikryb =
964 erikryb =
906− {email = String; github = String; githubId = Number; name = String;};
965+ {email = String; github = String; githubId = Integer; name = String;};
907 erosennin =
966 erosennin =
908− {email = String; github = String; githubId = Number; name = String;};
967+ {email = String; github = String; githubId = Integer; name = String;};
909− ersin = {email = String; github = String; githubId = Number; name = String;};
968+ ersin = {email = String; github = String; githubId = Integer; name = String;};
910− ertes = {email = String; github = String; githubId = Number; name = String;};
969+ ertes = {email = String; github = String; githubId = Integer; name = String;};
911 esclear =
970 esclear =
912− {email = String; github = String; githubId = Number; name = String;};
971+ {email = String; github = String; githubId = Integer; name = String;};
913 eskytthe =
972 eskytthe =
914− {email = String; github = String; githubId = Number; name = String;};
973+ {email = String; github = String; githubId = Integer; name = String;};
915 ethercrow =
974 ethercrow =
916− {email = String; github = String; githubId = Number; name = String;};
975+ {email = String; github = String; githubId = Integer; name = String;};
917 etu =
976 etu =
918 { email = String;
977 { email = String;
919 github = String;
978 github = String;
920− githubId = Number;
979+ githubId = Integer;
921 keys = [{fingerprint = String; longkeyid = String;}];
980 keys = [{fingerprint = String; longkeyid = String;}];
922 name = String;
981 name = String;
923 };
982 };
924− euank = {email = String; github = String; githubId = Number; name = String;};
983+ euank = {email = String; github = String; githubId = Integer; name = String;};
984+ evanjs =
925− evanjs = {email = String; github = String; githubId = Number; name = String;};
985+ {email = String; github = String; githubId = Integer; name = String;};
926− evck = {email = String; github = String; githubId = Number; name = String;};
986+ evck = {email = String; github = String; githubId = Integer; name = String;};
927 evenbrenden =
987 evenbrenden =
928− {email = String; github = String; githubId = Number; name = String;};
988+ {email = String; github = String; githubId = Integer; name = String;};
929− evils = {email = String; github = String; githubId = Number; name = String;};
989+ evils = {email = String; github = String; githubId = Integer; name = String;};
930 exfalso =
990 exfalso =
931− {email = String; github = String; githubId = Number; name = String;};
991+ {email = String; github = String; githubId = Integer; name = String;};
932− exi = {email = String; github = String; githubId = Number; name = String;};
992+ exi = {email = String; github = String; githubId = Integer; name = String;};
933 exlevan =
993 exlevan =
934− {email = String; github = String; githubId = Number; name = String;};
994+ {email = String; github = String; githubId = Integer; name = String;};
935 expipiplus1 =
995 expipiplus1 =
936− {email = String; github = String; githubId = Number; name = String;};
996+ {email = String; github = String; githubId = Integer; name = String;};
937 extends =
997 extends =
938− {email = String; github = String; githubId = Number; name = String;};
998+ {email = String; github = String; githubId = Integer; name = String;};
939− eyjhb = {email = String; github = String; githubId = Number; name = String;};
999+ eyjhb = {email = String; github = String; githubId = Integer; name = String;};
940− f--t = {email = String; github = String; githubId = Number; name = String;};
1000+ f--t = {email = String; github = String; githubId = Integer; name = String;};
1001+ f4814n =
941− f4814n = {email = String; github = String; githubId = Number; name = String;};
1002+ {email = String; github = String; githubId = Integer; name = String;};
942 fabianhauser =
1003 fabianhauser =
943 { email = String;
1004 { email = String;
944 github = String;
1005 github = String;
945− githubId = Number;
1006+ githubId = Integer;
946 keys = [{fingerprint = String; longkeyid = String;}];
1007 keys = [{fingerprint = String; longkeyid = String;}];
947 name = String;
1008 name = String;
948 };
1009 };
1010+ fadenb =
949− fadenb = {email = String; github = String; githubId = Number; name = String;};
1011+ {email = String; github = String; githubId = Integer; name = String;};
950 falsifian =
1012 falsifian =
951− {email = String; github = String; githubId = Number; name = String;};
1013+ {email = String; github = String; githubId = Integer; name = String;};
952− fare = {email = String; github = String; githubId = Number; name = String;};
1014+ fare = {email = String; github = String; githubId = Integer; name = String;};
953 farlion =
1015 farlion =
954− {email = String; github = String; githubId = Number; name = String;};
1016+ {email = String; github = String; githubId = Integer; name = String;};
955− fdns = {email = String; github = String; githubId = Number; name = String;};
1017+ fdns = {email = String; github = String; githubId = Integer; name = String;};
956 ffinkdevs =
1018 ffinkdevs =
957− {email = String; github = String; githubId = Number; name = String;};
1019+ {email = String; github = String; githubId = Integer; name = String;};
958− fgaz = {email = String; github = String; githubId = Number; name = String;};
1020+ fgaz = {email = String; github = String; githubId = Integer; name = String;};
959 filalex77 =
1021 filalex77 =
960 { email = String;
1022 { email = String;
961 github = String;
1023 github = String;
962− githubId = Number;
1024+ githubId = Integer;
963 keys = [{fingerprint = String; longkeyid = String;}];
1025 keys = [{fingerprint = String; longkeyid = String;}];
964 name = String;
1026 name = String;
965 };
1027 };
966 fionera =
1028 fionera =
967− {email = String; github = String; githubId = Number; name = String;};
1029+ {email = String; github = String; githubId = Integer; name = String;};
968 fishi0x01 =
1030 fishi0x01 =
969− {email = String; github = String; githubId = Number; name = String;};
1031+ {email = String; github = String; githubId = Integer; name = String;};
970− flexw = {email = String; github = String; githubId = Number; name = String;};
1032+ flexw = {email = String; github = String; githubId = Integer; name = String;};
1033+ flokli =
971− flokli = {email = String; github = String; githubId = Number; name = String;};
1034+ {email = String; github = String; githubId = Integer; name = String;};
972 florianjacob =
1035 florianjacob =
973− {email = String; github = String; githubId = Number; name = String;};
1036+ {email = String; github = String; githubId = Integer; name = String;};
1037+ flosse =
974− flosse = {email = String; github = String; githubId = Number; name = String;};
1038+ {email = String; github = String; githubId = Integer; name = String;};
975 fluffynukeit =
1039 fluffynukeit =
976− {email = String; github = String; githubId = Number; name = String;};
1040+ {email = String; github = String; githubId = Integer; name = String;};
977 flyfloh =
1041 flyfloh =
978− {email = String; github = String; githubId = Number; name = String;};
1042+ {email = String; github = String; githubId = Integer; name = String;};
979 fmthoma =
1043 fmthoma =
980− {email = String; github = String; githubId = Number; name = String;};
1044+ {email = String; github = String; githubId = Integer; name = String;};
1045+ fooker =
981− fooker = {email = String; github = String; githubId = Number; name = String;};
1046+ {email = String; github = String; githubId = Integer; name = String;};
982− forkk = {email = String; github = String; githubId = Number; name = String;};
1047+ forkk = {email = String; github = String; githubId = Integer; name = String;};
983 fornever =
1048 fornever =
984− {email = String; github = String; githubId = Number; name = String;};
1049+ {email = String; github = String; githubId = Integer; name = String;};
985 foxit64 =
1050 foxit64 =
986− {email = String; github = String; githubId = Number; name = String;};
1051+ {email = String; github = String; githubId = Integer; name = String;};
987 fpletz =
1052 fpletz =
988 { email = String;
1053 { email = String;
989 github = String;
1054 github = String;
990− githubId = Number;
1055+ githubId = Integer;
991 keys = [{fingerprint = String; longkeyid = String;}];
1056 keys = [{fingerprint = String; longkeyid = String;}];
992 name = String;
1057 name = String;
993 };
1058 };
994− fps = {email = String; github = String; githubId = Number; name = String;};
1059+ fps = {email = String; github = String; githubId = Integer; name = String;};
995 fragamus =
1060 fragamus =
996− {email = String; github = String; githubId = Number; name = String;};
1061+ {email = String; github = String; githubId = Integer; name = String;};
1062+ fredeb =
997− fredeb = {email = String; github = String; githubId = Number; name = String;};
1063+ {email = String; github = String; githubId = Integer; name = String;};
998 freepotion =
1064 freepotion =
999− {email = String; github = String; githubId = Number; name = String;};
1065+ {email = String; github = String; githubId = Integer; name = String;};
1000 freezeboy =
1066 freezeboy =
1001− {email = String; github = String; githubId = Number; name = String;};
1067+ {email = String; github = String; githubId = Integer; name = String;};
1002− fridh = {email = String; github = String; githubId = Number; name = String;};
1068+ fridh = {email = String; github = String; githubId = Integer; name = String;};
1003− frlan = {email = String; github = String; githubId = Number; name = String;};
1069+ frlan = {email = String; github = String; githubId = Integer; name = String;};
1004 fro_ozen =
1070 fro_ozen =
1005− {email = String; github = String; githubId = Number; name = String;};
1071+ {email = String; github = String; githubId = Integer; name = String;};
1006 frontsideair =
1072 frontsideair =
1007− {email = String; github = String; githubId = Number; name = String;};
1073+ {email = String; github = String; githubId = Integer; name = String;};
1008 ftrvxmtrx =
1074 ftrvxmtrx =
1009− {email = String; github = String; githubId = Number; name = String;};
1075+ {email = String; github = String; githubId = Integer; name = String;};
1010 fuerbringer =
1076 fuerbringer =
1011− {email = String; github = String; githubId = Number; name = String;};
1077+ {email = String; github = String; githubId = Integer; name = String;};
1012 funfunctor = {email = String; name = String;};
1078 funfunctor = {email = String; name = String;};
1013 fusion809 =
1079 fusion809 =
1014− {email = String; github = String; githubId = Number; name = String;};
1080+ {email = String; github = String; githubId = Integer; name = String;};
1015 fuuzetsu =
1081 fuuzetsu =
1016− {email = String; github = String; githubId = Number; name = String;};
1082+ {email = String; github = String; githubId = Integer; name = String;};
1017− fuwa = {email = String; github = String; githubId = Number; name = String;};
1083+ fuwa = {email = String; github = String; githubId = Integer; name = String;};
1018− fuzen = {email = String; github = String; githubId = Number; name = String;};
1084+ fuzen = {email = String; github = String; githubId = Integer; name = String;};
1019 fuzzy-id = {email = String; name = String;};
1085 fuzzy-id = {email = String; name = String;};
1020 fxfactorial =
1086 fxfactorial =
1021− {email = String; github = String; githubId = Number; name = String;};
1087+ {email = String; github = String; githubId = Integer; name = String;};
1022 fzakaria =
1088 fzakaria =
1023− {email = String; github = String; githubId = Number; name = String;};
1089+ {email = String; github = String; githubId = Integer; name = String;};
1024 gabesoft =
1090 gabesoft =
1025− {email = String; github = String; githubId = Number; name = String;};
1091+ {email = String; github = String; githubId = Integer; name = String;};
1026 gal_bolle =
1092 gal_bolle =
1027− {email = String; github = String; githubId = Number; name = String;};
1093+ {email = String; github = String; githubId = Integer; name = String;};
1028 galagora =
1094 galagora =
1029− {email = String; github = String; githubId = Number; name = String;};
1095+ {email = String; github = String; githubId = Integer; name = String;};
1030− gamb = {email = String; github = String; githubId = Number; name = String;};
1096+ gamb = {email = String; github = String; githubId = Integer; name = String;};
1097+ garbas =
1031− garbas = {email = String; github = String; githubId = Number; name = String;};
1098+ {email = String; github = String; githubId = Integer; name = String;};
1032 garrison =
1099 garrison =
1033− {email = String; github = String; githubId = Number; name = String;};
1100+ {email = String; github = String; githubId = Integer; name = String;};
1034− gavin = {email = String; github = String; githubId = Number; name = String;};
1101+ gavin = {email = String; github = String; githubId = Integer; name = String;};
1035 gazally =
1102 gazally =
1036− {email = String; github = String; githubId = Number; name = String;};
1103+ {email = String; github = String; githubId = Integer; name = String;};
1104+ gebner =
1037− gebner = {email = String; github = String; githubId = Number; name = String;};
1105+ {email = String; github = String; githubId = Integer; name = String;};
1038 genesis =
1106 genesis =
1039− {email = String; github = String; githubId = Number; name = String;};
1107+ {email = String; github = String; githubId = Integer; name = String;};
1040 georgewhewell =
1108 georgewhewell =
1041− {email = String; github = String; githubId = Number; name = String;};
1109+ {email = String; github = String; githubId = Integer; name = String;};
1042 gerschtli =
1110 gerschtli =
1043− {email = String; github = String; githubId = Number; name = String;};
1111+ {email = String; github = String; githubId = Integer; name = String;};
1112+ ggpeti =
1044− ggpeti = {email = String; github = String; githubId = Number; name = String;};
1113+ {email = String; github = String; githubId = Integer; name = String;};
1045− gila = {email = String; github = String; githubId = Number; name = String;};
1114+ gila = {email = String; github = String; githubId = Integer; name = String;};
1046 gilligan =
1115 gilligan =
1047− {email = String; github = String; githubId = Number; name = String;};
1116+ {email = String; github = String; githubId = Integer; name = String;};
1048 giogadi =
1117 giogadi =
1049− {email = String; github = String; githubId = Number; name = String;};
1118+ {email = String; github = String; githubId = Integer; name = String;};
1119+ gleber =
1050− gleber = {email = String; github = String; githubId = Number; name = String;};
1120+ {email = String; github = String; githubId = Integer; name = String;};
1121+ glenns =
1051− glenns = {email = String; github = String; githubId = Number; name = String;};
1122+ {email = String; github = String; githubId = Integer; name = String;};
1052 glittershark =
1123 glittershark =
1053 { email = String;
1124 { email = String;
1054 github = String;
1125 github = String;
1055− githubId = Number;
1126+ githubId = Integer;
1056 keys = [{fingerprint = String; longkeyid = String;}];
1127 keys = [{fingerprint = String; longkeyid = String;}];
1057 name = String;
1128 name = String;
1058 };
1129 };
1059 gloaming =
1130 gloaming =
1060− {email = String; github = String; githubId = Number; name = String;};
1131+ {email = String; github = String; githubId = Integer; name = String;};
1132+ globin =
1061− globin = {email = String; github = String; githubId = Number; name = String;};
1133+ {email = String; github = String; githubId = Integer; name = String;};
1062 gnidorah =
1134 gnidorah =
1063− {email = String; github = String; githubId = Number; name = String;};
1135+ {email = String; github = String; githubId = Integer; name = String;};
1064 gnxlxnxx =
1136 gnxlxnxx =
1065− {email = String; github = String; githubId = Number; name = String;};
1137+ {email = String; github = String; githubId = Integer; name = String;};
1066 goertzenator =
1138 goertzenator =
1067− {email = String; github = String; githubId = Number; name = String;};
1139+ {email = String; github = String; githubId = Integer; name = String;};
1068 goibhniu =
1140 goibhniu =
1069− {email = String; github = String; githubId = Number; name = String;};
1141+ {email = String; github = String; githubId = Integer; name = String;};
1070 goodrone =
1142 goodrone =
1071− {email = String; github = String; githubId = Number; name = String;};
1143+ {email = String; github = String; githubId = Integer; name = String;};
1072− gpyh = {email = String; github = String; githubId = Number; name = String;};
1144+ gpyh = {email = String; github = String; githubId = Integer; name = String;};
1073 grahamc =
1145 grahamc =
1074− {email = String; github = String; githubId = Number; name = String;};
1146+ {email = String; github = String; githubId = Integer; name = String;};
1075 grburst =
1147 grburst =
1076 { email = String;
1148 { email = String;
1077 github = String;
1149 github = String;
1078− githubId = Number;
1150+ githubId = Integer;
1079 keys = [{fingerprint = String; longkeyid = String;}];
1151 keys = [{fingerprint = String; longkeyid = String;}];
1080 name = String;
1152 name = String;
1081 };
1153 };
1082 greydot =
1154 greydot =
1083− {email = String; github = String; githubId = Number; name = String;};
1155+ {email = String; github = String; githubId = Integer; name = String;};
1084 gridaphobe =
1156 gridaphobe =
1085− {email = String; github = String; githubId = Number; name = String;};
1157+ {email = String; github = String; githubId = Integer; name = String;};
1158+ groodt =
1086− groodt = {email = String; github = String; githubId = Number; name = String;};
1159+ {email = String; github = String; githubId = Integer; name = String;};
1087 guibert =
1160 guibert =
1088− {email = String; github = String; githubId = Number; name = String;};
1161+ {email = String; github = String; githubId = Integer; name = String;};
1162+ guibou =
1089− guibou = {email = String; github = String; githubId = Number; name = String;};
1163+ {email = String; github = String; githubId = Integer; name = String;};
1090 guillaumekoenig =
1164 guillaumekoenig =
1091− {email = String; github = String; githubId = Number; name = String;};
1165+ {email = String; github = String; githubId = Integer; name = String;};
1092 guyonvarch =
1166 guyonvarch =
1093− {email = String; github = String; githubId = Number; name = String;};
1167+ {email = String; github = String; githubId = Integer; name = String;};
1168+ gvolpe =
1094− gvolpe = {email = String; github = String; githubId = Number; name = String;};
1169+ {email = String; github = String; githubId = Integer; name = String;};
1170+ hakuch =
1095− hakuch = {email = String; github = String; githubId = Number; name = String;};
1171+ {email = String; github = String; githubId = Integer; name = String;};
1096 hamhut1066 =
1172 hamhut1066 =
1097− {email = String; github = String; githubId = Number; name = String;};
1173+ {email = String; github = String; githubId = Integer; name = String;};
1098 hansjoergschurr =
1174 hansjoergschurr =
1099− {email = String; github = String; githubId = Number; name = String;};
1175+ {email = String; github = String; githubId = Integer; name = String;};
1100 haslersn =
1176 haslersn =
1101− {email = String; github = String; githubId = Number; name = String;};
1177+ {email = String; github = String; githubId = Integer; name = String;};
1102− havvy = {email = String; github = String; githubId = Number; name = String;};
1178+ havvy = {email = String; github = String; githubId = Integer; name = String;};
1179+ hax404 =
1103− hax404 = {email = String; github = String; githubId = Number; name = String;};
1180+ {email = String; github = String; githubId = Integer; name = String;};
1181+ hbunke =
1104− hbunke = {email = String; github = String; githubId = Number; name = String;};
1182+ {email = String; github = String; githubId = Integer; name = String;};
1105− hce = {email = String; github = String; githubId = Number; name = String;};
1183+ hce = {email = String; github = String; githubId = Integer; name = String;};
1106 hectorj =
1184 hectorj =
1107− {email = String; github = String; githubId = Number; name = String;};
1185+ {email = String; github = String; githubId = Integer; name = String;};
1108 hedning =
1186 hedning =
1109− {email = String; github = String; githubId = Number; name = String;};
1187+ {email = String; github = String; githubId = Integer; name = String;};
1110− heel = {email = String; github = String; githubId = Number; name = String;};
1188+ heel = {email = String; github = String; githubId = Integer; name = String;};
1111 helkafen =
1189 helkafen =
1112− {email = String; github = String; githubId = Number; name = String;};
1190+ {email = String; github = String; githubId = Integer; name = String;};
1113 henrytill =
1191 henrytill =
1114− {email = String; github = String; githubId = Number; name = String;};
1192+ {email = String; github = String; githubId = Integer; name = String;};
1115 herberteuler =
1193 herberteuler =
1116− {email = String; github = String; githubId = Number; name = String;};
1194+ {email = String; github = String; githubId = Integer; name = String;};
1117− hexa = {email = String; github = String; githubId = Number; name = String;};
1195+ hexa = {email = String; github = String; githubId = Integer; name = String;};
1118− hh = {email = String; github = String; githubId = Number; name = String;};
1196+ hh = {email = String; github = String; githubId = Integer; name = String;};
1119− hhm = {email = String; github = String; githubId = Number; name = String;};
1197+ hhm = {email = String; github = String; githubId = Integer; name = String;};
1120 hinton = {email = String; name = String;};
1198 hinton = {email = String; name = String;};
1121 hkjn =
1199 hkjn =
1122 { email = String;
1200 { email = String;
1123 github = String;
1201 github = String;
1124− githubId = Number;
1202+ githubId = Integer;
1125 keys = [{fingerprint = String; longkeyid = String;}];
1203 keys = [{fingerprint = String; longkeyid = String;}];
1126 name = String;
1204 name = String;
1127 };
1205 };
1206+ hlolli =
1128− hlolli = {email = String; github = String; githubId = Number; name = String;};
1207+ {email = String; github = String; githubId = Integer; name = String;};
1129 hmenke =
1208 hmenke =
1130 { email = String;
1209 { email = String;
1131 github = String;
1210 github = String;
1132− githubId = Number;
1211+ githubId = Integer;
1133 keys = [{fingerprint = String; longkeyid = String;}];
1212 keys = [{fingerprint = String; longkeyid = String;}];
1134 name = String;
1213 name = String;
1135 };
1214 };
1215+ hodapp =
1136− hodapp = {email = String; github = String; githubId = Number; name = String;};
1216+ {email = String; github = String; githubId = Integer; name = String;};
1137 hrdinka =
1217 hrdinka =
1138− {email = String; github = String; githubId = Number; name = String;};
1218+ {email = String; github = String; githubId = Integer; name = String;};
1139 hschaeidt =
1219 hschaeidt =
1140− {email = String; github = String; githubId = Number; name = String;};
1220+ {email = String; github = String; githubId = Integer; name = String;};
1141− htr = {email = String; github = String; githubId = Number; name = String;};
1221+ htr = {email = String; github = String; githubId = Integer; name = String;};
1142 hugoreeves =
1222 hugoreeves =
1143 { email = String;
1223 { email = String;
1144 github = String;
1224 github = String;
1145− githubId = Number;
1225+ githubId = Integer;
1146 keys = [{fingerprint = String; longkeyid = String;}];
1226 keys = [{fingerprint = String; longkeyid = String;}];
1147 name = String;
1227 name = String;
1148 };
1228 };
1149 hyphon81 =
1229 hyphon81 =
1150− {email = String; github = String; githubId = Number; name = String;};
1230+ {email = String; github = String; githubId = Integer; name = String;};
1151− i077 = {email = String; github = String; githubId = Number; name = String;};
1231+ i077 = {email = String; github = String; githubId = Integer; name = String;};
1152 iand675 =
1232 iand675 =
1153− {email = String; github = String; githubId = Number; name = String;};
1233+ {email = String; github = String; githubId = Integer; name = String;};
1154 ianmjones =
1234 ianmjones =
1155− {email = String; github = String; githubId = Number; name = String;};
1235+ {email = String; github = String; githubId = Integer; name = String;};
1156 ianwookim =
1236 ianwookim =
1157− {email = String; github = String; githubId = Number; name = String;};
1237+ {email = String; github = String; githubId = Integer; name = String;};
1238+ iblech =
1158− iblech = {email = String; github = String; githubId = Number; name = String;};
1239+ {email = String; github = String; githubId = Integer; name = String;};
1159 idontgetoutmuch =
1240 idontgetoutmuch =
1160− {email = String; github = String; githubId = Number; name = String;};
1241+ {email = String; github = String; githubId = Integer; name = String;};
1161− igsha = {email = String; github = String; githubId = Number; name = String;};
1242+ igsha = {email = String; github = String; githubId = Integer; name = String;};
1162− iimog = {email = String; github = String; githubId = Number; name = String;};
1243+ iimog = {email = String; github = String; githubId = Integer; name = String;};
1163 ikervagyok =
1244 ikervagyok =
1164− {email = String; github = String; githubId = Number; name = String;};
1245+ {email = String; github = String; githubId = Integer; name = String;};
1165 ilikeavocadoes =
1246 ilikeavocadoes =
1166− {email = String; github = String; githubId = Number; name = String;};
1247+ {email = String; github = String; githubId = Integer; name = String;};
1167 illegalprime =
1248 illegalprime =
1168− {email = String; github = String; githubId = Number; name = String;};
1249+ {email = String; github = String; githubId = Integer; name = String;};
1169 illiusdope =
1250 illiusdope =
1170− {email = String; github = String; githubId = Number; name = String;};
1251+ {email = String; github = String; githubId = Integer; name = String;};
1171 ilya-fedin =
1252 ilya-fedin =
1172− {email = String; github = String; githubId = Number; name = String;};
1253+ {email = String; github = String; githubId = Integer; name = String;};
1173 ilya-kolpakov =
1254 ilya-kolpakov =
1174− {email = String; github = String; githubId = Number; name = String;};
1255+ {email = String; github = String; githubId = Integer; name = String;};
1175 imalison =
1256 imalison =
1176− {email = String; github = String; githubId = Number; name = String;};
1257+ {email = String; github = String; githubId = Integer; name = String;};
1177 imalsogreg =
1258 imalsogreg =
1178− {email = String; github = String; githubId = Number; name = String;};
1259+ {email = String; github = String; githubId = Integer; name = String;};
1179− immae = {email = String; github = String; githubId = Number; name = String;};
1260+ immae = {email = String; github = String; githubId = Integer; name = String;};
1180− imuli = {email = String; github = String; githubId = Number; name = String;};
1261+ imuli = {email = String; github = String; githubId = Integer; name = String;};
1181 infinisil =
1262 infinisil =
1182 { email = String;
1263 { email = String;
1183 github = String;
1264 github = String;
1184− githubId = Number;
1265+ githubId = Integer;
1185 keys = [{fingerprint = String; longkeyid = String;}];
1266 keys = [{fingerprint = String; longkeyid = String;}];
1186 name = String;
1267 name = String;
1187 };
1268 };
1188 ingenieroariel =
1269 ingenieroariel =
1189− {email = String; github = String; githubId = Number; name = String;};
1270+ {email = String; github = String; githubId = Integer; name = String;};
1190 ironpinguin =
1271 ironpinguin =
1191− {email = String; github = String; githubId = Number; name = String;};
1272+ {email = String; github = String; githubId = Integer; name = String;};
1192 isgy =
1273 isgy =
1193 { email = String;
1274 { email = String;
1194 github = String;
1275 github = String;
1195− githubId = Number;
1276+ githubId = Integer;
1196 keys = [{fingerprint = String; longkeyid = String;}];
1277 keys = [{fingerprint = String; longkeyid = String;}];
1197 name = String;
1278 name = String;
1198 };
1279 };
1199− ivan = {email = String; github = String; githubId = Number; name = String;};
1280+ ivan = {email = String; github = String; githubId = Integer; name = String;};
1200 ivan-timokhin =
1281 ivan-timokhin =
1201− {email = String; github = String; githubId = Number; name = String;};
1282+ {email = String; github = String; githubId = Integer; name = String;};
1202 ivan-tkatchev = {email = String; name = String;};
1283 ivan-tkatchev = {email = String; name = String;};
1203 ivanbrennan =
1284 ivanbrennan =
1204 { email = String;
1285 { email = String;
1205 github = String;
1286 github = String;
1206− githubId = Number;
1287+ githubId = Integer;
1207 keys = [{fingerprint = String; longkeyid = String;}];
1288 keys = [{fingerprint = String; longkeyid = String;}];
1208 name = String;
1289 name = String;
1209 };
1290 };
1210− ivar = {email = String; github = String; githubId = Number; name = String;};
1291+ ivar = {email = String; github = String; githubId = Integer; name = String;};
1211 ivegotasthma =
1292 ivegotasthma =
1212 { email = String;
1293 { email = String;
1213 github = String;
1294 github = String;
1214− githubId = Number;
1295+ githubId = Integer;
1215 keys = [{fingerprint = String; longkeyid = String;}];
1296 keys = [{fingerprint = String; longkeyid = String;}];
1216 name = String;
1297 name = String;
1217 };
1298 };
1218 ixmatus =
1299 ixmatus =
1219− {email = String; github = String; githubId = Number; name = String;};
1300+ {email = String; github = String; githubId = Integer; name = String;};
1220− ixxie = {email = String; github = String; githubId = Number; name = String;};
1301+ ixxie = {email = String; github = String; githubId = Integer; name = String;};
1221 izorkin =
1302 izorkin =
1222− {email = String; github = String; githubId = Number; name = String;};
1303+ {email = String; github = String; githubId = Integer; name = String;};
1304+ j-keck =
1223− j-keck = {email = String; github = String; githubId = Number; name = String;};
1305+ {email = String; github = String; githubId = Integer; name = String;};
1224− j03 = {email = String; github = String; githubId = Number; name = String;};
1306+ j03 = {email = String; github = String; githubId = Integer; name = String;};
1225− j0hax = {email = String; github = String; githubId = Number; name = String;};
1307+ j0hax = {email = String; github = String; githubId = Integer; name = String;};
1226 jD91mZM2 =
1308 jD91mZM2 =
1227− {email = String; github = String; githubId = Number; name = String;};
1309+ {email = String; github = String; githubId = Integer; name = String;};
1228− jacg = {email = String; github = String; githubId = Number; name = String;};
1310+ jacg = {email = String; github = String; githubId = Integer; name = String;};
1229 jagajaga =
1311 jagajaga =
1230− {email = String; github = String; githubId = Number; name = String;};
1312+ {email = String; github = String; githubId = Integer; name = String;};
1231 jakelogemann =
1313 jakelogemann =
1232− {email = String; github = String; githubId = Number; name = String;};
1314+ {email = String; github = String; githubId = Integer; name = String;};
1233 jakestanger =
1315 jakestanger =
1234− {email = String; github = String; githubId = Number; name = String;};
1316+ {email = String; github = String; githubId = Integer; name = String;};
1235 jakewaksbaum =
1317 jakewaksbaum =
1236− {email = String; github = String; githubId = Number; name = String;};
1318+ {email = String; github = String; githubId = Integer; name = String;};
1237 jammerful =
1319 jammerful =
1238− {email = String; github = String; githubId = Number; name = String;};
1320+ {email = String; github = String; githubId = Integer; name = String;};
1321+ jansol =
1239− jansol = {email = String; github = String; githubId = Number; name = String;};
1322+ {email = String; github = String; githubId = Integer; name = String;};
1240 jasoncarr =
1323 jasoncarr =
1241− {email = String; github = String; githubId = Number; name = String;};
1324+ {email = String; github = String; githubId = Integer; name = String;};
1242 javaguirre =
1325 javaguirre =
1243− {email = String; github = String; githubId = Number; name = String;};
1326+ {email = String; github = String; githubId = Integer; name = String;};
1244− jb55 = {email = String; github = String; githubId = Number; name = String;};
1327+ jb55 = {email = String; github = String; githubId = Integer; name = String;};
1245− jbedo = {email = String; github = String; githubId = Number; name = String;};
1328+ jbedo = {email = String; github = String; githubId = Integer; name = String;};
1246− jbgi = {email = String; github = String; githubId = Number; name = String;};
1329+ jbgi = {email = String; github = String; githubId = Integer; name = String;};
1247− jchw = {email = String; github = String; githubId = Number; name = String;};
1330+ jchw = {email = String; github = String; githubId = Integer; name = String;};
1248 jcumming = {email = String; name = String;};
1331 jcumming = {email = String; name = String;};
1249 jdagilliland =
1332 jdagilliland =
1250− {email = String; github = String; githubId = Number; name = String;};
1333+ {email = String; github = String; githubId = Integer; name = String;};
1251 jdanek =
1334 jdanek =
1252 { email = String;
1335 { email = String;
1253 github = String;
1336 github = String;
1254− githubId = Number;
1337+ githubId = Integer;
1255 keys = [{fingerprint = String; longkeyid = String;}];
1338 keys = [{fingerprint = String; longkeyid = String;}];
1256 name = String;
1339 name = String;
1257 };
1340 };
1258 jdbaldry =
1341 jdbaldry =
1259− {email = String; github = String; githubId = Number; name = String;};
1342+ {email = String; github = String; githubId = Integer; name = String;};
1260 jdehaas =
1343 jdehaas =
1261− {email = String; github = String; githubId = Number; name = String;};
1344+ {email = String; github = String; githubId = Integer; name = String;};
1262− jduan = {email = String; github = String; githubId = Number; name = String;};
1345+ jduan = {email = String; github = String; githubId = Integer; name = String;};
1346+ jefdaj =
1263− jefdaj = {email = String; github = String; githubId = Number; name = String;};
1347+ {email = String; github = String; githubId = Integer; name = String;};
1264 jefflabonte =
1348 jefflabonte =
1265− {email = String; github = String; githubId = Number; name = String;};
1349+ {email = String; github = String; githubId = Integer; name = String;};
1266 jensbin =
1350 jensbin =
1267− {email = String; github = String; githubId = Number; name = String;};
1351+ {email = String; github = String; githubId = Integer; name = String;};
1268 jeremyschlatter =
1352 jeremyschlatter =
1269− {email = String; github = String; githubId = Number; name = String;};
1353+ {email = String; github = String; githubId = Integer; name = String;};
1270 jerith666 =
1354 jerith666 =
1271− {email = String; github = String; githubId = Number; name = String;};
1355+ {email = String; github = String; githubId = Integer; name = String;};
1272 jeschli =
1356 jeschli =
1273− {email = String; github = String; githubId = Number; name = String;};
1357+ {email = String; github = String; githubId = Integer; name = String;};
1358+ jethro =
1274− jethro = {email = String; github = String; githubId = Number; name = String;};
1359+ {email = String; github = String; githubId = Integer; name = String;};
1275− jfb = {email = String; github = String; githubId = Number; name = String;};
1360+ jfb = {email = String; github = String; githubId = Integer; name = String;};
1276 jflanglois =
1361 jflanglois =
1277− {email = String; github = String; githubId = Number; name = String;};
1362+ {email = String; github = String; githubId = Integer; name = String;};
1278 jfrankenau =
1363 jfrankenau =
1279− {email = String; github = String; githubId = Number; name = String;};
1364+ {email = String; github = String; githubId = Integer; name = String;};
1280 jfroche =
1365 jfroche =
1281 { email = String;
1366 { email = String;
1282 github = String;
1367 github = String;
1283− githubId = Number;
1368+ githubId = Integer;
1284 keys = [{fingerprint = String; longkeyid = String;}];
1369 keys = [{fingerprint = String; longkeyid = String;}];
1285 name = String;
1370 name = String;
1286 };
1371 };
1287 jgeerds =
1372 jgeerds =
1288− {email = String; github = String; githubId = Number; name = String;};
1373+ {email = String; github = String; githubId = Integer; name = String;};
1374+ jgertm =
1289− jgertm = {email = String; github = String; githubId = Number; name = String;};
1375+ {email = String; github = String; githubId = Integer; name = String;};
1290 jgillich =
1376 jgillich =
1291− {email = String; github = String; githubId = Number; name = String;};
1377+ {email = String; github = String; githubId = Integer; name = String;};
1292 jglukasik =
1378 jglukasik =
1293− {email = String; github = String; githubId = Number; name = String;};
1379+ {email = String; github = String; githubId = Integer; name = String;};
1294− jhhuh = {email = String; github = String; githubId = Number; name = String;};
1380+ jhhuh = {email = String; github = String; githubId = Integer; name = String;};
1295 jhillyerd =
1381 jhillyerd =
1296− {email = String; github = String; githubId = Number; name = String;};
1382+ {email = String; github = String; githubId = Integer; name = String;};
1297 jirkamarsik =
1383 jirkamarsik =
1298− {email = String; github = String; githubId = Number; name = String;};
1384+ {email = String; github = String; githubId = Integer; name = String;};
1385+ jitwit =
1299− jitwit = {email = String; github = String; githubId = Number; name = String;};
1386+ {email = String; github = String; githubId = Integer; name = String;};
1300 jjjollyjim =
1387 jjjollyjim =
1301− {email = String; github = String; githubId = Number; name = String;};
1388+ {email = String; github = String; githubId = Integer; name = String;};
1302− jk = {email = String; github = String; githubId = Number; name = String;};
1389+ jk = {email = String; github = String; githubId = Integer; name = String;};
1303 jlesquembre =
1390 jlesquembre =
1304− {email = String; github = String; githubId = Number; name = String;};
1391+ {email = String; github = String; githubId = Integer; name = String;};
1392+ jloyet =
1305− jloyet = {email = String; github = String; githubId = Number; name = String;};
1393+ {email = String; github = String; githubId = Integer; name = String;};
1306 jluttine =
1394 jluttine =
1307− {email = String; github = String; githubId = Number; name = String;};
1395+ {email = String; github = String; githubId = Integer; name = String;};
1396+ jm2dev =
1308− jm2dev = {email = String; github = String; githubId = Number; name = String;};
1397+ {email = String; github = String; githubId = Integer; name = String;};
1309 jmagnusj =
1398 jmagnusj =
1310− {email = String; github = String; githubId = Number; name = String;};
1399+ {email = String; github = String; githubId = Integer; name = String;};
1311 jmettes =
1400 jmettes =
1312− {email = String; github = String; githubId = Number; name = String;};
1401+ {email = String; github = String; githubId = Integer; name = String;};
1313 joachifm =
1402 joachifm =
1314− {email = String; github = String; githubId = Number; name = String;};
1403+ {email = String; github = String; githubId = Integer; name = String;};
1315 joachimschmidt557 =
1404 joachimschmidt557 =
1316− {email = String; github = String; githubId = Number; name = String;};
1405+ {email = String; github = String; githubId = Integer; name = String;};
1317 joamaki =
1406 joamaki =
1318− {email = String; github = String; githubId = Number; name = String;};
1407+ {email = String; github = String; githubId = Integer; name = String;};
1319 jobojeha =
1408 jobojeha =
1320− {email = String; github = String; githubId = Number; name = String;};
1409+ {email = String; github = String; githubId = Integer; name = String;};
1321 joelburget =
1410 joelburget =
1322− {email = String; github = String; githubId = Number; name = String;};
1411+ {email = String; github = String; githubId = Integer; name = String;};
1412+ joelmo =
1323− joelmo = {email = String; github = String; githubId = Number; name = String;};
1413+ {email = String; github = String; githubId = Integer; name = String;};
1324 joelteon = {email = String; name = String;};
1414 joelteon = {email = String; name = String;};
1325 joepie91 =
1415 joepie91 =
1326− {email = String; github = String; githubId = Number; name = String;};
1416+ {email = String; github = String; githubId = Integer; name = String;};
1327 joesalisbury =
1417 joesalisbury =
1328− {email = String; github = String; githubId = Number; name = String;};
1418+ {email = String; github = String; githubId = Integer; name = String;};
1329 johanot =
1419 johanot =
1330− {email = String; github = String; githubId = Number; name = String;};
1420+ {email = String; github = String; githubId = Integer; name = String;};
1331− johbo = {email = String; github = String; githubId = Number; name = String;};
1421+ johbo = {email = String; github = String; githubId = Integer; name = String;};
1332 johnazoidberg =
1422 johnazoidberg =
1333− {email = String; github = String; githubId = Number; name = String;};
1423+ {email = String; github = String; githubId = Integer; name = String;};
1334 johnchildren =
1424 johnchildren =
1335− {email = String; github = String; githubId = Number; name = String;};
1425+ {email = String; github = String; githubId = Integer; name = String;};
1426+ johnmh =
1336− johnmh = {email = String; github = String; githubId = Number; name = String;};
1427+ {email = String; github = String; githubId = Integer; name = String;};
1337 johnramsden =
1428 johnramsden =
1338− {email = String; github = String; githubId = Number; name = String;};
1429+ {email = String; github = String; githubId = Integer; name = String;};
1339 johntitor =
1430 johntitor =
1340− {email = String; github = String; githubId = Number; name = String;};
1431+ {email = String; github = String; githubId = Integer; name = String;};
1341 jojosch =
1432 jojosch =
1342 { email = String;
1433 { email = String;
1343 github = String;
1434 github = String;
1344− githubId = Number;
1435+ githubId = Integer;
1345 keys = [{fingerprint = String; longkeyid = String;}];
1436 keys = [{fingerprint = String; longkeyid = String;}];
1346 name = String;
1437 name = String;
1347 };
1438 };
1348 joko =
1439 joko =
1349 { email = String;
1440 { email = String;
1350 github = String;
1441 github = String;
1351− githubId = Number;
1442+ githubId = Integer;
1352 keys = [{fingerprint = String; longkeyid = String;}];
1443 keys = [{fingerprint = String; longkeyid = String;}];
1353 name = String;
1444 name = String;
1354 };
1445 };
1355 jonafato =
1446 jonafato =
1356− {email = String; github = String; githubId = Number; name = String;};
1447+ {email = String; github = String; githubId = Integer; name = String;};
1357 jonathanmarler =
1448 jonathanmarler =
1358− {email = String; github = String; githubId = Number; name = String;};
1449+ {email = String; github = String; githubId = Integer; name = String;};
1359 jonathanreeve =
1450 jonathanreeve =
1360− {email = String; github = String; githubId = Number; name = String;};
1451+ {email = String; github = String; githubId = Integer; name = String;};
1361 joncojonathan =
1452 joncojonathan =
1362− {email = String; github = String; githubId = Number; name = String;};
1453+ {email = String; github = String; githubId = Integer; name = String;};
1363 jonringer =
1454 jonringer =
1364− {email = String; github = String; githubId = Number; name = String;};
1455+ {email = String; github = String; githubId = Integer; name = String;};
1456+ jorise =
1365− jorise = {email = String; github = String; githubId = Number; name = String;};
1457+ {email = String; github = String; githubId = Integer; name = String;};
1366− jorsn = {email = String; github = String; githubId = Number; name = String;};
1458+ jorsn = {email = String; github = String; githubId = Integer; name = String;};
1367 joshuafern =
1459 joshuafern =
1368− {email = String; github = String; githubId = Number; name = String;};
1460+ {email = String; github = String; githubId = Integer; name = String;};
1369− jpas = {email = String; github = String; githubId = Number; name = String;};
1461+ jpas = {email = String; github = String; githubId = Integer; name = String;};
1370 jpdoyle =
1462 jpdoyle =
1371− {email = String; github = String; githubId = Number; name = String;};
1463+ {email = String; github = String; githubId = Integer; name = String;};
1372 jperras =
1464 jperras =
1373− {email = String; github = String; githubId = Number; name = String;};
1465+ {email = String; github = String; githubId = Integer; name = String;};
1374 jpierre03 =
1466 jpierre03 =
1375− {email = String; github = String; githubId = Number; name = String;};
1467+ {email = String; github = String; githubId = Integer; name = String;};
1376 jpotier =
1468 jpotier =
1377− {email = String; github = String; githubId = Number; name = String;};
1469+ {email = String; github = String; githubId = Integer; name = String;};
1378 jqueiroz =
1470 jqueiroz =
1379− {email = String; github = String; githubId = Number; name = String;};
1471+ {email = String; github = String; githubId = Integer; name = String;};
1380 jraygauthier =
1472 jraygauthier =
1381− {email = String; github = String; githubId = Number; name = String;};
1473+ {email = String; github = String; githubId = Integer; name = String;};
1382 jschievink =
1474 jschievink =
1383− {email = String; github = String; githubId = Number; name = String;};
1475+ {email = String; github = String; githubId = Integer; name = String;};
1384 jtcoolen =
1476 jtcoolen =
1385 { email = String;
1477 { email = String;
1386 github = String;
1478 github = String;
1387− githubId = Number;
1479+ githubId = Integer;
1388 keys = [{fingerprint = String; longkeyid = String;}];
1480 keys = [{fingerprint = String; longkeyid = String;}];
1389 name = String;
1481 name = String;
1390 };
1482 };
1483+ jtobin =
1391− jtobin = {email = String; github = String; githubId = Number; name = String;};
1484+ {email = String; github = String; githubId = Integer; name = String;};
1392 jtojnar =
1485 jtojnar =
1393− {email = String; github = String; githubId = Number; name = String;};
1486+ {email = String; github = String; githubId = Integer; name = String;};
1394 juaningan =
1487 juaningan =
1395− {email = String; github = String; githubId = Number; name = String;};
1488+ {email = String; github = String; githubId = Integer; name = String;};
1396 juliendehos =
1489 juliendehos =
1397− {email = String; github = String; githubId = Number; name = String;};
1490+ {email = String; github = String; githubId = Integer; name = String;};
1398− julm = {email = String; github = String; githubId = Number; name = String;};
1491+ julm = {email = String; github = String; githubId = Integer; name = String;};
1399 jumper149 =
1492 jumper149 =
1400− {email = String; github = String; githubId = Number; name = String;};
1493+ {email = String; github = String; githubId = Integer; name = String;};
1401 justinwoo =
1494 justinwoo =
1402− {email = String; github = String; githubId = Number; name = String;};
1495+ {email = String; github = String; githubId = Integer; name = String;};
1403− jwatt = {email = String; github = String; githubId = Number; name = String;};
1496+ jwatt = {email = String; github = String; githubId = Integer; name = String;};
1404 jwiegley =
1497 jwiegley =
1405− {email = String; github = String; githubId = Number; name = String;};
1498+ {email = String; github = String; githubId = Integer; name = String;};
1406 jwijenbergh =
1499 jwijenbergh =
1407− {email = String; github = String; githubId = Number; name = String;};
1500+ {email = String; github = String; githubId = Integer; name = String;};
1408 jwilberding = {email = String; name = String;};
1501 jwilberding = {email = String; name = String;};
1409− jyp = {email = String; github = String; githubId = Number; name = String;};
1502+ jyp = {email = String; github = String; githubId = Integer; name = String;};
1410 jzellner =
1503 jzellner =
1411− {email = String; github = String; githubId = Number; name = String;};
1504+ {email = String; github = String; githubId = Integer; name = String;};
1412 kaction =
1505 kaction =
1413 { email = String;
1506 { email = String;
1414 github = String;
1507 github = String;
1415− githubId = Number;
1508+ githubId = Integer;
1416 keys = [{fingerprint = String; longkeyid = String;}];
1509 keys = [{fingerprint = String; longkeyid = String;}];
1417 name = String;
1510 name = String;
1418 };
1511 };
1419− kaiha = {email = String; github = String; githubId = Number; name = String;};
1512+ kaiha = {email = String; github = String; githubId = Integer; name = String;};
1420 kalbasit =
1513 kalbasit =
1421− {email = String; github = String; githubId = Number; name = String;};
1514+ {email = String; github = String; githubId = Integer; name = String;};
1422 kalekseev =
1515 kalekseev =
1423− {email = String; github = String; githubId = Number; name = String;};
1516+ {email = String; github = String; githubId = Integer; name = String;};
1424 kamadorueda =
1517 kamadorueda =
1425 { email = String;
1518 { email = String;
1426 github = String;
1519 github = String;
1427− githubId = Number;
1520+ githubId = Integer;
1428 keys = [{fingerprint = String; longkeyid = String;}];
1521 keys = [{fingerprint = String; longkeyid = String;}];
1429 name = String;
1522 name = String;
1430 };
1523 };
1431 kamilchm =
1524 kamilchm =
1432− {email = String; github = String; githubId = Number; name = String;};
1525+ {email = String; github = String; githubId = Integer; name = String;};
1433 kampfschlaefer =
1526 kampfschlaefer =
1434− {email = String; github = String; githubId = Number; name = String;};
1527+ {email = String; github = String; githubId = Integer; name = String;};
1435 kampka =
1528 kampka =
1436 { email = String;
1529 { email = String;
1437 github = String;
1530 github = String;
1438− githubId = Number;
1531+ githubId = Integer;
1439 keys = [{fingerprint = String; longkeyid = String;}];
1532 keys = [{fingerprint = String; longkeyid = String;}];
1440 name = String;
1533 name = String;
1441 };
1534 };
1442 karantan =
1535 karantan =
1443− {email = String; github = String; githubId = Number; name = String;};
1536+ {email = String; github = String; githubId = Integer; name = String;};
1444 karolchmist = {email = String; name = String;};
1537 karolchmist = {email = String; name = String;};
1445 kayhide =
1538 kayhide =
1446− {email = String; github = String; githubId = Number; name = String;};
1539+ {email = String; github = String; githubId = Integer; name = String;};
1447− kazcw = {email = String; github = String; githubId = Number; name = String;};
1540+ kazcw = {email = String; github = String; githubId = Integer; name = String;};
1448 kcalvinalvin =
1541 kcalvinalvin =
1449− {email = String; github = String; githubId = Number; name = String;};
1542+ {email = String; github = String; githubId = Integer; name = String;};
1450 kentjames =
1543 kentjames =
1451− {email = String; github = String; githubId = Number; name = String;};
1544+ {email = String; github = String; githubId = Integer; name = String;};
1452 kevincox =
1545 kevincox =
1453− {email = String; github = String; githubId = Number; name = String;};
1546+ {email = String; github = String; githubId = Integer; name = String;};
1454 kfollesdal =
1547 kfollesdal =
1455− {email = String; github = String; githubId = Number; name = String;};
1548+ {email = String; github = String; githubId = Integer; name = String;};
1549+ khumba =
1456− khumba = {email = String; github = String; githubId = Number; name = String;};
1550+ {email = String; github = String; githubId = Integer; name = String;};
1457 kierdavis =
1551 kierdavis =
1458− {email = String; github = String; githubId = Number; name = String;};
1552+ {email = String; github = String; githubId = Integer; name = String;};
1459 killercup =
1553 killercup =
1460− {email = String; github = String; githubId = Number; name = String;};
1554+ {email = String; github = String; githubId = Integer; name = String;};
1461 kiloreux =
1555 kiloreux =
1462− {email = String; github = String; githubId = Number; name = String;};
1556+ {email = String; github = String; githubId = Integer; name = String;};
1463− kim0 = {email = String; github = String; githubId = Number; name = String;};
1557+ kim0 = {email = String; github = String; githubId = Integer; name = String;};
1464− kimat = {email = String; github = String; githubId = Number; name = String;};
1558+ kimat = {email = String; github = String; githubId = Integer; name = String;};
1465 kimburgess =
1559 kimburgess =
1466− {email = String; github = String; githubId = Number; name = String;};
1560+ {email = String; github = String; githubId = Integer; name = String;};
1467− kini = {email = String; github = String; githubId = Number; name = String;};
1561+ kini = {email = String; github = String; githubId = Integer; name = String;};
1468 kirelagin =
1562 kirelagin =
1469− {email = String; github = String; githubId = Number; name = String;};
1563+ {email = String; github = String; githubId = Integer; name = String;};
1470 kirikaza =
1564 kirikaza =
1471− {email = String; github = String; githubId = Number; name = String;};
1565+ {email = String; github = String; githubId = Integer; name = String;};
1472 kisonecat =
1566 kisonecat =
1473− {email = String; github = String; githubId = Number; name = String;};
1567+ {email = String; github = String; githubId = Integer; name = String;};
1474 kiwi =
1568 kiwi =
1475 { email = String;
1569 { email = String;
1476 github = String;
1570 github = String;
1477− githubId = Number;
1571+ githubId = Integer;
1478 keys = [{fingerprint = String; longkeyid = String;}];
1572 keys = [{fingerprint = String; longkeyid = String;}];
1479 name = String;
1573 name = String;
1480 };
1574 };
1481 kkallio = {email = String; name = String;};
1575 kkallio = {email = String; name = String;};
1482 klntsky =
1576 klntsky =
1483− {email = String; github = String; githubId = Number; name = String;};
1577+ {email = String; github = String; githubId = Integer; name = String;};
1484 kloenk =
1578 kloenk =
1485 { email = String;
1579 { email = String;
1486 github = String;
1580 github = String;
1487− githubId = Number;
1581+ githubId = Integer;
1488 keys = [{fingerprint = String; longkeyid = String;}];
1582 keys = [{fingerprint = String; longkeyid = String;}];
1489 name = String;
1583 name = String;
1490 };
1584 };
1491 kmcopper =
1585 kmcopper =
1492− {email = String; github = String; githubId = Number; name = String;};
1586+ {email = String; github = String; githubId = Integer; name = String;};
1493 kmeakin =
1587 kmeakin =
1494− {email = String; github = String; githubId = Number; name = String;};
1588+ {email = String; github = String; githubId = Integer; name = String;};
1495− kmein = {email = String; github = String; githubId = Number; name = String;};
1589+ kmein = {email = String; github = String; githubId = Integer; name = String;};
1496 knairda =
1590 knairda =
1497− {email = String; github = String; githubId = Number; name = String;};
1591+ {email = String; github = String; githubId = Integer; name = String;};
1498 knedlsepp =
1592 knedlsepp =
1499− {email = String; github = String; githubId = Number; name = String;};
1593+ {email = String; github = String; githubId = Integer; name = String;};
1500− knl = {email = String; github = String; githubId = Number; name = String;};
1594+ knl = {email = String; github = String; githubId = Integer; name = String;};
1501 kolaente =
1595 kolaente =
1502− {email = String; github = String; githubId = Number; name = String;};
1596+ {email = String; github = String; githubId = Integer; name = String;};
1503 kolbycrouch =
1597 kolbycrouch =
1504− {email = String; github = String; githubId = Number; name = String;};
1598+ {email = String; github = String; githubId = Integer; name = String;};
1505 kolloch =
1599 kolloch =
1506− {email = String; github = String; githubId = Number; name = String;};
1600+ {email = String; github = String; githubId = Integer; name = String;};
1507 konimex =
1601 konimex =
1508− {email = String; github = String; githubId = Number; name = String;};
1602+ {email = String; github = String; githubId = Integer; name = String;};
1509− koral = {email = String; github = String; githubId = Number; name = String;};
1603+ koral = {email = String; github = String; githubId = Integer; name = String;};
1510 koslambrou =
1604 koslambrou =
1511− {email = String; github = String; githubId = Number; name = String;};
1605+ {email = String; github = String; githubId = Integer; name = String;};
1512 kovirobi =
1606 kovirobi =
1513− {email = String; github = String; githubId = Number; name = String;};
1607+ {email = String; github = String; githubId = Integer; name = String;};
1608+ kquick =
1514− kquick = {email = String; github = String; githubId = Number; name = String;};
1609+ {email = String; github = String; githubId = Integer; name = String;};
1515− kraem = {email = String; github = String; githubId = Number; name = String;};
1610+ kraem = {email = String; github = String; githubId = Integer; name = String;};
1516 kragniz =
1611 kragniz =
1517− {email = String; github = String; githubId = Number; name = String;};
1612+ {email = String; github = String; githubId = Integer; name = String;};
1518− krav = {email = String; github = String; githubId = Number; name = String;};
1613+ krav = {email = String; github = String; githubId = Integer; name = String;};
1519 kristian-brucaj =
1614 kristian-brucaj =
1520− {email = String; github = String; githubId = Number; name = String;};
1615+ {email = String; github = String; githubId = Integer; name = String;};
1521 kristoff3r =
1616 kristoff3r =
1522− {email = String; github = String; githubId = Number; name = String;};
1617+ {email = String; github = String; githubId = Integer; name = String;};
1618+ kroell =
1523− kroell = {email = String; github = String; githubId = Number; name = String;};
1619+ {email = String; github = String; githubId = Integer; name = String;};
1524− ktf = {email = String; github = String; githubId = Number; name = String;};
1620+ ktf = {email = String; github = String; githubId = Integer; name = String;};
1525 kthielen =
1621 kthielen =
1526− {email = String; github = String; githubId = Number; name = String;};
1622+ {email = String; github = String; githubId = Integer; name = String;};
1527− ktor = {email = String; github = String; githubId = Number; name = String;};
1623+ ktor = {email = String; github = String; githubId = Integer; name = String;};
1528 ktosiek =
1624 ktosiek =
1529− {email = String; github = String; githubId = Number; name = String;};
1625+ {email = String; github = String; githubId = Integer; name = String;};
1530 kuznero =
1626 kuznero =
1531− {email = String; github = String; githubId = Number; name = String;};
1627+ {email = String; github = String; githubId = Integer; name = String;};
1532 kwohlfahrt =
1628 kwohlfahrt =
1533− {email = String; github = String; githubId = Number; name = String;};
1629+ {email = String; github = String; githubId = Integer; name = String;};
1534 kylesferrazza =
1630 kylesferrazza =
1535 { email = String;
1631 { email = String;
1536 github = String;
1632 github = String;
1537− githubId = Number;
1633+ githubId = Integer;
1538 keys = [{fingerprint = String; longkeyid = String;}];
1634 keys = [{fingerprint = String; longkeyid = String;}];
1539 name = String;
1635 name = String;
1540 };
1636 };
1541 kylewlacy =
1637 kylewlacy =
1542− {email = String; github = String; githubId = Number; name = String;};
1638+ {email = String; github = String; githubId = Integer; name = String;};
1543− laikq = {email = String; github = String; githubId = Number; name = String;};
1639+ laikq = {email = String; github = String; githubId = Integer; name = String;};
1544 lambda-11235 =
1640 lambda-11235 =
1545− {email = String; github = String; githubId = Number; name = String;};
1641+ {email = String; github = String; githubId = Integer; name = String;};
1546 lasandell =
1642 lasandell =
1547− {email = String; github = String; githubId = Number; name = String;};
1643+ {email = String; github = String; githubId = Integer; name = String;};
1548 lassulus =
1644 lassulus =
1549− {email = String; github = String; githubId = Number; name = String;};
1645+ {email = String; github = String; githubId = Integer; name = String;};
1550 lattfein = {email = String; name = String;};
1646 lattfein = {email = String; name = String;};
1551− layus = {email = String; github = String; githubId = Number; name = String;};
1647+ layus = {email = String; github = String; githubId = Integer; name = String;};
1648+ lblasc =
1552− lblasc = {email = String; github = String; githubId = Number; name = String;};
1649+ {email = String; github = String; githubId = Integer; name = String;};
1553− lbpdt = {email = String; github = String; githubId = Number; name = String;};
1650+ lbpdt = {email = String; github = String; githubId = Integer; name = String;};
1554 ldelelis =
1651 ldelelis =
1555− {email = String; github = String; githubId = Number; name = String;};
1652+ {email = String; github = String; githubId = Integer; name = String;};
1556 ldesgoui =
1653 ldesgoui =
1557− {email = String; github = String; githubId = Number; name = String;};
1654+ {email = String; github = String; githubId = Integer; name = String;};
1655+ league =
1558− league = {email = String; github = String; githubId = Number; name = String;};
1656+ {email = String; github = String; githubId = Integer; name = String;};
1559 leahneukirchen =
1657 leahneukirchen =
1560− {email = String; github = String; githubId = Number; name = String;};
1658+ {email = String; github = String; githubId = Integer; name = String;};
1561 lebastr =
1659 lebastr =
1562− {email = String; github = String; githubId = Number; name = String;};
1660+ {email = String; github = String; githubId = Integer; name = String;};
1563− ledif = {email = String; github = String; githubId = Number; name = String;};
1661+ ledif = {email = String; github = String; githubId = Integer; name = String;};
1564 leemachin =
1662 leemachin =
1565− {email = String; github = String; githubId = Number; name = String;};
1663+ {email = String; github = String; githubId = Integer; name = String;};
1566 leenaars =
1664 leenaars =
1567− {email = String; github = String; githubId = Number; name = String;};
1665+ {email = String; github = String; githubId = Integer; name = String;};
1568 lejonet =
1666 lejonet =
1569− {email = String; github = String; githubId = Number; name = String;};
1667+ {email = String; github = String; githubId = Integer; name = String;};
1570 leo60228 =
1668 leo60228 =
1571− {email = String; github = String; githubId = Number; name = String;};
1669+ {email = String; github = String; githubId = Integer; name = String;};
1572 leonardoce =
1670 leonardoce =
1573− {email = String; github = String; githubId = Number; name = String;};
1671+ {email = String; github = String; githubId = Integer; name = String;};
1574 leshainc =
1672 leshainc =
1575− {email = String; github = String; githubId = Number; name = String;};
1673+ {email = String; github = String; githubId = Integer; name = String;};
1576 lethalman =
1674 lethalman =
1577− {email = String; github = String; githubId = Number; name = String;};
1675+ {email = String; github = String; githubId = Integer; name = String;};
1578− lewo = {email = String; github = String; githubId = Number; name = String;};
1676+ lewo = {email = String; github = String; githubId = Integer; name = String;};
1579 lexuge =
1677 lexuge =
1580 { email = String;
1678 { email = String;
1581 github = String;
1679 github = String;
1582− githubId = Number;
1680+ githubId = Integer;
1583 keys = [{fingerprint = String; longkeyid = String;}];
1681 keys = [{fingerprint = String; longkeyid = String;}];
1584 name = String;
1682 name = String;
1585 };
1683 };
1586− lf- = {email = String; github = String; githubId = Number; name = String;};
1684+ lf- = {email = String; github = String; githubId = Integer; name = String;};
1587 lheckemann =
1685 lheckemann =
1588− {email = String; github = String; githubId = Number; name = String;};
1686+ {email = String; github = String; githubId = Integer; name = String;};
1589− lhvwb = {email = String; github = String; githubId = Number; name = String;};
1687+ lhvwb = {email = String; github = String; githubId = Integer; name = String;};
1590− liff = {email = String; github = String; githubId = Number; name = String;};
1688+ liff = {email = String; github = String; githubId = Integer; name = String;};
1591 lightbulbjim =
1689 lightbulbjim =
1592− {email = String; github = String; githubId = Number; name = String;};
1690+ {email = String; github = String; githubId = Integer; name = String;};
1593 lightdiscord =
1691 lightdiscord =
1594− {email = String; github = String; githubId = Number; name = String;};
1692+ {email = String; github = String; githubId = Integer; name = String;};
1595− lihop = {email = String; github = String; githubId = Number; name = String;};
1693+ lihop = {email = String; github = String; githubId = Integer; name = String;};
1596 lilyball =
1694 lilyball =
1597− {email = String; github = String; githubId = Number; name = String;};
1695+ {email = String; github = String; githubId = Integer; name = String;};
1598 limeytexan =
1696 limeytexan =
1599− {email = String; github = String; githubId = Number; name = String;};
1697+ {email = String; github = String; githubId = Integer; name = String;};
1600 linarcx =
1698 linarcx =
1601− {email = String; github = String; githubId = Number; name = String;};
1699+ {email = String; github = String; githubId = Integer; name = String;};
1602 linc01n =
1700 linc01n =
1603− {email = String; github = String; githubId = Number; name = String;};
1701+ {email = String; github = String; githubId = Integer; name = String;};
1604 linquize =
1702 linquize =
1605− {email = String; github = String; githubId = Number; name = String;};
1703+ {email = String; github = String; githubId = Integer; name = String;};
1606− linus = {email = String; github = String; githubId = Number; name = String;};
1704+ linus = {email = String; github = String; githubId = Integer; name = String;};
1607 lionello =
1705 lionello =
1608− {email = String; github = String; githubId = Number; name = String;};
1706+ {email = String; github = String; githubId = Integer; name = String;};
1609 livnev =
1707 livnev =
1610 { email = String;
1708 { email = String;
1611 github = String;
1709 github = String;
1612− githubId = Number;
1710+ githubId = Integer;
1613 keys = [{fingerprint = String; longkeyid = String;}];
1711 keys = [{fingerprint = String; longkeyid = String;}];
1614 name = String;
1712 name = String;
1615 };
1713 };
1714+ lluchs =
1616− lluchs = {email = String; github = String; githubId = Number; name = String;};
1715+ {email = String; github = String; githubId = Integer; name = String;};
1617− lnl7 = {email = String; github = String; githubId = Number; name = String;};
1716+ lnl7 = {email = String; github = String; githubId = Integer; name = String;};
1618 lo1tuma =
1717 lo1tuma =
1619− {email = String; github = String; githubId = Number; name = String;};
1718+ {email = String; github = String; githubId = Integer; name = String;};
1620 loewenheim =
1719 loewenheim =
1621− {email = String; github = String; githubId = Number; name = String;};
1720+ {email = String; github = String; githubId = Integer; name = String;};
1622 lopsided98 =
1721 lopsided98 =
1623− {email = String; github = String; githubId = Number; name = String;};
1722+ {email = String; github = String; githubId = Integer; name = String;};
1624 loskutov =
1723 loskutov =
1625− {email = String; github = String; githubId = Number; name = String;};
1724+ {email = String; github = String; githubId = Integer; name = String;};
1626 lostnet =
1725 lostnet =
1627− {email = String; github = String; githubId = Number; name = String;};
1726+ {email = String; github = String; githubId = Integer; name = String;};
1628 louisdk1 =
1727 louisdk1 =
1629− {email = String; github = String; githubId = Number; name = String;};
1728+ {email = String; github = String; githubId = Integer; name = String;};
1630 lourkeur =
1729 lourkeur =
1631 { email = String;
1730 { email = String;
1632 github = String;
1731 github = String;
1633− githubId = Number;
1732+ githubId = Integer;
1634 keys = [{fingerprint = String; longkeyid = String;}];
1733 keys = [{fingerprint = String; longkeyid = String;}];
1635 name = String;
1734 name = String;
1636 };
1735 };
1637 lovek323 =
1736 lovek323 =
1638− {email = String; github = String; githubId = Number; name = String;};
1737+ {email = String; github = String; githubId = Integer; name = String;};
1639 lovesegfault =
1738 lovesegfault =
1640 { email = String;
1739 { email = String;
1641 github = String;
1740 github = String;
1642− githubId = Number;
1741+ githubId = Integer;
1643 keys = [{fingerprint = String; longkeyid = String;}];
1742 keys = [{fingerprint = String; longkeyid = String;}];
1644 name = String;
1743 name = String;
1645 };
1744 };
1646 lowfatcomputing =
1745 lowfatcomputing =
1647− {email = String; github = String; githubId = Number; name = String;};
1746+ {email = String; github = String; githubId = Integer; name = String;};
1648 lschuermann =
1747 lschuermann =
1649− {email = String; github = String; githubId = Number; name = String;};
1748+ {email = String; github = String; githubId = Integer; name = String;};
1650− lsix = {email = String; github = String; githubId = Number; name = String;};
1749+ lsix = {email = String; github = String; githubId = Integer; name = String;};
1651 ltavard =
1750 ltavard =
1652− {email = String; github = String; githubId = Number; name = String;};
1751+ {email = String; github = String; githubId = Integer; name = String;};
1752+ luc65r =
1653− luc65r = {email = String; github = String; githubId = Number; name = String;};
1753+ {email = String; github = String; githubId = Integer; name = String;};
1654 lucperkins =
1754 lucperkins =
1655− {email = String; github = String; githubId = Number; name = String;};
1755+ {email = String; github = String; githubId = Integer; name = String;};
1656 lucus16 =
1756 lucus16 =
1657− {email = String; github = String; githubId = Number; name = String;};
1757+ {email = String; github = String; githubId = Integer; name = String;};
1658− ludo = {email = String; github = String; githubId = Number; name = String;};
1758+ ludo = {email = String; github = String; githubId = Integer; name = String;};
1659− lufia = {email = String; github = String; githubId = Number; name = String;};
1759+ lufia = {email = String; github = String; githubId = Integer; name = String;};
1660− luis = {email = String; github = String; githubId = Number; name = String;};
1760+ luis = {email = String; github = String; githubId = Integer; name = String;};
1661 luispedro =
1761 luispedro =
1662− {email = String; github = String; githubId = Number; name = String;};
1762+ {email = String; github = String; githubId = Integer; name = String;};
1663 lukeadams =
1763 lukeadams =
1664− {email = String; github = String; githubId = Number; name = String;};
1764+ {email = String; github = String; githubId = Integer; name = String;};
1665 lukebfox =
1765 lukebfox =
1666− {email = String; github = String; githubId = Number; name = String;};
1766+ {email = String; github = String; githubId = Integer; name = String;};
1767+ lukegb =
1667− lukegb = {email = String; github = String; githubId = Number; name = String;};
1768+ {email = String; github = String; githubId = Integer; name = String;};
1769+ lukego =
1668− lukego = {email = String; github = String; githubId = Number; name = String;};
1770+ {email = String; github = String; githubId = Integer; name = String;};
1669− lumi = {email = String; github = String; githubId = Number; name = String;};
1771+ lumi = {email = String; github = String; githubId = Integer; name = String;};
1670 lunik1 =
1772 lunik1 =
1671 { email = String;
1773 { email = String;
1672 github = String;
1774 github = String;
1673− githubId = Number;
1775+ githubId = Integer;
1674 keys = [{fingerprint = String; longkeyid = String;}];
1776 keys = [{fingerprint = String; longkeyid = String;}];
1675 name = String;
1777 name = String;
1676 };
1778 };
1677− luz = {email = String; github = String; githubId = Number; name = String;};
1779+ luz = {email = String; github = String; githubId = Integer; name = String;};
1678− lw = {email = String; github = String; githubId = Number; name = String;};
1780+ lw = {email = String; github = String; githubId = Integer; name = String;};
1679− lynty = {email = String; github = String; githubId = Number; name = String;};
1781+ lynty = {email = String; github = String; githubId = Integer; name = String;};
1680 lyt = {email = String; name = String;};
1782 lyt = {email = String; name = String;};
1681 m1cr0man =
1783 m1cr0man =
1682− {email = String; github = String; githubId = Number; name = String;};
1784+ {email = String; github = String; githubId = Integer; name = String;};
1683 m3tti = {email = String; name = String;};
1785 m3tti = {email = String; name = String;};
1684− ma27 = {email = String; github = String; githubId = Number; name = String;};
1786+ ma27 = {email = String; github = String; githubId = Integer; name = String;};
1685− ma9e = {email = String; github = String; githubId = Number; name = String;};
1787+ ma9e = {email = String; github = String; githubId = Integer; name = String;};
1788+ madjar =
1686− madjar = {email = String; github = String; githubId = Number; name = String;};
1789+ {email = String; github = String; githubId = Integer; name = String;};
1687− mafo = {email = String; github = String; githubId = Number; name = String;};
1790+ mafo = {email = String; github = String; githubId = Integer; name = String;};
1688 magenbluten =
1791 magenbluten =
1689− {email = String; github = String; githubId = Number; name = String;};
1792+ {email = String; github = String; githubId = Integer; name = String;};
1690 maggesi =
1793 maggesi =
1691− {email = String; github = String; githubId = Number; name = String;};
1794+ {email = String; github = String; githubId = Integer; name = String;};
1692 magnetophon =
1795 magnetophon =
1693− {email = String; github = String; githubId = Number; name = String;};
1796+ {email = String; github = String; githubId = Integer; name = String;};
1694− mahe = {email = String; github = String; githubId = Number; name = String;};
1797+ mahe = {email = String; github = String; githubId = Integer; name = String;};
1798+ makefu =
1695− makefu = {email = String; github = String; githubId = Number; name = String;};
1799+ {email = String; github = String; githubId = Integer; name = String;};
1696− malyn = {email = String; github = String; githubId = Number; name = String;};
1800+ malyn = {email = String; github = String; githubId = Integer; name = String;};
1697 manveru =
1801 manveru =
1698− {email = String; github = String; githubId = Number; name = String;};
1802+ {email = String; github = String; githubId = Integer; name = String;};
1699 maralorn =
1803 maralorn =
1700− {email = String; github = String; githubId = Number; name = String;};
1804+ {email = String; github = String; githubId = Integer; name = String;};
1701 marcus7070 =
1805 marcus7070 =
1702− {email = String; github = String; githubId = Number; name = String;};
1806+ {email = String; github = String; githubId = Integer; name = String;};
1703 marcweber =
1807 marcweber =
1704− {email = String; github = String; githubId = Number; name = String;};
1808+ {email = String; github = String; githubId = Integer; name = String;};
1809+ marenz =
1705− marenz = {email = String; github = String; githubId = Number; name = String;};
1810+ {email = String; github = String; githubId = Integer; name = String;};
1706 marius851000 =
1811 marius851000 =
1707− {email = String; github = String; githubId = Number; name = String;};
1812+ {email = String; github = String; githubId = Integer; name = String;};
1708 markWot = {email = String; name = String;};
1813 markWot = {email = String; name = String;};
1709 markus1189 =
1814 markus1189 =
1710− {email = String; github = String; githubId = Number; name = String;};
1815+ {email = String; github = String; githubId = Integer; name = String;};
1711 markuskowa =
1816 markuskowa =
1712− {email = String; github = String; githubId = Number; name = String;};
1817+ {email = String; github = String; githubId = Integer; name = String;};
1818+ marsam =
1713− marsam = {email = String; github = String; githubId = Number; name = String;};
1819+ {email = String; github = String; githubId = Integer; name = String;};
1714 martijnvermaat =
1820 martijnvermaat =
1715− {email = String; github = String; githubId = Number; name = String;};
1821+ {email = String; github = String; githubId = Integer; name = String;};
1716 martingms =
1822 martingms =
1717− {email = String; github = String; githubId = Number; name = String;};
1823+ {email = String; github = String; githubId = Integer; name = String;};
1718 marzipankaiser =
1824 marzipankaiser =
1719 { email = String;
1825 { email = String;
1720 github = String;
1826 github = String;
1721− githubId = Number;
1827+ githubId = Integer;
1722 keys = [{fingerprint = String; longkeyid = String;}];
1828 keys = [{fingerprint = String; longkeyid = String;}];
1723 name = String;
1829 name = String;
1724 };
1830 };
1725 masaeedu =
1831 masaeedu =
1726− {email = String; github = String; githubId = Number; name = String;};
1832+ {email = String; github = String; githubId = Integer; name = String;};
1833+ matejc =
1727− matejc = {email = String; github = String; githubId = Number; name = String;};
1834+ {email = String; github = String; githubId = Integer; name = String;};
1728 mathnerd314 =
1835 mathnerd314 =
1729− {email = String; github = String; githubId = Number; name = String;};
1836+ {email = String; github = String; githubId = Integer; name = String;};
1730 matklad =
1837 matklad =
1731− {email = String; github = String; githubId = Number; name = String;};
1838+ {email = String; github = String; githubId = Integer; name = String;};
1732 matt-snider =
1839 matt-snider =
1733− {email = String; github = String; githubId = Number; name = String;};
1840+ {email = String; github = String; githubId = Integer; name = String;};
1734 matthewbauer =
1841 matthewbauer =
1735− {email = String; github = String; githubId = Number; name = String;};
1842+ {email = String; github = String; githubId = Integer; name = String;};
1736 matthiasbeyer =
1843 matthiasbeyer =
1737− {email = String; github = String; githubId = Number; name = String;};
1844+ {email = String; github = String; githubId = Integer; name = String;};
1738 matthuszagh =
1845 matthuszagh =
1739− {email = String; github = String; githubId = Number; name = String;};
1846+ {email = String; github = String; githubId = Integer; name = String;};
1740 matti-kariluoma =
1847 matti-kariluoma =
1741− {email = String; github = String; githubId = Number; name = String;};
1848+ {email = String; github = String; githubId = Integer; name = String;};
1849+ maurer =
1742− maurer = {email = String; github = String; githubId = Number; name = String;};
1850+ {email = String; github = String; githubId = Integer; name = String;};
1743 maxdamantus =
1851 maxdamantus =
1744− {email = String; github = String; githubId = Number; name = String;};
1852+ {email = String; github = String; githubId = Integer; name = String;};
1745 maxeaubrey =
1853 maxeaubrey =
1746− {email = String; github = String; githubId = Number; name = String;};
1854+ {email = String; github = String; githubId = Integer; name = String;};
1747− maxxk = {email = String; github = String; githubId = Number; name = String;};
1855+ maxxk = {email = String; github = String; githubId = Integer; name = String;};
1748 mbaillie =
1856 mbaillie =
1749− {email = String; github = String; githubId = Number; name = String;};
1857+ {email = String; github = String; githubId = Integer; name = String;};
1858+ mbakke =
1750− mbakke = {email = String; github = String; githubId = Number; name = String;};
1859+ {email = String; github = String; githubId = Integer; name = String;};
1751 mbbx6spp =
1860 mbbx6spp =
1752− {email = String; github = String; githubId = Number; name = String;};
1861+ {email = String; github = String; githubId = Integer; name = String;};
1753− mbe = {email = String; github = String; githubId = Number; name = String;};
1862+ mbe = {email = String; github = String; githubId = Integer; name = String;};
1754− mbode = {email = String; github = String; githubId = Number; name = String;};
1863+ mbode = {email = String; github = String; githubId = Integer; name = String;};
1755− mboes = {email = String; github = String; githubId = Number; name = String;};
1864+ mboes = {email = String; github = String; githubId = Integer; name = String;};
1756− mbrgm = {email = String; github = String; githubId = Number; name = String;};
1865+ mbrgm = {email = String; github = String; githubId = Integer; name = String;};
1866+ mcbeth =
1757− mcbeth = {email = String; github = String; githubId = Number; name = String;};
1867+ {email = String; github = String; githubId = Integer; name = String;};
1758 mcmtroffaes =
1868 mcmtroffaes =
1759− {email = String; github = String; githubId = Number; name = String;};
1869+ {email = String; github = String; githubId = Integer; name = String;};
1870+ mcwitt =
1760− mcwitt = {email = String; github = String; githubId = Number; name = String;};
1871+ {email = String; github = String; githubId = Integer; name = String;};
1761 mdaiter =
1872 mdaiter =
1762− {email = String; github = String; githubId = Number; name = String;};
1873+ {email = String; github = String; githubId = Integer; name = String;};
1763 mdevlamynck =
1874 mdevlamynck =
1764− {email = String; github = String; githubId = Number; name = String;};
1875+ {email = String; github = String; githubId = Integer; name = String;};
1765 mdlayher =
1876 mdlayher =
1766 { email = String;
1877 { email = String;
1767 github = String;
1878 github = String;
1768− githubId = Number;
1879+ githubId = Integer;
1769 keys = [{fingerprint = String; longkeyid = String;}];
1880 keys = [{fingerprint = String; longkeyid = String;}];
1770 name = String;
1881 name = String;
1771 };
1882 };
1772 meditans =
1883 meditans =
1773− {email = String; github = String; githubId = Number; name = String;};
1884+ {email = String; github = String; githubId = Integer; name = String;};
1774 megheaiulian =
1885 megheaiulian =
1775− {email = String; github = String; githubId = Number; name = String;};
1886+ {email = String; github = String; githubId = Integer; name = String;};
1776 mehandes =
1887 mehandes =
1777− {email = String; github = String; githubId = Number; name = String;};
1888+ {email = String; github = String; githubId = Integer; name = String;};
1778 meisternu =
1889 meisternu =
1779− {email = String; github = String; githubId = Number; name = String;};
1890+ {email = String; github = String; githubId = Integer; name = String;};
1780 melchips =
1891 melchips =
1781− {email = String; github = String; githubId = Number; name = String;};
1892+ {email = String; github = String; githubId = Integer; name = String;};
1782 melkor333 =
1893 melkor333 =
1783− {email = String; github = String; githubId = Number; name = String;};
1894+ {email = String; github = String; githubId = Integer; name = String;};
1784 melling =
1895 melling =
1785− {email = String; github = String; githubId = Number; name = String;};
1896+ {email = String; github = String; githubId = Integer; name = String;};
1786 melsigl =
1897 melsigl =
1787− {email = String; github = String; githubId = Number; name = String;};
1898+ {email = String; github = String; githubId = Integer; name = String;};
1788 metabar = {email = String; name = String;};
1899 metabar = {email = String; name = String;};
1789 metadark =
1900 metadark =
1790− {email = String; github = String; githubId = Number; name = String;};
1901+ {email = String; github = String; githubId = Integer; name = String;};
1791 meutraa =
1902 meutraa =
1792− {email = String; github = String; githubId = Number; name = String;};
1903+ {email = String; github = String; githubId = Integer; name = String;};
1793 mfossen =
1904 mfossen =
1794− {email = String; github = String; githubId = Number; name = String;};
1905+ {email = String; github = String; githubId = Integer; name = String;};
1795 mgdelacroix =
1906 mgdelacroix =
1796− {email = String; github = String; githubId = Number; name = String;};
1907+ {email = String; github = String; githubId = Integer; name = String;};
1797− mgdm = {email = String; github = String; githubId = Number; name = String;};
1908+ mgdm = {email = String; github = String; githubId = Integer; name = String;};
1798 mgregoire =
1909 mgregoire =
1799− {email = String; github = String; githubId = Number; name = String;};
1910+ {email = String; github = String; githubId = Integer; name = String;};
1800 mgttlinger =
1911 mgttlinger =
1801− {email = String; github = String; githubId = Number; name = String;};
1912+ {email = String; github = String; githubId = Integer; name = String;};
1802 mguentner =
1913 mguentner =
1803− {email = String; github = String; githubId = Number; name = String;};
1914+ {email = String; github = String; githubId = Integer; name = String;};
1804 mhaselsteiner =
1915 mhaselsteiner =
1805− {email = String; github = String; githubId = Number; name = String;};
1916+ {email = String; github = String; githubId = Integer; name = String;};
1806 mic92 =
1917 mic92 =
1807 { email = String;
1918 { email = String;
1808 github = String;
1919 github = String;
1809− githubId = Number;
1920+ githubId = Integer;
1810 keys = [{fingerprint = String; longkeyid = String;}];
1921 keys = [{fingerprint = String; longkeyid = String;}];
1811 name = String;
1922 name = String;
1812 };
1923 };
1813 michaelpj =
1924 michaelpj =
1814− {email = String; github = String; githubId = Number; name = String;};
1925+ {email = String; github = String; githubId = Integer; name = String;};
1815 michalrus =
1926 michalrus =
1816− {email = String; github = String; githubId = Number; name = String;};
1927+ {email = String; github = String; githubId = Integer; name = String;};
1817 michelk =
1928 michelk =
1818− {email = String; github = String; githubId = Number; name = String;};
1929+ {email = String; github = String; githubId = Integer; name = String;};
1819 michojel =
1930 michojel =
1820− {email = String; github = String; githubId = Number; name = String;};
1931+ {email = String; github = String; githubId = Integer; name = String;};
1821 mickours =
1932 mickours =
1822− {email = String; github = String; githubId = Number; name = String;};
1933+ {email = String; github = String; githubId = Integer; name = String;};
1823 midchildan =
1934 midchildan =
1824− {email = String; github = String; githubId = Number; name = String;};
1935+ {email = String; github = String; githubId = Integer; name = String;};
1825 mikefaille =
1936 mikefaille =
1826− {email = String; github = String; githubId = Number; name = String;};
1937+ {email = String; github = String; githubId = Integer; name = String;};
1827 mikesperber =
1938 mikesperber =
1828− {email = String; github = String; githubId = Number; name = String;};
1939+ {email = String; github = String; githubId = Integer; name = String;};
1940+ mikoim =
1829− mikoim = {email = String; github = String; githubId = Number; name = String;};
1941+ {email = String; github = String; githubId = Integer; name = String;};
1830 mildlyincompetent =
1942 mildlyincompetent =
1831− {email = String; github = String; githubId = Number; name = String;};
1943+ {email = String; github = String; githubId = Integer; name = String;};
1832 millerjason =
1944 millerjason =
1833− {email = String; github = String; githubId = Number; name = String;};
1945+ {email = String; github = String; githubId = Integer; name = String;};
1834 miltador = {email = String; name = String;};
1946 miltador = {email = String; name = String;};
1947+ mimame =
1835− mimame = {email = String; github = String; githubId = Number; name = String;};
1948+ {email = String; github = String; githubId = Integer; name = String;};
1836 mindavi =
1949 mindavi =
1837− {email = String; github = String; githubId = Number; name = String;};
1950+ {email = String; github = String; githubId = Integer; name = String;};
1838 minijackson =
1951 minijackson =
1839 { email = String;
1952 { email = String;
1840 github = String;
1953 github = String;
1841− githubId = Number;
1954+ githubId = Integer;
1842 keys = [{fingerprint = String; longkeyid = String;}];
1955 keys = [{fingerprint = String; longkeyid = String;}];
1843 name = String;
1956 name = String;
1844 };
1957 };
1845− mir06 = {email = String; github = String; githubId = Number; name = String;};
1958+ mir06 = {email = String; github = String; githubId = Integer; name = String;};
1846 mirdhyn =
1959 mirdhyn =
1847− {email = String; github = String; githubId = Number; name = String;};
1960+ {email = String; github = String; githubId = Integer; name = String;};
1848 mirrexagon =
1961 mirrexagon =
1849− {email = String; github = String; githubId = Number; name = String;};
1962+ {email = String; github = String; githubId = Integer; name = String;};
1963+ misuzu =
1850− misuzu = {email = String; github = String; githubId = Number; name = String;};
1964+ {email = String; github = String; githubId = Integer; name = String;};
1851 mjanczyk =
1965 mjanczyk =
1852− {email = String; github = String; githubId = Number; name = String;};
1966+ {email = String; github = String; githubId = Integer; name = String;};
1853− mjp = {email = String; github = String; githubId = Number; name = String;};
1967+ mjp = {email = String; github = String; githubId = Integer; name = String;};
1968+ mkaito =
1854− mkaito = {email = String; github = String; githubId = Number; name = String;};
1969+ {email = String; github = String; githubId = Integer; name = String;};
1855 mkazulak =
1970 mkazulak =
1856− {email = String; github = String; githubId = Number; name = String;};
1971+ {email = String; github = String; githubId = Integer; name = String;};
1857 mkf =
1972 mkf =
1858 { email = String;
1973 { email = String;
1859 github = String;
1974 github = String;
1860− githubId = Number;
1975+ githubId = Integer;
1861 keys = [{fingerprint = String; longkeyid = String;}];
1976 keys = [{fingerprint = String; longkeyid = String;}];
1862 name = String;
1977 name = String;
1863 };
1978 };
1864− mkg = {email = String; github = String; githubId = Number; name = String;};
1979+ mkg = {email = String; github = String; githubId = Integer; name = String;};
1865 mkg20001 =
1980 mkg20001 =
1866 { email = String;
1981 { email = String;
1867 github = String;
1982 github = String;
1868− githubId = Number;
1983+ githubId = Integer;
1869 keys = [{fingerprint = String; longkeyid = String;}];
1984 keys = [{fingerprint = String; longkeyid = String;}];
1870 name = String;
1985 name = String;
1871 };
1986 };
1987+ mlatus =
1872− mlatus = {email = String; github = String; githubId = Number; name = String;};
1988+ {email = String; github = String; githubId = Integer; name = String;};
1873 mlieberman85 =
1989 mlieberman85 =
1874− {email = String; github = String; githubId = Number; name = String;};
1990+ {email = String; github = String; githubId = Integer; name = String;};
1991+ mmahut =
1875− mmahut = {email = String; github = String; githubId = Number; name = String;};
1992+ {email = String; github = String; githubId = Integer; name = String;};
1876− mmai = {email = String; github = String; githubId = Number; name = String;};
1993+ mmai = {email = String; github = String; githubId = Integer; name = String;};
1877 mmilata =
1994 mmilata =
1878− {email = String; github = String; githubId = Number; name = String;};
1995+ {email = String; github = String; githubId = Integer; name = String;};
1879− mmlb = {email = String; github = String; githubId = Number; name = String;};
1996+ mmlb = {email = String; github = String; githubId = Integer; name = String;};
1880 mnacamura =
1997 mnacamura =
1881− {email = String; github = String; githubId = Number; name = String;};
1998+ {email = String; github = String; githubId = Integer; name = String;};
1999+ moaxcp =
1882− moaxcp = {email = String; github = String; githubId = Number; name = String;};
2000+ {email = String; github = String; githubId = Integer; name = String;};
1883 modulistic =
2001 modulistic =
1884− {email = String; github = String; githubId = Number; name = String;};
2002+ {email = String; github = String; githubId = Integer; name = String;};
1885− mog = {email = String; github = String; githubId = Number; name = String;};
2003+ mog = {email = String; github = String; githubId = Integer; name = String;};
1886 monsieurp =
2004 monsieurp =
1887− {email = String; github = String; githubId = Number; name = String;};
2005+ {email = String; github = String; githubId = Integer; name = String;};
1888 montag451 =
2006 montag451 =
1889− {email = String; github = String; githubId = Number; name = String;};
2007+ {email = String; github = String; githubId = Integer; name = String;};
1890 moosingin3space =
2008 moosingin3space =
1891− {email = String; github = String; githubId = Number; name = String;};
2009+ {email = String; github = String; githubId = Integer; name = String;};
1892 moredread =
2010 moredread =
1893 { email = String;
2011 { email = String;
1894 github = String;
2012 github = String;
1895− githubId = Number;
2013+ githubId = Integer;
1896 keys = [{fingerprint = String; longkeyid = String;}];
2014 keys = [{fingerprint = String; longkeyid = String;}];
1897 name = String;
2015 name = String;
1898 };
2016 };
1899 moretea =
2017 moretea =
1900− {email = String; github = String; githubId = Number; name = String;};
2018+ {email = String; github = String; githubId = Integer; name = String;};
1901 mothsart =
2019 mothsart =
1902− {email = String; github = String; githubId = Number; name = String;};
2020+ {email = String; github = String; githubId = Integer; name = String;};
1903 mounium =
2021 mounium =
1904− {email = String; github = String; githubId = Number; name = String;};
2022+ {email = String; github = String; githubId = Integer; name = String;};
1905− mpcsh = {email = String; github = String; githubId = Number; name = String;};
2023+ mpcsh = {email = String; github = String; githubId = Integer; name = String;};
1906 mpickering =
2024 mpickering =
1907− {email = String; github = String; githubId = Number; name = String;};
2025+ {email = String; github = String; githubId = Integer; name = String;};
1908 mpoquet =
2026 mpoquet =
1909− {email = String; github = String; githubId = Number; name = String;};
2027+ {email = String; github = String; githubId = Integer; name = String;};
1910 mpscholten =
2028 mpscholten =
1911− {email = String; github = String; githubId = Number; name = String;};
2029+ {email = String; github = String; githubId = Integer; name = String;};
2030+ mpsyco =
1912− mpsyco = {email = String; github = String; githubId = Number; name = String;};
2031+ {email = String; github = String; githubId = Integer; name = String;};
1913 mrVanDalo =
2032 mrVanDalo =
1914− {email = String; github = String; githubId = Number; name = String;};
2033+ {email = String; github = String; githubId = Integer; name = String;};
1915 mredaelli =
2034 mredaelli =
1916− {email = String; github = String; githubId = Number; name = String;};
2035+ {email = String; github = String; githubId = Integer; name = String;};
2036+ mrkkrp =
1917− mrkkrp = {email = String; github = String; githubId = Number; name = String;};
2037+ {email = String; github = String; githubId = Integer; name = String;};
1918 mrmebelman =
2038 mrmebelman =
1919− {email = String; github = String; githubId = Number; name = String;};
2039+ {email = String; github = String; githubId = Integer; name = String;};
1920 msackman = {email = String; name = String;};
2040 msackman = {email = String; name = String;};
1921 mschneider = {email = String; name = String;};
2041 mschneider = {email = String; name = String;};
1922 mschristiansen =
2042 mschristiansen =
1923− {email = String; github = String; githubId = Number; name = String;};
2043+ {email = String; github = String; githubId = Integer; name = String;};
1924 mschuwalow =
2044 mschuwalow =
1925− {email = String; github = String; githubId = Number; name = String;};
2045+ {email = String; github = String; githubId = Integer; name = String;};
1926 msiedlarek =
2046 msiedlarek =
1927− {email = String; github = String; githubId = Number; name = String;};
2047+ {email = String; github = String; githubId = Integer; name = String;};
1928− msm = {email = String; github = String; githubId = Number; name = String;};
2048+ msm = {email = String; github = String; githubId = Integer; name = String;};
1929 mstarzyk =
2049 mstarzyk =
1930− {email = String; github = String; githubId = Number; name = String;};
2050+ {email = String; github = String; githubId = Integer; name = String;};
2051+ msteen =
1931− msteen = {email = String; github = String; githubId = Number; name = String;};
2052+ {email = String; github = String; githubId = Integer; name = String;};
1932 mt-caret =
2053 mt-caret =
1933− {email = String; github = String; githubId = Number; name = String;};
2054+ {email = String; github = String; githubId = Integer; name = String;};
1934 mtreskin =
2055 mtreskin =
1935− {email = String; github = String; githubId = Number; name = String;};
2056+ {email = String; github = String; githubId = Integer; name = String;};
1936− mtrsk = {email = String; github = String; githubId = Number; name = String;};
2057+ mtrsk = {email = String; github = String; githubId = Integer; name = String;};
1937− mudri = {email = String; github = String; githubId = Number; name = String;};
2058+ mudri = {email = String; github = String; githubId = Integer; name = String;};
2059+ muflax =
1938− muflax = {email = String; github = String; githubId = Number; name = String;};
2060+ {email = String; github = String; githubId = Integer; name = String;};
2061+ multun =
1939− multun = {email = String; github = String; githubId = Number; name = String;};
2062+ {email = String; github = String; githubId = Integer; name = String;};
1940− mupdt = {email = String; github = String; githubId = Number; name = String;};
2063+ mupdt = {email = String; github = String; githubId = Integer; name = String;};
1941 mvnetbiz =
2064 mvnetbiz =
1942− {email = String; github = String; githubId = Number; name = String;};
2065+ {email = String; github = String; githubId = Integer; name = String;};
1943 mwilsoninsight =
2066 mwilsoninsight =
1944− {email = String; github = String; githubId = Number; name = String;};
2067+ {email = String; github = String; githubId = Integer; name = String;};
1945− myrl = {email = String; github = String; githubId = Number; name = String;};
2068+ myrl = {email = String; github = String; githubId = Integer; name = String;};
1946 nadrieril =
2069 nadrieril =
1947− {email = String; github = String; githubId = Number; name = String;};
2070+ {email = String; github = String; githubId = Integer; name = String;};
2071+ nagisa =
1948− nagisa = {email = String; github = String; githubId = Number; name = String;};
2072+ {email = String; github = String; githubId = Integer; name = String;};
1949 nalbyuites =
2073 nalbyuites =
1950− {email = String; github = String; githubId = Number; name = String;};
2074+ {email = String; github = String; githubId = Integer; name = String;};
2075+ namore =
1951− namore = {email = String; github = String; githubId = Number; name = String;};
2076+ {email = String; github = String; githubId = Integer; name = String;};
2077+ nand0p =
1952− nand0p = {email = String; github = String; githubId = Number; name = String;};
2078+ {email = String; github = String; githubId = Integer; name = String;};
1953 nathan-gs =
2079 nathan-gs =
1954− {email = String; github = String; githubId = Number; name = String;};
2080+ {email = String; github = String; githubId = Integer; name = String;};
1955 nathyong =
2081 nathyong =
1956− {email = String; github = String; githubId = Number; name = String;};
2082+ {email = String; github = String; githubId = Integer; name = String;};
1957− nckx = {email = String; github = String; githubId = Number; name = String;};
2083+ nckx = {email = String; github = String; githubId = Integer; name = String;};
1958 neeasade =
2084 neeasade =
1959− {email = String; github = String; githubId = Number; name = String;};
2085+ {email = String; github = String; githubId = Integer; name = String;};
1960 neonfuz =
2086 neonfuz =
1961− {email = String; github = String; githubId = Number; name = String;};
2087+ {email = String; github = String; githubId = Integer; name = String;};
1962 nequissimus =
2088 nequissimus =
1963− {email = String; github = String; githubId = Number; name = String;};
2089+ {email = String; github = String; githubId = Integer; name = String;};
2090+ netixx =
1964− netixx = {email = String; github = String; githubId = Number; name = String;};
2091+ {email = String; github = String; githubId = Integer; name = String;};
1965 nfjinjing = {email = String; name = String;};
2092 nfjinjing = {email = String; name = String;};
1966 ngerstle =
2093 ngerstle =
1967− {email = String; github = String; githubId = Number; name = String;};
2094+ {email = String; github = String; githubId = Integer; name = String;};
1968− nh2 = {email = String; github = String; githubId = Number; name = String;};
2095+ nh2 = {email = String; github = String; githubId = Integer; name = String;};
2096+ nhooyr =
1969− nhooyr = {email = String; github = String; githubId = Number; name = String;};
2097+ {email = String; github = String; githubId = Integer; name = String;};
2098+ nickhu =
1970− nickhu = {email = String; github = String; githubId = Number; name = String;};
2099+ {email = String; github = String; githubId = Integer; name = String;};
1971 nicknovitski =
2100 nicknovitski =
1972− {email = String; github = String; githubId = Number; name = String;};
2101+ {email = String; github = String; githubId = Integer; name = String;};
1973 nico202 =
2102 nico202 =
1974− {email = String; github = String; githubId = Number; name = String;};
2103+ {email = String; github = String; githubId = Integer; name = String;};
1975 nikitavoloboev =
2104 nikitavoloboev =
1976− {email = String; github = String; githubId = Number; name = String;};
2105+ {email = String; github = String; githubId = Integer; name = String;};
1977 nilp0inter =
2106 nilp0inter =
1978− {email = String; github = String; githubId = Number; name = String;};
2107+ {email = String; github = String; githubId = Integer; name = String;};
1979 nilsirl =
2108 nilsirl =
1980− {email = String; github = String; githubId = Number; name = String;};
2109+ {email = String; github = String; githubId = Integer; name = String;};
1981 ninjatrappeur =
2110 ninjatrappeur =
1982− {email = String; github = String; githubId = Number; name = String;};
2111+ {email = String; github = String; githubId = Integer; name = String;};
1983 nioncode =
2112 nioncode =
1984− {email = String; github = String; githubId = Number; name = String;};
2113+ {email = String; github = String; githubId = Integer; name = String;};
1985− nipav = {email = String; github = String; githubId = Number; name = String;};
2114+ nipav = {email = String; github = String; githubId = Integer; name = String;};
1986− nixy = {email = String; github = String; githubId = Number; name = String;};
2115+ nixy = {email = String; github = String; githubId = Integer; name = String;};
1987 nloomans =
2116 nloomans =
1988− {email = String; github = String; githubId = Number; name = String;};
2117+ {email = String; github = String; githubId = Integer; name = String;};
1989 nmattia =
2118 nmattia =
1990− {email = String; github = String; githubId = Number; name = String;};
2119+ {email = String; github = String; githubId = Integer; name = String;};
2120+ nocent =
1991− nocent = {email = String; github = String; githubId = Number; name = String;};
2121+ {email = String; github = String; githubId = Integer; name = String;};
1992 nocoolnametom =
2122 nocoolnametom =
1993− {email = String; github = String; githubId = Number; name = String;};
2123+ {email = String; github = String; githubId = Integer; name = String;};
1994 nomeata =
2124 nomeata =
1995− {email = String; github = String; githubId = Number; name = String;};
2125+ {email = String; github = String; githubId = Integer; name = String;};
1996 noneucat =
2126 noneucat =
1997− {email = String; github = String; githubId = Number; name = String;};
2127+ {email = String; github = String; githubId = Integer; name = String;};
1998 notbandali =
2128 notbandali =
1999 { email = String;
2129 { email = String;
2000 github = String;
2130 github = String;
2001− githubId = Number;
2131+ githubId = Integer;
2002 keys = [{fingerprint = String; longkeyid = String;}];
2132 keys = [{fingerprint = String; longkeyid = String;}];
2003 name = String;
2133 name = String;
2004 };
2134 };
2005 notthemessiah =
2135 notthemessiah =
2006− {email = String; github = String; githubId = Number; name = String;};
2136+ {email = String; github = String; githubId = Integer; name = String;};
2007 novoxudonoser =
2137 novoxudonoser =
2008− {email = String; github = String; githubId = Number; name = String;};
2138+ {email = String; github = String; githubId = Integer; name = String;};
2009− np = {email = String; github = String; githubId = Number; name = String;};
2139+ np = {email = String; github = String; githubId = Integer; name = String;};
2010 nphilou =
2140 nphilou =
2011− {email = String; github = String; githubId = Number; name = String;};
2141+ {email = String; github = String; githubId = Integer; name = String;};
2012− nrdxp = {email = String; github = String; githubId = Number; name = String;};
2142+ nrdxp = {email = String; github = String; githubId = Integer; name = String;};
2013 nshalman =
2143 nshalman =
2014− {email = String; github = String; githubId = Number; name = String;};
2144+ {email = String; github = String; githubId = Integer; name = String;};
2015 nslqqq = {email = String; name = String;};
2145 nslqqq = {email = String; name = String;};
2016 nthorne =
2146 nthorne =
2017− {email = String; github = String; githubId = Number; name = String;};
2147+ {email = String; github = String; githubId = Integer; name = String;};
2018 numinit =
2148 numinit =
2019− {email = String; github = String; githubId = Number; name = String;};
2149+ {email = String; github = String; githubId = Integer; name = String;};
2150+ numkem =
2020− numkem = {email = String; github = String; githubId = Number; name = String;};
2151+ {email = String; github = String; githubId = Integer; name = String;};
2021 nyanloutre =
2152 nyanloutre =
2022− {email = String; github = String; githubId = Number; name = String;};
2153+ {email = String; github = String; githubId = Integer; name = String;};
2154+ nyarly =
2023− nyarly = {email = String; github = String; githubId = Number; name = String;};
2155+ {email = String; github = String; githubId = Integer; name = String;};
2024 nzhang-zh =
2156 nzhang-zh =
2025− {email = String; github = String; githubId = Number; name = String;};
2157+ {email = String; github = String; githubId = Integer; name = String;};
2026− obadz = {email = String; github = String; githubId = Number; name = String;};
2158+ obadz = {email = String; github = String; githubId = Integer; name = String;};
2027 ocharles =
2159 ocharles =
2028− {email = String; github = String; githubId = Number; name = String;};
2160+ {email = String; github = String; githubId = Integer; name = String;};
2029− odi = {email = String; github = String; githubId = Number; name = String;};
2161+ odi = {email = String; github = String; githubId = Integer; name = String;};
2030 offline =
2162 offline =
2031− {email = String; github = String; githubId = Number; name = String;};
2163+ {email = String; github = String; githubId = Integer; name = String;};
2032− oida = {email = String; github = String; githubId = Number; name = String;};
2164+ oida = {email = String; github = String; githubId = Integer; name = String;};
2033 okasu = {email = String; name = String;};
2165 okasu = {email = String; name = String;};
2034− olcai = {email = String; github = String; githubId = Number; name = String;};
2166+ olcai = {email = String; github = String; githubId = Integer; name = String;};
2035 olejorgenb =
2167 olejorgenb =
2036− {email = String; github = String; githubId = Number; name = String;};
2168+ {email = String; github = String; githubId = Integer; name = String;};
2169+ olynch =
2037− olynch = {email = String; github = String; githubId = Number; name = String;};
2170+ {email = String; github = String; githubId = Integer; name = String;};
2038 omnipotententity =
2171 omnipotententity =
2039− {email = String; github = String; githubId = Number; name = String;};
2172+ {email = String; github = String; githubId = Integer; name = String;};
2173+ orbekk =
2040− orbekk = {email = String; github = String; githubId = Number; name = String;};
2174+ {email = String; github = String; githubId = Integer; name = String;};
2175+ orbitz =
2041− orbitz = {email = String; github = String; githubId = Number; name = String;};
2176+ {email = String; github = String; githubId = Integer; name = String;};
2177+ orivej =
2042− orivej = {email = String; github = String; githubId = Number; name = String;};
2178+ {email = String; github = String; githubId = Integer; name = String;};
2043− oro = {email = String; github = String; githubId = Number; name = String;};
2179+ oro = {email = String; github = String; githubId = Integer; name = String;};
2180+ osener =
2044− osener = {email = String; github = String; githubId = Number; name = String;};
2181+ {email = String; github = String; githubId = Integer; name = String;};
2045 otwieracz =
2182 otwieracz =
2046− {email = String; github = String; githubId = Number; name = String;};
2183+ {email = String; github = String; githubId = Integer; name = String;};
2047 oxalica =
2184 oxalica =
2048 { email = String;
2185 { email = String;
2049 github = String;
2186 github = String;
2050− githubId = Number;
2187+ githubId = Integer;
2051 keys = [{fingerprint = String; longkeyid = String;}];
2188 keys = [{fingerprint = String; longkeyid = String;}];
2052 name = String;
2189 name = String;
2053 };
2190 };
2054 oxij =
2191 oxij =
2055 { email = String;
2192 { email = String;
2056 github = String;
2193 github = String;
2057− githubId = Number;
2194+ githubId = Integer;
2058 keys = [{fingerprint = String; longkeyid = String;}];
2195 keys = [{fingerprint = String; longkeyid = String;}];
2059 name = String;
2196 name = String;
2060 };
2197 };
2061 oxzi =
2198 oxzi =
2062 { email = String;
2199 { email = String;
2063 github = String;
2200 github = String;
2064− githubId = Number;
2201+ githubId = Integer;
2065 keys = [{fingerprint = String; longkeyid = String;}];
2202 keys = [{fingerprint = String; longkeyid = String;}];
2066 name = String;
2203 name = String;
2067 };
2204 };
2068− oyren = {email = String; github = String; githubId = Number; name = String;};
2205+ oyren = {email = String; github = String; githubId = Integer; name = String;};
2069− pSub = {email = String; github = String; githubId = Number; name = String;};
2206+ pSub = {email = String; github = String; githubId = Integer; name = String;};
2070 pablovsky =
2207 pablovsky =
2071− {email = String; github = String; githubId = Number; name = String;};
2208+ {email = String; github = String; githubId = Integer; name = String;};
2209+ pacien =
2072− pacien = {email = String; github = String; githubId = Number; name = String;};
2210+ {email = String; github = String; githubId = Integer; name = String;};
2073 paddygord =
2211 paddygord =
2074− {email = String; github = String; githubId = Number; name = String;};
2212+ {email = String; github = String; githubId = Integer; name = String;};
2213+ paholg =
2075− paholg = {email = String; github = String; githubId = Number; name = String;};
2214+ {email = String; github = String; githubId = Integer; name = String;};
2215+ pakhfn =
2076− pakhfn = {email = String; github = String; githubId = Number; name = String;};
2216+ {email = String; github = String; githubId = Integer; name = String;};
2077− paluh = {email = String; github = String; githubId = Number; name = String;};
2217+ paluh = {email = String; github = String; githubId = Integer; name = String;};
2078 pamplemousse =
2218 pamplemousse =
2079− {email = String; github = String; githubId = Number; name = String;};
2219+ {email = String; github = String; githubId = Integer; name = String;};
2080 panaeon =
2220 panaeon =
2081− {email = String; github = String; githubId = Number; name = String;};
2221+ {email = String; github = String; githubId = Integer; name = String;};
2082 pandaman =
2222 pandaman =
2083− {email = String; github = String; githubId = Number; name = String;};
2223+ {email = String; github = String; githubId = Integer; name = String;};
2084 paperdigits =
2224 paperdigits =
2085− {email = String; github = String; githubId = Number; name = String;};
2225+ {email = String; github = String; githubId = Integer; name = String;};
2086 paraseba =
2226 paraseba =
2087− {email = String; github = String; githubId = Number; name = String;};
2227+ {email = String; github = String; githubId = Integer; name = String;};
2088 parasrah =
2228 parasrah =
2089− {email = String; github = String; githubId = Number; name = String;};
2229+ {email = String; github = String; githubId = Integer; name = String;};
2090 pashashocky =
2230 pashashocky =
2091− {email = String; github = String; githubId = Number; name = String;};
2231+ {email = String; github = String; githubId = Integer; name = String;};
2232+ pashev =
2092− pashev = {email = String; github = String; githubId = Number; name = String;};
2233+ {email = String; github = String; githubId = Integer; name = String;};
2093 patryk27 =
2234 patryk27 =
2094 { email = String;
2235 { email = String;
2095 github = String;
2236 github = String;
2096− githubId = Number;
2237+ githubId = Integer;
2097 keys = [{fingerprint = String; longkeyid = String;}];
2238 keys = [{fingerprint = String; longkeyid = String;}];
2098 name = String;
2239 name = String;
2099 };
2240 };
2100 patternspandemic =
2241 patternspandemic =
2101− {email = String; github = String; githubId = Number; name = String;};
2242+ {email = String; github = String; githubId = Integer; name = String;};
2102 pawelpacana =
2243 pawelpacana =
2103− {email = String; github = String; githubId = Number; name = String;};
2244+ {email = String; github = String; githubId = Integer; name = String;};
2104− pblkt = {email = String; github = String; githubId = Number; name = String;};
2245+ pblkt = {email = String; github = String; githubId = Integer; name = String;};
2105 pbogdan =
2246 pbogdan =
2106− {email = String; github = String; githubId = Number; name = String;};
2247+ {email = String; github = String; githubId = Integer; name = String;};
2107 pcarrier =
2248 pcarrier =
2108− {email = String; github = String; githubId = Number; name = String;};
2249+ {email = String; github = String; githubId = Integer; name = String;};
2109− peelz = {email = String; github = String; githubId = Number; name = String;};
2250+ peelz = {email = String; github = String; githubId = Integer; name = String;};
2110 periklis =
2251 periklis =
2111− {email = String; github = String; githubId = Number; name = String;};
2252+ {email = String; github = String; githubId = Integer; name = String;};
2112 pesterhazy =
2253 pesterhazy =
2113− {email = String; github = String; githubId = Number; name = String;};
2254+ {email = String; github = String; githubId = Integer; name = String;};
2114 petabyteboy =
2255 petabyteboy =
2115− {email = String; github = String; githubId = Number; name = String;};
2256+ {email = String; github = String; githubId = Integer; name = String;};
2116 petercommand =
2257 petercommand =
2117− {email = String; github = String; githubId = Number; name = String;};
2258+ {email = String; github = String; githubId = Integer; name = String;};
2118 peterhoeg =
2259 peterhoeg =
2119− {email = String; github = String; githubId = Number; name = String;};
2260+ {email = String; github = String; githubId = Integer; name = String;};
2120 peterromfeldhk =
2261 peterromfeldhk =
2121− {email = String; github = String; githubId = Number; name = String;};
2262+ {email = String; github = String; githubId = Integer; name = String;};
2122 petersjt014 =
2263 petersjt014 =
2123− {email = String; github = String; githubId = Number; name = String;};
2264+ {email = String; github = String; githubId = Integer; name = String;};
2124− peti = {email = String; github = String; githubId = Number; name = String;};
2265+ peti = {email = String; github = String; githubId = Integer; name = String;};
2125 philandstuff =
2266 philandstuff =
2126− {email = String; github = String; githubId = Number; name = String;};
2267+ {email = String; github = String; githubId = Integer; name = String;};
2127 phile314 =
2268 phile314 =
2128− {email = String; github = String; githubId = Number; name = String;};
2269+ {email = String; github = String; githubId = Integer; name = String;};
2129 phreedom =
2270 phreedom =
2130− {email = String; github = String; githubId = Number; name = String;};
2271+ {email = String; github = String; githubId = Integer; name = String;};
2131 phryneas =
2272 phryneas =
2132− {email = String; github = String; githubId = Number; name = String;};
2273+ {email = String; github = String; githubId = Integer; name = String;};
2133 phunehehe =
2274 phunehehe =
2134− {email = String; github = String; githubId = Number; name = String;};
2275+ {email = String; github = String; githubId = Integer; name = String;};
2135 pierrechevalier83 =
2276 pierrechevalier83 =
2136− {email = String; github = String; githubId = Number; name = String;};
2277+ {email = String; github = String; githubId = Integer; name = String;};
2137 pierreis =
2278 pierreis =
2138− {email = String; github = String; githubId = Number; name = String;};
2279+ {email = String; github = String; githubId = Integer; name = String;};
2139 pierrer =
2280 pierrer =
2140− {email = String; github = String; githubId = Number; name = String;};
2281+ {email = String; github = String; githubId = Integer; name = String;};
2141 pierron =
2282 pierron =
2142− {email = String; github = String; githubId = Number; name = String;};
2283+ {email = String; github = String; githubId = Integer; name = String;};
2143 pingiun =
2284 pingiun =
2144 { email = String;
2285 { email = String;
2145 github = String;
2286 github = String;
2146− githubId = Number;
2287+ githubId = Integer;
2147 keys = [{fingerprint = String; longkeyid = String;}];
2288 keys = [{fingerprint = String; longkeyid = String;}];
2148 name = String;
2289 name = String;
2149 };
2290 };
2150 piotr = {email = String; name = String;};
2291 piotr = {email = String; name = String;};
2151 pjbarnoy =
2292 pjbarnoy =
2152− {email = String; github = String; githubId = Number; name = String;};
2293+ {email = String; github = String; githubId = Integer; name = String;};
2153− pjjw = {email = String; github = String; githubId = Number; name = String;};
2294+ pjjw = {email = String; github = String; githubId = Integer; name = String;};
2295+ pjones =
2154− pjones = {email = String; github = String; githubId = Number; name = String;};
2296+ {email = String; github = String; githubId = Integer; name = String;};
2155− pkmx = {email = String; github = String; githubId = Number; name = String;};
2297+ pkmx = {email = String; github = String; githubId = Integer; name = String;};
2156 plchldr =
2298 plchldr =
2157− {email = String; github = String; githubId = Number; name = String;};
2299+ {email = String; github = String; githubId = Integer; name = String;};
2300+ plcplc =
2158− plcplc = {email = String; github = String; githubId = Number; name = String;};
2301+ {email = String; github = String; githubId = Integer; name = String;};
2302+ plumps =
2159− plumps = {email = String; github = String; githubId = Number; name = String;};
2303+ {email = String; github = String; githubId = Integer; name = String;};
2160 pmahoney =
2304 pmahoney =
2161− {email = String; github = String; githubId = Number; name = String;};
2305+ {email = String; github = String; githubId = Integer; name = String;};
2162 pmeunier =
2306 pmeunier =
2163− {email = String; github = String; githubId = Number; name = String;};
2307+ {email = String; github = String; githubId = Integer; name = String;};
2164 pmiddend =
2308 pmiddend =
2165− {email = String; github = String; githubId = Number; name = String;};
2309+ {email = String; github = String; githubId = Integer; name = String;};
2166 pmyjavec =
2310 pmyjavec =
2167− {email = String; github = String; githubId = Number; name = String;};
2311+ {email = String; github = String; githubId = Integer; name = String;};
2168 pnelson =
2312 pnelson =
2169− {email = String; github = String; githubId = Number; name = String;};
2313+ {email = String; github = String; githubId = Integer; name = String;};
2170 pneumaticat =
2314 pneumaticat =
2171− {email = String; github = String; githubId = Number; name = String;};
2315+ {email = String; github = String; githubId = Integer; name = String;};
2172 polyrod =
2316 polyrod =
2173− {email = String; github = String; githubId = Number; name = String;};
2317+ {email = String; github = String; githubId = Integer; name = String;};
2174 pombeirp =
2318 pombeirp =
2175− {email = String; github = String; githubId = Number; name = String;};
2319+ {email = String; github = String; githubId = Integer; name = String;};
2176 pradeepchhetri =
2320 pradeepchhetri =
2177− {email = String; github = String; githubId = Number; name = String;};
2321+ {email = String; github = String; githubId = Integer; name = String;};
2178 pradyuman =
2322 pradyuman =
2179 { email = String;
2323 { email = String;
2180 github = String;
2324 github = String;
2181− githubId = Number;
2325+ githubId = Integer;
2182 keys = [{fingerprint = String; longkeyid = String;}];
2326 keys = [{fingerprint = String; longkeyid = String;}];
2183 name = String;
2327 name = String;
2184 };
2328 };
2185 priegger =
2329 priegger =
2186− {email = String; github = String; githubId = Number; name = String;};
2330+ {email = String; github = String; githubId = Integer; name = String;};
2331+ prikhi =
2187− prikhi = {email = String; github = String; githubId = Number; name = String;};
2332+ {email = String; github = String; githubId = Integer; name = String;};
2188 primeos =
2333 primeos =
2189 { email = String;
2334 { email = String;
2190 github = String;
2335 github = String;
2191− githubId = Number;
2336+ githubId = Integer;
2192 keys = [{fingerprint = String; longkeyid = String;}];
2337 keys = [{fingerprint = String; longkeyid = String;}];
2193 name = String;
2338 name = String;
2194 };
2339 };
2195 proglodyte =
2340 proglodyte =
2196− {email = String; github = String; githubId = Number; name = String;};
2341+ {email = String; github = String; githubId = Integer; name = String;};
2197 protoben =
2342 protoben =
2198− {email = String; github = String; githubId = Number; name = String;};
2343+ {email = String; github = String; githubId = Integer; name = String;};
2199 prusnak =
2344 prusnak =
2200 { email = String;
2345 { email = String;
2201 github = String;
2346 github = String;
2202− githubId = Number;
2347+ githubId = Integer;
2203 keys = [{fingerprint = String; longkeyid = String;}];
2348 keys = [{fingerprint = String; longkeyid = String;}];
2204 name = String;
2349 name = String;
2205 };
2350 };
2206 psanford =
2351 psanford =
2207− {email = String; github = String; githubId = Number; name = String;};
2352+ {email = String; github = String; githubId = Integer; name = String;};
2208 pshendry =
2353 pshendry =
2209− {email = String; github = String; githubId = Number; name = String;};
2354+ {email = String; github = String; githubId = Integer; name = String;};
2210− psibi = {email = String; github = String; githubId = Number; name = String;};
2355+ psibi = {email = String; github = String; githubId = Integer; name = String;};
2211 pstn = {email = String; name = String;};
2356 pstn = {email = String; name = String;};
2212 psyanticy =
2357 psyanticy =
2213− {email = String; github = String; githubId = Number; name = String;};
2358+ {email = String; github = String; githubId = Integer; name = String;};
2359+ ptival =
2214− ptival = {email = String; github = String; githubId = Number; name = String;};
2360+ {email = String; github = String; githubId = Integer; name = String;};
2361+ ptrhlm =
2215− ptrhlm = {email = String; github = String; githubId = Number; name = String;};
2362+ {email = String; github = String; githubId = Integer; name = String;};
2216 puckipedia =
2363 puckipedia =
2217− {email = String; github = String; githubId = Number; name = String;};
2364+ {email = String; github = String; githubId = Integer; name = String;};
2218 puffnfresh =
2365 puffnfresh =
2219− {email = String; github = String; githubId = Number; name = String;};
2366+ {email = String; github = String; githubId = Integer; name = String;};
2220 purcell =
2367 purcell =
2221− {email = String; github = String; githubId = Number; name = String;};
2368+ {email = String; github = String; githubId = Integer; name = String;};
2222 puzzlewolf =
2369 puzzlewolf =
2223− {email = String; github = String; githubId = Number; name = String;};
2370+ {email = String; github = String; githubId = Integer; name = String;};
2224 pyrolagus =
2371 pyrolagus =
2225− {email = String; github = String; githubId = Number; name = String;};
2372+ {email = String; github = String; githubId = Integer; name = String;};
2226− q3k = {email = String; github = String; githubId = Number; name = String;};
2373+ q3k = {email = String; github = String; githubId = Integer; name = String;};
2227 qknight =
2374 qknight =
2228− {email = String; github = String; githubId = Number; name = String;};
2375+ {email = String; github = String; githubId = Integer; name = String;};
2376+ qoelet =
2229− qoelet = {email = String; github = String; githubId = Number; name = String;};
2377+ {email = String; github = String; githubId = Integer; name = String;};
2230 quentini =
2378 quentini =
2231− {email = String; github = String; githubId = Number; name = String;};
2379+ {email = String; github = String; githubId = Integer; name = String;};
2232 qyliss =
2380 qyliss =
2233 { email = String;
2381 { email = String;
2234 github = String;
2382 github = String;
2235− githubId = Number;
2383+ githubId = Integer;
2236 keys = [{fingerprint = String; longkeyid = String;}];
2384 keys = [{fingerprint = String; longkeyid = String;}];
2237 name = String;
2385 name = String;
2238 };
2386 };
2387+ raboof =
2239− raboof = {email = String; github = String; githubId = Number; name = String;};
2388+ {email = String; github = String; githubId = Integer; name = String;};
2240 rafaelgg =
2389 rafaelgg =
2241− {email = String; github = String; githubId = Number; name = String;};
2390+ {email = String; github = String; githubId = Integer; name = String;};
2242− ragge = {email = String; github = String; githubId = Number; name = String;};
2391+ ragge = {email = String; github = String; githubId = Integer; name = String;};
2243 rakesh4g =
2392 rakesh4g =
2244− {email = String; github = String; githubId = Number; name = String;};
2393+ {email = String; github = String; githubId = Integer; name = String;};
2394+ ralith =
2245− ralith = {email = String; github = String; githubId = Number; name = String;};
2395+ {email = String; github = String; githubId = Integer; name = String;};
2246 ramkromberg =
2396 ramkromberg =
2247− {email = String; github = String; githubId = Number; name = String;};
2397+ {email = String; github = String; githubId = Integer; name = String;};
2248 raquelgb =
2398 raquelgb =
2249− {email = String; github = String; githubId = Number; name = String;};
2399+ {email = String; github = String; githubId = Integer; name = String;};
2250 rardiol =
2400 rardiol =
2251− {email = String; github = String; githubId = Number; name = String;};
2401+ {email = String; github = String; githubId = Integer; name = String;};
2252 rasendubi =
2402 rasendubi =
2253− {email = String; github = String; githubId = Number; name = String;};
2403+ {email = String; github = String; githubId = Integer; name = String;};
2404+ raskin =
2254− raskin = {email = String; github = String; githubId = Number; name = String;};
2405+ {email = String; github = String; githubId = Integer; name = String;};
2255 ravloony = {email = String; name = String;};
2406 ravloony = {email = String; name = String;};
2256 rawkode =
2407 rawkode =
2257− {email = String; github = String; githubId = Number; name = String;};
2408+ {email = String; github = String; githubId = Integer; name = String;};
2409+ razvan =
2258− razvan = {email = String; github = String; githubId = Number; name = String;};
2410+ {email = String; github = String; githubId = Integer; name = String;};
2411+ rbasso =
2259− rbasso = {email = String; github = String; githubId = Number; name = String;};
2412+ {email = String; github = String; githubId = Integer; name = String;};
2260 rbrewer =
2413 rbrewer =
2261− {email = String; github = String; githubId = Number; name = String;};
2414+ {email = String; github = String; githubId = Integer; name = String;};
2262 rdnetto =
2415 rdnetto =
2263− {email = String; github = String; githubId = Number; name = String;};
2416+ {email = String; github = String; githubId = Integer; name = String;};
2264 redbaron =
2417 redbaron =
2265− {email = String; github = String; githubId = Number; name = String;};
2418+ {email = String; github = String; githubId = Integer; name = String;};
2266 redfish64 =
2419 redfish64 =
2267− {email = String; github = String; githubId = Number; name = String;};
2420+ {email = String; github = String; githubId = Integer; name = String;};
2268 redvers =
2421 redvers =
2269− {email = String; github = String; githubId = Number; name = String;};
2422+ {email = String; github = String; githubId = Integer; name = String;};
2423+ refnil =
2270− refnil = {email = String; github = String; githubId = Number; name = String;};
2424+ {email = String; github = String; githubId = Integer; name = String;};
2425+ regnat =
2271− regnat = {email = String; github = String; githubId = Number; name = String;};
2426+ {email = String; github = String; githubId = Integer; name = String;};
2427+ relrod =
2272− relrod = {email = String; github = String; githubId = Number; name = String;};
2428+ {email = String; github = String; githubId = Integer; name = String;};
2273 rembo10 =
2429 rembo10 =
2274− {email = String; github = String; githubId = Number; name = String;};
2430+ {email = String; github = String; githubId = Integer; name = String;};
2275 renatoGarcia =
2431 renatoGarcia =
2276− {email = String; github = String; githubId = Number; name = String;};
2432+ {email = String; github = String; githubId = Integer; name = String;};
2277 rencire =
2433 rencire =
2278− {email = String; github = String; githubId = Number; name = String;};
2434+ {email = String; github = String; githubId = Integer; name = String;};
2279− renzo = {email = String; github = String; githubId = Number; name = String;};
2435+ renzo = {email = String; github = String; githubId = Integer; name = String;};
2436+ retrry =
2280− retrry = {email = String; github = String; githubId = Number; name = String;};
2437+ {email = String; github = String; githubId = Integer; name = String;};
2281− rexim = {email = String; github = String; githubId = Number; name = String;};
2438+ rexim = {email = String; github = String; githubId = Integer; name = String;};
2282− rht = {email = String; github = String; githubId = Number; name = String;};
2439+ rht = {email = String; github = String; githubId = Integer; name = String;};
2283 richardipsum =
2440 richardipsum =
2284− {email = String; github = String; githubId = Number; name = String;};
2441+ {email = String; github = String; githubId = Integer; name = String;};
2442+ rick68 =
2285− rick68 = {email = String; github = String; githubId = Number; name = String;};
2443+ {email = String; github = String; githubId = Integer; name = String;};
2286 rickynils =
2444 rickynils =
2287− {email = String; github = String; githubId = Number; name = String;};
2445+ {email = String; github = String; githubId = Integer; name = String;};
2288− rika = {email = String; github = String; githubId = Number; name = String;};
2446+ rika = {email = String; github = String; githubId = Integer; name = String;};
2289 rileyinman =
2447 rileyinman =
2290− {email = String; github = String; githubId = Number; name = String;};
2448+ {email = String; github = String; githubId = Integer; name = String;};
2291− ris = {email = String; github = String; githubId = Number; name = String;};
2449+ ris = {email = String; github = String; githubId = Integer; name = String;};
2292 risson =
2450 risson =
2293 { email = String;
2451 { email = String;
2294 github = String;
2452 github = String;
2295− githubId = Number;
2453+ githubId = Integer;
2296 keys = [{fingerprint = String; longkeyid = String;}];
2454 keys = [{fingerprint = String; longkeyid = String;}];
2297 name = String;
2455 name = String;
2298 };
2456 };
2299 rittelle =
2457 rittelle =
2300− {email = String; github = String; githubId = Number; name = String;};
2458+ {email = String; github = String; githubId = Integer; name = String;};
2301− rixed = {email = String; github = String; githubId = Number; name = String;};
2459+ rixed = {email = String; github = String; githubId = Integer; name = String;};
2460+ rizary =
2302− rizary = {email = String; github = String; githubId = Number; name = String;};
2461+ {email = String; github = String; githubId = Integer; name = String;};
2303− rkoe = {email = String; github = String; githubId = Number; name = String;};
2462+ rkoe = {email = String; github = String; githubId = Integer; name = String;};
2304− rkrzr = {email = String; github = String; githubId = Number; name = String;};
2463+ rkrzr = {email = String; github = String; githubId = Integer; name = String;};
2305 rlupton20 =
2464 rlupton20 =
2306− {email = String; github = String; githubId = Number; name = String;};
2465+ {email = String; github = String; githubId = Integer; name = String;};
2307 rnhmjoj =
2466 rnhmjoj =
2308 { email = String;
2467 { email = String;
2309 github = String;
2468 github = String;
2310− githubId = Number;
2469+ githubId = Integer;
2311 keys = [{fingerprint = String; longkeyid = String;}];
2470 keys = [{fingerprint = String; longkeyid = String;}];
2312 name = String;
2471 name = String;
2313 };
2472 };
2314 roastiek =
2473 roastiek =
2315− {email = String; github = String; githubId = Number; name = String;};
2474+ {email = String; github = String; githubId = Integer; name = String;};
2316− rob = {email = String; github = String; githubId = Number; name = String;};
2475+ rob = {email = String; github = String; githubId = Integer; name = String;};
2476+ robaca =
2317− robaca = {email = String; github = String; githubId = Number; name = String;};
2477+ {email = String; github = String; githubId = Integer; name = String;};
2318 robberer =
2478 robberer =
2319− {email = String; github = String; githubId = Number; name = String;};
2479+ {email = String; github = String; githubId = Integer; name = String;};
2320 robbinch =
2480 robbinch =
2321− {email = String; github = String; githubId = Number; name = String;};
2481+ {email = String; github = String; githubId = Integer; name = String;};
2322 roberth =
2482 roberth =
2323− {email = String; github = String; githubId = Number; name = String;};
2483+ {email = String; github = String; githubId = Integer; name = String;};
2324 robertodr =
2484 robertodr =
2325− {email = String; github = String; githubId = Number; name = String;};
2485+ {email = String; github = String; githubId = Integer; name = String;};
2326 robgssp =
2486 robgssp =
2327− {email = String; github = String; githubId = Number; name = String;};
2487+ {email = String; github = String; githubId = Integer; name = String;};
2328 roblabla =
2488 roblabla =
2329− {email = String; github = String; githubId = Number; name = String;};
2489+ {email = String; github = String; githubId = Integer; name = String;};
2330 roconnor =
2490 roconnor =
2331− {email = String; github = String; githubId = Number; name = String;};
2491+ {email = String; github = String; githubId = Integer; name = String;};
2332 roelvandijk =
2492 roelvandijk =
2333− {email = String; github = String; githubId = Number; name = String;};
2493+ {email = String; github = String; githubId = Integer; name = String;};
2334 romildo =
2494 romildo =
2335− {email = String; github = String; githubId = Number; name = String;};
2495+ {email = String; github = String; githubId = Integer; name = String;};
2336 rongcuid =
2496 rongcuid =
2337− {email = String; github = String; githubId = Number; name = String;};
2497+ {email = String; github = String; githubId = Integer; name = String;};
2338 roosemberth =
2498 roosemberth =
2339− {email = String; github = String; githubId = Number; name = String;};
2499+ {email = String; github = String; githubId = Integer; name = String;};
2340 rople380 =
2500 rople380 =
2341 { email = String;
2501 { email = String;
2342 github = String;
2502 github = String;
2343− githubId = Number;
2503+ githubId = Integer;
2344 keys = [{fingerprint = String; longkeyid = String;}];
2504 keys = [{fingerprint = String; longkeyid = String;}];
2345 name = String;
2505 name = String;
2346 };
2506 };
2347 royneary =
2507 royneary =
2348− {email = String; github = String; githubId = Number; name = String;};
2508+ {email = String; github = String; githubId = Integer; name = String;};
2349 rpearce =
2509 rpearce =
2350− {email = String; github = String; githubId = Number; name = String;};
2510+ {email = String; github = String; githubId = Integer; name = String;};
2351 rprospero =
2511 rprospero =
2352− {email = String; github = String; githubId = Number; name = String;};
2512+ {email = String; github = String; githubId = Integer; name = String;};
2353− rps = {email = String; github = String; githubId = Number; name = String;};
2513+ rps = {email = String; github = String; githubId = Integer; name = String;};
2354 rszibele =
2514 rszibele =
2355− {email = String; github = String; githubId = Number; name = String;};
2515+ {email = String; github = String; githubId = Integer; name = String;};
2356 rtreffer =
2516 rtreffer =
2357− {email = String; github = String; githubId = Number; name = String;};
2517+ {email = String; github = String; githubId = Integer; name = String;};
2358 rushmorem =
2518 rushmorem =
2359− {email = String; github = String; githubId = Number; name = String;};
2519+ {email = String; github = String; githubId = Integer; name = String;};
2360− ruuda = {email = String; github = String; githubId = Number; name = String;};
2520+ ruuda = {email = String; github = String; githubId = Integer; name = String;};
2361− rvl = {email = String; github = String; githubId = Number; name = String;};
2521+ rvl = {email = String; github = String; githubId = Integer; name = String;};
2362 rvlander =
2522 rvlander =
2363− {email = String; github = String; githubId = Number; name = String;};
2523+ {email = String; github = String; githubId = Integer; name = String;};
2364 rvolosatovs =
2524 rvolosatovs =
2365− {email = String; github = String; githubId = Number; name = String;};
2525+ {email = String; github = String; githubId = Integer; name = String;};
2366 ryanartecona =
2526 ryanartecona =
2367− {email = String; github = String; githubId = Number; name = String;};
2527+ {email = String; github = String; githubId = Integer; name = String;};
2368 ryanorendorff =
2528 ryanorendorff =
2369− {email = String; github = String; githubId = Number; name = String;};
2529+ {email = String; github = String; githubId = Integer; name = String;};
2370 ryansydnor =
2530 ryansydnor =
2371− {email = String; github = String; githubId = Number; name = String;};
2531+ {email = String; github = String; githubId = Integer; name = String;};
2532+ ryantm =
2372− ryantm = {email = String; github = String; githubId = Number; name = String;};
2533+ {email = String; github = String; githubId = Integer; name = String;};
2373 ryantrinkle =
2534 ryantrinkle =
2374− {email = String; github = String; githubId = Number; name = String;};
2535+ {email = String; github = String; githubId = Integer; name = String;};
2536+ rybern =
2375− rybern = {email = String; github = String; githubId = Number; name = String;};
2537+ {email = String; github = String; githubId = Integer; name = String;};
2376 rycee =
2538 rycee =
2377 { email = String;
2539 { email = String;
2378 github = String;
2540 github = String;
2379− githubId = Number;
2541+ githubId = Integer;
2380 keys = [{fingerprint = String; longkeyid = String;}];
2542 keys = [{fingerprint = String; longkeyid = String;}];
2381 name = String;
2543 name = String;
2382 };
2544 };
2383 ryneeverett =
2545 ryneeverett =
2384− {email = String; github = String; githubId = Number; name = String;};
2546+ {email = String; github = String; githubId = Integer; name = String;};
2385 rzetterberg =
2547 rzetterberg =
2386− {email = String; github = String; githubId = Number; name = String;};
2548+ {email = String; github = String; githubId = Integer; name = String;};
2387− s1341 = {email = String; github = String; githubId = Number; name = String;};
2549+ s1341 = {email = String; github = String; githubId = Integer; name = String;};
2388 samdoshi =
2550 samdoshi =
2389− {email = String; github = String; githubId = Number; name = String;};
2551+ {email = String; github = String; githubId = Integer; name = String;};
2390 samdroid-apps =
2552 samdroid-apps =
2391− {email = String; github = String; githubId = Number; name = String;};
2553+ {email = String; github = String; githubId = Integer; name = String;};
2392 samlich =
2554 samlich =
2393 { email = String;
2555 { email = String;
2394 github = String;
2556 github = String;
2395− githubId = Number;
2557+ githubId = Integer;
2396 keys = [{fingerprint = String; longkeyid = String;}];
2558 keys = [{fingerprint = String; longkeyid = String;}];
2397 name = String;
2559 name = String;
2398 };
2560 };
2399 samrose =
2561 samrose =
2400− {email = String; github = String; githubId = Number; name = String;};
2562+ {email = String; github = String; githubId = Integer; name = String;};
2401 samueldr =
2563 samueldr =
2402− {email = String; github = String; githubId = Number; name = String;};
2564+ {email = String; github = String; githubId = Integer; name = String;};
2403 samuelgrf =
2565 samuelgrf =
2404 { email = String;
2566 { email = String;
2405 github = String;
2567 github = String;
2406− githubId = Number;
2568+ githubId = Integer;
2407 keys = [{fingerprint = String; longkeyid = String;}];
2569 keys = [{fingerprint = String; longkeyid = String;}];
2408 name = String;
2570 name = String;
2409 };
2571 };
2410 samuelrivas =
2572 samuelrivas =
2411− {email = String; github = String; githubId = Number; name = String;};
2573+ {email = String; github = String; githubId = Integer; name = String;};
2574+ sander =
2412− sander = {email = String; github = String; githubId = Number; name = String;};
2575+ {email = String; github = String; githubId = Integer; name = String;};
2413 sarcasticadmin =
2576 sarcasticadmin =
2414− {email = String; github = String; githubId = Number; name = String;};
2577+ {email = String; github = String; githubId = Integer; name = String;};
2578+ sargon =
2415− sargon = {email = String; github = String; githubId = Number; name = String;};
2579+ {email = String; github = String; githubId = Integer; name = String;};
2416 saschagrunert =
2580 saschagrunert =
2417− {email = String; github = String; githubId = Number; name = String;};
2581+ {email = String; github = String; githubId = Integer; name = String;};
2418 saulecabrera =
2582 saulecabrera =
2419− {email = String; github = String; githubId = Number; name = String;};
2583+ {email = String; github = String; githubId = Integer; name = String;};
2584+ sauyon =
2420− sauyon = {email = String; github = String; githubId = Number; name = String;};
2585+ {email = String; github = String; githubId = Integer; name = String;};
2421 savannidgerinel =
2586 savannidgerinel =
2422− {email = String; github = String; githubId = Number; name = String;};
2587+ {email = String; github = String; githubId = Integer; name = String;};
2423− sb0 = {email = String; github = String; githubId = Number; name = String;};
2588+ sb0 = {email = String; github = String; githubId = Integer; name = String;};
2424 sboosali =
2589 sboosali =
2425− {email = String; github = String; githubId = Number; name = String;};
2590+ {email = String; github = String; githubId = Integer; name = String;};
2426 scalavision =
2591 scalavision =
2427− {email = String; github = String; githubId = Number; name = String;};
2592+ {email = String; github = String; githubId = Integer; name = String;};
2428 schmitthenner =
2593 schmitthenner =
2429− {email = String; github = String; githubId = Number; name = String;};
2594+ {email = String; github = String; githubId = Integer; name = String;};
2430 schmittlauch =
2595 schmittlauch =
2431− {email = String; github = String; githubId = Number; name = String;};
2596+ {email = String; github = String; githubId = Integer; name = String;};
2432 schneefux =
2597 schneefux =
2433− {email = String; github = String; githubId = Number; name = String;};
2598+ {email = String; github = String; githubId = Integer; name = String;};
2434 schristo = {email = String; name = String;};
2599 schristo = {email = String; name = String;};
2435− scode = {email = String; github = String; githubId = Number; name = String;};
2600+ scode = {email = String; github = String; githubId = Integer; name = String;};
2436 scolobb =
2601 scolobb =
2437− {email = String; github = String; githubId = Number; name = String;};
2602+ {email = String; github = String; githubId = Integer; name = String;};
2438 screendriver =
2603 screendriver =
2439− {email = String; github = String; githubId = Number; name = String;};
2604+ {email = String; github = String; githubId = Integer; name = String;};
2440 scubed2 =
2605 scubed2 =
2441− {email = String; github = String; githubId = Number; name = String;};
2606+ {email = String; github = String; githubId = Integer; name = String;};
2442− sdier = {email = String; github = String; githubId = Number; name = String;};
2607+ sdier = {email = String; github = String; githubId = Integer; name = String;};
2443− sdll = {email = String; github = String; githubId = Number; name = String;};
2608+ sdll = {email = String; github = String; githubId = Integer; name = String;};
2609+ seb314 =
2444− seb314 = {email = String; github = String; githubId = Number; name = String;};
2610+ {email = String; github = String; githubId = Integer; name = String;};
2445 sellout =
2611 sellout =
2446− {email = String; github = String; githubId = Number; name = String;};
2612+ {email = String; github = String; githubId = Integer; name = String;};
2447 sengaya =
2613 sengaya =
2448− {email = String; github = String; githubId = Number; name = String;};
2614+ {email = String; github = String; githubId = Integer; name = String;};
2449 sephalon =
2615 sephalon =
2450− {email = String; github = String; githubId = Number; name = String;};
2616+ {email = String; github = String; githubId = Integer; name = String;};
2451− sepi = {email = String; github = String; githubId = Number; name = String;};
2617+ sepi = {email = String; github = String; githubId = Integer; name = String;};
2452 seppeljordan =
2618 seppeljordan =
2453− {email = String; github = String; githubId = Number; name = String;};
2619+ {email = String; github = String; githubId = Integer; name = String;};
2620+ seqizz =
2454− seqizz = {email = String; github = String; githubId = Number; name = String;};
2621+ {email = String; github = String; githubId = Integer; name = String;};
2455 servalcatty =
2622 servalcatty =
2456 { email = String;
2623 { email = String;
2457 github = String;
2624 github = String;
2458− githubId = Number;
2625+ githubId = Integer;
2459 keys = [{fingerprint = String; longkeyid = String;}];
2626 keys = [{fingerprint = String; longkeyid = String;}];
2460 name = String;
2627 name = String;
2461 };
2628 };
2462 sfrijters =
2629 sfrijters =
2463− {email = String; github = String; githubId = Number; name = String;};
2630+ {email = String; github = String; githubId = Integer; name = String;};
2464− sgo = {email = String; github = String; githubId = Number; name = String;};
2631+ sgo = {email = String; github = String; githubId = Integer; name = String;};
2465− sgraf = {email = String; github = String; githubId = Number; name = String;};
2632+ sgraf = {email = String; github = String; githubId = Integer; name = String;};
2466 shahrukh330 =
2633 shahrukh330 =
2467− {email = String; github = String; githubId = Number; name = String;};
2634+ {email = String; github = String; githubId = Integer; name = String;};
2468 shamilton =
2635 shamilton =
2469− {email = String; github = String; githubId = Number; name = String;};
2636+ {email = String; github = String; githubId = Integer; name = String;};
2470 shanemikel =
2637 shanemikel =
2471− {email = String; github = String; githubId = Number; name = String;};
2638+ {email = String; github = String; githubId = Integer; name = String;};
2639+ shardy =
2472− shardy = {email = String; github = String; githubId = Number; name = String;};
2640+ {email = String; github = String; githubId = Integer; name = String;};
2473 shawndellysse =
2641 shawndellysse =
2474− {email = String; github = String; githubId = Number; name = String;};
2642+ {email = String; github = String; githubId = Integer; name = String;};
2643+ shazow =
2475− shazow = {email = String; github = String; githubId = Number; name = String;};
2644+ {email = String; github = String; githubId = Integer; name = String;};
2476 sheenobu =
2645 sheenobu =
2477− {email = String; github = String; githubId = Number; name = String;};
2646+ {email = String; github = String; githubId = Integer; name = String;};
2478 sheganinans =
2647 sheganinans =
2479− {email = String; github = String; githubId = Number; name = String;};
2648+ {email = String; github = String; githubId = Integer; name = String;};
2480− shell = {email = String; github = String; githubId = Number; name = String;};
2649+ shell = {email = String; github = String; githubId = Integer; name = String;};
2650+ shlevy =
2481− shlevy = {email = String; github = String; githubId = Number; name = String;};
2651+ {email = String; github = String; githubId = Integer; name = String;};
2482 shmish111 =
2652 shmish111 =
2483− {email = String; github = String; githubId = Number; name = String;};
2653+ {email = String; github = String; githubId = Integer; name = String;};
2484 shnarazk =
2654 shnarazk =
2485− {email = String; github = String; githubId = Number; name = String;};
2655+ {email = String; github = String; githubId = Integer; name = String;};
2486− shou = {email = String; github = String; githubId = Number; name = String;};
2656+ shou = {email = String; github = String; githubId = Integer; name = String;};
2487− shyim = {email = String; github = String; githubId = Number; name = String;};
2657+ shyim = {email = String; github = String; githubId = Integer; name = String;};
2488 siddharthist =
2658 siddharthist =
2489− {email = String; github = String; githubId = Number; name = String;};
2659+ {email = String; github = String; githubId = Integer; name = String;};
2490− siers = {email = String; github = String; githubId = Number; name = String;};
2660+ siers = {email = String; github = String; githubId = Integer; name = String;};
2491 sifmelcara =
2661 sifmelcara =
2492− {email = String; github = String; githubId = Number; name = String;};
2662+ {email = String; github = String; githubId = Integer; name = String;};
2493− sigma = {email = String; github = String; githubId = Number; name = String;};
2663+ sigma = {email = String; github = String; githubId = Integer; name = String;};
2494 sikmir =
2664 sikmir =
2495 { email = String;
2665 { email = String;
2496 github = String;
2666 github = String;
2497− githubId = Number;
2667+ githubId = Integer;
2498 keys = [{fingerprint = String; longkeyid = String;}];
2668 keys = [{fingerprint = String; longkeyid = String;}];
2499 name = String;
2669 name = String;
2500 };
2670 };
2501 simonchatts =
2671 simonchatts =
2502− {email = String; github = String; githubId = Number; name = String;};
2672+ {email = String; github = String; githubId = Integer; name = String;};
2503 simonvandel =
2673 simonvandel =
2504− {email = String; github = String; githubId = Number; name = String;};
2674+ {email = String; github = String; githubId = Integer; name = String;};
2505 siraben =
2675 siraben =
2506− {email = String; github = String; githubId = Number; name = String;};
2676+ {email = String; github = String; githubId = Integer; name = String;};
2507 siriobalmelli =
2677 siriobalmelli =
2508 { email = String;
2678 { email = String;
2509 github = String;
2679 github = String;
2510− githubId = Number;
2680+ githubId = Integer;
2511 keys = [{fingerprint = String; longkeyid = String;}];
2681 keys = [{fingerprint = String; longkeyid = String;}];
2512 name = String;
2682 name = String;
2513 };
2683 };
2514 sivteck =
2684 sivteck =
2515− {email = String; github = String; githubId = Number; name = String;};
2685+ {email = String; github = String; githubId = Integer; name = String;};
2686+ sjagoe =
2516− sjagoe = {email = String; github = String; githubId = Number; name = String;};
2687+ {email = String; github = String; githubId = Integer; name = String;};
2517− sjau = {email = String; github = String; githubId = Number; name = String;};
2688+ sjau = {email = String; github = String; githubId = Integer; name = String;};
2518 sjfloat =
2689 sjfloat =
2519− {email = String; github = String; githubId = Number; name = String;};
2690+ {email = String; github = String; githubId = Integer; name = String;};
2520 sjmackenzie =
2691 sjmackenzie =
2521− {email = String; github = String; githubId = Number; name = String;};
2692+ {email = String; github = String; githubId = Integer; name = String;};
2522 sjourdois = {email = String; name = String;};
2693 sjourdois = {email = String; name = String;};
2523 skeidel =
2694 skeidel =
2524− {email = String; github = String; githubId = Number; name = String;};
2695+ {email = String; github = String; githubId = Integer; name = String;};
2525 skrzyp = {email = String; name = String;};
2696 skrzyp = {email = String; name = String;};
2526 skykanin =
2697 skykanin =
2527− {email = String; github = String; githubId = Number; name = String;};
2698+ {email = String; github = String; githubId = Integer; name = String;};
2528 sleexyz =
2699 sleexyz =
2529− {email = String; github = String; githubId = Number; name = String;};
2700+ {email = String; github = String; githubId = Integer; name = String;};
2530 smakarov =
2701 smakarov =
2531 { email = String;
2702 { email = String;
2532 github = String;
2703 github = String;
2533− githubId = Number;
2704+ githubId = Integer;
2534 keys = [{fingerprint = String; longkeyid = String;}];
2705 keys = [{fingerprint = String; longkeyid = String;}];
2535 name = String;
2706 name = String;
2536 };
2707 };
2537 smaret =
2708 smaret =
2538 { email = String;
2709 { email = String;
2539 github = String;
2710 github = String;
2540− githubId = Number;
2711+ githubId = Integer;
2541 keys = [{fingerprint = String; longkeyid = String;}];
2712 keys = [{fingerprint = String; longkeyid = String;}];
2542 name = String;
2713 name = String;
2543 };
2714 };
2544 smironov =
2715 smironov =
2545− {email = String; github = String; githubId = Number; name = String;};
2716+ {email = String; github = String; githubId = Integer; name = String;};
2546− sna = {email = String; github = String; githubId = Number; name = String;};
2717+ sna = {email = String; github = String; githubId = Integer; name = String;};
2547− snaar = {email = String; github = String; githubId = Number; name = String;};
2718+ snaar = {email = String; github = String; githubId = Integer; name = String;};
2719+ snglth =
2548− snglth = {email = String; github = String; githubId = Number; name = String;};
2720+ {email = String; github = String; githubId = Integer; name = String;};
2549 snicket2100 =
2721 snicket2100 =
2550− {email = String; github = String; githubId = Number; name = String;};
2722+ {email = String; github = String; githubId = Integer; name = String;};
2551− snyh = {email = String; github = String; githubId = Number; name = String;};
2723+ snyh = {email = String; github = String; githubId = Integer; name = String;};
2552 softinio =
2724 softinio =
2553− {email = String; github = String; githubId = Number; name = String;};
2725+ {email = String; github = String; githubId = Integer; name = String;};
2726+ solson =
2554− solson = {email = String; github = String; githubId = Number; name = String;};
2727+ {email = String; github = String; githubId = Integer; name = String;};
2555 sondr3 =
2728 sondr3 =
2556 { email = String;
2729 { email = String;
2557 github = String;
2730 github = String;
2558− githubId = Number;
2731+ githubId = Integer;
2559 keys = [{fingerprint = String; longkeyid = String;}];
2732 keys = [{fingerprint = String; longkeyid = String;}];
2560 name = String;
2733 name = String;
2561 };
2734 };
2562− sorki = {email = String; github = String; githubId = Number; name = String;};
2735+ sorki = {email = String; github = String; githubId = Integer; name = String;};
2563 sorpaas =
2736 sorpaas =
2564− {email = String; github = String; githubId = Number; name = String;};
2737+ {email = String; github = String; githubId = Integer; name = String;};
2565 spacefrogg =
2738 spacefrogg =
2566− {email = String; github = String; githubId = Number; name = String;};
2739+ {email = String; github = String; githubId = Integer; name = String;};
2567 spacekookie =
2740 spacekookie =
2568− {email = String; github = String; githubId = Number; name = String;};
2741+ {email = String; github = String; githubId = Integer; name = String;};
2569 spencerjanssen =
2742 spencerjanssen =
2570− {email = String; github = String; githubId = Number; name = String;};
2743+ {email = String; github = String; githubId = Integer; name = String;};
2744+ spinus =
2571− spinus = {email = String; github = String; githubId = Number; name = String;};
2745+ {email = String; github = String; githubId = Integer; name = String;};
2746+ sprock =
2572− sprock = {email = String; github = String; githubId = Number; name = String;};
2747+ {email = String; github = String; githubId = Integer; name = String;};
2573 spwhitt =
2748 spwhitt =
2574− {email = String; github = String; githubId = Number; name = String;};
2749+ {email = String; github = String; githubId = Integer; name = String;};
2575 squalus =
2750 squalus =
2576− {email = String; github = String; githubId = Number; name = String;};
2751+ {email = String; github = String; githubId = Integer; name = String;};
2752+ srghma =
2577− srghma = {email = String; github = String; githubId = Number; name = String;};
2753+ {email = String; github = String; githubId = Integer; name = String;};
2578− srgom = {email = String; github = String; githubId = Number; name = String;};
2754+ srgom = {email = String; github = String; githubId = Integer; name = String;};
2579− srhb = {email = String; github = String; githubId = Number; name = String;};
2755+ srhb = {email = String; github = String; githubId = Integer; name = String;};
2580− sstef = {email = String; github = String; githubId = Number; name = String;};
2756+ sstef = {email = String; github = String; githubId = Integer; name = String;};
2757+ steell =
2581− steell = {email = String; github = String; githubId = Number; name = String;};
2758+ {email = String; github = String; githubId = Integer; name = String;};
2582 stephenmw =
2759 stephenmw =
2583− {email = String; github = String; githubId = Number; name = String;};
2760+ {email = String; github = String; githubId = Integer; name = String;};
2584 sterfield =
2761 sterfield =
2585− {email = String; github = String; githubId = Number; name = String;};
2762+ {email = String; github = String; githubId = Integer; name = String;};
2586 sternenseemann =
2763 sternenseemann =
2587− {email = String; github = String; githubId = Number; name = String;};
2764+ {email = String; github = String; githubId = Integer; name = String;};
2588 steshaw =
2765 steshaw =
2589 { email = String;
2766 { email = String;
2590 github = String;
2767 github = String;
2591− githubId = Number;
2768+ githubId = Integer;
2592 keys = [{fingerprint = String; longkeyid = String;}];
2769 keys = [{fingerprint = String; longkeyid = String;}];
2593 name = String;
2770 name = String;
2594 };
2771 };
2772+ stesie =
2595− stesie = {email = String; github = String; githubId = Number; name = String;};
2773+ {email = String; github = String; githubId = Integer; name = String;};
2596 steve-chavez =
2774 steve-chavez =
2597− {email = String; github = String; githubId = Number; name = String;};
2775+ {email = String; github = String; githubId = Integer; name = String;};
2598 steveej =
2776 steveej =
2599− {email = String; github = String; githubId = Number; name = String;};
2777+ {email = String; github = String; githubId = Integer; name = String;};
2600 stianlagstad =
2778 stianlagstad =
2601− {email = String; github = String; githubId = Number; name = String;};
2779+ {email = String; github = String; githubId = Integer; name = String;};
2780+ stites =
2602− stites = {email = String; github = String; githubId = Number; name = String;};
2781+ {email = String; github = String; githubId = Integer; name = String;};
2603 stumoss =
2782 stumoss =
2604− {email = String; github = String; githubId = Number; name = String;};
2783+ {email = String; github = String; githubId = Integer; name = String;};
2605− suhr = {email = String; github = String; githubId = Number; name = String;};
2784+ suhr = {email = String; github = String; githubId = Integer; name = String;};
2785+ suvash =
2606− suvash = {email = String; github = String; githubId = Number; name = String;};
2786+ {email = String; github = String; githubId = Integer; name = String;};
2607 sveitser =
2787 sveitser =
2608− {email = String; github = String; githubId = Number; name = String;};
2788+ {email = String; github = String; githubId = Integer; name = String;};
2789+ svsdep =
2609− svsdep = {email = String; github = String; githubId = Number; name = String;};
2790+ {email = String; github = String; githubId = Integer; name = String;};
2610 swarren83 =
2791 swarren83 =
2611− {email = String; github = String; githubId = Number; name = String;};
2792+ {email = String; github = String; githubId = Integer; name = String;};
2612 swdunlop =
2793 swdunlop =
2613− {email = String; github = String; githubId = Number; name = String;};
2794+ {email = String; github = String; githubId = Integer; name = String;};
2795+ sweber =
2614− sweber = {email = String; github = String; githubId = Number; name = String;};
2796+ {email = String; github = String; githubId = Integer; name = String;};
2615 swflint =
2797 swflint =
2616− {email = String; github = String; githubId = Number; name = String;};
2798+ {email = String; github = String; githubId = Integer; name = String;};
2617 swistak35 =
2799 swistak35 =
2618− {email = String; github = String; githubId = Number; name = String;};
2800+ {email = String; github = String; githubId = Integer; name = String;};
2619 syberant =
2801 syberant =
2620− {email = String; github = String; githubId = Number; name = String;};
2802+ {email = String; github = String; githubId = Integer; name = String;};
2621 symphorien =
2803 symphorien =
2622− {email = String; github = String; githubId = Number; name = String;};
2804+ {email = String; github = String; githubId = Integer; name = String;};
2623 synthetica =
2805 synthetica =
2624− {email = String; github = String; githubId = Number; name = String;};
2806+ {email = String; github = String; githubId = Integer; name = String;};
2807+ szczyp =
2625− szczyp = {email = String; github = String; githubId = Number; name = String;};
2808+ {email = String; github = String; githubId = Integer; name = String;};
2809+ sztupi =
2626− sztupi = {email = String; github = String; githubId = Number; name = String;};
2810+ {email = String; github = String; githubId = Integer; name = String;};
2627 t184256 =
2811 t184256 =
2628− {email = String; github = String; githubId = Number; name = String;};
2812+ {email = String; github = String; githubId = Integer; name = String;};
2629 tadeokondrak =
2813 tadeokondrak =
2630 { email = String;
2814 { email = String;
2631 github = String;
2815 github = String;
2632− githubId = Number;
2816+ githubId = Integer;
2633 keys = [{fingerprint = String; longkeyid = String;}];
2817 keys = [{fingerprint = String; longkeyid = String;}];
2634 name = String;
2818 name = String;
2635 };
2819 };
2636 tadfisher =
2820 tadfisher =
2637− {email = String; github = String; githubId = Number; name = String;};
2821+ {email = String; github = String; githubId = Integer; name = String;};
2638− taeer = {email = String; github = String; githubId = Number; name = String;};
2822+ taeer = {email = String; github = String; githubId = Integer; name = String;};
2639− taha = {email = String; github = String; githubId = Number; name = String;};
2823+ taha = {email = String; github = String; githubId = Integer; name = String;};
2640 tailhook =
2824 tailhook =
2641− {email = String; github = String; githubId = Number; name = String;};
2825+ {email = String; github = String; githubId = Integer; name = String;};
2642 taketwo =
2826 taketwo =
2643− {email = String; github = String; githubId = Number; name = String;};
2827+ {email = String; github = String; githubId = Integer; name = String;};
2644 takikawa =
2828 takikawa =
2645− {email = String; github = String; githubId = Number; name = String;};
2829+ {email = String; github = String; githubId = Integer; name = String;};
2830+ taktoa =
2646− taktoa = {email = String; github = String; githubId = Number; name = String;};
2831+ {email = String; github = String; githubId = Integer; name = String;};
2647− taku0 = {email = String; github = String; githubId = Number; name = String;};
2832+ taku0 = {email = String; github = String; githubId = Integer; name = String;};
2648 talkara =
2833 talkara =
2649− {email = String; github = String; githubId = Number; name = String;};
2834+ {email = String; github = String; githubId = Integer; name = String;};
2650− talyz = {email = String; github = String; githubId = Number; name = String;};
2835+ talyz = {email = String; github = String; githubId = Integer; name = String;};
2651− taneb = {email = String; github = String; githubId = Number; name = String;};
2836+ taneb = {email = String; github = String; githubId = Integer; name = String;};
2652− tari = {email = String; github = String; githubId = Number; name = String;};
2837+ tari = {email = String; github = String; githubId = Integer; name = String;};
2653− tasmo = {email = String; github = String; githubId = Number; name = String;};
2838+ tasmo = {email = String; github = String; githubId = Integer; name = String;};
2654− tavyc = {email = String; github = String; githubId = Number; name = String;};
2839+ tavyc = {email = String; github = String; githubId = Integer; name = String;};
2840+ tazjin =
2655− tazjin = {email = String; github = String; githubId = Number; name = String;};
2841+ {email = String; github = String; githubId = Integer; name = String;};
2842+ tbenst =
2656− tbenst = {email = String; github = String; githubId = Number; name = String;};
2843+ {email = String; github = String; githubId = Integer; name = String;};
2657 tcbravo =
2844 tcbravo =
2658− {email = String; github = String; githubId = Number; name = String;};
2845+ {email = String; github = String; githubId = Integer; name = String;};
2659− tckmn = {email = String; github = String; githubId = Number; name = String;};
2846+ tckmn = {email = String; github = String; githubId = Integer; name = String;};
2660− teh = {email = String; github = String; githubId = Number; name = String;};
2847+ teh = {email = String; github = String; githubId = Integer; name = String;};
2661 telotortium =
2848 telotortium =
2662− {email = String; github = String; githubId = Number; name = String;};
2849+ {email = String; github = String; githubId = Integer; name = String;};
2850+ teozkr =
2663− teozkr = {email = String; github = String; githubId = Number; name = String;};
2851+ {email = String; github = String; githubId = Integer; name = String;};
2852+ terlar =
2664− terlar = {email = String; github = String; githubId = Number; name = String;};
2853+ {email = String; github = String; githubId = Integer; name = String;};
2665− tesq0 = {email = String; github = String; githubId = Number; name = String;};
2854+ tesq0 = {email = String; github = String; githubId = Integer; name = String;};
2666− teto = {email = String; github = String; githubId = Number; name = String;};
2855+ teto = {email = String; github = String; githubId = Integer; name = String;};
2667− tex = {email = String; github = String; githubId = Number; name = String;};
2856+ tex = {email = String; github = String; githubId = Integer; name = String;};
2668 tfmoraes =
2857 tfmoraes =
2669− {email = String; github = String; githubId = Number; name = String;};
2858+ {email = String; github = String; githubId = Integer; name = String;};
2670− tg-x = {email = String; github = String; githubId = Number; name = String;};
2859+ tg-x = {email = String; github = String; githubId = Integer; name = String;};
2671 th0rgal =
2860 th0rgal =
2672− {email = String; github = String; githubId = Number; name = String;};
2861+ {email = String; github = String; githubId = Integer; name = String;};
2673− thall = {email = String; github = String; githubId = Number; name = String;};
2862+ thall = {email = String; github = String; githubId = Integer; name = String;};
2674 thammers =
2863 thammers =
2675− {email = String; github = String; githubId = Number; name = String;};
2864+ {email = String; github = String; githubId = Integer; name = String;};
2676 thanegill =
2865 thanegill =
2677− {email = String; github = String; githubId = Number; name = String;};
2866+ {email = String; github = String; githubId = Integer; name = String;};
2678 thedavidmeister =
2867 thedavidmeister =
2679− {email = String; github = String; githubId = Number; name = String;};
2868+ {email = String; github = String; githubId = Integer; name = String;};
2680 thefenriswolf =
2869 thefenriswolf =
2681− {email = String; github = String; githubId = Number; name = String;};
2870+ {email = String; github = String; githubId = Integer; name = String;};
2682 thefloweringash =
2871 thefloweringash =
2683− {email = String; github = String; githubId = Number; name = String;};
2872+ {email = String; github = String; githubId = Integer; name = String;};
2684 thelegy =
2873 thelegy =
2685− {email = String; github = String; githubId = Number; name = String;};
2874+ {email = String; github = String; githubId = Integer; name = String;};
2686 thesola10 =
2875 thesola10 =
2687 { email = String;
2876 { email = String;
2688 github = String;
2877 github = String;
2689− githubId = Number;
2878+ githubId = Integer;
2690 keys = [{fingerprint = String; longkeyid = String;}];
2879 keys = [{fingerprint = String; longkeyid = String;}];
2691 name = String;
2880 name = String;
2692 };
2881 };
2882+ theuni =
2693− theuni = {email = String; github = String; githubId = Number; name = String;};
2883+ {email = String; github = String; githubId = Integer; name = String;};
2694 thiagokokada =
2884 thiagokokada =
2695− {email = String; github = String; githubId = Number; name = String;};
2885+ {email = String; github = String; githubId = Integer; name = String;};
2886+ thmzlt =
2696− thmzlt = {email = String; github = String; githubId = Number; name = String;};
2887+ {email = String; github = String; githubId = Integer; name = String;};
2697 thomasdesr =
2888 thomasdesr =
2698− {email = String; github = String; githubId = Number; name = String;};
2889+ {email = String; github = String; githubId = Integer; name = String;};
2699 thomasjm =
2890 thomasjm =
2700− {email = String; github = String; githubId = Number; name = String;};
2891+ {email = String; github = String; githubId = Integer; name = String;};
2701 thoughtpolice =
2892 thoughtpolice =
2702− {email = String; github = String; githubId = Number; name = String;};
2893+ {email = String; github = String; githubId = Integer; name = String;};
2894+ thpham =
2703− thpham = {email = String; github = String; githubId = Number; name = String;};
2895+ {email = String; github = String; githubId = Integer; name = String;};
2704 tilpner =
2896 tilpner =
2705− {email = String; github = String; githubId = Number; name = String;};
2897+ {email = String; github = String; githubId = Integer; name = String;};
2706 timbertson =
2898 timbertson =
2707− {email = String; github = String; githubId = Number; name = String;};
2899+ {email = String; github = String; githubId = Integer; name = String;};
2708− timma = {email = String; github = String; githubId = Number; name = String;};
2900+ timma = {email = String; github = String; githubId = Integer; name = String;};
2709 timokau =
2901 timokau =
2710− {email = String; github = String; githubId = Number; name = String;};
2902+ {email = String; github = String; githubId = Integer; name = String;};
2711− timor = {email = String; github = String; githubId = Number; name = String;};
2903+ timor = {email = String; github = String; githubId = Integer; name = String;};
2904+ timput =
2712− timput = {email = String; github = String; githubId = Number; name = String;};
2905+ {email = String; github = String; githubId = Integer; name = String;};
2713 timstott =
2906 timstott =
2714− {email = String; github = String; githubId = Number; name = String;};
2907+ {email = String; github = String; githubId = Integer; name = String;};
2715 tiramiseb =
2908 tiramiseb =
2716− {email = String; github = String; githubId = Number; name = String;};
2909+ {email = String; github = String; githubId = Integer; name = String;};
2717 titanous =
2910 titanous =
2718− {email = String; github = String; githubId = Number; name = String;};
2911+ {email = String; github = String; githubId = Integer; name = String;};
2719 tkerber =
2912 tkerber =
2720 { email = String;
2913 { email = String;
2721 github = String;
2914 github = String;
2722− githubId = Number;
2915+ githubId = Integer;
2723 keys = [{fingerprint = String; longkeyid = String;}];
2916 keys = [{fingerprint = String; longkeyid = String;}];
2724 name = String;
2917 name = String;
2725 };
2918 };
2726− tmplt = {email = String; github = String; githubId = Number; name = String;};
2919+ tmplt = {email = String; github = String; githubId = Integer; name = String;};
2727− tnias = {email = String; github = String; githubId = Number; name = String;};
2920+ tnias = {email = String; github = String; githubId = Integer; name = String;};
2728 tobiasBora =
2921 tobiasBora =
2729− {email = String; github = String; githubId = Number; name = String;};
2922+ {email = String; github = String; githubId = Integer; name = String;};
2730− tobim = {email = String; github = String; githubId = Number; name = String;};
2923+ tobim = {email = String; github = String; githubId = Integer; name = String;};
2731− tohl = {email = String; github = String; githubId = Number; name = String;};
2924+ tohl = {email = String; github = String; githubId = Integer; name = String;};
2732 tokudan =
2925 tokudan =
2733− {email = String; github = String; githubId = Number; name = String;};
2926+ {email = String; github = String; githubId = Integer; name = String;};
2734 tomahna =
2927 tomahna =
2735− {email = String; github = String; githubId = Number; name = String;};
2928+ {email = String; github = String; githubId = Integer; name = String;};
2736 tomberek =
2929 tomberek =
2737− {email = String; github = String; githubId = Number; name = String;};
2930+ {email = String; github = String; githubId = Integer; name = String;};
2738 tomfitzhenry =
2931 tomfitzhenry =
2739− {email = String; github = String; githubId = Number; name = String;};
2932+ {email = String; github = String; githubId = Integer; name = String;};
2740 tomsmeets =
2933 tomsmeets =
2741− {email = String; github = String; githubId = Number; name = String;};
2934+ {email = String; github = String; githubId = Integer; name = String;};
2742− toonn = {email = String; github = String; githubId = Number; name = String;};
2935+ toonn = {email = String; github = String; githubId = Integer; name = String;};
2743 toschmidt =
2936 toschmidt =
2744− {email = String; github = String; githubId = Number; name = String;};
2937+ {email = String; github = String; githubId = Integer; name = String;};
2745 travisbhartwell =
2938 travisbhartwell =
2746− {email = String; github = String; githubId = Number; name = String;};
2939+ {email = String; github = String; githubId = Integer; name = String;};
2940+ treemo =
2747− treemo = {email = String; github = String; githubId = Number; name = String;};
2941+ {email = String; github = String; githubId = Integer; name = String;};
2748 trepetti =
2942 trepetti =
2749− {email = String; github = String; githubId = Number; name = String;};
2943+ {email = String; github = String; githubId = Integer; name = String;};
2750 trevorj =
2944 trevorj =
2751− {email = String; github = String; githubId = Number; name = String;};
2945+ {email = String; github = String; githubId = Integer; name = String;};
2752 tricktron =
2946 tricktron =
2753− {email = String; github = String; githubId = Number; name = String;};
2947+ {email = String; github = String; githubId = Integer; name = String;};
2754− trino = {email = String; github = String; githubId = Number; name = String;};
2948+ trino = {email = String; github = String; githubId = Integer; name = String;};
2949+ troydm =
2755− troydm = {email = String; github = String; githubId = Number; name = String;};
2950+ {email = String; github = String; githubId = Integer; name = String;};
2756 tscholak =
2951 tscholak =
2757− {email = String; github = String; githubId = Number; name = String;};
2952+ {email = String; github = String; githubId = Integer; name = String;};
2758 tstrobel = {email = String; name = String;};
2953 tstrobel = {email = String; name = String;};
2759 ttuegel =
2954 ttuegel =
2760− {email = String; github = String; githubId = Number; name = String;};
2955+ {email = String; github = String; githubId = Integer; name = String;};
2761 turbomack =
2956 turbomack =
2762− {email = String; github = String; githubId = Number; name = String;};
2957+ {email = String; github = String; githubId = Integer; name = String;};
2958+ turion =
2763− turion = {email = String; github = String; githubId = Number; name = String;};
2959+ {email = String; github = String; githubId = Integer; name = String;};
2764− tv = {email = String; github = String; githubId = Number; name = String;};
2960+ tv = {email = String; github = String; githubId = Integer; name = String;};
2765 tvestelind =
2961 tvestelind =
2766− {email = String; github = String; githubId = Number; name = String;};
2962+ {email = String; github = String; githubId = Integer; name = String;};
2767− tviti = {email = String; github = String; githubId = Number; name = String;};
2963+ tviti = {email = String; github = String; githubId = Integer; name = String;};
2964+ tvorog =
2768− tvorog = {email = String; github = String; githubId = Number; name = String;};
2965+ {email = String; github = String; githubId = Integer; name = String;};
2966+ tweber =
2769− tweber = {email = String; github = String; githubId = Number; name = String;};
2967+ {email = String; github = String; githubId = Integer; name = String;};
2770− twey = {email = String; github = String; githubId = Number; name = String;};
2968+ twey = {email = String; github = String; githubId = Integer; name = String;};
2771 twhitehead =
2969 twhitehead =
2772 { email = String;
2970 { email = String;
2773 github = String;
2971 github = String;
2774− githubId = Number;
2972+ githubId = Integer;
2775 keys = [{fingerprint = String; longkeyid = String;}];
2973 keys = [{fingerprint = String; longkeyid = String;}];
2776 name = String;
2974 name = String;
2777 };
2975 };
2778 typetetris =
2976 typetetris =
2779− {email = String; github = String; githubId = Number; name = String;};
2977+ {email = String; github = String; githubId = Integer; name = String;};
2780− udono = {email = String; github = String; githubId = Number; name = String;};
2978+ udono = {email = String; github = String; githubId = Integer; name = String;};
2781− unode = {email = String; github = String; githubId = Number; name = String;};
2979+ unode = {email = String; github = String; githubId = Integer; name = String;};
2782 uralbash =
2980 uralbash =
2783− {email = String; github = String; githubId = Number; name = String;};
2981+ {email = String; github = String; githubId = Integer; name = String;};
2784 uri-canva =
2982 uri-canva =
2785− {email = String; github = String; githubId = Number; name = String;};
2983+ {email = String; github = String; githubId = Integer; name = String;};
2786 uskudnik =
2984 uskudnik =
2787− {email = String; github = String; githubId = Number; name = String;};
2985+ {email = String; github = String; githubId = Integer; name = String;};
2788 utdemir =
2986 utdemir =
2789− {email = String; github = String; githubId = Number; name = String;};
2987+ {email = String; github = String; githubId = Integer; name = String;};
2790 uvnikita =
2988 uvnikita =
2791− {email = String; github = String; githubId = Number; name = String;};
2989+ {email = String; github = String; githubId = Integer; name = String;};
2792− uwap = {email = String; github = String; githubId = Number; name = String;};
2990+ uwap = {email = String; github = String; githubId = Integer; name = String;};
2793 va1entin =
2991 va1entin =
2794− {email = String; github = String; githubId = Number; name = String;};
2992+ {email = String; github = String; githubId = Integer; name = String;};
2795 vaibhavsagar =
2993 vaibhavsagar =
2796− {email = String; github = String; githubId = Number; name = String;};
2994+ {email = String; github = String; githubId = Integer; name = String;};
2797 valebes =
2995 valebes =
2798− {email = String; github = String; githubId = Number; name = String;};
2996+ {email = String; github = String; githubId = Integer; name = String;};
2799 valeriangalliat =
2997 valeriangalliat =
2800− {email = String; github = String; githubId = Number; name = String;};
2998+ {email = String; github = String; githubId = Integer; name = String;};
2801 valodim =
2999 valodim =
2802− {email = String; github = String; githubId = Number; name = String;};
3000+ {email = String; github = String; githubId = Integer; name = String;};
2803 vandenoever =
3001 vandenoever =
2804− {email = String; github = String; githubId = Number; name = String;};
3002+ {email = String; github = String; githubId = Integer; name = String;};
2805 vanschelven =
3003 vanschelven =
2806− {email = String; github = String; githubId = Number; name = String;};
3004+ {email = String; github = String; githubId = Integer; name = String;};
3005+ vanzef =
2807− vanzef = {email = String; github = String; githubId = Number; name = String;};
3006+ {email = String; github = String; githubId = Integer; name = String;};
2808 varunpatro =
3007 varunpatro =
2809− {email = String; github = String; githubId = Number; name = String;};
3008+ {email = String; github = String; githubId = Integer; name = String;};
2810− vbgl = {email = String; github = String; githubId = Number; name = String;};
3009+ vbgl = {email = String; github = String; githubId = Integer; name = String;};
2811 vbmithr =
3010 vbmithr =
2812− {email = String; github = String; githubId = Number; name = String;};
3011+ {email = String; github = String; githubId = Integer; name = String;};
2813 vcanadi =
3012 vcanadi =
2814− {email = String; github = String; githubId = Number; name = String;};
3013+ {email = String; github = String; githubId = Integer; name = String;};
2815 vcunat =
3014 vcunat =
2816 { email = String;
3015 { email = String;
2817 github = String;
3016 github = String;
2818− githubId = Number;
3017+ githubId = Integer;
2819 keys = [{fingerprint = String; longkeyid = String;}];
3018 keys = [{fingerprint = String; longkeyid = String;}];
2820 name = String;
3019 name = String;
2821 };
3020 };
2822 vdemeester =
3021 vdemeester =
2823− {email = String; github = String; githubId = Number; name = String;};
3022+ {email = String; github = String; githubId = Integer; name = String;};
2824 veehaitch =
3023 veehaitch =
2825 { email = String;
3024 { email = String;
2826 github = String;
3025 github = String;
2827− githubId = Number;
3026+ githubId = Integer;
2828 keys = [{fingerprint = String; longkeyid = String;}];
3027 keys = [{fingerprint = String; longkeyid = String;}];
2829 name = String;
3028 name = String;
2830 };
3029 };
2831 velovix =
3030 velovix =
2832− {email = String; github = String; githubId = Number; name = String;};
3031+ {email = String; github = String; githubId = Integer; name = String;};
3032+ veprbl =
2833− veprbl = {email = String; github = String; githubId = Number; name = String;};
3033+ {email = String; github = String; githubId = Integer; name = String;};
2834 vidbina =
3034 vidbina =
2835− {email = String; github = String; githubId = Number; name = String;};
3035+ {email = String; github = String; githubId = Integer; name = String;};
3036+ vifino =
2836− vifino = {email = String; github = String; githubId = Number; name = String;};
3037+ {email = String; github = String; githubId = Integer; name = String;};
2837 vika_nezrimaya =
3038 vika_nezrimaya =
2838 { email = String;
3039 { email = String;
2839 github = String;
3040 github = String;
2840− githubId = Number;
3041+ githubId = Integer;
2841 keys = [{fingerprint = String; longkeyid = String;}];
3042 keys = [{fingerprint = String; longkeyid = String;}];
2842 name = String;
3043 name = String;
2843 };
3044 };
2844 vincentbernat =
3045 vincentbernat =
2845 { email = String;
3046 { email = String;
2846 github = String;
3047 github = String;
2847− githubId = Number;
3048+ githubId = Integer;
2848 keys = [{fingerprint = String; longkeyid = String;}];
3049 keys = [{fingerprint = String; longkeyid = String;}];
2849 name = String;
3050 name = String;
2850 };
3051 };
2851 vinymeuh =
3052 vinymeuh =
2852− {email = String; github = String; githubId = Number; name = String;};
3053+ {email = String; github = String; githubId = Integer; name = String;};
2853− viric = {email = String; github = String; githubId = Number; name = String;};
3054+ viric = {email = String; github = String; githubId = Integer; name = String;};
2854 virusdave =
3055 virusdave =
2855− {email = String; github = String; githubId = Number; name = String;};
3056+ {email = String; github = String; githubId = Integer; name = String;};
2856 vizanto =
3057 vizanto =
2857− {email = String; github = String; githubId = Number; name = String;};
3058+ {email = String; github = String; githubId = Integer; name = String;};
2858 vklquevs =
3059 vklquevs =
2859− {email = String; github = String; githubId = Number; name = String;};
3060+ {email = String; github = String; githubId = Integer; name = String;};
2860− vlaci = {email = String; github = String; githubId = Number; name = String;};
3061+ vlaci = {email = String; github = String; githubId = Integer; name = String;};
2861 vlstill =
3062 vlstill =
2862− {email = String; github = String; githubId = Number; name = String;};
3063+ {email = String; github = String; githubId = Integer; name = String;};
2863 vmandela =
3064 vmandela =
2864− {email = String; github = String; githubId = Number; name = String;};
3065+ {email = String; github = String; githubId = Integer; name = String;};
2865 vmchale =
3066 vmchale =
2866− {email = String; github = String; githubId = Number; name = String;};
3067+ {email = String; github = String; githubId = Integer; name = String;};
2867 voidless =
3068 voidless =
2868− {email = String; github = String; githubId = Number; name = String;};
3069+ {email = String; github = String; githubId = Integer; name = String;};
2869 volhovm =
3070 volhovm =
2870− {email = String; github = String; githubId = Number; name = String;};
3071+ {email = String; github = String; githubId = Integer; name = String;};
2871− volth = {email = String; github = String; githubId = Number; name = String;};
3072+ volth = {email = String; github = String; githubId = Integer; name = String;};
2872 vozz = {email = String; name = String;};
3073 vozz = {email = String; name = String;};
3074+ vrthra =
2873− vrthra = {email = String; github = String; githubId = Number; name = String;};
3075+ {email = String; github = String; githubId = Integer; name = String;};
2874 vskilet =
3076 vskilet =
2875− {email = String; github = String; githubId = Number; name = String;};
3077+ {email = String; github = String; githubId = Integer; name = String;};
2876 vyorkin =
3078 vyorkin =
2877− {email = String; github = String; githubId = Number; name = String;};
3079+ {email = String; github = String; githubId = Integer; name = String;};
2878− vyp = {email = String; github = String; githubId = Number; name = String;};
3080+ vyp = {email = String; github = String; githubId = Integer; name = String;};
2879 waiting-for-dev =
3081 waiting-for-dev =
2880− {email = String; github = String; githubId = Number; name = String;};
3082+ {email = String; github = String; githubId = Integer; name = String;};
2881 wamserma =
3083 wamserma =
2882− {email = String; github = String; githubId = Number; name = String;};
3084+ {email = String; github = String; githubId = Integer; name = String;};
2883− waynr = {email = String; github = String; githubId = Number; name = String;};
3085+ waynr = {email = String; github = String; githubId = Integer; name = String;};
2884 wchresta =
3086 wchresta =
2885− {email = String; github = String; githubId = Number; name = String;};
3087+ {email = String; github = String; githubId = Integer; name = String;};
2886− wd15 = {email = String; github = String; githubId = Number; name = String;};
3088+ wd15 = {email = String; github = String; githubId = Integer; name = String;};
2887 wedens = {email = String; name = String;};
3089 wedens = {email = String; name = String;};
2888 willibutz =
3090 willibutz =
2889− {email = String; github = String; githubId = Number; name = String;};
3091+ {email = String; github = String; githubId = Integer; name = String;};
2890 willtim = {email = String; name = String;};
3092 willtim = {email = String; name = String;};
2891 winden = {email = String; name = String;};
3093 winden = {email = String; name = String;};
3094+ winpat =
2892− winpat = {email = String; github = String; githubId = Number; name = String;};
3095+ {email = String; github = String; githubId = Integer; name = String;};
2893 wishfort36 =
3096 wishfort36 =
2894− {email = String; github = String; githubId = Number; name = String;};
3097+ {email = String; github = String; githubId = Integer; name = String;};
2895 wizeman =
3098 wizeman =
2896− {email = String; github = String; githubId = Number; name = String;};
3099+ {email = String; github = String; githubId = Integer; name = String;};
3100+ wjlroe =
2897− wjlroe = {email = String; github = String; githubId = Number; name = String;};
3101+ {email = String; github = String; githubId = Integer; name = String;};
2898 wmertens =
3102 wmertens =
2899− {email = String; github = String; githubId = Number; name = String;};
3103+ {email = String; github = String; githubId = Integer; name = String;};
2900 wnklmnn =
3104 wnklmnn =
2901− {email = String; github = String; githubId = Number; name = String;};
3105+ {email = String; github = String; githubId = Integer; name = String;};
2902− woffs = {email = String; github = String; githubId = Number; name = String;};
3106+ woffs = {email = String; github = String; githubId = Integer; name = String;};
2903 wohanley =
3107 wohanley =
2904− {email = String; github = String; githubId = Number; name = String;};
3108+ {email = String; github = String; githubId = Integer; name = String;};
3109+ womfoo =
2905− womfoo = {email = String; github = String; githubId = Number; name = String;};
3110+ {email = String; github = String; githubId = Integer; name = String;};
2906 worldofpeace =
3111 worldofpeace =
2907− {email = String; github = String; githubId = Number; name = String;};
3112+ {email = String; github = String; githubId = Integer; name = String;};
3113+ wscott =
2908− wscott = {email = String; github = String; githubId = Number; name = String;};
3114+ {email = String; github = String; githubId = Integer; name = String;};
2909 wucke13 =
3115 wucke13 =
2910− {email = String; github = String; githubId = Number; name = String;};
3116+ {email = String; github = String; githubId = Integer; name = String;};
2911 wulfsta =
3117 wulfsta =
2912− {email = String; github = String; githubId = Number; name = String;};
3118+ {email = String; github = String; githubId = Integer; name = String;};
3119+ wykurz =
2913− wykurz = {email = String; github = String; githubId = Number; name = String;};
3120+ {email = String; github = String; githubId = Integer; name = String;};
2914− wyvie = {email = String; github = String; githubId = Number; name = String;};
3121+ wyvie = {email = String; github = String; githubId = Integer; name = String;};
2915 xaverdh =
3122 xaverdh =
2916− {email = String; github = String; githubId = Number; name = String;};
3123+ {email = String; github = String; githubId = Integer; name = String;};
2917 xavierzwirtz =
3124 xavierzwirtz =
2918− {email = String; github = String; githubId = Number; name = String;};
3125+ {email = String; github = String; githubId = Integer; name = String;};
3126+ xbreak =
2919− xbreak = {email = String; github = String; githubId = Number; name = String;};
3127+ {email = String; github = String; githubId = Integer; name = String;};
2920− xe = {email = String; github = String; githubId = Number; name = String;};
3128+ xe = {email = String; github = String; githubId = Integer; name = String;};
2921− xeji = {email = String; github = String; githubId = Number; name = String;};
3129+ xeji = {email = String; github = String; githubId = Integer; name = String;};
2922− xfix = {email = String; github = String; githubId = Number; name = String;};
3130+ xfix = {email = String; github = String; githubId = Integer; name = String;};
2923 xiorcale =
3131 xiorcale =
2924− {email = String; github = String; githubId = Number; name = String;};
3132+ {email = String; github = String; githubId = Integer; name = String;};
2925 xnaveira =
3133 xnaveira =
2926− {email = String; github = String; githubId = Number; name = String;};
3134+ {email = String; github = String; githubId = Integer; name = String;};
2927− xnwdd = {email = String; github = String; githubId = Number; name = String;};
3135+ xnwdd = {email = String; github = String; githubId = Integer; name = String;};
3136+ xrelkd =
2928− xrelkd = {email = String; github = String; githubId = Number; name = String;};
3137+ {email = String; github = String; githubId = Integer; name = String;};
2929− xurei = {email = String; github = String; githubId = Number; name = String;};
3138+ xurei = {email = String; github = String; githubId = Integer; name = String;};
2930− xvapx = {email = String; github = String; githubId = Number; name = String;};
3139+ xvapx = {email = String; github = String; githubId = Integer; name = String;};
2931 xwvvvvwx =
3140 xwvvvvwx =
2932− {email = String; github = String; githubId = Number; name = String;};
3141+ {email = String; github = String; githubId = Integer; name = String;};
2933− xzfc = {email = String; github = String; githubId = Number; name = String;};
3142+ xzfc = {email = String; github = String; githubId = Integer; name = String;};
2934− y0no = {email = String; github = String; githubId = Number; name = String;};
3143+ y0no = {email = String; github = String; githubId = Integer; name = String;};
2935− yarny = {email = String; github = String; githubId = Number; name = String;};
3144+ yarny = {email = String; github = String; githubId = Integer; name = String;};
2936− yarr = {email = String; github = String; githubId = Number; name = String;};
3145+ yarr = {email = String; github = String; githubId = Integer; name = String;};
2937 yegortimoshenko =
3146 yegortimoshenko =
2938− {email = String; github = String; githubId = Number; name = String;};
3147+ {email = String; github = String; githubId = Integer; name = String;};
3148+ yesbox =
2939− yesbox = {email = String; github = String; githubId = Number; name = String;};
3149+ {email = String; github = String; githubId = Integer; name = String;};
2940 yevhenshymotiuk =
3150 yevhenshymotiuk =
2941− {email = String; github = String; githubId = Number; name = String;};
3151+ {email = String; github = String; githubId = Integer; name = String;};
2942 ylwghst =
3152 ylwghst =
2943− {email = String; github = String; githubId = Number; name = String;};
3153+ {email = String; github = String; githubId = Integer; name = String;};
2944 ymarkus =
3154 ymarkus =
2945− {email = String; github = String; githubId = Number; name = String;};
3155+ {email = String; github = String; githubId = Integer; name = String;};
2946 ymeister =
3156 ymeister =
2947− {email = String; github = String; githubId = Number; name = String;};
3157+ {email = String; github = String; githubId = Integer; name = String;};
3158+ yochai =
2948− yochai = {email = String; github = String; githubId = Number; name = String;};
3159+ {email = String; github = String; githubId = Integer; name = String;};
2949 yorickvp =
3160 yorickvp =
2950− {email = String; github = String; githubId = Number; name = String;};
3161+ {email = String; github = String; githubId = Integer; name = String;};
3162+ yrashk =
2951− yrashk = {email = String; github = String; githubId = Number; name = String;};
3163+ {email = String; github = String; githubId = Integer; name = String;};
2952− ysndr = {email = String; github = String; githubId = Number; name = String;};
3164+ ysndr = {email = String; github = String; githubId = Integer; name = String;};
2953 yuriaisaka =
3165 yuriaisaka =
2954− {email = String; github = String; githubId = Number; name = String;};
3166+ {email = String; github = String; githubId = Integer; name = String;};
2955 yurrriq =
3167 yurrriq =
2956− {email = String; github = String; githubId = Number; name = String;};
3168+ {email = String; github = String; githubId = Integer; name = String;};
2957 yusdacra =
3169 yusdacra =
2958 { email = String;
3170 { email = String;
2959 github = String;
3171 github = String;
2960− githubId = Number;
3172+ githubId = Integer;
2961 keys = [{fingerprint = String; longkeyid = String;}];
3173 keys = [{fingerprint = String; longkeyid = String;}];
2962 name = String;
3174 name = String;
2963 };
3175 };
2964− yvesf = {email = String; github = String; githubId = Number; name = String;};
3176+ yvesf = {email = String; github = String; githubId = Integer; name = String;};
2965− yvt = {email = String; github = String; githubId = Number; name = String;};
3177+ yvt = {email = String; github = String; githubId = Integer; name = String;};
2966 zachcoyle =
3178 zachcoyle =
2967− {email = String; github = String; githubId = Number; name = String;};
3179+ {email = String; github = String; githubId = Integer; name = String;};
2968− zagy = {email = String; github = String; githubId = Number; name = String;};
3180+ zagy = {email = String; github = String; githubId = Integer; name = String;};
3181+ zakkor =
2969− zakkor = {email = String; github = String; githubId = Number; name = String;};
3182+ {email = String; github = String; githubId = Integer; name = String;};
2970 zalakain =
3183 zalakain =
2971− {email = String; github = String; githubId = Number; name = String;};
3184+ {email = String; github = String; githubId = Integer; name = String;};
2972 zaninime =
3185 zaninime =
2973− {email = String; github = String; githubId = Number; name = String;};
3186+ {email = String; github = String; githubId = Integer; name = String;};
2974 zarelit =
3187 zarelit =
2975− {email = String; github = String; githubId = Number; name = String;};
3188+ {email = String; github = String; githubId = Integer; name = String;};
2976 zauberpony =
3189 zauberpony =
2977− {email = String; github = String; githubId = Number; name = String;};
3190+ {email = String; github = String; githubId = Integer; name = String;};
2978 zef = {email = String; name = String;};
3191 zef = {email = String; name = String;};
2979 zeratax =
3192 zeratax =
2980 { email = String;
3193 { email = String;
2981 github = String;
3194 github = String;
2982− githubId = Number;
3195+ githubId = Integer;
2983 keys = [{fingerprint = String; longkeyid = String;}];
3196 keys = [{fingerprint = String; longkeyid = String;}];
2984 name = String;
3197 name = String;
2985 };
3198 };
3199+ zfnmxt =
2986− zfnmxt = {email = String; github = String; githubId = Number; name = String;};
3200+ {email = String; github = String; githubId = Integer; name = String;};
2987 zgrannan =
3201 zgrannan =
2988− {email = String; github = String; githubId = Number; name = String;};
3202+ {email = String; github = String; githubId = Integer; name = String;};
2989 zimbatm =
3203 zimbatm =
2990− {email = String; github = String; githubId = Number; name = String;};
3204+ {email = String; github = String; githubId = Integer; name = String;};
2991− zohl = {email = String; github = String; githubId = Number; name = String;};
3205+ zohl = {email = String; github = String; githubId = Integer; name = String;};
2992 zokrezyl =
3206 zokrezyl =
2993− {email = String; github = String; githubId = Number; name = String;};
3207+ {email = String; github = String; githubId = Integer; name = String;};
2994 zookatron =
3208 zookatron =
2995− {email = String; github = String; githubId = Number; name = String;};
3209+ {email = String; github = String; githubId = Integer; name = String;};
2996 zoomulator =
3210 zoomulator =
2997− {email = String; github = String; githubId = Number; name = String;};
3211+ {email = String; github = String; githubId = Integer; name = String;};
2998− zowoq = {email = String; github = String; githubId = Number; name = String;};
3212+ zowoq = {email = String; github = String; githubId = Integer; name = String;};
3213+ zraexy =
2999− zraexy = {email = String; github = String; githubId = Number; name = String;};
3214+ {email = String; github = String; githubId = Integer; name = String;};
3000− zx2c4 = {email = String; github = String; githubId = Number; name = String;};
3215+ zx2c4 = {email = String; github = String; githubId = Integer; name = String;};
3001 zzamboni =
3216 zzamboni =
3002− {email = String; github = String; githubId = Number; name = String;};
3217+ {email = String; github = String; githubId = Integer; name = String;};
3003}
3218}
test/golden/importless/make-dbus-conf.txt+2−2
@@ -7,11 +7,11 @@
7 allowSubstitutes = Bool;
7 allowSubstitutes = Bool;
8 nativeBuildInputs = [β];
8 nativeBuildInputs = [β];
9 preferLocalBuild = Bool;
9 preferLocalBuild = Bool;
10− serviceDirectories = [ε];
10+ serviceDirectories = ε;
11 suidHelper = String;
11 suidHelper = String;
12 } ->
12 } ->
13 String -> ζ;
13 String -> ζ;
14− serviceDirectories = [ε];
14+ serviceDirectories = ε;
15 suidHelper = String;
15 suidHelper = String;
16 writeText = String -> String -> δ;
16 writeText = String -> String -> δ;
17} ->
17} ->
test/golden/importless/make-peer.txt+6−4
@@ -14,9 +14,9 @@
14 { interfaces =
14 { interfaces =
15 { eth1 =
15 { eth1 =
16 { ipv4 =
16 { ipv4 =
17− {addresses = [{address = γ; prefixLength = Number;}];};
17+ {addresses = [{address = γ; prefixLength = Integer;}];};
18 ipv6 =
18 ipv6 =
19− {addresses = [{address = δ; prefixLength = Number;}];};
19+ {addresses = [{address = δ; prefixLength = Integer;}];};
20 };
20 };
21 };
21 };
22 useDHCP = Bool;
22 useDHCP = Bool;
@@ -39,8 +39,10 @@
39 networking =
39 networking =
40 { interfaces =
40 { interfaces =
41 { eth1 =
41 { eth1 =
42+ { ipv4 =
42− { ipv4 = {addresses = [{address = γ; prefixLength = Number;}];};
43+ {addresses = [{address = γ; prefixLength = Integer;}];};
44+ ipv6 =
43− ipv6 = {addresses = [{address = δ; prefixLength = Number;}];};
45+ {addresses = [{address = δ; prefixLength = Integer;}];};
44 };
46 };
45 };
47 };
46 useDHCP = Bool;
48 useDHCP = Bool;
test/golden/importless/make-squashfs.txt+1−1
@@ -6,6 +6,6 @@
6 comp = String;
6 comp = String;
7 squashfsTools = β;
7 squashfsTools = β;
8 stdenv = α;
8 stdenv = α;
9− storeContents = [ε];
9+ storeContents = ε;
10} ->
10} ->
11γ
11γ
test/golden/importless/man.txt+1−1
@@ -14,7 +14,7 @@
14 maintainers = [ε];
14 maintainers = [ε];
15 };
15 };
16 nativeBuildInputs = δ;
16 nativeBuildInputs = δ;
17− patches = [String];
17+ patches = [Path];
18 pname = String;
18 pname = String;
19 preBuild = String;
19 preBuild = String;
20 propagatedBuildInputs = [γ];
20 propagatedBuildInputs = [γ];
test/golden/importless/map-set.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/marshal.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/master.txtnew file+56
@@ -0,0 +1,56 @@
1+∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1.
2+( α.config = β,
3+ α.lib = γ,
4+ α.pkgs = δ,
5+ β.environment = ε,
6+ β.services = ζ,
7+ δ.writeText = String -> η -> θ,
8+ γ.aneeshusa = ι,
9+ γ.builtins = κ,
10+ γ.cfg = λ,
11+ γ.maintainers = μ,
12+ γ.mkEnableOption = String -> ν,
13+ γ.mkIf =
14+ ξ ->
15+ { environment =
16+ {etc = {salt/master = {source = θ;};}; systemPackages = [ο];};
17+ systemd =
18+ { services =
19+ { salt-master =
20+ { after = [String];
21+ description = String;
22+ path = [π];
23+ restartTriggers = [ρ];
24+ serviceConfig =
25+ { ExecStart = String;
26+ LimitNOFILE = Integer;
27+ NotifyAccess = String;
28+ Type = String;
29+ };
30+ wantedBy = [String];
31+ };
32+ };
33+ };
34+ } ->
35+ σ,
36+ γ.mkOption = {default = {}; description = String; type = τ;} -> υ,
37+ γ.recursiveUpdate = {default_include = String; pki_dir = String;} -> φ -> χ,
38+ γ.salt = ο,
39+ γ.types = ψ,
40+ γ.utillinux = π,
41+ λ.configuration = φ,
42+ ζ.salt = ω,
43+ ω.master = α1,
44+ α1.enable = ξ,
45+ κ.toJSON = χ -> η,
46+ ε.etc = β1,
47+ β1.salt/master = γ1,
48+ γ1.source = ρ,
49+ ψ.attrs = τ
50+) =>
51+α ->
52+{ config = σ;
53+ meta = {maintainers = [ι];};
54+ options =
55+ {services = {salt = {master = {configuration = υ; enable = ν;};};};};
56+}
test/golden/importless/material-theme.txt+1−1
@@ -7,7 +7,7 @@
7 description = String;
7 description = String;
8 homepage = String;
8 homepage = String;
9 license = δ;
9 license = δ;
10− maintainers = ∀ α. [α];
10+ maintainers = ∀ α. α;
11 platforms = ε;
11 platforms = ε;
12 };
12 };
13 patchPhase = String;
13 patchPhase = String;
test/golden/importless/maven-build.txt+20−17
@@ -1,21 +1,24 @@
1∀ α β γ δ ε ζ.
1∀ α β γ δ ε ζ.
2−( { finalPhase = String;
2+( ( { finalPhase = String;
3− mvnAssembly = String;
3+ mvnAssembly = String;
4− mvnCheckstyle = String;
4+ mvnCheckstyle = String;
5− mvnCompile = String;
5+ mvnCompile = String;
6− mvnJar = String;
6+ mvnJar = String;
7− mvnJavadoc = String;
7+ mvnJavadoc = String;
8− mvnRelease = String;
8+ mvnRelease = String;
9− mvnTest = String;
9+ mvnTest = String;
10− mvnTestCompile = String;
10+ mvnTestCompile = String;
11− mvnTestJar = String;
11+ mvnTestJar = String;
12− name = α;
12+ name = α;
13− phases = String;
13+ phases = String;
14− setupPhase = String;
14+ setupPhase = String;
15− src = β;
15+ src = β;
16+ }
16− } //
17+ ) //
17− γ ~
18+ ( γ
19+ ) ~
18− δ,
20+ ( δ
21+ ),
19 γ.?doCheckstyle = Bool,
22 γ.?doCheckstyle = Bool,
20 γ.?doJavadoc = Bool,
23 γ.?doJavadoc = Bool,
21 γ.?doRelease = Bool,
24 γ.?doRelease = Bool,
test/golden/importless/mavenPlugins.txt+1−1
@@ -1,7 +1,7 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1 ζ1 η1 θ1 ι1 κ1
1∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1 ζ1 η1 θ1 ι1 κ1
2λ1 μ1 ν1 ξ1 ο1 π1 ρ1 σ1 τ1.
2λ1 μ1 ν1 ξ1 ο1 π1 ρ1 σ1 τ1.
3( α.callPackage =
3( α.callPackage =
4− String ->
4+ Path ->
5 {} ->
5 {} ->
6 { artifactId = String;
6 { artifactId = String;
7 groupId = String;
7 groupId = String;
test/golden/importless/md5.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/mem.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ ι κ.
1∀ β γ δ ε ζ η θ ι κ.
2−( β // {description = String;} ~ γ,
2+( (β) // ({description = String;}) ~ (γ),
3 δ.optional = Bool -> ε -> ζ,
3 δ.optional = Bool -> ε -> ζ,
4 η.meta = β,
4 η.meta = β,
5 η.src = θ,
5 η.src = θ,
test/golden/importless/metabang-bind.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/metatilities-base.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/minion.txtnew file+53
@@ -0,0 +1,53 @@
1+∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1.
2+( α.config = β,
3+ α.lib = γ,
4+ α.pkgs = δ,
5+ β.environment = ε,
6+ β.services = ζ,
7+ δ.writeText = String -> η -> θ,
8+ γ.builtins = ι,
9+ γ.cfg = κ,
10+ γ.mkEnableOption = String -> λ,
11+ γ.mkIf =
12+ μ ->
13+ { environment =
14+ {etc = {salt/minion = {source = θ;};}; systemPackages = [ν];};
15+ systemd =
16+ { services =
17+ { salt-minion =
18+ { after = [String];
19+ description = String;
20+ path = [ξ];
21+ restartTriggers = [ο];
22+ serviceConfig =
23+ { ExecStart = String;
24+ LimitNOFILE = Integer;
25+ NotifyAccess = String;
26+ Type = String;
27+ };
28+ wantedBy = [String];
29+ };
30+ };
31+ };
32+ } ->
33+ π,
34+ γ.mkOption = {default = {}; description = String; type = ρ;} -> σ,
35+ γ.recursiveUpdate = {default_include = String; pki_dir = String;} -> τ -> υ,
36+ γ.salt = ν,
37+ γ.types = φ,
38+ γ.utillinux = ξ,
39+ κ.configuration = τ,
40+ ζ.salt = χ,
41+ χ.minion = ψ,
42+ ψ.enable = μ,
43+ ι.toJSON = υ -> η,
44+ ε.etc = ω,
45+ ω.salt/minion = α1,
46+ α1.source = ο,
47+ φ.attrs = ρ
48+) =>
49+α ->
50+{ config = π;
51+ options =
52+ {services = {salt = {minion = {configuration = σ; enable = λ;};};};};
53+}
test/golden/importless/misc-extensions.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/mjpg-streamer.txt+1−1
@@ -15,7 +15,7 @@
15 serviceConfig =
15 serviceConfig =
16 { Group = ι;
16 { Group = ι;
17 Restart = String;
17 Restart = String;
18− RestartSec = Number;
18+ RestartSec = Integer;
19 User = κ;
19 User = κ;
20 };
20 };
21 wantedBy = [String];
21 wantedBy = [String];
test/golden/importless/mk-string-metrics.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/modemmanager-qt.txtdeleted−15
@@ -1,15 +0,0 @@
1−∀ α β γ δ ε ζ η.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { extra-cmake-modules = ζ;
3− lib = α;
4− mkDerivation =
5− { meta = {broken = Bool; maintainers = [ε];};
6− name = String;
7− nativeBuildInputs = [ζ];
8− outputs = [String];
9− propagatedBuildInputs = [γ];
10− } ->
11− η;
12− modemmanager = γ;
13− qtbase = γ;
14−} ->
15−η
test/golden/importless/modemmanager.txt+1−1
@@ -9,7 +9,7 @@
9) =>
9) =>
10{config = α; lib = γ; options = κ; pkgs = λ;} ->
10{config = α; lib = γ; options = κ; pkgs = λ;} ->
11{ extraOpts = {refreshRate = ε;};
11{ extraOpts = {refreshRate = ε;};
12− port = Number;
12+ port = Integer;
13 serviceOpts =
13 serviceOpts =
14 {serviceConfig = {ExecStart = String; SupplementaryGroups = String;};};
14 {serviceConfig = {ExecStart = String; SupplementaryGroups = String;};};
15}
15}
test/golden/importless/module-list.txt+1−1
@@ -1 +1 @@
1−[String]
1+[Path]
test/golden/importless/modules-closure.txt+1−1
@@ -2,7 +2,7 @@
2( α.mkDerivation =
2( α.mkDerivation =
3 { allowMissing = Bool;
3 { allowMissing = Bool;
4 allowedReferences = [String];
4 allowedReferences = [String];
5− builder = String;
5+ builder = Path;
6 firmware = β;
6 firmware = β;
7 kernel = γ;
7 kernel = γ;
8 name = String;
8 name = String;
test/golden/importless/modules.txt+163−163
@@ -12,201 +12,201 @@
12 postgresql = ι;
12 postgresql = ι;
13} ->
13} ->
14{ applications =
14{ applications =
15− { abstraction = ∀ α. {inputs = [α]; path = String;};
15+ { abstraction = ∀ α. {inputs = α; path = String;};
16 av = {inputs = [δ]; path = String;};
16 av = {inputs = [δ]; path = String;};
17− avmd = ∀ α. {inputs = [α]; path = String;};
17+ avmd = ∀ α. {inputs = α; path = String;};
18− bert = ∀ α. {inputs = [α]; path = String;};
18+ bert = ∀ α. {inputs = α; path = String;};
19− blacklist = ∀ α. {inputs = [α]; path = String;};
19+ blacklist = ∀ α. {inputs = α; path = String;};
20− callcenter = ∀ α. {inputs = [α]; path = String;};
20+ callcenter = ∀ α. {inputs = α; path = String;};
21− cidlookup = ∀ α. {inputs = [α]; path = String;};
21+ cidlookup = ∀ α. {inputs = α; path = String;};
22− cluechoo = ∀ α. {inputs = [α]; path = String;};
22+ cluechoo = ∀ α. {inputs = α; path = String;};
23− commands = ∀ α. {inputs = [α]; path = String;};
23+ commands = ∀ α. {inputs = α; path = String;};
24− conference = ∀ α. {inputs = [α]; path = String;};
24+ conference = ∀ α. {inputs = α; path = String;};
25 curl = {inputs = [γ]; path = String;};
25 curl = {inputs = [γ]; path = String;};
26− cv = ∀ α. {inputs = [α]; path = String;};
26+ cv = ∀ α. {inputs = α; path = String;};
27− db = ∀ α. {inputs = [α]; path = String;};
27+ db = ∀ α. {inputs = α; path = String;};
28− directory = ∀ α. {inputs = [α]; path = String;};
28+ directory = ∀ α. {inputs = α; path = String;};
29− distributor = ∀ α. {inputs = [α]; path = String;};
29+ distributor = ∀ α. {inputs = α; path = String;};
30− dptools = ∀ α. {inputs = [α]; path = String;};
30+ dptools = ∀ α. {inputs = α; path = String;};
31− easyroute = ∀ α. {inputs = [α]; path = String;};
31+ easyroute = ∀ α. {inputs = α; path = String;};
32− enum = ∀ α. {inputs = [α]; path = String;};
32+ enum = ∀ α. {inputs = α; path = String;};
33− esf = ∀ α. {inputs = [α]; path = String;};
33+ esf = ∀ α. {inputs = α; path = String;};
34− esl = ∀ α. {inputs = [α]; path = String;};
34+ esl = ∀ α. {inputs = α; path = String;};
35− expr = ∀ α. {inputs = [α]; path = String;};
35+ expr = ∀ α. {inputs = α; path = String;};
36− fifo = ∀ α. {inputs = [α]; path = String;};
36+ fifo = ∀ α. {inputs = α; path = String;};
37− fsk = ∀ α. {inputs = [α]; path = String;};
37+ fsk = ∀ α. {inputs = α; path = String;};
38− fsv = ∀ α. {inputs = [α]; path = String;};
38+ fsv = ∀ α. {inputs = α; path = String;};
39− hash = ∀ α. {inputs = [α]; path = String;};
39+ hash = ∀ α. {inputs = α; path = String;};
40− hiredis = ∀ α. {inputs = [α]; path = String;};
40+ hiredis = ∀ α. {inputs = α; path = String;};
41− httapi = ∀ α. {inputs = [α]; path = String;};
41+ httapi = ∀ α. {inputs = α; path = String;};
42− http_cache = ∀ α. {inputs = [α]; path = String;};
42+ http_cache = ∀ α. {inputs = α; path = String;};
43− ladspa = ∀ α. {inputs = [α]; path = String;};
43+ ladspa = ∀ α. {inputs = α; path = String;};
44− lcr = ∀ α. {inputs = [α]; path = String;};
44+ lcr = ∀ α. {inputs = α; path = String;};
45− memcache = ∀ α. {inputs = [α]; path = String;};
45+ memcache = ∀ α. {inputs = α; path = String;};
46− mongo = ∀ α. {inputs = [α]; path = String;};
46+ mongo = ∀ α. {inputs = α; path = String;};
47− mp4 = ∀ α. {inputs = [α]; path = String;};
47+ mp4 = ∀ α. {inputs = α; path = String;};
48− mp4v2 = ∀ α. {inputs = [α]; path = String;};
48+ mp4v2 = ∀ α. {inputs = α; path = String;};
49− nibblebill = ∀ α. {inputs = [α]; path = String;};
49+ nibblebill = ∀ α. {inputs = α; path = String;};
50− oreka = ∀ α. {inputs = [α]; path = String;};
50+ oreka = ∀ α. {inputs = α; path = String;};
51− osp = ∀ α. {inputs = [α]; path = String;};
51+ osp = ∀ α. {inputs = α; path = String;};
52− prefix = ∀ α. {inputs = [α]; path = String;};
52+ prefix = ∀ α. {inputs = α; path = String;};
53− rad_auth = ∀ α. {inputs = [α]; path = String;};
53+ rad_auth = ∀ α. {inputs = α; path = String;};
54− redis = ∀ α. {inputs = [α]; path = String;};
54+ redis = ∀ α. {inputs = α; path = String;};
55− rss = ∀ α. {inputs = [α]; path = String;};
55+ rss = ∀ α. {inputs = α; path = String;};
56− signalwire = ∀ α. {inputs = [α]; path = String;};
56+ signalwire = ∀ α. {inputs = α; path = String;};
57− sms = ∀ α. {inputs = [α]; path = String;};
57+ sms = ∀ α. {inputs = α; path = String;};
58− sms_flowroute = ∀ α. {inputs = [α]; path = String;};
58+ sms_flowroute = ∀ α. {inputs = α; path = String;};
59− snapshot = ∀ α. {inputs = [α]; path = String;};
59+ snapshot = ∀ α. {inputs = α; path = String;};
60− snom = ∀ α. {inputs = [α]; path = String;};
60+ snom = ∀ α. {inputs = α; path = String;};
61− sonar = ∀ α. {inputs = [α]; path = String;};
61+ sonar = ∀ α. {inputs = α; path = String;};
62− soundtouch = ∀ α. {inputs = [α]; path = String;};
62+ soundtouch = ∀ α. {inputs = α; path = String;};
63− spandsp = ∀ α. {inputs = [α]; path = String;};
63+ spandsp = ∀ α. {inputs = α; path = String;};
64− spy = ∀ α. {inputs = [α]; path = String;};
64+ spy = ∀ α. {inputs = α; path = String;};
65− stress = ∀ α. {inputs = [α]; path = String;};
65+ stress = ∀ α. {inputs = α; path = String;};
66− translate = ∀ α. {inputs = [α]; path = String;};
66+ translate = ∀ α. {inputs = α; path = String;};
67− valet_parking = ∀ α. {inputs = [α]; path = String;};
67+ valet_parking = ∀ α. {inputs = α; path = String;};
68− video_filter = ∀ α. {inputs = [α]; path = String;};
68+ video_filter = ∀ α. {inputs = α; path = String;};
69− vmd = ∀ α. {inputs = [α]; path = String;};
69+ vmd = ∀ α. {inputs = α; path = String;};
70− voicemail = ∀ α. {inputs = [α]; path = String;};
70+ voicemail = ∀ α. {inputs = α; path = String;};
71− voicemail_ivr = ∀ α. {inputs = [α]; path = String;};
71+ voicemail_ivr = ∀ α. {inputs = α; path = String;};
72 };
72 };
73 ast_tts =
73 ast_tts =
74− { cepstral = ∀ α. {inputs = [α]; path = String;};
74+ { cepstral = ∀ α. {inputs = α; path = String;};
75− flite = ∀ α. {inputs = [α]; path = String;};
75+ flite = ∀ α. {inputs = α; path = String;};
76− pocketsphinx = ∀ α. {inputs = [α]; path = String;};
76+ pocketsphinx = ∀ α. {inputs = α; path = String;};
77− tts_commandline = ∀ α. {inputs = [α]; path = String;};
77+ tts_commandline = ∀ α. {inputs = α; path = String;};
78− unimrcp = ∀ α. {inputs = [α]; path = String;};
78+ unimrcp = ∀ α. {inputs = α; path = String;};
79 };
79 };
80 codecs =
80 codecs =
81− { amr = ∀ α. {inputs = [α]; path = String;};
81+ { amr = ∀ α. {inputs = α; path = String;};
82− amrwb = ∀ α. {inputs = [α]; path = String;};
82+ amrwb = ∀ α. {inputs = α; path = String;};
83− b64 = ∀ α. {inputs = [α]; path = String;};
83+ b64 = ∀ α. {inputs = α; path = String;};
84− bv = ∀ α. {inputs = [α]; path = String;};
84+ bv = ∀ α. {inputs = α; path = String;};
85− clearmode = ∀ α. {inputs = [α]; path = String;};
85+ clearmode = ∀ α. {inputs = α; path = String;};
86− codec2 = ∀ α. {inputs = [α]; path = String;};
86+ codec2 = ∀ α. {inputs = α; path = String;};
87− com_g729 = ∀ α. {inputs = [α]; path = String;};
87+ com_g729 = ∀ α. {inputs = α; path = String;};
88− dahdi_codec = ∀ α. {inputs = [α]; path = String;};
88+ dahdi_codec = ∀ α. {inputs = α; path = String;};
89− g723_1 = ∀ α. {inputs = [α]; path = String;};
89+ g723_1 = ∀ α. {inputs = α; path = String;};
90− g729 = ∀ α. {inputs = [α]; path = String;};
90+ g729 = ∀ α. {inputs = α; path = String;};
91− h26x = ∀ α. {inputs = [α]; path = String;};
91+ h26x = ∀ α. {inputs = α; path = String;};
92− ilbc = ∀ α. {inputs = [α]; path = String;};
92+ ilbc = ∀ α. {inputs = α; path = String;};
93− isac = ∀ α. {inputs = [α]; path = String;};
93+ isac = ∀ α. {inputs = α; path = String;};
94− mp4v = ∀ α. {inputs = [α]; path = String;};
94+ mp4v = ∀ α. {inputs = α; path = String;};
95 opus = {inputs = [η]; path = String;};
95 opus = {inputs = [η]; path = String;};
96− sangoma_codec = ∀ α. {inputs = [α]; path = String;};
96+ sangoma_codec = ∀ α. {inputs = α; path = String;};
97− silk = ∀ α. {inputs = [α]; path = String;};
97+ silk = ∀ α. {inputs = α; path = String;};
98− siren = ∀ α. {inputs = [α]; path = String;};
98+ siren = ∀ α. {inputs = α; path = String;};
99− theora = ∀ α. {inputs = [α]; path = String;};
99+ theora = ∀ α. {inputs = α; path = String;};
100 };
100 };
101 databases =
101 databases =
102 { mariadb = {inputs = [ζ]; path = String;};
102 { mariadb = {inputs = [ζ]; path = String;};
103 pgsql = {inputs = [ι]; path = String;};
103 pgsql = {inputs = [ι]; path = String;};
104 };
104 };
105 dialplans =
105 dialplans =
106− { asterisk = ∀ α. {inputs = [α]; path = String;};
106+ { asterisk = ∀ α. {inputs = α; path = String;};
107− directory = ∀ α. {inputs = [α]; path = String;};
107+ directory = ∀ α. {inputs = α; path = String;};
108− xml = ∀ α. {inputs = [α]; path = String;};
108+ xml = ∀ α. {inputs = α; path = String;};
109 };
109 };
110− directories = {ldap = ∀ α. {inputs = [α]; path = String;};};
110+ directories = {ldap = ∀ α. {inputs = α; path = String;};};
111 endpoints =
111 endpoints =
112− { alsa = ∀ α. {inputs = [α]; path = String;};
112+ { alsa = ∀ α. {inputs = α; path = String;};
113− dingaling = ∀ α. {inputs = [α]; path = String;};
113+ dingaling = ∀ α. {inputs = α; path = String;};
114 gsmopen = {inputs = [ε]; path = String;};
114 gsmopen = {inputs = [ε]; path = String;};
115− h323 = ∀ α. {inputs = [α]; path = String;};
115+ h323 = ∀ α. {inputs = α; path = String;};
116− khomp = ∀ α. {inputs = [α]; path = String;};
116+ khomp = ∀ α. {inputs = α; path = String;};
117− loopback = ∀ α. {inputs = [α]; path = String;};
117+ loopback = ∀ α. {inputs = α; path = String;};
118− opal = ∀ α. {inputs = [α]; path = String;};
118+ opal = ∀ α. {inputs = α; path = String;};
119− portaudio = ∀ α. {inputs = [α]; path = String;};
119+ portaudio = ∀ α. {inputs = α; path = String;};
120− rtc = ∀ α. {inputs = [α]; path = String;};
120+ rtc = ∀ α. {inputs = α; path = String;};
121− rtmp = ∀ α. {inputs = [α]; path = String;};
121+ rtmp = ∀ α. {inputs = α; path = String;};
122− skinny = ∀ α. {inputs = [α]; path = String;};
122+ skinny = ∀ α. {inputs = α; path = String;};
123− sofia = ∀ α. {inputs = [α]; path = String;};
123+ sofia = ∀ α. {inputs = α; path = String;};
124− verto = ∀ α. {inputs = [α]; path = String;};
124+ verto = ∀ α. {inputs = α; path = String;};
125 };
125 };
126 event_handlers =
126 event_handlers =
127− { amqp = ∀ α. {inputs = [α]; path = String;};
127+ { amqp = ∀ α. {inputs = α; path = String;};
128− cdr_csv = ∀ α. {inputs = [α]; path = String;};
128+ cdr_csv = ∀ α. {inputs = α; path = String;};
129− cdr_mongodb = ∀ α. {inputs = [α]; path = String;};
129+ cdr_mongodb = ∀ α. {inputs = α; path = String;};
130− cdr_pg_csv = ∀ α. {inputs = [α]; path = String;};
130+ cdr_pg_csv = ∀ α. {inputs = α; path = String;};
131− cdr_sqlite = ∀ α. {inputs = [α]; path = String;};
131+ cdr_sqlite = ∀ α. {inputs = α; path = String;};
132− erlang_event = ∀ α. {inputs = [α]; path = String;};
132+ erlang_event = ∀ α. {inputs = α; path = String;};
133− event_multicast = ∀ α. {inputs = [α]; path = String;};
133+ event_multicast = ∀ α. {inputs = α; path = String;};
134− event_socket = ∀ α. {inputs = [α]; path = String;};
134+ event_socket = ∀ α. {inputs = α; path = String;};
135− event_zmq = ∀ α. {inputs = [α]; path = String;};
135+ event_zmq = ∀ α. {inputs = α; path = String;};
136− fail2ban = ∀ α. {inputs = [α]; path = String;};
136+ fail2ban = ∀ α. {inputs = α; path = String;};
137− format_cdr = ∀ α. {inputs = [α]; path = String;};
137+ format_cdr = ∀ α. {inputs = α; path = String;};
138− json_cdr = ∀ α. {inputs = [α]; path = String;};
138+ json_cdr = ∀ α. {inputs = α; path = String;};
139− kazoo = ∀ α. {inputs = [α]; path = String;};
139+ kazoo = ∀ α. {inputs = α; path = String;};
140− odbc_cdr = ∀ α. {inputs = [α]; path = String;};
140+ odbc_cdr = ∀ α. {inputs = α; path = String;};
141− radius_cdr = ∀ α. {inputs = [α]; path = String;};
141+ radius_cdr = ∀ α. {inputs = α; path = String;};
142− rayo = ∀ α. {inputs = [α]; path = String;};
142+ rayo = ∀ α. {inputs = α; path = String;};
143− smpp = ∀ α. {inputs = [α]; path = String;};
143+ smpp = ∀ α. {inputs = α; path = String;};
144− snmp = ∀ α. {inputs = [α]; path = String;};
144+ snmp = ∀ α. {inputs = α; path = String;};
145 };
145 };
146 formats =
146 formats =
147− { imagick = ∀ α. {inputs = [α]; path = String;};
147+ { imagick = ∀ α. {inputs = α; path = String;};
148− local_stream = ∀ α. {inputs = [α]; path = String;};
148+ local_stream = ∀ α. {inputs = α; path = String;};
149− native_file = ∀ α. {inputs = [α]; path = String;};
149+ native_file = ∀ α. {inputs = α; path = String;};
150 opusfile = {inputs = [η]; path = String;};
150 opusfile = {inputs = [η]; path = String;};
151− png = ∀ α. {inputs = [α]; path = String;};
151+ png = ∀ α. {inputs = α; path = String;};
152− portaudio_stream = ∀ α. {inputs = [α]; path = String;};
152+ portaudio_stream = ∀ α. {inputs = α; path = String;};
153− shell_stream = ∀ α. {inputs = [α]; path = String;};
153+ shell_stream = ∀ α. {inputs = α; path = String;};
154− shout = ∀ α. {inputs = [α]; path = String;};
154+ shout = ∀ α. {inputs = α; path = String;};
155− sndfile = ∀ α. {inputs = [α]; path = String;};
155+ sndfile = ∀ α. {inputs = α; path = String;};
156− ssml = ∀ α. {inputs = [α]; path = String;};
156+ ssml = ∀ α. {inputs = α; path = String;};
157− tone_stream = ∀ α. {inputs = [α]; path = String;};
157+ tone_stream = ∀ α. {inputs = α; path = String;};
158− vlc = ∀ α. {inputs = [α]; path = String;};
158+ vlc = ∀ α. {inputs = α; path = String;};
159− webm = ∀ α. {inputs = [α]; path = String;};
159+ webm = ∀ α. {inputs = α; path = String;};
160 };
160 };
161− freetdm = ∀ β. {inputs = [β]; path = String;};
161+ freetdm = ∀ β. {inputs = β; path = String;};
162 languages =
162 languages =
163− { basic = ∀ α. {inputs = [α]; path = String;};
163+ { basic = ∀ α. {inputs = α; path = String;};
164− java = ∀ α. {inputs = [α]; path = String;};
164+ java = ∀ α. {inputs = α; path = String;};
165 lua = {inputs = [θ]; path = String;};
165 lua = {inputs = [θ]; path = String;};
166− managed = ∀ α. {inputs = [α]; path = String;};
166+ managed = ∀ α. {inputs = α; path = String;};
167− perl = ∀ α. {inputs = [α]; path = String;};
167+ perl = ∀ α. {inputs = α; path = String;};
168− python = ∀ α. {inputs = [α]; path = String;};
168+ python = ∀ α. {inputs = α; path = String;};
169− v8 = ∀ α. {inputs = [α]; path = String;};
169+ v8 = ∀ α. {inputs = α; path = String;};
170− yaml = ∀ α. {inputs = [α]; path = String;};
170+ yaml = ∀ α. {inputs = α; path = String;};
171 };
171 };
172 loggers =
172 loggers =
173− { console = ∀ α. {inputs = [α]; path = String;};
173+ { console = ∀ α. {inputs = α; path = String;};
174− graylog2 = ∀ α. {inputs = [α]; path = String;};
174+ graylog2 = ∀ α. {inputs = α; path = String;};
175− logfile = ∀ α. {inputs = [α]; path = String;};
175+ logfile = ∀ α. {inputs = α; path = String;};
176− raven = ∀ α. {inputs = [α]; path = String;};
176+ raven = ∀ α. {inputs = α; path = String;};
177− syslog = ∀ α. {inputs = [α]; path = String;};
177+ syslog = ∀ α. {inputs = α; path = String;};
178 };
178 };
179 say =
179 say =
180− { de = ∀ α. {inputs = [α]; path = String;};
180+ { de = ∀ α. {inputs = α; path = String;};
181− en = ∀ α. {inputs = [α]; path = String;};
181+ en = ∀ α. {inputs = α; path = String;};
182− es = ∀ α. {inputs = [α]; path = String;};
182+ es = ∀ α. {inputs = α; path = String;};
183− es_ar = ∀ α. {inputs = [α]; path = String;};
183+ es_ar = ∀ α. {inputs = α; path = String;};
184− fa = ∀ α. {inputs = [α]; path = String;};
184+ fa = ∀ α. {inputs = α; path = String;};
185− fr = ∀ α. {inputs = [α]; path = String;};
185+ fr = ∀ α. {inputs = α; path = String;};
186− he = ∀ α. {inputs = [α]; path = String;};
186+ he = ∀ α. {inputs = α; path = String;};
187− hr = ∀ α. {inputs = [α]; path = String;};
187+ hr = ∀ α. {inputs = α; path = String;};
188− hu = ∀ α. {inputs = [α]; path = String;};
188+ hu = ∀ α. {inputs = α; path = String;};
189− it = ∀ α. {inputs = [α]; path = String;};
189+ it = ∀ α. {inputs = α; path = String;};
190− ja = ∀ α. {inputs = [α]; path = String;};
190+ ja = ∀ α. {inputs = α; path = String;};
191− nl = ∀ α. {inputs = [α]; path = String;};
191+ nl = ∀ α. {inputs = α; path = String;};
192− pl = ∀ α. {inputs = [α]; path = String;};
192+ pl = ∀ α. {inputs = α; path = String;};
193− pt = ∀ α. {inputs = [α]; path = String;};
193+ pt = ∀ α. {inputs = α; path = String;};
194− ru = ∀ α. {inputs = [α]; path = String;};
194+ ru = ∀ α. {inputs = α; path = String;};
195− sv = ∀ α. {inputs = [α]; path = String;};
195+ sv = ∀ α. {inputs = α; path = String;};
196− th = ∀ α. {inputs = [α]; path = String;};
196+ th = ∀ α. {inputs = α; path = String;};
197− zh = ∀ α. {inputs = [α]; path = String;};
197+ zh = ∀ α. {inputs = α; path = String;};
198 };
198 };
199 timers =
199 timers =
200− { posix_timer = ∀ α. {inputs = [α]; path = String;};
200+ { posix_timer = ∀ α. {inputs = α; path = String;};
201− timerfd = ∀ α. {inputs = [α]; path = String;};
201+ timerfd = ∀ α. {inputs = α; path = String;};
202 };
202 };
203 xml_int =
203 xml_int =
204− { cdr = ∀ α. {inputs = [α]; path = String;};
204+ { cdr = ∀ α. {inputs = α; path = String;};
205 curl = {inputs = [γ]; path = String;};
205 curl = {inputs = [γ]; path = String;};
206− ldap = ∀ α. {inputs = [α]; path = String;};
206+ ldap = ∀ α. {inputs = α; path = String;};
207− odbc = ∀ α. {inputs = [α]; path = String;};
207+ odbc = ∀ α. {inputs = α; path = String;};
208− radius = ∀ α. {inputs = [α]; path = String;};
208+ radius = ∀ α. {inputs = α; path = String;};
209− rpc = ∀ α. {inputs = [α]; path = String;};
209+ rpc = ∀ α. {inputs = α; path = String;};
210− scgi = ∀ α. {inputs = [α]; path = String;};
210+ scgi = ∀ α. {inputs = α; path = String;};
211 };
211 };
212}
212}
test/golden/importless/moodle-utils.txt+12−9
@@ -1,13 +1,16 @@
1∀ ε ζ η θ ι κ λ μ ν ξ ο.
1∀ ε ζ η θ ι κ λ μ ν ξ ο.
2−( ε //
2+( ( ε
3+ ) //
3− { buildInputs = [ζ];
4+ ( { buildInputs = [ζ];
4− buildPhase = η;
5+ buildPhase = η;
5− configurePhase = θ;
6+ configurePhase = θ;
6− installPhase = String;
7+ installPhase = String;
7− name = ι;
8+ name = ι;
8− pluginType = κ;
9+ pluginType = κ;
9− } ~
10+ }
11+ ) ~
10− λ,
12+ ( λ
13+ ),
11 μ.?buildInputs = [ζ],
14 μ.?buildInputs = [ζ],
12 ν.stdenv = ξ,
15 ν.stdenv = ξ,
13 ν.unzip = ζ,
16 ν.unzip = ζ,
test/golden/importless/mt19937.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/mullvad-vpn.txt+3−3
@@ -16,9 +16,9 @@
16 serviceConfig =
16 serviceConfig =
17 { ExecStart = String;
17 { ExecStart = String;
18 Restart = String;
18 Restart = String;
19− RestartSec = Number;
19+ RestartSec = Integer;
20− StartLimitBurst = Number;
20+ StartLimitBurst = Integer;
21− StartLimitIntervalSec = Number;
21+ StartLimitIntervalSec = Integer;
22 };
22 };
23 wantedBy = [String];
23 wantedBy = [String];
24 wants = [String];
24 wants = [String];
test/golden/importless/named-readtables.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/net_dot_didierverna_dot_asdf-flv.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/netboot.txt+2−2
@@ -7,7 +7,7 @@
7 β.system = η,
7 β.system = η,
8 γ.literalExample = String -> θ,
8 γ.literalExample = String -> θ,
9 γ.mkOption = {description = String; example = θ;} -> ι,
9 γ.mkOption = {description = String; example = θ;} -> ι,
10− δ.callPackage = String -> {storeContents = κ;} -> λ,
10+ δ.callPackage = Path -> {storeContents = κ;} -> λ,
11 δ.grub2 = μ,
11 δ.grub2 = μ,
12 δ.grub2_efi = μ,
12 δ.grub2_efi = μ,
13 δ.makeInitrd =
13 δ.makeInitrd =
@@ -34,7 +34,7 @@
34 { boot =
34 { boot =
35 { initrd =
35 { initrd =
36 {availableKernelModules = [String]; kernelModules = [String];};
36 {availableKernelModules = [String]; kernelModules = [String];};
37− loader = {grub = {enable = Bool;}; timeout = Number;};
37+ loader = {grub = {enable = Bool;}; timeout = Integer;};
38 postBootCommands = String;
38 postBootCommands = String;
39 };
39 };
40 environment = {systemPackages = [μ];};
40 environment = {systemPackages = [μ];};
test/golden/importless/networkmanager-qt.txtdeleted−15
@@ -1,15 +0,0 @@
1−∀ α β γ δ ε ζ η.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { extra-cmake-modules = ζ;
3− lib = α;
4− mkDerivation =
5− { meta = {broken = Bool; maintainers = [ε];};
6− name = String;
7− nativeBuildInputs = [ζ];
8− outputs = [String];
9− propagatedBuildInputs = [γ];
10− } ->
11− η;
12− networkmanager = γ;
13− qtbase = γ;
14−} ->
15−η
test/golden/importless/new-api.txt+1−1
@@ -9,7 +9,7 @@
9 meta =
9 meta =
10 { description = String;
10 { description = String;
11 license = ε;
11 license = ε;
12− maintainers = ∀ α. [α];
12+ maintainers = ∀ α. α;
13 platforms = ζ;
13 platforms = ζ;
14 };
14 };
15 name = String;
15 name = String;
test/golden/importless/nextcloud-exporter.txt+1−1
@@ -10,7 +10,7 @@
10) =>
10) =>
11{ buildGoPackage =
11{ buildGoPackage =
12 { doCheck = Bool;
12 { doCheck = Bool;
13− goDeps = String;
13+ goDeps = Path;
14 goPackagePath = String;
14 goPackagePath = String;
15 meta =
15 meta =
16 { description = String;
16 { description = String;
test/golden/importless/nginxlog-exporter.txt+1−1
@@ -7,7 +7,7 @@
7) =>
7) =>
8{ buildGoPackage =
8{ buildGoPackage =
9 { doCheck = Bool;
9 { doCheck = Bool;
10− goDeps = String;
10+ goDeps = Path;
11 goPackagePath = String;
11 goPackagePath = String;
12 meta =
12 meta =
13 { description = String;
13 { description = String;
test/golden/importless/nixops-v1_6_1.txt+2−2
@@ -21,7 +21,7 @@
21 δ
21 δ
22) =>
22) =>
23{ callPackage =
23{ callPackage =
24− String ->
24+ Path ->
25 { nixopsAzurePackages = [ε];
25 { nixopsAzurePackages = [ε];
26 python2Packages = δ;
26 python2Packages = δ;
27 src = θ;
27 src = θ;
@@ -29,7 +29,7 @@
29 } ->
29 } ->
30 ι;
30 ι;
31 fetchurl = {sha256 = String; url = String;} -> θ;
31 fetchurl = {sha256 = String; url = String;} -> θ;
32− newScope = ζ -> String -> {} -> η;
32+ newScope = ζ -> Path -> {} -> η;
33 pkgs = β;
33 pkgs = β;
34} ->
34} ->
35ι
35ι
test/golden/importless/node.txt+2−3
@@ -1,8 +1,7 @@
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ.
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ.
2( β.services = γ,
2( β.services = γ,
3 δ.mkOption =
3 δ.mkOption =
4− {default = ∀ α. [α]; description = String; example = String; type = ε;} ->
4+ {default = ∀ α. α; description = String; example = String; type = ε;} -> ζ,
5− ζ,
6 δ.types = η,
5 δ.types = η,
7 γ.prometheus = θ,
6 γ.prometheus = θ,
8 θ.exporters = ι,
7 θ.exporters = ι,
@@ -14,7 +13,7 @@
14) =>
13) =>
15{config = β; lib = δ; options = ρ; pkgs = σ;} ->
14{config = β; lib = δ; options = ρ; pkgs = σ;} ->
16{ extraOpts = {disabledCollectors = ζ; enabledCollectors = τ;};
15{ extraOpts = {disabledCollectors = ζ; enabledCollectors = τ;};
17− port = Number;
16+ port = Integer;
18 serviceOpts =
17 serviceOpts =
19 { serviceConfig =
18 { serviceConfig =
20 {DynamicUser = Bool; ExecStart = String; RuntimeDirectory = String;};
19 {DynamicUser = Bool; ExecStart = String; RuntimeDirectory = String;};
test/golden/importless/nscd.txtnew file+62
@@ -0,0 +1,62 @@
1+∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1 ζ1 η1 θ1 ι1 κ1
2+λ1 μ1 ν1.
3+( α.config = β,
4+ α.lib = γ,
5+ α.pkgs = δ,
6+ β.environment = ε,
7+ β.services = ζ,
8+ β.system = η,
9+ γ.builtins = θ,
10+ γ.mkIf =
11+ ι ->
12+ { environment = {etc = {nscd.conf = {text = κ;};};};
13+ systemd =
14+ { services =
15+ { nscd =
16+ { description = String;
17+ environment = {LD_LIBRARY_PATH = λ;};
18+ restartTriggers = [μ];
19+ serviceConfig =
20+ { DynamicUser = Bool;
21+ ExecReload = [String];
22+ ExecStart = String;
23+ PIDFile = String;
24+ Restart = String;
25+ RuntimeDirectory = String;
26+ Type = String;
27+ };
28+ wantedBy = [String];
29+ };
30+ };
31+ };
32+ } ->
33+ ν,
34+ γ.mkOption = {default = ξ; description = String; type = ο;} -> π,
35+ γ.types = ρ,
36+ δ.glibc = σ,
37+ δ.stdenv = τ,
38+ η.nssModules = υ,
39+ υ.path = λ,
40+ τ.hostPlatform = φ,
41+ φ.libc = String,
42+ χ.cc = ψ,
43+ ψ.libc = ω,
44+ ω.bin = α1,
45+ σ.bin = α1,
46+ ζ.nscd = β1,
47+ β1.config = κ,
48+ β1.enable = ι,
49+ ε.etc = γ1,
50+ γ1.hosts = δ1,
51+ δ1.source = μ,
52+ ε1.etc = ζ1,
53+ ζ1.nsswitch.conf = η1,
54+ η1.source = μ,
55+ θ1.etc = ι1,
56+ ι1.nscd.conf = κ1,
57+ κ1.source = μ,
58+ θ.readFile = Path -> ξ,
59+ ρ.lines = ο,
60+ λ1.bool = μ1
61+) =>
62+α -> {config = ν; options = {services = {nscd = {config = π; enable = ν1;};};};}
test/golden/importless/oauth2_proxy_nginx.txt+1−1
@@ -12,7 +12,7 @@
12 δ.oauth2_proxy = ο,
12 δ.oauth2_proxy = ο,
13 ο.nginx = π,
13 ο.nginx = π,
14 π.proxy = ε,
14 π.proxy = ε,
15− π.virtualHosts = [ρ],
15+ π.virtualHosts = ρ,
16 σ.oauth2_proxy = τ,
16 σ.oauth2_proxy = τ,
17 τ.httpAddress = λ,
17 τ.httpAddress = λ,
18 ξ.str = μ,
18 ξ.str = μ,
test/golden/importless/obs-ndi.txt+1−1
@@ -11,7 +11,7 @@
11 platforms = ζ;
11 platforms = ζ;
12 };
12 };
13 nativeBuildInputs = [η];
13 nativeBuildInputs = [η];
14− patches = [String];
14+ patches = [Path];
15 pname = String;
15 pname = String;
16 postPatch = String;
16 postPatch = String;
17 src = θ;
17 src = θ;
test/golden/importless/ofono.txt+2−2
@@ -17,13 +17,13 @@
17 } ->
17 } ->
18 ρ,
18 ρ,
19 δ.mkOption =
19 δ.mkOption =
20− {default = ∀ α. [α]; description = String; example = λ; type = σ;} -> τ,
20+ {default = ∀ α. α; description = String; example = λ; type = σ;} -> τ,
21 δ.types = υ,
21 δ.types = υ,
22 ε.ofono = ξ,
22 ε.ofono = ξ,
23 η.plugins = ι,
23 η.plugins = ι,
24 ζ.ofono = φ,
24 ζ.ofono = φ,
25 φ.enable = ν,
25 φ.enable = ν,
26− φ.plugins = [χ],
26+ φ.plugins = χ,
27 υ.listOf = ψ -> σ,
27 υ.listOf = ψ -> σ,
28 ω.package = ψ
28 ω.package = ψ
29) =>
29) =>
test/golden/importless/org-generated.txt+1−1
@@ -3,7 +3,7 @@
3 ( { elpaBuild =
3 ( { elpaBuild =
4 { ename = String;
4 { ename = String;
5 meta = {homepage = String; license = ε;};
5 meta = {homepage = String; license = ε;};
6− packageRequires = ∀ α. [α];
6+ packageRequires = ∀ α. α;
7 pname = String;
7 pname = String;
8 src = ζ;
8 src = ζ;
9 version = String;
9 version = String;
test/golden/importless/pack.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ ι κ.
1∀ β γ δ ε ζ η θ ι κ.
2−( β // {description = String;} ~ γ,
2+( (β) // ({description = String;}) ~ (γ),
3 δ.optionals = Bool -> [ε] -> ζ,
3 δ.optionals = Bool -> [ε] -> ζ,
4 η.meta = β,
4 η.meta = β,
5 η.src = θ,
5 η.src = θ,
test/golden/importless/parse-declarations-1_dot_0.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/parse-number.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/parted.txt+1−1
@@ -10,7 +10,7 @@
10 homepage = String;
10 homepage = String;
11 license = ζ;
11 license = ζ;
12 longDescription = String;
12 longDescription = String;
13− maintainers = ∀ α. [α];
13+ maintainers = ∀ α. α;
14 platforms = η;
14 platforms = η;
15 };
15 };
16 name = String;
16 name = String;
test/golden/importless/paste.txt+1−1
@@ -14,7 +14,7 @@
14 maintainers = [ε];
14 maintainers = [ε];
15 };
15 };
16 nativeBuildInputs = δ;
16 nativeBuildInputs = δ;
17− patches = [String];
17+ patches = [Path];
18 pname = String;
18 pname = String;
19 preBuild = String;
19 preBuild = String;
20 propagatedBuildInputs = [γ];
20 propagatedBuildInputs = [γ];
test/golden/importless/pdf_sets.txt+1−1
@@ -4,7 +4,7 @@
4 { installPhase = String;
4 { installPhase = String;
5 name = γ;
5 name = γ;
6 preferLocalBuild = Bool;
6 preferLocalBuild = Bool;
7− setupHook = String;
7+ setupHook = Path;
8 src = δ;
8 src = δ;
9 } ->
9 } ->
10 ε,
10 ε,
test/golden/importless/pk.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ ι κ λ.
1∀ β γ δ ε ζ η θ ι κ λ.
2−( β // {description = String;} ~ γ,
2+( (β) // ({description = String;}) ~ (γ),
3 δ.meta = β,
3 δ.meta = β,
4 δ.minimumOCamlVersion = ε,
4 δ.minimumOCamlVersion = ε,
5 δ.src = ζ,
5 δ.src = ζ,
test/golden/importless/platform-flags.txt+1−1
@@ -1,5 +1,5 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ.
1∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ.
2−( {} // α ~ β,
2+( ({}) // (α) ~ (β),
3 γ.?platform = δ,
3 γ.?platform = δ,
4 ε.?arch = ζ,
4 ε.?arch = ζ,
5 η.?cpu = θ,
5 η.?cpu = θ,
test/golden/importless/plotinus.txt+1−1
@@ -20,6 +20,6 @@
20) =>
20) =>
21α ->
21α ->
22{ config = η;
22{ config = η;
23− meta = {doc = String; maintainers = ξ;};
23+ meta = {doc = Path; maintainers = ξ;};
24 options = {programs = {plotinus = {enable = ι;};};};
24 options = {programs = {plotinus = {enable = ι;};};};
25}
25}
test/golden/importless/plump-lexer.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/port.txt+1−1
@@ -19,7 +19,7 @@
19 nativeBuildInputs = [θ];
19 nativeBuildInputs = [θ];
20 outputs = [String];
20 outputs = [String];
21 passthru = {targetPrefix = ι;};
21 passthru = {targetPrefix = ι;};
22− patches = [String];
22+ patches = [Path];
23 postPatch = String;
23 postPatch = String;
24 preInstall = String;
24 preInstall = String;
25 src = κ;
25 src = κ;
test/golden/importless/postfix-exporter.txt+1−1
@@ -17,7 +17,7 @@
17 { buildFlags = ρ;
17 { buildFlags = ρ;
18 buildInputs = σ;
18 buildInputs = σ;
19 extraSrcs = ν;
19 extraSrcs = ν;
20− goDeps = String;
20+ goDeps = Path;
21 goPackagePath = String;
21 goPackagePath = String;
22 meta =
22 meta =
23 {description = String; homepage = π; license = ξ; maintainers = [η];};
23 {description = String; homepage = π; license = ξ; maintainers = [η];};
test/golden/importless/pre-configure.txt+1−2
@@ -3,8 +3,7 @@
3 α.versionOlder = γ -> String -> Bool,
3 α.versionOlder = γ -> String -> Bool,
4 δ.is64bit = Bool,
4 δ.is64bit = Bool,
5 δ.isDarwin = ε,
5 δ.isDarwin = ε,
6− δ.isSunOS = Bool,
6+ δ.isSunOS = Bool
7− (String | Number) ~ β
8) =>
7) =>
9{ gnatboot = Null;
8{ gnatboot = Null;
10 hostPlatform = δ;
9 hostPlatform = δ;
test/golden/importless/pressureaudio.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ ι.
1∀ β γ δ ε ζ η θ ι.
2−( β // {description = String; longDescription = String;} ~ γ,
2+( (β) // ({description = String; longDescription = String;}) ~ (γ),
3 δ.mkDerivation =
3 δ.mkDerivation =
4 { buildPhase = String;
4 { buildPhase = String;
5 dontConfigure = Bool;
5 dontConfigure = Bool;
test/golden/importless/prison.txtdeleted−17
@@ -1,17 +0,0 @@
1−∀ α β γ δ ε ζ η θ.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { extra-cmake-modules = ζ;
3− lib = α;
4− libdmtx = η;
5− mkDerivation =
6− { buildInputs = [η];
7− meta = {broken = Bool; maintainers = [ε];};
8− name = String;
9− nativeBuildInputs = [ζ];
10− outputs = [String];
11− propagatedBuildInputs = [γ];
12− } ->
13− θ;
14− qrencode = η;
15− qtbase = γ;
16−} ->
17−θ
test/golden/importless/process-exporter.txt+1−1
@@ -9,7 +9,7 @@
9) =>
9) =>
10{ buildGoPackage =
10{ buildGoPackage =
11 { doCheck = Bool;
11 { doCheck = Bool;
12− goDeps = String;
12+ goDeps = Path;
13 goPackagePath = String;
13 goPackagePath = String;
14 meta =
14 meta =
15 { description = String;
15 { description = String;
test/golden/importless/prove-asdf.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/ptester.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/pure.txt+1−1
@@ -3,7 +3,7 @@
3 { buildInputs = [β];
3 { buildInputs = [β];
4 buildPhase = String;
4 buildPhase = String;
5 installPhase = String;
5 installPhase = String;
6− patches = [String];
6+ patches = [Path];
7 pname = String;
7 pname = String;
8 src = γ;
8 src = γ;
9 version = String;
9 version = String;
test/golden/importless/pyblock.txt+1−1
@@ -5,7 +5,7 @@
5 makeFlags = [String];
5 makeFlags = [String];
6 md5_path = String;
6 md5_path = String;
7 meta = {description = String; license = δ;};
7 meta = {description = String; license = δ;};
8− patches = [String];
8+ patches = [Path];
9 pname = String;
9 pname = String;
10 postPatch = String;
10 postPatch = String;
11 src = ε;
11 src = ε;
test/golden/importless/qemu-guest-agent.txt+1−1
@@ -13,7 +13,7 @@
13 serviceConfig =
13 serviceConfig =
14 { ExecStart = String;
14 { ExecStart = String;
15 Restart = String;
15 Restart = String;
16− RestartSec = Number;
16+ RestartSec = Integer;
17 };
17 };
18 };
18 };
19 };
19 };
test/golden/importless/qemu.txtdeleted−49
@@ -1,49 +0,0 @@
1−∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο.
2−( α.lib = β,
3− α.mkDerivation =
4− { buildInputs = [γ];
5− configureFlags = [String];
6− enableParallelBuilding = Bool;
7− meta =
8− { description = String;
9− homepage = String;
10− license = δ;
11− maintainers = [ε];
12− platforms = ζ;
13− };
14− name = String;
15− nativeBuildInputs = [η];
16− patches = [String];
17− postUnpack = String;
18− sourceRoot = String;
19− srcs = [θ];
20− } ->
21− ι,
22− α.targetPlatform = κ,
23− λ.src = θ,
24− β.licenses = μ,
25− β.maintainers = ν,
26− β.platforms = ξ,
27− β.ris = ε,
28− β.throw = String -> String,
29− κ.system = String,
30− ο.system = String,
31− μ.gpl2Plus = δ,
32− ξ.linux = ζ
33−) =>
34−{ aflplusplus = λ;
35− autoconf = η;
36− bison = η;
37− fetchurl = {sha256 = String; url = String;} -> θ;
38− flex = η;
39− glib = γ;
40− libuuid = γ;
41− perl = η;
42− pixman = γ;
43− pkgconfig = η;
44− python2 = η;
45− stdenv = α;
46− texinfo = η;
47− zlib = γ;
48−} ->
49−ι
test/golden/importless/qt4.txt+1−1
@@ -2,7 +2,7 @@
2( β.lib = γ,
2( β.lib = γ,
3 β.mkDerivation =
3 β.mkDerivation =
4 { buildInputs = [δ];
4 { buildInputs = [δ];
5− configureFlags = ∀ α. [α];
5+ configureFlags = ∀ α. α;
6 dontAddPrefix = Bool;
6 dontAddPrefix = Bool;
7 installFlags = ε;
7 installFlags = ε;
8 meta = {broken = Bool;};
8 meta = {broken = Bool;};
test/golden/importless/qtModule.txt+18−15
@@ -1,22 +1,25 @@
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ.
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ.
2−( β //
2+( ( β
3+ ) //
3− { meta = ∀ α. α;
4+ ( { meta = ∀ α. α;
4− name = String;
5+ name = String;
5− nativeBuildInputs = [γ];
6+ nativeBuildInputs = [γ];
6− outputs = [String];
7+ outputs = [String];
7− patches = [δ];
8+ patches = δ;
8− postFixup = String;
9+ postFixup = String;
9− preConfigure = String;
10+ preConfigure = String;
10− preHook = String;
11+ preHook = String;
11− propagatedBuildInputs = [ε];
12+ propagatedBuildInputs = [ε];
12− setOutputFlags = Bool;
13+ setOutputFlags = Bool;
13− src = ζ;
14+ src = ζ;
14− } ~
15+ }
16+ ) ~
15− η,
17+ ( η
18+ ),
16 β.?meta = {},
19 β.?meta = {},
17 β.?nativeBuildInputs = [γ],
20 β.?nativeBuildInputs = [γ],
18 β.?outputs = [String],
21 β.?outputs = [String],
19− β.?patches = [δ],
22+ β.?patches = δ,
20 β.?propagatedBuildInputs = [ε],
23 β.?propagatedBuildInputs = [ε],
21 β.?setOutputFlags = Bool,
24 β.?setOutputFlags = Bool,
22 β.?src = ζ,
25 β.?src = ζ,
test/golden/importless/qtgamepad.txt+1−1
@@ -1,7 +1,7 @@
1∀ β γ δ.
1∀ β γ δ.
2{ pkgconfig = β;
2{ pkgconfig = β;
3 qtModule =
3 qtModule =
4− { buildInputs = ∀ α. [α];
4+ { buildInputs = ∀ α. α;
5 name = String;
5 name = String;
6 nativeBuildInputs = [β];
6 nativeBuildInputs = [β];
7 outputs = [String];
7 outputs = [String];
test/golden/importless/qtspeech.txt+1−2
@@ -1,3 +1,2 @@
1∀ β.
1∀ β.
2−{qtModule = {name = String; outputs = [String]; qtInputs = ∀ α. [α];} -> β;} ->
2+{qtModule = {name = String; outputs = [String]; qtInputs = ∀ α. α;} -> β;} -> β
3−β
test/golden/importless/qtwebengine.txt+1−1
@@ -58,7 +58,7 @@
58 { extraPrefix = String;
58 { extraPrefix = String;
59 name = String;
59 name = String;
60 sha256 = String;
60 sha256 = String;
61− stripLen = Number;
61+ stripLen = Integer;
62 url = String;
62 url = String;
63 } ->
63 } ->
64 μ1;
64 μ1;
test/golden/importless/rabbitmq-exporter.txt+1−1
@@ -8,7 +8,7 @@
8 ζ.unix = θ
8 ζ.unix = θ
9) =>
9) =>
10{ buildGoPackage =
10{ buildGoPackage =
11− { goDeps = String;
11+ { goDeps = Path;
12 goPackagePath = String;
12 goPackagePath = String;
13 meta =
13 meta =
14 { description = String;
14 { description = String;
test/golden/importless/raspberrypi-builder.txt+1−1
@@ -7,7 +7,7 @@
7 firmware = γ;
7 firmware = γ;
8 isExecutable = Bool;
8 isExecutable = Bool;
9 path = [ζ];
9 path = [ζ];
10− src = String;
10+ src = Path;
11 } ->
11 } ->
12 η,
12 η,
13 β.bash = δ,
13 β.bash = δ,
test/golden/importless/rebar3-release.txt+19−16
@@ -1,20 +1,23 @@
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ.
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ.
2−( β // γ ~ {buildInputs = [δ]; name = String;},
2+( (β) // (γ) ~ ({buildInputs = [δ]; name = String;}),
3− { buildInputs = [ε];
3+ ( { buildInputs = [ε];
4− buildPhase = String;
4+ buildPhase = String;
5− configurePhase = String;
5+ configurePhase = String;
6− dontStrip = Bool;
6+ dontStrip = Bool;
7− installPhase = String;
7+ installPhase = String;
8− meta = ∀ α. α;
8+ meta = ∀ α. α;
9− name = String;
9+ name = String;
10− passthru = {env = ζ; packageName = η;};
10+ passthru = {env = ζ; packageName = η;};
11− propagatedBuildInputs = [Null];
11+ propagatedBuildInputs = [Null];
12− setupHook = θ;
12+ setupHook = θ;
13− src = ι;
13+ src = ι;
14− version = κ;
14+ version = κ;
15+ }
15− } //
16+ ) //
16− λ ~
17+ ( λ
18+ ) ~
17− γ,
19+ ( γ
20+ ),
18 β.?buildInputs = [ε],
21 β.?buildInputs = [ε],
19 β.?buildPhase = Null,
22 β.?buildPhase = Null,
20 β.?checkouts = Null,
23 β.?checkouts = Null,
test/golden/importless/redis-exporter.txt+1−1
@@ -14,7 +14,7 @@
14) =>
14) =>
15{ buildGoPackage =
15{ buildGoPackage =
16 { buildFlagsArray = String;
16 { buildFlagsArray = String;
17− goDeps = String;
17+ goDeps = Path;
18 goPackagePath = String;
18 goPackagePath = String;
19 meta =
19 meta =
20 { description = String;
20 { description = String;
test/golden/importless/redis.txt+1−1
@@ -5,4 +5,4 @@
5 options = η;
5 options = η;
6 pkgs = θ;
6 pkgs = θ;
7} ->
7} ->
8−{port = Number; serviceOpts = {serviceConfig = {ExecStart = String;};};}
8+{port = Integer; serviceOpts = {serviceConfig = {ExecStart = String;};};}
test/golden/importless/require_exceptions.txt+8−8
@@ -18,18 +18,18 @@
18 cocoapods-check = String;
18 cocoapods-check = String;
19 cocoapods-clean = [String];
19 cocoapods-clean = [String];
20 cocoapods-coverage = [String];
20 cocoapods-coverage = [String];
21− cocoapods-deintegrate = ∀ α. [α];
21+ cocoapods-deintegrate = ∀ α. α;
22 cocoapods-dependencies = [String];
22 cocoapods-dependencies = [String];
23 cocoapods-deploy = String;
23 cocoapods-deploy = String;
24 cocoapods-disable-podfile-validations = String;
24 cocoapods-disable-podfile-validations = String;
25 cocoapods-generate = String;
25 cocoapods-generate = String;
26 cocoapods-git_url_rewriter = String;
26 cocoapods-git_url_rewriter = String;
27− cocoapods-keys = ∀ α. [α];
27+ cocoapods-keys = ∀ α. α;
28 cocoapods-open = [String];
28 cocoapods-open = [String];
29 cocoapods-packager = [String];
29 cocoapods-packager = [String];
30− cocoapods-packager-pro = ∀ α. [α];
30+ cocoapods-packager-pro = ∀ α. α;
31 cocoapods-plugins = [String];
31 cocoapods-plugins = [String];
32− cocoapods-sorted-search = ∀ α. [α];
32+ cocoapods-sorted-search = ∀ α. α;
33 cocoapods-stats = [String];
33 cocoapods-stats = [String];
34 cocoapods-testing = [String];
34 cocoapods-testing = [String];
35 cocoapods-trunk = [String];
35 cocoapods-trunk = [String];
@@ -44,16 +44,16 @@
44 gdk_pixbuf2 = [String];
44 gdk_pixbuf2 = [String];
45 gitlab-markup = [String];
45 gitlab-markup = [String];
46 gobject-introspection = [String];
46 gobject-introspection = [String];
47− gtk2 = ∀ α. [α];
47+ gtk2 = ∀ α. α;
48 idn-ruby = [String];
48 idn-ruby = [String];
49− jekyll-sass-converter = ∀ α. [α];
49+ jekyll-sass-converter = ∀ α. α;
50 libxml-ruby = [String];
50 libxml-ruby = [String];
51 multipart-post = [String];
51 multipart-post = [String];
52 nap = [String];
52 nap = [String];
53 net-scp = [String];
53 net-scp = [String];
54 net-ssh = [String];
54 net-ssh = [String];
55 nio4r = [String];
55 nio4r = [String];
56− osx_keychain = ∀ α. [α];
56+ osx_keychain = ∀ α. α;
57 ovirt-engine-sdk = [String];
57 ovirt-engine-sdk = [String];
58 pango = [String];
58 pango = [String];
59 rack-test = [String];
59 rack-test = [String];
@@ -68,7 +68,7 @@
68 ruby-terminfo = [String];
68 ruby-terminfo = [String];
69 rubyzip = [String];
69 rubyzip = [String];
70 sequel_pg = [String];
70 sequel_pg = [String];
71− simplecov-html = ∀ α. [α];
71+ simplecov-html = ∀ α. α;
72 sinatra = [String];
72 sinatra = [String];
73 sprockets-rails = [String];
73 sprockets-rails = [String];
74 taglib-ruby = [String];
74 taglib-ruby = [String];
test/golden/importless/rfc2388.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/rng-mirage.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ ι κ.
1∀ β γ δ ε ζ η θ ι κ.
2−( β // {description = String;} ~ γ,
2+( (β) // ({description = String;}) ~ (γ),
3 δ.meta = β,
3 δ.meta = β,
4 δ.minimumOCamlVersion = ε,
4 δ.minimumOCamlVersion = ε,
5 δ.src = ζ,
5 δ.src = ζ,
test/golden/importless/rng.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ ι κ λ.
1∀ β γ δ ε ζ η θ ι κ λ.
2−( β // {description = String;} ~ γ,
2+( (β) // ({description = String;}) ~ (γ),
3 δ.meta = β,
3 δ.meta = β,
4 δ.minimumOCamlVersion = ε,
4 δ.minimumOCamlVersion = ε,
5 δ.src = ζ,
5 δ.src = ζ,
test/golden/importless/roboschool-fork.txt+1−1
@@ -14,7 +14,7 @@
14 platforms = η;
14 platforms = η;
15 };
15 };
16 nativeBuildInputs = [θ];
16 nativeBuildInputs = [θ];
17− patches = [String];
17+ patches = [Path];
18 pname = String;
18 pname = String;
19 postPatch = ι;
19 postPatch = ι;
20 src = κ;
20 src = κ;
test/golden/importless/robustirc-bridge.txt+1−1
@@ -28,7 +28,7 @@
28 } ->
28 } ->
29 ι,
29 ι,
30 δ.mkOption =
30 δ.mkOption =
31− {default = ∀ α. [α]; description = String; example = [String]; type = κ;} ->
31+ {default = ∀ α. α; description = String; example = [String]; type = κ;} ->
32 λ,
32 λ,
33 δ.types = μ,
33 δ.types = μ,
34 ζ.robustirc-bridge = ν,
34 ζ.robustirc-bridge = ν,
test/golden/importless/rt.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/ruby-packages.txt+253−253
@@ -1,708 +1,708 @@
1{ CFPropertyList =
1{ CFPropertyList =
2 { groups = [String];
2 { groups = [String];
3− platforms = ∀ α. [α];
3+ platforms = ∀ α. α;
4 source = {remotes = [String]; sha256 = String; type = String;};
4 source = {remotes = [String]; sha256 = String; type = String;};
5 version = String;
5 version = String;
6 };
6 };
7 RubyInline =
7 RubyInline =
8 { dependencies = [String];
8 { dependencies = [String];
9 groups = [String];
9 groups = [String];
10− platforms = ∀ α. [α];
10+ platforms = ∀ α. α;
11 source = {remotes = [String]; sha256 = String; type = String;};
11 source = {remotes = [String]; sha256 = String; type = String;};
12 version = String;
12 version = String;
13 };
13 };
14 ZenTest =
14 ZenTest =
15 { groups = [String];
15 { groups = [String];
16− platforms = ∀ α. [α];
16+ platforms = ∀ α. α;
17 source = {remotes = [String]; sha256 = String; type = String;};
17 source = {remotes = [String]; sha256 = String; type = String;};
18 version = String;
18 version = String;
19 };
19 };
20 actionmailer =
20 actionmailer =
21 { dependencies = [String];
21 { dependencies = [String];
22 groups = [String];
22 groups = [String];
23− platforms = ∀ α. [α];
23+ platforms = ∀ α. α;
24 source = {remotes = [String]; sha256 = String; type = String;};
24 source = {remotes = [String]; sha256 = String; type = String;};
25 version = String;
25 version = String;
26 };
26 };
27 actionpack =
27 actionpack =
28 { dependencies = [String];
28 { dependencies = [String];
29 groups = [String];
29 groups = [String];
30− platforms = ∀ α. [α];
30+ platforms = ∀ α. α;
31 source = {remotes = [String]; sha256 = String; type = String;};
31 source = {remotes = [String]; sha256 = String; type = String;};
32 version = String;
32 version = String;
33 };
33 };
34 actionview =
34 actionview =
35 { dependencies = [String];
35 { dependencies = [String];
36 groups = [String];
36 groups = [String];
37− platforms = ∀ α. [α];
37+ platforms = ∀ α. α;
38 source = {remotes = [String]; sha256 = String; type = String;};
38 source = {remotes = [String]; sha256 = String; type = String;};
39 version = String;
39 version = String;
40 };
40 };
41 activejob =
41 activejob =
42 { dependencies = [String];
42 { dependencies = [String];
43 groups = [String];
43 groups = [String];
44− platforms = ∀ α. [α];
44+ platforms = ∀ α. α;
45 source = {remotes = [String]; sha256 = String; type = String;};
45 source = {remotes = [String]; sha256 = String; type = String;};
46 version = String;
46 version = String;
47 };
47 };
48 activemodel =
48 activemodel =
49 { dependencies = [String];
49 { dependencies = [String];
50 groups = [String];
50 groups = [String];
51− platforms = ∀ α. [α];
51+ platforms = ∀ α. α;
52 source = {remotes = [String]; sha256 = String; type = String;};
52 source = {remotes = [String]; sha256 = String; type = String;};
53 version = String;
53 version = String;
54 };
54 };
55 activerecord =
55 activerecord =
56 { dependencies = [String];
56 { dependencies = [String];
57 groups = [String];
57 groups = [String];
58− platforms = ∀ α. [α];
58+ platforms = ∀ α. α;
59 source = {remotes = [String]; sha256 = String; type = String;};
59 source = {remotes = [String]; sha256 = String; type = String;};
60 version = String;
60 version = String;
61 };
61 };
62 activesupport =
62 activesupport =
63 { dependencies = [String];
63 { dependencies = [String];
64 groups = [String];
64 groups = [String];
65− platforms = ∀ α. [α];
65+ platforms = ∀ α. α;
66 source = {remotes = [String]; sha256 = String; type = String;};
66 source = {remotes = [String]; sha256 = String; type = String;};
67 version = String;
67 version = String;
68 };
68 };
69 addressable =
69 addressable =
70 { dependencies = [String];
70 { dependencies = [String];
71 groups = [String];
71 groups = [String];
72− platforms = ∀ α. [α];
72+ platforms = ∀ α. α;
73 source = {remotes = [String]; sha256 = String; type = String;};
73 source = {remotes = [String]; sha256 = String; type = String;};
74 version = String;
74 version = String;
75 };
75 };
76 algoliasearch =
76 algoliasearch =
77 { dependencies = [String];
77 { dependencies = [String];
78 groups = [String];
78 groups = [String];
79− platforms = ∀ α. [α];
79+ platforms = ∀ α. α;
80 source = {remotes = [String]; sha256 = String; type = String;};
80 source = {remotes = [String]; sha256 = String; type = String;};
81 version = String;
81 version = String;
82 };
82 };
83 arel =
83 arel =
84 { groups = [String];
84 { groups = [String];
85− platforms = ∀ α. [α];
85+ platforms = ∀ α. α;
86 source = {remotes = [String]; sha256 = String; type = String;};
86 source = {remotes = [String]; sha256 = String; type = String;};
87 version = String;
87 version = String;
88 };
88 };
89 ast =
89 ast =
90 { groups = [String];
90 { groups = [String];
91− platforms = ∀ α. [α];
91+ platforms = ∀ α. α;
92 source = {remotes = [String]; sha256 = String; type = String;};
92 source = {remotes = [String]; sha256 = String; type = String;};
93 version = String;
93 version = String;
94 };
94 };
95 atk =
95 atk =
96 { dependencies = [String];
96 { dependencies = [String];
97 groups = [String];
97 groups = [String];
98− platforms = ∀ α. [α];
98+ platforms = ∀ α. α;
99 source = {remotes = [String]; sha256 = String; type = String;};
99 source = {remotes = [String]; sha256 = String; type = String;};
100 version = String;
100 version = String;
101 };
101 };
102 atomos =
102 atomos =
103 { groups = [String];
103 { groups = [String];
104− platforms = ∀ α. [α];
104+ platforms = ∀ α. α;
105 source = {remotes = [String]; sha256 = String; type = String;};
105 source = {remotes = [String]; sha256 = String; type = String;};
106 version = String;
106 version = String;
107 };
107 };
108 awesome_print =
108 awesome_print =
109 { groups = [String];
109 { groups = [String];
110− platforms = ∀ α. [α];
110+ platforms = ∀ α. α;
111 source = {remotes = [String]; sha256 = String; type = String;};
111 source = {remotes = [String]; sha256 = String; type = String;};
112 version = String;
112 version = String;
113 };
113 };
114 bacon =
114 bacon =
115 { groups = [String];
115 { groups = [String];
116− platforms = ∀ α. [α];
116+ platforms = ∀ α. α;
117 source = {remotes = [String]; sha256 = String; type = String;};
117 source = {remotes = [String]; sha256 = String; type = String;};
118 version = String;
118 version = String;
119 };
119 };
120 builder =
120 builder =
121 { groups = [String];
121 { groups = [String];
122− platforms = ∀ α. [α];
122+ platforms = ∀ α. α;
123 source = {remotes = [String]; sha256 = String; type = String;};
123 source = {remotes = [String]; sha256 = String; type = String;};
124 version = String;
124 version = String;
125 };
125 };
126 byebug =
126 byebug =
127 { groups = [String];
127 { groups = [String];
128− platforms = ∀ α. [α];
128+ platforms = ∀ α. α;
129 source = {remotes = [String]; sha256 = String; type = String;};
129 source = {remotes = [String]; sha256 = String; type = String;};
130 version = String;
130 version = String;
131 };
131 };
132 cairo =
132 cairo =
133 { dependencies = [String];
133 { dependencies = [String];
134 groups = [String];
134 groups = [String];
135− platforms = ∀ α. [α];
135+ platforms = ∀ α. α;
136 source = {remotes = [String]; sha256 = String; type = String;};
136 source = {remotes = [String]; sha256 = String; type = String;};
137 version = String;
137 version = String;
138 };
138 };
139 cairo-gobject =
139 cairo-gobject =
140 { dependencies = [String];
140 { dependencies = [String];
141 groups = [String];
141 groups = [String];
142− platforms = ∀ α. [α];
142+ platforms = ∀ α. α;
143 source = {remotes = [String]; sha256 = String; type = String;};
143 source = {remotes = [String]; sha256 = String; type = String;};
144 version = String;
144 version = String;
145 };
145 };
146 camping =
146 camping =
147 { dependencies = [String];
147 { dependencies = [String];
148 groups = [String];
148 groups = [String];
149− platforms = ∀ α. [α];
149+ platforms = ∀ α. α;
150 source = {remotes = [String]; sha256 = String; type = String;};
150 source = {remotes = [String]; sha256 = String; type = String;};
151 version = String;
151 version = String;
152 };
152 };
153 charlock_holmes =
153 charlock_holmes =
154 { groups = [String];
154 { groups = [String];
155− platforms = ∀ α. [α];
155+ platforms = ∀ α. α;
156 source = {remotes = [String]; sha256 = String; type = String;};
156 source = {remotes = [String]; sha256 = String; type = String;};
157 version = String;
157 version = String;
158 };
158 };
159 claide =
159 claide =
160 { groups = [String];
160 { groups = [String];
161− platforms = ∀ α. [α];
161+ platforms = ∀ α. α;
162 source = {remotes = [String]; sha256 = String; type = String;};
162 source = {remotes = [String]; sha256 = String; type = String;};
163 version = String;
163 version = String;
164 };
164 };
165 clamp =
165 clamp =
166 { groups = [String];
166 { groups = [String];
167− platforms = ∀ α. [α];
167+ platforms = ∀ α. α;
168 source = {remotes = [String]; sha256 = String; type = String;};
168 source = {remotes = [String]; sha256 = String; type = String;};
169 version = String;
169 version = String;
170 };
170 };
171 cld3 =
171 cld3 =
172 { dependencies = [String];
172 { dependencies = [String];
173 groups = [String];
173 groups = [String];
174− platforms = ∀ α. [α];
174+ platforms = ∀ α. α;
175 source = {remotes = [String]; sha256 = String; type = String;};
175 source = {remotes = [String]; sha256 = String; type = String;};
176 version = String;
176 version = String;
177 };
177 };
178 cocoapods =
178 cocoapods =
179 { dependencies = [String];
179 { dependencies = [String];
180 groups = [String];
180 groups = [String];
181− platforms = ∀ α. [α];
181+ platforms = ∀ α. α;
182 source = {remotes = [String]; sha256 = String; type = String;};
182 source = {remotes = [String]; sha256 = String; type = String;};
183 version = String;
183 version = String;
184 };
184 };
185 cocoapods-acknowledgements =
185 cocoapods-acknowledgements =
186 { dependencies = [String];
186 { dependencies = [String];
187 groups = [String];
187 groups = [String];
188− platforms = ∀ α. [α];
188+ platforms = ∀ α. α;
189 source = {remotes = [String]; sha256 = String; type = String;};
189 source = {remotes = [String]; sha256 = String; type = String;};
190 version = String;
190 version = String;
191 };
191 };
192 cocoapods-art =
192 cocoapods-art =
193 { groups = [String];
193 { groups = [String];
194− platforms = ∀ α. [α];
194+ platforms = ∀ α. α;
195 source = {remotes = [String]; sha256 = String; type = String;};
195 source = {remotes = [String]; sha256 = String; type = String;};
196 version = String;
196 version = String;
197 };
197 };
198 cocoapods-bin =
198 cocoapods-bin =
199 { dependencies = [String];
199 { dependencies = [String];
200 groups = [String];
200 groups = [String];
201− platforms = ∀ α. [α];
201+ platforms = ∀ α. α;
202 source = {remotes = [String]; sha256 = String; type = String;};
202 source = {remotes = [String]; sha256 = String; type = String;};
203 version = String;
203 version = String;
204 };
204 };
205 cocoapods-browser =
205 cocoapods-browser =
206 { dependencies = [String];
206 { dependencies = [String];
207 groups = [String];
207 groups = [String];
208− platforms = ∀ α. [α];
208+ platforms = ∀ α. α;
209 source = {remotes = [String]; sha256 = String; type = String;};
209 source = {remotes = [String]; sha256 = String; type = String;};
210 version = String;
210 version = String;
211 };
211 };
212 cocoapods-bugsnag =
212 cocoapods-bugsnag =
213 { dependencies = [String];
213 { dependencies = [String];
214 groups = [String];
214 groups = [String];
215− platforms = ∀ α. [α];
215+ platforms = ∀ α. α;
216 source = {remotes = [String]; sha256 = String; type = String;};
216 source = {remotes = [String]; sha256 = String; type = String;};
217 version = String;
217 version = String;
218 };
218 };
219 cocoapods-check =
219 cocoapods-check =
220 { dependencies = [String];
220 { dependencies = [String];
221 groups = [String];
221 groups = [String];
222− platforms = ∀ α. [α];
222+ platforms = ∀ α. α;
223 source = {remotes = [String]; sha256 = String; type = String;};
223 source = {remotes = [String]; sha256 = String; type = String;};
224 version = String;
224 version = String;
225 };
225 };
226 cocoapods-clean =
226 cocoapods-clean =
227 { groups = [String];
227 { groups = [String];
228− platforms = ∀ α. [α];
228+ platforms = ∀ α. α;
229 source = {remotes = [String]; sha256 = String; type = String;};
229 source = {remotes = [String]; sha256 = String; type = String;};
230 version = String;
230 version = String;
231 };
231 };
232 cocoapods-clean_build_phases_scripts =
232 cocoapods-clean_build_phases_scripts =
233 { groups = [String];
233 { groups = [String];
234− platforms = ∀ α. [α];
234+ platforms = ∀ α. α;
235 source = {remotes = [String]; sha256 = String; type = String;};
235 source = {remotes = [String]; sha256 = String; type = String;};
236 version = String;
236 version = String;
237 };
237 };
238 cocoapods-core =
238 cocoapods-core =
239 { dependencies = [String];
239 { dependencies = [String];
240 groups = [String];
240 groups = [String];
241− platforms = ∀ α. [α];
241+ platforms = ∀ α. α;
242 source = {remotes = [String]; sha256 = String; type = String;};
242 source = {remotes = [String]; sha256 = String; type = String;};
243 version = String;
243 version = String;
244 };
244 };
245 cocoapods-coverage =
245 cocoapods-coverage =
246 { dependencies = [String];
246 { dependencies = [String];
247 groups = [String];
247 groups = [String];
248− platforms = ∀ α. [α];
248+ platforms = ∀ α. α;
249 source = {remotes = [String]; sha256 = String; type = String;};
249 source = {remotes = [String]; sha256 = String; type = String;};
250 version = String;
250 version = String;
251 };
251 };
252 cocoapods-deintegrate =
252 cocoapods-deintegrate =
253 { groups = [String];
253 { groups = [String];
254− platforms = ∀ α. [α];
254+ platforms = ∀ α. α;
255 source = {remotes = [String]; sha256 = String; type = String;};
255 source = {remotes = [String]; sha256 = String; type = String;};
256 version = String;
256 version = String;
257 };
257 };
258 cocoapods-dependencies =
258 cocoapods-dependencies =
259 { dependencies = [String];
259 { dependencies = [String];
260 groups = [String];
260 groups = [String];
261− platforms = ∀ α. [α];
261+ platforms = ∀ α. α;
262 source = {remotes = [String]; sha256 = String; type = String;};
262 source = {remotes = [String]; sha256 = String; type = String;};
263 version = String;
263 version = String;
264 };
264 };
265 cocoapods-deploy =
265 cocoapods-deploy =
266 { groups = [String];
266 { groups = [String];
267− platforms = ∀ α. [α];
267+ platforms = ∀ α. α;
268 source = {remotes = [String]; sha256 = String; type = String;};
268 source = {remotes = [String]; sha256 = String; type = String;};
269 version = String;
269 version = String;
270 };
270 };
271 cocoapods-disable-podfile-validations =
271 cocoapods-disable-podfile-validations =
272 { groups = [String];
272 { groups = [String];
273− platforms = ∀ α. [α];
273+ platforms = ∀ α. α;
274 source = {remotes = [String]; sha256 = String; type = String;};
274 source = {remotes = [String]; sha256 = String; type = String;};
275 version = String;
275 version = String;
276 };
276 };
277 cocoapods-downloader =
277 cocoapods-downloader =
278 { groups = [String];
278 { groups = [String];
279− platforms = ∀ α. [α];
279+ platforms = ∀ α. α;
280 source = {remotes = [String]; sha256 = String; type = String;};
280 source = {remotes = [String]; sha256 = String; type = String;};
281 version = String;
281 version = String;
282 };
282 };
283 cocoapods-expert-difficulty =
283 cocoapods-expert-difficulty =
284 { groups = [String];
284 { groups = [String];
285− platforms = ∀ α. [α];
285+ platforms = ∀ α. α;
286 source = {remotes = [String]; sha256 = String; type = String;};
286 source = {remotes = [String]; sha256 = String; type = String;};
287 version = String;
287 version = String;
288 };
288 };
289 cocoapods-fix-react-native =
289 cocoapods-fix-react-native =
290 { groups = [String];
290 { groups = [String];
291− platforms = ∀ α. [α];
291+ platforms = ∀ α. α;
292 source = {remotes = [String]; sha256 = String; type = String;};
292 source = {remotes = [String]; sha256 = String; type = String;};
293 version = String;
293 version = String;
294 };
294 };
295 cocoapods-generate =
295 cocoapods-generate =
296 { dependencies = [String];
296 { dependencies = [String];
297 groups = [String];
297 groups = [String];
298− platforms = ∀ α. [α];
298+ platforms = ∀ α. α;
299 source = {remotes = [String]; sha256 = String; type = String;};
299 source = {remotes = [String]; sha256 = String; type = String;};
300 version = String;
300 version = String;
301 };
301 };
302 cocoapods-git_url_rewriter =
302 cocoapods-git_url_rewriter =
303 { groups = [String];
303 { groups = [String];
304− platforms = ∀ α. [α];
304+ platforms = ∀ α. α;
305 source = {remotes = [String]; sha256 = String; type = String;};
305 source = {remotes = [String]; sha256 = String; type = String;};
306 version = String;
306 version = String;
307 };
307 };
308 cocoapods-keys =
308 cocoapods-keys =
309 { dependencies = [String];
309 { dependencies = [String];
310 groups = [String];
310 groups = [String];
311− platforms = ∀ α. [α];
311+ platforms = ∀ α. α;
312 source = {remotes = [String]; sha256 = String; type = String;};
312 source = {remotes = [String]; sha256 = String; type = String;};
313 version = String;
313 version = String;
314 };
314 };
315 cocoapods-no-dev-schemes =
315 cocoapods-no-dev-schemes =
316 { groups = [String];
316 { groups = [String];
317− platforms = ∀ α. [α];
317+ platforms = ∀ α. α;
318 source = {remotes = [String]; sha256 = String; type = String;};
318 source = {remotes = [String]; sha256 = String; type = String;};
319 version = String;
319 version = String;
320 };
320 };
321 cocoapods-open =
321 cocoapods-open =
322 { groups = [String];
322 { groups = [String];
323− platforms = ∀ α. [α];
323+ platforms = ∀ α. α;
324 source = {remotes = [String]; sha256 = String; type = String;};
324 source = {remotes = [String]; sha256 = String; type = String;};
325 version = String;
325 version = String;
326 };
326 };
327 cocoapods-packager =
327 cocoapods-packager =
328 { dependencies = [String];
328 { dependencies = [String];
329 groups = [String];
329 groups = [String];
330− platforms = ∀ α. [α];
330+ platforms = ∀ α. α;
331 source = {remotes = [String]; sha256 = String; type = String;};
331 source = {remotes = [String]; sha256 = String; type = String;};
332 version = String;
332 version = String;
333 };
333 };
334 cocoapods-packager-pro =
334 cocoapods-packager-pro =
335 { dependencies = [String];
335 { dependencies = [String];
336 groups = [String];
336 groups = [String];
337− platforms = ∀ α. [α];
337+ platforms = ∀ α. α;
338 source = {remotes = [String]; sha256 = String; type = String;};
338 source = {remotes = [String]; sha256 = String; type = String;};
339 version = String;
339 version = String;
340 };
340 };
341 cocoapods-playgrounds =
341 cocoapods-playgrounds =
342 { dependencies = [String];
342 { dependencies = [String];
343 groups = [String];
343 groups = [String];
344− platforms = ∀ α. [α];
344+ platforms = ∀ α. α;
345 source = {remotes = [String]; sha256 = String; type = String;};
345 source = {remotes = [String]; sha256 = String; type = String;};
346 version = String;
346 version = String;
347 };
347 };
348 cocoapods-plugins =
348 cocoapods-plugins =
349 { dependencies = [String];
349 { dependencies = [String];
350 groups = [String];
350 groups = [String];
351− platforms = ∀ α. [α];
351+ platforms = ∀ α. α;
352 source = {remotes = [String]; sha256 = String; type = String;};
352 source = {remotes = [String]; sha256 = String; type = String;};
353 version = String;
353 version = String;
354 };
354 };
355 cocoapods-prune-localizations =
355 cocoapods-prune-localizations =
356 { groups = [String];
356 { groups = [String];
357− platforms = ∀ α. [α];
357+ platforms = ∀ α. α;
358 source = {remotes = [String]; sha256 = String; type = String;};
358 source = {remotes = [String]; sha256 = String; type = String;};
359 version = String;
359 version = String;
360 };
360 };
361 cocoapods-rome =
361 cocoapods-rome =
362 { dependencies = [String];
362 { dependencies = [String];
363 groups = [String];
363 groups = [String];
364− platforms = ∀ α. [α];
364+ platforms = ∀ α. α;
365 source = {remotes = [String]; sha256 = String; type = String;};
365 source = {remotes = [String]; sha256 = String; type = String;};
366 version = String;
366 version = String;
367 };
367 };
368 cocoapods-search =
368 cocoapods-search =
369 { groups = [String];
369 { groups = [String];
370− platforms = ∀ α. [α];
370+ platforms = ∀ α. α;
371 source = {remotes = [String]; sha256 = String; type = String;};
371 source = {remotes = [String]; sha256 = String; type = String;};
372 version = String;
372 version = String;
373 };
373 };
374 cocoapods-sorted-search =
374 cocoapods-sorted-search =
375 { dependencies = [String];
375 { dependencies = [String];
376 groups = [String];
376 groups = [String];
377− platforms = ∀ α. [α];
377+ platforms = ∀ α. α;
378 source = {remotes = [String]; sha256 = String; type = String;};
378 source = {remotes = [String]; sha256 = String; type = String;};
379 version = String;
379 version = String;
380 };
380 };
381 cocoapods-static-swift-framework =
381 cocoapods-static-swift-framework =
382 { dependencies = [String];
382 { dependencies = [String];
383 groups = [String];
383 groups = [String];
384− platforms = ∀ α. [α];
384+ platforms = ∀ α. α;
385 source = {remotes = [String]; sha256 = String; type = String;};
385 source = {remotes = [String]; sha256 = String; type = String;};
386 version = String;
386 version = String;
387 };
387 };
388 cocoapods-stats =
388 cocoapods-stats =
389 { groups = [String];
389 { groups = [String];
390− platforms = ∀ α. [α];
390+ platforms = ∀ α. α;
391 source = {remotes = [String]; sha256 = String; type = String;};
391 source = {remotes = [String]; sha256 = String; type = String;};
392 version = String;
392 version = String;
393 };
393 };
394 cocoapods-tdfire-binary =
394 cocoapods-tdfire-binary =
395 { dependencies = [String];
395 { dependencies = [String];
396 groups = [String];
396 groups = [String];
397− platforms = ∀ α. [α];
397+ platforms = ∀ α. α;
398 source = {remotes = [String]; sha256 = String; type = String;};
398 source = {remotes = [String]; sha256 = String; type = String;};
399 version = String;
399 version = String;
400 };
400 };
401 cocoapods-testing =
401 cocoapods-testing =
402 { dependencies = [String];
402 { dependencies = [String];
403 groups = [String];
403 groups = [String];
404− platforms = ∀ α. [α];
404+ platforms = ∀ α. α;
405 source = {remotes = [String]; sha256 = String; type = String;};
405 source = {remotes = [String]; sha256 = String; type = String;};
406 version = String;
406 version = String;
407 };
407 };
408 cocoapods-trunk =
408 cocoapods-trunk =
409 { dependencies = [String];
409 { dependencies = [String];
410 groups = [String];
410 groups = [String];
411− platforms = ∀ α. [α];
411+ platforms = ∀ α. α;
412 source = {remotes = [String]; sha256 = String; type = String;};
412 source = {remotes = [String]; sha256 = String; type = String;};
413 version = String;
413 version = String;
414 };
414 };
415 cocoapods-try =
415 cocoapods-try =
416 { groups = [String];
416 { groups = [String];
417− platforms = ∀ α. [α];
417+ platforms = ∀ α. α;
418 source = {remotes = [String]; sha256 = String; type = String;};
418 source = {remotes = [String]; sha256 = String; type = String;};
419 version = String;
419 version = String;
420 };
420 };
421 cocoapods-try-release-fix =
421 cocoapods-try-release-fix =
422 { groups = [String];
422 { groups = [String];
423− platforms = ∀ α. [α];
423+ platforms = ∀ α. α;
424 source = {remotes = [String]; sha256 = String; type = String;};
424 source = {remotes = [String]; sha256 = String; type = String;};
425 version = String;
425 version = String;
426 };
426 };
427 cocoapods-update-if-you-dare =
427 cocoapods-update-if-you-dare =
428 { dependencies = [String];
428 { dependencies = [String];
429 groups = [String];
429 groups = [String];
430− platforms = ∀ α. [α];
430+ platforms = ∀ α. α;
431 source = {remotes = [String]; sha256 = String; type = String;};
431 source = {remotes = [String]; sha256 = String; type = String;};
432 version = String;
432 version = String;
433 };
433 };
434 cocoapods-whitelist =
434 cocoapods-whitelist =
435 { groups = [String];
435 { groups = [String];
436− platforms = ∀ α. [α];
436+ platforms = ∀ α. α;
437 source = {remotes = [String]; sha256 = String; type = String;};
437 source = {remotes = [String]; sha256 = String; type = String;};
438 version = String;
438 version = String;
439 };
439 };
440 cocoapods-wholemodule =
440 cocoapods-wholemodule =
441 { groups = [String];
441 { groups = [String];
442− platforms = ∀ α. [α];
442+ platforms = ∀ α. α;
443 source = {remotes = [String]; sha256 = String; type = String;};
443 source = {remotes = [String]; sha256 = String; type = String;};
444 version = String;
444 version = String;
445 };
445 };
446 coderay =
446 coderay =
447 { groups = [String];
447 { groups = [String];
448− platforms = ∀ α. [α];
448+ platforms = ∀ α. α;
449 source = {remotes = [String]; sha256 = String; type = String;};
449 source = {remotes = [String]; sha256 = String; type = String;};
450 version = String;
450 version = String;
451 };
451 };
452 colorator =
452 colorator =
453 { groups = [String];
453 { groups = [String];
454− platforms = ∀ α. [α];
454+ platforms = ∀ α. α;
455 source = {remotes = [String]; sha256 = String; type = String;};
455 source = {remotes = [String]; sha256 = String; type = String;};
456 version = String;
456 version = String;
457 };
457 };
458 colored2 =
458 colored2 =
459 { groups = [String];
459 { groups = [String];
460− platforms = ∀ α. [α];
460+ platforms = ∀ α. α;
461 source = {remotes = [String]; sha256 = String; type = String;};
461 source = {remotes = [String]; sha256 = String; type = String;};
462 version = String;
462 version = String;
463 };
463 };
464 concurrent-ruby =
464 concurrent-ruby =
465 { groups = [String];
465 { groups = [String];
466− platforms = ∀ α. [α];
466+ platforms = ∀ α. α;
467 source = {remotes = [String]; sha256 = String; type = String;};
467 source = {remotes = [String]; sha256 = String; type = String;};
468 version = String;
468 version = String;
469 };
469 };
470 crass =
470 crass =
471 { groups = [String];
471 { groups = [String];
472− platforms = ∀ α. [α];
472+ platforms = ∀ α. α;
473 source = {remotes = [String]; sha256 = String; type = String;};
473 source = {remotes = [String]; sha256 = String; type = String;};
474 version = String;
474 version = String;
475 };
475 };
476 curb =
476 curb =
477 { groups = [String];
477 { groups = [String];
478− platforms = ∀ α. [α];
478+ platforms = ∀ α. α;
479 source = {remotes = [String]; sha256 = String; type = String;};
479 source = {remotes = [String]; sha256 = String; type = String;};
480 version = String;
480 version = String;
481 };
481 };
482 curses =
482 curses =
483 { groups = [String];
483 { groups = [String];
484− platforms = ∀ α. [α];
484+ platforms = ∀ α. α;
485 source = {remotes = [String]; sha256 = String; type = String;};
485 source = {remotes = [String]; sha256 = String; type = String;};
486 version = String;
486 version = String;
487 };
487 };
488 daemons =
488 daemons =
489 { groups = [String];
489 { groups = [String];
490− platforms = ∀ α. [α];
490+ platforms = ∀ α. α;
491 source = {remotes = [String]; sha256 = String; type = String;};
491 source = {remotes = [String]; sha256 = String; type = String;};
492 version = String;
492 version = String;
493 };
493 };
494 data_objects =
494 data_objects =
495 { dependencies = [String];
495 { dependencies = [String];
496 groups = [String];
496 groups = [String];
497− platforms = ∀ α. [α];
497+ platforms = ∀ α. α;
498 source = {remotes = [String]; sha256 = String; type = String;};
498 source = {remotes = [String]; sha256 = String; type = String;};
499 version = String;
499 version = String;
500 };
500 };
501 dep-selector-libgecode =
501 dep-selector-libgecode =
502 { groups = [String];
502 { groups = [String];
503− platforms = ∀ α. [α];
503+ platforms = ∀ α. α;
504 source = {remotes = [String]; sha256 = String; type = String;};
504 source = {remotes = [String]; sha256 = String; type = String;};
505 version = String;
505 version = String;
506 };
506 };
507 diff-lcs =
507 diff-lcs =
508 { groups = [String];
508 { groups = [String];
509− platforms = ∀ α. [α];
509+ platforms = ∀ α. α;
510 source = {remotes = [String]; sha256 = String; type = String;};
510 source = {remotes = [String]; sha256 = String; type = String;};
511 version = String;
511 version = String;
512 };
512 };
513 digest-sha3 =
513 digest-sha3 =
514 { groups = [String];
514 { groups = [String];
515− platforms = ∀ α. [α];
515+ platforms = ∀ α. α;
516 source = {remotes = [String]; sha256 = String; type = String;};
516 source = {remotes = [String]; sha256 = String; type = String;};
517 version = String;
517 version = String;
518 };
518 };
519 do_sqlite3 =
519 do_sqlite3 =
520 { dependencies = [String];
520 { dependencies = [String];
521 groups = [String];
521 groups = [String];
522− platforms = ∀ α. [α];
522+ platforms = ∀ α. α;
523 source = {remotes = [String]; sha256 = String; type = String;};
523 source = {remotes = [String]; sha256 = String; type = String;};
524 version = String;
524 version = String;
525 };
525 };
526 docile =
526 docile =
527 { groups = [String];
527 { groups = [String];
528− platforms = ∀ α. [α];
528+ platforms = ∀ α. α;
529 source = {remotes = [String]; sha256 = String; type = String;};
529 source = {remotes = [String]; sha256 = String; type = String;};
530 version = String;
530 version = String;
531 };
531 };
532 domain_name =
532 domain_name =
533 { dependencies = [String];
533 { dependencies = [String];
534 groups = [String];
534 groups = [String];
535− platforms = ∀ α. [α];
535+ platforms = ∀ α. α;
536 source = {remotes = [String]; sha256 = String; type = String;};
536 source = {remotes = [String]; sha256 = String; type = String;};
537 version = String;
537 version = String;
538 };
538 };
539 dotenv =
539 dotenv =
540 { groups = [String];
540 { groups = [String];
541− platforms = ∀ α. [α];
541+ platforms = ∀ α. α;
542 source = {remotes = [String]; sha256 = String; type = String;};
542 source = {remotes = [String]; sha256 = String; type = String;};
543 version = String;
543 version = String;
544 };
544 };
545 em-websocket =
545 em-websocket =
546 { dependencies = [String];
546 { dependencies = [String];
547 groups = [String];
547 groups = [String];
548− platforms = ∀ α. [α];
548+ platforms = ∀ α. α;
549 source = {remotes = [String]; sha256 = String; type = String;};
549 source = {remotes = [String]; sha256 = String; type = String;};
550 version = String;
550 version = String;
551 };
551 };
552 erubis =
552 erubis =
553 { groups = [String];
553 { groups = [String];
554− platforms = ∀ α. [α];
554+ platforms = ∀ α. α;
555 source = {remotes = [String]; sha256 = String; type = String;};
555 source = {remotes = [String]; sha256 = String; type = String;};
556 version = String;
556 version = String;
557 };
557 };
558 escape =
558 escape =
559 { groups = [String];
559 { groups = [String];
560− platforms = ∀ α. [α];
560+ platforms = ∀ α. α;
561 source = {remotes = [String]; sha256 = String; type = String;};
561 source = {remotes = [String]; sha256 = String; type = String;};
562 version = String;
562 version = String;
563 };
563 };
564 ethon =
564 ethon =
565 { dependencies = [String];
565 { dependencies = [String];
566 groups = [String];
566 groups = [String];
567− platforms = ∀ α. [α];
567+ platforms = ∀ α. α;
568 source = {remotes = [String]; sha256 = String; type = String;};
568 source = {remotes = [String]; sha256 = String; type = String;};
569 version = String;
569 version = String;
570 };
570 };
571 eventmachine =
571 eventmachine =
572 { groups = [String];
572 { groups = [String];
573− platforms = ∀ α. [α];
573+ platforms = ∀ α. α;
574 source = {remotes = [String]; sha256 = String; type = String;};
574 source = {remotes = [String]; sha256 = String; type = String;};
575 version = String;
575 version = String;
576 };
576 };
577 excon =
577 excon =
578 { groups = [String];
578 { groups = [String];
579− platforms = ∀ α. [α];
579+ platforms = ∀ α. α;
580 source = {remotes = [String]; sha256 = String; type = String;};
580 source = {remotes = [String]; sha256 = String; type = String;};
581 version = String;
581 version = String;
582 };
582 };
583 faraday =
583 faraday =
584 { dependencies = [String];
584 { dependencies = [String];
585 groups = [String];
585 groups = [String];
586− platforms = ∀ α. [α];
586+ platforms = ∀ α. α;
587 source = {remotes = [String]; sha256 = String; type = String;};
587 source = {remotes = [String]; sha256 = String; type = String;};
588 version = String;
588 version = String;
589 };
589 };
590 ffi =
590 ffi =
591 { groups = [String];
591 { groups = [String];
592− platforms = ∀ α. [α];
592+ platforms = ∀ α. α;
593 source = {remotes = [String]; sha256 = String; type = String;};
593 source = {remotes = [String]; sha256 = String; type = String;};
594 version = String;
594 version = String;
595 };
595 };
596 ffi-compiler =
596 ffi-compiler =
597 { dependencies = [String];
597 { dependencies = [String];
598 groups = [String];
598 groups = [String];
599− platforms = ∀ α. [α];
599+ platforms = ∀ α. α;
600 source = {remotes = [String]; sha256 = String; type = String;};
600 source = {remotes = [String]; sha256 = String; type = String;};
601 version = String;
601 version = String;
602 };
602 };
603 ffi-rzmq-core =
603 ffi-rzmq-core =
604 { dependencies = [String];
604 { dependencies = [String];
605 groups = [String];
605 groups = [String];
606− platforms = ∀ α. [α];
606+ platforms = ∀ α. α;
607 source = {remotes = [String]; sha256 = String; type = String;};
607 source = {remotes = [String]; sha256 = String; type = String;};
608 version = String;
608 version = String;
609 };
609 };
610 fog-core =
610 fog-core =
611 { dependencies = [String];
611 { dependencies = [String];
612 groups = [String];
612 groups = [String];
613− platforms = ∀ α. [α];
613+ platforms = ∀ α. α;
614 source = {remotes = [String]; sha256 = String; type = String;};
614 source = {remotes = [String]; sha256 = String; type = String;};
615 version = String;
615 version = String;
616 };
616 };
617 fog-dnsimple =
617 fog-dnsimple =
618 { dependencies = [String];
618 { dependencies = [String];
619 groups = [String];
619 groups = [String];
620− platforms = ∀ α. [α];
620+ platforms = ∀ α. α;
621 source = {remotes = [String]; sha256 = String; type = String;};
621 source = {remotes = [String]; sha256 = String; type = String;};
622 version = String;
622 version = String;
623 };
623 };
624 fog-json =
624 fog-json =
625 { dependencies = [String];
625 { dependencies = [String];
626 groups = [String];
626 groups = [String];
627− platforms = ∀ α. [α];
627+ platforms = ∀ α. α;
628 source = {remotes = [String]; sha256 = String; type = String;};
628 source = {remotes = [String]; sha256 = String; type = String;};
629 version = String;
629 version = String;
630 };
630 };
631 formatador =
631 formatador =
632 { groups = [String];
632 { groups = [String];
633− platforms = ∀ α. [α];
633+ platforms = ∀ α. α;
634 source = {remotes = [String]; sha256 = String; type = String;};
634 source = {remotes = [String]; sha256 = String; type = String;};
635 version = String;
635 version = String;
636 };
636 };
637 forwardable-extended =
637 forwardable-extended =
638 { groups = [String];
638 { groups = [String];
639− platforms = ∀ α. [α];
639+ platforms = ∀ α. α;
640 source = {remotes = [String]; sha256 = String; type = String;};
640 source = {remotes = [String]; sha256 = String; type = String;};
641 version = String;
641 version = String;
642 };
642 };
643 fourflusher =
643 fourflusher =
644 { groups = [String];
644 { groups = [String];
645− platforms = ∀ α. [α];
645+ platforms = ∀ α. α;
646 source = {remotes = [String]; sha256 = String; type = String;};
646 source = {remotes = [String]; sha256 = String; type = String;};
647 version = String;
647 version = String;
648 };
648 };
649 fuzzy_match =
649 fuzzy_match =
650 { groups = [String];
650 { groups = [String];
651− platforms = ∀ α. [α];
651+ platforms = ∀ α. α;
652 source = {remotes = [String]; sha256 = String; type = String;};
652 source = {remotes = [String]; sha256 = String; type = String;};
653 version = String;
653 version = String;
654 };
654 };
655 gdk_pixbuf2 =
655 gdk_pixbuf2 =
656 { dependencies = [String];
656 { dependencies = [String];
657 groups = [String];
657 groups = [String];
658− platforms = ∀ α. [α];
658+ platforms = ∀ α. α;
659 source = {remotes = [String]; sha256 = String; type = String;};
659 source = {remotes = [String]; sha256 = String; type = String;};
660 version = String;
660 version = String;
661 };
661 };
662 gh_inspector =
662 gh_inspector =
663 { groups = [String];
663 { groups = [String];
664− platforms = ∀ α. [α];
664+ platforms = ∀ α. α;
665 source = {remotes = [String]; sha256 = String; type = String;};
665 source = {remotes = [String]; sha256 = String; type = String;};
666 version = String;
666 version = String;
667 };
667 };
668 gio2 =
668 gio2 =
669 { dependencies = [String];
669 { dependencies = [String];
670 groups = [String];
670 groups = [String];
671− platforms = ∀ α. [α];
671+ platforms = ∀ α. α;
672 source = {remotes = [String]; sha256 = String; type = String;};
672 source = {remotes = [String]; sha256 = String; type = String;};
673 version = String;
673 version = String;
674 };
674 };
675 gitlab-markup =
675 gitlab-markup =
676 { groups = [String];
676 { groups = [String];
677− platforms = ∀ α. [α];
677+ platforms = ∀ α. α;
678 source = {remotes = [String]; sha256 = String; type = String;};
678 source = {remotes = [String]; sha256 = String; type = String;};
679 version = String;
679 version = String;
680 };
680 };
681 glib2 =
681 glib2 =
682 { dependencies = [String];
682 { dependencies = [String];
683 groups = [String];
683 groups = [String];
684− platforms = ∀ α. [α];
684+ platforms = ∀ α. α;
685 source = {remotes = [String]; sha256 = String; type = String;};
685 source = {remotes = [String]; sha256 = String; type = String;};
686 version = String;
686 version = String;
687 };
687 };
688 globalid =
688 globalid =
689 { dependencies = [String];
689 { dependencies = [String];
690 groups = [String];
690 groups = [String];
691− platforms = ∀ α. [α];
691+ platforms = ∀ α. α;
692 source = {remotes = [String]; sha256 = String; type = String;};
692 source = {remotes = [String]; sha256 = String; type = String;};
693 version = String;
693 version = String;
694 };
694 };
695 gobject-introspection =
695 gobject-introspection =
696 { dependencies = [String];
696 { dependencies = [String];
697 groups = [String];
697 groups = [String];
698− platforms = ∀ α. [α];
698+ platforms = ∀ α. α;
699 source = {remotes = [String]; sha256 = String; type = String;};
699 source = {remotes = [String]; sha256 = String; type = String;};
700 version = String;
700 version = String;
701 };
701 };
702 gpgme =
702 gpgme =
703 { dependencies = [String];
703 { dependencies = [String];
704 groups = [String];
704 groups = [String];
705− platforms = ∀ α. [α];
705+ platforms = ∀ α. α;
706 source = {remotes = [String]; sha256 = String; type = String;};
706 source = {remotes = [String]; sha256 = String; type = String;};
707 version = String;
707 version = String;
708 };
708 };
@@ -710,361 +710,361 @@
710 { dependencies = [String];
710 { dependencies = [String];
711 groups = [String];
711 groups = [String];
712 meta = {broken = Bool;};
712 meta = {broken = Bool;};
713− platforms = ∀ α. [α];
713+ platforms = ∀ α. α;
714 source = {remotes = [String]; sha256 = String; type = String;};
714 source = {remotes = [String]; sha256 = String; type = String;};
715 version = String;
715 version = String;
716 };
716 };
717 hashie =
717 hashie =
718 { groups = [String];
718 { groups = [String];
719− platforms = ∀ α. [α];
719+ platforms = ∀ α. α;
720 source = {remotes = [String]; sha256 = String; type = String;};
720 source = {remotes = [String]; sha256 = String; type = String;};
721 version = String;
721 version = String;
722 };
722 };
723 highline =
723 highline =
724 { groups = [String];
724 { groups = [String];
725− platforms = ∀ α. [α];
725+ platforms = ∀ α. α;
726 source = {remotes = [String]; sha256 = String; type = String;};
726 source = {remotes = [String]; sha256 = String; type = String;};
727 version = String;
727 version = String;
728 };
728 };
729 hike =
729 hike =
730 { groups = [String];
730 { groups = [String];
731− platforms = ∀ α. [α];
731+ platforms = ∀ α. α;
732 source = {remotes = [String]; sha256 = String; type = String;};
732 source = {remotes = [String]; sha256 = String; type = String;};
733 version = String;
733 version = String;
734 };
734 };
735 hitimes =
735 hitimes =
736 { groups = [String];
736 { groups = [String];
737− platforms = ∀ α. [α];
737+ platforms = ∀ α. α;
738 source = {remotes = [String]; sha256 = String; type = String;};
738 source = {remotes = [String]; sha256 = String; type = String;};
739 version = String;
739 version = String;
740 };
740 };
741 hpricot =
741 hpricot =
742 { groups = [String];
742 { groups = [String];
743− platforms = ∀ α. [α];
743+ platforms = ∀ α. α;
744 source = {remotes = [String]; sha256 = String; type = String;};
744 source = {remotes = [String]; sha256 = String; type = String;};
745 version = String;
745 version = String;
746 };
746 };
747 http-accept =
747 http-accept =
748 { groups = [String];
748 { groups = [String];
749− platforms = ∀ α. [α];
749+ platforms = ∀ α. α;
750 source = {remotes = [String]; sha256 = String; type = String;};
750 source = {remotes = [String]; sha256 = String; type = String;};
751 version = String;
751 version = String;
752 };
752 };
753 http-cookie =
753 http-cookie =
754 { dependencies = [String];
754 { dependencies = [String];
755 groups = [String];
755 groups = [String];
756− platforms = ∀ α. [α];
756+ platforms = ∀ α. α;
757 source = {remotes = [String]; sha256 = String; type = String;};
757 source = {remotes = [String]; sha256 = String; type = String;};
758 version = String;
758 version = String;
759 };
759 };
760 http_parser.rb =
760 http_parser.rb =
761 { groups = [String];
761 { groups = [String];
762− platforms = ∀ α. [α];
762+ platforms = ∀ α. α;
763 source = {remotes = [String]; sha256 = String; type = String;};
763 source = {remotes = [String]; sha256 = String; type = String;};
764 version = String;
764 version = String;
765 };
765 };
766 httpclient =
766 httpclient =
767 { groups = [String];
767 { groups = [String];
768− platforms = ∀ α. [α];
768+ platforms = ∀ α. α;
769 source = {remotes = [String]; sha256 = String; type = String;};
769 source = {remotes = [String]; sha256 = String; type = String;};
770 version = String;
770 version = String;
771 };
771 };
772 i18n =
772 i18n =
773 { dependencies = [String];
773 { dependencies = [String];
774 groups = [String];
774 groups = [String];
775− platforms = ∀ α. [α];
775+ platforms = ∀ α. α;
776 source = {remotes = [String]; sha256 = String; type = String;};
776 source = {remotes = [String]; sha256 = String; type = String;};
777 version = String;
777 version = String;
778 };
778 };
779 iconv =
779 iconv =
780 { groups = [String];
780 { groups = [String];
781− platforms = ∀ α. [α];
781+ platforms = ∀ α. α;
782 source = {remotes = [String]; sha256 = String; type = String;};
782 source = {remotes = [String]; sha256 = String; type = String;};
783 version = String;
783 version = String;
784 };
784 };
785 idn-ruby =
785 idn-ruby =
786 { groups = [String];
786 { groups = [String];
787− platforms = ∀ α. [α];
787+ platforms = ∀ α. α;
788 source = {remotes = [String]; sha256 = String; type = String;};
788 source = {remotes = [String]; sha256 = String; type = String;};
789 version = String;
789 version = String;
790 };
790 };
791 jaro_winkler =
791 jaro_winkler =
792 { groups = [String];
792 { groups = [String];
793− platforms = ∀ α. [α];
793+ platforms = ∀ α. α;
794 source = {remotes = [String]; sha256 = String; type = String;};
794 source = {remotes = [String]; sha256 = String; type = String;};
795 version = String;
795 version = String;
796 };
796 };
797 jbuilder =
797 jbuilder =
798 { dependencies = [String];
798 { dependencies = [String];
799 groups = [String];
799 groups = [String];
800− platforms = ∀ α. [α];
800+ platforms = ∀ α. α;
801 source = {remotes = [String]; sha256 = String; type = String;};
801 source = {remotes = [String]; sha256 = String; type = String;};
802 version = String;
802 version = String;
803 };
803 };
804 jekyll =
804 jekyll =
805 { dependencies = [String];
805 { dependencies = [String];
806 groups = [String];
806 groups = [String];
807− platforms = ∀ α. [α];
807+ platforms = ∀ α. α;
808 source = {remotes = [String]; sha256 = String; type = String;};
808 source = {remotes = [String]; sha256 = String; type = String;};
809 version = String;
809 version = String;
810 };
810 };
811 jekyll-sass-converter =
811 jekyll-sass-converter =
812 { dependencies = [String];
812 { dependencies = [String];
813 groups = [String];
813 groups = [String];
814− platforms = ∀ α. [α];
814+ platforms = ∀ α. α;
815 source = {remotes = [String]; sha256 = String; type = String;};
815 source = {remotes = [String]; sha256 = String; type = String;};
816 version = String;
816 version = String;
817 };
817 };
818 jekyll-watch =
818 jekyll-watch =
819 { dependencies = [String];
819 { dependencies = [String];
820 groups = [String];
820 groups = [String];
821− platforms = ∀ α. [α];
821+ platforms = ∀ α. α;
822 source = {remotes = [String]; sha256 = String; type = String;};
822 source = {remotes = [String]; sha256 = String; type = String;};
823 version = String;
823 version = String;
824 };
824 };
825 jmespath =
825 jmespath =
826 { groups = [String];
826 { groups = [String];
827− platforms = ∀ α. [α];
827+ platforms = ∀ α. α;
828 source = {remotes = [String]; sha256 = String; type = String;};
828 source = {remotes = [String]; sha256 = String; type = String;};
829 version = String;
829 version = String;
830 };
830 };
831 json =
831 json =
832 { groups = [String];
832 { groups = [String];
833− platforms = ∀ α. [α];
833+ platforms = ∀ α. α;
834 source = {remotes = [String]; sha256 = String; type = String;};
834 source = {remotes = [String]; sha256 = String; type = String;};
835 version = String;
835 version = String;
836 };
836 };
837 jwt =
837 jwt =
838 { groups = [String];
838 { groups = [String];
839− platforms = ∀ α. [α];
839+ platforms = ∀ α. α;
840 source = {remotes = [String]; sha256 = String; type = String;};
840 source = {remotes = [String]; sha256 = String; type = String;};
841 version = String;
841 version = String;
842 };
842 };
843 kramdown =
843 kramdown =
844 { groups = [String];
844 { groups = [String];
845− platforms = ∀ α. [α];
845+ platforms = ∀ α. α;
846 source = {remotes = [String]; sha256 = String; type = String;};
846 source = {remotes = [String]; sha256 = String; type = String;};
847 version = String;
847 version = String;
848 };
848 };
849 kramdown-parser-gfm =
849 kramdown-parser-gfm =
850 { dependencies = [String];
850 { dependencies = [String];
851 groups = [String];
851 groups = [String];
852− platforms = ∀ α. [α];
852+ platforms = ∀ α. α;
853 source = {remotes = [String]; sha256 = String; type = String;};
853 source = {remotes = [String]; sha256 = String; type = String;};
854 version = String;
854 version = String;
855 };
855 };
856 libv8 =
856 libv8 =
857 { groups = [String];
857 { groups = [String];
858− platforms = ∀ α. [α];
858+ platforms = ∀ α. α;
859 source = {remotes = [String]; sha256 = String; type = String;};
859 source = {remotes = [String]; sha256 = String; type = String;};
860 version = String;
860 version = String;
861 };
861 };
862 libxml-ruby =
862 libxml-ruby =
863 { groups = [String];
863 { groups = [String];
864− platforms = ∀ α. [α];
864+ platforms = ∀ α. α;
865 source = {remotes = [String]; sha256 = String; type = String;};
865 source = {remotes = [String]; sha256 = String; type = String;};
866 version = String;
866 version = String;
867 };
867 };
868 liquid =
868 liquid =
869 { groups = [String];
869 { groups = [String];
870− platforms = ∀ α. [α];
870+ platforms = ∀ α. α;
871 source = {remotes = [String]; sha256 = String; type = String;};
871 source = {remotes = [String]; sha256 = String; type = String;};
872 version = String;
872 version = String;
873 };
873 };
874 listen =
874 listen =
875 { dependencies = [String];
875 { dependencies = [String];
876 groups = [String];
876 groups = [String];
877− platforms = ∀ α. [α];
877+ platforms = ∀ α. α;
878 source = {remotes = [String]; sha256 = String; type = String;};
878 source = {remotes = [String]; sha256 = String; type = String;};
879 version = String;
879 version = String;
880 };
880 };
881 loofah =
881 loofah =
882 { dependencies = [String];
882 { dependencies = [String];
883 groups = [String];
883 groups = [String];
884− platforms = ∀ α. [α];
884+ platforms = ∀ α. α;
885 source = {remotes = [String]; sha256 = String; type = String;};
885 source = {remotes = [String]; sha256 = String; type = String;};
886 version = String;
886 version = String;
887 };
887 };
888 mab =
888 mab =
889 { groups = [String];
889 { groups = [String];
890− platforms = ∀ α. [α];
890+ platforms = ∀ α. α;
891 source = {remotes = [String]; sha256 = String; type = String;};
891 source = {remotes = [String]; sha256 = String; type = String;};
892 version = String;
892 version = String;
893 };
893 };
894 magic =
894 magic =
895 { dependencies = [String];
895 { dependencies = [String];
896 groups = [String];
896 groups = [String];
897− platforms = ∀ α. [α];
897+ platforms = ∀ α. α;
898 source = {remotes = [String]; sha256 = String; type = String;};
898 source = {remotes = [String]; sha256 = String; type = String;};
899 version = String;
899 version = String;
900 };
900 };
901 mail =
901 mail =
902 { dependencies = [String];
902 { dependencies = [String];
903 groups = [String];
903 groups = [String];
904− platforms = ∀ α. [α];
904+ platforms = ∀ α. α;
905 source = {remotes = [String]; sha256 = String; type = String;};
905 source = {remotes = [String]; sha256 = String; type = String;};
906 version = String;
906 version = String;
907 };
907 };
908 markaby =
908 markaby =
909 { dependencies = [String];
909 { dependencies = [String];
910 groups = [String];
910 groups = [String];
911− platforms = ∀ α. [α];
911+ platforms = ∀ α. α;
912 source = {remotes = [String]; sha256 = String; type = String;};
912 source = {remotes = [String]; sha256 = String; type = String;};
913 version = String;
913 version = String;
914 };
914 };
915 mercenary =
915 mercenary =
916 { groups = [String];
916 { groups = [String];
917− platforms = ∀ α. [α];
917+ platforms = ∀ α. α;
918 source = {remotes = [String]; sha256 = String; type = String;};
918 source = {remotes = [String]; sha256 = String; type = String;};
919 version = String;
919 version = String;
920 };
920 };
921 method_source =
921 method_source =
922 { groups = [String];
922 { groups = [String];
923− platforms = ∀ α. [α];
923+ platforms = ∀ α. α;
924 source = {remotes = [String]; sha256 = String; type = String;};
924 source = {remotes = [String]; sha256 = String; type = String;};
925 version = String;
925 version = String;
926 };
926 };
927 mime-types =
927 mime-types =
928 { dependencies = [String];
928 { dependencies = [String];
929 groups = [String];
929 groups = [String];
930− platforms = ∀ α. [α];
930+ platforms = ∀ α. α;
931 source = {remotes = [String]; sha256 = String; type = String;};
931 source = {remotes = [String]; sha256 = String; type = String;};
932 version = String;
932 version = String;
933 };
933 };
934 mime-types-data =
934 mime-types-data =
935 { groups = [String];
935 { groups = [String];
936− platforms = ∀ α. [α];
936+ platforms = ∀ α. α;
937 source = {remotes = [String]; sha256 = String; type = String;};
937 source = {remotes = [String]; sha256 = String; type = String;};
938 version = String;
938 version = String;
939 };
939 };
940 mini_magick =
940 mini_magick =
941 { groups = [String];
941 { groups = [String];
942− platforms = ∀ α. [α];
942+ platforms = ∀ α. α;
943 source = {remotes = [String]; sha256 = String; type = String;};
943 source = {remotes = [String]; sha256 = String; type = String;};
944 version = String;
944 version = String;
945 };
945 };
946 mini_mime =
946 mini_mime =
947 { groups = [String];
947 { groups = [String];
948− platforms = ∀ α. [α];
948+ platforms = ∀ α. α;
949 source = {remotes = [String]; sha256 = String; type = String;};
949 source = {remotes = [String]; sha256 = String; type = String;};
950 version = String;
950 version = String;
951 };
951 };
952 mini_portile2 =
952 mini_portile2 =
953 { groups = [String];
953 { groups = [String];
954− platforms = ∀ α. [α];
954+ platforms = ∀ α. α;
955 source = {remotes = [String]; sha256 = String; type = String;};
955 source = {remotes = [String]; sha256 = String; type = String;};
956 version = String;
956 version = String;
957 };
957 };
958 minitest =
958 minitest =
959 { groups = [String];
959 { groups = [String];
960− platforms = ∀ α. [α];
960+ platforms = ∀ α. α;
961 source = {remotes = [String]; sha256 = String; type = String;};
961 source = {remotes = [String]; sha256 = String; type = String;};
962 version = String;
962 version = String;
963 };
963 };
964 molinillo =
964 molinillo =
965 { groups = [String];
965 { groups = [String];
966− platforms = ∀ α. [α];
966+ platforms = ∀ α. α;
967 source = {remotes = [String]; sha256 = String; type = String;};
967 source = {remotes = [String]; sha256 = String; type = String;};
968 version = String;
968 version = String;
969 };
969 };
970 msgpack =
970 msgpack =
971 { groups = [String];
971 { groups = [String];
972− platforms = ∀ α. [α];
972+ platforms = ∀ α. α;
973 source = {remotes = [String]; sha256 = String; type = String;};
973 source = {remotes = [String]; sha256 = String; type = String;};
974 version = String;
974 version = String;
975 };
975 };
976 multi_json =
976 multi_json =
977 { groups = [String];
977 { groups = [String];
978− platforms = ∀ α. [α];
978+ platforms = ∀ α. α;
979 source = {remotes = [String]; sha256 = String; type = String;};
979 source = {remotes = [String]; sha256 = String; type = String;};
980 version = String;
980 version = String;
981 };
981 };
982 multipart-post =
982 multipart-post =
983 { groups = [String];
983 { groups = [String];
984− platforms = ∀ α. [α];
984+ platforms = ∀ α. α;
985 source = {remotes = [String]; sha256 = String; type = String;};
985 source = {remotes = [String]; sha256 = String; type = String;};
986 version = String;
986 version = String;
987 };
987 };
988 mysql2 =
988 mysql2 =
989 { groups = [String];
989 { groups = [String];
990− platforms = ∀ α. [α];
990+ platforms = ∀ α. α;
991 source = {remotes = [String]; sha256 = String; type = String;};
991 source = {remotes = [String]; sha256 = String; type = String;};
992 version = String;
992 version = String;
993 };
993 };
994 nanaimo =
994 nanaimo =
995 { groups = [String];
995 { groups = [String];
996− platforms = ∀ α. [α];
996+ platforms = ∀ α. α;
997 source = {remotes = [String]; sha256 = String; type = String;};
997 source = {remotes = [String]; sha256 = String; type = String;};
998 version = String;
998 version = String;
999 };
999 };
1000 nap =
1000 nap =
1001 { groups = [String];
1001 { groups = [String];
1002− platforms = ∀ α. [α];
1002+ platforms = ∀ α. α;
1003 source = {remotes = [String]; sha256 = String; type = String;};
1003 source = {remotes = [String]; sha256 = String; type = String;};
1004 version = String;
1004 version = String;
1005 };
1005 };
1006 native-package-installer =
1006 native-package-installer =
1007 { groups = [String];
1007 { groups = [String];
1008− platforms = ∀ α. [α];
1008+ platforms = ∀ α. α;
1009 source = {remotes = [String]; sha256 = String; type = String;};
1009 source = {remotes = [String]; sha256 = String; type = String;};
1010 version = String;
1010 version = String;
1011 };
1011 };
1012 ncursesw =
1012 ncursesw =
1013 { groups = [String];
1013 { groups = [String];
1014− platforms = ∀ α. [α];
1014+ platforms = ∀ α. α;
1015 source = {remotes = [String]; sha256 = String; type = String;};
1015 source = {remotes = [String]; sha256 = String; type = String;};
1016 version = String;
1016 version = String;
1017 };
1017 };
1018 net-scp =
1018 net-scp =
1019 { dependencies = [String];
1019 { dependencies = [String];
1020 groups = [String];
1020 groups = [String];
1021− platforms = ∀ α. [α];
1021+ platforms = ∀ α. α;
1022 source = {remotes = [String]; sha256 = String; type = String;};
1022 source = {remotes = [String]; sha256 = String; type = String;};
1023 version = String;
1023 version = String;
1024 };
1024 };
1025 net-ssh =
1025 net-ssh =
1026 { groups = [String];
1026 { groups = [String];
1027− platforms = ∀ α. [α];
1027+ platforms = ∀ α. α;
1028 source = {remotes = [String]; sha256 = String; type = String;};
1028 source = {remotes = [String]; sha256 = String; type = String;};
1029 version = String;
1029 version = String;
1030 };
1030 };
1031 netrc =
1031 netrc =
1032 { groups = [String];
1032 { groups = [String];
1033− platforms = ∀ α. [α];
1033+ platforms = ∀ α. α;
1034 source = {remotes = [String]; sha256 = String; type = String;};
1034 source = {remotes = [String]; sha256 = String; type = String;};
1035 version = String;
1035 version = String;
1036 };
1036 };
1037 nio4r =
1037 nio4r =
1038 { groups = [String];
1038 { groups = [String];
1039− platforms = ∀ α. [α];
1039+ platforms = ∀ α. α;
1040 source = {remotes = [String]; sha256 = String; type = String;};
1040 source = {remotes = [String]; sha256 = String; type = String;};
1041 version = String;
1041 version = String;
1042 };
1042 };
1043 nokogiri =
1043 nokogiri =
1044 { dependencies = [String];
1044 { dependencies = [String];
1045 groups = [String];
1045 groups = [String];
1046− platforms = ∀ α. [α];
1046+ platforms = ∀ α. α;
1047 source = {remotes = [String]; sha256 = String; type = String;};
1047 source = {remotes = [String]; sha256 = String; type = String;};
1048 version = String;
1048 version = String;
1049 };
1049 };
1050 opus-ruby =
1050 opus-ruby =
1051 { dependencies = [String];
1051 { dependencies = [String];
1052 groups = [String];
1052 groups = [String];
1053− platforms = ∀ α. [α];
1053+ platforms = ∀ α. α;
1054 source = {remotes = [String]; sha256 = String; type = String;};
1054 source = {remotes = [String]; sha256 = String; type = String;};
1055 version = String;
1055 version = String;
1056 };
1056 };
1057 osx_keychain =
1057 osx_keychain =
1058 { dependencies = [String];
1058 { dependencies = [String];
1059 groups = [String];
1059 groups = [String];
1060− platforms = ∀ α. [α];
1060+ platforms = ∀ α. α;
1061 source = {remotes = [String]; sha256 = String; type = String;};
1061 source = {remotes = [String]; sha256 = String; type = String;};
1062 version = String;
1062 version = String;
1063 };
1063 };
1064 ovirt-engine-sdk =
1064 ovirt-engine-sdk =
1065 { dependencies = [String];
1065 { dependencies = [String];
1066 groups = [String];
1066 groups = [String];
1067− platforms = ∀ α. [α];
1067+ platforms = ∀ α. α;
1068 source = {remotes = [String]; sha256 = String; type = String;};
1068 source = {remotes = [String]; sha256 = String; type = String;};
1069 version = String;
1069 version = String;
1070 };
1070 };
@@ -1072,563 +1072,563 @@
1072 { dependencies = [String];
1072 { dependencies = [String];
1073 groups = [String];
1073 groups = [String];
1074 meta = {broken = Bool;};
1074 meta = {broken = Bool;};
1075− platforms = ∀ α. [α];
1075+ platforms = ∀ α. α;
1076 source = {remotes = [String]; sha256 = String; type = String;};
1076 source = {remotes = [String]; sha256 = String; type = String;};
1077 version = String;
1077 version = String;
1078 };
1078 };
1079 parallel =
1079 parallel =
1080 { groups = [String];
1080 { groups = [String];
1081− platforms = ∀ α. [α];
1081+ platforms = ∀ α. α;
1082 source = {remotes = [String]; sha256 = String; type = String;};
1082 source = {remotes = [String]; sha256 = String; type = String;};
1083 version = String;
1083 version = String;
1084 };
1084 };
1085 parser =
1085 parser =
1086 { dependencies = [String];
1086 { dependencies = [String];
1087 groups = [String];
1087 groups = [String];
1088− platforms = ∀ α. [α];
1088+ platforms = ∀ α. α;
1089 source = {remotes = [String]; sha256 = String; type = String;};
1089 source = {remotes = [String]; sha256 = String; type = String;};
1090 version = String;
1090 version = String;
1091 };
1091 };
1092 pathutil =
1092 pathutil =
1093 { dependencies = [String];
1093 { dependencies = [String];
1094 groups = [String];
1094 groups = [String];
1095− platforms = ∀ α. [α];
1095+ platforms = ∀ α. α;
1096 source = {remotes = [String]; sha256 = String; type = String;};
1096 source = {remotes = [String]; sha256 = String; type = String;};
1097 version = String;
1097 version = String;
1098 };
1098 };
1099 patron =
1099 patron =
1100 { groups = [String];
1100 { groups = [String];
1101− platforms = ∀ α. [α];
1101+ platforms = ∀ α. α;
1102 source = {remotes = [String]; sha256 = String; type = String;};
1102 source = {remotes = [String]; sha256 = String; type = String;};
1103 version = String;
1103 version = String;
1104 };
1104 };
1105 pcaprub =
1105 pcaprub =
1106 { groups = [String];
1106 { groups = [String];
1107− platforms = ∀ α. [α];
1107+ platforms = ∀ α. α;
1108 source = {remotes = [String]; sha256 = String; type = String;};
1108 source = {remotes = [String]; sha256 = String; type = String;};
1109 version = String;
1109 version = String;
1110 };
1110 };
1111 pg =
1111 pg =
1112 { groups = [String];
1112 { groups = [String];
1113− platforms = ∀ α. [α];
1113+ platforms = ∀ α. α;
1114 source = {remotes = [String]; sha256 = String; type = String;};
1114 source = {remotes = [String]; sha256 = String; type = String;};
1115 version = String;
1115 version = String;
1116 };
1116 };
1117 pkg-config =
1117 pkg-config =
1118 { groups = [String];
1118 { groups = [String];
1119− platforms = ∀ α. [α];
1119+ platforms = ∀ α. α;
1120 source = {remotes = [String]; sha256 = String; type = String;};
1120 source = {remotes = [String]; sha256 = String; type = String;};
1121 version = String;
1121 version = String;
1122 };
1122 };
1123 polyglot =
1123 polyglot =
1124 { groups = [String];
1124 { groups = [String];
1125− platforms = ∀ α. [α];
1125+ platforms = ∀ α. α;
1126 source = {remotes = [String]; sha256 = String; type = String;};
1126 source = {remotes = [String]; sha256 = String; type = String;};
1127 version = String;
1127 version = String;
1128 };
1128 };
1129 pry =
1129 pry =
1130 { dependencies = [String];
1130 { dependencies = [String];
1131 groups = [String];
1131 groups = [String];
1132− platforms = ∀ α. [α];
1132+ platforms = ∀ α. α;
1133 source = {remotes = [String]; sha256 = String; type = String;};
1133 source = {remotes = [String]; sha256 = String; type = String;};
1134 version = String;
1134 version = String;
1135 };
1135 };
1136 pry-byebug =
1136 pry-byebug =
1137 { dependencies = [String];
1137 { dependencies = [String];
1138 groups = [String];
1138 groups = [String];
1139− platforms = ∀ α. [α];
1139+ platforms = ∀ α. α;
1140 source = {remotes = [String]; sha256 = String; type = String;};
1140 source = {remotes = [String]; sha256 = String; type = String;};
1141 version = String;
1141 version = String;
1142 };
1142 };
1143 pry-doc =
1143 pry-doc =
1144 { dependencies = [String];
1144 { dependencies = [String];
1145 groups = [String];
1145 groups = [String];
1146− platforms = ∀ α. [α];
1146+ platforms = ∀ α. α;
1147 source = {remotes = [String]; sha256 = String; type = String;};
1147 source = {remotes = [String]; sha256 = String; type = String;};
1148 version = String;
1148 version = String;
1149 };
1149 };
1150 public_suffix =
1150 public_suffix =
1151 { groups = [String];
1151 { groups = [String];
1152− platforms = ∀ α. [α];
1152+ platforms = ∀ α. α;
1153 source = {remotes = [String]; sha256 = String; type = String;};
1153 source = {remotes = [String]; sha256 = String; type = String;};
1154 version = String;
1154 version = String;
1155 };
1155 };
1156 puma =
1156 puma =
1157 { dependencies = [String];
1157 { dependencies = [String];
1158 groups = [String];
1158 groups = [String];
1159− platforms = ∀ α. [α];
1159+ platforms = ∀ α. α;
1160 source = {remotes = [String]; sha256 = String; type = String;};
1160 source = {remotes = [String]; sha256 = String; type = String;};
1161 version = String;
1161 version = String;
1162 };
1162 };
1163 rack =
1163 rack =
1164 { groups = [String];
1164 { groups = [String];
1165− platforms = ∀ α. [α];
1165+ platforms = ∀ α. α;
1166 source = {remotes = [String]; sha256 = String; type = String;};
1166 source = {remotes = [String]; sha256 = String; type = String;};
1167 version = String;
1167 version = String;
1168 };
1168 };
1169 rack-protection =
1169 rack-protection =
1170 { dependencies = [String];
1170 { dependencies = [String];
1171 groups = [String];
1171 groups = [String];
1172− platforms = ∀ α. [α];
1172+ platforms = ∀ α. α;
1173 source = {remotes = [String]; sha256 = String; type = String;};
1173 source = {remotes = [String]; sha256 = String; type = String;};
1174 version = String;
1174 version = String;
1175 };
1175 };
1176 rack-test =
1176 rack-test =
1177 { dependencies = [String];
1177 { dependencies = [String];
1178 groups = [String];
1178 groups = [String];
1179− platforms = ∀ α. [α];
1179+ platforms = ∀ α. α;
1180 source = {remotes = [String]; sha256 = String; type = String;};
1180 source = {remotes = [String]; sha256 = String; type = String;};
1181 version = String;
1181 version = String;
1182 };
1182 };
1183 rails =
1183 rails =
1184 { dependencies = [String];
1184 { dependencies = [String];
1185 groups = [String];
1185 groups = [String];
1186− platforms = ∀ α. [α];
1186+ platforms = ∀ α. α;
1187 source = {remotes = [String]; sha256 = String; type = String;};
1187 source = {remotes = [String]; sha256 = String; type = String;};
1188 version = String;
1188 version = String;
1189 };
1189 };
1190 rails-deprecated_sanitizer =
1190 rails-deprecated_sanitizer =
1191 { dependencies = [String];
1191 { dependencies = [String];
1192 groups = [String];
1192 groups = [String];
1193− platforms = ∀ α. [α];
1193+ platforms = ∀ α. α;
1194 source = {remotes = [String]; sha256 = String; type = String;};
1194 source = {remotes = [String]; sha256 = String; type = String;};
1195 version = String;
1195 version = String;
1196 };
1196 };
1197 rails-dom-testing =
1197 rails-dom-testing =
1198 { dependencies = [String];
1198 { dependencies = [String];
1199 groups = [String];
1199 groups = [String];
1200− platforms = ∀ α. [α];
1200+ platforms = ∀ α. α;
1201 source = {remotes = [String]; sha256 = String; type = String;};
1201 source = {remotes = [String]; sha256 = String; type = String;};
1202 version = String;
1202 version = String;
1203 };
1203 };
1204 rails-html-sanitizer =
1204 rails-html-sanitizer =
1205 { dependencies = [String];
1205 { dependencies = [String];
1206 groups = [String];
1206 groups = [String];
1207− platforms = ∀ α. [α];
1207+ platforms = ∀ α. α;
1208 source = {remotes = [String]; sha256 = String; type = String;};
1208 source = {remotes = [String]; sha256 = String; type = String;};
1209 version = String;
1209 version = String;
1210 };
1210 };
1211 railties =
1211 railties =
1212 { dependencies = [String];
1212 { dependencies = [String];
1213 groups = [String];
1213 groups = [String];
1214− platforms = ∀ α. [α];
1214+ platforms = ∀ α. α;
1215 source = {remotes = [String]; sha256 = String; type = String;};
1215 source = {remotes = [String]; sha256 = String; type = String;};
1216 version = String;
1216 version = String;
1217 };
1217 };
1218 rainbow =
1218 rainbow =
1219 { groups = [String];
1219 { groups = [String];
1220− platforms = ∀ α. [α];
1220+ platforms = ∀ α. α;
1221 source = {remotes = [String]; sha256 = String; type = String;};
1221 source = {remotes = [String]; sha256 = String; type = String;};
1222 version = String;
1222 version = String;
1223 };
1223 };
1224 rake =
1224 rake =
1225 { groups = [String];
1225 { groups = [String];
1226− platforms = ∀ α. [α];
1226+ platforms = ∀ α. α;
1227 source = {remotes = [String]; sha256 = String; type = String;};
1227 source = {remotes = [String]; sha256 = String; type = String;};
1228 version = String;
1228 version = String;
1229 };
1229 };
1230 rb-fsevent =
1230 rb-fsevent =
1231 { groups = [String];
1231 { groups = [String];
1232− platforms = ∀ α. [α];
1232+ platforms = ∀ α. α;
1233 source = {remotes = [String]; sha256 = String; type = String;};
1233 source = {remotes = [String]; sha256 = String; type = String;};
1234 version = String;
1234 version = String;
1235 };
1235 };
1236 rb-inotify =
1236 rb-inotify =
1237 { dependencies = [String];
1237 { dependencies = [String];
1238 groups = [String];
1238 groups = [String];
1239− platforms = ∀ α. [α];
1239+ platforms = ∀ α. α;
1240 source = {remotes = [String]; sha256 = String; type = String;};
1240 source = {remotes = [String]; sha256 = String; type = String;};
1241 version = String;
1241 version = String;
1242 };
1242 };
1243 rb-readline =
1243 rb-readline =
1244 { groups = [String];
1244 { groups = [String];
1245− platforms = ∀ α. [α];
1245+ platforms = ∀ α. α;
1246 source = {remotes = [String]; sha256 = String; type = String;};
1246 source = {remotes = [String]; sha256 = String; type = String;};
1247 version = String;
1247 version = String;
1248 };
1248 };
1249 rbnacl =
1249 rbnacl =
1250 { dependencies = [String];
1250 { dependencies = [String];
1251 groups = [String];
1251 groups = [String];
1252− platforms = ∀ α. [α];
1252+ platforms = ∀ α. α;
1253 source = {remotes = [String]; sha256 = String; type = String;};
1253 source = {remotes = [String]; sha256 = String; type = String;};
1254 version = String;
1254 version = String;
1255 };
1255 };
1256 re2 =
1256 re2 =
1257 { groups = [String];
1257 { groups = [String];
1258− platforms = ∀ α. [α];
1258+ platforms = ∀ α. α;
1259 source = {remotes = [String]; sha256 = String; type = String;};
1259 source = {remotes = [String]; sha256 = String; type = String;};
1260 version = String;
1260 version = String;
1261 };
1261 };
1262 redcarpet =
1262 redcarpet =
1263 { groups = [String];
1263 { groups = [String];
1264− platforms = ∀ α. [α];
1264+ platforms = ∀ α. α;
1265 source = {remotes = [String]; sha256 = String; type = String;};
1265 source = {remotes = [String]; sha256 = String; type = String;};
1266 version = String;
1266 version = String;
1267 };
1267 };
1268 redis =
1268 redis =
1269 { groups = [String];
1269 { groups = [String];
1270− platforms = ∀ α. [α];
1270+ platforms = ∀ α. α;
1271 source = {remotes = [String]; sha256 = String; type = String;};
1271 source = {remotes = [String]; sha256 = String; type = String;};
1272 version = String;
1272 version = String;
1273 };
1273 };
1274 redis-rack =
1274 redis-rack =
1275 { dependencies = [String];
1275 { dependencies = [String];
1276 groups = [String];
1276 groups = [String];
1277− platforms = ∀ α. [α];
1277+ platforms = ∀ α. α;
1278 source = {remotes = [String]; sha256 = String; type = String;};
1278 source = {remotes = [String]; sha256 = String; type = String;};
1279 version = String;
1279 version = String;
1280 };
1280 };
1281 redis-store =
1281 redis-store =
1282 { dependencies = [String];
1282 { dependencies = [String];
1283 groups = [String];
1283 groups = [String];
1284− platforms = ∀ α. [α];
1284+ platforms = ∀ α. α;
1285 source = {remotes = [String]; sha256 = String; type = String;};
1285 source = {remotes = [String]; sha256 = String; type = String;};
1286 version = String;
1286 version = String;
1287 };
1287 };
1288 rest-client =
1288 rest-client =
1289 { dependencies = [String];
1289 { dependencies = [String];
1290 groups = [String];
1290 groups = [String];
1291− platforms = ∀ α. [α];
1291+ platforms = ∀ α. α;
1292 source = {remotes = [String]; sha256 = String; type = String;};
1292 source = {remotes = [String]; sha256 = String; type = String;};
1293 version = String;
1293 version = String;
1294 };
1294 };
1295 rmagick =
1295 rmagick =
1296 { groups = [String];
1296 { groups = [String];
1297− platforms = ∀ α. [α];
1297+ platforms = ∀ α. α;
1298 source = {remotes = [String]; sha256 = String; type = String;};
1298 source = {remotes = [String]; sha256 = String; type = String;};
1299 version = String;
1299 version = String;
1300 };
1300 };
1301 rouge =
1301 rouge =
1302 { groups = [String];
1302 { groups = [String];
1303− platforms = ∀ α. [α];
1303+ platforms = ∀ α. α;
1304 source = {remotes = [String]; sha256 = String; type = String;};
1304 source = {remotes = [String]; sha256 = String; type = String;};
1305 version = String;
1305 version = String;
1306 };
1306 };
1307 rpam2 =
1307 rpam2 =
1308 { groups = [String];
1308 { groups = [String];
1309− platforms = ∀ α. [α];
1309+ platforms = ∀ α. α;
1310 source = {remotes = [String]; sha256 = String; type = String;};
1310 source = {remotes = [String]; sha256 = String; type = String;};
1311 version = String;
1311 version = String;
1312 };
1312 };
1313 rspec =
1313 rspec =
1314 { dependencies = [String];
1314 { dependencies = [String];
1315 groups = [String];
1315 groups = [String];
1316− platforms = ∀ α. [α];
1316+ platforms = ∀ α. α;
1317 source = {remotes = [String]; sha256 = String; type = String;};
1317 source = {remotes = [String]; sha256 = String; type = String;};
1318 version = String;
1318 version = String;
1319 };
1319 };
1320 rspec-core =
1320 rspec-core =
1321 { dependencies = [String];
1321 { dependencies = [String];
1322 groups = [String];
1322 groups = [String];
1323− platforms = ∀ α. [α];
1323+ platforms = ∀ α. α;
1324 source = {remotes = [String]; sha256 = String; type = String;};
1324 source = {remotes = [String]; sha256 = String; type = String;};
1325 version = String;
1325 version = String;
1326 };
1326 };
1327 rspec-expectations =
1327 rspec-expectations =
1328 { dependencies = [String];
1328 { dependencies = [String];
1329 groups = [String];
1329 groups = [String];
1330− platforms = ∀ α. [α];
1330+ platforms = ∀ α. α;
1331 source = {remotes = [String]; sha256 = String; type = String;};
1331 source = {remotes = [String]; sha256 = String; type = String;};
1332 version = String;
1332 version = String;
1333 };
1333 };
1334 rspec-mocks =
1334 rspec-mocks =
1335 { dependencies = [String];
1335 { dependencies = [String];
1336 groups = [String];
1336 groups = [String];
1337− platforms = ∀ α. [α];
1337+ platforms = ∀ α. α;
1338 source = {remotes = [String]; sha256 = String; type = String;};
1338 source = {remotes = [String]; sha256 = String; type = String;};
1339 version = String;
1339 version = String;
1340 };
1340 };
1341 rspec-support =
1341 rspec-support =
1342 { groups = [String];
1342 { groups = [String];
1343− platforms = ∀ α. [α];
1343+ platforms = ∀ α. α;
1344 source = {remotes = [String]; sha256 = String; type = String;};
1344 source = {remotes = [String]; sha256 = String; type = String;};
1345 version = String;
1345 version = String;
1346 };
1346 };
1347 rubocop =
1347 rubocop =
1348 { dependencies = [String];
1348 { dependencies = [String];
1349 groups = [String];
1349 groups = [String];
1350− platforms = ∀ α. [α];
1350+ platforms = ∀ α. α;
1351 source = {remotes = [String]; sha256 = String; type = String;};
1351 source = {remotes = [String]; sha256 = String; type = String;};
1352 version = String;
1352 version = String;
1353 };
1353 };
1354 rubocop-performance =
1354 rubocop-performance =
1355 { dependencies = [String];
1355 { dependencies = [String];
1356 groups = [String];
1356 groups = [String];
1357− platforms = ∀ α. [α];
1357+ platforms = ∀ α. α;
1358 source = {remotes = [String]; sha256 = String; type = String;};
1358 source = {remotes = [String]; sha256 = String; type = String;};
1359 version = String;
1359 version = String;
1360 };
1360 };
1361 ruby-graphviz =
1361 ruby-graphviz =
1362 { groups = [String];
1362 { groups = [String];
1363− platforms = ∀ α. [α];
1363+ platforms = ∀ α. α;
1364 source = {remotes = [String]; sha256 = String; type = String;};
1364 source = {remotes = [String]; sha256 = String; type = String;};
1365 version = String;
1365 version = String;
1366 };
1366 };
1367 ruby-libvirt =
1367 ruby-libvirt =
1368 { groups = [String];
1368 { groups = [String];
1369− platforms = ∀ α. [α];
1369+ platforms = ∀ α. α;
1370 source = {remotes = [String]; sha256 = String; type = String;};
1370 source = {remotes = [String]; sha256 = String; type = String;};
1371 version = String;
1371 version = String;
1372 };
1372 };
1373 ruby-lxc =
1373 ruby-lxc =
1374 { groups = [String];
1374 { groups = [String];
1375− platforms = ∀ α. [α];
1375+ platforms = ∀ α. α;
1376 source = {remotes = [String]; sha256 = String; type = String;};
1376 source = {remotes = [String]; sha256 = String; type = String;};
1377 version = String;
1377 version = String;
1378 };
1378 };
1379 ruby-macho =
1379 ruby-macho =
1380 { groups = [String];
1380 { groups = [String];
1381− platforms = ∀ α. [α];
1381+ platforms = ∀ α. α;
1382 source = {remotes = [String]; sha256 = String; type = String;};
1382 source = {remotes = [String]; sha256 = String; type = String;};
1383 version = String;
1383 version = String;
1384 };
1384 };
1385 ruby-progressbar =
1385 ruby-progressbar =
1386 { groups = [String];
1386 { groups = [String];
1387− platforms = ∀ α. [α];
1387+ platforms = ∀ α. α;
1388 source = {remotes = [String]; sha256 = String; type = String;};
1388 source = {remotes = [String]; sha256 = String; type = String;};
1389 version = String;
1389 version = String;
1390 };
1390 };
1391 ruby-terminfo =
1391 ruby-terminfo =
1392 { groups = [String];
1392 { groups = [String];
1393− platforms = ∀ α. [α];
1393+ platforms = ∀ α. α;
1394 source = {remotes = [String]; sha256 = String; type = String;};
1394 source = {remotes = [String]; sha256 = String; type = String;};
1395 version = String;
1395 version = String;
1396 };
1396 };
1397 ruby-vips =
1397 ruby-vips =
1398 { dependencies = [String];
1398 { dependencies = [String];
1399 groups = [String];
1399 groups = [String];
1400− platforms = ∀ α. [α];
1400+ platforms = ∀ α. α;
1401 source = {remotes = [String]; sha256 = String; type = String;};
1401 source = {remotes = [String]; sha256 = String; type = String;};
1402 version = String;
1402 version = String;
1403 };
1403 };
1404 rubyzip =
1404 rubyzip =
1405 { groups = [String];
1405 { groups = [String];
1406− platforms = ∀ α. [α];
1406+ platforms = ∀ α. α;
1407 source = {remotes = [String]; sha256 = String; type = String;};
1407 source = {remotes = [String]; sha256 = String; type = String;};
1408 version = String;
1408 version = String;
1409 };
1409 };
1410 rugged =
1410 rugged =
1411 { groups = [String];
1411 { groups = [String];
1412− platforms = ∀ α. [α];
1412+ platforms = ∀ α. α;
1413 source = {remotes = [String]; sha256 = String; type = String;};
1413 source = {remotes = [String]; sha256 = String; type = String;};
1414 version = String;
1414 version = String;
1415 };
1415 };
1416 safe_yaml =
1416 safe_yaml =
1417 { groups = [String];
1417 { groups = [String];
1418− platforms = ∀ α. [α];
1418+ platforms = ∀ α. α;
1419 source = {remotes = [String]; sha256 = String; type = String;};
1419 source = {remotes = [String]; sha256 = String; type = String;};
1420 version = String;
1420 version = String;
1421 };
1421 };
1422 sassc =
1422 sassc =
1423 { dependencies = [String];
1423 { dependencies = [String];
1424 groups = [String];
1424 groups = [String];
1425− platforms = ∀ α. [α];
1425+ platforms = ∀ α. α;
1426 source = {remotes = [String]; sha256 = String; type = String;};
1426 source = {remotes = [String]; sha256 = String; type = String;};
1427 version = String;
1427 version = String;
1428 };
1428 };
1429 scrypt =
1429 scrypt =
1430 { dependencies = [String];
1430 { dependencies = [String];
1431 groups = [String];
1431 groups = [String];
1432− platforms = ∀ α. [α];
1432+ platforms = ∀ α. α;
1433 source = {remotes = [String]; sha256 = String; type = String;};
1433 source = {remotes = [String]; sha256 = String; type = String;};
1434 version = String;
1434 version = String;
1435 };
1435 };
1436 semian =
1436 semian =
1437 { groups = [String];
1437 { groups = [String];
1438− platforms = ∀ α. [α];
1438+ platforms = ∀ α. α;
1439 source = {remotes = [String]; sha256 = String; type = String;};
1439 source = {remotes = [String]; sha256 = String; type = String;};
1440 version = String;
1440 version = String;
1441 };
1441 };
1442 sequel =
1442 sequel =
1443 { groups = [String];
1443 { groups = [String];
1444− platforms = ∀ α. [α];
1444+ platforms = ∀ α. α;
1445 source = {remotes = [String]; sha256 = String; type = String;};
1445 source = {remotes = [String]; sha256 = String; type = String;};
1446 version = String;
1446 version = String;
1447 };
1447 };
1448 sequel_pg =
1448 sequel_pg =
1449 { dependencies = [String];
1449 { dependencies = [String];
1450 groups = [String];
1450 groups = [String];
1451− platforms = ∀ α. [α];
1451+ platforms = ∀ α. α;
1452 source = {remotes = [String]; sha256 = String; type = String;};
1452 source = {remotes = [String]; sha256 = String; type = String;};
1453 version = String;
1453 version = String;
1454 };
1454 };
1455 simplecov =
1455 simplecov =
1456 { dependencies = [String];
1456 { dependencies = [String];
1457 groups = [String];
1457 groups = [String];
1458− platforms = ∀ α. [α];
1458+ platforms = ∀ α. α;
1459 source = {remotes = [String]; sha256 = String; type = String;};
1459 source = {remotes = [String]; sha256 = String; type = String;};
1460 version = String;
1460 version = String;
1461 };
1461 };
1462 simplecov-html =
1462 simplecov-html =
1463 { groups = [String];
1463 { groups = [String];
1464− platforms = ∀ α. [α];
1464+ platforms = ∀ α. α;
1465 source = {remotes = [String]; sha256 = String; type = String;};
1465 source = {remotes = [String]; sha256 = String; type = String;};
1466 version = String;
1466 version = String;
1467 };
1467 };
1468 sinatra =
1468 sinatra =
1469 { dependencies = [String];
1469 { dependencies = [String];
1470 groups = [String];
1470 groups = [String];
1471− platforms = ∀ α. [α];
1471+ platforms = ∀ α. α;
1472 source = {remotes = [String]; sha256 = String; type = String;};
1472 source = {remotes = [String]; sha256 = String; type = String;};
1473 version = String;
1473 version = String;
1474 };
1474 };
1475 slather =
1475 slather =
1476 { dependencies = [String];
1476 { dependencies = [String];
1477 groups = [String];
1477 groups = [String];
1478− platforms = ∀ α. [α];
1478+ platforms = ∀ α. α;
1479 source = {remotes = [String]; sha256 = String; type = String;};
1479 source = {remotes = [String]; sha256 = String; type = String;};
1480 version = String;
1480 version = String;
1481 };
1481 };
1482 slop =
1482 slop =
1483 { groups = [String];
1483 { groups = [String];
1484− platforms = ∀ α. [α];
1484+ platforms = ∀ α. α;
1485 source = {remotes = [String]; sha256 = String; type = String;};
1485 source = {remotes = [String]; sha256 = String; type = String;};
1486 version = String;
1486 version = String;
1487 };
1487 };
1488 snappy =
1488 snappy =
1489 { groups = [String];
1489 { groups = [String];
1490− platforms = ∀ α. [α];
1490+ platforms = ∀ α. α;
1491 source = {remotes = [String]; sha256 = String; type = String;};
1491 source = {remotes = [String]; sha256 = String; type = String;};
1492 version = String;
1492 version = String;
1493 };
1493 };
1494 sprockets =
1494 sprockets =
1495 { dependencies = [String];
1495 { dependencies = [String];
1496 groups = [String];
1496 groups = [String];
1497− platforms = ∀ α. [α];
1497+ platforms = ∀ α. α;
1498 source = {remotes = [String]; sha256 = String; type = String;};
1498 source = {remotes = [String]; sha256 = String; type = String;};
1499 version = String;
1499 version = String;
1500 };
1500 };
1501 sprockets-rails =
1501 sprockets-rails =
1502 { dependencies = [String];
1502 { dependencies = [String];
1503 groups = [String];
1503 groups = [String];
1504− platforms = ∀ α. [α];
1504+ platforms = ∀ α. α;
1505 source = {remotes = [String]; sha256 = String; type = String;};
1505 source = {remotes = [String]; sha256 = String; type = String;};
1506 version = String;
1506 version = String;
1507 };
1507 };
1508 sqlite3 =
1508 sqlite3 =
1509 { groups = [String];
1509 { groups = [String];
1510− platforms = ∀ α. [α];
1510+ platforms = ∀ α. α;
1511 source = {remotes = [String]; sha256 = String; type = String;};
1511 source = {remotes = [String]; sha256 = String; type = String;};
1512 version = String;
1512 version = String;
1513 };
1513 };
1514 taglib-ruby =
1514 taglib-ruby =
1515 { groups = [String];
1515 { groups = [String];
1516− platforms = ∀ α. [α];
1516+ platforms = ∀ α. α;
1517 source = {remotes = [String]; sha256 = String; type = String;};
1517 source = {remotes = [String]; sha256 = String; type = String;};
1518 version = String;
1518 version = String;
1519 };
1519 };
1520 terminal-table =
1520 terminal-table =
1521 { dependencies = [String];
1521 { dependencies = [String];
1522 groups = [String];
1522 groups = [String];
1523− platforms = ∀ α. [α];
1523+ platforms = ∀ α. α;
1524 source = {remotes = [String]; sha256 = String; type = String;};
1524 source = {remotes = [String]; sha256 = String; type = String;};
1525 version = String;
1525 version = String;
1526 };
1526 };
1527 thor =
1527 thor =
1528 { groups = [String];
1528 { groups = [String];
1529− platforms = ∀ α. [α];
1529+ platforms = ∀ α. α;
1530 source = {remotes = [String]; sha256 = String; type = String;};
1530 source = {remotes = [String]; sha256 = String; type = String;};
1531 version = String;
1531 version = String;
1532 };
1532 };
1533 thread_safe =
1533 thread_safe =
1534 { groups = [String];
1534 { groups = [String];
1535− platforms = ∀ α. [α];
1535+ platforms = ∀ α. α;
1536 source = {remotes = [String]; sha256 = String; type = String;};
1536 source = {remotes = [String]; sha256 = String; type = String;};
1537 version = String;
1537 version = String;
1538 };
1538 };
1539 thrift =
1539 thrift =
1540 { groups = [String];
1540 { groups = [String];
1541− platforms = ∀ α. [α];
1541+ platforms = ∀ α. α;
1542 source = {remotes = [String]; sha256 = String; type = String;};
1542 source = {remotes = [String]; sha256 = String; type = String;};
1543 version = String;
1543 version = String;
1544 };
1544 };
1545 tilt =
1545 tilt =
1546 { groups = [String];
1546 { groups = [String];
1547− platforms = ∀ α. [α];
1547+ platforms = ∀ α. α;
1548 source = {remotes = [String]; sha256 = String; type = String;};
1548 source = {remotes = [String]; sha256 = String; type = String;};
1549 version = String;
1549 version = String;
1550 };
1550 };
1551 tiny_tds =
1551 tiny_tds =
1552 { groups = [String];
1552 { groups = [String];
1553− platforms = ∀ α. [α];
1553+ platforms = ∀ α. α;
1554 source = {remotes = [String]; sha256 = String; type = String;};
1554 source = {remotes = [String]; sha256 = String; type = String;};
1555 version = String;
1555 version = String;
1556 };
1556 };
1557 treetop =
1557 treetop =
1558 { dependencies = [String];
1558 { dependencies = [String];
1559 groups = [String];
1559 groups = [String];
1560− platforms = ∀ α. [α];
1560+ platforms = ∀ α. α;
1561 source = {remotes = [String]; sha256 = String; type = String;};
1561 source = {remotes = [String]; sha256 = String; type = String;};
1562 version = String;
1562 version = String;
1563 };
1563 };
1564 typhoeus =
1564 typhoeus =
1565 { dependencies = [String];
1565 { dependencies = [String];
1566 groups = [String];
1566 groups = [String];
1567− platforms = ∀ α. [α];
1567+ platforms = ∀ α. α;
1568 source = {remotes = [String]; sha256 = String; type = String;};
1568 source = {remotes = [String]; sha256 = String; type = String;};
1569 version = String;
1569 version = String;
1570 };
1570 };
1571 tzinfo =
1571 tzinfo =
1572 { dependencies = [String];
1572 { dependencies = [String];
1573 groups = [String];
1573 groups = [String];
1574− platforms = ∀ α. [α];
1574+ platforms = ∀ α. α;
1575 source = {remotes = [String]; sha256 = String; type = String;};
1575 source = {remotes = [String]; sha256 = String; type = String;};
1576 version = String;
1576 version = String;
1577 };
1577 };
1578 unf =
1578 unf =
1579 { dependencies = [String];
1579 { dependencies = [String];
1580 groups = [String];
1580 groups = [String];
1581− platforms = ∀ α. [α];
1581+ platforms = ∀ α. α;
1582 source = {remotes = [String]; sha256 = String; type = String;};
1582 source = {remotes = [String]; sha256 = String; type = String;};
1583 version = String;
1583 version = String;
1584 };
1584 };
1585 unf_ext =
1585 unf_ext =
1586 { groups = [String];
1586 { groups = [String];
1587− platforms = ∀ α. [α];
1587+ platforms = ∀ α. α;
1588 source = {remotes = [String]; sha256 = String; type = String;};
1588 source = {remotes = [String]; sha256 = String; type = String;};
1589 version = String;
1589 version = String;
1590 };
1590 };
1591 unicode-display_width =
1591 unicode-display_width =
1592 { groups = [String];
1592 { groups = [String];
1593− platforms = ∀ α. [α];
1593+ platforms = ∀ α. α;
1594 source = {remotes = [String]; sha256 = String; type = String;};
1594 source = {remotes = [String]; sha256 = String; type = String;};
1595 version = String;
1595 version = String;
1596 };
1596 };
1597 uuid4r =
1597 uuid4r =
1598 { groups = [String];
1598 { groups = [String];
1599− platforms = ∀ α. [α];
1599+ platforms = ∀ α. α;
1600 source = {remotes = [String]; sha256 = String; type = String;};
1600 source = {remotes = [String]; sha256 = String; type = String;};
1601 version = String;
1601 version = String;
1602 };
1602 };
1603 whois =
1603 whois =
1604 { groups = [String];
1604 { groups = [String];
1605− platforms = ∀ α. [α];
1605+ platforms = ∀ α. α;
1606 source = {remotes = [String]; sha256 = String; type = String;};
1606 source = {remotes = [String]; sha256 = String; type = String;};
1607 version = String;
1607 version = String;
1608 };
1608 };
1609 xcodeproj =
1609 xcodeproj =
1610 { dependencies = [String];
1610 { dependencies = [String];
1611 groups = [String];
1611 groups = [String];
1612− platforms = ∀ α. [α];
1612+ platforms = ∀ α. α;
1613 source = {remotes = [String]; sha256 = String; type = String;};
1613 source = {remotes = [String]; sha256 = String; type = String;};
1614 version = String;
1614 version = String;
1615 };
1615 };
1616 xctasks =
1616 xctasks =
1617 { dependencies = [String];
1617 { dependencies = [String];
1618 groups = [String];
1618 groups = [String];
1619− platforms = ∀ α. [α];
1619+ platforms = ∀ α. α;
1620 source = {remotes = [String]; sha256 = String; type = String;};
1620 source = {remotes = [String]; sha256 = String; type = String;};
1621 version = String;
1621 version = String;
1622 };
1622 };
1623 yard =
1623 yard =
1624 { groups = [String];
1624 { groups = [String];
1625− platforms = ∀ α. [α];
1625+ platforms = ∀ α. α;
1626 source = {remotes = [String]; sha256 = String; type = String;};
1626 source = {remotes = [String]; sha256 = String; type = String;};
1627 version = String;
1627 version = String;
1628 };
1628 };
1629 zookeeper =
1629 zookeeper =
1630 { groups = [String];
1630 { groups = [String];
1631− platforms = ∀ α. [α];
1631+ platforms = ∀ α. α;
1632 source = {remotes = [String]; sha256 = String; type = String;};
1632 source = {remotes = [String]; sha256 = String; type = String;};
1633 version = String;
1633 version = String;
1634 };
1634 };
test/golden/importless/ruby-version.txt+1−1
@@ -2,7 +2,7 @@
2( α.hasPrefix = String -> β -> Bool,
2( α.hasPrefix = String -> β -> Bool,
3 α.removePrefix = String -> γ -> Null,
3 α.removePrefix = String -> γ -> Null,
4 α.replaceStrings = [String] -> [String] -> Null -> δ,
4 α.replaceStrings = [String] -> [String] -> Null -> δ,
5− α.stringLength = δ -> Number,
5+ α.stringLength = δ -> Integer,
6 α.throw = String -> String,
6 α.throw = String -> String,
7 α.versionAtLeast = String -> String -> Bool
7 α.versionAtLeast = String -> String -> Bool
8) =>
8) =>
test/golden/importless/rustfmt.txt+1−1
@@ -4,7 +4,7 @@
4 δ.buildRustPackage =
4 δ.buildRustPackage =
5 { CFG_RELEASE = String;
5 { CFG_RELEASE = String;
6 CFG_RELEASE_CHANNEL = String;
6 CFG_RELEASE_CHANNEL = String;
7− RUSTC_BOOTSTRAP = Number;
7+ RUSTC_BOOTSTRAP = Integer;
8 buildAndTestSubdir = String;
8 buildAndTestSubdir = String;
9 buildInputs = ε;
9 buildInputs = ε;
10 cargoVendorDir = String;
10 cargoVendorDir = String;
test/golden/importless/rxe.txt+1−1
@@ -26,7 +26,7 @@
26 } ->
26 } ->
27 ν,
27 ν,
28 δ.mkOption =
28 δ.mkOption =
29− {default = ∀ α. [α]; description = String; example = [String]; type = ξ;} ->
29+ {default = ∀ α. α; description = String; example = [String]; type = ξ;} ->
30 ο,
30 ο,
31 δ.types = π,
31 δ.types = π,
32 ζ.rxe = ρ,
32 ζ.rxe = ρ,
test/golden/importless/s-sysdeps.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/s-xml.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/safeeyes.txt+3−3
@@ -15,9 +15,9 @@
15 serviceConfig =
15 serviceConfig =
16 { ExecStart = String;
16 { ExecStart = String;
17 Restart = String;
17 Restart = String;
18− RestartSec = Number;
18+ RestartSec = Integer;
19− StartLimitBurst = Number;
19+ StartLimitBurst = Integer;
20− StartLimitInterval = Number;
20+ StartLimitInterval = Integer;
21 };
21 };
22 wantedBy = [String];
22 wantedBy = [String];
23 };
23 };
test/golden/importless/sage-env.txt+1−1
@@ -1,5 +1,5 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1.
1∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1.
2−( α // {lib = β;} ~ γ,
2+( (α) // ({lib = β;}) ~ (γ),
3 δ.cc = String,
3 δ.cc = String,
4 ε.makeBinPath = [String] -> ζ,
4 ε.makeBinPath = [String] -> ζ,
5 η.bintools = String,
5 η.bintools = String,
test/golden/importless/sagenb.txt+1−1
@@ -8,7 +8,7 @@
8{ buildPythonPackage =
8{ buildPythonPackage =
9 { doCheck = Bool;
9 { doCheck = Bool;
10 meta = {description = String; license = ζ; maintainers = [ε];};
10 meta = {description = String; license = ζ; maintainers = [ε];};
11− patches = [String];
11+ patches = [Path];
12 pname = String;
12 pname = String;
13 postInstall = String;
13 postInstall = String;
14 propagatedBuildInputs = [η];
14 propagatedBuildInputs = [η];
test/golden/importless/salza2.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/samtools_0_1_19.txt+1−1
@@ -10,7 +10,7 @@
10 maintainers = [ε];
10 maintainers = [ε];
11 platforms = ζ;
11 platforms = ζ;
12 };
12 };
13− patches = [String];
13+ patches = [Path];
14 pname = String;
14 pname = String;
15 src = η;
15 src = η;
16 version = String;
16 version = String;
test/golden/importless/schema.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ.
1∀ β γ.
2−(β // {meta = {hydraPlatforms = ∀ α. [α];};} ~ γ) => { fetchFromGitHub =
2+((β) // ({meta = {hydraPlatforms = ∀ α. α;};}) ~ (γ)) => { fetchFromGitHub =
3 { name = String;
3 { name = String;
4 owner = String;
4 owner = String;
5 repo = String;
5 repo = String;
test/golden/importless/scripts.txt+1−1
@@ -5,7 +5,7 @@
5 { description = String;
5 { description = String;
6 homepage = String;
6 homepage = String;
7 license = δ;
7 license = δ;
8− maintainers = ∀ α. [α];
8+ maintainers = ∀ α. α;
9 platforms = ε;
9 platforms = ε;
10 };
10 };
11 nativeBuildInputs = [ζ];
11 nativeBuildInputs = [ζ];
test/golden/importless/sdk-pkgs.txt+13−10
@@ -1,14 +1,17 @@
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π.
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π.
2−( β //
2+( ( β
3+ ) //
3− { sdk =
4+ ( { sdk =
4− { name = String;
5+ { name = String;
5− outPath = String;
6+ outPath = String;
6− platform = γ;
7+ platform = γ;
7− type = String;
8+ type = String;
8− version = δ;
9+ version = δ;
9− };
10+ };
10− } ~
11+ }
12+ ) ~
11− ε,
13+ ( ε
14+ ),
12 ζ.sdkVer = δ,
15 ζ.sdkVer = δ,
13 ζ.xcodePlatform = γ,
16 ζ.xcodePlatform = γ,
14 η.lib = θ,
17 η.lib = θ,
test/golden/importless/shadow.txt+11−8
@@ -1,12 +1,15 @@
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1 ζ1 η1.
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1 ζ1 η1.
2−( { newgidmap = {source = String;};
2+( ( { newgidmap = {source = String;};
3− newgrp = {source = String;};
3+ newgrp = {source = String;};
4− newuidmap = {source = String;};
4+ newuidmap = {source = String;};
5− sg = {source = String;};
5+ sg = {source = String;};
6− su = {source = String;};
6+ su = {source = String;};
7+ }
7− } //
8+ ) //
8− β ~
9+ ( β
10+ ) ~
9− γ,
11+ ( γ
12+ ),
10 δ.config = ε,
13 δ.config = ε,
11 δ.lib = ζ,
14 δ.lib = ζ,
12 δ.pkgs = η,
15 δ.pkgs = η,
test/golden/importless/share.txt+1−1
@@ -8,7 +8,7 @@
8 { description = String;
8 { description = String;
9 homepage = String;
9 homepage = String;
10 license = ε;
10 license = ε;
11− maintainers = ∀ α. [α];
11+ maintainers = ∀ α. α;
12 };
12 };
13 pname = String;
13 pname = String;
14 sources10Zip = ζ;
14 sources10Zip = ζ;
test/golden/importless/shared.txt+1−1
@@ -27,7 +27,7 @@
27 minorVersion = ξ;
27 minorVersion = ξ;
28 site = String;
28 site = String;
29 };
29 };
30− patches = [String];
30+ patches = [Path];
31 pname = String;
31 pname = String;
32 postInstall = String;
32 postInstall = String;
33 postPatch = String;
33 postPatch = String;
test/golden/importless/shiboken.txtdeleted−43
@@ -1,43 +0,0 @@
1−∀ β γ δ ε ζ η θ ι κ λ.
2−( β.licenses = γ,
3− β.optional = Bool -> String -> [String],
4− β.platforms = δ,
5− γ.gpl2 = ε,
6− δ.all = ζ
7−) =>
8−{ buildPythonPackage =
9− { cmakeFlags = η;
10− enableParallelBuilding = Bool;
11− format = String;
12− meta =
13− { broken = Bool;
14− description = String;
15− homepage = String;
16− license = ε;
17− maintainers = ∀ α. [α];
18− platforms = ζ;
19− };
20− nativeBuildInputs = [θ];
21− patches = [String];
22− pname = String;
23− preConfigure = String;
24− src = ι;
25− version = String;
26− } ->
27− κ;
28− cmake = θ;
29− fetchurl = {sha256 = String; url = String;} -> ι;
30− isPy35 = Bool;
31− isPy36 = Bool;
32− isPy37 = Bool;
33− isPy3k = λ;
34− lib = β;
35− libxml2 = θ;
36− libxslt = θ;
37− pysideApiextractor = θ;
38− pysideGeneratorrunner = θ;
39− python = θ;
40− qt4 = θ;
41− sphinx = θ;
42−} ->
43−κ
test/golden/importless/singularity.txt+1−2
@@ -15,7 +15,6 @@
15 μ,
15 μ,
16 θ.overrideAttrs = (ε -> {installPhase = String;}) -> λ,
16 θ.overrideAttrs = (ε -> {installPhase = String;}) -> λ,
17 η.singularity = ν,
17 η.singularity = ν,
18− ν.enable = κ,
18+ ν.enable = κ
19− (String | Number) ~ ζ
20) =>
19) =>
21α -> {config = μ; options = {programs = {singularity = {enable = ι;};};};}
20α -> {config = μ; options = {programs = {singularity = {enable = ι;};};};}
test/golden/importless/skeinjar.txt+1−1
@@ -8,7 +8,7 @@
8 } ->
8 } ->
9 δ
9 δ
10) =>
10) =>
11−{ callPackage = String -> {src = ε; version = ζ;} -> η;
11+{ callPackage = Path -> {src = ε; version = ζ;} -> η;
12 maven = γ;
12 maven = γ;
13 src = ε;
13 src = ε;
14 stdenv = β;
14 stdenv = β;
test/golden/importless/skeinrepo.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ ι κ λ μ.
1∀ β γ δ ε ζ η θ ι κ λ μ.
2−( β // γ ~ δ,
2+( (β) // (γ) ~ (δ),
3 ε.optional = ζ -> η -> [θ],
3 ε.optional = ζ -> η -> [θ],
4 ε.optionalAttrs = ι -> {dontAutoPatchelf = Bool;} -> γ,
4 ε.optionalAttrs = ι -> {dontAutoPatchelf = Bool;} -> γ,
5 κ.isLinux = Bool,
5 κ.isLinux = Bool,
test/golden/importless/socket.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ ι.
1∀ β γ δ ε ζ η θ ι.
2−( β // {description = String;} ~ γ,
2+( (β) // ({description = String;}) ~ (γ),
3 δ.meta = β,
3 δ.meta = β,
4 δ.src = ε,
4 δ.src = ε,
5 δ.useDune2 = ζ,
5 δ.useDune2 = ζ,
test/golden/importless/sockets.txt+1−1
@@ -3,7 +3,7 @@
3 β.mkDerivation =
3 β.mkDerivation =
4 { buildInputs = [δ];
4 { buildInputs = [δ];
5 luaver = ε;
5 luaver = ε;
6− meta = {homepage = String; hydraPlatforms = ζ; maintainers = ∀ α. [α];};
6+ meta = {homepage = String; hydraPlatforms = ζ; maintainers = ∀ α. α;};
7 patchPhase = String;
7 patchPhase = String;
8 pname = String;
8 pname = String;
9 src = η;
9 src = η;
test/golden/importless/softmaker_office.txt+13−10
@@ -1,15 +1,18 @@
1∀ α β γ δ.
1∀ α β γ δ.
2−( α //
2+( ( α
3+ ) //
3− { archive = String;
4+ ( { archive = String;
4− edition = String;
5+ edition = String;
5− pname = String;
6+ pname = String;
6− src = β;
7+ src = β;
7− suiteName = String;
8+ suiteName = String;
8− version = String;
9+ version = String;
9− } ~
10+ }
11+ ) ~
10− γ,
12+ ( γ
13+ ),
11 α.?officeVersion = {edition = String; sha256 = String; version = String;},
14 α.?officeVersion = {edition = String; sha256 = String; version = String;},
12− α.callPackage = String -> γ -> δ,
15+ α.callPackage = Path -> γ -> δ,
13 α.fetchurl = {sha256 = String; url = String;} -> β
16 α.fetchurl = {sha256 = String; url = String;} -> β
14) =>
17) =>
15α -> δ
18α -> δ
test/golden/importless/solid.txtdeleted−20
@@ -1,20 +0,0 @@
1−∀ α β γ δ ε ζ η θ.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { bison = ζ;
3− extra-cmake-modules = ζ;
4− flex = ζ;
5− lib = α;
6− media-player-info = ζ;
7− mkDerivation =
8− { buildInputs = [η];
9− meta = {broken = Bool; maintainers = [ε];};
10− name = String;
11− nativeBuildInputs = [ζ];
12− propagatedBuildInputs = [γ];
13− propagatedUserEnvPkgs = [ζ];
14− } ->
15− θ;
16− qtbase = γ;
17− qtdeclarative = η;
18− qttools = η;
19−} ->
20−θ
test/golden/importless/sonnet.txtdeleted−16
@@ -1,16 +0,0 @@
1−∀ α β γ δ ε ζ η θ.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { extra-cmake-modules = ζ;
3− hunspell = η;
4− lib = α;
5− mkDerivation =
6− { buildInputs = [η];
7− meta = {broken = Bool; maintainers = [ε];};
8− name = String;
9− nativeBuildInputs = [ζ];
10− propagatedBuildInputs = [γ];
11− } ->
12− θ;
13− qtbase = γ;
14− qttools = η;
15−} ->
16−θ
test/golden/importless/spotify.txt+2−2
@@ -5,9 +5,9 @@
5 meta =
5 meta =
6 { description = String;
6 { description = String;
7 homepage = String;
7 homepage = String;
8− hydraPlatforms = ∀ α. [α];
8+ hydraPlatforms = ∀ α. α;
9 license = ε;
9 license = ε;
10− maintainers = ∀ α. [α];
10+ maintainers = ∀ α. α;
11 };
11 };
12 pname = String;
12 pname = String;
13 propagatedBuildInputs = [ζ];
13 propagatedBuildInputs = [ζ];
test/golden/importless/spotifyd.txt+1−1
@@ -18,7 +18,7 @@
18 DynamicUser = Bool;
18 DynamicUser = Bool;
19 ExecStart = String;
19 ExecStart = String;
20 Restart = String;
20 Restart = String;
21− RestartSec = Number;
21+ RestartSec = Integer;
22 SupplementaryGroups = [String];
22 SupplementaryGroups = [String];
23 };
23 };
24 wantedBy = [String];
24 wantedBy = [String];
test/golden/importless/springlobby.txt+1−1
@@ -13,7 +13,7 @@
13 repositories = {git = String;};
13 repositories = {git = String;};
14 };
14 };
15 nativeBuildInputs = [η];
15 nativeBuildInputs = [η];
16− patches = [String];
16+ patches = [Path];
17 pname = String;
17 pname = String;
18 postInstall = String;
18 postInstall = String;
19 src = θ;
19 src = θ;
test/golden/importless/squeezelite.txt+14−12
@@ -1,11 +1,12 @@
1−∀ α β γ δ ε ζ η θ ι κ λ μ.
1+∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ.
2( α.config = β,
2( α.config = β,
3 α.lib = γ,
3 α.lib = γ,
4 α.pkgs = δ,
4 α.pkgs = δ,
5 β.services = ε,
5 β.services = ε,
6+ γ.builtins = ζ,
6− γ.mkEnableOption = String -> ζ,
7+ γ.mkEnableOption = String -> η,
7 γ.mkIf =
8 γ.mkIf =
8− η ->
9+ θ ->
9 { systemd =
10 { systemd =
10 { services =
11 { services =
11 { squeezelite =
12 { squeezelite =
@@ -14,7 +15,7 @@
14 serviceConfig =
15 serviceConfig =
15 { DynamicUser = Bool;
16 { DynamicUser = Bool;
16 ExecStart = String;
17 ExecStart = String;
17− StateDirectory = String;
18+ StateDirectory = ι;
18 SupplementaryGroups = String;
19 SupplementaryGroups = String;
19 };
20 };
20 wantedBy = [String];
21 wantedBy = [String];
@@ -22,14 +23,15 @@
22 };
23 };
23 };
24 };
24 } ->
25 } ->
25− θ,
26+ κ,
26− γ.mkOption = {default = String; description = String; type = ι;} -> κ,
27+ γ.mkOption = {default = String; description = String; type = λ;} -> μ,
27− γ.types = λ,
28+ γ.types = ν,
28− ε.squeezelite = μ,
29+ ε.squeezelite = ξ,
29− μ.enable = η,
30+ ξ.enable = θ,
31+ ζ.baseNameOf = String -> ι,
30− λ.str = ι
32+ ν.str = λ
31) =>
33) =>
32α ->
34α ->
33−{ config = θ;
35+{ config = κ;
34− options = {services = {squeezelite = {enable = ζ; extraArguments = κ;};};};
36+ options = {services = {squeezelite = {enable = η; extraArguments = μ;};};};
35}
37}
test/golden/importless/stable.txt+2−3
@@ -1,4 +1,3 @@
1∀ α β.
1∀ α β.
2−( α.callPackage = String -> α -> {sha256 = String; version = String;} -> β
2+(α.callPackage = Path -> α -> {sha256 = String; version = String;} -> β) => α ->
3−) =>
4−α -> β
3+β
test/golden/importless/staging.txt+3−3
@@ -1,6 +1,6 @@
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π.
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π.
2−( β // {meta = ∀ α. α;} ~ γ,
2+( (β) // ({meta = ∀ α. α;}) ~ (γ),
3− δ // {description = String;} ~ ε,
3+ (δ) // ({description = String;}) ~ (ε),
4 ζ.?postPatch = String,
4 ζ.?postPatch = String,
5 η.lib = θ,
5 η.lib = θ,
6 ι.meta = δ,
6 ι.meta = δ,
@@ -14,4 +14,4 @@
14 π.description = String,
14 π.description = String,
15 ν.version = ξ
15 ν.version = ξ
16) =>
16) =>
17−{callPackage = String -> {} -> λ; stdenv = η; wineUnstable = ι;} -> γ
17+{callPackage = Path -> {} -> λ; stdenv = η; wineUnstable = ι;} -> γ
test/golden/importless/status.txt+1−1
@@ -7,7 +7,7 @@
7 { description = String;
7 { description = String;
8 homepage = String;
8 homepage = String;
9 license = ε;
9 license = ε;
10− maintainers = ∀ α. [α];
10+ maintainers = ∀ α. α;
11 platforms = ζ;
11 platforms = ζ;
12 };
12 };
13 name = String;
13 name = String;
test/golden/importless/stellar-core.txt+1−1
@@ -12,7 +12,7 @@
12 };
12 };
13 name = String;
13 name = String;
14 nativeBuildInputs = [ζ];
14 nativeBuildInputs = [ζ];
15− patches = [String];
15+ patches = [Path];
16 preConfigure = String;
16 preConfigure = String;
17 propagatedBuildInputs = [η];
17 propagatedBuildInputs = [η];
18 src = θ;
18 src = θ;
test/golden/importless/string-case.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/surfboard.txt+1−1
@@ -9,7 +9,7 @@
9) =>
9) =>
10{config = α; lib = γ; options = κ; pkgs = λ;} ->
10{config = α; lib = γ; options = κ; pkgs = λ;} ->
11{ extraOpts = {modemAddress = ε;};
11{ extraOpts = {modemAddress = ε;};
12− port = Number;
12+ port = Integer;
13 serviceOpts =
13 serviceOpts =
14 { description = String;
14 { description = String;
15 serviceConfig = {ExecStart = String;};
15 serviceConfig = {ExecStart = String;};
test/golden/importless/swank.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/syntax-highlighting.txtdeleted−16
@@ -1,16 +0,0 @@
1−∀ α β γ δ ε ζ η θ.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { extra-cmake-modules = ζ;
3− lib = α;
4− mkDerivation =
5− { buildInputs = [η];
6− meta = {broken = Bool; maintainers = [ε];};
7− name = String;
8− nativeBuildInputs = [ζ];
9− propagatedBuildInputs = [γ];
10− } ->
11− θ;
12− perl = ζ;
13− qtbase = γ;
14− qttools = η;
15−} ->
16−θ
test/golden/importless/tailscale.txt+7−5
@@ -16,16 +16,18 @@
16 description = String;
16 description = String;
17 serviceConfig =
17 serviceConfig =
18 { CacheDirectory = String;
18 { CacheDirectory = String;
19− CacheDirectoryMode = Number;
19+ CacheDirectoryMode = Integer;
20 ExecStart = String;
20 ExecStart = String;
21 Restart = String;
21 Restart = String;
22 RuntimeDirectory = String;
22 RuntimeDirectory = String;
23− RuntimeDirectoryMode = Number;
23+ RuntimeDirectoryMode = Integer;
24 StateDirectory = String;
24 StateDirectory = String;
25− StateDirectoryMode = Number;
25+ StateDirectoryMode = Integer;
26 };
26 };
27 unitConfig =
27 unitConfig =
28+ { StartLimitBurst = Integer;
28− {StartLimitBurst = Number; StartLimitIntervalSec = Number;};
29+ StartLimitIntervalSec = Integer;
30+ };
29 wantedBy = [String];
31 wantedBy = [String];
30 wants = [String];
32 wants = [String];
31 };
33 };
@@ -33,7 +35,7 @@
33 };
35 };
34 } ->
36 } ->
35 κ,
37 κ,
36− γ.mkOption = {default = Number; description = String; type = λ;} -> μ,
38+ γ.mkOption = {default = Integer; description = String; type = λ;} -> μ,
37 γ.types = ν,
39 γ.types = ν,
38 ε.tailscale = ξ,
40 ε.tailscale = ξ,
39 ξ.enable = ι,
41 ξ.enable = ι,
test/golden/importless/terminal-server.txt+2−2
@@ -20,7 +20,7 @@
20 { xserver =
20 { xserver =
21 { displayManager = {gdm = {enable = Bool;};};
21 { displayManager = {gdm = {enable = Bool;};};
22 enable = Bool;
22 enable = Bool;
23− videoDrivers = ∀ α. [α];
23+ videoDrivers = ∀ α. α;
24 };
24 };
25 };
25 };
26 systemd =
26 systemd =
@@ -42,7 +42,7 @@
42 { terminal-server =
42 { terminal-server =
43 { before = [String];
43 { before = [String];
44 description = String;
44 description = String;
45− socketConfig = {Accept = Bool; ListenStream = Number;};
45+ socketConfig = {Accept = Bool; ListenStream = Integer;};
46 wantedBy = [String];
46 wantedBy = [String];
47 };
47 };
48 };
48 };
test/golden/importless/tes3mp.txt+1−1
@@ -17,7 +17,7 @@
17 };
17 };
18 name = String;
18 name = String;
19 nativeBuildInputs = [λ];
19 nativeBuildInputs = [λ];
20− patches = [String];
20+ patches = [Path];
21 postInstall = String;
21 postInstall = String;
22 preConfigure = String;
22 preConfigure = String;
23 src = δ;
23 src = δ;
test/golden/importless/test-case.txt+1−1
@@ -1 +1 @@
1−{a = Number; b = String; c = String; d = String;}
1+{a = Integer; b = String; c = String; d = String;}
test/golden/importless/test.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η.
1∀ β γ δ ε ζ η.
2−( β // {description = String;} ~ γ,
2+( (β) // ({description = String;}) ~ (γ),
3 δ.meta = β,
3 δ.meta = β,
4 δ.src = ε,
4 δ.src = ε,
5 δ.version = ζ
5 δ.version = ζ
test/golden/importless/threadweaver.txtdeleted−14
@@ -1,14 +0,0 @@
1−∀ α β γ δ ε ζ η.
2−(α.maintainers = β, γ.version = δ, β.ttuegel = ε) => { extra-cmake-modules = ζ;
3− lib = α;
4− mkDerivation =
5− { meta = {broken = Bool; maintainers = [ε];};
6− name = String;
7− nativeBuildInputs = [ζ];
8− outputs = [String];
9− propagatedBuildInputs = [γ];
10− } ->
11− η;
12− qtbase = γ;
13−} ->
14−η
test/golden/importless/tiddlywiki.txt+1−1
@@ -31,7 +31,7 @@
31 γ.mkOption =
31 γ.mkOption =
32 { default = {};
32 { default = {};
33 description = String;
33 description = String;
34− example = {credentials = String; port = Number; readers = String;};
34+ example = {credentials = String; port = Integer; readers = String;};
35 type = ο;
35 type = ο;
36 } ->
36 } ->
37 π,
37 π,
test/golden/importless/todo.txt+1−1
@@ -17,7 +17,7 @@
17 maintainers = [ε];
17 maintainers = [ε];
18 };
18 };
19 nativeBuildInputs = δ;
19 nativeBuildInputs = δ;
20− patches = [String];
20+ patches = [Path];
21 pname = String;
21 pname = String;
22 preBuild = String;
22 preBuild = String;
23 propagatedBuildInputs = [γ];
23 propagatedBuildInputs = [γ];
test/golden/importless/tool.txt+1−1
@@ -6,7 +6,7 @@
6 { description = String;
6 { description = String;
7 homepage = String;
7 homepage = String;
8 license = ε;
8 license = ε;
9− maintainers = ∀ α. [α];
9+ maintainers = ∀ α. α;
10 platforms = ζ;
10 platforms = ζ;
11 };
11 };
12 nativeBuildInputs = [η];
12 nativeBuildInputs = [η];
test/golden/importless/trivial-backtrace.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/trivial-cltl2.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/trivial-features.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/trivial-gray-streams.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/trivial-indent.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/trivial-macroexpand-all.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/trivial-mimes.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/trivial-types.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/trivial-utf-8.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/tvheadend.txt+2−2
@@ -18,7 +18,7 @@
18 Group = String;
18 Group = String;
19 PIDFile = String;
19 PIDFile = String;
20 Restart = String;
20 Restart = String;
21− RestartSec = Number;
21+ RestartSec = Integer;
22 Type = String;
22 Type = String;
23 User = String;
23 User = String;
24 };
24 };
@@ -38,7 +38,7 @@
38 };
38 };
39 } ->
39 } ->
40 κ,
40 κ,
41− γ.mkOption = {default = Number; description = String; type = λ;} -> μ,
41+ γ.mkOption = {default = Integer; description = String; type = λ;} -> μ,
42 γ.types = ν,
42 γ.types = ν,
43 ζ.tvheadend = ξ,
43 ζ.tvheadend = ξ,
44 ξ.enable = θ,
44 ξ.enable = θ,
test/golden/importless/udev.txt+1−1
@@ -16,6 +16,6 @@
16 θ.linux = δ
16 θ.linux = δ
17) =>
17) =>
18{ stdenv = α;
18{ stdenv = α;
19− substituteAll = {isExecutable = Bool; shell = ζ; src = String;} -> ι;
19+ substituteAll = {isExecutable = Bool; shell = ζ; src = Path;} -> ι;
20} ->
20} ->
21ε
21ε
test/golden/importless/uffi.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/ui.txt+1−1
@@ -12,7 +12,7 @@
12 };
12 };
13 nativeBuildInputs = [η];
13 nativeBuildInputs = [η];
14 outputs = [String];
14 outputs = [String];
15− patches = [String];
15+ patches = [Path];
16 pname = String;
16 pname = String;
17 propagatedBuildInputs = [θ];
17 propagatedBuildInputs = [θ];
18 src = ι;
18 src = ι;
test/golden/importless/uiop.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/unit-test.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/unix-odbc-drivers.txt+2−2
@@ -6,9 +6,9 @@
6 δ.literalExample = String -> ι,
6 δ.literalExample = String -> ι,
7 δ.mkIf = Bool -> {environment = {etc = {odbcinst.ini = {text = θ;};};};} -> κ,
7 δ.mkIf = Bool -> {environment = {etc = {odbcinst.ini = {text = θ;};};};} -> κ,
8 δ.mkOption =
8 δ.mkOption =
9− {default = ∀ α. [α]; description = String; example = ι; type = λ;} -> μ,
9+ {default = ∀ α. α; description = String; example = ι; type = λ;} -> μ,
10 δ.types = ν,
10 δ.types = ν,
11− ε.unixODBCDrivers = [ξ],
11+ ε.unixODBCDrivers = ξ,
12 ο.unixODBCDrivers = η,
12 ο.unixODBCDrivers = η,
13 ν.listOf = π -> λ,
13 ν.listOf = π -> λ,
14 ρ.package = π
14 ρ.package = π
test/golden/importless/unix-opts.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/unix.txt+1−1
@@ -1,5 +1,5 @@
1∀ β γ δ ε ζ η θ ι κ.
1∀ β γ δ ε ζ η θ ι κ.
2−( β // {description = String;} ~ γ,
2+( (β) // ({description = String;}) ~ (γ),
3 δ.optional = Bool -> ε -> ζ,
3 δ.optional = Bool -> ε -> ζ,
4 η.meta = β,
4 η.meta = β,
5 η.src = θ,
5 η.src = θ,
test/golden/importless/updateSettings.txtdeleted−12
@@ -1,12 +0,0 @@
1−∀ α β γ δ ε.
2−(α.optionalString = Bool -> String -> β) => { jq = γ;
3− lib = α;
4− writeShellScriptBin = String -> δ -> ε;
5−} ->
6−{ createIfDoesNotExists = Bool;
7− settings = {};
8− symlinkFromUserSetting = Bool;
9− userSettingsFolder = String;
10− vscodeSettingsFile = String;
11−} ->
12−ε
test/golden/importless/uptimed.txt+1−1
@@ -15,7 +15,7 @@
15 { ExecStart = String;
15 { ExecStart = String;
16 IOSchedulingClass = String;
16 IOSchedulingClass = String;
17 InaccessibleDirectories = String;
17 InaccessibleDirectories = String;
18− Nice = Number;
18+ Nice = Integer;
19 NoNewPrivileges = String;
19 NoNewPrivileges = String;
20 PrivateNetwork = String;
20 PrivateNetwork = String;
21 PrivateTmp = String;
21 PrivateTmp = String;
test/golden/importless/urserver.txt+4−2
@@ -7,7 +7,9 @@
7 γ.mkIf =
7 γ.mkIf =
8 η ->
8 η ->
9 { networking =
9 { networking =
10+ { firewall =
10− {firewall = {allowedTCPPorts = [Number]; allowedUDPPorts = [Number];};};
11+ {allowedTCPPorts = [Integer]; allowedUDPPorts = [Integer];};
12+ };
11 systemd =
13 systemd =
12 { user =
14 { user =
13 { services =
15 { services =
@@ -19,7 +21,7 @@
19 { ExecStart = String;
21 { ExecStart = String;
20 ExecStop = String;
22 ExecStop = String;
21 Restart = String;
23 Restart = String;
22− RestartSec = Number;
24+ RestartSec = Integer;
23 Type = String;
25 Type = String;
24 };
26 };
25 wantedBy = [String];
27 wantedBy = [String];
test/golden/importless/user-account.txt+1−1
@@ -6,7 +6,7 @@
6 { description = String;
6 { description = String;
7 isNormalUser = Bool;
7 isNormalUser = Bool;
8 password = String;
8 password = String;
9− uid = Number;
9+ uid = Integer;
10 };
10 };
11 bob = {description = String; isNormalUser = Bool; password = String;};
11 bob = {description = String; isNormalUser = Bool; password = String;};
12 };
12 };
test/golden/importless/utils.txt+4−4
@@ -7,15 +7,15 @@
7 δ.attrNames = λ -> μ,
7 δ.attrNames = λ -> μ,
8 δ.concatStringsSep = String -> ν -> String,
8 δ.concatStringsSep = String -> ν -> String,
9 δ.elem = ζ -> [String] -> Bool,
9 δ.elem = ζ -> [String] -> Bool,
10− δ.flatten = [ξ] -> ο,
10+ δ.flatten = ξ -> ο,
11 δ.hasPrefix = String -> κ -> Bool,
11 δ.hasPrefix = String -> κ -> Bool,
12− δ.imap0 = (π -> λ -> [ξ]) -> λ -> [ξ],
12+ δ.imap0 = (π -> λ -> ξ) -> λ -> ξ,
13 δ.imap1 = (ρ -> σ -> String) -> τ -> ν,
13 δ.imap1 = (ρ -> σ -> String) -> τ -> ν,
14 δ.isAttrs = λ -> Bool,
14 δ.isAttrs = λ -> Bool,
15 δ.isList = λ -> Bool,
15 δ.isList = λ -> Bool,
16 δ.listToAttrs = ο -> υ,
16 δ.listToAttrs = ο -> υ,
17− δ.map = (String -> [ξ]) -> μ -> [ξ],
17+ δ.map = (String -> ξ) -> μ -> ξ,
18− δ.nameValuePair = String -> φ -> [ξ],
18+ δ.nameValuePair = String -> φ -> ξ,
19 δ.removePrefix = String -> χ -> ψ,
19 δ.removePrefix = String -> χ -> ψ,
20 δ.replaceChars = [String] -> [String] -> ψ -> ω,
20 δ.replaceChars = [String] -> [String] -> ψ -> ω,
21 δ.throw = String -> String,
21 δ.throw = String -> String,
test/golden/importless/v10.txt+1−1
@@ -1,6 +1,6 @@
1∀ α β γ δ.
1∀ α β γ δ.
2{ callPackage =
2{ callPackage =
3− String ->
3+ Path ->
4 {icu = α; openssl = β; python = γ;} ->
4 {icu = α; openssl = β; python = γ;} ->
5 {enableNpm = Bool; sha256 = String; version = String;} -> δ;
5 {enableNpm = Bool; sha256 = String; version = String;} -> δ;
6 enableNpm = Bool;
6 enableNpm = Bool;
test/golden/importless/v12.txt+1−1
@@ -1,6 +1,6 @@
1∀ α β γ δ.
1∀ α β γ δ.
2{ callPackage =
2{ callPackage =
3− String ->
3+ Path ->
4 {icu = α; openssl = β; python = γ;} ->
4 {icu = α; openssl = β; python = γ;} ->
5 {enableNpm = Bool; sha256 = String; version = String;} -> δ;
5 {enableNpm = Bool; sha256 = String; version = String;} -> δ;
6 enableNpm = Bool;
6 enableNpm = Bool;
test/golden/importless/v14.txt+1−1
@@ -1,6 +1,6 @@
1∀ α β γ.
1∀ α β γ.
2{ callPackage =
2{ callPackage =
3− String ->
3+ Path ->
4 {openssl = α; python = β;} ->
4 {openssl = α; python = β;} ->
5 {enableNpm = Bool; sha256 = String; version = String;} -> γ;
5 {enableNpm = Bool; sha256 = String; version = String;} -> γ;
6 enableNpm = Bool;
6 enableNpm = Bool;
test/golden/importless/v3_4.txt+2−2
@@ -3,9 +3,9 @@
3 Security = ζ;
3 Security = ζ;
4 boost = η;
4 boost = η;
5 callPackage =
5 callPackage =
6− String ->
6+ Path ->
7 {CoreFoundation = ε; Security = ζ; boost = η; cctools = θ; sasl = ι;} ->
7 {CoreFoundation = ε; Security = ζ; boost = η; cctools = θ; sasl = ι;} ->
8− {license = δ; patches = [String]; sha256 = String; version = String;} -> κ;
8+ {license = δ; patches = [Path]; sha256 = String; version = String;} -> κ;
9 cctools = θ;
9 cctools = θ;
10 lib = λ;
10 lib = λ;
11 sasl = ι;
11 sasl = ι;
test/golden/importless/v3_6.txt+3−3
@@ -1,15 +1,15 @@
1∀ α β γ δ ε ζ η θ ι κ.
1∀ α β γ δ ε ζ η θ ι κ.
2( α.isDarwin = β,
2( α.isDarwin = β,
3 α.lib = γ,
3 α.lib = γ,
4− γ.optionals = β -> [String] -> [String]
4+ γ.optionals = β -> [Path] -> [Path]
5) =>
5) =>
6{ CoreFoundation = δ;
6{ CoreFoundation = δ;
7 Security = ε;
7 Security = ε;
8 boost = ζ;
8 boost = ζ;
9 callPackage =
9 callPackage =
10− String ->
10+ Path ->
11 {CoreFoundation = δ; Security = ε; boost = ζ; cctools = η; sasl = θ;} ->
11 {CoreFoundation = δ; Security = ε; boost = ζ; cctools = η; sasl = θ;} ->
12− {patches = [String]; sha256 = String; version = String;} -> ι;
12+ {patches = [Path]; sha256 = String; version = String;} -> ι;
13 cctools = η;
13 cctools = η;
14 lib = κ;
14 lib = κ;
15 sasl = θ;
15 sasl = θ;
test/golden/importless/v4_0.txt+3−3
@@ -1,15 +1,15 @@
1∀ α β γ δ ε ζ η θ ι κ.
1∀ α β γ δ ε ζ η θ ι κ.
2( α.isDarwin = β,
2( α.isDarwin = β,
3 α.lib = γ,
3 α.lib = γ,
4− γ.optionals = β -> [String] -> [String]
4+ γ.optionals = β -> [Path] -> [Path]
5) =>
5) =>
6{ CoreFoundation = δ;
6{ CoreFoundation = δ;
7 Security = ε;
7 Security = ε;
8 boost = ζ;
8 boost = ζ;
9 callPackage =
9 callPackage =
10− String ->
10+ Path ->
11 {CoreFoundation = δ; Security = ε; boost = ζ; cctools = η; sasl = θ;} ->
11 {CoreFoundation = δ; Security = ε; boost = ζ; cctools = η; sasl = θ;} ->
12− {patches = [String]; sha256 = String; version = String;} -> ι;
12+ {patches = [Path]; sha256 = String; version = String;} -> ι;
13 cctools = η;
13 cctools = η;
14 lib = κ;
14 lib = κ;
15 sasl = θ;
15 sasl = θ;
test/golden/importless/v4_2.txt+3−3
@@ -1,15 +1,15 @@
1∀ α β γ δ ε ζ η θ ι κ.
1∀ α β γ δ ε ζ η θ ι κ.
2( α.isDarwin = β,
2( α.isDarwin = β,
3 α.lib = γ,
3 α.lib = γ,
4− γ.optionals = β -> [String] -> [String]
4+ γ.optionals = β -> [Path] -> [Path]
5) =>
5) =>
6{ CoreFoundation = δ;
6{ CoreFoundation = δ;
7 Security = ε;
7 Security = ε;
8 boost = ζ;
8 boost = ζ;
9 callPackage =
9 callPackage =
10− String ->
10+ Path ->
11 {CoreFoundation = δ; Security = ε; boost = ζ; cctools = η; sasl = θ;} ->
11 {CoreFoundation = δ; Security = ε; boost = ζ; cctools = η; sasl = θ;} ->
12− {patches = [String]; sha256 = String; version = String;} -> ι;
12+ {patches = [Path]; sha256 = String; version = String;} -> ι;
13 cctools = η;
13 cctools = η;
14 lib = κ;
14 lib = κ;
15 sasl = θ;
15 sasl = θ;
test/golden/importless/vim.txt+1−1
@@ -7,7 +7,7 @@
7 ζ ->
7 ζ ->
8 {environment = {systemPackages = [η]; variables = {EDITOR = θ;};};} -> ι,
8 {environment = {systemPackages = [η]; variables = {EDITOR = θ;};};} -> ι,
9 γ.mkOption = {default = Bool; description = String; type = κ;} -> λ,
9 γ.mkOption = {default = Bool; description = String; type = κ;} -> λ,
10− γ.mkOverride = Number -> String -> θ,
10+ γ.mkOverride = Integer -> String -> θ,
11 γ.types = μ,
11 γ.types = μ,
12 δ.vim = η,
12 δ.vim = η,
13 ε.vim = ν,
13 ε.vim = ν,
test/golden/importless/virtualbox-guest.txt+1−1
@@ -32,7 +32,7 @@
32 ] ->
32 ] ->
33 ι,
33 ι,
34 γ.mkOption = {default = Bool; description = String; type = ξ;} -> ο,
34 γ.mkOption = {default = Bool; description = String; type = ξ;} -> ο,
35− γ.mkOverride = Number -> [String] -> π,
35+ γ.mkOverride = Integer -> [String] -> π,
36 γ.types = ρ,
36 γ.types = ρ,
37 δ.stdenv = σ,
37 δ.stdenv = σ,
38 ε.kernelPackages = τ,
38 ε.kernelPackages = τ,
test/golden/importless/vom.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/wakeonlan.txt+2−3
@@ -7,15 +7,14 @@
7 δ.map =
7 δ.map =
8 ({interface = κ; method = String; password = String;} -> String) -> λ -> θ,
8 ({interface = κ; method = String; password = String;} -> String) -> λ -> θ,
9 δ.mkOption =
9 δ.mkOption =
10− { default = ∀ α. [α];
10+ { default = ∀ α. α;
11 description = String;
11 description = String;
12 example = [{interface = String; method = String; password = String;}];
12 example = [{interface = String; method = String; password = String;}];
13 } ->
13 } ->
14 μ,
14 μ,
15 δ.throw = String -> String,
15 δ.throw = String -> String,
16 ζ.wakeonlan = ν,
16 ζ.wakeonlan = ν,
17− ν.interfaces = λ,
17+ ν.interfaces = λ
18− (String | Number) ~ η
19) =>
18) =>
20β ->
19β ->
21{ config = {powerManagement = {powerDownCommands = ι;};};
20{ config = {powerManagement = {powerDownCommands = ι;};};
test/golden/importless/winetricks.txt+1−1
@@ -21,7 +21,7 @@
21) =>
21) =>
22{ bash = γ;
22{ bash = γ;
23 cabextract = γ;
23 cabextract = γ;
24− callPackage = String -> {} -> ι;
24+ callPackage = Path -> {} -> ι;
25 coreutils = γ;
25 coreutils = γ;
26 curl = γ;
26 curl = γ;
27 gnugrep = γ;
27 gnugrep = γ;
test/golden/importless/with-extensions.txt+2−2
@@ -5,7 +5,7 @@
5 β.meta = η,
5 β.meta = η,
6 β.name = δ
6 β.name = δ
7) =>
7) =>
8−{ buildEnv = {name = String; paths = [θ];} -> ι;
8+{ buildEnv = {name = String; paths = θ;} -> ι;
9 lib = α;
9 lib = α;
10 makeWrapper = β;
10 makeWrapper = β;
11 runCommand =
11 runCommand =
@@ -13,6 +13,6 @@
13 {buildInputs = [β]; dontPatchELF = Bool; dontStrip = Bool; meta = η;} ->
13 {buildInputs = [β]; dontPatchELF = Bool; dontStrip = Bool; meta = η;} ->
14 String -> κ;
14 String -> κ;
15 vscode = β;
15 vscode = β;
16− vscodeExtensions = [θ];
16+ vscodeExtensions = θ;
17} ->
17} ->
18κ
18κ
test/golden/importless/x32edit.txt+12−9
@@ -1,12 +1,15 @@
1∀ α β γ.
1∀ α β γ.
2−( α //
2+( ( α
3+ ) //
3− { brand = String;
4+ ( { brand = String;
4− homepage = String;
5+ homepage = String;
5− sha256 = String;
6+ sha256 = String;
6− type = String;
7+ type = String;
7− version = String;
8+ version = String;
8− } ~
9+ }
10+ ) ~
9− β,
11+ ( β
12+ ),
10− α.callPackage = String -> β -> γ
13+ α.callPackage = Path -> β -> γ
11) =>
14) =>
12α -> γ
15α -> γ
test/golden/importless/xen-domU.txt+1−1
@@ -2,7 +2,7 @@
2α ->
2α ->
3{ boot =
3{ boot =
4 { initrd = {kernelModules = [String];};
4 { initrd = {kernelModules = [String];};
5− loader = {grub = {device = String; version = Number;};};
5+ loader = {grub = {device = String; version = Integer;};};
6 };
6 };
7 services = {syslogd = {tty = String;}; timesyncd = {enable = Bool;};};
7 services = {syslogd = {tty = String;}; timesyncd = {enable = Bool;};};
8}
8}
test/golden/importless/xfce4-mailwatch-plugin.txt+1−1
@@ -6,7 +6,7 @@
6 { description = String;
6 { description = String;
7 homepage = String;
7 homepage = String;
8 license = ε;
8 license = ε;
9− maintainers = ∀ α. [α];
9+ maintainers = ∀ α. α;
10 platforms = ζ;
10 platforms = ζ;
11 };
11 };
12 nativeBuildInputs = [η];
12 nativeBuildInputs = [η];
test/golden/importless/xfce4-mpc-plugin.txt+1−1
@@ -6,7 +6,7 @@
6 { description = String;
6 { description = String;
7 homepage = String;
7 homepage = String;
8 license = ε;
8 license = ε;
9− maintainers = ∀ α. [α];
9+ maintainers = ∀ α. α;
10 platforms = ζ;
10 platforms = ζ;
11 };
11 };
12 nativeBuildInputs = [η];
12 nativeBuildInputs = [η];
test/golden/importless/xfce4-timer-plugin.txt+1−1
@@ -7,7 +7,7 @@
7 { description = String;
7 { description = String;
8 homepage = String;
8 homepage = String;
9 license = ε;
9 license = ε;
10− maintainers = ∀ α. [α];
10+ maintainers = ∀ α. α;
11 platforms = ζ;
11 platforms = ζ;
12 };
12 };
13 nativeBuildInputs = [η];
13 nativeBuildInputs = [η];
test/golden/importless/xmpp-alerts.txtnew file+54
@@ -0,0 +1,54 @@
1+∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ.
2+( α.config = β,
3+ α.lib = γ,
4+ α.pkgs = δ,
5+ β.services = ε,
6+ γ.builtins = ζ,
7+ γ.cfg = η,
8+ γ.mkEnableOption = String -> θ,
9+ γ.mkIf =
10+ ι ->
11+ { systemd =
12+ { services =
13+ { prometheus-xmpp-alerts =
14+ { after = [String];
15+ serviceConfig =
16+ { DynamicUser = Bool;
17+ ExecStart = String;
18+ NoNewPrivileges = Bool;
19+ PrivateDevices = Bool;
20+ PrivateTmp = Bool;
21+ ProtectControlGroups = Bool;
22+ ProtectHome = Bool;
23+ ProtectKernelModules = Bool;
24+ ProtectKernelTunables = Bool;
25+ ProtectSystem = String;
26+ Restart = String;
27+ RestrictAddressFamilies = [String];
28+ SystemCallArchitectures = String;
29+ SystemCallFilter = [String];
30+ };
31+ wantedBy = [String];
32+ wants = [String];
33+ };
34+ };
35+ };
36+ } ->
37+ κ,
38+ γ.mkOption = {description = String; type = λ;} -> μ,
39+ γ.types = ν,
40+ δ.writeText = String -> ξ -> ο,
41+ ζ.toJSON = π -> ξ,
42+ η.configuration = π,
43+ ε.prometheus = ρ,
44+ ρ.xmpp-alerts = σ,
45+ σ.enable = ι,
46+ ν.attrs = λ
47+) =>
48+α ->
49+{ config = κ;
50+ options =
51+ { services =
52+ {prometheus = {xmpp-alerts = {configuration = μ; enable = θ;};};};
53+ };
54+}
test/golden/importless/xsubseq.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/yacc.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/importless/zpb-ttf.txt+1−1
@@ -2,7 +2,7 @@
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
2(β.fetchurl = {sha256 = String; url = String;} -> γ) => β ->
3{ asdFilesToKeep = [String];
3{ asdFilesToKeep = [String];
4 baseName = String;
4 baseName = String;
5− deps = ∀ α. [α];
5+ deps = ∀ α. α;
6 description = String;
6 description = String;
7 overrides = ∀ α. α -> α;
7 overrides = ∀ α. α -> α;
8 packageName = String;
8 packageName = String;
test/golden/mine/0.9.txt+1−1
@@ -1 +1 @@
1−∀ α. {a = α; b = α;} -> {bar = [α]; baz = Number;}
1+∀ α. {a = α; b = α;} -> {bar = [α]; baz = Integer;}
test/golden/mine/curry.txt+1−1
@@ -1 +1 @@
1−∀ α. {f = Number -> String -> α;} -> α
1+∀ α. {f = Integer -> String -> α;} -> α
test/golden/mine/define-option-dependently-nested.txt+1−1
@@ -1,3 +1,3 @@
1∀ α β γ δ.
1∀ α β γ δ.
2(α.?set = β, β.?enable = γ, δ.options = α) => δ ->
2(α.?set = β, β.?enable = γ, δ.options = α) => δ ->
3−{config = {set = {value = Number;};};}
3+{config = {set = {value = Integer;};};}
test/golden/mine/inftype.txt+1−1
@@ -1 +1 @@
1−∀ α β γ. (α // {a = Number;} ~ β, α.f = β -> γ) => α -> γ
1+∀ α β γ. ((α) // ({a = Integer;}) ~ (β), α.f = β -> γ) => α -> γ
test/golden/mine/nums.nixdeleted−5
@@ -1,5 +0,0 @@
1−rec {
2− f = x: y: x + y;
3− a = f 1 2;
4− b = f 1.1 1;
5−}
test/golden/mine/nums.txtdeleted−1
@@ -1 +0,0 @@
1−{a = Number; b = Number; f = ∀ α. ((String | Number) ~ α) => α -> α -> α;}
test/golden/mine/other.txt+1−1
@@ -1 +1 @@
1−{f = ∀ α β. (α.y = β) => α -> β; out = Number;}
1+{f = ∀ α β. (α.y = β) => α -> β; out = Integer;}
test/golden/mine/other_row.txt+3−3
@@ -1,5 +1,5 @@
1−{ a = Number;
1+{ a = Integer;
2− b = Number;
2+ b = Integer;
3− f = ∀ α. (α.y = Number) => α -> Number;
3+ f = ∀ α. (α.y = Integer) => α -> Integer;
4 g = ∀ α β. (α.y = β) => α -> β;
4 g = ∀ α β. (α.y = β) => α -> β;
5}
5}
test/golden/mine/polyApply.txt+1−1
@@ -1 +1 @@
1−{a = Number; f = ∀ α. α -> α;}
1+{a = Integer; f = ∀ α. α -> α;}
test/golden/mine/row.nixnew file+5
@@ -0,0 +1,5 @@
1+let
2+ f = x: x.y + 1;
3+ g = x: x.y;
4+in
5+(g { y = { n = "1"; }; }).n + 1
test/golden/mine/subsumption.txt+3−3
@@ -1,4 +1,4 @@
1−{ f = ∀ α β. (α.a = β, α.b = β, (String | Number) ~ β) => α -> β;
1+{ f = ∀ α β. (α.a = β, α.b = β) => α -> β;
2− g = ∀ α. ((String | Number) ~ α) => {a = α; b = α;} -> α;
2+ g = ∀ α. {a = α; b = α;} -> α;
3− h = ∀ α β. (α.a = β, α.b = β, (String | Number) ~ β) => α -> β;
3+ h = ∀ α β. (α.a = β, α.b = β) => α -> β;
4}
4}
test/golden/mine/subsumption_other.nixdeleted−5
@@ -1,5 +0,0 @@
1−rec {
2− f = u: u 1;
3− g = x: x;
4− a = f g;
5−}
test/golden/mine/subsumption_other.txtdeleted−1
@@ -1 +0,0 @@
1−{a = Number; f = ∀ α. (Number -> α) -> α; g = ∀ α. α -> α;}
test/golden/mine/unionfs.nixnew file+21
@@ -0,0 +1,21 @@
1+{ config, pkgs, lib, ... }:
2+
3+{
4+ config = lib.mkMerge [
5+
6+ (lib.mkIf (lib.any (fs: fs == "unionfs-fuse") config.boot.initrd.supportedFilesystems) {
7+ boot.initrd.kernelModules = [ "fuse" ];
8+
9+ boot.initrd.extraUtilsCommands = "a";
10+
11+ boot.initrd.postDeviceCommands = "b";
12+ }
13+ )
14+
15+ (lib.mkIf (lib.any (fs: fs == "unionfs-fuse") config.boot.supportedFilesystems) {
16+ system.fsPackages = [ pkgs.unionfs-fuse ];
17+ }
18+ )
19+
20+ ];
21+}
test/golden/mine/variadic.txt+1−4
@@ -1,4 +1 @@
1−{ a = Number;
2− b = Number;
3− f = ∀ α β. (α.a = β, α.b = β, (String | Number) ~ β) => α -> β;
1+{a = Integer; b = Integer; f = ∀ α β. (α.a = β, α.b = β) => α -> β;}
4−}
test/golden/mine/with.txt+1−1
@@ -1 +1 @@
1−{f = Number -> Number; foo = Number;}
1+{f = Integer -> Integer; foo = Integer;}