happy-dude has quit [Quit: Connection closed for inactivity]
Josh_2 has quit [Ping timeout: 260 seconds]
davepdotorg has joined #lisp
davepdotorg has quit [Ping timeout: 272 seconds]
ralt has quit [Quit: Connection closed for inactivity]
Fare has joined #lisp
Inline has quit [Ping timeout: 272 seconds]
shifty has quit [Ping timeout: 272 seconds]
luckless has quit [Ping timeout: 240 seconds]
luckless has joined #lisp
bg__ has joined #lisp
bilegeek has quit [Ping timeout: 244 seconds]
Oladon has joined #lisp
w_ has quit [Read error: Connection reset by peer]
Kaisyu7 has quit [Quit: ERC (IRC client for Emacs 26.3)]
beach` has joined #lisp
beach has quit [Ping timeout: 244 seconds]
Fare has quit [Ping timeout: 244 seconds]
akoana has quit [Quit: leaving]
iissaacc has quit [Ping timeout: 258 seconds]
bg__ has quit [Remote host closed the connection]
bg__ has joined #lisp
Fare has joined #lisp
AlexPrt has left #lisp ["ERC (IRC client for Emacs 26.1)"]
Fare has quit [Ping timeout: 244 seconds]
zooey_ has joined #lisp
arbol has joined #lisp
karayan has quit [Ping timeout: 244 seconds]
zooey has quit [Ping timeout: 240 seconds]
<arbol>
Hi can I program a LISP with Vim? I tried Clojure using the Calva extension for VS Code but it wasn't compatible with Vim and I couldn't understand the slurp/barf editing stuff. It's hard to learn a new language and also have to learn a new way to edit the code when I work in many other languages in the Vim style often. Any advice?
<no-defun-allowed>
You can use SLIMV on Vim for Common Lisp, but I can't say if it's any good because I usually use SLIME on Emacs.
<arbol>
Thanks I bookmarked it to look into more later. Can you program LISP with just a "normal" text editing style? Without having to use plugins that change your editing workflow and such
davepdotorg has joined #lisp
<no-defun-allowed>
No, you need a teletype to program LISP. As for Lisp, I never got to learning Paredit so it's quite possible.
<edgar-rft>
arbol: you can even program Lisp *without* a text editor by typing everything directly into the REPL
<edgar-rft>
best support has emacs+slime, but it's also possible with vim+slimv
Necktwi has quit [Ping timeout: 260 seconds]
<arbol>
Hm Ok. I'm thinking about getting Practical Common Lisp the book. Maybe I just need to dedicate a week to it, take the productivity hit, and hope I can absorb it all and adjust my mindset. I had to do that when switching to Vim style editing and the payoff was worth it
<arbol>
Is EMACS + Slime kind of like paredit? The barf/slurp stuff? And would that be explained in a Common Lisp book?
<no-defun-allowed>
Again, you can leave your teletype at home; but SLIME just makes it possible to send code to a Common Lisp process quickly, and provides a nice debugger and inspector among other things. It doesn't change your editing style.
EvW has quit [Ping timeout: 244 seconds]
<edgar-rft>
slime is an emacs library that manages the communication with an external common-lisp binary, paredit is an emacs library that can additionally be used if you want
<no-defun-allowed>
From memory, PCL doesn't mention any editor though (other than Lisp in a Box, which was Emacs+SLIME+SBCL and is basically superseded by Portacle <https://portacle.github.io/> as far as I know).
Kaisyu7 has joined #lisp
<arbol>
I don't know what a teletype is
<no-defun-allowed>
https://en.wikipedia.org/wiki/Teleprinter "A teleprinter (teletypewriter, teletype or TTY) is an electromechanical device that no-defun-allowed assumes you use if you write not-upcased acronyms upcased frequently."
<arbol>
A keyboard?
jesse1010 has quit [Ping timeout: 260 seconds]
<no-defun-allowed>
There are pictures, but it's not too relevant.
Fare has joined #lisp
space_otter has joined #lisp
<borei>
arbol: Practical Common Lisp spinning around programming in lisp, it's absolutely agnostic to the IDE/text editor you are using.
<borei>
good morning/afternoon everybody !
<no-defun-allowed>
Hello borei.
kinope has joined #lisp
Necktwi has joined #lisp
<arbol>
Thanks guys
Oladon has quit [Quit: Leaving.]
ech has joined #lisp
dilated_dinosaur has quit [Ping timeout: 244 seconds]
dilated_dinosaur has joined #lisp
Stanley00 has joined #lisp
zooey_ has quit [Remote host closed the connection]
zooey has joined #lisp
Alfr_ has joined #lisp
mindCrime_ has quit [Ping timeout: 244 seconds]
davepdotorg has quit [Ping timeout: 272 seconds]
Alfr has quit [Ping timeout: 244 seconds]
StevePerkins has joined #lisp
arbol has quit []
galuf has joined #lisp
StevePerkins has quit [Ping timeout: 246 seconds]
Bike has quit [Quit: Lost terminal]
loke` has quit [Remote host closed the connection]
galuf has quit [Remote host closed the connection]
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
shifty has joined #lisp
beach` is now known as beach
toorevitimirp has joined #lisp
<beach>
Good morning everyone!
Bourne has quit [Ping timeout: 265 seconds]
iissaacc has joined #lisp
<iissaacc>
howdy
<beach>
Hello iissaacc.
<iissaacc>
hows it beach
<beach>
Not bad. Yesterday afternoon (UTC+2) I figured out why my definition of COMPILE in the last bootstrapping environment of SICL got into an infinite computation. I stupidly added a method to ALLOCATE-INSTANCE which meant that its discriminating function had to be recomputed. But doing that involves calling COMPILE and COMPILE allocates a code object, so it calls ALLOCATE-INSTANCE. TADA!
<beach>
So today, my mission is to remove that method, redefine COMPILE, re-run the bootstrapping procedure, and see how many problems get fixed.
<beach>
iissaacc: What about you?
<iissaacc>
its always like that aye.. you cruise thru the stuff you think will be hard and then get caught up for ages on some mistake
<iissaacc>
well just chipping away at phd applications and coding up some historical linguistics stuff in common lisp
<beach>
CLOS with its meta-circularity is prone to metastability problems. But I know how to deal with them. It is just that my debugging tools are not available in their full power yet.
<iissaacc>
did an automatic phylo classification of some austronesian data using the naive approach, edit distance and unweighted pair group
<iissaacc>
its not a very good approach but its still cool how well it does work
<beach>
Sounds good.
<iissaacc>
easier to write than python in lisp and FASTER
<iissaacc>
and lparallel makes it super simple to make it even faser
<iissaacc>
god this is a great language
<aeth>
the internet is for complaining, not for being happy
<iissaacc>
haha not that i dont love complaining
<no-defun-allowed>
I would say something about fun, but you can probably guess what.
<aeth>
don't worry, software projects will bloat to the level of complexity just beyond what you can handle, so if something is simple that just means your project's scope will grow. :-p
<iissaacc>
^ quite likely, I'm gonna try implement every bioinformatics thing that could be useful for linguistics now
<no-defun-allowed>
Well, if your program is embarrassingly parallel (you can basically process everything independently), then the parallelisation part isn't going to get much harder.
Jeanne-Kamikaze has joined #lisp
<no-defun-allowed>
If not, well, just remember that it's hard to implement parallelism worse than Python.
<aeth>
no-defun-allowed: the hardest part of parallelism is affording the CPUs.
<no-defun-allowed>
aeth: hey its me ur sister can I borrow a threadripper 3990x
<iissaacc>
depends on the algorithm it seems. the clustering one i used each iteration depends on the state produced by the last, and i cant see how to parallelise it in a meaningful way. i dont have any computer science education tho so there may be a solution
<iissaacc>
ill do some digging
<no-defun-allowed>
What kind of clustering are you doing? It might be possible to parallelise an iteration, it might not be.
<iissaacc>
unwieghted pair group on a distance matrix
<no-defun-allowed>
Okay, searching "parallel UPGMA" brings up someone's paper about an implementation on a GPU, so it's possible, but I wouldn't know how.
<no-defun-allowed>
But that does remind me of building a Huffman tree.
<iissaacc>
according to wiki i can reduce the complexity to n^2 log n by using a heap to store the cluster distances
<iissaacc>
thats probably good enough. there are only so many languages in the world
bg__ has quit [Remote host closed the connection]
<iissaacc>
i can parallelise the matrix construction
bg__ has joined #lisp
mathrick has quit [Ping timeout: 256 seconds]
larsen has quit [Ping timeout: 272 seconds]
larsen has joined #lisp
mathrick has joined #lisp
GuerrillaMonkey has joined #lisp
Jeanne-Kamikaze has quit [Ping timeout: 260 seconds]
Jeanne-Kamikaze has joined #lisp
davepdotorg has joined #lisp
GuerrillaMonkey has quit [Ping timeout: 272 seconds]
larsen has quit [Ping timeout: 272 seconds]
davepdotorg has quit [Ping timeout: 272 seconds]
devon has quit [Ping timeout: 260 seconds]
orivej has joined #lisp
loke has joined #lisp
bilegeek has joined #lisp
Jeanne-Kamikaze has quit [Quit: Leaving]
bg__ has quit [Ping timeout: 244 seconds]
terpri_ has quit [Remote host closed the connection]
terpri_ has joined #lisp
narimiran has joined #lisp
Aurora_v_kosmose has quit [Remote host closed the connection]
Aurora_v_kosmose has joined #lisp
gravicappa has joined #lisp
gaqwas has joined #lisp
gaqwas has quit [Changing host]
gaqwas has joined #lisp
dominic34 has quit [Ping timeout: 260 seconds]
Oladon has joined #lisp
bocaneri has joined #lisp
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 264 seconds]
Lord_of_Life_ is now known as Lord_of_Life
chipolux has quit [Ping timeout: 265 seconds]
torbo has quit [Remote host closed the connection]
borei has quit [Ping timeout: 256 seconds]
vegansbane has quit [Read error: Connection reset by peer]
vegansbane has joined #lisp
alfonsox has joined #lisp
vegansbane has quit [Read error: Connection reset by peer]
shangul has joined #lisp
vegansbane has joined #lisp
dominic34 has joined #lisp
chipolux has joined #lisp
<moon-child>
is it possible to serialize functions (including environment/closure if possible)?
<no-defun-allowed>
You could use function-lambda-expression to get the name of a function if it would have one, but usually no.
<moon-child>
ah, interesting. It looks like in sbcl that can give me the body of a function, but not the values it closes over
<no-defun-allowed>
No, you won't get the environment by any portable means.
ggole has joined #lisp
<moon-child>
nonportable is ok
<no-defun-allowed>
And I don't know what kind of representation SBCL uses for the environment.
toorevitimirp has quit [Ping timeout: 260 seconds]
<beach>
It's another example of the problems created by the separation of primary and secondary memory that Unix adopted, and that we suffer from ever since.
Necktwi has quit [Ping timeout: 260 seconds]
mankaev has quit [Read error: Connection reset by peer]
mankaev has joined #lisp
<moon-child>
beach: I agree that the distinction between volatile and persistent memory was a mistake, but that's not my problem in this case. My main interest is not in storing the function persistently, but comparing it
<beach>
I see.
<beach>
Then you can compare the disassembly, no?
<beach>
That's just text.
<moon-child>
hmm
<moon-child>
I think that would work
Oladon has quit [Quit: Leaving.]
dominic34 has quit [Ping timeout: 256 seconds]
Necktwi has joined #lisp
<HiRE_>
wouldn't comparing the diassembly be only half the solution though.Two functions could have the exact same behavior and performance but marginally different disassembly due to compiler flavor right?
<beach>
HiRE_: That would be the same problem for any serialization scheme. Plus, it is not possible to compare functions for identical behavior.
<HiRE_>
that's true
<beach>
HiRE_: It is known as an undecidable problem.
<HiRE_>
I suppose it at least on the surface reducible to the halting problem
<HiRE_>
it appears*
<moon-child>
HiRE_: that's fine. If I can prove that two functions are equivalent, I can avoid some extra computation, but not a big deal to repeat it
<beach>
That is basically what "undecidable" means.
Cymew has joined #lisp
<HiRE_>
tbh I've only ever used serialization for data never functions.
<HiRE_>
what an interesting problem
Fare has quit [Ping timeout: 244 seconds]
<HiRE_>
depending on how fast and loose you play it you could just send the smallest thing that gives the same output for a given input.
alfonsox has quit [Ping timeout: 245 seconds]
<HiRE_>
(also inb4 obligatory functions ARE data - yes thank you I know :P)
Fare has joined #lisp
<moon-child>
HiRE_: the mathematical definition of function equality is: f and g are equivalent iff, for any expression containing a hole, the halt-status of the expression is the same for f and g
treflip has joined #lisp
<moon-child>
so it's necessarily at least as hard as the halting problem
bilegeek has quit [Quit: Leaving]
iissaacc has quit [Ping timeout: 240 seconds]
<HiRE_>
to be honest I wish I knew more about this. We got tastes of computatbility theory in graduate compilers/automata but the school refuses to run an actual class on it.
<HiRE_>
to busy filling the roster with big data/machine learning
<HiRE_>
too*
<moon-child>
don't have a ton of formal background either (and wish I had more...)
<no-defun-allowed>
In my course, the "algebra and linear codes" course has models of computation; starting with DFAs, push down automata, then eventually Turing machines.
<HiRE_>
yeah that course is what we call automata at my school.
<HiRE_>
pre-req for compilers.
<HiRE_>
tbh "algebra and linear codes" sounds way better than "automata theory" maybe i'll suggest that instead lol
<no-defun-allowed>
Someone told me it was a very weird name, if it has the theoretical computer science stuff. And linear codes are a completely different topic.
ljavorsk has joined #lisp
davepdotorg has joined #lisp
davepdotorg has quit [Ping timeout: 272 seconds]
flazh has quit [Ping timeout: 265 seconds]
SaganMan has joined #lisp
treflip has quit [Ping timeout: 272 seconds]
treflip has joined #lisp
ajithmk has joined #lisp
random-nick has joined #lisp
Posterdati has quit [Ping timeout: 260 seconds]
Posterdati has joined #lisp
whiteline has joined #lisp
artrimbaud has joined #lisp
jonatack has quit [Ping timeout: 244 seconds]
alfonsox has joined #lisp
vegansbane3 has joined #lisp
aartaka has joined #lisp
vegansbane has quit [Ping timeout: 272 seconds]
vegansbane3 is now known as vegansbane
scymtym has quit [Ping timeout: 256 seconds]
luckless has quit [Remote host closed the connection]
artrimbaud has quit [Remote host closed the connection]
luckless has joined #lisp
<markasoftware>
With ASDF, how do I set the output location for an operation? Namely, I want it to put the output of program-op at a certain path
pve has joined #lisp
bocaneri has quit [Remote host closed the connection]
<phoe>
AFAIK there is no ASDF-centric way of doing that
xlei has joined #lisp
HDurer_ has quit [Remote host closed the connection]
jonatack has joined #lisp
shka_ has joined #lisp
<markasoftware>
if a program uses FFI, then the lisp image is dumped (eg, sb-ext:save-lisp-and-die), how does it link upon restoring?
<phoe>
in general, you need to close all shared libraries before dumping and reopen all shared libraries after thawing
<phoe>
Shinmera's Deploy tries to automate that process
<markasoftware>
how come hunchentoot works with just uiop:dump-image? I don't know how it uses ffi but i know that cffi is a dependency at some level
<phoe>
hunchentoot doesn't use FFI on its own
<phoe>
perhaps only for cl+ssl
<markasoftware>
Oh, nice. And usockets doesn't require it?
<markasoftware>
i see it does not
<markasoftware>
thank you!
<phoe>
usocket is another layer
<phoe>
it does not require any FFI
<no-defun-allowed>
usocket on SBCL will FFI in sb-bsd-sockets to the BSD socket library, but that's provided by Un*x systems already.
supercoven has joined #lisp
hendursa1 has joined #lisp
hendursaga has quit [Ping timeout: 240 seconds]
jw4 has quit [Read error: Connection reset by peer]
<scymtym>
SBCL will re-dlopen() shared objects that the user code does not explicitly close. so resuming on the same system (without a system upgrade in between or similar) will usually result in foreign libraries (not file descriptors, foreign data, etc) continuing to work
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
jw4 has joined #lisp
HDurer has joined #lisp
contrapunctus has left #lisp ["Disconnected: closed"]
cantstanya has quit [Ping timeout: 240 seconds]
contrapunctus has joined #lisp
<phoe>
no-defun-allowed: that happens behind the scenes though, it's not handled directly via CFFI
jonatack has quit [Ping timeout: 240 seconds]
<no-defun-allowed>
Yeah, usocket doesn't FFI directly, some library the implementation provides does the FFI-ing for it (but in the case of sb-bsd-sockets, SBCL's FFI is used and not CFFI).
jonatack has joined #lisp
cantstanya has joined #lisp
gjvc has joined #lisp
wglb has quit [Ping timeout: 244 seconds]
davepdotorg has joined #lisp
schweers has joined #lisp
Lycurgus has joined #lisp
alfonsox has quit [Ping timeout: 245 seconds]
cosimone has joined #lisp
ajithmk has quit [Quit: Connection closed for inactivity]
cosimone has quit [Quit: Quit.]
vegansbane6 has joined #lisp
cosimone has joined #lisp
vegansbane has quit [Ping timeout: 260 seconds]
vegansbane6 is now known as vegansbane
mangul has joined #lisp
kaftejiman has joined #lisp
shangul has quit [Ping timeout: 240 seconds]
Lycurgus has quit [Quit: Exeunt]
srhm has joined #lisp
habeangur has joined #lisp
mangul has quit [Ping timeout: 246 seconds]
jesse1010 has joined #lisp
davepdotorg has quit [Remote host closed the connection]
wxie has quit [Ping timeout: 244 seconds]
rgherdt has joined #lisp
treflip has quit [Quit: WeeChat 2.6]
space_otter has quit [Remote host closed the connection]
SaganMan has quit [Ping timeout: 256 seconds]
davepdotorg has joined #lisp
jonatack has quit [Ping timeout: 256 seconds]
flazh has joined #lisp
flazh has quit [Ping timeout: 264 seconds]
toorevitimirp has joined #lisp
aartaka_d has joined #lisp
aartaka has quit [Ping timeout: 240 seconds]
iissaacc has quit [Ping timeout: 264 seconds]
davepdotorg has quit [Remote host closed the connection]
EvW has joined #lisp
cosimone has quit [Quit: Quit.]
cosimone has joined #lisp
orivej has quit [Ping timeout: 260 seconds]
orivej has joined #lisp
jonatack has joined #lisp
ljavorsk has quit [Ping timeout: 256 seconds]
vegansbane9 has joined #lisp
rixard has joined #lisp
vegansbane has quit [Ping timeout: 272 seconds]
vegansbane9 is now known as vegansbane
Stanley00 has quit [Remote host closed the connection]
Bourne has joined #lisp
gxt has quit [Remote host closed the connection]
SaganMan has joined #lisp
davepdotorg has joined #lisp
gxt has joined #lisp
gxt has quit [Remote host closed the connection]
Bourne has quit [Ping timeout: 260 seconds]
rixard has quit []
gxt has joined #lisp
cognemo has joined #lisp
cosimone has quit [Quit: Quit.]
aartaka has joined #lisp
wsinatra has joined #lisp
cosimone has joined #lisp
flazh has joined #lisp
toorevitimirp has quit [Ping timeout: 260 seconds]
aartaka_d has quit [Ping timeout: 272 seconds]
fowlduck has quit [Quit: Connection closed for inactivity]
cosimone has quit [Quit: Quit.]
StevePerkins has joined #lisp
ech has quit [Remote host closed the connection]
wxie has joined #lisp
dmiles has quit [Ping timeout: 265 seconds]
ech has joined #lisp
galex-713 has quit [Ping timeout: 272 seconds]
rixard has joined #lisp
wsinatra_ has joined #lisp
galex-713 has joined #lisp
Bike has joined #lisp
Josh_2 has joined #lisp
aartaka_d has joined #lisp
aartaka has quit [Ping timeout: 260 seconds]
jesse1010 has quit [Read error: Connection reset by peer]
jesse1010 has joined #lisp
wsinatra_ has quit [Ping timeout: 265 seconds]
wsinatra_ has joined #lisp
schweers has quit [Ping timeout: 240 seconds]
Achylles has joined #lisp
davepdotorg has quit [Ping timeout: 272 seconds]
<Plazma>
morning folks
<Josh_2>
Afternoon Plazma
kaun_ has joined #lisp
<beach>
Hello Plazma.
<Plazma>
hey Josh_2 beach
wxie has quit [Ping timeout: 265 seconds]
hendursa1 has quit [Quit: hendursa1]
hendursaga has joined #lisp
cosimone has joined #lisp
gxt has quit [Remote host closed the connection]
gxt has joined #lisp
aartaka_d has quit [Ping timeout: 260 seconds]
dominic34 has joined #lisp
jonatack has quit [Read error: Connection reset by peer]
jonatack has joined #lisp
vegansbane3 has joined #lisp
jesse1010 has quit [Read error: Connection reset by peer]
jesse1010 has joined #lisp
vegansbane has quit [Ping timeout: 256 seconds]
vegansbane3 is now known as vegansbane
davepdotorg has joined #lisp
Gerula has quit [Ping timeout: 244 seconds]
sjl_ has joined #lisp
orivej has quit [Ping timeout: 272 seconds]
orivej has joined #lisp
Gerula has joined #lisp
<drl>
I get the following error while trying to compile the git (development version) of stumpwm: 'Symbol "RR-GET-OUTPUT-INFO" not found in the XLIB package. ' Updating quicklisp did not fix this. What am I doing wrong?
davepdotorg has quit [Remote host closed the connection]
davepdotorg has joined #lisp
galex-713 has quit [Ping timeout: 272 seconds]
davepdotorg has quit [Read error: Connection reset by peer]
<SaganMan>
Morning!
davepdotorg has joined #lisp
<beach>
drl: You might want to ask in #clim. They know a lot about CLX.
<beach>
Hello SaganMan.
<SaganMan>
Hello beach. How are you? How is your research going?
<drl>
beach, Thanks. Will do.
<beach>
Fine. I am still working on SICL bootstrapping. I need to integrate the generic sequence functions that heisig wrote. They use his library for fast generic functions.
<Bike>
drl: there is also #stumpwm.
orivej has quit [Ping timeout: 264 seconds]
<Bike>
oh, you're there already. excuse me.
<beach>
SaganMan: What about you?
<SaganMan>
nice beach, you were working on same thing last time right?
<beach>
Probably.
<SaganMan>
beach: I'm okay. Covid is out of control here so self qurantined
<beach>
I see, yes.
gko_ has joined #lisp
galex-713 has joined #lisp
kaftejiman has quit [Remote host closed the connection]
kaun_ has quit [Ping timeout: 272 seconds]
davepdotorg has quit [Ping timeout: 244 seconds]
davepdotorg has joined #lisp
kaun_ has joined #lisp
Fare has joined #lisp
jonatack has quit [Read error: Connection reset by peer]
rumbler31 has joined #lisp
ebrasca has quit [Ping timeout: 260 seconds]
AmatureProgramme has joined #lisp
m_v_m has joined #lisp
<m_v_m>
Hi. How I can import a package to my project without name conflicts? For example 3rd party package has function "get" which is in conflict with "common-lisp:get"?
<jmercouris>
anyone have experience firing off something 'async' using parenscript?
<jmercouris>
I'm not looking to await a promise, I just want something to fire off, and my function to return
<jmercouris>
example: I have function A, which calls function B. I would like function A to return without function B having to terminate
<Bike>
can you make a promise and then ignore it?
<jmercouris>
that's what I'm trying to figure out
<Bike>
or maybe you want this async function thing
<jmercouris>
I just want the side effect my function produces, not its return value
<Bike>
anyway, it's probably more about javascript than parenscript
<jmercouris>
fair enough, I will ask in javascript channel
<jmercouris>
I wonder how I can (defun async with ps still)
<beach>
m_v_m: I recommend you don't :USE packages other than the COMMON-LISP package.
<jmercouris>
son of a potato
<jmercouris>
every day I grow closer to my own quicklisp dist
<jmercouris>
thanks for the link Bike
<beach>
m_v_m: Either use full package prefixes, or use a package-local nickname for it.
<Bike>
you could ask, uh... whoever maintains parenscript. i got no idea
<Bike>
probably best to figure out the javascript for what you want to do first, though
<jmercouris>
yes, I will try this patch and see if it will resolve what I am doing
<jmercouris>
and then see if I can get this merged into parenscript
cantstanya has joined #lisp
<m_v_m>
beach: so how I can import 3rd party package into my package when I should not use :use?
<jmercouris>
m_v_m: he literally just said it
<jmercouris>
either use FULL package prefixes, or use a package-local nickname
<jmercouris>
so if I want to use package salmon, I can say salmon:function
cosimone has quit [Quit: Quit.]
<jmercouris>
or I can give it a nickname, like "s" for convenience and say
<jmercouris>
s:function
<sjl_>
or :import-from with an explicit list of symbols
<jmercouris>
yeah, that too
aartaka has joined #lisp
<shka_>
jmercouris: i have a slightly different approach then beach
<jmercouris>
I see
<jmercouris>
s/then/than :-)
<jmercouris>
and what is your approach?
<shka_>
i use a little bit of mixed back of utility library, and what i do is to create a single, separate package and import stuff from alexandria and serapeum (that i use) into that, then reexport all of the symbols
<shka_>
however i do this only for utility library
<jmercouris>
so you use a package of your own so that you can just :use whenever you want?
<jmercouris>
that's an interesting approach
<shka_>
yeah
<shka_>
and if symbol disappears from the package, i get reader error during compilation
<jmercouris>
for most people, unless they are also creating a library as part of their project, this is probably not necessary
<jmercouris>
but it is a really cool trick
<shka_>
and if anything different shows up in the library, i don't import it until i need that symbol
<shka_>
for everything else, i think that local nicknames are de facto portable nowdays
<phoe>
they are
<phoe>
with the exception of CLISP, which is unmaintained
<shka_>
so, yeah, for everything else, if package has long name, just use local-nickname
<shka_>
hell
<phoe>
s/if package has long name, //
<phoe>
:)
<shka_>
also, the most important rule
<shka_>
NEVER :use your own packages
<jmercouris>
DUN DUN DUNNN
<jmercouris>
why?
<shka_>
because it is why easier to debug reader error after you deleted something than a runtime error
<jmercouris>
hm, yes
<shka_>
the only packages i use is :cl and my aux package i described before
<shka_>
so far, it works well
sid_cypher has joined #lisp
Bourne has joined #lisp
<shka_>
i guess this is 99% of what beach is saying
<shka_>
oh, and i also think that global package nicknames is something that should be avoided
<mseddon>
is it possible to coax sbcl+slime so I can step over every single expression? currently all I can do is hit (break) forms.
<phoe>
global nicknames should be avoided in 99.9% of all cases since PLNs essentially obsolete them
<shka_>
mseddon: yes
<jmercouris>
mseddon: kind-of
<phoe>
mseddon: see SBCL manual for making code steppable
cosimone_ has joined #lisp
<jmercouris>
though I do not believe you can step CFFI
<mseddon>
right, thanks phoe!
<shka_>
mseddon: debug 3, speed 0, safety 0 and press s when in the debugger
<shka_>
here, the gist of it :P
<phoe>
jmercouris: why not? if you compile it in a way where it's steppable, then you can step it
<shka_>
safety 3
<mseddon>
shka_: yes, I have already done that. but it's not working apparently.
<shka_>
oooh, ok
<jmercouris>
phoe: from SLDB? will you not need to use GDB or something?
<phoe>
wait, SLDB?
<mseddon>
shka_: I have a (declaim (optimize (speed 0) (debug 3) (safety 3)))
<phoe>
you'll likely not going to step into foreign functions
<jmercouris>
s/sldb/slime
<phoe>
we're talking about Lisp world now
<shka_>
mseddon: ok, i see
<shka_>
it worked for me so far
<mseddon>
phoe: i'm not that fussy, I just want to step regular, ANSI lisp
<jmercouris>
then you are fine
<jmercouris>
I was talking about stepping the corresponding C code
<jmercouris>
for some function call INTO C
<mseddon>
great. yeah I think my setup is just hosed at the moment, but I wanted to check it was possible
<mseddon>
thanks all
<Bike>
i suppose there's no reason the implementation debugger couldn't know about object file debug formats
<jmercouris>
I can confirm that the snippet posted by ralt works
<Bike>
don't think any of them actually do, though
<phoe>
Bike: you mean that they could implement stepping in C code called from Lisp?
<phoe>
that's a crazy idea, I like that
<Bike>
sure, why not?
<mseddon>
yeah. gimme. I want that too. :)
<Bike>
assuming the c code was compiled with enough debug info, of course
<jmercouris>
at least put my name in the credits or something
<Bike>
i've worked with dwarf a fair bit already, so i volunteer for not doing t his
sid_cypher has left #lisp ["ERC (IRC client for Emacs 27.1)"]
drl has quit [Quit: Ex-Chat]
ebrasca has joined #lisp
wsinatra_ has quit [Ping timeout: 272 seconds]
<phoe>
that sounds like working with implementations themselves
<phoe>
in particular, SBCL, I guess
<phoe>
that's because working with the CCL stepper is a real pleasure
joast has quit [Ping timeout: 240 seconds]
<mseddon>
phoe: ah, I have not tried CCL, I will give it a whirl, thanks.
wsinatra_ has joined #lisp
<Bike>
well, yeah, you'd be sprucing up the debugger
<phoe>
mseddon: you shouldn't
<mseddon>
uh oh :)
<Bike>
clasp's debugger does actually know dwarf already, but we don't have a stepper
<jmercouris>
I like CCL, I advice you give it a whirl
<phoe>
working with the CCL stepper is a real pleasure because I forgot the /s at the end of my post
cosimone_ has quit [Quit: Quit.]
<jmercouris>
not because of the debugger though :-D
<phoe>
and you actually get to implement a stepper before you can call a stepper
rogersm has joined #lisp
EvW has quit [Ping timeout: 240 seconds]
<beach>
m_v_m: Did you understand the answer(s)?
edgar-rft has quit [Quit: Leaving]
<m_v_m>
Yes. The problem is that even if I am using local-nicknames i still have conflict. This is a piece of my code: https://pastebin.com/2CQK8gRT lisp is still finding conflict on leveldb.write (but not leveldb.get)
<phoe>
wait
<phoe>
conflicts on which symbols from which packages?
<beach>
m_v_m: You :USE more than the CL package here.
<phoe>
you use a ton of stuff
<m_v_m>
this is only a tamplate from caveman2
<beach>
Don't use the template from caveman2 if it :USEs more than the CL package.
zaquest has quit [Read error: Connection reset by peer]
cosimone has joined #lisp
<beach>
m_v_m: The advice is to :USE only the CL package.
zaquest has joined #lisp
<beach>
Not caveman2, staatos.config, statos.view, stratos.db, datafly, sxql
<beach>
stratos, sorry.
davepdotorg has quit [Remote host closed the connection]
<beach>
And the package-local nicknames are for packages, not for individual symbols.
<beach>
Oh, maybe they are packages.
davepdotorg has joined #lisp
<m_v_m>
yes. They are
<beach>
But it is your :USE of all those packages that gives you conflicts.
<jmercouris>
the default caveman template is a real piece of work
<jmercouris>
every time I make a new project I spend half an hour fixing things up and moving them around
<beach>
This is Fukamachiware right?
<jmercouris>
yes, it is
<phoe>
afaik yes
<jmercouris>
the library itself is quite nice to use
rgherdt has quit [Remote host closed the connection]
<m_v_m>
To be honest...I really don't know what I can do with it. I cannot remove all of those packages from :use. I can not use leveldb in the reasons of conflicts. Caveman2 is not perfect but it is the easiest and nicest thing in a web lisp.
<beach>
Why can you not remove all those packages from the :USE list?
<shka_>
m_v_m: you are using names, not the systems
<phoe>
^
<phoe>
why do you need to keep them in :USE
<beach>
Whenever you want to use a symbol from the leveldp package, say LEVELDB:WRITE rather than just WRITE. What is the problem with that?
<shka_>
in other words, you still can depend on those systems, and packages they provide, you will just have to type more to use those ;-)
Cymew has quit [Ping timeout: 272 seconds]
<phoe>
or use PLNs
<jmercouris>
PLN = package local nickname
<beach>
Yeah, like LDB:WRITE for example.
<beach>
m_v_m: Using explicit package prefixes makes your code much more clear too. A person reading your code immediately knows where the symbol is coming from.
<m_v_m>
this is maybe a stupid question but how to import leveldb to use leveldb:write(sth) ?
<beach>
m_v_m: Ah, so maybe you think that :USE is necessary in order to use the function in that package.
<beach>
You are confusing packages and systems.
<beach>
You make the system available by the :DEPENDS-ON in your ASDF system definition.
<beach>
Then the package will exist and can be used. The :USE clause of DEFPACKAGE merely imports all the external symbols in an already existing package.
<m_v_m>
ooooh
<beach>
The conflict happens when you import two or more symbols with the same name with different home packages.
* sjl_
feels like :use should have been called :import-all
<m_v_m>
Now I see. So I don't need to do anything with leveldb. Thank you. Now it is clear :)
* beach
never reads anything that claims to be written for idiots.
<shka_>
m_v_m: you are not the first with the same misconception
Lycurgus has joined #lisp
<Bike>
the package use mechanism is actually distinct from importation, though i don't think the difference matters in this particular instance
<Bike>
so :import-all wouldn't be good
<beach>
True 'dat.
<Bike>
the package system confuses me.
<beach>
Bah, try to implement it, and you will see. :)
<Bike>
(example of the difference: if the used package later exports another symbol, the user package has access to that symbol without further imports)
<beach>
I think it is merely inadequately documented.
<Bike>
i prefer local nicknames, anyway. glad they're widely supported now
<shka_>
beach: well, now i know how to hide something from you ;-)
<beach>
Avoid documenting it?
galex-713 has quit [Ping timeout: 272 seconds]
Lycurgus has quit [Quit: Exeunt]
<shka_>
beach: just label it "for idiots"
<beach>
Ah, yes, easy!
scymtym has quit [Ping timeout: 244 seconds]
* shka_
holds a tactical advantage
vegansbane5 has joined #lisp
m_v_m has quit [Remote host closed the connection]
bubo has joined #lisp
vegansbane has quit [Ping timeout: 260 seconds]
vegansbane5 is now known as vegansbane
galex-713 has joined #lisp
bubo has quit [Quit: leaving]
shifty has quit [Ping timeout: 256 seconds]
shifty has joined #lisp
gko_ has quit [Ping timeout: 240 seconds]
jonatack has joined #lisp
dominic34 has quit [Ping timeout: 240 seconds]
dominic35 has joined #lisp
davepdot_ has joined #lisp
dominic35 is now known as dominic34
SaganMan has quit [Ping timeout: 260 seconds]
shifty has quit [Ping timeout: 256 seconds]
shifty has joined #lisp
davepdotorg has quit [Ping timeout: 260 seconds]
davepdot_ has quit [Remote host closed the connection]
mindCrime_ has joined #lisp
rogersm has quit [Quit: Leaving...]
scymtym has joined #lisp
aartaka has quit [Ping timeout: 260 seconds]
treflip has joined #lisp
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
contrapunctus has left #lisp ["Disconnected: closed"]
contrapunctus has joined #lisp
dominic34 has quit [Ping timeout: 244 seconds]
dominic34 has joined #lisp
kaun_ has quit [Ping timeout: 272 seconds]
kaun_ has joined #lisp
kaun_ has left #lisp [#lisp]
galex-713 has quit [Ping timeout: 272 seconds]
Inline has joined #lisp
davepdotorg has joined #lisp
galex-713 has joined #lisp
davepdotorg has quit [Ping timeout: 272 seconds]
xrash has joined #lisp
dominic35 has joined #lisp
dominic34 has quit [Ping timeout: 256 seconds]
dominic35 is now known as dominic34
Alfr_ has quit [Quit: Leaving]
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 256 seconds]
Lord_of_Life_ is now known as Lord_of_Life
orivej has joined #lisp
shifty has quit [Ping timeout: 260 seconds]
shifty has joined #lisp
PuercoPop has joined #lisp
StevePerkins has quit [Ping timeout: 272 seconds]
Lycurgus has joined #lisp
davepdotorg has joined #lisp
aartaka has joined #lisp
davepdotorg has quit [Ping timeout: 244 seconds]
ayuce has quit [Remote host closed the connection]
EvW has joined #lisp
cosimone has quit [Quit: Quit.]
cosimone has joined #lisp
kaftejiman has joined #lisp
aeth has quit [Ping timeout: 256 seconds]
StevePerkins has joined #lisp
shifty has quit [Ping timeout: 272 seconds]
aeth has joined #lisp
Lycurgus has quit [Quit: Exeunt]
Inline has quit [Ping timeout: 272 seconds]
Inline has joined #lisp
vegansbane0 has joined #lisp
vegansbane has quit [Ping timeout: 256 seconds]
vegansbane0 is now known as vegansbane
habeangur has quit [Ping timeout: 260 seconds]
davepdotorg has joined #lisp
aartaka has quit [Read error: Connection reset by peer]
davepdotorg has quit [Ping timeout: 272 seconds]
Inline has quit [Quit: Leaving]
bocaneri has quit [Remote host closed the connection]
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
contrapunctus has left #lisp [#lisp]
contrapunctus has joined #lisp
supercoven has quit [Ping timeout: 256 seconds]
kaftejiman has quit [Remote host closed the connection]
edgar-rft has joined #lisp
rippa has joined #lisp
davepdotorg has joined #lisp
davepdotorg has quit [Ping timeout: 272 seconds]
treflip has quit [Ping timeout: 240 seconds]
yitzi has joined #lisp
iissaacc has joined #lisp
aeth_ has joined #lisp
aeth has quit [Disconnected by services]
aeth_ is now known as aeth
edgar-rft has quit [Quit: Leaving]
Inline has joined #lisp
Inline has quit [Ping timeout: 272 seconds]
gravicappa has quit [Read error: Connection reset by peer]
Inline has joined #lisp
notzmv` has joined #lisp
notzmv has quit [Ping timeout: 260 seconds]
Inline has quit [Client Quit]
gravicappa has joined #lisp
gravicappa has quit [Read error: Connection reset by peer]
Inline has joined #lisp
notzmv` is now known as notzmv
notzmv has quit [Changing host]
notzmv has joined #lisp
gravicappa has joined #lisp
gravicappa has quit [Ping timeout: 260 seconds]
gravicappa has joined #lisp
notzmv` has joined #lisp
davepdotorg has joined #lisp
galex-713 has quit [Quit: No Ping reply in 180 seconds.]
notzmv has quit [Ping timeout: 260 seconds]
galex-713 has joined #lisp
notzmv`` has joined #lisp
davepdotorg has quit [Ping timeout: 272 seconds]
galex-713 has quit [Read error: Connection reset by peer]
galex-713 has joined #lisp
Jesin has quit [Quit: Leaving]
notzmv` has quit [Ping timeout: 258 seconds]
shka_ has quit [Ping timeout: 260 seconds]
notzmv`` is now known as notzmv
notzmv has quit [Changing host]
notzmv has joined #lisp
galex-713_ has joined #lisp
galex-713 has quit [Ping timeout: 272 seconds]
Alfr has joined #lisp
ggole has quit [Quit: Leaving]
galex-713 has joined #lisp
galex-713_ has quit [Ping timeout: 260 seconds]
flip214 has quit [Read error: Connection reset by peer]
uchida has joined #lisp
notzmv` has joined #lisp
galex-713 has quit [Ping timeout: 272 seconds]
galex-713_ has joined #lisp
flip214 has joined #lisp
notzmv has quit [Ping timeout: 260 seconds]
galex-713_ has quit [Remote host closed the connection]
vegansbane0 has joined #lisp
vegansbane has quit [Ping timeout: 260 seconds]
vegansbane0 is now known as vegansbane
narimiran has quit [Ping timeout: 260 seconds]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
Fare has quit [Ping timeout: 244 seconds]
Fare has joined #lisp
Jesin has joined #lisp
Aurora_v_kosmose has quit [Remote host closed the connection]
Aurora_v_kosmose has joined #lisp
bilegeek has joined #lisp
rumbler31 has quit [Ping timeout: 240 seconds]
scymtym has quit [Read error: Connection reset by peer]
uchida has quit [Quit: WeeChat 2.3]
aindilis has quit [Remote host closed the connection]
gravicappa has quit [Ping timeout: 272 seconds]
pve_ has quit [Quit: leaving]
galex-713 has joined #lisp
aindilis has joined #lisp
bilegeek has quit [Quit: Leaving]
notzmv` is now known as notzmv
notzmv has quit [Changing host]
notzmv has joined #lisp
EvW has quit [Ping timeout: 244 seconds]
torbo has joined #lisp
random-nick has quit [Ping timeout: 256 seconds]
EvW has joined #lisp
aindilis has quit [Remote host closed the connection]
davepdotorg has joined #lisp
iissaacc has quit [Ping timeout: 258 seconds]
vegansbane1 has joined #lisp
davepdotorg has quit [Ping timeout: 260 seconds]
vegansbane has quit [Ping timeout: 256 seconds]
vegansbane1 is now known as vegansbane
notzmv` has joined #lisp
ebrasca has left #lisp ["ERC (IRC client for Emacs 26.3)"]
notzmv has quit [Ping timeout: 265 seconds]
notzmv` is now known as notzmv
notzmv has quit [Changing host]
notzmv has joined #lisp
bilegeek has joined #lisp
borei has joined #lisp
Fare has quit [Ping timeout: 240 seconds]
aindilis has joined #lisp
cosimone has quit [Ping timeout: 240 seconds]
dilated_dinosaur has quit [Ping timeout: 244 seconds]
yitzi has quit [Read error: Connection reset by peer]
wxie has joined #lisp
borei has quit [Ping timeout: 244 seconds]
aindilis has quit [Remote host closed the connection]
wxie has quit [Ping timeout: 260 seconds]
orivej has quit [Ping timeout: 256 seconds]
cognemo has quit [Remote host closed the connection]