freenode/#lisp - IRC Chatlog
Search
5:34:31
ThJ
no-defun-allowed: the idea that because lisp is so powerful, it encourages a fiercly independent roll-your-own approach and discourages collaboration, hampering any attempt at forming a large community around lisp.
5:35:48
|3b|
ACTION sees a problem where the community is small so it is harder to find people who want close enough to the same thing to collaborate :/
5:36:14
ThJ
from a business perspective, mediocre yet fungible programmers are desirable. unfortunately, some might say.
5:36:18
kristof
the truth is actually that less powerful programming languages are more prone to "roll-your-own" approaches because they fail to provide basic things taken for granted in other languages
5:36:18
|3b|
(specifically in #lispgames, we have a bunch of people working on things that are arguably the same at a high level, but disagree on details)
5:36:52
kristof
so "software architects" come up with arbitrary ways to string together their basic building blocks
5:36:59
|3b|
also smaller amount of people paid to actually finish things, encourages people to be less likely to reuse the unfinished things people did as a hobby
5:37:27
ThJ
i mean, a lot of lisp libraries do seem to suffer from the "80% of the way there" disease.
5:39:13
kristof
Ftr I have been dissatisfied with a great many open source libraries because this is a feature of quick projects in small communities, not programming languages.
5:39:38
ThJ
i have no trouble discussing overarching themes without needing to go into detail. good skill to have, i say.
5:39:43
oni-on-ion
"nothing quite unites a group of people quite like having a common enemy" social coherence
5:39:47
kristof
It does not actually take a long time to write whatever it is you think is missing unless the domain is very niche or could use very significant attention.
5:41:16
beach
ThJ: In the past, there have been people coming to #lisp, thinking that it is like other channels, where apparently people show up when they are bored and just want to waste time. They were surprised to find that #lisp is mainly about getting real work done.
5:41:28
ThJ
beach: i have something concrete to ask about, then: repeatedly on this channel, i've been told that various things are off limits. i'd like to have a concrete list of these things that i shouldn't be discussing.
5:42:05
kristof
Look, I think you'll find that a lot of people get annoyed by random pontification, that's all.
5:43:20
jasom
ThJ: anything directly related to developing in common lisp is fine. Tangents that are indirectly related may be fine.
5:44:12
beach
ThJ: I can give you a partial list of what is on topic, but it is not going to be exhaustive: Interpretation of the Common Lisp HyperSpec. Pointing out bugs in the Common Lisp HyperSpec. Applications written in Common Lisp. Libraries written in Common Lisp. Ideas for saving total work load for the Common Lisp community. Tools.
5:44:42
jackdaniel
although it is arguable that people always stay on topic here (and longer they are here less likely people will point it out), it is a fact, that it is more on-topic than some channels and it is a quality worth preserving :)
5:45:30
|3b|
ACTION takes the relative sizes of #lisp and #lispcafe as evidence that property is desired by #lisp
5:47:11
beach
ThJ: I can also give you a list of things that are definitely off topic, at least for lengthy discussions: What "Lisp" is. What languages other than Common Lisp are Lisp languages. Pointless discussions about terms that nobody cares to define.
5:49:38
jackdaniel
also this with "80% solution" claims seem like repeated from a "bipolar lisp programmer" verbatim without much thought put into it. appreciate your intelligence, do not act like a memo bot! ;-)
5:51:44
beach
ThJ: Then I have some discussions that I find extremely pointless myself, but that I am not willing to deem off-topic, in particular discussions about what the standard omitted and that someone thinks should have been included. Especially when such opinions come from people who have very little knowledge about programming language design, and compiler technology.
5:52:19
jackdaniel
well, it is a strawman argument, most open source ecosystems suffer from scratch-my-itch problems (in average)
5:53:23
ThJ
jackdaniel: i have plenty of counterarguments, but if i entered into this, we'd both be here for a few hours, spamming the channel.
5:54:32
jackdaniel
I've just pointed out, that repeating someone else opinions with only surface knowledge may be perceived silly from the 3rd person perspective (and I'm /off now :)
6:10:29
russellw
Is there any way to make the standard output stream behave like tee, so everything printed to standard output also gets logged to a file?
6:41:13
russellw
And my next question is sort of a follow on from the last one, but it needed a full test case, so I wrote it up on https://stackoverflow.com/questions/52868304/exit-without-losing-cached-output
6:44:28
|3b|
"If a new output file is being written, and control leaves abnormally, the file is aborted and the file system is left, so far as possible, as if the file had never been opened. "
7:01:40
ealfonso
I'm trying to md5 an image from the web, but using ironclad: (ironclad:digest-stream :md5 (drakma:http-request "https://github.com/favicon.ico" :want-stream t)) I get "Unsupported stream element-type FLEXI-STREAMS::CHAR* for stream #<FLEXI-STREAMS:FLEXI-IO-STREAM {1004B2CE73}>." Is there an easy way to change the stream element type to the correct one?
7:04:37
|3b|
ealfonso: from https://edicl.github.io/drakma/#arg-want-stream, "If you want to read binary data from this stream, read from the underlying stream which you can get with FLEXI-STREAM-STREAM. "
8:41:38
beach
Luckily, we are using Common Lisp, so implementing an idea is fairly easy, compared to some other languages.
8:42:19
Shinmera
no-defun-allowed: You implement it and then half a year later you realize it was crap and do it over again until that stops happening
8:43:36
beach
My colleagues in the generation before me had no experience in actually writing code, but they had read in the software engineering literature that you have to design before implementing. That rule was created when designing was relatively easy and implementing was hard (punch cards, batch processing, delays...).
8:44:19
Shinmera
Well, designing ahead of time is still a good idea, just to braistorm ideas and architectures
8:45:05
beach
Lycurgus: These colleagues were all theoreticians, and this is France, so there was comparatively little practical work done in academia at the time.
8:46:49
Lycurgus
well coding generations are less than 10 years anyway. I like to think about it till I match it up with enough done stuff to make my work doable.
8:46:57
beach
I still write specifications first sometimes, especially when I know that implementing and testing it is going to be hard, like for the SICL garbage collector.
8:48:37
Shinmera
I need to start documenting some bits of Trial because even I'm starting to lose track of how everything was supposed to fit together
8:51:19
Shinmera
I also have an idea for an ELS paper based on some more Trial work that builds on what I presented this year.
9:20:07
Demosthenex
i've been having a hardware issue causing crashes (laptop sleep), is there a way to make slime save the comint history frequently?
12:24:06
hjudt_
any idea why my sb-impl::*default-external-format* is :ansi_x3.4-1968 inside a docker container and not :utf-8? or what i do have to set to choose :utf-8 support automatically?
12:25:54
hjudt_
locale tells me cannot set to default locale: no such file or directory for LC_CTYPE, LC_MESSAGE and LC_ALL
12:28:04
hjudt_
maybe. sbcl knows about :utf-8 because i can specify it when using with-open-file and it works.
12:30:02
hjudt_
yes. i will see what is installed, maybe some locales package is still needed in the image.
12:49:08
scymtym
hjudt_: if i recall correctly, you can use the C.UTF-8 locale without installing additional packages
13:13:33
hjudt_
i've added "RUN localedef -i en_US -c -f UTF-8 en_US.UTF-8" to the dockerfile, now it works.
14:45:05
jdz
scymtym: I recently got burned by C.UTF-8 locale because it is defined only in Debian (and derived) distros.
14:46:45
jdz
Yes, and my understanding is that it is hard-coded in glibc and cannot be generated using /etc/locale.gen.
14:47:40
jdz
My gripe with the software that unconditionally uses such locale is that said software does not first check if the current locale has UTF-8 support.
14:48:52
jdz
But then again, most software up until recently only supported ASCII, and even now most software does not support left-to-right and top-to-bottom writing systems.
14:49:51
loke
jdz: Using that locale is bad. But assuming that you have a UTF-8 locale is becoming a reasonable thing to do.
15:41:50
skidd0
also, do I need to structure my code so that macros are defined before they are used?
15:46:51
pfdietz
Macros get executed at compile time, so they absolutely must be defined before use.
15:53:08
gendl
Hi, I'm having trouble completely understanding an :around method for an asdf:perform (tried reading ASDF manual but I'm still a bit lost). Here's the file in question:
15:53:33
_death
skidd0: update your quicklisp dists.. this should update the project nibbles, which ironclad uses.. it used sbcl internals that were changed, and had to be patched
15:53:51
gendl
The way this is written, after that asdf-tricks.lisp is compiled/loaded into Lisp, it will affect any file of type "cl" forever more, is that right?
15:54:20
gendl
If possible, I'd like to have it affect only a certain ASDF system, which is gonna be named "zaserve" or "aserve"
15:55:46
gendl
otherwise, what that `with-zacl-build-environment' does is bind a modified readtable around its body -- i'd prefer not to make that start happening with any and all .cl files which get processed after zacl is loaded...
15:58:27
_death
skidd0: also, if you've already updated nibbles, then the patch is not backwards compatible and you should update sbcl..
16:00:17
_death
(ql:update-client) to make sure you have latest quicklisp, then (ql:update-all-dists)
16:00:17
gendl
pfdietz: I see... so anyway the only way it would be a problem as it is now, would be if someone else is also using :cl-file as a class in their .asd file.
16:00:38
gendl
it won't affect all files of type "cl" unless they're using the same class name to specify that file type
16:01:33
gendl
but still, it seems like it would be safer to have a more specific and guaranteed unique class name.
16:03:48
gendl
But, in order for :components ((:cl-file ...)) to work, the class cl-file _has_ to be put into the asdf package, right?
16:04:33
gendl
similarly if we do (defclass asdf::zacl-cl-file (asdf:source-file) ...) it necessarily has to be in the asdf package... right?
16:05:16
pfdietz
I don't know. If it's a keyword being translated to a class name, they probably yes. But can the class name itself be used there?
16:06:24
gendl
pfdietz: good question. I'll play around with it. I've only ever seen it be a keyword, tagging those :components.
16:09:15
spm_
silly question: Where in the hyperspec do I look to see the rules around string formatting that allow the cl reader to convert into object/structs? i.e. If I want to read a stream and have the reader be able to convert directly into CL objects, where do I find those rules.
16:10:21
HighMemoryDaemon
Anyone here use both Common Lisp and Racket? What do you love about both languages? I'm still a beginner and learning about ASDF/Quicklisp. I like that package management is quite simple and familiar in Racket. Great documentation around Racket as well.
16:19:09
pfdietz
It is. And if you are invoking sbcl from slime, you should set it. The emacs variable slime-lisp-implementations allows one to specify its value in the :env part of list members.
16:21:25
beach
HighMemoryDaemon: One of the great strengths of Common Lisp is that it has a standard, published by an independent standards organization. It is independent, in the sense that the standards organization does not supply any Common Lisp implementations, and the people writing the implementations can not influence that standard. As I often say, the project leader for a software project who chooses a language without an independent
16:23:37
gendl
pfdietz: ok it works to use a non-keyword symbol (naming a class) instead of e.g. :cl-file