libera/#shirakumo - IRC Chatlog
Search
21:00:55
SAL9000
Shinmera: represent the path as #<fasl-of #P"foo.lisp"> for the purposes of planning, then convert it to "real" fasl path once you know what compiler is used?
6:54:17
Colleen
<shinmera> SAL9000: that doesn't really check because the planner is supposed to be able to use other means of getting the fasl (such as if it's cached), so it needs to be a full path already....
6:55:05
SAL9000
Shinmera: fasl cache could store source path (or whatever other identifier, such as checksum of source file contents) as an alternative key
6:56:28
Colleen
<shinmera> though I can't do that either, at least not at component instantiation time, since the checksum might change underneath until the plan is constructed.
7:08:18
Colleen
<shinmera> no, they could change from the time forge is initialised and your project recognised to the time you actually start a build.
7:08:52
Colleen
<shinmera> I had an idea on how to resolve this linkage problem yesterday before bed and now I can't remember
7:09:20
SAL9000
for the specific case of fasl-caching, if a source file has changed then the checksum changing is ok -- you need new fasls anyway
7:10:13
SAL9000
for planning purposes I guess you're back to #<fasl-of FOO> where FOO is something more stable, though
7:13:50
SAL9000
yeah, you probably want an object containing a path -- then alternative representations can be used too, such as checksum for sources that don't have a file path
7:14:40
SAL9000
e.g. if you introduce a "compile this string like it's a file" type thing later on, or sources received over the network w/o a local path I guess?
7:15:41
Colleen
<shinmera> an artefact is a relative path + a "registry name" and each registry has a local representation on a machine.