Narrow your search
Listing 1 - 10 of 141 << page
of 15
>>
Sort by
Mathematical foundations of computer science 1988. Proceedings of the 13th symposium, Carlsbad, Czechoslovakia, August 29 - September 2, 1988
Authors: --- ---
ISBN: 354050110X 038750110X 354045926X 9783540501107 9780387501109 Year: 1988 Volume: 324 Publisher: Berlin : Springer-Verlag,

Loading...
Export citation

Choose an application

Bookmark

Abstract

This volume contains 11 invited lectures and 42 communications presented at the 13th Conference on Mathematical Foundations of Computer Science, MFCS '88, held at Carlsbad, Czechoslovakia, August 29 - September 2, 1988. Most of the papers present material from the following four fields: - complexity theory, in particular structural complexity, - concurrency and parellelism, - formal language theory, - semantics. Other areas treated in the proceedings include functional programming, inductive syntactical synthesis, unification algorithms, relational databases and incremental attribute evaluation.


Book
Introduction to concurrency using occam
Author:
ISBN: 0278000592 9780278000599 Year: 1988 Publisher: New York (N.Y.): Van Nostrand Reinhold


Book
Practical foundations for programming languages
Author:
ISBN: 9781107029576 1107029570 9781139342131 1107306841 9781107306844 9781107314597 1107314593 1139342134 9781107301757 1107301750 9781107309043 1107309042 1107237300 9781107237308 1107254868 9781107254862 Year: 2013 Publisher: Cambridge Cambridge University Press

Loading...
Export citation

Choose an application

Bookmark

Abstract

Types are the central organizing principle of the theory of programming languages. In this innovative book, Professor Robert Harper offers a fresh perspective on the fundamentals of these languages through the use of type theory. Whereas most textbooks on the subject emphasize taxonomy, Harper instead emphasizes genetics, examining the building blocks from which all programming languages are constructed. Language features are manifestations of type structure. The syntax of a language is governed by the constructs that define its types, and its semantics is determined by the interactions among those constructs. The soundness of a language design - the absence of ill-defined programs - follows naturally. Professor Harper's presentation is simultaneously rigorous and intuitive, relying on elementary mathematics. The framework he outlines scales easily to a rich variety of language concepts and is directly applicable to their implementation. The result is a lucid introduction to programming theory that is both accessible and practical.


Dissertation
Type constructor polymorphism for scala : theory and practice
Authors: ---
ISBN: 9789460180651 Year: 2009 Publisher: Leuven Katholieke Universiteit Leuven

Loading...
Export citation

Choose an application

Bookmark

Abstract

Een statisch type systeem is een belangrijk hulpmiddel bij het efficiënt ontwikkelen van correcte software. We beschrijven zowel de theoretische onderbouw als de praktische kant van onze uitbreiding van Scala's type systeem. Meer concreet veralgemeenden we Scala's ondersteuning voor parametrisch polymorfisme - doorgaans "genericity" genoemd in object-georiënteerde talen - naar het hogere-orde systeem. We noemen het resultaat "type constructor polymorfisme", aangezien Scala programmeurs nu veilig abstractie kunnen maken van type constructors. Deze veralgemening, versterkt door de synergie met bestaande Scala features zoals implicits, is voor de library ontwerper een belangrijke troef in het arsenaal van hulpmiddelen om abstracties te definiëren, terwijl de gebruiker van deze abstracties zich geen zorgen hoeft te maken over hun interne werking. De theoretische kant van het verhaal richt zich op de lacunes in de bestaande Scala formalismes, en presenteert onze oplossing: een nieuwe calculus voor Scala. Tot slot werken we onze visie uit voor toekomstige verbeteringen van het type systeem, gebaseerd op onze ervaring met type constructor polymorfisme. A static type system is an important tool in efficiently developing correct software. We describe the theoretical underpinnings as well as the practical side of our extension of Scala's type system. More concretely, we generalised Scala's support for parametric polymorphism -- typically called "genericity" in object-oriented languages -- to the higher-order case. We call the result "type constructor polymorphism", as Scala programmers may now safely abstract over type constructors. This generalisation, amplified by the synergy with Scala's existing features such as implicits, represents an important asset in the library designer's abstraction-building tool belt, while the user of these abstractions need not worry about their inner workings. The theoretical side of the story focusses on the lacunae in the existing Scala formalisms, and presents our core calculus that solves these. Finally, we elaborate on our vision for future improvements of the type system, based on our practical experience with type constructor polymorphism. Software ontwikkeling is een essentiële activiteit voor vele moderne bedrijven. Onze samenleving is sterk afhankelijk van IT, zelfs voor de meest dagdagelijkse taken. Niettemin is het ontwikkelen van grote software projecten een niet-triviale aangelegenheid. De afgewerkte vorm van een software toepassing bestaat uit code die (enkel) voor een machine leesbaar is, en die is afgeleid uit programmatekst die wel begrijpbaar is voor de programmeur. Het vertalen van de mens-vriendelijke voorstelling naar een efficiënte, machine-leesbare vorm, is de taak van de programmeertaal. Om het belang van een programmeertaal te illustreren, beschouw de volgende analogie: het ontwikkelen van software in een beperkte programmeertaal, is zoals het schrijven van een roman met enkel een- of tweelettergrepige woorden en zonder spellingscontrole of grammatica tools. Moderne programmeertalen zijn al behoorlijk krachtig, maar er blijven nog veel mogelijkheden om ze krachtiger en meer uitbreidbaar te maken (zodat je de metaforische woordenschat kan uitbreiden met nieuwe woorden waarvan de spelling gecontroleerd kan worden of zodat je nieuwe grammaticale constructies kan toevoegen zodat meer grammaticale fouten opgespoord kunnen worden). Het doel van mijn onderzoek is om de programmeur toe te laten de taal uit te breiden, zodat hij of zij zijn of haar ideeën compacter en preciezer kan uitdrukken. Hierdoor kunnen meer fouten tijdig opgespoord worden, zodat de gebruiker van de applicatie er geen last van zal hebben. Software development is an essential activity for many modern companies. Our society heavily relies on IT (and thus also on software) for even the most common day-to-day tasks. However, developing large software projects is a non-trivial effort and programming languages play a determining role in how succesful this effort is. A software application, when finished, consists of machine-readable code that was derived from a human-readable text, written in a programming language. Translating this human-readable representation to a format that can be understood by a computer, is the job of a programming language. To illustrate the importance of a programming language, consider this analogy: developing software with a limited programming language, is like writing a novel using only one or two-syllable words, without a spellchecker or grammar tools. Modern programming languages are already quite powerful, but there are many opportunities to make them more extensible (so that you can extend the vocabulary your metaphorical spellchecker is able to process, extend the grammar tools so that they can detect more syntactical errors, and so on). The goal of my research is to allow the programmer to extend the language so that he or she can express his or her ideas more concisely, while at the same time allowing the computer to find more mistakes, that would hinder the user of the application, if they went by undetected.

Listing 1 - 10 of 141 << page
of 15
>>
Sort by