)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"d0267f3d3f35c8218c701bf770e1055edff5e752","unresolved":true,"context_lines":[{"line_number":9,"context_line":"Both the deps and srcs arguments may now instead of their normal"},{"line_number":10,"context_line":"contents receive filter sets of the following form:"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"  {"},{"line_number":13,"context_line":"    impl1 \u003d …;"},{"line_number":14,"context_line":"    impl2 \u003d …;"},{"line_number":15,"context_line":"    …"},{"line_number":16,"context_line":"    default \u003d …; # optional"},{"line_number":17,"context_line":"  }"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"When evaluating a buildLisp derivation these filters are processed and"},{"line_number":20,"context_line":"will be applied. This is useful to express implementation specific"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"b36ed6a0_49c5490d","line":17,"range":{"start_line":12,"start_character":0,"end_line":17,"end_character":3},"updated":"2021-08-17 19:28:34.000000000","message":"I don\u0027t understand from this commit message how this works. What\u0027s in the filter set? Are dependencies passed in there? Are these functions that are applied per implementation? Why is it called \"filter set\"?","commit_id":"0f95e1ffebec185d54881c3d200afe2bc129948d"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"9b5b05310cb50d5fffd209fdee0a8bf8edbae10f","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Both the deps and srcs arguments may now instead of their normal"},{"line_number":10,"context_line":"contents receive filter sets of the following form:"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"  {"},{"line_number":13,"context_line":"    impl1 \u003d …;"},{"line_number":14,"context_line":"    impl2 \u003d …;"},{"line_number":15,"context_line":"    …"},{"line_number":16,"context_line":"    default \u003d …; # optional"},{"line_number":17,"context_line":"  }"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"When evaluating a buildLisp derivation these filters are processed and"},{"line_number":20,"context_line":"will be applied. This is useful to express implementation specific"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"970592fe_1eb7f156","line":17,"range":{"start_line":12,"start_character":0,"end_line":17,"end_character":3},"in_reply_to":"1c25af97_3365f206","updated":"2021-08-23 20:06:17.000000000","message":"Done","commit_id":"0f95e1ffebec185d54881c3d200afe2bc129948d"},{"author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"change_message_id":"61899d0f51fe06432dd5c8868ec40446d292fc21","unresolved":true,"context_lines":[{"line_number":9,"context_line":"Both the deps and srcs arguments may now instead of their normal"},{"line_number":10,"context_line":"contents receive filter sets of the following form:"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"  {"},{"line_number":13,"context_line":"    impl1 \u003d …;"},{"line_number":14,"context_line":"    impl2 \u003d …;"},{"line_number":15,"context_line":"    …"},{"line_number":16,"context_line":"    default \u003d …; # optional"},{"line_number":17,"context_line":"  }"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"When evaluating a buildLisp derivation these filters are processed and"},{"line_number":20,"context_line":"will be applied. This is useful to express implementation specific"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"1c25af97_3365f206","line":17,"range":{"start_line":12,"start_character":0,"end_line":17,"end_character":3},"in_reply_to":"b36ed6a0_49c5490d","updated":"2021-08-17 23:14:14.000000000","message":"I hope I have explained it better now (commit and comment)","commit_id":"0f95e1ffebec185d54881c3d200afe2bc129948d"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"9b5b05310cb50d5fffd209fdee0a8bf8edbae10f","unresolved":true,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"or to switch between files for different implementations:"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"  # if a implementation case is missing, compilation will"},{"line_number":25,"context_line":"  # fail due to the missing file…"},{"line_number":26,"context_line":"  {"},{"line_number":27,"context_line":"    ecl \u003d ./tf-ecl.lisp;"},{"line_number":28,"context_line":"    ccl \u003d ./tf-ccl.lisp;"},{"line_number":29,"context_line":"    sbcl \u003d ./tf-sbcl.lisp;"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":21,"id":"3b9563f2_5730cefd","line":26,"range":{"start_line":24,"start_character":0,"end_line":26,"end_character":0},"updated":"2021-08-23 20:06:17.000000000","message":"In the updated README later on it says:\n\n\u003e `buildLisp` will pick the value of the attribute named like the\nused implementation or `default` and ignore the set completely if both are missing.\n\nWhich one is correct, or does this change somewhere in between this CL and the docs one?","commit_id":"0d942dca4058f390feaf0a5ce064efb3f55c1855"},{"author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"change_message_id":"b335421ab5e704f2ffab2c6fcf5d75e9f3e10f96","unresolved":true,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"or to switch between files for different implementations:"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"  # if a implementation case is missing, compilation will"},{"line_number":25,"context_line":"  # fail due to the missing file…"},{"line_number":26,"context_line":"  {"},{"line_number":27,"context_line":"    ecl \u003d ./tf-ecl.lisp;"},{"line_number":28,"context_line":"    ccl \u003d ./tf-ccl.lisp;"},{"line_number":29,"context_line":"    sbcl \u003d ./tf-sbcl.lisp;"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":21,"id":"f24ace68_77eaaed5","line":26,"range":{"start_line":24,"start_character":0,"end_line":26,"end_character":0},"in_reply_to":"3b9563f2_5730cefd","updated":"2021-08-23 20:18:09.000000000","message":"The README is correct. This comment is also not incorrect, but misleading. What I originally meant is that *compilation* will fail because crucial definitions are missing, but eval would succeed of course.\n\nTried to clarify the message.","commit_id":"0d942dca4058f390feaf0a5ce064efb3f55c1855"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"55fc42d99d250a4703b6eb978dc4edb534266c01","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"or to switch between files for different implementations:"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"  # if a implementation case is missing, compilation will"},{"line_number":25,"context_line":"  # fail due to the missing file…"},{"line_number":26,"context_line":"  {"},{"line_number":27,"context_line":"    ecl \u003d ./tf-ecl.lisp;"},{"line_number":28,"context_line":"    ccl \u003d ./tf-ccl.lisp;"},{"line_number":29,"context_line":"    sbcl \u003d ./tf-sbcl.lisp;"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":21,"id":"08713b18_ea8e346f","line":26,"range":{"start_line":24,"start_character":0,"end_line":26,"end_character":0},"in_reply_to":"b30862bb_c31986c8","updated":"2021-08-24 13:02:29.000000000","message":"Done","commit_id":"0d942dca4058f390feaf0a5ce064efb3f55c1855"},{"author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"change_message_id":"9d2f2458e12779f496e87290897ec1e40f7f3aa6","unresolved":true,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"or to switch between files for different implementations:"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"  # if a implementation case is missing, compilation will"},{"line_number":25,"context_line":"  # fail due to the missing file…"},{"line_number":26,"context_line":"  {"},{"line_number":27,"context_line":"    ecl \u003d ./tf-ecl.lisp;"},{"line_number":28,"context_line":"    ccl \u003d ./tf-ccl.lisp;"},{"line_number":29,"context_line":"    sbcl \u003d ./tf-sbcl.lisp;"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":21,"id":"b30862bb_c31986c8","line":26,"range":{"start_line":24,"start_character":0,"end_line":26,"end_character":0},"in_reply_to":"e3afb01e_f097a31d","updated":"2021-08-24 12:11:21.000000000","message":"Did forget, pushed just now.","commit_id":"0d942dca4058f390feaf0a5ce064efb3f55c1855"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"71664f09b043afde2a53ff239d79f800b71ef3cf","unresolved":true,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"or to switch between files for different implementations:"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"  # if a implementation case is missing, compilation will"},{"line_number":25,"context_line":"  # fail due to the missing file…"},{"line_number":26,"context_line":"  {"},{"line_number":27,"context_line":"    ecl \u003d ./tf-ecl.lisp;"},{"line_number":28,"context_line":"    ccl \u003d ./tf-ccl.lisp;"},{"line_number":29,"context_line":"    sbcl \u003d ./tf-sbcl.lisp;"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":21,"id":"e3afb01e_f097a31d","line":26,"range":{"start_line":24,"start_character":0,"end_line":26,"end_character":0},"in_reply_to":"f24ace68_77eaaed5","updated":"2021-08-24 12:09:35.000000000","message":"I don\u0027t see an updated message, did you forget a push? :p","commit_id":"0d942dca4058f390feaf0a5ce064efb3f55c1855"}],"nix/buildLisp/default.nix":[{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"3221130781489ac769a24426b630e559c4ba826c","unresolved":true,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"  implFilter \u003d impl: xs:"},{"line_number":20,"context_line":"    let"},{"line_number":21,"context_line":"      isFilterSet \u003d x: builtins.isAttrs x \u0026\u0026 !(lib.isDerivation x);"},{"line_number":22,"context_line":"    in builtins.map ("},{"line_number":23,"context_line":"      x: if isFilterSet x then x.${impl.name} or x.default else x"},{"line_number":24,"context_line":"    ) (builtins.filter ("}],"source_content_type":"text/x-nix","patch_set":19,"id":"98545afb_e0a53574","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":67},"updated":"2021-08-17 19:27:29.000000000","message":"Maybe this should be a yants type? Just a thought, I\u0027m not actually sure we want to depend on yants in this.","commit_id":"0f95e1ffebec185d54881c3d200afe2bc129948d"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"9b5b05310cb50d5fffd209fdee0a8bf8edbae10f","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"  implFilter \u003d impl: xs:"},{"line_number":20,"context_line":"    let"},{"line_number":21,"context_line":"      isFilterSet \u003d x: builtins.isAttrs x \u0026\u0026 !(lib.isDerivation x);"},{"line_number":22,"context_line":"    in builtins.map ("},{"line_number":23,"context_line":"      x: if isFilterSet x then x.${impl.name} or x.default else x"},{"line_number":24,"context_line":"    ) (builtins.filter ("}],"source_content_type":"text/x-nix","patch_set":19,"id":"4a15fea8_53a54ba2","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":67},"in_reply_to":"0e556d16_6ecccdfa","updated":"2021-08-23 20:06:17.000000000","message":"Ack","commit_id":"0f95e1ffebec185d54881c3d200afe2bc129948d"},{"author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"change_message_id":"61899d0f51fe06432dd5c8868ec40446d292fc21","unresolved":true,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"  implFilter \u003d impl: xs:"},{"line_number":20,"context_line":"    let"},{"line_number":21,"context_line":"      isFilterSet \u003d x: builtins.isAttrs x \u0026\u0026 !(lib.isDerivation x);"},{"line_number":22,"context_line":"    in builtins.map ("},{"line_number":23,"context_line":"      x: if isFilterSet x then x.${impl.name} or x.default else x"},{"line_number":24,"context_line":"    ) (builtins.filter ("}],"source_content_type":"text/x-nix","patch_set":19,"id":"0e556d16_6ecccdfa","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":67},"in_reply_to":"98545afb_e0a53574","updated":"2021-08-17 23:14:14.000000000","message":"The set has no static structure and doesn\u0027t have to be distinguished from arbitrary values: The lists for deps and srcs should only ever contain strings, paths and derivations. The predicate is just to check for an attribute set which is not a derivation — so by elimination it must be a filter set.","commit_id":"0f95e1ffebec185d54881c3d200afe2bc129948d"}]}
