Re[15]: Размер класса
От: raskin Россия  
Дата: 23.06.06 18:44
Оценка:
Lazy Cjow Rhrr wrote:
> raskin,
>
> Verb trains были изобретены Иверсоном и впервые появились именно в APL.
> Фактически это способ представления дерева композиций в виде
> /бесскобочного/ выражения. Особенно здорово оно работает в сочетании с
> adverbs и conjunctions:
Я не отрицаю новторства verb trains как реализации. Но при этом всё же
это очень удачные синтаксис и уточнённая семантика для идеи, что любая
функция действует на функциях как композиция со своим действием на
константах.
>
> Можно сравнить:
>
> truth_table1 =: #&2 #: [: i. 2&^
> truth_table2 =: (] # 2 #: [: i. 2: ^ ]
> truth_table3 =: monad : '((] y.) # (2: y.)) #: (i. (2: y.) ^ (] y.))'
> truth_table4 =: monad : '(y. # 2) #: (i. 2 ^ y.)'
> truth_table1 3
> Приведу эквивалентный совсем традиционный вариант (комментарии вставил
> чтобы не заставлять других читателей лезть в словарь, в тебе не сомневаюсь):
Зря, кстати, я его ещё не выучил до конца.
Вот antibase не помню наизусть
>

> antibase = (#; // конвертировать y в вектор используя базу из x

-- имеется в виду превратить число в вектор цифр записи c переменным
основанием системы исчисления в соответствии с элементами x.

[: Вы не описали — это явно чтобы заставить людей прочитать про trains.
>
> На мой взгляд verb trains очень даже новшество.
Новшество — как отличная реализация того, что реализовано до конца на
компьютере до этого не было, да.
>
>
> Tacit — да, есть аналогия с комбинаторами, но есть отличие: инфиксная
> запись и коньюнкции. Подозреваю, что как-то можно в хаскеле это
> эмулировать, но сомневаюсь, что 1-в-1. Если что — готов убедиться в
> обратном.
Комбинаторы, функции высшего порядка — разные записи. Я не отрицаю
великолепной синтаксической реализации, но как идеи это можно найти в
ранних Лиспах... (функция выраженная как результат выражения высшего
порядка).
>
>
> Loopless code — возможно хотелка была у многих и возможно давно, но
> внятной реализации охватывающей сколь нибудь сложный перебор не было.
> Даже Sisal — ФЯ который проектировался как киллер Фортрана, делает это
> весьма банально:
Ну правильно, в язык, закладывая то, что нужно, его обобщали. Например,
надо было добавить сложение векторов без циклов.. Реализация очень хорошая.

В общем, в математике все эти идеи были. Неожиданными, я думаю, они ни
для кого не были. Но то, как их обобщили и включили в синтаксис (и
реализовали как действующий язык) — это было новое, и хорошее.
Posted via RSDN NNTP Server 2.1 beta
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.