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

Require java 11 #2385

Merged
merged 4 commits into from
Dec 16, 2021
Merged

Require java 11 #2385

merged 4 commits into from
Dec 16, 2021

Conversation

dwightguth
Copy link
Collaborator

We have discovered issues where kompile does not correctly create symlinks if you are running K on Java 8. The simplest solution is simply to require Java 11 in order to use K.

We perform the following changes:

  • Change the Maven build to target Java 11
  • Test that java 11 features can be used in source code
  • Update documentation

@dwightguth dwightguth marked this pull request as ready for review December 16, 2021 19:00
@ehildenb
Copy link
Member

I approved, but would like @radumereuta to look at the var ... usage and see if it's OK with his styling choice as well.

It seems like we should use it sparingly, specifically only when (i) it's very clear from visual inspection what type the var will get, and (ii) when it actually makes the code more readable/less verbose. I guess the example here meets both those criteria.

@dwightguth
Copy link
Collaborator Author

The reason I chose to use var in the spot I did to test the feature was because the type of the variable was effectively redundant. I agree we should limit usage of the feature to cases where it is either redundant or extremely verbose.

Copy link
Contributor

@radumereuta radumereuta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm.
The var thing was just a personal opinion. I prefer typed variables, even though it's more verbose.
In this case, I guess it's necessary to force the upgrade to java 11.

@dwightguth
Copy link
Collaborator Author

Technically it's not necessary because we are actually targeting java 11 bytecode and we are using the maven enforcer plugin to reject older versions of java during source builds, but I would prefer to have at least one java 11 feature in the codebase somewhere in order to make sure that something breaks if we aren't properly supporting java 11.

Also, while your preference may be for more verbose code, there's no reason to enforce that preference on all K developers if the automatically typed variable is still obviously of a certain type.

Regardless, this ought to merge as soon as the tests pass.

@radumereuta
Copy link
Contributor

Also, while your preference may be for more verbose code, there's no reason to enforce that preference on all K developers if the automatically typed variable is still obviously of a certain type.

Let me reiterate. It's just a personal preference of mine. I am not enforcing it on anyone. I will not mention it on any code review. The JVM team knows better.

I would prefer to have at least one java 11 feature in the codebase somewhere in order to make sure that something breaks if we aren't properly supporting java 11.

That's what I wanted to say. It will force my IDE to target java 11 also. I don't think you can force that through the setup files.

