From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29855 invoked by alias); 9 Jan 2018 06:18:16 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: List-Unsubscribe: X-Seq: 42247 Received: (qmail 28466 invoked by uid 1010); 9 Jan 2018 06:18:16 -0000 X-Qmail-Scanner-Diagnostics: from aok120.rev.netart.pl by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(85.128.245.120):SA:0(-1.9/5.0):. Processed in 11.369891 secs); 09 Jan 2018 06:18:16 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.1 X-Envelope-From: psprint@zdharma.org X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | X-Virus-Scanned: by amavisd-new using ClamAV (4) Date: Tue, 9 Jan 2018 07:17:58 +0100 From: Sebastian Gniazdowski To: zsh-workers@zsh.org Message-ID: Subject: A project rewriting Emacs in Rust, if they can do it, then maybe Zsh too? X-Mailer: Airmail (467) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hello, the project is:=C2=A0https://github.com/Wilfred/remacs I think the main background point is that rust allows gradual conversion = of C source. As for motivation, well, I could have skip this, because eve= ryone has imagination when it comes to new things, however not all have g= rip on reality in such moments. So I try to highlight something. Honestly I don't know Rust, but I was always fascinated by systems progra= mming, was writing Windows and Linux drivers, worked on gdb for an ARM pr= oject at Intel, etc. and thought about creating dedicated language for th= is. Then Rust appeared, claiming this is done, right. I think someone wit= h insight into Rust would be most helpful, e.g. after working in team for= 1 or more years on a partly greenfield project. Or a D language person w= ith head full of calm insights about C++ flaws and also experience with R= ust. Remacs people probably know much too, but the commit number isn't ov= erwhelming. This would give high quality arguments. Otherwise one can focus on single= features and traits of Rust, and this can be good too. Arguments based o= n what I know: 1. Occassion to fix minor but wanted things, like delunset way of freeing= params. 2. Parameters can be well mapped on e.g. databases. I mapped each Redis d= atatype and it works. I plan to setup shared parameters between blinkensh= ell and my host, after I improve redis module, I ran unit tests this way = before and they passed. Mapping would work better, if: - get-set-unset structs had also callback to function returning size =E2=80= =93 no need to fetch whole data from database to count it - GSU had user-data pointer, like hash that has =60tmpdata' field, OR if = Param would have such field; first solution saves memory, one can assign = single GSU struct to all Params, but no per-Param user data is possible, = and accessing is complicated 3. A Nokia argument, sorry ;) just trying to be ahead of things after pow= ershell was done cross-platform. User reported it's slow, and it can be a= joke like .NET on Linux, I cannot test yet. But other improvements would= probably appear during the change to rust and Zsh would extend, and ente= r high-popularity languages. Rust is very popular on Github, at least. An= example, I've found a project that writes backends in Rust and Haskell: = https://github.com/wireapp/wire-server. On the contrary, C software runs everywhere. -- =20 Sebastian Gniazdowski psprint /at/ zdharma.org