Джон М. Скоулз
Джон Скоулз | |
---|---|
Рожденный | Англия | 24 апреля 1948 г.
Умер | 18 февраля 2019 г. | (70 лет)
Образование | бакалавр наук ; Манчестерский университет ; 1969 год |
Известный | АПЛ Прямые функции |
Награды | Премия Айверсона [1] |
Научная карьера | |
Поля | Информатика |
Учреждения | ICL WS Аткинс Лтд. Европейское космическое агентство ООО Диалог. |
Веб-сайт | dfns |
Джон Морли Скоулз (1948–2019) — британский учёный-компьютерщик . Свою профессиональную карьеру он посвятил разработке языка программирования APL . Он был разработчиком и исполнителем прямых функций .
Персональный
[ редактировать ]Джон Скоулз родился 24 апреля 1948 года в семье Джерри и Эми Скоулз. Он вырос в Лимингтон-Спа , Уорикшир, Англия, и посещал Лимингтонский колледж для мальчиков в период с 1960 по 1966 год. В период с 1966 по 1969 год он учился в Манчестерском университете и получил степень бакалавра (с отличием) по математике. [2]
Скоулз в своей жизни обладал поэтическими и романтическими качествами. Помимо APL, он также находил красоту в природе, опере, музыке Тома Уэйтса , литературе Джеймса Джойса , [3] поэзия У. Б. Йейтса . Он был членом общества Джойса в Дублине . В 2013 году он и его жена Флора Даулинг поехали в Слайго в Летнюю школу имени В.Б. Йейтса и познакомились с поэтом Симусом Хини летом перед смертью Хини. [2]
Сторона APL и романтическая сторона часто встречались: видео «Поиск в глубину» [4] ( ниже ) было записано на рассвете в день летнего солнцестояния 2014 года, с пением птиц в воздухе, когда он и его жена находились на 21-дневном ретрите по дзен во Франции под руководством Тич Нят Хана . Скоулз был доволен как техническим содержанием, так и условиями этой работы. [2]
Карьера
[ редактировать ]Первой работой Скоулза была должность стажера-программиста в компании International Computers Limited (ICL) (1969–70), а затем он перешел в отдел исследования операций компании WS Atkins в Эпсоме , графство Суррей (1971–75), а затем в отдел поддержки продаж. Департамент в Уоррингтоне , Ланкашир (1976–77). С 1977 по 1978 год он работал в Европейском космическом агентстве в Мадриде, Испания, в качестве программиста проекта International Ultraviolet Explorer . Затем он вернулся в ICL Dataskil, работая над APL для операционной системы VME/B (1978–82). В 1982 году он начал проект Dyalog APL для Unix -машин. [5] [6] а в 1988 году стал партнером и директором компании «Диалог». В 2004 году Скоулз продал свои акции компании, но продолжил работу консультантом и, по его словам, продолжил свой страстный интерес к программированию APL на различные математические темы в целом и функциональное программирование и dfns в частности. Или « ботаник », как он это еще называл. [2]
Прямые функции (dfns)
[ редактировать ]Кеннет Э. Айверсон , изобретатель APL, был недоволен способом определения пользовательских функций. В 1974 году он разработал «формальное определение функции» или «прямое определение» для использования в изложении. [7] Прямое определение состоит из двух или четырех частей, разделенных двоеточиями:
name : expression
name : expression0 : proposition : expression1
В прямом определении ⍺
обозначает левый аргумент и ⍵
правильный аргумент. В первом случае результат expression
является результатом функции; во втором случае результатом функции является результат expression0
если proposition
оценивается как 0 или expression1
если его значение равно 1. Присвоения внутри прямого определения являются динамически локальными . Примеры использования прямого определения можно найти в на премию Тьюринга 1979 года. лекции [8] и в книгах и прикладных документах. [9] [10] [11] [12] [13]
Прямое определение было слишком ограничено для использования в более крупных системах. Идеи были развиты несколькими авторами в многочисленных работах. [14] [15] [16] [17] [18] [19] [20] но результаты были громоздкими. Из них «альтернативное определение функции APL» Бунда в 1987 г. [19] наиболее близок к текущим возможностям, но имеет недостатки, связанные с конфликтами с существующими символами и обработкой ошибок, что могло бы вызвать практические трудности, и так и не был реализован. Основные выводы из различных предложений заключались в том, что (а) определяемая функция является анонимной , с последующим присвоением имени (если требуется) путем присвоения; (б) функция обозначается символом и тем самым обеспечивает анонимную рекурсию . [13]
В 1996 году Скоулз изобрел прямые функции или dfns (произносится как «ди-фанс»), что стало важным отличием APL начала 21 века по сравнению с предыдущими версиями. [21] [22] [23] [24] Dfns — это уникальная комбинация программирования массивов , функций высшего порядка и функционального программирования . Идея возникла в 1989 году, когда он прочитал специальный выпуск The Computer Journal, посвященный функциональному программированию. [25] Затем он приступил к изучению функционального программирования и почувствовал сильную мотивацию («больной желанием», как Йейтс) перенести эти идеи в APL. [23] [24] Первоначально он действовал скрытно, потому что опасался, что изменения могут быть сочтены слишком радикальными и ненужным усложнением языка; другие наблюдатели говорят, что он действовал скрытно, потому что коллеги «Диалога» не были в восторге и считали, что он зря тратит время и доставляет людям неприятности. Dfns были впервые представлены на форуме поставщиков Dyalog на конференции APL '96 и выпущены в Dyalog APL в начале 1997 года. [21] Принятие и признание пришли медленно. Еще в 2008 году в «Диалоге» в 25 лет [6] в публикации, посвящённой 25-летию компании Dyalog Ltd, dfns почти не упоминались (упоминались дважды как «динамические функции» и без подробностей). По состоянию на 2019 год dfns реализован в Dyalog APL, [26] НАРС2000, [27] и нгн/апл. [28] Они также играют ключевую роль в использовании вычислительных возможностей графического процессора (графического процессора). [29] [13]
Dfns проиллюстрирован здесь на примере. Гораздо более подробное объяснение и примеры можно найти в статье о прямых функциях и в ссылках. [22] [13] [30]
Быстрая сортировка массива ⍵
работает путем случайного выбора «опорной точки» среди ее основных ячеек, а затем объединения отсортированных основных ячеек, которые строго предшествуют опорной точке, основных ячеек, равных опорной точке, и отсортированных основных ячеек, которые строго следуют за опорной точкой, как это определено путем сравнения функция ⍺⍺
. Определяется как dop (прямой оператор ) Q
:
Q←{1≥≢⍵:⍵ ⋄ (∇ ⍵⌿⍨0>s)⍪(⍵⌿⍨0=s)⍪∇ ⍵⌿⍨0<s←⍵ ⍺⍺ ⍵⌷⍨?≢⍵}
⍝ precedes ⍝ follows ⍝ equals
2 (×-) 8 8 (×-) 2 8 (×-) 8
¯1 1 0
x← 2 19 3 8 3 6 9 4 19 7 0 10 15 14
(×-) Q x
0 2 3 3 4 6 7 8 9 10 14 15 19 19
Q3
это вариант, который объединяет три части, заключенные в функцию ⊂
вместо частей как таковых . Три части, генерируемые на каждом рекурсивном этапе, очевидны в структуре конечного результата. Применяя функцию, полученную из Q3
к одному и тому же аргументу несколько раз дает разные результаты, поскольку опорные точки выбираются случайным образом. по порядку Обход результатов дает тот же отсортированный массив.
Q3←{1≥≢⍵:⍵ ⋄ (⊂∇ ⍵⌿⍨0>s)⍪(⊂⍵⌿⍨0=s)⍪⊂∇ ⍵⌿⍨0<s←⍵ ⍺⍺ ⍵⌷⍨?≢⍵}
(×-) Q3 x
┌────────────────────────────────────────────┬─────┬┐
│┌──────────────┬─┬─────────────────────────┐│19 19││
││┌──────┬───┬─┐│6│┌──────┬─┬──────────────┐││ ││
│││┌┬─┬─┐│3 3│4││ ││┌┬─┬─┐│9│┌┬──┬────────┐│││ ││
│││││0│2││ │ ││ ││││7│8││ │││10│┌──┬──┬┐││││ ││
│││└┴─┴─┘│ │ ││ ││└┴─┴─┘│ │││ ││14│15││││││ ││
││└──────┴───┴─┘│ ││ │ │││ │└──┴──┴┘││││ ││
││ │ ││ │ │└┴──┴────────┘│││ ││
││ │ │└──────┴─┴──────────────┘││ ││
│└──────────────┴─┴─────────────────────────┘│ ││
└────────────────────────────────────────────┴─────┴┘
(×-) Q3 x
┌───────────────────────────┬─┬─────────────────────────────┐
│┌┬─┬──────────────────────┐│7│┌────────────────────┬─────┬┐│
│││0│┌┬─┬─────────────────┐││ ││┌──────┬──┬────────┐│19 19│││
│││ │││2│┌────────────┬─┬┐│││ │││┌┬─┬─┐│10│┌──┬──┬┐││ │││
│││ │││ ││┌───────┬─┬┐│6│││││ │││││8│9││ ││14│15││││ │││
│││ │││ │││┌┬───┬┐│4│││ │││││ │││└┴─┴─┘│ │└──┴──┴┘││ │││
│││ │││ │││││3 3│││ │││ │││││ ││└──────┴──┴────────┘│ │││
│││ │││ │││└┴───┴┘│ │││ │││││ │└────────────────────┴─────┴┘│
│││ │││ ││└───────┴─┴┘│ │││││ │ │
│││ │││ │└────────────┴─┴┘│││ │ │
│││ │└┴─┴─────────────────┘││ │ │
│└┴─┴──────────────────────┘│ │ │
└───────────────────────────┴─┴─────────────────────────────┘
Приведенная выше формулировка не нова; см., например, рисунок 3.7 классической книги «Проектирование и анализ компьютерных алгоритмов» . [31] Однако, в отличие от пиджин-программы АЛГОЛ, показанной на рис. 3.7, Q
и Q3
являются исполняемыми, а частичный порядок, используемый при сортировке, является операндом, (×-)
примеры выше. [13]
Статьи и презентации
[ редактировать ]- 1985. Операторы и вложенные массивы в Dyalog APL [32]
- 1989 — SM: Полноэкранный менеджер для Dyalog APL [33]
- Семинар 1990 г. по определенным операторам [34]
- 1990 Новая среда разработки в Dyalog APL. [35]
- Встреча 1994 г .: Пространства имен Dyalog APL [36]
- 1996 Прямые функции в Dyalog APL [21]
- Семинар APL98 1998 г. - Потоки в Dyalog APL [37]
- 1998 Threads: Введение в многопоточность [38]
- 2001 D: Функциональное подмножество Dyalog APL [39]
- Письмо 2001 г .: Локализация эффектов системных функций в D [40]
- 2003 г. [адрес электронной почты защищен] [41]
- 2003 г. Распределение затрат по венгерскому методу [42]
- 2004 Заметка о графиках [43]
- 2005 Как писать компьютерные программы [44]
- 2006 Языковые расширения [45]
- 2006 Функции как результаты [46]
- 2007 г. Улучшения производительности версии 11.1 [47]
- 2007 Расследование в отношении операторов высшего уровня [48]
- 2008 Выступление переводчика [49]
- 2008 г. Журнальные файлы (видео) [50] (текст) [51]
- 2008 Призыв к простоте (видео) [52]
- 2009 Игра жизни Конвея в APL (видео) [53]
- 2009 Введение в D-функции (видео 1, [54] 2 [55] )
- 2009 года Сессионные сенсации [56]
- 2009 Комплексные числа (видео) [57]
- Семинар 2010 г. - Введение в D-функции (видео 1) [58] (видео 2) [59]
- 2011 г. Семинар по изданию конференции [60]
- 2011 г. Представляем конференц-издание Dyalog '11 [61]
- 2011 APL# (видео) [62] (текст) [63]
- 2011 Функциональные поезда для Dyalog APL [64]
- 2011 Что такое функциональное программирование? (видео) [65]
- 2011 г. Закрытие [66]
- 2012 г. Потенциальные языковые возможности версии 14.0, (видео) [67] (текст) [68]
- 2012 Программирование без состояний (видео) [69]
- 2012 Вызов Алана Тьюринга (видео) [70]
- 2012 Решатель судоку в APL (видео) [71]
- 2013 Train Spotting в версии 14.0 (видео) [72] (текст) [73]
- 2013 Социальные навыки для программистов (видео) [74]
- 2014 Поиск в глубину в APL (видео) [4]
- 2014 Отвлечения (видео) [75]
- 2015 Dya(b)log (video) [76] (текст) [77]
- Предложения будущих операторов на 2015 год : вырезать, уменьшить и объединить (видео) [78] (текст) [79]
- 2016 Новые примитивные функции и операторы (видео) [80] (текст) [81] (сценарий) [82]
- Внедрение Dyalog, 2016 : первые годы (видео) [83]
- 2017 Практический пример: перекодирование от процедурного стиля к денотативному (видео) [84] (текст) [85]
- 2018 Dfns — прошлое, настоящее и будущее (видео) [23] (текст) [24]
остроумие
[ редактировать ]Скоулз был хорошо известен среди коллег своим остроумием, чувством юмора и чувством юмора. Его выступления «после ужина» на конференциях «Диалог» были долгожданными событиями. Некоторые из них из списка выше:
- 2008 Призыв к простоте (видео) [52]
- 2009 Комплексные числа (видео) [57]
- 2011 Что такое функциональное программирование? (видео) [65]
- 2012 Программирование без состояний (видео) [69]
- 2012 Вызов Алана Тьюринга (отрывок из предыдущего материала, видео) [70]
- 2013 Социальные навыки для программистов (видео) [74]
- 2014 Отвлечения (видео) [75]
Другие примеры можно найти в Схолизмах . [86]
Ссылки
[ редактировать ]- ^ «Премия Кеннета Э. Айверсона» . Ассоциация вычислительной техники . Проверено 15 сентября 2019 г.
- ^ Jump up to: а б с д Служба в честь жизни Джона Морли Скоулза , 4 марта 2019 г.
- ^ Скоулз, Джон (3 февраля 2015 г.), Чтение из «Улисса» Джойса (аудио) , получено 24 сентября 2019 г.
- ^ Jump up to: а б Скоулз, Джон (21 июня 2014 г.). Поиск в глубину в APL (видео). Ютуб . Проверено 21 сентября 2019 г.
- ^ Поливка, Рэй (март 1998 г.). «Интервью с Питером Доннелли и Джоном Скоулзом». APL Котировка Quad . 28 (3): 7–12. дои : 10.1145/309730.309731 . S2CID 28437582 .
- ^ Jump up to: а б Диалог (сентябрь 2008 г.). «Диалог в 25» (PDF) . Вектор . Проверено 20 сентября 2019 г.
- ^ Айверсон, Кеннет Э. (1974), «Глава 10, Определение формальной функции» , Элементарные функции , IBM Corporation , получено 18 сентября 2019 г.
- ^ Айверсон, Кеннет Э. (август 1980 г.). «Нотация как инструмент мышления» . Коммуникации АКМ . 23 (8): 444–465. дои : 10.1145/358896.358899 . Проверено 8 апреля 2016 г.
- ^ Айверсон, Кеннет Э. (1976). Элементарный анализ . АПЛ Пресс.
- ^ Орт, Д.Л. (1976). Исчисление в новом ключе . АПЛ Пресс.
- ^ Хуэй, Роджер (май 1987 г.). «Некоторые варианты использования { и }» . Материалы конференции APL 87 . Проверено 15 апреля 2016 г.
- ^ Макдоннелл, Э.Э. (май 1987 г.), «Жизнь: отвратительная, жестокая и короткая» , Материалы конференции APL 87 , получено 6 октября 2019 г.
- ^ Jump up to: а б с д и Хуэй, Роджер ; Кромберг, Мортен (июнь 2020 г.). «АПЛ с 1978 года» . Труды ACM по языкам программирования . 4 (ХОПЛ): 1–108. дои : 10.1145/3386319 . S2CID 218517570 .
- ^ Айверсон, Кеннет Э. (26 апреля 1978 г.), «Операторы и функции, §8» , номер отчета об исследовании № RC7091 , IBM Corporation , получено 19 сентября 2019 г.
- ^ Айверсон, Кеннет Э .; Вустер, Питер (сентябрь 1981 г.). «Оператор определения функции». Материалы конференции APL81, APL Quote Quad . 12 (1).
- ^ Чейни, Карл М. (март 1981 г.), Справочное руководство по системе вложенных массивов APL * Plus, §4.17 (PDF) , STSC, Inc. , получено 18 сентября 2019 г.
- ^ Айверсон, Кеннет Э. (6 января 1983 г.), Rationalized APL , IP Sharp Associates , получено 19 сентября 2019 г.
- ^ Айверсон, Кеннет Э. (сентябрь 1987 г.). «Словарь АПЛ» . APL Котировка Quad . 18 (1): 5–40. дои : 10.1145/36983.36984 . S2CID 18301178 . Проверено 19 сентября 2019 г.
- ^ Jump up to: а б Бунда, Джон (май 1987 г.). «Обозначение определения функции APL». Материалы конференции APL87, APL Quote Quad . 17 (4).
- ^ Хуэй, Роджер ; и др. (июль 1990 г.). "АПЛ\?" . Материалы конференции APL 90: За будущее . Том. 20. стр. 192–200. дои : 10.1145/97808.97845 . ISBN 089791371X . S2CID 235453656 . Проверено 10 сентября 2019 г.
- ^ Jump up to: а б с Скоулз, Джон (октябрь 1996 г.). «Прямые функции в Dyalog APL» (PDF) . Вектор . 13 (2) . Проверено 16 сентября 2019 г.
- ^ Jump up to: а б Скоулз, Джон (1998–2019), Рабочая область прямых функций , получено 15 сентября 2019 г.
- ^ Jump up to: а б с Скоулз, Джон (31 октября 2018 г.). Дфнс: прошлое, настоящее и будущее (видео). Встреча пользователей Dialog '18 . Проверено 21 сентября 2019 г.
- ^ Jump up to: а б с Скоулз, Джон (31 октября 2018 г.), Dfns: Past, Present and Future (текст) (PDF) , Встреча пользователей Dyalog '18 , получено 21 сентября 2019 г.
- ^ Уодлер, Филип Л.; и др. (1 января 1989 г.). «Специальный выпуск по функциональному программированию». Компьютерный журнал . 32 (2).
- ^ Диалог (15 августа 2019 г.). Справочное руководство по программированию Dyalog, версия 17.1, Dfns & Dops, стр. 133–147 (PDF) . ООО "Диалог" . Проверено 30 сентября 2019 г.
- ^ Смит, Боб (2006–2019), NARS2000 , получено 18 сентября 2019 г.
- ^ Николов, Ник (сентябрь 2013 г.). «Компиляция APL в JavaScript» . Вектор . 26 (1) . Проверено 19 сентября 2019 г.
- ^ Сюй, Аарон (2019). Параллельный компилятор данных, размещенный на графическом процессоре (предварительный вариант) (кандидатская диссертация). Университет Индианы .
- ^ Хуэй, Роджер (26 ноября 2016 г.), История APL в 50 функциях , получено 21 сентября 2019 г.
- ^ Где, АВ ; Хопкрофт, JE ; Уллман, JD (1974), Разработка и анализ компьютерных алгоритмов , Аддисон-Уэсли
- ^ Скоулз, Джон (июль 1985 г.), «Операторы и вложенные массивы в Dyalog APL», Vector , 2 (1)
- ^ Куртин, AD; Скоулз, Дж. М. (август 1989 г.). «⎕sm: Полноэкранный менеджер для Dyalog APL». APL Котировка Quad . 19 (4): 107–112. дои : 10.1145/75145.75159 .
- ^ Скоулз, Джон (апрель 1990 г.), «Семинар по определенным операторам», Vector , 6 (4)
- ^ Скоулз, Джон (апрель 1990 г.), «Новая среда разработки в Dyalog APL», Vector , 6 (4)
- ^ Скоулз, Джон (июль 1994 г.), «Встреча: пространства имен Dyalog APL» , Vector , 11 (1) , получено 21 сентября 2019 г.
- ^ Скоулз, Джон (октябрь 1998 г.), «Семинар APL98 – Потоки в Dyalog APL», Vector , 15 (2)
- ^ Скоулз, Джон (октябрь 1998 г.), «Потоки: введение в многопоточность», Vector , 15 (2)
- ^ Скоулз, Джон (апрель 2001 г.), «D: Функциональное подмножество Dyalog APL» , Vector , 17 (4) , получено 21 сентября 2019 г.
- ^ Скоулз, Джон (июль 2001 г.), «Локализация эффектов системных функций в D», Vector , 18 (1)
- ^ Скоулз, Джон (июль 2003 г.), « [электронная почта защищена] », Vector , 20 (1)
- ^ Скоулз, Джон (июль 2003 г.), «Распределение затрат по венгерскому методу» , Vector , 20 (1) , получено 21 сентября 2019 г.
- ^ Скоулз, Джон (апрель 2004 г.), «Заметки о графиках», Vector , 20 (4)
- ^ Скоулз, Джон (май 2005 г.), «Как писать компьютерные программы» (PDF) , Vector , 21 (3) , получено 21 сентября 2019 г.
- ^ Скоулз, Джон (17 октября 2006 г.), Языковые расширения , Конференция пользователей Dyalog '06
- ^ Скоулз, Джон (17 октября 2006 г.), Функции как результаты (PDF) , Конференция пользователей Dyalog '06 , получено 21 сентября 2019 г.
- ^ Делькрос, Николас; Скоулз, Джон (1 октября 2007 г.), Улучшения производительности версии 11.1 , Конференция пользователей Dyalog '07
- ^ Скоулз, Джон (1 октября 2007 г.), Исследование операторов более высокого уровня , Конференция пользователей Dyalog '07
- ^ Делькрос, Николас; Скоулз, Джон (13 октября 2008 г.), Производительность переводчика , Конференция пользователей Dyalog '08
- ^ Скоулз, Джон; Смит, Ричард (13 октября 2008 г.). Журналируемые файлы (видео). Конференция пользователей Dialog '08 . Проверено 21 сентября 2019 г.
- ^ Скоулз, Джон; Смит, Ричард (13 октября 2008 г.), Журнальные файлы (текст) , Конференция пользователей Dyalog '08 , получено 21 сентября 2019 г.
- ^ Jump up to: а б Скоулз, Джон (13 октября 2008 г.). Призыв к простоте (видео). Конференция пользователей Dialog '08 . Проверено 21 сентября 2019 г.
- ^ Скоулз, Джон (26 января 2009 г.). Игра жизни Конвея в APL (видео). Ютуб . Проверено 21 сентября 2019 г.
- ^ Скоулз, Джон (13 сентября 2009 г.). Введение в D-функции (видео). Конференция пользователей Dialog '09 . Проверено 21 сентября 2019 г.
- ^ Скоулз, Джон (13 сентября 2009 г.). Введение в D-функции (видео). Конференция пользователей Dialog '09 . Проверено 21 сентября 2019 г.
- ^ Скоулз, Джон (13 сентября 2009 г.), Session Whizbangs , Конференция пользователей Dyalog '09
- ^ Jump up to: а б Скоулз, Джон (14 сентября 2009 г.). Комплексные числа (видео). Конференция пользователей Dialog '09 . Проверено 21 сентября 2019 г.
- ^ Скоулз, Джон (14 сентября 2010 г.). Практикум — Введение в D-функции (видео). Конференция пользователей Dialog '10 . Проверено 21 сентября 2019 г.
- ^ Скоулз, Джон (14 сентября 2010 г.). Практикум — Введение в D-функции (видео). Конференция пользователей Dialog '10 . Проверено 21 сентября 2019 г.
- ^ Фоад, Джей; Скоулз, Джон; Хуэй, Роджер (2 октября 2011 г.), Семинар Conference Edition , Конференция пользователей Dyalog '11
- ^ Скоулз, Джон; Хуэй, Роджер (3 октября 2011 г.), Представляем Dyalog '11 Conference Edition , Конференция пользователей Dyalog '11
- ^ Кромберг, Мортен; Скоулз, Джон; Манктелов, Джонатан (3 октября 2011 г.). APL# (видео). Конференция пользователей Диалог '11 . Проверено 21 сентября 2019 г.
- ^ Кромберг, Мортен; Скоулз, Джон; Манктелов, Джонатан (3 октября 2011 г.), APL# (текст) , Конференция пользователей Dyalog '11 , получено 21 сентября 2019 г.
- ^ Скоулз, Джон (3 октября 2011 г.), Функциональные поезда для Dyalog APL , Конференция пользователей Dyalog '11
- ^ Jump up to: а б Скоулз, Джон; Хуэй, Роджер (3 октября 2011 г.). Что такое функциональное программирование? (видео). Конференция пользователей Dialog '11 . Проверено 21 сентября 2019 г.
- ^ Скоулз, Джон (5 октября 2011 г.), Замыкания , Конференция пользователей Dyalog '11
- ^ Скоулз, Джон; Хуэй, Роджер (15 октября 2012 г.). Потенциальные возможности языка версии 14.0 (видео). Конференция пользователей Dialog '12 . Проверено 21 сентября 2019 г.
- ^ Скоулз, Джон; Хуэй, Роджер (15 октября 2012 г.), Потенциальные возможности языка версии 14.0 (текст) , Конференция пользователей Dyalog '12 , получено 21 сентября 2019 г.
- ^ Jump up to: а б Скоулз, Джон (15 октября 2012 г.). Программирование без состояний (видео). Конференция пользователей Dialog '12 . Проверено 21 сентября 2019 г.
- ^ Jump up to: а б Скоулз, Джон (15 октября 2012 г.). Звонок Алану Тьюрингу (видео). Конференция пользователей Dialog '12 . Проверено 22 сентября 2019 г.
- ^ Скоулз, Джон (27 октября 2012 г.). Решатель судоку в APL (видео). Ютуб . Проверено 21 сентября 2019 г.
- ^ Скоулз, Джон (22 октября 2013 г.). Споттинг поездов в версии 14.0 (видео). Конференция пользователей Dialog '13 . Проверено 21 сентября 2019 г.
- ^ Скоулз, Джон (22 октября 2013 г.), Train Spotting в версии 14.0 (текст) (PDF) , Конференция пользователей Dyalog '13 , получено 21 сентября 2019 г.
- ^ Jump up to: а б Скоулз, Джон (22 октября 2013 г.). Социальные навыки для программистов (видео). Конференция пользователей Dialog '13 . Проверено 21 сентября 2019 г.
- ^ Jump up to: а б Скоулз, Джон (22 сентября 2014 г.). Отвлекающие факторы (видео). Встреча пользователей Dialog '14 . Проверено 21 сентября 2019 г.
- ^ Смит, Фиона; Скоулз, Джон; Смит, Ричард; Хуэй, Роджер (7 сентября 2015 г.). Дья(б)лог (видео). Встреча пользователей Dialog '15 . Проверено 21 сентября 2019 г.
- ^ Смит, Фиона; Скоулз, Джон; Смит, Ричард; Хуэй, Роджер (7 сентября 2015 г.), Dya(b)log (текст) (PDF) , Встреча пользователей Dyalog '15 , получено 21 сентября 2019 г.
- ^ Скоулз, Джон; Хуэй, Роджер (10 сентября 2015 г.), Предложения будущих операторов: вырезать, уменьшить и объединить (видео) , Встреча пользователей Dyalog '15 , получено 21 сентября 2019 г. (текст)
- ^ Скоулз, Джон; Хуэй, Роджер (10 сентября 2015 г.), Предложения будущих операторов: вырезать, уменьшить и объединить (текст) , Встреча пользователей Dyalog '15 , получено 21 сентября 2019 г. (текст)
- ^ Скоулз, Джон; Хуэй, Роджер (10 октября 2016 г.). Новые примитивные функции и операторы (видео). Встреча пользователей Dialog '16 . Проверено 21 сентября 2019 г.
- ^ Скоулз, Джон; Хуэй, Роджер (10 октября 2016 г.), Новые примитивные функции и операторы (текст) , Встреча пользователей Dyalog '16 , получено 21 сентября 2019 г.
- ^ Скоулз, Джон; Хуэй, Роджер (10 октября 2016 г.), Новые примитивные функции и операторы (сценарий) , Встреча пользователей Dyalog '16 , получено 21 сентября 2019 г.
- ^ Тейлор, Стивен; Стритер, Джефф; Скоулз, Джон (12 октября 2016 г.). Внедрение Dyalog: первые годы (видео). Встреча пользователей Dialog '16 . Проверено 21 сентября 2019 г.
- ^ Скоулз, Джон (11 сентября 2017 г.). Практический пример: перекодирование из процедурного стиля в денотативный (видео). Встреча пользователей Dialog '17 . Проверено 21 сентября 2019 г.
- ^ Скоулз, Джон (11 сентября 2017 г.), Практический пример — перекодирование от процедурного стиля к денотативному (PDF) , Встреча пользователей Dyalog '17 , получено 21 сентября 2019 г.
- ^ Скоулз, Джон (март 2019 г.), Хуэй, Роджер (редактор), Схолизмы , данные получены 20 сентября 2019 г.
Внешние ссылки
[ редактировать ]- Официальный сайт , Джон Скоулз (1948–2019): гений, джентльмен и озорной школьник.
- Диалог: Прямые функции