Re: [isabelle-dev] scala-2.12.2

2017-06-24 Thread Makarius
On 24/06/17 21:08, Florian Haftmann wrote:
> See now finally http://isabelle.in.tum.de/repos/isabelle/rev/a41435469559

Great. In Isabelle/d91108ba9474 we are also back to scala-2.12.2 and can
hopefully keep it this time.


Makarius



signature.asc
Description: OpenPGP digital signature
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] scala-2.12.2

2017-06-24 Thread Florian Haftmann
See now finally http://isabelle.in.tum.de/repos/isabelle/rev/a41435469559

Florian

Am 23.06.2017 um 08:43 schrieb Lars Hupel:
>> The patch is now running on testboard:
>> .
> 
> Unfortunately, this patch did not work out.
> 
> 22:13:39 *** Failed to finish proof (line 62 of
> "~~/src/HOL/Library/Code_Target_Nat.thy"):
> 22:13:39 *** goal (1 subgoal):
> 22:13:39 ***  1. Transfer.Rel (rel_fun pcr_integer (rel_fun op = op =))
> 22:13:39 ***  (\a b. True) op =
> 22:13:39 *** At command "by" (line 62 of
> "~~/src/HOL/Library/Code_Target_Nat.thy")
> 

-- 

PGP available:
http://isabelle.in.tum.de/~haftmann/pgp/florian_haftmann_at_informatik_tu_muenchen_de



signature.asc
Description: OpenPGP digital signature
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] scala-2.12.2

2017-06-23 Thread Lars Hupel
> The patch is now running on testboard:
> .

Unfortunately, this patch did not work out.

22:13:39 *** Failed to finish proof (line 62 of
"~~/src/HOL/Library/Code_Target_Nat.thy"):
22:13:39 *** goal (1 subgoal):
22:13:39 ***  1. Transfer.Rel (rel_fun pcr_integer (rel_fun op = op =))
22:13:39 ***  (\a b. True) op =
22:13:39 *** At command "by" (line 62 of
"~~/src/HOL/Library/Code_Target_Nat.thy")
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] scala-2.12.2

2017-06-22 Thread Lars Hupel
> I took the opportunity to have a look at it and found out it can be done
> differently, see attached patch.

The patch is now running on testboard:
.

> The clue about "integer_of_char" is that it had to work regardless
> whether HOL chars are represented authentic or by target language
> characters (importing "~~/src/HOL/Library/Code_Char").
> 
> Nowadays this can be achieved without spelling out the chars explicitly.
>  The last stone to turn around before had been the de-constructivation
> of the char type (b3f2b8c906a6).

Thanks for investigating this.

Cheers
Lars
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] scala-2.12.2

2017-06-22 Thread Florian Haftmann
> Alternatively, Florian might offer some insight why he set up the code
> equations for that particular constant in that way (see "String.thy",
> where a ML snippet generates 256 code equations). Note that large
> pattern matches on the JVM should be avoided, lest we violate the 64k
> method length limit in class files ("integer_of_char" currently requires
> 58044 bytes).

I took the opportunity to have a look at it and found out it can be done
differently, see attached patch.

The clue about "integer_of_char" is that it had to work regardless
whether HOL chars are represented authentic or by target language
characters (importing "~~/src/HOL/Library/Code_Char").

Nowadays this can be achieved without spelling out the chars explicitly.
 The last stone to turn around before had been the de-constructivation
of the char type (b3f2b8c906a6).

Cheers,
Florian

-- 

PGP available:
http://isabelle.in.tum.de/~haftmann/pgp/florian_haftmann_at_informatik_tu_muenchen_de
# HG changeset patch
# Parent  45d3d43abee7147fd43e63a6b4ba6340a5d4b74f
more direct construction of integer_of_num;
code equations for integer_of_char may rely on pattern matching on Char

diff -r 45d3d43abee7 src/HOL/Code_Numeral.thy
--- a/src/HOL/Code_Numeral.thy  Thu Jun 22 16:59:14 2017 +0200
+++ b/src/HOL/Code_Numeral.thy  Thu Jun 22 17:31:28 2017 +0200
@@ -149,24 +149,19 @@
   "int_of_integer (Num.sub k l) = Num.sub k l"
   by transfer rule
 
-lift_definition integer_of_num :: "num \ integer"
-  is "numeral :: num \ int"
-  .
+definition integer_of_num :: "num \ integer"
+  where [simp]: "integer_of_num = numeral"
 
 lemma integer_of_num [code]:
