113 research outputs found
The Racket Manifesto
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
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
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
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
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
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
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).
- âŠ