RSSAmplifier

Blog

Proper Treatment 正當作法

Chung-chieh Shan's blog 單中杰的部落格

conway.rutgers.eduRSS feed ↗20 posts

Latest posts

Babel-17

“Show me.” He bowed his head in mocking, semi-formal acquiescence. “Modern warfare can be fought on so many delightfully different levels,” he continued, walking back to her side as if no interruption of the tour had been suggested. “One wins a battle by making sure one’s troops have enough blunderbusses and battle axes like the ones you saw in the first room; or by the well-placed six-inch length…

Very far away from anywhere else

My experience immigrating to a foreign place is inextricable from my experience growing up. Somewhere along the way I learned the habit of recoiling from disappointment by lowering my expectations to match. I shrunk myself in space and time, never delaying others by holding the subway door open. As I practiced attending to the present and the internal, I dissociated from planning for the future…

Double blind

Whether and why and how to double-blind depends on what we re trying to do together, what s just, and what s humanly achievable all assumptions hard to pin down even if folks are willing. But here s how I think about it. Suppose we want to estimate the effect of reading a given paper on a person. Maybe this is because we want to decide whether to publish a paper, to promote its authors, or…

Derailing

A type checker that derails: show :: a -> String OK x :: Int OK show x but you can t show functions A proof checker that derails: Birds fly. Tweety the Canary is a bird. So Tweety flies. But Fido the Ostrich doesn t fly. Another type checker that derails: main = putStrLn s OK, how about s = show id Another proof checker that derails: Fido doesn t fly. But Fido is a bird, and birds fly. A helpful…

A challenge for a better community

Did you know that all ACM-sponsored conferences have an anti-harassment policy ? I didn t, until I chaired the Haskell Symposium last year. The concise policy says, among other things, that people shouldn t use my family constitution to interfere with my professional participation. And the policy has teeth. That s great. My not knowing the policy and not seeing it publicized didn t make me go out…

Haskell Symposium program chair report

Thank you all for coming! There are about 160 people registered for the symposium, which includes about 130 people registered per day. Thanks to everyone who submitted a paper! We received 37 papers [UPDATE: I misspoke; the actual number is 33] , of which we accepted 13. Unfortunately, we could not accept the 2 of those submissions that were functional pearls, or the 2 of those submissions that…

Borderline, just semantics

I want to discuss two moral aspects of how to talk about borderline people (e.g., whether to say MTF or female , smart or good at math ). The first aspect is what category of people we should be talking about, never mind how we talk about it. Usually, for a given category C, there are many ways to be borderline C: people can be borderline female due to a lack of chromosomes or a lack of genitals;…

Why not covariant generics?

Many people are riled up that Dart s type system proudly features covariant generics and so is unsound . The basic problem with covariant generics is that it lets you take a bowl of apples and call it a bowl of fruit. That s fine if you re just going to eat from the bowl and you like all fruits, but what if you decide to contribute a banana to the fruit bowl? Someone taking from the bowl expecting…

Goodbye Rutgers

FREE BOOKS! by taking them away I wrote on my office door. I had an hour before my next appointment to reduce my life at Rutgers to a carry-on suitcase. So I had to leave behind everything that I can buy again, even those volumes soaked with memories: my first linguistics class, my first book chapter, conferences where colleagues blew me away with their wit and intellect. You know, you re all…

TPDC 2011

I was honored to be an invited speaker at the Workshop on Theory and Practice of Delimited Continuations last month. The organizers Alexis Saurin, Hugo Herbelin, and Noam Zeilberger did a great job at putting together a friendly and informative event. Here are some fragmentary notes. Zena Ariola, Hugo Herbelin, David Herman, and Dan Keith: Let s change the abort in Filinski s implementation of…

Train go sorry

There are two kinds of people, those whose utterances have truth conditions and those whose utterances are jokes. (Thanks to David Beaver.) I was on the NJ Transit train from New York to SALT at Rutgers . A lady and a guy got on at the airport. Conductor to guy, punching his ticket: This train doesn t go to Foo. Get off at the next stop and change to a North Jersey Coast train. Guy to conductor:…

Art meets science

Art Meets Science is an exhibition of quilts inspired by science. It is worth an hour of your time to see. Until 2011-03-16, it is on view at 235 E 42 St, New York City. The building is Pfizer s; to see the exhibit, you need to email Ms Therese Sathue two days in advance with your name and the date and approximate time of your planned visit. Most of the 35 beautiful quilts on display are inspired…

The extensible visitor pattern in tagless final style

This literate Haskell program translates Shriram Krishnamurthi, Matthias Felleisen, and Daniel P. Friedman s extensible visitor pattern . Their paper Synthesizing object-oriented and functional design to promote re-use ( ECOOP 1998, 91 113) proposes this pattern as a solution to the expression problem. Unlike them, we don t use any type casts! {-# LANGUAGE Rank2Types #-} module ExtensibleVisitor…

Pollution and taboo are a cultural discipline for enforcing realms of abstraction

To: Lukhnos D. Liu I have been thinking about your blog post about making change rather than calling attention to it . It seems that many (perhaps most or all) important changes are successful exactly when people don t realize that they exist. User interfaces are like that: if your users notice that there is an interface, probably the interface is not good. Infrastructure services are like that:…

Actual New York City traffic rules

You are responsible for not hitting whatever is in front of you, unless it is crossing against the light, unless it is stopped. If you just passed a bicyclist, pedestrian, or slow moving vehicle, your personal green light lengthens by 3 seconds (5 seconds if you honked). If you are following a bicyclist, pedestrian, or slow moving vehicle, your personal green light lengthens indefinitely. Nothing…

OCaml types

On 2010-12-18T06:36:54-0500, Jesse Howarth wrote: Say I have functions like so: let rec foo (f: 'a ->'a) (x: 'a) : 'a = f x and a (x: float) = x and b (x: string) = x and bar = foo a 1.0 and baz = foo b "a" I get an error on the last line that foo is expecting a function of type float -> float because I called foo with a before calling it with b . If I swap the last two lines, I get an error…

Really understanding effects

To: Mike Solomon Cc: Chris Barker , Jim Pryor Thanks for starting this great discussion, whether the start was this month , this year , or this millennium . Let me first invoke the usual hypothesis of cognitive science: the mind is a computer/program/algorithm so let the study of the mind be informed by the study of computers/programs/algorithms. A lot of Mike s comments have direct analogues in…

指數成長歌 The descriptive complexity of songs

In his paper The complexity of songs , Knuth introduced the notion of the space complexity of a song and used it to account for music history. For example, compared to a song whose lyrics must be memorized verbatim, a song with a refrain has its space complexity reduced by a constant factor. To justify the quest for songs with reduced space complexity, Knuth appeals to cognitive science : It is…

Dependent equality

Thanks to Adam Chlipala for teaching me how to prove vec2list2vec . It means that converting a dependently typed vector to an ordinary list and back yields the same vector intact. But surely there is a simpler way? Require Import List. Require String. Open Scope string_scope. Ltac move_to_top x := match reverse goal with | H : _ |- _ => try move x after H end. Tactic Notation "assert_eq" ident(x)…

Grub default

Oh, to hell with all this screwy business with savedefault in Grub 2. Let s just set the default in userspace. $ cat /etc/rc.local #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By…