-  "integer_of_num num.One = 1"
-  "integer_of_num (num.Bit0 n) = (let k = integer_of_num n in k + k)"
-  "integer_of_num (num.Bit1 n) = (let k = integer_of_num n in k + k + 1)"
-  by (transfer, simp only: numeral.simps Let_def)+
-
-lemma numeral_unfold_integer_of_num:
-  "numeral = integer_of_num"
-  by (simp add: integer_of_num_def map_fun_def fun_eq_iff)
+  "integer_of_num Num.One = 1"
+  "integer_of_num (Num.Bit0 n) = (let k = integer_of_num n in k + k)"
+  "integer_of_num (Num.Bit1 n) = (let k = integer_of_num n in k + k + 1)"
+  by (simp_all only: integer_of_num_def numeral.simps Let_def)
 
 lemma integer_of_num_triv:
   "integer_of_num Num.One = 1"
   "integer_of_num (Num.Bit0 Num.One) = 2"
-  by (transfer, simp)+
+  by simp_all
 
 instantiation integer :: "{linordered_idom, equal}"
 begin
@@ -301,7 +296,7 @@
 end
 
 declare divmod_algorithm_code [where ?'a = integer,
-  unfolded numeral_unfold_integer_of_num, unfolded integer_of_num_triv, 
+  folded integer_of_num_def, unfolded integer_of_num_triv, 
   code]
 
 lemma integer_of_nat_0: "integer_of_nat 0 = 0"
diff -r 45d3d43abee7 src/HOL/String.thy
--- a/src/HOL/String.thyThu Jun 22 16:59:14 2017 +0200
+++ b/src/HOL/String.thyThu Jun 22 17:31:28 2017 +0200
@@ -160,35 +160,10 @@
   by (simp only: integer_of_char_def integer_of_nat_def comp_apply 
nat_of_char_Char map_fun_def
 id_apply zmod_int modulo_integer.abs_eq [symmetric]) simp
 
-lemma less_256_integer_of_char_Char:
-  assumes "numeral k < (256 :: integer)"
-  shows "integer_of_char (Char k) = numeral k"
-proof -
-  have "numeral k mod 256 = (numeral k :: integer)"
-by (rule semiring_numeral_div_class.mod_less) (insert assms, simp_all)
-  then show ?thesis using integer_of_char_Char [of k]
-by (simp only:)
-qed
-
-setup \
-let
-  val chars = map_range (Thm.cterm_of @{context} o HOLogic.mk_numeral o curry 
(op +) 1) 255;
-  val simpset =
-put_simpset HOL_ss @{context}
-  addsimps @{thms numeral_less_iff less_num_simps};
-  fun mk_code_eqn ct =
-Thm.instantiate' [] [SOME ct] @{thm less_256_integer_of_char_Char}
-|> full_simplify simpset;
-  val code_eqns = map mk_code_eqn chars;
-in
-  Global_Theory.note_thmss ""
-[((@{binding integer_of_char_simps}, []), [(code_eqns, [])])]
-  #> snd
-end
-\
-
-declare integer_of_char_simps [code]
-
+lemma integer_of_char_Char_code [code]:
+  "integer_of_char (Char k) = integer_of_num k mod 256"
+  by simp
+  
 lemma nat_of_char_code [code]:
   "nat_of_char = nat_of_integer \ integer_of_char"
   by (simp add: integer_of_char_def fun_eq_iff)


signature.asc
Description: OpenPGP digital signature
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] scala-2.12.2

2017-06-22 Thread Lars Hupel
> The guys there are talking about Dotty. Do you think it will be also
> taken into account by the regular scalac maintainers eventually?

Those are Martin Odersky's students, so it's natural that they want to
avoid this in Dotty.

I'm confident that the scalac team at Lightbend will also have a look,
but we should give them a couple of days.

> Alternatively, if Florian has an idea for a workaround it is also fine.

I'm still not quite sure about the impact of this.

If I manually increase the stack size (-Xss), as is done in
ISABELLE_SCALAC_OPTIONS, the problem goes away (even for the full
"test.scala" file). This would explain why the problem didn't manifest
itself in the testboard. However, I'm not sure if we should expect users
of code generation to invoke compilers with specific options.

Regardless, this is clearly a regression in Scala.

