From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Zelphir Kaltstahl Newsgroups: gmane.lisp.guile.user Subject: Re: Shell commands with output to string Date: Sat, 26 Feb 2022 00:32:00 +0000 Message-ID: References: <87o82z5636.fsf@laura> <87y222lwn3.fsf@t14.reltub.ca> <87k0dm6etu.fsf@laura> <9a84554c-c2ef-7c9b-ffff-129cb517afca@posteo.de> <87ee3t657n.fsf@laura> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="4438"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Guile User To: Olivier Dion , Leo Butler Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Sat Feb 26 01:32:45 2022 Return-path: Envelope-to: guile-user@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 1nNl0v-0000z2-3V for guile-user@m.gmane-mx.org; Sat, 26 Feb 2022 01:32:45 +0100 Original-Received: from localhost ([::1]:43752 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nNl0u-00079t-78 for guile-user@m.gmane-mx.org; Fri, 25 Feb 2022 19:32:44 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:42594) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nNl0P-00079Z-CU for guile-user@gnu.org; Fri, 25 Feb 2022 19:32:13 -0500 Original-Received: from mout02.posteo.de ([185.67.36.66]:52875) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nNl0M-0002hv-8n for guile-user@gnu.org; Fri, 25 Feb 2022 19:32:13 -0500 Original-Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id CD566240103 for ; Sat, 26 Feb 2022 01:32:02 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1645835522; bh=TY71evcWw8Q5C1L3gfaybGx5jshMjopIDD1ZlHPf4C8=; h=Date:Subject:To:Cc:From:From; b=CyIx6MxJR3/p16QoP2mvqibOVz8CAOmoSqJuw7JoYIbF22hpduU0cnl2ZPsz2x5aj uauERnf1HZvGUOxb3PfR7gjHwXtiF0pU4TY5szr8WpFlA7OC4G49v0vpcstyVg0Mlf FkTlK52VQQVna7qhK1lAbSGeC3dICvH8Zl3kzwtMHrYuzO3k4CWurvMnKBHkAAs+DN 9/Q1R8yH9xj7PfSAX/4uUdyyQzRnx/Q9NLw7UGEMgzWMpv6RGw25vANZ/a2JY2kXzh 2/jNtDfenuqabtcX6VQ7OUZ9xzNPmRiCwh8iFYcZ+8uGzk8L8uAD+5fgtIwygT4Ii0 lWqg9/2EBeFEw== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4K56z55C42z6tmp; Sat, 26 Feb 2022 01:32:01 +0100 (CET) Content-Language: en-US In-Reply-To: <87ee3t657n.fsf@laura> Received-SPF: pass client-ip=185.67.36.66; envelope-from=zelphirkaltstahl@posteo.de; helo=mout02.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, 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: guile-user@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.io gmane.lisp.guile.user:18145 Archived-At: Hello Oliver! On 2/23/22 15:13, Olivier Dion wrote: > On Wed, 23 Feb 2022, Zelphir Kaltstahl wrote: > >>> There's ton of missing stuffs in the standard library IMO. On top of my >>> head, filesystem paths manipulation (e.g. path-join) is also one that is >>> probably getting re-invented a lots. >> I actually made something for that, trying to copy mostly the Python >> behavior for os.path.join: >> >> https://notabug.org/ZelphirKaltstahl/guile-fslib >> >> Also available as a GNU Guix package, but not updated in a while on >> Guix. Repository contains more up to date version. > This is great and should be merged into the standard library of Guile. > Maybe not at it's (I have not read everything), but this would be trully > benifical to all Guile users. > > By keeping this as an external library such as a Guix package, I fear > we're aiming at the 'nodejs syndrome' where everything -- down to > the simplest hello world -- is a package dependency. If there is any wish to include it in the standard library, I'd be happy to help out in any way. Might need help setting everything up so that stuff is acceptable for the standard library, but it would be great to be able to contribute in this way. It might allow me to give something back to Guile, for all the joy it has given me. >>> I believe that the successful story of Python is not just about its >>> pretty syntax, but also dues to its very large standard library. >> I think so too. Although I sometimes have the feeling, that Guile does >> things in a cleaner way, once one figures out how to do them in the >> first place. One thing I really like are the ports. Stuff like >> call-with-output-string. Takes some twisting of the brain, but once >> one gets it, it becomes very useful and elegant. > Of course Scheme does things better than Python. I wouldn't be hacking > with it if it was not the case ^^. Not only the syntax, but the > programming paradigms. You want FP, you got it. You want OOP, sure. > You prefer procedural, no problem. With Python it's more like just OOP > although there's been progress on the FP side. > >> But yes, Python is very beginner friendly in terms of batteries >> included. Although I think that its syntax feels a bit ad-hoc. As in >> "Oh we want some syntax for X … lets invent this keyword here. or some >> new operators or things like that." > Yeah they were late to the FP paradigm so they had to invent something > without breaking their OOP echo chamber I guess. IIRC, there's talks > about adding patterns matching which Lisp has since the begining. So > yeah very late to the game of FP. > >> I like Guile syntax (or Scheme in general) much more. However, it is >> difficult to motivate others in a quick demo to learn the language, >> when you cannot take half an hour time to explain, what that for other >> people weird looking syntax is actually really cool. > I'm not sure if it's only the syntax. Yes we often see "but the > parentheses burn my eyes" but I believe that things are more complex > than that. What I think is difficult is to explain to someone why they > should try to learn new languages in the first place. On top of my > head, people ask themself the following question before learning a new > language: > > - Profit -> Can I easily find a good paying job by developing in > this language? > > - Field -> Can I develop in my field (e.g. video game, mathematic) > with this language? Is there a community? > > - Support -> Can I find solutions to my problems easily online? > Are there libraries for common problems that I could encounter? > > - Prototyping -> How easy is it for me to scratch an idea with > this language? > > and probably other reasons. Now, try to explain to someone that does > web developpement in Javascript or Python that Scheme is far more > supperior. That person would just ask: Does Guile has support for > MongoDB? And proceed to dismiss it. And I myself had some issues trying to use sqlite recently, which I have not yet confirmed to not only be silly mistakes I made. I wish people were looking more at long term consequences of technology choices, but of course the questions you list are important considerations for people, who are not in it for the learning and tinkering experience. > Of course, some hackers like me just like to learn new stuffs. It took > me about an one hour into Scheme course of the MIT on youtube to > understand that I just found the holy grail of programming language. > And yet, I have not find the answer to the `profit` question. Best regards, Zelphir -- repositories: https://notabug.org/ZelphirKaltstahl