Skip to main content

2019 | OriginalPaper | Buchkapitel

Reference Type Logic Variables in Constraint-Logic Object-Oriented Programming

verfasst von : Jan C. Dageförde

Erschienen in: Functional and Constraint Logic Programming

Verlag: Springer International Publishing

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Constraint-logic object-oriented programming, for example using Muli, facilitates the integrated development of business software that occasionally involves finding solutions to constraint-logic problems. The availability of object-oriented features calls for the option to use objects as logic variables as well, as opposed to being limited to primitive type logic variables. The present work contributes a concept for reference type logic variables in constraint-logic object-oriented programming that takes arbitrary class hierarchies of programs written in object-oriented languages into account. The concept discusses interactions between constraint-logic object-oriented programs and reference type logic variables, particularly invocations on and access to logic variables, type operations, and equality. Furthermore, it proposes approaches as to how these interactions can be handled by a corresponding execution environment.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Fußnoten
1
Even though https://static-content.springer.com/image/chp%3A10.1007%2F978-3-030-16202-3_8/MediaObjects/482311_1_En_8_Figg_HTML.gif is not declared explicitly in the given interface, the Java language specification implicitly augments interfaces with abstract methods that correspond to every method that is declared in https://static-content.springer.com/image/chp%3A10.1007%2F978-3-030-16202-3_8/MediaObjects/482311_1_En_8_Figh_HTML.gif [5, Sect. 9.2]. Among others, this includes an implicit declaration of https://static-content.springer.com/image/chp%3A10.1007%2F978-3-030-16202-3_8/MediaObjects/482311_1_En_8_Figi_HTML.gif that is consistent with the corresponding declaration in https://static-content.springer.com/image/chp%3A10.1007%2F978-3-030-16202-3_8/MediaObjects/482311_1_En_8_Figj_HTML.gif .
 
2
Note that only the standalone use of type variables is disregarded here. Consequently, the reference types that we consider in the following may still make use of type variables as part of parameterised (generic) types.
 
3
In general, this includes parameterised (generic) types that remain in parameterised form (e.g., https://static-content.springer.com/image/chp%3A10.1007%2F978-3-030-16202-3_8/MediaObjects/482311_1_En_8_Figbs_HTML.gif ). Therefore, this set is finite.
 
4
Note that here \(fields(o_1) = fields(o_2)\) since \(type(o_1) = type(o_2)\), so \(fields(o_2)\) could be used just as well.
 
Literatur
6.
Zurück zum Zitat Hanus, M., Kuchen, H., Moreno-Navarro, J.J., Votano, J., Parham, M., Hall, L.: Curry: a truly functional logic language. In: Workshop on Visions for the Future of Logic Programming, ILPS 1995, pp. 95–107 (1995) Hanus, M., Kuchen, H., Moreno-Navarro, J.J., Votano, J., Parham, M., Hall, L.: Curry: a truly functional logic language. In: Workshop on Visions for the Future of Logic Programming, ILPS 1995, pp. 95–107 (1995)
14.
Zurück zum Zitat Urma, R.G., Fusco, M., Mycroft, A.: Java 8 in Action: Lambdas, Streams, and Functional-Style Programming. Manning Publications Co., Greenwich (2014) Urma, R.G., Fusco, M., Mycroft, A.: Java 8 in Action: Lambdas, Streams, and Functional-Style Programming. Manning Publications Co., Greenwich (2014)
Metadaten
Titel
Reference Type Logic Variables in Constraint-Logic Object-Oriented Programming
verfasst von
Jan C. Dageförde
Copyright-Jahr
2019
DOI
https://doi.org/10.1007/978-3-030-16202-3_8