Visual F# 2010의 새로운 기능
F#은 Visual Studio 2010에서 제공하는 .NET Framework용 다중 패러다임 프로그래밍 언어입니다. F#은 함수형 프로그래밍, 개체 지향 프로그래밍 및 명령형 프로그래밍을 지원합니다.
Visual F#의 Visual Studio 2010 릴리스 기능
다음 단원에서는 Visual F#의 첫 번째 릴리스에서 제공하는 일부 기능에 대해 설명합니다.
함수형 프로그래밍에 대한 지원
함수를 값으로 취급하고 다른 함수에 직접 전달할 수 있습니다. 이 기능을 사용하면 고차 함수(함수에 대해 작동하는 함수)를 쉽게 코딩할 수 있습니다. 즉, 이 기능을 사용하면 오류가 발생할 가능성이 적은 보다 선언적인 코드를 쉽게 작성할 수 있습니다.
F#에서는 구조적 프로그래밍을 지원합니다. 즉, 간단한 연산자 구문을 사용하여 함수를 순서대로 구성하고 호출할 수 있으며, 한 함수의 출력이나 반환 값을 다른 함수의 입력으로 제공할 수 있는 파이프라인 연산자를 사용하여 함수 호출을 결합할 수 있습니다. 또한 컴퍼지션 연산자로 함수를 결합하여 새 함수를 정의할 수도 있습니다.
자세한 내용은 함수(F#)를 참조하십시오.
람다 식
람다 식을 사용하면 함수의 이름을 지정하지 않고도 현재 위치에서 함수를 정의할 수 있습니다. 자세한 내용은 람다 식: fun 키워드(F#)를 참조하십시오.
유용한 데이터 형식
F#에서는 단순한 데이터 컬렉션의 튜플이나 기호화된 구조적 데이터의 구별된 공용 구조체 같은 함수형 프로그래밍 스타일을 지원하는 형식을 제공합니다. 자세한 내용은 튜플(F#), Discriminated Unions(F#) 및 옵션(F#)을 참조하십시오.
변경할 수 없는 데이터 형식
F#에서는 변경할 수 없는 목록, 맵, 집합, 시퀀스, 레코드 등과 같은 변경할 수 없는 데이터 구조체를 지원합니다. 자세한 내용은 목록(F#), 시퀀스(F#) 및 레코드(F#)을 참조하십시오.
패턴 일치
패턴 일치 기능을 사용하면 데이터를 구성 성분으로 분해하고 데이터의 분해를 기반으로 복잡한 분기를 수행할 수 있습니다. 또한 패턴 일치는 확장이 가능합니다. 자세한 내용은 일치 식(F#), 패턴 일치(F#) 및 활성 패턴(F#)을 참조하십시오.
비동기 및 병렬 프로그래밍
F#에서는 비동기 프로그래밍을 지원하며 이 프로그래밍을 이전보다 쉽게 수행할 수 있도록 하는 구문을 제공합니다. 자세한 내용은 비동기 워크플로(F#)를 참조하십시오. 또한 F#을 .NET Framework에 대한 병렬 확장과 함께 사용할 수도 있습니다. F # 파워 팩, 함께 병렬 LINQ (PLINQ) F # 으로 사용할 수도 있습니다. 자세한 내용은 .NET Framework의 병렬 프로그래밍를 참조하십시오.
대화형 프로그래밍
Visual F#에는 코드를 대화형으로 컴파일하고 실행하는 데 사용할 수 있는 F# 해석기인 F# Interactive(fsi.exe)가 포함되어 있습니다. 이 해석기를 사용하면 프로젝트를 컴파일하지 않고도 손쉽게 코드의 프로토타입을 만들고 구문을 코딩해 볼 수 있습니다. 또한 F# Interactive는 Visual Studio IDE와 통합되어 있습니다. 자세한 내용은 F# Interactive(fsi.exe) 참조를 참조하십시오.
지연 계산
F#에서는 결과가 필요할 때까지 계산을 미룰 수 있는 지연 계산을 지원합니다. 자세한 내용은 지연 계산(F#)를 참조하십시오.
개체 지향 프로그래밍에 대한 지원
F#은 F#에서 .NET Framework API를 만드는 데 사용할 수 있을 뿐만 아니라 .NET Framework에 대한 모든 액세스 권한을 F# 프로그램에 제공하는 개체 지향 언어 기능을 지원합니다. 자세한 내용은 클래스(F#), 멤버(F#) 및 상속(F#)을 참조하십시오.
명령적 프로그래밍에 대한 지원
F#에서는 명령형 프로그래밍이 문제를 해결하기 위한 최선의 방법인 경우 변경할 수 있는 변수와 배열, 의도하지 않은 결과가 발생할 수 있는 함수, 루프 구문 등과 같은 명령형 코드 구문을 지원합니다.
수학적 계산 지원
F#에서는 수학적 계산을 지원합니다. 여기에는 연산자 오버로드 지원, 제네릭과 함께 사용되는 연산자, 지수 연산자를 포함한 수치 연산자의 전체 집합 등도 포함됩니다.
F#에서는 단위 계산 부동 소수점 수식을 허용하는 측정 단위와 연결된 부동 소수점 데이터 지원 기능도 제공합니다.
고급 형식 시스템
F#에서는 제네릭 프로그래밍을 지원합니다. 자세한 내용은 제네릭(F#)를 참조하십시오.
F#은 형식 유추를 지원하는 정적 형식의 언어입니다. 이는 컴파일 타임에 모든 프로그램 요소의 형식이 정해지기 때문에 형식 안전성이 보장된다는 것을 의미하지만 모든 값의 형식을 명시적으로 지정하지 않아도 된다는 것을 의미하지는 않습니다. 명시적 형식이 제공되지 않아도 F# 컴파일러에서 일반적으로 프로그램 요소의 형식을 유추할 수 있기 때문에 코드가 더 간결해지고 형식 불일치와 관련된 프로그래밍 오류도 줄어듭니다. 또한 형식 유추에는 자동 일반화가 포함되기 때문에 제네릭일 수 있는 함수가 자동으로 제네릭 함수로 컴파일됩니다. 자세한 내용은 형식 유추(F#)를 참조하십시오.
유용한 라이브러리
Visual F#에는 핵심 언어, 컬렉션 형식, F# 어셈블리에 대한 리플렉션 및 서식이 지정된 I/O를 지원하는 라이브러리 집합이 포함되어 있습니다. 또한 F#에서는 Windows Presentation Foundation 및 .NET Framework에 대한 병렬 확장 같은 .NET Framework 4의 모든 기능에 액세스할 수 있습니다. 자세한 내용은 .NET Framework 4를 참조하십시오.