racket/lazy

placeholder appears in result

Aberta

#3 aberto em 19 de fev. de 2016

 (5 comentários) (0 reação) (0 responsável)Racket (7 forks)github user discovery
good first issuehelp wanted

Métricas do repositório

Stars
 (7 estrelas)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

This program, due to @jasonhemann, produces the output '((constant) . #<placeholder>).

#lang lazy
(require lazy/force)

(define (pull t$) (if (eq? (car t$) 'tag1) (pull (cdr t$)) t$))
(define (relρ a) (cons 'tag1 (cons 'tag2 (cons a (relρ a)))))
;; change either a in the body to 'const 

(!! 
 (let (($ (cdr (pull (relρ '(constant)))))) ;; s/'(constant)/'constant/
   (cons (car $) (cadr (pull (cdr $)))))) ;; change (car $) to 'other-constant
      ;; or replace the above with (cadr (pull (cdr $)))
      ;; or in-line the let in both places
      ;; also interesting, swap the order of args to cons

Guia do colaborador