«functional-programming» 태그된 질문

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


1
Haskell에서 Maybe 생성자를“Just”호출하는 것을 지원하는 직관은 무엇입니까?
같은 옵션 형태의 직관 Maybe Int중 하나 없다는 것입니다 더 지능 (따라서, 거기 Nothing가) 또는이 있다는 일부 지능; 뭔가가 있습니다. 우리가 "부정적"사례에 대한 타입 생성자를 호출한다는 것은 나에게 의미가 있습니다 Nothing. 왜냐하면 그것은 그것이 존재하지 않는다는 것을 의미하기 Int때문입니다. 그런데 왜 단어를 사용 그냥 강조 뭔가에있는 경우에 실제로 거기 ? …

2
모든 주요 OOP 기능을 잃지 않고 OOP에서 불변성을 실제로 사용할 수 있습니까?
프로그램의 객체를 변경할 수없는 이점이 있습니다. 내 응용 프로그램에 대한 좋은 디자인에 대해 깊이 생각할 때 종종 불변의 많은 객체에 자연스럽게 도달합니다. 종종 모든 객체를 불변 으로 만들고 싶습니다 . 이 질문 은 동일한 아이디어를 다루지 만 불변성에 대한 좋은 접근 방법과 실제로 사용하는 시점에 대한 대답은 없습니다. 좋은 불변 …

6
비 OO에서 어떻게 프로그래밍됩니까? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 2 년 전 . 다른 패러다임 에 찬성하여 OOP의 단점에 대한 scathing 기사를 읽으면서 너무 많은 결함을 찾을 수없는 예를 들었습니다. …


2
Haskell 메모리 효율성-더 나은 방법은 무엇입니까?
우리는 수정 된 2 차원 문법 구문에 기초하여 행렬 압축 라이브러리를 구현하고 있습니다. 이제 데이터 유형에 대한 두 가지 접근 방식이 있습니다. 메모리 사용시 어떤 것이 더 좋을까요? (우리는 무언가를 압축하고 싶다). 문법에는 정확히 4 개의 프로덕션이있는 비 터미널 또는 오른쪽에 터미널이 포함되어 있습니다. 평등 확인 및 문법 최소화를 위해서는 …

3
Clojure에서 중첩 속기 함수를 작성할 수없는 이유는 무엇입니까?
오늘 중첩 된 속기 함수를 사용하여 Clojure 표현식을 평가하려고했지만 그렇게 할 수 없었습니다. 표현은 다음과 같습니다. (#(+ % (#(+ % (* % %)) %)) 5) ; sorry for the eye bleed 결과는 다음과 같습니다. IllegalStateException Nested #()s are not allowed clojure.lang.LispReader$FnReader.invoke (LispReader.java:630) ...and a bunch of other garbage

5
함수가 순수한 경우 계산
Wikipedia에 따라 : 컴퓨터 프로그래밍에서, 함수에 관한이 두 문장이 모두 유지되면 함수는 순수한 것으로 설명 될 수 있습니다. 함수는 항상 동일한 인수 값이 주어지면 동일한 결과 값을 평가합니다. 기능 결과 값은 프로그램 실행이 진행됨에 따라 또는 프로그램의 다른 실행간에 변경 될 수있는 숨겨진 정보 또는 상태에 의존 할 수 없으며 …

1
스칼라는 왜 명시적인 반환 유형을 갖는 함수를 요구합니까?
나는 최근 스칼라에서 프로그램을 배우기 시작했고 지금까지 재미있었습니다. 나는 직관적 인 일을하는 것처럼 보이는 다른 함수 내에서 함수를 선언하는 기능을 정말로 좋아합니다. 내가 스칼라에 대해 가지고있는 한 가지 애완 동물은 스칼라가 함수에 명시적인 리턴 타입을 요구 한다는 사실입니다 . 그리고 나는 이것이 언어의 표현력을 방해한다고 생각합니다. 또한 해당 요구 사항으로 …

3
클래스에서 속성을 사전 초기화하거나 그 과정에서 속성을 추가하는 것이 더 좋은 방법입니까?
이것이 절대적으로 철학적 인 질문이라면 유감이지만, 모범 사례가 무엇인지 궁금해서 Google에서 좋은 대답을 찾지 못하는 것 같습니다. 파이썬에서는 보통 빈 클래스를 수퍼 캐치 데이터 구조 컨테이너 (JSON 파일과 같은 종류)로 사용하고 다음과 같이 속성을 추가합니다. class DataObj: "Catch-all data object" def __init__(self): pass def processData(inputs): data = DataObj() data.a = …

3
스칼라 또는 클로저 기능 프로그래밍 모범 사례
나는 많은 자기 연구 코딩을했고, 병렬 프로그래밍 모델에 대한 경험을 얻었습니다 : 액터, 소프트웨어 트랜잭션 메모리, 데이터 흐름. 이러한 아키텍처를 실제 (고부하 웹 애플리케이션)에 적용하려고 할 때 모든 모델은 데이터의 내구성과 지속성을 지원하지 않습니다. 실제 작업은 데이터를 마지막에 저장해야합니다. 이것은 여전히 ​​DB와 트래핑 DB 동기화, 가능한 확장 성 병목 등을 …


4
“혼합”언어로 디자인 : 객체 지향 디자인 또는 기능 프로그래밍?
지난 몇 년 동안, 내가 좋아하는 언어는 점점 더 "기능적"이되고 있습니다. 저는 이제 "하이브리드": C #, F #, Scala와 같은 언어를 사용합니다. 나는 도메인 객체에 해당하는 클래스를 사용하여 응용 프로그램을 디자인하고, 코딩이 더 쉽고, 더 정확하고, 더 안전하고 (특히 컬렉션에서 작동하거나 함수를 전달할 때) 기능적 기능을 사용하고 싶습니다. 그러나 디자인 …

1
기능적 언어의 UI 패턴
ClojureScript를 다루고 싶지만 몇 가지 점에 대해 의아해합니다. 내 문제는 기능적으로 작업하려고 할 때 사용자 상호 작용으로 인한 상태 변경을 처리하는 좋은 방법입니다. 몇 가지 예를 들어 보겠습니다. 브라우저에서 실행되는 응용 프로그램을 염두에두고 있지만 문제가 더 일반적이라고 생각합니다. 물론 적어도 DOM이 바뀌고 있습니다. 그러나 변경 할 수없는 데이터 구조로 작업하기 …

5
함수형 프로그래밍의 데이터 구조
나는 현재 LISP (특히 Scheme and Clojure)를 가지고 놀고 있으며 기능적인 프로그래밍 언어에서 전형적인 데이터 구조가 어떻게 처리되는지 궁금합니다. 예를 들어 그래프 경로 찾기 알고리즘을 사용하여 문제를 해결하고 싶다고 가정 해 봅시다. 함수형 프로그래밍 언어로 주로 그래프를 표현하는 방법은 무엇입니까 (주로 LISP에 적용 할 수있는 순수한 기능 스타일에 관심이 있습니까)? …

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