기능 패러다임에서 기능은 기본 '제어 구조'입니다. 예를 들어, +
연산자도 함수로 취급되므로 다른 '객체'처럼 전달할 수 있습니다. 나는 장난감 기능 언어를 구현해야만한다면, 진정한 함수 (즉, 호출 가능한 루틴으로 +
을 번역)로 간단한 함수를 구현하거나 번역 된 코드에 '인라인'으로 배치 될 일반 명령어로 변환 할 수 있는지 궁금합니다. 하지만 두 번째 전략을 사용하면, 나는 그들을 주위에 전달할 수 있고 부분적으로는 haskell과 같이 적용 할 수 있습니까? 함수 언어에서 중심 아이디어로 함수를 구현/번역하는 것에 대한 귀하의 생각은 무엇입니까?함수 프로그래밍 언어는 어떻게 구현합니까?
7
A
답변
0
나는 PJL 도서를 추천 할 수 있습니다. 필자는 (Prolog에서 1989-90 년에) 도움을 받아 컴파일러를 썼다.이 책은 주제에 대한 아주 좋은 소개이다.
날짜가 (1987 년, 30 년 전으로 기록되었을 수 있음) 여전히 기본 사항을 잘 다루고 있습니다. 그러나 Haskell과 같은 게으른 언어에 초점을 맞추고 있습니다. 당시 하스켈은 존재하지 않았고이 책은 이전 언어 인 LML이나 미란다를 사용하지만 언어는 매우 가깝습니다.
관련 문제
- 1. 비주얼 프로그래밍 언어는 어떻게 작동합니까?
- 2. 비영어권 프로그래밍/스크립팅 언어는 어떻게 개발되고 있습니까?
- 3. 첫 번째 프로그래밍 언어는 어떻게 작성 되었습니까?
- 4. 선택할 프로그래밍 언어는 무엇입니까?
- 5. 이 프로그래밍 언어는 무엇입니까?
- 6. OS 프로그래밍 언어는 무엇입니까?
- 7. 그 프로그래밍 언어는 무엇입니까?
- 8. 선택할 프로그래밍 언어는 무엇입니까?
- 9. 일반적인 프로그래밍 언어는 무엇입니까?
- 10. 프로그래밍 언어는 어디서나 동일합니까?
- 11. 함수 프로그래밍에서 숨겨진 인수가있는 함수는 어떻게 구현합니까?
- 12. 인기있는 '웹용'함수형 프로그래밍 언어는 무엇입니까?
- 13. 컴파일러에서 순방향 참조를 어떻게 구현합니까?
- 14. 함수/변수/클래스 이름에 유니 코드를 허용하는 프로그래밍 언어는 무엇입니까?
- 15. '업데이트'기능은 어떻게 구현합니까?
- 16. 어떤 프로그래밍 언어는, 자신의 이력서
- 17. 새로운 Axum 프로그래밍 언어는 무엇입니까?
- 18. 가장 간결한 프로그래밍 언어는 무엇입니까?
- 19. IDE가 필요한 프로그래밍 언어는 무엇입니까?
- 20. 컴파일 된 프로그래밍 언어는 무엇입니까?
- 21. Java와 다른 프로그래밍 언어는 무엇입니까?
- 22. C 프로그래밍 언어는 어디에서 읽습니까?
- 23. PHP로 컴파일하는 프로그래밍 언어는 무엇입니까?
- 24. JIT 컴파일러가있는 프로그래밍 언어는 무엇입니까?
- 25. Heroku에서 사용할 프로그래밍 언어는 무엇입니까?
- 26. Swift에서 AudioServicesSystemSoundCompletionProc을 어떻게 구현합니까?
- 27. 어떻게 bubblesort를 구현합니까?
- 28. 예외가없는 언어는 어떻게 실패합니까?
- 29. 가상의 언어는 어떻게 번역합니까?
- 30. FP (함수 프로그래밍) : 표기법
나는 다음과 같이 상상할 수 있습니다. http://mitpress.mit.edu/sicp/ –
두 번째 전략은 기능 상실로 알려져 있습니다. http://en.wikipedia.org/wiki/Defunctionalization –
원한다면 처음부터 장난감 기능 언어를 구현하려면 여기에 조언을 따르는 것이 좋습니다. * http://research.microsoft.com/en-us/um/people/simonpj/Papers-pj-lester-book/ 원한다면 하스켈 실행 시간을 재사용하십시오. 여기서 시작하는 것이 좋습니다. * http://www.grabmueller.de/martin/www/pub/Transformers.en.html –