Skip to content

New version in README - #1743

Merged
yegor256 merged 1 commit into
masterfrom
version-up
Oct 8, 2026
Merged

yegor256 merged 1 commit into
masterfrom
version-up

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Automated changes by create-pull-request GitHub action

@github-actions
github-actions Bot force-pushed the version-up branch 5 times, most recently from ecf7040 to c72540f Compare October 6, 2026 20:06
@yegor256

yegor256 commented Oct 7, 2026

Copy link
Copy Markdown
Member

@rultor merge

@rultor

rultor commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here.

@rultor

rultor commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

@rultor merge

@github-actions[bot] @yegor256 Oops, I failed. You can see the full log here (spent 19min).

\u001b[?7l    rejects an anonymous meta in 'having' of a rewriting rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'having' of a rewriting rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta as a bare index meta in 'when' of a rewriting rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta as a bare index meta in 'when' of a rewriting rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta inside an 'nf' condition of a rewriting rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta inside an 'nf' condition of a rewriting rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in 'conclusion' of a morphing rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'conclusion' of a morphing rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in a premise of a morphing rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in a premise of a morphing rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in 'when' of a morphing rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'when' of a morphing rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in 'conclusion' of a dataization rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'conclusion' of a dataization rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in 'when' of a dataization rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'when' of a dataization rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in a premise of a dataization rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in a premise of a dataization rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in a premise of a contextualization rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in a premise of a contextualization rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in 'c-result' of a contextualization rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'c-result' of a contextualization rule [\u001b[32m鉁擻u001b[0m]
  keeps effective labels unique across rule sets
\u001b[?7l    across morphing, dataization and contextualization rules [ ]\u001b[?7h
\u001b[K    across morphing, dataization and contextualization rules [\u001b[32m鉁擻u001b[0m]
  keeps one rule per file in every rule directory
\u001b[?7l    names one morphing file after every morphing rule [ ]\u001b[?7h
\u001b[K    names one morphing file after every morphing rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    names one dataization file after every dataization rule [ ]\u001b[?7h
\u001b[K    names one dataization file after every dataization rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    names one contextualization file after every contextualization rule [ ]\u001b[?7h
\u001b[K    names one contextualization file after every contextualization rule [\u001b[32m鉁擻u001b[0m]
  reserves 饾憶-family metas for normal forms
\u001b[?7l    no contextualize premise in a morphing or dataization rule binds an 饾憶-reserved meta [ ]\u001b[?7h
\u001b[K    no contextualize premise in a morphing or dataization rule binds an 饾憶-reserved meta [\u001b[32m鉁擻u001b[0m]
  parses a 'formation' condition
\u001b[?7l    decodes 'formation: <expr>' into IsFormation [ ]\u001b[?7h
\u001b[K    decodes 'formation: <expr>' into IsFormation [\u001b[32m鉁擻u001b[0m]
  rejects a condition object naming no known key
\u001b[?7l    fails with 'Unknown condition type' [ ]\u001b[?7h
\u001b[K    fails with 'Unknown condition type' [\u001b[32m鉁擻u001b[0m]
  rejects a condition whose arguments count is wrong
\u001b[?7l    'eq' with a single argument [ ]\u001b[?7h
\u001b[K    'eq' with a single argument [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    'gt' with a single argument [ ]\u001b[?7h
\u001b[K    'gt' with a single argument [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    'in' with a single argument [ ]\u001b[?7h
\u001b[K    'in' with a single argument [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    'matches' with a single argument [ ]\u001b[?7h
\u001b[K    'matches' with a single argument [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    'part-of' with a single argument [ ]\u001b[?7h
\u001b[K    'part-of' with a single argument [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    'disjoint' with a single argument [ ]\u001b[?7h
\u001b[K    'disjoint' with a single argument [\u001b[32m鉁擻u001b[0m]
  rejects a malformed premise
\u001b[?7l    fails when neither 'n-result' nor 'd-result' is present [ ]\u001b[?7h
\u001b[K    fails when neither 'n-result' nor 'd-result' is present [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'n-result' is not an expression meta [ ]\u001b[?7h
\u001b[K    fails when 'n-result' is not an expression meta [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'd-result' is not a bytes meta [ ]\u001b[?7h
\u001b[K    fails when 'd-result' is not a bytes meta [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'morph' does not take exactly two arguments [ ]\u001b[?7h
\u001b[K    fails when 'morph' does not take exactly two arguments [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'evaluate' does not take exactly two arguments [ ]\u001b[?7h
\u001b[K    fails when 'evaluate' does not take exactly two arguments [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'contextualize' does not take exactly two arguments [ ]\u001b[?7h
\u001b[K    fails when 'contextualize' does not take exactly two arguments [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'dataize' does not take exactly two arguments [ ]\u001b[?7h
\u001b[K    fails when 'dataize' does not take exactly two arguments [\u001b[32m鉁擻u001b[0m]
  reads the universe a premise names
\u001b[?7l    beside the term of 'morph' [ ]\u001b[?7h
\u001b[K    beside the term of 'morph' [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    beside the term of 'dataize' [ ]\u001b[?7h
\u001b[K    beside the term of 'dataize' [\u001b[32m鉁擻u001b[0m]
  rejects a numerable expression that is neither an object, a number nor an index meta
\u001b[?7l    fails on a bare boolean [ ]\u001b[?7h
\u001b[K    fails on a bare boolean [\u001b[32m鉁擻u001b[0m]
  parses a literal number
\u001b[?7l    accepts a whole number [ ]\u001b[?7h
\u001b[K    accepts a whole number [\u001b[32m鉁擻u001b[0m]
  rejects a fractional literal number
\u001b[?7l    fails on a fraction instead of silently rounding it [ ]\u001b[?7h
\u001b[K    fails on a fraction instead of silently rounding it [\u001b[32m鉁擻u001b[0m]
  rejects an empty 'and' condition
\u001b[?7l    fails on 'and: []' [ ]\u001b[?7h
\u001b[K    fails on 'and: []' [\u001b[32m鉁擻u001b[0m]
  rejects an empty 'or' condition
\u001b[?7l    fails on 'or: []' [ ]\u001b[?7h
\u001b[K    fails on 'or: []' [\u001b[32m鉁擻u001b[0m]

Finished in 14.4267 seconds
\u001b[32m3282 examples, 0 failures\u001b[0m
\u001b[?25hTest suite spec: PASS
Test suite logged to:
/home/r/repo/./dist-newstyle/build/x86_64-linux/ghc-9.6.7/phino-0.0.0/t/spec/test/phino-0.0.0-spec.log
1 of 1 test suites (1 of 1 test cases) passed.
container 12c74ffbe3d99e7bb66505d52f08f448486cf05100c5df9b29b057603f5dd105 is dead
Wed Oct  7 01:17:08 UTC 2026

@yegor256

yegor256 commented Oct 7, 2026

Copy link
Copy Markdown
Member

@rultor merge

@rultor

rultor commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here.

@rultor

rultor commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

@rultor merge

@github-actions[bot] @yegor256 Oops, I failed. You can see the full log here (spent 19min).

\u001b[?7l    rejects an anonymous meta in 'having' of a rewriting rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'having' of a rewriting rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta as a bare index meta in 'when' of a rewriting rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta as a bare index meta in 'when' of a rewriting rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta inside an 'nf' condition of a rewriting rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta inside an 'nf' condition of a rewriting rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in 'conclusion' of a morphing rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'conclusion' of a morphing rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in a premise of a morphing rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in a premise of a morphing rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in 'when' of a morphing rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'when' of a morphing rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in 'conclusion' of a dataization rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'conclusion' of a dataization rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in 'when' of a dataization rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'when' of a dataization rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in a premise of a dataization rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in a premise of a dataization rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in a premise of a contextualization rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in a premise of a contextualization rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in 'c-result' of a contextualization rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'c-result' of a contextualization rule [\u001b[32m鉁擻u001b[0m]
  keeps effective labels unique across rule sets
\u001b[?7l    across morphing, dataization and contextualization rules [ ]\u001b[?7h
\u001b[K    across morphing, dataization and contextualization rules [\u001b[32m鉁擻u001b[0m]
  keeps one rule per file in every rule directory
\u001b[?7l    names one morphing file after every morphing rule [ ]\u001b[?7h
\u001b[K    names one morphing file after every morphing rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    names one dataization file after every dataization rule [ ]\u001b[?7h
\u001b[K    names one dataization file after every dataization rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    names one contextualization file after every contextualization rule [ ]\u001b[?7h
\u001b[K    names one contextualization file after every contextualization rule [\u001b[32m鉁擻u001b[0m]
  reserves 饾憶-family metas for normal forms
\u001b[?7l    no contextualize premise in a morphing or dataization rule binds an 饾憶-reserved meta [ ]\u001b[?7h
\u001b[K    no contextualize premise in a morphing or dataization rule binds an 饾憶-reserved meta [\u001b[32m鉁擻u001b[0m]
  parses a 'formation' condition
\u001b[?7l    decodes 'formation: <expr>' into IsFormation [ ]\u001b[?7h
\u001b[K    decodes 'formation: <expr>' into IsFormation [\u001b[32m鉁擻u001b[0m]
  rejects a condition object naming no known key
\u001b[?7l    fails with 'Unknown condition type' [ ]\u001b[?7h
\u001b[K    fails with 'Unknown condition type' [\u001b[32m鉁擻u001b[0m]
  rejects a condition whose arguments count is wrong
\u001b[?7l    'eq' with a single argument [ ]\u001b[?7h
\u001b[K    'eq' with a single argument [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    'gt' with a single argument [ ]\u001b[?7h
\u001b[K    'gt' with a single argument [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    'in' with a single argument [ ]\u001b[?7h
\u001b[K    'in' with a single argument [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    'matches' with a single argument [ ]\u001b[?7h
\u001b[K    'matches' with a single argument [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    'part-of' with a single argument [ ]\u001b[?7h
\u001b[K    'part-of' with a single argument [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    'disjoint' with a single argument [ ]\u001b[?7h
\u001b[K    'disjoint' with a single argument [\u001b[32m鉁擻u001b[0m]
  rejects a malformed premise
\u001b[?7l    fails when neither 'n-result' nor 'd-result' is present [ ]\u001b[?7h
\u001b[K    fails when neither 'n-result' nor 'd-result' is present [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'n-result' is not an expression meta [ ]\u001b[?7h
\u001b[K    fails when 'n-result' is not an expression meta [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'd-result' is not a bytes meta [ ]\u001b[?7h
\u001b[K    fails when 'd-result' is not a bytes meta [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'morph' does not take exactly two arguments [ ]\u001b[?7h
\u001b[K    fails when 'morph' does not take exactly two arguments [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'evaluate' does not take exactly two arguments [ ]\u001b[?7h
\u001b[K    fails when 'evaluate' does not take exactly two arguments [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'contextualize' does not take exactly two arguments [ ]\u001b[?7h
\u001b[K    fails when 'contextualize' does not take exactly two arguments [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'dataize' does not take exactly two arguments [ ]\u001b[?7h
\u001b[K    fails when 'dataize' does not take exactly two arguments [\u001b[32m鉁擻u001b[0m]
  reads the universe a premise names
\u001b[?7l    beside the term of 'morph' [ ]\u001b[?7h
\u001b[K    beside the term of 'morph' [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    beside the term of 'dataize' [ ]\u001b[?7h
\u001b[K    beside the term of 'dataize' [\u001b[32m鉁擻u001b[0m]
  rejects a numerable expression that is neither an object, a number nor an index meta
\u001b[?7l    fails on a bare boolean [ ]\u001b[?7h
\u001b[K    fails on a bare boolean [\u001b[32m鉁擻u001b[0m]
  parses a literal number
\u001b[?7l    accepts a whole number [ ]\u001b[?7h
\u001b[K    accepts a whole number [\u001b[32m鉁擻u001b[0m]
  rejects a fractional literal number
\u001b[?7l    fails on a fraction instead of silently rounding it [ ]\u001b[?7h
\u001b[K    fails on a fraction instead of silently rounding it [\u001b[32m鉁擻u001b[0m]
  rejects an empty 'and' condition
\u001b[?7l    fails on 'and: []' [ ]\u001b[?7h
\u001b[K    fails on 'and: []' [\u001b[32m鉁擻u001b[0m]
  rejects an empty 'or' condition
\u001b[?7l    fails on 'or: []' [ ]\u001b[?7h
\u001b[K    fails on 'or: []' [\u001b[32m鉁擻u001b[0m]

Finished in 14.4964 seconds
\u001b[32m3282 examples, 0 failures\u001b[0m
\u001b[?25hTest suite spec: PASS
Test suite logged to:
/home/r/repo/./dist-newstyle/build/x86_64-linux/ghc-9.6.7/phino-0.0.0/t/spec/test/phino-0.0.0-spec.log
1 of 1 test suites (1 of 1 test cases) passed.
container 4928550aa7aefd0b372a2d42e5b06d713410af28daaf6407c076274b5e5998ac is dead
Wed Oct  7 07:48:58 UTC 2026

@yegor256

yegor256 commented Oct 7, 2026

Copy link
Copy Markdown
Member

@rultor merge

@rultor

rultor commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here.

@rultor

rultor commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

@rultor merge

@github-actions[bot] @yegor256 Oops, I failed. You can see the full log here (spent 18min).

\u001b[?7l    rejects an anonymous meta in 'having' of a rewriting rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'having' of a rewriting rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta as a bare index meta in 'when' of a rewriting rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta as a bare index meta in 'when' of a rewriting rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta inside an 'nf' condition of a rewriting rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta inside an 'nf' condition of a rewriting rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in 'conclusion' of a morphing rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'conclusion' of a morphing rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in a premise of a morphing rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in a premise of a morphing rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in 'when' of a morphing rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'when' of a morphing rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in 'conclusion' of a dataization rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'conclusion' of a dataization rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in 'when' of a dataization rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'when' of a dataization rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in a premise of a dataization rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in a premise of a dataization rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in a premise of a contextualization rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in a premise of a contextualization rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in 'c-result' of a contextualization rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'c-result' of a contextualization rule [\u001b[32m鉁擻u001b[0m]
  keeps effective labels unique across rule sets
\u001b[?7l    across morphing, dataization and contextualization rules [ ]\u001b[?7h
\u001b[K    across morphing, dataization and contextualization rules [\u001b[32m鉁擻u001b[0m]
  keeps one rule per file in every rule directory
\u001b[?7l    names one morphing file after every morphing rule [ ]\u001b[?7h
\u001b[K    names one morphing file after every morphing rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    names one dataization file after every dataization rule [ ]\u001b[?7h
\u001b[K    names one dataization file after every dataization rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    names one contextualization file after every contextualization rule [ ]\u001b[?7h
\u001b[K    names one contextualization file after every contextualization rule [\u001b[32m鉁擻u001b[0m]
  reserves 饾憶-family metas for normal forms
\u001b[?7l    no contextualize premise in a morphing or dataization rule binds an 饾憶-reserved meta [ ]\u001b[?7h
\u001b[K    no contextualize premise in a morphing or dataization rule binds an 饾憶-reserved meta [\u001b[32m鉁擻u001b[0m]
  parses a 'formation' condition
\u001b[?7l    decodes 'formation: <expr>' into IsFormation [ ]\u001b[?7h
\u001b[K    decodes 'formation: <expr>' into IsFormation [\u001b[32m鉁擻u001b[0m]
  rejects a condition object naming no known key
\u001b[?7l    fails with 'Unknown condition type' [ ]\u001b[?7h
\u001b[K    fails with 'Unknown condition type' [\u001b[32m鉁擻u001b[0m]
  rejects a condition whose arguments count is wrong
\u001b[?7l    'eq' with a single argument [ ]\u001b[?7h
\u001b[K    'eq' with a single argument [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    'gt' with a single argument [ ]\u001b[?7h
\u001b[K    'gt' with a single argument [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    'in' with a single argument [ ]\u001b[?7h
\u001b[K    'in' with a single argument [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    'matches' with a single argument [ ]\u001b[?7h
\u001b[K    'matches' with a single argument [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    'part-of' with a single argument [ ]\u001b[?7h
\u001b[K    'part-of' with a single argument [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    'disjoint' with a single argument [ ]\u001b[?7h
\u001b[K    'disjoint' with a single argument [\u001b[32m鉁擻u001b[0m]
  rejects a malformed premise
\u001b[?7l    fails when neither 'n-result' nor 'd-result' is present [ ]\u001b[?7h
\u001b[K    fails when neither 'n-result' nor 'd-result' is present [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'n-result' is not an expression meta [ ]\u001b[?7h
\u001b[K    fails when 'n-result' is not an expression meta [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'd-result' is not a bytes meta [ ]\u001b[?7h
\u001b[K    fails when 'd-result' is not a bytes meta [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'morph' does not take exactly two arguments [ ]\u001b[?7h
\u001b[K    fails when 'morph' does not take exactly two arguments [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'evaluate' does not take exactly two arguments [ ]\u001b[?7h
\u001b[K    fails when 'evaluate' does not take exactly two arguments [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'contextualize' does not take exactly two arguments [ ]\u001b[?7h
\u001b[K    fails when 'contextualize' does not take exactly two arguments [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'dataize' does not take exactly two arguments [ ]\u001b[?7h
\u001b[K    fails when 'dataize' does not take exactly two arguments [\u001b[32m鉁擻u001b[0m]
  reads the universe a premise names
\u001b[?7l    beside the term of 'morph' [ ]\u001b[?7h
\u001b[K    beside the term of 'morph' [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    beside the term of 'dataize' [ ]\u001b[?7h
\u001b[K    beside the term of 'dataize' [\u001b[32m鉁擻u001b[0m]
  rejects a numerable expression that is neither an object, a number nor an index meta
\u001b[?7l    fails on a bare boolean [ ]\u001b[?7h
\u001b[K    fails on a bare boolean [\u001b[32m鉁擻u001b[0m]
  parses a literal number
\u001b[?7l    accepts a whole number [ ]\u001b[?7h
\u001b[K    accepts a whole number [\u001b[32m鉁擻u001b[0m]
  rejects a fractional literal number
\u001b[?7l    fails on a fraction instead of silently rounding it [ ]\u001b[?7h
\u001b[K    fails on a fraction instead of silently rounding it [\u001b[32m鉁擻u001b[0m]
  rejects an empty 'and' condition
\u001b[?7l    fails on 'and: []' [ ]\u001b[?7h
\u001b[K    fails on 'and: []' [\u001b[32m鉁擻u001b[0m]
  rejects an empty 'or' condition
\u001b[?7l    fails on 'or: []' [ ]\u001b[?7h
\u001b[K    fails on 'or: []' [\u001b[32m鉁擻u001b[0m]

Finished in 15.1589 seconds
\u001b[32m3313 examples, 0 failures\u001b[0m
\u001b[?25hTest suite spec: PASS
Test suite logged to:
/home/r/repo/./dist-newstyle/build/x86_64-linux/ghc-9.6.7/phino-0.0.0/t/spec/test/phino-0.0.0-spec.log
1 of 1 test suites (1 of 1 test cases) passed.
container 6da7de04a6878742b2ae87d62e886836854701dc4d62238a453f3b9006562d9d is dead
Wed Oct  7 21:53:49 UTC 2026

@yegor256

yegor256 commented Oct 8, 2026

Copy link
Copy Markdown
Member

@rultor merge

@rultor

rultor commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here.

@rultor

rultor commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

@rultor merge

@github-actions[bot] @yegor256 Oops, I failed. You can see the full log here (spent 18min).

\u001b[?7l    rejects an anonymous meta in 'having' of a rewriting rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'having' of a rewriting rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta as a bare index meta in 'when' of a rewriting rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta as a bare index meta in 'when' of a rewriting rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta inside an 'nf' condition of a rewriting rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta inside an 'nf' condition of a rewriting rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in 'conclusion' of a morphing rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'conclusion' of a morphing rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in a premise of a morphing rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in a premise of a morphing rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in 'when' of a morphing rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'when' of a morphing rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in 'conclusion' of a dataization rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'conclusion' of a dataization rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in 'when' of a dataization rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'when' of a dataization rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in a premise of a dataization rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in a premise of a dataization rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in a premise of a contextualization rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in a premise of a contextualization rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    rejects an anonymous meta in 'c-result' of a contextualization rule [ ]\u001b[?7h
\u001b[K    rejects an anonymous meta in 'c-result' of a contextualization rule [\u001b[32m鉁擻u001b[0m]
  keeps effective labels unique across rule sets
\u001b[?7l    across morphing, dataization and contextualization rules [ ]\u001b[?7h
\u001b[K    across morphing, dataization and contextualization rules [\u001b[32m鉁擻u001b[0m]
  keeps one rule per file in every rule directory
\u001b[?7l    names one morphing file after every morphing rule [ ]\u001b[?7h
\u001b[K    names one morphing file after every morphing rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    names one dataization file after every dataization rule [ ]\u001b[?7h
\u001b[K    names one dataization file after every dataization rule [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    names one contextualization file after every contextualization rule [ ]\u001b[?7h
\u001b[K    names one contextualization file after every contextualization rule [\u001b[32m鉁擻u001b[0m]
  reserves 饾憶-family metas for normal forms
\u001b[?7l    no contextualize premise in a morphing or dataization rule binds an 饾憶-reserved meta [ ]\u001b[?7h
\u001b[K    no contextualize premise in a morphing or dataization rule binds an 饾憶-reserved meta [\u001b[32m鉁擻u001b[0m]
  parses a 'formation' condition
\u001b[?7l    decodes 'formation: <expr>' into IsFormation [ ]\u001b[?7h
\u001b[K    decodes 'formation: <expr>' into IsFormation [\u001b[32m鉁擻u001b[0m]
  rejects a condition object naming no known key
\u001b[?7l    fails with 'Unknown condition type' [ ]\u001b[?7h
\u001b[K    fails with 'Unknown condition type' [\u001b[32m鉁擻u001b[0m]
  rejects a condition whose arguments count is wrong
\u001b[?7l    'eq' with a single argument [ ]\u001b[?7h
\u001b[K    'eq' with a single argument [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    'gt' with a single argument [ ]\u001b[?7h
\u001b[K    'gt' with a single argument [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    'in' with a single argument [ ]\u001b[?7h
\u001b[K    'in' with a single argument [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    'matches' with a single argument [ ]\u001b[?7h
\u001b[K    'matches' with a single argument [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    'part-of' with a single argument [ ]\u001b[?7h
\u001b[K    'part-of' with a single argument [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    'disjoint' with a single argument [ ]\u001b[?7h
\u001b[K    'disjoint' with a single argument [\u001b[32m鉁擻u001b[0m]
  rejects a malformed premise
\u001b[?7l    fails when neither 'n-result' nor 'd-result' is present [ ]\u001b[?7h
\u001b[K    fails when neither 'n-result' nor 'd-result' is present [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'n-result' is not an expression meta [ ]\u001b[?7h
\u001b[K    fails when 'n-result' is not an expression meta [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'd-result' is not a bytes meta [ ]\u001b[?7h
\u001b[K    fails when 'd-result' is not a bytes meta [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'morph' does not take exactly two arguments [ ]\u001b[?7h
\u001b[K    fails when 'morph' does not take exactly two arguments [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'evaluate' does not take exactly two arguments [ ]\u001b[?7h
\u001b[K    fails when 'evaluate' does not take exactly two arguments [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'contextualize' does not take exactly two arguments [ ]\u001b[?7h
\u001b[K    fails when 'contextualize' does not take exactly two arguments [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    fails when 'dataize' does not take exactly two arguments [ ]\u001b[?7h
\u001b[K    fails when 'dataize' does not take exactly two arguments [\u001b[32m鉁擻u001b[0m]
  reads the universe a premise names
\u001b[?7l    beside the term of 'morph' [ ]\u001b[?7h
\u001b[K    beside the term of 'morph' [\u001b[32m鉁擻u001b[0m]
\u001b[?7l    beside the term of 'dataize' [ ]\u001b[?7h
\u001b[K    beside the term of 'dataize' [\u001b[32m鉁擻u001b[0m]
  rejects a numerable expression that is neither an object, a number nor an index meta
\u001b[?7l    fails on a bare boolean [ ]\u001b[?7h
\u001b[K    fails on a bare boolean [\u001b[32m鉁擻u001b[0m]
  parses a literal number
\u001b[?7l    accepts a whole number [ ]\u001b[?7h
\u001b[K    accepts a whole number [\u001b[32m鉁擻u001b[0m]
  rejects a fractional literal number
\u001b[?7l    fails on a fraction instead of silently rounding it [ ]\u001b[?7h
\u001b[K    fails on a fraction instead of silently rounding it [\u001b[32m鉁擻u001b[0m]
  rejects an empty 'and' condition
\u001b[?7l    fails on 'and: []' [ ]\u001b[?7h
\u001b[K    fails on 'and: []' [\u001b[32m鉁擻u001b[0m]
  rejects an empty 'or' condition
\u001b[?7l    fails on 'or: []' [ ]\u001b[?7h
\u001b[K    fails on 'or: []' [\u001b[32m鉁擻u001b[0m]

Finished in 15.1047 seconds
\u001b[32m3313 examples, 0 failures\u001b[0m
\u001b[?25hTest suite spec: PASS
Test suite logged to:
/home/r/repo/./dist-newstyle/build/x86_64-linux/ghc-9.6.7/phino-0.0.0/t/spec/test/phino-0.0.0-spec.log
1 of 1 test suites (1 of 1 test cases) passed.
container bf96427e5b7dc1d35c22bdc73c37806c1f88dc5a5480a13123613a8cb81b672a is dead
Thu Oct  8 02:24:34 UTC 2026

@yegor256
yegor256 merged commit 23660ff into master Oct 8, 2026
@yegor256
yegor256 deleted the version-up branch October 8, 2026 12:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants