Prolog “sorted” predicate

My interest in Prolog was recently revived, after briefly courting the P vs NP problem, which, I was hoping, might be made solvable by the machine. While playing with the thing, I found a Prolog solution to the REVERSE game. The exercise is trivial, the point of it being merely to compare the implementation in various programming languages.

The interesting detail, however, is how the author of the Prolog solution tests if a list is sorted:
sorted(L) :- sort(L, L).

You can’t comment because I got bored with cleaning up after all the spammers and disabled comments altogether. 😀 Long live DOS attacks (which btw are much older than technology – just try talking a woman out of her idea)!

To Iceland

Brave people of Iceland, do not let yourselves be robbed. Better to live a generation of isolation with an intact conscience that allows you to look your children in the eye than to succumb to the EU’s blackmails and endure a life of shame.

Those who know,,, know BDO what I’m talking about.

Thoughts

Back offline from a full day at work. The philosophical thoughts swarming through my mind this morning all gone. It’s amazing how ephemeral deep thinking can be for some.

Perhaps it’s the music playing at this time, or maybe it’s excitement in anticipation of tomorrow’s events. Or maybe work just drains you of philosophical thoughts in much the same way boiling drains vegetables of their best ingredients.

Be it as it may, Depeche Mode is beating to my heart, tomorrow will be the company’s NERF wars final, and my destination is approaching quickly. I suspect I have no more than 6-7 minutes till the journal closes once again.

My thoughts now go to my unborn daughter and to her mom and my love. I miss them and want to touch thep pregnant belly – that all so powerful symbol of life that dwarfs all prozaic human values in its majesty.

My station comes next. Sayonara!

Claritate

Vreau în prezenta să discut o problemă nu specifică românei, ci valabilă în orice limbă.

N-am cunoștințe suficiente să fac din articol un eseu de calitate vorbind despre stil, dar o să remarc două-trei mici euristici care, dacă le internalizezi, te vor ajuta să vorbești mai clar.

Evită propozițiile prea lungi si pe cele prea scurte. Dacă ai scris o secvență de propoziții scurte, încearcă să unești unele dintre ele, gerunziul poate fi util în procesul de unire. O secvență de fraze lungi și greu de înțeles poate fi corectată rupând fraza în mai multe propoziții.

Exprimă clar relațiile de cauzalitate, cauză și efect. Dacă Iulia a cumpărat un bilet de avion ca urmare a întoarcerii lui Marius, compară “Marius s-a întors din Ungaria, iar Iulia a cumpărat un bilet de avion” cu “Marius s-a întors, provocând-o pe Iulia să cumpere un bilet de avion”.

Exprimă clar identiatea celor ce efectuează acțiunile în situațiile unde sensul poate deveni ambiguu.

Atenție la numărul feluritelor componente ale propoziției. Am remarcat probleme la expresii cum ar fi “i l-am transmis” în “I-ai transmis mesajul Mariei? — I (ei, Mariei) l (pe el, mesajul)-am trimis.”, care se transformă în “i le-am trimis” dacă ne referim la mai mult de un mesaj, sau în “li l-am trimis” dacă e vorba de mai multe persoane ce trebuie să primească mesajul. “Li le-am”, “li l-am”, “li i-am” sună nenatural, dar sunt corecte.

Evită expresiile-clișeu; folosește în schimb sinonime acceptate, nu bombastice sau pedante. Înlocuiește-l, de pildă, pe “a veni” cu “a se întoarce” sau cu “a ni se alătura” șamd, după caz; pe “am văzut” cu “am întâlnit (probleme)”, dar e în regulă “am văzut (oameni în tramvai)”.