Path: ...!weretis.net!feeder9.news.weretis.net!news.nk.ca!rocksolid2!i2pn2.org!.POSTED!not-for-mail From: fir Newsgroups: comp.lang.c Subject: Re: on allowing "int a" definition everywhere Date: Tue, 27 Aug 2024 20:44:19 +0200 Organization: i2pn2 (i2pn.org) Message-ID: <41520456e45d778ea26805f6f711a05757365bc3@i2pn2.org> References: <7ea05965a67fa09d4ebd0b6ec53109dcb0b12f76@i2pn2.org> <3775b5abd14443f89852e05177a44bd72585cbdd@i2pn2.org> <4c7a695b1b755393162a1ae36ea6306760ffe949@i2pn2.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Tue, 27 Aug 2024 18:44:21 -0000 (UTC) Injection-Info: i2pn2.org; logging-data="4131854"; mail-complaints-to="usenet@i2pn2.org"; posting-account="+ydHcGjgSeBt3Wz3WTfKefUptpAWaXduqfw5xdfsuS0"; User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:27.0) Gecko/20100101 Firefox/27.0 SeaMonkey/2.24 In-Reply-To: X-Spam-Checker-Version: SpamAssassin 4.0.0 Bytes: 4016 Lines: 98 fir wrote: > fir wrote: >> fir wrote: >>> fir wrote: >>>> Lawrence D'Oliveiro wrote: >>>>> On Sun, 25 Aug 2024 12:40:39 +0200, fir wrote: >>>>> >>>>>> Lawrence D'Oliveiro wrote: >>>>>> >>>>>>> Somehow along the line from BCPL to B to C, one useful feature was >>>>>>> lost: the ability to have a value-returning statement block >>>>>>> inside an >>>>>>> expression. >>>>>>> >>>>>> if so thats probably sad, though i dont know how it looked like >>>>> >>>>> The construct looks like >>>>> >>>>> VALOF $( ... «stmts»; RESULTIS «return-value» $) >>>>> >>>> >>>> it is good to things return value and good to be able to combine it >>>> >>>> as i sait for example i consider such loops >>>> >>>> 10'x //ten tiem execute x >>>> >>>> print (10'x+=x)/10 >>>> >>>> would be equivalent of >>>> >>>> for(int i=0; i<10; i++) x+=x; >>>> print(x/10) >>>> >>>> (and its still c, just with shorted syntax not python et sort) >>>> >>>> >>> >>> as to this loop as i said i had no ide how to make indexes like i >>> in this form but what comes to my mind now is maybe something lika >>> >>> >>> 10'print("x") >>> >>> 10i'print(i) >>> >>> >>> 480y' 640x' set_pixel(x,y, 0xffff00) >>> >>> those i,x,y in loop 'headers' could be possibly subscripted >>> like 2 in typical H20 (2 is subscripted >>> >>> eventually one can go >>> >>> 10' print((x 0)++) >>> >>> where x 0 is initialisation of int x to zero >>> >>> >> >> overally not bad, i could somewhat accept that loop >> (yu wouldnt belive how hard is come to that syntax conclusions, >> literally takes years, and not 5 years more like 15) >> >> > > i wanted to compore how many chars my thin c skin conventions would > make (but not having funic F for wloat or runic U for unsigned) i put ` > and the spare is not great becouse c is quite thin - hovever it uses a > lot of what i call 'decorators i eman not necessary ().; which could > be changed to spaces, it not spares chars but somewhat spares ink > > on fictional snippet (probebly not working) > > void draw_line( float x, float y, float x2, float y2, unsigned color) > { > float > wx=dist(x,x2),wy=dist(y,y2); int m=wx float dx=wx/m,dy=wy/m;for(int > i=0;i<(int)m;i++)set_pixel(x+=dx,y+=dy,color); > } > > thin skin > > draw_line`x`y`x2`y2`color > { > `wx=dist x x2,`wy=dist y y2,`M=(wx `dx=wx/m,`dy=wy/m, M'set_pixel x+=dx y+=dy color; > } > though eventualy it canm be written shorter i guess draw_line`x`y`x2`y2`color: `m = min 'wx=abs x2-x 'wy=abs y2-y) ' set_pixel x+=wx/m y+=wy/m color; ; not to say it lookin specially good but welll..