prospectus
The Worst Things For Sale is Drew's blog. It updates every day. Subscribe to the Worst Things For Sale RSS!
A prospective buyer decides to spend his money on your product, probably after watching advertisements for it, and giving in to the salesmanship and perseverance ...
The post How to Get More Sales Through Repeat and Referral Business appeared first on Saleschase Stories.
He’s standing in the dead middle of the meat section at Price Chopper screaming “HOW CAN THERE NOT BE ANY FUCKING STEAK?” Someone comes out bearing chicken from behind the steel clad gates of the backroom where they cut meat and stage the cases. “Hey, you got any steak back there?” “Steak? No sir. None.” […]
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
“A balanced diet is a cookie in each hand.” ~ Barbara Johnson Did YOU take the cookies from the cookie jar? Who, me? Yes, you! Couldn’t be. Then, who? Can’t fool me. I see crumbs on your face. ???? Don’t blame you, though. A cookie, at any time of day, always makes things … Continue reading cookie jar capers
| The old classical type of bus no longer in use |
| Memorial plaque |
| Memorial plaque |
| Archbishops BMW license plate |
| Gozo bishops Toyota license plate |
| President Abela's car and flag |
| Terrible building on Tower Ro |
| Terrible example on Tower Road |
| Beautiful building on Tower Road |
| Villa Aurora on Tower Road |
| The entrance |
| San Anton Garden |
A new introductory book about dependent types, involving some familiar names:
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.
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.
The 1996 Ig Nobel Prize for biology was awarded to Anders Barheim and Hogne Sandvik of the University of Bergen, Norway, for their tasty and tasteful report, “Effect of Ale, Garlic, and Soured Cream on the Appetite of Leeches.” Recently, Bradley Allff, writing in Atlas Obscura, looked at the role medical leeches sometimes play in medicine in the USA. […]
BabyWasher, the automatic dirty-diaper-changing invention, honored by the 2019 Ig Nobel Prize for engineering, now has a name, and is now undergoing intense development. You can follow the progress by visiting the inventor’s new web site, BabyWashers.com.
Today's xkcd illustrates why topic modeling can be tricky, for people as well as for machines: The mouseover title: "As the 'exotic animals in homemade aprons hosting baking shows' YouTube craze reached its peak in March 2020, Andrew Cuomo announced he was replacing the Statue of Liberty with a bronze pangolin in a chef's hat." […]