From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id QIBLF3mGx2SRhgEASxT56A (envelope-from ) for ; Mon, 31 Jul 2023 12:01:29 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id wIhaFnmGx2R2TgAAG6o9tA (envelope-from ) for ; Mon, 31 Jul 2023 12:01:29 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id EA8485A3B8 for ; Mon, 31 Jul 2023 12:01:28 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=disroot.org header.s=mail header.b=ffm0RTSQ; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=reject) header.from=disroot.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1690797689; 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-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=n48Mx7jxgPgjPkBtCXDPndZZLrkmv79Sdfl4MY8GLF0=; b=QFWBQBw9z0bqfE/X3mTX00qO8tHymBiWd+Jz8w7CdUqCXLWkMLS8aIjHDOCjEnessQC2Cl SUV5DGReUMr+GtoPdJmPwJw3fXfsa6ipCyWmgg7BcKuIdu35WHhyHp7zBcUZOlOBilEN9m +I1xuef9KbfOGEE/U4d3yBz6hms9RLBo4vf4rXWML4gRK8UajptAdoxaTzQ5XxcsOk7a9n 9ApjMzGgi+05Z4Eg/2gZG6heg/PGAhEJweDfYjxAgngM+M7lgW5CQ5Gc71yfAo7gMqCmNn nNrHchccoz4wDozSxLsaTTN4dghFoLym49h0kLGkSQedFF9xo3A7T9Ofu4FAsw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1690797689; a=rsa-sha256; cv=none; b=HqwpDVXQ7zzL48tvJTKq9DZzarFLBm696X7jnVHN+LeVspxOwb8+Y2YzQBNxHjg52Csarb H4Asy6uRffKoPQgkAFpm6O3sE0YIh4YWPyRPLEOmz6Lkn/1drnCcf3VO3TJqFY75z0X+KF 5hRkpbo60ZYqQM0T34K0hKzqIwTS1hSSaPlOhR1do8y6DwMtAtURP1qpXiehe9zY9RscuT TZdRSRliMmbuZVlKmfp/WeCJrYHEvesR9lykR9BaK6PgFWGwvmdETPprPWC5mIbV9MuhUc W8NpCccXTksG3DVPeLYJ6CS76kodx4buHe2SqQtXNfdUxQ9fKLgRfpOdC1wEoQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=disroot.org header.s=mail header.b=ffm0RTSQ; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=reject) header.from=disroot.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qQPhv-0005bF-9d; Mon, 31 Jul 2023 06:00:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qQPht-0005am-Be for guix-devel@gnu.org; Mon, 31 Jul 2023 06:00:53 -0400 Received: from knopi.disroot.org ([178.21.23.139]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qQPhq-0002SW-RN for guix-devel@gnu.org; Mon, 31 Jul 2023 06:00:52 -0400 Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 2B2FF413DA; Mon, 31 Jul 2023 12:00:47 +0200 (CEST) X-Virus-Scanned: SPAM Filter at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VQUar45o-UH5; Mon, 31 Jul 2023 12:00:46 +0200 (CEST) References: <875y662lmg.fsf@riseup.net> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1690797645; bh=ciXHNkZrPjwRBLNuGTtd66BxX/T6sDG6oIb/5QsQj48=; h=References:From:To:Cc:Subject:Date:In-reply-to; b=ffm0RTSQvBkcV+UxYFFYLZCcdmWMi2xXUa6ehslOtNPi+VIOFJwmsIvDzIJqBaoaz Yqmnk/IV28TWdMWeQh1BFxDBLho7W6QmxLAuef+QtwlUCEiYfs8JMOFoxchG9VWJir V/+Ers0PvkzVdDMn+cz8OUq75VTZzNHCby+fjvw/bZisqwHYNf0PArnxYWVTngMTFo ITd2h269aJadQ6W1YbFInSjdtRuHoCMDKqSOnCOTItINswlS0DHWJiIv9N5K2L4CMS g2DPDqGCpCryMKz1QN1vDO7NPHt/CaYS+cx/v2SoJXyDTR4jeLeF+d0Wp8AH+JNXs2 GpQzMEa7Es3bg== From: "(" To: Distopico Cc: guix-devel@gnu.org Subject: Re: Guix and the developer ecosystem Date: Mon, 31 Jul 2023 10:42:53 +0100 In-reply-to: <875y662lmg.fsf@riseup.net> Message-ID: <874jlk2yeq.fsf@disroot.org> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=178.21.23.139; envelope-from=paren@disroot.org; helo=knopi.disroot.org 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -9.47 X-Spam-Score: -9.47 X-Migadu-Queue-Id: EA8485A3B8 X-Migadu-Scanner: mx1.migadu.com X-TUID: 7g7/sy1nVQ2I Hi, Distopico writes: > In terms of programming languages, I have found almost all the ones I > needed, with the exception of Kotlin. The build sequence for Kotlin is some sort of hellish double nightmare-loop of doooooooooooooom. As far as I'm aware, this is how the main dependencies of Kotlin relate to each other: .---------------------. | | .-------------> gradle ------. V | ^ | kotlin ------. openjdk '----------' ^ ^ | | | '-------' '-------------------------------------' Fun! > In some languages like Haskell and GoLang, the language server depends a > lot on the version it was compiled with. For example, I tried gopls, > which is available in Guix, but it was built with Go 17 and is not > compatible it. Ah, that'll be because Guix uses Go 17 for building Go programs, unless you override the ``#:go'' keyword, but the latest version of Go it provides is Go 20. I suppose it couldn't hurt to change it to be built with the latest version. (We can't just make the default build Go be 20, as that would require the CI to rebuild all Go packages.) > All this text is provided some context for two simple questions: > > 1. Are there plans in the future to improve integration between > development tools? For example, having haskell-language-server for > ghc@9.x and another one for ghc@8.x, or something similar to the > overwrite feature in Nix flake? > > is it mainly focused on HPC (High-Performance Computing)? Definitely not :) > I have started contributing to packages that I believe could be useful, > and I like to contributing to teams such as Haskell or Rust. However, > there are other topics, such as compiler and tools compatibility, where > I'm not entirely clear about the direction that has been planned. The problem with Haskell, Rust, and Elm is mainly, as lilyp has said/implied, that while the dependency trees of C applications and such typically resemble the following: O <-- O O <-- O <-- O O <-- O dependency trees for Rust, Haskell, and Elm look like this: / O / O <-- O | \ O | | / O / O <-- O <-- O | | \ O | | | | / O | \ O <-- O | \ O | | / O | / O <-- O | | \ O | | | | / O O <-- O <-- O <-- O <-- O | | \ O | | | | / O | \ O <-- O | \ O | | / O | / O <-- O | | \ O | | | | / O \ O <-- O <-- O | \ O | | / O \ O <-- O \ O Except in reality it's much much much much much worse. So it's not because that's not something we'd like to have, it's largely because packaging such things is a royal pain and there aren't all that many people with the motivation to do that. > And apologies for the lengthy text. It's okay, questions are good :) -- (