Resultados da pesquisa a pedido "racket"

4 a resposta

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 ...

2 a resposta

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 ...

3 a resposta

ó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 ...

2 a resposta

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 ...

1 a resposta

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 ...

3 a resposta

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 ...

1 a resposta

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 ...

3 a resposta

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 ...

8 a resposta

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 ...

4 a resposta

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 ...