«functional-programming» 태그된 질문

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


8
함수형 프로그래밍을위한 정신 모델 또는 실제 메타 데이터
실제 세계에서 무언가를 참조하는 기능적 프로그래밍에 대한 좋은 정신 모델이나 은유를 가진 사람이 있습니까? 객체 지향 프로그래밍은 직관적으로 의미가 있습니다. 속성이있는 것들이 있으며 때로는 속성 (메소드)에 대한 작업을 수행하거나 계산을 수행 할 수도 있습니다. (예 : 자동차, 모양, 고양이). 나는 함수형 프로그래밍을 전혀 악용하지 않으며 두 가지 장점에 대한 토론에 …

1
기능적 중간 형태의 단점
JavaScript와 유사한 언어에 대한 최적화 프로그램을 작성 중이며 중간 코드 표현을 선택해야합니다. 요즘 명백하고 전형적인 선택은 정적 단일 할당 (SSA)입니다. 그러나 C에서 Modern Compiler Implementation은 기본적으로 중간 표현을 위해 순수한 기능을 수행하는 것을 의미하는 기능적 중간 형식에 대해 논의합니다 (로컬 변수 측면에서 순수하고 힙 데이터는 여전히 변경 가능하며 CPS가 아닌 …

2
대수 데이터 유형의 용도는 무엇입니까?
Algebraic Data Types 에 대해 읽고 있습니다 (Richard Minerich 덕분 에이 개념에 대한 훌륭한 설명 을 발견했습니다 ). 합계 유형 및 제품 유형 등의 개념을 이해하고 있다고 생각하지만 이해하지 못하는 것은 대수 데이터 유형이 패턴 일치를 지정하는 것보다 어떻게 유용하다는 것입니다. 패턴 일치를 넘어 ADT로 할 수있는 다른 작업은 무엇입니까? …

5
안드로이드의 Dalvik VM으로 컴파일되는 기능적 언어? [닫은]
휴무 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 3 년 전 . 프로그래밍에 대한 기능적 접근 방식에 맞는 소프트웨어 문제가 있지만 대상 시장은 Android OS에 있습니다. Java의 VM으로 컴파일되는 …

4
상태 변경에 의존하지 않는 것이 좋은 이유는 무엇입니까?
이 질문은 /software/25569/is-haskell-worth-learning 질문에서 발생합니다 일반적으로 Haskell이 다른 언어로 코딩 기술을 향상시키는 방법에 대해 자주 반복되는 진술이 있으며, 이는 Haskell이 무국적자이기 때문에 좋은 일입니다. 왜? 나는 누군가가 이것을 왼손으로 타이핑하거나 하루 동안 눈을 감고 터치에 의존하는 것과 비교하는 것을 보았습니다. 분명히 그것보다 더 많은 것이 있습니까? 하드웨어 메모리 액세스 또는 …

6
함수에 전달되는 인수의 양을 제한하는 언어
이 아이디어는 +,-, % 등과 같은 연산자가 하나 또는 두 개의 인수가 전달되고 부작용이없는 함수로 볼 수 있다는 사실에서 영감을 얻었습니다. I 또는 다른 사람이 두 개 이상의 인수가 전달되는 것을 막고 반환 값을 통해서만 작동하는 언어를 작성한다고 가정합니다. a) 그러한 언어는 코드를 이해하기 쉽게 만들어 줄 것입니까? b) 코드의 …

5
Elm 주장과 같이 "런타임 예외 없음"의 이점은 무엇입니까?
일부 언어는 다른 언어에 비해 "런타임 예외 없음"이라고 분명한 장점이 있다고 주장합니다. 나는 그 문제에 혼란스러워한다. 런타임 예외는 내가 아는 한 잘 사용되는 도구 일뿐입니다. "더러운"상태를 전달할 수 있습니다 (예기치 않은 데이터 발생) 스택을 추가하면 오류 체인을 가리킬 수 있습니다 클러 터 (예 : 유효하지 않은 입력에서 빈 값 반환)와 …

4
API 및 기능 프로그래밍
Clojure와 같은 기능적 프로그래밍 언어에 대한 (제한적으로 제한적인) 노출에서 데이터 캡슐화는 덜 중요한 역할을하는 것으로 보입니다. 일반적으로 맵이나 세트와 같은 다양한 기본 유형이 객체보다 데이터를 나타내는 기본 통화입니다. 게다가, 그 데이터는 일반적으로 불변입니다. 예를 들어, Clojure 명성의 Rich Hickey가 그 문제 에 대한 인터뷰 에서 가장 유명한 인용문 중 하나입니다 …

9
높은 수준의 경영진이 함수형 프로그래밍을 고려하도록 설득하는 데있어 사실적인 주장은 무엇입니까? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 오년 전에 . 있다 함수형 프로그래밍은 좋은 생각 인 이유에 대해 "이론적"인수 톤 (그래서 제대로 열린 질문으로 머물렀던 것을 너무 많은, …

3
고차 함수의 명명 규칙? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 3 년 전 . 고차 함수에 대한 명명 규칙이 있습니까? 즉, 다른 함수를 반환하는 함수입니다. 자바 스크립트의 예 : function onlyDivisibleBy(div) …

2
절차로 구현되지 않은 연속의 예는 무엇입니까?
SO에 대한 콜백 과 연속 의 차이점에 대한 흥미로운 논의 로 인해이 질문이 제기되었습니다. 정의에 따르면 연속은 계산을 완료하는 데 필요한 논리의 추상 표현입니다. 대부분의 언어에서 이것은 지속적인 처리가 필요한 값을 전달하는 하나의 인수 절차로 나타납니다. 순전히 기능적인 언어 (모든 기능이 순수하고 일류 시민 인 경우)에서 연속은 전체적으로 함수로 모델링 …


5
인터페이스의 기능적 프로그래밍 대안은 무엇입니까?
"기능적"스타일로 프로그래밍하려면 인터페이스를 무엇으로 바꾸어야합니까? interface IFace { string Name { get; set; } int Id { get; } } class Foo : IFace { ... } 아마도 Tuple<>? Tuple<Func<string> /*get_Name*/, Action<String> /*set_Name*/, Func<int> /*get_Id*/> Foo; 처음에 인터페이스를 사용하는 유일한 이유는 항상 특정 속성 / 방법을 사용할 수 있기를 원하기 …

4
그루비는 부분 애플리케이션을 '커링'이라고 부릅니까?
Groovy는 '카레'라는 개념을 가지고 있습니다. 다음은 Wiki의 예입니다. def divide = { a, b -> a / b } def halver = divide.rcurry(2) assert halver(8) == 4 여기서 무슨 일이 일어나고 있는지에 대한 나의 이해는 오른쪽 인수 divide가 가치 2에 묶여 있다는 것입니다. 이것은 부분 적용의 형태처럼 보입니다. 커링이라는 용어는 …

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