y

Getting On My Nerves

Originally posted 2016. Revised. Longing this morning to trade back my boots for the soft soles I surrendered to get them. I can’t feel the ground when I walk in these. Doctors try to tell me it’s neuropathy from my diabetes. They’re half right, I suspect; certainly some shiny whiteness is to blame and whether […]




y

Casual Friday

Started out as Friday but became a Monday and thus the weekend became confusing. I baked a flourless cake and wept over a Sunday dinner  that felt more like Tuesday’s leftovers, like the whole leftover menu from the whole week. Why do we bother naming the days anyway — it reminds us we once had […]





y

Hello my fellow children

Hello my fellow children



View Comic!








y

Can you imagine the clipshow?

Can you imagine the clipshow?



View Comic!













y

nine cool things on a tuesday (stay home, save lives edition)

No doubt — this is a crazy, scary, sad, worrying time for everyone. Most of us are sheltering in place and trying our best to adjust to a new reality. While we are not performing heroic deeds like all the frontline healthcare workers and first responders, grocery store employees and delivery drivers, we can all … Continue reading nine cool things on a tuesday (stay home, save lives edition)




y

animal crackers: a sweet memory in every bite

  Did you know that tomorrow, April l8, is National Animal Crackers Day? ???? Oh, to return to a simpler, more innocent time, when it was all about glee rather than guilt! *     ANIMAL CRACKER (no s) by Gretchen Friel My students are inspired to read more poems aloud if I bring frosted … Continue reading animal crackers: a sweet memory in every bite




y

[tasty review] United Tastes of America by Gabrielle Langholtz, Jenny Bowers, and DL Acken

  Feeling a little peckish? What’s your pleasure? If you’re craving something savory, perhaps we should zip on over to Illinois for some deep dish pizza and pierogies. Something a little more substantial? Well, we could feast on chicken fried steak in Oklahoma and bison burgers in Wyoming, before topping everything off with a platter … Continue reading [tasty review] United Tastes of America by Gabrielle Langholtz, Jenny Bowers, and DL Acken




y

baby’s got blue eyes (+ a giveaway)

“We begin in infancy by establishing correspondence of eyes with eyes.” ~ Robert Frost     FRAGMENTARY BLUE by Robert Frost Why make so much of fragmentary blue In here and there a bird, or butterfly, Or flower, or wearing-stone, or open eye, When heaven presents in sheets the solid hue? Since earth is earth, … Continue reading baby’s got blue eyes (+ a giveaway)




y

[review + recipe] On Wings of Words by Jennifer Berne and Becca Stadtlander

  Each bird, bee, blossom, butterfly — was a source of joy and wonder for young Emily Dickinson. In this beautiful new picture book biography, aptly illustrated with a butterfly motif, we witness her singular metamorphosis from a keenly observant child into one of the most original and innovative poets in American literature. On Wings … Continue reading [review + recipe] On Wings of Words by Jennifer Berne and Becca Stadtlander




y

[spicy guest post] Pippa Park’s Favorite Korean Stew by Erin Yun

So pleased to welcome NYC author Erin Yun to the blog today. Her debut middle grade novel, Pippa Park Raises Her Game (Fabled Films Press, 2020), is a contemporary reimagining of the Dickens’s classic Great Expectations.     Life is full of great expectations for Korean American Pippa Park. It seems like everyone, from her … Continue reading [spicy guest post] Pippa Park’s Favorite Korean Stew by Erin Yun




y

Traffic in Malta, a risky business

I have often been surprised how dangerous it is to cross a street in Malta, especially if there is not a pedestrian crossing. It appears that motorists among themselves have a contest to see who can scare the pedestrians most.  It is not surprising that Malta is among the countries with the highest accident rates in traffic in Europe. If the roads were in a better condition the victims would, due to possible higher speed, probably be many more.
Another thing that amazes a foreigner from northern Europe, is the constant honking. If honking were an Olympic event Malta would undoubtedly win a medal of high value. Many people I have discussed this matter with have expressed a thought that may be Maltese driving licenses are issued by Disney World or come withe the cereal packages from Scotts.
Another thing that is surprising to a foreigner is the rule that cars, that have been involved in an accident, must not be moved before the police has arrived and documented the damages even how small these are. For instance I saw two cars touch each other at Tigné Seafront in Sliema. It was only a small dent on one car. Both cars stopped traffic so that no vehicles could pass the place of the accident. This happened in rush hour. A motorcycle police arrived after about 10 minutes and marked the cars position by spraying marks on the road. It took about ten seconds. The queue, which was formed, probably reached St. Julians. But, of course, many young Maltese men were excited; there was a good reason to honk!




