grafik - Hvordan får jeg en fælles-lisp GUI i Windows?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg bruger Emacs, med CLISP og Slime, og vil gerne kunne tegne billeder på skærmen. Jeg tænker især på tegning af grafer, men alt, hvad der ville lade mig tegne grundlæggende figurer og manipulere dem, ville være i stand til at få mig startede.

Bedste reference


Doug har ret; CAPI vil fungere fint. Andre ting du kan prøve:


cltk: http://www.cliki.net/Lisp-Tk[2]


Jeg ved, at Allegro også har noget til Windows programmering, men jeg har aldrig prøvet det.


Hvad der også kan arbejde er celler-gtk: http://common-lisp.net/project/cells-gtk/[3]


Igen kan jeg kun fortælle dig, at den eksisterer, men ikke hvor dårlig det er, eller hvis det endda virkelig virker ...


Jeg kan heller ikke kommentere kvaliteten af
http://www.cliki.net/GTK\%20binding[4]


Men det er mest hvad der er tilgængeligt.


Corman Lisp har sandsynligvis noget at tilbyde til Windows programmering også.


Alligevel er valgene på Windows relativt slanke. Du kan sikkert have størst tillid til CAPI, som bruges til LispWorks IDE på Windows, Linux, MacOS X og på ganske få store enheder også ...


Hilsen

Andre referencer 1


Jeg synes jeg har fundet mit eget svar. Clojure synes at have alt, hvad jeg ledte efter, bare fordi jeg nu kan bruge alle Java GUI-emnerne indbygget i LISP. Det er en anden dialekt af LISP end Common-Lisp jeg var bruger, men synes at have en masse fællesskabsstøtte og integrerer med min Windows-installation af Emacs enten via SLIME eller gennem Inferior-Lisp-tolken. Indtil videre har jeg været meget imponeret. [5]


Åh, en kodeeksempel:


(. javax.swing.JOptionPane (showMessageDialog nil "Hello World"))


Enhver gæt hvad dette gør? :)


Bill Clementsons blog har en hel del på Clojure, herunder mange nyttige indlæg om at installere den. Se her: hans indlæg på Clojure [6]

Andre referencer 2


For at rulle din egen (som du sagde, grundlæggende former) prøv Lispbuilder-SDL eller en af ​​cl-cairo FFI'erne (det er bare min gætte, at sidstnævnte arbejder med MS Windows, selvom). [7]

Andre referencer 3


Jeg ved, at dette er et gammelt indlæg, men så er informationen her for andre som mig, der finder denne tråd på udkig efter det samme.


Dette bibliotek for tk bindinger i fælles lisp ser ud til at virke ret godt.
http://www.peter-herth.de/ltk/[8]

Andre referencer 4


Du kan skifte fra CLISP til den gratis LispWorks Personal Edition og bruge CAPI Graphics Ports drawing API. [9] [10]


Eller du kan bruge Lisps Foreign Function Interface og bruge et af de grafiske værktøjer, der er tilgængelige til dit operativsystem.

Andre referencer 5


Clojure er en glimrende Lisp, og Swing er et solidt vindue (hvis ikke særlig visuelt spændende). Hvis du vil, gør du mere avanceret grafik og/eller dabble med spilprogrammering, du vil måske tjekke ud Slick, som er et generelt grafik/spilbibliotek, der sidder oven på Swing og giver dig adgang til OpenGL og mange andre ting. [12]


Jeg har fundet Clojure/Slick-kombinationen en glimrende måde at udføre eksplorativ grafikprogrammering på, da du kan interagere med grafikvinduet direkte fra REPL.

Andre referencer 6


Der er cl-cairo2 - en bindende til Cairo vektor tegning bibliotek.Det kan bruges til at tegne forskellige billeder på forskellige overflader.Der er et cl-2d bibliotek, der bruger cl-cairo2 til at tegne diagrammer. [13] [14]


Og der er cl-gtk2 - en binding til Gtk + -bibliotek. Du kan oprette widgets, der er tegnet med cl-cairo2 (eller cl-2d), der tegner, hvad du vil. [15]

Andre referencer 7


CLISP-brugere kan finde følgende nyttige til deres grafiske programmer:



  cl-vektorer er en ren Common Lisp
  bibliotek til at oprette, transformere og
  gøre anti-aliased vektorveje.
  Det kan installeres ved hjælp af
  Asdf-Install.
  http://projects.tuxee.net/cl-vectors/[16]

  
  Vecto er en forenklet grænseflade til
  kraftig CL-VECTORS vektor
  rasteriseringsbibliotek .... resultaterne
  kan gemmes på en PNG ... Siden Vecto
  og alle støttende biblioteker er
  skrevet helt i Common Lisp,
  uden afhængig af ekstern ikke-Lisp
  biblioteker, det burde arbejde i nogen
  Fælles Lisp miljø. Vecto er
  tilgængelig under en BSD-lignende licens.
  Den nuværende version er 1.4.3, udgivet
  den 26. august 2009.
  http://www.xach.com/lisp/vecto/[17]