<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Scheme macros, Part 3</title>
        <link>https://diode.zone/videos/watch/5403bcac-eb82-4ec4-ba4e-803f4176e38b</link>
        <description>Episode 0031 of Will's Guide to Programming Languages, Programming, Computation, and What-Have-You. Let's implement a macro for testing expressions that should diverge (loop forever), since this often occurs when writing miniKanren programs. We'll use engines as our timed preemption abstraction. Previous episode: Scheme macros, Part 2 https://github.com/webyrd/Scheme-macros https://github.com/webyrd/Scheme-macros/blob/main/epi-0031.scm https://github.com/webyrd/Scheme-macros/blob/main/epi-0031-transcript.scm TSPL4: Section 12.11. Multitasking with Engines https://scheme.com/tspl4/examples.html#./examples:s82 CSUG: Section 6.4. Engines https://cisco.github.io/ChezScheme/csug9.5/control.html#./control:s12 Engines papers cited in the CSUG/TSPL4: Christopher T. Haynes and Daniel P. Friedman. Abstracting timed preemption with engines. Computer Languages, 12(2):109-121, 1987. https://doi.org/10.1016/0096-0551(87)90003-8 R. Kent Dybvig and Robert Hieb. Engines from continuations. Computer Languages, 14(2):109-123, 1989. https://legacy.cs.indiana.edu/~dyb/pubs/engines.pdf https://doi.org/10.1016/0096-0551(89)90018-0 ======================================== Original video: https://youtu.be/0iVxqQqZ0Y4, Originally published: 2024-02-06</description>
        <lastBuildDate>Tue, 20 Oct 2026 08:28:46 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>PeerTube - https://diode.zone</generator>
        <image>
            <title>Scheme macros, Part 3</title>
            <url>https://diode.zone/lazy-static/avatars/61b689b7-84d5-43c7-9fa8-e63a7fd1d952.png</url>
            <link>https://diode.zone/videos/watch/5403bcac-eb82-4ec4-ba4e-803f4176e38b</link>
        </image>
        <copyright>All rights reserved, unless otherwise specified in the terms specified at https://diode.zone/about and potential licenses granted by each content's rightholder.</copyright>
        <atom:link href="https://diode.zone/feeds/video-comments.xml?videoId=5403bcac-eb82-4ec4-ba4e-803f4176e38b" rel="self" type="application/rss+xml"/>
    </channel>
</rss>