y

Reflections on the judicial system in Malta

One is often surprised when one reads about the trials and their outcome in Malta. What is most astonishing is how long time it takes in Malta between a crime is committed and the perpetrator’s identity is known to the police and the trial takes place.

The Court House in Valletta, Malta
In today’s The Times one can read about a hold-up that had taken place in 2007. Obviously a firearm was used and goods of substantial value were taken. If the police got to know about the robber’s identity in 2011 one can understand why the trial took place in February 2012, but that seems not to be the case.

One of the most outrageous cases is the one regarding a man, who was jailed in April 2011 and sentenced to 29 years after he was found guilty of the murder of a prostitute who was killed in 1999. The circumstances around the killing and the man who was later convicted were known to the police in a much earlier stage. 

One can reflect in these cases on what the then suspected men did during the time between the crimes and the trials. Were they still on the loose or were they kept in custody without trial for all these years, probably not the latter. One can also wonder how the murdered girl’s relatives felt. All their sorrow must have been experienced once more, especially as Maltese papers publish names and details and even the name of the community where they live.  It is also unfair to a suspect not to have his case tried; he might be innocent. Almost every week you can read about cases like these. 

The same, or even worse, goes for civil cases that can go on for much more than a decade to be ruled by a court.




y

The possibilites for a disabled person to enjoy Malta

Disabled people shall not visit Malta if they intend to see the islands and not just stay in their hotels. There is almost nothing done in Malta to help disabled people. The pavements mostly lack ramps and are far too high. The new buses are a little bit better than the old classical ones but not enough improvements have been made. When entering or leaving a bus, persons in wheelchairs cannot manage themselves but have to rely on helpful fellow passengers due to the fact that the bus is too high up from the street. That could be helped if the buses stop close to the pavements, but very often they stop one or two meters from the very high pavement.
The old classical type of bus no longer in use
There are very few shops with ramps, a fact that makes it almost impossible to visit shops if you are sitting in a wheelchair.
The pavements are, with very few exceptions, in a condition that makes it impossible to go by a wheelchair. The main exceptions in the Gzira, Sliema and S:t Julian’s area beeing, of course, The Strand and Tower Road as well as George Borg Oliver Road. In Marsaskala, Marsaxlokk and other towns by the sea with many tourists, there are also roads that are suitable for disabled people. BUT, how to get there?




y

The collapsed Maltese judicial system

It is obvious that the Maltese judicial system has totally collapsed. In todays The Times one can read of a man who has raped his nephew and niece and sexually abused their cousin when they were five, eight and thirteen years old. The abuses took place during several years until 2007. The father of the siblings reported this to the police 2007 and insisted that the police should take immediately action. The perpetrator, when then heard by the police, immediately admitted the acts and also showed the police videos that he previously had shown to his victims. The videos contained sexual actions the perpetrator had had with his wife. One can wonder why these terrible crimes not ended up in court until 2012! The man was this week sentenced to ten years in prison. What has happened since 2007? How have the victims and their families felt during this time? Is there any excuse for this failure of the judicial system? There is no wonder that the people in Malta has very low confidence in the judicial system and that so many people think that judges accept bribes; they are probably more interested in their own wellbeing than the one of people who have been abused. Those people are not abused only by a perpetrator but also by the judicial system. This is a shame on Malta and its (lack of ) functional judicial system.




y

Mr. Gonzi's victory; was the contest necessary?

