Нераспознанные символы в GNU APL

Я играю с GNU APL, но мои эксперименты быстро зашли в тупик. Вот что произошло у меня:

      x←1 2 3 4 5
⍝ build the matrix u where u_{ij} = x_i + x_j,
⍝ then filter the entries equal to 6
u←6=x∘.+x

Все идет нормально, u как и ожидалось, является перевернутой единичной матрицей.

Теперь я хотел бы получить индексы ненулевых записей, поэтому я пытаюсь

      ⍸u

но здесь я получаю SYNTAX ERROR++предупреждение. Такая же ошибка появляется при вводе любой из следующих команд:

      {⍸6=⍵∘.+⍵}x
{⍸6=⍵∘.+⍵} 1 2 3 4 5
{⍸6=⍵∘.+⍵} ⍳5
app←{⍸6=⍵∘.+⍵}

Я подозреваю, что это какая-то проблема в моей локальной установке, так как я не могу воспроизвести ошибки в онлайн-интерпретаторе.

Кто-нибудь видел эту проблему раньше? Я скомпилировал APL из исходников (ubuntu, GCC), ошибка появляется в обеих версиях 1.7 и 1.8. Я мог воспроизвести ошибку с помощью предварительно скомпилированного двоичного файла, доступного с зеркала GNU. Интересно, не ошибся ли я при компиляции и установке GNU APL, но единственной нестандартной вещью, которую я сделал, было снятие флага WERROR из Makefile в папке src, иначе он не будет компилироваться из-за непроверенного возвращаемого значения в источник.

1 ответ

Я написал на bug-apl@gnu.org, чтобы кто-нибудь посмотрел. Я получил такой ответ:

без понятия. Я получаю это:

             ⍝ build the matrix u where u_{ij} = x_i + x_j,
      ⍝ then filter the entries equal to 6
      u←6=x∘.+x
 
      ⍸u  1 5  2 4  3 3  4 2  5 1

SVN - это 18005, он же. 1474 г. и связанный с ним код не менялись на протяжении многих лет.

Касательно:

«иначе он не будет компилироваться из-за непроверенного возвращаемого значения в источнике».

пожалуйста, сообщайте о подобных проблемах по адресу bug-apl@gnu.org, распечатав сообщение об ошибке компилятора. Компиляторы становятся все более придирчивыми к различным this, что приводит к тому, что код успешно компилируется в течение десятилетия, а затем внезапно вызывает предупреждение с новым кодом компилятора.

У меня есть амбиции, чтобы GNU APL компилировался практически на всех платформах и компиляторах, и, поскольку я не могу тестировать все платформы самостоятельно, важно, чтобы такие пользователи, как вы, использующие другую платформу, сообщали мне о проблемах.

С уважением,
[доктор] Юрген [Зауэрманн, главный разработчик GNU APL]

Другие вопросы по тегам