Hello,
i got really big problem. I study at university for a second year. We
programming at scheme, (not racket) and i have two hard quest for exams at
scheme. My life depends on it. So i please you to help me.
First:
(with-mcxrs
(let ((a (mcons (mcons 1 2) (mcons (mcons 3 4) '()))))
(list (mcaar a)
(mcdar a)
(mcaadr a)
(mcdadr a))))
--> by using define-macro NOT DEFINE-SYNTAX and we HAVE TO use this
procedure for it:
symbol?, string-upcase, symbol->string, string-length, string-ref,
string->list, substring
I know, that were an article about this problem (i think, joah martin wrote
that), but answers are useless for me :/ how i said, i need it in
define-macro by using this small procedures, at school we dont know what is
"syntax-parse" for example.
Second:
(define test
(make-generator
(lambda (collect)
(collect 10)
(collect 20)
(collect 30))))
(list (test) (test) (test) (test)) ;; => (10 20 30 #<void>)
(define test2
(make-generator
(lambda (collect)
(let x ()
(collect (random 100))
(x))))) .. ...this piece of code has to work also.
Quest: Implement a procedure "Make-generator" one argument, which is
procedure one argument, which we called a generated procedure
and evaluation will we called "collect procedure". Result of aplication is
procedure without argument, which we called "a generator". The generator
caused the generator to apply a procedure that once applied to a
brightening procedure with some the argument will switch back to the place
where it was applied generator and its result is that argument. For another
application the generator switches the context into the generating
procedure in the place where the pre-treatment procedure has been applied,
etc. Once you have generate the procedure ends without applying the
brightening procedure, the result the application of the generator is then
an undefined value.
So please, help me, quickly !
--
You received this message because you are subscribed to the Google Groups
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.