PM in Marsascala during his tour for support
In todays The Times one can read that PM Lawrence Gonzi gained 96,5 per cent of the vote in the PN leadership contest. It gives The Observer a flashback from the sixties when Leonid Brezhnev gained 105 per cent of the vote in former Soviet Union. That is what can be called a good and fair election! To avoid any misunderstanding; of course yesterday's election can not be regarded otherwise than fair. But was it necessary? Even if Mr. Gonzi felt that he needed to have his leadership confirmed, the outcome of the vote is still not a true and fair view on the situation in The Nationalist Party since Mr. Gonzi was the only candidate. Say for instance that Mr. Debono had challenged Mr. Gonzi regarding the leadership (he has challenged him about almost everything else). Of course Mr. Gonzi would not have gained 96,5 per cent of the vote. That is as certain as it is that Mr. Debone would have lost such a debacle. Mr. Debono has previously tried very hard to commit political suicide and if he had challenged Mr. Gonzi regarding the leadership he would surely have succeeded. One can wonder if all this really was necessary. Mr. Gonzi is the undisputed leader of the Nationalist Party no matter what Mr. Debono tries to do. Even if there are a number of opponents to Mr. Gonzi in the party they are not as stupid as to challenge Mr. Gonzo in this political situation. They would, in that case, have gone down together with Mr. Debono.




y

A Maltese priest’s distorted view of the judiciary's role in society

In yesterdays The Times a Maltese priest, Mgr. Anton Gaucia, complains once more that a High Court in London a few weeks ago gave a sentence ruling that “the Catholic Church can be held liable for the wrongdoings of its priests”. Mgr. Gaucia have earlier, January 8 in Sunday Times, made the same complaint. Now Mgr. Gaucia also complains over the fact that a Mr. Justice in London has ruled that “the saying of prayers as part of the formal meeting of a council is not lawful”, adding that “there is no statutory power permitting the practice to continue”.
First things first; of course the Church shall be liable for what its employees/priests do in Alphain their capacity as priests. The children in these cases were in the care of a Catholic institution. I wonder what Mgr. Gaucia would say about if a municipal employee at a daycare sexually molest a child that the child’s parents left in its care. Of course, the municipality would be responsible for its negligence and for its failure to protect a child. The same goes of course for the Church. Mgr. Gaucia may of course, probably not being a father himself in the more down to earth sense, not understand what damage the Church and its priests done to these children. The people The Observer talked to in this matter in Malta all agree with The Observer and I think it would be wise of the Church to listen to the people in this.
Second; it might soon be time for priests like Mgr. Gauci and his colleagues to realize what century they live in. The time when Catholics ruled southern Europe is gone forever. There are Muslims, Hindus, Jews and many other people of different beliefs that have and are going to have positions in the society among which, of course, also positions in a council. Does Mgr. Gauci really mean that these people must attend Catholic or Protestant prayers? Or shall they leave when such prayer is to be said? Another possibility would of course be to have, say ten, different rooms where people of different beliefs could pray in accordance with such belief before the council meeting. Mgr Gauci, please grow up and realize what reality you live in.




y

Would fundamental rights in Malta be better off under British sovereignty?

Once more, one does not know if to cry or laugh; no, of course one should not laugh at the tragedy that Malta is causing many of the people in this country. In the former communist states, people were kept in prison without a trial. In Malta the state does exactly the same, see article in todays The Times. As stated before, the judicial system in Malta has collapsed and a thought has come to The Observer’s mind: In this sense may be Malta should be better off under British sovereignty. It is obvious to a foreigner that the government of Malta cannot live up to the most fundamental requirements for democracy, namely the one that a democracy do not keep people in prison without fair trials.




y

Malta's judicial system once more

In todays The Times the public is given a good explanation why the Maltese courts do not have time for unimportant cases like murders, trafficking, rapes, smuggling of narcotics etc. The courts have far more important cases to deal with, namely cases of insulting. A circus agent felt insulted after being called a clown. This terrible crime was rather soon brought to court for judgment. AlphaThe Observer is confident that the public feel great gratitude that the legal system makes such wise priorities.




y

Making buildings higher and thus destroy their appearance

Terrible building on Tower Ro
Terrible example on Tower Road
Beautiful building on Tower Road
Villa Aurora on Tower Road
As a foreigner I sometimes wonder how it is possible that some buildings in, for instance, Sliema have had floors built-on in a completely different style than the existing house. On Tower Road there are several terrible examples. Before one start such development one must get permission from the authorities, I suppose that the authority in such case is MEPA. Either there are no rules in what way you can change a building’s appearance or, someone, apart from the owner and the developer, have had some odd interest in granting permission despite the rules. One can only hope that this destruction of buildings does not in the future affect Villa Aurora or the other lovely buildings on Tower Road that not yet have been in the hands of irresponsible developers and, if there are rules, civil servants with a private agenda. However, there are good examples of buildings where the developer has tried to build the extra floors in a style that are more consistent with the older part of the building




