luis changed the topic of #slime to: SLIME, the Superior Lisp Interaction Mode for Emacs | https://common-lisp.net/project/slime | https://irclog.tymoon.eu/freenode/%23slime | https://irclog.whitequark.org/slime
nicktick has joined #slime
kagevf has quit [Ping timeout: 268 seconds]
kagevf has joined #slime
pjb has quit [Remote host closed the connection]
pjb has joined #slime
nicktick has quit [Ping timeout: 240 seconds]
nicktick has joined #slime
seok has joined #slime
<seok> is there a relatively simple way to pass values from slime runtime to emacs ?
<seok> symbols or strings
OlCe has joined #slime
nicktick has quit [Ping timeout: 246 seconds]
<edgar-rft> seok: slime runs inside of emacs, so everything already *is* in emacs, what do you want to do?
CrashTestDummy2 has joined #slime
CrashTestDummy has quit [Ping timeout: 252 seconds]
nicktick has joined #slime
OlCe has quit [Ping timeout: 260 seconds]
OlCe has joined #slime
cage_ has joined #slime
OlCe has quit [Remote host closed the connection]
OlCe has joined #slime
<pjb> seok: if you mean swank, then there is, of course.
<pjb> seok: the question is where you want to initiate the transfer of data from.
<pjb> seok: also, note that for symbol, it's delicate, since Common Lisp symbols have a home package (symbol-package), and usually have uppercase names, while emacs lisp symbols don't have a home package, and usually have lowercase names.
<pjb> seok: so it may be more convenient to avoid them.
<pjb> seok: that said, swank\slime perform some conversion between CL symbols and el symbols, so that may be acceptable.
cage_ has quit [Quit: Leaving]
gendl__ has quit [Ping timeout: 245 seconds]
gendl__ has joined #slime
CrashTestDummy3 has joined #slime
CrashTestDummy2 has quit [Ping timeout: 265 seconds]
CrashTestDummy has joined #slime
CrashTestDummy3 has quit [Ping timeout: 260 seconds]
OlCe has quit [Ping timeout: 240 seconds]
nicktick has quit [Ping timeout: 240 seconds]
<seok> Oh you are here also pjb : ) thank you I will take a look
<seok> I'm just getting started with emacs lisp and thought it would be cool to write macros from common lisp to elisp and vice versa
<pjb> seok: yes, one can port emacs lisp code to common lisp and vice-versa.
<pjb> seok: but there are sufficient differences to make it inconvenient to use the same code in both.
<seok> Yes, there seems to be some difference in object types in CL and elisp
<seok> I guess you can pass around hash tables but not some other values
<pjb> seok: Apart from slime/swank RPC, you could consider integrating libecl (ecl) into an emacs plugin module (first step) and then integrating emacs library to give a good access to it from ecl.
<pjb> seok: so we could just write emacs extensions in Common Lisp.
<seok> Is this only applicable to ecl not sbcl ?
<pjb> We would have a new type of function, common-lisp functions that would be evaluated thru ecl.
<pjb> seok: ecl = Embeddable CL. It's designed for this purpose.
<pjb> there's no libsbcl.so
<seok> ah
<pjb> so it's possible but it will require more work.
<seok> I read in Elisp docs that it's not very fast
<seok> Would it be able to cope with some heavier workloads in ECL?
<pjb> seok: the alternative would be for me to have time to work on a C compiler targetting lisp, so that we may compile GNU emacs C code into a CL image. Then we would run emacs directly inside a lisp image, and we could call CL functions from emacs similarly.
<pjb> seok: I would bet ecl is faster.
<pjb> Well, there are works to compile to native code emacs lisp code, so it could be equivalent.
<seok> "the alternative would be for me to have time to work on a C compiler targetting lisp" if you do this wouldn't we be able to run any C program in lisp image ?
<seok> that's kind of a big deal
<pjb> of course.
<pjb> We would also compile C libraries instead of using FFI.
<pjb> But I would expect that a lot of C code around uses too many UB to be able to work in the lisp image.
<pjb> Only the cleanest C code would work.
<seok> how fast do you reckon this C environment would be ?
<pjb> As fast as any lisp function.
<pjb> so between 0.9 and 2.0 times gcc speeds, with sbcl.
<seok> 2 times GCC speed? that's faster than other C compilers ?
<pjb> sorry, I mean 0.9 and 2.0 times the times of gcc.
<seok> well if the times are just linear 2x of C compliers running from a lisp image
<seok> that's pretty darn good
<pjb> And when sicl will be ready, I'd expect to be closer to 1x in general.
<pjb> sicl will be quite optimized as a compiler…
<seok> Will Sicl take over other implementations as the implementation for CL?
<pjb> That's not the purpose.
<pjb> The purpose is to serve as a reference implementation and as a toolbox that other implementations can use and cherry pick from.
<seok> Ok
<seok> Well, if you can run C close to optimal speed on lisp, you can run compilers for other languages too on top of that
<seok> meaning you can use objects and libraries from pretty much all other languages out there
<seok> Sounds like a programming language supremacy scenario too me
<seok> to me
<pjb> Shhh!
<pjb> our secret plan…