runtimeverification / runtimeverification/haskell-backend

kore-repl mostly ignores pipes in aliases.

Open
#3,544 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Haskell
Stars
224
Forks
43
PR merge metrics
No merged PRs in 30d

Description

To reproduce:
test.k:

module TEST
  syntax KItem ::= "a" | "b"
  rule a => b
endmodule

proof.k:

module PROOF
  import TEST

  claim a => b
endmodule

kast.kscript:

alias konfig = config | sed 's/^.*$/hello/'
alias kfg = konfig | sed 's/^.*$/hello/'

command line:

kompile test.k --backend haskell && kprove proof.k --debugger --debug-script kast.kscript

Repl:

kfg

Note that:

  1. kfg works in the repl, but would print an error without the --debug-script flag
  2. kfg prints a normal configuration, not 'hello' lines, as it would be expected.
  3. changing the last line in kast.kscript to alias kfg = konfig | aksdjf 's/^.*$/hello/' makes kfg print an error:
Kore (0)> kfg
Cannot find aksdjf executable.

That line is missing a 'the' before aksdjf, but, more importantly, it shows that the repl does not fully ignore the pipe, which makes this entire issue very confusing.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the behavior with test.k, proof.k, and kast.kscript using the shown kompile and kprove command, then inspect the kore-repl alias handling entry point. Verify nested aliases preserve pipe commands, execute the sed stages, and report missing executables consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
40/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.