Alternatively, Florian might offer some insight why he set up the code
equations for that particular constant in that way (see "String.thy",
where a ML snippet generates 256 code equations). Note that large
pattern matches on the JVM should be avoided, lest we violate the 64k
method length limit in class files ("integer_of_char" currently requires
58044 bytes).
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] scala-2.12.2

2017-06-22 Thread Makarius
On 22/06/17 14:10, Lars Hupel wrote:
>> a "StackOverflowError" (in the patmat phase), before I even got a chance
>> at running this
> 
> I have investigated this now. It is a regression from Scala 2.11.x to
> Scala 2.12.x.
> 
> The offending function is "integer_of_char", which performs a 256-way
> pattern matching. Maybe this should be implemented differently.
> 
> In any case, I have filed this as a bug:
> 
>   

The guys there are talking about Dotty. Do you think it will be also
taken into account by the regular scalac maintainers eventually?

Alternatively, if Florian has an idea for a workaround it is also fine.


Makarius
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] scala-2.12.2

2017-06-22 Thread Lars Hupel
> a "StackOverflowError" (in the patmat phase), before I even got a chance
> at running this

I have investigated this now. It is a regression from Scala 2.11.x to
Scala 2.12.x.

The offending function is "integer_of_char", which performs a 256-way
pattern matching. Maybe this should be implemented differently.

In any case, I have filed this as a bug:

  

Cheers
Lars
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] scala-2.12.2

2017-06-19 Thread Makarius
On 19/06/17 14:16, Makarius wrote:
> On 19/06/17 13:38, Lars Hupel wrote:
> 
>> - I just unpacked the attachment you sent and, with scalac 2.12.2 I get
>> a "StackOverflowError" (in the patmat phase), before I even got a chance
>> at running this
> 
> I have started to experiment with that, and ran into a confusion of
> SCALA_HOME. Maybe this is the actual cause of the problem. I will
> investigate further ...

That was just a confusion: my .bashrc sets its own SCALA_HOME and that
was using a different version. This only occurs when there is another
interactive bash invocation, e.g. with "isabelle env bash".

The key problem is still there. Even just with this scalac invocation:

isabelle_scala scalac $ISABELLE_SCALAC_OPTIONS -d test test.scala
-classpath test

Using the test.scala.xz that I posted earlier.


Makarius
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] scala-2.12.2

2017-06-19 Thread Makarius
On 19/06/17 13:38, Lars Hupel wrote:
>> I've just made a quick test of HOL-Codegenerator_Test on lxbroy10: it
>> leads to a very long running java process. Killing that produces the
>> following error:
>>
>> *** Code check failed for Scala: isabelle_scala scalac
>> $ISABELLE_SCALAC_OPTIONS ROOT.scala
>> *** At command "export_code" (line 18 of
>> "~~/src/HOL/Codegenerator_Test/Generate.thy")
> 
> Very curious, for multiple reasons:
> 
> - the code check error message explicitly talks about "scalac"

I would say that misleading error messages are quite normal.


> - I just unpacked the attachment you sent and, with scalac 2.12.2 I get
> a "StackOverflowError" (in the patmat phase), before I even got a chance
> at running this

I have started to experiment with that, and ran into a confusion of
SCALA_HOME. Maybe this is the actual cause of the problem. I will
investigate further ...


Makarius


___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] scala-2.12.2

2017-06-19 Thread Lars Hupel
> The scalac part should be OK. The problem is the scala part, i.e. actual
> runtime -- presumably the run_cmd here:
> http://isabelle.in.tum.de/repos/isabelle/annotate/20304512a33b/src/HOL/Library/code_test.ML#l562
> 
> I've just made a quick test of HOL-Codegenerator_Test on lxbroy10: it
> leads to a very long running java process. Killing that produces the
> following error:
> 
> *** Code check failed for Scala: isabelle_scala scalac
> $ISABELLE_SCALAC_OPTIONS ROOT.scala
> *** At command "export_code" (line 18 of
> "~~/src/HOL/Codegenerator_Test/Generate.thy")

Very curious, for multiple reasons:

- testboard is supposed to run Scala as well (I'll need to double check
that that's the case)
- the code check error message explicitly talks about "scalac"
- I just unpacked the attachment you sent and, with scalac 2.12.2 I get
a "StackOverflowError" (in the patmat phase), before I even got a chance
at running this
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] scala-2.12.2