y

Disgusting picture in todays The Times

In todays The Times you can read about an unlicensed bouncer who has been acquitted of causing the death of an immigrant outside a Paceville club. Fair enough, although it very much looks like a racist crime. A court shall have very Översätt från: svenska
Skriv text, ange adressen till en webbplats eller översätt ett dokument.
Alpha
high requirements of proof. But, it is disgusting when The Times publishes a picture of the bouncer, his girlfriend and his two lawyers in a manner that gives the impression of a hero. The Times should show respect for the victim and his family and not embrace the man who is a killer no matter he was acquitted, especially as everybody knows how the bouncers in Paceville treat people. Maybe this was not a racist crime, but the publishing of the picture is racism even if The Times tries to hide it, One can wonder if this picture would have been published if the victim had been a white Maltese male or female and not a black man from Africa. Shame on The Times!




y

Rule of law in Malta? Hardly.


You cannot call Malta a society where there is rule of law and where an individual's rights are protected. Malta must be one of Europe’s most unsafe countries if one is suspected of having committed a crime, especially if you are a foreigner (if you are black it is even worse). A Maltese is treated in a totally different way than a foreigner. For instance, it is very difficult to be granted bail for a foreigner even if you are an EU citizen. This is very strange since there is a treaty in EU which makes it easy to get an EU citizen extradited to another EU country. A member state can only deny another member state an extradition if  certain requirements are not fulfilled. Maybe Malta is afraid that it cannot fulfill such requirements and therefore prefers to keep a suspect in prison instead of granting him bail.  It is hard to even understand that Malta can be a member of EU. In Malta, you can be detained for an indefinite period. There is no limit whatsoever when the police must start a trial. Yes, in Malta it is the same person as investigates a case as brings it to court. Malta is like any dictatorship as far as protection of individual’s rights is concerned. Not even in the former Soviet Union you could be detained for indefinite time, if not a political crime. It was The Observer’s intention to vote today, but why should one vote in a country where there is no democracy but only hypocrisy. Malta is a sham democracy where individual rights seem to be less important than the rights of the state. You can read about this wonderful society in todays The Times.




y

Again, the Maltese judicial system is proven to have collapsed and now it also seems ridiculous



Today one can read in The Times of a man being sentenced to one month in prison and fined 233€ for illegal gambling. The fantastic and almost unbelievable fact is that the crime was committed in 2001 and the man pleaded guilty in 2002. The man had to wait ten years to be punished for a crime he had admitted almost immediately! To make this even more surprising (well, maybe not so surprising; this is probably typically for the judicial system in Malta) the judge found that the prosecution had failed to prove the allegations against the man, but, since he had admitted the crime the judge had to find him guilty. The Observer sincerely hopes that the latter is not true. In most other countries, with a more sophisticated and functioning judicial system than Malta, an admission is not enough to prove that a person has committed a crime.  When famous murders occur, quite many people come to the police and plead guilty. This is a well-known fact among Alphacriminologists. Probably and hopefully The Times has not published full details about why the judge had to find the man guilty.




y

Are some members of the clergy horny and/or greedy?

The Observer is well aware of that this article might upset religious people especially members of the clergy, but it is an interesting subject that is well worth discussing. Many of The Observer’s Maltese friends say the same thing: Many Catholic priests in Malta have “girlfriends” and many priests ask for kickbacks from the undertakers.

The Maltese people the Observer has spoken to say that it is a well-known secret that many Catholic priests have girlfriends. It is also said that this is very natural since priests have the same sexual desire as every other men. Since the Catholic Church does not allow priests to marry, the priests have no other option (at least not such pleasant ones) but to have girlfriends in secret. Some of the people The Observer have spoken to also claim that it is not unusual that the priests meet women during confession and then learn about the women’s moral character and then can make their move. True or not true? We know that Catholic priest in many cases have taken advantage of young boys so why should this not be even more possible?

Many of The Observer’s Maltese friends also claim that priests advise funeral directors about recently deceased and then ask for kickbacks for the tip. The reason why this is possible for priests is that priests are often called to death-beds to give last rites and often know very soon that someone has passed away. It is also said that priests in such situation take advantage of the situation when a person is very vulnerable and asks for a donation to the Catholic Church. AlphaIf this is true, it is extremely offensive and immoral, especially the custom of taking kickbacks.

