Проект GNU объявил (http://permalink.gmane.org/gmane.org.fsf.announce/2084) о выходе GNU APL 1.2 (http://www.gnu.org/software/apl/), полностью удовлетворяющего требованиям стандарта ISO 13751 ("Programming Language APL, Extended") интерпретатора для одного из старейших языков программирования - APL (http://ru.wikipedia.org/wiki/APL_%28%D1%8F.... В новой версии реализована новая схема управления памятью, отличающаяся более высокой стабильностью, а также добавлена поддержка режима emacs и возможность написания функций APL на языке C++.
Язык APL отличается оптимизацией для работы с массивами произвольной вложенности и поддержкой комплексных чисел, что делает его востребованным для научных расчётов и обработки данных. В начале 1970-х годов идея APL-машины дала толчок к созданию первого в мире персонального компьютера IBM 5100. APL также пользовался большой популярностью на советских ЭВМ начала 80-х годов. Из современных систем, основанных на идеях APL, можно отметить вычислительные среды Mathematica и MATLAB.URL: http://permalink.gmane.org/gmane.org.fsf.announce/2084
Новость: http://www.opennet.me/opennews/art.shtml?num=38854
∇yZ←yA xbox yB;LenA;H
Assert 2 ≡ ≡yA ◊ Assert 1 ≡ ''⍴⍴⍴yA
Assert 2 ≡ ≡yB ◊ Assert 1 ≡ ''⍴⍴⍴yB
LenA←⌈/⍴¨yA
H←↑(⍴yA)⌈⍴yB
yA←H↑LenA↑¨yA
yZ←yA ,¨H↑yB
Assert 2 ≡ ≡yZ ◊ Assert 1 ≡ ''⍴⍴⍴yZ
∇Не, нафиг, я уж лучше на брейнфаке ...
Вот и ладушки. Оно не для тебя.
> Вот и ладушки. Оно не для тебя.Нукась, IQ ходячее, изобрази нам на APL, через 5 минут,
приведение кв. матрицы 100x100 к треугольному виду.
Если чо это 1-й курс "Линейки".
А ты тем временем на брейнфаке это изобразишь, да? ОК, с указателями только не запутайся.
> А ты тем временем на брейнфаке это изобразишь, да? ОК, с указателями
> только не запутайся.
-------++++++++++.+++++++..+++.--------------
-[>+++++++>++++++++++>+++>+<<<<--------------
---------------.+++++++++++++++++++++++++++++
+++++++++[>++++<<+++++++++.++++++++++++++++++
++++++.+++.------.--------.------------------
-[>+++++++>++++++++++>+++>+<<<<---.-+++++++++
+++++++++.++++.++++++++++++++.++++++++++.++++
------++++++++++++++++++++.++++++++++++++++++
++++++.+++.------.--------.------------------
------+++++++++++>>>++++.---------.----------
----.-----------------------.+++++++++>>>++>.
Есть инфа, что код-то нерабочий. Скобки-то не закрываются..
> Есть инфа, что код-то нерабочий. Скобки-то не закрываются..В БФ нет скобок, [> - это while (++*i);
Нет. "[>" — это "while(*p){p++".
"while(++*i)" — это "[+]". В брейнфаке всего-то восемь команд, неужели их так сложно запомнить?
> Нет. "[>" — это "while(*p){p++".
> "while(++*i)" — это "[+]". В брейнфаке всего-то восемь команд, неужели их так
> сложно запомнить?[+] - это foreach (*x) { if x else x++ }
В brainfuck нет структур данных, а потому нет и никакого foreach, о псевдокодер.
какие структуры, ты чо, курить foreach на Google, о псевдовакуум.
Сложные структуры данных, о забывший самые основы. Массивы, например. Или списки. Или вообще любая структура, позволяющая перечислять своё содержимое. В брейнфаке же нет ничего сложнее целых чисел, вот и перечислять там нечего.
В следующий раз прежде чем других в гугл посылать, погугли сначала сам, ладно? А то ты уже не в первый раз позоришься из-за пустяков.
> Сложные структуры данных, о забывший самые основы. Массивы, например. Или списки. Или
> вообще любая структура, позволяющая перечислять своё содержимое.Да ты чо, while ((addr >> 1) & 1); /* впирёд, в гугол, изучать.... чтоб насрать ещё. */
Омай гад, это же побитовое перечисление!!! Число это адски сложная структура!!!
> Есть инфа, что код-то нерабочий. Скобки-то не закрываются.."Каждый программист знает, что на каждую улицу Пушкина обязана быть улица Попкина".
> Стихи удалены модератором°
PLZ Скинте пример программы для этой задачки на APL
> PLZ Скинте пример программы для этой задачки на APLЛучше скинуть ему на ногу пудовую гирю, чтобы на будущее он боялся попрошайничать на форумах и учился гуглить сам.
Поддерживаю, хоть и способ не совсем человечий. Тем не менее и он имеет право на реализацию ибо некоторые личности думают не своим мозгом.
Не изображу. Так как оно и не для меня тоже - последний раз я с матрицами работал примерно никогда.Просто если это не твоя сфера - не лезь с особо ценным мнением.
Да я и не спорю, просто таким новостям место на форуме мех.-мат. МГУ. :)
Так и не твоя, так что своим же советом и воспользуйся, а мы как-нибудь сами разберёмся.
>[оверквотинг удален]
> Assert 2 ≡ ≡yA ◊ Assert 1 ≡ ''⍴⍴⍴yA
> Assert 2 ≡ ≡yB ◊ Assert 1 ≡ ''⍴⍴⍴yB
> LenA←⌈/⍴¨yA
> H←↑(⍴yA)⌈⍴yB
> yA←H↑LenA↑¨yA
> yZ←yA ,¨H↑yB
> Assert 2 ≡ ≡yZ ◊ Assert 1 ≡ ''⍴⍴⍴yZ
> ∇
>
Вы осторожней, у меня после прочтения этого кода вслух- открылись ворота в ад...
> Вы осторожней, у меня после прочтения этого кода вслух- открылись ворота в ад...Так ты радоваться должен, как раз отличное местечко для wannabe-бсдшников.
Scorpion Wins!
Brainfuckallity
Не знаю зачем спорить. Кждый язык находит своё применение, и разрабатывается для решения конкретных задач.
Интересно, в какой часть этот язык повлиял на Mathematica? Влияние Lisp в ней чувствуется, а вот в чем влияние APL?
Операции над векторами и матрицами, очевидно.
> Операции над векторами и матрицами, очевидно.Например, о безымянный гуру?
смирись падаван --- первый раз "вектор + вектор" реализовали как конструкцию языка в apl
> смирись падаван --- первый раз "вектор + вектор" реализовали как конструкцию языка в aplЯ бы попросил у гуру доказательств про первый раз.
Но ведь дело в том, что релиз математики был в конце 80-х (1988, вроде). А там был уже и fortran 90, и C++ (1985 - "The C++ Programming Language")... Поди, давно забыли уж про первый раз ;)
>> смирись падаван --- первый раз "вектор + вектор" реализовали как конструкцию языка в apl
> Я бы попросил у гуру доказательств про первый раз.
> Но ведь дело в том, что релиз математики был в конце 80-х
> (1988, вроде). А там был уже и fortran 90, и
> C++ (1985 - "The C++ Programming Language")... Поди, давно
> забыли уж про первый раз ;)Капитан напоминает, что конец восьмидесятых наступил ПОСЛЕ середины шестидесятых — а APL появился именно тогда (1964 год, если быть точным).
> середины шестидесятыхО! Кайф, свобода, хипЫ!!
> Капитан напоминаетКапитану полезно сперва выучить логику, прежде чем капитанить.
> APL появился именно тогда (1964 год, если быть точным)
Раньше. Ты викимусорку не дочитал.
Зародыш APL появился раньше, в 1957 году, а сам APL — в 1964. Но если ты хочешь заставить своё высказывание про С++ и фортран-90 выглядеть еще глупее, я не против.
> Зародыш APL появился раньше, в 1957 году, а сам APL — в 1964.Я рад, что ты продолжаешь читаеть вики дальше.
> Но если ты хочешь заставить своё высказывание про С++ и фортран-90 выглядеть еще глупее
Что именно глупого в указании на факт, что к моменту появления похожий функционал был у кучи языков? Предшествует != влияет.
Тем более, что оператор "+" в Математике - "умеет" куда больше. Его можно перегрузить, к примеру, а операции с матрицами/векторами - просто частный случай подобной нотации. Такое было в APL?
Иди, дурень, читай викимусорку дальше...
Долбон укуренный - покажи в любом языке ~64 года vector + vector как конструкцию языка или делай вдоль себе, и всем родственникам.
> Что именно глупого в указании на факт, что к моменту появления похожий
> функционал был у кучи языков? Предшествует != влияет.Хотя бы тот факт, что ты не указал ни одного языка, который появился ДО APL. Ты указал языки, появившиеся в конце восьмидесятых или позже. APL появился до начала семидесятых.
> Тем более, что оператор "+" в Математике - "умеет" куда больше. Его можно перегрузить, к примеру, а операции с матрицами/векторами - просто частный случай подобной нотации. Такое было в APL?
А какая разница? Математика всё равно появилась позже, и всё равно операции над векторами там появились именно под влиянием APL.
> Иди, дурень, читай викимусорку дальше...
Может, я, конечно, и дурень, но зато сравнить 1964 с 1980 могу успешно, в отличии от некоторых.
>> Что именно глупого в указании на факт, что к моменту появления похожий
>> функционал был у кучи языков? Предшествует != влияет.
> Хотя бы тот факт, что ты не указал ни одного языка, который
> появился ДО APL.Предшествал != повлиял.
То, что я не указал языка, предшествующего APL - означает что мне лень
доказывать утверждения PSV за PSV. Я лишь указал, что подобные вещи уже были распространены
в других языках на появления Математики.>> Тем более, что оператор "+" в Математике - "умеет" куда больше. Его можно перегрузить, к примеру, а операции с матрицами/векторами - просто частный случай подобной нотации. Такое было в APL?
> А какая разница?А большая разница. В том, что данный оператор имеет там отношение к векторам в той же степени, что и к кватернионам, или вообще к символам. Ничего подобного в APL не было.
> всё равно операции
> над векторами там появились именно под влиянием APL.Так ты собираешься, наконец, *доказать* это "влияние"?
Нет? Тогда и не путайся под ногами. PSV пожелает - ответит.
> Предшествал != повлиял.Резонное замечание. Глупости оставшейся части твоих аргументов оно, правда, не отменяет.
> То, что я не указал языка, предшествующего APL - означает что мне лень
> доказывать утверждения PSV за PSV. Я лишь указал, что подобные вещи уже были распространены
> в других языках на появления Математики.…и как примеры этих языков ты приводишь фортран-90, появившийся ПОСЛЕ Математики, и С++, в котором хоть перегрузка операторов и есть, но применения оной для определения операций с векторами и сейчас не наблюдается даже в стандартной библиотеке, а уж в конце восьмидесятых — тем более. Молодец.
> А большая разница. В том, что данный оператор имеет там отношение к векторам в той же степени, что и к кватернионам, или вообще к символам. Ничего подобного в APL не было.
Если бы в APL было всё, что есть в Математике, никому бы и в голову не пришло создавать Математику. Это разные языки, один из которых был создан под влиянием другого. Так получилось, что APL — не единственный язык, который оказал на Математику влияние, но это не отменяет влияния APL.
> Так ты собираешься, наконец, *доказать* это "влияние"?
Ну, если тебе лень погуглить пять минут…
Узри!
http://blog.stephenwolfram.com/2013/06/there-was-a-time-befo.../
В частности, вот эти три абзаца:
And then it was November 1979. I was 20 years old, and I’d just gotten my PhD in physics. I was spending a few weeks at CERN, planning my future in (as I believed) physics. And one thing I concluded was that to do physics well, I’d need something better than Macsyma. And after a little while I decided that the only way I’d really have a chance to get what I wanted was if I built it myself.And so it was that I embarked on what would become SMP (the “Symbolic Manipulation Program”). I had a pretty broad knowledge of other computer languages of the time, both the “ordinary” ALGOL-like procedural ones, and ones like LISP and APL. At first as I sketched out SMP, my designs looked a lot like what I’d seen in those languages. But gradually, as I understood more about how different SMP had to be, I started just trying to invent everything myself.
I think I had some pretty good ideas. And actually even some of my early SMP design documents have a remarkably Mathematica-like flavor to them:
<изображение>
Что и требовалось доказать. Создатель Математики говорит, что влияние APL было — значит, было.
> …и как примеры этих языков ты приводишь фортран-90, появившийся ПОСЛЕ МатематикиЭто одноименный стандарт появился после.
>> А большая разница. В том, что данный оператор имеет там отношение к векторам в той же степени, что и к кватернионам, или вообще к символам. Ничего подобного в APL не было.
> Если бы в APL было всё, что есть в Математике, никому бы
> и в голову не пришло создавать Математику.Я к тому, что *общего* тут - только символ плюсика. Все остальное, что за ним скрыто - разное.
> And so it was that I embarked on what would become SMP
> (the “Symbolic Manipulation Program”). I had a pretty broad knowledge of
> other computer languages of the time, both the “ordinary” ALGOL-like procedural
> ones, and ones like LISP and APL. At first as I
> sketched out SMP, my designs looked a lot like what I’d
> seen in those languages.Было бы все-таки неплохо увидеть эти "what I'd seen". Плюсик - не катит.
> Что и требовалось доказать. Создатель Математики говорит, что влияние APL было —
> значит, было.Создатель Математики (тм) - утверждает, что он *был знаком* с APL. Почувствуй разницу, что называется.
> Это одноименный стандарт появился после.Угу. Одноименный стандарт, до появления которого арифметических операций над векторами в Фортране не было.
> Было бы все-таки неплохо увидеть эти "what I'd seen". Плюсик - не катит.
Ну так пройди по ссылке и посмотри на изображение, которое автор приводит. Или тебе религия не позволяет?
> Создатель Математики (тм) - утверждает, что он *был знаком* с APL. Почувствуй разницу, что называется.
Ну да. Наверняка он никакого влияния APL не испытал не смотря на то, что был с ним знаком, а упомянул про него просто так. В статье про создание Математики. Ты хоть сам-то в эту чушь веришь?
>> Это одноименный стандарт появился после.
> Угу. Одноименный стандарт, до появления которого арифметических операций над векторами
> в Фортране не было.Ох уж эти дети... Нового стандарта - не было. А фортран был уже давным давно, язык развивался.
>> Было бы все-таки неплохо увидеть эти "what I'd seen". Плюсик - не катит.
> Ну так пройди по ссылке и посмотри на изображение, которое автор приводит.На *которое* изображение? "Догадайся, мол, сама".
> Или тебе религия не позволяет?
Я человек не религиозный. Просто, прикинь, твои собственные утверждения таки никто не обязан доказывать.
>> Создатель Математики (тм) - утверждает, что он *был знаком* с APL. Почувствуй разницу, что называется.
> Ну да. Наверняка он никакого влияния APL не испытал не смотря на
> то, что был с ним знакомВполне возможно. Во всяком случае, примеров влияния ты так и не предоставил.
> Ох уж эти дети... Нового стандарта - не было. А фортран был уже давным давно, язык развивался.Фортран — был. Фортрана с векторной арифметикой — не было.
> На *которое* изображение? "Догадайся, мол, сама".
А ты посмотри на все изображения и текст почитай. Чай, не дурак, читать не только "викимусорку" умеешь.
> Я человек не религиозный. Просто, прикинь, твои собственные утверждения таки никто не обязан доказывать.
Вот и не довольствуйся одними моими утверждениями, а прочитай то, что автор языка говорит.
> Вполне возможно. Во всяком случае, примеров влияния ты так и не предоставил.
…скажи-ка, юноша, что ты сочтёшь приемлимым примером влияния, коли ни примера языковой конструкции, в APL появившейся впервые, а в Математике — позднее, тебе не достаточно, ни слов автора языка о том, что APL он знал и при создании своего языка этим знанием руководствовался? Может, ты и не хочешь докопаться до истины, а просто троллишь? Или ты просто дурак?
>> На *которое* изображение? "Догадайся, мол, сама".
> А ты посмотри на все изображения и текст почитай. Чай, не дуракМне лень доказывать за тебя твои же утверждения.
> …скажи-ка, юноша, что ты сочтёшь приемлимым примером влияния, коли ни примера языковой
> конструкции, в APL появившейся впервые, а в Математике — позднееТак и приведи пример подобной конструкции. Повторяю, плюсик - не катит. В APL и Математике - он обозначает сильно разные вещи, я это все подробно объяснял выше.
> не достаточно, ни слов автора языка о том, что APL он
> знал и при создании своего языка этим знанием руководствовался?В тексте есть только первое, но не второе.
> Мне лень доказывать за тебя твои же утверждения.Тебе попробуй докажи, что белое это белое, показав на него пальцем — ни за что не посмотришь: будешь закрывать глаза, говорить, что не хочешь доказывать вместо собеседника его утверждения, и продолжать твердить, что оно чёрное.
> Так и приведи пример подобной конструкции. Повторяю, плюсик - не катит. В APL и Математике - он обозначает сильно разные вещи, я это все подробно объяснял выше.
Плюсик как раз катит, ибо в Математике он среди прочего означает еще и то, что в APL. Да, он означает не только то, что в APL. И что? Никто не пытается доказать, что APL — единственный язык, который оказал на Математику влияние.
> В тексте есть только первое, но не второе.
Есть. Так уж и быть, покажу тебе этот момент еще раз:
I had a pretty broad knowledge of other computer languages of the time, both the “ordinary” ALGOL-like procedural ones, and ones like LISP and APL. At first as I sketched out SMP, my designs looked a lot like what I’d seen in those languages.
Вот оно, английским по серому. Я вижу, ты не только "викимусорку" читать не умеешь, но и то, что у тебя перед глазами.
>> Мне лень доказывать за тебя твои же утверждения.
> Тебе попробуй докажи, что белое это белое, показав на него пальцем —
> ни за что не посмотришь: будешь закрывать глазаЕсть шанс прекратить твои дальнейшие фантазии?
>> Так и приведи пример подобной конструкции. Повторяю, плюсик - не катит. В APL и Математике - он обозначает сильно разные вещи, я это все подробно объяснял выше.
> Плюсик как раз катитПовторять объяснения я не буду.
> Есть. Так уж и быть, покажу тебе этот момент еще раз:
>
> I had a pretty broad knowledge of other computer languages of the
> time, both the “ordinary” ALGOL-like procedural ones, and ones like LISP
> and APL. At first as I sketched out SMP, my designs
> looked a lot like what I’d seen in those languages.
>
> Вот оно, английским по серому.Ничего конкретного про APL там не говорится. Упоминается, что человек
был знаком с двумя "семействами" языков. Первое обзывается ALGOL-like (черт знает что в него входило), второе - LISP (хз какие лиспы подразумеваются) и APL. У LISP-ов и APL - много общего, может именно это и было заимствовано (из того, что "заимствовано" из APL).