phoe changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <http://cliki.net/> <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | SBCL 1.4.16, CMUCL 21b, ECL 16.1.3, CCL 1.11.5, ABCL 1.5.0
notzmv has quit [Remote host closed the connection]
notzmv has joined #lisp
mindCrime_ has quit [Ping timeout: 252 seconds]
rksm has quit [Ping timeout: 245 seconds]
eschulte has joined #lisp
<eschulte> does anyone know of a way to write bytes to a process in CCL? The following doesn't work (although the SBCL analog works fine) http://sprunge.us/3eQrKO
<eschulte> this would be handy to allow for using cl-store to compress stored objects through xz on their way to disk (and then restore them back from the output stream of an xzcat process)
<mfiano> does this help? https://gist.github.com/mfiano/8d21591372abbb63e93abc994f1a52dc You can then use `alexandria:copy-stream` for another input layer which looks like it buffers 4k
zotan has quit [Ping timeout: 252 seconds]
zotan has joined #lisp
<eschulte> I think I'm missing something, I'm trying to write bytes to STDIN but the function you posted takes STDIN from a string
<eschulte> do you mean create a CCL process and then use copy-stream to create a buffered copy of the :input stream?
<saturn2> try (uiop:run-program ... :element-type '(unsigned-byte 8))
mindCrime_ has joined #lisp
<aeth> uiop:launch-program is the better version in UIOP... a bit harder to get started with, though
<eschulte> aeth: thanks! I can at least write-bytes to the input stream of a process started that way.
igemnace has quit [Quit: WeeChat 2.4]
<eschulte> "that way" being uiop:launch-program
igemnace has joined #lisp
dan64 has quit [Ping timeout: 245 seconds]
mingus has quit [Read error: Connection reset by peer]
<eschulte> Yeah, launch-program works well. The only downside being that (as opposed to SBCL) I have to decide when creating the process if I want to write characters or bytes
<saturn2> once you have the byte stream you can turn it into a flexi-stream
pacon has quit [Remote host closed the connection]
jackhill has quit [Quit: Lost terminal]
<eschulte> saturn2: fantastic, thanks. That was a very simple fix.
lavaflow has quit [Ping timeout: 246 seconds]
caltelt has joined #lisp
jackhill has joined #lisp
anewuser has joined #lisp
bexx has quit [Remote host closed the connection]
jackhill has quit [Quit: leaving]
pjb has quit [Ping timeout: 248 seconds]
jackhill has joined #lisp
karlosz has joined #lisp
jackhill has quit [Quit: leaving]
jackhill has joined #lisp
beach has quit [Ping timeout: 258 seconds]
jackhill has quit [Client Quit]
jackhill has joined #lisp
torbo has joined #lisp
nanoz has joined #lisp
jack_rabbit has joined #lisp
beach has joined #lisp
<beach> Good morning everyone!
<jack_rabbit> morning, beach
t58 has quit [Quit: Night everyone!]
dddddd has quit [Remote host closed the connection]
shifty has quit [Remote host closed the connection]
<LdBeth> Hello
shifty has joined #lisp
torbo has quit [Remote host closed the connection]
Bike has quit [Quit: Lost terminal]
lavaflow has joined #lisp
orivej has quit [Ping timeout: 248 seconds]
mindCrime_ has quit [Ping timeout: 252 seconds]
makomo has quit [Ping timeout: 258 seconds]
zigpaw has quit [Remote host closed the connection]
eschulte has quit [Quit: leaving]
ypyf has joined #lisp
teej has quit [Quit: Connection closed for inactivity]
gravicappa has joined #lisp
ypyf has quit [Ping timeout: 258 seconds]
libertyprime has quit [Ping timeout: 245 seconds]
rumbler31 has joined #lisp
dvdmuckle has quit [Quit: Bouncer Surgery]
dvdmuckle has joined #lisp
Nilby has joined #lisp
_whitelogger has joined #lisp
vlatkoB has joined #lisp
teej has joined #lisp
gabbiel has joined #lisp
<gabbiel> how do I make lisp print ratios as floats?
<beach> You convert them to floats first.
<beach> clhs float
<gabbiel> that would involve traversing the tree and multiplying every number by 1.0
<no-defun-allowed> (format nil "~$" 1/2) prints `0.5` if you are FORMATting them
<no-defun-allowed> `0.50` actually
<beach> Oh, that's easier.
<gabbiel> I guess I'll have to make a special function for that
<no-defun-allowed> Seems ~f coerces to a single-float but I wouldn't depend on it.
gabbiel has quit [Remote host closed the connection]
gabbiel has joined #lisp
<gabbiel> sorry accidentally closed emacs
<gabbiel> what were you saying, and can you post link again pls
<no-defun-allowed> ~$ gives you 2dp by default, ~f coerces to a single-float before printing
<beach> You never mention the existence of a tree in the beginning, or what you do with it.
<gabbiel> those are format directives, but is there a function like scheme's exact->inexact
<beach> Here we go again.
<gabbiel> beach: true, I guess I was looking for a solution involving variables
<beach> gabbiel: It would be much better if you tell us what you want to do, rather than referring to a different language.
<gabbiel> oh ok just saw the link
<gabbiel> the function is float
<beach> That's what I said.
<gabbiel> I was going to click on link but pressed the kill window keybinding instead by accident
<loke`> gabbiel: to go bak to rationals from floats, there is RATIONAL and RATIONALIZE
<beach> Both the ~f and the ~e FORMAT directives also convert it seems.
<loke`> if you want to convert to a specific float type, you can use (COERCE 1/3 'DOUBLE-FLOAT)
<loke`> for example
<beach> loke`: what is wrong with (float 1/3 1d0)?
<gabbiel> thanks guys
<loke`> Finally, there is a library to do decimal arithmetic in QL: wu-decimal
<loke`> beach: Well, I find it less obvious. COERCE is more clear.
<loke`> But personal opinion I guess
<beach> I see.
<gabbiel> loke: so that library will properly give 2.5 instead of 2.49999
<loke`> gabbiel: Yes.
<gabbiel> nice
<beach> Though 1/4 has an exact representation as a float.
<loke`> gabbiel: It implements it by using rationals behind the scenes, and then provides a custom reader/writer and some other syntactic sugar to make it nicer.
<gabbiel> I often need proper decimal representation so thanks for informing on that library
<loke`> it contains functions for converting them to/from strings as well without losing precision.
<Nilby> I like to be slightly more ethical and uee (nicely-convince 1/3 'float)
<loke`> It's quite useful in the rare cases it's needed. :-)
<beach> gabbiel: What is "proper decimal representation"?
<loke`> In most cases I personally just use raw rationals. I rarely have to read or write them.
<gabbiel> I do all my arithmetic with ratios, and now I have to convert to decimals for this function I have
<loke`> gabbiel: sounds like wu-decimal is what you want then.
<beach> gabbiel: And why would you want to lose precision when you do?
<gabbiel> its harder to read 19/15 than 1.26
<beach> So it's only for printing?
<gabbiel> the function in question outputs grams, so I need the actual decimal so I can properly mix my stuff
<gabbiel> yeah its only for printing
<LdBeth> The dispatch print table just do the work
<beach> Then just use the appropriate format directive.
<beach> (format t "~3f" 1/3)
<beach> LdBeth: What dispatch print table?
<gabbiel> but first I need to write a subst-if like of function so I can find the ratios in the tree
<beach> Now you are talking about this mysterious tree again.
<gabbiel> lol
<beach> Why do you need to find the ratios in it?
<gabbiel> so I can use FLOAT on them
<beach> And why can't you just print them using FORMAT when you reach them?>
<beach> s/>//
pjb has joined #lisp
<gabbiel> I'm printing the whole tree you see, if they're floats already, I don't need to calculate where they are and then print them
<beach> I think (format ... "~f" ...) handles both floats and ratios.
<beach> No need to test whether it's one or the other.
<LdBeth> (set-pprint-dispatch 'ratio (lambda (s n) (format s "~F" n)))
<gabbiel> since the tree is a list, and also contains symbols, I can't do that. I'll have to settle for subst-if 'ing the numbers into floats and then printing the tree
<beach> LdBeth: Those are for the pretty printer. Why is that appropriate here?
<LdBeth> Then (pprint (list 1/2 5/3 4/3)) just show (0.5 1.6666666 1.3333334)
<gabbiel> ldbeth: this is what I was hoping for, that the printer prints them as float
<LdBeth> I believe what gabbiel want is just pretty print
<beach> LdBeth: Maybe so, yes.
caltelt has quit [Ping timeout: 252 seconds]
<gabbiel> but I wouldn't want this printing behavior to be permanent, only when my function is running
<beach> You can select a pprint table then.
<gabbiel> ok, I see, thanks guys, I'll use this pprint-dispatch stuff, apropos has helped me figure out the functions I need to make the behvaior temporary
<LdBeth> gabbiel: you can use let to bind the * PRINT-PPRINT-DISPATCH*
<LdBeth> Pretty print is fun
<gabbiel> I assume that var is already special?
<beach> This would have been much easier if it had started with "I have a tree represented as a list, and I want to print the whole thing normally, except when the leaf is a ratio, because then I want it to print as a decimal.".
<LdBeth> Yes, the convention is variable names surrounded by * are special
<gabbiel> beach: I apologize, I should have made the question more clear.
libertyprime has joined #lisp
<beach> Yeah, well, I am also notorious for not understanding descriptions like that. LdBeth caught it.
<beach> ... like the one you gave.
<gabbiel> I'll try to be more precise next time.
<gabbiel> ldbeth: correct me if I'm wrong. Do I have to copy-print-dispatch, then set-pprint-dispatch, then setf *print-pprint-dispatch* back to the copy?
rumbler31 has quit [Remote host closed the connection]
<LdBeth> You’re right
<gabbiel> lmao I thought I could "cons" a "pprint-dispatch" object or something, but I know it's not a list
<LdBeth> beach: where can I learn about presentation system used in CLIM?
<LdBeth> gabbiel: the sad thing is the actual implementation of pprint table can vary, so what you have is the things specified in the standard, copy the default pprint table then modify it
dale has quit [Quit: dale]
libertyprime has quit [Remote host closed the connection]
<gabbiel> I feels lik there should be a macro that returns a variable to the value it had when the macro was expanded
sauvin has joined #lisp
techquila has quit [Read error: Connection reset by peer]
<pjb> gabbiel: variables don't have values when the macro is expanded.
<pjb> gabbiel: also, macros can be expanded several times.
nanoz has quit [Ping timeout: 246 seconds]
<gabbiel> I mean, when its "called", I said expanded because macros aren't really functions
<gabbiel> I'm going to write this macro, but I'm having a hard time choosing a name
<pjb> gabbiel: however, you can write (eval-when (:compile-toplevel :load-toplevel :execute) (defvar *voo* 42)) (defmacro moo (var) `(setf ,var ,(symbol-value var))) (progn (setf *foo* 33) (moo *foo*) *foo*)
Arcaelyx has quit [Ping timeout: 246 seconds]
<pjb> gabbiel: macros, functions and special operators are operators, and operators can be "applied" (not with apply, but still) or "invoked".
<pjb> or merely "evaluated".
<pjb> gabbiel: note how you have to put the value of the variable in the compilation environment, using eval-when.
<pjb> gabbiel: if a macro requires that you write some boilerplate around it, then it's a bad macro.
<beach> LdBeth: There is a paper on it. Let me try to find it for you.
<beach> LdBeth: Also the CLIM specification: http://bauhh.dyndns.org:8000/clim-spec/index.html
<LdBeth> beach: thank you!
<pjb> gabbiel: also, note how it can only work on special variables.
<pjb> (another sign it's a bad macro).
<gabbiel> so this macro isn't a good idea?
<pjb> gabbiel: instead, I would propose a macro to define both the variable and a resetting function.
<pjb> or two macros, one global, and one lexical: (define-resetable-variable *foo* 42) (reset *foo*) (let-resettable-variables ((foo 42)) … (reset foo) …)
<gabbiel> makes sense, no wonder it hasn't been written, even it though it seems a good idea at first
mingus has joined #lisp
<pjb> Perhaps something like: (defmacro define-resetable-variable (name value) `(defparameter ,name ,(setf (getf 'initial-value ',name) ,value))) (defun reset-variable (name) (setf (symbol-value name) (getf 'initial-value name)))
<gabbiel> but when the function runs, surely the var will have a value. also, why couldn't it work onormal vars
abhixec has quit [Quit: leaving]
<pjb> gabbiel: the problem with lexical variables, is that their name disappear once compiled.
jprajzne has joined #lisp
<pjb> symbol-value or getf don't work on them.
<pjb> gabbiel: so forlet-resettable-variables, we will have to be more sophisticated.
hiroaki has quit [Ping timeout: 255 seconds]
<gabbiel> this is confusing, I didnt know this would be a problem: (let ((val var)) body (setf var val))
<gabbiel> also, in your opinion, if a macro needs eval-when (...) then its most likely bad?
<gabbiel> because I wrote a macro that sometimes needs it, but it's very useful
<beach> LdBeth: I have a specific paper in mind, but I can't seem to find it now. Maybe I dreamed it up.
cyberoctopi has joined #lisp
campy_fellow has quit [Ping timeout: 246 seconds]
<LdBeth> beach: that has also happened to me :D
campy_fellow has joined #lisp
campy_fellow has quit [Read error: Connection reset by peer]
<gabbiel> how do I share multi-line code properly?
<LdBeth> gabbiel: any web pastebin service is ok
<gabbiel> even for 3 lines, ok
<gabbiel> thanks
<gabbiel> wow that was quick
<pjb> gabbiel: if you want to restore a variable after usage, perhaps you want to use unwind-protect too?
<loke`> we need lisppaste back
<pjb> Actually, we'd need more than a paste service. Well, for short throwable snippets, ok. But often we have more complete code, that can be referenced years later. So perhaps something like codeshare.io
<pjb> but searchable or indexable. More like a cookbook wiki.
<gabbiel> I made this macro, and it works, so idk: https://pastebin.com/f5KDXawi
<pjb> gabbiel: this is not the same specifications.
<gabbiel> but pjb's solution is more general, allows for resetting whenever you want, that's nice
<pjb> gabbiel: what if an error occurs in body? Do you want to keep the modified value or do you want to restore the old value?
<loke`> gabbiel: Isn't that equivalent to just doing this:
<loke`> gabbiel: (let ((foo foo)) ...)
<pjb> It could be a global, or even a place.
* LdBeth agree with loke
<gabbiel> yeah I was thinking using that unwind-protect
<gabbiel> loke: I made this macro for the pprint thing
Arcaelyx has joined #lisp
<LdBeth> for pprint we really just use let
scymtym has quit [Ping timeout: 250 seconds]
<gabbiel> yeah the macro expands into a let
techquila has joined #lisp
<pjb> works on places. but foremost, it uses unwind-protect to restore it even if body makes a non-local exit (error, return, throw, etc).
schweers has joined #lisp
<gabbiel> works on places too, nice
<gabbiel> "&environment env", huh. I'm going that macro, looks really useful.
<gabbiel> *save
ebzzry has joined #lisp
<ebzzry> It is just me who’s getting 502 errors with http://l1sp.org/search?q=s-l-a-d
<gabbiel> I was also going to write a save-variables macro, or in your case, a save-places macro, I guess it'd be easy to implement by just having a places and &body arg
<gabbiel> ebzzry: I got 502 too.
shifty has quit [Ping timeout: 245 seconds]
zigpaw has joined #lisp
<gabbiel> gnite everyone
gabbiel has left #lisp ["ERC (IRC client for Emacs 26.1)"]
dkmueller has joined #lisp
<ebzzry> Xach: Similarly, I got a 404 error with https://www.xach.com/clhs?q=defun
oni-on-ion has joined #lisp
<pjb> minion: memo for gabbiel: the &environment parameter is required to handle things like (let ((x 42) (y 33)) (list 'outer (symbol-macrolet ((y x)) (list 'inner (save-place (y) (setf y 0) (list x y)) (list 'mid x y))) x y)) #| --> (outer (inner (0 0) (mid 42 42)) 42 33) |#
<minion> Remembered. I'll tell gabbiel when he/she/it next speaks.
cyberoctopi has quit [Ping timeout: 258 seconds]
Folkol_ has joined #lisp
scymtym has joined #lisp
cyberoctopi has joined #lisp
techquila has quit [Remote host closed the connection]
orivej has joined #lisp
ggole has joined #lisp
nckx has quit [Ping timeout: 264 seconds]
nckx has joined #lisp
cyberoctopi has quit [Ping timeout: 250 seconds]
techquila has joined #lisp
techquila has quit [Remote host closed the connection]
Folkol_ has quit [Quit: Textual IRC Client: www.textualapp.com]
hhdave has joined #lisp
wigust has joined #lisp
techquila has joined #lisp
wigust- has quit [Ping timeout: 246 seconds]
techquila has quit [Remote host closed the connection]
techquila has joined #lisp
jfe has quit [Ping timeout: 246 seconds]
fivo has joined #lisp
cyberoctopi has joined #lisp
beach has quit [Ping timeout: 258 seconds]
cyberoctopi has quit [Ping timeout: 246 seconds]
beach has joined #lisp
pierpal has quit [Quit: Poof]
pierpal has joined #lisp
v88m has quit [Ping timeout: 255 seconds]
maxxcan has joined #lisp
maxxcan has quit [Client Quit]
v88m has joined #lisp
cyberoctopi has joined #lisp
oni-on-ion has quit [Remote host closed the connection]
oni-on-ion has joined #lisp
oni-on-ion has quit [Remote host closed the connection]
cyberoctopi has quit [Ping timeout: 255 seconds]
aindilis has quit [Remote host closed the connection]
<fivo> Hey, is there a way to declare ignore for an outer scope?
<fivo> (let ((i 2)) (let ((j 2)) (declare (ignore i)) (print j)))
aindilis has joined #lisp
<scymtym> fivo: hi. did the eclector change work for you?
<fivo> Yes perfect thanks
<jdz> fivo: That won't work, but maybe you can use (declare (ignorable i)) in the outer LET?
aindilis has quit [Remote host closed the connection]
<scymtym> fivo: great
<beach> I don't see anything that requires IGNORE to be a closed declaration, but it won't work anyway, because in the scope between the two LETs, it is still not referenced.
aindilis has joined #lisp
<fivo> jdz: in that case I won't get a style-warning if i is not used
cyberoctopi has joined #lisp
<jdz> The fourth paragraph in section 3.3.4 describes the behaviour.
<jdz> clhs 3.3.4
<jdz> fivo: Yes, that's why I said "maybe", because I don't know why you'd want to do what you're doing at the moment.
cyberoctopi has quit [Ping timeout: 244 seconds]
grumble has quit [Quit: Well, would you look at the time. I've almost missed my ambiguous, non-existent appointment that I have scheduled just when I start to lose interest in my current conversation.]
grumble has joined #lisp
zooey has quit [Remote host closed the connection]
cyberoctopi has joined #lisp
zooey has joined #lisp
<fivo> jds: wrote a mvlet
<fivo> but actually just found a lot more sophisticated version
<fivo> so essentially just wanted the declare ignore to work as usual for that
<fivo> *jdz
frodef has joined #lisp
pankajgodbole has joined #lisp
makomo has joined #lisp
v88m has quit [Ping timeout: 252 seconds]
anewuser has quit [Ping timeout: 258 seconds]
cyberoctopi has quit [Ping timeout: 246 seconds]
Krystof has quit [Ping timeout: 246 seconds]
crystalball has joined #lisp
crystalball has quit []
asdf_asdf_asdf has joined #lisp
ebrasca has joined #lisp
Aruseus has joined #lisp
frodef has quit [Ping timeout: 246 seconds]
dddddd has joined #lisp
v88m has joined #lisp
v88m has quit [Read error: Connection reset by peer]
lumm has joined #lisp
lumm has quit [Remote host closed the connection]
xantoz has joined #lisp
Lord_of_Life_ has joined #lisp
scymtym has quit [Ping timeout: 248 seconds]
Lord_of_Life has quit [Ping timeout: 258 seconds]
Lord_of_Life_ is now known as Lord_of_Life
<schweers> fivo: do you know of metabang-bind? https://common-lisp.net/project/metabang-bind/user-guide.html
<minion> schweers, memo from jkordani: did you figure out what was going on with your code coverage issue?
cyberoctopi has joined #lisp
<schweers> jkordani: sadly no, other than that it seems to have problems with some code. For instance with lparallel.
<fivo> schweers: thanks, did not know that lib.
lumm has joined #lisp
<schweers> I use it as a drop-in replacement for LET.
cyberoctopi has quit [Ping timeout: 255 seconds]
lnostdal has joined #lisp
atgreen has quit [Ping timeout: 250 seconds]
ym555 has joined #lisp
lumm_ has joined #lisp
lumm_ has quit [Client Quit]
lumm_ has joined #lisp
lumm has quit [Ping timeout: 245 seconds]
lumm_ is now known as lumm
ym555 has quit [Read error: Connection timed out]
Aruseus has quit [Remote host closed the connection]
ym555 has joined #lisp
prxq has joined #lisp
m00natic has joined #lisp
<prxq> I'm trying to use slime to edit and run code on another machine (a windows one). I'm having trouble with the slime-tramp extension. Specifically,
Bike has joined #lisp
<prxq> the problem is that I use the cygwin ssh server, and the path to the windows file C:\this\file.cl will be /cygdrive/c/this/file.cl.
<prxq> Anyone knows how I can insert the /cygdrive/c/ part into a SLIME-FILENAME-TRANSLATION?
cosimone has joined #lisp
<pjb> prxq: emacs lisp is case sensitive and doesn't have a readtable to upcase or preserve it!
<pjb> SLIME-FILENAME-TRANSLATION doesn't exist.
pankajgodbole has quit [Ping timeout: 255 seconds]
lnostdal has quit [Ping timeout: 246 seconds]
<prxq> pjb: ya...
gxt has quit [Ping timeout: 252 seconds]
<pjb> C-h v slime-filename-translation RET explains how.
vlatkoB_ has joined #lisp
vlatkoB has quit [Ping timeout: 246 seconds]
<Xach> ebzzry: My servers are acting weird. sorry.
<Xach> ebzzry: l1sp.org is working again.
<ebzzry> Xach: thanks!
atgreen has joined #lisp
<ebzzry> Xach: should we use l1sp.org instead of xach.com/clhs for Hyperspec searching?
<prxq> pjb: mm, I see. thanks
<Xach> ebzzry: i should fix xach.com/clhs for certain, but something about the setup is giving me problems.
<Xach> ebzzry: it's not proxying properly on my new machine
<ebzzry> Xach: sysadmin mode you go. :)
<Xach> it's been 10+ years since I last made any real modifications
amerlyq has joined #lisp
<ebzzry> Xach: that’s a hell lot of time
<pjb> lisp is stable.
<Xach> when 900 years you reach look as good you will not
<ebzzry> Xach: the problem is when the problem doesn’t come from the machine+configuration, but when it’s due to external factors like changes in networknig
<Xach> these problems started when i had to add a weird nginx proxy to apache to keep php happy on a debian 6 upgrade many years ago, then bumping up to debian 9 on a new server, where half the requests are proxied and half are not
<ebzzry> then boom. one wonders what wrong one did.
<ebzzry> worse is when you’ve lost a mental map of which this and that component went.
<ebzzry> s/which/where/
<Xach> it is truly a pain
<ebzzry> Then you’d ask, "Is it worth it?"
Arcaelyx has quit [Ping timeout: 252 seconds]
<Xach> YES. for my lisp people it is always worth it.
<ebzzry> ;)
LiamH has joined #lisp
warweasle has joined #lisp
cyberoctopi has joined #lisp
wxie has joined #lisp
frodef has joined #lisp
cyberoctopi has quit [Ping timeout: 252 seconds]
wxie has quit [Quit: wxie]
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.2)]
beach has quit [Disconnected by services]
beach has joined #lisp
libertyprime has joined #lisp
v88m has joined #lisp
karlosz has quit [Quit: karlosz]
t58 has joined #lisp
libertyprime has quit [Remote host closed the connection]
cyberoctopi has joined #lisp
dale_ has joined #lisp
dale_ is now known as dale
cyberoctopi has quit [Ping timeout: 258 seconds]
lumm_ has joined #lisp
dkmueller has quit [Quit: WeeChat 2.2]
lumm has quit [Ping timeout: 258 seconds]
mindCrime_ has joined #lisp
lumm has joined #lisp
lumm_ has quit [Read error: Connection reset by peer]
sjl_ has joined #lisp
sjl_ has quit [Client Quit]
FreeBirdLjj has joined #lisp
sz0 has joined #lisp
sjl_ has joined #lisp
lumm has quit [Quit: lumm]
Nilby has quit [Ping timeout: 246 seconds]
FreeBirdLjj has quit [Read error: Connection reset by peer]
jxy has quit [Quit: leaving]
frodef has quit [Ping timeout: 258 seconds]
jxy has joined #lisp
rippa has joined #lisp
schweers has quit [Ping timeout: 264 seconds]
Arcaelyx has joined #lisp
defunkydrummer has joined #lisp
cage_ has joined #lisp
lnostdal has joined #lisp
Arcaelyx has quit [Ping timeout: 268 seconds]
chipolux has quit [Quit: chipolux]
chipolux has joined #lisp
eddof13 has joined #lisp
eddof13 has quit [Client Quit]
t58 has quit [Quit: Leaving.]
Zaab1t has joined #lisp
frodef has joined #lisp
oni-on-ion has joined #lisp
manualcrank has quit [Quit: WeeChat 1.9.1]
lumm has joined #lisp
oni-on-ion has quit [Remote host closed the connection]
oni-on-ion has joined #lisp
cyberoctopi has joined #lisp
fivo has quit [Quit: WeeChat 1.9.1]
cyberoctopi has quit [Ping timeout: 246 seconds]
atgreen has quit [Ping timeout: 252 seconds]
oni-on-ion has quit [Read error: Connection reset by peer]
hhdave has quit [Quit: hhdave]
Zaab1t has quit [Quit: bye bye friends]
cosimone has quit [Quit: WeeChat 2.3]
lnostdal has quit [Ping timeout: 246 seconds]
nowhere_man has joined #lisp
ebrasca has quit [Read error: Connection reset by peer]
ebrasca has joined #lisp
m00natic has quit [Remote host closed the connection]
nowhere_man has quit [Ping timeout: 250 seconds]
nowhere_man has joined #lisp
nowhereman has joined #lisp
nowhere_man has quit [Ping timeout: 252 seconds]
Arcaelyx has joined #lisp
mindCrime_ has quit [Remote host closed the connection]
mindCrime_ has joined #lisp
Arcaelyx has quit [Ping timeout: 252 seconds]
lumm has quit [Quit: lumm]
jack_rabbit has quit [Ping timeout: 252 seconds]
lumm has joined #lisp
lumm has quit [Client Quit]
lumm has joined #lisp
nowhereman has quit [Ping timeout: 246 seconds]
Arcaelyx has joined #lisp
nanoz has joined #lisp
kdas_ has joined #lisp
manualcrank has joined #lisp
kushal has quit [Ping timeout: 256 seconds]
cosimone has joined #lisp
FreeBirdLjj has joined #lisp
atgreen has joined #lisp
oni-on-ion has joined #lisp
t58 has joined #lisp
v88m has quit [Read error: Connection reset by peer]
v88m has joined #lisp
defunkydrummer has quit [Ping timeout: 258 seconds]
v88m has quit [Read error: Connection reset by peer]
atgreen has quit [Ping timeout: 246 seconds]
v88m has joined #lisp
cyberoctopi has joined #lisp
cyberoctopi has quit [Ping timeout: 246 seconds]
dkmueller has joined #lisp
Josh_2 has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
lumm_ has joined #lisp
defunkydrummer has joined #lisp
lumm has quit [Ping timeout: 244 seconds]
lumm_ is now known as lumm
cage_ has quit [Remote host closed the connection]
sauvin has quit [Read error: Connection reset by peer]
jprajzne has quit [Quit: jprajzne]
nanoz has quit [Ping timeout: 258 seconds]
varjag has joined #lisp
lumm has quit [Quit: lumm]
oni-on-ion has quit [Remote host closed the connection]
lumm has joined #lisp
cosimone has quit [Quit: WeeChat 2.3]
Krystof has joined #lisp
gxt has joined #lisp
asdf_asdf_asdf has quit [Ping timeout: 256 seconds]
dkmueller has quit [Quit: WeeChat 1.6]
gabbiel has joined #lisp
lnostdal has joined #lisp
<gabbiel> shoutout to pjb for the save-place macro yesterday
<minion> gabbiel, memo from pjb: the &environment parameter is required to handle things like (let ((x 42) (y 33)) (list 'outer (symbol-macrolet ((y x)) (list 'inner (save-place (y) (setf y 0) (list x y)) (list 'mid x y))) x y)) #| --> (outer (inner (0 0) (mid 42 42)) 42 33) |#
gravicappa has quit [Ping timeout: 268 seconds]
<Josh_2> Does cl have a "call-with-current-contiunation" equal?
<Bike> no, it does not.
<Bike> there are some libraries that rewrite code in continuation-passing form.
simendsjo has joined #lisp
<Josh_2> hmm you reckon I would be able to implement Guiles fibers library in CL then? It was a suggestion for my 4th year project, but it isn't built on pthreads
<Josh_2> This is an article about it https://wingolog.org/archives/2017/06/27/growing-fibers
<gabbiel> use CPS (continuation passing style) ?
Lycurgus has joined #lisp
vlatkoB_ has quit [Remote host closed the connection]
<Bike> "In Guile we implemented exceptions in terms of delimited continuations and dynamic binding" oh hey, same hat
<Bike> these "fibers" are green threads, aren't they?
<Bike> only skimmed
gabbiel has quit [Quit: Page closed]
<Josh_2> hmm idk
simendsjo has quit [Ping timeout: 258 seconds]
skidd0 has joined #lisp
saravia has joined #lisp
<skidd0> any slimv users here?
cosimone has joined #lisp
ggole has quit [Quit: Leaving]
<grewal> skidd0: Are you having an issue with it?
<skidd0> not per se. I'm wondering if being able to use the Inspector outside of a debugger is on the 'roadmap'
<pjb> skidd0: What about M-x slime-inspect RET expression RET ?
<skidd0> i'm using vim not emacs
<skidd0> which is why i'm asking about slimv not slime
<pjb> skidd0: I don't know vim (only vi). But I'd guess you know the equivalent of M-x in vim.
atgreen has joined #lisp
<skidd0> i don't know what M-x does in emacs
<skidd0> only that it is an emacs command
<pjb> It executes a command given by name.
<pjb> Specifically, we execute the slime-inspect command.
<skidd0> is slime-inspect an emacs command or a lisp function?
<pjb> It's a slime command.
<skidd0> i don't think that is available to me via slimv
<skidd0> according to this link: https://github.com/l04m33/vlime/issues/1
<skidd0> vlime (an alternative) can handle the inspect command because of a different REPL setup
<skidd0> that "enables swank-presentations"
<skidd0> so i'm curious if anyone knows if such a feature might be coming to slimv
<pjb> I don't know where the slimv or vlime developpers hang. You'd have to ask them, or do it yourself.
<skidd0> i would like to but i'm very much a novice here :(
<skidd0> i was hoping they might be here
shifty has joined #lisp
<skidd0> i could always open an issue on github i suppose
<pjb> It's doing things like that, that you quit being novice.
<pjb> You'll have to learn about vim and its scripting language.
<skidd0> indeed. and swank. and more of lisp.
<pjb> Note: this is why slime is preferable: then you'd just use emacs lisp which is very close to common lisp to modify or add features.
<skidd0> it's a lot to take on. thankfully i am done with semester.
<skidd0> i tried spacemacs for a while. perhaps a regular ol' emacs session is due
<pjb> skidd0: you're never done learning in this craft…
<skidd0> but then i'd have to surrender my superiority complex
<skidd0> pjb: indeed
<skidd0> that's why i've found my way to it
troydm has quit [Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset]
lavaflow has quit [Ping timeout: 258 seconds]
<defunkydrummer> skidd0: from the URL you quoted: "Vlime has a rather different REPL implementation, which enables swank-presentations, that means you can copy & paste most of the values returned by the REPL, like you can in Emacs. Slimv cannot do this AFAIK." --> this means you can't do what you want
<defunkydrummer> because what you want is being able to inspect a presentation
<skidd0> yes, i'm aware
<defunkydrummer> if I understand the description there right, you can't use presentations on SLIMV
<defunkydrummer> you can try VLIME otoh
<skidd0> i was asking if it was on the roadmap for slimv's development
<defunkydrummer> or... Emacs plus SLIME, which is the benchmark
<defunkydrummer> ok, sorry
<skidd0> i had some issues with vlime
<skidd0> i'm currently conducting "research" (web searching reddit and quara threads) on emacs and evil mode, vim-mode, etc
<skidd0> to project the effort i might be in for should i attempt to switch editors
eddof13 has joined #lisp
cyberoctopi has joined #lisp
<dim> skidd0: you might like spacemacs?
<defunkydrummer> if it's worth anything, I didn't know anything about Emacs and then I took the task of Lisp development using Emacs and SLIME. It only took me about 3 or 4 days to get comfortable,and now I quite like it.
Lycurgus has quit [Quit: Exeunt]
ravenous_ has joined #lisp
<dim> skidd0: http://spacemacs.org
<skidd0> dim: i tried spacemacs about a year ago
<skidd0> and had some issues with it i can't recall
<skidd0> but, first impressions aren't always fair
<dim> it's sometimes more about manging your expectations than anything else
<skidd0> ah. yes. sometimes it's best to ive in rather than test the water (my curent "research")
<skidd0> dive*
<dim> also there's sly nowadays, not just slime, in Emacs/CL land
<dim> you could install Spacemacs and dive in as you say, maybe with https://github.com/mfiano/common-lisp-sly or equivalent
<skidd0> oh! sly is written by joao? I'm using his snooze library!
<skidd0> oh
<skidd0> different sly
ravenous_ is now known as ravenousmoose
<Josh_2> sly is good
Jesin has quit [Quit: Leaving]
ravenousmoose has quit [Quit: Textual IRC Client: www.textualapp.com]
cyberoctopi has quit [Ping timeout: 258 seconds]
ravenousmoose has joined #lisp
<sjl_> skidd0: I use vlime. I tried slimv and didn't like it, but I'm happy with vlime. If slimv is feeling limiting to you it might be worth giving vlime a go.
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
<skidd0> I had issue's with vlimes read only repl and some bugginess i can't recall
<skidd0> also from about a year ago
<skidd0> but it may also be worth another shot
<sjl_> Ah, I don't use the Vlime repl much. I open a terminal split in Vim and run the lisp process right in there
rpg has joined #lisp
<dim> what about writing a CL LSP server and allowing people to use vscode and other open source "modern" editors that way? ;-)
<Josh_2> oof
<skidd0> modern editors scare me. i don't like using a mouse if i don't have to
<dim> skidd0: I mean they all have vim modal editing capabilities, or most of them do, right?
<skidd0> but it's not the real vim
<skidd0> do they have macros?
<sjl_> dim: in the last blog post I wrote I mentioned that that would be a good idea. I just don't have the time/willpower to do it myself
<sjl_> but yeah, I think it would be beneficial to the community to have an LSP server (probably piggybacking off of swank to do the dirty work behind the scenes)
troydm has joined #lisp
<sjl_> I did some work at my last job writing an LSP server for Scala that used IntelliJ as a backend, so I know exactly how ugly the sausage can get.
<dim> hehe
<dim> how much of the work is done in the cl-langserver project, you'd say?
<sjl_> oh, I've never seen that. I saw https://github.com/cxxxr/cl-lsp but it was unlicensed when I originally looked (now it looks like it's MIT, cool)
<sjl_> looking through the code I can't find where they actually implement any of the actual LSP things...
<aeth> they missed the opportunity to call the project common-lsp
<sjl_> indeed
manualcrank has quit [Quit: WeeChat 1.9.1]
<aeth> obviously with the package nickname clsp
Jesin has joined #lisp
ym555_ has joined #lisp
ym555 has quit [Ping timeout: 252 seconds]
frodef has quit [Ping timeout: 268 seconds]
scymtym has joined #lisp
makomo has quit [Quit: WeeChat 2.4]
atgreen has quit [Ping timeout: 255 seconds]
flazh has quit [Ping timeout: 268 seconds]
oni-on-ion has joined #lisp
<defunkydrummer> dim: sjl_ there's already a prototype LSP server for CL
<defunkydrummer> oops, you already found it
sz0 has quit [Quit: Connection closed for inactivity]
rpg has quit [Quit: Textual IRC Client: www.textualapp.com]
flazh has joined #lisp
v88m has quit [Read error: Connection reset by peer]
warweasle has quit [Quit: rcirc on GNU Emacs 24.4.1]
mikecheck has joined #lisp
ravenousmoose has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
karlosz has joined #lisp
cosimone has quit [Quit: WeeChat 2.3]
v0|d has joined #lisp
<skidd0> dim: i added common-lisp-sly to my .spacemacs file and tried to reload it but it says that layer can't be found
cosimone has joined #lisp
cosimone has quit [Client Quit]
bgardner has quit [Quit: leaving]
bgardner has joined #lisp
atgreen has joined #lisp
<dim> sorry I just pointed you to an interesting (?) direction, I use SLIME in Emacs myself and install slime support via Quicklisp
<skidd0> i see
pierpal has quit [Ping timeout: 252 seconds]
v88m has joined #lisp
v88m has quit [Ping timeout: 244 seconds]
frodef has joined #lisp
amerlyq has quit [Quit: amerlyq]
v0|d has quit [Remote host closed the connection]
v88m has joined #lisp
Bike has quit [Quit: take a walk]
eddof13 has quit [Quit: eddof13]
mindCrime_ has quit [Ping timeout: 258 seconds]
eddof13 has joined #lisp
LiamH has quit [Quit: Leaving.]
cyberoctopi has joined #lisp
khisanth_ has quit [Ping timeout: 246 seconds]
varjag has quit [Ping timeout: 264 seconds]
lumm has quit [Remote host closed the connection]
cyberoctopi has quit [Ping timeout: 245 seconds]
v88m has quit [Ping timeout: 258 seconds]
v88m has joined #lisp
p9fn has quit [Quit: Leaving]
lumm has joined #lisp
khisanth_ has joined #lisp
saravia_ has joined #lisp
saravia has quit [Ping timeout: 258 seconds]
saravia_ has quit [Remote host closed the connection]
libertyprime has joined #lisp
lumm has quit [Quit: lumm]
Bike has joined #lisp
<defunkydrummer> open question to all: I need to search a text (inside a string, maximum ~ 10 KB) to find a specific string, and the search must be fuzzy, because the string contains an OCR'ed text. Which library should I use? Montezuma?
<defunkydrummer> also, it would be great if I could say: "search for the presence of string F001-0002 near string INVOICE"
<defunkydrummer> although I guess I could do that simply, if i can obtain the byte.position of each search result
<defunkydrummer> if you have a suggestion, please tell our slave bot, MINION, to leave a memo for me
manualcrank has joined #lisp
rumbler31 has joined #lisp
mindCrime_ has joined #lisp
Nilby has joined #lisp
oni-on-ion has quit [Ping timeout: 258 seconds]
kdas_ is now known as kushal
asdf_asdf_asdf has joined #lisp
<asdf_asdf_asdf> Hi. If I have defined alien routine. It how assign this routine to variable, that type alien was alien, not another?
<asdf_asdf_asdf> (defien-alien-routine "WindowProc" ...) (let ((res2 'WindowProc)) ...) => Undefined alien: "WindowProc"
<Bike> yeah there needs to be an actual WindowProc in C obviously
wxie has joined #lisp
eddof13 has quit [Quit: eddof13]
<asdf_asdf_asdf> Bike, OK. Which keyword maybe "alien" should apply?
eddof13 has joined #lisp
skidd0 has quit [Quit: WeeChat 2.4]
zooey has quit [Ping timeout: 256 seconds]
pierpal has joined #lisp
zooey has joined #lisp
<aeth> asdf_asdf_asdf: You picked one of the most advanced topics in Common Lisp (and then picked an implementation-specific approach for it, which probably means 5 people in the world can answer your questions). Just use someone else's winapi bindings unless those are somehow not enough, in which case you should use some autowrapper like cl-autowrap or claw.
<Josh_2> oof
<aeth> (And those 5 people might not use IRC, might not use CL anymore, or might not have a Windows box)
pierpal has quit [Ping timeout: 244 seconds]
mindCrime_ has quit [Ping timeout: 246 seconds]
wxie has quit [Quit: wxie]
mindCrime_ has joined #lisp
<aeth> I mean, go ahead with your approach if you want. If you succeed, then the number of people becomes 6, but it might take years.
<defunkydrummer> asdf_asdf_asdf: did you see the URLs i left for you? this guy has several bindings to various Win32 APIs: https://github.com/fjames86
<defunkydrummer> you might find something useful there
<defunkydrummer> and at least his GUI bindings still work OK, (see "ftw" library)
pierpal has joined #lisp
sjl_ has quit [Ping timeout: 252 seconds]
<asdf_asdf_asdf> OK, thanks.
asdf_asdf_asdf has quit [Quit: Page closed]
Lord_of_Life_ has joined #lisp
orivej has quit [Ping timeout: 244 seconds]
Lord_of_Life has quit [Ping timeout: 248 seconds]
Lord_of_Life_ is now known as Lord_of_Life
<LdBeth> Good morning everybody
<Josh_2> Mornin
eddof13 has quit [Quit: eddof13]
<defunkydrummer> (signal 'good-morning)
<no-defun-allowed> Good morning everyone! [Condition of type GOOD-MORNING]
defunkydrummer has quit [Remote host closed the connection]
mindCrime_ has quit [Ping timeout: 268 seconds]
nicdev has joined #lisp