i dont like baseball
The Worst Things For Sale is Drew's blog. It updates every day. Subscribe to the Worst Things For Sale RSS!
musicisart magazine Kiasmos – Blurred + Remixes
Sometimes the best way to relax is to listen to calming, downtempo music. Kiasmos provide a modern twist to perfection. Duo producers Ólafur Arnalds and Janus Rasmussen allow their own creative abilities to gracefully combine. Together their meditative sounds present an ethereal atmosphere mixed with sophisticated storylines told without words, felt within the simplistic beats […]
The post Kiasmos – Blurred + Remixes appeared first on musicisart magazine.
Today, most B2B clients are aware of environmental issues, and some of them actively look for environmentally friendly products and services. This trend is going ...
The post Top 6 Environmental B2B Marketing Ideas for Small Businesses appeared first on Saleschase Stories.
Not all B2B marketing plans are successful. As a marketer, you should be aware of the potential traps that cause your seemingly well-written marketing plan ...
The post Top 5 Reasons Why B2B Marketing Plans Fail for Small Businesses appeared first on Saleschase Stories.
Some say we must mask ourselves to save ourselves and others Others say we must unmask to save America and as for the world beyond America it can kiss our collective unmasked ass Then again the face we know of America itself has always been a mask covering hypocrisy with good intentions Contradiction is how it stays […]
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 […]
When the architect passes you still have the building. When the musician passes you still have the music. When the person passes you have what you remember — when Fats Domino passed, when Little Richard passed, I remember how their hands looked on the keys. I remember how I knew from watching them that the […]
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
| PM in Marsascala during his tour for support |
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.
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.
To what lengths does one have to go in order to achieve fame? It wasn’t until years later that by simply sucking on someone’s cock (Monica Lewinsky and Kim Kardashian) that the distance one had to go to achieve fame was not that far at all. The only distance they had to go...was down.