2017-06-19 Thread Makarius
On 12/06/17 21:15, Florian Haftmann wrote:
> Am 11.06.2017 um 09:01 schrieb Florian Haftmann:
>>> It definitely looks like scala-2.12.2 causes non-termination, e.g. of
>>> src/HOL/Codegenerator_Test/Generate.thy -- I have opened that file in
>>> isabelle jedit and waited for approx. 30min; a batch build of
>>> HOL-Codegenerator_Test ran into timeout of 2h.
>>>
>>> Maybe Florian has an idea.
> 
> Unfortunately I cannot reproduce this.
> 
> Starting with a2e441805d6a, I did a
> 
>   hg backout 94b0da1b242e
> 
> and neither src/HOL/Codegenerator_Test/Generate.thy nor
> src/HOL/Codegenerator_Test/Generate_Efficient_Datastructures.thy exposed
> any problems.
> 
> I took the generated code and ran separate Scala compilations:
> 
>>
>> + /home/haftmann/.isabelle/contrib/scala-2.12.2/bin/scalac -encoding UTF-8 
>> -nowarn -target:jvm-1.8 -Xmax-classfile-name 130 -J-Xms128m -J-Xmx1024m 
>> -J-Xss2m scala_12.scala

The scalac part should be OK. The problem is the scala part, i.e. actual
runtime -- presumably the run_cmd here:
http://isabelle.in.tum.de/repos/isabelle/annotate/20304512a33b/src/HOL/Library/code_test.ML#l562

I've just made a quick test of HOL-Codegenerator_Test on lxbroy10: it
leads to a very long running java process. Killing that produces the
following error:

*** Code check failed for Scala: isabelle_scala scalac
$ISABELLE_SCALAC_OPTIONS ROOT.scala
*** At command "export_code" (line 18 of
"~~/src/HOL/Codegenerator_Test/Generate.thy")


Attached is the generated source.


Makarius


test.scala.xz
Description: application/xz


signature.asc
Description: OpenPGP digital signature
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] scala-2.12.2

2017-06-13 Thread Lars Hupel
> I've just pushed the inverse patch of 94b0da1b242e to testboard, so
> we'll see.
> 
> 

HOL-Codegenerator_Test runs fine (0:14:41 elapsed time).

Cheers
Lars
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] scala-2.12.2

2017-06-13 Thread Lars Hupel
> Maybe we should give it another try?

I've just pushed the inverse patch of 94b0da1b242e to testboard, so
we'll see.



Cheers
Lars
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] scala-2.12.2

2017-06-12 Thread Florian Haftmann
Am 11.06.2017 um 09:01 schrieb Florian Haftmann:
>> It definitely looks like scala-2.12.2 causes non-termination, e.g. of
>> src/HOL/Codegenerator_Test/Generate.thy -- I have opened that file in
>> isabelle jedit and waited for approx. 30min; a batch build of
>> HOL-Codegenerator_Test ran into timeout of 2h.
>>
>> Maybe Florian has an idea.

Unfortunately I cannot reproduce this.

Starting with a2e441805d6a, I did a

hg backout 94b0da1b242e

and neither src/HOL/Codegenerator_Test/Generate.thy nor
src/HOL/Codegenerator_Test/Generate_Efficient_Datastructures.thy exposed
any problems.

I took the generated code and ran separate Scala compilations:

> + /home/haftmann/.isabelle/contrib/scala-2.11.8/bin/scalac -encoding UTF-8 
> -nowarn -target:jvm-1.8 -Xmax-classfile-name 130 -J-Xms128m -J-Xmx1024m 
> -J-Xss2m scala_12.scala
> 
> real  0m59.888s
> user  2m2.836s
> sys   0m0.848s
> 
> + /home/haftmann/.isabelle/contrib/scala-2.12.2/bin/scalac -encoding UTF-8 
> -nowarn -target:jvm-1.8 -Xmax-classfile-name 130 -J-Xms128m -J-Xmx1024m 
> -J-Xss2m scala_12.scala
> 
> real  1m55.739s
> user  3m8.200s
> sys   0m0.760s

Surely there is a considerable increase in time resources but no
termination issue at all.

Maybe we should give it another try?

Cheers,
Florian

-- 

PGP available:
http://isabelle.in.tum.de/~haftmann/pgp/florian_haftmann_at_informatik_tu_muenchen_de



signature.asc
Description: OpenPGP digital signature
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] scala-2.12.2

