<Bike>
check the documentation on common-lisp-indent-function for details
<pjb>
stylewarning: it's not a slime hack.
<Bike>
1 means "indent the first thing like a function argument, the rest like a body"
<stylewarning>
yeah i understand it; i was just trying to exaggerate how easy and simple emacs is by improving it with One Weird Trick
<stylewarning>
(i understand it but i did not know about it; thanks!)
tophullyte has joined #lisp
Nilby has joined #lisp
<Bike>
no problem
psilotorp has joined #lisp
braws has quit [Ping timeout: 246 seconds]
indathrone has quit [Quit: Leaving]
psilotorp has quit [Ping timeout: 276 seconds]
pbaille has quit [Ping timeout: 240 seconds]
contrapunctus has left #lisp ["Disconnected: closed"]
tophullyte has quit [K-Lined]
anewuser_ has joined #lisp
tophullyte has joined #lisp
anewuser_ has quit [Changing host]
anewuser_ has joined #lisp
sm2n has joined #lisp
anewuser_ is now known as anewuser
CL-ASHOK has joined #lisp
CL-ASHOK has quit [Ping timeout: 246 seconds]
psilotorp has joined #lisp
dwpwsz has joined #lisp
lotuseater has quit [Quit: ERC (IRC client for Emacs 27.2)]
ukari has quit [Remote host closed the connection]
ukari has joined #lisp
LispSporks has joined #lisp
contrapunctus has joined #lisp
Oladon has joined #lisp
spikemaster has left #lisp ["ERC (IRC client for Emacs 27.1)"]
Inline has quit [Ping timeout: 246 seconds]
gzj has quit [Read error: Connection reset by peer]
gzj has joined #lisp
<White_Flame>
here's a problem: define some *FEATURES* flags, load some systems, but some systems pull cached .fasls that were built with other *FEATURES* enabled
<White_Flame>
something that comes to mind is that .fasl files should record which #+/#- tests were performed
<White_Flame>
and be considered out of date if the current *features* don't reflect the same
<White_Flame>
or is that something that can/should be managed at the asdf/ql level?
aryzach has joined #lisp
<aryzach>
Hey, I've never used IRC before. I'm having an issue with sbcl and was pointed here
<White_Flame>
the particular flags here are the no-ssl flags from hunchentoot/socket.
<White_Flame>
but if *features* is the wrong place for those, then the problem still exists in whatever arbitrary pre-load config is used
<White_Flame>
so a singular place to track would be beneficial
tophullyte is now known as help
help is now known as Guest7386
orivej has quit [Ping timeout: 252 seconds]
Guest7386 has quit [Quit: Leaving]
tophullyte has joined #lisp
<fiddlerwoaroof>
lukego: I'm not sure if this goes best here, in #slime or in #clim :) but I now want a little widget area in my repl I can draw to with CLIM
swflint has quit [Ping timeout: 258 seconds]
gum has quit [Ping timeout: 240 seconds]
<fiddlerwoaroof>
Like a toolbar or something, so that when do something like (+ (accept 'integer) (accept 'integer)), there's presentations "pinned" somewhere in my repl for quick access
orivej has joined #lisp
<fiddlerwoaroof>
(Not demanding, just articulating my current thoughts about CLIME)
<fiddlerwoaroof>
Also, interesting feedback about the macos situation: my work mac (x86,emacs 28) displays things correctly; my personal mac (arm64, emacs 27) doesn't
<fiddlerwoaroof>
Maybe I'll try getting emacsGit on my personal mac tonight
<fiddlerwoaroof>
This is like next-level Lisp REPL stuff
CL-ASHOK has quit [Remote host closed the connection]
CL-ASHOK has joined #lisp
douglas has joined #lisp
xeelad has joined #lisp
<fiddlerwoaroof>
I get it :)
<fiddlerwoaroof>
So, now the question is, can I run clim-listener inside emacs . . .
<fiddlerwoaroof>
I think I might port the glue code to javascript too
<fiddlerwoaroof>
Anyways, time for dinner
jnewton has joined #lisp
CL-ASHOK has quit [Ping timeout: 260 seconds]
<pjb>
White_Flame: it's difficult to collect the tests, since #+/#- tests are performed at read-time (of compilation-time). Furthermore, some other tests of *features* could be performed explicitely in eg. eval-when at compilation-time or load-time.
<pjb>
White_Flame: but I agree that this is something that should be considered.
<pjb>
White_Flame: in my build processes, notably for production, clearing the cache and compiling everything from scratch is usual.
dwpwsz has quit [Ping timeout: 260 seconds]
<White_Flame>
right, I mean that the #+/#- readers need to notify their context of the test, and teh fasl file format might store the subset of tested symbols that are present/missing
ahungry has quit [Ping timeout: 240 seconds]
<White_Flame>
it wouldn't work to store the entire features list, as only the tested ones matter for the building of that file
<White_Flame>
but yes, that detection can be foiled, but at least the standard boolean feature usage would be tracked
<pjb>
White_Flame: this could be combined with the compilation-unit.
<White_Flame>
yep
ahungry has joined #lisp
orivej has quit [Ping timeout: 268 seconds]
<pjb>
I don't see how it could be implemented conveniently in a conforming way (the dispatching reader macros could be substituted, but it would be more difficult for explicit tests that can use a number of different operators). The implementation could detect that *features* is passed as argument to certain functions, and record the test results.
<White_Flame>
yeah, my idea would simply be that the default reader macro implementations implicity perform the recording
<pjb>
(member 'my-package::foo *features*)
<White_Flame>
if the info isn't known to the fasl, then it won't make any decision on that particular feature flag
<pjb>
White_Flame: well, I'm thinking about explicit tests too because we have a featurep CDR…
<White_Flame>
afk
orivej has joined #lisp
ahungry has quit [Quit: ERC (IRC client for Emacs 28.0.50)]
CrazyPython has quit [Read error: Connection reset by peer]
ahungry has joined #lisp
john__ has joined #lisp
xeelad has left #lisp [#lisp]
gaqwas has quit [Ping timeout: 260 seconds]
CrashTestDummy has quit [Quit: Leaving]
LispSporks has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
CL-ASHOK has joined #lisp
Sheilong has quit []
<stylewarning>
CDRs should be rejuvenated and a committee of lisp implementer representatives a should be formed imho
loli has quit [Quit: WeeChat 3.1]
loli has joined #lisp
jnewton has quit [Ping timeout: 265 seconds]
CrashTestDummy has joined #lisp
lottaquestions has joined #lisp
<lottaquestions>
Hi all, what is the lispschool IRC?
<lottaquestions>
my chat client catastrophically broke down and I lost all my saved settings
renzhi has joined #lisp
CL-ASHOK has quit [Ping timeout: 246 seconds]
<no-defun-allowed>
#clschool?
lottaquestions94 has joined #lisp
<no-defun-allowed>
stylewarning: call it the CDDR
notzmv has quit [Ping timeout: 252 seconds]
<lottaquestions>
no-defun-allowed: Thanks
amba has joined #lisp
prxq_ has joined #lisp
prxq has quit [Ping timeout: 268 seconds]
<stylewarning>
no-defun-allowed: implementations of CDRs are called CDR-CODEs
<lukego>
fiddlerwoaroof: pinned presentations are exactly what I'm about to hack! :-) I was thinking about this while walking the dog too. I'm thinking or now a `slime-clime-remember' command that just appends an image to some buffer, e.g. *clim remembered*, which you can then select from alongside the REPL. This should be easy and work well because in Emacs it already works to copy-paste the images anywhere you like
<ahungry>
I've always hated that that domain is very unfortunately named - what you would think it would be is not CL related at all - was the thought process, "Hey, this domain is taken, so drop the w and let many confused users hit the wrong site?"
<pjb>
ahungry: CL = Common Lisp wIKI = wiki. CLIKI seem to be obvious.
<ahungry>
Should have just went with lispwiki.(com|net|org) or commonlispwiki or something
<ahungry>
So, why would the 'w' being omitted be obvious?
<ahungry>
in Common Lisp Wiki?
<pjb>
ahungry: you can always get those domain and redirect them.
<pjb>
ahungry: or ask common-lisp.net to add a wiki.common-lisp.net redirected to cliki.net
<lukego>
I'm not really feeling an urgent need for CLIM "Commands" yet. Seems like if I have a REPL somewhere then I can get a lot of mileage out of just calling (ACCEPT 'FOO) and then manipulating it using code like (describe *) etc.
<ahungry>
thats not a bad idea, although all the literature has cliki.net propagated out there, and if someone goes to type it from memory, its very easy to incorrectly remember
<ahungry>
Was a huge WTF when I first started with CL
cer-0 has quit [Ping timeout: 240 seconds]
<pjb>
common-lisp.net: Registry Tech ID: REDACTED FOR PRIVACY
<pjb>
ahungry: if you google for common lisp wiki, you find cliki.net as the first result.
psilotorp has quit [Remote host closed the connection]
<ahungry>
Hm, I'm not gonna try to visit it, but it looks like the missing 'w' domain isn't registered on whois anymore
<beach>
Good morning everyone!
CL-ASHOK has quit [Ping timeout: 252 seconds]
psilotorp has joined #lisp
tophullyte has quit [Remote host closed the connection]
tophullyte has joined #lisp
asarch has joined #lisp
psilotorp has quit [Ping timeout: 246 seconds]
cer-0 has joined #lisp
jurov has quit [Ping timeout: 260 seconds]
White_Flame has quit [Ping timeout: 250 seconds]
White_Flame has joined #lisp
amba has quit [Ping timeout: 240 seconds]
bitmapper has quit [Quit: Connection closed for inactivity]
sloanr has quit [Remote host closed the connection]
torbo has quit [Remote host closed the connection]
Hea has joined #lisp
jeosol has joined #lisp
xkapastel has quit [Quit: Connection closed for inactivity]
booaa has joined #lisp
aeth has quit [Ping timeout: 252 seconds]
aeth has joined #lisp
douglas has quit [Read error: Connection reset by peer]
douglas has joined #lisp
douglas has quit [Read error: Connection reset by peer]
orivej has quit [Ping timeout: 240 seconds]
booaa has quit [Ping timeout: 268 seconds]
Bike has quit [Quit: Lost terminal]
ahungry has quit [Remote host closed the connection]
renzhi has quit [Ping timeout: 246 seconds]
homonyms has quit [Ping timeout: 252 seconds]
jnewton has joined #lisp
<fiddlerwoaroof>
White_Flame: I put a little thing together with eclector that re-implemented those sharp sign macros
<fiddlerwoaroof>
To generate forms
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
jnewton has quit [Ping timeout: 240 seconds]
<fiddlerwoaroof>
I think it'd be nice to have a standardized IR for READ that's equivalent to the textual syntax that is then macro-expanded to the conforming behavior
<fiddlerwoaroof>
Although, this is probably impossible without forcing everyone to rewrite their reader macros :)
<White_Flame>
eh, the reader macro interface is weak anyway
<White_Flame>
only 1 character dispatch, and only 1 char of readahead
gzj has quit [Remote host closed the connection]
rumbler31 has quit [Remote host closed the connection]
gzj has joined #lisp
rumbler31 has joined #lisp
<White_Flame>
(btw, after entirely too long did I (presumably) parse your handel correctly, assuming the "wo" stands for "without" :) )
<fiddlerwoaroof>
Isn't the issue figuring out how much of the file a macro function will consume?
<fiddlerwoaroof>
White_Flame: it does
<fiddlerwoaroof>
It was a sort of lame joke I thought of as a teenager, and it's stuck around
<White_Flame>
a reader macro is just given the stream; are there other things involved that need to predict the length that it will consume?
<moon-child>
OH
<fiddlerwoaroof>
White_Flame: no, but I think that makes it impossible to go from Text -> IR -> the conforming return value for read, right?
<fiddlerwoaroof>
Unless you do something like record what text was read and then pass it as a string to an intermediate reader-macro function
<White_Flame>
oh, you mean if #+ etc generated source that performed the test in the expanded code
<White_Flame>
and yeah, I don't think that'd be able to work
mindCrime_ has quit [Remote host closed the connection]
<fiddlerwoaroof>
Which effectively replaces the standard readtable
jurov has joined #lisp
narimiran has joined #lisp
lansiir has joined #lisp
oldtopman has quit [Read error: Connection reset by peer]
notzmv has joined #lisp
waleee-cl has quit [Quit: Connection closed for inactivity]
slyrus has joined #lisp
loli has quit [Quit: WeeChat 3.1]
jnewton has joined #lisp
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
loli has joined #lisp
<lukego>
Is there a kind of wrapper stream that adds indentation? I'm writing some recursive DESCRIBE-OBJECT methods and I'd like to have the inner ones indented more but I don't think there's a standard printer variable to look at for this
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
Oladon has quit [Quit: Leaving.]
CL-ASHOK has joined #lisp
<fiddlerwoaroof>
lukego: the pretty-printer can do that
<fiddlerwoaroof>
But it's sort of annoying
<fiddlerwoaroof>
PPRINT-LOGICAL-BLOCK and then PPRINT-INDENT inside
CL-ASHOK has quit [Ping timeout: 240 seconds]
cer-0 has quit [Quit: leaving]
<lukego>
Every time I try to do this via the pretty printer I end up failing :-| and doesn't it require every method at every level to use pretty printer directives? Or does it "just work" with normal code doing format with ~& and ~% ?
<lukego>
I think I'm looking for something more loosely coupled that this
<White_Flame>
yeah, I've had custom print-object methods that I wanted to be included in with the pretty-print indentation, but never got far
<fiddlerwoaroof>
I think PPRINT-INDENT applies after every newline
<fiddlerwoaroof>
But, I've always been a bit annoyed by it
* lukego
notices something called INDENTING-OUTPUT
<lukego>
oh that's CLIM :)
tophullyte has quit [Quit: Leaving]
jurov_ has joined #lisp
jurov has quit [Ping timeout: 260 seconds]
aartaka_d has joined #lisp
aartaka has quit [Ping timeout: 240 seconds]
pbaille has joined #lisp
jnewton has quit [Ping timeout: 252 seconds]
<fiddlerwoaroof>
I've thought that a bunch of this stuff in CLIM should be extracted into standalone libraries
<beach>
That's a very good idea. Doing so will put pressure on the extractor to design a clean protocol for it.
balavir has joined #lisp
<slyrus>
yeah, I had a hell of a time trying to get indented text with the pretty printer. I could never get it to not add an extra indented line at the end of my output. Unclear if that was my operator error or a bug in the pretty printer.
<beach>
jnewton: Did you ever finish the Baker SUBTYPEP code?
<lukego>
I'm writing a command to do the pinning, but all it actually does is copy-paste the image to the end of a buffer. you can also do that manually. (but if the point is right *on* a CLIM image then keyboard events get screwed up at the moment, workaround is to click somewhere else to escape)
<fiddlerwoaroof>
lukego: gool
<fiddlerwoaroof>
cool, that is
<lukego>
ganks!
<fiddlerwoaroof>
I've also noticed that there seems to be some issue with ACCEPT
<lukego>
I'm noticing now that ACCEPT seems to be laggy, about one second to get a result, and I hear my laptop fan
<lukego>
same thing or somehing else?
<fiddlerwoaroof>
Sometimes something like (+ (accept 'integer) (accept 'integer)) will use the first click twice and never prompt for a second one
<fiddlerwoaroof>
I haven't noticed the lag issue
<lukego>
maybe it's related to having 1519 presentations in each image. but it's no sweat with mouseover tooltips so Emacs seems to handle the "find where the pointer is" problem fine
<lukego>
hm that problem sounds odd indeed
<lukego>
maybe both click and release events are being used. I don't have the event handling right. I really don't like having a [t] default handler that's also screwing up keyboard input etc. need a better solution.
johannes_ has joined #lisp
nij has joined #lisp
johannes_ is now known as kenran
<lukego>
I wanted to just bind a command on mouse-1 but didn't figure out how to do that since Emacs seems to insist on putting the "area id" into the event, e.g. [:72 mouse-1] if you click on presentation number 72, and I don't want to have thousands of separate key bindings for every area that might be clicked
<lukego>
but I haven't used Emacs images before and might be missing something. I tried asking #emacs but got snarky "this is not how you are supposed to use emacs" answers and gave up there.
Sauvin has joined #lisp
<Nilby>
There's a long history of "this is not how you are supposed to use emacs" being proved wrong.
mindCrime_ has quit [Ping timeout: 252 seconds]
<lukego>
The answer to most of my questions on internet forums is "you are not supposed to do that" so I am used to it :) but exhausted with the process of trying to negotiate and establish enough credibility to have questions taken at "yes this is exactly what I want to do" face value.
mindCrime_ has joined #lisp
imode has quit [Ping timeout: 240 seconds]
<jackdaniel>
fiddlerwoaroof: it is hard to improve it as it is, managing multiple libraries would be even harder. also you may simply load the system clim and you basically have a headless clim (i.e only backend-independent abstractions)
<beach>
jackdaniel: Still, if someone wants to extract some stuff and create a good protocol for it, I think that should be encouraged.
<jackdaniel>
(and for even lower level primitives without presentation stuff, depend on clim-basic)
<fiddlerwoaroof>
McClim has stuff like multiprocessing abstractions, right?
<jackdaniel>
beach: if they want to - sure. that said this strangely resembles: I want a CL standard but without deprecated features (i.e CL without remove-if-not)
<jackdaniel>
fiddlerwoaroof: yes, afaik the original bordeaux threads code was based on it. that said, the history made a leap and now these abstractions are implemented in terms of bordeaux threads
<beach>
jackdaniel: Oh? I guess I didn't see that.
<jackdaniel>
s/based/inspired/
<fiddlerwoaroof>
It seems to me that at least some of this maintenance burden could be reduced by extracting stuff that really isn't directly GUI-related
<jackdaniel>
beach: you didn't see people asking for modernizing CL standard to remove "unnecessary" features?
CL-ASHOK has joined #lisp
<beach>
jackdaniel: Sure, but I didn't see any analogous desire for CLIM/McCLIM.
fabjan has joined #lisp
<fiddlerwoaroof>
The stream stuff might be more central to how CLIM works, though
<jackdaniel>
isn't "let's take CLIM extended streams and make them a standalone library" something in this spirit?
<beach>
I guess I don't see it that way, but I get your point.
<jackdaniel>
(like - treat everything else as an "unnecessary" feature)
<fiddlerwoaroof>
I'm not saying don't export the symbols from the CLIM package
<fiddlerwoaroof>
So, I'm not suggesting that the "standard" here change
<Nilby>
BTW, here a thing to indent code to a string with the pretty printer: https://plaster.tymoon.eu/view/2439#2439 Of course it assumes you want/like/have tweaked the way the pretty printer indents.
<fiddlerwoaroof>
And, as it is, gray streams are a bit low-level to be easy to use
<jackdaniel>
as I said, I'm all for people hacking however they want with the code; until I'm made to maintain two separate libraries instead of one ;)
<fiddlerwoaroof>
This is a strategy to make someone else maintain part of the code ;)
<jackdaniel>
I'll better go carry on with my day before I'll be dubbed as a "this is not how you are supposed to hack things"-saying person :)
<jackdaniel>
see you later (~12cet) \o
<beach>
Take care.
shka_ has joined #lisp
jnewton has quit [Ping timeout: 268 seconds]
nij has left #lisp ["#lisp"]
Hea has quit [Remote host closed the connection]
kenran has quit [Quit: Lost terminal]
johannes_ has joined #lisp
johannes_ is now known as kenran
hypercube has joined #lisp
<lukego>
Nilby: Thanks for sharing. doesn't apply in my situation because I'm recursively calling functions that print arbitrary text to an output stream and I want to indent some of the inner calls. (It's not code so I can't READ and PRINT it.) I could do this at the string level - capture recursive call output to string, replace newlines with indented versions, output again - but that sounds a bit kludgy.
jnewton has joined #lisp
mindCrime_ has quit [Ping timeout: 240 seconds]
nostoi has joined #lisp
domovod has joined #lisp
<fiddlerwoaroof>
Haskell has a cool pretty-printer I've used from time to time
<fiddlerwoaroof>
It's built around combinators like "put this text next/above/below to that"
<fiddlerwoaroof>
But it has the typical "make arbitrary strings valid programs" characteristic of operator-heavy Haskell libraries
<fiddlerwoaroof>
Hmm, I guess that's been fixed
random-nick has joined #lisp
absurdum has joined #lisp
gzj has quit [Remote host closed the connection]
pve has joined #lisp
gzj has joined #lisp
Krystof has quit [Ping timeout: 252 seconds]
narimiran has quit [Ping timeout: 246 seconds]
<lukego>
Hey CLIM is pretty great :). I'm more confident that I can use it to do a bunch of other related tasks now e.g. creating circuit board descriptions that can be translated from output records into Gerber manufacturing data, and defining the "land" patterns for ICs showing the exact size/shape/position of pads for soldering things onto.
narimiran has joined #lisp
<lukego>
The fact that CLIM APIs are high-level enough that the source code can act as a nice abstract description, and output records capture enough transformations to easily do things like detect overlapping bounding boxes, and that output records are also abstract enough to translate into other formats like SVG/Gerber, really adds up to an awesome framework
<phoe>
I am now tempted to ask someone for an Online Lisp Meeting showing the basics of creating a CLIM application from scratch
<Nilby>
CLIM was used to design later lisp machines too :)
<lukego>
especially so since the output records can contain arbitrarily much metadata in the form of presentations e.g. that I can use to partition the final designs into different layers for the PCB and so on
<phoe>
I'd totally watch this!
CL-ASHOK has quit [Ping timeout: 260 seconds]
<beach>
I obviously knew that CLIM is great, since I started working on McCLIM more than 20 years ago, but it is good that this positive information is coming from someone other than me from time to time. :)
<beach>
Maybe such information could convert some GTK/FFI users.
<beach>
phoe: That's a great idea!
<lukego>
beach: I guess that CLIM has always presented itself as an all-or-nothing proposition to me. I'm much happier to see it as a collection of protocols for rich geometric drawing.
IPmonger has quit [Ping timeout: 265 seconds]
<lukego>
and really better than e.g. SVG which puts too much smarts into the renderer -- if I'd be generating SVG directly, using transformations etc that go straight into the output, then I wouldn't know things like the bounding boxes of my output and that would be a bit blinding.
IPmonger has joined #lisp
<lukego>
So yeah I am glad to finally be seeing CLIM as a practical tool rather than a dmo
<lukego>
demo
<phoe>
beach: who should I ask for such a presentation?
* phoe
starts by joining #clim
Guest10524 has left #lisp [#lisp]
myall_ has joined #lisp
rogersm has joined #lisp
surabax has joined #lisp
myall has quit [Ping timeout: 265 seconds]
hjudt has quit [Ping timeout: 260 seconds]
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
ljavorsk has joined #lisp
Krystof has joined #lisp
anticrisis has quit [Read error: Connection reset by peer]
<fiddlerwoaroof>
The PDF backend also works ok
* fiddlerwoaroof
"ok" is too weak here
splittist has quit []
splittist has joined #lisp
hjudt has joined #lisp
CrazyPython has joined #lisp
<flip214>
scymtym: with sbcl HEAD clim.flamegraph doesn't hang.
Guest10524 has joined #lisp
<flip214>
but I get lots of WARNING: Dropping #S(EVENT :KIND ENTER/UNBLOCK :NAME RELEASE-MUTEX :TIME 1620891298144560 :VALUES GRAB-MUTEX) event since there is no corresponding enter event on the stack.
heisig has joined #lisp
v88m has quit [Ping timeout: 252 seconds]
nostoi has quit [Quit: Verlassend]
OlCe has joined #lisp
tumdum has quit [Ping timeout: 240 seconds]
asarch has quit [Quit: Leaving]
beach` has joined #lisp
OlCe has quit [Ping timeout: 260 seconds]
beach has quit [Ping timeout: 260 seconds]
skapata has quit [Remote host closed the connection]
CrazyPython has quit [Read error: Connection reset by peer]
aartaka_d has quit [Ping timeout: 252 seconds]
aartaka_d has joined #lisp
CrazyPython has joined #lisp
CrazyPython has quit [Read error: Connection reset by peer]
aartaka has quit [Ping timeout: 260 seconds]
aartaka_d has quit [Ping timeout: 246 seconds]
beach` is now known as beach
aartaka has joined #lisp
jnewton has joined #lisp
<flip214>
scymtym: runnning hunchentoot I tried (clim.flamegraph.examples.recording:with-recording () (sleep 10)) and using external tools to provide traffic; but there's no recorded run visible.
<flip214>
If I use (w-r () (dotimes (i 500) (...))) I can see and select all threads in the flamegraph; what's wrong in the HT case?
<nij>
In particular, I'd like to let my lisp repl and my terminal talk to each other through a unix domain socket.
zacts has joined #lisp
zacts has quit [Client Quit]
monolithic has joined #lisp
<jackdaniel>
nij: examples that use the local socket are: swank server and clx
psilotorp has joined #lisp
<nij>
jackdaniel: I'm actually looking at slynk server and trying to extend. Does swank server talk through local socket already?!
<nij>
I will also check clx out. THanks!
Lycurgus has quit [Quit: Exeunt]
zaquest has quit [Quit: Leaving]
psilotorp has quit [Ping timeout: 250 seconds]
zaquest has joined #lisp
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 252 seconds]
Lord_of_Life_ is now known as Lord_of_Life
heisig has quit [Quit: Leaving]
IPmonger has quit [Quit: ZNC 1.7.5+deb4 - https://znc.in]
IPmonger has joined #lisp
mrchampion has quit [Ping timeout: 252 seconds]
<jdz>
nij: Also, the document you linked seems to be for SBCL 0.9.8.6. Why? There's SBCL documentation on sbcl.org (http://sbcl.org/manual/index.html), and, depending on how and where you've installed SBCL, it could also be available locally (like /usr/local/share/doc/sbcl/sbcl.html).
mrchampion has joined #lisp
CL-ASHOK has joined #lisp
<CL-ASHOK>
Is there a way to 'call' a function from a .lisp file without having to type and run (function-name ...)
<CL-ASHOK>
For example, I can C-M-x or C-x C-e on a (defun ...) but that just evaluates the defun - I want to be able to quickly run the function without having to type it out
ljavorsk has quit [Ping timeout: 240 seconds]
<jdz>
CL-ASHOK: If you want to do it from Emacs (similar to C-M-x), then you just define an interactive function in Emacs that does what you want. Try C-h k C-M-x.
hjudt has quit [Ping timeout: 260 seconds]
jnewton has joined #lisp
<CL-ASHOK>
jdz: Thanks. Would be for a specific function that I have defined? Or can I make it work on all functions (basically everytime I have my cursor in a defun form, I want to be able call the function being defined there?)
gzj has joined #lisp
gzj has quit [Read error: Connection reset by peer]
gzj has joined #lisp
gzj has quit [Remote host closed the connection]
<jackdaniel>
fiddlerwoaroof: regarding morning: I want to make available parts of mcclim as separate libraries, but I think that extracting extended streams into one library is way too small (and coordination burden will outweight benefit of such separation)
gzj has joined #lisp
gzj has quit [Read error: Connection reset by peer]
amb007 has quit [Read error: Connection reset by peer]
<jackdaniel>
what I want to do is to provide silica (that is the windowing) as a library so mcclim backends can be used to write separate toolkits
<jackdaniel>
(i.e not concerned about this particualr way of doing things)
gzj has joined #lisp
amb007 has joined #lisp
cage_ has joined #lisp
orivej has joined #lisp
niflce has joined #lisp
hjudt has joined #lisp
seok has quit [Quit: Connection closed]
hiroaki has quit [Ping timeout: 260 seconds]
wsinatra has joined #lisp
Inline has joined #lisp
Bike has joined #lisp
gzj has quit [Remote host closed the connection]
Sheilong has joined #lisp
gzj has joined #lisp
gzj has quit [Read error: Connection reset by peer]
gzj has joined #lisp
hiroaki has joined #lisp
lowryder has quit [Remote host closed the connection]
lowryder has joined #lisp
jnewton has quit [Ping timeout: 265 seconds]
CL-ASHOK has quit [Ping timeout: 252 seconds]
<Josh_2>
Afternoon
long4mud has quit [Quit: WeeChat 3.0.1]
<pjb>
nij: what's wrong with ptys?
CL-ASHOK has joined #lisp
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
cer-0 has joined #lisp
CL-ASHOK has quit [Ping timeout: 268 seconds]
frost-lab has quit [Quit: Connection closed]
totoro2021 has joined #lisp
totoro2021 has quit [Client Quit]
totoro2021 has joined #lisp
CL-ASHOK has joined #lisp
cer-0 has quit [Ping timeout: 252 seconds]
slyrus has joined #lisp
bitmapper has joined #lisp
psilotorp has joined #lisp
undvrainbowvita8 has quit [Read error: Connection reset by peer]
undvrainbowvita8 has joined #lisp
sm2n has joined #lisp
gzj has quit [Ping timeout: 260 seconds]
cer-0 has joined #lisp
undvrainbowvita8 has quit [Read error: Connection reset by peer]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
undvrainbowvita8 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
fitzsim has quit [Ping timeout: 265 seconds]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
psilotorp has quit [Ping timeout: 250 seconds]
CL-ASHOK has quit [Ping timeout: 265 seconds]
xkapastel has joined #lisp
silasfox has joined #lisp
CrazyPython has quit [Ping timeout: 252 seconds]
aeth has quit [Ping timeout: 260 seconds]
aeth has joined #lisp
Inline has quit [Remote host closed the connection]
Inline has joined #lisp
yoonkn has quit [Read error: Connection reset by peer]
orivej has quit [Ping timeout: 265 seconds]
CL-ASHOK has joined #lisp
skapata has joined #lisp
CL-ASHOK has quit [Ping timeout: 252 seconds]
niflce has quit [Ping timeout: 240 seconds]
jeosol has joined #lisp
masp has quit [Ping timeout: 246 seconds]
masp_ has joined #lisp
waleee-cl has quit [Quit: Connection closed for inactivity]
jnewton has joined #lisp
domovod has joined #lisp
psilotorp has joined #lisp
CrazyPython has joined #lisp
CL-ASHOK has joined #lisp
CL-ASHOK has quit [Ping timeout: 240 seconds]
lottaquestions is now known as lottaquestions_
<nij>
pjb: ptys? What did you mean?
<nij>
jdz: Oh I gave that page cuz it happens to be very similar if not the same as in a newer version: http://sbcl.org/manual/index.html
<nij>
I want to not use localhost. Does pty/tty still make sense?
<pjb>
So again, unless you use ssh -T, it means pty/tty.
skapata has quit [Ping timeout: 260 seconds]
<nij>
I just had the impression that using a UNIX domain socket is more secure than communicating over localnet.
<pjb>
nij: yes ^
<nij>
localhost, sorry
<pjb>
yes. But pty/tty is same secure.
<pjb>
I may have missed it, but I don't know what you want to do anyways…
<pjb>
You have people who are already root, to be able to use tcpdump on lo0 on your workstation and you'd want to protect against them??? They can patch the kernel and see whatever they want!
jnewton has joined #lisp
CrazyPyt_ has joined #lisp
CrazyPython has quit [Read error: Connection reset by peer]
<nij>
If the root opens a lisp repl, and runs (create-server ..) in it, then iirc anyone on the localhost can link to that repl. This effectively owns the root.
<pjb>
nij: perhaps what you want is to implement TLS/SSL in swank.
<pjb>
nij: or at least add a login mechanism to swank.
<nij>
(I have to admit I'm also pretty new in networking, so I might be talking silly. But I'm willing to learn.)
<nij>
Well, if we use a unix socket, then it would solve my concern, right?
<pjb>
nij: the most useful would be to add TLS/SSL to the swank/slime protocol.
<nij>
The root just have to create a server over a unix socket, whose property the root can configure.
<pjb>
So we could do remote without having to use ssh.
<pjb>
There's no good reason to run CL under root.
<loskutak>
and if I had 'foo, 'bar instead of :foo, :bar? I would like to have nice interface with either 'foo or :foo, but I need to supply string "foo" outside the function with the (case ...)
<jdz>
loskutak: You can also use FIND-SYMBOL instead of INTERN (and remember to use the right case for the symbol name).
aeth has quit [Ping timeout: 260 seconds]
<jdz>
loskutak: Why do you insist on using CASE?
<jdz>
loskutak: (string-equal "foo" 'foo)
<loskutak>
jdz: that probably doesn't matter, but the code is more complicated than just returning strings
aeth has joined #lisp
<loskutak>
oh, so I could convert that into a cond with string-equals. I am ok with that
<pjb>
loskutak: exactly.
silasfox` has quit [Ping timeout: 260 seconds]
<loskutak>
other option would be to prepend : or ' to the "foo" string and read that. Is there no other option to convert a string to 'foo or :foo (without the |bars|)
<jdz>
loskutak: Try (find-symbol "FOO") or (find-symbol "FOO" "KEYWORD").
<nij>
Eww sounds like implementing TLS for CL is pretty scary. How does that relate to DLL hell?
<jdz>
loskutak: And to get "FOO" from "foo" you use STRING-UPCASE.
<loskutak>
jdz: oh, I was stuck at getting |foo| - didn't realize the upcase is important. Thanks for help!
<jdz>
loskutak: You should know what you're doing. It's perfectly possible to have lower-case or mixed-case symbols. Even symbols with spaces in them.
<nij>
Seems like cl-tls is the best we have now. i will look into that repo.
<flip214>
Is there a standard function to convert a bit-array into an integer, or the other way around?
<jdz>
flip214: (reduce (lambda (a b) (logior (ash b 1) a)) bit-vector :from-end t)
<nij>
pjb: It seems pretty much like what I want. But again, I'm new to networking (and computers in general), so I might have missed something.
cer-0 has quit [Quit: leaving]
skapata has joined #lisp
hjudt has quit [Ping timeout: 246 seconds]
<nij>
Hmm.. it uses libssl.so.1.1. I'm not sure which protocol this uses.
CL-ASHOK has quit [Ping timeout: 260 seconds]
jnewton has quit [Remote host closed the connection]
jnewton has joined #lisp
srji has quit [Quit: leaving]
srji has joined #lisp
masp_ has quit [Quit: Konversation terminated!]
srji has quit [Client Quit]
<Xach>
nij: this may be an interesting exercise in learning but you do not have to care about it and it will not help you in any short-term goal.
<nij>
Xach: Thanks, I'm aware that this is something that's much harder comparing to my ability/experience. I will treat that as a learning experience. No hurry indeed.
niflce has joined #lisp
<nij>
"you do not have to care about it" - why so?
terpri has quit [Quit: Leaving]
<Xach>
nij: your motivating example is flawed.
terpri has joined #lisp
<nij>
On the other hand (and again I might be naive), it doesn't seem too far to get tls working in CL. It's not native, but if that repo works.. it works, at least for sbcl.
<nij>
It's ~360 lines so I don't expect it to be terribly hard for other implementations either.
<Xach>
it is not too hard to get it working on one implementation on one operating system distribution. it is much harder to make it work across many implementations and operating system distributions.
<nij>
I see. That's the problem.
<nij>
I have no incentive to work for portability either..
nature has joined #lisp
srji has joined #lisp
jnewton has quit [Ping timeout: 260 seconds]
hjudt has joined #lisp
Sauvin has quit [Read error: Connection reset by peer]
hjudt has quit [Ping timeout: 252 seconds]
hjudt has joined #lisp
hjudt has quit [Remote host closed the connection]
rogersm has quit [Quit: Leaving...]
White_Flame has quit [Ping timeout: 250 seconds]
White_Flame has joined #lisp
Inline has quit [Remote host closed the connection]
Inline has joined #lisp
sloanr has joined #lisp
anticrisis has joined #lisp
cosimone has quit [Remote host closed the connection]
<nature>
How bad of an idea is it to want to do some serious web dev with lisp? :)
emanuele6 has quit [Ping timeout: 252 seconds]
emanuele6 has joined #lisp
<jackdaniel>
it is not bad (nor good); you'll have some fun when you'll learn that you can redefine functions in a fly
<jackdaniel>
on the fly*
jnewton has quit [Ping timeout: 268 seconds]
jnewton has joined #lisp
<Josh_2>
Why would it be a bad idea?
<jackdaniel>
common lisp ecosystem is smaller; alas community support and documentation resources (compared to "popular" web dev frameworks in other languages)
<moon-child>
Josh_2: supposing the mafia come after you if you do serious webdev with lisp
<frgo>
Actually I am currently also evaluating alternatives for web app development. I would love to find someting like elixir phoenix liveview in Lisp. Is there sth like this out there and I am just too dumb to find it?
<jackdaniel>
I know what the phoenix is
<jackdaniel>
it is an immortal bird who raises from ashes
jnewton has quit [Ping timeout: 260 seconds]
<nature>
haha yes, it may come as a weird question because I am learning common lisp and liking it a lot so far, but after having (been forced to) worked professionally with rails for years, I swore to myself to never do web with anything else than Go
<Josh_2>
eew
<Josh_2>
why would you wanna do webdev in anything other than CL
<nature>
jackdaniel: spent weeks investiguating those perf issue, conclusion => template rendering is slow af...
<Josh_2>
frgo: looks horrible
<Josh_2>
Pretty sure you can do the same sort of horror with something like Vue.js
<jackdaniel>
nature: "web" is a slow af
<frgo>
??? No - bu, yeah - opinions.
<Josh_2>
nature: its not slow in CL
<Josh_2>
You can generate, html, js and css quite efficiently using CL
<nature>
So yes, serving hello world surely goes well with rails, but when you start to have complex templates and using the full MVC crap it kills your cpu
<jackdaniel>
I don't think that generating is the bottleneck
<nature>
Josh_2: really? :D
Lord_of_Life has quit [Ping timeout: 265 seconds]
jnewton has quit [Ping timeout: 240 seconds]
<Josh_2>
nature: spinneret, parenscript and lass
<nature>
jackdaniel: it's cpu bound for sure
Guest86959 has joined #lisp
jnewton has joined #lisp
<nature>
Go would be more of a 1x, 2x or 10x gain? Just to get a grasp of what to expect?
cage_ has quit [Remote host closed the connection]
cage_ has joined #lisp
niflce has quit [Ping timeout: 260 seconds]
CrazyPython has quit [Ping timeout: 246 seconds]
hypercube has joined #lisp
CL-ASHOK has joined #lisp
<nature>
Josh_2: Really neat! It's pretty elegant
<Josh_2>
I've learned to write more comments and docstrings since then xD
CrazyPython has joined #lisp
<nature>
What's your workflow to add new blog post to your running server?
<Josh_2>
Well it would be to connect to a running Slynk server and just update the source in the image
<Josh_2>
but it wouldn't be hard to create a html form that adds things automatically
cage_ has quit [Quit: rcirc on GNU Emacs 27.1]
<nature>
Nice
<nature>
I'll give lisp a try for my web project
Bourne has quit [Remote host closed the connection]
mindCrime_ has quit [Ping timeout: 252 seconds]
travv0 has quit [*.net *.split]
herlocksholmes has quit [*.net *.split]
Nikotiini has quit [*.net *.split]
AdmiralBumbleBee has quit [*.net *.split]
spacebat2 has quit [*.net *.split]
vhost- has quit [*.net *.split]
[df] has quit [*.net *.split]
travv0 has joined #lisp
[df] has joined #lisp
Nikotiini has joined #lisp
herlocksholmes has joined #lisp
vhost- has joined #lisp
AdmiralBumbleBee has joined #lisp
<scymtym>
flip214: if you do deterministic profiling, you must specify the functions or packages to instrument. for example, (clim.flamegraph.examples.recording:with-recording (:specifications '("ALEXANDRIA.0.DEV")) (sleep 10)) will trace all alexandria functions in all threads for 10 seconds
spacebat2 has joined #lisp
pfdietz has joined #lisp
nij has quit [Ping timeout: 240 seconds]
<frgo>
Josh_2: Actually, well - thanks for the pointers. We *do* have something, well, vaguely similar in Lisp.
tumdum has quit [Ping timeout: 260 seconds]
amk has quit [Ping timeout: 240 seconds]
shka_ has quit [Ping timeout: 252 seconds]
jnewton has quit [Ping timeout: 252 seconds]
amk has joined #lisp
<scymtym>
flip214: and in WITH-RECORDING change the SAMPLE-RATE to 1 if you don't want to skip any calls
psilotorp has quit [Remote host closed the connection]
psilotorp has joined #lisp
srhm has joined #lisp
psilotorp has quit [Ping timeout: 245 seconds]
d4ryus has quit [Quit: WeeChat 3.1]
fitzsim has joined #lisp
psilotorp has joined #lisp
d4ryus has joined #lisp
jnewton has joined #lisp
mindCrime_ has joined #lisp
narimiran has quit [Ping timeout: 246 seconds]
Guest86959 has quit [Ping timeout: 260 seconds]
hiroaki has quit [Ping timeout: 260 seconds]
<mister_m>
hi - if I have a function A that returns multiple things through hte use of ``(values 1 2)'', and another function B that takes two arguments, is there a shortcut way to call function B with the results of A without using a ``multiple-value-bind'' to bind the results of A and then call B?
orivej has quit [Ping timeout: 240 seconds]
CL-ASHOK has quit [Ping timeout: 268 seconds]
hiroaki has joined #lisp
<markasoftware>
Multiple-value-call will help. Multiple-value-compose from Alexandria will make it even better.
<markasoftware>
mister_m
<mister_m>
nice - thanks markasoftware
<mister_m>
oh duh I shoulda spotted the SEE ALSO note in the hyperspec entry for bind
<mister_m>
multiple-value-list also is nice to have
wsinatra has quit [Quit: WeeChat 3.1]
Guest96262 has joined #lisp
Guest96262 has quit [Remote host closed the connection]
Chocol4teArmpits has quit [Remote host closed the connection]
CL-ASHOK has joined #lisp
gwvs has joined #lisp
ukari has quit [Remote host closed the connection]
kpoeck has quit [Ping timeout: 240 seconds]
gwvs has quit [Remote host closed the connection]
casual_friday has quit [Remote host closed the connection]
akoana has quit [Quit: leaving]
casual_friday has joined #lisp
jeosol has quit [Quit: Connection closed]
jeosol has joined #lisp
torbo has joined #lisp
Krystof has quit [Ping timeout: 252 seconds]
aartaka has quit [Read error: Connection reset by peer]
aartaka_d has joined #lisp
nature has quit [Quit: Lost terminal]
CL-ASHOK has quit [Ping timeout: 252 seconds]
gaqwas has quit [Ping timeout: 246 seconds]
terpri has quit [Quit: Leaving]
beser has joined #lisp
ukari has joined #lisp
CL-ASHOK has joined #lisp
elderK has joined #lisp
aartaka_d has quit [Read error: Connection reset by peer]
aartaka has joined #lisp
nij has joined #lisp
aartaka has quit [Read error: Connection reset by peer]
aartaka_d has joined #lisp
loskutak has quit [Ping timeout: 240 seconds]
terpri has joined #lisp
<kagevf>
CL-ASHOK: maybe C-c C-y ... it will call the current defun in the repl and allow you to enter any parameters ...
pfdietz has quit [Quit: Connection closed]
Lord_Nightmare has joined #lisp
frgo has quit [Remote host closed the connection]
frgo has joined #lisp
akoana has joined #lisp
hjudt has joined #lisp
hjudt has quit [Client Quit]
hjudt has joined #lisp
pve has quit [Quit: leaving]
Nilby has joined #lisp
hjudt has quit [Client Quit]
hjudt has joined #lisp
deltab has quit [Ping timeout: 252 seconds]
surabax has quit [Quit: Leaving]
deltab has joined #lisp
jnewton has joined #lisp
nij has quit [Ping timeout: 240 seconds]
pbaille_ has quit [Remote host closed the connection]
long4mud has quit [Quit: WeeChat 3.0.1]
IPmonger has quit [Quit: ZNC 1.7.5+deb4 - https://znc.in]
aartaka_d has quit [Ping timeout: 268 seconds]
bitmapper has quit [Quit: Connection closed for inactivity]
CL-ASHOK has quit [Remote host closed the connection]
CL-ASHOK has joined #lisp
akoana has left #lisp ["Leaving"]
absurdum has quit [Quit: Leaving]
psilotorp has quit [Remote host closed the connection]
CrashTestDummy2 has joined #lisp
psilotorp has joined #lisp
CrashTestDummy has quit [Ping timeout: 240 seconds]
psilotorp has quit [Ping timeout: 245 seconds]
jnewton has quit [Ping timeout: 260 seconds]
monkey__ has joined #lisp
mathrick_ has quit [Ping timeout: 240 seconds]
CL-ASHOK has left #lisp ["ERC (IRC client for Emacs 27.1)"]
igemnace has quit [Quit: WeeChat 3.1]
lotuseater has quit [Quit: ERC (IRC client for Emacs 27.2)]
ukari has quit [Remote host closed the connection]
ukari has joined #lisp
joast has joined #lisp
quazimodo has quit [Ping timeout: 268 seconds]
quazimodo has joined #lisp
jnewton has joined #lisp
random-nick has quit [Ping timeout: 252 seconds]
hiroaki has quit [Ping timeout: 260 seconds]
moshes has joined #lisp
quazimodo has quit [Ping timeout: 240 seconds]
random-nick has joined #lisp
pbaille has joined #lisp
mathrick_ has joined #lisp
<slyrus>
it's been a long time since I've looked under these rocks... is there anything like https://rstudio.github.io/reticulate/ for lisp? I think xof's stuff goes the other way and allows for SLIME to talk to R. I want R to talk to a lisp -- possibly via SWANK. Anything like that out there?