113 research outputs found

    The Racket Manifesto

    Get PDF
    The creation of a programming language calls for guiding principles that point the developers to goals. This article spells out the three basic principles behind the 20-year development of Racket. First, programming is about stating and solving problems, and this activity normally takes place in a context with its own language of discourse; good programmers ought to formulate this language as a programming language. Hence, Racket is a programming language for creating new programming languages. Second, by following this language-oriented approach to programming, systems become multi-lingual collections of interconnected components. Each language and component must be able to protect its specific invariants. In support, Racket offers protection mechanisms to implement a full language spectrum, from C-level bit manipulation to soundly typed extensions. Third, because Racket considers programming as problem solving in the correct language, Racket also turns extra-linguistic mechanisms into linguistic constructs, especially mechanisms for managing resources and projects. The paper explains these principles and how Racket lives up to them, presents the evaluation framework behind the design process, and concludes with a sketch of Racket\u27s imperfections and opportunities for future improvements

    From Macros to DSLs: The Evolution of Racket

    Get PDF
    The Racket language promotes a language-oriented style of programming. Developers create many domain-specific languages, write programs in them, and compose these programs via Racket code. This style of programming can work only if creating and composing little languages is simple and effective. While Racket\u27s Lisp heritage might suggest that macros suffice, its design team discovered significant shortcomings and had to improve them in many ways. This paper presents the evolution of Racket\u27s macro system, including a false start, and assesses its current state

    The Crusader and the Dictator: An Exploration of Ideology and Neurodivergence in Contemporary Technology Practice

    Full text link
    A common theme in public discourse is the recognition that technology in general, and digital technology specifically, has an enormous impact on the everyday lives of people from all walks of modern life, in almost every corner of the globe. This thesis interrogates the connection between neurodivergence—the presence of neurological variations considered outside the cognitive norm— and individualistic ideology within the information technology industries. Through the biographies, substantial record of activities, public statements, and writings surrounding two influential figures in the contemporary practice of computer science, Richard Stallman and Linus Torvalds, it conducts an investigation into this convergence and its resulting impact on the surrounding culture

    Event Loops as First-Class Values: A Case Study in Pedagogic Language Design

    Full text link
    The World model is an existing functional input-output mechanism for event-driven programming. It is used in numerous popular textbooks and curricular settings. The World model conflates two different tasks -- the definition of an event processor and its execution -- into one. This conflation imposes a significant (even unacceptable) burden on student users in several educational settings where we have tried to use it, e.g., for teaching physics. While it was tempting to pile on features to address these issues, we instead used the Scheme language design dictum of removing weaknesses that made them seem necessary. By separating the two tasks above, we arrived at a slightly different primitive, the reactor, as our basis. This only defines the event processor, and a variety of execution operators dictate how it runs. The new design enables programmatic control over event-driven programs. This simplifies reflecting on program behavior, and eliminates many unnecessary curricular dependencies imposed by the old design. This work has been implemented in the Pyret programming language. The separation of concerns has enabled new curricula, such as the Bootstrap:Physics curriculum, to take flight. Thousands of students use this new mechanism every year. We believe that reducing impedance mismatches improves their educational experience

    Doctor of Philosophy

    Get PDF
    dissertationPlaces and distributed places bring new support for message-passing parallelism to Racket. This dissertation describes the programming model and how Racket's sequential runtime-system was modified to support places and distributed places. The freedom to design the places programming model helped make the implementation tractable; specifically, the conventional pain of adding just the right amount of locking to a big, legacy runtime system was avoided. The dissertation presents an evaluation of the places design that includes both real-world applications and standard parallel benchmarks. Distributed places are introduced as a language extension of the places design and architecture. The distributed places extension augments places with the features of remote process launch, remote place invocation, and distributed message passing. Distributed places provide a foundation for constructing higher-level distributed frameworks. Example implementations of RPC, MPI, map reduce, and nested data parallelism demonstrate the extensibility of the distributed places API

    An Insider Misuse Threat Detection and Prediction Language

    Get PDF
    Numerous studies indicate that amongst the various types of security threats, the problem of insider misuse of IT systems can have serious consequences for the health of computing infrastructures. Although incidents of external origin are also dangerous, the insider IT misuse problem is difficult to address for a number of reasons. A fundamental reason that makes the problem mitigation difficult relates to the level of trust legitimate users possess inside the organization. The trust factor makes it difficult to detect threats originating from the actions and credentials of individual users. An equally important difficulty in the process of mitigating insider IT threats is based on the variability of the problem. The nature of Insider IT misuse varies amongst organizations. Hence, the problem of expressing what constitutes a threat, as well as the process of detecting and predicting it are non trivial tasks that add up to the multi- factorial nature of insider IT misuse. This thesis is concerned with the process of systematizing the specification of insider threats, focusing on their system-level detection and prediction. The design of suitable user audit mechanisms and semantics form a Domain Specific Language to detect and predict insider misuse incidents. As a result, the thesis proposes in detail ways to construct standardized descriptions (signatures) of insider threat incidents, as means of aiding researchers and IT system experts mitigate the problem of insider IT misuse. The produced audit engine (LUARM – Logging User Actions in Relational Mode) and the Insider Threat Prediction and Specification Language (ITPSL) are two utilities that can be added to the IT insider misuse mitigation arsenal. LUARM is a novel audit engine designed specifically to address the needs of monitoring insider actions. These needs cannot be met by traditional open source audit utilities. ITPSL is an XML based markup that can standardize the description of incidents and threats and thus make use of the LUARM audit data. Its novelty lies on the fact that it can be used to detect as well as predict instances of threats, a task that has not been achieved to this date by a domain specific language to address threats. The research project evaluated the produced language using a cyber-misuse experiment approach derived from real world misuse incident data. The results of the experiment showed that the ITPSL and its associated audit engine LUARM provide a good foundation for insider threat specification and prediction. Some language deficiencies relate to the fact that the insider threat specification process requires a good knowledge of the software applications used in a computer system. As the language is easily expandable, future developments to improve the language towards this direction are suggested

    Are These Us? A Semiotic View of Mixed Iron-Clay Feet From Daniel 2 in the Age of Artificial Intelligent Technology

    Full text link
    This research offers a semiotic interpretation of Daniel’s prophetic \u27mixed iron and clay feet\u27 interpretation from Nebuchadnezzar’s dream. This prophecy may be used to predict a potentially mixed Human-AI culture and its impacts on Christian faith in the age of AI and cyborgs. The Christian faith traditionally has not applied Daniel’s iron-clay feet metaphor to a potentially mixed Human-AI reality. However, I will argue that by employing this semiotic interpretation, we can inform and guide Christ’s Church, which continues to remain grossly unprepared for the questions and challenges raised by a burgeoning Human-AI culture. Knowledge of this topic will prepare the church better to navigate its future. In a potentially blended Human-AI culture, a significant opportunity exists for the Church to define what it means to be fully human and to provide a redemptive, ethical, and theological framework for the benefit of humanity in the new AI technological age. This dissertation suggests how effective Christian faith can be communicated to a blended Human-AI culture with openness, with loving mission, and maintaining the belief that God—the Alpha and the Omega—is always in control no matter how advanced our technology gets. Chapter 1 presents a semiotic analysis of the metallic human statue from Nebuchadnezzar’s dream through Daniel’s interpretation in Dan. 2. This leads the reader into a historical journey through the earthly kingdoms represented by the different metallic portions in that human statue—the gold head, the silver chest and arms, the bronze belly and thigh, the iron legs, and the mixed iron-clay feet. Chapter 2 provides 1) an overview of Biblical scholars’ interpretations of the mixed iron-clay feet metaphor through the historical lens of humanity and 2) a view of the metaphor as a potentially mixed culture between humans and humanoid AI beings, as seen through my own semiotic lens. I will explain why I chose the clay metaphor for human beings and the iron metaphor for humanoid-AI beings and will suggest how this metaphor can be helpful to us today in contemplating our own current and future culture. Chapter 3 discusses the traditional Christian belief in God’s creation and the rise of humanoid-AI beings through the two most applicable stories controversially debated in our time—the story of the Garden of Eden and the story of the computer lab. This chapter supports my traditional Christian belief in the image of God, the matter of flesh, and the matter of the soul in responding to the question of ‘what does it mean to be fully human in the mixed Human-AI culture?’ Chapter 4 further explores the analysis of what it means to be fully human and asks how the ethical framework, the redemptive framework, and the theological framework of Christianity’s rethinking effectively might work in a mixed Humanoid-AI culture. Chapter 5 suggests how Christians can turn cultural challenges into opportunities in order to communicate Christian faith and the gospel with openness and with loving kindness by affirming what it means to be human in responding to the question “Are ‘these’ us?” The chapter will also affirm our faith in an Alpha and Omega God, who is always in control no matter what will happen in a future full of mysteries and brokenness. Chapter 6 will conclude with insights into what I have learned from both science and Christianity that could help us affirm the humanness of humanity in the midst of a potentially mixed Human-AI culture. This chapter will be an open invitation for people to continue discussion into this important area of research and will invite people within the Church today to seek answers for themselves not through human political power, nor through scientific and technological supper intelligence, but through the only Person— the Son of Man and the Son of God—“Jesus Christ who is the same yesterday and today and forever” (Heb. 13:8 NRSV).
    • 

    corecore