racket/lazy

placeholder appears in result

Ouverte

#3 ouverte le 19 févr. 2016

 (5 commentaires) (0 réaction) (0 personne assignée)Racket (7 forks)github user discovery
good first issuehelp wanted

Métriques du dépôt

Stars
 (7 étoiles)
Métriques de merge PR
 (Aucune PR mergée en 30 j)

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

Guide contributeur