Join Nostr
2026-10-01 08:30:36 UTC

ufm on Nostr: еще немного о программировании и ЛЛМ. Заметил, ...

еще немного о программировании и ЛЛМ.

Заметил, что ЛЛМ иногда пишет на эрланге так, как будто это писал программист на питоне. Или го. Вобщем это можно сделать более идеоматически. Высказал претензию.
Говно вопрос, скзала ЛЛМ и родила вот такое:

set_error(genErr) -> genErr;
set_error(noAccess) -> noAccess;
set_error(wrongType) -> wrongType;
set_error(wrongLength) -> wrongLength;
set_error(wrongEncoding) -> wrongEncoding;
set_error(wrongValue) -> wrongValue;
set_error(noCreation) -> noCreation;
set_error(inconsistentValue) -> inconsistentValue;
set_error(resourceUnavailable) -> resourceUnavailable;
set_error(authorizationError) -> authorizationError;
set_error(notWritable) -> notWritable;
set_error(inconsistentName) -> inconsistentName;
set_error(_) -> genErr.

И что самое интересное - да. Это идеоматически наиболее правильно. Это можно написать как-то так (как оно, кстати, и было до этого написано):

set_error(Status) ->
case lists:member(Status, [
genErr,
noAccess,
wrongType,
wrongLength,
wrongEncoding,
wrongValue,
noCreation,
inconsistentValue,
resourceUnavailable,
authorizationError,
notWritable,
inconsistentName
]) of
true -> Status;
false -> genErr
end.

Но это именно "Гошечный программист пипшет на эрланге".