freenode/lisp - IRC Chatlog
Search
10:40:21
Grue``
does anyone know how to avoid warnings like "could not optimize away %SAP-ALIEN: forced to do runtime allocation of alien-value structure" in SBCL?
10:44:51
loke___
I looked at it, and it's not entirely clear what happens. I think what happens is that there is effectively a malloc call to allocate the memory for the string
10:45:30
loke___
I think, maybe you can work around it by declaring the pathname variable as DYNAMIC-EXTENT, but that's just speculation.
10:46:47
Grue``
well, clhs says that (defun g (x) (declare (dynamic-extent x)) ...) is essentially useless
11:25:55
flip214
for the lisp-to-fpga people around here: http://zipcpu.com/blog/2017/06/12/minimizing-luts.html
11:26:12
flip214
would be interesting to know what kind of optimizations the translator already does
11:28:53
Cymew
Anyone know how planet lisp works? There seems to be very much about postgresql lately.
11:38:16
jackdaniel
I don't know exact details, but yes, it can subscribe to some specific tags on the blog
11:40:49
flip214
Bike: there was "VeriLisp: turns Common Lisp into a frontend to Verilog." but it seems dead now.
11:43:29
_user
seems nobody is on the clnoobs channel, so I I ask here, any good reccomendations on how to properly learn lisp, I've started with the practical common lisp book, but it has gone too deep too fast
11:43:50
minion
gentle: "Common Lisp: A Gentle Introduction to Symbolic Computation" is a smoother introduction to lisp programming. http://www.cs.cmu.edu/~dst/LispBook/
11:44:50
Bike
flip214: if you're targeting verilog your optimization options are limited to expanding your high level constructs into verilog constructs appropriate for whatever combination of synthesizer you're using, i would think
11:45:36
_user
Bike: thanks for the reccomendation, I'd already come across that book, but I had dismissed it due to its age
11:46:01
Bike
as far as i remember there's some stuff that's not the best style now, but it should all basically work
11:56:48
flip214
Bike: yes, of course. I don't know about any other way to have Lisp as high-level language for FPGAs, though.
12:03:06
Bike
the only high level hw design things i'm aware of also output verilog. there's lots of vendor secrecy
12:07:04
Bike
it's pretty annoying since, as you can see in that post, a lot of the lower optimization seems to be reconstructing high level blocks from the sequential logic that nobody actually wants to write anyway
13:05:29
attila_lendvai
slick FPGA's, with competition among hw manufacturers, and good highlevel compilers would be a big liberation to computing
13:10:39
TeMPOraL
sure you won't fab a new 3GHz CPU, but maybe fabbing something that used to be commercially valuable in the 90s?
13:13:46
Bike
a MOS successor opened their micrometer fab in the nineties, but they got shut down by the EPA on account of being an environmental disaster
13:14:08
Bike
maybe there are similar companies except for the last part. but then, fpgas are usually for super high performance crap anyway
15:14:41
Grue``
paule32: src3 is a list, src2 is a string, you need to join src3 back to string to be able to compare them
15:22:45
Reinisch
hi paule32, that error message seems like it's saying, "you gave me the list ("something") instead of a string "something""
15:24:18
Reinisch
you could use (car '("mouse")) or (first '("mouse")) to get "mouse" from '("mouse")
16:58:52
Shinmera
In an ASDF system definition, how would I make a file in a module depend on a file outside of the module? as in, :coponents ((:module "foo" :components ((:file "bar" :depends-on ("baz")))) (:file "baz"))
17:00:42
jackdaniel
you have to make a separate module for file baz (you can provide pathname for module I think)
17:01:09
jackdaniel
(:module "bam" :pathname "bu" :components ((:file "baz"))) and then depend on "bam"
17:02:19
Shinmera
That doesn't work either. From the source code it seems like find-component only ever searches within the current parent of a component and not any higher up.
17:08:14
jackdaniel
for non-sibling dependencies you'd have to provide method for asdf:find-component indeed
17:09:43
jackdaniel
ah, if you don't want to, then you are out of luck, because imagine situation, where you have non-sibling dependency on "baz", but you have file "baz" at two different nodes (modules)
17:13:12
Shinmera
Here we go: (defmethod asdf/find-component:resolve-dependency-combination (component (combinator (eql :parent)) args) (asdf/find-component:resolve-dependency-spec (asdf:component-parent component) args))
17:24:43
paule32
Reinisch: thank you, now i am motivated to implement new free lisp derivate based on clisp
17:42:12
gigamonkey
I feel like this was discussed on comp.lang.lisp a long time ago but Google isn't helping me find it but is there some history about why CL:AND and CL:OR don't pass through multiple values?
17:49:20
aeth
"and passes back multiple values from the last subform but not from subforms other than the last."
17:49:26
gigamonkey
But OR doesn't, which I guess could be explained by the need to cons to save possible multiple values.
17:50:17
Bike
huh, OR specifically says if it hits the last form it does return all values, but otherwise it only returns the one, that's a bit confusing (i mean, makes perfect sense, just hard to explain)
18:02:08
shka_
is there common lisp equivalent of https://www.postgresql.org/docs/9.0/static/plpython.html ?
19:22:36
dim
nowadays we have background workers so the main CL kernel could be started on the side, and then triggers could execute in a “private” CL thread, if that's meaningful
19:23:40
dim
even better would be to expose PostgreSQL C internals too so that you could prototype core code and extensions in CL ;-)