src/Pure/ML/ml_settings.scala
author wenzelm
Sun, 15 Jun 2025 15:19:03 +0200
changeset 82718 e1a8753eaad7
parent 82716 6e33d46b1400
child 82720 956ecf2c07a0
permissions -rw-r--r--
clarified signature: more modular, avoid adhoc mixins;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
82716
6e33d46b1400 clarified signature: more explicit types;
wenzelm
parents:
diff changeset
     1
/*  Title:      Pure/ML/ml_settings.scala
6e33d46b1400 clarified signature: more explicit types;
wenzelm
parents:
diff changeset
     2
    Author:     Makarius
6e33d46b1400 clarified signature: more explicit types;
wenzelm
parents:
diff changeset
     3
6e33d46b1400 clarified signature: more explicit types;
wenzelm
parents:
diff changeset
     4
ML system settings.
6e33d46b1400 clarified signature: more explicit types;
wenzelm
parents:
diff changeset
     5
*/
6e33d46b1400 clarified signature: more explicit types;
wenzelm
parents:
diff changeset
     6
6e33d46b1400 clarified signature: more explicit types;
wenzelm
parents:
diff changeset
     7
package isabelle
6e33d46b1400 clarified signature: more explicit types;
wenzelm
parents:
diff changeset
     8
6e33d46b1400 clarified signature: more explicit types;
wenzelm
parents:
diff changeset
     9
6e33d46b1400 clarified signature: more explicit types;
wenzelm
parents:
diff changeset
    10
object ML_Settings {
82718
e1a8753eaad7 clarified signature: more modular, avoid adhoc mixins;
wenzelm
parents: 82716
diff changeset
    11
  def system(env: Isabelle_System.Settings = Isabelle_System.Settings()): ML_Settings =
e1a8753eaad7 clarified signature: more modular, avoid adhoc mixins;
wenzelm
parents: 82716
diff changeset
    12
    new ML_Settings {
e1a8753eaad7 clarified signature: more modular, avoid adhoc mixins;
wenzelm
parents: 82716
diff changeset
    13
      override def ml_system: String = Isabelle_System.getenv_strict("ML_SYSTEM", env = env)
e1a8753eaad7 clarified signature: more modular, avoid adhoc mixins;
wenzelm
parents: 82716
diff changeset
    14
      override def ml_platform: String = Isabelle_System.getenv_strict("ML_PLATFORM", env = env)
e1a8753eaad7 clarified signature: more modular, avoid adhoc mixins;
wenzelm
parents: 82716
diff changeset
    15
    }
82716
6e33d46b1400 clarified signature: more explicit types;
wenzelm
parents:
diff changeset
    16
}
6e33d46b1400 clarified signature: more explicit types;
wenzelm
parents:
diff changeset
    17
6e33d46b1400 clarified signature: more explicit types;
wenzelm
parents:
diff changeset
    18
trait ML_Settings {
6e33d46b1400 clarified signature: more explicit types;
wenzelm
parents:
diff changeset
    19
  def ml_system: String
6e33d46b1400 clarified signature: more explicit types;
wenzelm
parents:
diff changeset
    20
  def ml_platform: String
6e33d46b1400 clarified signature: more explicit types;
wenzelm
parents:
diff changeset
    21
  def ml_identifier: String = ml_system + "_" + ml_platform
6e33d46b1400 clarified signature: more explicit types;
wenzelm
parents:
diff changeset
    22
}