82,079 research outputs found

    Practical Datatype Specializations with Phantom Types and Recursion Schemes

    Get PDF
    Datatype specialization is a form of subtyping that captures program invariants on data structures that are expressed using the convenient and intuitive datatype notation. Of particular interest are structural invariants such as well-formedness. We investigate the use of phantom types for describing datatype specializations. We show that it is possible to express statically-checked specializations within the type system of Standard ML. We also show that this can be done in a way that does not lose useful programming facilities such as pattern matching in case expressions.Comment: 25 pages. Appeared in the Proc. of the 2005 ACM SIGPLAN Workshop on M

    A Task-Based Approach to Organization: Knowledge, Communication and Structure

    Get PDF
    We bridge a gap between organizational economics and strategy research by developing a task-based approach to analyze organizational knowledge, process and structure, and deriving testable implications for the relation between production and organizational structure. We argue that organization emerges to integrate disperse knowledge and to coordinate talent in production and is designed to complement the limitations of human ability. The complexity of the tasks undertaken determines the optimal level of knowledge acquisition and talent. The relations between tasks, namely, complementarities or substitutabilities and synergies, determine the allocation of knowledge among members of the organization. Communication shapes the relation between individual talent, and governs the organizational process and structure that integrates disperse knowledge to perform tasks more efficiently. Organization structure can also be deliberately designed ex ante to correct bias of individual judgement, the extent to which is dependent on the attributes of tasks. Organization process and the routinized organizational structure are the core of organizational capital, which generates rent and sustains organizational growth. This task-based approach enriches the existing body of organization studies, in particular the knowledge-based theory of the firm and the dynamic capabilities theory.task-based approach, complementarities, tacit knowledge, codifiable knowledge, code,vertical communication, horizontal communication, organizational architecture, decision bias

    The Burden of Knowledge and the 'Death of the Renaissance Man': Is Innovation Getting Harder?

    Get PDF
    This paper investigates, theoretically and empirically, a possibly fundamental aspect of technological progress. If knowledge accumulates as technology progresses, then successive generations of innovators may face an increasing educational burden. Innovators can compensate in their education by seeking narrower expertise, but narrowing expertise will reduce their individual capacities, with implications for the organization of innovative activity - a greater reliance on teamwork - and negative implications for growth. I develop a formal model of this "knowledge burden mechanism" and derive six testable predictions for innovators. Over time, educational attainment will rise while increased specialization and teamwork follow from a sufficiently rapid increase in the burden of knowledge. In cross-section, the model predicts that specialization and teamwork will be greater in deeper areas of knowledge while, surprisingly, educational attainment will not vary across fields. I test these six predictions using a micro-data set of individual inventors and find evidence consistent with each prediction. The model thus provides a parsimonious explanation for a range of empirical patterns of inventive activity. Upward trends in academic collaboration and lengthening doctorates, which have been noted in other research, can also be explained by the model, as can much-debated trends relating productivity growth and patent output to aggregate inventive effort. The knowledge burden mechanism suggests that the nature of innovation is changing, with negative implications for long-run economic growth.

    The burden of knowledge and the ‘death of the Renaissance man’: Is innovation getting harder?

    Get PDF
    This paper investigates, theoretically and empirically, a possibly fundamental aspect of technological progress. If knowledge accumulates as technology progresses, then successive generations of innovators may face an increasing educational burden. Innovators can compensate in their education by seeking narrower expertise, but narrowing expertise will reduce their individual capacities, with implications for the organization of innovative activity - a greater reliance on teamwork - and negative implications for growth. I develop a formal model of this “knowledge burden mechanism” and derive six testable predictions for innovators. Over time, educational attainment will rise while increased specialization and teamwork follow from a sufficiently rapid increase in the burden of knowledge. In cross-section, the model predicts that specialization and teamwork will be greater in deeper areas of knowledge while, surprisingly, educational attainment will not vary across fields. I test these six predictions using a micro-data set of individual inventors and find evidence consistent with each prediction. The model thus provides a parsimonious explanation for a range of empirical patterns of inventive activity. Upward trends in academic collaboration and lengthening doctorates, which have been noted in other research, can also be explained by the model, as can much-debated trends relating productivity growth and patent output to aggregate inventive effort. The knowledge burden mechanism suggests that the nature of innovation is changing, with negative implications for long-run economic growth.

    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
    • 

    corecore