tag:blogger.com,1999:blog-10770855.post111465219695254079..comments2024-03-28T03:20:57.393-04:00Comments on The Little Calculist: If I were teaching macrosDave Hermanhttp://www.blogger.com/profile/00405190527081772997noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-10770855.post-21095762747743667782022-04-12T04:33:08.062-04:002022-04-12T04:33:08.062-04:00Thanks for sharing this unique information with us...Thanks for sharing this unique information with us. Your post is really awesome. Your blog is really helpful for me..<br /><br /><a href="https://www.kaashivinfotech.com/python-internship/" rel="nofollow">python internship</a> |<a href="https://www.kaashivinfotech.com/online-web-development-internship/" rel="nofollow"> web development internship</a> |<a href="https://www.kaashivinfotech.com/internship-for-mechanical-students/" rel="nofollow">internship for mechanical engineering students</a> |<a href="https://www.kaashivinfotech.com/best-internship-for-mechanical-engineers/" rel="nofollow">mechanical engineering internships</a> |<a href="https://www.kaashivinfotech.com/java-training-in-chennai/" rel="nofollow">java training in chennai</a> |<a href="https://www.kaashivinfotech.com/internship-for-1st-year-cse-students/" rel="nofollow">internship for 1st year engineering students</a> |<a href="https://www.kaashivinfotech.com/online-internships-for-cse-students-free/" rel="nofollow">online internships for cse students</a> |<a href="https://www.kaashivinfotech.com/it-online-internship/" rel="nofollow">online internship for engineering students</a> |<a href="https://www.kaashivinfotech.com/internship-for-ece-students/" rel="nofollow">internship for ece students</a>|<a href="https://www.kaashivinfotech.com/data-science-internship/" rel="nofollow">data science internships</a> |periyannanhttps://www.blogger.com/profile/06659546616451492142noreply@blogger.comtag:blogger.com,1999:blog-10770855.post-37340032742687281962020-01-14T06:53:10.695-05:002020-01-14T06:53:10.695-05:00see what is this<a href="https://www.myquickcents.com/2019/08/get-paid-to-listen-to-music.html" rel="nofollow">see what is this</a>Madhuhttps://www.blogger.com/profile/11929939932830431611noreply@blogger.comtag:blogger.com,1999:blog-10770855.post-1114792140279624322005-04-29T12:29:00.000-04:002005-04-29T12:29:00.000-04:00Ah, I think I know why I have doubts.Its because I...Ah, I think I know why I have doubts.<BR/><BR/>Its because I believe that ML and Haskell got it right. Pattern matching is the way that dereferencing the components of a structure should be taught. If you want selectors, you can implement them yourself as factored out match expressions.<BR/><BR/>[The problem with the above belief is that it is flawed. There isn't a standard solution for handling abstract data types with match. So that's one win for programming with selectors instead of matching on the concrete structure. (And this objection may apply in the domain of macro programming. Syntax seems like abstract data type: it has extra state like the source information and other syntax properties.)]pnkfelixhttps://www.blogger.com/profile/04222189622973190255noreply@blogger.comtag:blogger.com,1999:blog-10770855.post-1114791252270864582005-04-29T12:14:00.000-04:002005-04-29T12:14:00.000-04:00I'm not convinced either.I think I would need to ...I'm not convinced either.<BR/><BR/>I think I would need to see the first lesson before I'd understand how this leads to better pedagogy.pnkfelixhttps://www.blogger.com/profile/04222189622973190255noreply@blogger.comtag:blogger.com,1999:blog-10770855.post-1114663734430062572005-04-28T00:48:00.000-04:002005-04-28T00:48:00.000-04:00If you don't use the syntax form...Um, I will use ...<I>If you don't use the syntax form...</I><BR/><BR/>Um, I will use the syntax form. I just won't be using syntax-case or syntax-rules. In other words, I will use templates, I just won't use pattern matching. The point is that for people who've never written programs with pattern matching, that's a part of the learning curve. And it's orthogonal to the other pedagogical issues I mentioned.<BR/><BR/><I>You can't really tell me that's clearer than pattern-matching.</I><BR/><BR/>It's not. Nor did I claim it is. In fact, I linked to my earlier post explaining why pattern-matching is better. The point is not what's a better technology, it's what's a better pedagogical approach. Language levels, yo.<BR/><BR/><I>But the macro above has a reference to begin.</I><BR/><BR/>There's no need to be absolutist. In fact, most novices won't notice that "primitives" like begin and lambda are actually scoped. So I'm not too worried about that confusing them. The point is that I wouldn't discuss referential transparency until lesson 2, and would try to choose examples that don't feature it too prominently.<BR/><BR/>I was talking about pedagogy, not technology.Dave Hermanhttps://www.blogger.com/profile/00405190527081772997noreply@blogger.comtag:blogger.com,1999:blog-10770855.post-1114663060891044232005-04-28T00:37:00.000-04:002005-04-28T00:37:00.000-04:00Really? How will you introduce names to be used b...Really? How will you introduce names to be used by (syntax)? If you don't use the syntax form, then you'll have to rely on the pun between lists of syntax objects and syntax objects of lists, so that you can implement sequence as an alias of begin like this:<BR/><BR/>(define-syntax (seq stx)<BR/> (let ((rest (syntax-cdr stx)))<BR/> `(,#'begin ,rest)))<BR/><BR/>You can't really tell me that's clearer than pattern-matching.<BR/><BR/>Also, you claim that you wouldn't introduce reference to lexically-bound identifiers until lesson 2. But the macro above has a reference to begin. What macros will you start with?Anonymousnoreply@blogger.com