IRC channel logs

2022-07-10.log

back to list of logs

***X-Scale` is now known as X-Scale
<mwette>.
<cwebber>hi jab !
<cwebber>oh thanks!
<cwebber>jab: I fixed it in git, will re-export and push up probalby on monday :)
<cwebber>and yay, thank you, I'm glad you liked the post!
<jab>cwebber: I have been working on your challenge to write a macro C like for loop for scheme. I feel like I am so close to getting it, but I am not quite there yet.
<cwebber>jab: ah! I hope you're having fun with it :)
<cwebber>jab: a good way to do that kind of thing is to write mockups of how you want it to look, then write manual "expanded" code that actually does it, then try to templatize that :)
<drakonis>is this going to be basically a loop macro clone?
<ArneBab>daviid: the advantage I see for inner define in procedures is that it reduces the amount of syntax people have to keep in their head. Since define can now be used at almost any place in a procedure, not just definition scope, this simplifies what to teach people a lot.
<ArneBab>Also I think cwebber meant that the name of the inner procedure is visible:
<ArneBab>(define (foo) (define (bar) #f) bar) (foo) => $2 = #<procedure bar ()>
<ArneBab>(define (foo) (lambda () #f)) (foo) => $3 = #<procedure 199bb58 at <unknown port>:4:14 ()>
<ArneBab>(procedure-name (foo)) => bar with define or #f with lambda.
***Furor is now known as Colere
<cwebber>ArneBab: yes that was the goal
<cwebber>and for the "story" of the tutorial, it was easier to see that way
<cwebber>I know daviid disagrees; cool, I'm not changing that one, I did take some of daviid's other advice, don't need to agree on all :)
<ArneBab>civodul: did you already see my request for the ability to push small fixes to Guile? I have the papers done for Emacs now, doing that for Guile won’t be hard. I’d like to ensure that provided patches that improve Guile for lilypond and have no bad side-effects get merged ⇒ review and push them.
<amirouche>re "nested define": it reduce the cognitive load necessary to learn the Scheme, or getting into programming language in general, and you still have lexical scoping rules (unlike python assignment) that you can later explain in the case of nested defines, and then later on explain that nested define is a letrec*
<amirouche>unlike Ocaml (please correct me if I am wrong), Scheme expose all the forms necessary to dive into a compiler e.g. let can be explained in terms of lambda
***dostoevsky6 is now known as dostoevsky