Stream: Archive Mirror: Isabelle Users Mailing List

Topic: [isabelle] Char Code export_code in Scala and compilation...


view this post on Zulip Email Gateway (Aug 22 2022 at 17:35):

From: Thomas Genet <thomas.genet@irisa.fr>
Dear all,

I have a problem with the code generated by Isabelle2018 (but I guess
that it was the case before) for the String/Char type in Scala.

export_code generates an object String that contains:

abstract sealed class char
final case class
Char(a: Boolean, b: Boolean, c: Boolean, d: Boolean, e: Boolean, f:
Boolean,
g: Boolean, h: Boolean)
extends char

[...]

This is fine on a case-sensitive file system but when I try to compile
on a mac os, I get:

"Class String$Char differs only in case from String$char. Such classes
will overwrite one another on case-insensitive filesystems"

And when I run it, I get:

Exception in thread "main" java.lang.NoClassDefFoundError: String$char
(wrong name: String$Char)

Ok, I can fix it by myself in the generated code, but I need to have a
generated code that works out of the box (for a lot of students! ;-)

Best regards,

Thomas

view this post on Zulip Email Gateway (Aug 22 2022 at 17:35):

From: Lars Hupel <hupel@in.tum.de>
Dear Thomas,

This is fine on a case-sensitive file system but when I try to compile
on a mac os, I get:

you can use the "case_insensitive" option that Florian introduced not
long ago: <http://isabelle.in.tum.de/repos/isabelle/rev/ad538f6c5d2f>

See also this thread on the mailing list:
<https://lists.cam.ac.uk/pipermail/cl-isabelle-users/2017-November/msg00071.html>

Cheers
Lars

view this post on Zulip Email Gateway (Aug 22 2022 at 17:36):

From: Thomas Genet <thomas.genet@irisa.fr>
Dear Lars,

thank you very much! I missed this thread while browsing the mailing
list for information on this problem.

This works fine in Isabelle2017 but not in Isabelle2018-RC0.

It has been removed/renamed?

Best regards,

Thomas

view this post on Zulip Email Gateway (Aug 22 2022 at 17:36):

From: Lars Hupel <hupel@in.tum.de>

This works fine in Isabelle2017 but not in Isabelle2018-RC0.

It used to be a declaration, now it is an option you pass to "export_code":

export_code foo in Scala (case_insensitive)

Cheers
Lars

view this post on Zulip Email Gateway (Aug 22 2022 at 17:37):

From: Thomas Genet <thomas.genet@irisa.fr>
Great! thank you very much Lars!!

Best regards,

Thomas


Last updated: Apr 19 2024 at 20:15 UTC