2
상태를 변경하는 모든 라켓 절차는 무엇입니까?순전히 기능적 라켓
#lang racket/base
(provide (except-out (all-from-out racket/base) set! …more here…))
내가 설정 외에 다른 무엇을 제외해야합니다 : 나는 그래서
수한 적은 부작용을 가진 프로그램을 만들려고 해요 , 내가 좋아하는 뭔가를 할 거라고! ? 모든 불순한 기능의 전체 목록이 있습니까?
아, 프로그램도 #lang racket/gui를 사용합니다 (이는 내가 모을 수있는 대부분 불순합니다). 그래서 그것은 까다로울 수 있습니다 ...
고마워요.
이유에 대해 더 많이 말할 수 있습니까? 즉 무엇을하려는 것입니까? 왜냐하면 "불변"은 어떤 상황과 관련이 있기 때문입니다. 어떤 프로그램도 CPU 및 RAM 상태와 관련하여 "불변"이 아닙니다. 덜 극단적 인 기능은 순수하게도 가능하지만 구현시 메모를 사용하는 경우가 있습니다. 당신이 걱정하는 컨텍스트가 무엇인지 모르겠습니다. 어쨌든, GUI는 일반적으로 Racket에서와 같이 stateful OOP로 처리됩니다. –
부작용을 피하기 위해 내 프로그램을 테스트하고 추론하는 것이 더 쉬울 것이라고 생각하여 내 기능이 순전히 작동합니다. '라켓/GUI'에 상태 기반 디자인이 필요한 경우 필요를 완화하기 위해 수행 할 수있는 작업은 무엇입니까? – user3623657