freenode/#clasp - IRC Chatlog
Search
20:12:29
makomo
interesting discussion! the MAKE-METHOD-LAMBDA thing which is called at macroexpansion-time reminds me of my DSL problem, beach. interesting to see that the technique has been tried and used with success
20:13:23
beach
makomo: I am very pleased that you take an interest in these implementation details in addition to your specific problem.
20:15:36
makomo
beach: :-). implementation details discussions are always very interesting and informative. it's very nice and rewarding when you know what makes a system tick
20:17:15
makomo
beach: hopefully i'll take a look. i don't yet have a complete idea of what Cleavir is supposed to do, so using it seems daunting right now
20:22:34
makomo
Bike: hah. for my purposes it probably won't be required, but it should be extensible (although probably not right away)
20:23:00
makomo
i'm not sure i want to implement typing and all, so i'll just use lisp objects for the signal's values
20:23:57
makomo
i think synthesis would be much harder, because that's basically writing a proper compiler for some device. not to mention that most of the devices are proprietary and what not, so i don't even know how that would go
20:24:45
makomo
i'm not even sure how a behavioral description of a hardware device is compiled into a "netlist" of logical gates -- that seems like a very interesting area but i haven't read much about it
20:32:25
makomo
the main goal of the project is not to simulate "industry-level" hardware devices though, but just basic devices that serve to illustrate computer architectures. it's a project that one of my professors started, but ofc not in lisp
20:32:48
makomo
it's a custom VHDL-like language with a lexer, parser, bytecode compiler, blah blah. not yet functional or anything, but the idea is there
20:33:13
makomo
it's supposed to be used for laboratory exercises and the like. i set out to "rewrite" it in Lisp, because i would get the language for free, instead of having to reinvent everything
20:35:53
makomo
hopefully with my approach, i'll get most of it for free through lisp. additionally we would like a GUI and "component-specific debugging" (e.g. modeling a CPU and debugging code for that CPU), which i hope to achieve through CLOS with "protocols" that a component can implement, etc.
20:36:40
makomo
and of course, i'll completely avoid having to compile any code myself just by reusing the Lisp compiler :-D
20:37:49
Bike
i mostly used stuff for synthesis in school,so i'm less conversant about the sim parts
20:57:14
Kevslinger
And then nglview has a get-structure-string function, which returns chem:get-name
20:57:50
drmeister
I thought the get-structure-string function returns a massive string that contains the entire structure in either mol2 format or pdb format?
20:58:54
drmeister
Ok, the name can be NIL - when I didn't have an obvious name to assign it I just left it as NIL.
21:02:13
drmeister
(or (chem:get-name agg) "dummy-name") is a compact way to achieve the same thing.
21:07:11
Bike
well, i have a branch where package local nicknames work. needs some polish though. and i kind of don't like that flag
23:02:03
Bike
because there are probably several flags like that already, and they're all pretty ad hoc, and mean we're doing things at runtime every time solely because booting is weird
4:22:41
drmeister
General: I think I have the whole CI thing sorted out now. I have a free tier machine on AWS running buildbot and I can set up latent EC2 instances that get spun up as they are needed to build different things.
7:49:57
heisig
beach: I just read Pascal Costanza's paper. I think you are right about MAKE-METHOD-LAMBDA - using a compile-time instance of the generic function solves the issue of macroexpansion time dispatch.
7:52:21
beach
Yes, I can't see what information MAKE-METHOD-LAMBDA could extract from the generic function, so it might as well just be a class prototype.
7:52:40
heisig
What I am still not sure is how a method function can access its associated generic-function and method metaobjects when calling no-next-method.
7:55:05
heisig
It is not very important at the moment. The same goes for CLOS optimizations. Might be a paper for 2020 :)
8:08:25
beach
Hmm, my plan was to create an initial SICL image without the compiler in it, but if compute-effective method requires the compiler, that won't work.