freenode/#lisp - IRC Chatlog
Search
14:29:07
spoeplau
I'm trying to do (defctype foo :pointer) with several types '(foo bar baz), and I'm looking for a way to do something like (dolist (name '(foo bar baz)) (defctype name :pointer)). It doesn't quite work like this because "name" isn't evaluated, and the best I've been able to come up with so far is to define my own macro and then call it just once. Is there a better way?
14:37:38
spoeplau
_death: I have some more complex cases too, that one was just to illustrate what I'm trying to do
14:39:51
_death
spoeplau: you can define a META macro, something like (defmacro meta (form) (let ((generate (gensym))) `(macrolet ((,generate () ,form)) (,generate))))
14:40:31
_death
then (meta `(progn ,@(mapcar (lambda (name) `(defctype ,name :pointer)) '(foo bar baz))))
14:42:47
_death
some years ago discussion here resulted in a METALIST operator as well, https://github.com/death/gnusdumps/blob/master/driver/main.lisp#L121
14:47:30
_death
with METALIST it would be (metalist (name) "Define a foreign pointer type alias for NAME." `(defctype ,name :pointer) ((foo) (bar) (baz)))
14:52:02
_death
ralt: I remember you had some pull requests.. nice to hear that it worked for you, I wrote it for a thing that became irrelevant t me a year or two later.. the publish part is still broken design
16:43:02
flip214
Is there a library that can translate a SVG to an CL-PDF form, like a macro? translating a SVG to a PDF via eg. inkscape is relatively costly (in CPU terms), so directly writing a PDF would be much better
16:46:28
flip214
frodef: I can read a PDF in inkscape, and save as SVG. SVG is text-only and very similar to PS and PDF, so the typical 99% should be an easy AST => AST translation.
16:47:09
flip214
If I can get the SVG => CL-PDF transformation, I can "easily" get a PDF and write "compatible" data from CL.
16:48:37
frodef
flip214: To my knowledge, SVG is a substantial vector-graphics DOM, and "translating" to PDF I suspect is infeasible, beyond rendering to a raster image. Except perhaps a carefully selected subset of SVG.
16:52:53
flip214
and cl-pdf as well as svg have primitives like matrix-transform, text, choose font, etc. so a translation seems feasible.
17:20:41
Xach
It's not automatic, you would need to parse the paths in the SVG. But the drawing part after that is not too tricky.
17:21:12
Xach
And I'm defining "simple SVGs" as "ones the Vecto image model could support" to make it easy
17:55:41
mfiano
is it specified anywhere which accessor will be invoked? (defclass foo () ((%a1 :reader a :initform 1) (%a2 :reader a :initform 2)))
18:06:40
_death
Inline: the question is whether you're willing to bet that all implementations follow your logic
18:12:56
_death
my first thought was that if the spec had anything to say about it, it would be to signal an error
20:14:32
puchacz
jackdaniel, I started playing with ECL:) if I make it run my application, does it mean that it will be possible to create a library / executable from it?
20:17:23
puchacz
shka_: yes, I read it today for the first time, and I started playing. but I know from experience that some files are loaded in a non-standard way, e.g. sly contribs. and I sinned as well by using bare (load ) in few places.
20:18:10
puchacz
so I will need to track it all, but when I do it, you are saying there are no obstacles to creating a binary
20:19:18
puchacz
yes, save-lisp-and-die just saves everything that is in memory, no matter how it was loaded.
20:20:29
puchacz
but sly is fine too, I know how to force load all contribs. there are also programmatic calls to the compiler, I know for sure this is how web templating works (it creates functions that print out web pages)
20:21:27
puchacz
I do it in sbcl before dumping the image, so I don't need to deploy my core with template files
20:22:20
puchacz
who says there is no eval somewhere? I did not add eval (for what I remember), but it may be there somewhere :)
20:23:31
puchacz
but you say as long as it runs with "development mode" startup (with quicklisp etc), I will be able to create the right sequence of binary files.
20:26:52
puchacz
yes, I read it today for the first time. I am impressed :) and is it true that if I can make ECL run my application, there exists the right sequence of binary files that be produced to make my application binary?
20:28:48
puchacz
yes, but I can make it call all loads on startup, this is what I do for sbcl save-and-die
23:41:49
stargazesparkle
I've been reading the lisp book someone sent me a few days ago and just wow
23:42:17
stargazesparkle
It's amazing how I managed to get myself as far as I did without considering what it was I was doing or why I was doing it
1:06:44
charles`
Is there a way to ignore a package's nicknames in the local package without entering the debugger?