It would be interesting to hear what the readers of this blog think in this subject.











y

Transfer of pywer

Guido van Rossum is "resigning" from being the Python BDFL: "I'm basically giving myself a permanent vacation from being BDFL, and you all will be on
your own." Apparently running a language can be tiring... It will be interesting to see what happens next.




y

Safe Dynamic Memory Management in Ada and SPARK

Safe Dynamic Memory Management in Ada and SPARK by Maroua Maalej, Tucker Taft, Yannick Moy:

Handling memory in a correct and efficient way is a step toward safer, less complex, and higher performing software-intensive systems. However, languages used for critical software development such as Ada, which supports formal verification with its SPARK subset, face challenges regarding any use of pointers due to potential pointer aliasing. In this work, we introduce an extension to the Ada language, and to its SPARK subset, to provide pointer types (“access types” in Ada) that provide provably safe, automatic storage management without any asynchronous garbage collection, and without explicit deallocation by the user. Because the mechanism for these safe pointers relies on strict control of aliasing, it can be used in the SPARK subset for formal verification, including both information flow analysis and proof of safety and correctness properties. In this paper, we present this proposal (which has been submitted for inclusion in the next version of Ada), and explain how we are able to incorporate these pointers into formal analyses

For the systems programmers among you, you might be interested in some new developments in Ada where they propose to add ownership types to Ada's pointer/access types, to improve the flexibility of the programs that can be written and whose safety can be automatically verified. The automated satisfiability of these safety properties is a key goal of the SPARK Ada subset.




y

History of Lisp

