BIBLIOGRAPHY

“Hylang/Py2hy Python Hy Convert.” (2025) 2025. Hy Society. https://github.com/hylang/py2hy.

hylang/py2hy python hy convert

(“Hylang/Py2hy Python Hy Convert” [2025] 2025)

  • Translate Python code to Hy code
  • 2025

History

  • [2025-03-29 Sat 16:30] 변환해야 둘다 배운다. 하이랭 1.1.0 버전에 의존성이 있다.

|2025-03-29 Sat 16:30|

@user python으로 작성 된 코드를 hy로 변경하는 방법을 알려줘. 다음 url을 참고해.

https://github.com/hylang/py2hy

@assistant Python 코드를 Hy로 변환하는 방법은 주로 Python의 문법을 Hy의 Lisp 스타일로 변경하는 것입니다. Hy는 Python의 AST(추상 구문 트리)를 사용하여 Python 코드와 호환되도록 설계되었습니다. 다음은 Python 코드를 Hy로 변환하는 기본적인 방법입니다:

1. Python 코드 예시

def greet(name):
    print(f"Hello, {name}!")
 
greet("Alice")

2. Hy로 변환

(defn greet [name]
  (print (f"Hello, {name}")))
 
(greet "Alice")

주요 변환 규칙:

  • 함수 정의: Python의 =def=는 Hy의 =defn=으로 변환됩니다.
  • 변수 및 함수 호출: Python의 변수와 함수 호출은 Hy에서 동일하게 사용됩니다.
  • 문자열 포맷팅: Python의 f-string은 Hy에서 동일하게 사용됩니다.
  • 리스트 및 딕셔너리: Python의 리스트와 딕셔너리는 Hy에서 동일하게 사용됩니다.

추가 팁:

  • Hy는 Python의 모든 라이브러리를 사용할 수 있으므로, Python 코드에서 사용하는 라이브러리는 Hy에서도 동일하게 사용할 수 있습니다.
  • Hy의 REPL을 사용하여 코드를 테스트하고 디버깅할 수 있습니다.

설치 및 실행:

Hy를 설치하려면 pip3 install --user hy 명령을 사용합니다. 설치 후, hy 명령으로 Hy 프로그램을 실행할 수 있습니다. 예를 들어, =hy myprogram.hy=로 실행할 수 있습니다[2].

참고로, py2hy라는 도구는 Python 코드를 자동으로 Hy로 변환해주는 도구가 아니며, GitHub에 관련된 정보가 없으므로 직접 변환하는 것이 일반적입니다.

@user setup.py를 어떻게 빌드하지?

@assistant setup.py 파일을 빌드하는 방법은 다음과 같습니다:

  1. 소스 배포(sdist) 생성:

       python setup.py sdist

    이 명령은 dist/ 디렉토리에 .tar.gz 형식의 소스 배포 파일을 생성합니다.

  2. 바이너리 배포(wheel) 생성:

       python setup.py bdist_wheel

    이 명령을 실행하기 전에 wheel 패키지를 설치해야 할 수도 있습니다:

       pip install wheel

    이 명령은 dist/ 디렉토리에 .whl 형식의 바이너리 배포 파일을 생성합니다[1][2].

  3. 설치:

    • 로컬 시스템에 설치:
           python setup.py install
    • 개발 모드로 설치:
           python setup.py develop
      또는 =pip install -e .=를 사용할 수 있습니다[1][4].

이러한 명령들을 통해 setup.py 파일을 사용하여 패키지를 빌드하고 설치할 수 있습니다.

@user 공식문서에는 다음과 같이 적혀있거든, python3 -m

To use the command-line interface, see python3 -m py2hy —help. The programmtic interface comprises two functions, of which see the docstrings: