From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Vijay Marupudi Newsgroups: gmane.lisp.guile.devel Subject: Re: Request to add *-resize! functions for contiguous mutable data structures. Date: Sun, 8 Aug 2021 23:02:19 -0500 Message-ID: <065321a9-3c31-c047-c4c8-8843a9e96f51@gatech.edu> References: <97e4262b-3ff9-1b21-35d8-45ad9d45ca99@gatech.edu> <45e44ba58dbbb3b2fd3ffdeab4add4a1f7525cd4.camel@telenet.be> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40349"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 To: Taylan Kammer , Maxime Devos , guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Mon Aug 09 06:07:44 2021 Return-path: Envelope-to: guile-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mCwZi-000AGT-RD for guile-devel@m.gmane-mx.org; Mon, 09 Aug 2021 06:07:43 +0200 Original-Received: from localhost ([::1]:46870 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mCwZg-0004eY-Rp for guile-devel@m.gmane-mx.org; Mon, 09 Aug 2021 00:07:40 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55442) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mCwZW-0004dr-8d for guile-devel@gnu.org; Mon, 09 Aug 2021 00:07:30 -0400 Original-Received: from mail-mw2nam12on20700.outbound.protection.outlook.com ([2a01:111:f400:fe5a::700]:58977 helo=NAM12-MW2-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mCwZU-0007NP-Bx for guile-devel@gnu.org; Mon, 09 Aug 2021 00:07:30 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Pwsw0IXtJNBztzMCwhKYNReyZ+l2H0Ov76weXHcbEod2iFbXVed3ToQY7WeP9bFNQeEVirT/sc3p0CqsYasopLhGHaQlRLsXR8NL7hGAk26WWhCNfSiwGFOG/53M8V8CB2MmUkY7SMrwetaxxIoGt3F1Gc1FLZEAZ+NmcPrRh1zGQf2QTMtP/ZKnw4aGf7P356nqIEoIDTvZ+vC0VMcyXoQ1UoB+8ayOcDBk8QubQ27qzRSMdrsS/+dZnJUDDttRwsMjnx0hxq4LjUJpmjsEZ5NVwluqiHj+N6WDtZfn2EJh8tHzGvzGo9rFmsi4IMe7WXH4RiWjJRP/A8PNjP+myw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jssm1kR/Mq2aqGP/r30Q2SrsZcuZXwVLeE0+9DtfUPs=; b=K6f0FYwHp8bSFBAQj2ORLO1/iPZXlqBt6kcpNkemh0ckcipatH2wkbMTqunS43CDO1+kLsaJR9DG2QF6uSr7vCIeux27zjhR74trXas9cQ05NDblzw+ApYVrNAZxH3bLNiXBlVnDXHkr/x+x+zP3pEV8fZpoUfWrcx5WyNQGq25zDvdaNz5hYB2oDvbf+FqTF5OJzi1kmR5M9/FLy1IP/jbBzaj2nxYJxVbnnS0Sn3tccTDhI9SZ8kMnvYqJdGRsxS7aP9WXkpjvmxy3rUkqiymfCCuO9Yalu5z3O3wwyWBXcJHHv6vBiKGxT7OaIfDkP6fWTIgRf4G+UmVzPbJIHA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=gatech.edu; dmarc=pass action=none header.from=gatech.edu; dkim=pass header.d=gatech.edu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gatech.edu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jssm1kR/Mq2aqGP/r30Q2SrsZcuZXwVLeE0+9DtfUPs=; b=eFh33Co3W5Cg967XakHC8nsOTq+bE9qnTBX78o18GZX2lEVHoohIUF0cx4y2YzF9MfBFlYK5LQyAAho7HQtKtSsArKNQYSLEnP9fpLS2mk0hU/keMJYNTlTcXPsaRYpxzFDkD4NEK7z/qgeFswqhpTbmgf8tDw2MvYSrr9gJr6k= Authentication-Results: gnu.org; dkim=none (message not signed) header.d=none;gnu.org; dmarc=none action=none header.from=gatech.edu; Original-Received: from BN8PR07MB5793.namprd07.prod.outlook.com (2603:10b6:408:9c::19) by BN3PR07MB2530.namprd07.prod.outlook.com (2a01:111:e400:c5f0::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Mon, 9 Aug 2021 04:02:22 +0000 Original-Received: from BN8PR07MB5793.namprd07.prod.outlook.com ([fe80::a542:a793:4d73:deb2]) by BN8PR07MB5793.namprd07.prod.outlook.com ([fe80::a542:a793:4d73:deb2%3]) with mapi id 15.20.4394.023; Mon, 9 Aug 2021 04:02:22 +0000 In-Reply-To: Content-Language: en-US-large X-ClientProxiedBy: CH0PR03CA0331.namprd03.prod.outlook.com (2603:10b6:610:11a::22) To BN8PR07MB5793.namprd07.prod.outlook.com (2603:10b6:408:9c::19) X-MS-Exchange-MessageSentRepresentingType: 1 Original-Received: from [192.168.1.45] (97.127.85.134) by CH0PR03CA0331.namprd03.prod.outlook.com (2603:10b6:610:11a::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19 via Frontend Transport; Mon, 9 Aug 2021 04:02:21 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b42114e2-9cd0-41c3-b081-08d95aea7cde X-MS-TrafficTypeDiagnostic: BN3PR07MB2530: X-Microsoft-Antispam-PRVS: X-GT-Tenant: 042d12d7-75fe-4547-b5b6-0573f80f829d X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ySHgdtoTnD+LpCUWEZOiuwX/MLn8WAk/Xaymlf8JQ7JzhAoWAJ3ZmseC9DHhqi4u1xXs6AU1wHutYCP2VpPAwecPcYKjwwGrc6Hp8wDx7/5rNYR4mdSV+vNIkY42ahP4lp9Kv2BsBR35p6CD8TzCrqhN+DoXSgH8EWcOrr5vEwPlTDXNscURT3yZGWrc8wZCUeY+rSMwTJaszGcPWQ4TO85yjhUO/yMl1e9nFAQrzrvDIc4KI0mrVyRnoNacB+1Rj/xeoyhBIvkUWbmX1CwCzatbbUYhpLCHgKYa89EUglNIzgn8K1sZY8sI9NhHSFFUVoqZ5kRaHlpCpLZzVkpEkFO9mLlSlgVYd/AJ6ji5Eu9o9SdYFKUyXpnQJYKWUMSPaGjsYDyKHK+IFqJD4AeDuj4JbWZ2FVJ81Mh0KMS6Eu7jpIx6apNKwQHPkAq6vXBBI18EaFEvImh9rKjn84KppqpqCevfG+GW1q3+DeJoENp6CgUW4ZsejIn1Yn3nMyvSazlsG7PLsfofpeeRtD51j5yZH5p1wW9W3H5QJVftGifcApK4XdtLC3pihSTsSpIlTHhhWfv0s36mYDxLfxL7j7QCJgT4k6LmdNdVpQxekckhBhtrD9mGgnpdMVdKD4bnBKJthWJ+iR12uld9fuPCUNxdnR8eKlhPIaa+p7Jum4WGz+eKi94HNiLfmZFHpGcrbInCJEbYoB9n+TK+7zGAjVQhvFUvuP9mrFrmZICVwkE= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN8PR07MB5793.namprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(376002)(396003)(366004)(346002)(136003)(2616005)(956004)(2906002)(4744005)(36756003)(75432002)(86362001)(31686004)(31696002)(186003)(66476007)(316002)(5660300002)(6486002)(66946007)(110136005)(786003)(38100700002)(16576012)(8936002)(478600001)(26005)(8676002)(66556008)(53546011)(43740500002)(45980500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UVZna2lUZlM3RWlzcVBTdWRMM3l3Z0tHTUF2T09PczZCNEkvTFdOdjJqNGZh?= =?utf-8?B?Z3ozRW92czZxSGt1K3h3TjZZcFNUYmNQTmw1UjdkK1BncGRodlBnRmV2SkpJ?= =?utf-8?B?YTBjbVl4RFhySWZtdFhnMStURTMyTUhhUzdnamk4b1NyS1kzMlljVTVxenlW?= =?utf-8?B?bVZsQnVpSGxMd3NDTzNLUzFkbUVZOU1zNG8rNUltdlVKd3g0dm5BSG1MTmY3?= =?utf-8?B?ZzFmWlV3c0gzZDE4dEVQTk5DblF4L3dnYXQ4N0dBSHZiVWk4RktFa3A2K1Q2?= =?utf-8?B?ejRsSFVGdG9pTk5JZ0s4M09OUURUaE1GaUkxS3R2YjFNVWNHcE1oNTNQNnVL?= =?utf-8?B?UFBXUUV2NnNISTh2UFpzRHJsZHFZK2UyRG5GL09tSUlPUC93VW5NdnRpWVQw?= =?utf-8?B?TVppRGRjS2Zud0tnTjNQSm03Mm5Pa2V1eG5FcHl5QWdiUHIxdkFYSlJNZ2Z3?= =?utf-8?B?SVdUdk1JOFFIb2NxUE9lM1lUak5wNVR3OTdGckFKQXVuaXJwNVNtQ0tLUHFP?= =?utf-8?B?aFR0RjQzZkxCdDNvTVhNT2ZjSW85RHBhSk5oRG5DcU1KRC9vYnBzOXBpeFJC?= =?utf-8?B?VjVEWTg2TUc0dndFR3lrcEtuSkNHK0dpSjJUYXk2bDJyYkJCMElFOHlVaHJx?= =?utf-8?B?Sk9na0gyUC8yWm9MQmFmdU5UK1UvclhZNUxrN2 X-OriginatorOrg: gatech.edu X-MS-Exchange-CrossTenant-Network-Message-Id: b42114e2-9cd0-41c3-b081-08d95aea7cde X-MS-Exchange-CrossTenant-AuthSource: BN8PR07MB5793.namprd07.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2021 04:02:22.1657 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 482198bb-ae7b-4b25-8b7a-6d7f32faa083 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: pb5IvzkQpSomZIQAtrc6z2MW6syzYV4xghCL0aG/Y9KXJCM3KbKFQuGU91FcVrIrrLcG1neZr4xWMS0wGV1eQw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR07MB2530 Received-SPF: pass client-ip=2a01:111:f400:fe5a::700; envelope-from=vijaymarupudi@gatech.edu; helo=NAM12-MW2-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MSGID_FROM_MTA_HEADER=0.001, NICE_REPLY_A=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Original-Sender: "guile-devel" Xref: news.gmane.io gmane.lisp.guile.devel:20823 Archived-At: Thank you for your responses Taylan and Maxime! My initial reaction to the concern about multithreaded code is similar to Taylan. I'm not sure if Guile has multithreading concepts built into the compiler. If so, one can only check the length again after a mutex. Appreciate the malloc, realloc, and free FFI solution. Ideally I wouldn't have to do that, but it does work. I have to manually free it though. ~ Vijay On 8/7/21 12:46 PM, Taylan Kammer wrote: > On 07.08.2021 13:09, Maxime Devos wrote: > >> >> A problem is that this prevents optimisations and can currently >> introduce bugs in concurrent code. Consider the following code: >> >> [... snip ... ] >> >> Greetings, >> Maxime. >> > > Couldn't we just state that resizing a vector/bytevector is a > thread-unsafe operation? >