<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments on: Adding a new socket option to SBCL; or, Common Lisp is the death of me</title>
	<atom:link href="http://thetarpit.org/2020/adding-a-new-socket-option-to-sbcl-or-common-lisp-is-the-death-of-me/feed" rel="self" type="application/rss+xml" />
	<link>http://thetarpit.org/2020/adding-a-new-socket-option-to-sbcl-or-common-lisp-is-the-death-of-me</link>
	<description>"Now I feel like I know less about what that blog is about than I did before."</description>
	<pubDate>Sun, 12 Apr 2026 18:51:31 +0000</pubDate>
	<generator>http://thetarpit.org</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: spyked</title>
		<link>http://thetarpit.org/2020/adding-a-new-socket-option-to-sbcl-or-common-lisp-is-the-death-of-me#comment-3141</link>
		<dc:creator>spyked</dc:creator>
		<pubDate>Sat, 01 Oct 2022 08:00:41 +0000</pubDate>
		<guid isPermaLink="false">http://thetarpit.org/?p=390#comment-3141</guid>
		<description>For the record, the magic mike arrived here most likely from &lt;a href="http://trilema.com/2019/so-i-was-thinking/#comment-154017" rel="nofollow"&gt;this comment&lt;/a&gt; on MP's piece.

One's "excursion in «intelligent» impudence" is another's striving to understand the internals of some system or another. Hate is especially cheap when it's gratuitous, what can I say.</description>
		<content:encoded><![CDATA[<p>For the record, the magic mike arrived here most likely from <a href="http://trilema.com/2019/so-i-was-thinking/#comment-154017" rel="nofollow">this comment</a> on MP's piece.</p>
<p>One's "excursion in «intelligent» impudence" is another's striving to understand the internals of some system or another. Hate is especially cheap when it's gratuitous, what can I say.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: A superficial review of Nathan Froyd's CL diff &#171; The Tar Pit</title>
		<link>http://thetarpit.org/2020/adding-a-new-socket-option-to-sbcl-or-common-lisp-is-the-death-of-me#comment-2634</link>
		<dc:creator>A superficial review of Nathan Froyd's CL diff &#171; The Tar Pit</dc:creator>
		<pubDate>Sun, 24 Jul 2022 06:41:25 +0000</pubDate>
		<guid isPermaLink="false">http://thetarpit.org/?p=390#comment-2634</guid>
		<description>[...] This article is part of a series on eating the Unix world using Lisp. If you're not genuinely interested in the subject, then you're more than welcome to fuck off. [...]</description>
		<content:encoded><![CDATA[<p>[...] This article is part of a series on eating the Unix world using Lisp. If you're not genuinely interested in the subject, then you're more than welcome to fuck off. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Common Lisp Romania &#171; The Tar Pit</title>
		<link>http://thetarpit.org/2020/adding-a-new-socket-option-to-sbcl-or-common-lisp-is-the-death-of-me#comment-2371</link>
		<dc:creator>Common Lisp Romania &#171; The Tar Pit</dc:creator>
		<pubDate>Sat, 25 Jun 2022 14:30:51 +0000</pubDate>
		<guid isPermaLink="false">http://thetarpit.org/?p=390#comment-2371</guid>
		<description>[...] been almost two years since my last article in the Lisp category and although I gave it a good beating last time I approached the subject, [...]</description>
		<content:encoded><![CDATA[<p>[...] been almost two years since my last article in the Lisp category and although I gave it a good beating last time I approached the subject, [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: spyked</title>
		<link>http://thetarpit.org/2020/adding-a-new-socket-option-to-sbcl-or-common-lisp-is-the-death-of-me#comment-581</link>
		<dc:creator>spyked</dc:creator>
		<pubDate>Sat, 08 May 2021 17:42:52 +0000</pubDate>
		<guid isPermaLink="false">http://thetarpit.org/?p=390#comment-581</guid>
		<description>Ahahahaha, welcome, @&lt;b&gt;magicmike&lt;/b&gt;! Your comment has about the same substance as &lt;a href="http://thetarpit.org/2016/the-myth-of-software-engineering-iii#comment-543" rel="nofollow"&gt;that other dude's&lt;/a&gt;, so as a consequence, "your" opinion about what went were doesn't amount to much... huh?</description>
		<content:encoded><![CDATA[<p>Ahahahaha, welcome, @<b>magicmike</b>! Your comment has about the same substance as <a href="http://thetarpit.org/2016/the-myth-of-software-engineering-iii#comment-543" rel="nofollow">that other dude's</a>, so as a consequence, "your" opinion about what went were doesn't amount to much... huh?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: magicmike</title>
		<link>http://thetarpit.org/2020/adding-a-new-socket-option-to-sbcl-or-common-lisp-is-the-death-of-me#comment-579</link>
		<dc:creator>magicmike</dc:creator>
		<pubDate>Sat, 08 May 2021 15:33:59 +0000</pubDate>
		<guid isPermaLink="false">http://thetarpit.org/?p=390#comment-579</guid>
		<description>The amount of cluelessness on display here defies belief. No wonder nothing you idiots touched or worked on went anywhere.</description>
		<content:encoded><![CDATA[<p>The amount of cluelessness on display here defies belief. No wonder nothing you idiots touched or worked on went anywhere.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stanislav Datskovskiy</title>
		<link>http://thetarpit.org/2020/adding-a-new-socket-option-to-sbcl-or-common-lisp-is-the-death-of-me#comment-389</link>
		<dc:creator>Stanislav Datskovskiy</dc:creator>
		<pubDate>Thu, 03 Sep 2020 17:44:37 +0000</pubDate>
		<guid isPermaLink="false">http://thetarpit.org/?p=390#comment-389</guid>
		<description>@spyked/#4:

AFAIK there's no obstacle to adding raw syscall support to SBCL and passing in raw octet arrays for params. Could then handle it a la "M". But will still have to get the constants and struct layouts somewhere, per platform.</description>
		<content:encoded><![CDATA[<p>@spyked/#4:</p>
<p>AFAIK there's no obstacle to adding raw syscall support to SBCL and passing in raw octet arrays for params. Could then handle it a la "M". But will still have to get the constants and struct layouts somewhere, per platform.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: spyked</title>
		<link>http://thetarpit.org/2020/adding-a-new-socket-option-to-sbcl-or-common-lisp-is-the-death-of-me#comment-388</link>
		<dc:creator>spyked</dc:creator>
		<pubDate>Thu, 03 Sep 2020 17:05:37 +0000</pubDate>
		<guid isPermaLink="false">http://thetarpit.org/?p=390#comment-388</guid>
		<description>"M" was precisely what I had in mind when I alluded to assembly, I think it's a fine example of clean interfacing to the kernel.

I think what I'm trying to go towards is that reimplementing the socket interface at all the possible levels (POSIX, CL, usocket etc.) half-assedly like that is a bad idea, and that the (Common?) Lisp implementation shouldn't burden the user with supporting yet another such layer. I understand they wanted to make it easier, but in the process they've somehow managed to achieve the opposite, I'd much rather work with naked pointers than with what SBCL has now.</description>
		<content:encoded><![CDATA[<p>"M" was precisely what I had in mind when I alluded to assembly, I think it's a fine example of clean interfacing to the kernel.</p>
<p>I think what I'm trying to go towards is that reimplementing the socket interface at all the possible levels (POSIX, CL, usocket etc.) half-assedly like that is a bad idea, and that the (Common?) Lisp implementation shouldn't burden the user with supporting yet another such layer. I understand they wanted to make it easier, but in the process they've somehow managed to achieve the opposite, I'd much rather work with naked pointers than with what SBCL has now.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stanislav Datskovskiy</title>
		<link>http://thetarpit.org/2020/adding-a-new-socket-option-to-sbcl-or-common-lisp-is-the-death-of-me#comment-386</link>
		<dc:creator>Stanislav Datskovskiy</dc:creator>
		<pubDate>Wed, 02 Sep 2020 17:03:37 +0000</pubDate>
		<guid isPermaLink="false">http://thetarpit.org/?p=390#comment-386</guid>
		<description>@spyked/#2 :

&#62; To my eye, the problem is that the system call interface should be a first-class citizen in any CL running on Unix, and preferably not through C library calls.

The annoying bit here is that the kernel expects platform-specific structs and magicnumbers for many syscall parameters. See e.g. &lt;a href="http://btcbase.org/patches/udp_genesis#L672" rel="nofollow"&gt;my UDP lib for a concrete example&lt;/a&gt;.

It is certainly possible to construct these on the fly and without the use of the C stdlib, or for that matter GCC per se (see e.g. example in my &lt;a href="http://btcbase.org/patches/m_genesis.kv#L4993" rel="nofollow"&gt;"M" experiment&lt;/a&gt;) but then must determine the magicnumbers manually, per platform.</description>
		<content:encoded><![CDATA[<p>@spyked/#2 :</p>
<p>&gt; To my eye, the problem is that the system call interface should be a first-class citizen in any CL running on Unix, and preferably not through C library calls.</p>
<p>The annoying bit here is that the kernel expects platform-specific structs and magicnumbers for many syscall parameters. See e.g. <a href="http://btcbase.org/patches/udp_genesis#L672" rel="nofollow">my UDP lib for a concrete example</a>.</p>
<p>It is certainly possible to construct these on the fly and without the use of the C stdlib, or for that matter GCC per se (see e.g. example in my <a href="http://btcbase.org/patches/m_genesis.kv#L4993" rel="nofollow">"M" experiment</a>) but then must determine the magicnumbers manually, per platform.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: spyked</title>
		<link>http://thetarpit.org/2020/adding-a-new-socket-option-to-sbcl-or-common-lisp-is-the-death-of-me#comment-385</link>
		<dc:creator>spyked</dc:creator>
		<pubDate>Sun, 30 Aug 2020 15:20:45 +0000</pubDate>
		<guid isPermaLink="false">http://thetarpit.org/?p=390#comment-385</guid>
		<description>&gt; Regarding the symbol you couldn't use outside some package, did you use `::` to reference it?

Huh, it seems that did the trick, thanks! So now the only fiddling one needs to do with constants.lisp is adding the actual socket options.

&gt; I'm curious whether a spelunk into the Clozure CL internals would leave you with the same bad taste in your mouth.

That sounds like a great idea, I'll take a look. In fact since I'm there, I might as well look into the other ones, at the very least to get an idea how the networking interface changes across CL implementations; though I'm not sure that's the issue. To my eye, the problem is that the system call interface should be a first-class citizen in any CL running on Unix, and preferably &lt;em&gt;not&lt;/em&gt; through C library calls. That may be too much of me to ask, but even a sane 1-to-1 mapping between implementation-specific CL constructs ("socket streams" or whatever) and the actual POSIX interface would be a great feature.</description>
		<content:encoded><![CDATA[<p>> Regarding the symbol you couldn't use outside some package, did you use `::` to reference it?</p>
<p>Huh, it seems that did the trick, thanks! So now the only fiddling one needs to do with constants.lisp is adding the actual socket options.</p>
<p>> I'm curious whether a spelunk into the Clozure CL internals would leave you with the same bad taste in your mouth.</p>
<p>That sounds like a great idea, I'll take a look. In fact since I'm there, I might as well look into the other ones, at the very least to get an idea how the networking interface changes across CL implementations; though I'm not sure that's the issue. To my eye, the problem is that the system call interface should be a first-class citizen in any CL running on Unix, and preferably <em>not</em> through C library calls. That may be too much of me to ask, but even a sane 1-to-1 mapping between implementation-specific CL constructs ("socket streams" or whatever) and the actual POSIX interface would be a great feature.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Trinque</title>
		<link>http://thetarpit.org/2020/adding-a-new-socket-option-to-sbcl-or-common-lisp-is-the-death-of-me#comment-384</link>
		<dc:creator>Michael Trinque</dc:creator>
		<pubDate>Sun, 30 Aug 2020 14:15:50 +0000</pubDate>
		<guid isPermaLink="false">http://thetarpit.org/?p=390#comment-384</guid>
		<description>Regarding the symbol you couldn't use outside some package, did you use `::` to reference it?

I've been concerned about SBCL ever since a core maintainer ridiculed the idea of signing releases with a GPG key years ago. I wouldn't be surprised if SBCL is as haphazard as any other open source volunteer-supported turd. I'm curious whether a spelunk into the Clozure CL internals would leave you with the same bad taste in your mouth. It appears to be written by a consulting firm, i.e. folks that actually have to make money by being productive on the damned thing.

Lately I trust nothing that doesn't have good money flowing through it.</description>
		<content:encoded><![CDATA[<p>Regarding the symbol you couldn't use outside some package, did you use `::` to reference it?</p>
<p>I've been concerned about SBCL ever since a core maintainer ridiculed the idea of signing releases with a GPG key years ago. I wouldn't be surprised if SBCL is as haphazard as any other open source volunteer-supported turd. I'm curious whether a spelunk into the Clozure CL internals would leave you with the same bad taste in your mouth. It appears to be written by a consulting firm, i.e. folks that actually have to make money by being productive on the damned thing.</p>
<p>Lately I trust nothing that doesn't have good money flowing through it.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
