Skip to content

Typed Path Caller Construction

kimjooyoon edited this page Oct 9, 2026 · 6 revisions

함수의 분기를 호출 결과로 다시 고르기

확인: 2026-10-10 KST. 실험 PR1431을 원본 여섯 검사·증거 묶음·네 플랫폼 준비 검사를 통과해 dev 26c4e315에 정상 병합했습니다. 현재 공개0.6.23 파일보다 뒤의 개발 소스입니다. 첫 CI는 기능·race·정책 검사를 통과했고, 함수 자동 분할의 보조 함수가 길이 한도를 3줄 넘어 의미 일관성 검사에서 멈췄습니다. 점수 계산을 별도 함수로 정리하고 같은 분할 검사와 생성 Go의 race 검사를 통과했습니다. 수정 소스 fe2e533a의 새 원본 CI는 성공으로 완료됐습니다. 첫 실패와 수정 관측 · 원본 증거와 병합 기록.

예를 들어 함수가 0을 받아 0을 돌려주는 예제 하나를 통과했다고 합시다. 양수일 때 입력을 그대로 돌려주는 분기와 음수로 바꾸는 분기 모두 그 예제를 통과할 수 있습니다. Gooo는 함수를 실제로 쓰는 쪽의 3 -> 6 기대값을 실행해 보고 허용된 다른 분기도 조립합니다. 함수 자체의 예제와 전체 호출의 예제를 각각 기록합니다.

이번에 늘린 언어 기능

조건·변수·분기 typed-path 본문을 레코드 선택, 정수 식, 여러 빈칸의 본문과 같이 전체 프로그램 재조립에 넣습니다. 처음 고른 본문부터 실행하고 다음 typed 후보는 원래 소스 fallback과 다른 선택 수, 숫자 순으로 진행합니다. 함수의 시도 수와 전체 프로그램의 시도 수는 따로 제한합니다.

타입에 맞지 않는 두 선택의 조합도 시도 기록에 남습니다. 그 조합에는 실행 점수를 붙이지 않습니다. 저장 재생은 소스와 후보 범위를 다시 읽고 각 시도의 결과를 확인합니다. gooo/joint-construction/v7은 선택한 값·지역 실제 값·탈락·native 호출을 보관합니다. 기존 v1..v6 기록도 같은 의미로 재생합니다.

실제로 해본 결과

예제 프로그램 시도 선택 함수들의 지역 사례 마지막 별도 입력 초기 모델 호출 재생의 새 호출
분기 하나, 모델 생략 2 1/1 3/3 0 0
분기 + 레코드, 자체 작은 모델 15 2/2 3/3 1 0

초기 프로그램의 호출 결과는 둘 다0/1이었습니다. 분기를 다시 고른 뒤 각 조립용 호출1/1과 서로 다른 마지막 입력3/3을 관측했습니다. 마지막 입력에는 정확한 정수 9007199254740993이 있습니다. 학습 데이터와의 관계는 확인하지 않았고, 점수는 이 예제를 실행한 범위로 읽습니다.

자체 모델은 세 레코드 선택을 한 번 판단했습니다. 선택 하나인 분기에는 표현 범위를 받지 못한 이유를 기록하고 정해진 순서로 진행했습니다. 후속 프로그램 후보와 저장 재생에는 새 추론이 없습니다. 원본 모델 기록과 결정론적 조립 기록을 같이 읽을 수 있습니다.

실행과 원본

짧은 실행 예제는 모델 생략, 호환 모델과 레코드 혼합을 나눠 설명합니다. 패키지로 연결할 때는 입력 이름을 <package-path>:<activity>로 씁니다. imported helper의 분기를 다시 고르는 검사도 통과했습니다.

원본 보고서와 시간·검사 기록의 실행 생산자는 깨끗한 ce430158입니다. 문서 추가 소스3544519e와 공개 파일 생산자2b를 구분합니다. 지역 검사, native 산술 오류, 타입 조합 거절, 변경된 기록, 한도, CLI·패키지 저장 재생을 확인했습니다. 실제 모델 예측 타이머12,834ns와 전체 조립 CLI8.20초도 각 범위로 남겨두었습니다.

병합 뒤 dev 26c4e315의 원본 push CI37981912354도 attempt1에서 성공했습니다. 준비 검사37981912156 역시 같은 소스에서 성공했습니다.

typed recipe의 변수 음수 -input은 PR1432의 원본 여섯 검사·v5 증거·네 플랫폼 준비 검사를 통과해 dev 035e4447에 정상 병합했습니다. 변수·괄호 식·중첩 음수·재할당·조건식 조합의 지역 사례 35개를 검사했고 정수 상수의 기존 배열 번호를 유지했습니다. dev26c에서는 0 - input으로 쓰고 dev035에서는 -input을 직접 씁니다. 실행 원리와 범위.

작업장 PR56은 저장한 typed 조립의 호출 반례를 이 네이티브 경로로 넘기는 변경으로 원본 PR/push CI를 통과해 main8302cd7에 병합·설치했습니다. 원래 조립 파일을 보존하고 최신 Gooo 정책이 다음 반례를 고릅니다. 원본 공개 0.6.23의 실제 지원 범위도 따로 검사합니다. 현재 사용 흐름과 원본 설치 관측.

Gooo

배우기

직접 다뤄 보기

원리와 개발

공개 코드와 모델

Clone this wiki locally