Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interactive merger! #44

Open
wants to merge 103 commits into
base: master
Choose a base branch
from
Open

Interactive merger! #44

wants to merge 103 commits into from

Conversation

corwin-of-amber
Copy link
Contributor

I have merged the interactive functionality with master. The number of changes is still kind of large, so a full code review is probably not an option, but at least maybe you can run the test suite and see whether the things that fail should fail?

Currently only "Open" is actually reported.
This is for the interactive UI later on.
`OrVec` is used as an Either to properly serialize to JSON.
Currently shown in the hint area (status bar). This should be temporary.
It is actually in milliseconds in the config.
The `linesIterator` thingy.
When calling `smt.disableLogging`.
Disable only SMT-related loggers.
Using "." for `getParentDir` rarely makes sense.
Just runs `Synthesis` and sends the next step as JSON.
So this is what I'm doing with my life now, huh.
A bunch of security vulnerabilities in `cssnano`.
They're meaningless, but welp.
Easier to manage, and for now there is some state in the server still.
Display choices, waits for user selection.
For exploring interactively in client-server mode.
Display more info with choices: goal from which each choice was derived
and name of rule.
Update status when sent from server.
Also serve static HTML/JS/CSS from `SynthesisServer`.
`ProofTrace.updateIndex` is becoming quite a monster.
And derivation trail for SubstL/R.
Allows the client to send defs and pre-/post-condition.
This is very much a wip, and some of the stuff in `ClientSessionSynthesis`
should probably move up to `SynthesisServer`.
For serving on the web.
Serialize formula ASTs.
Refactor the interaction protocol's client message format.
The protocol functionality is still there, but UI interaction is TBD.
Some benchmarks have config flags on the first line, without which they
fail to synthesize.
corwin-of-amber and others added 30 commits July 23, 2021 18:42
Limit zoom to 10%-100%. Fade all messages when clearing them.
Instead of labels, which are not unique across OrNode child siblings.
For AndNodes, show only last rule label.
For OrNodes, separate rule labels with ▹.
Aren't we picky.
Otherwise the goals just keep growing and get pretty hairy!
For Akka (esp. `reference.conf`).
Some syntax has been deprecated: `in` method.
Filename is still needed because scopt, but ignored.
E.g. `suslik server .`
Emits log to file in `logs/`.
Uses rolling log appender.
Each synthesis task is limited to one hour.
Timeout can be specified as e.g. `10s` instead of `10000` for
convenience.
Turns out submodules tracking a branch can be forwarded with

  git submodule update --remote
Conflicting build.sbt configs and a change in the command-line args
format.
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.

None yet

2 participants