@rv-jenkins rv-jenkins merged commit aeb2611 into master Dec 16, 2021
@rv-jenkins rv-jenkins deleted the java11 branch December 16, 2021 22:10
h0nzZik pushed a commit to h0nzZik/k that referenced this pull request Nov 24, 2022
* haskell-backend/src/main/native/haskell-backend: c4278195 - Keep table of term replacements in SideCondition, use in term simplifier (runtimeverification#2315)

* haskell-backend/src/main/native/haskell-backend: 51607104 - Update dependency: deps/k_release

* haskell-backend/src/main/native/haskell-backend: 44423faa - Remove build date from version info and add dirty flag (runtimeverification#2370)

* haskell-backend/src/main/native/haskell-backend: d0412b76 - Update dependency: deps/k_release

* haskell-backend/src/main/native/haskell-backend: e87dac75 - Fix uninterpreted functions in keys of Maps and Sets (runtimeverification#2323)

* haskell-backend/src/main/native/haskell-backend: deaf0af1 - Keep set of defined terms in SideCondition (runtimeverification#2354)

* haskell-backend/src/main/native/haskell-backend: 266597e9 - Revert runtimeverification#2315 (runtimeverification#2385)

* haskell-backend/src/main/native/haskell-backend: d18be998 - kore-0.39.0.0 (runtimeverification#2388)
h0nzZik pushed a commit to h0nzZik/k that referenced this pull request Nov 24, 2022
…untimeverification#1830)

* haskell-backend/src/main/native/haskell-backend: 79703e11 - Update dependency: deps/k_release

* haskell-backend/src/main/native/haskell-backend: 8428df45 - LTS Haskell 17.4

* haskell-backend/src/main/native/haskell-backend: 2e714c56 - Add an EquationVariableName to RewritingVariableName

* haskell-backend/src/main/native/haskell-backend: c5cc46be - Update dependency: deps/k_release

* haskell-backend/src/main/native/haskell-backend: 0c4ad203 - Update dependency: deps/k_release

* haskell-backend/src/main/native/haskell-backend: a182994f - Update dependency: deps/k_release

* haskell-backend/src/main/native/haskell-backend: 9460590a - Simplify side conditions (runtimeverification#2393)

* haskell-backend/src/main/native/haskell-backend: 4fb83523 - Fix `variable` to `RewritingVariableName` in `Kore.Equation.Application` (runtimeverification#2325)

* haskell-backend/src/main/native/haskell-backend: f41cba23 - Revert "Revert runtimeverification#2315 (runtimeverification#2385)" (runtimeverification#2389)

* haskell-backend/src/main/native/haskell-backend: 44eed8d7 - Run Test workflow on macOS (runtimeverification#2420)

* haskell-backend/src/main/native/haskell-backend: 904f5322 - kore-repl: Print human-readable error messages (runtimeverification#2441)

* haskell-backend/src/main/native/haskell-backend: b49fdd3c - Make Conditional's term a strict field (runtimeverification#2442)

* haskell-backend/src/main/native/haskell-backend: 01f0402d - adding match for And (runtimeverification#2435)

* haskell-backend/src/main/native/haskell-backend: 3243d1e5 - kore-0.41.0.0 (runtimeverification#2444)

* haskell-backend/src/main/native/haskell-backend: 28913344 - Update dependency: deps/k_release

* haskell-backend/src/main/native/haskell-backend: abf0292b - Use unit and element symbol attributes

* haskell-backend/src/main/native/haskell-backend: 7d3ee1bc - Inefficient Equation renaming (runtimeverification#2438)

* haskell-backend/src/main/native/haskell-backend: 95b6c107 - Stop simplifying the left-hand side of equations (runtimeverification#2392)

* haskell-backend/src/main/native/haskell-backend: 21959d95 - Add instructions for running one test in Docker (runtimeverification#2456)

* haskell-backend/src/main/native/haskell-backend: 4195d948 - Removes sort checks for Map and Set during internalization (runtimeverification#2440)

* Predicates in the condition are now simplified

* haskell-backend/src/main/native/haskell-backend: c35bfa56 - Remove defined marker (runtimeverification#2380)

* haskell-backend/src/main/native/haskell-backend: 57ad3292 - Remove cabal.project.freeze (runtimeverification#2450)

* haskell-backend/src/main/native/haskell-backend: 66158c67 - Support the --bug-report and --no-bug-report options in kore-repl (#2462)

* haskell-backend/src/main/native/haskell-backend: f0d93ac5 - Use stderr for errors (runtimeverification#2458)

* haskell-backend/src/main/native/haskell-backend: 0427fae7 - Distinguish \bottom from stuck states (runtimeverification#2451)

* haskell-backend/src/main/native/haskell-backend: d136446e - Fix Strict performance (runtimeverification#2447)

* haskell-backend/src/main/native/haskell-backend: a4e55b2a - Remove IMP fragment tests (runtimeverification#2467)

* haskell-backend/src/main/native/haskell-backend: 1f61e5a6 - Revert PRs related to InternalAc, Unit, Element & Concat symbols changes (runtimeverification#2463)

* haskell-backend/src/main/native/haskell-backend: fcfc2d52 - Remove the EvaluatedF marker from TermLike (runtimeverification#2469)

* haskell-backend/src/main/native/haskell-backend: fb56d719 - Revert PR runtimeverification#2334 (runtimeverification#2473)

* haskell-backend/src/main/native/haskell-backend: bb258f14 - Add ref = "main"; to default.nix (runtimeverification#2475)

* haskell-backend/src/main/native/haskell-backend: 964e64e7 - Update dependency: deps/k_release (runtimeverification#2464)

* haskell-backend/src/main/native/haskell-backend: abf14770 - Emit a warning when kore-exec exceeds the depth limit (runtimeverification#2461)

* haskell-backend/src/main/native/haskell-backend: 003a8424 - Update dependency: deps/k_release (runtimeverification#2478)

* haskell-backend/src/main/native/haskell-backend: 485bd89a - kore-0.42.0.0 (runtimeverification#2477)

* Add definedness to lookup rules, regenerate tests

* haskell-backend/src/main/native/haskell-backend: 78515d10 - Update dependency: deps/k_release (runtimeverification#2486)

* Revert changes to domains.md and test output

* haskell-backend/src/main/native/haskell-backend: 4f3a751c - Format code with fourmolu (runtimeverification#2382)

* haskell-backend/src/main/native/haskell-backend: de80594b - Update dependency: deps/k_release (runtimeverification#2490)

* Update map symbolic Haskell tests

* haskell-backend/src/main/native/haskell-backend: 9c9ef914 - Update dependency: deps/k_release (runtimeverification#2495)

Co-authored-by: ana-pantilie <[email protected]>
Co-authored-by: Thomas Tuegel <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants