3,156 research outputs found

    Comparing approaches to generic programming in Haskell

    No full text
    Abstract. The last decade has seen a number of approaches to datatype-generic programming: PolyP, Functorial ML, ‘Scrap Your Boilerplate’, Generic Haskell, ‘Generics for the Masses’, etc. The approaches vary in sophistication and target audience: some propose full-blown programming languages, some suggest libraries, some can be seen as categorical programming methods. In these lecture notes we compare the various approaches to datatype-generic programming in Haskell. We introduce each approach by means of example, and we evaluate it along different dimensions (expressivity, ease of use, etc).

    Report of Governor Johan Rising, 1655, on New Sweden

    No full text
    Governor Johan Rising reports to the Swedish government and royalty on the status of New Sweden (present-day New Jersey). He also reports on other Swedish colonies in the area. He asks that single women and skilled tradesmen be sent to the colonies. Rising also reports that attacks from neighboring Indian tribes are increasing. He has found some protection by forming an alliance with English settlers, but the cost is high, and his colony owes the English money and supplies. Rising asks that Sweden send them money so that they can pay off their debts, build ships that would establish a trading dominance with the West Indies, and cultivate land and crops to gain more profit. Reports from New World governors were sent back to their native countries via ships. Rising sent this report in June of 1655, but Sweden did not recieve the report until November of 1655. This article is part of a Primary Source Material collection compiled by the New Sweden Commemorative Commission in 1988

    Report of Governor Johan Printz, 1647, on New Sweden

    No full text
    Govern Johan Printz, the governor of New Sweden (later to become New Jersey), reports on the status of the colony and the settlers. Many freemen have arrived to settle in New Sweden, but the criminals and military men who were conscripted to the colony want to return to Sweden. Of the freemen, very few are skilled, so Governor Printz asks that blacksmiths, tanners, tailors, carpenters, and butchers be sent to the colony. Additionally, he asks for single women. Printz also reports on two new Swedish colonies that have been established along the Delaware River. However, Dutch settlers have become very aggressive by re-purchasing land from the Indians that the Swedish had already bought. They are also interrupting trade between the Swedes and the Indians, as well as instigating the Indians to attack the Swedes. Printz directed the construction of some storage houses along common trade routes to win back trade from the Indians. However, fighting has erupted between different Native tribes as each tries to establish dominance in trading with the colonies. This article is part of a Primary Source Material collection compiled by the New Sweden Commemorative Commission in 1988

    Relation of the surrender of New Sweden, by Governor Johan Clason Rising, 1655

    No full text
    Governor Johan Rising of New Sweden reports to Sweden on the August 1655 Dutch attack on New Sweden's Fort Christina. The Dutch traveled from New Amsterdam (present-day New York) and easily captured a New Sweden outpost. Rising sent men to the outpost to fend of the Dutch, but the Dutch defeated them and took them as prisoners, leaving Fort Christina without fighting men and supplies. The Dutch then put the Fort under seige. A few days later, Rising surrendered the Fort. He and the Swedish colonists were ordered to either return to Sweden, or to remain in the New World in service to the Dutch. This article is part of a Primary Source Material collection compiled by the New Sweden Commemorative Commission in 1988

    Design Considerations for Building a Scalable Digital Version of a Multi-player Educational Board Game for a MOOC in Logistics and Transportation

    No full text
    With more flexible and large-scale learning environments, new design requirements for games emerge. Massive Open Online Courses (MOOCs) are one of the most important innovations in the learning field. Still, it is a challenge to motivate learners and to keep them motivated in such huge learning environments. To address this challenge, we redesigned a board game targeting at an integrated view on disruption and communication management in an intermodal transportation situation. From the redesign, we have learned that an online game works better with fewer roles, requires immediate feedback, and an engaging way of challenge to keep players motivated. Our findings can inform the design of games for large groups of players in an online environment.Green Open Access added to TU Delft Institutional Repository ‘You share, we take care!’ – Taverne project https://www.openaccess.nl/en/you-share-we-take-care Otherwise as indicated in the copyright section: the publisher is the copyright holder of this work and the author uses the Dutch legislation to make this work public.Policy AnalysisOrganisation & Governanc

    Tool Support for Refactoring Functional Programs

    No full text
    Refactorings are source-to-source program transformations which change program structure and organisation, but not program functionality. Documented in catalogues and supported by tools, refactoring provides the means to adapt and improve the design of existing code, and has thus enabled the trend towards modern agile software development processes. Refactoring has taken a prominent place in software development and maintenance, but most of this recent success has taken place in the OO and XP communities. In our project, we explore the prospects for Refactoring Functional Programs, taking Haskell as a concrete case-study. This paper discusses the variety of pragmatic and implementation issues raised by our work on the Haskell Refactorer. We briefly introduce the ideas behind refactoring, and a set of elementary functional refactorings. The core of the paper then outlines the main challenges that arise from our aim to produce practical tools for a decidedly non-toy language, summarizes our experience in trying to establish the necessary meta-programming infrastructure and gives an implementation overview of our current prototype refactoring tool. Using Haskell as our implementation language, we also offer some preliminary comments on Haskell programming-in-the-large

    Parsifal a Game Opera: Experiential Learning in Gameful Performance Art

    No full text
    Richard Wagner’s Parsifal was recently rewritten and performed as a‘game opera’.We used observations, questionnaires, and interviews to study howthe 700+ audience were facilitated to experientially learn about the show’s mainthemes: compassion and collaboration. This case study contributed to ourunderstanding how performance art may improve games for learning and trainingpurposes, many of which now are notoriously ‘boring’. We concluded thatperformance art’s main contribution, in particular to games discussing fundamentalvalues such as compassion, is to captivate players and ‘lure’ them intotheir natural behaviour. Thus the Parsifal game opera emotionally confronted itsaudience with their – callous and selfish – behaviour and intensified their learningthrough embodied experiences. However, some players lacked time and supportto (collectively) reflect on their experiences and lacked catharsis. Therefore, werecommend using gameful performance art for learning and training purposes,provided that all activities in experiential learning are sufficiently facilitated.Post-print versionPolicy Analysi

    The past, present and future of social media in project management

    No full text
    Green Open Access added to TU Delft Institutional Repository 'You share, we take care!' - Taverne project https://www.openaccess.nl/en/you-share-we-take-care Otherwise as indicated in the copyright section: the publisher is the copyright holder of this work and the author uses the Dutch legislation to make this work public.Integral Design & Managemen

    The Generic Haskell user's guide, Version 1.60 - Diamond release

    No full text
    Software development often consists of designing datatypes around which functionality is added. Some functionality is datatype specific, whereas other functionality is defined on almost all datatypes in a way that depends only on the structure of the datatype. A function that works on many datatypes in this manner is called a generic (or polytypic) function. Examples of generic functionality include editing, pretty-printing or storing a value in a database, and comparing two values for equality. Since datatypes often change and new datatypes are introduced, we have developed Generic H ASKELL, an extension of the functional programming language Haskell [11] that supports generic definitions, to save the programmer from (re)writing instances of generic functions. The original design of Generic H ASKELL is based on work by Ralf Hinze [3]. The current release is based on recent work by Dave Clarke, Johan Jeuring and Andres L¨oh [10, 9]. It extends Haskell with, among other things, a construct for defining type-indexed values. These values can be specialised to all Haskell datatypes, facilitating wider application of generic programming than provided by earlier systems such as PolyP [8]

    Alessandro De Gloria

    No full text
    The editorial of this issue of the International Journal of Serious Games is the last one signed by our Editor in Chief and Founder, Prof. Alessandro De Gloria. Alessandro passed away in Genova, Italy, on March 20th, few days after his 68th birthday. He founded the Serious Games Society and served as its first President, then as Honorary President. He founded also the Games and Learning Alliance Conference, of which he was the first General Chair and Honorary Chair. We mourn a great friend, and a pioneer researcher and creative teacher, with a broad, constructive vision and outstanding team-building skills. The good he made will remain in time
    corecore