<!-- SPDX-FileCopyrightText: 2024 Jummit <jummit@web.de> SPDX-License-Identifier: CC0-1.0 --> # Impy Small implementation of the [Imp language](https://www.scattered-thoughts.net/writing/imp-sets-and-funs/) by [Jamie Brandon](https://www.scattered-thoughts.net/). This is in no way useful or feature complete, I made it because I found the language concept fascinating and wanted to give implementing it a try. Nonetheless, the goal of this project is a standalone package which could be embedded in projects which could make use of a little query language. **Example:** ```imp let rooms = 1 | 2 in let names = 1 x "house" | 2 x "street" in let tiles = 1 x "111000" | 2 x "000111" in rooms (room -> when (names room "street") then tiles room) ``` ## Installation ```sh make make install ``` This will install the `impy` binary to `/usr/bin`. To install somewhere else: ```sh PREFIX=~/.local make install ``` ## Development **Running the tests:** ```sh make test ``` When adding files, make sure to add the SPDX license identifier at the top. Run `reuse lint` to check REUSE compliance. ## License The code in this project is licensed under GPL-3.0-or-later. Assets like this readme are licensed under CC0.