Let's Take Esoteric Programming Languages Seriously
Jeremy Singer, Steve Draper
Esoteric programming languages are challenging to learn, but their unusual features and constraints may serve to improve programming ability. From languages designed to be intentionally obtuse (e.g. INTERCAL) to others targeting artistic expression (e.g. Piet) or exploring the nature of computation (e.g. Fractan), there is rich variety in the realm of esoteric programming languages. This essay examines the counterintuitive appeal of esoteric languages and seeks to analyse reasons for this popularity. We will explore why people are attracted to esoteric languages in terms of (a) program comprehension and construction, as well as (b) language design and implementation. Our assertion is that esoteric languages can improve general PL awareness, at the same time as enabling the esoteric programmer to impress their peers with obscure knowledge. We will also consider pedagogic principles and the use of AI, in relation to esoteric languages. Emerging from the specific discussion, we identify a general set of 'good' reasons for designing new programming languages. It may not be possible to be exhaustive on this topic, and it is certain we have not achieved that goal here. However we believe our most important contribution is to draw attention to the varied and often implicit motivations involved in programming language design.
Enriching Moral Perspectives on AI: Concepts of Trust amongst Africans
Lameck Mbangula Amugongo, Nicola J Bidwell, Joseph Mwatukange
The trustworthiness of AI is considered essential to the adoption and application of AI systems. However, the meaning of trust varies across industry, research and policy spaces. Studies suggest that professionals who develop and use AI regard an AI system as trustworthy based on their personal experiences and social relations at work. Studies about trust in AI and the constructs that aim to operationalise trust in AI (e.g., consistency, reliability, explainability and accountability). However, the majority of existing studies about trust in AI are situated in Western, Educated, Industrialised, Rich and Democratic (WEIRD) societies. The few studies about trust and AI in Africa do not include the views of people who develop, study or use AI in their work. In this study, we surveyed 157 people with professional and/or educational interests in AI from 25 African countries, to explore how they conceptualised trust in AI. Most respondents had links with workshops about trust and AI in Africa in Namibia and Ghana. Respondents' educational background, transnational mobility, and country of origin influenced their concerns about AI systems. These factors also affected their levels of distrust in certain AI applications and their emphasis on specific principles designed to foster trust. Respondents often expressed that their values are guided by the communities in which they grew up and emphasised communal relations over individual freedoms. They described trust in many ways, including applying nuances of Afro-relationalism to constructs in international discourse, such as reliability and reliance. Thus, our exploratory study motivates more empirical research about the ways trust is practically enacted and experienced in African social realities of AI design, use and governance.
Makhroufi Ousmane Traoré. 2024. Slavery, Resistance, and Identity in Early Modern West Africa: The Ethnic-State of Gajaaga. Cambridge: Cambridge University Press. 459 pp.
Evan Rothera
History of Africa, African languages and literature
IntellectSeeker: A Personalized Literature Management System with the Probabilistic Model and Large Language Model
Weizhen Bian, Siyan Liu, Yubo Zhou
et al.
Faced with the burgeoning volume of academic literature, researchers often need help with uncertain article quality and mismatches in term searches using traditional academic engines. We introduce IntellectSeeker, an innovative and personalized intelligent academic literature management platform to address these challenges. This platform integrates a Large Language Model (LLM)--based semantic enhancement bot with a sophisticated probability model to personalize and streamline literature searches. We adopted the GPT-3.5-turbo model to transform everyday language into professional academic terms across various scenarios using multiple rounds of few-shot learning. This adaptation mainly benefits academic newcomers, effectively bridging the gap between general inquiries and academic terminology. The probabilistic model intelligently filters academic articles to align closely with the specific interests of users, which are derived from explicit needs and behavioral patterns. Moreover, IntellectSeeker incorporates an advanced recommendation system and text compression tools. These features enable intelligent article recommendations based on user interactions and present search results through concise one-line summaries and innovative word cloud visualizations, significantly enhancing research efficiency and user experience. IntellectSeeker offers academic researchers a highly customizable literature management solution with exceptional search precision and matching capabilities. The code can be found here: https://github.com/LuckyBian/ISY5001
WASHtsApp -- A RAG-powered WhatsApp Chatbot for supporting rural African clean water access, sanitation and hygiene
Simon Kloker, Alex Cedric Luyima, Matthew Bazanya
This paper introduces WASHtsApp, a WhatsApp-based chatbot designed to educate rural African communities on clean water access, sanitation, and hygiene (WASH) principles. WASHtsApp leverages a Retrieval-Augmented Generation (RAG) approach to address the limitations of previous approaches with limited reach or missing contextualization. The paper details the development process, employing Design Science Research Methodology. The evaluation consisted of two phases: content validation by four WASH experts and community validation by potential users. Content validation confirmed WASHtsApp's ability to provide accurate and relevant WASH-related information. Community validation indicated high user acceptance and perceived usefulness of the chatbot. The paper concludes by discussing the potential for further development, including incorporating local languages and user data analysis for targeted interventions. It also proposes future research cycles focused on wider deployment and leveraging user data for educational purposes.
Detecting Reference Errors in Scientific Literature with Large Language Models
Tianmai M. Zhang, Neil F. Abernethy
Reference errors, such as citation and quotation errors, are common in scientific papers. Such errors can result in the propagation of inaccurate information, but are difficult and time-consuming to detect, posing a significant challenge to scientific publishing. To support automatic detection of reference errors, this work evaluated the ability of large language models in OpenAI's GPT family to detect quotation errors. Specifically, we prepared an expert-annotated, general-domain dataset of statement-reference pairs from journal articles. Large language models were evaluated in different settings with varying amounts of reference information provided by retrieval augmentation. Our results showed that large language models are able to detect erroneous citations with limited context and without fine-tuning. This study contributes to the growing literature that seeks to utilize artificial intelligence to assist in the writing, reviewing, and publishing of scientific papers. Potential avenues for further improvements in this task are also discussed.
Type Theory as a Language Workbench
Jan de Muijnck-Hughes, Guillaume Allais, Edwin Brady
Language Workbenches offer language designers an expressive environment in which to create their DSLs. Similarly, research into mechanised meta-theory has shown how dependently typed languages provide expressive environments to formalise and study DSLs and their meta-theoretical properties. But can we claim that dependently typed languages qualify as language workbenches? We argue yes! We have developed an exemplar DSL called Velo that showcases not only dependently typed techniques to realise and manipulate IRs, but that dependently typed languages make fine language workbenches. Velo is a simple verified language with well-typed holes and comes with a complete compiler pipeline: parser, elaborator, REPL, evaluator, and compiler passes. Specifically, we describe our design choices for well-typed IRs design that includes support for well-typed holes, how CSE is achieved in a well-typed setting, and how the mechanised type-soundness proof for Velo is the source of the evaluator.
The radiation environment over the African continent at aviation altitudes: First results of the RPiRENA-based dosimeter
M. G. Mosotho, R. D. Strauss, S. Bottcher
et al.
The radiation environment over the African continent, at aviation altitudes, remains mostly uncharacterized and unregulated. In this paper we present initial measurements made by a newly developed active dosimeter on-board long-haul flights between South Africa and Germany. Based on these initial tests, we believe that this low-cost and open-source dosimeter is suitable for continued operation over the Africa continent and can provide valuable long-term measurements to test dosimteric models and inform aviation policy
en
physics.geo-ph, astro-ph.EP
Programming Languages and Law: A Research Agenda
James Grimmelmann
If code is law, then the language of law is a programming language. Lawyers and legal scholars can learn about law by studying programming-language theory, and programming-language tools can be usefully applied to legal problems. This article surveys the history of research on programming languages and law and presents ten promising avenues for future efforts. Its goals are to explain how the combination of programming languages and law is distinctive within the broader field of computer science and law, and to demonstrate with concrete examples the remarkable power of programming-language concepts in this new domain.
On the Transferability of Pre-trained Language Models for Low-Resource Programming Languages
Fuxiang Chen, Fatemeh Fard, David Lo
et al.
A recent study by Ahmed and Devanbu reported that using a corpus of code written in multilingual datasets to fine-tune multilingual Pre-trained Language Models (PLMs) achieves higher performance as opposed to using a corpus of code written in just one programming language. However, no analysis was made with respect to fine-tuning monolingual PLMs. Furthermore, some programming languages are inherently different and code written in one language usually cannot be interchanged with the others, i.e., Ruby and Java code possess very different structure. To better understand how monolingual and multilingual PLMs affect different programming languages, we investigate 1) the performance of PLMs on Ruby for two popular Software Engineering tasks: Code Summarization and Code Search, 2) the strategy (to select programming languages) that works well on fine-tuning multilingual PLMs for Ruby, and 3) the performance of the fine-tuned PLMs on Ruby given different code lengths. In this work, we analyze over a hundred of pre-trained and fine-tuned models. Our results show that 1) multilingual PLMs have a lower Performance-to-Time Ratio (the BLEU, METEOR, or MRR scores over the fine-tuning duration) as compared to monolingual PLMs, 2) our proposed strategy to select target programming languages to fine-tune multilingual PLMs is effective: it reduces the time to fine-tune yet achieves higher performance in Code Summarization and Code Search tasks, and 3) our proposed strategy consistently shows good performance on different code lengths.
Revisiting Language Support for Generic Programming: When Genericity Is a Core Design Goal
Benjamin Chetioui, Jaakko Järvi, Magne Haveraaen
Context: Generic programming, as defined by Stepanov, is a methodology for writing efficient and reusable algorithms by considering only the required properties of their underlying data types and operations. Generic programming has proven to be an effective means of constructing libraries of reusable software components in languages that support it. Generics-related language design choices play a major role in how conducive generic programming is in practice. Inquiry: Several mainstream programming languages (e.g. Java and C++) were first created without generics; features to support generic programming were added later, gradually. Much of the existing literature on supporting generic programming focuses thus on retrofitting generic programming into existing languages and identifying related implementation challenges. Is the programming experience significantly better, or different when programming with a language designed for generic programming without limitations from prior language design choices? Approach: We examine Magnolia, a language designed to embody generic programming. Magnolia is representative of an approach to language design rooted in algebraic specifications. We repeat a well-known experiment, where we put Magnolia's generic programming facilities under scrutiny by implementing a subset of the Boost Graph Library, and reflect on our development experience. Knowledge: We discover that the idioms identified as key features for supporting Stepanov-style generic programming in the previous studies and work on the topic do not tell a full story. We clarify which of them are more of a means to an end, rather than fundamental features for supporting generic programming. Based on the development experience with Magnolia, we identify variadics as an additional key feature for generic programming and point out limitations and challenges of genericity by property. Grounding: Our work uses a well-known framework for evaluating the generic programming facilities of a language from the literature to evaluate the algebraic approach through Magnolia, and we draw comparisons with well-known programming languages. Importance: This work gives a fresh perspective on generic programming, and clarifies what are fundamental language properties and their trade-offs when considering supporting Stepanov-style generic programming. The understanding of how to set the ground for generic programming will inform future language design.
Pamela J. Olubunmi Smith’s Translation Style in The Freedom Fight and Treasury of Childhood Memories
Tolulope Ibikunle
The steady but relentless globalization of the world makes translation highly pertinent to the understanding of different endeavors and spheres, from education and the economy to politics and religion. Thus, translation as a conduit for the transmission of knowledge protects and promotes tradition, culture and literature in our contemporary world. Consequently, translators are of utmost importance to the world at large and their immediate society in particular. Literary works exhibit diverse linguistic components, coupled with social, religious and cultural aspects of human existence, hence translation of literary works could be regarded as one of the main communicative approaches across cultures. Translating literary works, thus, constitutes many problems for the translator who is expected to be both bilingual/multilingual and bicultural/multicultural. Therefore, this essay will examine the roles and challenges of cultural and textual translation in the context of African society through the contribution and dexterity of Pamela J. Olúbùnmi Smith. Since the translation of literary work is also a form of adaptation and not pure language translation, attention will be placed on Smith's artistic prowess and translation techniques by analyzing two of her translated works. While reflecting on salient challenges of translation and the impacts of translating literary works from Pamela J. Olubunmi Smith's perspective, the essay aims to address some of the ways she gets to grips with the challenges to promote the Yorùbá language, culture, religion and tradition, as a translator. The essay concludes by advocating for better circulation, promotion and expansion of the cultural, philosophical, religious, political and social ideas of Africans through translations of literary works written in English, French and other languages into African languages and those written in African languages into English, French and other languages.
Everything is a Deathly Flower (Maneo Mohale)
Mbali Sebokedi
African languages and literature
Like a mule bringing ice cream to the sun (Sarah Ladipo Manyika)
Lethabo Mailula
African languages and literature
Book Reviews 18.2
Review Editor
Book Reviews 18.2
History of Africa, African languages and literature
“In die bus afgeluister”: The Intellectual in the City
Mark Sanders
Many of N.P. van Wyk Louw’s essays address the role of the intellectual. In the 1930s, Louw struggled to define a place for the intellectual in relation to the Afrikaner volk and its cultural movements and political parties. At the end of “Kultuurleiers sonder kultuur” (Cultural Leaders without Culture) (1939), Louw turns to the simile of the cave from book seven of Plato’s Republic. There the cave represents the city and its people, who are trapped in illusion. Plato’s “philosopher” escapes the dark chamber where the prisoners observe only shadows, gains enlightenment, and returns to open the eyes of his fellow inhabitants. Returning is the duty of the philosopher. How did N.P. van Wyk Louw imagine descending back into the “cave,” into the midst of the city, to be among the people of his country? One answer lies in a pair of unpublished fragments dating from the 1940s entitled “In die bus afgeluister” (Overheard on the Bus). In these fragments, Louw eavesdrops, as he takes the bus to and from work, on the conversations of people of Cape Town of various races. We get a slice of city life, and a sense of how Louw tried to embrace that life rather than isolate himself from it. These two urban sketches nevertheless show that the task of enlightening one’s fellow citizens proves more complicated than Louw expects because the intellectual is more deeply implicated in the illusory play of shadows than he imagines.
African languages and literature
Ab(so)lusie
Loftus Marais
African languages and literature
Open Programming Language Interpreters
Walter Cazzola, Albert Shaqiri
Context: This paper presents the concept of open programming language interpreters and the implementation of a framework-level metaobject protocol (MOP) to support them. Inquiry: We address the problem of dynamic interpreter adaptation to tailor the interpreter's behavior on the task to be solved and to introduce new features to fulfill unforeseen requirements. Many languages provide a MOP that to some degree supports reflection. However, MOPs are typically language-specific, their reflective functionality is often restricted, and the adaptation and application logic are often mixed which hardens the understanding and maintenance of the source code. Our system overcomes these limitations. Approach: We designed and implemented a system to support open programming language interpreters. The prototype implementation is integrated in the Neverlang framework. The system exposes the structure, behavior and the runtime state of any Neverlang-based interpreter with the ability to modify it. Knowledge: Our system provides a complete control over interpreter's structure, behavior and its runtime state. The approach is applicable to every Neverlang-based interpreter. Adaptation code can potentially be reused across different language implementations. Grounding: Having a prototype implementation we focused on feasibility evaluation. The paper shows that our approach well addresses problems commonly found in the research literature. We have a demonstrative video and examples that illustrate our approach on dynamic software adaptation, aspect-oriented programming, debugging and context-aware interpreters. Importance: To our knowledge, our paper presents the first reflective approach targeting a general framework for language development. Our system provides full reflective support for free to any Neverlang-based interpreter. We are not aware of any prior application of open implementations to programming language interpreters in the sense defined in this paper. Rather than substituting other approaches, we believe our system can be used as a complementary technique in situations where other approaches present serious limitations.
Pumping Lemma for Higher-order Languages
Kazuyuki Asada, Naoki Kobayashi
We study a pumping lemma for the word/tree languages generated by higher-order grammars. Pumping lemmas are known up to order-2 word languages (i.e., for regular/context-free/indexed languages), and have been used to show that a given language does not belong to the classes of regular/context-free/indexed languages. We prove a pumping lemma for word/tree languages of arbitrary orders, modulo a conjecture that a higher-order version of Kruskal's tree theorem holds. We also show that the conjecture indeed holds for the order-2 case, which yields a pumping lemma for order-2 tree languages and order-3 word languages.
Remembering colonial violence: Inter/textual strategies of Congolese authors
Susanne Gehrmann
This article explores the Congolese remembering of the experienced colonial violence through the medium of literature. Although criticism of colonialism is not a favourite topic of Congolese writers, there exists an important corpus of texts, especially when the literary production of Congo Kinshasa and Congo Brazzaville with their politically distinct though sometimes similar experiences is taken into account. Three main strategies of writing about the topic can be distinguished: a documentary mode, an allegorical mode and a fragmented mode, which often appear in combination. Intertextuality with the colonial archive as well as oral African narrations is a recurrent feature of these texts. The short stories of Lomami Tchibamba, of the first generation of Congolese authors writing in French, are analysed as examples for a dominantly allegorical narration. Mythical creatures taken from the context of oral literature become symbols for the process of alterity and power relations during colonialism, while the construction of a heroic figure of African resistance provides a counter-narrative to colonial texts of conquest. Thomas Mpoyi-Buatu’s novel La reproduction (1986) provides an example of fragmented writing that reflects the traumatic experience of violence in both Congolese memory of colonialism and Congolese suffering of the present violent dictatorial regime. The body of the protagonist and narrator becomes the literal site of remembering.
African languages and literature