«functional-programming» 태그된 질문

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

6
어떤 자체 균형 이진 트리를 추천 하시겠습니까?
나는 Haskell을 배우고 운동으로 이진 트리를 만들고 있습니다. 정기적 인 이진 트리를 만들었으므로 자체 균형 조정에 맞게 조정하고 싶습니다. 그래서: 어느 것이 가장 효율적인가요? 어느 것이 가장 구현하기 쉬운가? 어느 것이 가장 자주 사용됩니까? 그러나 결정적으로, 당신은 어느 것을 추천합니까? 토론이 가능하기 때문에 여기에 있다고 가정합니다.

2
UML 대신 기능 프로그래머는 무엇입니까?
저는 CS 학생입니다. 저는 현재 객관적인 분석 및 디자인을 가르치는 강의에 참석하고 있습니다. 주로 사용 사례 작성, 클라이언트를위한 일부 응용 프로그램 작성시 직면 할 수있는 문제 분석, 확장 가능하고 개발자에게 명확하고 클라이언트가 일부에 대해 논쟁 할 때 문제를 일으키지 않도록 프로젝트를 설계하는 방법으로 구성됩니다. 풍모. 그것은 객관적이므로 OOP 관점 (클래스 …

4
관용적이거나 열악한 디자인과 패턴 일치가 있습니까?
F # 코드는 종종 유형과 패턴 일치하는 것처럼 보입니다. 확실히 match opt with | Some val -> Something(val) | None -> Different() 일반적인 것 같습니다. 그러나 OOP 관점에서 볼 때 런타임 유형 검사를 기반으로하는 제어 흐름과 끔찍한 것처럼 보이며 일반적으로 눈살을 찌푸 리게됩니다. 이를 설명하기 위해 OOP에서 오버로드를 사용하는 것이 …

1
함수형 프로그래밍에서 생성기 함수가 유효합니까?
질문은 : 생성기는 기능적 프로그래밍 패러다임을 파괴합니까? 그 이유는 무엇? 그렇다면 생성기를 기능 프로그래밍에 사용할 수 있습니까? 다음을 고려하세요: function * downCounter(maxValue) { yield maxValue; yield * downCounter(maxValue > 0 ? maxValue - 1 : 0); } let counter = downCounter(26); counter.next().value; // 26 counter.next().value; // 25 // ...etc 이 …

5
함수를 매개 변수로 사용하면 함수가 즉시 불완전합니까?
입력 매개 변수의 순도는 런타임까지 알려지지 않았으므로 함수를 입력 매개 변수로 사용하는 경우 즉시 함수가 불완전한 것으로 간주됩니까? 관련 : 함수가 함수 외부에 정의되어 있지만 매개 변수로 전달되지 않은 순수한 함수를 적용하는 경우 부작용이없고 출력이 입력에만 의존하는 기준을 충족하더라도 여전히 순수합니까? 상황에 따라 JavaScript로 기능 코드를 작성하고 있습니다.

4
부작용을 순수하게 학업 적으로 처리 할 때 IO 모나드 패턴의 이점이 있습니까?
또 다른 FP + 부작용 질문에 대해 죄송하지만 기존 답변을 찾지 못했습니다. 함수형 프로그래밍에 대한 나의 (제한된) 이해는 상태 / 부작용이 최소화되고 상태 비 저장 로직과 분리되어 있어야한다는 것입니다. 또한 IO 모나드에 대한 Haskell의 접근 방식을 수집하여 나중에 실행하기 위해 컨테이너 자체에 상태 저장 작업을 래핑하여 프로그램 자체의 범위를 벗어난 …

5
명령형이 아닌 함수형 프로그래밍 언어를 선언적으로 만드는 것은 무엇입니까?
함수형 프로그래밍의 이점을 설명하는 많은 기사에서 Haskell, ML, Scala 또는 Clojure와 같은 함수형 프로그래밍 언어를 C / C ++ / C # / Java와 같은 명령형 언어와 구별되는 "선언적 언어"라고합니다. 제 질문은 기능적 프로그래밍 언어를 명령형이 아닌 선언적으로 만드는 것입니다. 선언적 프로그래밍과 명령 적 프로그래밍의 차이점을 설명하는 자주 설명되는 설명은 …

4
함수형 프로그래밍으로 코드가 복잡해 집니까? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 오년 전에 . 작년 한 해 동안 나는 스칼라 코드를 작성 했습니다 (자바 배경에서 나옴 ). Val, case 클래스, map / …

4
비 기능 언어에서 영구 데이터 구조 사용
순전히 기능적이거나 거의 순전히 기능적인 언어는 불변적이고 상태 비 저장 (stateless) 스타일의 함수형 프로그래밍에 잘 맞기 때문에 지속적인 데이터 구조의 이점을 얻습니다. 그러나 때때로 우리는 Java와 같은 (상태 기반, OOP) 언어에 대한 영구 데이터 구조 라이브러리를 볼 수 있습니다. 지속적인 데이터 구조를 선호하는 주장은 종종 불변이기 때문에 스레드로부터 안전하다는 주장 …

7
기능적 프로그래밍에 대한 접근 가능한 책 [닫기]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식에 의해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 팔년 전에 …

3
웹 프로그래밍을위한 Ur / Web의 새로운 기능 언어? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 3 년 전 . 내가 건너 온 우르 / 웹 프로젝트 언어 하스켈 같은위한 웹 프레임 워크 내 검색 중. 한 …

2
Clean Code의 원칙을 기능적 언어에 적용
나는 현재 Robert Martin의 Clean Code를 읽고 있습니다. 나는 그것이 훌륭하다고 생각하고 OO 코드를 작성할 때 그의 교훈을 마음에 새깁니다. 특히, 의미있는 이름을 가진 작은 함수를 사용하라는 그의 조언은 내 코드 흐름을 훨씬 더 매끄럽게 만든다고 생각합니다. 이 인용문에 의해 요약되는 것이 가장 좋습니다. [W] e는 마치 현재의 추상화 레벨을 …

2
코 모나드는 무엇이며 어떻게 유용합니까?
최근에 Monads의 작동 방식에 대한 지식을 쌓아 왔습니다. 나는 또한 'Comonad' 의 개념을 소개했는데 , 이것은 모나드 의 역 이중으로 설명됩니다 . 그러나 머리를 감쌀 수는 없습니다. Monads를 이해하기 위해 나는 나 자신을위한 비유를했다 : Monads는 '컨베이어 벨트를 만드는 청사진'으로 볼 수 있습니다. 새로운 Monad (새로운 종류의 컨베이어 벨트 시스템)를 …

5
인터페이스 (OOP)의 시맨틱 계약이 기능 서명 (FP)보다 유익한 정보입니까?
일부는 SOLID 원칙을 최대한 활용하면 기능적 프로그래밍을하게 된다고 말합니다 . 나는이 기사에 동의하지만 인터페이스 / 객체에서 함수 / 클로저로의 전환에서 일부 의미가 손실된다고 생각하며 함수 프로그래밍이 손실을 완화시키는 방법을 알고 싶습니다. 기사에서 : 또한 ISP (Interface Segregation Principle)를 엄격하게 적용하면 헤더 인터페이스보다 역할 인터페이스를 선호해야합니다. 더 작고 더 작은 인터페이스를 …

2
상위 매개 변수 다형성이 유용합니까?
나는 모든 사람들이 일반적인 형식의 방법에 익숙하다고 확신합니다. T DoSomething<T>(T item) 이 기능은 PP (parametrically polymorphic), 특히 순위 1 PP 라고도 합니다. 이 방법이 다음 형식의 함수 객체를 사용하여 표현 될 수 있다고 가정 해 봅시다. <T> : T -> T 즉, <T>하나의 유형 매개 변수를 사용하고 유형의 매개 T …

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