freenode/#lisp - IRC Chatlog
Search
11:01:46
flip214b
there's an "libapache2-mod-lisp" package, does anybody have experience with it? is that better/faster than using mod_proxy and hunchentoot?
12:33:14
mgsk
What's the "best" / "lisponic" way to do the equivalent of (in python) `for idx, elt in enumerate(list)'?
12:36:20
Shinmera
Which is mostly irrelevant nowadays as the symbols are few and the memory is plenty.
12:45:33
KZiemian
JuanDaugherty: this is one year old, partly outdated manifesto https://github.com/phoe/clus-data/blob/master/paper.pdf
12:55:06
KZiemian
if we don't find more acctive contributors we need at least few months to end prepering new framework (in broad sens of word) to CLUS
13:37:23
francogrex
phoe and continue loading asdf as usual using for example: (asdf:operate 'asdf:load-op :ALEXANDRIA) ?
13:39:58
francogrex
because I use step afterwards. if i load the compiled I won't be able to single step unless....
13:44:40
francogrex
(declaim (optimize (debug 3))) I have that. but still if i only load-op it won't single-step unless load-source-op. however with SB-EXT:RESTRICT-COMPILER-POLICY maybe it will directly on the compiled allow me to single step
13:50:17
oleo
#.(declaim (optimize (safety 3) (debug 3) (space 0) (speed 0) (compilation-speed 0) (inhibit-warnings 3)))
14:27:11
phoe
that's where RESTRICT-COMPILER-POLICY comes in, as it's stronger than individual OPTIMIZE declarations.
14:27:34
phoe
so you restrict it in .sbclrc, recompile everything once just to be sure, and boom, debug 3 everywhere.
14:48:52
beach
KZiemian: Here is another item for CLUS: On the dictionary page for FORMAT, it doesn't say what stream is designated when T is given. It would be good to mention that.
15:47:17
flip214
Xach: in https://www.xach.com/naggum/articles/3179815377988891@naggum.net.html, I guess that the
15:48:12
flip214
I've seen a few more similar HTML "injections", but a few of them matched the content or tone so I didn't wonder that much
15:50:35
flip214
(as #:Erik is famous for not loving Perl, I can't resist the guess that this is some Perl-RE-blunder? ;)
15:56:10
Xach
That won't be fixed, sorry. That happens to a small number of articles with ambiguous date fields.
15:57:20
flip214
the number is not that small... from memory, I'd guess I've seen some 30 or 40 mixed up posts, and I'm in Oct 2000 right now... but never mind, I can manage.
16:39:04
sigjuice
why (funcall (intern "INSTALL-REPL" :linedit)))) instead of simply (linedit:install-repl) ?
16:42:03
Bike
probably because that code is read before the linedit package is defined, e.g. in an asd file.
16:43:15
Bike
so if it was just (linedit:install-repl) sbcl would complain that there is no linedit package
16:47:59
sigjuice
the cliki page has (require :linedit) before (funcall (intern "INSTALL-REPL" :linedit) :wrap-current t)
16:49:00
phoe
as long as you don't do stuff like (progn (require :linedit) (linedit:install-repl)) because that will crash
16:49:43
minion
jmercouris, memo from jasom: https://github.com/crategus/cl-cffi-gtk/pull/56 <-- this fixes the ccl issue; I'll post my synchronous gtk solution later tonight
16:50:21
jasom
jmercouris: you were right, as a point of fact, that the ccl crash when not waiting was caused by an upstream bug
16:52:01
jmercouris
jasom: Yeah, I had a strong feeling because at that point I was doing nothing non-standard with the code
16:52:56
jmercouris
I wasn't sure how much was due to my VM setup, SSH X Forwarding, some other config etc
16:53:44
jmercouris
jasom: I'm thinking of maybe using Fereda's version since he accepts PRS/ is updating it, what do you think?
17:03:11
phoe
simplifying things, there's three times: read-time, compilation-time, execution time. There are some other times as well, but let's skip them for now.
17:03:25
phoe
during read-time, Lisp reads your data from strings or streams and turns them into objects.
17:04:10
phoe
then it reads "linedit:install-repl", which means, find me a symbol named "INSTALL-REPL" in package named "LINEDIT".
17:04:51
phoe
It doesn't matter that you had (require :linedit) before. It was only read, but not evaluated.
17:05:31
phoe
when you split your input into (require :linedit) (linedit:install-repl), Lisp first reads the first form, compiles it, evaluates it.
17:05:56
phoe
Then reads the second form - successfully this time, because the first form created the LINEDIT package and all the symbols in it - compiles it, evaluates it. No error.
17:06:41
Xach
mfiano: I don't have cmucl handy at the moment. but in my experience most software is not tested with cmucl and problems can sneak in.
17:09:04
mfiano
Xach: I really haven't tried...this is a remote log from TravisCI that doesn't even get to the loading part.
17:15:25
jmercouris
interesting, so use does get executed it seems, unless I don't understand the docs
17:16:23
phoe
(defpackage foo (:use (concatenate 'string "COMMON-" "LISP"))) ;=> error, (CONCATENATE 'STRING "COMMON-" "LISP") does not designate a package
17:16:48
phoe
so you need to put package designators there, not something that evaluates to package designators.
17:18:35
jmercouris
if you have a defpackage, and you :use something, how does it know what symbols exist from that given :use?
17:20:21
Bike
use is just a list of packages, though. packages have a use-list. when you try to find a symbol in a package, it'll check the use list if it has to, so whatever symbols the used packages define are available, it's not set in stone at defpackage time or anything.
17:22:35
Shinmera
defpackage essentially just expands into an eval-when with all clauses and the respective package operations like export, import, use-package, etc.
17:24:12
jmercouris
I've noticed it doesn't complain about symbols not defined if I :use them in a package
17:24:38
Xach
jmercouris: that's because it's just using the symbols for the strings that are their names.
17:25:10
Xach
FOO is not a variable reference because it's not evaluated normally. defpackage is a macro.
17:26:33
Xach
i wrote a simplified clone of the package system to understand it better and i am happy to answer questions!
17:30:29
dmiles
oh good .. ok so i have this lisp impl i created.. and when i am at startup i have a flag that lets me intern and export new symbols like sys:%foo wi5thout giving an error that %foo does not exist in system .. in cases %foo did exist I export it if the initial bootstrap code used : instead of :: .. al this was of my own design .. but is there some defparameter or some other variable that i could
17:32:50
Bike
you can intern symbols whenever, dmiles. or do you mean that you want something like package locks, so that the user can't intern/etc symbols in certain system packages?
17:33:49
dmiles
the sys::%foo i support fine.. it interns .. but i wanted a way that the user would already know how to export as well as intern
17:35:02
dmiles
https://github.com/TeamSPoon/wam_common_lisp/blob/master/prolog/wam_cl/prologfns.pl#L75 <- here is sone intenral code where i have symbols getting exported
17:37:19
Bike
Which relates to how the reader treats case in symbols, something that intern and find-symbol are completely independent of?
17:38:19
dmiles
so i was more asking if anohter impl uses the same hack i do and what they did to support
17:38:55
Bike
I'm not sure what you're trying to do. Do you want the reader to see a symbol, intern, and export it?
17:39:00
dmiles
correct.. other then the readtable actualyl intially deciding what the string will look like
17:39:21
Bike
Yes the readtable controls how the READER gets a string that is passed to intern. Intern doesn't do any case conversions or anything.
17:40:12
dmiles
yes i'd like it so the user can tell the reader to see a symbol, intern, and export it
17:41:05
Bike
Okay. I don't think anybody does that. Why can't you just specify the package definition with all the exported symbols earlier?
17:43:22
dmiles
but then i was thinking it be nice to not depend on packagfe locks to decide when i ignore that flag
17:43:57
dmiles
thats what i meant " <dmiles> right the interner would be independant of technically"
17:44:39
Bike
This *export-symbols* flag is the one that tells the reader to export symbols sometimes, right? I'm saying you should not have such a flag and the reader should not export symbols.
17:47:22
dmiles
eveytime i make a defparameter like *export-symbols* i have to write docs on it.. i am hoping someone lese did this as well and i could use their docs
17:48:44
Bike
So here's what I"m saying. Don't have any flag like that. If you want a symbol to be exported, just export it, like call the cl:export function on it, or if you have defpackage specify it in :export.
17:49:15
dmiles
so you are saying the better elegant design would be to yave it set up in defpackage .. right on
18:14:21
Bookimp175
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ A BUSY MEETING IS GOING ON NOW IN #/JOIN ITS A JOINT MEETING WITH THE DISCUSSION OF RE-ENSLAVEMENT OF NIGGERS..MESSAGE CHRONO OR VAP0R FOR DETAILSmtbpk: varjag smurfrobot M ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
18:14:25
Bookimp175
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ A BUSY MEETING IS GOING ON NOW IN #/JOIN ITS A JOINT MEETING WITH THE DISCUSSION OF RE-ENSLAVEMENT OF NIGGERS..MESSAGE CHRONO OR VAP0R FOR DETAILSbplxkfh: spoken-tales knobo2 jmercouris ▄▄▄▄▄▄▄▄▄▄▄▄
18:14:30
Bookimp175
▄▄▄▄▄▄▄▄▄▄▄▄▄ A BUSY MEETING IS GOING ON NOW IN #/JOIN ITS A JOINT MEETING WITH THE DISCUSSION OF RE-ENSLAVEMENT OF NIGGERS..MESSAGE CHRONO OR VAP0R FOR DETAILSpnyhh: varjag Khisanth EvW ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
18:14:36
Bookimp175
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ A BUSY MEETING IS GOING ON NOW IN #/JOIN ITS A JOINT MEETING WITH THE DISCUSSION OF RE-ENSLAVEMENT OF NIGGERS..MESSAGE CHRONO OR VAP0R FOR DETAILShgwojzwsj: fluke` Khisanth varjag ▄▄▄▄▄▄▄▄▄▄▄▄▄
18:14:40
Bookimp175
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ A BUSY MEETING IS GOING ON NOW IN #/JOIN ITS A JOINT MEETING WITH THE DISCUSSION OF RE-ENSLAVEMENT OF NIGGERS..MESSAGE CHRONO OR VAP0R FOR DETAILSbfpqzei: jmercouris spoken-tales smurfrobot ▄▄▄▄▄▄▄▄▄▄▄▄
18:14:46
Bookimp175
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ A BUSY MEETING IS GOING ON NOW IN #/JOIN ITS A JOINT MEETING WITH THE DISCUSSION OF RE-ENSLAVEMENT OF NIGGERS..MESSAGE CHRONO OR VAP0R FOR DETAILShgfcdel: smurfrobot damke_ ym ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
18:14:50
Bookimp175
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ A BUSY MEETING IS GOING ON NOW IN #/JOIN ITS A JOINT MEETING WITH THE DISCUSSION OF RE-ENSLAVEMENT OF NIGGERS..MESSAGE CHRONO OR VAP0R FOR DETAILSxnpunnwys: M varjag fluke` ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
18:14:56
Bookimp175
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ A BUSY MEETING IS GOING ON NOW IN #/JOIN ITS A JOINT MEETING WITH THE DISCUSSION OF RE-ENSLAVEMENT OF NIGGERS..MESSAGE CHRONO OR VAP0R FOR DETAILSlccsywl: varjag knobo2 smurfrobot ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
18:15:01
Bookimp175
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ A BUSY MEETING IS GOING ON NOW IN #/JOIN ITS A JOINT MEETING WITH THE DISCUSSION OF RE-ENSLAVEMENT OF NIGGERS..MESSAGE CHRONO OR VAP0R FOR DETAILSlaezhs: ym knobo2 EvW ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
18:15:05
Bookimp175
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ A BUSY MEETING IS GOING ON NOW IN #/JOIN ITS A JOINT MEETING WITH THE DISCUSSION OF RE-ENSLAVEMENT OF NIGGERS..MESSAGE CHRONO OR VAP0R FOR DETAILSnkmusqkan: jmercouris varjag EvW ▄▄▄▄▄▄▄▄▄▄▄▄
18:15:10
Bookimp175
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ A BUSY MEETING IS GOING ON NOW IN #/JOIN ITS A JOINT MEETING WITH THE DISCUSSION OF RE-ENSLAVEMENT OF NIGGERS..MESSAGE CHRONO OR VAP0R FOR DETAILSkkmeadkan: varjag ym jmercouris ▄▄▄▄▄▄▄▄▄▄▄
18:15:15
Bookimp175
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ A BUSY MEETING IS GOING ON NOW IN #/JOIN ITS A JOINT MEETING WITH THE DISCUSSION OF RE-ENSLAVEMENT OF NIGGERS..MESSAGE CHRONO OR VAP0R FOR DETAILSatzvyau: ym Khisanth knobo2 ▄▄▄▄▄▄▄▄▄▄▄▄
18:30:17
jmercouris
He would have the knowledge and the desire to do something like that, maybe it is him
18:39:42
jmercouris
DeadTrickster: Did you get a chance to try the new GTK version? There's a couple features missing yet, like parenscript execution, and callback for "onload" of a webview, but is "kind-of" working
18:47:01
knobo
I was thinking of what was mentioned here: http://blog.quicklisp.org/2017/12/december-2017-quicklisp-dist-update-now.html
18:52:03
dmiles
for my auto-export thing (which i only use for the cold system right) now i swistched over the a primordial **BOOT-STATE**.. but of course the symbol (like before) have to trigger a PACKAGE-ERROR like "Symbol "XXXX" not found in the YYYY package"
19:01:14
jmercouris
DeadTrickster: Yeah, it works, I changed a bunch of things to make it work per jasoms instruction
19:05:19
jmercouris
I see, so you know how to make a standalone executable or one that uses shared libraries?
19:06:21
jmercouris
If you don't want to do it, that's of course no problem, I am just asking if you can since I'm a BSD/MacOS user
19:06:55
jmercouris
So, I'm not exactly 7 days like I said in the issue on github, but pretty close :D
19:26:53
sigjuice
jmercouris the 'Memory pressure relief' messages are coming from here. https://anonscm.debian.org/git/pkg-webkit/webkit.git/tree/Source/WTF/wtf/MemoryPressureHandler.cpp?h=webkitgtk-2.18#n280
19:31:50
jmercouris
sigjuice: It doesn't look like anything unusual I guess, do you know under which condition this log is fired off?
19:33:03
jmercouris
It's possible that it's just a standard debug message do to the way the process is launched
19:33:28
jmercouris
I'll take a look later into cl-webkit and see how the webview is actually instantiated
19:39:08
sigjuice
I guess that is how the gtk window is created. (make-instance 'gtk:gtk-window ... :default-width 250)
21:34:22
Ardx
Can anyone direct me to a lisp/scheme that can be used in a proven, robust and modern IDE? These include vscode, visual studio, intellij, atom. Not emacs, or dr racket
21:37:23
jmercouris
Visual Studio is used for .net mostly, and Intellij is used basically just for Java, so what are you asking for?
21:37:27
Ardx
_death point me to a plugin with syntax highlighting, autocomplete, debugging, and error underlining?
21:38:09
Ardx
In an IDE that has a file tree, can support multiple tabs, and has a working dark theme?
21:38:59
jmercouris
Ardx: Do you think it is just one huge coincidence that we are mostly using Emacs?
21:39:21
Ardx
I just hate emacs tbh, tried to use it with clojure for ages and hate all the keyboard commands i need to remember
21:39:56
jmercouris
There are no keyboard commands you have to remember, if you have vanilla emacs, you can type into it with normal keys, and there is even a menu bar with File-> Save, etc
21:40:31
jmercouris
The latest release of Emacs was within the past year, and why does modern equate to better?
21:40:58
jmercouris
Ardx: Except for that Ctrl+C and Ctrl+V can be made as copy/paste keys, and there are Windows versions that have that built in by default
21:41:17
aeth
Emacs is a lot more modern when (1) you turn off tool-bar-mode and menu-bar-mode and (2) you give it a dark theme and (3) you shrink the font
21:42:23
Ardx
I like having drag drop panes that show me file tree, document tabs, code, menu with debugging options etc
21:43:00
jmercouris
Ardx: If you just don't feel like learning it, that's fine, but you can't argue that emacs is less capable
21:44:14
Ardx
not here to learn keyboard shortcuts and how to hide everything away, just want to edit lisp in a regular enviroment that I work in all day too
21:45:29
jmercouris
Ardx: Not all interfaces have to be so strange looking: https://imgur.com/a/LhCA6
21:45:54
jmercouris
Ardx: I'm just suggesting keep an open mind, it is not a coincidence that the best developers are using heavily modified emacs and vi
21:47:45
jmercouris
Ardx: I would say you rather prefer your editor as simple as possible, and making all decisions for you, and that's fine, but you won't score any points by criticizing emacs (unless of course your criticisms are accurate)
21:49:26
aeth
Ardx: The problem is that every language that has an IDE has a different best IDE. And IDEs make a huge difference. C# in Emacs isn't a good experience, just like Common Lisp in Visual Studio isn't a good experience. The recommended IDE for CL is SLIME, which does many cool things. There are ports of SLIME outside of Emacs (e.g. vim), but they're not as featureful at the moment.
21:50:00
aeth
Emacs is both a text editor and a platform, and it happens to be the platform for the Common Lisp IDE.
21:51:07
Ardx
all languages have the same core concepts though: a set of files, code to syntax highlight, autocompletion on type, error underlining, a repl, and a compilation step
21:51:08
rme
And that is, IMO, somewhat unfortunate. Emacs and SLIME do a lot, but you can write CL using any tool you like.
21:51:46
Ardx
Thats why things like the language service exist, and how a vscode/sublime can suport a lot of different languages
21:51:47
aeth
Ardx: Yes, all languages have the same core concepts, but they all tend to have a different "best" IDE. That's definitely unfortunate.
21:52:32
aeth
Ardx: There is a server that CL can speak, used by SLIME and other IDEs. It's called swank. https://github.com/slime/slime/blob/master/swank.lisp
21:52:45
_death
Ardx: this is wrong, and if you want to learn why, you need to suspend your disbelief and pick the environment that tends to be used by practitioners of a language
21:52:59
aeth
Ardx: The problem is that people hav eto support swank, and I don't think Microsoft (creators of Visual Studio) have an interest in CL.
21:54:27
aeth
CL is a fairly unique language, so converting it to something designed for a C# or Java workflow is probably not going to work. Common Lisp is unlike almost every other language because it's based on an interactive image. Smalltalk is also like that, and Smalltalk is the only other language I know like that.
21:54:54
aeth
Smalltalk is probably the only language more interactive than CL (it did it first, and it did it better)