<LdBeth>
Also, TECO is an early days editor I find very interesting.
ArthurStrong has joined #lisp
luna_is_here has quit [Ping timeout: 268 seconds]
X-Scale` is now known as X-Scale
<p_l>
TECO is both spiritual great-grandpa of Vi, and something Vi can only dream of reaching ;)
Irenes[m] has joined #lisp
<Irenes[m]>
oh yeah TECO is a fascinating piece of history
<Irenes[m]>
I remember in the late 90s I researched it for fun, and discovered that my local newspaper had been using it. like, for the reporters, not for engineers.
<Irenes[m]>
although I don't know if they still were at that point
<p_l>
it was for a time available on VMS, though I believe DEC TECO was at some point made a paid add-on, with the response to the outrage being "it's not an editor, it's a programming langauge"
<p_l>
DEC TECO was a bit simpler and less capable than MIT TECO
<LdBeth>
but where can I find spec on ITS TECO?
tourjin has quit [Ping timeout: 245 seconds]
<p_l>
there's no official spec, only source
<p_l>
and INFO files, but I don't remember how detailed they were, i mostly used EMACS
<p_l>
it's a quite well commented (from cursory look) 23450 line assembly file
<LdBeth>
seems I need to start learning PDP asm
earl-ducaine has quit [Ping timeout: 276 seconds]
karlosz has joined #lisp
jack_rabbit has joined #lisp
<p_l>
pdp-6/10 is very unique beast among other PDP
<p_l>
though it was, in fact, designed partially for lisp
travv0` has joined #lisp
<p_l>
(single processor word holding single CONS cell was part of proposed design requirements for PDP-6 from MIT)
efm_ has quit [Read error: Connection reset by peer]
karlosz has joined #lisp
efm_ has joined #lisp
7IZAAQ2C9 has quit [Ping timeout: 245 seconds]
clothespin_ has quit [Ping timeout: 268 seconds]
karlosz has quit [Remote host closed the connection]
jack_rabbit has quit [Ping timeout: 245 seconds]
chipolux has quit [Ping timeout: 265 seconds]
__jrjsmrtn__ has quit [Ping timeout: 265 seconds]
clothespin has joined #lisp
<LdBeth>
actually you don't need that for line based editors
clothespin_ has joined #lisp
__jrjsmrtn__ has joined #lisp
<vms14>
LdBeth: I was going only to play around, but not with that
<vms14>
I was going to assume a vt100
<vms14>
pjb: told me to use ecma 48 or termcap/terminfo
<vms14>
but I guess I'll go to try ecma which is almost the same stuff as assuming a vt100 since vt100 implements part of ecma
<pjb>
For line-based editors such as ed or sedit which I mentionned earlier, you can just use *terminal-io*.
karlosz has joined #lisp
<no-defun-allowed>
Do any implementations have optimised arrays for the type (or null (unsigned-byte n))?
<Bike>
doubt it. you could just add another bit and make whatever number mean nil, though.
<no-defun-allowed>
I guess so.
notzmv has quit [Ping timeout: 250 seconds]
karlosz has quit [Client Quit]
chipolux has joined #lisp
aamukastemato has quit [Quit: Leaving]
lucasb has quit [Quit: Connection closed for inactivity]
poet has quit [Ping timeout: 246 seconds]
travv0` has quit [Ping timeout: 276 seconds]
poet has joined #lisp
Bourne has quit [Ping timeout: 250 seconds]
<Bike>
with how most implementations represent objects, any upgraded element type that includes nil is either going to be T, or will have to do some similar encoding
torbo has joined #lisp
wiselord has quit [Ping timeout: 268 seconds]
quazimodo has quit [Ping timeout: 276 seconds]
quazimodo has joined #lisp
earl-ducaine has joined #lisp
gigetoo has quit [Ping timeout: 268 seconds]
travv0` has joined #lisp
libertyprime has quit [Ping timeout: 248 seconds]
libertyprime has joined #lisp
gigetoo has joined #lisp
Arcaelyx has quit [Quit: Arcaelyx]
libertyprime has quit [Ping timeout: 268 seconds]
montxero has joined #lisp
libertyprime has joined #lisp
earl-ducaine has quit [Ping timeout: 276 seconds]
tourjin has joined #lisp
karlosz has joined #lisp
karlosz has quit [Client Quit]
karlosz has joined #lisp
efm_ has quit [Read error: Connection reset by peer]
efm_ has joined #lisp
<vms14>
how I print stuff to the swank server?
buffergn0me has joined #lisp
<Bike>
what do you mean?
<vms14>
I have the swank server in another window
<vms14>
and I see the output
<vms14>
I want to print there
<vms14>
I've tried with *terminal-io* *debug-io* *error-output* but nope
<vms14>
I use slime-connect so I start the swank server "manually" before connecting slime
<LdBeth>
What I can think of is save terminal-io before loading swank so it can be accessed later
<vms14>
but there is no way to print there now?
<vms14>
the cl-ncurses does it
jeosol has joined #lisp
atgreen_ has joined #lisp
atgreen has quit [Ping timeout: 268 seconds]
gabiruh has quit [Quit: ZNC - 1.6.0 - http://znc.in]
gabiruh has joined #lisp
orivej has joined #lisp
asdf_asdf_asdf has quit [Remote host closed the connection]
bilegeek has joined #lisp
atgreen_ has quit [Ping timeout: 248 seconds]
shangul has quit [Ping timeout: 250 seconds]
bilegeek has quit [Ping timeout: 248 seconds]
theBlackDragon has quit [Ping timeout: 250 seconds]
theBlackDragon has joined #lisp
libertyprime has quit [Ping timeout: 246 seconds]
stepnem has quit [Ping timeout: 250 seconds]
stepnem has joined #lisp
stepnem has quit [Ping timeout: 248 seconds]
stepnem has joined #lisp
ArthurStrong has quit [Quit: leaving]
<pjb>
vms14: Now think about it. With swank, for each slime-REPL, and for each time you type C-x C-e in a lisp buffer (slime-eval-last-expression) there's a CL thread that is created and which output is redirected to slime.
<pjb>
vms14: so how can you print to this output?
<pjb>
Notably, the threads (and therefore the redirection of *standard-output*) created by C-x C-e is usually very temporary. As soon as the expression is finished, and the output copied in the emacs buffer, this thread is killed.
<pjb>
For slime-repl, they are a little more persistent, but at any time the user may kill the buffer and M-x slime again a new repl to the same lisp image.
<pjb>
you could open a buffer and insert into it the output you'd want to write. See the eval-in-emacs example, line 64.
gigetoo has quit [Ping timeout: 248 seconds]
<pjb>
vms14: now, in the case of slime-repl, you can do the following: (defparameter cl-user::*slime-repl-1* *standard-output*) RET in the slime-repl, and then: (bt:make-thread (lambda () (let ((*standard-output* cl-user::*slime-repl-1*)) (sleep 10) (print 'hi) (terpri)))) ; but no garantee that you won't kill the slime buffer in the meantime…
smokeink has joined #lisp
<pjb>
vms14: nothing prevents you to write a swank contribution library, using slime-rpc, to nicely present output to the emacs user. You could have nice operators with (with-new-emacs-output-buffer (print 'hi)) or (with-query-io-from-emacs (format *query-io* "Please enter a number: ") (read *query-io*))
<pjb>
The later would use the minibuffer to query input from the user.
gravicappa has joined #lisp
raghavgururajan has joined #lisp
stepnem has quit [Ping timeout: 268 seconds]
shangul has joined #lisp
stepnem has joined #lisp
earl-ducaine has joined #lisp
vms14 has quit [Remote host closed the connection]
karlosz has quit [Quit: karlosz]
<shangul>
Xach, Unfortunately, no
karlosz has joined #lisp
karlosz has quit [Remote host closed the connection]
wiselord has joined #lisp
atgreen_ has joined #lisp
khisanth_ has joined #lisp
krid has quit [Ping timeout: 268 seconds]
wiselord has quit [Ping timeout: 246 seconds]
libertyprime has joined #lisp
libertyprime has quit [Client Quit]
torbo has quit [Remote host closed the connection]
<Bike>
well, eric marsden is still around, maybe you could email em
<Bike>
there's also an xref chapter in the cmucl manual, i think
smokeink has quit [Remote host closed the connection]
kmeow has joined #lisp
Bike has quit [Quit: Lost terminal]
smokeink has joined #lisp
shangul has quit [Ping timeout: 245 seconds]
montxero has quit [Ping timeout: 248 seconds]
ahungry has joined #lisp
Inline has quit [Quit: Leaving]
brettgilio has quit [Remote host closed the connection]
brettgilio has joined #lisp
Guest64260 has quit [Ping timeout: 265 seconds]
atgreen_ has quit [Ping timeout: 268 seconds]
brown121407 has quit [Ping timeout: 248 seconds]
gigetoo has joined #lisp
brown121408 has joined #lisp
oxum has quit [Remote host closed the connection]
karlosz has joined #lisp
madage has quit [Remote host closed the connection]
oxum has joined #lisp
oxum_ has joined #lisp
buffergn0me has quit [Ping timeout: 250 seconds]
oxum has quit [Ping timeout: 265 seconds]
oxum has joined #lisp
oxum has quit [Remote host closed the connection]
oxum_ has quit [Read error: Connection reset by peer]
akoana has left #lisp ["Leaving"]
shangul has joined #lisp
oxum_ has joined #lisp
sauvin has joined #lisp
<beach>
Good morning everyone!
skeuomorf has joined #lisp
skeuomorf has left #lisp [#lisp]
vlatkoB has joined #lisp
earl-ducaine has quit [Ping timeout: 248 seconds]
varjag has joined #lisp
bilegeek has joined #lisp
tourjin has quit [Ping timeout: 268 seconds]
patrixl has left #lisp [#lisp]
oxum_ has quit [Remote host closed the connection]
varjag has quit [Ping timeout: 250 seconds]
earl-ducaine has joined #lisp
tourjin has joined #lisp
kajo has quit [Ping timeout: 276 seconds]
oxum has joined #lisp
akoana has joined #lisp
dddddd has quit [Remote host closed the connection]
oxum has quit [Remote host closed the connection]
oxum has joined #lisp
ahungry has quit [Remote host closed the connection]
scymtym has quit [Remote host closed the connection]
bilegeek has quit [Quit: Leaving]
rgherdt has joined #lisp
sauvin has quit [Ping timeout: 248 seconds]
jprajzne has joined #lisp
orivej has quit [Ping timeout: 276 seconds]
sauvin has joined #lisp
<shangul>
How to install a library and then load it with (asdf:load-system :somelib) ?
<pjb>
You cannot.
<pjb>
asdf:load-system doesn't load a library.
amerlyq has joined #lisp
longshi has joined #lisp
Duuqnd has joined #lisp
<pjb>
If you remove the constraint of using asdf:load-system, then you can install a library using wget and tar usually. Put in in any directory you want, and (push #P"/path/to/the/directory/you/want/path/to/the/directory/where/the/asd/is/stored/" asdf:*central-registry*) (asdf:oos 'asdf:load-op :somelib)
<pjb>
alternatively, if you use quicklisp, you can put it in ~/quicklisp/local-projects/ and then use (ql:quickload :somelib) ; which has the added bonus that if the somelib library has known dependencies, quicklisp will download, install and load them automatically.
hehekuma has joined #lisp
flamebeard has joined #lisp
asarch has joined #lisp
akoana has left #lisp ["Leaving"]
space_otter has quit [Remote host closed the connection]
<phoe>
shangul: you must push #P"/home/shangul/common-lisp/" there
<phoe>
it must end with a slash
X-Scale` has joined #lisp
<phoe>
#p"/foo" and #p"/foo/" are distinct in CL
<shangul>
aha
X-Scale` is now known as X-Scale
<phoe>
also, if you want absolute simplicity, download Quicklisp and use ql:quickload for automatically downloading stuff from the Quicklisp internet repository; for stuff that isn't there, use ~/quicklisp/local-projects/ that is automatically added to ASDF
elderK has joined #lisp
william1 has joined #lisp
frgo has quit [Ping timeout: 250 seconds]
Bourne has joined #lisp
<earl-ducaine>
vms14: The Craft of Text Editing is an excellent guide to the internals of an Emacs like editor. https://www.finseth.com/craft/
scymtym has joined #lisp
<elderK>
Good evening, everyone! :)
<earl-ducaine>
Unfortunately aimed at the implementing one in C and for editing the C language, but still applicable to Emacs/Hemlock/Zmacs which all share the same basic design approach.
<phoe>
this one only loads the ASD file and creates the system definition object, that is correct
<phoe>
but asdf:load-system is a shortcut for asdf:oos 'load-op
<phoe>
shangul: ^
frgo has joined #lisp
frgo_ has joined #lisp
vaporatorius has quit [Ping timeout: 248 seconds]
frgo has quit [Ping timeout: 250 seconds]
frgo_ has quit [Remote host closed the connection]
frgo has joined #lisp
<earl-ducaine>
LdBeth: The original ITS docs for TECO can be found https://github.com/PDP-10/its , check the docs folder, e.g. doc/_teco_/tecord.1132
kajo has quit [Ping timeout: 245 seconds]
frgo has quit [Remote host closed the connection]
varjag has joined #lisp
frgo has joined #lisp
shangul has quit [Ping timeout: 276 seconds]
MidAutumnMoon has joined #lisp
hhdave has joined #lisp
Duuqnd_ has joined #lisp
megalography1 has joined #lisp
megalography has quit [Ping timeout: 245 seconds]
rvirding_ has joined #lisp
bkst_ has joined #lisp
beach` has joined #lisp
grobe0ba_ has joined #lisp
Kaisyu72 has joined #lisp
rme_ has joined #lisp
h110 has joined #lisp
mjl_ has joined #lisp
selwyn_ has joined #lisp
matijja``` has joined #lisp
parisienne_ has joined #lisp
malm has quit [Killed (tolkien.freenode.net (Nickname regained by services))]
malm has joined #lisp
wigust- has joined #lisp
fiddlerwoaroof_ has joined #lisp
avicenna_ has joined #lisp
Kaisyu72 has quit [Client Quit]
whartung_ has joined #lisp
niceplaces has joined #lisp
hhdave has quit [Ping timeout: 246 seconds]
brass- has joined #lisp
lavaflow_ has joined #lisp
adolby_ has joined #lisp
lonjil2 has joined #lisp
SumoSud0- has joined #lisp
niceplaces has quit [Read error: Connection reset by peer]
ck__ has joined #lisp
dru1d_ has joined #lisp
MetaYan_ has joined #lisp
creat_ has joined #lisp
dxtr_ has joined #lisp
eagleflo_ has joined #lisp
ebzzry_ has joined #lisp
niceplaces has joined #lisp
amer has joined #lisp
sauvin has quit [Ping timeout: 250 seconds]
grewal__ has joined #lisp
scal has joined #lisp
jackdani1l has joined #lisp
``Erik has joined #lisp
tokik_ has joined #lisp
hjudt_ has joined #lisp
gigetoo_ has joined #lisp
grewal___ has joined #lisp
sebboh2 has joined #lisp
Kaisyu72 has joined #lisp
emacsoma1 has joined #lisp
karstensrage_ has joined #lisp
Duuqnd has quit [Disconnected by services]
Duuqnd_ is now known as duuqnd
ioa_ has joined #lisp
frgo has quit [Remote host closed the connection]
frgo has joined #lisp
frgo has quit [Remote host closed the connection]
smokeink has quit [*.net *.split]
amerlyq has quit [*.net *.split]
gigetoo has quit [*.net *.split]
adolby has quit [*.net *.split]
grumble has quit [*.net *.split]
niceplace has quit [*.net *.split]
eagleflo has quit [*.net *.split]
nightfly has quit [*.net *.split]
Kaisyu7 has quit [*.net *.split]
MinnowTaur has quit [*.net *.split]
bacterio has quit [*.net *.split]
Cymew has quit [*.net *.split]
keep_learning has quit [*.net *.split]
ebzzry has quit [*.net *.split]
grewal_ has quit [*.net *.split]
avicenna has quit [*.net *.split]
dilated_dinosaur has quit [*.net *.split]
whartung has quit [*.net *.split]
h11 has quit [*.net *.split]
grewal has quit [*.net *.split]
MetaYan has quit [*.net *.split]
beach has quit [*.net *.split]
jackdaniel has quit [*.net *.split]
rvirding has quit [*.net *.split]
gabot has quit [*.net *.split]
lavaflow has quit [*.net *.split]
parisienne has quit [*.net *.split]
creat has quit [*.net *.split]
ioa has quit [*.net *.split]
scal_ has quit [*.net *.split]
``Erik_ has quit [*.net *.split]
shenghi has quit [*.net *.split]
emacsomancer has quit [*.net *.split]
dxtr has quit [*.net *.split]
sebboh1 has quit [*.net *.split]
tokik has quit [*.net *.split]
grobe0ba has quit [*.net *.split]
dru1d has quit [*.net *.split]
lowryder has quit [*.net *.split]
karstensrage has quit [*.net *.split]
hjudt has quit [*.net *.split]
matijja has quit [*.net *.split]
lonjil has quit [*.net *.split]
fiddlerwoaroof has quit [*.net *.split]
brass has quit [*.net *.split]
ck_ has quit [*.net *.split]
jasom has quit [*.net *.split]
bkst has quit [*.net *.split]
borodust has quit [*.net *.split]
SumoSud0 has quit [*.net *.split]
wigust has quit [*.net *.split]
eMBee has quit [*.net *.split]
mjl has quit [*.net *.split]
rme has quit [*.net *.split]
selwyn has quit [*.net *.split]
rvirding_ is now known as rvirding
avicenna_ is now known as avicenna
gigetoo_ is now known as gigetoo
whartung_ is now known as whartung
h110 is now known as h11
rme_ is now known as rme
selwyn_ is now known as selwyn
Cymew has joined #lisp
mjl_ is now known as mjl
ioa_ is now known as ioa
grumble has joined #lisp
hhdave has joined #lisp
eMBee has joined #lisp
luna_is_here has joined #lisp
tourjin has joined #lisp
shenghi has joined #lisp
smokeink has joined #lisp
jasom has joined #lisp
lowryder has joined #lisp
dilated_dinosaur has joined #lisp
bacterio has joined #lisp
MinnowTaur has joined #lisp
nightfly has joined #lisp
zmyrgel has joined #lisp
loskutak has quit [Ping timeout: 245 seconds]
gabot has joined #lisp
Posterdati has quit [Ping timeout: 245 seconds]
wiselord has joined #lisp
Posterdati has joined #lisp
rgherdt has quit [Remote host closed the connection]
loskutak has joined #lisp
hostile has joined #lisp
stepnem has quit [Ping timeout: 246 seconds]
madage has joined #lisp
shifty has joined #lisp
tourjin has quit [Ping timeout: 248 seconds]
DarkUnicorn has joined #lisp
<DarkUnicorn>
hello!
vs has joined #lisp
manualcrank has quit [Quit: WeeChat 1.9.1]
<pjb>
hello!
beach` is now known as beach
stepnem has joined #lisp
<beach>
Hello DarkUnicorn.
<no-defun-allowed>
Hello DarkUnicorn
<beach>
DarkUnicorn: Are you new here? I don't recognize your nick.
<DarkUnicorn>
beach: yes! It's been a long time since I was in IRC and I was never in #list, I think :)
<beach>
#lisp, you mean?
<DarkUnicorn>
*lisp, sorry
<beach>
So what brings you here now?
Duuqnd_ has joined #lisp
<DarkUnicorn>
I'm reading "Land of Lisp" and hope that I finally get into the language. I wanted to use it for a long time, but never came to actually do it.
duuqnd has quit [Disconnected by services]
Duuqnd_ is now known as duuqnd
oxum has quit [Read error: Connection reset by peer]
stepnem has quit [Read error: Connection reset by peer]
oxum has joined #lisp
stepnem has joined #lisp
<beach>
DarkUnicorn: OK, welcome then. You can ask questions here, or if they are truly trivial, #clschool might be preferable.
<DarkUnicorn>
beach: Thank you for the nice welcome!
frgo has joined #lisp
<beach>
Sure.
<DarkUnicorn>
I think I will mostly idle around for now as I have not much time for lisp in my day-job...
<beach>
That's fine too.
frgo has quit [Read error: Connection reset by peer]
shangul has joined #lisp
<DarkUnicorn>
beach: So what is your lisp background?
<beach>
Mine? I learned Lisp at the university a long time ago.
<shangul>
phoe, I have the same problem anyway
<DarkUnicorn>
beach: And are you still using it? Professinally or as a hobby?
<no-defun-allowed>
shangul: You would need to install ltk then.
sauvin has joined #lisp
<shangul>
yeah that's what I'm trying to do now
<DarkUnicorn>
beach: programming language related research or another field?
<shangul>
I really need quicklisp
<beach>
DarkUnicorn: Here is an example: metamodular.com/SICL/generic-dispatch.pdf
<no-defun-allowed>
Indeed, you probably should install it.
karlosz has quit [Quit: karlosz]
<DarkUnicorn>
beach: cool!
<shangul>
no-defun-allowed, What do Lispians mean by "installing"? I can't find any instructs in docs on this. Is it just coping files to a directory and add that path to asdf?
karlosz has quit [Remote host closed the connection]
<shangul>
no-defun-allowed, instructions about installing quicklisp or a library?
<no-defun-allowed>
The former.
karlosz has joined #lisp
karlosz has quit [Remote host closed the connection]
karlosz has joined #lisp
<no-defun-allowed>
To get some idea of why Quicklisp is probably good and how dependencies tend to "blow up", you might want to skim the Linux from Scratch book, which demonstrates manual dependency tracking quite well.
<pjb>
shangul: yes.
<no-defun-allowed>
I mean, ltk probably calls some kind of portable process running library, and who knows what that uses.
<no-defun-allowed>
pjb: Do you honestly think that helps shangul?
<shangul>
I just ssh'ed to another computer out of my network and it worked fine, without proxy
brown121408 has quit [Read error: Connection reset by peer]
brown121408 has joined #lisp
<shangul>
Shinmera, Thanks
Duuqnd_ has joined #lisp
duuqnd has quit [Disconnected by services]
<Cymew>
Oh, there is a proxy setting. Nice. Good to know. Otherwise you usually can set proxy settings system wide, at least in most linux systems.
Duuqnd_ is now known as duuqnd
clothespin has quit [Ping timeout: 248 seconds]
clothespin_ has quit [Ping timeout: 265 seconds]
gaqwas has quit [Changing host]
gaqwas has joined #lisp
niklascarlsson has joined #lisp
karlosz has quit [Quit: karlosz]
wiselord has quit [Ping timeout: 246 seconds]
jonatack has quit [Ping timeout: 248 seconds]
<shangul>
\o/
<shangul>
Thank you all!
<smokeink>
sometimes proxychains is handy
<Cymew>
I hate those environments with obnoxious proxies.
<no-defun-allowed>
My school had some kind of script (proxy.pac) that a user would download, and it supposedly tried to load-balance over two servers by handing all even IPs to one server and odd to the other. You could still pick one and use the other half of the Internet from it, so it wasn't so bad.
hehekuma has joined #lisp
<shangul>
Can others open CLHS with https?
<shangul>
I've got a bad feeling about the network I'm on.
hehekuma has quit [Remote host closed the connection]
atgreen_ has joined #lisp
niklascarlsson has quit [Remote host closed the connection]
kajo has joined #lisp
<shangul>
nothing. forget it
ljavorsk has joined #lisp
ljavorsk_ has joined #lisp
vs has quit [Ping timeout: 248 seconds]
ljavorsk has quit [Ping timeout: 252 seconds]
ljavorsk__ has joined #lisp
brown121408 has quit [Remote host closed the connection]
davd has joined #lisp
brown121408 has joined #lisp
ljavorsk_ has quit [Ping timeout: 252 seconds]
stepnem_ has joined #lisp
stepnem has quit [Ping timeout: 246 seconds]
shangul has quit [Read error: Connection reset by peer]
orivej has joined #lisp
<spacedbat>
hello, long time lurking, now I'm on holidays I wanted to play a bit with sbcl 1.5.9 - I have it on a remote server so I'm running swank and using ssh port forwarding like I used to - but it doesn't work
<spacedbat>
upon running slime-connect, slime errors almost immediately with a message starting: error in process filter: make client process failed: Connection refused
<spacedbat>
emacs is then frozen until I long-press C-g
<spacedbat>
on the server side, nothing happens for a while and then: ;; swank:close-connection: end of file on #<SB-SYS:FD-STREAM for "socket 127.0.0.1:4005, peer: 127.0.0.1:43780" {10045963D3}>
<spacedbat>
I can telnet to the port just fine, there's something listening on the other end
<spacedbat>
when I run the same versions of sbcl and swank locally this process just works, it appears to be something about the ssh tunnel
<spacedbat>
yet when I run a http server in the remote lisp image and use the same port forwarding, I can access it just fine
<spacedbat>
maybe I'm missing something obvious, or it is some interaction between swank and ssh, on recent versions of emacs/slime/sbcl
wiselord has joined #lisp
bitmapper has joined #lisp
<smokeink>
1.5.9 had some bugs, try to compile the latest commit from github
igemnace has quit [Quit: WeeChat 2.6]
gxt has quit [Ping timeout: 260 seconds]
<DarkUnicorn>
so sbcl is the common lisp compiler these days?
gxt has joined #lisp
<Shinmera>
it is /a/ compiler.
quantumbird has joined #lisp
flamebeard has quit [Remote host closed the connection]
<Xach>
spacedbat: connection refused is a very specific error that i do not think is related to the version of sbcl.
bitmapper has quit [Ping timeout: 252 seconds]
gxt has quit [Ping timeout: 260 seconds]
jonatack has joined #lisp
<Xach>
spacedbat: i've seen it happen sometimes when there is a mismatch in what processes think "localhost" means.
<Xach>
ipv6 sometimes comes into play
<Posterdati>
hi
kajo has quit [Ping timeout: 248 seconds]
<beach>
DarkUnicorn: There are several very good, free Common Lisp implementations. SBCL is probably the most commonly used by #lisp participants.
<beach>
Hello Posterdati.
<Posterdati>
please I have a problem with (uiop:getenv "CC") on OpenBSD, it always gets NIL. I placed and exported CC and CXX in .profile, .login and .bashrc and .bash_profile
earl-ducaine has quit [Ping timeout: 248 seconds]
jeosol has quit [Remote host closed the connection]
<Posterdati>
as effect of this, cffi uses cc which won't compile gsll and antik
<spacedbat>
Xach, smokeink: thanks for yoru input
flamebeard has joined #lisp
<Posterdati>
beach: any hints?
bitmapper has joined #lisp
<Xach>
Posterdati: what lisp are you using?
zmyrgel has quit [Remote host closed the connection]
<Posterdati>
Xach: sbcl
<beach>
Posterdati: Me? I don't use foreign code at all. Sorry.
<Xach>
Posterdati: you can set the value with (sb-posix:setenv "CC" "gcc" 1)
<Posterdati>
Xach: I patched ctoolchain.lisp under cffi to set *cc* to "egcc"
<Xach>
or whatever you want instead of "gcc"
earl-ducaine has joined #lisp
<Posterdati>
Xach: ah ok, thanks!
<smokeink>
Posterdati: also have a look at uiop:getenv , why does it fail (if nothing else works)
<Posterdati>
ok thanks
gabiruh has quit [Quit: ZNC - 1.6.0 - http://znc.in]
atgreen_ has quit [Ping timeout: 248 seconds]
norserob has joined #lisp
spacedbat has quit [Ping timeout: 245 seconds]
tourjin has joined #lisp
fookara has joined #lisp
quantumb1rd has joined #lisp
spacedbat has joined #lisp
quantumb1rd has quit [Quit: leaving]
davd has quit [Ping timeout: 268 seconds]
rgherdt has joined #lisp
smokeink has quit [Ping timeout: 245 seconds]
heisig has joined #lisp
tourjin has quit [Ping timeout: 268 seconds]
Bike has joined #lisp
DarkUnicorn has quit [Quit: WeeChat 2.7]
bjorkintosh has joined #lisp
rgherdt has quit [Ping timeout: 246 seconds]
atgreen_ has joined #lisp
mercourisj has joined #lisp
<spacedbat>
OMG I had SWANK:*USE-DEDICATED-OUTPUT-STREAM* set to T
<mercourisj>
Is there a varible for the current package than I can bind in a let or some other form?
<spacedbat>
getting rid of that in .swank.lisp fixed it
<mercourisj>
I want a body to be executed in a different package
<spacedbat>
*PACKAGE*
<mercourisj>
ah, indeed it is
zmv has joined #lisp
<Bike>
keep in mind that if you have (let ((*package* whatever)) body), the package won't be bound until after the body is read
<mercourisj>
I think it should be OK, I'm going to try it now and see if it breaks everything :-D
iovec has joined #lisp
flamebeard has quit [Remote host closed the connection]
flamebeard has joined #lisp
brown121407 has joined #lisp
phlim has joined #lisp
rgherdt has joined #lisp
brown121408 has quit [Ping timeout: 268 seconds]
earl-ducaine has quit [Ping timeout: 248 seconds]
luna_is_here has joined #lisp
dddddd has joined #lisp
lucasb has joined #lisp
vs has joined #lisp
mercourisj has quit [Ping timeout: 245 seconds]
emacsoma1 is now known as emacsomancer
ljavorsk__ has quit [Ping timeout: 246 seconds]
pjb has quit [Remote host closed the connection]
pjb has joined #lisp
flamebeard has quit []
pfdietz has joined #lisp
earl-ducaine has joined #lisp
tourjin has joined #lisp
EvW has joined #lisp
jonatack has quit [Ping timeout: 245 seconds]
rgherdt has quit [Ping timeout: 252 seconds]
gxt has joined #lisp
hjudt_ has quit [Quit: leaving]
cosimone has joined #lisp
LiamH has joined #lisp
hjudt has joined #lisp
cosimone has quit [Client Quit]
enrio has quit [Ping timeout: 248 seconds]
cosimone has joined #lisp
lnostdal has joined #lisp
manualcrank has joined #lisp
random-nick has joined #lisp
travv0`` has joined #lisp
rozenglass has joined #lisp
loskutak has joined #lisp
Inline has joined #lisp
mercourisj has joined #lisp
mercourisj is now known as jmercouris
<jmercouris>
Bike: you are correct
<minion>
jmercouris, memo from pjb`: I would bet that even picolisp has (elt list index). ACL2 (which is more a theorem proven than a programming language) also doesn't have arrays, and use lists to represent them, but that's only in the purpose of proving theorems.
<jmercouris>
pjb: it has something similar, it has nth
<jmercouris>
I don't understand why the let binding isn't working for the package
<beach>
jmercouris: It is working alright.
<beach>
jmercouris: The code in the body will be EXECUTED with the package bound.
<beach>
jmercouris: But the entire form is READ before it is executed.
<beach>
So the package won't be bound during the read.
<jmercouris>
beach: how to get around this?
<jmercouris>
do I have to use (in-package ...) before and after?
<jmercouris>
instead of binding within the let?
vs has quit [Ping timeout: 246 seconds]
<beach>
I don't think there is a single answer. It depends on what you want to do.
<jmercouris>
the parent problem is this, I want to embed parenscript into my program without using package prefixes everywhere
<Bike>
usually we don't arrange things in a "this body needs to be in this package" way.
<jmercouris>
however, I don't want to :use parenscript for my main package
<jmercouris>
Bike: usually not, but I am embedding this code within code of another package
<Bike>
i mean, in package before and after would work, but maybe it's too ugly
<jmercouris>
I won't ever see it, it is part of a macro, so I am OK with that
<jmercouris>
I was thinking I could be clever and use a LET
<Bike>
the essential thing to understand is that *package* is bound before reading. you can't bind it at evaluation time and expect it to affect the reading of an inner form
<Bike>
that would entail reading and evaluation being interleaved, which is a big no
vs has joined #lisp
<jmercouris>
ok, I see
<Bike>
you probably can't do it in a macro exactly
<Bike>
that is, if you expand to something like (progn (in-package ...) stuff-with-parenscript (in-package ...)), that entire progn form is all read in the same *package*
<jmercouris>
... damn
<pfdietz>
Reading and evaling have to be kept separate in your mind. It's possible to eval (or compile) things that were never read at all.
<jmercouris>
this is too hard for me to comprehend
<jmercouris>
how can you eval something that is not read?
<pfdietz>
Top level forms in a file are somewhat special, in that when loading a file forms are evaluated in order before the next is read. There are also rules for compile. See also EVAL-WHEN.
<pfdietz>
You can construct a form. It's just Lisp data.
<pfdietz>
The reader constructs forms from a character sequence, but forms can be constructed other ways too. Evaluation doesn't care.
<jmercouris>
hm, I see
<jmercouris>
I will need to spend more time on this
quantumbird has quit [Remote host closed the connection]
<pfdietz>
Macroexpansion constructs forms that were not there in the program text, for example (although parts of the macroexpansion may have been).
<pfdietz>
When I test CL compilers, I churn out randomly constructed forms. They don't go through the reader, but are passed directly to eval or compile (after wrapping in a lambda).
<jmercouris>
Are things not macroexpanded and THEN read?
<pfdietz>
No. Macroexpansion occurs on Lisp data. The reader is done with it by then.
<jmercouris>
its like a huge light bulb just went off
<jmercouris>
and so many bugs have finally started to make sense
<pfdietz>
READER macros are processed by the reader, but ordinary macros are not.
<jmercouris>
RIGHT RIGHT!
<jmercouris>
thats why they exist!
Cymew has quit [Ping timeout: 248 seconds]
<dlowe>
Hey, jmercouris got the lisp enlightenment
<pfdietz>
The other common misconception with macros is that they are expanded when your code is executed.
heisig has quit [Quit: Leaving]
<pfdietz>
They need not be: in the compiler, macros are expanded at compile time, not evaluation time.
elderK has quit [Quit: WeeChat 1.9]
<pfdietz>
This means a macro cannot depend on a special variable that is bound in your code, around a use of the macro.
<Bike>
i feel like that one was a little confusing for the language designers too, given some of em thought compiler-let would be useful
ck__ is now known as ck_
loke has quit [Remote host closed the connection]
loke has joined #lisp
scymtym has quit [Ping timeout: 248 seconds]
<pfdietz>
If you need to pass information down to macros nested inside other macros, the proper way to do that is with MACROLET (or SYMBOL-MACROLET) and using the environment argiment in macro functions to query the environment.
<pfdietz>
The erroneous way is for the surrounding macro to generate code that binds a special variable.
shifty has quit [Ping timeout: 248 seconds]
tourjin has quit [Ping timeout: 268 seconds]
oxum has quit [Ping timeout: 246 seconds]
<Bike>
anyway, not sure what do do about your specific problem, i'm afraid
<pfdietz>
Is that doing something to the string at macroexpansion time?
<Bike>
jmercouris's code? it's returning the string
<Bike>
ps:ps is a macro, i think
brown121408 has joined #lisp
brown121407 has quit [Read error: Connection reset by peer]
jmercouris has quit [Ping timeout: 246 seconds]
<pfdietz>
Ok
<Bike>
it translates a CL-like language to javascript. as you can see, it treats (some-other-package:chain ...) as a function call, but ps:chain as a special operator
travv0`` has left #lisp ["ERC (IRC client for Emacs 26.1)"]
edgar-rft has quit [Quit: Leaving]
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
jprajzne has quit [Quit: Leaving.]
zmv is now known as ouo
enrio has joined #lisp
ouo is now known as zmv
vs has quit [Read error: Connection reset by peer]
vs has joined #lisp
zmv is now known as [ouo]
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.2)]
jonatack has joined #lisp
eeeeeta has quit [Remote host closed the connection]
efm_ has quit [Quit: Konversation terminated!]
orivej has quit [Ping timeout: 265 seconds]
eeeeeta has joined #lisp
shangul has joined #lisp
EvW has quit [Ping timeout: 248 seconds]
MetaYan_ has quit [Quit: leaving]
Davd33 has joined #lisp
rgherdt has joined #lisp
<Davd33>
I didn’t know that it existed, but I was happy to find out about the function identity 😊
efm has joined #lisp
<pfdietz>
It can be useful at times, usually as a function passed to other functions.
ggole has quit [Quit: Leaving]
redeemed has joined #lisp
Davd33 has quit [Remote host closed the connection]
kmeow_ has joined #lisp
redeemed has quit [Client Quit]
scymtym has joined #lisp
kmeow has quit [Ping timeout: 245 seconds]
jackdani1l is now known as jackdaniel
Davd33 has joined #lisp
rozenglass has quit [Ping timeout: 268 seconds]
lnostdal has quit [Quit: "Fascism, Nazism, Communism and Socialism are only superficial variations of the same monstrous theme—collectivism." -- Ayn Rand]
adolby_ has quit [Ping timeout: 250 seconds]
loskutak has quit [Ping timeout: 246 seconds]
adolby has joined #lisp
MetaYan has joined #lisp
Davd33 has quit [Ping timeout: 245 seconds]
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
poet has quit [Ping timeout: 248 seconds]
[ouo] has quit [Read error: Connection reset by peer]
william1 has quit [Ping timeout: 248 seconds]
rgherdt has quit [Ping timeout: 246 seconds]
mathrick has quit [Ping timeout: 252 seconds]
vs has quit [Read error: Connection reset by peer]
Davd33 has joined #lisp
william1 has joined #lisp
clothespin has joined #lisp
clothespin_ has joined #lisp
grewal__ has quit [Ping timeout: 248 seconds]
grewal___ has quit [Ping timeout: 268 seconds]
Davd33 has quit [Remote host closed the connection]
grewal has joined #lisp
vs has joined #lisp
amer has quit [Quit: amer]
grewal_ has joined #lisp
mathrick has joined #lisp
raghavgururajan has quit [Remote host closed the connection]
stux|RC has quit [Quit: Aloha!]
stux|RC has joined #lisp
cosimone has quit [Quit: ERC (IRC client for Emacs 26.3)]
theruran has quit [Quit: Connection closed for inactivity]
oni-on-ion has joined #lisp
hhdave has quit [Quit: hhdave]
enrio has quit [Ping timeout: 252 seconds]
matijja``` is now known as matijja
vaporatorius has joined #lisp
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
enrio has joined #lisp
brown121408 has quit [Ping timeout: 268 seconds]
brown121408 has joined #lisp
longshi has quit [Ping timeout: 250 seconds]
vs has quit [Ping timeout: 268 seconds]
vs has joined #lisp
space_otter has joined #lisp
kmeow_ has quit [Remote host closed the connection]
space_otter has quit [Remote host closed the connection]
scymtym has quit [Ping timeout: 265 seconds]
<boeg>
Can anyone recommend a book that are kinda project focused, but we use lisp as hour toolbox, rather than just a "learn lisp" books. I have just read pratical common lisp and land of lisp, and the book on my lisp is common lisp recipes, but it kinda looks like a bit of the same deal as the two I just read, and I think it would be more exciting with a book that was a bit different now, but still would help cement what i've just
<boeg>
learned by
<boeg>
using it in a "proper project".
<boeg>
as our*
<boeg>
and the next book on my list*
<boeg>
damn ...
<Xach>
boeg: what counts as a "proper project" to you?
<Shinmera>
minion: tell boeg about paip
<minion>
boeg: paip: Paradigms of Artificial Intelligence Programming. More about Common Lisp than Artificial Intelligence. Now freely available at https://github.com/norvig/paip-lisp
brown121408 has quit [Ping timeout: 246 seconds]
<boeg>
Xach: I guess what I mean where the goal isn't to learn lisp, but learning something else but where the tool of choice is lisp, if you get my meaning
<boeg>
Shinmera: I'll check it out!
brown121408 has joined #lisp
<Xach>
boeg: some of the Practical Common Lisp follow that paradigm
<Xach>
processing MP3 files may be a little dated, but it's something.
<boeg>
Xach: Sure, but it still felt more as a "task for learning lisp" rather than the other way around. Same with the games in land of lisp
<Xach>
I don't know of a CL book that fits that description, sorry.
<boeg>
No worries
<Shinmera>
the best book for real projects are... real projects!
<Xach>
Paradigms of AI Programming is a really great book and dense with info, but I don't think it is a "project first, lisp second" book either. it weaves teaching lisp in very nicely, though.
<boeg>
Shinmera: right, I just don't feel quite ready yet. I'd like some more hand holding in writing real code in lisp before starting on what I have lined up.
<Shinmera>
I meant read real projects
<boeg>
However I think that PAIP is what I'll go with
<Xach>
boeg: Many here (myself included) will be happy to help.
<boeg>
Shinmera: oh
<boeg>
Xach: yeah, thanks :)
<Xach>
boeg: stack overflow is pretty good for lisp answers too
<dlowe>
boeg: why not start contributing to some open source projects? The feedback you get will be very educational
<Shinmera>
there's a lot that would appreciate the help, too.
<boeg>
dlowe: perhaps ... any beginner-friendly common lisp project you have in mind?
<dlowe>
boeg: also, you might be interested in #clschool which is all about starting out in CL
<boeg>
dlowe: Ill check it out, thanks
<dlowe>
nothing I had in mind, no. Anything with open issues that looks interesting to *you*
efm has quit [Read error: Connection reset by peer]
<boeg>
dlowe: sure
<Shinmera>
I'm very bad at estimating what would be good or interesting for a beginner, so I can't say either.
<boeg>
Shinmera: no worries, I think I'll start with PAIP and see how it goes for now
gareppa has joined #lisp
efm has joined #lisp
rozenglass has joined #lisp
cosimone has joined #lisp
<Shinmera>
I do have plenty of projects though and would be happy for any help on them :)
<nwoob>
What makes a language object oriented? If I'm looking at a language which is new to me how can I determine if it supports OOP
kajo has quit [Ping timeout: 246 seconds]
gareppa has quit [Quit: Leaving]
<Xach>
nwoob: if the marketing or introductory materials claim it is
<Xach>
but that is not a great topic of discussion for #lisp
<Xach>
We can discuss CLOS and things like that though!
<nwoob>
Got it, so in which channel can I get my question answered
william1 has quit [Ping timeout: 248 seconds]
<Xach>
I don't know, sorry.
<nwoob>
Ok thanks :)
<aeth>
Maybe a general one? Like ##programming if it exists
<nwoob>
Yes, it does. Thank you
shangul has quit [Ping timeout: 268 seconds]
<aeth>
Every language is going to have its own definitions.
<nwoob>
I understand that, that's why I want to know some key point to differentiate
<Bike>
each language is going to have its own key point
<Bike>
it's magical
<dlowe>
I don't think you will get the certainty you crave
<Xach>
When I was working on compositing code in Lisp, one inspiration was Alvy Ray Smith's documentation of how Altamira Composer worked internally. The documentation explained how they did it all in C, but it was clearly written in a very object-oriented style, despite C's relatively poor direct support for that style.
sebboh2 has quit [Changing host]
sebboh2 has joined #lisp
sebboh2 is now known as sebboh
<boeg>
Shinmera: You are welcome to send me a link or two and I'll see if there is something I'd like to and think I could help with
william1 has joined #lisp
<boeg>
(or 3 or 4 or whatever :P)
<dlowe>
I have also seen C++ written in a very object-oriented style, despite its extremely poor support.
poet has quit [Read error: Connection reset by peer]
brown121408 has joined #lisp
poet has joined #lisp
vms14 has joined #lisp
orivej has joined #lisp
fookara has quit [Remote host closed the connection]
<Xach>
I felt the same way when jwz talked about working with "objects" in C - he meant more in the Lisp sense, where anything is an object, and it's not a special thing with special syntax to send messages around.
clothespin has quit [Ping timeout: 246 seconds]
clothespin_ has quit [Ping timeout: 248 seconds]
rippa has joined #lisp
* jackdaniel
makes noises resembling "cl_object" in ECL's C code
<Bike>
"object" also means something different in C-where-you-pay-attention-to-the-standard, to make sure everyone's confused
<nwoob>
Bike what is the proper definition of an object
<Bike>
what, in C?
<nwoob>
No cl
<nwoob>
Also is everything really a list in Lisp?
<Xach>
nwoob: in CL, an object is any Lisp datum.
<Bike>
no, many things are not lists.
<vms14>
xD
<nwoob>
:D
<Bike>
numbers are not, for instance
anewuser has joined #lisp
<Bike>
i don't think the glossary defines "datum". it's kind of hard since anything the program can deal with is a "datum"
william1 has quit [Ping timeout: 248 seconds]
<Bike>
objects are things you can pass to functions
<Bike>
and return from functions. i guess.
<nwoob>
Pass to function like parameters?
<Bike>
yeah.
<nwoob>
But we can pass parameters to functions in pure functional programming too
william1 has joined #lisp
space_otter has joined #lisp
<Bike>
The meaning of "object" in common lisp is not really about object oriented programming.
<Xach>
It is more like object as in a thing
<Bike>
Stuff
<nwoob>
Ok
Bike has quit [Remote host closed the connection]
Bike has joined #lisp
<Bike>
lisp is "object oriented" in that it has generic functions and multimethods that can do different things depending on the classes of their arguments. "ad hoc polymorphism", if you want something you can look up
<nwoob>
Sure
<nwoob>
I'll
<Bike>
it's not so much "object oriented" in the sense of smalltalk, where a program's behavior consists of methods that are tied to objects
<Bike>
or messages passed between objects
<vms14>
isn't everything an object in lisp?
<Xach>
vms14: every lisp datum!
<Shinmera>
values aren't an object, for instance.
<Bike>
Everything is an object, but that "object" may not be the same kind of thing a person has in mind when they say "object-oriented".
<Shinmera>
or rather, values isn't an object.
<dlowe>
"what does object oriented MEAN" has no universally approved answer, has never converged, and arguing over it is pointless.
<aeth>
there are some things that people include in their OOP definition lists that CLOS doesn't have, like encapsulation.
<Shinmera>
how does it not have that
<pjb>
vms14: all lisp values are an object, but there are different classes of objects, and you are not allowed to modify methods on standard generic functions for standard object classes. You have to define your own generic functions. In smalltalk, you can specifically replace system methods, any one of them.
<Bike>
You see, you first have to understand Aristotle, who
<vms14>
I never looked at smalltalk
<aeth>
Shinmera: afaik the only 'true' encapsulation (unless you do hacks with symbols) is via closures and the rest is by convention like private symbols and the % prefix
<vms14>
I was a bit interested because anyone talks so well about smalltalk and its oop
<vms14>
but meh
<vms14>
also I need to study CLOS
<Bike>
smalltalk is interesting.
<Shinmera>
aeth: what you're talking about is protection flags, not encapsulation.
<pjb>
OOP = encapsulation, abstraction, inheritance and polymorphism.
<Shinmera>
aeth: And protection flags can be circumvented in "traditional OOP" too.
<pjb>
In CL, encapsulation is not enforced. When you have an object, and the name of one of its slots, you can always use the slot-value accessor to access it.
<aeth>
and then you can do slot-value with its-package::%%please-dont-use-this
<pjb>
But you can avoid shooting yourself in the foot, by using only exported symbols (no encapsulation there either, since you can always qualify non-exported symbols with :: instead of :), and use the provided public accessors, instead of accessing the "internals" of the object.
<pjb>
Inheritance, we have it, even as multiple-inheritance.
<pjb>
Abstraction, we have it, even several classes of abstraction! Classes, functions, macros, reader macros, etc.
<pjb>
And Polymorphism, we have it, with methods to generic functions. Note that methods are associated to functions, not to classes!
<pjb>
If you want a stronger encapsulation, you could write your own object system in CL, this is meta-linguistic abstraction.
LiamH has quit [Quit: Leaving.]
<vms14>
what about MOP?
<vms14>
I don't understand too much what really is
<vms14>
but I should study CLOS basics first. I don't event know how to use methods xD
edgar-rft has joined #lisp
<pjb>
vms14: it's an add-on. It let you introspect, modify or redefine the whole object system.
<vms14>
that's the only thing I know about, you can modify stuff
<vms14>
how you deploy a program that uses libraries with quicklisp?
<vms14>
you can load and compile the file and it will "charge" all that libraries, so there is no need to install quicklisp in other pc as long as you have that fasl?