From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.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 aMWjOJFkE2btUgAA62LTzQ:P1 (envelope-from ) for ; Mon, 08 Apr 2024 05:29:22 +0200 Received: from aspmx1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id aMWjOJFkE2btUgAA62LTzQ (envelope-from ) for ; Mon, 08 Apr 2024 05:29:22 +0200 X-Envelope-To: patches@johnnyrichard.com Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=lists.sr.ht header.s=20240113 header.b=aVykBokp; dkim=pass header.d=maniero.me header.s=hostingermail1 header.b="bmWaF//D"; 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=none) header.from=maniero.me; arc=pass ("mailchannels.net:s=arc-2022:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=johnnyrichard.com; s=key1; t=1712546961; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:list-id: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=qlTLo9qbEPddqRcD3EUs0YMb7QH4Aw+xzhUOk8dUz24=; b=lltvBpgVRMGKY28rBxZGB7DROqTk2CJzUeabkjfc1MD+LG0seUXoWhi18eLzk0Io9dekVV kfESF19sN4w32cL/+sGlAZLlXL1t5pm4cUHrvpwN69glnfM8tZZdUWDq49uLjVq5WU6hgW 194jUh2b+/6eZxyO3Huztb3xZ5RCa4FF0TQSNTY+iDeYZvbbON6SchRaWqbeuQV6Dma0vX HzZkfzNex91JZzKNeEcZdebzCBBrVqZ0z9y8pXKmlNMhTSmv49savRVxqFXElWQ2t5kJjP QnC+6zEa2i6u/1owkFu9vXGt2YL+5Wq0Bn14yGUqPS16vvCYpZchbBR+xHztdA== ARC-Seal: i=2; s=key1; d=johnnyrichard.com; t=1712546961; a=rsa-sha256; cv=pass; b=GYHDzfiSdsnAF55aowHtgMOXiiiHn0ZC+eZBpglP3IgByHvTghAtqg4j4jsXU11bZCcQmY vGm+XfmwLH7xzgjAPBMNSs6yuTobRMcfBaTmmoS4x4S0QcbII4deSi/HDbDUwpGtnGRdYa 4WsDu+qdxlI5XKQ/pR0ondzdltp5lCk6DFlbcCAvwlMLuSA7Loa44/e8pWE2JdlXPlPTGe 8uzR+PWqjKhluMWh+KQtEJzN7JLsh7T68CEfWVkJWDWHglmX21PJxLrkm+6tnhokWhSJ6f BIWYmI1VEPzOtPqagO4RUEHMZ+HbzTfkJgfnp0EC18GpZuv/BivKfZiLimopEw== ARC-Authentication-Results: i=2; aspmx1.migadu.com; dkim=pass header.d=lists.sr.ht header.s=20240113 header.b=aVykBokp; dkim=pass header.d=maniero.me header.s=hostingermail1 header.b="bmWaF//D"; 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=none) header.from=maniero.me; arc=pass ("mailchannels.net:s=arc-2022:i=1") 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 C443315878 for ; Mon, 8 Apr 2024 05:29:21 +0200 (CEST) DKIM-Signature: a=rsa-sha256; bh=0NBVsKuqY1KgRGR43l4QSkjzKRB6GBOjVoar6pgz/YQ=; c=simple/simple; d=lists.sr.ht; h=Date:Subject:From:To:List-Unsubscribe:List-Subscribe:List-Archive:List-Post:List-ID; q=dns/txt; s=20240113; t=1712546961; v=1; b=aVykBokpW7hQORy8YaIj+J3YkqArjVkOBsM5FvBLshDIMW6hjE6s6WaMLfpHww4aDAXijRgu u91ZKwyNvERqJ1b3DhugM1h1g4vr/Gw55AQ0bYD2kEiqhJBHXCg07x6v8fWqG0dVhIkbxdxdJEL XO/Mu/ZEEI/3nyZySRaLNUE8s6XnPzA+3MjPBGr9muys927Zld0U8YmEecrfUbCBFbSxdM+106f e28u2xiF/OIEzjrYxFVhSjmyz4OV78KiwcLefIms1E8bB0G2qiUFWlD3daJP5yG7F4bBMMpzqId wvCrboKk8YKa07j9GYFROuVY7D4kqpgSUOq6hOBPU82+Q== Received: from lists.sr.ht (unknown [46.23.81.154]) by mail-a.sr.ht (Postfix) with ESMTPSA id A2F49201AA for ; Mon, 8 Apr 2024 03:29:21 +0000 (UTC) Received: from slategray.cherry.relay.mailchannels.net (slategray.cherry.relay.mailchannels.net [23.83.223.169]) by mail-a.sr.ht (Postfix) with ESMTPS id B0D2B20144 for <~johnnyrichard/olang-devel@lists.sr.ht>; Mon, 8 Apr 2024 03:29:20 +0000 (UTC) X-Sender-Id: hostingeremail|x-authuser|carlos@maniero.me Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 438433616F5 for <~johnnyrichard/olang-devel@lists.sr.ht>; Mon, 8 Apr 2024 03:29:19 +0000 (UTC) Received: from nl-srv-smtpout3.hostinger.io (unknown [127.0.0.6]) (Authenticated sender: hostingeremail) by relay.mailchannels.net (Postfix) with ESMTPA id A385B3617FF for <~johnnyrichard/olang-devel@lists.sr.ht>; Mon, 8 Apr 2024 03:29:18 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1712546958; a=rsa-sha256; cv=none; b=TicFhsyE9ACXceK2v+Gq/6gUivZZRuhUt4kVLzPxNqcRGGt3bwgOKGijHs3YiYETuHF+kT jcopa62nyVKahcslxB0fVS4gU+hkls/mGSc4TLY746mP4q73MGlpqFkUa5rxIVi+n2Wih6 kdQqYEPamQOmviJ5A7+S3nNtLV8INfeK6qyoxYHQBqyIwjRqtpQCYee6qoauV84OSURiFB 6n9C/1XLyjHLA05SAh2a9IQjfsEHr8DhwfwuEvuBHs13bVzwKFVT4XunvcGN9yJ9mI8gCT UekcHipVIl+/4NvEDO1m9IVnRcYgiu6YZqUFxXY0nLaXjmzSM6B0uVnLh0u4YA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1712546958; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding:dkim-signature; bh=qlTLo9qbEPddqRcD3EUs0YMb7QH4Aw+xzhUOk8dUz24=; b=nrFpNZGZdwG3mLAlyK0IS6MtWQWjcMq+wwtNzSKZycRuvByFhGxj1BHlUfMvXP0fDGiPlv +T4Sy/iVm4c5D+nDmwqvy1Ht9AzSCGzx+eBQy4OYZmrr1VJ8oS3t7/Q5xgQZpgfI77K3k/ KfGbwjb6E6aC5kFk8MOvs7PgV7sTPpiFWxG28JyaZQ1xAiejVBVqVI6uyzc3Dcu54E3R8K jPmEFkVrFP7CWUB1NfHZzMQA0V5wuoiHGTK8AYujEysqRSpv/y8VuGdXMbQdYz8LhE/stz URV0go992LtiULoHLo3MlpyMg0QHGgeOzkYDfxqFn5L5BIeZfdpzui40Xgun5w== ARC-Authentication-Results: i=1; rspamd-687b9dd446-tszfc; auth=pass smtp.auth=hostingeremail smtp.mailfrom=carlos@maniero.me X-Sender-Id: hostingeremail|x-authuser|carlos@maniero.me X-MC-Relay: Neutral X-MailChannels-SenderId: hostingeremail|x-authuser|carlos@maniero.me X-MailChannels-Auth-Id: hostingeremail X-Lonely-Well-Made: 12b39f9f1d075084_1712546959140_3322030228 X-MC-Loop-Signature: 1712546959140:1910440337 X-MC-Ingress-Time: 1712546959139 Received: from nl-srv-smtpout3.hostinger.io (nl-srv-smtpout3.hostinger.io [145.14.159.43]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.117.22.138 (trex/6.9.2); Mon, 08 Apr 2024 03:29:19 +0000 Mime-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=maniero.me; s=hostingermail1; t=1712546957; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qlTLo9qbEPddqRcD3EUs0YMb7QH4Aw+xzhUOk8dUz24=; b=bmWaF//DGPRP+GKV6oorpU72o8mBEkezkP5F6GyNVzDBmcxKZeqjppjdYqzswOAXc0z0TZ R2g2LXsleJLlKdjaOmZa7bN696VTuLbjCOWNH6WoR5qHSKRuRTgyob0Z6NqD0YpBE8dZe+ F6QBZqRzcXbE0LtBZSvfNZbh3mLhB8N9c29T12Ax96m8U3UEl8jd/qPVVFAdbRAk0xynSg MCC6nrC/ncwzXIasY7zGsQnWOULPLEZ9pBfLKBlodJA+y8XgrA7w3IDWj/9RAkz/1r6QEH lrte1GxV0AK7itHEWNZ472i+TJxkqj/Sfqk/ocyUX2iEhkNlUC/3p8zL44FKbw== Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Mon, 08 Apr 2024 00:29:11 -0300 Message-Id: Subject: [RFC SPEC] Primitive data types and arrays From: "Carlos Maniero" To: <~johnnyrichard/olang-devel@lists.sr.ht> X-Mailer: aerc 0.15.2-211-g37d5fc691aff X-CM-Envelope: MS4xfGfWz5++BOXvdYLyvxam7PckkWjiIlK3QVIRjs/Tzv8ZXaqt2WLdVtztcZmrCUx0P+Z6fo91a7K2Knj0eOah0yWZdhQbyoQ0cfAfTAo7zlXymHPvJBBm bA6myCs5NUH3qfLZur4vL1nQn8mN+DQ6HwYsH98x6yVi5C55l10GDO4DfVO3CDjMOGaqdwjCIQFqvdlp5pKgbP+lEaXY+L7qgTk= X-CM-Analysis: v=2.4 cv=bJYQIu+Z c=1 sm=1 tr=0 ts=6613648d a=WwxFCuf3mf1fs3oSi6/dng==:117 a=WwxFCuf3mf1fs3oSi6/dng==:17 a=IkcTkHD0fZMA:10 a=MKtGQD3n3ToA:10 a=1oJP67jkp3AA:10 a=d22x3HGGMQHK4hbB-loA:9 a=QEXdDO2ut3YA:10 a=BXDaF_L80NY05PYiAFlV:22 X-AuthUser: carlos@maniero.me 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-Flow: FLOW_IN X-Migadu-Country: NL X-Migadu-Spam-Score: -10.44 X-Spam-Score: -10.44 X-Migadu-Queue-Id: C443315878 X-Migadu-Scanner: mx12.migadu.com X-TUID: 3sF6zguwF5Bv This thread tries to specify a basic datatypes of olang. Primitive data types: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Primitive types are types that can be held on a general purpose register. s8 : 8-bit signed integer type. s16 : 16-bit signed integer type. s32 : 32-bit signed integer type. s64 : 64-bit signed integer type. u8 : 8-bit unsigned integer type. u16 : 16-bit unsigned integer type. u32 : 32-bit unsigned integer type. u64 : 64-bit unsigned integer type. f32 : 32-bit floating point type. f64 : 64-bit floating point type. Translation to C: ----------------- s8 : int8_t s16 : int16_t s32 : int32_t s64 : int64_t u8 : uint8_t u16 : uint16_t u32 : uint32_t u64 : uint64_t f32 : int32_t f64 : int64_t C also permits the use of type qualifiers, such as signed int or short int. However, this specification recommends omitting the qualifier for simplicit= y. In my opinion, this approach is more intuitive. While the meaning of long i= nt can be ambiguous, there=E2=80=99s no ambiguity with int32_t. Example: -------- const x: u32 =3D 1 Grammar: -------- ::=3D 's8'| 's16'| 's32'| 's64'| 'u8'| 'u16'| 'u32'| 'u64'| 'f32'| 'f64' Arrays: =3D=3D=3D=3D=3D=3D=3D An array is a fixed-size collection of similar data items stored in contigu= ous memory locations. It can be used to store the collection of primitive data types such as int, char, float, etc., and also derived and user-defined dat= a types, structures, etc. Example: -------- const x: u32[] =3D [1] const y: u32[2] =3D [1, 2] Grammar: -------- ::=3D '[' * ']' ::=3D '[' ( ( ',' )* )? ']' Open question: -------------- I have no idea how to initialize an array with a value. In C I know that th= is is allowed: int arr[20] =3D {0}; But I think this is ambiguous since if I remove the number 20 from the statement above it will give me an one-sized array. Translation to C: ----------------- A olang array is just like a C array, no need to translation. Although it differs from C by using square brakets other then curly brakets. That way w= e could easily differ arrays from structs.