http://rdia.livejournal.com/ (
rdia.livejournal.com
) wrote
in
metaclass
2013-09-16 06:04 pm (UTC)
no subject
> Да, они там называются "компилятор".
Т.е. нет. В отличие от компилятора, статический анализатор
1. не ограничен во времени => может проводить более глубокую проверку кода.
2. имеет право на ошибку - предупреждения статического анализатора любой степени серьёзности могут быть ложными.
Поэтому статический анализатор может, в отличие от компилятора, ругнуться на условный код
let 2d_distance_from_origin {x : float; y : float; z : float} in
let x = p.x in
let y = p.z in
x^2 + x^2;;
Ну и тому подобные, формально верные конструкции, которые часто могут быть следствием опечатки.
И, хотя, Хаскел значительно лучше С, от подобных вещей он не защищает.
(
131 comments
)
Post a comment in response:
From:
Anonymous
This account has disabled anonymous posting.
OpenID
Identity URL:
Log in?
Dreamwidth account
Account name
Password
Log in?
If you don't have an account you can
create one now
.
Subject
HTML doesn't work in the subject.
Formatting type
Casual HTML
Markdown
Raw HTML
Rich Text Editor
Message
[
Home
|
Post Entry
|
Log in
|
Search
|
Browse Options
|
Site Map
]
no subject
Т.е. нет. В отличие от компилятора, статический анализатор
1. не ограничен во времени => может проводить более глубокую проверку кода.
2. имеет право на ошибку - предупреждения статического анализатора любой степени серьёзности могут быть ложными.
Поэтому статический анализатор может, в отличие от компилятора, ругнуться на условный код
let 2d_distance_from_origin {x : float; y : float; z : float} in
let x = p.x in
let y = p.z in
x^2 + x^2;;
Ну и тому подобные, формально верные конструкции, которые часто могут быть следствием опечатки.
И, хотя, Хаскел значительно лучше С, от подобных вещей он не защищает.