2010-12-12 6 views
2

나는 puppet 선언 모델을 즐기고 있습니다. 이 코드를 코드에 통합하려고합니다.프로그램을 선언적 스타일로 만드는 방법은 무엇입니까?

나는 파이썬으로 현재 프로그램하고 있지만, 나는 그렇게하는 동안 절대적으로 생각하는 경향이있다. 그것은 그래픽 디자인에 대한 나의 문제와 같습니다. 최종 제품에서 내가보고 싶은 것을 알고 있지만 어떻게 조립해야하는지 전혀 모릅니다.

어떻게하면 코드가 선언적이되도록 구성 할 수 있습니까? 솔루션을 "선언적"으로 인식하려면 어떤 초기 단계를 수행해야합니까?

Functional, Declarative, and Imperative Programming 저는이 글을 읽고 통찰력을 조금씩 얻었습니다. 단어가 와서 : 항상 다른 높은 수준의 일 측면에서 주어진 선언에 주어진 예 :

충분히

아니지만, 정확하게 단어로 내 혼란 :(

편집을 넣을 수 없습니다

Regexen은 물론, 선언,하지만 당신은

만들기가 확실히 선언이다 C.에서 엔진을 있지만

인형의 mainifests 물론 선언적이다 C.

로 작성하지만, 루비 코드는 없습니다.

내가 무슨 말을할까요? "좋습니다, 여기에 메소드가 있습니다. 이제 선언 부분을 시작할 수 있습니다."

답변

2

기능적 언어에서는 명령형으로 작성하는 명령형으로 작성하고 선언 형 언어로 작성하는 경우 선언 스타일로 작성하는 기능 스타일로 작성하십시오.

위와 같이 (모든 "교차 스타일"은 허용되지 않음), 언어로 작성할 때 언어 스타일로 작성합니다. '명령형'또는 '기능적'언어로 '선언적으로'작성하는 경우 이는 선언적 친화적 인 (declarative-friendly) 선언 방식을 실제로 드러내는 데 사용되는 기본 스타일을 변경하지 않고 선언적 DSL 및/또는 API를 작성하는 것으로 나뉩니다 DSL/API.

예를 들어, make (또는 ant과 같은 임의의 수의 XML 언어)은 선언적 DSL (일부 흐림 포함)입니다. 호스트 언어는 중요하지 않습니다. 이것은 거의 모든 Turing Complete 호스트 언어에 대해 일반화 될 수 있습니다.

+1

빗자루가 필요합니다. 눈금이 떨어졌습니다. 나는 한 언어 관점에서 이것을보고있다. 사악한. 그 다음 계층은 나 자신에 대해서만 관심을 기울여야합니다. 아래에서해야 할 일이 무엇이든 상관 없습니다. 굉장해. 감사! – chiggsy