Haskell 운영자에게 허용되는 문자는 무엇입니까?
어딘가에 허용되는 문자의 전체 목록이 있습니까, 아니면 식별자와 연산자에서 사용할 수있는 것을 결정하는 규칙이 있습니까?
로부터 하스켈 보고서 이 허용 기호에 대한 구문은 다음과 같습니다
a | b
수단 a or b
과
a<b>
방법 a except b
special -> ( | ) | , | ; | [ | ] | `| { | }
symbol -> ascSymbol | uniSymbol<special | _ | : | " | '>
ascSymbol -> ! | # | $ | % | & | * | + | . | / | < | = | > | ? | @
\ | ^ | | | - | ~
uniSymbol -> any Unicode symbol or punctuation
따라서 기호 special | _ | : | " | '
는 예약 된의 기호를 제외하고 ASCII 기호 또는 유니 코드 기호 입니다.
다음 문자는 사용할 수 없음을 의미합니다. | , ; [ ] ` { } _ : " '
아래 몇 단락, 보고서는 Haskell 연산자에 대한 완전한 정의를 제공합니다.
varsym -> ( symbol {symbol | :})<reservedop | dashes>
consym -> (: {symbol | :})<reservedop>
reservedop -> .. | : | :: | = | \ | | | <- | -> | @ | ~ | =>
연산자 기호는 위에 정의 된대로 하나 이상의 기호 문자로 구성되며 어휘 적으로 두 개의 네임 스페이스로 구분됩니다 (섹션 1.4).
- 콜론으로 시작하는 연산자 기호는 생성자입니다.
- 다른 문자로 시작하는 연산자 기호는 일반 식별자입니다.
콜론 ":"은 하스켈 목록 생성자로만 사용하도록 예약되어 있습니다. 이것은 "[]"및 "[a, b]"와 같은 목록 구문의 다른 부분과 동일하게 처리됩니다.
접두사 부정에 대한 특수 구문을 제외하고 모든 연산자는 중위이지만 각 중위 연산자는 부분적으로 적용된 연산자를 생성하기 위해 섹션에서 사용할 수 있습니다 (섹션 3.5 참조). 모든 표준 중위 연산자는 미리 정의 된 기호 일 뿐이며 리바운드 될 수 있습니다.
로부터 하스켈 2010 보고서 §2.4 :
연산자 기호 는 하나 이상의 기호 문자로 구성됩니다.
§2.2 는 기호 문자 를 !#$%&*+./<=>?@\^|-~:
"모든 [비 ASCII] 유니 코드 기호 또는 구두점"으로 정의합니다.
내가 찾고 있던 것은 캐릭터의 전체 목록이었습니다. 다른 답변을 바탕으로 전체 목록은 다음과 같습니다.
유니 코드 구두점 :
- http://www.fileformat.info/info/unicode/category/Pc/list.htm
- http://www.fileformat.info/info/unicode/category/Pd/list.htm
- http://www.fileformat.info/info/unicode/category/Pe/list.htm
- http://www.fileformat.info/info/unicode/category/Pf/list.htm
- http://www.fileformat.info/info/unicode/category/Pi/list.htm
- http://www.fileformat.info/info/unicode/category/Po/list.htm
- http://www.fileformat.info/info/unicode/category/Ps/list.htm
유니 코드 기호 :
- http://www.fileformat.info/info/unicode/category/Sc/list.htm
- http://www.fileformat.info/info/unicode/category/Sk/list.htm
- http://www.fileformat.info/info/unicode/category/Sm/list.htm
- http://www.fileformat.info/info/unicode/category/So/list.htm
그러나 Haskell에서 특별한 의미가있는 다음 문자는 제외 합니다.
(),;[]`{}_:"'
A :
는 연산자의 첫 문자로만 허용되며 생성자를 나타냅니다 ( 콜론으로 시작하는 연산자 기호는 생성자 참조 ).
참고 URL : https://stackoverflow.com/questions/10548170/what-characters-are-permitted-for-haskell-operators
'Programing' 카테고리의 다른 글
Spring Batch에서 ItemReader에서 작업 매개 변수에 액세스하는 방법은 무엇입니까? (0) | 2020.11.18 |
---|---|
새 속성을 동적으로 만드는 방법 (0) | 2020.11.18 |
C 및 C ++ : 자동 구조의 부분 초기화 (0) | 2020.11.18 |
Java에서 ArrayList 요소의 값을 변경하는 방법 (0) | 2020.11.18 |
현재 상태와 마지막 커밋 간의 차이점보기 (0) | 2020.11.18 |