uutils coreutils, 이제 에러 위치를 캐럿(^)으로 표시한다

Pointing at the error: compiler-style diagnostics in uutils coreutils

uutils coreutils 0.11.0부터 28개 유틸리티가 컴파일러 스타일의 진단 메시지를 사용한다. stderr가 터미널일 때, 잘못된 인수의 정확한 위치를 캐럿으로 가리키는 보고서를 출력한다. 이는 test, chmod, tr, sort, env, cut 등이 받는 작은 '언어'의 파싱 오류를 이해하기 쉽게 해준다. 기존 GNU coreutils의 단순 한 줄 메시지와 달리, 문제가 되는 문자나 인수를 시각적으로 표시한다. 스크립트나 파이프에서는 기존처럼 평범한 한 줄 메시지를 유지하며, UUTILS_DIAG 환경 변수로 동작을 제어할 수 있다.

유닉스 도구들은 stderr에 한 줄로 에러를 보고한다. 그 줄은 무엇이 잘못되었는지는 알려주지만, 어디가 잘못되었는지는 알려주지 않는다.
  1. discardable_dan

    컴파일러에서 에러를 처리하는 일이 이제 제 일에서 가장 흥미로운 부분이 되었습니다. 계산해 보면, 컴파일러에 대한 대부분의 호출은 에러를 반환하는 호출입니다. 그래서 그런 호출들은 정말 최상의 에러를 만들어 내야 합니다! (LLM 세계에서는 덜 사실일지도 모르지만, 그 직전에는 확실히 그랬습니다.) 스팬을 추적하고, 추가적인 알고리즘 작업을 하고, 사용자에게 가장 유익한 에러를 주기 위해 기대가 왜 실패했는지 탐구하는 것은 메인 계산 경로에 추가 작업입니다. 하지만 그 대가가 있습니다: 쉽게 진단할 수 있는 버그와 코드 자체에 있는 빠른 수정입니다. 원래 정의를 가리키는 스팬 추적 등은, 정확히 무엇이 잘못되었는지 설명하는 에러를 보기 전까지는 항상 배관 작업처럼 느껴집니다. 그리고 일단 그 에러를 보게 되면, 그 에러들은 그물을 던져 잡으려는 좌절감처럼 느껴지지 않습니다.

  2. shakna

    이 모든 것을 TTS 엔진에 돌려보세요. 네, 실제로 지시된 정보를 갖는 것은 매우 도움이 됩니다. 하지만 그렇게 하기 위해 TUI를 사용해야 한다는 것이 거슬립니다. 우연이 아니라, 저는 대부분 JAWS를 사용합니다.

  3. emilfihlman

    멋진 혁신입니다 (실제로 좋고 멋집니다). 실제로 러스트 버전이 C 버전과 동일하게 작동하게 만든 후에 하세요. 제대로 기능해야 하는 소프트웨어에 복잡성을 추가하고, 호환성을 깨고, 새로운 버그를 도입하는 것은 미친 짓입니다.

이 날의 다른 글

2026-09-05