freenode/#lisp - IRC Chatlog
Search
9:01:54
moon-child
lukego: it's not about mixins and documentation strings--you can have those either way--it's just row vs column approach to the expression problem
9:11:27
lukego
It's an interesting problem that unfolds. The first pins are easy, like "This pin has to be connected to ground", "this pin should not be connected", "this pin should have a wide copper trace." but now it gets interesting with "this pin should be connected to that other pin with a 1kΩ resistor in between" and so now I need a way for a pin on one part to "imply" a whole other part and a pair of connections
9:13:46
flip214
lukego: in the past, I've often started with keywords; went to lists; and then structure or classes as the amount of data to store became too unwieldy in a list.
9:13:51
lukego
and in a traditional CAD package you might leave this informal for the designer to worry about, or make it a design rule that is checked, but it would be neat to just do it automatically "defmacro style"
9:16:29
lukego
I think the fact that I'm using CLIM in this application makes me also lean towards using classes. Since then the types I'm defining also have a meaning in that universe e.g. to create presentation methods and so on. I noticed this with Smalltalk - whole classes might feel like overkill but they are darned handy places to hang extension methods for things like graphical inspectors.
9:41:17
lukego
pve: CAD package for "algorithmic design" of PCBs. Like a KiCad clone but instead of torturously routing the traces by clicking the mouse, you torturously route the traces by tweaking the heuristics
9:44:08
loke[m]
flip214: In a way it was a good thing that C64 BASIC implementation was so dumb. It forced people to learn assembler.
9:46:17
loke[m]
flip214: But Pascal wasn't used much. In fact I have never heard of anyone using Pascal on C64 (that doesn't mean noone did, jsut that this is my experience)
9:48:10
lukego
I didn't learn assembler on the C=64 and that's a lasting regret. I think I was just a bit young though, learned it on the Amiga instead.
9:53:21
beach
flip214: "yeah, right" is the only case in English that turns a double positive into a negative. :)
9:54:28
flip214
beach: sorry. I'm just a lowly non-native-english speaker, so I wouldn't know about all these fine points...
9:54:55
flip214
(but you're right - I already knew that, just didn't #'apply the knowledge when answering. Sorry.)
9:54:57
beach
No need to be sorry. I know you are a non-native speaker. So I wanted to let you know.
9:57:49
lukego
"yeah, nah" is my favorite english-ism, but I think it might only be aus/nz. it means "actually no"
10:01:01
jmercouris
As another native speaker I would like to also point out that depending on how you stretch out the “yeah” in “yeah, right”, it may be a affirmation OR a negation. A long “yeah” typically signifies negation
10:17:04
lukego
I am for the moment resisting renaming these pins from short abbreviations like "pg" and "fb" to proper names like "power-good" and "feedback" but I'll do that later if I think it won't be too confusing wrt referencing specifications.
10:57:28
VincentVega
Is there a way to get access to a class-allocated slot value without instantiation?
12:04:41
splittist
lukego: you can have multiple accessors for a slot, so you can have the short AND the long names (:
14:55:54
lukego
I'm veering towards having a separate PACKAGE for each kind of IC now and maybe that is accelerating the descent into madness? but I'd quite like to represent each type of pin as its own class, and ICs tend to have pins with the same names but different properties
15:00:44
X-Scale
lukego: are you trying to simulate hardware modules and their interconnections in LISP ?
15:02:02
lukego
no, I'm trying to do design rule checks (enforce requirements specified informally in the datasheet) and to automate the busywork (e.g. add external resistors/capacitors that are required but not interesting enough to bother a human about)
15:04:10
lukego
also I'm trying to blur the line between "schematic" and "board design." I'll do both at the same time as a single operation. So my "schematic" will include board-related requirements e.g. that certain traces can't have vias, must be short, must be wide, etc.