Path: ...!news.misty.com!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!cleanfeed4-a.proxad.net!nnrp4-2.free.fr!not-for-mail Date: Sun, 10 Nov 2024 18:42:42 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Michel Talon Subject: =?UTF-8?Q?Re=3A_Le_calcul_de_la_racine_carr=C3=A9=2E=2E=2E_pour_des?= =?UTF-8?Q?_nuls_=3A=29?= Newsgroups: fr.sci.maths References: <672bcce0$0$28508$426a74cc@news.free.fr> <672ce7d7$0$12934$426a74cc@news.free.fr> <672ea1f1$0$16817$426a34cc@news.free.fr> <672f8598$0$11455$426a74cc@news.free.fr> <672fac55$0$16825$426a34cc@news.free.fr> <67301d2f$0$12913$426a34cc@news.free.fr> <67309833$0$541$426a74cc@news.free.fr> Content-Language: fr In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Lines: 44 Message-ID: <6730f092$0$525$426a74cc@news.free.fr> Organization: Guest of ProXad - France NNTP-Posting-Date: 10 Nov 2024 18:42:42 CET NNTP-Posting-Host: 88.181.102.49 X-Trace: 1731260562 news-1.free.fr 525 88.181.102.49:18458 X-Complaints-To: abuse@proxad.net Bytes: 3397 Le 10/11/2024 à 15:17, efji a écrit : > Quand je disais qu'il y avait des informaticiens pervers. Franchement, > dans quel esprit tordu un truc pareil peut-il germer? Comme je l'ai expliqué, la notation préfixe est sans ambiguité, on peut écrire (+ 1 2 3 4) et on va trouver 10, en notation usuelle il faut que le compilateur rame pour comprendre 1+2+3+4, d'où les machines à état des grammaires LR(1) etc. pour compiler le C, Ce qui fait que le lisp peut être compilé à la volée en interactif en un temps imperceptible. La notation postfix des calculatrices HP ou de postscript a les mêmes avantages, sauf qu'il faut que chaque fonction ait un nombre fixe d'arguments, que la machine va chercher sur la pile. Après, lisp a les macros, qui permettent de redéfinir la syntaxe, et il existe en effet des systèmes qui comprennent la notation infix usuelle des opérations. Par exemple le système de Mark Kantrowitz https://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/code/syntax/infix/infix.cl Ca utilise le fait qu'on peut tout modifier, y compris le programme "reader" qui lit le code en premier. Quand on a chargé infix.cl on peut faire: ;;; Syntax: ;;; ;;; Begin the reader macro with #I( and end it with ). For example, ;;; #I( x^^2 + y^^2 ) ;;; is equivalent to the Lisp form ;;; (+ (expt x 2) (expt y 2)) ;;; but much easier to read according to some folks. ;;; ;;; If you want to see the expansion, type a quote before the #I form ;;; at the Lisp prompt: ;;; > '#I(if x