idris Idris2+WebGL, 파트 #16: 프로그램 다시 바인딩 컴파일러는 특정 명령이 올바른지 여부를 결정하기 위해 바인딩된 프로그램을 어느 정도 알아야 합니다. Program pid 및 UniformLocation pid 에서 작동하도록 함수를 정의할 수 있으며 pid 값이 동일해야 합니다. 이것으로 우리가 할 수 있는 트릭이 있습니다: forall pid 가 첫 번째 인수의 일부이기 때문에 someFunction 에 대한 첫 번째 인수는 pid 의 ... idriswebglfunctional Idris2+WebGL, 파트 #1: 안녕하세요 삼각형, 첫 번째 생각 나는 Idris 2에서 유형이 안전한 WebGL 애플리케이션을 만들어 종속 유형의 실질적인 의미를 탐구하기로 결정했습니다. 반면 고급 유형 시스템은 대부분 인간의 추론에 묶여 있습니다. 일반적으로 나는 컴파일러가 하드웨어를 제어하고 프로그래머가 비즈니스 로직을 표현하도록 해야 한다고 주장하면서 이 접근 방식에 반대하지만, 종속 타이핑의 힘과 실제 어려움을 테스트하기 위해 복잡한 사례가 많은 ... typeidrisfunctional Idris2+WebGL, 6부: 안녕 IO monad, 안녕 GL monad 이전 항목 로그 다음에, 모든 함수를 선형 형식으로 다시 쓰는 것이 내 임무입니다.이 과정은 흥미롭지 않지만 선형 유형 시스템을 만드는 도전에 대한 견해를 가지게 되었습니다. WebGL 컨텍스트가 상수가 아닐 수도 있지만 컨텍스트에 대한 참조는 기본적으로 상수이기 때문에 이 방법은 현재 여전히 유효합니다.불행하게도, 이것은 모든 함수를IO monad에 연결합니다. WebGL 함수의 많은 값은... idrisqttfunctionallinearity Idris2+WebGL, 파트 #7: 짧은 코드 품질 업데이트 이전 개발 로그를 작성하는 동안 GL 모나드로 전환하면 연속 작업 없이 선형 유형을 사용할 수 있다는 것을 깨달았습니다. 실제로 그렇습니다. Idris는 음수 위치의 유형, 즉 입력에서 선형성을 결정합니다. f x 표현식은 f 또는 x가 선형이면 선형이고, 따라서 f x y f 또는 x가 선형이면 표현식 y도 선형입니다. 그러나 GADT를 사용하면 가능합니다. 생성자 함수에서 선형성을 지정하... idrisqttfunctionallinearity Idris2+WebGL, 제9부분: 제복이 귀속계획에 속하는지 확인 위치는 하나의 정수일 뿐이며, 서로 다른 프로그램은 서로 다른 일에 대해 같은 위치를 사용할 수 있다.제복을 한 프로그램에서 다른 프로그램으로 전달하는 것은 잘못된 것이지만, 우리가 이렇게 하는 것을 막을 수 있는 것은 아무것도 없다.나는 이 오류를 피하기 위해 유형을 사용하고 싶다. 같은 코드의 여러 번 호출 사이에 변화가 없기 때문에 우리는 유형의 지식에 의존할 수 없고 무지에만 의존할 ... idrisfunctionaltypes Idris2+WebGL, 제13부분: 느리고 낙담할 만한 진전 우선, 나와 이드리스의 유한한 외국 금융기관 간의 투쟁은 영원히 멈추지 않을 것이다.일찍이 나의 첫 번째 개발 일지 항목에서 나는 이 문제를 불평한 적이 있지만, 그것은 여전히 나를 곤란하게 한다.요컨대 지원되는 유형은 유한하지만 편견이 있어 FFI에서 선형 값을 처리하는 것은 불필요하고 복잡하다.그러나, 나는 이미 몇 가지 일을 개선하려고 노력했지만, 단지 내가 원하는 만큼 많지 않다. 그... idrisfunctional
Idris2+WebGL, 파트 #16: 프로그램 다시 바인딩 컴파일러는 특정 명령이 올바른지 여부를 결정하기 위해 바인딩된 프로그램을 어느 정도 알아야 합니다. Program pid 및 UniformLocation pid 에서 작동하도록 함수를 정의할 수 있으며 pid 값이 동일해야 합니다. 이것으로 우리가 할 수 있는 트릭이 있습니다: forall pid 가 첫 번째 인수의 일부이기 때문에 someFunction 에 대한 첫 번째 인수는 pid 의 ... idriswebglfunctional Idris2+WebGL, 파트 #1: 안녕하세요 삼각형, 첫 번째 생각 나는 Idris 2에서 유형이 안전한 WebGL 애플리케이션을 만들어 종속 유형의 실질적인 의미를 탐구하기로 결정했습니다. 반면 고급 유형 시스템은 대부분 인간의 추론에 묶여 있습니다. 일반적으로 나는 컴파일러가 하드웨어를 제어하고 프로그래머가 비즈니스 로직을 표현하도록 해야 한다고 주장하면서 이 접근 방식에 반대하지만, 종속 타이핑의 힘과 실제 어려움을 테스트하기 위해 복잡한 사례가 많은 ... typeidrisfunctional Idris2+WebGL, 6부: 안녕 IO monad, 안녕 GL monad 이전 항목 로그 다음에, 모든 함수를 선형 형식으로 다시 쓰는 것이 내 임무입니다.이 과정은 흥미롭지 않지만 선형 유형 시스템을 만드는 도전에 대한 견해를 가지게 되었습니다. WebGL 컨텍스트가 상수가 아닐 수도 있지만 컨텍스트에 대한 참조는 기본적으로 상수이기 때문에 이 방법은 현재 여전히 유효합니다.불행하게도, 이것은 모든 함수를IO monad에 연결합니다. WebGL 함수의 많은 값은... idrisqttfunctionallinearity Idris2+WebGL, 파트 #7: 짧은 코드 품질 업데이트 이전 개발 로그를 작성하는 동안 GL 모나드로 전환하면 연속 작업 없이 선형 유형을 사용할 수 있다는 것을 깨달았습니다. 실제로 그렇습니다. Idris는 음수 위치의 유형, 즉 입력에서 선형성을 결정합니다. f x 표현식은 f 또는 x가 선형이면 선형이고, 따라서 f x y f 또는 x가 선형이면 표현식 y도 선형입니다. 그러나 GADT를 사용하면 가능합니다. 생성자 함수에서 선형성을 지정하... idrisqttfunctionallinearity Idris2+WebGL, 제9부분: 제복이 귀속계획에 속하는지 확인 위치는 하나의 정수일 뿐이며, 서로 다른 프로그램은 서로 다른 일에 대해 같은 위치를 사용할 수 있다.제복을 한 프로그램에서 다른 프로그램으로 전달하는 것은 잘못된 것이지만, 우리가 이렇게 하는 것을 막을 수 있는 것은 아무것도 없다.나는 이 오류를 피하기 위해 유형을 사용하고 싶다. 같은 코드의 여러 번 호출 사이에 변화가 없기 때문에 우리는 유형의 지식에 의존할 수 없고 무지에만 의존할 ... idrisfunctionaltypes Idris2+WebGL, 제13부분: 느리고 낙담할 만한 진전 우선, 나와 이드리스의 유한한 외국 금융기관 간의 투쟁은 영원히 멈추지 않을 것이다.일찍이 나의 첫 번째 개발 일지 항목에서 나는 이 문제를 불평한 적이 있지만, 그것은 여전히 나를 곤란하게 한다.요컨대 지원되는 유형은 유한하지만 편견이 있어 FFI에서 선형 값을 처리하는 것은 불필요하고 복잡하다.그러나, 나는 이미 몇 가지 일을 개선하려고 노력했지만, 단지 내가 원하는 만큼 많지 않다. 그... idrisfunctional