«functional-programming» 태그된 질문

함수형 프로그래밍은 추상화를 구축하고 컴퓨터 프로그램을 구성하는 계산을 표현하는 수단으로 주로 함수를 사용하는 프로그래밍 패러다임입니다.

1
대수 데이터를 사용한 구속 조건 기반 유형 유추
ML 계보의 표현 기반 언어를 연구하고 있으므로 자연스럽게 형식 유추가 필요합니다. 이제 EOPL (Friedman and Wand)의 간단한 구현을 기반으로 유형을 유추하는 문제로 제약 조건 기반 솔루션을 확장하려고하지만 대수 데이터 유형을 우아하게 회피합니다. 지금까지 내가 한 것은 매끄럽게 작동합니다. 식이 경우 e이고 a + b, e : Int, a : Int및 …

1
ML 유형 유추의 지수 비용에 대한 간결한 예
OCaml과 같은 기능적 언어에서 형식 유추 비용이 매우 높을 수 있다는 점에 주목했습니다. 청구 범위는 각 표현에 대해 대응하는 유형의 길이가 표현의 길이에 대해 지수가되도록 일련의 표현이 존재한다는 것이다. 아래 순서를 고안했습니다. 내 질문은 : 동일한 유형을 달성하는 더 간결한 표현이있는 시퀀스를 알고 있습니까? # fun a -> a;; - …

4
기능 코드의 정확성을 입증하는 일반적인 공식 기술은 무엇입니까?
논문의 일부로 작성중인 Haskell 프로그램의 일부에 대한 증거를 제공하고 싶습니다. 그러나 지금까지 좋은 참고 자료를 찾지 못했습니다. 그레이엄 허튼의 입문 책 하스켈 프로그램 ( Google 도서는 다음과 같은 프로그램에 대해 추론을위한 몇 가지 기술을 하스켈-접촉을 배우면서) 본인은 - 어떤 방정식 추론 겹치지 않는 패턴 사용 목록 유도 13 장에 있지만 …

2
순수한 데이터 흐름 스타일로 "증분 업데이트"기능을 구성하는 패러다임이 있습니까?
나는이 질문을하는 데 올바른 용어를 알지 못하므로 대신 많은 단어로 설명 할 것입니다. Background , 우리는 같은 페이지에 있습니다 : 프로그램에는 종종 캐시가 포함되어 있습니다-시간 / 메모리 균형. 일반적인 프로그래머의 실수는 업스트림 소스 / 전례 중 하나를 변경 한 후 캐시 된 값을 업데이트하는 것을 잊는 것입니다. 그러나 데이터 흐름 …

1
자기 유형으로 인해 귀납적 구조의 미적분이 쓸모 없습니까?
자체 유형은 언어가 Scott Encoding을 통해 인코딩 된 대수 데이터 유형을 표현할 수 있도록하는 건축 미적분의 확장입니다 [1]. Scott Encoding은 in에 패턴 매칭 기능을 제공하는데 O(1), 이는 CC에 귀납적 정의를 포함시키는 주요 동기 중 하나입니다. 그러나 Self Types는 훨씬 더 단순하고 우아한 기본 이론을 만들며, 강력하지는 않습니다. 이론적 인 관점에서, …

3
익명의 람다 함수 (함수 프로그래밍)
익명 (람다) 함수 란 무엇입니까? 함수형 프로그래밍 언어에서 익명 함수의 공식적인 정의는 무엇입니까? 간단한 용어로, scheme / lisp에서 프로그래밍 할 때 익명 (lambda) 함수는 식별자에 바인딩되지 않은 함수라고 말합니다. 람다 함수에 대해 공식적으로 말할 수있는 모든 것입니까? 이 간단한 정의에 더 많은 세부 사항이 추가 될 수 있다고 생각합니다. 정교하게 …

1
λ -calculus : 함수의 메모리 표현에서 가장 효율적인 것은 무엇입니까?
함수 인코딩 (Church 's / Scott 's)과 클래식 인코딩 (어셈블러 / C) 데이터 구조의 성능을 비교하고 싶습니다. 그러나 그렇게하기 전에 메모리에서 함수 표현이 얼마나 효율적인지 알아야합니다. 이 기능은 물론 부분적으로 적용될 수 있습니다 (일명 폐쇄). 현재 인코딩 알고리즘의 인기있는 기능 언어 (Haskell, ML) 사용 과 달성 할 수있는 가장 효율적인 …

2
타입 시스템에서 정렬 작업 증명
프로그래밍 언어의 유형 시스템이 얼마나 유용한 지 알고 싶습니다. 예를 들어, 의존적으로 유형이 지정된 프로그래밍 언어 Vector에서 벡터의 크기를 유형 서명에 통합 하는 클래스를 만들 수 있다는 것을 알고 있습니다 . 사실상의 예와 같습니다. append컴파일러는 결과 목록의 크기가 입력 목록의 합임을 증명할 수 있도록 해당 서명을 사용하여 함수 를 작성할 …

1
조합 논리 항이 항상 더 큽니까?
그래서이 알고리즘 인 SK 콤비를 사용하여 조합 적 논리에 람다 계산법 조건을 변환 할 수는. 크기 가 폭발 하는 것들을 만들어냅니다 . 이 규모의 폭발에 대해 더 알고 싶습니다. 그러나 더 나은 알고리즘을 생각할 수 없습니다. 기능 언어가 결합기로 실제로 컴파일되는 것을 들었으므로 더 나은 알고리즘이 있어야합니다. 나는 이 주제에 …

3
함수형 프로그래밍의 불변성이 실제로 존재합니까?
나는 일상 생활에서 프로그래머로 일하고 모든 유행 언어 (Python, Java, C 등)를 사용하지만 여전히 함수형 프로그래밍이 무엇인지에 대한 명확한 견해는 없습니다. 내가 읽은 것에서, 기능적 언어의 한 가지 속성은 데이터 구조가 변경 불가능 하다는 것 입니다. 나에게 이것은 혼자서 많은 질문을 제기합니다. 그러나 먼저 불변성에 대해 이해 한 내용을 약간 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.