2017-06-11 Thread Florian Haftmann
> It definitely looks like scala-2.12.2 causes non-termination, e.g. of
> src/HOL/Codegenerator_Test/Generate.thy -- I have opened that file in
> isabelle jedit and waited for approx. 30min; a batch build of
> HOL-Codegenerator_Test ran into timeout of 2h.
> 
> Maybe Florian has an idea.

Btw. I am working on this but still have no conclusive answer.

To be continued…

Florian

-- 

PGP available:
http://isabelle.in.tum.de/~haftmann/pgp/florian_haftmann_at_informatik_tu_muenchen_de



signature.asc
Description: OpenPGP digital signature
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] scala-2.12.2

2017-05-23 Thread Makarius
On 22/05/17 15:16, Makarius wrote:
> On 22/05/17 13:12, Lars Hupel wrote:
>>> After your change d76937b773d9, I still see a non-terminating
>>> HOL-Codegenerator_Test. So in 94b0da1b242e I have switched back to
>>> scala-2.11.8.
>>
>> Interesting. In Jenkins, this commit builds fine:
>> .
>> (I had tested it with testboard before anyway.)
>>
> 
> OK, I will look more closely again.

I have tried 18f5014331a1 again where scala-2.12.2 was still active,
while in 94b0da1b242e it is back to scala-2.11.8.

It definitely looks like scala-2.12.2 causes non-termination, e.g. of
src/HOL/Codegenerator_Test/Generate.thy -- I have opened that file in
isabelle jedit and waited for approx. 30min; a batch build of
HOL-Codegenerator_Test ran into timeout of 2h.

Maybe Florian has an idea.


> There are some other problems with Windows: some of this already works
> in e896db33d4ce, but it is not yet finished.

This is an independent problem from long ago, when Poly/ML switched from
Cygwin to native MinGW. With Isabelle/8411f1a2272c
HOL-Codegenerator_Test should work on Windows.

In Isabelle/6181ccb4ec8c, I have even activated ISABELLE_GHC, although
that causes somewhat erratic results in HOL-Quickcheck_Examples.


Makarius
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] scala-2.12.2

2017-05-22 Thread Makarius
On 22/05/17 13:12, Lars Hupel wrote:
>> After your change d76937b773d9, I still see a non-terminating
>> HOL-Codegenerator_Test. So in 94b0da1b242e I have switched back to
>> scala-2.11.8.
> 
> Interesting. In Jenkins, this commit builds fine:
> .
> (I had tested it with testboard before anyway.)
> 

OK, I will look more closely again.

There are some other problems with Windows: some of this already works
in e896db33d4ce, but it is not yet finished.


Makarius

___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] scala-2.12.2

2017-05-22 Thread Lars Hupel
> After your change d76937b773d9, I still see a non-terminating
> HOL-Codegenerator_Test. So in 94b0da1b242e I have switched back to
> scala-2.11.8.

Interesting. In Jenkins, this commit builds fine:
.
(I had tested it with testboard before anyway.)
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] scala-2.12.2

2017-05-21 Thread Makarius
On 21/05/17 13:56, Lars Hupel wrote:
>> With Isabelle/a43a079156a6 we are on scala-2.12.2, leaving the 2.11.x
>> behind.
> 
> See also Isabelle/d76937b773d9, which repairs a broken code adaptation.
> Note that `error` had been deprecated for at least one major release cycle.

Thanks for keeping an eye on that. When updating the scala component to
2.12, I had the feeling that something bad is going to happen again,
just like last time.

After your change d76937b773d9, I still see a non-terminating
HOL-Codegenerator_Test. So in 94b0da1b242e I have switched back to
scala-2.11.8.


I have also improved http://isabelle.in.tum.de/devel/build_status/ to
show failed sessions on the main page, so that I will see such problems
earlier next time.


Makarius

___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] scala-2.12.2

2017-05-21 Thread Lars Hupel
> With Isabelle/a43a079156a6 we are on scala-2.12.2, leaving the 2.11.x
> behind.

See also Isabelle/d76937b773d9, which repairs a broken code adaptation.
Note that `error` had been deprecated for at least one major release cycle.

Maybe we should start performing code checks with stricter compile flags
(e.g. "fatal warnings") to detect these problems early on.

Additionally, we might want to investigate checking multiple versions of
target languages. Three of the four platforms (Scala, Haskell, OCaml)
have tooling for selecting specific compiler versions available (sbt,
Stack, OPAM, respectively), whereas the fourth platform (SML) hardly, if
ever, makes breaking changes.

Cheers
Lars
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev