«functional-programming» 태그된 질문

함수형 프로그래밍은 출력이 프로그램 상태가 아닌 입력에 의해 결정되는 함수의 체인 평가로 계산 문제를 해결하려는 패러다임입니다. 이 스타일의 프로그래밍에서 부작용 및 변경 가능한 데이터는 더 이상 사용되지 않으며 일반적으로 엄격하게 격리됩니다.

3
Scala 및 LWJGL을 사용한 단순화 된 게임을위한 기능적 프로그래밍 접근법
Java 명령형 프로그래머 인 I는 Functional Programming 설계 원칙 (특히 참조 투명성)을 기반으로 간단한 버전의 Space Invader를 생성하는 방법을 이해하고 싶습니다. 그러나 디자인을 생각할 때마다 함수형 프로그래밍 순수 론자들에 의해 멈춰진 것과 같은 극도의 가변성이라는 쇠약에 빠져들게됩니다. 함수형 프로그래밍을 배우기 위해 LWJGL을 사용하여 Scala 에서 매우 간단한 2D 대화 형 …

2
변경할 수없는 데이터가있는 언어로 이중 연결 또는 순환 데이터 구조에 대한 작업을 구현하기위한 해결 방법
Haskell에서 그래프를 만들고 일부 로컬 작업을 수행하는 방법을 배우고 싶지만 Haskell에만 국한된 문제는 아니며 그래프 대신 이중 연결 목록을 고려할 수 있습니다. 질문 : 이중 연결 목록 (또는 다른 이중 연결 또는 순환 데이터 구조)과 불변 데이터 구조 (Haskell, Clojure 등)를 주로지지하고 옹호하는 언어로 작업을 수행하는 관용적이거나 권장되는 방법은 무엇입니까 …

2
인수가 필요하거나 필요하지 않은 것을 알고있는 경우에 선택 사항을 메소드 인수로 사용하지 않는 이유가 있습니까?
Java 8에서는 Option / Optional 사용에 대한 기사가 점점 더 많이 나왔습니다. 나는 그들이 무엇을 대표하려고하는지 이해하고 있으며, 그것들의 많은 예가 반환으로 사용되는 것을 본다. 그러나 내가 보지 못하는 것은 기본 / 선택적 매개 변수에 대한 구문이없는 언어에서 메소드 / 함수 인수로 사용된다는 것입니다. Optional인수가 필요하거나 필요하지 않은 것을 알고있는 …

3
참조 투명성을 깨는 부작용
스칼라의 함수형 프로그래밍은 참조 투명성을 깨뜨리는 부작용의 영향을 설명합니다. 부작용, 이는 참조 투명성을 위반 한 것을 의미합니다. SICP의 일부를 읽었으며 , "대체 모델"을 사용하여 프로그램을 평가하는 방법에 대해 설명합니다. 내가으로 약 참조 투명성 (RT)로 치환 모델을 이해하고, 당신은 간단한 부분으로 기능을 해제 구성 할 수 있습니다. 표현식이 RT 인 경우 …


2
할당없이 상태 유지
함수형 프로그래밍을 배우고 있으며 할당을 사용하지 않고 특정 시나리오를 구현하는 방법을 이해하는 데 어려움이 있습니다. 다음의 간단한 문제는 혼란을 요약합니다. 주어진 데이터 구조의 변경에 대한 이벤트를 수신하고이 데이터 구조가 특정 상태에 도달하면 이벤트를 생성하는 프로그램을 작성하십시오. 그래서 내가 유지하는 데이터 구조의 사본이 있습니다. datastructure_copy::DataStructure 변경되면 시작되는 이벤트 스트림이 있습니다. datastructure_changes::Stream …

5
이 문제에 대한 순수한 기능적 해결책이 명령만큼이나 깨끗할 수 있습니까?
다음과 같이 Python에서 운동을합니다. 다항식은 거듭 제곱이 지수에 의해 결정되도록 계수의 튜플로 제공됩니다. 예 : (9,7,5)는 9 + 7 * x + 5 * x ^ 2를 의미합니다. 주어진 x에 대한 값을 계산하는 함수를 작성 최근에 함수형 프로그래밍을하고 있었기 때문에 def evaluate1(poly, x): coeff = 0 power = 1 return …

4
접는 기능 인수의 이름은 무엇입니까
고차 함수에서 감소 / 배 (있는 경우) 기능 인수의, 이름이 무엇인지? 열을 최소, 최대, 평균을 찾는 것과 같이 간단한 분석을 위해 행을 접는 모나 딕 테이블 형식 처리 라이브러리에서 작업하고 있습니다. 따라서 fold함수 의 인수에 대한 건전한 이름을 찾고 있으며 ML 커뮤니티 (또는 Haskell 또는 Common Lisp의 두 번째 및 …

2
계산과 부작용을 분리 할 때 "세계에 묻기"코드를 어디에 두어야합니까?
에 따르면 명령 쿼리 분리 원칙 뿐만 아니라, 데이터의 생각 과 의 Clojure와 DDD 하나, 계산과 결정에서 (세계 수정) 부작용을 분리해야 프리젠 테이션 그래서 두 부분을 이해하고 테스트하기 쉬울 것이다. 이 질문에 대한 답을 얻지 못합니다 : 우리는 상대적으로 경계를 어디에서 "세계에 묻기"해야합니까? 한편으로, 데이터베이스, 익스텐트 서비스 API 등의 외부 …

7
기능적인 코딩 스타일을 팀에 소개하는 방법은 무엇입니까?
그룹 내 대부분의 사람들이 함수형 프로그래밍에 대해 거의 또는 전혀 이해하지 못하는 객체 지향 프로그래밍 배경에서 온 상황이 있습니다. 클로저와 같은 기본조차도 아닙니다. 기능적 코딩 스타일을 소개하는 좋은 방법은 무엇입니까? 특정한 경우에 기능적인 방식으로 수행하면 많은 코딩 작업을 단축 할 수 있습니다. 이미 기능 및 코딩 패러다임에 대한 몇 가지 …

3
긴 매개 변수 목록 대 긴 상태 변수 목록
C ++ 책에서 저자는 대부분의 매개 변수를 클래스의 상태 변수로 리팩토링 할 수 있으므로 긴 매개 변수 목록이있는 함수가 더 이상 필요하지 않다고 말합니다. 한편, 함수형 프로그래밍 책은 상태 변수가 악의적 인 결과를 초래하여 버그가 발생하기 쉽고 코드를 병렬화하기 어렵 기 때문에 상태 변수가 악하다고 말합니다. 나는 당황하고있다. 코드가 상태 …

4
STDOUT 및 불순물
함수형 프로그래밍에 관한 많은 책과 기사를 읽었지만 여전히 매우 기본적인 개념을 이해할 수 없다는 것이 부끄러운 일입니다. 함수형 프로그래밍의 주요 아이디어 중 하나는 동일한 입력이 항상 동일한 출력을 생성해야한다는 것입니다. 따라서 데이터베이스 쿼리 또는 파일 쓰기는 정의에 따라 순수한 기능 스타일로 수행 할 수 없습니다. 예를 들어 모나드가 필요한 이유 …

5
루비를 하스켈처럼 작성하기로 결정해도 괜찮습니까?
루비는 내장,리스트, 선택, 수집 등 좋은 목록 조작 기능을 가지고 있다고 가정합니다. Procs, Blocks 및 Lambdas를 가지고 있으며 반복 지원 ( each패밀리) 이 뛰어납니다. 가능한 가장 순수한 기능으로 모든 루비를 작성합니까? I / O가 거의 없거나 전혀없는 코드 (종종 덜 명백한 부작용)에 대해 간혹? 나는 Haskell ( '실제'해커의 언어라고 함)을 …

3
함수형 프로그래밍 언어가 컴파일 시간 최적화를 수행 할 기회가 더 있습니까?
"실제 세계를위한 기능 프로그래밍"책을 읽고있었습니다. 명령형과 기능적 프로그래밍 언어 간의 비교로 시작했습니다. 그리고 함수형 프로그래밍에서 '값'과 '표현식'이 명령형 프로그래밍의 '변수'및 '함수'와 어떻게 다른지 언급했습니다. 토론에서 나는 일종의 아이디어를 개발했습니다. 함수형 프로그래밍 언어는 명령형 언어보다 컴파일 시간 최적화를 수행 할 수있는 기회가 더 많습니다. 사실인가요?

6
기능적 프로그래밍 언어를 선택해야합니까?
최근에 코드를 작성하는 방법에 대해 더 많은 관심을 기울였습니다. 디자인 패턴에 대한 몇 권의 책을 읽은 후 (그리고 그 패턴을 과도하게 구현 한 것이 확실합니다) 어떤 생각이 바뀌 었는지 캡슐화하는 방향으로 생각을 크게 바꿨습니다. 나는 술어, 행동 및 다른 대리자 작업을 통해 구식 클래스로 삶을 가꾸어주는 것을 선호하는 인터페이스와 메소드 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.