2010-07-21

Almanackasobjekt -> CLOS, check

Spenderade gårdagen och idag med att skriva kod för att traversera almanacksobjektsträden (år->månad->dag->möte) och konvertera dem till CLOS-objekt.

Anledningen till att jag vill mappa almanackans objekt till CLOS-objekt istället för att använda dem ad-hoc är att Clim utgår från att man har CLOS-objekt som man vill visualisera med presenters. Det går, tekniskt sett, att skriva presenters utan CLOS-objekten, men jag vill kunna följa det som är mest common-case för att lättare kunna ta till mig hjälp från manualer, guider och andra programmerare.

Så som det ser ut nu så har jag objekt som heter clim-år, clim-månad, clim-dag och clim-möte. Egentligen hade jag kunnat effektivisera det hela genom att bara ha clim-möte, som håller reda på när det sker. Det hade dock gjort det svårare i framtiden. När jag (imorgon) börjar med att skapa år-vyn så vill jag ju inte visa varje enskiljt möte, utan vill visualisera dagar (nestlade i månader - det finns stöd för men verkar lite småklurigt). Jag var lite orolig över att det kan bli ineffektivt att behöva traversera igenom alla årsalmanackor varje gång vi behöver uppdatera vår information, men det verkar inte så farligt - vi får se hur IDA-burkarna klarar av det.

Koden ser ut såhär: http://dl.dropbox.com/u/6174666/almavis.lisp

Har fortfarande inte fått klarhet i om push går att använda med :after funktioner, men det är någonting jag tar i tu med först när jag har någonting visuellt att uppdatera.

Kan också nämna att jag ännu inte har koden i något VCS, utan använder mitt DropBox account. Där har jag hyfsad versionering, tillgång till koden från alla mina olika datorer och säker backup. Personen som skulle fixa en dev-server åt mig är just nu ganska upptagen med de konsultjobb han har, men det har ju som märkts inte påverkat så mycket.

Det känns som om jobbet går bra. Närhelst jag sitter och får kod gjord känns det mysigt, medan jag känner mig lite hopplös när jag sitter och läser Clim-dokumentation. Nu känns det dock bättre än det gjorde när jag började med att försöka implementera års-vyn, då visste jag inte var jag skulle börja. Nu vet jag att jag behöver fixa presenters för mina objekt, och att de behöver klara nesting.

No comments:

Post a Comment