-- Leo's gemini proxy

-- Connecting to ix.cyb.red:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini; lang=en

abstraction considered harmful


> One of Hix and Hartson's usability guidelines is to Use Cognitive Directness (1993, p. 38), which means to "minimize the mental transformations that a user must make. Even small cognitive transformations by a user take effort away from the intended task." Conventional programming languages require the programmer to make tremendous transformations from the intended tasks to the code design.

Pane, 2001


how do we shrink our code size by an order of magnitude? functional programming languages solve an HCI problem, not just a semantic problem!


directness: idioms over libraries, the apl function is its own name

data over control flow, control flow is unnatural and unnecessary

fuzzy: suggestive generality → serendipitous transfer

syntax over semantics

human centered


leverage the human mind to pursue cross-domain optimizations.


Less name dependences
   ┌──────────┐
   │          ▼
 Better    Better
Structure   Names
   ▲          │
   └──────────┘
Easier to use names

what's in a name?


> If [you take] a look at how APLers communicate when they have ideas, you see code all the time, all day long. The APL community is the only one I've seen that regularly can write complete code and talk about it fluently on a whiteboard between humans without hand waving. Even my beloved Scheme programming language cannot boast this. When working with humans on a programming task, almost no one uses their programming languages that primary communication method between themselves and other humans outside of the presence of a computer. That signals to me that they are not, in fact, natural, expedient tools for communicating ideas to other humans. The best practices utilized in most programming languages are, instead, attempts to ameliorate the situation to make the code as tractable and as manageable as possible, but they do not, primarily, represent a demonstration of the naturalness of those languages to human communication.

> — aaron hsu


# primesLessThanTwenty ← /2=+˝0=|⌜˜↕20
⍝ RationalsAreCountable ← (⍳×/s)≡⌶∘⍋⍨⍋⍋,+⌿¨1+⍳s
⍝ Avg ← +⌿÷≢
⍝ APartitioningFunction ← (⍺⍺ ⍵) ⍵⍵⌸ ⍵

spectra


brevity/verbosity

macro/micro

transparency/abstraction

idioms/libraries

data/control flow

structure/names

implicit/explicit

syntax/semantics


see also


fnconf 2017

~arcfide (aaron hsu's blog as a gemini feed)


26-8₂

APL

Big Questions Notation


-- Response ended

-- Page fetched on Fri May 17 12:10:38 2024