14,244 research outputs found

    The C Object System: Using C as a High-Level Object-Oriented Language

    Full text link
    The C Object System (Cos) is a small C library which implements high-level concepts available in Clos, Objc and other object-oriented programming languages: uniform object model (class, meta-class and property-metaclass), generic functions, multi-methods, delegation, properties, exceptions, contracts and closures. Cos relies on the programmable capabilities of the C programming language to extend its syntax and to implement the aforementioned concepts as first-class objects. Cos aims at satisfying several general principles like simplicity, extensibility, reusability, efficiency and portability which are rarely met in a single programming language. Its design is tuned to provide efficient and portable implementation of message multi-dispatch and message multi-forwarding which are the heart of code extensibility and reusability. With COS features in hand, software should become as flexible and extensible as with scripting languages and as efficient and portable as expected with C programming. Likewise, Cos concepts should significantly simplify adaptive and aspect-oriented programming as well as distributed and service-oriented computingComment: 18

    ABA revisited : evidence from Latin and Czech degree morphology

    Get PDF
    We present a novel account of root suppletion in comparatives and superlatives, and show how it accounts for the presence of ABB and ABC patterns, as well as the absence of ABA patterns. The account assumes that suppletive roots, despite appearances to the contrary, are not contextual allomorphs, but portmanteaus spelling out two distinct features, one belonging to the lexical root, and another one belonging to the comparative. The regular comparative affix then spells out an additional feature relating to the comparative domain. In other words, we show that the comparative (CMPR) head that enters into the morphological makeup of the comparative (Bobaljik 2012) is to be split up into two distinct heads, C1 and C2 (see also Caha 2016). We extend this idea to SPRL, which we show is likewise to be split up into S1 and S2, in order to account for suppletive ABC patterns. These four distinct heads receive empirical support from facts of the degree morphology in Czech and Latin. The new account of root suppletion allows a straightforward way of deriving the attested and unattested patterns of (root) suppletion in degree comparison. The analysis developed supports the hypothesis that the absence of AAB patterns in degree comparison is due to a constraint of a different nature altogether

    On past participle agreement in transitive clauses in French

    Get PDF
    This paper provides a Minimalist analysis of past participle agreement in French in transitive clauses. Our account posits that the head v of vP in such structures carries an (accusativeassigning) structural case feature which may apply (with or without concomitant agreement) to case-mark a clause-mate object, the subject of a defective complement clause, or an intermediate copy of a preposed subject in spec-CP. In structures where a goal is extracted from vP (e.g. via wh-movement) v also carries an edge feature, and may also carry a specificity feature and a set of (number and gender) agreement features. We show how these assumptions account for agreement of a participle with a preposed specific clausemate object or defective-clause subject, and for the absence of agreement with an embedded object, with the complement of an impersonal verb, and with the subject of an embedded (finite or nonfinite) CP complement. We also argue that the absence of agreement marking (in expected contexts) on the participles faitmade and laissélet in infinitive structures is essentially viral in nature. Finally, we claim that obligatory participle agreement with reflexive and reciprocal objects arises because the derivation of reflexives involves A-movement and concomitant agreement
    corecore