Resultados da pesquisa a pedido "racket"
Por que o Scheme não suporta ambientes de primeira classe?
Eu estive lendo o SICP (Estrutura e interpretação de programas de computador) e fiquei realmente empolgado ao descobrir esta maravilhosa forma especial: "make-environment", que eles demonstram usar em combinação com eval como forma de escrever ...
Como você pode redefinir um identificador constante no DrSchem
Estou usando o DrScheme para escrever um intérprete de esquema. Defino um loop de impressão de avaliação de leitura e estou redefinindo o procedimento de avaliação. Isso funciona bem em outras implementações de esquema, como o Chez Scheme, mas ...
ódigo de Substituição Baseada em Regras de Correspondência de Padrão SICP
Encontrei o código desta lição on-line (http://groups.csail.mit.edu/mac/ftpdir/6.001-fall91/ps4/matcher-from-lecture.scm) e estou tendo um tempo tentando depurá-lo. O código parece bastante comparável ao que Sussman escreveu: ;;; Scheme code ...
Como passar uma lista como uma lista de argumentos na raquet
Tenho uma declaração como esta: ((lambda (a b c) (+ a b c)) 1 2 3) ; Gives 6E eu gostaria de poder também passar uma lista assim: ((lambda (a b c) (+ a b c)) (list 1 2 3)) ... exceto que isso não funciona, porque a lista inteira é passada como ...
Diferenças entre #lang esquema e #lang raquete
Suponho que #lang raquete é um dialeto do esquema com muito mais estruturas prontas para uso e funções comuns e talvez seja mais pedagógico. Quais são as vantagens de uma raquete #lang contra o esquema #lang? É melhor (ou até possível) usar o ...
Lambdas anônimas se referindo diretamente a si mesmas
Scheme ou algum dialeto do esquema tem um tipo de operador "auto", para que lambdas anônimas possam se repetir sem fazer algo como um combinador Y ou ser nomeado em um letrec et Algo como (lambda (n) (cond ((= n 0) 1) (else (* n (self (- n ...
Comportamento de citações aninhadas em Scheme and Racket
Enquanto escrevia uma função no Racket, acidentalmente coloquei duas aspas simples na frente de um símbolo em vez de uma. ou seja, escrevi acidentalmente '' a e descobri algum comportamento de aspas aninhadas que parece estranho. Estou usando o ...
Converta o número para a lista de dígitos
Como converter um número em uma lista de dígitos? Estou fazendo atualmente: ;; (num->list 12345) -> '(1 2 3 4 5) (define (num->list n) (local ((define (num->list n) (map (lambda (c) (char->num c)) (string->list (number->string n)))) (define ...
Como se livrar das duplicatas em uma lista, mas mantenha a ordem
Estou usando Aluno Intermediário com Lambda no DrRacket, eu queria saber como remover as duplicatas em uma lista, mantendo o pedido. Por exemplo(remove-dup (list 2 5 4 5 1 2)) produziria(list 2 5 4 1). Até agora, eu tenho o seguinte: (define ...
Como criar uma GUI usando Lisp: DrScheme ou Common Lisp
O trabalho básico que você precisa fazer para criar uma GUI. Conheço os componentes básicos da GUI, mas por onde começar. Sou apenas uma pessoa que estuda sozinho e estou lendo "How to Design Program" (HtDP) no final do livro, o autor sugere que ...