dhall-lang / dhall-nethack Goto Github PK
View Code? Open in Web Editor NEWGenerate NetHack configurations using Dhall
Generate NetHack configurations using Dhall
Hi!
As per current international law, unless a project has a license of some sort, there is no right to copy and/or modify for anyone except the copyright holder (typically the author) and those whom the copyright holder has given a license to.
Please add a free software license so that we could learn and build upon this example.
Thank you in advance.
I think I understood the structure of these examples, but one thing that comes up often in practice: versioned configuration.
That is, the program in question changes the types of some fields, removes some fields, adds some fields …
How would I write a dhall config that can handle this? Where the user should (if possible) be able to import a dhall file that corresponds to the version of the program one wants to generate the config for, and dhall will typecheck for that version number.
Of course on the dhall side there should be as little duplication as possible.
I'm new to Dhall and just found this repo, which looks like a great way to learn Dhall. Thanks!
It looks like the example from the quickstart doesn't work (anymore). The error I get:
dhall:
Error: Failed to resolve imports. Error list:
↳ ./toNetHack.dhall
↳ ./render/Config.dhall
↳ ./Prelude.dhall
↳ env:DHALL_PRELUDE
Error: Missing environment variable
↳ DHALL_PRELUDE
↳ ./toNetHack.dhall
↳ ./render/Config.dhall
↳ ./Prelude.dhall
↳ https://raw.githubusercontent.com/dhall-lang/dhall-lang/v8.0.0/Prelude/package.dhall sha256:0c04cbe34f1f2d408e8c8b8cb0aa3ff4d5656336910f7e86190a6d14326f966d
↳ https://raw.githubusercontent.com/dhall-lang/dhall-lang/v8.0.0/Prelude/Optional/package.dhall sha256:36a366af67a3c26cd5d196e095d3023f18953c5b5db3a03956fa554609e5442a
↳ https://raw.githubusercontent.com/dhall-lang/dhall-lang/v8.0.0/Prelude/Optional/all sha256:b9b015fe8be14da940901aa1510ee1d5e205df37ee651c32ac975a799782c410
Error: Unbound variable: Optional/fold
18│ Optional/fold
and then a whole lot of other unbound Optional/fold
.
I updated the Prelude version in ./Prelude.dhall
, but then I still got an error:
dhall text --file './example.dhall'
dhall:
↳ ./toNetHack.dhall
↳ ./render/Config.dhall
↳ ./render/Disclose.dhall
Error: Unbound variable: Optional/fold
10│ Optional/fold
/Users/niels.uitdebos/git/playground/dhall/dhall-nethack/render/Disclose.dhall:10:9
88│ ./Disclose.dhall
/Users/niels.uitdebos/git/playground/dhall/dhall-nethack/render/Config.dhall:88:47
but those were all the errors I got.
The file examples/small.dhall
does seem to work, but it doesn't use toNetHack
.
I'm on Mac and dhall version
returns 1.34.0
(latest, it looks like).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.