Path: csiph.com!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Tim Rentsch
Newsgroups: comp.lang.c
Subject: Re: Bart's Language
Date: Sat, 22 Mar 2025 07:12:58 -0700
Organization: A noiseless patient Spider
Lines: 47
Message-ID: <86msddkvbp.fsf@linuxsc.com>
References: <20250320163436.941@kylheku.com> <20250321101440.282@kylheku.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Injection-Date: Sat, 22 Mar 2025 15:12:59 +0100 (CET)
Injection-Info: dont-email.me; posting-host="8c00933fd2fdb83fc14e0f99a9437a0f"; logging-data="101837"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19HmjUNCWr074FhbKloZaobutxYs3teNlI="
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock: sha1:DHV9gX/a5Qzqw4jNYOKGtmFLWAY= sha1:ANMPZNKl4VInucICbUL61TUg1MA=
Xref: csiph.com comp.lang.c:391504
Kaz Kylheku <643-408-1753@kylheku.com> writes:
> On 2025-03-21, bart wrote:
>
>> On 20/03/2025 23:45, Kaz Kylheku wrote:
>>
>>> On 2025-03-20, Waldek Hebisch wrote:
>>>
>>>> bart wrote:
>>>>
>>>>> In this case, just write it like that, and only adjust it for the
>>>>> somewhat different syntax:
>>>>>
>>>>> func foo:int =
>>>>> let int c := c1(10)
>>>>> let int b := c + c2(2)
>>>>> let int a := b+c3(c)
>>>>> bar()
>>>>> baz()
>>>>> return c
>>>>> end
>>
>> >> In your description you wrote that declarations can be written
>>
>>>> "out of order" and compiler will rearrange them in correct
>>>> order. That looked like great opportunity to write obfuscated
>>>> code.
>>>
>>> I made a language feature like that: mlet.
>>>
>>> https://www.nongnu.org/txr/txr-manpage.html#N-2B3072E9
>>>
>>> This allows for circular references in order to support
>>> the construction of lazy objects:
>>>
>>> 1> (mlet ((a (lcons 1 b))
>>> (b (lcons 0 a)))
>>> (take 20 a))
>>> (1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0)
>>
>> I don't understand what's going on above; the example here is a
>> bit clearer, other than that z at the end:
>
> What's going on is that [...]
Just a short reminder that this is comp.lang.c, and nothing about
any of the discussions above has anything to do with C.