Melyek a jó Prolog IDE-k?


Legjobb válasz

Emacs egészen lefelé!

A komoly Prolog-fejlesztéshez ajánlom a GNU Emacs -ot a Stefan Bruda által fenntartott Prolog móddal. Az SWI-Prolog honlapja elmagyarázza, hogyan kell beállítani, és további anyagokra mutató hivatkozásokat is tartalmaz:

Az SWI-Prolog használata a GNU Emacs-szel

Valójában az SWI-Prolog még a saját Emacs-klónjával is szállít, ami kisebb szerkesztési feladatoknál hasznos. Meghívhatja a? – emacs paranccsal.

Néhány alternatív javaslatért nézze meg ezt a vitát:

Mi a jó Prolog IDE Linux rendszerhez?

Válasz

A Prolog nem hal meg. Általában minden PhD-n dolgozó Comp Sci hallgató számára megtanítják! A kérdésed azonban benne lehet részben annak a ténynek köszönhető, hogy észrevetted annak ellenére, hogy mindenki kénytelen megtanulni, az újonnan írt Prolog-kód mennyisége elmarad a kevésbé “bevált és igaz” fiatal nyelvektől? Az elmúlt két évben értékelje, hogy hány új projekt vagy blogbejegyzés érkezett: Clojure, F #, Brain4uck, Go, Cobra, miniKanren és Scala. Sajnos ezek közül a legkevesebb is meghaladta az újonnan indított Prolog könyvtárak és projektek számát az elmúlt 10 évben! (Sajnálom, ha ezek a nyelvek némelyike ​​nem túl fiatal .. de gondolja át, mennyi tapadás nyerhető egy-egy ilyen rövid időtartam alatt)

Úgy gondolom, hogy a következő két évben a Prolog meghaladja legalább két vagy három nyelvet a fenti nyelveket a blogbejegyzésekben és az új projektekben.

További gondolatok

Egy közös lisp fordítót írok a Prolog-ban .. úgy néz ki, mint egy 2 hónapos projekt. Úgy működik, hogy a fordítónak a lisp forráskódot Prolog-ká kell konvertálnia, majd optimalizálja a prolog-kódot, mint hagyja, hogy a háttérprogram lefordítsa a prologot. Ez az adatáramlás már nehéznek tűnik Haskell vagy Idris számára. Úgy gondolom, hogy az igazi alapvető kérdés az, hogy az utóbbi két nyelv nem elég kifejező ahhoz, hogy az imént mondottakat részletesen leírjam, hogy megvalósulhasson.

Íme egy példa a “leíró részletekre” (például a csomagrendszer) https://github.com/TeamSPoon/wam\_common\_lisp/blob/master/prolog/wam\_cl/package.pl

Vagy az optimalizáló: https://github.com/TeamSPoon/wam\_common\_lisp/blob/master/prolog/wam\_cl/mizepro.pl

Könnyű-e rávenni a Haskellt, hogy futtatás előtt optimalizálja a forrását? Arra is számítok, hogy Haskellben valamiféle köztes Haskell-ábrázolásra lenne szüksége, amelyet értelmezni tud. Valószínűleg nem lenne túl nehéz Lisp-tolmácsot írni Haskell-be .. a fordító sokkal több munka?

A Haskell indoktrinációs szintjei jól megfelelnek tudományos célokra, és ennek eredményeként Haskell több Ph.D. Trophy feleségek, mint Prolog. Sokkal bonyolultabb és kézikönyvek vannak arra, hogy hogyan tudnak örülni férjüknek (a Haskell programozója a HoTT könyvet olvassa a HoTT könyv után) a férj, Haskell néven, ugyanazokat a kiváltságokat kapja meg nekik, mint a prologi feleségek (ugyanazokra a vakációkra veszik őket) (bár nincsenek tisztában a prológus feleségek tényleges létezésével, vagy férjük propagandájának vannak kitéve ) …. A get privilégiumok csak akkor teljesítenek, ha nagyon jól teljesítenek. Szerintem egy ilyen házasság csak a házasulandóknak lenne megfelelő. Amit nem tudnak, soha nem lesznek “elég jók” ahhoz, hogy ugyanazokat a vakációkat (programképességeket) kapják, amiknek azt mondják, hogy az ilyen vágyak helytelenek és hűlni kényszerülnek egy másik Wadler-videó megnézésével.

Ne érts félre, Prolog-nak be van oktatva. . “ne használjon vágásokat .. ne használja a setarg / vagy asserta /” De Haskellben, ha finomítja a módszertant, rájön, hogy szándéka téves. A Prologban, ha finomítja a módszertant, akkor felfedezi, hogy szándéka soha nem volt rossz.

A diszfunkcionális kapcsolat további aspektusai:

A Haskell és a Prolog is deklaratív rendszer az állapotok enyhítésének leírására. Úgy tűnik, hogy a programozónak mindkét nyelvet ki kell fejlesztenie az adatátváltások körül. A Prolog-ban ezt propozíciók fejezik ki. (De a Haskell-ben ezeknek a típusoknak típusoknak kell lenniük)

Mindkettő fárasztóan épít rágcsáló akadálypályát papír WC-tekercsek segítségével … A csata intellektuálisan hogy a rágcsáló rendkívül intelligens módon mozogjon. A Prolog-ban elkészíti a WC-tekercseket, majd meta-predikátumoknak nevezett WC-tekercs-generátorokat készít a kivitelezők kalkulációja helyett. a prolog logikai javaslataim egy pluszának típusokká kell válnia (cla-nként egyet) használat). Úgy tűnik, hogy ez elég unalmas lehet (a WC-tekercseknek egyedi nevei vannak) (nehéz lenne megpróbálnom néhány prolog-mondatomat tipizálni). Mivel a legtöbb csodálatos dolgokat végző prolog-programom tartalmaz 1000-es záradékot. Az egyetlen ok, hogy ezt megnehezítsem, az lenne, ha megkönnyíteném a típusellenőrző dolgát?Nem biztos, hogy ezek a különös körök a rengeteg elkeseredésben segítenek nekem. Ezenkívül nem kell minden záradékot (javaslatot) valamilyen típusú rendszerbe (egy típusba) illesztenem! kifejezések. (végtelen, nem kötött kifejezések, amiket a Lisp környezet megvalósításában használok) Haskell azt szeretné, ha ezt elveszíteném. Mégis mit kínál cserébe? Némi következetesség? Miért jelentkezne egy Prolog programozó a filozófiai mikrovezetésre?

Minden, amit Haskell szeretne, az, hogy elveszítsem képességeit? Ez rosszabb esetben tűnik házasságnak, ha nubilis programozó lennék, nem tudnám jobban.

Haskell az “indoktrináció” kultusza. Talán a legtöbb OO-programozó számára, mivel továbbra is Haskell-t tekintik felfelé irányuló lépésnek a valódi generikumok felé.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük