Monday, November 9, 2015

Onions Never Made Me Cry Like This

I managed to wrestle my Android Lisp into operation.  Which was weird because I'm the only jockey running this keyboard and I thought it worked before.  Though I used the code-base for a project I built in Eclipse, so I might have been in the last desperate throes of Android Studio misery.

My really old laptop computer can run a lot of software, but when it cranks up Android Studio, it stops working.  At first, I tried to make that sound funny, but it's really not.  Recovering from severe brain damage is hard enough without Android Studio giving you 10 Android builds a day.  That's so 1990.

I can run a lot of editors and run a lot of software, but Android Studio grinds my computer to shut-off and has people in the room asking about the health of my system sounding like a jet engine.  I do what I can to keep the system cool, but I finally gave up on Android Studio for practical reasons, though I'll probably see if I can build the Lisp in it.  Android Studio has a clean interface, but it's unreal how slow it is on my system.  I switched to Eclipse to finish some projects and haven't been back to Android Studio for a while.

Now I remember why my software was broken.  Fixed a few small issues with a rogue package declaration, waited 15 minutes for Android Studio to grind surface material off my hard drive, heat the CPU to just below meltdown, then spit out an APK for my tablet.  Now it works.  I ran all the test code and it worked.  There are 192 functions written.  Almost done.  Whoot!

Only about a million miles left to go because I cherry-picked all the easy functions and now the hard parts are staring at me tauntingly like, "What're you gonna do now?  Huh, punk?"  Writing defmacro scares me.  Wait, I wrote it.  Phew!  I think I wrote it.  Better look that up.  Something else scares me, but I forget what it is right now.  I think it's the remaining 800 functions, CLOS, and everything related to I/O and ... everything.  Maybe.  I ain't scared now, because I got the repl going.  Or I'm a glutton for punishment.

I've never written a Lisp before.  I'm pretty surprised I was able to get this far.  I was curious one day.  I wondered how a piece of code I was writing would have looked if it used some Lisp structure inside.  That turned it into a weekend project.  I kept it going for a few weeks.  Three weeks in, I wrote a function to spit out all the functions and how many and I was shocked it came together that easily.  Maybe that's the marketing teaser and I'm about to buy the whole system with surround sound and extended warranty and the rest of Lisp is a beat-down.  I find it difficult to believe.  Writing Lisp in Java has been shockingly fun and fast.

It'd be cool if my code base could inhale large school of CMUCL code like whale inhale krill.  That would be the glorious, "and then a miracle happened", unilateral hand-wave over the tough part of the project that is usually not fun, only this time it'd be real.  And fun.  Common Lisp is always fun.

No comments:

Post a Comment