Har fightats mycket med ASDF-systemet och uppdelning av projektet i olika filer idag. Den mesta av tiden gick åt till att lära mig hur paket fungerar i CL. Fixat så att mitt system kan se vilken funktionalitet studenten implementerat, det var inte speciellt svårt - mest anrop av typen (find-symbol "överlapp" 'common-lisp-user). Det krävde dock också krävde att jag lärde mig pakethantering.
Anledningen till att pakethantering behöver användas är för att man väldigt starkt rekommenderas att göra det när man programmerar Clim. Clim använder nämligen ett eget paket för sina egna funktioner, och antingen så gör man sitt eget eller så skriver man sin kod i det paketet - inte nice. Detta medförde att jag behövde fixa en visa-grafiskt funktion i default-paketet (common-lisp-user) som almanackan kommer vara definerad i, vilket gjorde det svårt att fixa dependencies och sånt utan att ha ett ordentligt ASDF-paket. Hittade dock en väldigt bra irc-kanal (#lisp på freenode.net) där erfarna lisp-användare kvickt svarade på mina frågor. De dirigerade mig till bra information om paket och hur man utformar dem smidigast.
Det kan hända att jag behöver ändra en del av de här sakerna när jag kör på IDA (ASDF finns med i AllegroCL sedan 7.0, vet ej vilken version IDA kör) men det är ganska trivialt att fixa. Det finns större problem att se upp för: CLIM standarden är lite tvetydig ibland, så McClim och Allegros implementationer av standarden är tydligen inte alltid de samma - därför tycker jag att det är trevligt med den extra veckan planerad för dokumentation jag gav mig själv i min milestone-plan i en tidigare blogpost.
Imorgon kommer jag sätta igång med att implementrera års-vyn. När jag är färdig med den så tänker jag först se om det fungerar att köra på IDAs datorer, sedan forstätta med månads- och dagsvyerna.
No comments:
Post a Comment