9.2. 프로그램언어 달(Dhall)에서의 복합 자료형

프로그램언어 달(Dhall)의 복합 자료형 Lists 유형

프로그램언어 달(Dhall)의 복합 자료형 Lists 유형은 여러 값을 포함하는 리스트를 나타내는 자료형입니다.

Lists 유형은 대괄호([])로 값을 둘러싸서 표현됩니다. 리스트 안에는 동일한 유형의 값들이 들어갈 수 있습니다.

예를 들어, 정수형으로 이루어진 리스트는 다음과 같이 표현할 수 있습니다:


        [1, 2, 3, 4, 5]
    

위 예제 코드는 1부터 5까지의 정수를 포함하는 리스트를 나타냅니다.

프로그램언어 달(Dhall)의 복합 자료형 Records 유형

프로그램언어 달(Dhall)의 복합 자료형 Records는 필드 이름과 해당 필드에 대한 값으로 이루어진 데이터 구조입니다. 각 필드는 이름과 유형을 가지며, 필드 이름은 중복되지 않습니다. Records는 다른 프로그래밍 언어의 구조체나 객체와 유사한 개념으로 사용됩니다.

Records는 중괄호({})로 둘러싸인 필드의 목록으로 정의됩니다. 각 필드는 이름과 값으로 구성되며, 필드 이름과 값은 콜론(:)으로 구분됩니다.


let person = { name = "Alice", age = 30, isStudent = True }
in person
    

프로그램언어 달(Dhall)의 복합 자료형 Unions 유형

프로그램언어 달(Dhall)의 복합 자료형 Unions 유형은 여러 다른 유형 중 하나를 나타내는 유형입니다.

Unions 유형은 주어진 값이 여러 유형 중 하나일 수 있음을 표현할 때 사용됩니다. 예를 들어, 정수 또는 문자열 중 하나를 나타내는 경우에 Unions 유형을 사용할 수 있습니다.

아래는 Dhall에서 Unions 유형을 사용한 예제 코드입니다:


let MyUnionType = < Int : Natural | Text : Text >

let value : MyUnionType = < Text : "Hello, Dhall!" >

in value

프로그램언어 달(Dhall)의 복합 자료형 Maps 유형

프로그램언어 달(Dhall)의 복합 자료형 Maps 유형은 키-값 쌍을 저장하는 자료구조입니다. 이를 사용하여 키를 값에 매핑할 수 있습니다.

Maps 유형은 다음과 같이 선언됩니다:


        let exampleMap : Map Text Integer = { "key1" : 42, "key2" : 100 }
    

프로그램언어 달(Dhall)의 복합 자료형 Optionals 유형

프로그램언어 달(Dhall)의 복합 자료형 Optionals 유형은 값이 존재할 수도 있고 존재하지 않을 수도 있는 값을 나타내는 유형입니다.

Optionals 유형은 값이 있을 때는 Some으로 표현하고, 값이 없을 때는 None으로 표현합니다.

아래는 Optionals 유형을 사용한 예제 코드입니다:


let optionalValue = Some 42

let noValue = None Natural

Leave a Comment