{"action":"created","comment":{"url":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/comments/173863345","pull_request_review_id":103122445,"id":173863345,"diff_hunk":"@@ -0,0 +1,56 @@\n+- infos = Information about the typechecker plugin is in keys below\n+- infos/author = e1528532 <e1528532@libelektra.org>\n+- infos/licence = BSD\n+- infos/needs = \n+- infos/provides = typechecker\n+- infos/recommends =\n+- infos/placements = postgetstorage presetstorage\n+- infos/status = maintained experimental global\n+- infos/metadata =\n+- infos/description = a plugin which typechecks configuration specifications\n+\n+## Introduction\n+\n+A plugin which typechecks specifications before setting keys and after getting keys from\n+a mounted specification. \n+\n+## Usage\n+\n+In order to use the type checker, mount a configuration specification along with this\n+plugin. \n+\n+`kdb mount <specification> spec/<path> <storage plugin to read the specification> typechecker`","path":"src/plugins/typechecker/README.md","position":22,"original_position":22,"commit_id":"b6c5988e880aa22d0117f0970ce4a45f6cc6a72c","original_commit_id":"51278778a5a658a536e283cae2fc6d4ff593c190","user":{"login":"e1528532","id":20668582,"avatar_url":"https://avatars1.githubusercontent.com/u/20668582?v=4","gravatar_id":"","url":"https://api.github.com/users/e1528532","html_url":"https://github.com/e1528532","followers_url":"https://api.github.com/users/e1528532/followers","following_url":"https://api.github.com/users/e1528532/following{/other_user}","gists_url":"https://api.github.com/users/e1528532/gists{/gist_id}","starred_url":"https://api.github.com/users/e1528532/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/e1528532/subscriptions","organizations_url":"https://api.github.com/users/e1528532/orgs","repos_url":"https://api.github.com/users/e1528532/repos","events_url":"https://api.github.com/users/e1528532/events{/privacy}","received_events_url":"https://api.github.com/users/e1528532/received_events","type":"User","site_admin":false},"body":"Interesting, i can't reproduce this in my debian stretch. I knew i tried it there once 🤔 \r\nI have the same ghc, cabal and c2hs versions as you do. The error seems to happen inside some ghc-internal library which is odd. The internal libraries are shipped with ghc so they should be the same as the ones i have. Lets look into that when we meetup on thu.\r\n\r\nI have identified an issue when i renamed the keys though, that should be fixed and i get some useable results in my debian again.\r\n\r\nI agree the docu is very minimalistic, i want to avoid the effort of writing too much docu yet while the underlying system might still change a bit so my intention was to do that when the formalization is fixed and final. So for demonstration purposes i have only included this simpleTestSpecification.ini to show the basic principle.\r\n\r\nSome shell recorder tests seem to be a very good idea for the future, but as i said i wanted to avoid too much work on that while the underlying specification is still not final. They are definitely useful for both demonstration and testing though!","created_at":"2018-03-12T16:37:38Z","updated_at":"2018-03-12T16:37:38Z","html_url":"https://github.com/ElektraInitiative/libelektra/pull/1792#discussion_r173863345","pull_request_url":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/1792","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/comments/173863345"},"html":{"href":"https://github.com/ElektraInitiative/libelektra/pull/1792#discussion_r173863345"},"pull_request":{"href":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/1792"}},"in_reply_to_id":173756421},"pull_request":{"url":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/1792","id":164868663,"html_url":"https://github.com/ElektraInitiative/libelektra/pull/1792","diff_url":"https://github.com/ElektraInitiative/libelektra/pull/1792.diff","patch_url":"https://github.com/ElektraInitiative/libelektra/pull/1792.patch","issue_url":"https://api.github.com/repos/ElektraInitiative/libelektra/issues/1792","number":1792,"state":"open","locked":false,"title":"Typechecker prototype","user":{"login":"e1528532","id":20668582,"avatar_url":"https://avatars1.githubusercontent.com/u/20668582?v=4","gravatar_id":"","url":"https://api.github.com/users/e1528532","html_url":"https://github.com/e1528532","followers_url":"https://api.github.com/users/e1528532/followers","following_url":"https://api.github.com/users/e1528532/following{/other_user}","gists_url":"https://api.github.com/users/e1528532/gists{/gist_id}","starred_url":"https://api.github.com/users/e1528532/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/e1528532/subscriptions","organizations_url":"https://api.github.com/users/e1528532/orgs","repos_url":"https://api.github.com/users/e1528532/repos","events_url":"https://api.github.com/users/e1528532/events{/privacy}","received_events_url":"https://api.github.com/users/e1528532/received_events","type":"User","site_admin":false},"body":"# Purpose\r\n\r\nEarly prototype of how the type checker is intended to work. Still a lot of things missing but i think its fine enough now to demonstrate the basic principle of it and work on a proper formal foundation now. \r\n\r\n# Checklist\r\n\r\n- [X] commit messages are fine (with references to issues)\r\n- [ ] I added unit tests\r\n- [X] I ran all tests and everything went fine\r\n- [X] affected documentation is fixed\r\n- [X] I added code comments, logging, and assertions (see doc/CODING.md)\r\n- [X] meta data is updated (e.g. README.md of plugins)\r\n- [x] release notes are updated (doc/news/_preparation_next_release.md)\r\n\r\n@markus2330 currently its based on master, so unfortunately it won't compile on your debian system before the debian strech PR is merged. On macs it should be functional already. I'm not sure if it should be mentioned in the release notes, as its just a WIP prototype. Thus i think it should be mentioned when its really done. We can speak on friday about how to proceed.\r\n","created_at":"2018-01-24T14:49:02Z","updated_at":"2018-03-12T16:37:38Z","closed_at":null,"merged_at":null,"merge_commit_sha":"76f05f566f3efd48289052c1d65d29ab013ce24c","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":146179690,"url":"https://api.github.com/repos/ElektraInitiative/libelektra/labels/work%20in%20progress","name":"work in progress","color":"c2e0c6","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/1792/commits","review_comments_url":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/1792/comments","review_comment_url":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ElektraInitiative/libelektra/issues/1792/comments","statuses_url":"https://api.github.com/repos/ElektraInitiative/libelektra/statuses/b6c5988e880aa22d0117f0970ce4a45f6cc6a72c","head":{"label":"e1528532:typechecker-prototype","ref":"typechecker-prototype","sha":"b6c5988e880aa22d0117f0970ce4a45f6cc6a72c","user":{"login":"e1528532","id":20668582,"avatar_url":"https://avatars1.githubusercontent.com/u/20668582?v=4","gravatar_id":"","url":"https://api.github.com/users/e1528532","html_url":"https://github.com/e1528532","followers_url":"https://api.github.com/users/e1528532/followers","following_url":"https://api.github.com/users/e1528532/following{/other_user}","gists_url":"https://api.github.com/users/e1528532/gists{/gist_id}","starred_url":"https://api.github.com/users/e1528532/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/e1528532/subscriptions","organizations_url":"https://api.github.com/users/e1528532/orgs","repos_url":"https://api.github.com/users/e1528532/repos","events_url":"https://api.github.com/users/e1528532/events{/privacy}","received_events_url":"https://api.github.com/users/e1528532/received_events","type":"User","site_admin":false},"repo":{"id":73836508,"name":"libelektra","full_name":"e1528532/libelektra","owner":{"login":"e1528532","id":20668582,"avatar_url":"https://avatars1.githubusercontent.com/u/20668582?v=4","gravatar_id":"","url":"https://api.github.com/users/e1528532","html_url":"https://github.com/e1528532","followers_url":"https://api.github.com/users/e1528532/followers","following_url":"https://api.github.com/users/e1528532/following{/other_user}","gists_url":"https://api.github.com/users/e1528532/gists{/gist_id}","starred_url":"https://api.github.com/users/e1528532/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/e1528532/subscriptions","organizations_url":"https://api.github.com/users/e1528532/orgs","repos_url":"https://api.github.com/users/e1528532/repos","events_url":"https://api.github.com/users/e1528532/events{/privacy}","received_events_url":"https://api.github.com/users/e1528532/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/e1528532/libelektra","description":"Elektra serves as a universal and secure framework to access configuration parameters in a global, hierarchical key database.","fork":true,"url":"https://api.github.com/repos/e1528532/libelektra","forks_url":"https://api.github.com/repos/e1528532/libelektra/forks","keys_url":"https://api.github.com/repos/e1528532/libelektra/keys{/key_id}","collaborators_url":"https://api.github.com/repos/e1528532/libelektra/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/e1528532/libelektra/teams","hooks_url":"https://api.github.com/repos/e1528532/libelektra/hooks","issue_events_url":"https://api.github.com/repos/e1528532/libelektra/issues/events{/number}","events_url":"https://api.github.com/repos/e1528532/libelektra/events","assignees_url":"https://api.github.com/repos/e1528532/libelektra/assignees{/user}","branches_url":"https://api.github.com/repos/e1528532/libelektra/branches{/branch}","tags_url":"https://api.github.com/repos/e1528532/libelektra/tags","blobs_url":"https://api.github.com/repos/e1528532/libelektra/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/e1528532/libelektra/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/e1528532/libelektra/git/refs{/sha}","trees_url":"https://api.github.com/repos/e1528532/libelektra/git/trees{/sha}","statuses_url":"https://api.github.com/repos/e1528532/libelektra/statuses/{sha}","languages_url":"https://api.github.com/repos/e1528532/libelektra/languages","stargazers_url":"https://api.github.com/repos/e1528532/libelektra/stargazers","contributors_url":"https://api.github.com/repos/e1528532/libelektra/contributors","subscribers_url":"https://api.github.com/repos/e1528532/libelektra/subscribers","subscription_url":"https://api.github.com/repos/e1528532/libelektra/subscription","commits_url":"https://api.github.com/repos/e1528532/libelektra/commits{/sha}","git_commits_url":"https://api.github.com/repos/e1528532/libelektra/git/commits{/sha}","comments_url":"https://api.github.com/repos/e1528532/libelektra/comments{/number}","issue_comment_url":"https://api.github.com/repos/e1528532/libelektra/issues/comments{/number}","contents_url":"https://api.github.com/repos/e1528532/libelektra/contents/{+path}","compare_url":"https://api.github.com/repos/e1528532/libelektra/compare/{base}...{head}","merges_url":"https://api.github.com/repos/e1528532/libelektra/merges","archive_url":"https://api.github.com/repos/e1528532/libelektra/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/e1528532/libelektra/downloads","issues_url":"https://api.github.com/repos/e1528532/libelektra/issues{/number}","pulls_url":"https://api.github.com/repos/e1528532/libelektra/pulls{/number}","milestones_url":"https://api.github.com/repos/e1528532/libelektra/milestones{/number}","notifications_url":"https://api.github.com/repos/e1528532/libelektra/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/e1528532/libelektra/labels{/name}","releases_url":"https://api.github.com/repos/e1528532/libelektra/releases{/id}","deployments_url":"https://api.github.com/repos/e1528532/libelektra/deployments","created_at":"2016-11-15T17:06:40Z","updated_at":"2016-11-15T17:06:44Z","pushed_at":"2018-03-12T16:37:31Z","git_url":"git://github.com/e1528532/libelektra.git","ssh_url":"git@github.com:e1528532/libelektra.git","clone_url":"https://github.com/e1528532/libelektra.git","svn_url":"https://github.com/e1528532/libelektra","homepage":"http://libelektra.org","size":46677,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"ElektraInitiative:master","ref":"master","sha":"855bedb73b4263c1c7e5c6737e5678d2531cd35f","user":{"login":"ElektraInitiative","id":7949092,"avatar_url":"https://avatars1.githubusercontent.com/u/7949092?v=4","gravatar_id":"","url":"https://api.github.com/users/ElektraInitiative","html_url":"https://github.com/ElektraInitiative","followers_url":"https://api.github.com/users/ElektraInitiative/followers","following_url":"https://api.github.com/users/ElektraInitiative/following{/other_user}","gists_url":"https://api.github.com/users/ElektraInitiative/gists{/gist_id}","starred_url":"https://api.github.com/users/ElektraInitiative/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ElektraInitiative/subscriptions","organizations_url":"https://api.github.com/users/ElektraInitiative/orgs","repos_url":"https://api.github.com/users/ElektraInitiative/repos","events_url":"https://api.github.com/users/ElektraInitiative/events{/privacy}","received_events_url":"https://api.github.com/users/ElektraInitiative/received_events","type":"Organization","site_admin":false},"repo":{"id":21063580,"name":"libelektra","full_name":"ElektraInitiative/libelektra","owner":{"login":"ElektraInitiative","id":7949092,"avatar_url":"https://avatars1.githubusercontent.com/u/7949092?v=4","gravatar_id":"","url":"https://api.github.com/users/ElektraInitiative","html_url":"https://github.com/ElektraInitiative","followers_url":"https://api.github.com/users/ElektraInitiative/followers","following_url":"https://api.github.com/users/ElektraInitiative/following{/other_user}","gists_url":"https://api.github.com/users/ElektraInitiative/gists{/gist_id}","starred_url":"https://api.github.com/users/ElektraInitiative/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ElektraInitiative/subscriptions","organizations_url":"https://api.github.com/users/ElektraInitiative/orgs","repos_url":"https://api.github.com/users/ElektraInitiative/repos","events_url":"https://api.github.com/users/ElektraInitiative/events{/privacy}","received_events_url":"https://api.github.com/users/ElektraInitiative/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ElektraInitiative/libelektra","description":"Elektra serves as a universal and secure framework to access configuration parameters in a global, hierarchical key database.","fork":false,"url":"https://api.github.com/repos/ElektraInitiative/libelektra","forks_url":"https://api.github.com/repos/ElektraInitiative/libelektra/forks","keys_url":"https://api.github.com/repos/ElektraInitiative/libelektra/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ElektraInitiative/libelektra/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ElektraInitiative/libelektra/teams","hooks_url":"https://api.github.com/repos/ElektraInitiative/libelektra/hooks","issue_events_url":"https://api.github.com/repos/ElektraInitiative/libelektra/issues/events{/number}","events_url":"https://api.github.com/repos/ElektraInitiative/libelektra/events","assignees_url":"https://api.github.com/repos/ElektraInitiative/libelektra/assignees{/user}","branches_url":"https://api.github.com/repos/ElektraInitiative/libelektra/branches{/branch}","tags_url":"https://api.github.com/repos/ElektraInitiative/libelektra/tags","blobs_url":"https://api.github.com/repos/ElektraInitiative/libelektra/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ElektraInitiative/libelektra/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ElektraInitiative/libelektra/git/refs{/sha}","trees_url":"https://api.github.com/repos/ElektraInitiative/libelektra/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ElektraInitiative/libelektra/statuses/{sha}","languages_url":"https://api.github.com/repos/ElektraInitiative/libelektra/languages","stargazers_url":"https://api.github.com/repos/ElektraInitiative/libelektra/stargazers","contributors_url":"https://api.github.com/repos/ElektraInitiative/libelektra/contributors","subscribers_url":"https://api.github.com/repos/ElektraInitiative/libelektra/subscribers","subscription_url":"https://api.github.com/repos/ElektraInitiative/libelektra/subscription","commits_url":"https://api.github.com/repos/ElektraInitiative/libelektra/commits{/sha}","git_commits_url":"https://api.github.com/repos/ElektraInitiative/libelektra/git/commits{/sha}","comments_url":"https://api.github.com/repos/ElektraInitiative/libelektra/comments{/number}","issue_comment_url":"https://api.github.com/repos/ElektraInitiative/libelektra/issues/comments{/number}","contents_url":"https://api.github.com/repos/ElektraInitiative/libelektra/contents/{+path}","compare_url":"https://api.github.com/repos/ElektraInitiative/libelektra/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ElektraInitiative/libelektra/merges","archive_url":"https://api.github.com/repos/ElektraInitiative/libelektra/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ElektraInitiative/libelektra/downloads","issues_url":"https://api.github.com/repos/ElektraInitiative/libelektra/issues{/number}","pulls_url":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls{/number}","milestones_url":"https://api.github.com/repos/ElektraInitiative/libelektra/milestones{/number}","notifications_url":"https://api.github.com/repos/ElektraInitiative/libelektra/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ElektraInitiative/libelektra/labels{/name}","releases_url":"https://api.github.com/repos/ElektraInitiative/libelektra/releases{/id}","deployments_url":"https://api.github.com/repos/ElektraInitiative/libelektra/deployments","created_at":"2014-06-21T08:01:04Z","updated_at":"2018-03-12T16:37:38Z","pushed_at":"2018-03-12T16:37:33Z","git_url":"git://github.com/ElektraInitiative/libelektra.git","ssh_url":"git@github.com:ElektraInitiative/libelektra.git","clone_url":"https://github.com/ElektraInitiative/libelektra.git","svn_url":"https://github.com/ElektraInitiative/libelektra","homepage":"https://www.libelektra.org","size":46676,"stargazers_count":95,"watchers_count":95,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":40,"mirror_url":null,"archived":false,"open_issues_count":291,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":40,"open_issues":291,"watchers":95,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/1792"},"html":{"href":"https://github.com/ElektraInitiative/libelektra/pull/1792"},"issue":{"href":"https://api.github.com/repos/ElektraInitiative/libelektra/issues/1792"},"comments":{"href":"https://api.github.com/repos/ElektraInitiative/libelektra/issues/1792/comments"},"review_comments":{"href":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/1792/comments"},"review_comment":{"href":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/1792/commits"},"statuses":{"href":"https://api.github.com/repos/ElektraInitiative/libelektra/statuses/b6c5988e880aa22d0117f0970ce4a45f6cc6a72c"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"e1528532"}}