freenode/#lisp - IRC Chatlog
Search
16:32:52
jeosol
I did actually get a lot of help initially with the folks at comp.lang.lisp before I got here, but that site got very toxic so I stopped going there, but still read the questions occasionally
16:35:14
kuribas
So I found out I can get similar performance as in haskell by using (unsigned-byte 56) instead of fixnum.
16:42:04
jackdaniel
is there a reason for that? also – where did you find my address? unless it is a virtual bottle…
17:21:29
ultimate_beginne
Would it be fair to say that C FFI is a lisp DSL for writing low-level operations? Woke up pondering the question.
17:31:47
ultimate_beginne
I guess I'm thinking along the lines of (defmacro low-level (...) (...dsl similar to loop macro but with keywords for pointers, volatile, restrict, etc...))
17:35:15
White_Flame
FFI gives you data access to low-level memory, and the ability to call low-level code. It doesn't let you write low-level operations directly
17:35:54
White_Flame
however, the native code Lisp compilers are written in Lisp, and can be extended
19:28:50
knobo
jackdaniel: does ecl garbage collect functions that is defined with a gensym as name?
19:30:08
knobo
jackdaniel: like this: (defmacro def () (let ((n (gensym))) `(defun ,n () (format nil "t"))))
23:23:55
Ukari
for example, (defmacro excute (&body expr) `(progn ,@expr)) (excute (print "foo") (print "bar")) and (eval (list 'progn (list 'print "foo") (list 'print "bar")))
23:57:17
White_Flame
defmacro will give your expr to be compiled at compiled time, and run at runtime
23:58:04
White_Flame
plus, since macros return source code that art part of a compilation unit, they're better tied to their surroundings than a standalone eval