Re: Про сообщения об ошибках интерпретатора Эрлэнга
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 16.10.06 04:30
Оценка: 4 (1) +2
VladD2,

VD>То что выдает интерпретатор Эрлэнга в качестве сообщений об ошибках назвать сообщениями об ошибках мой язык не поворачивается.


VD>Собвственно вопрос в том, есть ли что-то (патчи, хаки, ...) что позволяет увидить более менее оумысленные сообщения об ошибках?


VD>Ну, и естесвнно вопрос. Что привело к такой жути?


Надеюсь что ты не об этом (здесь имхо всё прозрачно)

./io_layer.erl:224: variable 'Insert' is unbound

а об этом

=ERROR REPORT==== 16-Oct-2006::11:16:04 ===
Error in process <0.72.0> with exit value: {undef,[{io_layer,dostart,[<0.72.0>]},{io_layer,test1,0}]}


Сообщение об ошибке (точнее, код выхода (exit reason)) — это tagged терм. Соответственно все преимущества этого подхода налицо — возможность делать паттерн-матчинг, пересылать другим процессам и т.п, короче создавать функции принимающие этот терм в качестве аргумента. Недостаток тоже на лицо — трудность восприятия. По крайней мере пока не появится навык видеть в этом терме смысл.

Весь "хак", который в данном случае нужен, это функция description(E) -> ... Честно говоря, лень её лабать, проще терм просмотреть.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.