SML에서 명령을 실행 한 후 명령에서 반환 된 데이터와 유형이있는 "it"이 반환됩니다. 예를 들면 :SML에서 유형 정보를 인쇄하려면 어떻게해야합니까?
false;
val it = false : bool
의가 나는과 같이 프로그램에서 바인딩 있다고 가정 해 봅시다 : 프로그램의 중간에 "argsToOutput"(의 가치와 데이터 유형을 인쇄 할 수있는 방법이 있나요
val argsToOutput = (map (fn (Absyn.var_exp(n)) =>
(lookupReference env n)) exps)
)와 비슷한 방식으로 "그것"이 인쇄됩니까?
문제는 내가 유형이 무엇인지 모르는 것입니다. 나는 클래스 용 코드를 작업 중이며 CM.make를 사용하여 6 개의 파일 세트를 "컴파일"합니다. 어떤 데이터 유형 (및 값)이 특정 바인딩에 실제로 바인딩되는지 파악하기 위해 고심하고 있습니다. 이 경우 모든 코드를 게시하는 것은 비현실적입니다. 다른 아이디어? –
나는 몰라. 파일을 인터프리터에로드 할 수있는 방법이 있습니까? 또는, 모든 함수 인수에 유형 주석을 넣고 유형 및 변수를 리턴 할 수 있습니다. ML에서 타입 추론의 일부는 변수에 대한 타입을 선언 할 필요가 없다는 것을 알고 있지만 때로는 디버깅에 유용합니다. 또한 어쨌든 값에 대한 유형 가드를 넣을 수도 있고, 유형을 확인하지 않으면 오류 메시지가 실제로 유형을 알 수 있습니다. – newacct