Ruby 안에 Haskell의 코드 임베딩 Haskell이라는 Gem 만든 요!
3621 단어 Rails젬루비programming하스켈
인사말
오늘은 코 귀걸이를 콧물처럼 붙인 사람을 보았습니다.
(아니 이것이 진짜로)
Haskell 코드를 Ruby에서 문자열로 전달하고 다른 스레드로 컴파일하고 Ruby 문자열로 가져 오는 Gem입니다.
(동적으로 Haskell의 코드를 생성할 수 있다!)
나는 전면적으로 "런타임에 느슨한 푹신한 유형을 확인하는 Haskell이라는 Gem"을 만들었지 만 조금 그렇게해서 Rubype으로 이름을 바꿨고 Haskell이라는 사람들에게 굉장히 재료 Gem을 넣었습니다.
Github
(내가 숙련하고 하고 있는 아자부.hs의 프로젝트로서 만들었습니다! 아자부에 연고가 있는 Haskeller는 꼭!)
Rubygems
모습
require 'haskell'
# Haskellをコンパイルするためのサンドボックスを作る
Haskell.invoke_sandbox!(File.expand_path('../', __FILE__))
# 別スレッドでコンパイル
Haskell.compile <<-HASKELL
add :: Integer -> Integer -> Integer
add x y = x + y
result = add 1 2
HASKELL
# 待ち時間を楽しみましょう
while Haskell.compiling?
# wait for....
end
# fooo↑
p Haskell.execute
#=> 3
# サンドボックスを潰すのをお忘れなく
Haskell.revoke_sandbox!
이런 식으로 Haskell을 실행할 수 있습니다. 반환값은 result
에 Haskell의 Show
그렇지 않으면 안됩니다.
다만 단순히 다른 쓰레드 세우고 Show typeclass
로 컴파일하고 있을 뿐이므로 컴파일 + 실행용의 놀이터를 GHC
라든지 Haskell.invoke_sandbox!
로 만들거나 닫거나 한다는 상당히 힘든 일을 하고 있다.
사용해보기
오류 처리와 같은 스카스카이지만 소스 코드도 그렇게 긴 것이 아니므로 막히면 읽을 수 있습니다.
우선 퍼스트 컷도 퍼스 컷이므로 Haskell.revoke_sandbox!
(사용할 수 있는 장애물을 아직 높게 하고 싶다)
GHC 넣기
"Haskell을 컴파일 할 수있는 무언가에 ghc라는 경로가 다니는 것이 필요합니다"
OS X
그렇다면
$ brew install ghc
에 오 k
Haskell(Gem) 넣기
$ gem install haskell
에 오 k
be rake 에서 Haskell 컴파일 시작 너무 재미
이것은 하스켈 젬 테스트의 모습입니다.
장점을 뒤집어 보았다.
이 젬을 정당화하는 이유를 비틀어 보았습니다.
require 'haskell'
# Haskellをコンパイルするためのサンドボックスを作る
Haskell.invoke_sandbox!(File.expand_path('../', __FILE__))
# 別スレッドでコンパイル
Haskell.compile <<-HASKELL
add :: Integer -> Integer -> Integer
add x y = x + y
result = add 1 2
HASKELL
# 待ち時間を楽しみましょう
while Haskell.compiling?
# wait for....
end
# fooo↑
p Haskell.execute
#=> 3
# サンドボックスを潰すのをお忘れなく
Haskell.revoke_sandbox!
이런 식으로 Haskell을 실행할 수 있습니다. 반환값은
result
에 Haskell의 Show
그렇지 않으면 안됩니다.다만 단순히 다른 쓰레드 세우고
Show typeclass
로 컴파일하고 있을 뿐이므로 컴파일 + 실행용의 놀이터를 GHC
라든지 Haskell.invoke_sandbox!
로 만들거나 닫거나 한다는 상당히 힘든 일을 하고 있다.사용해보기
오류 처리와 같은 스카스카이지만 소스 코드도 그렇게 긴 것이 아니므로 막히면 읽을 수 있습니다.
우선 퍼스트 컷도 퍼스 컷이므로 Haskell.revoke_sandbox!
(사용할 수 있는 장애물을 아직 높게 하고 싶다)
GHC 넣기
"Haskell을 컴파일 할 수있는 무언가에 ghc라는 경로가 다니는 것이 필요합니다"
OS X
그렇다면
$ brew install ghc
에 오 k
Haskell(Gem) 넣기
$ gem install haskell
에 오 k
be rake 에서 Haskell 컴파일 시작 너무 재미
이것은 하스켈 젬 테스트의 모습입니다.
장점을 뒤집어 보았다.
이 젬을 정당화하는 이유를 비틀어 보았습니다.
$ brew install ghc
$ gem install haskell
이것은 하스켈 젬 테스트의 모습입니다.
장점을 뒤집어 보았다.
이 젬을 정당화하는 이유를 비틀어 보았습니다.
Reference
이 문제에 관하여(Ruby 안에 Haskell의 코드 임베딩 Haskell이라는 Gem 만든 요!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/gogotanaka/items/78a3ffd04abcbe0fc408텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)