History of Lisp (The history of LISP according to McCarthy's memory in 1978, presented at the ACM SIGPLAN History of Programming Languages Conference.)

This is such a fun paper which I couldn't find on LtU. It's about the very early history of programming (1950s and '60s), back when things we take for granted today didn't exist yet.

On taking apart complex data structures with functions like CAR and CDR:

It was immediately apparent that arbitrary subexpressions of symbolic expressions could be obtained by composing the functions that extract immediate subexpressions, and this seemed reason enough to go to an algebraic language.

On creating new data, i.e. CONS:

At some point a cons(a,d,p,t) was defined, but it was regarded as a subroutine and not as a function with a value. ... Gelernter and Gerberich noticed that cons should be a function, not just a subroutine, and that its value should be the location of the word that had been taken from the free storage list. This permitted new expressions to be constructed out of subsubexpressions by composing occurrences of cons

On inventing IF:

This led to the invention of the true conditional expression which evaluates only one of N1 and N2 according to whether M is true or false and to a desire for a programming language that would allow its use.

On how supreme laziness led to the invention of garbage collection:

Once we decided on garbage collection, its actual implementation could be postponed, because only toy examples were being done.

You might have heard this before:

S.R. Russell noticed that eval could serve as an interpreter for LISP, promptly hand coded it, and we now had a programming language with an interpreter.

And the rest is history...




y

On compositionality

Jules Hedges has written a thought-provoking blog post, On compositionality where he connects the familiar idea of compositionality to the idea of emergent effects in nature, where systems can be understood as either having compositional properties or emergent properties.

The key point about emergent systems is that they are hard to understand, and this is as true for engineering as it is for science. He goes on to say "As a final thought, I claim that compositionality is extremely delicate, and that it is so powerful that it is worth going to extreme lengths to achieve it", so that avoiding emergent effects is a characteristic of good programming language design.

Some thoughts:

  1. His examples of emergent systems are biology and game theory from an economic perspective. I would add to this list physics: of his co-authored paper showing that the spectral gap is undecidable, David Pérez-García said "For example, our results show that adding even a single particle to a lump of matter, however large, could in principle dramatically change its properties."
  2. Spolsky's famous characterisation of interfaces built on shaky foundations as Leaky abstractions to me makes the distinction between compositional and emergent systems a little less than sharp.
  3. We could talk endlessly about the list of what he regards as compositionality-breaking features of PLs. The evils of global state are well-documented, but I find dmbarbour's argument that Local state is poison a very interesting alternative way to look at what properties do we want from code; more generally, what kind of compositionalty PLs offer is very much paradigm dependent. Gotos are considered harmful, but the Linux kernel has little trouble with longjmp because of its mandated coding style: compositionality in engineering is a not just a matter of semantics but also of use. He targets OO and Haskell's type classes - I think he is quite correct - note that within these paradigms one can regain compositionality by restricting to LSP or algebraic classes, and supporting his thesis we see that these ideas have spawned ideas for the design of new, cleaner PLs.




y

The Little Typer

A new introductory book about dependent types, involving some familiar names:

The Little Typer

by Daniel P. Friedman and David Thrane Christiansen.

Foreword by Robert Harper.

Afterword by Conor McBride.

An introduction to dependent types, demonstrating the most beautiful aspects, one step at a time.

A program's type describes its behavior. Dependent types are a first-class part of a language, and are much more powerful than other kinds of types; using just one language for types and programs allows program descriptions to be as powerful as the programs they describe. The Little Typer explains dependent types, beginning with a very small language that looks very much like Scheme and extending it to cover both programming with dependent types and using dependent types for mathematical reasoning. Readers should be familiar with the basics of a Lisp-like programming language, as presented in the first four chapters of The Little Schemer.

The first five chapters of The Little Typer provide the needed tools to understand dependent types; the remaining chapters use these tools to build a bridge between mathematics and programming. Readers will learn that tools they know from programming—pairs, lists, functions, and recursion—can also capture patterns of reasoning. The Little Typer does not attempt to teach either practical programming skills or a fully rigorous approach to types. Instead, it demonstrates the most beautiful aspects as simply as possible, one step at a time.




y

Seven Sketches in Compositionality: An Invitation to Applied Category Theory

Seven Sketches in Compositionality: An Invitation to Applied Category Theory

2018 by Brendan Fong and David I. Spivak

Category theory is becoming a central hub for all of pure mathematics. It is unmatched in its ability to organize and layer abstractions, to find commonalities between structures of all sorts, and to facilitate communication between different mathematical communities. But it has also been branching out into science, informatics, and industry. We believe that it has the potential to be a major cohesive force in the world, building rigorous bridges between disparate worlds, both theoretical and practical. The motto at MIT is mens et manus, Latin for mind and hand. We believe that category theory—and pure math in general—has stayed in the realm of mind for too long; it is ripe to be brought to hand.
A very approachable but useful introduction to category theory. It avoids the Scylla and Charybdis of becoming incomprehensible after page 2 (as many academic texts do), and barely scratching the surface (as many popular texts do).




y

Applied Category Theory - The Emerging Science of Compositionality

An enjoyable 25-minute introductory talk: YOW! Lambda Jam 2019 - Ken Scambler - Applied Category Theory (slides)

What do programming, quantum physics, chemistry, neuroscience, systems biology, natural language parsing, causality, network theory, game theory, dynamical systems and database theory have in common?

As functional programmers, we know how useful category theory can be for our work - or perhaps how abstruse and distant it can seem. What is less well known is that applying category theory to the real world is an exciting field of study that has really taken off in just the last few years. It turns out that we share something big with other fields and industries - we want to make big things out of little things without everything going to hell! The key is compositionality, the central idea of category theory.

Previously: Seven Sketches in Compositionality: An Invitation to Applied Category Theory.

(via Brian McKenna)




y

Histogram: You have to know the past to understand the present by Tomas Petricek

Histogram: You have to know the past to understand the present by Tomas Petricek, University of Kent

Programs are created through a variety of interactions. A programmer might write some code, run it interactively to check whether it works, use copy and paste, apply a refactoring or choose an item from an auto-complete list. Programming research often forgets about these and represents programs as the resulting text. Consequently, thinking about such interactions is often out of scope. This essay shifts focus from programs to a more interesting question of programming.

We represent programs as lists of interactions such as triggering an auto-complete and choosing an option, declaring a value, introducing a variable or evaluating a piece of code. We explore a number of consequences of this way of thinking about programs. First, if we create functions by writing concrete code using a sample input and applying a refactoring, we do not lose the sample input and can use it later for debugging. Second, if we treat executing code interactively as an interaction and store the results, we can later use this information to give more precise suggestions in auto-complete. Third, by moving away from a textual representation, we can display the same program as text, but also in a view inspired by spreadsheets. Fourth, we can let programmers create programs by directly interacting with live previews as those interactions can be recorded and as a part of program history.

We discuss the key ideas through examples in a simple programming environment for data exploration. Our focus in this essay is more on principles than on providing fine tuned user experience. We keep our environment more explicit, especially when this reveals what is happening behind the scenes. We aim to show that seeing programs as lists of interactions is a powerful change of perspective that can help us build better programming systems with novel features that make programming easier and more accessible. The data exploration environment in this interactive essay may not yet be that, but it gives a glimpse of the future.




y

Turnstile+: Dependent Type Systems as Macros

In 2017, a team from Northeastern University released Turnstile, a framework for implementing propositionally typed languages in Racket; cf. naasking's story Type Systems as Macros. The system was really nice because it allowed type systems to be expressed in a manner similar to the way theoretical PL researchers would in a paper, and because it hooked into Racket's clean compiler backend.

Now Stephen Chang, one of that team, together with new coauthors Michael Ballantyne, Usamilo Turner and William Bowman, have released a rewrite that they call Turnstile+, together with a POPL article, Dependent Type Systems as Macros. From that article's introduction:

Turnstile+ represents a major research leap over its predecessor. Specifically, we solve the major challenges necessary to implement dependent types and their accompanying DSLs and extensions (which Turnstile could not support), while retaining the original abilities of Turnstile. For example, one considerable obstacle was the separation between the macro expansion phase and a program’s runtime phase. Since dependently typed languages may evaluate expressions while type checking, checking dependent types with macros requires new macrology design patterns and abstractions for interleaving expansion, type checking, and evaluation. The following summarizes our key innovations.

  • Turnstile+ demands a radically different API for implementing a language’s types. It must be straightforward yet expressive enough to represent a range of constructs from base types, to binding forms like Π-types, to datatype definition forms for indexed inductive type families.
  • Turnstile+ includes an API for defining type-level computation, which we dub normalization by macro expansion. A programmer writes a reduction rule using syntax resembling familiar on-paper notation, and Turnstile+ generates a macro definition that performs the reduction during macro expansion. This allows easily implementing modular type-level evaluation.
  • Turnstile+’s new type API adds a generic type operation interface, enabling modular implementation of features such as error messages, pattern matching, and resugaring. This is particularly important for implementing tools like tactic systems that inspect intermediate type-checking steps and construct partial terms.
  • Turnstile+’s core type checking infrastructure requires an overhaul, specifically with first-class type environments, in order to accommodate features like dependent binding structures of the shape[x:τ]...,i.e., telescopes [de Bruijn 1991; McBride 2000].
  • Relatedly, Turnstile+’s inference-rule syntax is extended so that operations over telescopes, or premises with references to telescopes, operate as folds instead of as maps

The code is available at https://github.com/stchang/macrotypes.




y

Applications of Blockchain to Programming Language Theory

Let's talk about Blockchain. Goal is to use this forum topic to highlight its usefulness to programming language theory and practice. If you're familiar with existing research efforts, please share them here. In addition, feel free to generate ideas for how Blockchain could improve languages and developer productivity.

As one tasty example: Blockchain helps to formalize thinking about mutual knowledge and common knowledge, and potentially think about sharing intergalactic computing power through vast distributed computing fabrics. If we can design contracts in such a way that maximizes the usage of mutual knowledge while minimizing common knowledge to situations where you have to "prove your collateral", third-party transactions could eliminate a lot of back office burden. But, there might be benefits in other areas of computer science from such research, as well.

Some language researchers, like Mark S. Miller, have always dreamed of Agoric and the Decades-Long Quest for Secure Smart Contracts.

Some may also be aware that verification of smart contracts is an important research area, because of the notorious theft of purse via logic bug in an Ethereum smart contract.




y

I’m Coming Back To Lindsay Lohan

I’m Coming Back To Lindsay Lohan

Welcome back, Lindsay Lohan. And what better time than when we are all trapped in our homes desperate for something/anything to talk about. Linsday just dripped her first single, "Back To Me", since the year of the flood.

I Mean…What?!?




y

Why Do The Good Die Young?

Why Do The Good Die Young?

I thought back to the summer when I was eleven years old, after my father had discovered making money and had moved us “on up” from the dregs of Weehawken, New Jersey, situated on the ass end of the Lincoln Tunnel to the posh suburb, Englewood Cliffs just north of the George Washington Bridge.

I Mean…What?!?