racket/lazy

placeholder appears in result

Open

#3 opened on Feb 19, 2016

 (5 comments) (0 reactions) (0 assignees)Racket (7 forks)github user discovery
good first issuehelp wanted

Repository metrics

Stars
 (7 stars)
PR merge metrics
 (No merged PRs in 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

Contributor guide