GN⁺: Hy 1.0 – Python을 위한 Lisp Dialect
(github.com/hylang)- 12년간의 개발과 실사용을 거쳐 Hy 1.0.0이 출시됨
- Hy는 Python에 내장된 Lisp 방언임
- Lisp 계열의 다중 패러다임 범용 프로그래밍 언어
- Python의 대안 구문으로 구현됨
- Python에 비해 다양한 새로운 기능, 일반화 및 구문 단순화를 제공함
- 다른 Lisp에 비해 Python의 내장 기능과 서드파티 Python 라이브러리에 직접 액세스할 수 있음
- 명령형, 함수형 및 객체 지향 프로그래밍 스타일을 자유롭게 혼합할 수 있음
GN⁺의 의견
- Hy는 Python과 Lisp의 장점을 결합한 흥미로운 프로그래밍 언어임. Python의 풍부한 생태계와 라이브러리를 활용하면서도 Lisp의 강력한 기능과 유연성을 제공하여 개발자의 생산성을 높일 수 있음.
- 그러나 Hy는 아직 널리 사용되지 않는 언어이므로, 학습 자료와 커뮤니티 지원이 부족할 수 있음. 또한 기존 Python 코드와의 호환성 문제가 발생할 수 있으므로 주의가 필요함.
- Hy와 유사한 개념을 가진 다른 언어로는 Clojure와 Racket 등이 있음. 이들은 Lisp 계열의 언어로서 함수형 프로그래밍과 매크로 등의 기능을 제공하며, JVM이나 자체 런타임 위에서 동작함.
Hacker News 의견
-
Hy가 Python으로 어떻게 번역되는지 이해하는 데 어려움을 겪었음
- Hy는 Lisp 프로그래밍 언어의 방언으로, s-표현식을 Python의 추상 구문 트리(AST)로 번역함
- Github 코드에서 이 컴파일러가 Python으로 작성되었음을 확인함
- Hy를 "Python에 내장된 Lisp 방언"으로 소개하는 대신 "Python의 AST로 컴파일되는 Lisp 방언"으로 소개하는 것이 더 명확할 것 같음
- Lisp를 Python에 내장하는 다양한 방법이 있으며, 각 방법은 매우 다르고 다양한 트레이드오프가 있음
- 예를 들어, C로 인터프리터를 작성하거나 Python 바이트코드로 컴파일하거나 Python 소스 코드로 직접 번역할 수 있음
- 어쨌든 흥미로운 프로젝트임
-
HYPE POST를 매우 좋아했음
- 회사 소프트웨어와 함께 작업하는데 매우 훌륭함
-
Hy가 초기부터 지금까지 많이 발전했음을 보고 놀라움
- Pycon에서 Hy를 처음 소개하는 번개 토크를 봤음
- Paul을 만나고 Hy 초기 버전에 기여하기 시작했음
- CL 스타일의 kwargs와 몇 가지 라이브러리 등을 담당했음
- 프로젝트가 계속 진행되는 것을 보니 기쁨
-
이제 <a href="https://github.com/rcarmo/sushy">https://github.com/rcarmo/sushy</a>를 정리할 수 있게 되었음
- Hy를 업그레이드할 때마다 구문이 깨지거나 hyrule 패키지에서 이동하는 문제가 있었음
- Hy는 iPad의 <a href="https://holzschu.github.io/a-Shell_iOS">https://holzschu.github.io/a-Shell_iOS</a> 내에서 잘 작동함
- vim/neovim의 구문 강조가 0.29+ 릴리스와 비동기 기능을 따라잡아야 함
- Fennel과 Guile을 사용해봤지만, Python 라이브러리와 생태계에 접근할 수 있는 것이 더 좋음
- 비동기 기능으로 효율적인 API 처리가 가능함
-
축하함! 두 가지 질문이 있음
- REPL 기반 개발을 지원하는지 (조건 시스템, breakloop 등)
- 독립 실행형 배포판이 있는지. Python 자체를 배포하는 것은 번거로움. 이상적인 상황은 모든 종속성을 포함하는 단일 Hy 바이너리를 배포하는 것임
-
Clojure 팬들을 위한 관련 정보:
- Python 3.8+을 대상으로 하는 Clojure 호환 Lisp 방언
- <a href="https://github.com/basilisp-lang/basilisp">https://github.com/basilisp-lang/basilisp</a>
-
축하하고 감사함! Hy로 트랜스포머를 시도하고 <a href="https://github.com/kunalb/orphism">https://github.com/kunalb/orphism</a>을 릴리스했음
- 다시 Hy를 사용해볼 때가 되었음
-
덜 진지한 부분을 매우 즐겼음
- 더 많은 프로그래밍 관련 프로젝트가 유머를 받아들였으면 좋겠음
- 이는 Python 전통을 기리는 최고의 방법일 수 있음
-
Python 구문을 버리지 않고 함수형 프로그래밍 구성을 얻을 수 있음 (Hy가 하는 것처럼)
- <a href="https://github.com/thyeem/foc">https://github.com/thyeem/foc</a>
-
Raku의 좋은 점 중 하나는 기본적으로 놀라운 Lisp 인상을 준다는 것임
- <a href="https://www.codesections.com/blog/raku-lisp-impression/">https://www.codesections.com/blog/raku-lisp-impression/</a>
- [Larry Wall의 수집 취향 덕분임]