From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id mMMhD0QC+GWUmQAAe85BDQ:P1 (envelope-from ) for ; Mon, 18 Mar 2024 09:58:44 +0100 Received: from aspmx1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id mMMhD0QC+GWUmQAAe85BDQ (envelope-from ) for ; Mon, 18 Mar 2024 09:58:44 +0100 X-Envelope-To: patches@johnnyrichard.com Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=lists.sr.ht header.s=20240113 header.b=CgEmo+Q5; dkim=pass header.d=johnnyrichard.com header.s=key1 header.b=aYwcm3l7; spf=pass (aspmx1.migadu.com: domain of lists@sr.ht designates 46.23.81.152 as permitted sender) smtp.mailfrom=lists@sr.ht; dmarc=pass (policy=quarantine) header.from=johnnyrichard.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=johnnyrichard.com; s=key1; t=1710752324; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-unsubscribe:list-subscribe: list-post:dkim-signature; bh=8Ms/Hy7XlKRXKhIXSY9Np699tg4I4V8N7pELQ7D6mfA=; b=WFE0H8rjRSrzSvjmSp5rL2hEZlv+tFMgf/KTv6a8zddA2xpmgfGRKeIisCX26T9w2Bxwal mwP5Z3vCglEWAI2kcCpXrj3X1mseX/yuWCa7KRS8RoPAzvktDWKdwTfZkh73FRHBtVYJof Q8wSV8YDgSL3aUU5qfbkyToANKyB8+UpmO0UFXBBferEb74lq0ya9XWQqvVk+hJsaHhIGA HSdAv0WDo4+2z8bmGg8E54FdLgU0tfS2cxB2KKP0kOaeUXoTlGoCvYquE19dQNSnb62q7d YIgnJsWRgawtbfhZy4nmDeSWcz1koNhnyD37AXoTYhMxsSt2WsxZlEObQV/woQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=lists.sr.ht header.s=20240113 header.b=CgEmo+Q5; dkim=pass header.d=johnnyrichard.com header.s=key1 header.b=aYwcm3l7; spf=pass (aspmx1.migadu.com: domain of lists@sr.ht designates 46.23.81.152 as permitted sender) smtp.mailfrom=lists@sr.ht; dmarc=pass (policy=quarantine) header.from=johnnyrichard.com ARC-Seal: i=1; s=key1; d=johnnyrichard.com; t=1710752324; a=rsa-sha256; cv=none; b=ngt384gFOtLa+fmoFrMKg4RgmVOjY0dEBrjow9E3zlfyV59JdvPNtobEOxBADo5sWomlF/ FzBXur9oyb6QHMCqnmjbQ3dAeJ3GtaJuJ09Xfx6H6sWEGoeFMJeQFL1zM+l+EAoLkRFqZV SgMZ2pg0xIPtsi33r2gc+rSgUcWZQnaj9OlaFCTVwU3PA88KlO2MUQBBGW3x1i7kuK+ako nhTJ2TXQqxtcdV5QAJ7ztUcZAnZOsKJiyQCKxs0vr+KTjfo3lxRUAxFNnUtlnLaeG0Whnn qqZ9rrTJv77TNhLhBJbIc6WAfiUd3mABR15pAqPy0isbDaDK8mPQk8LuwQzlGA== Received: from mail-a.sr.ht (mail-a.sr.ht [46.23.81.152]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id D82D422D9F for ; Mon, 18 Mar 2024 09:58:43 +0100 (CET) DKIM-Signature: a=rsa-sha256; bh=7GhhvRHXdWwtXO0cFhkqZ2F0W/K88xgJyrOG0/qRT9o=; c=simple/simple; d=lists.sr.ht; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-Unsubscribe:List-Subscribe:List-Archive:List-Post:List-ID; q=dns/txt; s=20240113; t=1710752323; v=1; b=CgEmo+Q5Ye1oBXpZAVs1PTpCKzecPLzYvmMZMAZ9+o1A8W46owTwEMOM46DLosyq9OBiGLhj upE3if04AjxTJYiEHpRLSt662kvN9KF8BgQ9rAGDRkSqtsYeJZSYYqHhWg3taLFDL6FfE7Rua+/ SHihUfxHJmhmLxB1JxbHZ+aYUqkKpXZUlQ5uh2Oa0ndIwIx7Rqmw0KeSTrocB9O91cV2TO+MQis JJ89l9w+9WmPpSCYjnQSt4OuZJHWIQAzFP82vQwDR8zk3TPMcVsdwgSnrduW2WipCUL4cVa95WQ kE9XH/CC28B+1K8kRTlopNtiIqkHw4AKd+Sb462hUjDbw== Received: from lists.sr.ht (unknown [46.23.81.154]) by mail-a.sr.ht (Postfix) with ESMTPSA id 879CF20101 for ; Mon, 18 Mar 2024 08:58:43 +0000 (UTC) Received: from out-174.mta1.migadu.com (out-174.mta1.migadu.com [95.215.58.174]) by mail-a.sr.ht (Postfix) with ESMTPS id 83369200EF for <~johnnyrichard/olang-devel@lists.sr.ht>; Mon, 18 Mar 2024 08:58:42 +0000 (UTC) Date: Mon, 18 Mar 2024 10:58:33 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=johnnyrichard.com; s=key1; t=1710752321; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=8Ms/Hy7XlKRXKhIXSY9Np699tg4I4V8N7pELQ7D6mfA=; b=aYwcm3l7hJj5kxOjeUIaTDMDVHa8hKGn17KySNcitD+9tfpcwOwiOH8PvVHNz/dLHdKO4z FCNte2cJg4gvTArHKI4CMYgtkMZIU+56gW9PjdS53nGHgA47eINMJZdp7OjxIHTFfhgw4/ U965FFn3AEyZd8mRmRlPM6DRF67mvBCfgYS6ZZtpm46I9pM3N01+vPyrb6vVAl6jCkJmXz 3vOJz2CLKQq8icnIPr9aZ/E3XxbF6cMj0M0Qd3S6rA83AD3PVe0LS8vXVp8uHYK0MEitru vM3zT9dsCHQR025jL1RicWzbQR2A+06zS4gZIRhZ7tSpBlTYq/f5zX1pk6peZA== X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Johnny Richard To: Ricardo Kagawa Cc: ~johnnyrichard/olang-devel@lists.sr.ht Subject: Re: [RFC PATCH olang v1] docs: create zero programming language specification Message-ID: References: <11b1f29a-7a4a-4b46-9376-98bd52c9edd4@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <11b1f29a-7a4a-4b46-9376-98bd52c9edd4@gmail.com> List-Unsubscribe: List-Subscribe: List-Archive: Archived-At: List-Post: List-ID: ~johnnyrichard/olang-devel <~johnnyrichard/olang-devel.lists.sr.ht> Sender: ~johnnyrichard/olang-devel <~johnnyrichard/olang-devel@lists.sr.ht> X-Migadu-Country: NL X-Migadu-Flow: FLOW_IN X-Migadu-Scanner: mx12.migadu.com X-Migadu-Spam-Score: -10.08 X-Spam-Score: -10.08 X-Migadu-Queue-Id: D82D422D9F X-TUID: PKn2owtZHQm1 Amazing job. Wonderful changes and thank you so much for you contribution. On Fri, Mar 15, 2024 at 05:54:10PM -0300, Ricardo Kagawa wrote: > > You've replied to the CI build reply. Next time try to reply to the > > right thread. > > I just opened the "Reply to thread" link from sourcehut's web interface. > It automatically filled the TO, CC, Subject and some thread ID header, > which values I just trusted. It seems the UI is not to be trusted, but > then, which values should I use? The address in TO seems to have bounced > my reply, so I thought it didn't even make it to sourcehut. Sad to hear the Sourcehut reply is miss behaving. Could you please report the problem to them? The good practice is always **reply all** (in case someone who is not subscribed to the mailing list can follow up the thread discussion). Since I wrote the email you replied, you should reply it to me and **CC** the mailing list and carry the **CC** from previous Email (reply already behaves like so). You might want to have a copy (optional), in that case you can **BCC** yourself. In order to have set up correctly the thread you want to reply to, you have to set the **In-Reply-To** header with the **Message-ID** of the message you want to reply to. It seems to be very hard to active but your email client should do the work. You can download and import the email thread from the archive right into your email client and **reply all**. There is another mailing list archive[1] which has instruction on how to reply to emails using **git-send-email** that maybe you might be interested. [1]: http://lists.johnnyrichard.com/olang/ For example, you could follow the steps bellow to reply to the right thread using **git-send-email**: Reply instructions: You may reply publicly to this message[2] via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox[3] Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=y2brhif5vjjbjmd26wwxykhlt2qnnm2k7n2lpiz7dr7pccmoc7@qqx67mvyzl2c \ --to=johnny@johnnyrichard.com \ --cc=ricardo.kagawa@gmail.com \ --cc=~johnnyrichard/olang-devel@lists.sr.ht \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link[4] Be sure your reply has a Subject: header at the top and a blank line before the message body. [2]: http://lists.johnnyrichard.com/olang/y2brhif5vjjbjmd26wwxykhlt2qnnm2k7n2lpiz7dr7pccmoc7@qqx67mvyzl2c/#t [3]: http://lists.johnnyrichard.com/olang/y2brhif5vjjbjmd26wwxykhlt2qnnm2k7n2lpiz7dr7pccmoc7@qqx67mvyzl2c/raw [4]: mailto:johnny@johnnyrichard.com?In-Reply-To=%3Cy2brhif5vjjbjmd26wwxykhlt2qnnm2k7n2lpiz7dr7pccmoc7@qqx67mvyzl2c%3E&Cc=ricardo.kagawa%40gmail.com%2C~johnnyrichard%2Folang-devel%40lists.sr.ht&Subject=Re%3A%20%5Bolang%2Fpatches%2F.build.yml%5D%20build%20success > > Your message has few weird line breaks. > > I am not myself sure, but I suspect it is an issue with the file format > generated by `vim`. My default `email` file type seems to be forcing the > `dos` format (CRLF line breaks), which might be being interpreted as two > separate line breaks somewhere between Thunderird, Gmail and sourcehut. > I'll see if I can force it to use the `unix` format (LF only) and if > that fixes things at all. I think you made it, this email looks good. Perhaps you can set the vim as your default editor on Thunderird (I know you can do it but not sure how). Gmail should not mess up with you message. If you like to live on terminal I suggest **mutt** or **aerc** clients which works out of the box with plain text emails and they are very flexible. > > I'm not sure how you want to version lock this variant. Should I add > > a specific github/git tag version to the document? > > Yes, sort of. The web tool itself cannot be version locked, since it > simply does not have that option, but it does link to its GitHub > project. The project does not itself contain the description of its > EBNF syntax, but it does have a link to what it uses to implement its > EBNF parser, which in turn describes its syntax. You could include a > version locked link to [that][1]. > > [1]: https://github.com/Engelberg/instaparse/tree/v1.4.12 Sounds good. > > > Is the language going to support Unicode? > > > > I would say to keep it simple as much as we can on this earlier stage > > (ASCII only) unless you have a big concern. > > I guess that would be OK. I don't think it would be too difficult to > migrate later. Maybe tricky, but not difficult, since Unicode is a > superset of ASCII. Just need to be careful not to depend too much on > the fact that ASCII characters are stored in 8-bit variables, as > Unicode uses variable-length characters (variable within a string, but > characters are multiples of 8 bits). Nice, let us know whenever we make such ASCII dependency. > > If we don't add a token in here like **=** it will be very weird. > > Actually, I mentioned Kotlin also to imply that there would be an > equals sign before the expression. > > > > - I have not checked if this syntax would avoid that edge case with > > > JavaScript I mentioned in the beginning. I might check that next > > > time (I'm still not sure of how). > > > > Maybe we are going to discovery it on the implementation process. > > I _suspect_ it would be enough to give precedence to interpreting line > breaks as end-of-statement, and if so, there might be a way to represent > that precedence in the EBNF grammar (by convention). I would still need > to mull over it for a while to be sure. I can test the precedence solution later as well. > Another revision: > > - Function body now accepts a single expression. Hmm... I think we still haven't agreed on having it. We are trying to make a very simple language and maybe avoid having multiple ways of achieving the stuff will make it simpler. > - Introducing hexadecimal integer literals. > - Hexadecimal literals are allowed to have an arbitrarily long > sequence of zeroes to the left, after the `0x` prefix. This is > intentional, and the parser should ignore excess zeroes. > - The alphabetic characters in the literal should be parsed without > case-sensitivity. There is no difference between the `0x` and `0X` > prefixes in literals. If mixed case is not desirable, let the > linter or formattter restrict that. Nice you added support to hex. We will need octal in the future as well (starting with 0). But let's craft more features in new patches, this thread is become out of control. Perhaps we can merge an initial version and propose small changes to it (making new discussion threads). I can set up a PATCH with most of your changes (except the function definition with single line, we can discuss it on a new PATCH thread).