브라우저에서 실행되는 GHC

1 week ago 7

  • Haskell 컴파일러 GHC가 이제 브라우저 내에서 완전히 클라이언트 사이드로 실행 가능
  • 제공된 Haskell Playground 데모를 통해 사용자는 별도 설치 없이 브라우저에서 코드를 실행할 수 있음
  • 이 기능은 GHC의 WebAssembly(WasM) 백엔드 발전을 보여주는 사례로 소개됨
  • Brave 브라우저에서는 잠시 멈춤 후 로드되며, 웹 워커 생성 실패 시 메인 스레드에서 코드가 실행됨
  • Safari 브라우저에서는 동일한 경고 메시지가 표시되지만 Run 버튼이 비활성화된 상태로 남음

브라우저에서 실행되는 GHC 데모

  • GHC가 브라우저 내에서 클라이언트 사이드로 실행되며, 서버 의존 없이 Haskell 코드를 컴파일하고 실행할 수 있음
    • 작성자는 이를 Haskell Playground 데모 형태로 공개
    • 세부 설명은 추후 별도로 제공될 예정임
  • 이 시연은 GHC WebAssembly 백엔드의 발전 수준을 보여주는 예시로 언급됨

브라우저별 동작 보고

  • Brave 브라우저에서는 초기 몇 초간 응답 없음 상태 후 로드 완료
    • “웹 워커를 생성할 수 없음”이라는 메시지가 표시되며, 메인 스레드에서 코드 실행으로 대체됨
    • 이로 인해 UI 멈춤 현상이 발생할 수 있음
  • Safari 브라우저에서도 동일한 메시지가 표시되지만, Run 버튼이 비활성화되어 코드 실행이 불가능함
  • 메시지에는 Monaco Editor 관련 경고가 포함되어 있으며, MonacoEnvironment.getWorkerUrl 또는 getWorker 정의 필요성이 언급됨

기술적 의의

  • GHC가 WebAssembly 기반으로 브라우저에서 직접 실행된다는 점은 Haskell 개발 환경의 접근성을 높이는 변화
  • 서버 없이 순수 클라이언트 환경에서 컴파일러 동작이 가능해진 점이 핵심 발전 사항
  • 원문에는 추가 기술적 세부사항이나 성능 비교는 포함되어 있지 않음

Read Entire Article