on master help sign in
.github/workflows/build_docs.yaml+4
since splitsnapshots
unifiedsplit
@@ -3,9 +3,13 @@ on:
3 push:
3 push:
4 branches:
4 branches:
5 - master
5 - master
6+ paths:
7+ - docs/**
6 pull_request:
8 pull_request:
7 branches:
9 branches:
8 - master
10 - master
11+ paths:
12+ - docs/**
9
13
10jobs:
14jobs:
11 linux:
15 linux:
docs/.vscode/settings.json+8−1
@@ -11,5 +11,12 @@
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+ ]
15}
22}
docs/bibl.bib+16−1
@@ -1,13 +1,18 @@
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-04-25 18:35:19 +0300
4+%% Created for Ilya at 2021-05-15 17:02:08 +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+
11@article{goldberg2000mercury,
16@article{goldberg2000mercury,
12 author = {Goldberg, Ken and Gentner, Steve and Sutter, Carl and Wiegley, Jeff},
17 author = {Goldberg, Ken and Gentner, Steve and Sutter, Carl and Wiegley, Jeff},
13 date-added = {2021-04-25 18:35:16 +0300},
18 date-added = {2021-04-25 18:35:16 +0300},
@@ -200,3 +205,13 @@
200 pages = {367--378},
205 pages = {367--378},
201 title = {NixOS: A purely functional Linux distribution},
206 title = {NixOS: A purely functional Linux distribution},
202 year = {2008}}
207 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+2−10
@@ -27,15 +27,7 @@ builtins.listToAttrs (map
27 # , compressBlanksInIndex ? true
27 # , compressBlanksInIndex ? true
28 # , packages ? [ ]
28 # , packages ? [ ]
29 texPackages = {
29 texPackages = {
30− myPackages = {
30+ inherit (pkgs.texlive) scheme-medium IEEEtran polytable lazylist multirow;
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− };
39 };
31 };
40 # , copySources ? false
32 # , copySources ? false
41 };
33 };
@@ -43,6 +35,6 @@ builtins.listToAttrs (map
43 [
35 [
44 { file = ./tech_spec.tex; }
36 { file = ./tech_spec.tex; }
45 { file = ./project_proposal.tex; }
37 { file = ./project_proposal.tex; }
46− { file = ./paper.lhs; extraFiles = [ (sources.TechDoc + "/TechDoc.cls") ./bibl.bib ]; }
38+ { file = ./paper.lhs; extraFiles = [ ./bibl.bib ./trfrac.sty ]; }
47 ]
39 ]
48)
40)
docs/nix/sources.json−12
@@ -11,18 +11,6 @@
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− },
26 "niv": {
14 "niv": {
27 "branch": "master",
15 "branch": "master",
28 "description": "Easy dependency management for Nix projects",
16 "description": "Easy dependency management for Nix projects",
docs/paper.lhs+904−116
@@ -1,57 +1,97 @@
1−\PassOptionsToPackage{main=english,russian}{babel}
1+\documentclass[a4paper,journal,compsoc]{IEEEtran}
2
2
3−\documentclass[]{TechDoc}
4−
5−\usepackage{float}
3+% \usepackage{float}
6\usepackage{mathtools}
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}
7
14
8−\selectlanguage{english}
15+% \sectionsAreChapters
9
16
10−\sectionsAreChapters
11
17
18+%include polycode.fmt
19+
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+
12−\floatstyle{boxed}
41+% \floatstyle{boxed}
13−\newfloat{Listing}{hbp}{lst}
42+% \newfloat{figure}{hbp}{lst}
14
43
15\newcommand{\parr}[1]{\medskip\textbf{#1}\hspace{0.6cm}}
44\newcommand{\parr}[1]{\medskip\textbf{#1}\hspace{0.6cm}}
45+\newcommand{\strOrNum}{(\text{String} || \text{Number})}
16
46
17−%include polycode.fmt
18
47
19−\year{2021}
48+% \year{2021}
20\title{Static analyzer for the Nix Expression Language}
49\title{Static analyzer for the Nix Expression Language}
21−\author{Student, BSE174}{I. I. Kostyuchenko}
50+% \author{Student, BSE174}{I. I. Kostyuchenko}
22−\academicTeacher{Associate Professor, PhD}{V. V. Kuliamin}
51+% \academicTeacher{Associate Professor, PhD}{V. V. Kuliamin}
23−
52+
24−\documentTitle{Explanatory note}
53+% \documentTitle{Explanatory note}
25−\documentCode{RU.17701729.04.05-01 ПЗ 01-1}
54+% \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+}
26
64
27\begin{document}
65\begin{document}
28\maketitle
66\maketitle
67+\thispagestyle{plain}
68+\pagestyle{plain}
29
69
30\begin{abstract}
70\begin{abstract}
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.
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.
32\end{abstract}
72\end{abstract}
33
73
34−\begin{otherlanguage}{russian}
74+% \begin{otherlanguage}{russian}
35
75
36− \begin{abstract}
76+% \begin{abstract}
37− Настройка и сборка даже самых простых программных проектов часто бывает непростой задачей -- для этого требуется загрузить и установить большое количество необходимого программного обеспечения. Это часто делает проблематичным воспроизведение сборок проекта на разных компьютерах. Менеджер пакетов Nix стремится решить эту проблему, предоставляя единый язык для описания пакетов программного обеспечения чисто функциональным способом. Этот язык называется языком Nix Expression Language. Поскольку вся сложность конфигурации программного обеспечения должна быть выражена на языке Nix Expression Language, сами выражения часто становятся довольно сложными, что затрудняет понимание и расширение существующих выражений без ошибок. Широко распространенным инструментом для облегчения понимания и проверки корректности выражений на других языках является статическая проверка типов. В этой статье будут рассмотрены методы, которые можно использовать для добавления статической проверки типов в язык выражений Nix Expression Language.
77+% Настройка и сборка даже самых простых программных проектов часто бывает непростой задачей -- для этого требуется загрузить и установить большое количество необходимого программного обеспечения. Это часто делает проблематичным воспроизведение сборок проекта на разных компьютерах. Менеджер пакетов Nix стремится решить эту проблему, предоставляя единый язык для описания пакетов программного обеспечения чисто функциональным способом. Этот язык называется языком Nix Expression Language. Поскольку вся сложность конфигурации программного обеспечения должна быть выражена на языке Nix Expression Language, сами выражения часто становятся довольно сложными, что затрудняет понимание и расширение существующих выражений без ошибок. Широко распространенным инструментом для облегчения понимания и проверки корректности выражений на других языках является статическая проверка типов. В этой статье будут рассмотрены методы, которые можно использовать для добавления статической проверки типов в язык выражений Nix Expression Language.
38− \end{abstract}
78+% \end{abstract}
39
79
40−\end{otherlanguage}
80+% \end{otherlanguage}
41
81
42−\parr{Source code} \url{https://github.com/ilyakooo0/tix}
82+% \parr{Source code} \url{https://github.com/ilyakooo0/tix}
43
83
44−\newpage
84+% \newpage
45
85
46−\tableofcontents
86+% \tableofcontents
47
87
48\section*{Introduction}
88\section*{Introduction}
49
89
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.
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.
51
91
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.
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.
53
93
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:
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:
55
95
56\begin{enumerate}
96\begin{enumerate}
57 \item \emph{language-specific tools} which simplify installing and switching between different versions of some tools (usually compilers). Examples of such tools are:
97 \item \emph{language-specific tools} which simplify installing and switching between different versions of some tools (usually compilers). Examples of such tools are:
@@ -69,7 +109,7 @@ This problem is partially solved by so-called virtual environments tools. A virt
69 \end{enumerate}
109 \end{enumerate}
70\end{enumerate}
110\end{enumerate}
71
111
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}.
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}.
73
113
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.
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.
75
115
@@ -81,19 +121,19 @@ Using a fully-fledged programming language allows the users to reuse common defi
81
121
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.
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.
83
123
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.}
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.}
85
125
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.
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.
87
127
88−Static type checking is the process of analyzing the types of expressions and detecting type errors in programs without evaluating them.
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.
89
129
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).
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).
91
131
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.
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.
93
133
94\section{Nix Expression Language}
134\section{Nix Expression Language}
95
135
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.
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.
97
137
98\subsection{Atomic types}
138\subsection{Atomic types}
99
139
@@ -101,8 +141,9 @@ Atomic types are described in table~\ref{tab:atomicTypes}.
101
141
102\begin{table}[hbp]
142\begin{table}[hbp]
103 \centering
143 \centering
144+ \caption{Table of atomic Nix Expression Language types}
104− \begin{tabular}{ ||c||p{6cm}||p{6cm}|| } \hline
145+ \begin{tabular}{ ||c||p{2cm}||p{4cm}|| } \hline
105− \textbf{Atomic type} & \textbf{Description} & \textbf{Example terms} \\ \hline
146+ \textbf{Atomic type} & \textbf{Description} & \textbf{Example terms} \\ \hline \hline
106 URI & A string literal representing a URI. Does not require quoting. & \texttt{https://example.com} \\ \hline
147 URI & A string literal representing a URI. Does not require quoting. & \texttt{https://example.com} \\ \hline
107 Path literal & A path literal referring to either a relative or absolute path. Does not require quoting. & \texttt{../../directory/file.txt} \\ \hline
148 Path literal & A path literal referring to either a relative or absolute path. Does not require quoting. & \texttt{../../directory/file.txt} \\ \hline
108 Integer & The current C implementation of Nix allows values of 64-bit signed integers. & \texttt{69} \newline \texttt{-42} \\ \hline
149 Integer & The current C implementation of Nix allows values of 64-bit signed integers. & \texttt{69} \newline \texttt{-42} \\ \hline
@@ -110,7 +151,6 @@ Atomic types are described in table~\ref{tab:atomicTypes}.
110 Bool & Boolean values. & \texttt{true} \newline \texttt{false} \\ \hline
151 Bool & Boolean values. & \texttt{true} \newline \texttt{false} \\ \hline
111 Null & A type with a single value. & \texttt{null} \\ \hline
152 Null & A type with a single value. & \texttt{null} \\ \hline
112 \end{tabular}
153 \end{tabular}
113− \caption{Table of atomic Nix Expression Language types}
114 \label{tab:atomicTypes}
154 \label{tab:atomicTypes}
115\end{table}
155\end{table}
116
156
@@ -118,9 +158,9 @@ Atomic types are described in table~\ref{tab:atomicTypes}.
118
158
119\subsubsection{Double quoted string literals}
159\subsubsection{Double quoted string literals}
120
160
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}.
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}.
122
162
123−\begin{Listing}
163+\begin{figure}
124 \begin{minipage}{\textwidth}
164 \begin{minipage}{\textwidth}
125 \begin{verbatim}
165 \begin{verbatim}
126"Sampel\nPalnet"
166"Sampel\nPalnet"
@@ -128,13 +168,13 @@ Double quoted string literals are string literals just like in many other progra
128 \end{minipage}
168 \end{minipage}
129 \caption{Nix Expression Language double quoted string literal example}
169 \caption{Nix Expression Language double quoted string literal example}
130 \label{lst:newlineString}
170 \label{lst:newlineString}
131−\end{Listing}
171+\end{figure}
132
172
133\subsubsection{Multiline string literals}
173\subsubsection{Multiline string literals}
134
174
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}.
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}.
136
176
137−\begin{Listing}
177+\begin{figure}
138 \begin{minipage}{\textwidth}
178 \begin{minipage}{\textwidth}
139 \begin{verbatim}
179 \begin{verbatim}
140''
180''
@@ -146,43 +186,43 @@ Palnet''
146 \end{minipage}
186 \end{minipage}
147 \caption{Nix Expression Language multiline string literal example and an equivalent double quoted string literal}
187 \caption{Nix Expression Language multiline string literal example and an equivalent double quoted string literal}
148 \label{lst:multilineString}
188 \label{lst:multilineString}
149−\end{Listing}
189+\end{figure}
150
190
151−\subsubsection{String interpolation}
191+% \subsubsection{String interpolation}
152
192
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}.
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}.
154
194
155−\begin{Listing}
195+% \begin{figure}
156− \begin{minipage}{\textwidth}
196+% \begin{minipage}{\textwidth}
157− \begin{verbatim}
197+% \begin{verbatim}
158−"one is ${ if 1 == 2 then "equal" else "not equal" } to two."
198+% "one is ${ if 1 == 2 then "equal" else "not equal" } to two."
159
199
160−"one is not equal to two."
200+% "one is not equal to two."
161− \end{verbatim}
201+% \end{verbatim}
162− \end{minipage}
202+% \end{minipage}
163− \caption{Nix Expression Language string interpolation example with the resulting string.}
203+% \caption{Nix Expression Language string interpolation example with the resulting string.}
164− \label{lst:stringInterpolation}
204+% \label{lst:stringInterpolation}
165−\end{Listing}
205+% \end{figure}
166
206
167\subsection{Lists}
207\subsection{Lists}
168
208
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}.
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}.
170
210
171−\begin{Listing}
211+\begin{figure}
172 \begin{minipage}{\textwidth}
212 \begin{minipage}{\textwidth}
173 \begin{verbatim}
213 \begin{verbatim}
174−[1 2 "hello" ../../file.txt https://example.com]
214+[1 2 "hello" ../../file.txt]
175 \end{verbatim}
215 \end{verbatim}
176 \end{minipage}
216 \end{minipage}
177 \caption{Nix Expression Language List literals.}
217 \caption{Nix Expression Language List literals.}
178 \label{lst:list}
218 \label{lst:list}
179−\end{Listing}
219+\end{figure}
180
220
181\subsection{Attribute sets} \label{sec:attrSet}
221\subsection{Attribute sets} \label{sec:attrSet}
182
222
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}.
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}.
184
224
185−\begin{Listing}
225+\begin{figure}
186 \begin{minipage}{\textwidth}
226 \begin{minipage}{\textwidth}
187 \begin{verbatim}
227 \begin{verbatim}
188{ a = 42;
228{ a = 42;
@@ -194,29 +234,46 @@ An attribute set is internally implemented as a hashmap with strings as keys whe
194 \end{minipage}
234 \end{minipage}
195 \caption{Nix Expression Language attribute set literals.}
235 \caption{Nix Expression Language attribute set literals.}
196 \label{lst:attrSet}
236 \label{lst:attrSet}
197−\end{Listing}
237+\end{figure}
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}
198
254
199\subsection{Attribute set updates} \label{sec:update}
255\subsection{Attribute set updates} \label{sec:update}
200
256
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}.
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}.
202
258
203−\begin{Listing}
259+\begin{figure}
204 \begin{minipage}{\textwidth}
260 \begin{minipage}{\textwidth}
205 \begin{verbatim}
261 \begin{verbatim}
262+{x = {a = 1;}; y = 2;}
206−{x = {a = 1;}; y = 2;} // {x = "hello"; z = 1.5;}
263+ // {x = "hello"; z = 1.5;}
207
264
208{ x = "hello"; y = 2; z = 1.5; }
265{ x = "hello"; y = 2; z = 1.5; }
209 \end{verbatim}
266 \end{verbatim}
210 \end{minipage}
267 \end{minipage}
211 \caption{Nix Expression Language attribute set updates.}
268 \caption{Nix Expression Language attribute set updates.}
212 \label{lst:update}
269 \label{lst:update}
213−\end{Listing}
270+\end{figure}
214
271
215\subsection{Recursive attribute sets} \label{sec:recAttrSet}
272\subsection{Recursive attribute sets} \label{sec:recAttrSet}
216
273
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.
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.
218
275
219−\begin{Listing}
276+\begin{figure}
220 \begin{minipage}{\textwidth}
277 \begin{minipage}{\textwidth}
221 \begin{verbatim}
278 \begin{verbatim}
222rec {
279rec {
@@ -229,13 +286,13 @@ rec {
229 \end{minipage}
286 \end{minipage}
230 \caption{Nix Expression Language recursive attribute set literals.}
287 \caption{Nix Expression Language recursive attribute set literals.}
231 \label{lst:recAttrSet}
288 \label{lst:recAttrSet}
232−\end{Listing}
289+\end{figure}
233
290
234\subsection{Let expressions} \label{sec:let}
291\subsection{Let expressions} \label{sec:let}
235
292
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}.
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}.
237
294
238−\begin{Listing}
295+\begin{figure}
239 \begin{minipage}{\textwidth}
296 \begin{minipage}{\textwidth}
240 \begin{verbatim}
297 \begin{verbatim}
241let
298let
@@ -246,13 +303,13 @@ in d
246 \end{minipage}
303 \end{minipage}
247 \caption{Nix Expression Language \emph{let} expression literals.}
304 \caption{Nix Expression Language \emph{let} expression literals.}
248 \label{lst:let}
305 \label{lst:let}
249−\end{Listing}
306+\end{figure}
250
307
251−\subsection{With expression}
308+\subsection{With expression} \label{sec:withExp}
252
309
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}.
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}.
254
311
255−\begin{Listing}
312+\begin{figure}
256 \begin{minipage}{\textwidth}
313 \begin{minipage}{\textwidth}
257 \begin{verbatim}
314 \begin{verbatim}
258let
315let
@@ -263,32 +320,34 @@ in d
263 \end{minipage}
320 \end{minipage}
264 \caption{Nix Expression Language \emph{with} expression literals.}
321 \caption{Nix Expression Language \emph{with} expression literals.}
265 \label{lst:with}
322 \label{lst:with}
266−\end{Listing}
323+\end{figure}
267
324
268−\section{Existing typecheckers}
325+\section{Existing typecheckers implementations}
269
326
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.
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.
271
328
272\subsection{regnat/tix} \label{sec:regnat/tix}
329\subsection{regnat/tix} \label{sec:regnat/tix}
273
330
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.
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.
275
332
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}.
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}.
277
334
278\subsection{regnat/ptyx} \label{sec:regnat/ptyx}
335\subsection{regnat/ptyx} \label{sec:regnat/ptyx}
279
336
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.
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.
281
338
282\parr{Status} The last commit was published in 2018. Unsupported language features include lists and attribute sets.
339\parr{Status} The last commit was published in 2018. Unsupported language features include lists and attribute sets.
283
340
284\subsection{haskell-nix/hnix}
341\subsection{haskell-nix/hnix}
285
342
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.
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.
287
344
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.
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.
289
346
290
347
291−\section{Existing Approaches}
348+\section{Existing type system research}
349+
350+In this section we will explore existing techniques used to develop typecheckers, and explore how they can be applicable to our implementation.
292
351
293\subsection{Type System Approach}
352\subsection{Type System Approach}
294
353
@@ -318,7 +377,7 @@ In some cases, this approach will likely yield too little information to be usef
318
377
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.
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.
320
379
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.
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.
322
381
323\subsection{Row-Polymorphism}
382\subsection{Row-Polymorphism}
324
383
@@ -326,43 +385,27 @@ One of the language-level constructs in the Nix Expression Language is the ``att
326
385
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}.
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}.
328
387
329−\subsection{Message Reporting}
388+% \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.
332
389
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.
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.
334
391
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.
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.
336
393
337−\section{Architecture}
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.
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}.
344
395
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}.
396+\section{Our Nix type system}
346
397
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−
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.
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.
356
399
357\subsection{Polymorphism} \label{sec:polymorphism}
400\subsection{Polymorphism} \label{sec:polymorphism}
358
401
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.
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.
360
403
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).
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).
362
405
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}.
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}.
364
407
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.
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.
366
409
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.
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.
368
411
@@ -375,9 +418,9 @@ Traditionally in languages similar to \emph{simply-typed lambda calculus} genera
375 \label{fig:closing}
418 \label{fig:closing}
376\end{figure}
419\end{figure}
377
420
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}.
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}.
379
422
380−\subsection{Inferring recursive types}
423+\subsection{Inferring recursive types} \label{sec:recLet}
381
424
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:
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:
383
426
@@ -387,7 +430,7 @@ Recursive definitions pose a challenge for type inference without developer-supp
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.
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.
388\end{enumerate}
431\end{enumerate}
389
432
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.
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.
391
434
392\subsection{Row polymorphism}
435\subsection{Row polymorphism}
393
436
@@ -395,9 +438,9 @@ Nix has first-class hashmaps with strings as keys called \emph{attribute sets} a
395
438
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.
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.
397
440
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.
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.
399
442
400−\begin{Listing}
443+\begin{figure}
401 \begin{minipage}{\textwidth}
444 \begin{minipage}{\textwidth}
402 \begin{verbatim}
445 \begin{verbatim}
403x: x // {a = 1;}
446x: x // {a = 1;}
@@ -405,23 +448,768 @@ x: x // {a = 1;}
405 \end{minipage}
448 \end{minipage}
406 \caption{A lambda expression which updates an input set.}
449 \caption{A lambda expression which updates an input set.}
407 \label{lst:update_ex}
450 \label{lst:update_ex}
408−\end{Listing}
451+\end{figure}
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}
409
526
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}.
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.
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}
411
807
412\section{Implementation} \label{sec:implementation}
808\section{Implementation} \label{sec:implementation}
413
809
414−\section{Conclusion}
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.
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}
415
1203
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.
1204+\section*{Conclusion}
417
1205
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.
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.
419
1207
420\newpage
1208\newpage
421
1209
422−\bibliographystyle{gost2008}
1210+\bibliographystyle{IEEEtran}
423\bibliography{bibl}
1211\bibliography{bibl}
424
1212
425−\registrationList
1213+% \registrationList
426
1214
427\end{document}
1215\end{document}
docs/pres_2/img/ter.png

Binary file not shown.

docs/pres_2/pres.md+52−52
@@ -20,8 +20,9 @@ _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+
24−-- [nixos.org](https://nixos.org)
25+#### – [nixos.org](https://nixos.org)
25
26
26---
27---
27
28
@@ -65,10 +66,12 @@ in derivation {
65
66
66---
67---
67
68
68−[.text: text-scale(0.75)]
69+[.text: text-scale(0.55)]
69
70
70# Terms and definitions
71# Terms and definitions
71
72
73+**Type** – an attribute of data which tells the compiler or interpreter how the programmer intends to use the data
74+
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
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
73
76
74**Type checking** – the process of verifying and enforcing the constraints of types.
77**Type checking** – the process of verifying and enforcing the constraints of types.
@@ -102,14 +105,14 @@ Adding static typing would:
102- Increase reliability of code
105- Increase reliability of code
103- Lower costs of development (resolving issue earlier is cheaper)
106- Lower costs of development (resolving issue earlier is cheaper)
104
107
105−_The typechecker should help find issues in existing code_
108+<!-- _The typechecker should help find issues in existing code_ -->
106
109
107---
110---
108
111
109# The goal
112# The goal
110
113
111−1. Develop a type static system for the existing Nix expression language
114+1. Develop a static type system for the existing Nix expression language
112−2. Develop a type checker for this type system
115+2. Develop a type checker for this static type system
113
116
114---
117---
115
118
@@ -129,31 +132,48 @@ The Hindley–Milner type system_[1]_ is a simple, but well-studied type system
129
132
130---
133---
131
134
132−# Functional requirements
135+# Methods and algorithms
133
136
134−- The system should perform type checking on expression.
137+The developed type system is heavily influenced by the Hindley–Milner_[1]_ type system.
135
138
136−- The system should analyze the types and presence of attributes in attribute sets.
137
139
138−- The system should report encountered typechecking.
140+---
139
141
140−- The system should report the use of undefined terms.
142+# Methods and algorithms
141
143
142−- The system should report the resulting types of expressions to the user.
144+The developed type system supports parametric polymorphism to support code that does not require a specific type.
143
145
144−---
146+```nix
147+x: y: x ++ y
148+```
145
149
146−[.text: text-scale(0.85)]
150+```
151+∀ α. [α] -> [α] -> [α]
152+```
153+
154+---
147
155
148# Methods and algorithms
156# Methods and algorithms
149
157
150−The type system will be heavily influenced by the Hindley–Milner_[1]_ type system.
158+The developed type system implements row polymorphism to work with attribute sets.
159+
160+```nix
161+x: x.v + 69
162+```
163+
164+```
165+∀ α. (α.v = Number) => α -> Number
166+```
151
167
152−The type system will implement parametric polymorphism to support code that does not require a specific type.
168+<br />
153
169
154−The type system will implement arbitrary-ranked polymorphism_[3]_ with deep instantiation to disambiguate types in existing untyped code.
170+```nix
171+x: x // {v = "hello";}
172+```
155
173
156−The type system will implement row polymorphism to work with attribute sets.
174+```
175+∀ α β. (α // {v = String;} ~ β) => α -> β
176+```
157
177
158---
178---
159
179
@@ -177,49 +197,28 @@ The typechecker is implemented in a two-step architecture:
177
197
178---
198---
179
199
180−# Current results
200+# Results
181
201
182−A typechecker executable that successfully typechecks _most_ of the selected files from _nixpkgs_.
202+- Theoretical
203+ - A static type system for the Nix Expression Language
183
204
184−The typechecker currently has some support for all language constructs.
205+- Practical
185
206
186−![.right .fit](img/ter.png)
207+ - A typechecker executable that successfully typechecks _most_ of the selected files from _nixpkgs_.
187−
188−---
189
208
190−[.build-lists: false]
209+ - The typechecker supports all language constructs.
191
210
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−
203−![.right .fit](img/paper.png)
211+![.right .fit](img/ter.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
213
212
214---
213---
215
214
216# Potential future developments
215# Potential future developments
217
216
218- Add support for user-supplied type annotations.
217- Add support for user-supplied type annotations.
219− - Fork parser
220− - Bidirectional type inference_[4]_
221- Type holes
218- Type holes
222- Language Server Integration
219- Language Server Integration
220+- Better type rendering
221+- Sum types
223
222
224---
223---
225
224
@@ -228,9 +227,10 @@ The typechecker currently has some support for all language constructs.
228
227
229# References
228# References
230
229
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.
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.
232−2. Jones S. P. et al. Practical type inference for arbitrary-rank types //Journal of functional programming. – 2007. – Т. 17. – №. 1. – С. 1-82. MLA
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.
233−3. Stuckey P. J., Sulzmann M., Wazny J. Improved inference for checking type annotations //arXiv preprint cs/0507036. – 2005. 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+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" NotPresent in { b = String; }
350+Error: key "a" not present in { b = String; }
351```
351```
352
352
353---
353---
docs/trfrac.stynew file+193
@@ -0,0 +1,193 @@
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.pdfnew file

Binary file not shown.

src/Tix/Builtins.hsnew file+68
@@ -0,0 +1,68 @@
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+50−20
@@ -52,6 +52,7 @@ 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)
55import Tix.Types
56import Tix.Types
56import Prelude as P
57import Prelude as P
57
58
@@ -63,6 +64,7 @@ getType r =
63 . evalState @(MKM.Map Pred) mempty
64 . evalState @(MKM.Map Pred) mempty
64 . interpret @(Writer Pred) (\(Tell x) -> modify (<> MKM.singleton x))
65 . interpret @(Writer Pred) (\(Tell x) -> modify (<> MKM.singleton x))
65 . runVariableMapEff
66 . runVariableMapEff
67+ . localVariablesMap builtins
66 . evalState @Substitution mempty
68 . evalState @Substitution mempty
67 . runState @[(TypeVariable, SrcSpan)] []
69 . runState @[(TypeVariable, SrcSpan)] []
68 . interpret @(Writer (TypeVariable, SrcSpan)) (\(Tell x) -> modify (x :))
70 . interpret @(Writer (TypeVariable, SrcSpan)) (\(Tell x) -> modify (x :))
@@ -144,9 +146,11 @@ instance Free Pred where
144 free = \case
146 free = \case
145 Update x y z -> free x <> free y <> free z
147 Update x y z -> free x <> free y <> free z
146 HasField _ x (_, y) -> free x <> free y
148 HasField _ x (_, y) -> free x <> free y
149+ StringOrNumber x -> free x
147 sub s = \case
150 sub s = \case
148 Update x y z -> Update (sub s x) (sub s y) (sub s z)
151 Update x y z -> Update (sub s x) (sub s y) (sub s z)
149 HasField r t (f, v) -> HasField r (sub s t) (f, sub s v)
152 HasField r t (f, v) -> HasField r (sub s t) (f, sub s v)
153+ StringOrNumber x -> StringOrNumber $ sub s x
150
154
151instance Free Scheme where
155instance Free Scheme where
152 free (x :=> y) = free x <> free y
156 free (x :=> y) = free x <> free y
@@ -183,7 +187,7 @@ prettySubstitution :: Substitution -> A.Value
183prettySubstitution = A.toJSON . M.mapKeysMonotonic (TL.pack . show) . fmap renderPretty . unSubstitution
187prettySubstitution = A.toJSON . M.mapKeysMonotonic (TL.pack . show) . fmap renderPretty . unSubstitution
184
188
185instance Semigroup Substitution where
189instance Semigroup Substitution where
186− x'@(Substitution x) <> y'@(Substitution y) = Substitution (M.unionWithKey (error "invariant") (fmap (sub y') x) (fmap (sub x') y))
190+ x'@(Substitution x) <> y'@(Substitution y) = Substitution (M.unionWith (error "invariant") (fmap (sub y') x) (fmap (sub x') y))
187
191
188instance Monoid Substitution where
192instance Monoid Substitution where
189 mempty = Substitution mempty
193 mempty = Substitution mempty
@@ -275,6 +279,7 @@ data UnifyingError
275data PredicateError
279data PredicateError
276 = KeyNotPresent Text NType
280 = KeyNotPresent Text NType
277 | NotAnAttributeSet NType
281 | NotAnAttributeSet NType
282+ | NotAddable NType
278 deriving stock (Eq, Show)
283 deriving stock (Eq, Show)
279
284
280data InferError
285data InferError
@@ -358,13 +363,13 @@ instantiate s = do
358infer :: NExprLoc -> InferM' NType
363infer :: NExprLoc -> InferM' NType
359infer (Fix (Compose (Ann src x))) = local (const src) $ case x of
364infer (Fix (Compose (Ann src x))) = local (const src) $ case x of
360 NConstant a -> return . NAtomic $ case a of
365 NConstant a -> return . NAtomic $ case a of
361− NURI {} -> URI
366+ NURI {} -> String
362− NInt {} -> Integer
367+ NInt {} -> Number
363− NFloat {} -> Float
368+ NFloat {} -> Number
364 NBool {} -> Bool
369 NBool {} -> Bool
365 NNull {} -> Null
370 NNull {} -> Null
366− NLiteralPath {} -> return . NAtomic $ Path
371+ NLiteralPath {} -> return . NAtomic $ String
367− NEnvPath {} -> return . NAtomic $ Path
372+ NEnvPath {} -> return . NAtomic $ String
368 NStr {} -> return $ NAtomic String
373 NStr {} -> return $ NAtomic String
369 NSym var ->
374 NSym var ->
370 lookupVar var
375 lookupVar var
@@ -374,17 +379,16 @@ infer (Fix (Compose (Ann src x))) = local (const src) $ case x of
374 xs' <- traverse infer xs
379 xs' <- traverse infer xs
375 traverse_ tell . fmap (uncurry (:~)) $ zip xs' (tail xs')
380 traverse_ tell . fmap (uncurry (:~)) $ zip xs' (tail xs')
376 case xs' of
381 case xs' of
377− [] -> NTypeVariable <$> fresh
382+ [] -> List . NTypeVariable <$> fresh
378 y : _ -> return $ List y
383 y : _ -> return $ List y
379 NUnary NNeg y -> do
384 NUnary NNeg y -> do
380 t <- infer y
385 t <- infer y
381− -- TODO: Infer either Float or Integer
382− -- tell $ t :~ (normalType . NAtomic $ )
386+ t ~~ NAtomic Number
383− return t
387+ return $ NAtomic Number
384 NUnary NNot y -> do
388 NUnary NNot y -> do
385 t <- infer y
389 t <- infer y
386 t ~~ NAtomic Bool
390 t ~~ NAtomic Bool
387− return t
391+ return $ NAtomic Bool
388 NBinary NUpdate lhs rhs -> do
392 NBinary NUpdate lhs rhs -> do
389 lhsT <- infer lhs
393 lhsT <- infer lhs
390 rhsT <- infer rhs
394 rhsT <- infer rhs
@@ -411,7 +415,12 @@ infer (Fix (Compose (Ann src x))) = local (const src) $ case x of
411 NBinary NLte lhs rhs -> comparison lhs rhs
415 NBinary NLte lhs rhs -> comparison lhs rhs
412 NBinary NGt lhs rhs -> comparison lhs rhs
416 NBinary NGt lhs rhs -> comparison lhs rhs
413 NBinary NGte lhs rhs -> comparison lhs rhs
417 NBinary NGte lhs rhs -> comparison lhs rhs
414− NBinary NPlus lhs rhs -> math lhs rhs
418+ NBinary NPlus lhs rhs -> do
419+ lhst <- infer lhs
420+ rhst <- infer rhs
421+ lhst ~~ rhst
422+ tell $ StringOrNumber lhst
423+ return lhst
415 NBinary NMinus lhs rhs -> math lhs rhs
424 NBinary NMinus lhs rhs -> math lhs rhs
416 NBinary NMult lhs rhs -> math lhs rhs
425 NBinary NMult lhs rhs -> math lhs rhs
417 NBinary NDiv lhs rhs -> math lhs rhs
426 NBinary NDiv lhs rhs -> math lhs rhs
@@ -514,21 +523,23 @@ infer (Fix (Compose (Ann src x))) = local (const src) $ case x of
514 comparison lhs rhs = do
523 comparison lhs rhs = do
515 lhst <- infer lhs
524 lhst <- infer lhs
516 rhst <- infer rhs
525 rhst <- infer rhs
517− -- TODO: Infer lhst and rhst are either Integer or Double or String
526+ tell (StringOrNumber lhst)
518 lhst ~~ rhst
527 lhst ~~ rhst
519 return $ NAtomic Bool
528 return $ NAtomic Bool
520 math lhs rhs = do
529 math lhs rhs = do
521 lhst <- infer lhs
530 lhst <- infer lhs
522 rhst <- infer rhs
531 rhst <- infer rhs
523− -- TODO: Infer lhst and rhst are either Integer or Double
532+ let t = NAtomic Number
524− lhst ~~ rhst
533+ lhst ~~ t
534+ rhst ~~ t
525− return lhst
535+ return t
526 logic lhs rhs = do
536 logic lhs rhs = do
527 lhst <- infer lhs
537 lhst <- infer lhs
528 rhst <- infer rhs
538 rhst <- infer rhs
539+ let t = NAtomic Bool
529− rhst ~~ NAtomic Bool
540+ rhst ~~ t
530− lhst ~~ NAtomic Bool
541+ lhst ~~ t
531− return $ NAtomic Bool
542+ return t
532
543
533type NormalizedBinding' = F.Free (Map VarName)
544type NormalizedBinding' = F.Free (Map VarName)
534
545
@@ -788,6 +799,7 @@ solveAndClose range (cs :=> t) = evalState @Substitution mempty $ do
788 solveAndClose newRange $ sub s $ (collectedPreds <> solvedPreds) :=> t
799 solveAndClose newRange $ sub s $ (collectedPreds <> solvedPreds) :=> t
789
800
790solveConstraints ::
801solveConstraints ::
802+ forall effs.
791 Members
803 Members
792 '[ Fresh,
804 '[ Fresh,
793 Writer Pred,
805 Writer Pred,
@@ -802,6 +814,15 @@ solveConstraints ::
802 Eff effs [Pred]
814 Eff effs [Pred]
803solveConstraints _ [] = pure []
815solveConstraints _ [] = pure []
804solveConstraints range (p : ps) = case p of
816solveConstraints 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
805 HasField r (NAttrSet ts) (f, t) -> case M.lookup f ts of
826 HasField r (NAttrSet ts) (f, t) -> case M.lookup f ts of
806 Nothing -> do
827 Nothing -> do
807 case r of
828 case r of
@@ -829,10 +850,19 @@ solveConstraints range (p : ps) = case p of
829 HasField _ t _ -> do
850 HasField _ t _ -> do
830 tell $ NotAnAttributeSet t
851 tell $ NotAnAttributeSet t
831 solveConstraints range ps
852 solveConstraints range ps
853+ -- Update
832 (Update (NAttrSet a) (NAttrSet b) t) -> do
854 (Update (NAttrSet a) (NAttrSet b) t) -> do
833 (NAttrSet $ b <> a) ~~ t
855 (NAttrSet $ b <> a) ~~ t
834 solveConstraints range ps
856 solveConstraints range ps
857+ (Update a b _) -> do
858+ allGood <- check `traverse` ([a, b] :: [NType])
835− _ -> (p :) <$> solveConstraints range ps
859+ (if and allGood then (p :) else id) <$> 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
836
866
837partitionWith :: (a -> Either b c) -> [a] -> ([b], [c])
867partitionWith :: (a -> Either b c) -> [a] -> ([b], [c])
838partitionWith f = partitionEithers . map f
868partitionWith f = partitionEithers . map f
src/Tix/Types.hs+10−6
@@ -39,7 +39,10 @@ data Pred
39 -- ^ y
39 -- ^ y
40 !NType
40 !NType
41 -- ^ z
41 -- ^ z
42+ -- | 'x.a ~ y'
42− | HasField {- Is the field optional? -} !FieldStrictness !NType !(Text, Scheme)
43+ | HasField !FieldStrictness !NType !(Text, Scheme)
44+ | -- | supports '+' operator (strings and numbers)
45+ StringOrNumber !NType
43 deriving stock (Eq, Ord, Show, Generic)
46 deriving stock (Eq, Ord, Show, Generic)
44
47
45data FieldStrictness = OptionalField | RequiredField
48data FieldStrictness = OptionalField | RequiredField
@@ -112,6 +115,7 @@ instance TraversableNTypes Pred where
112 <$> traverseNTypesWith ctx f x
115 <$> traverseNTypesWith ctx f x
113 <*> traverseNTypesWith ctx f y
116 <*> traverseNTypesWith ctx f y
114 <*> traverseNTypesWith ctx f z
117 <*> traverseNTypesWith ctx f z
118+ (StringOrNumber x) -> StringOrNumber <$> traverseNTypesWith ctx f x
115 {-# INLINE traverseNTypesWith #-}
119 {-# INLINE traverseNTypesWith #-}
116
120
117traverseNTypes :: TraversableNTypes s => Traversal' s TerminalNType
121traverseNTypes :: TraversableNTypes s => Traversal' s TerminalNType
@@ -128,13 +132,10 @@ data NType
128 deriving stock (Eq, Ord, Show, Generic)
132 deriving stock (Eq, Ord, Show, Generic)
129
133
130data AtomicType
134data AtomicType
131− = Integer
135+ = Number
132− | Float
133 | Bool
136 | Bool
134 | String
137 | String
135− | Path
136 | Null
138 | Null
137− | URI
138 deriving stock (Eq, Ord, Show, Generic)
139 deriving stock (Eq, Ord, Show, Generic)
139
140
140instance Pretty AtomicType where
141instance Pretty AtomicType where
@@ -251,7 +252,10 @@ prettyScheme u@(cs :=> t) = do
251 x' <- prettyNType False x
252 x' <- prettyNType False x
252 y' <- prettyNType False y
253 y' <- prettyNType False y
253 z' <- prettyNType False z
254 z' <- prettyNType False z
254− return $ group $ paren x' <+> "//" <> line <> paren y' <+> "~" <> line <> paren z'
255+ return $ group $ x' <+> "//" <> line <> y' <+> "~" <> line <> z'
256+ prettyPred (StringOrNumber x) = do
257+ x' <- prettyNType False x
258+ return $ "(String | Number)" <+> "~" <+> x'
255 paren = bracketed "(" ")"
259 paren = bracketed "(" ")"
256
260
257-- | Returns the set of all De Bruijn type variables relative to the outermost
261-- | 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 = λ -> Path -> θ,
24+ γ.optional = λ -> String -> θ,
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 = [Path];
9+ patches = [String];
10 src = ζ;
10 src = ζ;
11 } ->
11 } ->
12 η,
12 η,
test/golden/importless/0.11.txt+1−1
@@ -1 +1 @@
1−∀ α. {callPackage = Path -> {sha256 = String; version = String;} -> α;} -> α
1+∀ α. {callPackage = String -> {sha256 = String; version = String;} -> α;} -> α
test/golden/importless/0.12.txt+1−1
@@ -1 +1 @@
1−∀ α. {callPackage = Path -> {sha256 = String; version = String;} -> α;} -> α
1+∀ α. {callPackage = String -> {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 = β -> [Path] -> ι,
19+ γ.optionals = β -> [String] -> ι,
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 = [Path]; sha256 = String; version = String;}) ~ (β),
2+( α // {patches = [String]; sha256 = String; version = String;} ~ β,
3− α.callPackage = Path -> β -> γ
3+ α.callPackage = String -> β -> γ
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 = Path -> γ -> δ,
3+ α.callPackage = String -> γ -> δ,
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 = [Path];
19+ patches = [String];
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;} -> Path;
38+ fetchpatch = {name = String; sha256 = String; url = String;} -> String;
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 = [Path];
17+ patches = [String];
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 = [Path];
16+ patches = [String];
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 = [Path];
30+ patches = [String];
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 = [Path]; src = β; version = String;}) ~ (γ),
2+( α // {patches = [String]; src = β; version = String;} ~ γ,
3− α.callPackage = Path -> γ -> δ,
3+ α.callPackage = String -> γ -> δ,
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 = Path -> γ -> δ,
3+ α.callPackage = String -> γ -> δ,
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 = Path -> γ -> δ,
3+ α.callPackage = String -> γ -> δ,
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 = Path -> γ -> δ,
3+ α.callPackage = String -> γ -> δ,
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 = Path -> γ -> δ,
3+ α.callPackage = String -> γ -> δ,
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 = Path -> δ -> ε,
3+ α.callPackage = String -> δ -> ε,
4− α.fetchpatch = {sha256 = String; stripLen = Integer; url = String;} -> β,
4+ α.fetchpatch = {sha256 = String; stripLen = Number; 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 = Path -> γ -> δ,
3+ α.callPackage = String -> γ -> δ,
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 = Path -> γ -> δ,
3+ α.callPackage = String -> γ -> δ,
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 = Path -> γ -> δ,
3+ α.callPackage = String -> γ -> δ,
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 = Path -> γ -> δ,
3+ α.callPackage = String -> γ -> δ,
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 = Path -> γ -> δ,
3+ α.callPackage = String -> γ -> δ,
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 = υ -> [Path] -> [κ]
39+ τ.optionals = υ -> [String] -> [κ]
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 = [Path];
22+ patches = [String];
23 postInstall = String;
23 postInstall = String;
24 preBuild = String;
24 preBuild = String;
25 propagatedBuildInputs = [δ];
25 propagatedBuildInputs = [δ];
26 setOutputFlags = Bool;
26 setOutputFlags = Bool;
27− setupHook = Path;
27+ setupHook = String;
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 = [Path];
15+ patches = [String];
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;} -> Path;
34+ fetchpatch = {name = String; sha256 = String; url = String;} -> String;
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 = Integer;}) ~ (γ),
2+( β // {description = String; priority = Number;} ~ γ,
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 = [Path];
16+ patches = [String];
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 = Path -> β -> γ
3+ α.callPackage = String -> β -> γ
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 = Path -> β -> γ
3+ α.callPackage = String -> β -> γ
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 = Path -> γ -> δ,
3+ α.callPackage = String -> γ -> δ,
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 = [Path];
15+ patches = [String];
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 = [Path];
14+ patches = [String];
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 = Path -> β -> γ
3+ α.callPackage = String -> β -> γ
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 = Path -> β -> γ
3+ α.callPackage = String -> β -> γ
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 = Path -> β -> γ
3+ α.callPackage = String -> β -> γ
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 = [Path];
13+ patches = [String];
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 = Path;
5+ builder = String;
6 checkTarget = [String];
6 checkTarget = [String];
7 configureFlags = [String];
7 configureFlags = [String];
8− configureScript = Path;
8+ configureScript = String;
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 = Path -> {sha256 = String; version = String;} -> β) => α -> β
2+(α.callPackage = String -> {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 = Path -> β -> γ
3+ α.callPackage = String -> β -> γ
4) =>
4) =>
5α -> γ
5α -> γ
test/golden/importless/3.12.1.txtnew file+42
@@ -0,0 +1,42 @@
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 = Path -> {sha256 = String; version = String;} -> β) => α -> β
2+(α.callPackage = String -> {sha256 = String; version = String;} -> β) => α -> β
test/golden/importless/3.13.txt+1−1
@@ -1,2 +1,2 @@
1∀ α β.
1∀ α β.
2−(α.callPackage = Path -> {sha256 = String; version = String;} -> β) => α -> β
2+(α.callPackage = String -> {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 = Path -> γ -> ε,
4+ α.callPackage = String -> γ -> ε,
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 = Path -> {sha256 = String; version = String;} -> β) => α -> β
2+(α.callPackage = String -> {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 = Path -> {sha256 = String; version = String;} -> β) => α -> β
2+(α.callPackage = String -> {sha256 = String; version = String;} -> β) => α -> β
test/golden/importless/3.8.txt+1−1
@@ -1,2 +1,2 @@
1∀ α β.
1∀ α β.
2−(α.callPackage = Path -> {sha256 = String; version = String;} -> β) => α -> β
2+(α.callPackage = String -> {sha256 = String; version = String;} -> β) => α -> β
test/golden/importless/3.9.txt+1−1
@@ -1,2 +1,2 @@
1∀ α β.
1∀ α β.
2−(α.callPackage = Path -> {sha256 = String; version = String;} -> β) => α -> β
2+(α.callPackage = String -> {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 = Path -> β -> γ
3+ α.callPackage = String -> β -> γ
4) =>
4) =>
5α -> γ
5α -> γ
test/golden/importless/3dovideo.txt+4−3
@@ -6,7 +6,7 @@
6 β.bytestring = ε,
6 β.bytestring = ε,
7 β.concatMapStrings = (ζ -> String) -> η -> String,
7 β.concatMapStrings = (ζ -> String) -> η -> String,
8 β.filepath = ε,
8 β.filepath = ε,
9− β.lessThan = ζ -> Integer -> θ,
9+ β.lessThan = ζ -> Number -> θ,
10 β.mkDerivation =
10 β.mkDerivation =
11 { buildDepends = [ε];
11 { buildDepends = [ε];
12 description = String;
12 description = String;
@@ -19,11 +19,12 @@
19 } ->
19 } ->
20 λ,
20 λ,
21 β.optionalString = θ -> String -> μ,
21 β.optionalString = θ -> String -> μ,
22− β.range = Integer -> Integer -> η,
22+ β.range = Number -> Number -> η,
23 β.tar = ε,
23 β.tar = ε,
24 β.toString = ζ -> μ,
24 β.toString = ζ -> μ,
25 ν.licenses = ξ,
25 ν.licenses = ξ,
26− ξ.bsd3 = ι
26+ ξ.bsd3 = ι,
27+ (String | Number) ~ μ
27) =>
28) =>
28{ fetchurl = {sha256 = String; url = String;} -> κ;
29{ fetchurl = {sha256 = String; url = String;} -> κ;
29 haskellPackages = ο;
30 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− Path ->
4+ String ->
5 { Foundation = α;
5 { Foundation = α;
6 enableParallelBuilding = Bool;
6 enableParallelBuilding = Bool;
7− extraPatches = [Path];
7+ extraPatches = [String];
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 = Integer;
27+ priority = Number;
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 = [Path];
16+ patches = [String];
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 -> [Path] -> [Path],
31+ τ.optionals = Bool -> [String] -> [String],
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;} -> Path;
36+ fetchpatch = {sha256 = String; url = String;} -> String;
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 = [Path];
16+ patches = [String];
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− Path ->
4+ String ->
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.txtnew file+46
@@ -0,0 +1,46 @@
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 = [Path];
23+ patches = [String];
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 = Path -> γ -> δ,
3+ α.callPackage = String -> γ -> δ,
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 = [Path]; src = β;}) ~ (γ),
2+( α // {patches = [String]; src = β;} ~ γ,
3− α.callPackage = Path -> γ -> δ,
3+ α.callPackage = String -> γ -> δ,
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 = η -> [Path] -> [Path]
9+ θ.optionals = η -> [String] -> [String]
10) =>
10) =>
11α -> δ
11α -> δ
test/golden/importless/8_0.txt+8−11
@@ -1,14 +1,11 @@
1∀ α β γ.
1∀ α β γ.
2−( ( α
2+( α //
3− ) //
4− ( { extraPatches = [Path];
3+ { extraPatches = [String];
5− extraPostInstall = String;
4+ extraPostInstall = String;
6− sha256 = String;
5+ sha256 = String;
7− version = String;
6+ version = String;
8− }
7+ } ~
9− ) ~
10− ( β
8+ β,
11− ),
12− α.callPackage = Path -> β -> γ
9+ α.callPackage = String -> β -> γ
13) =>
10) =>
14α -> γ
11α -> γ
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 = Path;
4+ { alt_wrapper = String;
5 buildInputs = [ε];
5 buildInputs = [ε];
6− builder = Path;
6+ builder = String;
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 = Integer;
5+ { RUSTC_BOOTSTRAP = Number;
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 = Path;
14+ src = String;
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.txtdeleted−217
@@ -1,217 +0,0 @@
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 = Integer -> [String] -> η,
8+ γ.mkOrder = Number -> [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 = Integer;
13+ port = Number;
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− Path ->
4+ String ->
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 = Integer -> β,
3+ α.fixedWidthNumber = Number -> β,
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.txtdeleted−59
@@ -1,59 +0,0 @@
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 = Integer;};
11+ example = {flags = String; interval = Number;};
12 type = λ;
12 type = λ;
13 } ->
13 } ->
14 μ,
14 μ,
test/golden/importless/attica.txtnew file+14
@@ -0,0 +1,14 @@
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 = Path;
5+ builder = String;
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 = [Path];
18+ patches = [String];
19 preCheck = String;
19 preCheck = String;
20− setupHook = Path;
20+ setupHook = String;
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 = [Path];
19+ patches = [String];
20 preCheck = String;
20 preCheck = String;
21− setupHook = Path;
21+ setupHook = String;
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 = Path;
20+ setupHook = String;
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 = Integer;
21+ StartLimitBurst = Number;
22− StartLimitInterval = Integer;
22+ StartLimitInterval = Number;
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 = Path;
10+ goDeps = String;
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 = [Integer];};
19+ firewall = {allowedUDPPorts = [Number];};
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 = [Path];
78+ patches = [String];
79 pythonPath = [υ];
79 pythonPath = [υ];
80 runtimeDeps = [η];
80 runtimeDeps = [η];
81 src = ρ;
81 src = ρ;
test/golden/importless/b43.txt+13−15
@@ -1,21 +1,19 @@
1−∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ.
1+∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ.
2( α.config = β,
2( α.config = β,
3 α.lib = γ,
3 α.lib = γ,
4 α.pkgs = δ,
4 α.pkgs = δ,
5 β.boot = ε,
5 β.boot = ε,
6 β.networking = ζ,
6 β.networking = ζ,
7− γ.builtins = η,
7+ γ.lessThan = Number -> η -> θ,
8− γ.lessThan = Integer -> θ -> ι,
9− γ.mkIf = κ -> {assertions = λ; hardware = {firmware = [μ];};} -> ν,
8+ γ.mkIf = ι -> {assertions = κ; hardware = {firmware = [λ];};} -> μ,
10− γ.mkOption = {default = Bool; description = String; type = ξ;} -> ο,
9+ γ.mkOption = {default = Bool; description = String; type = ν;} -> ξ,
11− γ.singleton = {assertion = ι; message = String;} -> λ,
10+ γ.singleton = {assertion = θ; message = String;} -> κ,
12− γ.types = π,
11+ γ.types = ο,
13− δ.b43Firmware_5_1_138 = μ,
12+ δ.b43Firmware_5_1_138 = λ,
14− ε.kernelPackages = ρ,
13+ ε.kernelPackages = π,
15− ρ.kernel = σ,
14+ π.kernel = ρ,
16− σ.version = τ,
15+ ρ.version = σ,
17− ζ.enableB43Firmware = κ,
16+ ζ.enableB43Firmware = ι,
18− η.compareVersions = τ -> String -> θ,
19− π.bool = ξ
17+ ο.bool = ν
20) =>
18) =>
21−α -> {config = ν; options = {networking = {enableB43Firmware = ο;};};}
19+α -> {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 = [Path];
14+ patches = [String];
15 src = ε;
15 src = ε;
16 } ->
16 } ->
17 ζ,
17 ζ,
test/golden/importless/binary-tarball.txt+16−22
@@ -1,26 +1,20 @@
1∀ β γ δ ε ζ η.
1∀ β γ δ ε ζ η.
2−( ( β
2+( β //
3− ) //
4− ( { distPhase = String;
3+ { distPhase = String;
5− doDist = Bool;
4+ doDist = Bool;
6− finalPhase = String;
5+ finalPhase = String;
7− meta = ∀ α. α;
6+ meta = ∀ α. α;
8− name = String;
7+ name = String;
9− postHook = String;
8+ postHook = String;
10− }
9+ } ~
11− ) ~
12− ( γ
10+ γ,
13− ),
14− ( { doCheck = Bool;
11+ { doCheck = Bool;
15− postPhases = String;
12+ postPhases = String;
16− prefix = String;
13+ prefix = String;
17− showBuildStats = Bool;
14+ showBuildStats = Bool;
18− }
19− ) //
15+ } //
20− ( γ
16+ γ ~
21− ) ~
22− ( δ
17+ δ,
23− ),
24 β.meta = {},
18 β.meta = {},
25 β.?name = String,
19 β.?name = String,
26 ε.version = String,
20 ε.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 = [Path];
18+ patches = [String];
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 = κ -> Integer,
23+ β.length = κ -> Number,
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 = [Path];
12+ patches = [String];
13 pname = String;
13 pname = String;
14 src = η;
14 src = η;
15 version = String;
15 version = String;
test/golden/importless/bluez-qt.txtnew file+16
@@ -0,0 +1,16 @@
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 = Integer;
16+ Nice = Number;
17− OOMScoreAdjust = Integer;
17+ OOMScoreAdjust = Number;
18 ProtectHome = String;
18 ProtectHome = String;
19 ProtectSystem = String;
19 ProtectSystem = String;
20 Restart = String;
20 Restart = String;
21− RestartSec = Integer;
21+ RestartSec = Number;
22 SystemCallArchitectures = String;
22 SystemCallArchitectures = String;
23− TimeoutStartSec = Integer;
23+ TimeoutStartSec = Number;
24− TimeoutStopSec = Integer;
24+ TimeoutStopSec = Number;
25 Type = String;
25 Type = String;
26 };
26 };
27 unitConfig =
27 unitConfig =
test/golden/importless/build-rebar3.txt+19−22
@@ -1,26 +1,23 @@
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− }
19− ) //
18+ } //
20− ( ν
19+ ν ~
21− ) ~
22− ( γ
20+ γ,
23− ),
24 β.?beamDeps = [ζ],
21 β.?beamDeps = [ζ],
25 β.?buildInputs = [ε],
22 β.?buildInputs = [ε],
26 β.?buildPhase = Null,
23 β.?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+13−16
@@ -1,20 +1,17 @@
1∀ α β γ δ ε ζ.
1∀ α β γ δ ε ζ.
2−( ( α
2+( α //
3− ) //
4− ( { buildInputs = [β];
3+ { buildInputs = [β];
5− buildPhase = String;
4+ buildPhase = String;
6− configurePhase = String;
5+ configurePhase = String;
7− dontAddPrefix = Bool;
6+ dontAddPrefix = Bool;
8− hasSharedObjects = Bool;
7+ hasSharedObjects = Bool;
9− installPhase = String;
8+ installPhase = String;
10− minimumSupportedOcamlVersion = String;
9+ minimumSupportedOcamlVersion = String;
11− name = γ;
10+ name = γ;
12− src = δ;
11+ src = δ;
13− version = String;
12+ version = String;
14− }
13+ } ~
15− ) ~
16− ( ε
14+ ε,
17− ),
18 α.?buildInputs = [β],
15 α.?buildInputs = [β],
19 α.?hash = String,
16 α.?hash = String,
20 α.?minimumSupportedOcamlVersion = String,
17 α.?minimumSupportedOcamlVersion = String,
test/golden/importless/builder.txt+10−13
@@ -1,17 +1,14 @@
1∀ α β γ δ ε ζ η θ.
1∀ α β γ δ ε ζ η θ.
2−( ( α
2+( α //
3− ) //
4− ( { buildPhase = String;
3+ { buildPhase = String;
5− checkPhase = String;
4+ checkPhase = String;
6− configurePhase = String;
5+ configurePhase = String;
7− installPhase = String;
6+ installPhase = String;
8− modRoot = String;
7+ modRoot = String;
9− passthru = {forCurses = Bool; forTiles = Bool;};
8+ passthru = {forCurses = Bool; forTiles = Bool;};
10− pname = String;
9+ pname = String;
11− }
12− ) ~
10+ } ~
13− ( β
11+ β,
14− ),
15 α.?buildPhase = String,
12 α.?buildPhase = String,
16 α.?checkPhase = String,
13 α.?checkPhase = String,
17 α.?configurePhase = String,
14 α.?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 = [Path];
25+ patches = [String];
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 = Integer;
15+ priority = Number;
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 = [Path];
14+ patches = [String];
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 = Path -> {} -> ζ) => ε ->
26+ (ε.callPackage = String -> {} -> ζ) => ε ->
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 = Path -> {} -> ζ) => ε ->
46+ (ε.callPackage = String -> {} -> ζ) => ε ->
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 = Integer;
5+ { RUSTC_BOOTSTRAP = Number;
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 = Path;
8+ setupHook = String;
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 = Integer;};
36+ virtualisation = {memorySize = Number;};
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 = [Path];
23+ patches = [String];
24 pname = String;
24 pname = String;
25 postPatch = μ;
25 postPatch = μ;
26 preFixup = ν;
26 preFixup = ν;
test/golden/importless/compiler-rt.txt+7−5
@@ -11,7 +11,7 @@
11 enableParallelBuilding = Bool;
11 enableParallelBuilding = Bool;
12 nativeBuildInputs = [ζ];
12 nativeBuildInputs = [ζ];
13 outputs = [String];
13 outputs = [String];
14− patches = [Path];
14+ patches = [String];
15 pname = String;
15 pname = String;
16 postInstall = η;
16 postInstall = η;
17 postPatch = θ;
17 postPatch = θ;
@@ -29,18 +29,20 @@
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 = ω -> Path -> [Path],
32+ ψ.optional = ω -> String -> [String],
33 α1.isMusl = ω,
33 α1.isMusl = ω,
34− β1.optional = Bool -> Path -> [Path],
34+ β1.optional = Bool -> String -> [String],
35 γ1.libc = String,
35 γ1.libc = String,
36− δ1.optional = ε1 -> Path -> [Path],
36+ δ1.optional = ε1 -> String -> [String],
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) ~ θ
44) =>
46) =>
45{ cmake = ζ;
47{ cmake = ζ;
46 fetch = String -> String -> ι;
48 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 = Integer; url = String;} -> γ,
3+( β.fetchpatch = {sha256 = String; stripLen = Number; 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 = δ -> Path -> ε,
4+ γ.appendPatch = δ -> String -> ε,
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 = [Path];
12+ patches = [String];
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 = [Path];
14+ patches = [String];
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 = Path;
14+ src = String;
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 = Path;
21+ src = String;
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 = [Path];
16+ patches = [String];
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 = Path; self = β;} -> β,
17+ ι.override = {generated = String; self = β;} -> β,
18− θ.substring = Integer -> Integer -> String -> λ
18+ θ.substring = Number -> Number -> 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+12−15
@@ -1,19 +1,16 @@
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο.
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο.
2−( ( β
2+( β //
3− ) //
4− ( { installExtraDebsPhase = String;
3+ { installExtraDebsPhase = String;
5− installPhase = String;
4+ installPhase = String;
6− meta = ∀ α. α;
5+ meta = ∀ α. α;
7− name = String;
6+ name = String;
8− postHook = String;
7+ postHook = String;
9− sysInfoPhase = String;
8+ sysInfoPhase = String;
10− }
9+ } ~
11− ) ~
12− ( γ
10+ γ,
13− ),
14− ({doCheck = Bool; prePhases = String; prefix = String;}) // (γ) ~ (δ),
11+ {doCheck = Bool; prePhases = String; prefix = String;} // γ ~ δ,
15− ε.?debProvides = ζ,
12+ ε.?debProvides = [ζ],
16− ε.?debRequires = η,
13+ ε.?debRequires = [η],
17 ε.?fsTranslation = Bool,
14 ε.?fsTranslation = Bool,
18 ε.meta = {},
15 ε.meta = {},
19 ε.?name = String,
16 ε.?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 = Integer -> Integer -> γ
6+ ζ.between = Number -> Number -> γ
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 = [Path];} -> γ
5+ ε.submoduleWith = {modules = [String];} -> γ
6) =>
6) =>
7−α -> {config = {submodule = Path;}; options = {submodule = δ;};}
7+α -> {config = {submodule = String;}; 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 = Integer;}) // (β) ~ (γ),
2+( {value = Number;} // β ~ γ,
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 = Integer;}) // (β) ~ (γ),
2+( {value = Number;} // β ~ γ,
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 = Integer;}
1+{value = Number;}
test/golden/importless/define-value-int-positive.txt+1−1
@@ -1 +1 @@
1−{value = Integer;}
1+{value = Number;}
test/golden/importless/define-value-int-zero.txt+1−1
@@ -1 +1 @@
1−{value = Integer;}
1+{value = Number;}
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 = δ -> Path -> {} -> ζ; overrides = β -> γ -> {};} -> θ
16+{lib = α; newScope = δ -> String -> {} -> ζ; 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 = Path -> {} -> η;
17+{ callPackage = String -> {} -> η;
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 = Path;
6+ convert = String;
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 = Path;
6+ convert = String;
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 = [Path];}
1+{disabledModules = [String];}
test/golden/importless/disable-declare-enable.txt+1−1
@@ -1 +1 @@
1−∀ α β. (α.lib = β) => α -> {disabledModules = [Path];}
1+∀ α β. (α.lib = β) => α -> {disabledModules = [String];}
test/golden/importless/disable-define-enable.txt+1−1
@@ -1 +1 @@
1−∀ α β. (α.lib = β) => α -> {disabledModules = [Path];}
1+∀ α β. (α.lib = β) => α -> {disabledModules = [String];}
test/golden/importless/disable-foo.txt+1−1
@@ -1 +1 @@
1−{disabledModules = [Path];}
1+{disabledModules = [String];}
test/golden/importless/dispatch.txt+1−1
@@ -15,7 +15,7 @@
15 maintainers = [ε];
15 maintainers = [ε];
16 };
16 };
17 nativeBuildInputs = δ;
17 nativeBuildInputs = δ;
18− patches = [Path];
18+ patches = [String];
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 = Integer;
28+ RestartSec = Number;
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− Path -> {fetchurl = ε; jre = ζ; makeWrapper = η; stdenv = α;} -> δ;
7+ String -> {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 = Path;
14+ { goDeps = String;
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 = [Path];
10+ patches = [String];
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 = [Path];
11+ patches = [String];
12 postPatch = String;
12 postPatch = String;
13 src = η;
13 src = η;
14 } ->
14 } ->
15 θ,
15 θ,
16− γ.api_version = Integer,
16+ γ.api_version = Number,
17 β.optionalString = Bool -> String -> String,
17 β.optionalString = Bool -> String -> String,
18 ι.licenses = κ,
18 ι.licenses = κ,
19 ι.platforms = λ,
19 ι.platforms = λ,
test/golden/importless/eggs.txtnew file+14
@@ -0,0 +1,14 @@
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 = Path;
40+ packageJSON = String;
41 src = ∀ α. α;
41 src = ∀ α. α;
42 version = ∀ α. α;
42 version = ∀ α. α;
43− yarnNix = Path;
43+ yarnNix = String;
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 = [Path];
4+ cargoPatches = [String];
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 = Path;} -> δ
7+ {bash = β; isExecutable = Bool; path = [γ]; src = String;} -> δ
8) =>
8) =>
9{pkgs = α;} -> δ
9{pkgs = α;} -> δ
test/golden/importless/extpack.txtdeleted−27
@@ -1,27 +0,0 @@
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+2−1
@@ -32,7 +32,8 @@
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) ~ γ
36) =>
37) =>
37{ enableLua = Bool;
38{ enableLua = Bool;
38 enableMysql = Bool;
39 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+37−46
@@ -1,50 +1,41 @@
1∀ γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1 ζ1.
1∀ γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1 ζ1.
2−( ( γ
2+( γ //
3− ) //
4− ( { dontBuild = Bool;
3+ { dontBuild = Bool;
5− installPhase = String;
4+ installPhase = String;
6− meta = ∀ β. β;
5+ meta = ∀ β. β;
7− name = String;
6+ name = String;
8− postInstall = String;
7+ postInstall = String;
9− src = δ;
8+ src = δ;
10− }
11− ) ~
9+ } ~
12− ( ε
10+ ε,
13− ),
14− ( ζ
11+ ζ //
15− ) //
16− ( { buildInputs = [η];
12+ { buildInputs = [η];
17− nativeBuildInputs = [θ];
13+ nativeBuildInputs = [θ];
18− postFixup = String;
14+ postFixup = String;
19− propagatedBuildInputs = [ι];
15+ propagatedBuildInputs = [ι];
20− }
16+ } ~
21− ) ~
22− ( { buildInputs = [η];
17+ { buildInputs = [η];
23− meta = ∀ β. β;
18+ meta = ∀ β. β;
24− passthru = {wrap = κ; wrapWithBuildEnv = λ;};
19+ passthru = {wrap = κ; wrapWithBuildEnv = λ;};
25− pname = String;
20+ pname = String;
26− postFixup = String;
21+ postFixup = String;
27− postInstall = String;
22+ postInstall = String;
28− preConfigure = String;
23+ preConfigure = String;
29− src = δ;
24+ src = δ;
30− version = μ;
25+ version = μ;
31− }
32− ),
26+ },
33− ( ν
27+ ν //
34− ) //
35− ( {buildInputs = [η]; postFixup = String;}
28+ {buildInputs = [η]; postFixup = String;} ~
36− ) ~
37− ( { buildInputs = [η];
29+ { buildInputs = [η];
38− meta = ∀ β. β;
30+ meta = ∀ β. β;
39− passthru = {wrap = κ; wrapWithBuildEnv = λ;};
31+ passthru = {wrap = κ; wrapWithBuildEnv = λ;};
40− pname = String;
32+ pname = String;
41− postFixup = String;
33+ postFixup = String;
42− postInstall = String;
34+ postInstall = String;
43− preConfigure = String;
35+ preConfigure = String;
44− src = δ;
36+ src = δ;
45− version = μ;
37+ version = μ;
46− }
47− ),
38+ },
48 ξ.?scripts = [ο],
39 ξ.?scripts = [ο],
49 π.?scripts = [ο],
40 π.?scripts = [ο],
50 ρ.lib = σ,
41 ρ.lib = σ,
test/golden/importless/faust2.txt+42−51
@@ -1,55 +1,46 @@
1∀ γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1 ζ1 η1.
1∀ γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1 γ1 δ1 ε1 ζ1 η1.
2−( ( γ
2+( γ //
3− ) //
4− ( { dontBuild = Bool;
3+ { dontBuild = Bool;
5− installPhase = String;
4+ installPhase = String;
6− meta = ∀ β. β;
5+ meta = ∀ β. β;
7− name = String;
6+ name = String;
8− postInstall = String;
7+ postInstall = String;
9− src = δ;
8+ src = δ;
10− }
11− ) ~
9+ } ~
12− ( ε
10+ ε,
13− ),
14− ( ζ
11+ ζ //
15− ) //
16− ( { buildInputs = [η];
12+ { buildInputs = [η];
17− libPath = θ;
13+ libPath = θ;
18− nativeBuildInputs = [η];
14+ nativeBuildInputs = [η];
19− postFixup = String;
15+ postFixup = String;
20− propagatedBuildInputs = [ι];
16+ propagatedBuildInputs = [ι];
21− }
22− ) ~
17+ } ~
23− ( { buildInputs = [κ];
18+ { buildInputs = [κ];
24− cmakeFlags = String;
19+ cmakeFlags = String;
25− meta = ∀ β. β;
20+ meta = ∀ β. β;
26− nativeBuildInputs = [η];
21+ nativeBuildInputs = [η];
27− passthru = {wrap = λ; wrapWithBuildEnv = μ;};
22+ passthru = {wrap = λ; wrapWithBuildEnv = μ;};
28− pname = String;
23+ pname = String;
29− postFixup = String;
24+ postFixup = String;
30− postInstall = String;
25+ postInstall = String;
31− preConfigure = String;
26+ preConfigure = String;
32− src = δ;
27+ src = δ;
33− version = ν;
28+ version = ν;
34− }
29+ },
35− ),
36− ( ξ
30+ ξ //
37− ) //
38− ( {buildInputs = [η]; postFixup = String;}
31+ {buildInputs = [η]; postFixup = String;} ~
39− ) ~
40− ( { buildInputs = [κ];
32+ { buildInputs = [κ];
41− cmakeFlags = String;
33+ cmakeFlags = String;
42− meta = ∀ β. β;
34+ meta = ∀ β. β;
43− nativeBuildInputs = [η];
35+ nativeBuildInputs = [η];
44− passthru = {wrap = λ; wrapWithBuildEnv = μ;};
36+ passthru = {wrap = λ; wrapWithBuildEnv = μ;};
45− pname = String;
37+ pname = String;
46− postFixup = String;
38+ postFixup = String;
47− postInstall = String;
39+ postInstall = String;
48− preConfigure = String;
40+ preConfigure = String;
49− src = δ;
41+ src = δ;
50− version = ν;
42+ version = ν;
51− }
43+ },
52− ),
53 ο.?scripts = [π],
44 ο.?scripts = [π],
54 ρ.?scripts = [π],
45 ρ.?scripts = [π],
55 σ.lib = τ,
46 σ.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+5−9
@@ -2,18 +2,14 @@
2θ ->
2θ ->
3{ composeExtensions =
3{ composeExtensions =
4 ∀ α β γ δ ε ζ η.
4 ∀ α β γ δ ε ζ η.
5− ((α) // (β) ~ (γ), (β) // (δ) ~ (ε)) => (ζ -> α -> β) ->
5+ (α // β ~ γ, β // δ ~ ε) => (ζ -> α -> β) -> (ζ -> η -> δ) -> ζ -> α -> ε;
6− (ζ -> η -> δ) -> ζ -> α -> ε;
7 converge = ∀ α. (α -> α) -> α -> α;
6 converge = ∀ α. (α -> α) -> α -> α;
8− extends =
9− ∀ α β γ δ. ((α) // (β) ~ (γ)) => (δ -> α -> β) -> (δ -> α) -> δ -> γ;
7+ extends = ∀ α β γ δ. (α // β ~ γ) => (δ -> α -> β) -> (δ -> α) -> δ -> γ;
10 fix = ∀ α. (α -> α) -> α;
8 fix = ∀ α. (α -> α) -> α;
11− fix' = ∀ α β. ((α) // ({__unfix__ = β -> α;}) ~ (β)) => (β -> α) -> β;
9+ fix' = ∀ α β. (α // {__unfix__ = β -> α;} ~ β) => (β -> α) -> β;
12 makeExtensible =
10 makeExtensible =
13− ∀ α β γ.
14− ((α) // ({__unfix__ = β -> α;}) ~ (β), (β) // ({}) ~ (γ)) => (β -> α) -> γ;
11+ ∀ α β γ. (α // {__unfix__ = β -> α;} ~ β, β // {} ~ γ) => (β -> α) -> γ;
15 makeExtensibleWithCustomName =
12 makeExtensibleWithCustomName =
16 ∀ α β γ δ.
13 ∀ α β γ δ.
17− ((α) // ({__unfix__ = β -> α;}) ~ (β), (β) // ({}) ~ (γ)) => δ ->
14+ (α // {__unfix__ = β -> α;} ~ β, β // {} ~ γ) => δ -> (β -> α) -> γ;
18− (β -> α) -> γ;
19}
15}
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 = Integer;};
6+ virtualisation = {diskSize = Number;};
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 = Path; maintainers = χ;};
46+ meta = {doc = String; 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+10−13
@@ -1,18 +1,15 @@
1∀ α β γ δ.
1∀ α β γ δ.
2−( ( α
2+( α //
3− ) //
4− ( { archive = String;
3+ { archive = String;
5− edition = String;
4+ edition = String;
6− pname = String;
5+ pname = String;
7− src = β;
6+ src = β;
8− suiteName = String;
7+ suiteName = String;
9− version = String;
8+ version = String;
10− }
9+ } ~
11− ) ~
12− ( γ
10+ γ,
13− ),
14 α.?officeVersion = {edition = String; sha256 = String; version = String;},
11 α.?officeVersion = {edition = String; sha256 = String; version = String;},
15− α.callPackage = Path -> γ -> δ,
12+ α.callPackage = String -> γ -> δ,
16 α.fetchurl = {sha256 = String; url = String;} -> β
13 α.fetchurl = {sha256 = String; url = String;} -> β
17) =>
14) =>
18α -> δ
15α -> δ
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 = η -> Integer,
8+ γ.length = η -> Number,
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 = [Path];
16+ patches = [String];
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+6−1
@@ -19,7 +19,12 @@
19 δ.gnused = ξ,
19 δ.gnused = ξ,
20 δ.stdenv = ο,
20 δ.stdenv = ο,
21 δ.substituteAll =
21 δ.substituteAll =
22+ { bash = ν;
23+ copyKernels = π;
22− {bash = ν; copyKernels = π; isExecutable = Bool; path = [ξ]; src = Path;} ->
24+ isExecutable = Bool;
25+ path = [ξ];
26+ src = String;
27+ } ->
23 θ,
28 θ,
24 ο.hostPlatform = ρ,
29 ο.hostPlatform = ρ,
25 ρ.platform = σ,
30 ρ.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+13−16
@@ -1,20 +1,17 @@
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− }
13− ) //
12+ } //
14− ( β
13+ β ~
15− ) ~
16− ( ε
14+ ε,
17− ),
18 α.?buildInputs = [δ],
15 α.?buildInputs = [δ],
19 α.?doCheck = Bool,
16 α.?doCheck = Bool,
20 α.?requireX = Bool,
17 α.?requireX = Bool,
test/golden/importless/generic-stack-builder.txt+20−23
@@ -1,31 +1,28 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ.
1∀ α β γ δ ε ζ η θ ι κ λ μ.
2−( ( α
2+( α //
3− ) //
4− ( { GIT_SSL_CAINFO = String;
3+ { GIT_SSL_CAINFO = String;
5− LANG = String;
4+ LANG = String;
6− LD_LIBRARY_PATH = β;
5+ LD_LIBRARY_PATH = β;
7− STACK_IN_NIX_EXTRA_ARGS = γ;
6+ STACK_IN_NIX_EXTRA_ARGS = [γ];
8− STACK_IN_NIX_SHELL = Integer;
7+ STACK_IN_NIX_SHELL = Number;
9− STACK_PLATFORM_VARIANT = String;
8+ STACK_PLATFORM_VARIANT = String;
10− __noChroot = Bool;
9+ __noChroot = Bool;
11− buildInputs = [δ];
10+ buildInputs = [δ];
12− buildPhase = String;
11+ buildPhase = String;
13− checkPhase = String;
12+ checkPhase = String;
14− doCheck = Bool;
13+ doCheck = Bool;
15− installPhase = String;
14+ installPhase = String;
16− nativeBuildInputs = [ε];
15+ nativeBuildInputs = [ε];
17− preConfigure = String;
16+ preConfigure = String;
18− preferLocalBuild = Bool;
17+ preferLocalBuild = Bool;
19− }
18+ } ~
20− ) ~
21− ( ζ
19+ ζ,
22− ),
23 α.?LD_LIBRARY_PATH = [δ],
20 α.?LD_LIBRARY_PATH = [δ],
24 α.?buildInputs = [δ],
21 α.?buildInputs = [δ],
25 α.?buildPhase = String,
22 α.?buildPhase = String,
26 α.?checkPhase = String,
23 α.?checkPhase = String,
27 α.?doCheck = Bool,
24 α.?doCheck = Bool,
28− α.?extraArgs = γ,
25+ α.?extraArgs = [γ],
29 α.?ghc = ε,
26 α.?ghc = ε,
30 α.?installPhase = String,
27 α.?installPhase = String,
31 α.?nativeBuildInputs = [ε],
28 α.?nativeBuildInputs = [ε],
@@ -40,7 +37,7 @@
40 ghc = ε;
37 ghc = ε;
41 glibcLocales = λ;
38 glibcLocales = λ;
42 lib = κ;
39 lib = κ;
43− makeSetupHook = {} -> Path -> ε;
40+ makeSetupHook = {} -> String -> ε;
44 pkgconfig = ε;
41 pkgconfig = ε;
45 stack = ε;
42 stack = ε;
46 stdenv = η;
43 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 = Path;
10+ goDeps = String;
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 = Integer;};};};
9+ { boot = {loader = {grub = {enable = Bool; version = Number;};};};
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 = β -> [Path] -> κ,
17+ γ.optionals = β -> [String] -> κ,
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 = [Path];
15+ patches = [String];
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 = [Path];
17+ patches = [String];
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 = Path; maintainers = [ξ];};
29+ meta = {doc = String; 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− Path ->
3+ String ->
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 = Path;} -> η,
14+ {bash = μ; isExecutable = Bool; path = [ν]; src = String;} -> η,
15 ε.loader = ξ,
15 ε.loader = ξ,
16 ξ.initScript = ο,
16 ξ.initScript = ο,
17 ο.enable = ζ,
17 ο.enable = ζ,
test/golden/importless/integrations-core.txt+10−13
@@ -1,17 +1,14 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ.
1∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ.
2−( ( α
2+( α //
3− ) //
4− ( { doCheck = Bool;
3+ { doCheck = Bool;
5− name = String;
4+ name = String;
6− postPatch = String;
5+ postPatch = String;
7− sourceRoot = String;
6+ sourceRoot = String;
8− src = β;
7+ src = β;
9− version = String;
8+ version = String;
10− }
11− ) ~
9+ } ~
12− ( γ
10+ γ,
13− ),
14− (δ) // ({datadog_checks_base = ε; python = ζ;}) ~ (η),
11+ δ // {datadog_checks_base = ε; python = ζ;} ~ η,
15 θ.fetchFromGitHub =
12 θ.fetchFromGitHub =
16 {owner = String; repo = String; rev = String; sha256 = String;} -> β,
13 {owner = String; repo = String; rev = String; sha256 = String;} -> β,
17 θ.lib = ι,
14 θ.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 = Integer -> [String] -> η,
8+ γ.mkOrder = Number -> [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+2−1
@@ -28,7 +28,8 @@
28 ε.iproute2 = φ,
28 ε.iproute2 = φ,
29 φ.enable = θ,
29 φ.enable = θ,
30 φ.rttablesExtraConfig = String,
30 φ.rttablesExtraConfig = String,
31− υ.lines = σ
31+ υ.lines = σ,
32+ (String | Number) ~ π
32) =>
33) =>
33α ->
34α ->
34{ config = ρ;
35{ 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+7−10
@@ -1,14 +1,11 @@
1∀ α β γ δ ε ζ η θ ι κ.
1∀ α β γ δ ε ζ η θ ι κ.
2−( ( α
2+( α //
3− ) //
4− ( { meta = {homepage = String; license = β;};
3+ { meta = {homepage = String; license = β;};
5− minimumOCamlVersion = String;
4+ minimumOCamlVersion = String;
6− src = γ;
5+ src = γ;
7− version = String;
6+ version = String;
8− }
9− ) ~
7+ } ~
10− ( δ
8+ δ,
11− ),
12 α.?version = String,
9 α.?version = String,
13 ε.lib = ζ,
10 ε.lib = ζ,
14 α.hash = η,
11 α.hash = η,
test/golden/importless/janePackage_0_12.txt+7−10
@@ -1,14 +1,11 @@
1∀ α β γ δ ε ζ η θ ι.
1∀ α β γ δ ε ζ η θ ι.
2−( ( α
2+( α //
3− ) //
4− ( { meta = {homepage = String; license = β;};
3+ { meta = {homepage = String; license = β;};
5− minimumOCamlVersion = String;
4+ minimumOCamlVersion = String;
6− src = γ;
5+ src = γ;
7− version = String;
6+ version = String;
8− }
9− ) ~
7+ } ~
10− ( δ
8+ δ,
11− ),
12 α.?version = String,
9 α.?version = String,
13 ε.licenses = ζ,
10 ε.licenses = ζ,
14 α.hash = η,
11 α.hash = η,
test/golden/importless/janePackage_0_13.txt+7−10
@@ -1,14 +1,11 @@
1∀ α β γ δ ε ζ η θ ι.
1∀ α β γ δ ε ζ η θ ι.
2−( ( α
2+( α //
3− ) //
4− ( { meta = {homepage = String; license = β;};
3+ { meta = {homepage = String; license = β;};
5− minimumOCamlVersion = String;
4+ minimumOCamlVersion = String;
6− src = γ;
5+ src = γ;
7− version = String;
6+ version = String;
8− }
9− ) ~
7+ } ~
10− ( δ
8+ δ,
11− ),
12 α.?version = String,
9 α.?version = String,
13 ε.licenses = ζ,
10 ε.licenses = ζ,
14 α.hash = η,
11 α.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 = Integer;
6+ { dontStrip = Number;
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 = [Path];
17+ patches = [String];
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 = Path;
10+ { goDeps = String;
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 = Integer;
13+ port = Number;
14 serviceOpts = {serviceConfig = {ExecStart = String;};};
14 serviceOpts = {serviceConfig = {ExecStart = String;};};
15}
15}
test/golden/importless/karchive.txtnew file+18
@@ -0,0 +1,18 @@
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.txtnew file+17
@@ -0,0 +1,17 @@
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.txtnew file+15
@@ -0,0 +1,15 @@
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.txtnew file+16
@@ -0,0 +1,16 @@
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.txtnew file+16
@@ -0,0 +1,16 @@
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.txtnew file+15
@@ -0,0 +1,15 @@
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 = [Path];
34+ patches = [String];
35 postPatch = String;
35 postPatch = String;
36 preFixup = String;
36 preFixup = String;
37 qtWrapperArgs = [String];
37 qtWrapperArgs = [String];
test/golden/importless/kdnssd.txtnew file+17
@@ -0,0 +1,17 @@
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 = Integer; serviceOpts = {serviceConfig = {ExecStart = String;};};}
8+{port = Number; serviceOpts = {serviceConfig = {ExecStart = String;};};}
test/golden/importless/kguiaddons.txtnew file+16
@@ -0,0 +1,16 @@
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.txtnew file+18
@@ -0,0 +1,18 @@
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.txtnew file+15
@@ -0,0 +1,15 @@
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.txtnew file+15
@@ -0,0 +1,15 @@
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.txtnew file+14
@@ -0,0 +1,14 @@
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.txtnew file+16
@@ -0,0 +1,16 @@
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.txtnew file+15
@@ -0,0 +1,15 @@
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 = Path;
12+ goDeps = String;
13 goPackagePath = String;
13 goPackagePath = String;
14 meta =
14 meta =
15 { description = String;
15 { description = String;
test/golden/importless/kwayland.txtnew file+19
@@ -0,0 +1,19 @@
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.txtnew file+16
@@ -0,0 +1,16 @@
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 = [Path];
8+ patches = [String];
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 = [Path];
7+ patches = [String];
8− src = Path;
8+ src = String;
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;} -> Path; stdenv = α;} -> ε
16+{fetchurl = {sha256 = String; url = String;} -> String; stdenv = α;} -> ε
test/golden/importless/licenses.txt+14−17
@@ -1,21 +1,18 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1.
1∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω α1 β1.
2−( (α) // ({shortName = β;}) ~ (γ),
2+( α // {shortName = β;} ~ γ,
3− ( δ
3+ δ //
4− ) //
5− ( { agpl3 = ε;
4+ { agpl3 = ε;
6− fdl11 = ζ;
5+ fdl11 = ζ;
7− fdl12 = η;
6+ fdl12 = η;
8− fdl13 = θ;
7+ fdl13 = θ;
9− gpl1 = ι;
8+ gpl1 = ι;
10− gpl2 = κ;
9+ gpl2 = κ;
11− gpl3 = λ;
10+ gpl3 = λ;
12− lgpl2 = μ;
11+ lgpl2 = μ;
13− lgpl21 = ν;
12+ lgpl21 = ν;
14− lgpl3 = ξ;
13+ lgpl3 = ξ;
15− }
16− ) ~
14+ } ~
17− ( ο
15+ ο,
18− ),
19 π.licenses = ρ,
16 π.licenses = ρ,
20 π.mapAttrs =
17 π.mapAttrs =
21 (β -> α -> γ) ->
18 (β -> α -> γ) ->
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+8−11
@@ -1,14 +1,11 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ.
1∀ α β γ δ ε ζ η θ ι κ λ μ.
2−( ( α
2+( α //
3− ) //
4− ( { extraMeta = {branch = β;};
3+ { extraMeta = {branch = β;};
5− modDirVersion = Null;
4+ modDirVersion = Null;
6− src = γ;
5+ src = γ;
7− version = String;
6+ version = String;
8− }
9− ) ~
7+ } ~
10− ( δ
8+ δ,
11− ),
12 α.?argsOverride = {},
9 α.?argsOverride = {},
13 α.?modDirVersionArg = Null,
10 α.?modDirVersionArg = Null,
14 α.buildLinux = δ -> ε,
11 α.buildLinux = δ -> ε,
@@ -19,7 +16,7 @@
19 θ.lib = ι,
16 θ.lib = ι,
20 ι.concatStringsSep = String -> κ -> Null,
17 ι.concatStringsSep = String -> κ -> Null,
21 ι.splitVersion = String -> λ,
18 ι.splitVersion = String -> λ,
22− ι.take = Integer -> λ -> κ,
19+ ι.take = Number -> λ -> κ,
23 ι.versions = μ,
20 ι.versions = μ,
24 μ.majorMinor = String -> β
21 μ.majorMinor = String -> β
25) =>
22) =>
test/golden/importless/linux-4.19.txt+8−11
@@ -1,14 +1,11 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ.
1∀ α β γ δ ε ζ η θ ι κ λ μ.
2−( ( α
2+( α //
3− ) //
4− ( { extraMeta = {branch = β;};
3+ { extraMeta = {branch = β;};
5− modDirVersion = Null;
4+ modDirVersion = Null;
6− src = γ;
5+ src = γ;
7− version = String;
6+ version = String;
8− }
9− ) ~
7+ } ~
10− ( δ
8+ δ,
11− ),
12 α.?argsOverride = {},
9 α.?argsOverride = {},
13 α.?modDirVersionArg = Null,
10 α.?modDirVersionArg = Null,
14 α.buildLinux = δ -> ε,
11 α.buildLinux = δ -> ε,
@@ -19,7 +16,7 @@
19 θ.lib = ι,
16 θ.lib = ι,
20 ι.concatStringsSep = String -> κ -> Null,
17 ι.concatStringsSep = String -> κ -> Null,
21 ι.splitVersion = String -> λ,
18 ι.splitVersion = String -> λ,
22− ι.take = Integer -> λ -> κ,
19+ ι.take = Number -> λ -> κ,
23 ι.versions = μ,
20 ι.versions = μ,
24 μ.majorMinor = String -> β
21 μ.majorMinor = String -> β
25) =>
22) =>
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+8−11
@@ -1,14 +1,11 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ.
1∀ α β γ δ ε ζ η θ ι κ λ μ.
2−( ( α
2+( α //
3− ) //
4− ( { extraMeta = {branch = β;};
3+ { extraMeta = {branch = β;};
5− modDirVersion = Null;
4+ modDirVersion = Null;
6− src = γ;
5+ src = γ;
7− version = String;
6+ version = String;
8− }
9− ) ~
7+ } ~
10− ( δ
8+ δ,
11− ),
12 α.?argsOverride = {},
9 α.?argsOverride = {},
13 α.?modDirVersionArg = Null,
10 α.?modDirVersionArg = Null,
14 α.buildLinux = δ -> ε,
11 α.buildLinux = δ -> ε,
@@ -19,7 +16,7 @@
19 θ.lib = ι,
16 θ.lib = ι,
20 ι.concatStringsSep = String -> κ -> Null,
17 ι.concatStringsSep = String -> κ -> Null,
21 ι.splitVersion = String -> λ,
18 ι.splitVersion = String -> λ,
22− ι.take = Integer -> λ -> κ,
19+ ι.take = Number -> λ -> κ,
23 ι.versions = μ,
20 ι.versions = μ,
24 μ.majorMinor = String -> β
21 μ.majorMinor = String -> β
25) =>
22) =>
test/golden/importless/linux-5.8.txt+8−11
@@ -1,14 +1,11 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ.
1∀ α β γ δ ε ζ η θ ι κ λ μ.
2−( ( α
2+( α //
3− ) //
4− ( { extraMeta = {branch = β;};
3+ { extraMeta = {branch = β;};
5− modDirVersion = Null;
4+ modDirVersion = Null;
6− src = γ;
5+ src = γ;
7− version = String;
6+ version = String;
8− }
9− ) ~
7+ } ~
10− ( δ
8+ δ,
11− ),
12 α.?argsOverride = {},
9 α.?argsOverride = {},
13 α.?modDirVersionArg = Null,
10 α.?modDirVersionArg = Null,
14 α.buildLinux = δ -> ε,
11 α.buildLinux = δ -> ε,
@@ -19,7 +16,7 @@
19 θ.lib = ι,
16 θ.lib = ι,
20 ι.concatStringsSep = String -> κ -> Null,
17 ι.concatStringsSep = String -> κ -> Null,
21 ι.splitVersion = String -> λ,
18 ι.splitVersion = String -> λ,
22− ι.take = Integer -> λ -> κ,
19+ ι.take = Number -> λ -> κ,
23 ι.versions = μ,
20 ι.versions = μ,
24 μ.majorMinor = String -> β
21 μ.majorMinor = String -> β
25) =>
22) =>
test/golden/importless/linux-5.9.txt+8−11
@@ -1,14 +1,11 @@
1∀ α β γ δ ε ζ η θ ι κ λ μ.
1∀ α β γ δ ε ζ η θ ι κ λ μ.
2−( ( α
2+( α //
3− ) //
4− ( { extraMeta = {branch = β;};
3+ { extraMeta = {branch = β;};
5− modDirVersion = Null;
4+ modDirVersion = Null;
6− src = γ;
5+ src = γ;
7− version = String;
6+ version = String;
8− }
9− ) ~
7+ } ~
10− ( δ
8+ δ,
11− ),
12 α.?argsOverride = {},
9 α.?argsOverride = {},
13 α.?modDirVersionArg = Null,
10 α.?modDirVersionArg = Null,
14 α.buildLinux = δ -> ε,
11 α.buildLinux = δ -> ε,
@@ -19,7 +16,7 @@
19 θ.lib = ι,
16 θ.lib = ι,
20 ι.concatStringsSep = String -> κ -> Null,
17 ι.concatStringsSep = String -> κ -> Null,
21 ι.splitVersion = String -> λ,
18 ι.splitVersion = String -> λ,
22− ι.take = Integer -> λ -> κ,
19+ ι.take = Number -> λ -> κ,
23 ι.versions = μ,
20 ι.versions = μ,
24 μ.majorMinor = String -> β
21 μ.majorMinor = String -> β
25) =>
22) =>
test/golden/importless/linux-hardkernel-4.14.txt+9−12
@@ -1,16 +1,13 @@
1∀ α β γ δ ε ζ η θ ι.
1∀ α β γ δ ε ζ η θ ι.
2−( ( α
2+( α //
3− ) //
4− ( { defconfig = String;
3+ { defconfig = String;
5− extraConfig = String;
4+ extraConfig = String;
6− extraMeta = {branch = String; platforms = [String];};
5+ extraMeta = {branch = String; platforms = [String];};
7− modDirVersion = String;
6+ modDirVersion = String;
8− src = β;
7+ src = β;
9− version = String;
8+ version = String;
10− }
11− ) ~
9+ } ~
12− ( γ
10+ γ,
13− ),
14 α.?argsOverride = {},
11 α.?argsOverride = {},
15 α.?extraConfig = String,
12 α.?extraConfig = String,
16 α.buildLinux = γ -> δ,
13 α.buildLinux = γ -> δ,
test/golden/importless/linux-testing-bcachefs.txt+13−16
@@ -1,20 +1,17 @@
1∀ β γ δ ε ζ η θ ι κ λ μ.
1∀ β γ δ ε ζ η θ ι κ λ μ.
2−( ( β
2+( β //
3− ) //
4− ( { extraConfig = String;
3+ { extraConfig = String;
5− extraMeta =
4+ extraMeta =
6− { branch = String;
5+ { branch = String;
7− hydraPlatforms = ∀ α. α;
6+ hydraPlatforms = ∀ α. [α];
8− maintainers = [γ];
7+ maintainers = [γ];
9− platforms = [String];
8+ platforms = [String];
10− };
9+ };
11− modDirVersion = String;
10+ modDirVersion = String;
12− src = δ;
11+ src = δ;
13− version = String;
12+ version = String;
14− }
15− ) ~
13+ } ~
16− ( ε
14+ ε,
17− ),
18 β.?argsOverride = {},
15 β.?argsOverride = {},
19 β.buildLinux = ε -> ζ,
16 β.buildLinux = ε -> ζ,
20 β.buildPackages = η,
17 β.buildPackages = η,
test/golden/importless/linux-testing.txtdeleted−23
@@ -1,23 +0,0 @@
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+8−11
@@ -1,15 +1,12 @@
1∀ α β γ δ ε ζ η θ.
1∀ α β γ δ ε ζ η θ.
2−( ( α
2+( α //
3− ) //
4− ( { extraMeta = {branch = String; maintainers = [β];};
3+ { extraMeta = {branch = String; maintainers = [β];};
5− isZen = Bool;
4+ isZen = Bool;
6− modDirVersion = String;
5+ modDirVersion = String;
7− src = γ;
6+ src = γ;
8− version = String;
7+ version = String;
9− }
10− ) ~
8+ } ~
11− ( δ
9+ δ,
12− ),
13 α.?argsOverride = {},
10 α.?argsOverride = {},
14 α.buildLinux = δ -> ε,
11 α.buildLinux = δ -> ε,
15 α.fetchFromGitHub =
12 α.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 = [Path];
5+ { patches = [String];
6 pname = String;
6 pname = String;
7 postFixup = String;
7 postFixup = String;
8 postInstall = String;
8 postInstall = String;
test/golden/importless/liquidsoap.txtdeleted−68
@@ -1,68 +0,0 @@
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 = Integer; url = String;} -> θ;
42+ fetchpatch = {sha256 = String; stripLen = Number; 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− Path ->
5+ String ->
6 {stdenv = α;} ->
6 {stdenv = α;} ->
7 { buildPhase = String;
7 { buildPhase = String;
8− builder = Path;
8+ builder = String;
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 = [Path]; pname = String; src = γ; version = String;}) -> δ
3+ (β -> {patches = [String]; 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+9−12
@@ -1,15 +1,12 @@
1∀ α β γ.
1∀ α β γ.
2−( ( α
2+( α //
3− ) //
4− ( { brand = String;
3+ { brand = String;
5− homepage = String;
4+ homepage = String;
6− sha256 = String;
5+ sha256 = String;
7− type = String;
6+ type = String;
8− version = String;
7+ version = String;
9− }
8+ } ~
10− ) ~
11− ( β
9+ β,
12− ),
13− α.callPackage = Path -> β -> γ
10+ α.callPackage = String -> β -> γ
14) =>
11) =>
15α -> γ
12α -> γ
test/golden/importless/machine.txt+1−1
@@ -4,7 +4,7 @@
4 { config =
4 { config =
5 { packageOverrides =
5 { packageOverrides =
6 ∀ α β.
6 ∀ α β.
7− (α.callPackage = Path -> {} -> β) => α ->
7+ (α.callPackage = String -> {} -> β) => α ->
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 = [Path];
24+ patches = [String];
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 = [Path];
16+ patches = [String];
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 = Path;
14+ { goDeps = String;
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 = Integer;
22+ TimeoutSec = Number;
23 User = String;
23 User = String;
24 };
24 };
25 wantedBy = [String];
25 wantedBy = [String];
test/golden/importless/mainline.txt+3−2
@@ -1,3 +1,4 @@
1∀ α β.
1∀ α β.
2−(α.callPackage = Path -> α -> {sha256 = String; version = String;} -> β) => α ->
2+( α.callPackage = String -> α -> {sha256 = String; version = String;} -> β
3+) =>
3−β
4+α -> β
test/golden/importless/maintainer-list.txt+1490−1705
@@ -1,3218 +1,3003 @@
1{ Adjective-Object =
1{ Adjective-Object =
2− {email = String; github = String; githubId = Integer; name = String;};
2+ {email = String; github = String; githubId = Number; name = String;};
3 AluisioASG =
3 AluisioASG =
4 { email = String;
4 { email = String;
5 github = String;
5 github = String;
6− githubId = Integer;
6+ githubId = Number;
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 = Integer; name = String;};
11+ {email = String; github = String; githubId = Number; name = String;};
12 Anton-Latukha =
12 Anton-Latukha =
13− {email = String; github = String; githubId = Integer; name = String;};
13+ {email = String; github = String; githubId = Number; name = String;};
14− Baughn =
15− {email = String; github = String; githubId = Integer; name = String;};
14+ Baughn = {email = String; github = String; githubId = Number; name = String;};
16 CRTified =
15 CRTified =
17 { email = String;
16 { email = String;
18 github = String;
17 github = String;
19− githubId = Integer;
18+ githubId = Number;
20 keys = [{fingerprint = String; longkeyid = String;}];
19 keys = [{fingerprint = String; longkeyid = String;}];
21 name = String;
20 name = String;
22 };
21 };
23 CharlesHD =
22 CharlesHD =
24− {email = String; github = String; githubId = Integer; name = String;};
23+ {email = String; github = String; githubId = Number; name = String;};
25 ChengCat =
24 ChengCat =
26− {email = String; github = String; githubId = Integer; name = String;};
25+ {email = String; github = String; githubId = Number; name = String;};
27 Chili-Man =
26 Chili-Man =
28 { email = String;
27 { email = String;
29 github = String;
28 github = String;
30− githubId = Integer;
29+ githubId = Number;
31 keys = [{fingerprint = String; longkeyid = String;}];
30 keys = [{fingerprint = String; longkeyid = String;}];
32 name = String;
31 name = String;
33 };
32 };
34 CrazedProgrammer =
33 CrazedProgrammer =
35− {email = String; github = String; githubId = Integer; name = String;};
34+ {email = String; github = String; githubId = Number; name = String;};
36 CrystalGamma =
35 CrystalGamma =
37− {email = String; github = String; githubId = Integer; name = String;};
36+ {email = String; github = String; githubId = Number; name = String;};
38 DamienCassou =
37 DamienCassou =
39− {email = String; github = String; githubId = Integer; name = String;};
38+ {email = String; github = String; githubId = Number; name = String;};
40 DerGuteMoritz =
39 DerGuteMoritz =
41− {email = String; github = String; githubId = Integer; name = String;};
40+ {email = String; github = String; githubId = Number; name = String;};
42 DerTim1 =
41 DerTim1 =
43− {email = String; github = String; githubId = Integer; name = String;};
42+ {email = String; github = String; githubId = Number; name = String;};
44 Dje4321 =
43 Dje4321 =
45− {email = String; github = String; githubId = Integer; name = String;};
44+ {email = String; github = String; githubId = Number; name = String;};
46 DmitryTsygankov =
45 DmitryTsygankov =
47− {email = String; github = String; githubId = Integer; name = String;};
46+ {email = String; github = String; githubId = Number; name = String;};
48− Enteee =
49− {email = String; github = String; githubId = Integer; name = String;};
47+ Enteee = {email = String; github = String; githubId = Number; name = String;};
50 Esteth = {email = String; name = String;};
48 Esteth = {email = String; name = String;};
51 FireyFly =
49 FireyFly =
52− {email = String; github = String; githubId = Integer; name = String;};
50+ {email = String; github = String; githubId = Number; name = String;};
53 Flakebi =
51 Flakebi =
54 { email = String;
52 { email = String;
55 github = String;
53 github = String;
56− githubId = Integer;
54+ githubId = Number;
57 keys = [{fingerprint = String; longkeyid = String;}];
55 keys = [{fingerprint = String; longkeyid = String;}];
58 name = String;
56 name = String;
59 };
57 };
60 FlorianFranzen =
58 FlorianFranzen =
61− {email = String; github = String; githubId = Integer; name = String;};
59+ {email = String; github = String; githubId = Number; name = String;};
62 Fresheyeball =
60 Fresheyeball =
63− {email = String; github = String; githubId = Integer; name = String;};
61+ {email = String; github = String; githubId = Number; name = String;};
64 Frostman =
62 Frostman =
65− {email = String; github = String; githubId = Integer; name = String;};
63+ {email = String; github = String; githubId = Number; name = String;};
66− Gonzih =
67− {email = String; github = String; githubId = Integer; name = String;};
64+ Gonzih = {email = String; github = String; githubId = Number; name = String;};
68 GuillaumeDesforges =
65 GuillaumeDesforges =
69− {email = String; github = String; githubId = Integer; name = String;};
66+ {email = String; github = String; githubId = Number; name = String;};
70 HaoZeke =
67 HaoZeke =
71 { email = String;
68 { email = String;
72 github = String;
69 github = String;
73− githubId = Integer;
70+ githubId = Number;
74 keys = [{fingerprint = String; longkeyid = String;}];
71 keys = [{fingerprint = String; longkeyid = String;}];
75 name = String;
72 name = String;
76 };
73 };
77 KarlJoad =
74 KarlJoad =
78− {email = String; github = String; githubId = Integer; name = String;};
75+ {email = String; github = String; githubId = Number; name = String;};
79 KibaFox =
76 KibaFox =
80− {email = String; github = String; githubId = Integer; name = String;};
77+ {email = String; github = String; githubId = Number; name = String;};
81 Luflosi =
78 Luflosi =
82 { email = String;
79 { email = String;
83 github = String;
80 github = String;
84− githubId = Integer;
81+ githubId = Number;
85 keys = [{fingerprint = String; longkeyid = String;}];
82 keys = [{fingerprint = String; longkeyid = String;}];
86 name = String;
83 name = String;
87 };
84 };
88− MP2E = {email = String; github = String; githubId = Integer; name = String;};
85+ MP2E = {email = String; github = String; githubId = Number; name = String;};
89 McSinyx =
86 McSinyx =
90− {email = String; github = String; githubId = Integer; name = String;};
87+ {email = String; github = String; githubId = Number; name = String;};
91− Mogria =
92− {email = String; github = String; githubId = Integer; name = String;};
88+ Mogria = {email = String; github = String; githubId = Number; name = String;};
93 MostAwesomeDude =
89 MostAwesomeDude =
94− {email = String; github = String; githubId = Integer; name = String;};
90+ {email = String; github = String; githubId = Number; name = String;};
95− MtP = {email = String; github = String; githubId = Integer; name = String;};
91+ MtP = {email = String; github = String; githubId = Number; name = String;};
96 Nate-Devv = {email = String; name = String;};
92 Nate-Devv = {email = String; name = String;};
97 NikolaMandic =
93 NikolaMandic =
98− {email = String; github = String; githubId = Integer; name = String;};
94+ {email = String; github = String; githubId = Number; name = String;};
99 OPNA2608 =
95 OPNA2608 =
100− {email = String; github = String; githubId = Integer; name = String;};
96+ {email = String; github = String; githubId = Number; name = String;};
101 Phlogistique =
97 Phlogistique =
102− {email = String; github = String; githubId = Integer; name = String;};
98+ {email = String; github = String; githubId = Number; name = String;};
103 Profpatsch =
99 Profpatsch =
104− {email = String; github = String; githubId = Integer; name = String;};
100+ {email = String; github = String; githubId = Number; name = String;};
105 RaghavSood =
101 RaghavSood =
106− {email = String; github = String; githubId = Integer; name = String;};
102+ {email = String; github = String; githubId = Number; name = String;};
107 SShrike =
103 SShrike =
108− {email = String; github = String; githubId = Integer; name = String;};
104+ {email = String; github = String; githubId = Number; name = String;};
109 Scriptkiddi =
105 Scriptkiddi =
110− {email = String; github = String; githubId = Integer; name = String;};
106+ {email = String; github = String; githubId = Number; name = String;};
111 SeanZicari =
107 SeanZicari =
112− {email = String; github = String; githubId = Integer; name = String;};
108+ {email = String; github = String; githubId = Number; name = String;};
113 ShamrockLee =
109 ShamrockLee =
114− {email = String; github = String; githubId = Integer; name = String;};
110+ {email = String; github = String; githubId = Number; name = String;};
115 SlothOfAnarchy =
111 SlothOfAnarchy =
116− {email = String; github = String; githubId = Integer; name = String;};
112+ {email = String; github = String; githubId = Number; name = String;};
117 StijnDW =
113 StijnDW =
118− {email = String; github = String; githubId = Integer; name = String;};
114+ {email = String; github = String; githubId = Number; name = String;};
119 StillerHarpo =
115 StillerHarpo =
120− {email = String; github = String; githubId = Integer; name = String;};
116+ {email = String; github = String; githubId = Number; name = String;};
121 SuperSandro2000 =
117 SuperSandro2000 =
122− {email = String; github = String; githubId = Integer; name = String;};
118+ {email = String; github = String; githubId = Number; name = String;};
123 SuprDewd =
119 SuprDewd =
124− {email = String; github = String; githubId = Integer; name = String;};
120+ {email = String; github = String; githubId = Number; name = String;};
125 TethysSvensson =
121 TethysSvensson =
126− {email = String; github = String; githubId = Integer; name = String;};
122+ {email = String; github = String; githubId = Number; name = String;};
127 TheBrainScrambler =
123 TheBrainScrambler =
128− {email = String; github = String; githubId = Integer; name = String;};
124+ {email = String; github = String; githubId = Number; name = String;};
129 ThomasMader =
125 ThomasMader =
130− {email = String; github = String; githubId = Integer; name = String;};
126+ {email = String; github = String; githubId = Number; name = String;};
131− Thra11 =
132− {email = String; github = String; githubId = Integer; name = String;};
127+ Thra11 = {email = String; github = String; githubId = Number; name = String;};
133 WhittlesJr =
128 WhittlesJr =
134− {email = String; github = String; githubId = Integer; name = String;};
129+ {email = String; github = String; githubId = Number; name = String;};
135 Yumasi =
130 Yumasi =
136 { email = String;
131 { email = String;
137 github = String;
132 github = String;
138− githubId = Integer;
133+ githubId = Number;
139 keys = [{fingerprint = String; longkeyid = String;}];
134 keys = [{fingerprint = String; longkeyid = String;}];
140 name = String;
135 name = String;
141 };
136 };
142 Zimmi48 =
137 Zimmi48 =
143− {email = String; github = String; githubId = Integer; name = String;};
138+ {email = String; github = String; githubId = Number; name = String;};
144 _0x4A6F =
139 _0x4A6F =
145 { email = String;
140 { email = String;
146 github = String;
141 github = String;
147− githubId = Integer;
142+ githubId = Number;
148 keys = [{fingerprint = String; longkeyid = String;}];
143 keys = [{fingerprint = String; longkeyid = String;}];
149 name = String;
144 name = String;
150 };
145 };
151 _1000101 =
146 _1000101 =
152− {email = String; github = String; githubId = Integer; name = String;};
147+ {email = String; github = String; githubId = Number; name = String;};
153 a1russell =
148 a1russell =
154− {email = String; github = String; githubId = Integer; name = String;};
149+ {email = String; github = String; githubId = Number; name = String;};
155 aanderse =
150 aanderse =
156− {email = String; github = String; githubId = Integer; name = String;};
151+ {email = String; github = String; githubId = Number; name = String;};
157 aaronjanse =
152 aaronjanse =
158− {email = String; github = String; githubId = Integer; name = String;};
153+ {email = String; github = String; githubId = Number; name = String;};
159 aaronschif =
154 aaronschif =
160− {email = String; github = String; githubId = Integer; name = String;};
155+ {email = String; github = String; githubId = Number; name = String;};
161 abaldeau =
156 abaldeau =
162− {email = String; github = String; githubId = Integer; name = String;};
157+ {email = String; github = String; githubId = Number; name = String;};
163 abbe =
158 abbe =
164 { email = String;
159 { email = String;
165 github = String;
160 github = String;
166− githubId = Integer;
161+ githubId = Number;
167 keys = [{fingerprint = String; longkeyid = String;}];
162 keys = [{fingerprint = String; longkeyid = String;}];
168 name = String;
163 name = String;
169 };
164 };
170 abbradar =
165 abbradar =
171− {email = String; github = String; githubId = Integer; name = String;};
166+ {email = String; github = String; githubId = Number; name = String;};
172 abhi18av =
167 abhi18av =
173− {email = String; github = String; githubId = Integer; name = String;};
168+ {email = String; github = String; githubId = Number; name = String;};
174 abigailbuccaneer =
169 abigailbuccaneer =
175− {email = String; github = String; githubId = Integer; name = String;};
170+ {email = String; github = String; githubId = Number; name = String;};
176− aborsu =
177− {email = String; github = String; githubId = Integer; name = String;};
171+ aborsu = {email = String; github = String; githubId = Number; name = String;};
178 aboseley =
172 aboseley =
179− {email = String; github = String; githubId = Integer; name = String;};
173+ {email = String; github = String; githubId = Number; name = String;};
180 abuibrahim =
174 abuibrahim =
181− {email = String; github = String; githubId = Integer; name = String;};
175+ {email = String; github = String; githubId = Number; name = String;};
182 acairncross =
176 acairncross =
183− {email = String; github = String; githubId = Integer; name = String;};
177+ {email = String; github = String; githubId = Number; name = String;};
184 aciceri =
178 aciceri =
185− {email = String; github = String; githubId = Integer; name = String;};
179+ {email = String; github = String; githubId = Number; name = String;};
186 acowley =
180 acowley =
187− {email = String; github = String; githubId = Integer; name = String;};
181+ {email = String; github = String; githubId = Number; name = String;};
188− adamt = {email = String; github = String; githubId = Integer; name = String;};
182+ adamt = {email = String; github = String; githubId = Number; name = String;};
189 adelbertc =
183 adelbertc =
190− {email = String; github = String; githubId = Integer; name = String;};
184+ {email = String; github = String; githubId = Number; name = String;};
191− adev = {email = String; github = String; githubId = Integer; name = String;};
185+ adev = {email = String; github = String; githubId = Number; name = String;};
192 adisbladis =
186 adisbladis =
193− {email = String; github = String; githubId = Integer; name = String;};
187+ {email = String; github = String; githubId = Number; name = String;};
194 adnelson =
188 adnelson =
195− {email = String; github = String; githubId = Integer; name = String;};
189+ {email = String; github = String; githubId = Number; name = String;};
196 adolfogc =
190 adolfogc =
197− {email = String; github = String; githubId = Integer; name = String;};
191+ {email = String; github = String; githubId = Number; name = String;};
198− adsr = {email = String; github = String; githubId = Integer; name = String;};
192+ adsr = {email = String; github = String; githubId = Number; name = String;};
199 aerialx =
193 aerialx =
200− {email = String; github = String; githubId = Integer; name = String;};
194+ {email = String; github = String; githubId = Number; name = String;};
201 aespinosa =
195 aespinosa =
202− {email = String; github = String; githubId = Integer; name = String;};
196+ {email = String; github = String; githubId = Number; name = String;};
203 aethelz =
197 aethelz =
204− {email = String; github = String; githubId = Integer; name = String;};
198+ {email = String; github = String; githubId = Number; name = String;};
205 aflatter =
199 aflatter =
206− {email = String; github = String; githubId = Integer; name = String;};
200+ {email = String; github = String; githubId = Number; name = String;};
207− afldcr =
208− {email = String; github = String; githubId = Integer; name = String;};
201+ afldcr = {email = String; github = String; githubId = Number; name = String;};
209 aforemny =
202 aforemny =
210− {email = String; github = String; githubId = Integer; name = String;};
203+ {email = String; github = String; githubId = Number; name = String;};
211 afranchuk =
204 afranchuk =
212− {email = String; github = String; githubId = Integer; name = String;};
205+ {email = String; github = String; githubId = Number; name = String;};
213 aherrmann =
206 aherrmann =
214− {email = String; github = String; githubId = Integer; name = String;};
207+ {email = String; github = String; githubId = Number; name = String;};
215− ahrzb = {email = String; github = String; githubId = Integer; name = String;};
208+ ahrzb = {email = String; github = String; githubId = Number; name = String;};
216− ahuzik =
217− {email = String; github = String; githubId = Integer; name = String;};
209+ ahuzik = {email = String; github = String; githubId = Number; name = String;};
218− aij = {email = String; github = String; githubId = Integer; name = String;};
210+ aij = {email = String; github = String; githubId = Number; name = String;};
219− ajgrf = {email = String; github = String; githubId = Integer; name = String;};
211+ ajgrf = {email = String; github = String; githubId = Number; name = String;};
220− ajs124 =
221− {email = String; github = String; githubId = Integer; name = String;};
212+ ajs124 = {email = String; github = String; githubId = Number; name = String;};
222− ak = {email = String; github = String; githubId = Integer; name = String;};
213+ ak = {email = String; github = String; githubId = Number; name = String;};
223 akaWolf =
214 akaWolf =
224− {email = String; github = String; githubId = Integer; name = String;};
215+ {email = String; github = String; githubId = Number; name = String;};
225 akamaus =
216 akamaus =
226− {email = String; github = String; githubId = Integer; name = String;};
217+ {email = String; github = String; githubId = Number; name = String;};
227− akavel =
228− {email = String; github = String; githubId = Integer; name = String;};
218+ akavel = {email = String; github = String; githubId = Number; name = String;};
229− akc = {email = String; github = String; githubId = Integer; name = String;};
219+ akc = {email = String; github = String; githubId = Number; name = String;};
230− akru = {email = String; github = String; githubId = Integer; name = String;};
220+ akru = {email = String; github = String; githubId = Number; name = String;};
231 albakham =
221 albakham =
232− {email = String; github = String; githubId = Integer; name = String;};
222+ {email = String; github = String; githubId = Number; name = String;};
233 alerque =
223 alerque =
234− {email = String; github = String; githubId = Integer; name = String;};
224+ {email = String; github = String; githubId = Number; name = String;};
235 alexarice =
225 alexarice =
236− {email = String; github = String; githubId = Integer; name = String;};
226+ {email = String; github = String; githubId = Number; name = String;};
237 alexbakker =
227 alexbakker =
238− {email = String; github = String; githubId = Integer; name = String;};
228+ {email = String; github = String; githubId = Number; name = String;};
239 alexbiehl =
229 alexbiehl =
240− {email = String; github = String; githubId = Integer; name = String;};
230+ {email = String; github = String; githubId = Number; name = String;};
241 alexchapman =
231 alexchapman =
242− {email = String; github = String; githubId = Integer; name = String;};
232+ {email = String; github = String; githubId = Number; name = String;};
243 alexfmpe =
233 alexfmpe =
244− {email = String; github = String; githubId = Integer; name = String;};
234+ {email = String; github = String; githubId = Number; name = String;};
245 alexvorobiev =
235 alexvorobiev =
246− {email = String; github = String; githubId = Integer; name = String;};
236+ {email = String; github = String; githubId = Number; name = String;};
247 algorith = {email = String; name = String;};
237 algorith = {email = String; name = String;};
248 alibabzo =
238 alibabzo =
249− {email = String; github = String; githubId = Integer; name = String;};
239+ {email = String; github = String; githubId = Number; name = String;};
250 alkeryn =
240 alkeryn =
251− {email = String; github = String; githubId = Integer; name = String;};
241+ {email = String; github = String; githubId = Number; name = String;};
252 all = {email = String; name = String;};
242 all = {email = String; name = String;};
253 allonsy =
243 allonsy =
254− {email = String; github = String; githubId = Integer; name = String;};
244+ {email = String; github = String; githubId = Number; name = String;};
255− almac = {email = String; github = String; githubId = Integer; name = String;};
245+ almac = {email = String; github = String; githubId = Number; name = String;};
256 alunduil =
246 alunduil =
257− {email = String; github = String; githubId = Integer; name = String;};
247+ {email = String; github = String; githubId = Number; name = String;};
258 alva =
248 alva =
259 { email = String;
249 { email = String;
260 github = String;
250 github = String;
261− githubId = Integer;
251+ githubId = Number;
262 keys = [{fingerprint = String; longkeyid = String;}];
252 keys = [{fingerprint = String; longkeyid = String;}];
263 name = String;
253 name = String;
264 };
254 };
265 amar1729 =
255 amar1729 =
266− {email = String; github = String; githubId = Integer; name = String;};
256+ {email = String; github = String; githubId = Number; name = String;};
267 ambrop72 =
257 ambrop72 =
268− {email = String; github = String; githubId = Integer; name = String;};
258+ {email = String; github = String; githubId = Number; name = String;};
269 amiddelk =
259 amiddelk =
270− {email = String; github = String; githubId = Integer; name = String;};
260+ {email = String; github = String; githubId = Number; name = String;};
271 amiloradovsky =
261 amiloradovsky =
272− {email = String; github = String; githubId = Integer; name = String;};
262+ {email = String; github = String; githubId = Number; name = String;};
273 aminechikhaoui =
263 aminechikhaoui =
274− {email = String; github = String; githubId = Integer; name = String;};
264+ {email = String; github = String; githubId = Number; name = String;};
275 amorsillo =
265 amorsillo =
276− {email = String; github = String; githubId = Integer; name = String;};
266+ {email = String; github = String; githubId = Number; name = String;};
277 andehen =
267 andehen =
278− {email = String; github = String; githubId = Integer; name = String;};
268+ {email = String; github = String; githubId = Number; name = String;};
279 andersk =
269 andersk =
280− {email = String; github = String; githubId = Integer; name = String;};
270+ {email = String; github = String; githubId = Number; name = String;};
281 anderslundstedt =
271 anderslundstedt =
282− {email = String; github = String; githubId = Integer; name = String;};
272+ {email = String; github = String; githubId = Number; name = String;};
283 anderspapitto =
273 anderspapitto =
284− {email = String; github = String; githubId = Integer; name = String;};
274+ {email = String; github = String; githubId = Number; name = String;};
285− andir = {email = String; github = String; githubId = Integer; name = String;};
275+ andir = {email = String; github = String; githubId = Number; name = String;};
286 andreabedini =
276 andreabedini =
287− {email = String; github = String; githubId = Integer; name = String;};
277+ {email = String; github = String; githubId = Number; name = String;};
288− andres =
289− {email = String; github = String; githubId = Integer; name = String;};
278+ andres = {email = String; github = String; githubId = Number; name = String;};
290 andrestylianos =
279 andrestylianos =
291− {email = String; github = String; githubId = Integer; name = String;};
280+ {email = String; github = String; githubId = Number; name = String;};
292 andrew-d =
281 andrew-d =
293− {email = String; github = String; githubId = Integer; name = String;};
282+ {email = String; github = String; githubId = Number; name = String;};
294 andrewchambers =
283 andrewchambers =
295− {email = String; github = String; githubId = Integer; name = String;};
284+ {email = String; github = String; githubId = Number; name = String;};
296 andrewrk =
285 andrewrk =
297− {email = String; github = String; githubId = Integer; name = String;};
286+ {email = String; github = String; githubId = Number; name = String;};
298 andsild =
287 andsild =
299− {email = String; github = String; githubId = Integer; name = String;};
288+ {email = String; github = String; githubId = Number; name = String;};
300 aneeshusa =
289 aneeshusa =
301− {email = String; github = String; githubId = Integer; name = String;};
290+ {email = String; github = String; githubId = Number; name = String;};
302 angristan =
291 angristan =
303− {email = String; github = String; githubId = Integer; name = String;};
292+ {email = String; github = String; githubId = Number; name = String;};
304 ankhers =
293 ankhers =
305− {email = String; github = String; githubId = Integer; name = String;};
294+ {email = String; github = String; githubId = Number; name = String;};
306 anmonteiro =
295 anmonteiro =
307− {email = String; github = String; githubId = Integer; name = String;};
296+ {email = String; github = String; githubId = Number; name = String;};
308 anna328p =
297 anna328p =
309− {email = String; github = String; githubId = Integer; name = String;};
298+ {email = String; github = String; githubId = Number; name = String;};
310− anpryl =
311− {email = String; github = String; githubId = Integer; name = String;};
299+ anpryl = {email = String; github = String; githubId = Number; name = String;};
312 antoinerg =
300 antoinerg =
313− {email = String; github = String; githubId = Integer; name = String;};
301+ {email = String; github = String; githubId = Number; name = String;};
314 anton-dessiatov =
302 anton-dessiatov =
315− {email = String; github = String; githubId = Integer; name = String;};
303+ {email = String; github = String; githubId = Number; name = String;};
316− antono =
317− {email = String; github = String; githubId = Integer; name = String;};
304+ antono = {email = String; github = String; githubId = Number; name = String;};
318 antonxy =
305 antonxy =
319− {email = String; github = String; githubId = Integer; name = String;};
306+ {email = String; github = String; githubId = Number; name = String;};
320 apeschar =
307 apeschar =
321− {email = String; github = String; githubId = Integer; name = String;};
308+ {email = String; github = String; githubId = Number; name = String;};
322 apeyroux =
309 apeyroux =
323− {email = String; github = String; githubId = Integer; name = String;};
310+ {email = String; github = String; githubId = Number; name = String;};
324− ar1a = {email = String; github = String; githubId = Integer; name = String;};
311+ ar1a = {email = String; github = String; githubId = Number; name = String;};
325 arcadio =
312 arcadio =
326− {email = String; github = String; githubId = Integer; name = String;};
313+ {email = String; github = String; githubId = Number; name = String;};
327− arcnmx =
328− {email = String; github = String; githubId = Integer; name = String;};
314+ arcnmx = {email = String; github = String; githubId = Number; name = String;};
329 ardumont =
315 ardumont =
330− {email = String; github = String; githubId = Integer; name = String;};
316+ {email = String; github = String; githubId = Number; name = String;};
331 arianvp =
317 arianvp =
332− {email = String; github = String; githubId = Integer; name = String;};
318+ {email = String; github = String; githubId = Number; name = String;};
333 aristid =
319 aristid =
334− {email = String; github = String; githubId = Integer; name = String;};
320+ {email = String; github = String; githubId = Number; name = String;};
335 ariutta =
321 ariutta =
336− {email = String; github = String; githubId = Integer; name = String;};
322+ {email = String; github = String; githubId = Number; name = String;};
337− arnarg =
338− {email = String; github = String; githubId = Integer; name = String;};
323+ arnarg = {email = String; github = String; githubId = Number; name = String;};
339 arnoldfarkas =
324 arnoldfarkas =
340− {email = String; github = String; githubId = Integer; name = String;};
325+ {email = String; github = String; githubId = Number; name = String;};
341− arobyn =
342− {email = String; github = String; githubId = Integer; name = String;};
326+ arobyn = {email = String; github = String; githubId = Number; name = String;};
343 artemist =
327 artemist =
344 { email = String;
328 { email = String;
345 github = String;
329 github = String;
346− githubId = Integer;
330+ githubId = Number;
347 keys = [{fingerprint = String; longkeyid = String;}];
331 keys = [{fingerprint = String; longkeyid = String;}];
348 name = String;
332 name = String;
349 };
333 };
350− arthur =
351− {email = String; github = String; githubId = Integer; name = String;};
334+ arthur = {email = String; github = String; githubId = Number; name = String;};
352 artturin =
335 artturin =
353− {email = String; github = String; githubId = Integer; name = String;};
336+ {email = String; github = String; githubId = Number; name = String;};
354 arturcygan =
337 arturcygan =
355− {email = String; github = String; githubId = Integer; name = String;};
338+ {email = String; github = String; githubId = Number; name = String;};
356 artuuge =
339 artuuge =
357− {email = String; github = String; githubId = Integer; name = String;};
340+ {email = String; github = String; githubId = Number; name = String;};
358 asbachb =
341 asbachb =
359− {email = String; github = String; githubId = Integer; name = String;};
342+ {email = String; github = String; githubId = Number; name = String;};
360 ashalkhakov =
343 ashalkhakov =
361− {email = String; github = String; githubId = Integer; name = String;};
344+ {email = String; github = String; githubId = Number; name = String;};
362 ashgillman =
345 ashgillman =
363− {email = String; github = String; githubId = Integer; name = String;};
346+ {email = String; github = String; githubId = Number; name = String;};
364 ashkitten =
347 ashkitten =
365− {email = String; github = String; githubId = Integer; name = String;};
348+ {email = String; github = String; githubId = Number; name = String;};
366− aske = {email = String; github = String; githubId = Integer; name = String;};
349+ aske = {email = String; github = String; githubId = Number; name = String;};
367− asppsa =
368− {email = String; github = String; githubId = Integer; name = String;};
350+ asppsa = {email = String; github = String; githubId = Number; name = String;};
369− astro = {email = String; github = String; githubId = Integer; name = String;};
351+ astro = {email = String; github = String; githubId = Number; name = String;};
370 astsmtl =
352 astsmtl =
371− {email = String; github = String; githubId = Integer; name = String;};
353+ {email = String; github = String; githubId = Number; name = String;};
372 asymmetric =
354 asymmetric =
373− {email = String; github = String; githubId = Integer; name = String;};
355+ {email = String; github = String; githubId = Number; name = String;};
374− aszlig =
375− {email = String; github = String; githubId = Integer; name = String;};
356+ aszlig = {email = String; github = String; githubId = Number; name = String;};
376− atemu = {email = String; github = String; githubId = Integer; name = String;};
357+ atemu = {email = String; github = String; githubId = Number; name = String;};
377− athas = {email = String; github = String; githubId = Integer; name = String;};
358+ athas = {email = String; github = String; githubId = Number; name = String;};
378 atkinschang =
359 atkinschang =
379− {email = String; github = String; githubId = Integer; name = String;};
360+ {email = String; github = String; githubId = Number; name = String;};
380− atnnn = {email = String; github = String; githubId = Integer; name = String;};
361+ atnnn = {email = String; github = String; githubId = Number; name = String;};
381− auntie =
382− {email = String; github = String; githubId = Integer; name = String;};
362+ auntie = {email = String; github = String; githubId = Number; name = String;};
383 austinbutler =
363 austinbutler =
384− {email = String; github = String; githubId = Integer; name = String;};
364+ {email = String; github = String; githubId = Number; name = String;};
385− avaq = {email = String; github = String; githubId = Integer; name = String;};
365+ avaq = {email = String; github = String; githubId = Number; name = String;};
386 averelld =
366 averelld =
387− {email = String; github = String; githubId = Integer; name = String;};
367+ {email = String; github = String; githubId = Number; name = String;};
388− avery = {email = String; github = String; githubId = Integer; name = String;};
368+ avery = {email = String; github = String; githubId = Number; name = String;};
389 avitex =
369 avitex =
390 { email = String;
370 { email = String;
391 github = String;
371 github = String;
392− githubId = Integer;
372+ githubId = Number;
393 keys = [{fingerprint = String; longkeyid = String;}];
373 keys = [{fingerprint = String; longkeyid = String;}];
394 name = String;
374 name = String;
395 };
375 };
396− avnik = {email = String; github = String; githubId = Integer; name = String;};
376+ avnik = {email = String; github = String; githubId = Number; name = String;};
397− aw = {email = String; github = String; githubId = Integer; name = String;};
377+ aw = {email = String; github = String; githubId = Number; name = String;};
398 aycanirican =
378 aycanirican =
399− {email = String; github = String; githubId = Integer; name = String;};
379+ {email = String; github = String; githubId = Number; name = String;};
400 b4dm4n =
380 b4dm4n =
401 { email = String;
381 { email = String;
402 github = String;
382 github = String;
403− githubId = Integer;
383+ githubId = Number;
404 keys = [{fingerprint = String; longkeyid = String;}];
384 keys = [{fingerprint = String; longkeyid = String;}];
405 name = String;
385 name = String;
406 };
386 };
407 babariviere =
387 babariviere =
408− {email = String; github = String; githubId = Integer; name = String;};
388+ {email = String; github = String; githubId = Number; name = String;};
409− bachp = {email = String; github = String; githubId = Integer; name = String;};
389+ bachp = {email = String; github = String; githubId = Number; name = String;};
410 backuitist =
390 backuitist =
411− {email = String; github = String; githubId = Integer; name = String;};
391+ {email = String; github = String; githubId = Number; name = String;};
412− badi = {email = String; github = String; githubId = Integer; name = String;};
392+ badi = {email = String; github = String; githubId = Number; name = String;};
413 balajisivaraman = {email = String; name = String;};
393 balajisivaraman = {email = String; name = String;};
414 balsoft =
394 balsoft =
415− {email = String; github = String; githubId = Integer; name = String;};
395+ {email = String; github = String; githubId = Number; name = String;};
416 bandresen =
396 bandresen =
417− {email = String; github = String; githubId = Integer; name = String;};
397+ {email = String; github = String; githubId = Number; name = String;};
418 baracoder =
398 baracoder =
419− {email = String; github = String; githubId = Integer; name = String;};
399+ {email = String; github = String; githubId = Number; name = String;};
420 barrucadu =
400 barrucadu =
421− {email = String; github = String; githubId = Integer; name = String;};
401+ {email = String; github = String; githubId = Number; name = String;};
422 basvandijk =
402 basvandijk =
423− {email = String; github = String; githubId = Integer; name = String;};
403+ {email = String; github = String; githubId = Number; name = String;};
424− bb010g =
425− {email = String; github = String; githubId = Integer; name = String;};
404+ bb010g = {email = String; github = String; githubId = Number; name = String;};
426 bbarker =
405 bbarker =
427− {email = String; github = String; githubId = Integer; name = String;};
406+ {email = String; github = String; githubId = Number; name = String;};
428 bbigras =
407 bbigras =
429− {email = String; github = String; githubId = Integer; name = String;};
408+ {email = String; github = String; githubId = Number; name = String;};
430 bcarrell =
409 bcarrell =
431− {email = String; github = String; githubId = Integer; name = String;};
410+ {email = String; github = String; githubId = Number; name = String;};
432 bcdarwin =
411 bcdarwin =
433− {email = String; github = String; githubId = Integer; name = String;};
412+ {email = String; github = String; githubId = Number; name = String;};
434 bdesham =
413 bdesham =
435− {email = String; github = String; githubId = Integer; name = String;};
414+ {email = String; github = String; githubId = Number; name = String;};
436 bdimcheff =
415 bdimcheff =
437− {email = String; github = String; githubId = Integer; name = String;};
416+ {email = String; github = String; githubId = Number; name = String;};
438 bendlas =
417 bendlas =
439− {email = String; github = String; githubId = Integer; name = String;};
418+ {email = String; github = String; githubId = Number; name = String;};
440− benley =
441− {email = String; github = String; githubId = Integer; name = String;};
419+ benley = {email = String; github = String; githubId = Number; name = String;};
442 bennofs =
420 bennofs =
443− {email = String; github = String; githubId = Integer; name = String;};
421+ {email = String; github = String; githubId = Number; name = String;};
444− benpye =
445− {email = String; github = String; githubId = Integer; name = String;};
422+ benpye = {email = String; github = String; githubId = Number; name = String;};
446 benwbooth =
423 benwbooth =
447− {email = String; github = String; githubId = Integer; name = String;};
424+ {email = String; github = String; githubId = Number; name = String;};
448− berce = {email = String; github = String; githubId = Integer; name = String;};
425+ berce = {email = String; github = String; githubId = Number; name = String;};
449 berdario =
426 berdario =
450− {email = String; github = String; githubId = Integer; name = String;};
427+ {email = String; github = String; githubId = Number; name = String;};
451− bergey =
452− {email = String; github = String; githubId = Integer; name = String;};
428+ bergey = {email = String; github = String; githubId = Number; name = String;};
453 betaboon =
429 betaboon =
454− {email = String; github = String; githubId = Integer; name = String;};
430+ {email = String; github = String; githubId = Number; name = String;};
455− bfortz =
456− {email = String; github = String; githubId = Integer; name = String;};
431+ bfortz = {email = String; github = String; githubId = Number; name = String;};
457 bgamari =
432 bgamari =
458− {email = String; github = String; githubId = Integer; name = String;};
433+ {email = String; github = String; githubId = Number; name = String;};
459− bhall = {email = String; github = String; githubId = Integer; name = String;};
434+ bhall = {email = String; github = String; githubId = Number; name = String;};
460 bhipple =
435 bhipple =
461− {email = String; github = String; githubId = Integer; name = String;};
436+ {email = String; github = String; githubId = Number; name = String;};
462 bhougland =
437 bhougland =
463− {email = String; github = String; githubId = Integer; name = String;};
438+ {email = String; github = String; githubId = Number; name = String;};
464 binarin =
439 binarin =
465− {email = String; github = String; githubId = Integer; name = String;};
440+ {email = String; github = String; githubId = Number; name = String;};
466 bjg = {email = String; name = String;};
441 bjg = {email = String; name = String;};
467 bjornfor =
442 bjornfor =
468− {email = String; github = String; githubId = Integer; name = String;};
443+ {email = String; github = String; githubId = Number; name = String;};
469− bkchr = {email = String; github = String; githubId = Integer; name = String;};
444+ bkchr = {email = String; github = String; githubId = Number; name = String;};
470 blaggacao =
445 blaggacao =
471− {email = String; github = String; githubId = Integer; name = String;};
446+ {email = String; github = String; githubId = Number; name = String;};
472 blanky0230 =
447 blanky0230 =
473− {email = String; github = String; githubId = Integer; name = String;};
448+ {email = String; github = String; githubId = Number; name = String;};
474− blitz = {email = String; github = String; githubId = Integer; name = String;};
449+ blitz = {email = String; github = String; githubId = Number; name = String;};
475 bluescreen303 =
450 bluescreen303 =
476− {email = String; github = String; githubId = Integer; name = String;};
451+ {email = String; github = String; githubId = Number; name = String;};
477 bmilanov =
452 bmilanov =
478− {email = String; github = String; githubId = Integer; name = String;};
453+ {email = String; github = String; githubId = Number; name = String;};
479 bobakker =
454 bobakker =
480− {email = String; github = String; githubId = Integer; name = String;};
455+ {email = String; github = String; githubId = Number; name = String;};
481 bobvanderlinden =
456 bobvanderlinden =
482− {email = String; github = String; githubId = Integer; name = String;};
457+ {email = String; github = String; githubId = Number; name = String;};
483− bodil = {email = String; github = String; githubId = Integer; name = String;};
458+ bodil = {email = String; github = String; githubId = Number; name = String;};
484− boj = {email = String; github = String; githubId = Integer; name = String;};
459+ boj = {email = String; github = String; githubId = Number; name = String;};
485 boothead =
460 boothead =
486− {email = String; github = String; githubId = Integer; name = String;};
461+ {email = String; github = String; githubId = Number; name = String;};
487 borisbabic =
462 borisbabic =
488− {email = String; github = String; githubId = Integer; name = String;};
463+ {email = String; github = String; githubId = Number; name = String;};
489− bosu = {email = String; github = String; githubId = Integer; name = String;};
464+ bosu = {email = String; github = String; githubId = Number; name = String;};
490− bouk = {email = String; github = String; githubId = Integer; name = String;};
465+ bouk = {email = String; github = String; githubId = Number; name = String;};
491 bradediger =
466 bradediger =
492− {email = String; github = String; githubId = Integer; name = String;};
467+ {email = String; github = String; githubId = Number; name = String;};
493 brainrape =
468 brainrape =
494− {email = String; github = String; githubId = Integer; name = String;};
469+ {email = String; github = String; githubId = Number; name = String;};
495− bramd = {email = String; github = String; githubId = Integer; name = String;};
470+ bramd = {email = String; github = String; githubId = Number; name = String;};
496 braydenjw =
471 braydenjw =
497− {email = String; github = String; githubId = Integer; name = String;};
472+ {email = String; github = String; githubId = Number; name = String;};
498 breakds =
473 breakds =
499− {email = String; github = String; githubId = Integer; name = String;};
474+ {email = String; github = String; githubId = Number; name = String;};
500 brettlyons =
475 brettlyons =
501− {email = String; github = String; githubId = Integer; name = String;};
476+ {email = String; github = String; githubId = Number; name = String;};
502 brian-dawn =
477 brian-dawn =
503− {email = String; github = String; githubId = Integer; name = String;};
478+ {email = String; github = String; githubId = Number; name = String;};
504 brianhicks =
479 brianhicks =
505− {email = String; github = String; githubId = Integer; name = String;};
480+ {email = String; github = String; githubId = Number; name = String;};
506 bricewge =
481 bricewge =
507− {email = String; github = String; githubId = Integer; name = String;};
482+ {email = String; github = String; githubId = Number; name = String;};
508− bstrik =
509− {email = String; github = String; githubId = Integer; name = String;};
483+ bstrik = {email = String; github = String; githubId = Number; name = String;};
510− btlvr = {email = String; github = String; githubId = Integer; name = String;};
484+ btlvr = {email = String; github = String; githubId = Number; name = String;};
511− buffet =
512− {email = String; github = String; githubId = Integer; name = String;};
485+ buffet = {email = String; github = String; githubId = Number; name = String;};
513 bugworm =
486 bugworm =
514− {email = String; github = String; githubId = Integer; name = String;};
487+ {email = String; github = String; githubId = Number; name = String;};
515− bzizou =
516− {email = String; github = String; githubId = Integer; name = String;};
488+ bzizou = {email = String; github = String; githubId = Number; name = String;};
517− c00w = {email = String; github = String; githubId = Integer; name = String;};
489+ c00w = {email = String; github = String; githubId = Number; name = String;};
518− c0bw3b =
519− {email = String; github = String; githubId = Integer; name = String;};
490+ c0bw3b = {email = String; github = String; githubId = Number; name = String;};
520 c0deaddict =
491 c0deaddict =
521− {email = String; github = String; githubId = Integer; name = String;};
492+ {email = String; github = String; githubId = Number; name = String;};
522− caadar =
523− {email = String; github = String; githubId = Integer; name = String;};
493+ caadar = {email = String; github = String; githubId = Number; name = String;};
524 cab404 =
494 cab404 =
525 { email = String;
495 { email = String;
526 github = String;
496 github = String;
527− githubId = Integer;
497+ githubId = Number;
528 keys = [{fingerprint = String; longkeyid = String;}];
498 keys = [{fingerprint = String; longkeyid = String;}];
529 name = String;
499 name = String;
530 };
500 };
531 calbrecht =
501 calbrecht =
532− {email = String; github = String; githubId = Integer; name = String;};
502+ {email = String; github = String; githubId = Number; name = String;};
533 callahad =
503 callahad =
534− {email = String; github = String; githubId = Integer; name = String;};
504+ {email = String; github = String; githubId = Number; name = String;};
535 calvertvl =
505 calvertvl =
536− {email = String; github = String; githubId = Integer; name = String;};
506+ {email = String; github = String; githubId = Number; name = String;};
537 campadrenalin =
507 campadrenalin =
538− {email = String; github = String; githubId = Integer; name = String;};
508+ {email = String; github = String; githubId = Number; name = String;};
539 candeira =
509 candeira =
540− {email = String; github = String; githubId = Integer; name = String;};
510+ {email = String; github = String; githubId = Number; name = String;};
541 canndrew =
511 canndrew =
542− {email = String; github = String; githubId = Integer; name = String;};
512+ {email = String; github = String; githubId = Number; name = String;};
543− cap = {email = String; github = String; githubId = Integer; name = String;};
513+ cap = {email = String; github = String; githubId = Number; name = String;};
544 carlosdagos =
514 carlosdagos =
545− {email = String; github = String; githubId = Integer; name = String;};
515+ {email = String; github = String; githubId = Number; name = String;};
546 carlsverre =
516 carlsverre =
547− {email = String; github = String; githubId = Integer; name = String;};
517+ {email = String; github = String; githubId = Number; name = String;};
548− cartr = {email = String; github = String; githubId = Integer; name = String;};
518+ cartr = {email = String; github = String; githubId = Number; name = String;};
549− casey = {email = String; github = String; githubId = Integer; name = String;};
519+ casey = {email = String; github = String; githubId = Number; name = String;};
550− catern =
551− {email = String; github = String; githubId = Integer; name = String;};
520+ catern = {email = String; github = String; githubId = Number; name = String;};
552 caugner =
521 caugner =
553− {email = String; github = String; githubId = Integer; name = String;};
522+ {email = String; github = String; githubId = Number; name = String;};
554− cbley = {email = String; github = String; githubId = Integer; name = String;};
523+ cbley = {email = String; github = String; githubId = Number; name = String;};
555 ccellado =
524 ccellado =
556− {email = String; github = String; githubId = Integer; name = String;};
525+ {email = String; github = String; githubId = Number; name = String;};
557 cdepillabout =
526 cdepillabout =
558− {email = String; github = String; githubId = Integer; name = String;};
527+ {email = String; github = String; githubId = Number; name = String;};
559 ceedubs =
528 ceedubs =
560− {email = String; github = String; githubId = Integer; name = String;};
529+ {email = String; github = String; githubId = Number; name = String;};
561 cfouche =
530 cfouche =
562− {email = String; github = String; githubId = Integer; name = String;};
531+ {email = String; github = String; githubId = Number; name = String;};
563− cfsmp3 =
564− {email = String; github = String; githubId = Integer; name = String;};
532+ cfsmp3 = {email = String; github = String; githubId = Number; name = String;};
565 cge =
533 cge =
566 { email = String;
534 { email = String;
567 github = String;
535 github = String;
568− githubId = Integer;
536+ githubId = Number;
569 keys = [{fingerprint = String; longkeyid = String;}];
537 keys = [{fingerprint = String; longkeyid = String;}];
570 name = String;
538 name = String;
571 };
539 };
572 chaduffy =
540 chaduffy =
573− {email = String; github = String; githubId = Integer; name = String;};
541+ {email = String; github = String; githubId = Number; name = String;};
574 changlinli =
542 changlinli =
575− {email = String; github = String; githubId = Integer; name = String;};
543+ {email = String; github = String; githubId = Number; name = String;};
576 chaoflow =
544 chaoflow =
577− {email = String; github = String; githubId = Integer; name = String;};
545+ {email = String; github = String; githubId = Number; name = String;};
578 chattered = {email = String; name = String;};
546 chattered = {email = String; name = String;};
579 chessai =
547 chessai =
580− {email = String; github = String; githubId = Integer; name = String;};
548+ {email = String; github = String; githubId = Number; name = String;};
581 chiiruno =
549 chiiruno =
582− {email = String; github = String; githubId = Integer; name = String;};
550+ {email = String; github = String; githubId = Number; name = String;};
583 chiroptical =
551 chiroptical =
584− {email = String; github = String; githubId = Integer; name = String;};
552+ {email = String; github = String; githubId = Number; name = String;};
585− chkno = {email = String; github = String; githubId = Integer; name = String;};
553+ chkno = {email = String; github = String; githubId = Number; name = String;};
586 choochootrain =
554 choochootrain =
587− {email = String; github = String; githubId = Integer; name = String;};
555+ {email = String; github = String; githubId = Number; name = String;};
588 chpatrick =
556 chpatrick =
589− {email = String; github = String; githubId = Integer; name = String;};
557+ {email = String; github = String; githubId = Number; name = String;};
590 chreekat =
558 chreekat =
591− {email = String; github = String; githubId = Integer; name = String;};
559+ {email = String; github = String; githubId = Number; name = String;};
592 chris-martin =
560 chris-martin =
593− {email = String; github = String; githubId = Integer; name = String;};
561+ {email = String; github = String; githubId = Number; name = String;};
594 chrisaw =
562 chrisaw =
595− {email = String; github = String; githubId = Integer; name = String;};
563+ {email = String; github = String; githubId = Number; name = String;};
596 chrisjefferson =
564 chrisjefferson =
597− {email = String; github = String; githubId = Integer; name = String;};
565+ {email = String; github = String; githubId = Number; name = String;};
598 chrisrosset =
566 chrisrosset =
599− {email = String; github = String; githubId = Integer; name = String;};
567+ {email = String; github = String; githubId = Number; name = String;};
600 christianharke =
568 christianharke =
601 { email = String;
569 { email = String;
602 github = String;
570 github = String;
603− githubId = Integer;
571+ githubId = Number;
604 keys = [{fingerprint = String; longkeyid = String;}];
572 keys = [{fingerprint = String; longkeyid = String;}];
605 name = String;
573 name = String;
606 };
574 };
607 christopherpoole =
575 christopherpoole =
608− {email = String; github = String; githubId = Integer; name = String;};
576+ {email = String; github = String; githubId = Number; name = String;};
609− ciil = {email = String; github = String; githubId = Integer; name = String;};
577+ ciil = {email = String; github = String; githubId = Number; name = String;};
610− cizra = {email = String; github = String; githubId = Integer; name = String;};
578+ cizra = {email = String; github = String; githubId = Number; name = String;};
611− ck3d = {email = String; github = String; githubId = Integer; name = String;};
579+ ck3d = {email = String; github = String; githubId = Number; name = String;};
612 ckauhaus =
580 ckauhaus =
613− {email = String; github = String; githubId = Integer; name = String;};
581+ {email = String; github = String; githubId = Number; name = String;};
614− cko = {email = String; github = String; githubId = Integer; name = String;};
582+ cko = {email = String; github = String; githubId = Number; name = String;};
615− clacke =
616− {email = String; github = String; githubId = Integer; name = String;};
583+ clacke = {email = String; github = String; githubId = Number; name = String;};
617 cleverca22 =
584 cleverca22 =
618− {email = String; github = String; githubId = Integer; name = String;};
585+ {email = String; github = String; githubId = Number; name = String;};
619− clkamp =
620− {email = String; github = String; githubId = Integer; name = String;};
586+ clkamp = {email = String; github = String; githubId = Number; name = String;};
621 cmacrae =
587 cmacrae =
622− {email = String; github = String; githubId = Integer; name = String;};
588+ {email = String; github = String; githubId = Number; name = String;};
623 cmcdragonkai =
589 cmcdragonkai =
624− {email = String; github = String; githubId = Integer; name = String;};
590+ {email = String; github = String; githubId = Number; name = String;};
625− cmfwyp =
626− {email = String; github = String; githubId = Integer; name = String;};
591+ cmfwyp = {email = String; github = String; githubId = Number; name = String;};
627− cobbal =
628− {email = String; github = String; githubId = Integer; name = String;};
592+ cobbal = {email = String; github = String; githubId = Number; name = String;};
629 coconnor =
593 coconnor =
630− {email = String; github = String; githubId = Integer; name = String;};
594+ {email = String; github = String; githubId = Number; name = String;};
631− codsl = {email = String; github = String; githubId = Integer; name = String;};
595+ codsl = {email = String; github = String; githubId = Number; name = String;};
632 codyopel =
596 codyopel =
633− {email = String; github = String; githubId = Integer; name = String;};
597+ {email = String; github = String; githubId = Number; name = String;};
634 cohencyril =
598 cohencyril =
635− {email = String; github = String; githubId = Integer; name = String;};
599+ {email = String; github = String; githubId = Number; name = String;};
636 cole-h =
600 cole-h =
637 { email = String;
601 { email = String;
638 github = String;
602 github = String;
639− githubId = Integer;
603+ githubId = Number;
640 keys = [{fingerprint = String; longkeyid = String;}];
604 keys = [{fingerprint = String; longkeyid = String;}];
641 name = String;
605 name = String;
642 };
606 };
643 colemickens =
607 colemickens =
644− {email = String; github = String; githubId = Integer; name = String;};
608+ {email = String; github = String; githubId = Number; name = String;};
645 colescott =
609 colescott =
646− {email = String; github = String; githubId = Integer; name = String;};
610+ {email = String; github = String; githubId = Number; name = String;};
647 conradmearns =
611 conradmearns =
648− {email = String; github = String; githubId = Integer; name = String;};
612+ {email = String; github = String; githubId = Number; name = String;};
649 contrun =
613 contrun =
650− {email = String; github = String; githubId = Integer; name = String;};
614+ {email = String; github = String; githubId = Number; name = String;};
651 copumpkin =
615 copumpkin =
652− {email = String; github = String; githubId = Integer; name = String;};
616+ {email = String; github = String; githubId = Number; name = String;};
653 corngood =
617 corngood =
654− {email = String; github = String; githubId = Integer; name = String;};
618+ {email = String; github = String; githubId = Number; name = String;};
655− coroa = {email = String; github = String; githubId = Integer; name = String;};
619+ coroa = {email = String; github = String; githubId = Number; name = String;};
656 costrouc =
620 costrouc =
657− {email = String; github = String; githubId = Integer; name = String;};
621+ {email = String; github = String; githubId = Number; name = String;};
658 couchemar =
622 couchemar =
659− {email = String; github = String; githubId = Integer; name = String;};
623+ {email = String; github = String; githubId = Number; name = String;};
660− cpages =
661− {email = String; github = String; githubId = Integer; name = String;};
624+ cpages = {email = String; github = String; githubId = Number; name = String;};
662 cpcloud =
625 cpcloud =
663− {email = String; github = String; githubId = Integer; name = String;};
626+ {email = String; github = String; githubId = Number; name = String;};
664 cpu =
627 cpu =
665 { email = String;
628 { email = String;
666 github = String;
629 github = String;
667− githubId = Integer;
630+ githubId = Number;
668 keys = [{fingerprint = String; longkeyid = String;}];
631 keys = [{fingerprint = String; longkeyid = String;}];
669 name = String;
632 name = String;
670 };
633 };
671 craigem =
634 craigem =
672− {email = String; github = String; githubId = Integer; name = String;};
635+ {email = String; github = String; githubId = Number; name = String;};
673 cransom =
636 cransom =
674− {email = String; github = String; githubId = Integer; name = String;};
637+ {email = String; github = String; githubId = Number; name = String;};
675 cript0nauta =
638 cript0nauta =
676− {email = String; github = String; githubId = Integer; name = String;};
639+ {email = String; github = String; githubId = Number; name = String;};
677 cryptix =
640 cryptix =
678− {email = String; github = String; githubId = Integer; name = String;};
641+ {email = String; github = String; githubId = Number; name = String;};
679 csingley =
642 csingley =
680− {email = String; github = String; githubId = Integer; name = String;};
643+ {email = String; github = String; githubId = Number; name = String;};
681 cstrahan =
644 cstrahan =
682− {email = String; github = String; githubId = Integer; name = String;};
645+ {email = String; github = String; githubId = Number; name = String;};
683− cswank =
684− {email = String; github = String; githubId = Integer; name = String;};
646+ cswank = {email = String; github = String; githubId = Number; name = String;};
685 cust0dian =
647 cust0dian =
686 { email = String;
648 { email = String;
687 github = String;
649 github = String;
688− githubId = Integer;
650+ githubId = Number;
689 keys = [{fingerprint = String; longkeyid = String;}];
651 keys = [{fingerprint = String; longkeyid = String;}];
690 name = String;
652 name = String;
691 };
653 };
692− cwoac = {email = String; github = String; githubId = Integer; name = String;};
654+ cwoac = {email = String; github = String; githubId = Number; name = String;};
693 cypherpunk2140 =
655 cypherpunk2140 =
694 { email = String;
656 { email = String;
695 github = String;
657 github = String;
696− githubId = Integer;
658+ githubId = Number;
697 keys = [{fingerprint = String; longkeyid = String;}];
659 keys = [{fingerprint = String; longkeyid = String;}];
698 name = String;
660 name = String;
699 };
661 };
700− cyplo = {email = String; github = String; githubId = Integer; name = String;};
662+ cyplo = {email = String; github = String; githubId = Number; name = String;};
701 d-goldin =
663 d-goldin =
702 { email = String;
664 { email = String;
703 github = String;
665 github = String;
704− githubId = Integer;
666+ githubId = Number;
705 keys = [{fingerprint = String; longkeyid = String;}];
667 keys = [{fingerprint = String; longkeyid = String;}];
706 name = String;
668 name = String;
707 };
669 };
708 dadada =
670 dadada =
709 { email = String;
671 { email = String;
710 github = String;
672 github = String;
711− githubId = Integer;
673+ githubId = Number;
712 keys = [{fingerprint = String; longkeyid = String;}];
674 keys = [{fingerprint = String; longkeyid = String;}];
713 name = String;
675 name = String;
714 };
676 };
715 dalance =
677 dalance =
716− {email = String; github = String; githubId = Integer; name = String;};
678+ {email = String; github = String; githubId = Number; name = String;};
717− danbst =
718− {email = String; github = String; githubId = Integer; name = String;};
679+ danbst = {email = String; github = String; githubId = Number; name = String;};
719− dancek =
720− {email = String; github = String; githubId = Integer; name = String;};
680+ dancek = {email = String; github = String; githubId = Number; name = String;};
721 dandellion =
681 dandellion =
722− {email = String; github = String; githubId = Integer; name = String;};
682+ {email = String; github = String; githubId = Number; name = String;};
723 danderson =
683 danderson =
724− {email = String; github = String; githubId = Integer; name = String;};
684+ {email = String; github = String; githubId = Number; name = String;};
725 danharaj =
685 danharaj =
726− {email = String; github = String; githubId = Integer; name = String;};
686+ {email = String; github = String; githubId = Number; name = String;};
727 danieldk =
687 danieldk =
728− {email = String; github = String; githubId = Integer; name = String;};
688+ {email = String; github = String; githubId = Number; name = String;};
729 danielfullmer =
689 danielfullmer =
730− {email = String; github = String; githubId = Integer; name = String;};
690+ {email = String; github = String; githubId = Number; name = String;};
731− das-g = {email = String; github = String; githubId = Integer; name = String;};
691+ das-g = {email = String; github = String; githubId = Number; name = String;};
732− das_j = {email = String; github = String; githubId = Integer; name = String;};
692+ das_j = {email = String; github = String; githubId = Number; name = String;};
733− dasj19 =
734− {email = String; github = String; githubId = Integer; name = String;};
693+ dasj19 = {email = String; github = String; githubId = Number; name = String;};
735 dasuxullebt = {email = String; name = String;};
694 dasuxullebt = {email = String; name = String;};
736 davegallant =
695 davegallant =
737− {email = String; github = String; githubId = Integer; name = String;};
696+ {email = String; github = String; githubId = Number; name = String;};
738 david-sawatzke =
697 david-sawatzke =
739− {email = String; github = String; githubId = Integer; name = String;};
698+ {email = String; github = String; githubId = Number; name = String;};
740 david50407 =
699 david50407 =
741− {email = String; github = String; githubId = Integer; name = String;};
700+ {email = String; github = String; githubId = Number; name = String;};
742 davidak =
701 davidak =
743− {email = String; github = String; githubId = Integer; name = String;};
702+ {email = String; github = String; githubId = Number; name = String;};
744 davidrusu =
703 davidrusu =
745− {email = String; github = String; githubId = Integer; name = String;};
704+ {email = String; github = String; githubId = Number; name = String;};
746 davidtwco =
705 davidtwco =
747 { email = String;
706 { email = String;
748 github = String;
707 github = String;
749− githubId = Integer;
708+ githubId = Number;
750 keys = [{fingerprint = String; longkeyid = String;}];
709 keys = [{fingerprint = String; longkeyid = String;}];
751 name = String;
710 name = String;
752 };
711 };
753− davorb =
754− {email = String; github = String; githubId = Integer; name = String;};
712+ davorb = {email = String; github = String; githubId = Number; name = String;};
755 dawidsowa =
713 dawidsowa =
756− {email = String; github = String; githubId = Integer; name = String;};
714+ {email = String; github = String; githubId = Number; name = String;};
757 dbohdan =
715 dbohdan =
758− {email = String; github = String; githubId = Integer; name = String;};
716+ {email = String; github = String; githubId = Number; name = String;};
759− dbrock =
760− {email = String; github = String; githubId = Integer; name = String;};
717+ dbrock = {email = String; github = String; githubId = Number; name = String;};
761 ddelabru =
718 ddelabru =
762− {email = String; github = String; githubId = Integer; name = String;};
719+ {email = String; github = String; githubId = Number; name = String;};
763− dduan = {email = String; github = String; githubId = Integer; name = String;};
720+ dduan = {email = String; github = String; githubId = Number; name = String;};
764 deepfire =
721 deepfire =
765− {email = String; github = String; githubId = Integer; name = String;};
722+ {email = String; github = String; githubId = Number; name = String;};
766 deifactor =
723 deifactor =
767− {email = String; github = String; githubId = Integer; name = String;};
724+ {email = String; github = String; githubId = Number; name = String;};
768− delan = {email = String; github = String; githubId = Integer; name = String;};
725+ delan = {email = String; github = String; githubId = Number; name = String;};
769 delroth =
726 delroth =
770− {email = String; github = String; githubId = Integer; name = String;};
727+ {email = String; github = String; githubId = Number; name = String;};
771 deltaevo =
728 deltaevo =
772− {email = String; github = String; githubId = Integer; name = String;};
729+ {email = String; github = String; githubId = Number; name = String;};
773 demin-dmitriy =
730 demin-dmitriy =
774− {email = String; github = String; githubId = Integer; name = String;};
731+ {email = String; github = String; githubId = Number; name = String;};
775− demize =
776− {email = String; github = String; githubId = Integer; name = String;};
732+ demize = {email = String; github = String; githubId = Number; name = String;};
777 demyanrogozhin =
733 demyanrogozhin =
778− {email = String; github = String; githubId = Integer; name = String;};
734+ {email = String; github = String; githubId = Number; name = String;};
779 derchris =
735 derchris =
780− {email = String; github = String; githubId = Integer; name = String;};
736+ {email = String; github = String; githubId = Number; name = String;};
781 dermetfan =
737 dermetfan =
782− {email = String; github = String; githubId = Integer; name = String;};
738+ {email = String; github = String; githubId = Number; name = String;};
783 desiderius =
739 desiderius =
784− {email = String; github = String; githubId = Integer; name = String;};
740+ {email = String; github = String; githubId = Number; name = String;};
785 devhell =
741 devhell =
786− {email = String; github = String; githubId = Integer; name = String;};
742+ {email = String; github = String; githubId = Number; name = String;};
787− dezgeg =
788− {email = String; github = String; githubId = Integer; name = String;};
743+ dezgeg = {email = String; github = String; githubId = Number; name = String;};
789 dfordivam =
744 dfordivam =
790− {email = String; github = String; githubId = Integer; name = String;};
745+ {email = String; github = String; githubId = Number; name = String;};
791 dfoxfranke =
746 dfoxfranke =
792− {email = String; github = String; githubId = Integer; name = String;};
747+ {email = String; github = String; githubId = Number; name = String;};
793 dgonyeo =
748 dgonyeo =
794− {email = String; github = String; githubId = Integer; name = String;};
749+ {email = String; github = String; githubId = Number; name = String;};
795− dhkl = {email = String; github = String; githubId = Integer; name = String;};
750+ dhkl = {email = String; github = String; githubId = Number; name = String;};
796 dipinhora =
751 dipinhora =
797− {email = String; github = String; githubId = Integer; name = String;};
752+ {email = String; github = String; githubId = Number; name = String;};
798− dirkx = {email = String; github = String; githubId = Integer; name = String;};
753+ dirkx = {email = String; github = String; githubId = Number; name = String;};
799 disassembler =
754 disassembler =
800− {email = String; github = String; githubId = Integer; name = String;};
755+ {email = String; github = String; githubId = Number; name = String;};
801 disserman =
756 disserman =
802− {email = String; github = String; githubId = Integer; name = String;};
757+ {email = String; github = String; githubId = Number; name = String;};
803− dizfer =
804− {email = String; github = String; githubId = Integer; name = String;};
758+ dizfer = {email = String; github = String; githubId = Number; name = String;};
805− dkabot =
806− {email = String; github = String; githubId = Integer; name = String;};
759+ dkabot = {email = String; github = String; githubId = Number; name = String;};
807 dmalikov =
760 dmalikov =
808− {email = String; github = String; githubId = Integer; name = String;};
761+ {email = String; github = String; githubId = Number; name = String;};
809− dmjio = {email = String; github = String; githubId = Integer; name = String;};
762+ dmjio = {email = String; github = String; githubId = Number; name = String;};
810− dmrauh =
811− {email = String; github = String; githubId = Integer; name = String;};
763+ dmrauh = {email = String; github = String; githubId = Number; name = String;};
812 dmvianna =
764 dmvianna =
813− {email = String; github = String; githubId = Integer; name = String;};
765+ {email = String; github = String; githubId = Number; name = String;};
814 dochang =
766 dochang =
815− {email = String; github = String; githubId = Integer; name = String;};
767+ {email = String; github = String; githubId = Number; name = String;};
816 domenkozar =
768 domenkozar =
817− {email = String; github = String; githubId = Integer; name = String;};
769+ {email = String; github = String; githubId = Number; name = String;};
818 dominikh =
770 dominikh =
819− {email = String; github = String; githubId = Integer; name = String;};
771+ {email = String; github = String; githubId = Number; name = String;};
820 doronbehar =
772 doronbehar =
821− {email = String; github = String; githubId = Integer; name = String;};
773+ {email = String; github = String; githubId = Number; name = String;};
822 dotlambda =
774 dotlambda =
823− {email = String; github = String; githubId = Integer; name = String;};
775+ {email = String; github = String; githubId = Number; name = String;};
824 doublec =
776 doublec =
825− {email = String; github = String; githubId = Integer; name = String;};
777+ {email = String; github = String; githubId = Number; name = String;};
826 dpaetzel =
778 dpaetzel =
827− {email = String; github = String; githubId = Integer; name = String;};
779+ {email = String; github = String; githubId = Number; name = String;};
828 dpausp =
780 dpausp =
829 { email = String;
781 { email = String;
830 github = String;
782 github = String;
831− githubId = Integer;
783+ githubId = Number;
832 keys = [{fingerprint = String; longkeyid = String;}];
784 keys = [{fingerprint = String; longkeyid = String;}];
833 name = String;
785 name = String;
834 };
786 };
835− dpflug =
836− {email = String; github = String; githubId = Integer; name = String;};
787+ dpflug = {email = String; github = String; githubId = Number; name = String;};
837 dramaturg =
788 dramaturg =
838− {email = String; github = String; githubId = Integer; name = String;};
789+ {email = String; github = String; githubId = Number; name = String;};
839− drets = {email = String; github = String; githubId = Integer; name = String;};
790+ drets = {email = String; github = String; githubId = Number; name = String;};
840 drewkett = {email = String; name = String;};
791 drewkett = {email = String; name = String;};
841 drewrisinger =
792 drewrisinger =
842− {email = String; github = String; githubId = Integer; name = String;};
793+ {email = String; github = String; githubId = Number; name = String;};
843 dsferruzza =
794 dsferruzza =
844− {email = String; github = String; githubId = Integer; name = String;};
795+ {email = String; github = String; githubId = Number; name = String;};
845 dtzWill =
796 dtzWill =
846 { email = String;
797 { email = String;
847 github = String;
798 github = String;
848− githubId = Integer;
799+ githubId = Number;
849 keys = [{fingerprint = String; longkeyid = String;}];
800 keys = [{fingerprint = String; longkeyid = String;}];
850 name = String;
801 name = String;
851 };
802 };
852 dump_stack =
803 dump_stack =
853 { email = String;
804 { email = String;
854 github = String;
805 github = String;
855− githubId = Integer;
806+ githubId = Number;
856 keys = [{fingerprint = String; longkeyid = String;}];
807 keys = [{fingerprint = String; longkeyid = String;}];
857 name = String;
808 name = String;
858 };
809 };
859 dwarfmaster =
810 dwarfmaster =
860− {email = String; github = String; githubId = Integer; name = String;};
811+ {email = String; github = String; githubId = Number; name = String;};
861− dxf = {email = String; github = String; githubId = Integer; name = String;};
812+ dxf = {email = String; github = String; githubId = Number; name = String;};
862 dysinger =
813 dysinger =
863− {email = String; github = String; githubId = Integer; name = String;};
814+ {email = String; github = String; githubId = Number; name = String;};
864 dywedir =
815 dywedir =
865− {email = String; github = String; githubId = Integer; name = String;};
816+ {email = String; github = String; githubId = Number; name = String;};
866 dzabraev =
817 dzabraev =
867− {email = String; github = String; githubId = Integer; name = String;};
818+ {email = String; github = String; githubId = Number; name = String;};
868− e-user =
869− {email = String; github = String; githubId = Integer; name = String;};
819+ e-user = {email = String; github = String; githubId = Number; name = String;};
870− eadwu = {email = String; github = String; githubId = Integer; name = String;};
820+ eadwu = {email = String; github = String; githubId = Number; name = String;};
871− ealasu =
872− {email = String; github = String; githubId = Integer; name = String;};
821+ ealasu = {email = String; github = String; githubId = Number; name = String;};
873 eamsden =
822 eamsden =
874− {email = String; github = String; githubId = Integer; name = String;};
823+ {email = String; github = String; githubId = Number; name = String;};
875 earldouglas =
824 earldouglas =
876− {email = String; github = String; githubId = Integer; name = String;};
825+ {email = String; github = String; githubId = Number; name = String;};
877 earvstedt =
826 earvstedt =
878− {email = String; github = String; githubId = Integer; name = String;};
827+ {email = String; github = String; githubId = Number; name = String;};
879− ebzzry =
880− {email = String; github = String; githubId = Integer; name = String;};
828+ ebzzry = {email = String; github = String; githubId = Number; name = String;};
881 edanaher =
829 edanaher =
882− {email = String; github = String; githubId = Integer; name = String;};
830+ {email = String; github = String; githubId = Number; name = String;};
883− edef = {email = String; github = String; githubId = Integer; name = String;};
831+ edef = {email = String; github = String; githubId = Number; name = String;};
884 ederoyd46 =
832 ederoyd46 =
885− {email = String; github = String; githubId = Integer; name = String;};
833+ {email = String; github = String; githubId = Number; name = String;};
886 edibopp =
834 edibopp =
887− {email = String; github = String; githubId = Integer; name = String;};
835+ {email = String; github = String; githubId = Number; name = String;};
888 eduarrrd =
836 eduarrrd =
889− {email = String; github = String; githubId = Integer; name = String;};
837+ {email = String; github = String; githubId = Number; name = String;};
890 edude03 =
838 edude03 =
891− {email = String; github = String; githubId = Integer; name = String;};
839+ {email = String; github = String; githubId = Number; name = String;};
892− edwtjo =
893− {email = String; github = String; githubId = Integer; name = String;};
840+ edwtjo = {email = String; github = String; githubId = Number; name = String;};
894− eelco = {email = String; github = String; githubId = Integer; name = String;};
841+ eelco = {email = String; github = String; githubId = Number; name = String;};
895 ehegnes =
842 ehegnes =
896− {email = String; github = String; githubId = Integer; name = String;};
843+ {email = String; github = String; githubId = Number; name = String;};
897− ehmry = {email = String; github = String; githubId = Integer; name = String;};
844+ ehmry = {email = String; github = String; githubId = Number; name = String;};
898− eikek = {email = String; github = String; githubId = Integer; name = String;};
845+ eikek = {email = String; github = String; githubId = Number; name = String;};
899− ekleog =
900− {email = String; github = String; githubId = Integer; name = String;};
846+ ekleog = {email = String; github = String; githubId = Number; name = String;};
901 elasticdog =
847 elasticdog =
902− {email = String; github = String; githubId = Integer; name = String;};
848+ {email = String; github = String; githubId = Number; name = String;};
903 eleanor =
849 eleanor =
904− {email = String; github = String; githubId = Integer; name = String;};
850+ {email = String; github = String; githubId = Number; name = String;};
905− eliasp =
906− {email = String; github = String; githubId = Integer; name = String;};
851+ eliasp = {email = String; github = String; githubId = Number; name = String;};
907 elijahcaine =
852 elijahcaine =
908− {email = String; github = String; githubId = Integer; name = String;};
853+ {email = String; github = String; githubId = Number; name = String;};
909− elitak =
910− {email = String; github = String; githubId = Integer; name = String;};
854+ elitak = {email = String; github = String; githubId = Number; name = String;};
911 elkowar =
855 elkowar =
912− {email = String; github = String; githubId = Integer; name = String;};
856+ {email = String; github = String; githubId = Number; name = String;};
913 elliottvillars =
857 elliottvillars =
914− {email = String; github = String; githubId = Integer; name = String;};
858+ {email = String; github = String; githubId = Number; name = String;};
915− ellis = {email = String; github = String; githubId = Integer; name = String;};
859+ ellis = {email = String; github = String; githubId = Number; name = String;};
916 elohmeier =
860 elohmeier =
917− {email = String; github = String; githubId = Integer; name = String;};
861+ {email = String; github = String; githubId = Number; name = String;};
918− elseym =
919− {email = String; github = String; githubId = Integer; name = String;};
862+ elseym = {email = String; github = String; githubId = Number; name = String;};
920 elvishjerricco =
863 elvishjerricco =
921− {email = String; github = String; githubId = Integer; name = String;};
864+ {email = String; github = String; githubId = Number; name = String;};
922 elyhaka =
865 elyhaka =
923− {email = String; github = String; githubId = Integer; name = String;};
866+ {email = String; github = String; githubId = Number; name = String;};
924 emantor =
867 emantor =
925− {email = String; github = String; githubId = Integer; name = String;};
868+ {email = String; github = String; githubId = Number; name = String;};
926− embr = {email = String; github = String; githubId = Integer; name = String;};
869+ embr = {email = String; github = String; githubId = Number; name = String;};
927− emily = {email = String; github = String; githubId = Integer; name = String;};
870+ emily = {email = String; github = String; githubId = Number; name = String;};
928 emmanuelrosa =
871 emmanuelrosa =
929− {email = String; github = String; githubId = Integer; name = String;};
872+ {email = String; github = String; githubId = Number; name = String;};
930 endgame =
873 endgame =
931− {email = String; github = String; githubId = Integer; name = String;};
874+ {email = String; github = String; githubId = Number; name = String;};
932 endocrimes =
875 endocrimes =
933− {email = String; github = String; githubId = Integer; name = String;};
876+ {email = String; github = String; githubId = Number; name = String;};
934 enorris =
877 enorris =
935− {email = String; github = String; githubId = Integer; name = String;};
878+ {email = String; github = String; githubId = Number; name = String;};
936− enzime =
937− {email = String; github = String; githubId = Integer; name = String;};
879+ enzime = {email = String; github = String; githubId = Number; name = String;};
938 eonpatapon =
880 eonpatapon =
939− {email = String; github = String; githubId = Integer; name = String;};
881+ {email = String; github = String; githubId = Number; name = String;};
940 eperuffo =
882 eperuffo =
941− {email = String; github = String; githubId = Integer; name = String;};
883+ {email = String; github = String; githubId = Number; name = String;};
942 epitrochoid = {email = String; name = String;};
884 epitrochoid = {email = String; name = String;};
943 equirosa =
885 equirosa =
944− {email = String; github = String; githubId = Integer; name = String;};
886+ {email = String; github = String; githubId = Number; name = String;};
945− eqyiel =
946− {email = String; github = String; githubId = Integer; name = String;};
887+ eqyiel = {email = String; github = String; githubId = Number; name = String;};
947 eraserhd =
888 eraserhd =
948− {email = String; github = String; githubId = Integer; name = String;};
889+ {email = String; github = String; githubId = Number; name = String;};
949 ericbmerritt =
890 ericbmerritt =
950− {email = String; github = String; githubId = Integer; name = String;};
891+ {email = String; github = String; githubId = Number; name = String;};
951 ericdallo =
892 ericdallo =
952− {email = String; github = String; githubId = Integer; name = String;};
893+ {email = String; github = String; githubId = Number; name = String;};
953 ericsagnes =
894 ericsagnes =
954− {email = String; github = String; githubId = Integer; name = String;};
895+ {email = String; github = String; githubId = Number; name = String;};
955 ericson2314 =
896 ericson2314 =
956− {email = String; github = String; githubId = Integer; name = String;};
897+ {email = String; github = String; githubId = Number; name = String;};
957 erictapen =
898 erictapen =
958 { email = String;
899 { email = String;
959 github = String;
900 github = String;
960− githubId = Integer;
901+ githubId = Number;
961 keys = [{fingerprint = String; longkeyid = String;}];
902 keys = [{fingerprint = String; longkeyid = String;}];
962 name = String;
903 name = String;
963 };
904 };
964 erikryb =
905 erikryb =
965− {email = String; github = String; githubId = Integer; name = String;};
906+ {email = String; github = String; githubId = Number; name = String;};
966 erosennin =
907 erosennin =
967− {email = String; github = String; githubId = Integer; name = String;};
908+ {email = String; github = String; githubId = Number; name = String;};
968− ersin = {email = String; github = String; githubId = Integer; name = String;};
909+ ersin = {email = String; github = String; githubId = Number; name = String;};
969− ertes = {email = String; github = String; githubId = Integer; name = String;};
910+ ertes = {email = String; github = String; githubId = Number; name = String;};
970 esclear =
911 esclear =
971− {email = String; github = String; githubId = Integer; name = String;};
912+ {email = String; github = String; githubId = Number; name = String;};
972 eskytthe =
913 eskytthe =
973− {email = String; github = String; githubId = Integer; name = String;};
914+ {email = String; github = String; githubId = Number; name = String;};
974 ethercrow =
915 ethercrow =
975− {email = String; github = String; githubId = Integer; name = String;};
916+ {email = String; github = String; githubId = Number; name = String;};
976 etu =
917 etu =
977 { email = String;
918 { email = String;
978 github = String;
919 github = String;
979− githubId = Integer;
920+ githubId = Number;
980 keys = [{fingerprint = String; longkeyid = String;}];
921 keys = [{fingerprint = String; longkeyid = String;}];
981 name = String;
922 name = String;
982 };
923 };
983− euank = {email = String; github = String; githubId = Integer; name = String;};
924+ euank = {email = String; github = String; githubId = Number; name = String;};
984− evanjs =
985− {email = String; github = String; githubId = Integer; name = String;};
925+ evanjs = {email = String; github = String; githubId = Number; name = String;};
986− evck = {email = String; github = String; githubId = Integer; name = String;};
926+ evck = {email = String; github = String; githubId = Number; name = String;};
987 evenbrenden =
927 evenbrenden =
988− {email = String; github = String; githubId = Integer; name = String;};
928+ {email = String; github = String; githubId = Number; name = String;};
989− evils = {email = String; github = String; githubId = Integer; name = String;};
929+ evils = {email = String; github = String; githubId = Number; name = String;};
990 exfalso =
930 exfalso =
991− {email = String; github = String; githubId = Integer; name = String;};
931+ {email = String; github = String; githubId = Number; name = String;};
992− exi = {email = String; github = String; githubId = Integer; name = String;};
932+ exi = {email = String; github = String; githubId = Number; name = String;};
993 exlevan =
933 exlevan =
994− {email = String; github = String; githubId = Integer; name = String;};
934+ {email = String; github = String; githubId = Number; name = String;};
995 expipiplus1 =
935 expipiplus1 =
996− {email = String; github = String; githubId = Integer; name = String;};
936+ {email = String; github = String; githubId = Number; name = String;};
997 extends =
937 extends =
998− {email = String; github = String; githubId = Integer; name = String;};
938+ {email = String; github = String; githubId = Number; name = String;};
999− eyjhb = {email = String; github = String; githubId = Integer; name = String;};
939+ eyjhb = {email = String; github = String; githubId = Number; name = String;};
1000− f--t = {email = String; github = String; githubId = Integer; name = String;};
940+ f--t = {email = String; github = String; githubId = Number; name = String;};
1001− f4814n =
1002− {email = String; github = String; githubId = Integer; name = String;};
941+ f4814n = {email = String; github = String; githubId = Number; name = String;};
1003 fabianhauser =
942 fabianhauser =
1004 { email = String;
943 { email = String;
1005 github = String;
944 github = String;
1006− githubId = Integer;
945+ githubId = Number;
1007 keys = [{fingerprint = String; longkeyid = String;}];
946 keys = [{fingerprint = String; longkeyid = String;}];
1008 name = String;
947 name = String;
1009 };
948 };
1010− fadenb =
1011− {email = String; github = String; githubId = Integer; name = String;};
949+ fadenb = {email = String; github = String; githubId = Number; name = String;};
1012 falsifian =
950 falsifian =
1013− {email = String; github = String; githubId = Integer; name = String;};
951+ {email = String; github = String; githubId = Number; name = String;};
1014− fare = {email = String; github = String; githubId = Integer; name = String;};
952+ fare = {email = String; github = String; githubId = Number; name = String;};
1015 farlion =
953 farlion =
1016− {email = String; github = String; githubId = Integer; name = String;};
954+ {email = String; github = String; githubId = Number; name = String;};
1017− fdns = {email = String; github = String; githubId = Integer; name = String;};
955+ fdns = {email = String; github = String; githubId = Number; name = String;};
1018 ffinkdevs =
956 ffinkdevs =
1019− {email = String; github = String; githubId = Integer; name = String;};
957+ {email = String; github = String; githubId = Number; name = String;};
1020− fgaz = {email = String; github = String; githubId = Integer; name = String;};
958+ fgaz = {email = String; github = String; githubId = Number; name = String;};
1021 filalex77 =
959 filalex77 =
1022 { email = String;
960 { email = String;
1023 github = String;
961 github = String;
1024− githubId = Integer;
962+ githubId = Number;
1025 keys = [{fingerprint = String; longkeyid = String;}];
963 keys = [{fingerprint = String; longkeyid = String;}];
1026 name = String;
964 name = String;
1027 };
965 };
1028 fionera =
966 fionera =
1029− {email = String; github = String; githubId = Integer; name = String;};
967+ {email = String; github = String; githubId = Number; name = String;};
1030 fishi0x01 =
968 fishi0x01 =
1031− {email = String; github = String; githubId = Integer; name = String;};
969+ {email = String; github = String; githubId = Number; name = String;};
1032− flexw = {email = String; github = String; githubId = Integer; name = String;};
970+ flexw = {email = String; github = String; githubId = Number; name = String;};
1033− flokli =
1034− {email = String; github = String; githubId = Integer; name = String;};
971+ flokli = {email = String; github = String; githubId = Number; name = String;};
1035 florianjacob =
972 florianjacob =
1036− {email = String; github = String; githubId = Integer; name = String;};
973+ {email = String; github = String; githubId = Number; name = String;};
1037− flosse =
1038− {email = String; github = String; githubId = Integer; name = String;};
974+ flosse = {email = String; github = String; githubId = Number; name = String;};
1039 fluffynukeit =
975 fluffynukeit =
1040− {email = String; github = String; githubId = Integer; name = String;};
976+ {email = String; github = String; githubId = Number; name = String;};
1041 flyfloh =
977 flyfloh =
1042− {email = String; github = String; githubId = Integer; name = String;};
978+ {email = String; github = String; githubId = Number; name = String;};
1043 fmthoma =
979 fmthoma =
1044− {email = String; github = String; githubId = Integer; name = String;};
980+ {email = String; github = String; githubId = Number; name = String;};
1045− fooker =
1046− {email = String; github = String; githubId = Integer; name = String;};
981+ fooker = {email = String; github = String; githubId = Number; name = String;};
1047− forkk = {email = String; github = String; githubId = Integer; name = String;};
982+ forkk = {email = String; github = String; githubId = Number; name = String;};
1048 fornever =
983 fornever =
1049− {email = String; github = String; githubId = Integer; name = String;};
984+ {email = String; github = String; githubId = Number; name = String;};
1050 foxit64 =
985 foxit64 =
1051− {email = String; github = String; githubId = Integer; name = String;};
986+ {email = String; github = String; githubId = Number; name = String;};
1052 fpletz =
987 fpletz =
1053 { email = String;
988 { email = String;
1054 github = String;
989 github = String;
1055− githubId = Integer;
990+ githubId = Number;
1056 keys = [{fingerprint = String; longkeyid = String;}];
991 keys = [{fingerprint = String; longkeyid = String;}];
1057 name = String;
992 name = String;
1058 };
993 };
1059− fps = {email = String; github = String; githubId = Integer; name = String;};
994+ fps = {email = String; github = String; githubId = Number; name = String;};
1060 fragamus =
995 fragamus =
1061− {email = String; github = String; githubId = Integer; name = String;};
996+ {email = String; github = String; githubId = Number; name = String;};
1062− fredeb =
1063− {email = String; github = String; githubId = Integer; name = String;};
997+ fredeb = {email = String; github = String; githubId = Number; name = String;};
1064 freepotion =
998 freepotion =
1065− {email = String; github = String; githubId = Integer; name = String;};
999+ {email = String; github = String; githubId = Number; name = String;};
1066 freezeboy =
1000 freezeboy =
1067− {email = String; github = String; githubId = Integer; name = String;};
1001+ {email = String; github = String; githubId = Number; name = String;};
1068− fridh = {email = String; github = String; githubId = Integer; name = String;};
1002+ fridh = {email = String; github = String; githubId = Number; name = String;};
1069− frlan = {email = String; github = String; githubId = Integer; name = String;};
1003+ frlan = {email = String; github = String; githubId = Number; name = String;};
1070 fro_ozen =
1004 fro_ozen =
1071− {email = String; github = String; githubId = Integer; name = String;};
1005+ {email = String; github = String; githubId = Number; name = String;};
1072 frontsideair =
1006 frontsideair =
1073− {email = String; github = String; githubId = Integer; name = String;};
1007+ {email = String; github = String; githubId = Number; name = String;};
1074 ftrvxmtrx =
1008 ftrvxmtrx =
1075− {email = String; github = String; githubId = Integer; name = String;};
1009+ {email = String; github = String; githubId = Number; name = String;};
1076 fuerbringer =
1010 fuerbringer =
1077− {email = String; github = String; githubId = Integer; name = String;};
1011+ {email = String; github = String; githubId = Number; name = String;};
1078 funfunctor = {email = String; name = String;};
1012 funfunctor = {email = String; name = String;};
1079 fusion809 =
1013 fusion809 =
1080− {email = String; github = String; githubId = Integer; name = String;};
1014+ {email = String; github = String; githubId = Number; name = String;};
1081 fuuzetsu =
1015 fuuzetsu =
1082− {email = String; github = String; githubId = Integer; name = String;};
1016+ {email = String; github = String; githubId = Number; name = String;};
1083− fuwa = {email = String; github = String; githubId = Integer; name = String;};
1017+ fuwa = {email = String; github = String; githubId = Number; name = String;};
1084− fuzen = {email = String; github = String; githubId = Integer; name = String;};
1018+ fuzen = {email = String; github = String; githubId = Number; name = String;};
1085 fuzzy-id = {email = String; name = String;};
1019 fuzzy-id = {email = String; name = String;};
1086 fxfactorial =
1020 fxfactorial =
1087− {email = String; github = String; githubId = Integer; name = String;};
1021+ {email = String; github = String; githubId = Number; name = String;};
1088 fzakaria =
1022 fzakaria =
1089− {email = String; github = String; githubId = Integer; name = String;};
1023+ {email = String; github = String; githubId = Number; name = String;};
1090 gabesoft =
1024 gabesoft =
1091− {email = String; github = String; githubId = Integer; name = String;};
1025+ {email = String; github = String; githubId = Number; name = String;};
1092 gal_bolle =
1026 gal_bolle =
1093− {email = String; github = String; githubId = Integer; name = String;};
1027+ {email = String; github = String; githubId = Number; name = String;};
1094 galagora =
1028 galagora =
1095− {email = String; github = String; githubId = Integer; name = String;};
1029+ {email = String; github = String; githubId = Number; name = String;};
1096− gamb = {email = String; github = String; githubId = Integer; name = String;};
1030+ gamb = {email = String; github = String; githubId = Number; name = String;};
1097− garbas =
1098− {email = String; github = String; githubId = Integer; name = String;};
1031+ garbas = {email = String; github = String; githubId = Number; name = String;};
1099 garrison =
1032 garrison =
1100− {email = String; github = String; githubId = Integer; name = String;};
1033+ {email = String; github = String; githubId = Number; name = String;};
1101− gavin = {email = String; github = String; githubId = Integer; name = String;};
1034+ gavin = {email = String; github = String; githubId = Number; name = String;};
1102 gazally =
1035 gazally =
1103− {email = String; github = String; githubId = Integer; name = String;};
1036+ {email = String; github = String; githubId = Number; name = String;};
1104− gebner =
1105− {email = String; github = String; githubId = Integer; name = String;};
1037+ gebner = {email = String; github = String; githubId = Number; name = String;};
1106 genesis =
1038 genesis =
1107− {email = String; github = String; githubId = Integer; name = String;};
1039+ {email = String; github = String; githubId = Number; name = String;};
1108 georgewhewell =
1040 georgewhewell =
1109− {email = String; github = String; githubId = Integer; name = String;};
1041+ {email = String; github = String; githubId = Number; name = String;};
1110 gerschtli =
1042 gerschtli =
1111− {email = String; github = String; githubId = Integer; name = String;};
1043+ {email = String; github = String; githubId = Number; name = String;};
1112− ggpeti =
1113− {email = String; github = String; githubId = Integer; name = String;};
1044+ ggpeti = {email = String; github = String; githubId = Number; name = String;};
1114− gila = {email = String; github = String; githubId = Integer; name = String;};
1045+ gila = {email = String; github = String; githubId = Number; name = String;};
1115 gilligan =
1046 gilligan =
1116− {email = String; github = String; githubId = Integer; name = String;};
1047+ {email = String; github = String; githubId = Number; name = String;};
1117 giogadi =
1048 giogadi =
1118− {email = String; github = String; githubId = Integer; name = String;};
1049+ {email = String; github = String; githubId = Number; name = String;};
1119− gleber =
1120− {email = String; github = String; githubId = Integer; name = String;};
1050+ gleber = {email = String; github = String; githubId = Number; name = String;};
1121− glenns =
1122− {email = String; github = String; githubId = Integer; name = String;};
1051+ glenns = {email = String; github = String; githubId = Number; name = String;};
1123 glittershark =
1052 glittershark =
1124 { email = String;
1053 { email = String;
1125 github = String;
1054 github = String;
1126− githubId = Integer;
1055+ githubId = Number;
1127 keys = [{fingerprint = String; longkeyid = String;}];
1056 keys = [{fingerprint = String; longkeyid = String;}];
1128 name = String;
1057 name = String;
1129 };
1058 };
1130 gloaming =
1059 gloaming =
1131− {email = String; github = String; githubId = Integer; name = String;};
1060+ {email = String; github = String; githubId = Number; name = String;};
1132− globin =
1133− {email = String; github = String; githubId = Integer; name = String;};
1061+ globin = {email = String; github = String; githubId = Number; name = String;};
1134 gnidorah =
1062 gnidorah =
1135− {email = String; github = String; githubId = Integer; name = String;};
1063+ {email = String; github = String; githubId = Number; name = String;};
1136 gnxlxnxx =
1064 gnxlxnxx =
1137− {email = String; github = String; githubId = Integer; name = String;};
1065+ {email = String; github = String; githubId = Number; name = String;};
1138 goertzenator =
1066 goertzenator =
1139− {email = String; github = String; githubId = Integer; name = String;};
1067+ {email = String; github = String; githubId = Number; name = String;};
1140 goibhniu =
1068 goibhniu =
1141− {email = String; github = String; githubId = Integer; name = String;};
1069+ {email = String; github = String; githubId = Number; name = String;};
1142 goodrone =
1070 goodrone =
1143− {email = String; github = String; githubId = Integer; name = String;};
1071+ {email = String; github = String; githubId = Number; name = String;};
1144− gpyh = {email = String; github = String; githubId = Integer; name = String;};
1072+ gpyh = {email = String; github = String; githubId = Number; name = String;};
1145 grahamc =
1073 grahamc =
1146− {email = String; github = String; githubId = Integer; name = String;};
1074+ {email = String; github = String; githubId = Number; name = String;};
1147 grburst =
1075 grburst =
1148 { email = String;
1076 { email = String;
1149 github = String;
1077 github = String;
1150− githubId = Integer;
1078+ githubId = Number;
1151 keys = [{fingerprint = String; longkeyid = String;}];
1079 keys = [{fingerprint = String; longkeyid = String;}];
1152 name = String;
1080 name = String;
1153 };
1081 };
1154 greydot =
1082 greydot =
1155− {email = String; github = String; githubId = Integer; name = String;};
1083+ {email = String; github = String; githubId = Number; name = String;};
1156 gridaphobe =
1084 gridaphobe =
1157− {email = String; github = String; githubId = Integer; name = String;};
1085+ {email = String; github = String; githubId = Number; name = String;};
1158− groodt =
1159− {email = String; github = String; githubId = Integer; name = String;};
1086+ groodt = {email = String; github = String; githubId = Number; name = String;};
1160 guibert =
1087 guibert =
1161− {email = String; github = String; githubId = Integer; name = String;};
1088+ {email = String; github = String; githubId = Number; name = String;};
1162− guibou =
1163− {email = String; github = String; githubId = Integer; name = String;};
1089+ guibou = {email = String; github = String; githubId = Number; name = String;};
1164 guillaumekoenig =
1090 guillaumekoenig =
1165− {email = String; github = String; githubId = Integer; name = String;};
1091+ {email = String; github = String; githubId = Number; name = String;};
1166 guyonvarch =
1092 guyonvarch =
1167− {email = String; github = String; githubId = Integer; name = String;};
1093+ {email = String; github = String; githubId = Number; name = String;};
1168− gvolpe =
1169− {email = String; github = String; githubId = Integer; name = String;};
1094+ gvolpe = {email = String; github = String; githubId = Number; name = String;};
1170− hakuch =
1171− {email = String; github = String; githubId = Integer; name = String;};
1095+ hakuch = {email = String; github = String; githubId = Number; name = String;};
1172 hamhut1066 =
1096 hamhut1066 =
1173− {email = String; github = String; githubId = Integer; name = String;};
1097+ {email = String; github = String; githubId = Number; name = String;};
1174 hansjoergschurr =
1098 hansjoergschurr =
1175− {email = String; github = String; githubId = Integer; name = String;};
1099+ {email = String; github = String; githubId = Number; name = String;};
1176 haslersn =
1100 haslersn =
1177− {email = String; github = String; githubId = Integer; name = String;};
1101+ {email = String; github = String; githubId = Number; name = String;};
1178− havvy = {email = String; github = String; githubId = Integer; name = String;};
1102+ havvy = {email = String; github = String; githubId = Number; name = String;};
1179− hax404 =
1180− {email = String; github = String; githubId = Integer; name = String;};
1103+ hax404 = {email = String; github = String; githubId = Number; name = String;};
1181− hbunke =
1182− {email = String; github = String; githubId = Integer; name = String;};
1104+ hbunke = {email = String; github = String; githubId = Number; name = String;};
1183− hce = {email = String; github = String; githubId = Integer; name = String;};
1105+ hce = {email = String; github = String; githubId = Number; name = String;};
1184 hectorj =
1106 hectorj =
1185− {email = String; github = String; githubId = Integer; name = String;};
1107+ {email = String; github = String; githubId = Number; name = String;};
1186 hedning =
1108 hedning =
1187− {email = String; github = String; githubId = Integer; name = String;};
1109+ {email = String; github = String; githubId = Number; name = String;};
1188− heel = {email = String; github = String; githubId = Integer; name = String;};
1110+ heel = {email = String; github = String; githubId = Number; name = String;};
1189 helkafen =
1111 helkafen =
1190− {email = String; github = String; githubId = Integer; name = String;};
1112+ {email = String; github = String; githubId = Number; name = String;};
1191 henrytill =
1113 henrytill =
1192− {email = String; github = String; githubId = Integer; name = String;};
1114+ {email = String; github = String; githubId = Number; name = String;};
1193 herberteuler =
1115 herberteuler =
1194− {email = String; github = String; githubId = Integer; name = String;};
1116+ {email = String; github = String; githubId = Number; name = String;};
1195− hexa = {email = String; github = String; githubId = Integer; name = String;};
1117+ hexa = {email = String; github = String; githubId = Number; name = String;};
1196− hh = {email = String; github = String; githubId = Integer; name = String;};
1118+ hh = {email = String; github = String; githubId = Number; name = String;};
1197− hhm = {email = String; github = String; githubId = Integer; name = String;};
1119+ hhm = {email = String; github = String; githubId = Number; name = String;};
1198 hinton = {email = String; name = String;};
1120 hinton = {email = String; name = String;};
1199 hkjn =
1121 hkjn =
1200 { email = String;
1122 { email = String;
1201 github = String;
1123 github = String;
1202− githubId = Integer;
1124+ githubId = Number;
1203 keys = [{fingerprint = String; longkeyid = String;}];
1125 keys = [{fingerprint = String; longkeyid = String;}];
1204 name = String;
1126 name = String;
1205 };
1127 };
1206− hlolli =
1207− {email = String; github = String; githubId = Integer; name = String;};
1128+ hlolli = {email = String; github = String; githubId = Number; name = String;};
1208 hmenke =
1129 hmenke =
1209 { email = String;
1130 { email = String;
1210 github = String;
1131 github = String;
1211− githubId = Integer;
1132+ githubId = Number;
1212 keys = [{fingerprint = String; longkeyid = String;}];
1133 keys = [{fingerprint = String; longkeyid = String;}];
1213 name = String;
1134 name = String;
1214 };
1135 };
1215− hodapp =
1216− {email = String; github = String; githubId = Integer; name = String;};
1136+ hodapp = {email = String; github = String; githubId = Number; name = String;};
1217 hrdinka =
1137 hrdinka =
1218− {email = String; github = String; githubId = Integer; name = String;};
1138+ {email = String; github = String; githubId = Number; name = String;};
1219 hschaeidt =
1139 hschaeidt =
1220− {email = String; github = String; githubId = Integer; name = String;};
1140+ {email = String; github = String; githubId = Number; name = String;};
1221− htr = {email = String; github = String; githubId = Integer; name = String;};
1141+ htr = {email = String; github = String; githubId = Number; name = String;};
1222 hugoreeves =
1142 hugoreeves =
1223 { email = String;
1143 { email = String;
1224 github = String;
1144 github = String;
1225− githubId = Integer;
1145+ githubId = Number;
1226 keys = [{fingerprint = String; longkeyid = String;}];
1146 keys = [{fingerprint = String; longkeyid = String;}];
1227 name = String;
1147 name = String;
1228 };
1148 };
1229 hyphon81 =
1149 hyphon81 =
1230− {email = String; github = String; githubId = Integer; name = String;};
1150+ {email = String; github = String; githubId = Number; name = String;};
1231− i077 = {email = String; github = String; githubId = Integer; name = String;};
1151+ i077 = {email = String; github = String; githubId = Number; name = String;};
1232 iand675 =
1152 iand675 =
1233− {email = String; github = String; githubId = Integer; name = String;};
1153+ {email = String; github = String; githubId = Number; name = String;};
1234 ianmjones =
1154 ianmjones =
1235− {email = String; github = String; githubId = Integer; name = String;};
1155+ {email = String; github = String; githubId = Number; name = String;};
1236 ianwookim =
1156 ianwookim =
1237− {email = String; github = String; githubId = Integer; name = String;};
1157+ {email = String; github = String; githubId = Number; name = String;};
1238− iblech =
1239− {email = String; github = String; githubId = Integer; name = String;};
1158+ iblech = {email = String; github = String; githubId = Number; name = String;};
1240 idontgetoutmuch =
1159 idontgetoutmuch =
1241− {email = String; github = String; githubId = Integer; name = String;};
1160+ {email = String; github = String; githubId = Number; name = String;};
1242− igsha = {email = String; github = String; githubId = Integer; name = String;};
1161+ igsha = {email = String; github = String; githubId = Number; name = String;};
1243− iimog = {email = String; github = String; githubId = Integer; name = String;};
1162+ iimog = {email = String; github = String; githubId = Number; name = String;};
1244 ikervagyok =
1163 ikervagyok =
1245− {email = String; github = String; githubId = Integer; name = String;};
1164+ {email = String; github = String; githubId = Number; name = String;};
1246 ilikeavocadoes =
1165 ilikeavocadoes =
1247− {email = String; github = String; githubId = Integer; name = String;};
1166+ {email = String; github = String; githubId = Number; name = String;};
1248 illegalprime =
1167 illegalprime =
1249− {email = String; github = String; githubId = Integer; name = String;};
1168+ {email = String; github = String; githubId = Number; name = String;};
1250 illiusdope =
1169 illiusdope =
1251− {email = String; github = String; githubId = Integer; name = String;};
1170+ {email = String; github = String; githubId = Number; name = String;};
1252 ilya-fedin =
1171 ilya-fedin =
1253− {email = String; github = String; githubId = Integer; name = String;};
1172+ {email = String; github = String; githubId = Number; name = String;};
1254 ilya-kolpakov =
1173 ilya-kolpakov =
1255− {email = String; github = String; githubId = Integer; name = String;};
1174+ {email = String; github = String; githubId = Number; name = String;};
1256 imalison =
1175 imalison =
1257− {email = String; github = String; githubId = Integer; name = String;};
1176+ {email = String; github = String; githubId = Number; name = String;};
1258 imalsogreg =
1177 imalsogreg =
1259− {email = String; github = String; githubId = Integer; name = String;};
1178+ {email = String; github = String; githubId = Number; name = String;};
1260− immae = {email = String; github = String; githubId = Integer; name = String;};
1179+ immae = {email = String; github = String; githubId = Number; name = String;};
1261− imuli = {email = String; github = String; githubId = Integer; name = String;};
1180+ imuli = {email = String; github = String; githubId = Number; name = String;};
1262 infinisil =
1181 infinisil =
1263 { email = String;
1182 { email = String;
1264 github = String;
1183 github = String;
1265− githubId = Integer;
1184+ githubId = Number;
1266 keys = [{fingerprint = String; longkeyid = String;}];
1185 keys = [{fingerprint = String; longkeyid = String;}];
1267 name = String;
1186 name = String;
1268 };
1187 };
1269 ingenieroariel =
1188 ingenieroariel =
1270− {email = String; github = String; githubId = Integer; name = String;};
1189+ {email = String; github = String; githubId = Number; name = String;};
1271 ironpinguin =
1190 ironpinguin =
1272− {email = String; github = String; githubId = Integer; name = String;};
1191+ {email = String; github = String; githubId = Number; name = String;};
1273 isgy =
1192 isgy =
1274 { email = String;
1193 { email = String;
1275 github = String;
1194 github = String;
1276− githubId = Integer;
1195+ githubId = Number;
1277 keys = [{fingerprint = String; longkeyid = String;}];
1196 keys = [{fingerprint = String; longkeyid = String;}];
1278 name = String;
1197 name = String;
1279 };
1198 };
1280− ivan = {email = String; github = String; githubId = Integer; name = String;};
1199+ ivan = {email = String; github = String; githubId = Number; name = String;};
1281 ivan-timokhin =
1200 ivan-timokhin =
1282− {email = String; github = String; githubId = Integer; name = String;};
1201+ {email = String; github = String; githubId = Number; name = String;};
1283 ivan-tkatchev = {email = String; name = String;};
1202 ivan-tkatchev = {email = String; name = String;};
1284 ivanbrennan =
1203 ivanbrennan =
1285 { email = String;
1204 { email = String;
1286 github = String;
1205 github = String;
1287− githubId = Integer;
1206+ githubId = Number;
1288 keys = [{fingerprint = String; longkeyid = String;}];
1207 keys = [{fingerprint = String; longkeyid = String;}];
1289 name = String;
1208 name = String;
1290 };
1209 };
1291− ivar = {email = String; github = String; githubId = Integer; name = String;};
1210+ ivar = {email = String; github = String; githubId = Number; name = String;};
1292 ivegotasthma =
1211 ivegotasthma =
1293 { email = String;
1212 { email = String;
1294 github = String;
1213 github = String;
1295− githubId = Integer;
1214+ githubId = Number;
1296 keys = [{fingerprint = String; longkeyid = String;}];
1215 keys = [{fingerprint = String; longkeyid = String;}];
1297 name = String;
1216 name = String;
1298 };
1217 };
1299 ixmatus =
1218 ixmatus =
1300− {email = String; github = String; githubId = Integer; name = String;};
1219+ {email = String; github = String; githubId = Number; name = String;};
1301− ixxie = {email = String; github = String; githubId = Integer; name = String;};
1220+ ixxie = {email = String; github = String; githubId = Number; name = String;};
1302 izorkin =
1221 izorkin =
1303− {email = String; github = String; githubId = Integer; name = String;};
1222+ {email = String; github = String; githubId = Number; name = String;};
1304− j-keck =
1305− {email = String; github = String; githubId = Integer; name = String;};
1223+ j-keck = {email = String; github = String; githubId = Number; name = String;};
1306− j03 = {email = String; github = String; githubId = Integer; name = String;};
1224+ j03 = {email = String; github = String; githubId = Number; name = String;};
1307− j0hax = {email = String; github = String; githubId = Integer; name = String;};
1225+ j0hax = {email = String; github = String; githubId = Number; name = String;};
1308 jD91mZM2 =
1226 jD91mZM2 =
1309− {email = String; github = String; githubId = Integer; name = String;};
1227+ {email = String; github = String; githubId = Number; name = String;};
1310− jacg = {email = String; github = String; githubId = Integer; name = String;};
1228+ jacg = {email = String; github = String; githubId = Number; name = String;};
1311 jagajaga =
1229 jagajaga =
1312− {email = String; github = String; githubId = Integer; name = String;};
1230+ {email = String; github = String; githubId = Number; name = String;};
1313 jakelogemann =
1231 jakelogemann =
1314− {email = String; github = String; githubId = Integer; name = String;};
1232+ {email = String; github = String; githubId = Number; name = String;};
1315 jakestanger =
1233 jakestanger =
1316− {email = String; github = String; githubId = Integer; name = String;};
1234+ {email = String; github = String; githubId = Number; name = String;};
1317 jakewaksbaum =
1235 jakewaksbaum =
1318− {email = String; github = String; githubId = Integer; name = String;};
1236+ {email = String; github = String; githubId = Number; name = String;};
1319 jammerful =
1237 jammerful =
1320− {email = String; github = String; githubId = Integer; name = String;};
1238+ {email = String; github = String; githubId = Number; name = String;};
1321− jansol =
1322− {email = String; github = String; githubId = Integer; name = String;};
1239+ jansol = {email = String; github = String; githubId = Number; name = String;};
1323 jasoncarr =
1240 jasoncarr =
1324− {email = String; github = String; githubId = Integer; name = String;};
1241+ {email = String; github = String; githubId = Number; name = String;};
1325 javaguirre =
1242 javaguirre =
1326− {email = String; github = String; githubId = Integer; name = String;};
1243+ {email = String; github = String; githubId = Number; name = String;};
1327− jb55 = {email = String; github = String; githubId = Integer; name = String;};
1244+ jb55 = {email = String; github = String; githubId = Number; name = String;};
1328− jbedo = {email = String; github = String; githubId = Integer; name = String;};
1245+ jbedo = {email = String; github = String; githubId = Number; name = String;};
1329− jbgi = {email = String; github = String; githubId = Integer; name = String;};
1246+ jbgi = {email = String; github = String; githubId = Number; name = String;};
1330− jchw = {email = String; github = String; githubId = Integer; name = String;};
1247+ jchw = {email = String; github = String; githubId = Number; name = String;};
1331 jcumming = {email = String; name = String;};
1248 jcumming = {email = String; name = String;};
1332 jdagilliland =
1249 jdagilliland =
1333− {email = String; github = String; githubId = Integer; name = String;};
1250+ {email = String; github = String; githubId = Number; name = String;};
1334 jdanek =
1251 jdanek =
1335 { email = String;
1252 { email = String;
1336 github = String;
1253 github = String;
1337− githubId = Integer;
1254+ githubId = Number;
1338 keys = [{fingerprint = String; longkeyid = String;}];
1255 keys = [{fingerprint = String; longkeyid = String;}];
1339 name = String;
1256 name = String;
1340 };
1257 };
1341 jdbaldry =
1258 jdbaldry =
1342− {email = String; github = String; githubId = Integer; name = String;};
1259+ {email = String; github = String; githubId = Number; name = String;};
1343 jdehaas =
1260 jdehaas =
1344− {email = String; github = String; githubId = Integer; name = String;};
1261+ {email = String; github = String; githubId = Number; name = String;};
1345− jduan = {email = String; github = String; githubId = Integer; name = String;};
1262+ jduan = {email = String; github = String; githubId = Number; name = String;};
1346− jefdaj =
1347− {email = String; github = String; githubId = Integer; name = String;};
1263+ jefdaj = {email = String; github = String; githubId = Number; name = String;};
1348 jefflabonte =
1264 jefflabonte =
1349− {email = String; github = String; githubId = Integer; name = String;};
1265+ {email = String; github = String; githubId = Number; name = String;};
1350 jensbin =
1266 jensbin =
1351− {email = String; github = String; githubId = Integer; name = String;};
1267+ {email = String; github = String; githubId = Number; name = String;};
1352 jeremyschlatter =
1268 jeremyschlatter =
1353− {email = String; github = String; githubId = Integer; name = String;};
1269+ {email = String; github = String; githubId = Number; name = String;};
1354 jerith666 =
1270 jerith666 =
1355− {email = String; github = String; githubId = Integer; name = String;};
1271+ {email = String; github = String; githubId = Number; name = String;};
1356 jeschli =
1272 jeschli =
1357− {email = String; github = String; githubId = Integer; name = String;};
1273+ {email = String; github = String; githubId = Number; name = String;};
1358− jethro =
1359− {email = String; github = String; githubId = Integer; name = String;};
1274+ jethro = {email = String; github = String; githubId = Number; name = String;};
1360− jfb = {email = String; github = String; githubId = Integer; name = String;};
1275+ jfb = {email = String; github = String; githubId = Number; name = String;};
1361 jflanglois =
1276 jflanglois =
1362− {email = String; github = String; githubId = Integer; name = String;};
1277+ {email = String; github = String; githubId = Number; name = String;};
1363 jfrankenau =
1278 jfrankenau =
1364− {email = String; github = String; githubId = Integer; name = String;};
1279+ {email = String; github = String; githubId = Number; name = String;};
1365 jfroche =
1280 jfroche =
1366 { email = String;
1281 { email = String;
1367 github = String;
1282 github = String;
1368− githubId = Integer;
1283+ githubId = Number;
1369 keys = [{fingerprint = String; longkeyid = String;}];
1284 keys = [{fingerprint = String; longkeyid = String;}];
1370 name = String;
1285 name = String;
1371 };
1286 };
1372 jgeerds =
1287 jgeerds =
1373− {email = String; github = String; githubId = Integer; name = String;};
1288+ {email = String; github = String; githubId = Number; name = String;};
1374− jgertm =
1375− {email = String; github = String; githubId = Integer; name = String;};
1289+ jgertm = {email = String; github = String; githubId = Number; name = String;};
1376 jgillich =
1290 jgillich =
1377− {email = String; github = String; githubId = Integer; name = String;};
1291+ {email = String; github = String; githubId = Number; name = String;};
1378 jglukasik =
1292 jglukasik =
1379− {email = String; github = String; githubId = Integer; name = String;};
1293+ {email = String; github = String; githubId = Number; name = String;};
1380− jhhuh = {email = String; github = String; githubId = Integer; name = String;};
1294+ jhhuh = {email = String; github = String; githubId = Number; name = String;};
1381 jhillyerd =
1295 jhillyerd =
1382− {email = String; github = String; githubId = Integer; name = String;};
1296+ {email = String; github = String; githubId = Number; name = String;};
1383 jirkamarsik =
1297 jirkamarsik =
1384− {email = String; github = String; githubId = Integer; name = String;};
1298+ {email = String; github = String; githubId = Number; name = String;};
1385− jitwit =
1386− {email = String; github = String; githubId = Integer; name = String;};
1299+ jitwit = {email = String; github = String; githubId = Number; name = String;};
1387 jjjollyjim =
1300 jjjollyjim =
1388− {email = String; github = String; githubId = Integer; name = String;};
1301+ {email = String; github = String; githubId = Number; name = String;};
1389− jk = {email = String; github = String; githubId = Integer; name = String;};
1302+ jk = {email = String; github = String; githubId = Number; name = String;};
1390 jlesquembre =
1303 jlesquembre =
1391− {email = String; github = String; githubId = Integer; name = String;};
1304+ {email = String; github = String; githubId = Number; name = String;};
1392− jloyet =
1393− {email = String; github = String; githubId = Integer; name = String;};
1305+ jloyet = {email = String; github = String; githubId = Number; name = String;};
1394 jluttine =
1306 jluttine =
1395− {email = String; github = String; githubId = Integer; name = String;};
1307+ {email = String; github = String; githubId = Number; name = String;};
1396− jm2dev =
1397− {email = String; github = String; githubId = Integer; name = String;};
1308+ jm2dev = {email = String; github = String; githubId = Number; name = String;};
1398 jmagnusj =
1309 jmagnusj =
1399− {email = String; github = String; githubId = Integer; name = String;};
1310+ {email = String; github = String; githubId = Number; name = String;};
1400 jmettes =
1311 jmettes =
1401− {email = String; github = String; githubId = Integer; name = String;};
1312+ {email = String; github = String; githubId = Number; name = String;};
1402 joachifm =
1313 joachifm =
1403− {email = String; github = String; githubId = Integer; name = String;};
1314+ {email = String; github = String; githubId = Number; name = String;};
1404 joachimschmidt557 =
1315 joachimschmidt557 =
1405− {email = String; github = String; githubId = Integer; name = String;};
1316+ {email = String; github = String; githubId = Number; name = String;};
1406 joamaki =
1317 joamaki =
1407− {email = String; github = String; githubId = Integer; name = String;};
1318+ {email = String; github = String; githubId = Number; name = String;};
1408 jobojeha =
1319 jobojeha =
1409− {email = String; github = String; githubId = Integer; name = String;};
1320+ {email = String; github = String; githubId = Number; name = String;};
1410 joelburget =
1321 joelburget =
1411− {email = String; github = String; githubId = Integer; name = String;};
1322+ {email = String; github = String; githubId = Number; name = String;};
1412− joelmo =
1413− {email = String; github = String; githubId = Integer; name = String;};
1323+ joelmo = {email = String; github = String; githubId = Number; name = String;};
1414 joelteon = {email = String; name = String;};
1324 joelteon = {email = String; name = String;};
1415 joepie91 =
1325 joepie91 =
1416− {email = String; github = String; githubId = Integer; name = String;};
1326+ {email = String; github = String; githubId = Number; name = String;};
1417 joesalisbury =
1327 joesalisbury =
1418− {email = String; github = String; githubId = Integer; name = String;};
1328+ {email = String; github = String; githubId = Number; name = String;};
1419 johanot =
1329 johanot =
1420− {email = String; github = String; githubId = Integer; name = String;};
1330+ {email = String; github = String; githubId = Number; name = String;};
1421− johbo = {email = String; github = String; githubId = Integer; name = String;};
1331+ johbo = {email = String; github = String; githubId = Number; name = String;};
1422 johnazoidberg =
1332 johnazoidberg =
1423− {email = String; github = String; githubId = Integer; name = String;};
1333+ {email = String; github = String; githubId = Number; name = String;};
1424 johnchildren =
1334 johnchildren =
1425− {email = String; github = String; githubId = Integer; name = String;};
1335+ {email = String; github = String; githubId = Number; name = String;};
1426− johnmh =
1427− {email = String; github = String; githubId = Integer; name = String;};
1336+ johnmh = {email = String; github = String; githubId = Number; name = String;};
1428 johnramsden =
1337 johnramsden =
1429− {email = String; github = String; githubId = Integer; name = String;};
1338+ {email = String; github = String; githubId = Number; name = String;};
1430 johntitor =
1339 johntitor =
1431− {email = String; github = String; githubId = Integer; name = String;};
1340+ {email = String; github = String; githubId = Number; name = String;};
1432 jojosch =
1341 jojosch =
1433 { email = String;
1342 { email = String;
1434 github = String;
1343 github = String;
1435− githubId = Integer;
1344+ githubId = Number;
1436 keys = [{fingerprint = String; longkeyid = String;}];
1345 keys = [{fingerprint = String; longkeyid = String;}];
1437 name = String;
1346 name = String;
1438 };
1347 };
1439 joko =
1348 joko =
1440 { email = String;
1349 { email = String;
1441 github = String;
1350 github = String;
1442− githubId = Integer;
1351+ githubId = Number;
1443 keys = [{fingerprint = String; longkeyid = String;}];
1352 keys = [{fingerprint = String; longkeyid = String;}];
1444 name = String;
1353 name = String;
1445 };
1354 };
1446 jonafato =
1355 jonafato =
1447− {email = String; github = String; githubId = Integer; name = String;};
1356+ {email = String; github = String; githubId = Number; name = String;};
1448 jonathanmarler =
1357 jonathanmarler =
1449− {email = String; github = String; githubId = Integer; name = String;};
1358+ {email = String; github = String; githubId = Number; name = String;};
1450 jonathanreeve =
1359 jonathanreeve =
1451− {email = String; github = String; githubId = Integer; name = String;};
1360+ {email = String; github = String; githubId = Number; name = String;};
1452 joncojonathan =
1361 joncojonathan =
1453− {email = String; github = String; githubId = Integer; name = String;};
1362+ {email = String; github = String; githubId = Number; name = String;};
1454 jonringer =
1363 jonringer =
1455− {email = String; github = String; githubId = Integer; name = String;};
1364+ {email = String; github = String; githubId = Number; name = String;};
1456− jorise =
1457− {email = String; github = String; githubId = Integer; name = String;};
1365+ jorise = {email = String; github = String; githubId = Number; name = String;};
1458− jorsn = {email = String; github = String; githubId = Integer; name = String;};
1366+ jorsn = {email = String; github = String; githubId = Number; name = String;};
1459 joshuafern =
1367 joshuafern =
1460− {email = String; github = String; githubId = Integer; name = String;};
1368+ {email = String; github = String; githubId = Number; name = String;};
1461− jpas = {email = String; github = String; githubId = Integer; name = String;};
1369+ jpas = {email = String; github = String; githubId = Number; name = String;};
1462 jpdoyle =
1370 jpdoyle =
1463− {email = String; github = String; githubId = Integer; name = String;};
1371+ {email = String; github = String; githubId = Number; name = String;};
1464 jperras =
1372 jperras =
1465− {email = String; github = String; githubId = Integer; name = String;};
1373+ {email = String; github = String; githubId = Number; name = String;};
1466 jpierre03 =
1374 jpierre03 =
1467− {email = String; github = String; githubId = Integer; name = String;};
1375+ {email = String; github = String; githubId = Number; name = String;};
1468 jpotier =
1376 jpotier =
1469− {email = String; github = String; githubId = Integer; name = String;};
1377+ {email = String; github = String; githubId = Number; name = String;};
1470 jqueiroz =
1378 jqueiroz =
1471− {email = String; github = String; githubId = Integer; name = String;};
1379+ {email = String; github = String; githubId = Number; name = String;};
1472 jraygauthier =
1380 jraygauthier =
1473− {email = String; github = String; githubId = Integer; name = String;};
1381+ {email = String; github = String; githubId = Number; name = String;};
1474 jschievink =
1382 jschievink =
1475− {email = String; github = String; githubId = Integer; name = String;};
1383+ {email = String; github = String; githubId = Number; name = String;};
1476 jtcoolen =
1384 jtcoolen =
1477 { email = String;
1385 { email = String;
1478 github = String;
1386 github = String;
1479− githubId = Integer;
1387+ githubId = Number;
1480 keys = [{fingerprint = String; longkeyid = String;}];
1388 keys = [{fingerprint = String; longkeyid = String;}];
1481 name = String;
1389 name = String;
1482 };
1390 };
1483− jtobin =
1484− {email = String; github = String; githubId = Integer; name = String;};
1391+ jtobin = {email = String; github = String; githubId = Number; name = String;};
1485 jtojnar =
1392 jtojnar =
1486− {email = String; github = String; githubId = Integer; name = String;};
1393+ {email = String; github = String; githubId = Number; name = String;};
1487 juaningan =
1394 juaningan =
1488− {email = String; github = String; githubId = Integer; name = String;};
1395+ {email = String; github = String; githubId = Number; name = String;};
1489 juliendehos =
1396 juliendehos =
1490− {email = String; github = String; githubId = Integer; name = String;};
1397+ {email = String; github = String; githubId = Number; name = String;};
1491− julm = {email = String; github = String; githubId = Integer; name = String;};
1398+ julm = {email = String; github = String; githubId = Number; name = String;};
1492 jumper149 =
1399 jumper149 =
1493− {email = String; github = String; githubId = Integer; name = String;};
1400+ {email = String; github = String; githubId = Number; name = String;};
1494 justinwoo =
1401 justinwoo =
1495− {email = String; github = String; githubId = Integer; name = String;};
1402+ {email = String; github = String; githubId = Number; name = String;};
1496− jwatt = {email = String; github = String; githubId = Integer; name = String;};
1403+ jwatt = {email = String; github = String; githubId = Number; name = String;};
1497 jwiegley =
1404 jwiegley =
1498− {email = String; github = String; githubId = Integer; name = String;};
1405+ {email = String; github = String; githubId = Number; name = String;};
1499 jwijenbergh =
1406 jwijenbergh =
1500− {email = String; github = String; githubId = Integer; name = String;};
1407+ {email = String; github = String; githubId = Number; name = String;};
1501 jwilberding = {email = String; name = String;};
1408 jwilberding = {email = String; name = String;};
1502− jyp = {email = String; github = String; githubId = Integer; name = String;};
1409+ jyp = {email = String; github = String; githubId = Number; name = String;};
1503 jzellner =
1410 jzellner =
1504− {email = String; github = String; githubId = Integer; name = String;};
1411+ {email = String; github = String; githubId = Number; name = String;};
1505 kaction =
1412 kaction =
1506 { email = String;
1413 { email = String;
1507 github = String;
1414 github = String;
1508− githubId = Integer;
1415+ githubId = Number;
1509 keys = [{fingerprint = String; longkeyid = String;}];
1416 keys = [{fingerprint = String; longkeyid = String;}];
1510 name = String;
1417 name = String;
1511 };
1418 };
1512− kaiha = {email = String; github = String; githubId = Integer; name = String;};
1419+ kaiha = {email = String; github = String; githubId = Number; name = String;};
1513 kalbasit =
1420 kalbasit =
1514− {email = String; github = String; githubId = Integer; name = String;};
1421+ {email = String; github = String; githubId = Number; name = String;};
1515 kalekseev =
1422 kalekseev =
1516− {email = String; github = String; githubId = Integer; name = String;};
1423+ {email = String; github = String; githubId = Number; name = String;};
1517 kamadorueda =
1424 kamadorueda =
1518 { email = String;
1425 { email = String;
1519 github = String;
1426 github = String;
1520− githubId = Integer;
1427+ githubId = Number;
1521 keys = [{fingerprint = String; longkeyid = String;}];
1428 keys = [{fingerprint = String; longkeyid = String;}];
1522 name = String;
1429 name = String;
1523 };
1430 };
1524 kamilchm =
1431 kamilchm =
1525− {email = String; github = String; githubId = Integer; name = String;};
1432+ {email = String; github = String; githubId = Number; name = String;};
1526 kampfschlaefer =
1433 kampfschlaefer =
1527− {email = String; github = String; githubId = Integer; name = String;};
1434+ {email = String; github = String; githubId = Number; name = String;};
1528 kampka =
1435 kampka =
1529 { email = String;
1436 { email = String;
1530 github = String;
1437 github = String;
1531− githubId = Integer;
1438+ githubId = Number;
1532 keys = [{fingerprint = String; longkeyid = String;}];
1439 keys = [{fingerprint = String; longkeyid = String;}];
1533 name = String;
1440 name = String;
1534 };
1441 };
1535 karantan =
1442 karantan =
1536− {email = String; github = String; githubId = Integer; name = String;};
1443+ {email = String; github = String; githubId = Number; name = String;};
1537 karolchmist = {email = String; name = String;};
1444 karolchmist = {email = String; name = String;};
1538 kayhide =
1445 kayhide =
1539− {email = String; github = String; githubId = Integer; name = String;};
1446+ {email = String; github = String; githubId = Number; name = String;};
1540− kazcw = {email = String; github = String; githubId = Integer; name = String;};
1447+ kazcw = {email = String; github = String; githubId = Number; name = String;};
1541 kcalvinalvin =
1448 kcalvinalvin =
1542− {email = String; github = String; githubId = Integer; name = String;};
1449+ {email = String; github = String; githubId = Number; name = String;};
1543 kentjames =
1450 kentjames =
1544− {email = String; github = String; githubId = Integer; name = String;};
1451+ {email = String; github = String; githubId = Number; name = String;};
1545 kevincox =
1452 kevincox =
1546− {email = String; github = String; githubId = Integer; name = String;};
1453+ {email = String; github = String; githubId = Number; name = String;};
1547 kfollesdal =
1454 kfollesdal =
1548− {email = String; github = String; githubId = Integer; name = String;};
1455+ {email = String; github = String; githubId = Number; name = String;};
1549− khumba =
1550− {email = String; github = String; githubId = Integer; name = String;};
1456+ khumba = {email = String; github = String; githubId = Number; name = String;};
1551 kierdavis =
1457 kierdavis =
1552− {email = String; github = String; githubId = Integer; name = String;};
1458+ {email = String; github = String; githubId = Number; name = String;};
1553 killercup =
1459 killercup =
1554− {email = String; github = String; githubId = Integer; name = String;};
1460+ {email = String; github = String; githubId = Number; name = String;};
1555 kiloreux =
1461 kiloreux =
1556− {email = String; github = String; githubId = Integer; name = String;};
1462+ {email = String; github = String; githubId = Number; name = String;};
1557− kim0 = {email = String; github = String; githubId = Integer; name = String;};
1463+ kim0 = {email = String; github = String; githubId = Number; name = String;};
1558− kimat = {email = String; github = String; githubId = Integer; name = String;};
1464+ kimat = {email = String; github = String; githubId = Number; name = String;};
1559 kimburgess =
1465 kimburgess =
1560− {email = String; github = String; githubId = Integer; name = String;};
1466+ {email = String; github = String; githubId = Number; name = String;};
1561− kini = {email = String; github = String; githubId = Integer; name = String;};
1467+ kini = {email = String; github = String; githubId = Number; name = String;};
1562 kirelagin =
1468 kirelagin =
1563− {email = String; github = String; githubId = Integer; name = String;};
1469+ {email = String; github = String; githubId = Number; name = String;};
1564 kirikaza =
1470 kirikaza =
1565− {email = String; github = String; githubId = Integer; name = String;};
1471+ {email = String; github = String; githubId = Number; name = String;};
1566 kisonecat =
1472 kisonecat =
1567− {email = String; github = String; githubId = Integer; name = String;};
1473+ {email = String; github = String; githubId = Number; name = String;};
1568 kiwi =
1474 kiwi =
1569 { email = String;
1475 { email = String;
1570 github = String;
1476 github = String;
1571− githubId = Integer;
1477+ githubId = Number;
1572 keys = [{fingerprint = String; longkeyid = String;}];
1478 keys = [{fingerprint = String; longkeyid = String;}];
1573 name = String;
1479 name = String;
1574 };
1480 };
1575 kkallio = {email = String; name = String;};
1481 kkallio = {email = String; name = String;};
1576 klntsky =
1482 klntsky =
1577− {email = String; github = String; githubId = Integer; name = String;};
1483+ {email = String; github = String; githubId = Number; name = String;};
1578 kloenk =
1484 kloenk =
1579 { email = String;
1485 { email = String;
1580 github = String;
1486 github = String;
1581− githubId = Integer;
1487+ githubId = Number;
1582 keys = [{fingerprint = String; longkeyid = String;}];
1488 keys = [{fingerprint = String; longkeyid = String;}];
1583 name = String;
1489 name = String;
1584 };
1490 };
1585 kmcopper =
1491 kmcopper =
1586− {email = String; github = String; githubId = Integer; name = String;};
1492+ {email = String; github = String; githubId = Number; name = String;};
1587 kmeakin =
1493 kmeakin =
1588− {email = String; github = String; githubId = Integer; name = String;};
1494+ {email = String; github = String; githubId = Number; name = String;};
1589− kmein = {email = String; github = String; githubId = Integer; name = String;};
1495+ kmein = {email = String; github = String; githubId = Number; name = String;};
1590 knairda =
1496 knairda =
1591− {email = String; github = String; githubId = Integer; name = String;};
1497+ {email = String; github = String; githubId = Number; name = String;};
1592 knedlsepp =
1498 knedlsepp =
1593− {email = String; github = String; githubId = Integer; name = String;};
1499+ {email = String; github = String; githubId = Number; name = String;};
1594− knl = {email = String; github = String; githubId = Integer; name = String;};
1500+ knl = {email = String; github = String; githubId = Number; name = String;};
1595 kolaente =
1501 kolaente =
1596− {email = String; github = String; githubId = Integer; name = String;};
1502+ {email = String; github = String; githubId = Number; name = String;};
1597 kolbycrouch =
1503 kolbycrouch =
1598− {email = String; github = String; githubId = Integer; name = String;};
1504+ {email = String; github = String; githubId = Number; name = String;};
1599 kolloch =
1505 kolloch =
1600− {email = String; github = String; githubId = Integer; name = String;};
1506+ {email = String; github = String; githubId = Number; name = String;};
1601 konimex =
1507 konimex =
1602− {email = String; github = String; githubId = Integer; name = String;};
1508+ {email = String; github = String; githubId = Number; name = String;};
1603− koral = {email = String; github = String; githubId = Integer; name = String;};
1509+ koral = {email = String; github = String; githubId = Number; name = String;};
1604 koslambrou =
1510 koslambrou =
1605− {email = String; github = String; githubId = Integer; name = String;};
1511+ {email = String; github = String; githubId = Number; name = String;};
1606 kovirobi =
1512 kovirobi =
1607− {email = String; github = String; githubId = Integer; name = String;};
1513+ {email = String; github = String; githubId = Number; name = String;};
1608− kquick =
1609− {email = String; github = String; githubId = Integer; name = String;};
1514+ kquick = {email = String; github = String; githubId = Number; name = String;};
1610− kraem = {email = String; github = String; githubId = Integer; name = String;};
1515+ kraem = {email = String; github = String; githubId = Number; name = String;};
1611 kragniz =
1516 kragniz =
1612− {email = String; github = String; githubId = Integer; name = String;};
1517+ {email = String; github = String; githubId = Number; name = String;};
1613− krav = {email = String; github = String; githubId = Integer; name = String;};
1518+ krav = {email = String; github = String; githubId = Number; name = String;};
1614 kristian-brucaj =
1519 kristian-brucaj =
1615− {email = String; github = String; githubId = Integer; name = String;};
1520+ {email = String; github = String; githubId = Number; name = String;};
1616 kristoff3r =
1521 kristoff3r =
1617− {email = String; github = String; githubId = Integer; name = String;};
1522+ {email = String; github = String; githubId = Number; name = String;};
1618− kroell =
1619− {email = String; github = String; githubId = Integer; name = String;};
1523+ kroell = {email = String; github = String; githubId = Number; name = String;};
1620− ktf = {email = String; github = String; githubId = Integer; name = String;};
1524+ ktf = {email = String; github = String; githubId = Number; name = String;};
1621 kthielen =
1525 kthielen =
1622− {email = String; github = String; githubId = Integer; name = String;};
1526+ {email = String; github = String; githubId = Number; name = String;};
1623− ktor = {email = String; github = String; githubId = Integer; name = String;};
1527+ ktor = {email = String; github = String; githubId = Number; name = String;};
1624 ktosiek =
1528 ktosiek =
1625− {email = String; github = String; githubId = Integer; name = String;};
1529+ {email = String; github = String; githubId = Number; name = String;};
1626 kuznero =
1530 kuznero =
1627− {email = String; github = String; githubId = Integer; name = String;};
1531+ {email = String; github = String; githubId = Number; name = String;};
1628 kwohlfahrt =
1532 kwohlfahrt =
1629− {email = String; github = String; githubId = Integer; name = String;};
1533+ {email = String; github = String; githubId = Number; name = String;};
1630 kylesferrazza =
1534 kylesferrazza =
1631 { email = String;
1535 { email = String;
1632 github = String;
1536 github = String;
1633− githubId = Integer;
1537+ githubId = Number;
1634 keys = [{fingerprint = String; longkeyid = String;}];
1538 keys = [{fingerprint = String; longkeyid = String;}];
1635 name = String;
1539 name = String;
1636 };
1540 };
1637 kylewlacy =
1541 kylewlacy =
1638− {email = String; github = String; githubId = Integer; name = String;};
1542+ {email = String; github = String; githubId = Number; name = String;};
1639− laikq = {email = String; github = String; githubId = Integer; name = String;};
1543+ laikq = {email = String; github = String; githubId = Number; name = String;};
1640 lambda-11235 =
1544 lambda-11235 =
1641− {email = String; github = String; githubId = Integer; name = String;};
1545+ {email = String; github = String; githubId = Number; name = String;};
1642 lasandell =
1546 lasandell =
1643− {email = String; github = String; githubId = Integer; name = String;};
1547+ {email = String; github = String; githubId = Number; name = String;};
1644 lassulus =
1548 lassulus =
1645− {email = String; github = String; githubId = Integer; name = String;};
1549+ {email = String; github = String; githubId = Number; name = String;};
1646 lattfein = {email = String; name = String;};
1550 lattfein = {email = String; name = String;};
1647− layus = {email = String; github = String; githubId = Integer; name = String;};
1551+ layus = {email = String; github = String; githubId = Number; name = String;};
1648− lblasc =
1649− {email = String; github = String; githubId = Integer; name = String;};
1552+ lblasc = {email = String; github = String; githubId = Number; name = String;};
1650− lbpdt = {email = String; github = String; githubId = Integer; name = String;};
1553+ lbpdt = {email = String; github = String; githubId = Number; name = String;};
1651 ldelelis =
1554 ldelelis =
1652− {email = String; github = String; githubId = Integer; name = String;};
1555+ {email = String; github = String; githubId = Number; name = String;};
1653 ldesgoui =
1556 ldesgoui =
1654− {email = String; github = String; githubId = Integer; name = String;};
1557+ {email = String; github = String; githubId = Number; name = String;};
1655− league =
1656− {email = String; github = String; githubId = Integer; name = String;};
1558+ league = {email = String; github = String; githubId = Number; name = String;};
1657 leahneukirchen =
1559 leahneukirchen =
1658− {email = String; github = String; githubId = Integer; name = String;};
1560+ {email = String; github = String; githubId = Number; name = String;};
1659 lebastr =
1561 lebastr =
1660− {email = String; github = String; githubId = Integer; name = String;};
1562+ {email = String; github = String; githubId = Number; name = String;};
1661− ledif = {email = String; github = String; githubId = Integer; name = String;};
1563+ ledif = {email = String; github = String; githubId = Number; name = String;};
1662 leemachin =
1564 leemachin =
1663− {email = String; github = String; githubId = Integer; name = String;};
1565+ {email = String; github = String; githubId = Number; name = String;};
1664 leenaars =
1566 leenaars =
1665− {email = String; github = String; githubId = Integer; name = String;};
1567+ {email = String; github = String; githubId = Number; name = String;};
1666 lejonet =
1568 lejonet =
1667− {email = String; github = String; githubId = Integer; name = String;};
1569+ {email = String; github = String; githubId = Number; name = String;};
1668 leo60228 =
1570 leo60228 =
1669− {email = String; github = String; githubId = Integer; name = String;};
1571+ {email = String; github = String; githubId = Number; name = String;};
1670 leonardoce =
1572 leonardoce =
1671− {email = String; github = String; githubId = Integer; name = String;};
1573+ {email = String; github = String; githubId = Number; name = String;};
1672 leshainc =
1574 leshainc =
1673− {email = String; github = String; githubId = Integer; name = String;};
1575+ {email = String; github = String; githubId = Number; name = String;};
1674 lethalman =
1576 lethalman =
1675− {email = String; github = String; githubId = Integer; name = String;};
1577+ {email = String; github = String; githubId = Number; name = String;};
1676− lewo = {email = String; github = String; githubId = Integer; name = String;};
1578+ lewo = {email = String; github = String; githubId = Number; name = String;};
1677 lexuge =
1579 lexuge =
1678 { email = String;
1580 { email = String;
1679 github = String;
1581 github = String;
1680− githubId = Integer;
1582+ githubId = Number;
1681 keys = [{fingerprint = String; longkeyid = String;}];
1583 keys = [{fingerprint = String; longkeyid = String;}];
1682 name = String;
1584 name = String;
1683 };
1585 };
1684− lf- = {email = String; github = String; githubId = Integer; name = String;};
1586+ lf- = {email = String; github = String; githubId = Number; name = String;};
1685 lheckemann =
1587 lheckemann =
1686− {email = String; github = String; githubId = Integer; name = String;};
1588+ {email = String; github = String; githubId = Number; name = String;};
1687− lhvwb = {email = String; github = String; githubId = Integer; name = String;};
1589+ lhvwb = {email = String; github = String; githubId = Number; name = String;};
1688− liff = {email = String; github = String; githubId = Integer; name = String;};
1590+ liff = {email = String; github = String; githubId = Number; name = String;};
1689 lightbulbjim =
1591 lightbulbjim =
1690− {email = String; github = String; githubId = Integer; name = String;};
1592+ {email = String; github = String; githubId = Number; name = String;};
1691 lightdiscord =
1593 lightdiscord =
1692− {email = String; github = String; githubId = Integer; name = String;};
1594+ {email = String; github = String; githubId = Number; name = String;};
1693− lihop = {email = String; github = String; githubId = Integer; name = String;};
1595+ lihop = {email = String; github = String; githubId = Number; name = String;};
1694 lilyball =
1596 lilyball =
1695− {email = String; github = String; githubId = Integer; name = String;};
1597+ {email = String; github = String; githubId = Number; name = String;};
1696 limeytexan =
1598 limeytexan =
1697− {email = String; github = String; githubId = Integer; name = String;};
1599+ {email = String; github = String; githubId = Number; name = String;};
1698 linarcx =
1600 linarcx =
1699− {email = String; github = String; githubId = Integer; name = String;};
1601+ {email = String; github = String; githubId = Number; name = String;};
1700 linc01n =
1602 linc01n =
1701− {email = String; github = String; githubId = Integer; name = String;};
1603+ {email = String; github = String; githubId = Number; name = String;};
1702 linquize =
1604 linquize =
1703− {email = String; github = String; githubId = Integer; name = String;};
1605+ {email = String; github = String; githubId = Number; name = String;};
1704− linus = {email = String; github = String; githubId = Integer; name = String;};
1606+ linus = {email = String; github = String; githubId = Number; name = String;};
1705 lionello =
1607 lionello =
1706− {email = String; github = String; githubId = Integer; name = String;};
1608+ {email = String; github = String; githubId = Number; name = String;};
1707 livnev =
1609 livnev =
1708 { email = String;
1610 { email = String;
1709 github = String;
1611 github = String;
1710− githubId = Integer;
1612+ githubId = Number;
1711 keys = [{fingerprint = String; longkeyid = String;}];
1613 keys = [{fingerprint = String; longkeyid = String;}];
1712 name = String;
1614 name = String;
1713 };
1615 };
1714− lluchs =
1715− {email = String; github = String; githubId = Integer; name = String;};
1616+ lluchs = {email = String; github = String; githubId = Number; name = String;};
1716− lnl7 = {email = String; github = String; githubId = Integer; name = String;};
1617+ lnl7 = {email = String; github = String; githubId = Number; name = String;};
1717 lo1tuma =
1618 lo1tuma =
1718− {email = String; github = String; githubId = Integer; name = String;};
1619+ {email = String; github = String; githubId = Number; name = String;};
1719 loewenheim =
1620 loewenheim =
1720− {email = String; github = String; githubId = Integer; name = String;};
1621+ {email = String; github = String; githubId = Number; name = String;};
1721 lopsided98 =
1622 lopsided98 =
1722− {email = String; github = String; githubId = Integer; name = String;};
1623+ {email = String; github = String; githubId = Number; name = String;};
1723 loskutov =
1624 loskutov =
1724− {email = String; github = String; githubId = Integer; name = String;};
1625+ {email = String; github = String; githubId = Number; name = String;};
1725 lostnet =
1626 lostnet =
1726− {email = String; github = String; githubId = Integer; name = String;};
1627+ {email = String; github = String; githubId = Number; name = String;};
1727 louisdk1 =
1628 louisdk1 =
1728− {email = String; github = String; githubId = Integer; name = String;};
1629+ {email = String; github = String; githubId = Number; name = String;};
1729 lourkeur =
1630 lourkeur =
1730 { email = String;
1631 { email = String;
1731 github = String;
1632 github = String;
1732− githubId = Integer;
1633+ githubId = Number;
1733 keys = [{fingerprint = String; longkeyid = String;}];
1634 keys = [{fingerprint = String; longkeyid = String;}];
1734 name = String;
1635 name = String;
1735 };
1636 };
1736 lovek323 =
1637 lovek323 =
1737− {email = String; github = String; githubId = Integer; name = String;};
1638+ {email = String; github = String; githubId = Number; name = String;};
1738 lovesegfault =
1639 lovesegfault =
1739 { email = String;
1640 { email = String;
1740 github = String;
1641 github = String;
1741− githubId = Integer;
1642+ githubId = Number;
1742 keys = [{fingerprint = String; longkeyid = String;}];
1643 keys = [{fingerprint = String; longkeyid = String;}];
1743 name = String;
1644 name = String;
1744 };
1645 };
1745 lowfatcomputing =
1646 lowfatcomputing =
1746− {email = String; github = String; githubId = Integer; name = String;};
1647+ {email = String; github = String; githubId = Number; name = String;};
1747 lschuermann =
1648 lschuermann =
1748− {email = String; github = String; githubId = Integer; name = String;};
1649+ {email = String; github = String; githubId = Number; name = String;};
1749− lsix = {email = String; github = String; githubId = Integer; name = String;};
1650+ lsix = {email = String; github = String; githubId = Number; name = String;};
1750 ltavard =
1651 ltavard =
1751− {email = String; github = String; githubId = Integer; name = String;};
1652+ {email = String; github = String; githubId = Number; name = String;};
1752− luc65r =
1753− {email = String; github = String; githubId = Integer; name = String;};
1653+ luc65r = {email = String; github = String; githubId = Number; name = String;};
1754 lucperkins =
1654 lucperkins =
1755− {email = String; github = String; githubId = Integer; name = String;};
1655+ {email = String; github = String; githubId = Number; name = String;};
1756 lucus16 =
1656 lucus16 =
1757− {email = String; github = String; githubId = Integer; name = String;};
1657+ {email = String; github = String; githubId = Number; name = String;};
1758− ludo = {email = String; github = String; githubId = Integer; name = String;};
1658+ ludo = {email = String; github = String; githubId = Number; name = String;};
1759− lufia = {email = String; github = String; githubId = Integer; name = String;};
1659+ lufia = {email = String; github = String; githubId = Number; name = String;};
1760− luis = {email = String; github = String; githubId = Integer; name = String;};
1660+ luis = {email = String; github = String; githubId = Number; name = String;};
1761 luispedro =
1661 luispedro =
1762− {email = String; github = String; githubId = Integer; name = String;};
1662+ {email = String; github = String; githubId = Number; name = String;};
1763 lukeadams =
1663 lukeadams =
1764− {email = String; github = String; githubId = Integer; name = String;};
1664+ {email = String; github = String; githubId = Number; name = String;};
1765 lukebfox =
1665 lukebfox =
1766− {email = String; github = String; githubId = Integer; name = String;};
1666+ {email = String; github = String; githubId = Number; name = String;};
1767− lukegb =
1768− {email = String; github = String; githubId = Integer; name = String;};
1667+ lukegb = {email = String; github = String; githubId = Number; name = String;};
1769− lukego =
1770− {email = String; github = String; githubId = Integer; name = String;};
1668+ lukego = {email = String; github = String; githubId = Number; name = String;};
1771− lumi = {email = String; github = String; githubId = Integer; name = String;};
1669+ lumi = {email = String; github = String; githubId = Number; name = String;};
1772 lunik1 =
1670 lunik1 =
1773 { email = String;
1671 { email = String;
1774 github = String;
1672 github = String;
1775− githubId = Integer;
1673+ githubId = Number;
1776 keys = [{fingerprint = String; longkeyid = String;}];
1674 keys = [{fingerprint = String; longkeyid = String;}];
1777 name = String;
1675 name = String;
1778 };
1676 };
1779− luz = {email = String; github = String; githubId = Integer; name = String;};
1677+ luz = {email = String; github = String; githubId = Number; name = String;};
1780− lw = {email = String; github = String; githubId = Integer; name = String;};
1678+ lw = {email = String; github = String; githubId = Number; name = String;};
1781− lynty = {email = String; github = String; githubId = Integer; name = String;};
1679+ lynty = {email = String; github = String; githubId = Number; name = String;};
1782 lyt = {email = String; name = String;};
1680 lyt = {email = String; name = String;};
1783 m1cr0man =
1681 m1cr0man =
1784− {email = String; github = String; githubId = Integer; name = String;};
1682+ {email = String; github = String; githubId = Number; name = String;};
1785 m3tti = {email = String; name = String;};
1683 m3tti = {email = String; name = String;};
1786− ma27 = {email = String; github = String; githubId = Integer; name = String;};
1684+ ma27 = {email = String; github = String; githubId = Number; name = String;};
1787− ma9e = {email = String; github = String; githubId = Integer; name = String;};
1685+ ma9e = {email = String; github = String; githubId = Number; name = String;};
1788− madjar =
1789− {email = String; github = String; githubId = Integer; name = String;};
1686+ madjar = {email = String; github = String; githubId = Number; name = String;};
1790− mafo = {email = String; github = String; githubId = Integer; name = String;};
1687+ mafo = {email = String; github = String; githubId = Number; name = String;};
1791 magenbluten =
1688 magenbluten =
1792− {email = String; github = String; githubId = Integer; name = String;};
1689+ {email = String; github = String; githubId = Number; name = String;};
1793 maggesi =
1690 maggesi =
1794− {email = String; github = String; githubId = Integer; name = String;};
1691+ {email = String; github = String; githubId = Number; name = String;};
1795 magnetophon =
1692 magnetophon =
1796− {email = String; github = String; githubId = Integer; name = String;};
1693+ {email = String; github = String; githubId = Number; name = String;};
1797− mahe = {email = String; github = String; githubId = Integer; name = String;};
1694+ mahe = {email = String; github = String; githubId = Number; name = String;};
1798− makefu =
1799− {email = String; github = String; githubId = Integer; name = String;};
1695+ makefu = {email = String; github = String; githubId = Number; name = String;};
1800− malyn = {email = String; github = String; githubId = Integer; name = String;};
1696+ malyn = {email = String; github = String; githubId = Number; name = String;};
1801 manveru =
1697 manveru =
1802− {email = String; github = String; githubId = Integer; name = String;};
1698+ {email = String; github = String; githubId = Number; name = String;};
1803 maralorn =
1699 maralorn =
1804− {email = String; github = String; githubId = Integer; name = String;};
1700+ {email = String; github = String; githubId = Number; name = String;};
1805 marcus7070 =
1701 marcus7070 =
1806− {email = String; github = String; githubId = Integer; name = String;};
1702+ {email = String; github = String; githubId = Number; name = String;};
1807 marcweber =
1703 marcweber =
1808− {email = String; github = String; githubId = Integer; name = String;};
1704+ {email = String; github = String; githubId = Number; name = String;};
1809− marenz =
1810− {email = String; github = String; githubId = Integer; name = String;};
1705+ marenz = {email = String; github = String; githubId = Number; name = String;};
1811 marius851000 =
1706 marius851000 =
1812− {email = String; github = String; githubId = Integer; name = String;};
1707+ {email = String; github = String; githubId = Number; name = String;};
1813 markWot = {email = String; name = String;};
1708 markWot = {email = String; name = String;};
1814 markus1189 =
1709 markus1189 =
1815− {email = String; github = String; githubId = Integer; name = String;};
1710+ {email = String; github = String; githubId = Number; name = String;};
1816 markuskowa =
1711 markuskowa =
1817− {email = String; github = String; githubId = Integer; name = String;};
1712+ {email = String; github = String; githubId = Number; name = String;};
1818− marsam =
1819− {email = String; github = String; githubId = Integer; name = String;};
1713+ marsam = {email = String; github = String; githubId = Number; name = String;};
1820 martijnvermaat =
1714 martijnvermaat =
1821− {email = String; github = String; githubId = Integer; name = String;};
1715+ {email = String; github = String; githubId = Number; name = String;};
1822 martingms =
1716 martingms =
1823− {email = String; github = String; githubId = Integer; name = String;};
1717+ {email = String; github = String; githubId = Number; name = String;};
1824 marzipankaiser =
1718 marzipankaiser =
1825 { email = String;
1719 { email = String;
1826 github = String;
1720 github = String;
1827− githubId = Integer;
1721+ githubId = Number;
1828 keys = [{fingerprint = String; longkeyid = String;}];
1722 keys = [{fingerprint = String; longkeyid = String;}];
1829 name = String;
1723 name = String;
1830 };
1724 };
1831 masaeedu =
1725 masaeedu =
1832− {email = String; github = String; githubId = Integer; name = String;};
1726+ {email = String; github = String; githubId = Number; name = String;};
1833− matejc =
1834− {email = String; github = String; githubId = Integer; name = String;};
1727+ matejc = {email = String; github = String; githubId = Number; name = String;};
1835 mathnerd314 =
1728 mathnerd314 =
1836− {email = String; github = String; githubId = Integer; name = String;};
1729+ {email = String; github = String; githubId = Number; name = String;};
1837 matklad =
1730 matklad =
1838− {email = String; github = String; githubId = Integer; name = String;};
1731+ {email = String; github = String; githubId = Number; name = String;};
1839 matt-snider =
1732 matt-snider =
1840− {email = String; github = String; githubId = Integer; name = String;};
1733+ {email = String; github = String; githubId = Number; name = String;};
1841 matthewbauer =
1734 matthewbauer =
1842− {email = String; github = String; githubId = Integer; name = String;};
1735+ {email = String; github = String; githubId = Number; name = String;};
1843 matthiasbeyer =
1736 matthiasbeyer =
1844− {email = String; github = String; githubId = Integer; name = String;};
1737+ {email = String; github = String; githubId = Number; name = String;};
1845 matthuszagh =
1738 matthuszagh =
1846− {email = String; github = String; githubId = Integer; name = String;};
1739+ {email = String; github = String; githubId = Number; name = String;};
1847 matti-kariluoma =
1740 matti-kariluoma =
1848− {email = String; github = String; githubId = Integer; name = String;};
1741+ {email = String; github = String; githubId = Number; name = String;};
1849− maurer =
1850− {email = String; github = String; githubId = Integer; name = String;};
1742+ maurer = {email = String; github = String; githubId = Number; name = String;};
1851 maxdamantus =
1743 maxdamantus =
1852− {email = String; github = String; githubId = Integer; name = String;};
1744+ {email = String; github = String; githubId = Number; name = String;};
1853 maxeaubrey =
1745 maxeaubrey =
1854− {email = String; github = String; githubId = Integer; name = String;};
1746+ {email = String; github = String; githubId = Number; name = String;};
1855− maxxk = {email = String; github = String; githubId = Integer; name = String;};
1747+ maxxk = {email = String; github = String; githubId = Number; name = String;};
1856 mbaillie =
1748 mbaillie =
1857− {email = String; github = String; githubId = Integer; name = String;};
1749+ {email = String; github = String; githubId = Number; name = String;};
1858− mbakke =
1859− {email = String; github = String; githubId = Integer; name = String;};
1750+ mbakke = {email = String; github = String; githubId = Number; name = String;};
1860 mbbx6spp =
1751 mbbx6spp =
1861− {email = String; github = String; githubId = Integer; name = String;};
1752+ {email = String; github = String; githubId = Number; name = String;};
1862− mbe = {email = String; github = String; githubId = Integer; name = String;};
1753+ mbe = {email = String; github = String; githubId = Number; name = String;};
1863− mbode = {email = String; github = String; githubId = Integer; name = String;};
1754+ mbode = {email = String; github = String; githubId = Number; name = String;};
1864− mboes = {email = String; github = String; githubId = Integer; name = String;};
1755+ mboes = {email = String; github = String; githubId = Number; name = String;};
1865− mbrgm = {email = String; github = String; githubId = Integer; name = String;};
1756+ mbrgm = {email = String; github = String; githubId = Number; name = String;};
1866− mcbeth =
1867− {email = String; github = String; githubId = Integer; name = String;};
1757+ mcbeth = {email = String; github = String; githubId = Number; name = String;};
1868 mcmtroffaes =
1758 mcmtroffaes =
1869− {email = String; github = String; githubId = Integer; name = String;};
1759+ {email = String; github = String; githubId = Number; name = String;};
1870− mcwitt =
1871− {email = String; github = String; githubId = Integer; name = String;};
1760+ mcwitt = {email = String; github = String; githubId = Number; name = String;};
1872 mdaiter =
1761 mdaiter =
1873− {email = String; github = String; githubId = Integer; name = String;};
1762+ {email = String; github = String; githubId = Number; name = String;};
1874 mdevlamynck =
1763 mdevlamynck =
1875− {email = String; github = String; githubId = Integer; name = String;};
1764+ {email = String; github = String; githubId = Number; name = String;};
1876 mdlayher =
1765 mdlayher =
1877 { email = String;
1766 { email = String;
1878 github = String;
1767 github = String;
1879− githubId = Integer;
1768+ githubId = Number;
1880 keys = [{fingerprint = String; longkeyid = String;}];
1769 keys = [{fingerprint = String; longkeyid = String;}];
1881 name = String;
1770 name = String;
1882 };
1771 };
1883 meditans =
1772 meditans =
1884− {email = String; github = String; githubId = Integer; name = String;};
1773+ {email = String; github = String; githubId = Number; name = String;};
1885 megheaiulian =
1774 megheaiulian =
1886− {email = String; github = String; githubId = Integer; name = String;};
1775+ {email = String; github = String; githubId = Number; name = String;};
1887 mehandes =
1776 mehandes =
1888− {email = String; github = String; githubId = Integer; name = String;};
1777+ {email = String; github = String; githubId = Number; name = String;};
1889 meisternu =
1778 meisternu =
1890− {email = String; github = String; githubId = Integer; name = String;};
1779+ {email = String; github = String; githubId = Number; name = String;};
1891 melchips =
1780 melchips =
1892− {email = String; github = String; githubId = Integer; name = String;};
1781+ {email = String; github = String; githubId = Number; name = String;};
1893 melkor333 =
1782 melkor333 =
1894− {email = String; github = String; githubId = Integer; name = String;};
1783+ {email = String; github = String; githubId = Number; name = String;};
1895 melling =
1784 melling =
1896− {email = String; github = String; githubId = Integer; name = String;};
1785+ {email = String; github = String; githubId = Number; name = String;};
1897 melsigl =
1786 melsigl =
1898− {email = String; github = String; githubId = Integer; name = String;};
1787+ {email = String; github = String; githubId = Number; name = String;};
1899 metabar = {email = String; name = String;};
1788 metabar = {email = String; name = String;};
1900 metadark =
1789 metadark =
1901− {email = String; github = String; githubId = Integer; name = String;};
1790+ {email = String; github = String; githubId = Number; name = String;};
1902 meutraa =
1791 meutraa =
1903− {email = String; github = String; githubId = Integer; name = String;};
1792+ {email = String; github = String; githubId = Number; name = String;};
1904 mfossen =
1793 mfossen =
1905− {email = String; github = String; githubId = Integer; name = String;};
1794+ {email = String; github = String; githubId = Number; name = String;};
1906 mgdelacroix =
1795 mgdelacroix =
1907− {email = String; github = String; githubId = Integer; name = String;};
1796+ {email = String; github = String; githubId = Number; name = String;};
1908− mgdm = {email = String; github = String; githubId = Integer; name = String;};
1797+ mgdm = {email = String; github = String; githubId = Number; name = String;};
1909 mgregoire =
1798 mgregoire =
1910− {email = String; github = String; githubId = Integer; name = String;};
1799+ {email = String; github = String; githubId = Number; name = String;};
1911 mgttlinger =
1800 mgttlinger =
1912− {email = String; github = String; githubId = Integer; name = String;};
1801+ {email = String; github = String; githubId = Number; name = String;};
1913 mguentner =
1802 mguentner =
1914− {email = String; github = String; githubId = Integer; name = String;};
1803+ {email = String; github = String; githubId = Number; name = String;};
1915 mhaselsteiner =
1804 mhaselsteiner =
1916− {email = String; github = String; githubId = Integer; name = String;};
1805+ {email = String; github = String; githubId = Number; name = String;};
1917 mic92 =
1806 mic92 =
1918 { email = String;
1807 { email = String;
1919 github = String;
1808 github = String;
1920− githubId = Integer;
1809+ githubId = Number;
1921 keys = [{fingerprint = String; longkeyid = String;}];
1810 keys = [{fingerprint = String; longkeyid = String;}];
1922 name = String;
1811 name = String;
1923 };
1812 };
1924 michaelpj =
1813 michaelpj =
1925− {email = String; github = String; githubId = Integer; name = String;};
1814+ {email = String; github = String; githubId = Number; name = String;};
1926 michalrus =
1815 michalrus =
1927− {email = String; github = String; githubId = Integer; name = String;};
1816+ {email = String; github = String; githubId = Number; name = String;};
1928 michelk =
1817 michelk =
1929− {email = String; github = String; githubId = Integer; name = String;};
1818+ {email = String; github = String; githubId = Number; name = String;};
1930 michojel =
1819 michojel =
1931− {email = String; github = String; githubId = Integer; name = String;};
1820+ {email = String; github = String; githubId = Number; name = String;};
1932 mickours =
1821 mickours =
1933− {email = String; github = String; githubId = Integer; name = String;};
1822+ {email = String; github = String; githubId = Number; name = String;};
1934 midchildan =
1823 midchildan =
1935− {email = String; github = String; githubId = Integer; name = String;};
1824+ {email = String; github = String; githubId = Number; name = String;};
1936 mikefaille =
1825 mikefaille =
1937− {email = String; github = String; githubId = Integer; name = String;};
1826+ {email = String; github = String; githubId = Number; name = String;};
1938 mikesperber =
1827 mikesperber =
1939− {email = String; github = String; githubId = Integer; name = String;};
1828+ {email = String; github = String; githubId = Number; name = String;};
1940− mikoim =
1941− {email = String; github = String; githubId = Integer; name = String;};
1829+ mikoim = {email = String; github = String; githubId = Number; name = String;};
1942 mildlyincompetent =
1830 mildlyincompetent =
1943− {email = String; github = String; githubId = Integer; name = String;};
1831+ {email = String; github = String; githubId = Number; name = String;};
1944 millerjason =
1832 millerjason =
1945− {email = String; github = String; githubId = Integer; name = String;};
1833+ {email = String; github = String; githubId = Number; name = String;};
1946 miltador = {email = String; name = String;};
1834 miltador = {email = String; name = String;};
1947− mimame =
1948− {email = String; github = String; githubId = Integer; name = String;};
1835+ mimame = {email = String; github = String; githubId = Number; name = String;};
1949 mindavi =
1836 mindavi =
1950− {email = String; github = String; githubId = Integer; name = String;};
1837+ {email = String; github = String; githubId = Number; name = String;};
1951 minijackson =
1838 minijackson =
1952 { email = String;
1839 { email = String;
1953 github = String;
1840 github = String;
1954− githubId = Integer;
1841+ githubId = Number;
1955 keys = [{fingerprint = String; longkeyid = String;}];
1842 keys = [{fingerprint = String; longkeyid = String;}];
1956 name = String;
1843 name = String;
1957 };
1844 };
1958− mir06 = {email = String; github = String; githubId = Integer; name = String;};
1845+ mir06 = {email = String; github = String; githubId = Number; name = String;};
1959 mirdhyn =
1846 mirdhyn =
1960− {email = String; github = String; githubId = Integer; name = String;};
1847+ {email = String; github = String; githubId = Number; name = String;};
1961 mirrexagon =
1848 mirrexagon =
1962− {email = String; github = String; githubId = Integer; name = String;};
1849+ {email = String; github = String; githubId = Number; name = String;};
1963− misuzu =
1964− {email = String; github = String; githubId = Integer; name = String;};
1850+ misuzu = {email = String; github = String; githubId = Number; name = String;};
1965 mjanczyk =
1851 mjanczyk =
1966− {email = String; github = String; githubId = Integer; name = String;};
1852+ {email = String; github = String; githubId = Number; name = String;};
1967− mjp = {email = String; github = String; githubId = Integer; name = String;};
1853+ mjp = {email = String; github = String; githubId = Number; name = String;};
1968− mkaito =
1969− {email = String; github = String; githubId = Integer; name = String;};
1854+ mkaito = {email = String; github = String; githubId = Number; name = String;};
1970 mkazulak =
1855 mkazulak =
1971− {email = String; github = String; githubId = Integer; name = String;};
1856+ {email = String; github = String; githubId = Number; name = String;};
1972 mkf =
1857 mkf =
1973 { email = String;
1858 { email = String;
1974 github = String;
1859 github = String;
1975− githubId = Integer;
1860+ githubId = Number;
1976 keys = [{fingerprint = String; longkeyid = String;}];
1861 keys = [{fingerprint = String; longkeyid = String;}];
1977 name = String;
1862 name = String;
1978 };
1863 };
1979− mkg = {email = String; github = String; githubId = Integer; name = String;};
1864+ mkg = {email = String; github = String; githubId = Number; name = String;};
1980 mkg20001 =
1865 mkg20001 =
1981 { email = String;
1866 { email = String;
1982 github = String;
1867 github = String;
1983− githubId = Integer;
1868+ githubId = Number;
1984 keys = [{fingerprint = String; longkeyid = String;}];
1869 keys = [{fingerprint = String; longkeyid = String;}];
1985 name = String;
1870 name = String;
1986 };
1871 };
1987− mlatus =
1988− {email = String; github = String; githubId = Integer; name = String;};
1872+ mlatus = {email = String; github = String; githubId = Number; name = String;};
1989 mlieberman85 =
1873 mlieberman85 =
1990− {email = String; github = String; githubId = Integer; name = String;};
1874+ {email = String; github = String; githubId = Number; name = String;};
1991− mmahut =
1992− {email = String; github = String; githubId = Integer; name = String;};
1875+ mmahut = {email = String; github = String; githubId = Number; name = String;};
1993− mmai = {email = String; github = String; githubId = Integer; name = String;};
1876+ mmai = {email = String; github = String; githubId = Number; name = String;};
1994 mmilata =
1877 mmilata =
1995− {email = String; github = String; githubId = Integer; name = String;};
1878+ {email = String; github = String; githubId = Number; name = String;};
1996− mmlb = {email = String; github = String; githubId = Integer; name = String;};
1879+ mmlb = {email = String; github = String; githubId = Number; name = String;};
1997 mnacamura =
1880 mnacamura =
1998− {email = String; github = String; githubId = Integer; name = String;};
1881+ {email = String; github = String; githubId = Number; name = String;};
1999− moaxcp =
2000− {email = String; github = String; githubId = Integer; name = String;};
1882+ moaxcp = {email = String; github = String; githubId = Number; name = String;};
2001 modulistic =
1883 modulistic =
2002− {email = String; github = String; githubId = Integer; name = String;};
1884+ {email = String; github = String; githubId = Number; name = String;};
2003− mog = {email = String; github = String; githubId = Integer; name = String;};
1885+ mog = {email = String; github = String; githubId = Number; name = String;};
2004 monsieurp =
1886 monsieurp =
2005− {email = String; github = String; githubId = Integer; name = String;};
1887+ {email = String; github = String; githubId = Number; name = String;};
2006 montag451 =
1888 montag451 =
2007− {email = String; github = String; githubId = Integer; name = String;};
1889+ {email = String; github = String; githubId = Number; name = String;};
2008 moosingin3space =
1890 moosingin3space =
2009− {email = String; github = String; githubId = Integer; name = String;};
1891+ {email = String; github = String; githubId = Number; name = String;};
2010 moredread =
1892 moredread =
2011 { email = String;
1893 { email = String;
2012 github = String;
1894 github = String;
2013− githubId = Integer;
1895+ githubId = Number;
2014 keys = [{fingerprint = String; longkeyid = String;}];
1896 keys = [{fingerprint = String; longkeyid = String;}];
2015 name = String;
1897 name = String;
2016 };
1898 };
2017 moretea =
1899 moretea =
2018− {email = String; github = String; githubId = Integer; name = String;};
1900+ {email = String; github = String; githubId = Number; name = String;};
2019 mothsart =
1901 mothsart =
2020− {email = String; github = String; githubId = Integer; name = String;};
1902+ {email = String; github = String; githubId = Number; name = String;};
2021 mounium =
1903 mounium =
2022− {email = String; github = String; githubId = Integer; name = String;};
1904+ {email = String; github = String; githubId = Number; name = String;};
2023− mpcsh = {email = String; github = String; githubId = Integer; name = String;};
1905+ mpcsh = {email = String; github = String; githubId = Number; name = String;};
2024 mpickering =
1906 mpickering =
2025− {email = String; github = String; githubId = Integer; name = String;};
1907+ {email = String; github = String; githubId = Number; name = String;};
2026 mpoquet =
1908 mpoquet =
2027− {email = String; github = String; githubId = Integer; name = String;};
1909+ {email = String; github = String; githubId = Number; name = String;};
2028 mpscholten =
1910 mpscholten =
2029− {email = String; github = String; githubId = Integer; name = String;};
1911+ {email = String; github = String; githubId = Number; name = String;};
2030− mpsyco =
2031− {email = String; github = String; githubId = Integer; name = String;};
1912+ mpsyco = {email = String; github = String; githubId = Number; name = String;};
2032 mrVanDalo =
1913 mrVanDalo =
2033− {email = String; github = String; githubId = Integer; name = String;};
1914+ {email = String; github = String; githubId = Number; name = String;};
2034 mredaelli =
1915 mredaelli =
2035− {email = String; github = String; githubId = Integer; name = String;};
1916+ {email = String; github = String; githubId = Number; name = String;};
2036− mrkkrp =
2037− {email = String; github = String; githubId = Integer; name = String;};
1917+ mrkkrp = {email = String; github = String; githubId = Number; name = String;};
2038 mrmebelman =
1918 mrmebelman =
2039− {email = String; github = String; githubId = Integer; name = String;};
1919+ {email = String; github = String; githubId = Number; name = String;};
2040 msackman = {email = String; name = String;};
1920 msackman = {email = String; name = String;};
2041 mschneider = {email = String; name = String;};
1921 mschneider = {email = String; name = String;};
2042 mschristiansen =
1922 mschristiansen =
2043− {email = String; github = String; githubId = Integer; name = String;};
1923+ {email = String; github = String; githubId = Number; name = String;};
2044 mschuwalow =
1924 mschuwalow =
2045− {email = String; github = String; githubId = Integer; name = String;};
1925+ {email = String; github = String; githubId = Number; name = String;};
2046 msiedlarek =
1926 msiedlarek =
2047− {email = String; github = String; githubId = Integer; name = String;};
1927+ {email = String; github = String; githubId = Number; name = String;};
2048− msm = {email = String; github = String; githubId = Integer; name = String;};
1928+ msm = {email = String; github = String; githubId = Number; name = String;};
2049 mstarzyk =
1929 mstarzyk =
2050− {email = String; github = String; githubId = Integer; name = String;};
1930+ {email = String; github = String; githubId = Number; name = String;};
2051− msteen =
2052− {email = String; github = String; githubId = Integer; name = String;};
1931+ msteen = {email = String; github = String; githubId = Number; name = String;};
2053 mt-caret =
1932 mt-caret =
2054− {email = String; github = String; githubId = Integer; name = String;};
1933+ {email = String; github = String; githubId = Number; name = String;};
2055 mtreskin =
1934 mtreskin =
2056− {email = String; github = String; githubId = Integer; name = String;};
1935+ {email = String; github = String; githubId = Number; name = String;};
2057− mtrsk = {email = String; github = String; githubId = Integer; name = String;};
1936+ mtrsk = {email = String; github = String; githubId = Number; name = String;};
2058− mudri = {email = String; github = String; githubId = Integer; name = String;};
1937+ mudri = {email = String; github = String; githubId = Number; name = String;};
2059− muflax =
2060− {email = String; github = String; githubId = Integer; name = String;};
1938+ muflax = {email = String; github = String; githubId = Number; name = String;};
2061− multun =
2062− {email = String; github = String; githubId = Integer; name = String;};
1939+ multun = {email = String; github = String; githubId = Number; name = String;};
2063− mupdt = {email = String; github = String; githubId = Integer; name = String;};
1940+ mupdt = {email = String; github = String; githubId = Number; name = String;};
2064 mvnetbiz =
1941 mvnetbiz =
2065− {email = String; github = String; githubId = Integer; name = String;};
1942+ {email = String; github = String; githubId = Number; name = String;};
2066 mwilsoninsight =
1943 mwilsoninsight =
2067− {email = String; github = String; githubId = Integer; name = String;};
1944+ {email = String; github = String; githubId = Number; name = String;};
2068− myrl = {email = String; github = String; githubId = Integer; name = String;};
1945+ myrl = {email = String; github = String; githubId = Number; name = String;};
2069 nadrieril =
1946 nadrieril =
2070− {email = String; github = String; githubId = Integer; name = String;};
1947+ {email = String; github = String; githubId = Number; name = String;};
2071− nagisa =
2072− {email = String; github = String; githubId = Integer; name = String;};
1948+ nagisa = {email = String; github = String; githubId = Number; name = String;};
2073 nalbyuites =
1949 nalbyuites =
2074− {email = String; github = String; githubId = Integer; name = String;};
1950+ {email = String; github = String; githubId = Number; name = String;};
2075− namore =
2076− {email = String; github = String; githubId = Integer; name = String;};
1951+ namore = {email = String; github = String; githubId = Number; name = String;};
2077− nand0p =
2078− {email = String; github = String; githubId = Integer; name = String;};
1952+ nand0p = {email = String; github = String; githubId = Number; name = String;};
2079 nathan-gs =
1953 nathan-gs =
2080− {email = String; github = String; githubId = Integer; name = String;};
1954+ {email = String; github = String; githubId = Number; name = String;};
2081 nathyong =
1955 nathyong =
2082− {email = String; github = String; githubId = Integer; name = String;};
1956+ {email = String; github = String; githubId = Number; name = String;};
2083− nckx = {email = String; github = String; githubId = Integer; name = String;};
1957+ nckx = {email = String; github = String; githubId = Number; name = String;};
2084 neeasade =
1958 neeasade =
2085− {email = String; github = String; githubId = Integer; name = String;};
1959+ {email = String; github = String; githubId = Number; name = String;};
2086 neonfuz =
1960 neonfuz =
2087− {email = String; github = String; githubId = Integer; name = String;};
1961+ {email = String; github = String; githubId = Number; name = String;};
2088 nequissimus =
1962 nequissimus =
2089− {email = String; github = String; githubId = Integer; name = String;};
1963+ {email = String; github = String; githubId = Number; name = String;};
2090− netixx =
2091− {email = String; github = String; githubId = Integer; name = String;};
1964+ netixx = {email = String; github = String; githubId = Number; name = String;};
2092 nfjinjing = {email = String; name = String;};
1965 nfjinjing = {email = String; name = String;};
2093 ngerstle =
1966 ngerstle =
2094− {email = String; github = String; githubId = Integer; name = String;};
1967+ {email = String; github = String; githubId = Number; name = String;};
2095− nh2 = {email = String; github = String; githubId = Integer; name = String;};
1968+ nh2 = {email = String; github = String; githubId = Number; name = String;};
2096− nhooyr =
2097− {email = String; github = String; githubId = Integer; name = String;};
1969+ nhooyr = {email = String; github = String; githubId = Number; name = String;};
2098− nickhu =
2099− {email = String; github = String; githubId = Integer; name = String;};
1970+ nickhu = {email = String; github = String; githubId = Number; name = String;};
2100 nicknovitski =
1971 nicknovitski =
2101− {email = String; github = String; githubId = Integer; name = String;};
1972+ {email = String; github = String; githubId = Number; name = String;};
2102 nico202 =
1973 nico202 =
2103− {email = String; github = String; githubId = Integer; name = String;};
1974+ {email = String; github = String; githubId = Number; name = String;};
2104 nikitavoloboev =
1975 nikitavoloboev =
2105− {email = String; github = String; githubId = Integer; name = String;};
1976+ {email = String; github = String; githubId = Number; name = String;};
2106 nilp0inter =
1977 nilp0inter =
2107− {email = String; github = String; githubId = Integer; name = String;};
1978+ {email = String; github = String; githubId = Number; name = String;};
2108 nilsirl =
1979 nilsirl =
2109− {email = String; github = String; githubId = Integer; name = String;};
1980+ {email = String; github = String; githubId = Number; name = String;};
2110 ninjatrappeur =
1981 ninjatrappeur =
2111− {email = String; github = String; githubId = Integer; name = String;};
1982+ {email = String; github = String; githubId = Number; name = String;};
2112 nioncode =
1983 nioncode =
2113− {email = String; github = String; githubId = Integer; name = String;};
1984+ {email = String; github = String; githubId = Number; name = String;};
2114− nipav = {email = String; github = String; githubId = Integer; name = String;};
1985+ nipav = {email = String; github = String; githubId = Number; name = String;};
2115− nixy = {email = String; github = String; githubId = Integer; name = String;};
1986+ nixy = {email = String; github = String; githubId = Number; name = String;};
2116 nloomans =
1987 nloomans =
2117− {email = String; github = String; githubId = Integer; name = String;};
1988+ {email = String; github = String; githubId = Number; name = String;};
2118 nmattia =
1989 nmattia =
2119− {email = String; github = String; githubId = Integer; name = String;};
1990+ {email = String; github = String; githubId = Number; name = String;};
2120− nocent =
2121− {email = String; github = String; githubId = Integer; name = String;};
1991+ nocent = {email = String; github = String; githubId = Number; name = String;};
2122 nocoolnametom =
1992 nocoolnametom =
2123− {email = String; github = String; githubId = Integer; name = String;};
1993+ {email = String; github = String; githubId = Number; name = String;};
2124 nomeata =
1994 nomeata =
2125− {email = String; github = String; githubId = Integer; name = String;};
1995+ {email = String; github = String; githubId = Number; name = String;};
2126 noneucat =
1996 noneucat =
2127− {email = String; github = String; githubId = Integer; name = String;};
1997+ {email = String; github = String; githubId = Number; name = String;};
2128 notbandali =
1998 notbandali =
2129 { email = String;
1999 { email = String;
2130 github = String;
2000 github = String;
2131− githubId = Integer;
2001+ githubId = Number;
2132 keys = [{fingerprint = String; longkeyid = String;}];
2002 keys = [{fingerprint = String; longkeyid = String;}];
2133 name = String;
2003 name = String;
2134 };
2004 };
2135 notthemessiah =
2005 notthemessiah =
2136− {email = String; github = String; githubId = Integer; name = String;};
2006+ {email = String; github = String; githubId = Number; name = String;};
2137 novoxudonoser =
2007 novoxudonoser =
2138− {email = String; github = String; githubId = Integer; name = String;};
2008+ {email = String; github = String; githubId = Number; name = String;};
2139− np = {email = String; github = String; githubId = Integer; name = String;};
2009+ np = {email = String; github = String; githubId = Number; name = String;};
2140 nphilou =
2010 nphilou =
2141− {email = String; github = String; githubId = Integer; name = String;};
2011+ {email = String; github = String; githubId = Number; name = String;};
2142− nrdxp = {email = String; github = String; githubId = Integer; name = String;};
2012+ nrdxp = {email = String; github = String; githubId = Number; name = String;};
2143 nshalman =
2013 nshalman =
2144− {email = String; github = String; githubId = Integer; name = String;};
2014+ {email = String; github = String; githubId = Number; name = String;};
2145 nslqqq = {email = String; name = String;};
2015 nslqqq = {email = String; name = String;};
2146 nthorne =
2016 nthorne =
2147− {email = String; github = String; githubId = Integer; name = String;};
2017+ {email = String; github = String; githubId = Number; name = String;};
2148 numinit =
2018 numinit =
2149− {email = String; github = String; githubId = Integer; name = String;};
2019+ {email = String; github = String; githubId = Number; name = String;};
2150− numkem =
2151− {email = String; github = String; githubId = Integer; name = String;};
2020+ numkem = {email = String; github = String; githubId = Number; name = String;};
2152 nyanloutre =
2021 nyanloutre =
2153− {email = String; github = String; githubId = Integer; name = String;};
2022+ {email = String; github = String; githubId = Number; name = String;};
2154− nyarly =
2155− {email = String; github = String; githubId = Integer; name = String;};
2023+ nyarly = {email = String; github = String; githubId = Number; name = String;};
2156 nzhang-zh =
2024 nzhang-zh =
2157− {email = String; github = String; githubId = Integer; name = String;};
2025+ {email = String; github = String; githubId = Number; name = String;};
2158− obadz = {email = String; github = String; githubId = Integer; name = String;};
2026+ obadz = {email = String; github = String; githubId = Number; name = String;};
2159 ocharles =
2027 ocharles =
2160− {email = String; github = String; githubId = Integer; name = String;};
2028+ {email = String; github = String; githubId = Number; name = String;};
2161− odi = {email = String; github = String; githubId = Integer; name = String;};
2029+ odi = {email = String; github = String; githubId = Number; name = String;};
2162 offline =
2030 offline =
2163− {email = String; github = String; githubId = Integer; name = String;};
2031+ {email = String; github = String; githubId = Number; name = String;};
2164− oida = {email = String; github = String; githubId = Integer; name = String;};
2032+ oida = {email = String; github = String; githubId = Number; name = String;};
2165 okasu = {email = String; name = String;};
2033 okasu = {email = String; name = String;};
2166− olcai = {email = String; github = String; githubId = Integer; name = String;};
2034+ olcai = {email = String; github = String; githubId = Number; name = String;};
2167 olejorgenb =
2035 olejorgenb =
2168− {email = String; github = String; githubId = Integer; name = String;};
2036+ {email = String; github = String; githubId = Number; name = String;};
2169− olynch =
2170− {email = String; github = String; githubId = Integer; name = String;};
2037+ olynch = {email = String; github = String; githubId = Number; name = String;};
2171 omnipotententity =
2038 omnipotententity =
2172− {email = String; github = String; githubId = Integer; name = String;};
2039+ {email = String; github = String; githubId = Number; name = String;};
2173− orbekk =
2174− {email = String; github = String; githubId = Integer; name = String;};
2040+ orbekk = {email = String; github = String; githubId = Number; name = String;};
2175− orbitz =
2176− {email = String; github = String; githubId = Integer; name = String;};
2041+ orbitz = {email = String; github = String; githubId = Number; name = String;};
2177− orivej =
2178− {email = String; github = String; githubId = Integer; name = String;};
2042+ orivej = {email = String; github = String; githubId = Number; name = String;};
2179− oro = {email = String; github = String; githubId = Integer; name = String;};
2043+ oro = {email = String; github = String; githubId = Number; name = String;};
2180− osener =
2181− {email = String; github = String; githubId = Integer; name = String;};
2044+ osener = {email = String; github = String; githubId = Number; name = String;};
2182 otwieracz =
2045 otwieracz =
2183− {email = String; github = String; githubId = Integer; name = String;};
2046+ {email = String; github = String; githubId = Number; name = String;};
2184 oxalica =
2047 oxalica =
2185 { email = String;
2048 { email = String;
2186 github = String;
2049 github = String;
2187− githubId = Integer;
2050+ githubId = Number;
2188 keys = [{fingerprint = String; longkeyid = String;}];
2051 keys = [{fingerprint = String; longkeyid = String;}];
2189 name = String;
2052 name = String;
2190 };
2053 };
2191 oxij =
2054 oxij =
2192 { email = String;
2055 { email = String;
2193 github = String;
2056 github = String;
2194− githubId = Integer;
2057+ githubId = Number;
2195 keys = [{fingerprint = String; longkeyid = String;}];
2058 keys = [{fingerprint = String; longkeyid = String;}];
2196 name = String;
2059 name = String;
2197 };
2060 };
2198 oxzi =
2061 oxzi =
2199 { email = String;
2062 { email = String;
2200 github = String;
2063 github = String;
2201− githubId = Integer;
2064+ githubId = Number;
2202 keys = [{fingerprint = String; longkeyid = String;}];
2065 keys = [{fingerprint = String; longkeyid = String;}];
2203 name = String;
2066 name = String;
2204 };
2067 };
2205− oyren = {email = String; github = String; githubId = Integer; name = String;};
2068+ oyren = {email = String; github = String; githubId = Number; name = String;};
2206− pSub = {email = String; github = String; githubId = Integer; name = String;};
2069+ pSub = {email = String; github = String; githubId = Number; name = String;};
2207 pablovsky =
2070 pablovsky =
2208− {email = String; github = String; githubId = Integer; name = String;};
2071+ {email = String; github = String; githubId = Number; name = String;};
2209− pacien =
2210− {email = String; github = String; githubId = Integer; name = String;};
2072+ pacien = {email = String; github = String; githubId = Number; name = String;};
2211 paddygord =
2073 paddygord =
2212− {email = String; github = String; githubId = Integer; name = String;};
2074+ {email = String; github = String; githubId = Number; name = String;};
2213− paholg =
2214− {email = String; github = String; githubId = Integer; name = String;};
2075+ paholg = {email = String; github = String; githubId = Number; name = String;};
2215− pakhfn =
2216− {email = String; github = String; githubId = Integer; name = String;};
2076+ pakhfn = {email = String; github = String; githubId = Number; name = String;};
2217− paluh = {email = String; github = String; githubId = Integer; name = String;};
2077+ paluh = {email = String; github = String; githubId = Number; name = String;};
2218 pamplemousse =
2078 pamplemousse =
2219− {email = String; github = String; githubId = Integer; name = String;};
2079+ {email = String; github = String; githubId = Number; name = String;};
2220 panaeon =
2080 panaeon =
2221− {email = String; github = String; githubId = Integer; name = String;};
2081+ {email = String; github = String; githubId = Number; name = String;};
2222 pandaman =
2082 pandaman =
2223− {email = String; github = String; githubId = Integer; name = String;};
2083+ {email = String; github = String; githubId = Number; name = String;};
2224 paperdigits =
2084 paperdigits =
2225− {email = String; github = String; githubId = Integer; name = String;};
2085+ {email = String; github = String; githubId = Number; name = String;};
2226 paraseba =
2086 paraseba =
2227− {email = String; github = String; githubId = Integer; name = String;};
2087+ {email = String; github = String; githubId = Number; name = String;};
2228 parasrah =
2088 parasrah =
2229− {email = String; github = String; githubId = Integer; name = String;};
2089+ {email = String; github = String; githubId = Number; name = String;};
2230 pashashocky =
2090 pashashocky =
2231− {email = String; github = String; githubId = Integer; name = String;};
2091+ {email = String; github = String; githubId = Number; name = String;};
2232− pashev =
2233− {email = String; github = String; githubId = Integer; name = String;};
2092+ pashev = {email = String; github = String; githubId = Number; name = String;};
2234 patryk27 =
2093 patryk27 =
2235 { email = String;
2094 { email = String;
2236 github = String;
2095 github = String;
2237− githubId = Integer;
2096+ githubId = Number;
2238 keys = [{fingerprint = String; longkeyid = String;}];
2097 keys = [{fingerprint = String; longkeyid = String;}];
2239 name = String;
2098 name = String;
2240 };
2099 };
2241 patternspandemic =
2100 patternspandemic =
2242− {email = String; github = String; githubId = Integer; name = String;};
2101+ {email = String; github = String; githubId = Number; name = String;};
2243 pawelpacana =
2102 pawelpacana =
2244− {email = String; github = String; githubId = Integer; name = String;};
2103+ {email = String; github = String; githubId = Number; name = String;};
2245− pblkt = {email = String; github = String; githubId = Integer; name = String;};
2104+ pblkt = {email = String; github = String; githubId = Number; name = String;};
2246 pbogdan =
2105 pbogdan =
2247− {email = String; github = String; githubId = Integer; name = String;};
2106+ {email = String; github = String; githubId = Number; name = String;};
2248 pcarrier =
2107 pcarrier =
2249− {email = String; github = String; githubId = Integer; name = String;};
2108+ {email = String; github = String; githubId = Number; name = String;};
2250− peelz = {email = String; github = String; githubId = Integer; name = String;};
2109+ peelz = {email = String; github = String; githubId = Number; name = String;};
2251 periklis =
2110 periklis =
2252− {email = String; github = String; githubId = Integer; name = String;};
2111+ {email = String; github = String; githubId = Number; name = String;};
2253 pesterhazy =
2112 pesterhazy =
2254− {email = String; github = String; githubId = Integer; name = String;};
2113+ {email = String; github = String; githubId = Number; name = String;};
2255 petabyteboy =
2114 petabyteboy =
2256− {email = String; github = String; githubId = Integer; name = String;};
2115+ {email = String; github = String; githubId = Number; name = String;};
2257 petercommand =
2116 petercommand =
2258− {email = String; github = String; githubId = Integer; name = String;};
2117+ {email = String; github = String; githubId = Number; name = String;};
2259 peterhoeg =
2118 peterhoeg =
2260− {email = String; github = String; githubId = Integer; name = String;};
2119+ {email = String; github = String; githubId = Number; name = String;};
2261 peterromfeldhk =
2120 peterromfeldhk =
2262− {email = String; github = String; githubId = Integer; name = String;};
2121+ {email = String; github = String; githubId = Number; name = String;};
2263 petersjt014 =
2122 petersjt014 =
2264− {email = String; github = String; githubId = Integer; name = String;};
2123+ {email = String; github = String; githubId = Number; name = String;};
2265− peti = {email = String; github = String; githubId = Integer; name = String;};
2124+ peti = {email = String; github = String; githubId = Number; name = String;};
2266 philandstuff =
2125 philandstuff =
2267− {email = String; github = String; githubId = Integer; name = String;};
2126+ {email = String; github = String; githubId = Number; name = String;};
2268 phile314 =
2127 phile314 =
2269− {email = String; github = String; githubId = Integer; name = String;};
2128+ {email = String; github = String; githubId = Number; name = String;};
2270 phreedom =
2129 phreedom =
2271− {email = String; github = String; githubId = Integer; name = String;};
2130+ {email = String; github = String; githubId = Number; name = String;};
2272 phryneas =
2131 phryneas =
2273− {email = String; github = String; githubId = Integer; name = String;};
2132+ {email = String; github = String; githubId = Number; name = String;};
2274 phunehehe =
2133 phunehehe =
2275− {email = String; github = String; githubId = Integer; name = String;};
2134+ {email = String; github = String; githubId = Number; name = String;};
2276 pierrechevalier83 =
2135 pierrechevalier83 =
2277− {email = String; github = String; githubId = Integer; name = String;};
2136+ {email = String; github = String; githubId = Number; name = String;};
2278 pierreis =
2137 pierreis =
2279− {email = String; github = String; githubId = Integer; name = String;};
2138+ {email = String; github = String; githubId = Number; name = String;};
2280 pierrer =
2139 pierrer =
2281− {email = String; github = String; githubId = Integer; name = String;};
2140+ {email = String; github = String; githubId = Number; name = String;};
2282 pierron =
2141 pierron =
2283− {email = String; github = String; githubId = Integer; name = String;};
2142+ {email = String; github = String; githubId = Number; name = String;};
2284 pingiun =
2143 pingiun =
2285 { email = String;
2144 { email = String;
2286 github = String;
2145 github = String;
2287− githubId = Integer;
2146+ githubId = Number;
2288 keys = [{fingerprint = String; longkeyid = String;}];
2147 keys = [{fingerprint = String; longkeyid = String;}];
2289 name = String;
2148 name = String;
2290 };
2149 };
2291 piotr = {email = String; name = String;};
2150 piotr = {email = String; name = String;};
2292 pjbarnoy =
2151 pjbarnoy =
2293− {email = String; github = String; githubId = Integer; name = String;};
2152+ {email = String; github = String; githubId = Number; name = String;};
2294− pjjw = {email = String; github = String; githubId = Integer; name = String;};
2153+ pjjw = {email = String; github = String; githubId = Number; name = String;};
2295− pjones =
2296− {email = String; github = String; githubId = Integer; name = String;};
2154+ pjones = {email = String; github = String; githubId = Number; name = String;};
2297− pkmx = {email = String; github = String; githubId = Integer; name = String;};
2155+ pkmx = {email = String; github = String; githubId = Number; name = String;};
2298 plchldr =
2156 plchldr =
2299− {email = String; github = String; githubId = Integer; name = String;};
2157+ {email = String; github = String; githubId = Number; name = String;};
2300− plcplc =
2301− {email = String; github = String; githubId = Integer; name = String;};
2158+ plcplc = {email = String; github = String; githubId = Number; name = String;};
2302− plumps =
2303− {email = String; github = String; githubId = Integer; name = String;};
2159+ plumps = {email = String; github = String; githubId = Number; name = String;};
2304 pmahoney =
2160 pmahoney =
2305− {email = String; github = String; githubId = Integer; name = String;};
2161+ {email = String; github = String; githubId = Number; name = String;};
2306 pmeunier =
2162 pmeunier =
2307− {email = String; github = String; githubId = Integer; name = String;};
2163+ {email = String; github = String; githubId = Number; name = String;};
2308 pmiddend =
2164 pmiddend =
2309− {email = String; github = String; githubId = Integer; name = String;};
2165+ {email = String; github = String; githubId = Number; name = String;};
2310 pmyjavec =
2166 pmyjavec =
2311− {email = String; github = String; githubId = Integer; name = String;};
2167+ {email = String; github = String; githubId = Number; name = String;};
2312 pnelson =
2168 pnelson =
2313− {email = String; github = String; githubId = Integer; name = String;};
2169+ {email = String; github = String; githubId = Number; name = String;};
2314 pneumaticat =
2170 pneumaticat =
2315− {email = String; github = String; githubId = Integer; name = String;};
2171+ {email = String; github = String; githubId = Number; name = String;};
2316 polyrod =
2172 polyrod =
2317− {email = String; github = String; githubId = Integer; name = String;};
2173+ {email = String; github = String; githubId = Number; name = String;};
2318 pombeirp =
2174 pombeirp =
2319− {email = String; github = String; githubId = Integer; name = String;};
2175+ {email = String; github = String; githubId = Number; name = String;};
2320 pradeepchhetri =
2176 pradeepchhetri =
2321− {email = String; github = String; githubId = Integer; name = String;};
2177+ {email = String; github = String; githubId = Number; name = String;};
2322 pradyuman =
2178 pradyuman =
2323 { email = String;
2179 { email = String;
2324 github = String;
2180 github = String;
2325− githubId = Integer;
2181+ githubId = Number;
2326 keys = [{fingerprint = String; longkeyid = String;}];
2182 keys = [{fingerprint = String; longkeyid = String;}];
2327 name = String;
2183 name = String;
2328 };
2184 };
2329 priegger =
2185 priegger =
2330− {email = String; github = String; githubId = Integer; name = String;};
2186+ {email = String; github = String; githubId = Number; name = String;};
2331− prikhi =
2332− {email = String; github = String; githubId = Integer; name = String;};
2187+ prikhi = {email = String; github = String; githubId = Number; name = String;};
2333 primeos =
2188 primeos =
2334 { email = String;
2189 { email = String;
2335 github = String;
2190 github = String;
2336− githubId = Integer;
2191+ githubId = Number;
2337 keys = [{fingerprint = String; longkeyid = String;}];
2192 keys = [{fingerprint = String; longkeyid = String;}];
2338 name = String;
2193 name = String;
2339 };
2194 };
2340 proglodyte =
2195 proglodyte =
2341− {email = String; github = String; githubId = Integer; name = String;};
2196+ {email = String; github = String; githubId = Number; name = String;};
2342 protoben =
2197 protoben =
2343− {email = String; github = String; githubId = Integer; name = String;};
2198+ {email = String; github = String; githubId = Number; name = String;};
2344 prusnak =
2199 prusnak =
2345 { email = String;
2200 { email = String;
2346 github = String;
2201 github = String;
2347− githubId = Integer;
2202+ githubId = Number;
2348 keys = [{fingerprint = String; longkeyid = String;}];
2203 keys = [{fingerprint = String; longkeyid = String;}];
2349 name = String;
2204 name = String;
2350 };
2205 };
2351 psanford =
2206 psanford =
2352− {email = String; github = String; githubId = Integer; name = String;};
2207+ {email = String; github = String; githubId = Number; name = String;};
2353 pshendry =
2208 pshendry =
2354− {email = String; github = String; githubId = Integer; name = String;};
2209+ {email = String; github = String; githubId = Number; name = String;};
2355− psibi = {email = String; github = String; githubId = Integer; name = String;};
2210+ psibi = {email = String; github = String; githubId = Number; name = String;};
2356 pstn = {email = String; name = String;};
2211 pstn = {email = String; name = String;};
2357 psyanticy =
2212 psyanticy =
2358− {email = String; github = String; githubId = Integer; name = String;};
2213+ {email = String; github = String; githubId = Number; name = String;};
2359− ptival =
2360− {email = String; github = String; githubId = Integer; name = String;};
2214+ ptival = {email = String; github = String; githubId = Number; name = String;};
2361− ptrhlm =
2362− {email = String; github = String; githubId = Integer; name = String;};
2215+ ptrhlm = {email = String; github = String; githubId = Number; name = String;};
2363 puckipedia =
2216 puckipedia =
2364− {email = String; github = String; githubId = Integer; name = String;};
2217+ {email = String; github = String; githubId = Number; name = String;};
2365 puffnfresh =
2218 puffnfresh =
2366− {email = String; github = String; githubId = Integer; name = String;};
2219+ {email = String; github = String; githubId = Number; name = String;};
2367 purcell =
2220 purcell =
2368− {email = String; github = String; githubId = Integer; name = String;};
2221+ {email = String; github = String; githubId = Number; name = String;};
2369 puzzlewolf =
2222 puzzlewolf =
2370− {email = String; github = String; githubId = Integer; name = String;};
2223+ {email = String; github = String; githubId = Number; name = String;};
2371 pyrolagus =
2224 pyrolagus =
2372− {email = String; github = String; githubId = Integer; name = String;};
2225+ {email = String; github = String; githubId = Number; name = String;};
2373− q3k = {email = String; github = String; githubId = Integer; name = String;};
2226+ q3k = {email = String; github = String; githubId = Number; name = String;};
2374 qknight =
2227 qknight =
2375− {email = String; github = String; githubId = Integer; name = String;};
2228+ {email = String; github = String; githubId = Number; name = String;};
2376− qoelet =
2377− {email = String; github = String; githubId = Integer; name = String;};
2229+ qoelet = {email = String; github = String; githubId = Number; name = String;};
2378 quentini =
2230 quentini =
2379− {email = String; github = String; githubId = Integer; name = String;};
2231+ {email = String; github = String; githubId = Number; name = String;};
2380 qyliss =
2232 qyliss =
2381 { email = String;
2233 { email = String;
2382 github = String;
2234 github = String;
2383− githubId = Integer;
2235+ githubId = Number;
2384 keys = [{fingerprint = String; longkeyid = String;}];
2236 keys = [{fingerprint = String; longkeyid = String;}];
2385 name = String;
2237 name = String;
2386 };
2238 };
2387− raboof =
2388− {email = String; github = String; githubId = Integer; name = String;};
2239+ raboof = {email = String; github = String; githubId = Number; name = String;};
2389 rafaelgg =
2240 rafaelgg =
2390− {email = String; github = String; githubId = Integer; name = String;};
2241+ {email = String; github = String; githubId = Number; name = String;};
2391− ragge = {email = String; github = String; githubId = Integer; name = String;};
2242+ ragge = {email = String; github = String; githubId = Number; name = String;};
2392 rakesh4g =
2243 rakesh4g =
2393− {email = String; github = String; githubId = Integer; name = String;};
2244+ {email = String; github = String; githubId = Number; name = String;};
2394− ralith =
2395− {email = String; github = String; githubId = Integer; name = String;};
2245+ ralith = {email = String; github = String; githubId = Number; name = String;};
2396 ramkromberg =
2246 ramkromberg =
2397− {email = String; github = String; githubId = Integer; name = String;};
2247+ {email = String; github = String; githubId = Number; name = String;};
2398 raquelgb =
2248 raquelgb =
2399− {email = String; github = String; githubId = Integer; name = String;};
2249+ {email = String; github = String; githubId = Number; name = String;};
2400 rardiol =
2250 rardiol =
2401− {email = String; github = String; githubId = Integer; name = String;};
2251+ {email = String; github = String; githubId = Number; name = String;};
2402 rasendubi =
2252 rasendubi =
2403− {email = String; github = String; githubId = Integer; name = String;};
2253+ {email = String; github = String; githubId = Number; name = String;};
2404− raskin =
2405− {email = String; github = String; githubId = Integer; name = String;};
2254+ raskin = {email = String; github = String; githubId = Number; name = String;};
2406 ravloony = {email = String; name = String;};
2255 ravloony = {email = String; name = String;};
2407 rawkode =
2256 rawkode =
2408− {email = String; github = String; githubId = Integer; name = String;};
2257+ {email = String; github = String; githubId = Number; name = String;};
2409− razvan =
2410− {email = String; github = String; githubId = Integer; name = String;};
2258+ razvan = {email = String; github = String; githubId = Number; name = String;};
2411− rbasso =
2412− {email = String; github = String; githubId = Integer; name = String;};
2259+ rbasso = {email = String; github = String; githubId = Number; name = String;};
2413 rbrewer =
2260 rbrewer =
2414− {email = String; github = String; githubId = Integer; name = String;};
2261+ {email = String; github = String; githubId = Number; name = String;};
2415 rdnetto =
2262 rdnetto =
2416− {email = String; github = String; githubId = Integer; name = String;};
2263+ {email = String; github = String; githubId = Number; name = String;};
2417 redbaron =
2264 redbaron =
2418− {email = String; github = String; githubId = Integer; name = String;};
2265+ {email = String; github = String; githubId = Number; name = String;};
2419 redfish64 =
2266 redfish64 =
2420− {email = String; github = String; githubId = Integer; name = String;};
2267+ {email = String; github = String; githubId = Number; name = String;};
2421 redvers =
2268 redvers =
2422− {email = String; github = String; githubId = Integer; name = String;};
2269+ {email = String; github = String; githubId = Number; name = String;};
2423− refnil =
2424− {email = String; github = String; githubId = Integer; name = String;};
2270+ refnil = {email = String; github = String; githubId = Number; name = String;};
2425− regnat =
2426− {email = String; github = String; githubId = Integer; name = String;};
2271+ regnat = {email = String; github = String; githubId = Number; name = String;};
2427− relrod =
2428− {email = String; github = String; githubId = Integer; name = String;};
2272+ relrod = {email = String; github = String; githubId = Number; name = String;};
2429 rembo10 =
2273 rembo10 =
2430− {email = String; github = String; githubId = Integer; name = String;};
2274+ {email = String; github = String; githubId = Number; name = String;};
2431 renatoGarcia =
2275 renatoGarcia =
2432− {email = String; github = String; githubId = Integer; name = String;};
2276+ {email = String; github = String; githubId = Number; name = String;};
2433 rencire =
2277 rencire =
2434− {email = String; github = String; githubId = Integer; name = String;};
2278+ {email = String; github = String; githubId = Number; name = String;};
2435− renzo = {email = String; github = String; githubId = Integer; name = String;};
2279+ renzo = {email = String; github = String; githubId = Number; name = String;};
2436− retrry =
2437− {email = String; github = String; githubId = Integer; name = String;};
2280+ retrry = {email = String; github = String; githubId = Number; name = String;};
2438− rexim = {email = String; github = String; githubId = Integer; name = String;};
2281+ rexim = {email = String; github = String; githubId = Number; name = String;};
2439− rht = {email = String; github = String; githubId = Integer; name = String;};
2282+ rht = {email = String; github = String; githubId = Number; name = String;};
2440 richardipsum =
2283 richardipsum =
2441− {email = String; github = String; githubId = Integer; name = String;};
2284+ {email = String; github = String; githubId = Number; name = String;};
2442− rick68 =
2443− {email = String; github = String; githubId = Integer; name = String;};
2285+ rick68 = {email = String; github = String; githubId = Number; name = String;};
2444 rickynils =
2286 rickynils =
2445− {email = String; github = String; githubId = Integer; name = String;};
2287+ {email = String; github = String; githubId = Number; name = String;};
2446− rika = {email = String; github = String; githubId = Integer; name = String;};
2288+ rika = {email = String; github = String; githubId = Number; name = String;};
2447 rileyinman =
2289 rileyinman =
2448− {email = String; github = String; githubId = Integer; name = String;};
2290+ {email = String; github = String; githubId = Number; name = String;};
2449− ris = {email = String; github = String; githubId = Integer; name = String;};
2291+ ris = {email = String; github = String; githubId = Number; name = String;};
2450 risson =
2292 risson =
2451 { email = String;
2293 { email = String;
2452 github = String;
2294 github = String;
2453− githubId = Integer;
2295+ githubId = Number;
2454 keys = [{fingerprint = String; longkeyid = String;}];
2296 keys = [{fingerprint = String; longkeyid = String;}];
2455 name = String;
2297 name = String;
2456 };
2298 };
2457 rittelle =
2299 rittelle =
2458− {email = String; github = String; githubId = Integer; name = String;};
2300+ {email = String; github = String; githubId = Number; name = String;};
2459− rixed = {email = String; github = String; githubId = Integer; name = String;};
2301+ rixed = {email = String; github = String; githubId = Number; name = String;};
2460− rizary =
2461− {email = String; github = String; githubId = Integer; name = String;};
2302+ rizary = {email = String; github = String; githubId = Number; name = String;};
2462− rkoe = {email = String; github = String; githubId = Integer; name = String;};
2303+ rkoe = {email = String; github = String; githubId = Number; name = String;};
2463− rkrzr = {email = String; github = String; githubId = Integer; name = String;};
2304+ rkrzr = {email = String; github = String; githubId = Number; name = String;};
2464 rlupton20 =
2305 rlupton20 =
2465− {email = String; github = String; githubId = Integer; name = String;};
2306+ {email = String; github = String; githubId = Number; name = String;};
2466 rnhmjoj =
2307 rnhmjoj =
2467 { email = String;
2308 { email = String;
2468 github = String;
2309 github = String;
2469− githubId = Integer;
2310+ githubId = Number;
2470 keys = [{fingerprint = String; longkeyid = String;}];
2311 keys = [{fingerprint = String; longkeyid = String;}];
2471 name = String;
2312 name = String;
2472 };
2313 };
2473 roastiek =
2314 roastiek =
2474− {email = String; github = String; githubId = Integer; name = String;};
2315+ {email = String; github = String; githubId = Number; name = String;};
2475− rob = {email = String; github = String; githubId = Integer; name = String;};
2316+ rob = {email = String; github = String; githubId = Number; name = String;};
2476− robaca =
2477− {email = String; github = String; githubId = Integer; name = String;};
2317+ robaca = {email = String; github = String; githubId = Number; name = String;};
2478 robberer =
2318 robberer =
2479− {email = String; github = String; githubId = Integer; name = String;};
2319+ {email = String; github = String; githubId = Number; name = String;};
2480 robbinch =
2320 robbinch =
2481− {email = String; github = String; githubId = Integer; name = String;};
2321+ {email = String; github = String; githubId = Number; name = String;};
2482 roberth =
2322 roberth =
2483− {email = String; github = String; githubId = Integer; name = String;};
2323+ {email = String; github = String; githubId = Number; name = String;};
2484 robertodr =
2324 robertodr =
2485− {email = String; github = String; githubId = Integer; name = String;};
2325+ {email = String; github = String; githubId = Number; name = String;};
2486 robgssp =
2326 robgssp =
2487− {email = String; github = String; githubId = Integer; name = String;};
2327+ {email = String; github = String; githubId = Number; name = String;};
2488 roblabla =
2328 roblabla =
2489− {email = String; github = String; githubId = Integer; name = String;};
2329+ {email = String; github = String; githubId = Number; name = String;};
2490 roconnor =
2330 roconnor =
2491− {email = String; github = String; githubId = Integer; name = String;};
2331+ {email = String; github = String; githubId = Number; name = String;};
2492 roelvandijk =
2332 roelvandijk =
2493− {email = String; github = String; githubId = Integer; name = String;};
2333+ {email = String; github = String; githubId = Number; name = String;};
2494 romildo =
2334 romildo =
2495− {email = String; github = String; githubId = Integer; name = String;};
2335+ {email = String; github = String; githubId = Number; name = String;};
2496 rongcuid =
2336 rongcuid =
2497− {email = String; github = String; githubId = Integer; name = String;};
2337+ {email = String; github = String; githubId = Number; name = String;};
2498 roosemberth =
2338 roosemberth =
2499− {email = String; github = String; githubId = Integer; name = String;};
2339+ {email = String; github = String; githubId = Number; name = String;};
2500 rople380 =
2340 rople380 =
2501 { email = String;
2341 { email = String;
2502 github = String;
2342 github = String;
2503− githubId = Integer;
2343+ githubId = Number;
2504 keys = [{fingerprint = String; longkeyid = String;}];
2344 keys = [{fingerprint = String; longkeyid = String;}];
2505 name = String;
2345 name = String;
2506 };
2346 };
2507 royneary =
2347 royneary =
2508− {email = String; github = String; githubId = Integer; name = String;};
2348+ {email = String; github = String; githubId = Number; name = String;};
2509 rpearce =
2349 rpearce =
2510− {email = String; github = String; githubId = Integer; name = String;};
2350+ {email = String; github = String; githubId = Number; name = String;};
2511 rprospero =
2351 rprospero =
2512− {email = String; github = String; githubId = Integer; name = String;};
2352+ {email = String; github = String; githubId = Number; name = String;};
2513− rps = {email = String; github = String; githubId = Integer; name = String;};
2353+ rps = {email = String; github = String; githubId = Number; name = String;};
2514 rszibele =
2354 rszibele =
2515− {email = String; github = String; githubId = Integer; name = String;};
2355+ {email = String; github = String; githubId = Number; name = String;};
2516 rtreffer =
2356 rtreffer =
2517− {email = String; github = String; githubId = Integer; name = String;};
2357+ {email = String; github = String; githubId = Number; name = String;};
2518 rushmorem =
2358 rushmorem =
2519− {email = String; github = String; githubId = Integer; name = String;};
2359+ {email = String; github = String; githubId = Number; name = String;};
2520− ruuda = {email = String; github = String; githubId = Integer; name = String;};
2360+ ruuda = {email = String; github = String; githubId = Number; name = String;};
2521− rvl = {email = String; github = String; githubId = Integer; name = String;};
2361+ rvl = {email = String; github = String; githubId = Number; name = String;};
2522 rvlander =
2362 rvlander =
2523− {email = String; github = String; githubId = Integer; name = String;};
2363+ {email = String; github = String; githubId = Number; name = String;};
2524 rvolosatovs =
2364 rvolosatovs =
2525− {email = String; github = String; githubId = Integer; name = String;};
2365+ {email = String; github = String; githubId = Number; name = String;};
2526 ryanartecona =
2366 ryanartecona =
2527− {email = String; github = String; githubId = Integer; name = String;};
2367+ {email = String; github = String; githubId = Number; name = String;};
2528 ryanorendorff =
2368 ryanorendorff =
2529− {email = String; github = String; githubId = Integer; name = String;};
2369+ {email = String; github = String; githubId = Number; name = String;};
2530 ryansydnor =
2370 ryansydnor =
2531− {email = String; github = String; githubId = Integer; name = String;};
2371+ {email = String; github = String; githubId = Number; name = String;};
2532− ryantm =
2533− {email = String; github = String; githubId = Integer; name = String;};
2372+ ryantm = {email = String; github = String; githubId = Number; name = String;};
2534 ryantrinkle =
2373 ryantrinkle =
2535− {email = String; github = String; githubId = Integer; name = String;};
2374+ {email = String; github = String; githubId = Number; name = String;};
2536− rybern =
2537− {email = String; github = String; githubId = Integer; name = String;};
2375+ rybern = {email = String; github = String; githubId = Number; name = String;};
2538 rycee =
2376 rycee =
2539 { email = String;
2377 { email = String;
2540 github = String;
2378 github = String;
2541− githubId = Integer;
2379+ githubId = Number;
2542 keys = [{fingerprint = String; longkeyid = String;}];
2380 keys = [{fingerprint = String; longkeyid = String;}];
2543 name = String;
2381 name = String;
2544 };
2382 };
2545 ryneeverett =
2383 ryneeverett =
2546− {email = String; github = String; githubId = Integer; name = String;};
2384+ {email = String; github = String; githubId = Number; name = String;};
2547 rzetterberg =
2385 rzetterberg =
2548− {email = String; github = String; githubId = Integer; name = String;};
2386+ {email = String; github = String; githubId = Number; name = String;};
2549− s1341 = {email = String; github = String; githubId = Integer; name = String;};
2387+ s1341 = {email = String; github = String; githubId = Number; name = String;};
2550 samdoshi =
2388 samdoshi =
2551− {email = String; github = String; githubId = Integer; name = String;};
2389+ {email = String; github = String; githubId = Number; name = String;};
2552 samdroid-apps =
2390 samdroid-apps =
2553− {email = String; github = String; githubId = Integer; name = String;};
2391+ {email = String; github = String; githubId = Number; name = String;};
2554 samlich =
2392 samlich =
2555 { email = String;
2393 { email = String;
2556 github = String;
2394 github = String;
2557− githubId = Integer;
2395+ githubId = Number;
2558 keys = [{fingerprint = String; longkeyid = String;}];
2396 keys = [{fingerprint = String; longkeyid = String;}];
2559 name = String;
2397 name = String;
2560 };
2398 };
2561 samrose =
2399 samrose =
2562− {email = String; github = String; githubId = Integer; name = String;};
2400+ {email = String; github = String; githubId = Number; name = String;};
2563 samueldr =
2401 samueldr =
2564− {email = String; github = String; githubId = Integer; name = String;};
2402+ {email = String; github = String; githubId = Number; name = String;};
2565 samuelgrf =
2403 samuelgrf =
2566 { email = String;
2404 { email = String;
2567 github = String;
2405 github = String;
2568− githubId = Integer;
2406+ githubId = Number;
2569 keys = [{fingerprint = String; longkeyid = String;}];
2407 keys = [{fingerprint = String; longkeyid = String;}];
2570 name = String;
2408 name = String;
2571 };
2409 };
2572 samuelrivas =
2410 samuelrivas =
2573− {email = String; github = String; githubId = Integer; name = String;};
2411+ {email = String; github = String; githubId = Number; name = String;};
2574− sander =
2575− {email = String; github = String; githubId = Integer; name = String;};
2412+ sander = {email = String; github = String; githubId = Number; name = String;};
2576 sarcasticadmin =
2413 sarcasticadmin =
2577− {email = String; github = String; githubId = Integer; name = String;};
2414+ {email = String; github = String; githubId = Number; name = String;};
2578− sargon =
2579− {email = String; github = String; githubId = Integer; name = String;};
2415+ sargon = {email = String; github = String; githubId = Number; name = String;};
2580 saschagrunert =
2416 saschagrunert =
2581− {email = String; github = String; githubId = Integer; name = String;};
2417+ {email = String; github = String; githubId = Number; name = String;};
2582 saulecabrera =
2418 saulecabrera =
2583− {email = String; github = String; githubId = Integer; name = String;};
2419+ {email = String; github = String; githubId = Number; name = String;};
2584− sauyon =
2585− {email = String; github = String; githubId = Integer; name = String;};
2420+ sauyon = {email = String; github = String; githubId = Number; name = String;};
2586 savannidgerinel =
2421 savannidgerinel =
2587− {email = String; github = String; githubId = Integer; name = String;};
2422+ {email = String; github = String; githubId = Number; name = String;};
2588− sb0 = {email = String; github = String; githubId = Integer; name = String;};
2423+ sb0 = {email = String; github = String; githubId = Number; name = String;};
2589 sboosali =
2424 sboosali =
2590− {email = String; github = String; githubId = Integer; name = String;};
2425+ {email = String; github = String; githubId = Number; name = String;};
2591 scalavision =
2426 scalavision =
2592− {email = String; github = String; githubId = Integer; name = String;};
2427+ {email = String; github = String; githubId = Number; name = String;};
2593 schmitthenner =
2428 schmitthenner =
2594− {email = String; github = String; githubId = Integer; name = String;};
2429+ {email = String; github = String; githubId = Number; name = String;};
2595 schmittlauch =
2430 schmittlauch =
2596− {email = String; github = String; githubId = Integer; name = String;};
2431+ {email = String; github = String; githubId = Number; name = String;};
2597 schneefux =
2432 schneefux =
2598− {email = String; github = String; githubId = Integer; name = String;};
2433+ {email = String; github = String; githubId = Number; name = String;};
2599 schristo = {email = String; name = String;};
2434 schristo = {email = String; name = String;};
2600− scode = {email = String; github = String; githubId = Integer; name = String;};
2435+ scode = {email = String; github = String; githubId = Number; name = String;};
2601 scolobb =
2436 scolobb =
2602− {email = String; github = String; githubId = Integer; name = String;};
2437+ {email = String; github = String; githubId = Number; name = String;};
2603 screendriver =
2438 screendriver =
2604− {email = String; github = String; githubId = Integer; name = String;};
2439+ {email = String; github = String; githubId = Number; name = String;};
2605 scubed2 =
2440 scubed2 =
2606− {email = String; github = String; githubId = Integer; name = String;};
2441+ {email = String; github = String; githubId = Number; name = String;};
2607− sdier = {email = String; github = String; githubId = Integer; name = String;};
2442+ sdier = {email = String; github = String; githubId = Number; name = String;};
2608− sdll = {email = String; github = String; githubId = Integer; name = String;};
2443+ sdll = {email = String; github = String; githubId = Number; name = String;};
2609− seb314 =
2610− {email = String; github = String; githubId = Integer; name = String;};
2444+ seb314 = {email = String; github = String; githubId = Number; name = String;};
2611 sellout =
2445 sellout =
2612− {email = String; github = String; githubId = Integer; name = String;};
2446+ {email = String; github = String; githubId = Number; name = String;};
2613 sengaya =
2447 sengaya =
2614− {email = String; github = String; githubId = Integer; name = String;};
2448+ {email = String; github = String; githubId = Number; name = String;};
2615 sephalon =
2449 sephalon =
2616− {email = String; github = String; githubId = Integer; name = String;};
2450+ {email = String; github = String; githubId = Number; name = String;};
2617− sepi = {email = String; github = String; githubId = Integer; name = String;};
2451+ sepi = {email = String; github = String; githubId = Number; name = String;};
2618 seppeljordan =
2452 seppeljordan =
2619− {email = String; github = String; githubId = Integer; name = String;};
2453+ {email = String; github = String; githubId = Number; name = String;};
2620− seqizz =
2621− {email = String; github = String; githubId = Integer; name = String;};
2454+ seqizz = {email = String; github = String; githubId = Number; name = String;};
2622 servalcatty =
2455 servalcatty =
2623 { email = String;
2456 { email = String;
2624 github = String;
2457 github = String;
2625− githubId = Integer;
2458+ githubId = Number;
2626 keys = [{fingerprint = String; longkeyid = String;}];
2459 keys = [{fingerprint = String; longkeyid = String;}];
2627 name = String;
2460 name = String;
2628 };
2461 };
2629 sfrijters =
2462 sfrijters =
2630− {email = String; github = String; githubId = Integer; name = String;};
2463+ {email = String; github = String; githubId = Number; name = String;};
2631− sgo = {email = String; github = String; githubId = Integer; name = String;};
2464+ sgo = {email = String; github = String; githubId = Number; name = String;};
2632− sgraf = {email = String; github = String; githubId = Integer; name = String;};
2465+ sgraf = {email = String; github = String; githubId = Number; name = String;};
2633 shahrukh330 =
2466 shahrukh330 =
2634− {email = String; github = String; githubId = Integer; name = String;};
2467+ {email = String; github = String; githubId = Number; name = String;};
2635 shamilton =
2468 shamilton =
2636− {email = String; github = String; githubId = Integer; name = String;};
2469+ {email = String; github = String; githubId = Number; name = String;};
2637 shanemikel =
2470 shanemikel =
2638− {email = String; github = String; githubId = Integer; name = String;};
2471+ {email = String; github = String; githubId = Number; name = String;};
2639− shardy =
2640− {email = String; github = String; githubId = Integer; name = String;};
2472+ shardy = {email = String; github = String; githubId = Number; name = String;};
2641 shawndellysse =
2473 shawndellysse =
2642− {email = String; github = String; githubId = Integer; name = String;};
2474+ {email = String; github = String; githubId = Number; name = String;};
2643− shazow =
2644− {email = String; github = String; githubId = Integer; name = String;};
2475+ shazow = {email = String; github = String; githubId = Number; name = String;};
2645 sheenobu =
2476 sheenobu =
2646− {email = String; github = String; githubId = Integer; name = String;};
2477+ {email = String; github = String; githubId = Number; name = String;};
2647 sheganinans =
2478 sheganinans =
2648− {email = String; github = String; githubId = Integer; name = String;};
2479+ {email = String; github = String; githubId = Number; name = String;};
2649− shell = {email = String; github = String; githubId = Integer; name = String;};
2480+ shell = {email = String; github = String; githubId = Number; name = String;};
2650− shlevy =
2651− {email = String; github = String; githubId = Integer; name = String;};
2481+ shlevy = {email = String; github = String; githubId = Number; name = String;};
2652 shmish111 =
2482 shmish111 =
2653− {email = String; github = String; githubId = Integer; name = String;};
2483+ {email = String; github = String; githubId = Number; name = String;};
2654 shnarazk =
2484 shnarazk =
2655− {email = String; github = String; githubId = Integer; name = String;};
2485+ {email = String; github = String; githubId = Number; name = String;};
2656− shou = {email = String; github = String; githubId = Integer; name = String;};
2486+ shou = {email = String; github = String; githubId = Number; name = String;};
2657− shyim = {email = String; github = String; githubId = Integer; name = String;};
2487+ shyim = {email = String; github = String; githubId = Number; name = String;};
2658 siddharthist =
2488 siddharthist =
2659− {email = String; github = String; githubId = Integer; name = String;};
2489+ {email = String; github = String; githubId = Number; name = String;};
2660− siers = {email = String; github = String; githubId = Integer; name = String;};
2490+ siers = {email = String; github = String; githubId = Number; name = String;};
2661 sifmelcara =
2491 sifmelcara =
2662− {email = String; github = String; githubId = Integer; name = String;};
2492+ {email = String; github = String; githubId = Number; name = String;};
2663− sigma = {email = String; github = String; githubId = Integer; name = String;};
2493+ sigma = {email = String; github = String; githubId = Number; name = String;};
2664 sikmir =
2494 sikmir =
2665 { email = String;
2495 { email = String;
2666 github = String;
2496 github = String;
2667− githubId = Integer;
2497+ githubId = Number;
2668 keys = [{fingerprint = String; longkeyid = String;}];
2498 keys = [{fingerprint = String; longkeyid = String;}];
2669 name = String;
2499 name = String;
2670 };
2500 };
2671 simonchatts =
2501 simonchatts =
2672− {email = String; github = String; githubId = Integer; name = String;};
2502+ {email = String; github = String; githubId = Number; name = String;};
2673 simonvandel =
2503 simonvandel =
2674− {email = String; github = String; githubId = Integer; name = String;};
2504+ {email = String; github = String; githubId = Number; name = String;};
2675 siraben =
2505 siraben =
2676− {email = String; github = String; githubId = Integer; name = String;};
2506+ {email = String; github = String; githubId = Number; name = String;};
2677 siriobalmelli =
2507 siriobalmelli =
2678 { email = String;
2508 { email = String;
2679 github = String;
2509 github = String;
2680− githubId = Integer;
2510+ githubId = Number;
2681 keys = [{fingerprint = String; longkeyid = String;}];
2511 keys = [{fingerprint = String; longkeyid = String;}];
2682 name = String;
2512 name = String;
2683 };
2513 };
2684 sivteck =
2514 sivteck =
2685− {email = String; github = String; githubId = Integer; name = String;};
2515+ {email = String; github = String; githubId = Number; name = String;};
2686− sjagoe =
2687− {email = String; github = String; githubId = Integer; name = String;};
2516+ sjagoe = {email = String; github = String; githubId = Number; name = String;};
2688− sjau = {email = String; github = String; githubId = Integer; name = String;};
2517+ sjau = {email = String; github = String; githubId = Number; name = String;};
2689 sjfloat =
2518 sjfloat =
2690− {email = String; github = String; githubId = Integer; name = String;};
2519+ {email = String; github = String; githubId = Number; name = String;};
2691 sjmackenzie =
2520 sjmackenzie =
2692− {email = String; github = String; githubId = Integer; name = String;};
2521+ {email = String; github = String; githubId = Number; name = String;};
2693 sjourdois = {email = String; name = String;};
2522 sjourdois = {email = String; name = String;};
2694 skeidel =
2523 skeidel =
2695− {email = String; github = String; githubId = Integer; name = String;};
2524+ {email = String; github = String; githubId = Number; name = String;};
2696 skrzyp = {email = String; name = String;};
2525 skrzyp = {email = String; name = String;};
2697 skykanin =
2526 skykanin =
2698− {email = String; github = String; githubId = Integer; name = String;};
2527+ {email = String; github = String; githubId = Number; name = String;};
2699 sleexyz =
2528 sleexyz =
2700− {email = String; github = String; githubId = Integer; name = String;};
2529+ {email = String; github = String; githubId = Number; name = String;};
2701 smakarov =
2530 smakarov =
2702 { email = String;
2531 { email = String;
2703 github = String;
2532 github = String;
2704− githubId = Integer;
2533+ githubId = Number;
2705 keys = [{fingerprint = String; longkeyid = String;}];
2534 keys = [{fingerprint = String; longkeyid = String;}];
2706 name = String;
2535 name = String;
2707 };
2536 };
2708 smaret =
2537 smaret =
2709 { email = String;
2538 { email = String;
2710 github = String;
2539 github = String;
2711− githubId = Integer;
2540+ githubId = Number;
2712 keys = [{fingerprint = String; longkeyid = String;}];
2541 keys = [{fingerprint = String; longkeyid = String;}];
2713 name = String;
2542 name = String;
2714 };
2543 };
2715 smironov =
2544 smironov =
2716− {email = String; github = String; githubId = Integer; name = String;};
2545+ {email = String; github = String; githubId = Number; name = String;};
2717− sna = {email = String; github = String; githubId = Integer; name = String;};
2546+ sna = {email = String; github = String; githubId = Number; name = String;};
2718− snaar = {email = String; github = String; githubId = Integer; name = String;};
2547+ snaar = {email = String; github = String; githubId = Number; name = String;};
2719− snglth =
2720− {email = String; github = String; githubId = Integer; name = String;};
2548+ snglth = {email = String; github = String; githubId = Number; name = String;};
2721 snicket2100 =
2549 snicket2100 =
2722− {email = String; github = String; githubId = Integer; name = String;};
2550+ {email = String; github = String; githubId = Number; name = String;};
2723− snyh = {email = String; github = String; githubId = Integer; name = String;};
2551+ snyh = {email = String; github = String; githubId = Number; name = String;};
2724 softinio =
2552 softinio =
2725− {email = String; github = String; githubId = Integer; name = String;};
2553+ {email = String; github = String; githubId = Number; name = String;};
2726− solson =
2727− {email = String; github = String; githubId = Integer; name = String;};
2554+ solson = {email = String; github = String; githubId = Number; name = String;};
2728 sondr3 =
2555 sondr3 =
2729 { email = String;
2556 { email = String;
2730 github = String;
2557 github = String;
2731− githubId = Integer;
2558+ githubId = Number;
2732 keys = [{fingerprint = String; longkeyid = String;}];
2559 keys = [{fingerprint = String; longkeyid = String;}];
2733 name = String;
2560 name = String;
2734 };
2561 };
2735− sorki = {email = String; github = String; githubId = Integer; name = String;};
2562+ sorki = {email = String; github = String; githubId = Number; name = String;};
2736 sorpaas =
2563 sorpaas =
2737− {email = String; github = String; githubId = Integer; name = String;};
2564+ {email = String; github = String; githubId = Number; name = String;};
2738 spacefrogg =
2565 spacefrogg =
2739− {email = String; github = String; githubId = Integer; name = String;};
2566+ {email = String; github = String; githubId = Number; name = String;};
2740 spacekookie =
2567 spacekookie =
2741− {email = String; github = String; githubId = Integer; name = String;};
2568+ {email = String; github = String; githubId = Number; name = String;};
2742 spencerjanssen =
2569 spencerjanssen =
2743− {email = String; github = String; githubId = Integer; name = String;};
2570+ {email = String; github = String; githubId = Number; name = String;};
2744− spinus =
2745− {email = String; github = String; githubId = Integer; name = String;};
2571+ spinus = {email = String; github = String; githubId = Number; name = String;};
2746− sprock =
2747− {email = String; github = String; githubId = Integer; name = String;};
2572+ sprock = {email = String; github = String; githubId = Number; name = String;};
2748 spwhitt =
2573 spwhitt =
2749− {email = String; github = String; githubId = Integer; name = String;};
2574+ {email = String; github = String; githubId = Number; name = String;};
2750 squalus =
2575 squalus =
2751− {email = String; github = String; githubId = Integer; name = String;};
2576+ {email = String; github = String; githubId = Number; name = String;};
2752− srghma =
2753− {email = String; github = String; githubId = Integer; name = String;};
2577+ srghma = {email = String; github = String; githubId = Number; name = String;};
2754− srgom = {email = String; github = String; githubId = Integer; name = String;};
2578+ srgom = {email = String; github = String; githubId = Number; name = String;};
2755− srhb = {email = String; github = String; githubId = Integer; name = String;};
2579+ srhb = {email = String; github = String; githubId = Number; name = String;};
2756− sstef = {email = String; github = String; githubId = Integer; name = String;};
2580+ sstef = {email = String; github = String; githubId = Number; name = String;};
2757− steell =
2758− {email = String; github = String; githubId = Integer; name = String;};
2581+ steell = {email = String; github = String; githubId = Number; name = String;};
2759 stephenmw =
2582 stephenmw =
2760− {email = String; github = String; githubId = Integer; name = String;};
2583+ {email = String; github = String; githubId = Number; name = String;};
2761 sterfield =
2584 sterfield =
2762− {email = String; github = String; githubId = Integer; name = String;};
2585+ {email = String; github = String; githubId = Number; name = String;};
2763 sternenseemann =
2586 sternenseemann =
2764− {email = String; github = String; githubId = Integer; name = String;};
2587+ {email = String; github = String; githubId = Number; name = String;};
2765 steshaw =
2588 steshaw =
2766 { email = String;
2589 { email = String;
2767 github = String;
2590 github = String;
2768− githubId = Integer;
2591+ githubId = Number;
2769 keys = [{fingerprint = String; longkeyid = String;}];
2592 keys = [{fingerprint = String; longkeyid = String;}];
2770 name = String;
2593 name = String;
2771 };
2594 };
2772− stesie =
2773− {email = String; github = String; githubId = Integer; name = String;};
2595+ stesie = {email = String; github = String; githubId = Number; name = String;};
2774 steve-chavez =
2596 steve-chavez =
2775− {email = String; github = String; githubId = Integer; name = String;};
2597+ {email = String; github = String; githubId = Number; name = String;};
2776 steveej =
2598 steveej =
2777− {email = String; github = String; githubId = Integer; name = String;};
2599+ {email = String; github = String; githubId = Number; name = String;};
2778 stianlagstad =
2600 stianlagstad =
2779− {email = String; github = String; githubId = Integer; name = String;};
2601+ {email = String; github = String; githubId = Number; name = String;};
2780− stites =
2781− {email = String; github = String; githubId = Integer; name = String;};
2602+ stites = {email = String; github = String; githubId = Number; name = String;};
2782 stumoss =
2603 stumoss =
2783− {email = String; github = String; githubId = Integer; name = String;};
2604+ {email = String; github = String; githubId = Number; name = String;};
2784− suhr = {email = String; github = String; githubId = Integer; name = String;};
2605+ suhr = {email = String; github = String; githubId = Number; name = String;};
2785− suvash =
2786− {email = String; github = String; githubId = Integer; name = String;};
2606+ suvash = {email = String; github = String; githubId = Number; name = String;};
2787 sveitser =
2607 sveitser =
2788− {email = String; github = String; githubId = Integer; name = String;};
2608+ {email = String; github = String; githubId = Number; name = String;};
2789− svsdep =
2790− {email = String; github = String; githubId = Integer; name = String;};
2609+ svsdep = {email = String; github = String; githubId = Number; name = String;};
2791 swarren83 =
2610 swarren83 =
2792− {email = String; github = String; githubId = Integer; name = String;};
2611+ {email = String; github = String; githubId = Number; name = String;};
2793 swdunlop =
2612 swdunlop =
2794− {email = String; github = String; githubId = Integer; name = String;};
2613+ {email = String; github = String; githubId = Number; name = String;};
2795− sweber =
2796− {email = String; github = String; githubId = Integer; name = String;};
2614+ sweber = {email = String; github = String; githubId = Number; name = String;};
2797 swflint =
2615 swflint =
2798− {email = String; github = String; githubId = Integer; name = String;};
2616+ {email = String; github = String; githubId = Number; name = String;};
2799 swistak35 =
2617 swistak35 =
2800− {email = String; github = String; githubId = Integer; name = String;};
2618+ {email = String; github = String; githubId = Number; name = String;};
2801 syberant =
2619 syberant =
2802− {email = String; github = String; githubId = Integer; name = String;};
2620+ {email = String; github = String; githubId = Number; name = String;};
2803 symphorien =
2621 symphorien =
2804− {email = String; github = String; githubId = Integer; name = String;};
2622+ {email = String; github = String; githubId = Number; name = String;};
2805 synthetica =
2623 synthetica =
2806− {email = String; github = String; githubId = Integer; name = String;};
2624+ {email = String; github = String; githubId = Number; name = String;};
2807− szczyp =
2808− {email = String; github = String; githubId = Integer; name = String;};
2625+ szczyp = {email = String; github = String; githubId = Number; name = String;};
2809− sztupi =
2810− {email = String; github = String; githubId = Integer; name = String;};
2626+ sztupi = {email = String; github = String; githubId = Number; name = String;};
2811 t184256 =
2627 t184256 =
2812− {email = String; github = String; githubId = Integer; name = String;};
2628+ {email = String; github = String; githubId = Number; name = String;};
2813 tadeokondrak =
2629 tadeokondrak =
2814 { email = String;
2630 { email = String;
2815 github = String;
2631 github = String;
2816− githubId = Integer;
2632+ githubId = Number;
2817 keys = [{fingerprint = String; longkeyid = String;}];
2633 keys = [{fingerprint = String; longkeyid = String;}];
2818 name = String;
2634 name = String;
2819 };
2635 };
2820 tadfisher =
2636 tadfisher =
2821− {email = String; github = String; githubId = Integer; name = String;};
2637+ {email = String; github = String; githubId = Number; name = String;};
2822− taeer = {email = String; github = String; githubId = Integer; name = String;};
2638+ taeer = {email = String; github = String; githubId = Number; name = String;};
2823− taha = {email = String; github = String; githubId = Integer; name = String;};
2639+ taha = {email = String; github = String; githubId = Number; name = String;};
2824 tailhook =
2640 tailhook =
2825− {email = String; github = String; githubId = Integer; name = String;};
2641+ {email = String; github = String; githubId = Number; name = String;};
2826 taketwo =
2642 taketwo =
2827− {email = String; github = String; githubId = Integer; name = String;};
2643+ {email = String; github = String; githubId = Number; name = String;};
2828 takikawa =
2644 takikawa =
2829− {email = String; github = String; githubId = Integer; name = String;};
2645+ {email = String; github = String; githubId = Number; name = String;};
2830− taktoa =
2831− {email = String; github = String; githubId = Integer; name = String;};
2646+ taktoa = {email = String; github = String; githubId = Number; name = String;};
2832− taku0 = {email = String; github = String; githubId = Integer; name = String;};
2647+ taku0 = {email = String; github = String; githubId = Number; name = String;};
2833 talkara =
2648 talkara =
2834− {email = String; github = String; githubId = Integer; name = String;};
2649+ {email = String; github = String; githubId = Number; name = String;};
2835− talyz = {email = String; github = String; githubId = Integer; name = String;};
2650+ talyz = {email = String; github = String; githubId = Number; name = String;};
2836− taneb = {email = String; github = String; githubId = Integer; name = String;};
2651+ taneb = {email = String; github = String; githubId = Number; name = String;};
2837− tari = {email = String; github = String; githubId = Integer; name = String;};
2652+ tari = {email = String; github = String; githubId = Number; name = String;};
2838− tasmo = {email = String; github = String; githubId = Integer; name = String;};
2653+ tasmo = {email = String; github = String; githubId = Number; name = String;};
2839− tavyc = {email = String; github = String; githubId = Integer; name = String;};
2654+ tavyc = {email = String; github = String; githubId = Number; name = String;};
2840− tazjin =
2841− {email = String; github = String; githubId = Integer; name = String;};
2655+ tazjin = {email = String; github = String; githubId = Number; name = String;};
2842− tbenst =
2843− {email = String; github = String; githubId = Integer; name = String;};
2656+ tbenst = {email = String; github = String; githubId = Number; name = String;};
2844 tcbravo =
2657 tcbravo =
2845− {email = String; github = String; githubId = Integer; name = String;};
2658+ {email = String; github = String; githubId = Number; name = String;};
2846− tckmn = {email = String; github = String; githubId = Integer; name = String;};
2659+ tckmn = {email = String; github = String; githubId = Number; name = String;};
2847− teh = {email = String; github = String; githubId = Integer; name = String;};
2660+ teh = {email = String; github = String; githubId = Number; name = String;};
2848 telotortium =
2661 telotortium =
2849− {email = String; github = String; githubId = Integer; name = String;};
2662+ {email = String; github = String; githubId = Number; name = String;};
2850− teozkr =
2851− {email = String; github = String; githubId = Integer; name = String;};
2663+ teozkr = {email = String; github = String; githubId = Number; name = String;};
2852− terlar =
2853− {email = String; github = String; githubId = Integer; name = String;};
2664+ terlar = {email = String; github = String; githubId = Number; name = String;};
2854− tesq0 = {email = String; github = String; githubId = Integer; name = String;};
2665+ tesq0 = {email = String; github = String; githubId = Number; name = String;};
2855− teto = {email = String; github = String; githubId = Integer; name = String;};
2666+ teto = {email = String; github = String; githubId = Number; name = String;};
2856− tex = {email = String; github = String; githubId = Integer; name = String;};
2667+ tex = {email = String; github = String; githubId = Number; name = String;};
2857 tfmoraes =
2668 tfmoraes =
2858− {email = String; github = String; githubId = Integer; name = String;};
2669+ {email = String; github = String; githubId = Number; name = String;};
2859− tg-x = {email = String; github = String; githubId = Integer; name = String;};
2670+ tg-x = {email = String; github = String; githubId = Number; name = String;};
2860 th0rgal =
2671 th0rgal =
2861− {email = String; github = String; githubId = Integer; name = String;};
2672+ {email = String; github = String; githubId = Number; name = String;};
2862− thall = {email = String; github = String; githubId = Integer; name = String;};
2673+ thall = {email = String; github = String; githubId = Number; name = String;};
2863 thammers =
2674 thammers =
2864− {email = String; github = String; githubId = Integer; name = String;};
2675+ {email = String; github = String; githubId = Number; name = String;};
2865 thanegill =
2676 thanegill =
2866− {email = String; github = String; githubId = Integer; name = String;};
2677+ {email = String; github = String; githubId = Number; name = String;};
2867 thedavidmeister =
2678 thedavidmeister =
2868− {email = String; github = String; githubId = Integer; name = String;};
2679+ {email = String; github = String; githubId = Number; name = String;};
2869 thefenriswolf =
2680 thefenriswolf =
2870− {email = String; github = String; githubId = Integer; name = String;};
2681+ {email = String; github = String; githubId = Number; name = String;};
2871 thefloweringash =
2682 thefloweringash =
2872− {email = String; github = String; githubId = Integer; name = String;};
2683+ {email = String; github = String; githubId = Number; name = String;};
2873 thelegy =
2684 thelegy =
2874− {email = String; github = String; githubId = Integer; name = String;};
2685+ {email = String; github = String; githubId = Number; name = String;};
2875 thesola10 =
2686 thesola10 =
2876 { email = String;
2687 { email = String;
2877 github = String;
2688 github = String;
2878− githubId = Integer;
2689+ githubId = Number;
2879 keys = [{fingerprint = String; longkeyid = String;}];
2690 keys = [{fingerprint = String; longkeyid = String;}];
2880 name = String;
2691 name = String;
2881 };
2692 };
2882− theuni =
2883− {email = String; github = String; githubId = Integer; name = String;};
2693+ theuni = {email = String; github = String; githubId = Number; name = String;};
2884 thiagokokada =
2694 thiagokokada =
2885− {email = String; github = String; githubId = Integer; name = String;};
2695+ {email = String; github = String; githubId = Number; name = String;};
2886− thmzlt =
2887− {email = String; github = String; githubId = Integer; name = String;};
2696+ thmzlt = {email = String; github = String; githubId = Number; name = String;};
2888 thomasdesr =
2697 thomasdesr =
2889− {email = String; github = String; githubId = Integer; name = String;};
2698+ {email = String; github = String; githubId = Number; name = String;};
2890 thomasjm =
2699 thomasjm =
2891− {email = String; github = String; githubId = Integer; name = String;};
2700+ {email = String; github = String; githubId = Number; name = String;};
2892 thoughtpolice =
2701 thoughtpolice =
2893− {email = String; github = String; githubId = Integer; name = String;};
2702+ {email = String; github = String; githubId = Number; name = String;};
2894− thpham =
2895− {email = String; github = String; githubId = Integer; name = String;};
2703+ thpham = {email = String; github = String; githubId = Number; name = String;};
2896 tilpner =
2704 tilpner =
2897− {email = String; github = String; githubId = Integer; name = String;};
2705+ {email = String; github = String; githubId = Number; name = String;};
2898 timbertson =
2706 timbertson =
2899− {email = String; github = String; githubId = Integer; name = String;};
2707+ {email = String; github = String; githubId = Number; name = String;};
2900− timma = {email = String; github = String; githubId = Integer; name = String;};
2708+ timma = {email = String; github = String; githubId = Number; name = String;};
2901 timokau =
2709 timokau =
2902− {email = String; github = String; githubId = Integer; name = String;};
2710+ {email = String; github = String; githubId = Number; name = String;};
2903− timor = {email = String; github = String; githubId = Integer; name = String;};
2711+ timor = {email = String; github = String; githubId = Number; name = String;};
2904− timput =
2905− {email = String; github = String; githubId = Integer; name = String;};
2712+ timput = {email = String; github = String; githubId = Number; name = String;};
2906 timstott =
2713 timstott =
2907− {email = String; github = String; githubId = Integer; name = String;};
2714+ {email = String; github = String; githubId = Number; name = String;};
2908 tiramiseb =
2715 tiramiseb =
2909− {email = String; github = String; githubId = Integer; name = String;};
2716+ {email = String; github = String; githubId = Number; name = String;};
2910 titanous =
2717 titanous =
2911− {email = String; github = String; githubId = Integer; name = String;};
2718+ {email = String; github = String; githubId = Number; name = String;};
2912 tkerber =
2719 tkerber =
2913 { email = String;
2720 { email = String;
2914 github = String;
2721 github = String;
2915− githubId = Integer;
2722+ githubId = Number;
2916 keys = [{fingerprint = String; longkeyid = String;}];
2723 keys = [{fingerprint = String; longkeyid = String;}];
2917 name = String;
2724 name = String;
2918 };
2725 };
2919− tmplt = {email = String; github = String; githubId = Integer; name = String;};
2726+ tmplt = {email = String; github = String; githubId = Number; name = String;};
2920− tnias = {email = String; github = String; githubId = Integer; name = String;};
2727+ tnias = {email = String; github = String; githubId = Number; name = String;};
2921 tobiasBora =
2728 tobiasBora =
2922− {email = String; github = String; githubId = Integer; name = String;};
2729+ {email = String; github = String; githubId = Number; name = String;};
2923− tobim = {email = String; github = String; githubId = Integer; name = String;};
2730+ tobim = {email = String; github = String; githubId = Number; name = String;};
2924− tohl = {email = String; github = String; githubId = Integer; name = String;};
2731+ tohl = {email = String; github = String; githubId = Number; name = String;};
2925 tokudan =
2732 tokudan =
2926− {email = String; github = String; githubId = Integer; name = String;};
2733+ {email = String; github = String; githubId = Number; name = String;};
2927 tomahna =
2734 tomahna =
2928− {email = String; github = String; githubId = Integer; name = String;};
2735+ {email = String; github = String; githubId = Number; name = String;};
2929 tomberek =
2736 tomberek =
2930− {email = String; github = String; githubId = Integer; name = String;};
2737+ {email = String; github = String; githubId = Number; name = String;};
2931 tomfitzhenry =
2738 tomfitzhenry =
2932− {email = String; github = String; githubId = Integer; name = String;};
2739+ {email = String; github = String; githubId = Number; name = String;};
2933 tomsmeets =
2740 tomsmeets =
2934− {email = String; github = String; githubId = Integer; name = String;};
2741+ {email = String; github = String; githubId = Number; name = String;};
2935− toonn = {email = String; github = String; githubId = Integer; name = String;};
2742+ toonn = {email = String; github = String; githubId = Number; name = String;};
2936 toschmidt =
2743 toschmidt =
2937− {email = String; github = String; githubId = Integer; name = String;};
2744+ {email = String; github = String; githubId = Number; name = String;};
2938 travisbhartwell =
2745 travisbhartwell =
2939− {email = String; github = String; githubId = Integer; name = String;};
2746+ {email = String; github = String; githubId = Number; name = String;};
2940− treemo =
2941− {email = String; github = String; githubId = Integer; name = String;};
2747+ treemo = {email = String; github = String; githubId = Number; name = String;};
2942 trepetti =
2748 trepetti =
2943− {email = String; github = String; githubId = Integer; name = String;};
2749+ {email = String; github = String; githubId = Number; name = String;};
2944 trevorj =
2750 trevorj =
2945− {email = String; github = String; githubId = Integer; name = String;};
2751+ {email = String; github = String; githubId = Number; name = String;};
2946 tricktron =
2752 tricktron =
2947− {email = String; github = String; githubId = Integer; name = String;};
2753+ {email = String; github = String; githubId = Number; name = String;};
2948− trino = {email = String; github = String; githubId = Integer; name = String;};
2754+ trino = {email = String; github = String; githubId = Number; name = String;};
2949− troydm =
2950− {email = String; github = String; githubId = Integer; name = String;};
2755+ troydm = {email = String; github = String; githubId = Number; name = String;};
2951 tscholak =
2756 tscholak =
2952− {email = String; github = String; githubId = Integer; name = String;};
2757+ {email = String; github = String; githubId = Number; name = String;};
2953 tstrobel = {email = String; name = String;};
2758 tstrobel = {email = String; name = String;};
2954 ttuegel =
2759 ttuegel =
2955− {email = String; github = String; githubId = Integer; name = String;};
2760+ {email = String; github = String; githubId = Number; name = String;};
2956 turbomack =
2761 turbomack =
2957− {email = String; github = String; githubId = Integer; name = String;};
2762+ {email = String; github = String; githubId = Number; name = String;};
2958− turion =
2959− {email = String; github = String; githubId = Integer; name = String;};
2763+ turion = {email = String; github = String; githubId = Number; name = String;};
2960− tv = {email = String; github = String; githubId = Integer; name = String;};
2764+ tv = {email = String; github = String; githubId = Number; name = String;};
2961 tvestelind =
2765 tvestelind =
2962− {email = String; github = String; githubId = Integer; name = String;};
2766+ {email = String; github = String; githubId = Number; name = String;};
2963− tviti = {email = String; github = String; githubId = Integer; name = String;};
2767+ tviti = {email = String; github = String; githubId = Number; name = String;};
2964− tvorog =
2965− {email = String; github = String; githubId = Integer; name = String;};
2768+ tvorog = {email = String; github = String; githubId = Number; name = String;};
2966− tweber =
2967− {email = String; github = String; githubId = Integer; name = String;};
2769+ tweber = {email = String; github = String; githubId = Number; name = String;};
2968− twey = {email = String; github = String; githubId = Integer; name = String;};
2770+ twey = {email = String; github = String; githubId = Number; name = String;};
2969 twhitehead =
2771 twhitehead =
2970 { email = String;
2772 { email = String;
2971 github = String;
2773 github = String;
2972− githubId = Integer;
2774+ githubId = Number;
2973 keys = [{fingerprint = String; longkeyid = String;}];
2775 keys = [{fingerprint = String; longkeyid = String;}];
2974 name = String;
2776 name = String;
2975 };
2777 };
2976 typetetris =
2778 typetetris =
2977− {email = String; github = String; githubId = Integer; name = String;};
2779+ {email = String; github = String; githubId = Number; name = String;};
2978− udono = {email = String; github = String; githubId = Integer; name = String;};
2780+ udono = {email = String; github = String; githubId = Number; name = String;};
2979− unode = {email = String; github = String; githubId = Integer; name = String;};
2781+ unode = {email = String; github = String; githubId = Number; name = String;};
2980 uralbash =
2782 uralbash =
2981− {email = String; github = String; githubId = Integer; name = String;};
2783+ {email = String; github = String; githubId = Number; name = String;};
2982 uri-canva =
2784 uri-canva =
2983− {email = String; github = String; githubId = Integer; name = String;};
2785+ {email = String; github = String; githubId = Number; name = String;};
2984 uskudnik =
2786 uskudnik =
2985− {email = String; github = String; githubId = Integer; name = String;};
2787+ {email = String; github = String; githubId = Number; name = String;};
2986 utdemir =
2788 utdemir =
2987− {email = String; github = String; githubId = Integer; name = String;};
2789+ {email = String; github = String; githubId = Number; name = String;};
2988 uvnikita =
2790 uvnikita =
2989− {email = String; github = String; githubId = Integer; name = String;};
2791+ {email = String; github = String; githubId = Number; name = String;};
2990− uwap = {email = String; github = String; githubId = Integer; name = String;};
2792+ uwap = {email = String; github = String; githubId = Number; name = String;};
2991 va1entin =
2793 va1entin =
2992− {email = String; github = String; githubId = Integer; name = String;};
2794+ {email = String; github = String; githubId = Number; name = String;};
2993 vaibhavsagar =
2795 vaibhavsagar =
2994− {email = String; github = String; githubId = Integer; name = String;};
2796+ {email = String; github = String; githubId = Number; name = String;};
2995 valebes =
2797 valebes =
2996− {email = String; github = String; githubId = Integer; name = String;};
2798+ {email = String; github = String; githubId = Number; name = String;};
2997 valeriangalliat =
2799 valeriangalliat =
2998− {email = String; github = String; githubId = Integer; name = String;};
2800+ {email = String; github = String; githubId = Number; name = String;};
2999 valodim =
2801 valodim =
3000− {email = String; github = String; githubId = Integer; name = String;};
2802+ {email = String; github = String; githubId = Number; name = String;};
3001 vandenoever =
2803 vandenoever =
3002− {email = String; github = String; githubId = Integer; name = String;};
2804+ {email = String; github = String; githubId = Number; name = String;};
3003 vanschelven =
2805 vanschelven =
3004− {email = String; github = String; githubId = Integer; name = String;};
2806+ {email = String; github = String; githubId = Number; name = String;};
3005− vanzef =
3006− {email = String; github = String; githubId = Integer; name = String;};
2807+ vanzef = {email = String; github = String; githubId = Number; name = String;};
3007 varunpatro =
2808 varunpatro =
3008− {email = String; github = String; githubId = Integer; name = String;};
2809+ {email = String; github = String; githubId = Number; name = String;};
3009− vbgl = {email = String; github = String; githubId = Integer; name = String;};
2810+ vbgl = {email = String; github = String; githubId = Number; name = String;};
3010 vbmithr =
2811 vbmithr =
3011− {email = String; github = String; githubId = Integer; name = String;};
2812+ {email = String; github = String; githubId = Number; name = String;};
3012 vcanadi =
2813 vcanadi =
3013− {email = String; github = String; githubId = Integer; name = String;};
2814+ {email = String; github = String; githubId = Number; name = String;};
3014 vcunat =
2815 vcunat =
3015 { email = String;
2816 { email = String;
3016 github = String;
2817 github = String;
3017− githubId = Integer;
2818+ githubId = Number;
3018 keys = [{fingerprint = String; longkeyid = String;}];
2819 keys = [{fingerprint = String; longkeyid = String;}];
3019 name = String;
2820 name = String;
3020 };
2821 };
3021 vdemeester =
2822 vdemeester =
3022− {email = String; github = String; githubId = Integer; name = String;};
2823+ {email = String; github = String; githubId = Number; name = String;};
3023 veehaitch =
2824 veehaitch =
3024 { email = String;
2825 { email = String;
3025 github = String;
2826 github = String;
3026− githubId = Integer;
2827+ githubId = Number;
3027 keys = [{fingerprint = String; longkeyid = String;}];
2828 keys = [{fingerprint = String; longkeyid = String;}];
3028 name = String;
2829 name = String;
3029 };
2830 };
3030 velovix =
2831 velovix =
3031− {email = String; github = String; githubId = Integer; name = String;};
2832+ {email = String; github = String; githubId = Number; name = String;};
3032− veprbl =
3033− {email = String; github = String; githubId = Integer; name = String;};
2833+ veprbl = {email = String; github = String; githubId = Number; name = String;};
3034 vidbina =
2834 vidbina =
3035− {email = String; github = String; githubId = Integer; name = String;};
2835+ {email = String; github = String; githubId = Number; name = String;};
3036− vifino =
3037− {email = String; github = String; githubId = Integer; name = String;};
2836+ vifino = {email = String; github = String; githubId = Number; name = String;};
3038 vika_nezrimaya =
2837 vika_nezrimaya =
3039 { email = String;
2838 { email = String;
3040 github = String;
2839 github = String;
3041− githubId = Integer;
2840+ githubId = Number;
3042 keys = [{fingerprint = String; longkeyid = String;}];
2841 keys = [{fingerprint = String; longkeyid = String;}];
3043 name = String;
2842 name = String;
3044 };
2843 };
3045 vincentbernat =
2844 vincentbernat =
3046 { email = String;
2845 { email = String;
3047 github = String;
2846 github = String;
3048− githubId = Integer;
2847+ githubId = Number;
3049 keys = [{fingerprint = String; longkeyid = String;}];
2848 keys = [{fingerprint = String; longkeyid = String;}];
3050 name = String;
2849 name = String;
3051 };
2850 };
3052 vinymeuh =
2851 vinymeuh =
3053− {email = String; github = String; githubId = Integer; name = String;};
2852+ {email = String; github = String; githubId = Number; name = String;};
3054− viric = {email = String; github = String; githubId = Integer; name = String;};
2853+ viric = {email = String; github = String; githubId = Number; name = String;};
3055 virusdave =
2854 virusdave =
3056− {email = String; github = String; githubId = Integer; name = String;};
2855+ {email = String; github = String; githubId = Number; name = String;};
3057 vizanto =
2856 vizanto =
3058− {email = String; github = String; githubId = Integer; name = String;};
2857+ {email = String; github = String; githubId = Number; name = String;};
3059 vklquevs =
2858 vklquevs =
3060− {email = String; github = String; githubId = Integer; name = String;};
2859+ {email = String; github = String; githubId = Number; name = String;};
3061− vlaci = {email = String; github = String; githubId = Integer; name = String;};
2860+ vlaci = {email = String; github = String; githubId = Number; name = String;};
3062 vlstill =
2861 vlstill =
3063− {email = String; github = String; githubId = Integer; name = String;};
2862+ {email = String; github = String; githubId = Number; name = String;};
3064 vmandela =
2863 vmandela =
3065− {email = String; github = String; githubId = Integer; name = String;};
2864+ {email = String; github = String; githubId = Number; name = String;};
3066 vmchale =
2865 vmchale =
3067− {email = String; github = String; githubId = Integer; name = String;};
2866+ {email = String; github = String; githubId = Number; name = String;};
3068 voidless =
2867 voidless =
3069− {email = String; github = String; githubId = Integer; name = String;};
2868+ {email = String; github = String; githubId = Number; name = String;};
3070 volhovm =
2869 volhovm =
3071− {email = String; github = String; githubId = Integer; name = String;};
2870+ {email = String; github = String; githubId = Number; name = String;};
3072− volth = {email = String; github = String; githubId = Integer; name = String;};
2871+ volth = {email = String; github = String; githubId = Number; name = String;};
3073 vozz = {email = String; name = String;};
2872 vozz = {email = String; name = String;};
3074− vrthra =
3075− {email = String; github = String; githubId = Integer; name = String;};
2873+ vrthra = {email = String; github = String; githubId = Number; name = String;};
3076 vskilet =
2874 vskilet =
3077− {email = String; github = String; githubId = Integer; name = String;};
2875+ {email = String; github = String; githubId = Number; name = String;};
3078 vyorkin =
2876 vyorkin =
3079− {email = String; github = String; githubId = Integer; name = String;};
2877+ {email = String; github = String; githubId = Number; name = String;};
3080− vyp = {email = String; github = String; githubId = Integer; name = String;};
2878+ vyp = {email = String; github = String; githubId = Number; name = String;};
3081 waiting-for-dev =
2879 waiting-for-dev =
3082− {email = String; github = String; githubId = Integer; name = String;};
2880+ {email = String; github = String; githubId = Number; name = String;};
3083 wamserma =
2881 wamserma =
3084− {email = String; github = String; githubId = Integer; name = String;};
2882+ {email = String; github = String; githubId = Number; name = String;};
3085− waynr = {email = String; github = String; githubId = Integer; name = String;};
2883+ waynr = {email = String; github = String; githubId = Number; name = String;};
3086 wchresta =
2884 wchresta =
3087− {email = String; github = String; githubId = Integer; name = String;};
2885+ {email = String; github = String; githubId = Number; name = String;};
3088− wd15 = {email = String; github = String; githubId = Integer; name = String;};
2886+ wd15 = {email = String; github = String; githubId = Number; name = String;};
3089 wedens = {email = String; name = String;};
2887 wedens = {email = String; name = String;};
3090 willibutz =
2888 willibutz =
3091− {email = String; github = String; githubId = Integer; name = String;};
2889+ {email = String; github = String; githubId = Number; name = String;};
3092 willtim = {email = String; name = String;};
2890 willtim = {email = String; name = String;};
3093 winden = {email = String; name = String;};
2891 winden = {email = String; name = String;};
3094− winpat =
3095− {email = String; github = String; githubId = Integer; name = String;};
2892+ winpat = {email = String; github = String; githubId = Number; name = String;};
3096 wishfort36 =
2893 wishfort36 =
3097− {email = String; github = String; githubId = Integer; name = String;};
2894+ {email = String; github = String; githubId = Number; name = String;};
3098 wizeman =
2895 wizeman =
3099− {email = String; github = String; githubId = Integer; name = String;};
2896+ {email = String; github = String; githubId = Number; name = String;};
3100− wjlroe =
3101− {email = String; github = String; githubId = Integer; name = String;};
2897+ wjlroe = {email = String; github = String; githubId = Number; name = String;};
3102 wmertens =
2898 wmertens =
3103− {email = String; github = String; githubId = Integer; name = String;};
2899+ {email = String; github = String; githubId = Number; name = String;};
3104 wnklmnn =
2900 wnklmnn =
3105− {email = String; github = String; githubId = Integer; name = String;};
2901+ {email = String; github = String; githubId = Number; name = String;};
3106− woffs = {email = String; github = String; githubId = Integer; name = String;};
2902+ woffs = {email = String; github = String; githubId = Number; name = String;};
3107 wohanley =
2903 wohanley =
3108− {email = String; github = String; githubId = Integer; name = String;};
2904+ {email = String; github = String; githubId = Number; name = String;};
3109− womfoo =
3110− {email = String; github = String; githubId = Integer; name = String;};
2905+ womfoo = {email = String; github = String; githubId = Number; name = String;};
3111 worldofpeace =
2906 worldofpeace =
3112− {email = String; github = String; githubId = Integer; name = String;};
2907+ {email = String; github = String; githubId = Number; name = String;};
3113− wscott =
3114− {email = String; github = String; githubId = Integer; name = String;};
2908+ wscott = {email = String; github = String; githubId = Number; name = String;};
3115 wucke13 =
2909 wucke13 =
3116− {email = String; github = String; githubId = Integer; name = String;};
2910+ {email = String; github = String; githubId = Number; name = String;};
3117 wulfsta =
2911 wulfsta =
3118− {email = String; github = String; githubId = Integer; name = String;};
2912+ {email = String; github = String; githubId = Number; name = String;};
3119− wykurz =
3120− {email = String; github = String; githubId = Integer; name = String;};
2913+ wykurz = {email = String; github = String; githubId = Number; name = String;};
3121− wyvie = {email = String; github = String; githubId = Integer; name = String;};
2914+ wyvie = {email = String; github = String; githubId = Number; name = String;};
3122 xaverdh =
2915 xaverdh =
3123− {email = String; github = String; githubId = Integer; name = String;};
2916+ {email = String; github = String; githubId = Number; name = String;};
3124 xavierzwirtz =
2917 xavierzwirtz =
3125− {email = String; github = String; githubId = Integer; name = String;};
2918+ {email = String; github = String; githubId = Number; name = String;};
3126− xbreak =
3127− {email = String; github = String; githubId = Integer; name = String;};
2919+ xbreak = {email = String; github = String; githubId = Number; name = String;};
3128− xe = {email = String; github = String; githubId = Integer; name = String;};
2920+ xe = {email = String; github = String; githubId = Number; name = String;};
3129− xeji = {email = String; github = String; githubId = Integer; name = String;};
2921+ xeji = {email = String; github = String; githubId = Number; name = String;};
3130− xfix = {email = String; github = String; githubId = Integer; name = String;};
2922+ xfix = {email = String; github = String; githubId = Number; name = String;};
3131 xiorcale =
2923 xiorcale =
3132− {email = String; github = String; githubId = Integer; name = String;};
2924+ {email = String; github = String; githubId = Number; name = String;};
3133 xnaveira =
2925 xnaveira =
3134− {email = String; github = String; githubId = Integer; name = String;};
2926+ {email = String; github = String; githubId = Number; name = String;};
3135− xnwdd = {email = String; github = String; githubId = Integer; name = String;};
2927+ xnwdd = {email = String; github = String; githubId = Number; name = String;};
3136− xrelkd =
3137− {email = String; github = String; githubId = Integer; name = String;};
2928+ xrelkd = {email = String; github = String; githubId = Number; name = String;};
3138− xurei = {email = String; github = String; githubId = Integer; name = String;};
2929+ xurei = {email = String; github = String; githubId = Number; name = String;};
3139− xvapx = {email = String; github = String; githubId = Integer; name = String;};
2930+ xvapx = {email = String; github = String; githubId = Number; name = String;};
3140 xwvvvvwx =
2931 xwvvvvwx =
3141− {email = String; github = String; githubId = Integer; name = String;};
2932+ {email = String; github = String; githubId = Number; name = String;};
3142− xzfc = {email = String; github = String; githubId = Integer; name = String;};
2933+ xzfc = {email = String; github = String; githubId = Number; name = String;};
3143− y0no = {email = String; github = String; githubId = Integer; name = String;};
2934+ y0no = {email = String; github = String; githubId = Number; name = String;};
3144− yarny = {email = String; github = String; githubId = Integer; name = String;};
2935+ yarny = {email = String; github = String; githubId = Number; name = String;};
3145− yarr = {email = String; github = String; githubId = Integer; name = String;};
2936+ yarr = {email = String; github = String; githubId = Number; name = String;};
3146 yegortimoshenko =
2937 yegortimoshenko =
3147− {email = String; github = String; githubId = Integer; name = String;};
2938+ {email = String; github = String; githubId = Number; name = String;};
3148− yesbox =
3149− {email = String; github = String; githubId = Integer; name = String;};
2939+ yesbox = {email = String; github = String; githubId = Number; name = String;};
3150 yevhenshymotiuk =
2940 yevhenshymotiuk =
3151− {email = String; github = String; githubId = Integer; name = String;};
2941+ {email = String; github = String; githubId = Number; name = String;};
3152 ylwghst =
2942 ylwghst =
3153− {email = String; github = String; githubId = Integer; name = String;};
2943+ {email = String; github = String; githubId = Number; name = String;};
3154 ymarkus =
2944 ymarkus =
3155− {email = String; github = String; githubId = Integer; name = String;};
2945+ {email = String; github = String; githubId = Number; name = String;};
3156 ymeister =
2946 ymeister =
3157− {email = String; github = String; githubId = Integer; name = String;};
2947+ {email = String; github = String; githubId = Number; name = String;};
3158− yochai =
3159− {email = String; github = String; githubId = Integer; name = String;};
2948+ yochai = {email = String; github = String; githubId = Number; name = String;};
3160 yorickvp =
2949 yorickvp =
3161− {email = String; github = String; githubId = Integer; name = String;};
2950+ {email = String; github = String; githubId = Number; name = String;};
3162− yrashk =
3163− {email = String; github = String; githubId = Integer; name = String;};
2951+ yrashk = {email = String; github = String; githubId = Number; name = String;};
3164− ysndr = {email = String; github = String; githubId = Integer; name = String;};
2952+ ysndr = {email = String; github = String; githubId = Number; name = String;};
3165 yuriaisaka =
2953 yuriaisaka =
3166− {email = String; github = String; githubId = Integer; name = String;};
2954+ {email = String; github = String; githubId = Number; name = String;};
3167 yurrriq =
2955 yurrriq =
3168− {email = String; github = String; githubId = Integer; name = String;};
2956+ {email = String; github = String; githubId = Number; name = String;};
3169 yusdacra =
2957 yusdacra =
3170 { email = String;
2958 { email = String;
3171 github = String;
2959 github = String;
3172− githubId = Integer;
2960+ githubId = Number;
3173 keys = [{fingerprint = String; longkeyid = String;}];
2961 keys = [{fingerprint = String; longkeyid = String;}];
3174 name = String;
2962 name = String;
3175 };
2963 };
3176− yvesf = {email = String; github = String; githubId = Integer; name = String;};
2964+ yvesf = {email = String; github = String; githubId = Number; name = String;};
3177− yvt = {email = String; github = String; githubId = Integer; name = String;};
2965+ yvt = {email = String; github = String; githubId = Number; name = String;};
3178 zachcoyle =
2966 zachcoyle =
3179− {email = String; github = String; githubId = Integer; name = String;};
2967+ {email = String; github = String; githubId = Number; name = String;};
3180− zagy = {email = String; github = String; githubId = Integer; name = String;};
2968+ zagy = {email = String; github = String; githubId = Number; name = String;};
3181− zakkor =
3182− {email = String; github = String; githubId = Integer; name = String;};
2969+ zakkor = {email = String; github = String; githubId = Number; name = String;};
3183 zalakain =
2970 zalakain =
3184− {email = String; github = String; githubId = Integer; name = String;};
2971+ {email = String; github = String; githubId = Number; name = String;};
3185 zaninime =
2972 zaninime =
3186− {email = String; github = String; githubId = Integer; name = String;};
2973+ {email = String; github = String; githubId = Number; name = String;};
3187 zarelit =
2974 zarelit =
3188− {email = String; github = String; githubId = Integer; name = String;};
2975+ {email = String; github = String; githubId = Number; name = String;};
3189 zauberpony =
2976 zauberpony =
3190− {email = String; github = String; githubId = Integer; name = String;};
2977+ {email = String; github = String; githubId = Number; name = String;};
3191 zef = {email = String; name = String;};
2978 zef = {email = String; name = String;};
3192 zeratax =
2979 zeratax =
3193 { email = String;
2980 { email = String;
3194 github = String;
2981 github = String;
3195− githubId = Integer;
2982+ githubId = Number;
3196 keys = [{fingerprint = String; longkeyid = String;}];
2983 keys = [{fingerprint = String; longkeyid = String;}];
3197 name = String;
2984 name = String;
3198 };
2985 };
3199− zfnmxt =
3200− {email = String; github = String; githubId = Integer; name = String;};
2986+ zfnmxt = {email = String; github = String; githubId = Number; name = String;};
3201 zgrannan =
2987 zgrannan =
3202− {email = String; github = String; githubId = Integer; name = String;};
2988+ {email = String; github = String; githubId = Number; name = String;};
3203 zimbatm =
2989 zimbatm =
3204− {email = String; github = String; githubId = Integer; name = String;};
2990+ {email = String; github = String; githubId = Number; name = String;};
3205− zohl = {email = String; github = String; githubId = Integer; name = String;};
2991+ zohl = {email = String; github = String; githubId = Number; name = String;};
3206 zokrezyl =
2992 zokrezyl =
3207− {email = String; github = String; githubId = Integer; name = String;};
2993+ {email = String; github = String; githubId = Number; name = String;};
3208 zookatron =
2994 zookatron =
3209− {email = String; github = String; githubId = Integer; name = String;};
2995+ {email = String; github = String; githubId = Number; name = String;};
3210 zoomulator =
2996 zoomulator =
3211− {email = String; github = String; githubId = Integer; name = String;};
2997+ {email = String; github = String; githubId = Number; name = String;};
3212− zowoq = {email = String; github = String; githubId = Integer; name = String;};
2998+ zowoq = {email = String; github = String; githubId = Number; name = String;};
3213− zraexy =
3214− {email = String; github = String; githubId = Integer; name = String;};
2999+ zraexy = {email = String; github = String; githubId = Number; name = String;};
3215− zx2c4 = {email = String; github = String; githubId = Integer; name = String;};
3000+ zx2c4 = {email = String; github = String; githubId = Number; name = String;};
3216 zzamboni =
3001 zzamboni =
3217− {email = String; github = String; githubId = Integer; name = String;};
3002+ {email = String; github = String; githubId = Number; name = String;};
3218}
3003}
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+4−6
@@ -14,9 +14,9 @@
14 { interfaces =
14 { interfaces =
15 { eth1 =
15 { eth1 =
16 { ipv4 =
16 { ipv4 =
17− {addresses = [{address = γ; prefixLength = Integer;}];};
17+ {addresses = [{address = γ; prefixLength = Number;}];};
18 ipv6 =
18 ipv6 =
19− {addresses = [{address = δ; prefixLength = Integer;}];};
19+ {addresses = [{address = δ; prefixLength = Number;}];};
20 };
20 };
21 };
21 };
22 useDHCP = Bool;
22 useDHCP = Bool;
@@ -39,10 +39,8 @@
39 networking =
39 networking =
40 { interfaces =
40 { interfaces =
41 { eth1 =
41 { eth1 =
42− { ipv4 =
43− {addresses = [{address = γ; prefixLength = Integer;}];};
42+ { ipv4 = {addresses = [{address = γ; prefixLength = Number;}];};
44− ipv6 =
45− {addresses = [{address = δ; prefixLength = Integer;}];};
43+ ipv6 = {addresses = [{address = δ; prefixLength = Number;}];};
46 };
44 };
47 };
45 };
48 useDHCP = Bool;
46 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 = [Path];
17+ patches = [String];
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.txtdeleted−56
@@ -1,56 +0,0 @@
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+17−20
@@ -1,24 +1,21 @@
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− }
17− ) //
16+ } //
18− ( γ
17+ γ ~
19− ) ~
20− ( δ
18+ δ,
21− ),
22 γ.?doCheckstyle = Bool,
19 γ.?doCheckstyle = Bool,
23 γ.?doJavadoc = Bool,
20 γ.?doJavadoc = Bool,
24 γ.?doRelease = Bool,
21 γ.?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− Path ->
4+ String ->
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.txtdeleted−53
@@ -1,53 +0,0 @@
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 = Integer;
18+ RestartSec = Number;
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.txtnew file+15
@@ -0,0 +1,15 @@
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 = Integer;
12+ port = Number;
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−[Path]
1+[String]
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 = Path;
5+ builder = String;
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+9−12
@@ -1,16 +1,13 @@
1∀ ε ζ η θ ι κ λ μ ν ξ ο.
1∀ ε ζ η θ ι κ λ μ ν ξ ο.
2−( ( ε
2+( ε //
3− ) //
4− ( { buildInputs = [ζ];
3+ { buildInputs = [ζ];
5− buildPhase = η;
4+ buildPhase = η;
6− configurePhase = θ;
5+ configurePhase = θ;
7− installPhase = String;
6+ installPhase = String;
8− name = ι;
7+ name = ι;
9− pluginType = κ;
8+ pluginType = κ;
10− }
9+ } ~
11− ) ~
12− ( λ
10+ λ,
13− ),
14 μ.?buildInputs = [ζ],
11 μ.?buildInputs = [ζ],
15 ν.stdenv = ξ,
12 ν.stdenv = ξ,
16 ν.unzip = ζ,
13 ν.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 = Integer;
19+ RestartSec = Number;
20− StartLimitBurst = Integer;
20+ StartLimitBurst = Number;
21− StartLimitIntervalSec = Integer;
21+ StartLimitIntervalSec = Number;
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 = Path -> {storeContents = κ;} -> λ,
10+ δ.callPackage = String -> {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 = Integer;};
37+ loader = {grub = {enable = Bool;}; timeout = Number;};
38 postBootCommands = String;
38 postBootCommands = String;
39 };
39 };
40 environment = {systemPackages = [μ];};
40 environment = {systemPackages = [μ];};
test/golden/importless/networkmanager-qt.txtnew file+15
@@ -0,0 +1,15 @@
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 = Path;
13+ goDeps = String;
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 = Path;
10+ goDeps = String;
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− Path ->
24+ String ->
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 = ζ -> Path -> {} -> η;
32+ newScope = ζ -> String -> {} -> η;
33 pkgs = β;
33 pkgs = β;
34} ->
34} ->
35ι
35ι
test/golden/importless/node.txt+3−2
@@ -1,7 +1,8 @@
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+ ζ,
5 δ.types = η,
6 δ.types = η,
6 γ.prometheus = θ,
7 γ.prometheus = θ,
7 θ.exporters = ι,
8 θ.exporters = ι,
@@ -13,7 +14,7 @@
13) =>
14) =>
14{config = β; lib = δ; options = ρ; pkgs = σ;} ->
15{config = β; lib = δ; options = ρ; pkgs = σ;} ->
15{ extraOpts = {disabledCollectors = ζ; enabledCollectors = τ;};
16{ extraOpts = {disabledCollectors = ζ; enabledCollectors = τ;};
16− port = Integer;
17+ port = Number;
17 serviceOpts =
18 serviceOpts =
18 { serviceConfig =
19 { serviceConfig =
19 {DynamicUser = Bool; ExecStart = String; RuntimeDirectory = String;};
20 {DynamicUser = Bool; ExecStart = String; RuntimeDirectory = String;};
test/golden/importless/nscd.txtdeleted−62
@@ -1,62 +0,0 @@
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 = [Path];
14+ patches = [String];
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 = [Path];
17+ patches = [String];
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 = Path;
7+ setupHook = String;
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 = Path; maintainers = ξ;};
23+ meta = {doc = String; 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 = [Path];
22+ patches = [String];
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 = Path;
20+ goDeps = String;
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+2−1
@@ -3,7 +3,8 @@
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) ~ β
7) =>
8) =>
8{ gnatboot = Null;
9{ gnatboot = Null;
9 hostPlatform = δ;
10 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.txtnew file+17
@@ -0,0 +1,17 @@
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 = Path;
12+ goDeps = String;
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 = [Path];
6+ patches = [String];
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 = [Path];
8+ patches = [String];
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 = Integer;
16+ RestartSec = Number;
17 };
17 };
18 };
18 };
19 };
19 };
test/golden/importless/qemu.txtnew file+49
@@ -0,0 +1,49 @@
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+15−18
@@ -1,25 +1,22 @@
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ.
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ.
2−( ( β
2+( β //
3− ) //
4− ( { meta = ∀ α. α;
3+ { meta = ∀ α. α;
5− name = String;
4+ name = String;
6− nativeBuildInputs = [γ];
5+ nativeBuildInputs = [γ];
7− outputs = [String];
6+ outputs = [String];
8− patches = δ;
7+ patches = [δ];
9− postFixup = String;
8+ postFixup = String;
10− preConfigure = String;
9+ preConfigure = String;
11− preHook = String;
10+ preHook = String;
12− propagatedBuildInputs = [ε];
11+ propagatedBuildInputs = [ε];
13− setOutputFlags = Bool;
12+ setOutputFlags = Bool;
14− src = ζ;
13+ src = ζ;
15− }
14+ } ~
16− ) ~
17− ( η
15+ η,
18− ),
19 β.?meta = {},
16 β.?meta = {},
20 β.?nativeBuildInputs = [γ],
17 β.?nativeBuildInputs = [γ],
21 β.?outputs = [String],
18 β.?outputs = [String],
22− β.?patches = δ,
19+ β.?patches = [δ],
23 β.?propagatedBuildInputs = [ε],
20 β.?propagatedBuildInputs = [ε],
24 β.?setOutputFlags = Bool,
21 β.?setOutputFlags = Bool,
25 β.?src = ζ,
22 β.?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+2−1
@@ -1,2 +1,3 @@
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 = Integer;
61+ stripLen = Number;
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 = Path;
11+ { goDeps = String;
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 = Path;
10+ src = String;
11 } ->
11 } ->
12 η,
12 η,
13 β.bash = δ,
13 β.bash = δ,
test/golden/importless/rebar3-release.txt+16−19
@@ -1,23 +1,20 @@
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− }
16− ) //
15+ } //
17− ( λ
16+ λ ~
18− ) ~
19− ( γ
17+ γ,
20− ),
21 β.?buildInputs = [ε],
18 β.?buildInputs = [ε],
22 β.?buildPhase = Null,
19 β.?buildPhase = Null,
23 β.?checkouts = Null,
20 β.?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 = Path;
17+ goDeps = String;
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 = Integer; serviceOpts = {serviceConfig = {ExecStart = String;};};}
8+{port = Number; 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 = [Path];
17+ patches = [String];
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 = δ -> Integer,
5+ α.stringLength = δ -> Number,
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 = Integer;
7+ RUSTC_BOOTSTRAP = Number;
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 = Integer;
18+ RestartSec = Number;
19− StartLimitBurst = Integer;
19+ StartLimitBurst = Number;
20− StartLimitInterval = Integer;
20+ StartLimitInterval = Number;
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 = [Path];
11+ patches = [String];
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 = [Path];
13+ patches = [String];
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+10−13
@@ -1,17 +1,14 @@
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π.
1∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π.
2−( ( β
2+( β //
3− ) //
4− ( { sdk =
3+ { sdk =
5− { name = String;
4+ { name = String;
6− outPath = String;
5+ outPath = String;
7− platform = γ;
6+ platform = γ;
8− type = String;
7+ type = String;
9− version = δ;
8+ version = δ;
10− };
9+ };
11− }
12− ) ~
10+ } ~
13− ( ε
11+ ε,
14− ),
15 ζ.sdkVer = δ,
12 ζ.sdkVer = δ,
16 ζ.xcodePlatform = γ,
13 ζ.xcodePlatform = γ,
17 η.lib = θ,
14 η.lib = θ,
test/golden/importless/shadow.txt+8−11
@@ -1,15 +1,12 @@
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− }
8− ) //
7+ } //
9− ( β
8+ β ~
10− ) ~
11− ( γ
9+ γ,
12− ),
13 δ.config = ε,
10 δ.config = ε,
14 δ.lib = ζ,
11 δ.lib = ζ,
15 δ.pkgs = η,
12 δ.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 = [Path];
30+ patches = [String];
31 pname = String;
31 pname = String;
32 postInstall = String;
32 postInstall = String;
33 postPatch = String;
33 postPatch = String;
test/golden/importless/shiboken.txtnew file+43
@@ -0,0 +1,43 @@
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+2−1
@@ -15,6 +15,7 @@
15 μ,
15 μ,
16 θ.overrideAttrs = (ε -> {installPhase = String;}) -> λ,
16 θ.overrideAttrs = (ε -> {installPhase = String;}) -> λ,
17 η.singularity = ν,
17 η.singularity = ν,
18− ν.enable = κ
18+ ν.enable = κ,
19+ (String | Number) ~ ζ
19) =>
20) =>
20α -> {config = μ; options = {programs = {singularity = {enable = ι;};};};}
21α -> {config = μ; options = {programs = {singularity = {enable = ι;};};};}
test/golden/importless/skeinjar.txt+1−1
@@ -8,7 +8,7 @@
8 } ->
8 } ->
9 δ
9 δ
10) =>
10) =>
11−{ callPackage = Path -> {src = ε; version = ζ;} -> η;
11+{ callPackage = String -> {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+10−13
@@ -1,18 +1,15 @@
1∀ α β γ δ.
1∀ α β γ δ.
2−( ( α
2+( α //
3− ) //
4− ( { archive = String;
3+ { archive = String;
5− edition = String;
4+ edition = String;
6− pname = String;
5+ pname = String;
7− src = β;
6+ src = β;
8− suiteName = String;
7+ suiteName = String;
9− version = String;
8+ version = String;
10− }
9+ } ~
11− ) ~
12− ( γ
10+ γ,
13− ),
14 α.?officeVersion = {edition = String; sha256 = String; version = String;},
11 α.?officeVersion = {edition = String; sha256 = String; version = String;},
15− α.callPackage = Path -> γ -> δ,
12+ α.callPackage = String -> γ -> δ,
16 α.fetchurl = {sha256 = String; url = String;} -> β
13 α.fetchurl = {sha256 = String; url = String;} -> β
17) =>
14) =>
18α -> δ
15α -> δ
test/golden/importless/solid.txtnew file+20
@@ -0,0 +1,20 @@
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.txtnew file+16
@@ -0,0 +1,16 @@
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 = Integer;
21+ RestartSec = Number;
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 = [Path];
16+ patches = [String];
17 pname = String;
17 pname = String;
18 postInstall = String;
18 postInstall = String;
19 src = θ;
19 src = θ;
test/golden/importless/squeezelite.txt+12−14
@@ -1,12 +1,11 @@
1−∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ.
1+∀ α β γ δ ε ζ η θ ι κ λ μ.
2( α.config = β,
2( α.config = β,
3 α.lib = γ,
3 α.lib = γ,
4 α.pkgs = δ,
4 α.pkgs = δ,
5 β.services = ε,
5 β.services = ε,
6− γ.builtins = ζ,
7− γ.mkEnableOption = String -> η,
6+ γ.mkEnableOption = String -> ζ,
8 γ.mkIf =
7 γ.mkIf =
9− θ ->
8+ η ->
10 { systemd =
9 { systemd =
11 { services =
10 { services =
12 { squeezelite =
11 { squeezelite =
@@ -15,7 +14,7 @@
15 serviceConfig =
14 serviceConfig =
16 { DynamicUser = Bool;
15 { DynamicUser = Bool;
17 ExecStart = String;
16 ExecStart = String;
18− StateDirectory = ι;
17+ StateDirectory = String;
19 SupplementaryGroups = String;
18 SupplementaryGroups = String;
20 };
19 };
21 wantedBy = [String];
20 wantedBy = [String];
@@ -23,15 +22,14 @@
23 };
22 };
24 };
23 };
25 } ->
24 } ->
26− κ,
25+ θ,
27− γ.mkOption = {default = String; description = String; type = λ;} -> μ,
26+ γ.mkOption = {default = String; description = String; type = ι;} -> κ,
28− γ.types = ν,
27+ γ.types = λ,
29− ε.squeezelite = ξ,
28+ ε.squeezelite = μ,
30− ξ.enable = θ,
29+ μ.enable = η,
31− ζ.baseNameOf = String -> ι,
32− ν.str = λ
30+ λ.str = ι
33) =>
31) =>
34α ->
32α ->
35−{ config = κ;
33+{ config = θ;
36− options = {services = {squeezelite = {enable = η; extraArguments = μ;};};};
34+ options = {services = {squeezelite = {enable = ζ; extraArguments = κ;};};};
37}
35}
test/golden/importless/stable.txt+3−2
@@ -1,3 +1,4 @@
1∀ α β.
1∀ α β.
2−(α.callPackage = Path -> α -> {sha256 = String; version = String;} -> β) => α ->
2+( α.callPackage = String -> α -> {sha256 = String; version = String;} -> β
3+) =>
3−β
4+α -> β
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 = Path -> {} -> λ; stdenv = η; wineUnstable = ι;} -> γ
17+{callPackage = String -> {} -> λ; 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 = [Path];
15+ patches = [String];
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 = Integer;
12+ port = Number;
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.txtnew file+16
@@ -0,0 +1,16 @@
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+5−7
@@ -16,18 +16,16 @@
16 description = String;
16 description = String;
17 serviceConfig =
17 serviceConfig =
18 { CacheDirectory = String;
18 { CacheDirectory = String;
19− CacheDirectoryMode = Integer;
19+ CacheDirectoryMode = Number;
20 ExecStart = String;
20 ExecStart = String;
21 Restart = String;
21 Restart = String;
22 RuntimeDirectory = String;
22 RuntimeDirectory = String;
23− RuntimeDirectoryMode = Integer;
23+ RuntimeDirectoryMode = Number;
24 StateDirectory = String;
24 StateDirectory = String;
25− StateDirectoryMode = Integer;
25+ StateDirectoryMode = Number;
26 };
26 };
27 unitConfig =
27 unitConfig =
28− { StartLimitBurst = Integer;
29− StartLimitIntervalSec = Integer;
28+ {StartLimitBurst = Number; StartLimitIntervalSec = Number;};
30− };
31 wantedBy = [String];
29 wantedBy = [String];
32 wants = [String];
30 wants = [String];
33 };
31 };
@@ -35,7 +33,7 @@
35 };
33 };
36 } ->
34 } ->
37 κ,
35 κ,
38− γ.mkOption = {default = Integer; description = String; type = λ;} -> μ,
36+ γ.mkOption = {default = Number; description = String; type = λ;} -> μ,
39 γ.types = ν,
37 γ.types = ν,
40 ε.tailscale = ξ,
38 ε.tailscale = ξ,
41 ξ.enable = ι,
39 ξ.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 = Integer;};
45+ socketConfig = {Accept = Bool; ListenStream = Number;};
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 = [Path];
20+ patches = [String];
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 = Integer; b = String; c = String; d = String;}
1+{a = Number; 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.txtnew file+14
@@ -0,0 +1,14 @@
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 = Integer; readers = String;};
34+ example = {credentials = String; port = Number; 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 = [Path];
20+ patches = [String];
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 = Integer;
21+ RestartSec = Number;
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 = Integer; description = String; type = λ;} -> μ,
41+ γ.mkOption = {default = Number; 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 = Path;} -> ι;
19+ substituteAll = {isExecutable = Bool; shell = ζ; src = String;} -> ι;
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 = [Path];
15+ patches = [String];
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.txtnew file+12
@@ -0,0 +1,12 @@
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 = Integer;
18+ Nice = Number;
19 NoNewPrivileges = String;
19 NoNewPrivileges = String;
20 PrivateNetwork = String;
20 PrivateNetwork = String;
21 PrivateTmp = String;
21 PrivateTmp = String;
test/golden/importless/urserver.txt+2−4
@@ -7,9 +7,7 @@
7 γ.mkIf =
7 γ.mkIf =
8 η ->
8 η ->
9 { networking =
9 { networking =
10− { firewall =
11− {allowedTCPPorts = [Integer]; allowedUDPPorts = [Integer];};
10+ {firewall = {allowedTCPPorts = [Number]; allowedUDPPorts = [Number];};};
12− };
13 systemd =
11 systemd =
14 { user =
12 { user =
15 { services =
13 { services =
@@ -21,7 +19,7 @@
21 { ExecStart = String;
19 { ExecStart = String;
22 ExecStop = String;
20 ExecStop = String;
23 Restart = String;
21 Restart = String;
24− RestartSec = Integer;
22+ RestartSec = Number;
25 Type = String;
23 Type = String;
26 };
24 };
27 wantedBy = [String];
25 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 = Integer;
9+ uid = Number;
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− Path ->
3+ String ->
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− Path ->
3+ String ->
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− Path ->
3+ String ->
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− Path ->
6+ String ->
7 {CoreFoundation = ε; Security = ζ; boost = η; cctools = θ; sasl = ι;} ->
7 {CoreFoundation = ε; Security = ζ; boost = η; cctools = θ; sasl = ι;} ->
8− {license = δ; patches = [Path]; sha256 = String; version = String;} -> κ;
8+ {license = δ; patches = [String]; 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 = β -> [Path] -> [Path]
4+ γ.optionals = β -> [String] -> [String]
5) =>
5) =>
6{ CoreFoundation = δ;
6{ CoreFoundation = δ;
7 Security = ε;
7 Security = ε;
8 boost = ζ;
8 boost = ζ;
9 callPackage =
9 callPackage =
10− Path ->
10+ String ->
11 {CoreFoundation = δ; Security = ε; boost = ζ; cctools = η; sasl = θ;} ->
11 {CoreFoundation = δ; Security = ε; boost = ζ; cctools = η; sasl = θ;} ->
12− {patches = [Path]; sha256 = String; version = String;} -> ι;
12+ {patches = [String]; 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 = β -> [Path] -> [Path]
4+ γ.optionals = β -> [String] -> [String]
5) =>
5) =>
6{ CoreFoundation = δ;
6{ CoreFoundation = δ;
7 Security = ε;
7 Security = ε;
8 boost = ζ;
8 boost = ζ;
9 callPackage =
9 callPackage =
10− Path ->
10+ String ->
11 {CoreFoundation = δ; Security = ε; boost = ζ; cctools = η; sasl = θ;} ->
11 {CoreFoundation = δ; Security = ε; boost = ζ; cctools = η; sasl = θ;} ->
12− {patches = [Path]; sha256 = String; version = String;} -> ι;
12+ {patches = [String]; 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 = β -> [Path] -> [Path]
4+ γ.optionals = β -> [String] -> [String]
5) =>
5) =>
6{ CoreFoundation = δ;
6{ CoreFoundation = δ;
7 Security = ε;
7 Security = ε;
8 boost = ζ;
8 boost = ζ;
9 callPackage =
9 callPackage =
10− Path ->
10+ String ->
11 {CoreFoundation = δ; Security = ε; boost = ζ; cctools = η; sasl = θ;} ->
11 {CoreFoundation = δ; Security = ε; boost = ζ; cctools = η; sasl = θ;} ->
12− {patches = [Path]; sha256 = String; version = String;} -> ι;
12+ {patches = [String]; 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 = Integer -> String -> θ,
10+ γ.mkOverride = Number -> 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 = Integer -> [String] -> π,
35+ γ.mkOverride = Number -> [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+3−2
@@ -7,14 +7,15 @@
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) ~ η
18) =>
19) =>
19β ->
20β ->
20{ config = {powerManagement = {powerDownCommands = ι;};};
21{ 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 = Path -> {} -> ι;
24+ callPackage = String -> {} -> ι;
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+9−12
@@ -1,15 +1,12 @@
1∀ α β γ.
1∀ α β γ.
2−( ( α
2+( α //
3− ) //
4− ( { brand = String;
3+ { brand = String;
5− homepage = String;
4+ homepage = String;
6− sha256 = String;
5+ sha256 = String;
7− type = String;
6+ type = String;
8− version = String;
7+ version = String;
9− }
8+ } ~
10− ) ~
11− ( β
9+ β,
12− ),
13− α.callPackage = Path -> β -> γ
10+ α.callPackage = String -> β -> γ
14) =>
11) =>
15α -> γ
12α -> γ
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 = Integer;};};
5+ loader = {grub = {device = String; version = Number;};};
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.txtdeleted−54
@@ -1,54 +0,0 @@
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 = Integer;}
1+∀ α. {a = α; b = α;} -> {bar = [α]; baz = Number;}
test/golden/mine/curry.txt+1−1
@@ -1 +1 @@
1−∀ α. {f = Integer -> String -> α;} -> α
1+∀ α. {f = Number -> 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 = Integer;};};}
3+{config = {set = {value = Number;};};}
test/golden/mine/inftype.txt+1−1
@@ -1 +1 @@
1−∀ α β γ. ((α) // ({a = Integer;}) ~ (β), α.f = β -> γ) => α -> γ
1+∀ α β γ. (α // {a = Number;} ~ β, α.f = β -> γ) => α -> γ
test/golden/mine/nums.nixnew file+5
@@ -0,0 +1,5 @@
1+rec {
2+ f = x: y: x + y;
3+ a = f 1 2;
4+ b = f 1.1 1;
5+}
test/golden/mine/nums.txtnew file+1
@@ -0,0 +1 @@
1+{a = Number; b = Number; f = ∀ α. ((String | Number) ~ α) => α -> α -> α;}
test/golden/mine/other.txt+1−1
@@ -1 +1 @@
1−{f = ∀ α β. (α.y = β) => α -> β; out = Integer;}
1+{f = ∀ α β. (α.y = β) => α -> β; out = Number;}
test/golden/mine/other_row.txt+3−3
@@ -1,5 +1,5 @@
1−{ a = Integer;
1+{ a = Number;
2− b = Integer;
2+ b = Number;
3− f = ∀ α. (α.y = Integer) => α -> Integer;
3+ f = ∀ α. (α.y = Number) => α -> Number;
4 g = ∀ α β. (α.y = β) => α -> β;
4 g = ∀ α β. (α.y = β) => α -> β;
5}
5}
test/golden/mine/polyApply.txt+1−1
@@ -1 +1 @@
1−{a = Integer; f = ∀ α. α -> α;}
1+{a = Number; f = ∀ α. α -> α;}
test/golden/mine/row.nixdeleted−5
@@ -1,5 +0,0 @@
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 = β) => α -> β;
1+{ f = ∀ α β. (α.a = β, α.b = β, (String | Number) ~ β) => α -> β;
2− g = ∀ α. {a = α; b = α;} -> α;
2+ g = ∀ α. ((String | Number) ~ α) => {a = α; b = α;} -> α;
3− h = ∀ α β. (α.a = β, α.b = β) => α -> β;
3+ h = ∀ α β. (α.a = β, α.b = β, (String | Number) ~ β) => α -> β;
4}
4}
test/golden/mine/subsumption_other.nixnew file+5
@@ -0,0 +1,5 @@
1+rec {
2+ f = u: u 1;
3+ g = x: x;
4+ a = f g;
5+}
test/golden/mine/subsumption_other.txtnew file+1
@@ -0,0 +1 @@
1+{a = Number; f = ∀ α. (Number -> α) -> α; g = ∀ α. α -> α;}
test/golden/mine/unionfs.nixdeleted−21
@@ -1,21 +0,0 @@
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+4−1
@@ -1 +1,4 @@
1+{ a = Number;
2+ b = Number;
1−{a = Integer; b = Integer; f = ∀ α β. (α.a = β, α.b = β) => α -> β;}
3+ f = ∀ α β. (α.a = β, α.b = β, (String | Number) ~ β) => α -> β;
4+}
test/golden/mine/with.txt+1−1
@@ -1 +1 @@
1−{f = Integer -> Integer; foo = Integer;}
1+{f = Number -> Number; foo = Number;}