jackdaniel changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language<http://cliki.net/> logs:<https://irclog.whitequark.org/lisp,http://ccl.clozure.com/irc-logs/lisp/> | SBCL 1.4.5, CMUCL 21b, ECL 16.1.3, CCL 1.11.5, ABCL 1.5.0
pjb has joined #lisp
n3k0_t has quit [Ping timeout: 252 seconds]
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rpg has joined #lisp
olopierpa has quit [Ping timeout: 256 seconds]
nullniverse has joined #lisp
quazimodo has joined #lisp
skidd0 has joined #lisp
<skidd0> I am hitting an issue where SBCL apparently has locked a package SB-X86-64-ASM.
<skidd0> this is whenI try to quickload Ironclas
<skidd0> oops, Ironclad*
<skidd0> which is also loaded by Clack
<skidd0> which is how i first ran into this
Kundry_Wag has joined #lisp
<_death> update thy nibbles
pjb has quit [Ping timeout: 252 seconds]
Kundry_Wag has quit [Ping timeout: 252 seconds]
SumoSud0 has quit [Ping timeout: 245 seconds]
charh has quit [Remote host closed the connection]
SumoSud0 has joined #lisp
python476 has quit [Ping timeout: 252 seconds]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 246 seconds]
<skidd0> what nibbles?
n3k0_t has joined #lisp
<no-defun-allowed> sbcl requires morning and afternoon snacks to operate
<no-defun-allowed> or it could be the cl package. sbcl's more likely to be hungry though
angavrilov has quit [Remote host closed the connection]
elfmacs has joined #lisp
pjb has joined #lisp
Achylles has joined #lisp
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<skidd0> how do I feed it?
slightlycyborg has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 245 seconds]
<no-defun-allowed> (sb-ext:feed-sbcl food)
<no-defun-allowed> food can be any data, but cons trees are sbcl's favourite
Achylles has quit [Quit: Leaving]
<skidd0> well that's not very helpful
<LdBeth> Clozure CL failed on Mojave
<LdBeth> f**l Apple
Josh_2 has quit [Quit: ERC (IRC client for Emacs 26.1)]
shifty has joined #lisp
pjb has quit [Ping timeout: 252 seconds]
elfmacs has quit [Quit: WeeChat 2.2]
rpg has joined #lisp
<oni-on-ion> fall fool fill fell foil \
dale has quit [Quit: dale]
charh has joined #lisp
Kundry_Wag has joined #lisp
meepdeew has joined #lisp
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Kundry_Wag has quit [Ping timeout: 245 seconds]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 246 seconds]
mathrick_ has quit [Ping timeout: 250 seconds]
pjb has joined #lisp
Kundry_Wag has joined #lisp
<LdBeth> FLCL
<LdBeth> minion: what does FLCL mean
<minion> Fitly Linguanasal Common Lisp
Kundry_Wag has quit [Ping timeout: 244 seconds]
<LdBeth> GG
mathrick_ has joined #lisp
pjb has quit [Ping timeout: 252 seconds]
<Elronnd> is there a better way to turn an arbitrary thing into a string than (format nil "~A" thing)?
dddddd has quit [Remote host closed the connection]
fikka has joined #lisp
<Bike> write-to-string
Arcaelyx has quit [Quit: Textual IRC Client: www.textualapp.com]
<Elronnd> thanks
cylb has quit [Ping timeout: 252 seconds]
Kundry_Wag has joined #lisp
fikka has quit [Ping timeout: 244 seconds]
linack has joined #lisp
Kundry_Wag has quit [Ping timeout: 245 seconds]
arescorpio has joined #lisp
arescorpio has quit [Remote host closed the connection]
arescorpio has joined #lisp
esrse has joined #lisp
Kundry_Wag has joined #lisp
anewuser has joined #lisp
Kundry_Wag has quit [Ping timeout: 268 seconds]
pjb has joined #lisp
Kundry_Wag has joined #lisp
linack has quit [Read error: Connection reset by peer]
<beach> Good morning everyone!
<oni-on-ion> good morning beach
Kundry_Wag has quit [Ping timeout: 245 seconds]
nullniverse has quit [Read error: Connection reset by peer]
nullniverse has joined #lisp
Oladon has joined #lisp
eminhi has joined #lisp
<russellw> morning!
eminhi_ has joined #lisp
eminhi has quit [Ping timeout: 272 seconds]
arescorpio has quit [Remote host closed the connection]
Bike has quit [Quit: Lost terminal]
jmarciano has quit [Ping timeout: 246 seconds]
<Elronnd> is there any reason *not* to have a bunch of recursive maps?
<Inline> (string thing)
<oni-on-ion> unless you either never want to get to where you are going, or always be there
<russellw> I want to save the values of some global variables, do some stuff that can mutate them, then restore the original values. This seems like a pattern that could be encapsulated in a with- kind of construct. I can try to write my own macro, but before I do that, is there anything that already exists that will do the job?
<beach> clhs let
pjb has quit [Ping timeout: 250 seconds]
<russellw> right, that – oh! wait, if you use it on global variables, it works like a stack, doesn't it? That actually sounds like what I need right now. Cool, thanks!
nullniverse has quit [Quit: Undertaking stack overflow prevention]
dented42 has quit [Quit: Textual IRC Client: www.textualapp.com]
<beach> There is no such thing as a "global variable" in Common Lisp. They are called "special variables" and can be bound by a LET.
<russellw> yeah
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 244 seconds]
sjl has joined #lisp
hvxgr has quit [Ping timeout: 268 seconds]
hvxgr has joined #lisp
<loke> beach: it's not in the spec, of course, but most CL's have a distinction between special and global variables.
<loke> The difference is only visible when using threads.
<beach> I know. Let's not confuse russellw.
<russellw> :)
rpg has joined #lisp
<loke> russellw: unless you are dealing with threaded code, there is no visible difference.
<russellw> and I'm not, so that's okay ^.^
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
anewuser has quit [Quit: anewuser]
pjb has joined #lisp
Kundry_Wag has joined #lisp
ryan_vw has joined #lisp
sjl has quit [Quit: WeeChat 2.3-dev]
_ark_ has joined #lisp
Kundry_Wag has quit [Ping timeout: 272 seconds]
_ark_ has quit [Client Quit]
Roy_Fokker has quit [Read error: Connection reset by peer]
_ark_ has joined #lisp
skidd0 has quit [Quit: WeeChat 2.2]
_ark_ has quit [Quit: ERC (IRC client for Emacs 26.1)]
Kaisyu has quit [Quit: Connection closed for inactivity]
meepdeew has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
pjb has quit [Ping timeout: 252 seconds]
ryan_vw has quit [Ping timeout: 252 seconds]
Kundry_Wag has quit [Ping timeout: 252 seconds]
Kundry_Wag has joined #lisp
asarch has quit [Quit: Leaving]
pillton has joined #lisp
Kundry_Wag has quit [Ping timeout: 244 seconds]
megalography has quit [Quit: Leaving.]
pjb has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 246 seconds]
frodef has joined #lisp
Oladon has quit [Quit: Leaving.]
<ThJ> so, what's everyone's take on the lisp curse?
<no-defun-allowed> what curse?
<beach> You can safely ignore it.
kristof has joined #lisp
<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.
<no-defun-allowed> hmmm, no i don't see that
<beach> Yes, let's go for less powerful stuff, so that we cater to mediocre programmers.
<oni-on-ion> hubis
<kristof> there is potential for abuse with macros but taste can be developed
<oni-on-ion> +r
* |3b| 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 :/
<ThJ> from a business perspective, mediocre yet fungible programmers are desirable. unfortunately, some might say.
<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
<|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)
<beach> ThJ: Luckily, not everyone has to buy into a business perspective.
<ThJ> from a community perspective, agreeing on standards is desirable.
<kristof> so "software architects" come up with arbitrary ways to string together their basic building blocks
<ThJ> locking down features is one way of doing that.
<|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
<|3b|> neither specific to lisp though, just small # of users
<ThJ> i mean, a lot of lisp libraries do seem to suffer from the "80% of the way there" disease.
<ThJ> fixing the hacker's problems but nobody elses.
<kristof> This is a vague, abstract discussion. Concrete examples would be beneficial.
<beach> Hence "you can safely ignore it"
<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.
<beach> Even more beneficial would be to roll up your sleeves and get to work.
<kristof> ^
<ThJ> i have no trouble discussing overarching themes without needing to go into detail. good skill to have, i say.
<oni-on-ion> "nothing quite unites a group of people quite like having a common enemy" social coherence
<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.
<beach> ThJ: Maybe so, but not so good for #lisp.
<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.
<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.
<kristof> lol
<oni-on-ion> also lul
<beach> ThJ: I am not in charge, so I can't give you such a list.
<kristof> Look, I think you'll find that a lot of people get annoyed by random pontification, that's all.
<beach> Exactly.
<|3b|> talk about concrete things about common lisp :)
<|3b|> there is #lispcafe for things considered offtopic in #lisp
<jasom> ThJ: anything directly related to developing in common lisp is fine. Tangents that are indirectly related may be fine.
<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.
<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 :)
* |3b| takes the relative sizes of #lisp and #lispcafe as evidence that property is desired by #lisp
Kundry_Wag has joined #lisp
<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.
vlatkoB has joined #lisp
pjb has quit [Ping timeout: 252 seconds]
<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! ;-)
<ThJ> jackdaniel: well, if it weren't off topic, i'd take you up on that discussion.
Kundry_Wag has quit [Ping timeout: 272 seconds]
astronavt has joined #lisp
<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.
<jackdaniel> well, it is a strawman argument, most open source ecosystems suffer from scratch-my-itch problems (in average)
Kundry_Wag has joined #lisp
<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.
<beach> Go to #lispcafe then.
<beach> That's why that channel exists.
<jackdaniel> I'm not interested in that (: it is not an interesting topic for me either
<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 :)
<ThJ> jackdaniel: now you're just teasing.
Kundry_Wag has quit [Ping timeout: 250 seconds]
makomo has quit [Ping timeout: 260 seconds]
kajo has quit [Ping timeout: 268 seconds]
jkordani has quit [Ping timeout: 245 seconds]
kristof has quit [Ping timeout: 268 seconds]
frgo has quit [Remote host closed the connection]
nanoz has joined #lisp
frgo has joined #lisp
jkordani has joined #lisp
<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?
fikka has joined #lisp
ismay has joined #lisp
JohnMS_WORK has joined #lisp
DGASAU has quit [Read error: Connection reset by peer]
<beach> I think someone answered that question recently.
JohnMS has joined #lisp
JohnMS has quit [Client Quit]
<beach> clhs make-broadcast-stream
<oni-on-ion> open broadcast stream
<russellw> ah, thanks!
DGASAU has joined #lisp
frgo has quit [Ping timeout: 252 seconds]
fikka has quit [Ping timeout: 252 seconds]
<phoe> morning
<beach> Hello phoe.
<russellw> morning!
<phoe> heyyyy
kajo has joined #lisp
pjb has joined #lisp
Kundry_Wag has joined #lisp
<jackdaniel> daily wall of greetings?
<beach> jackdaniel: Are you OK? You seem to be cranky lately.
scymtym has quit [Ping timeout: 272 seconds]
astronavt has quit [Quit: Leaving]
<jackdaniel> I'm fine, thank you. Sorry to hear I seem that way.
<beach> Whew! I'll quit worrying.
Kundry_Wag has quit [Ping timeout: 245 seconds]
robotoad has quit [Quit: robotoad]
kajo has quit [Ping timeout: 246 seconds]
frgo has joined #lisp
frgo has quit [Remote host closed the connection]
frgo has joined #lisp
<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
<|3b|> clhs finish-output
Kundry_Wag has joined #lisp
<|3b|> ah, that might be something different
<|3b|> clhs with-open-file
nanozz has joined #lisp
<|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. "
<|3b|> slightly annoying behavior for things like that :/
<russellw> oh! hmm
<|3b|> i think you can get around it with (with-open-stream (s (open ...)) ...)
pjb has quit [Read error: Connection reset by peer]
Kundry_Wag has quit [Ping timeout: 252 seconds]
nanoz has quit [Ping timeout: 252 seconds]
Kundry_Wag has joined #lisp
eminhi_ has quit [Ping timeout: 252 seconds]
<russellw> that worked, thanks!
Kundry_Wag has quit [Ping timeout: 272 seconds]
ealfonso has quit [Disconnected by services]
ealfonso has joined #lisp
Lord_of_Life has quit [Ping timeout: 244 seconds]
shka_ has joined #lisp
<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?
<shka_> good morning
<|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. "
loli has joined #lisp
Kaisyu has joined #lisp
heisig has joined #lisp
<ealfonso> |3b| thanks
orivej has joined #lisp
jcowan has quit [Quit: Connection closed for inactivity]
scymtym has joined #lisp
Kundry_Wag has joined #lisp
frgo has quit [Remote host closed the connection]
Copenhagen_Bram has quit [Read error: Connection reset by peer]
Kundry_Wag has quit [Ping timeout: 272 seconds]
xvx has quit [Quit: xvx]
frgo has joined #lisp
Copenhagen_Bram has joined #lisp
ebzzry has joined #lisp
orivej has quit [Ping timeout: 246 seconds]
nowhere_man has joined #lisp
aeth has quit [Read error: Connection reset by peer]
aeth has joined #lisp
v0|d has joined #lisp
shrdlu68 has joined #lisp
varjag has joined #lisp
fikka has joined #lisp
Kundry_Wag has joined #lisp
trittweiler has quit [Ping timeout: 268 seconds]
Kundry_Wag has quit [Ping timeout: 252 seconds]
mange has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 244 seconds]
stereosphere has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
asymptotically has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 268 seconds]
nowhere_man has quit [Remote host closed the connection]
nowhere_man has joined #lisp
Lycurgus has joined #lisp
<no-defun-allowed> how do you decide when an idea is developed enough to implement?
<beach> You try to implement it.
<beach> At least that's what I do.
<beach> Luckily, we are using Common Lisp, so implementing an idea is fairly easy, compared to some other languages.
<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
<Shinmera> or until you lose interest
<no-defun-allowed> lol, good points
cylb has joined #lisp
<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...).
<Lycurgus> wow you must be older than me
<beach> Now that implementing is easy, there is no reason not to use it as a design tools.
<Shinmera> Well, designing ahead of time is still a good idea, just to braistorm ideas and architectures
<Lycurgus> or in a field where code writing came later than general society
<Shinmera> Just.. don't first write a spec.
<beach> Lycurgus: These colleagues were all theoreticians, and this is France, so there was comparatively little practical work done in academia at the time.
<Lycurgus> ah
<Lycurgus> so before Colermerauer et al
<beach> Maybe not. There were exceptions even then.
* no-defun-allowed hides her prototype spec
<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.
<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.
cylb has quit [Ping timeout: 252 seconds]
xvx has joined #lisp
<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
<Shinmera> Maybe I'll write some more articles about it...
ggole has joined #lisp
<Shinmera> I also have an idea for an ELS paper based on some more Trial work that builds on what I presented this year.
<Lycurgus> *Colmerauer who as it turns out died last May
<shka_> Shinmera: what is Trial?
Kundry_Wag has joined #lisp
<shka_> ok, found it on github
nlyy has joined #lisp
<Lycurgus> testing framework?
<Shinmera> It's a project with no docs
<shka_> Lycurgus: nope, game engine apparently
<Lycurgus> ah
<Shinmera> There's some articles about it here https://reader.tymoon.eu/tagged/s:gamedev
<Shinmera> The name is because I'm terrible at names and it started out as an experiment.
<Lycurgus> nice
<Lycurgus> (if it did those graphics)
<Shinmera> Depends on which ones you're looking at.
<Shinmera> It did not do the ones from the article headers, those are from AAA games.
Kundry_Wag has quit [Ping timeout: 252 seconds]
<Lycurgus> ah
Kundry_Wag has joined #lisp
mingus has joined #lisp
xificurC has joined #lisp
asymptotically has quit [Remote host closed the connection]
Kundry_Wag has quit [Ping timeout: 250 seconds]
asymptotically has joined #lisp
<Demosthenex> i've been having a hardware issue causing crashes (laptop sleep), is there a way to make slime save the comint history frequently?
esrse has quit [Ping timeout: 244 seconds]
Kundry_Wag has joined #lisp
ealfonso has quit [Read error: Connection reset by peer]
cl-arthur has joined #lisp
ealfonso has joined #lisp
Kundry_Wag has quit [Ping timeout: 245 seconds]
fikka has joined #lisp
fikka has quit [Ping timeout: 246 seconds]
ealfonso has quit [Ping timeout: 268 seconds]
python476 has joined #lisp
pfdietz has quit [Ping timeout: 276 seconds]
Kundry_Wag has joined #lisp
pfdietz has joined #lisp
Kundry_Wag has quit [Ping timeout: 264 seconds]
Kaisyu has quit [Quit: Connection closed for inactivity]
orivej has joined #lisp
angavrilov has joined #lisp
Kundry_Wag has joined #lisp
Essadon has joined #lisp
Kundry_Wag has quit [Ping timeout: 252 seconds]
varjag has quit [Ping timeout: 260 seconds]
Kundry_Wag has joined #lisp
varjag has joined #lisp
quazimodo has quit [Ping timeout: 246 seconds]
Kundry_Wag has quit [Ping timeout: 245 seconds]
quazimodo has joined #lisp
DGASAU has quit [Read error: Connection reset by peer]
DGASAU has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 252 seconds]
igemnace has joined #lisp
jcowan has joined #lisp
knicklux has joined #lisp
nly has quit [Quit: Quit]
fikka has joined #lisp
nlyy has left #lisp ["ERC (IRC client for Emacs 26.1)"]
dddddd has joined #lisp
knicklux has quit [Remote host closed the connection]
edgar-rft has quit [Quit: Leaving]
Lord_of_Life has joined #lisp
Kundry_Wag has joined #lisp
rumbler31 has quit [Remote host closed the connection]
Kundry_Wag has quit [Ping timeout: 260 seconds]
Lycurgus has quit [Quit: Exeunt]
Josh_2 has joined #lisp
anewuser has joined #lisp
DGASAU has quit [Ping timeout: 252 seconds]
cylb has joined #lisp
knicklux has joined #lisp
Kundry_Wag has joined #lisp
cl-arthur has quit [Quit: Lost terminal]
Kundry_Wag has quit [Ping timeout: 246 seconds]
DGASAU has joined #lisp
kajo has joined #lisp
wanz has joined #lisp
frgo has quit [Remote host closed the connection]
<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?
<Xach> hjudt_: one option is to check the output of 'locale'
<Xach> hjudt_: setting LANG before running sbcl can help
<hjudt_> i have set LANG=en_US.UTF-8
<Xach> hjudt_: is that a valid option on that system? is it in the output of 'locale -a'?
<hjudt_> locale tells me cannot set to default locale: no such file or directory for LC_CTYPE, LC_MESSAGE and LC_ALL
varjag has quit [Ping timeout: 268 seconds]
<hjudt_> but the rest of the vars (LC_* and LANG) is set appropriately
<hjudt_> ok. locale -a says there is only C and POSIX
<Xach> that could be part of the problem
<Xach> i don't know how to fix it, sorry
<hjudt_> maybe. sbcl knows about :utf-8 because i can specify it when using with-open-file and it works.
<Xach> yes. but you mentioned automatic.
<hjudt_> yes. i will see what is installed, maybe some locales package is still needed in the image.
frgo has joined #lisp
frgo has quit [Remote host closed the connection]
frgo has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 244 seconds]
quipa has joined #lisp
<scymtym> hjudt_: if i recall correctly, you can use the C.UTF-8 locale without installing additional packages
kajo has quit [Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.]
<scymtym> oh, you said there were only C and POSIX. might not work then
foom2 has joined #lisp
foom has quit [Ping timeout: 276 seconds]
igemnace has quit [Quit: WeeChat 2.2]
fikka has quit [Ping timeout: 272 seconds]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 252 seconds]
<hjudt_> i've added "RUN localedef -i en_US -c -f UTF-8 en_US.UTF-8" to the dockerfile, now it works.
warweasle has joined #lisp
beach has quit [Ping timeout: 252 seconds]
quipa has quit [Remote host closed the connection]
beach has joined #lisp
Bike has joined #lisp
zfree has joined #lisp
makomo has joined #lisp
FreeBirdLjj has joined #lisp
Kundry_Wag has joined #lisp
quipa has joined #lisp
frgo has quit [Remote host closed the connection]
Kundry_Wag has quit [Ping timeout: 244 seconds]
FreeBirdLjj has quit [Ping timeout: 276 seconds]
frgo has joined #lisp
rumbler31 has joined #lisp
nowhereman has joined #lisp
nowhere_man has quit [Ping timeout: 252 seconds]
nowhereman is now known as Guest84598
<Xach> cool
frgo has quit [Ping timeout: 252 seconds]
rumbler31 has quit [Ping timeout: 246 seconds]
Arcaelyx has joined #lisp
dtornabene has joined #lisp
rmrenner has joined #lisp
frgo has joined #lisp
fikka has joined #lisp
Kundry_Wag has joined #lisp
fikka has quit [Ping timeout: 276 seconds]
Kundry_Wag has quit [Ping timeout: 246 seconds]
Kundry_Wag has joined #lisp
ismay has quit [Ping timeout: 260 seconds]
cage_ has joined #lisp
Kundry_Wag has quit [Ping timeout: 252 seconds]
quipa has quit [Read error: Connection reset by peer]
rpg has joined #lisp
rpg has quit [Client Quit]
hjudt_ has quit [Quit: leaving]
hjudt has joined #lisp
fikka has joined #lisp
Kundry_Wag has joined #lisp
Arcaelyx has quit [Quit: Textual IRC Client: www.textualapp.com]
fikka has quit [Ping timeout: 244 seconds]
makomo has quit [Ping timeout: 246 seconds]
igemnace has joined #lisp
Kundry_Wag has quit [Ping timeout: 246 seconds]
FreeBirdLjj has joined #lisp
heisig has quit [Quit: Leaving]
pfdietz has quit [Quit: pfdietz]
robotoad has joined #lisp
pfdietz has joined #lisp
ski has joined #lisp
wanz has quit [Quit: wanz]
hhdave has joined #lisp
frodef has quit [Ping timeout: 260 seconds]
cylb has quit [Remote host closed the connection]
cylb has joined #lisp
<jdz> scymtym: I recently got burned by C.UTF-8 locale because it is defined only in Debian (and derived) distros.
Josh_2 has quit [Quit: ERC (IRC client for Emacs 26.1)]
Kundry_Wag has joined #lisp
<scymtym> jdz: i see. that's a shame
<jdz> Yes, and my understanding is that it is hard-coded in glibc and cannot be generated using /etc/locale.gen.
robotoad has quit [Quit: robotoad]
<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.
<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.
makomo has joined #lisp
Kundry_Wag has quit [Ping timeout: 244 seconds]
<loke> jdz: Using that locale is bad. But assuming that you have a UTF-8 locale is becoming a reasonable thing to do.
Josh_2 has joined #lisp
Guest84598 has quit [Read error: Connection reset by peer]
nowhere_man has joined #lisp
nly has joined #lisp
Kundry_Wag has joined #lisp
xvx has quit [Quit: xvx]
frodef has joined #lisp
Kundry_Wag has quit [Ping timeout: 268 seconds]
jack_rabbit has quit [Ping timeout: 252 seconds]
skidd0 has joined #lisp
Josh_2 has quit [Quit: ERC (IRC client for Emacs 26.1)]
Josh_2 has joined #lisp
shrdlu68 has quit [Ping timeout: 268 seconds]
robotoad has joined #lisp
<skidd0> Should I be concerned that I have to disable a package lock?
<skidd0> Or is this a somewhat common occurance?
<beach> You should be concerned.
<Shinmera> Disabling a package lock means you're doing something very wrong
<Shinmera> Something that could lead to your implementation crashing or misbehaving
<skidd0> well it's not my package
<skidd0> it's :sb-x86-64-asm
HighMemoryDaemon has joined #lisp
<skidd0> My sbcl is one version behind
<skidd0> maybe updating sbcl might fix it?
<skidd0> also, do I need to structure my code so that macros are defined before they are used?
<skidd0> does placement of defmethods/macros/funs matter?
<skidd0> because I'm getting an error that my function is undefined
robotoad has quit [Quit: robotoad]
JohnMS_WORK has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
<pfdietz> Macros get executed at compile time, so they absolutely must be defined before use.
rpg has joined #lisp
<skidd0> okay thank you
<skidd0> I moved them up in the code
<skidd0> now i've got to sort out an issue where it thinks me cl-postgres db is NIL
knicklux has quit [Remote host closed the connection]
<skidd0> before, when this happened, I was able to select a recompile restart
<skidd0> I do not have tha option this time
anewuser has quit [Quit: anewuser]
frgo has quit [Remote host closed the connection]
<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:
<_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
<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?
<gendl> If possible, I'd like to have it affect only a certain ASDF system, which is gonna be named "zaserve" or "aserve"
<pfdietz> Define your own subclass, instead of a general class CL-FILE.
<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...
shymega has left #lisp ["WeeChat 2.2"]
<gendl> pfdietz: ok. Then?
<pfdietz> And define an around method on that class.
<pfdietz> And use that class, instead of the general class.
<gendl> Ah. use that class for identifying the components in the .asd file?
<_death> skidd0: also, if you've already updated nibbles, then the patch is not backwards compatible and you should update sbcl..
<gendl> e.g. :components ((:zacl-cl-file "...") ...) ?
<pfdietz> Yes
<pfdietz> right
<skidd0> _death: okay, then maybe I won't need to unlock the package
<skidd0> _death: how do I update the quicklisp dist?
nowolfer has joined #lisp
<_death> (ql:update-client) to make sure you have latest quicklisp, then (ql:update-all-dists)
<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.
<skidd0> thank you _death
<gendl> it won't affect all files of type "cl" unless they're using the same class name to specify that file type
zfree has quit [Quit: zfree]
robotoad has joined #lisp
k-hos has quit [Remote host closed the connection]
k-hos has joined #lisp
<gendl> but still, it seems like it would be safer to have a more specific and guaranteed unique class name.
<pfdietz> Yes, putting these things into the ASDF package risks collisions.
anamorphic has joined #lisp
<gendl> But, in order for :components ((:cl-file ...)) to work, the class cl-file _has_ to be put into the asdf package, right?
<gendl> similarly if we do (defclass asdf::zacl-cl-file (asdf:source-file) ...) it necessarily has to be in the asdf package... right?
<gendl> ... or not
<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?
orivej has quit [Ping timeout: 272 seconds]
<pfdietz> then
<HighMemoryDaemon> (ping)
<Josh_2> (pong)
<gendl> pfdietz: good question. I'll play around with it. I've only ever seen it be a keyword, tagging those :components.
nowolfer has quit [Ping timeout: 244 seconds]
<gendl> I'll play around with it but if anyone here knows more about it, please chime in...
nowolfer has joined #lisp
<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.
<Bike> clhs #s
<Bike> if you go up from that page you can see the various reader macros
<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.
<Bike> also the "Syntax" chapter of clhs
<spm_> Bike: perfect. thanks.
<skidd0> I am confused. I cloned the sbcl git repo, and ran the make
<skidd0> but the sbcl binary now in that cloned repo is still the old version
<beach> Racket is off topic here, but one totally great part about Common Lisp is CLOS.
<Bike> skidd0: the sbcl binary you just built?
<skidd0> yeah
<skidd0> oh wait
<skidd0> no i think it pulled that from PATH
<pfdietz> You need to install (sh install.sh)
<skidd0> oh duh
<skidd0> "see the install instructions above"
<skidd0> GOTOs, amiright
meepdeew has joined #lisp
pjb has joined #lisp
<skidd0> so, that worked
<skidd0> it has a new sbcl in /usr/local/bin
<skidd0> and when I run that, it's the right version
<skidd0> but, oddly, `which sbcl` shows that binary
<skidd0> and yet running sbcl without defining that location pulls up the old version
<pfdietz> Make sure your SBCL_HOME is also good.
<pfdietz> The install should have failed if it was bad, though.
<skidd0> is that an ENV variable?
<relaxed> the old binary is in your path's search order before /usr/local/bin, echo $PATH
<skidd0> oh you're right
<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.
Kundry_Wag has joined #lisp
<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
<beach> standard should be fired.
frgo has joined #lisp
<pfdietz> The standard could use some updating/extensions, though. But we make do.
<gendl> pfdietz: ok it works to use a non-keyword symbol (naming a class) instead of e.g. :cl-file
<beach> Sure. But if the "standard" changes all the time, there might as well not be one.
<gendl> there are just a couple issues -- first, I had to add :defsystem-depends-on (:zacl)
Kundry_Wag has quit [Ping timeout: 250 seconds]
<gendl> so that zacl gets loaded before it tries to process those :components
<gendl> (that's not such a big deal)
<gendl> the other thing is I had to pre-define the zacl package in this .asd file,
<gendl> but then it gets defined again in zacl's actual package.lisp file.
<gendl> Apparently it's not universally kosher to redefine packages at will - e.g. SBCL always throws a warning when redefining a package.
frgo has quit [Ping timeout: 250 seconds]
<Bike> not always, only when something in the definition doesn't match
<gendl> (or is it only if the redefinition is somehow not compatible with the previous definition?)
<gendl> Bike: Ok. thanks.
<Bike> "If the new definition is at variance with the current state of that package, the consequences are undefined" from clhs defpackage.
<gendl> Bike: Ok. So that means that if the new definition is _not_ at variance, then we're kosher. Right?
<HighMemoryDaemon> beach: Thanks for the answer and that is a great point.
<beach> Anytime.
<skidd0> okay, with updated sbcl i still get the issue with the SB-X86-64-ASM package
<Bike> gendl: yeah that should be fine.
<Bike> gendl: that handles most basic cases, like loading a system twice with no changes in the middle
HighMemoryDaemon has quit [Remote host closed the connection]
<skidd0> is there anything other that the directories in local-packages that I should also remove
<skidd0> when I want quicklisp to use it's own copy of the package?
<pfdietz> Maybe the cached copies of the fasl files?
<skidd0> i'd think those'd be in the local-projects/[package]/ directory
<skidd0> right?
<anamorphic> ~/.cache/common-lisp I think
<_death> please show a transcript of ls ~/quicklisp/dists/quicklisp/software , sbcl --eval '(ql:quickload "ironclad")'
<Xach> i wish nibbles hadn't messed with sbcl internals and also i wish it didn't break.
<_death> also, if you have nibbles in local-projects, then obviously you should update that
<skidd0> i removed it instead
<skidd0> i only put it local as a pointless troubleshoot
<pfdietz> There are a LOT of ql systems that poke where they shouldn't in SBCL internals.
<Xach> i wish they could be fixed before they break
<skidd0> is there a way to redirect the stderror of sbcl to a text file?
fikka has joined #lisp
<_death> 2>foo
<skidd0> I tried sbcl --eval ... > death.txt
<skidd0> ah
<pjb> (setf *error-output* (open "/tmp/stderr" :direction :output :if-does-not-exist :create :if-exists :append)) ; why stderr? in CL, it's *error-output*.
voidlily has quit [Ping timeout: 244 seconds]
<pfdietz> It means SBCL could benefit by offering public APIs for some things that both sides could agree would not change often. There's demand there. A project on my back burner is to characterize these trespasses to prioritize possible APIs.
<_death> you could also use the `script' command..
stereosphere has joined #lisp
<_death> "JavaScript is required for PrivateBin to work." meh
<skidd0> oh sorry
<skidd0> does pastebin req. js?
voidlily has joined #lisp
dale_ has joined #lisp
dale_ is now known as dale
<skidd0> is plaster a lisp app?
<_death> the patch to nibbles was made in august
<_death> skidd0: it's Shinmera's
<skidd0> it's from lucerne, yeah?
<skidd0> or radiance
<skidd0> ah
<skidd0> then radiance
hhdave has quit [Ping timeout: 245 seconds]
dtornabene has quit [Quit: Leaving]
<skidd0> I shouldn't have tried to swap from hunchentoot to clack
<_death> you should either remove ironclad from local-projects and update quicklisp dists or clone both ironclad and nibbles and work with those
<Josh_2> jmercouris is the maintainer of next right?
<skidd0> I removed the local version of iron clad
<skidd0> now i have another error with a macro expansion of something inside ironclad
<skidd0> IRONCLAD:NULL is undefined in the arcfour.lisp file
<skidd0> so killing my swank server and then reloading my package worked
<skidd0> i know in slime there's an easy reset-inferior-lisp
<skidd0> but I'm using slimv on vim
<skidd0> is there a SBCL or CL function that accomplishes similar
<skidd0> ?
<dim> about ironclad failing to compile, as in https://github.com/dimitri/pgloader/issues/834, do we know what to say to our dear users?
<skidd0> that link didn't work for me
<skidd0> dim, i had to update to most recent sbcl
<jasom> dim: most recent sbcl, or just patch ironclad to not include chacha
<dim> The most recent version is SBCL 1.4.12, released September 28, 2018 (release notes).
<dim> this one then?
<pjb> skidd0: (sb-ext:quit)
<skidd0> pjb: thanks
<pjb> To implement the restart part, you could write a little script: #/bin/bash \n while true ; do sbcl ; done Call it /usr/local/bin/lisp, and (setf inferior-lisp-program "/usr/local/bin/lisp") in ~/.emacs
frgo has joined #lisp
<pjb> But perhaps it won't work, because of slime. You will have to reconnect anyways.
<skidd0> yeah, i'll just keep killing the swank and reconnecting
<skidd0> it's only three more key combos
sjl has joined #lisp
<dim> you can use ,restart-inferior-lisp, thanks to autocompletion it's only 3 keystrokes here (, r RET) from the SLIME prompt
meepdeew has quit [Remote host closed the connection]
FreeBirdLjj has quit [Remote host closed the connection]
<skidd0> yeah but I'm not using slime
<skidd0> that's the issue
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
nly has quit [Quit: Quit]
Sauvin has quit [Read error: Connection reset by peer]
maarhart has joined #lisp
doubledup has joined #lisp
maarhart has quit [Client Quit]
ggole has quit [Quit: ggole]
<dim> mmm, why not? ;-)
<gendl> Hi, is there something like ccl:lookup-hostname and ccl:ipaddr-to-hostname in sbcl, or in usocket or another standard library?
<dim> I can't wait until we have a good story with the McClim editor/IDE solution that some people are working on here, btw, as a solid alternative to Emacs/SLIME
<skidd0> dim I'm using slimv with vim
<skidd0> is why
<dim> ah ok makes sense
<skidd0> I tried spacemacs
<skidd0> for the vim+emacs
<skidd0> but
<dim> some former colleagues who prefered vim used spacemacs with success
<skidd0> yeah
<skidd0> i did my best to give it a 'fair shot'
<skidd0> tried it for 2 weeks
<skidd0> but my workflow was slower and I struggled trying to set up spacemacs in a way i liked
<skidd0> i spent more time configuring the thing than using it, which i've heard is common with all emacs types
<skidd0> and, you know, with vim as well
<dim> well I've spent way more time than I care to admit until I had my Emacs setup as I like it, and I have now been using that for years without a change
<skidd0> yeah that's the rub
FreeBirdLjj has joined #lisp
<skidd0> dev's build their dev env
<skidd0> and don't wanna leave
<skidd0> "you can't make me"
<skidd0> my boss tried to sell me on VS Code
doubledup has quit [Quit: Leaving]
rpg has joined #lisp
frodef has quit [Ping timeout: 264 seconds]
<dim> if you're using a macos you might want to try the Clozure-CL IDE too, it might work for you
LiamH has joined #lisp
fikka has quit [Ping timeout: 246 seconds]
<gendl> Hi, is there something in usocket or another library for finding a hostname based on an IP (dotted or undotted), or vice versa?
<skidd0> dim I'm on linux
<skidd0> I'm quite happy with slimv
nly has joined #lisp
<skidd0> just missing that restart feature means I have a slight bit more work to do
<Bike> bsd sockets has gethostbyname and gethostbyaddr i think
azimut has quit [Ping timeout: 252 seconds]
<gendl> Bike: is that a library in quicklisp?
<Bike> there's sb-bsd-sockets, which despite the name is supportedon at least three implementations
<Bike> probably a portability layer somewhere
shifty has quit [Ping timeout: 244 seconds]
<gendl> anamorphic: trying to (ql:quickload :iolib), getting:
<gendl> apparently it's trying to compile some C programs.
<Bike> you need libfixposix
<anamorphic> gendl, sudo apt install libfixposix-dev
<gendl> on Mac? brew?
<anamorphic> probably
warweasle is now known as warweasle_afk
<gendl> yes, 'brew install libfixposix' fixed it.
<gendl> but i'm not sure if I want to introduce all these C and lib dependencies just for a couple functions...
quipa has joined #lisp
<_death> usocket can also do it
<gendl> impressive that iolib builds & loads and just works from quicklisp and asdf through.
<gendl> _death: how to do it with usocket?
<gendl> through -> though *
azimut has joined #lisp
frodef has joined #lisp
rpg has quit [Ping timeout: 268 seconds]
<gendl> Ah, I'm seeing stuff like get-host-by-name. Missed those the first time through the manual somehow, sorry.
<_death> hmmm, but doesn't seem to have get-host-by-address :/
<makomo> skidd0: i'm using spacemacs and i'm quite happy with it. anything in particular that bothered you?
rpg has joined #lisp
quazimodo has quit [Ping timeout: 268 seconds]
quazimodo has joined #lisp
<gendl> _death: it has an unexported usocket::host-to-hostname, but that is returning just dotted IP in stringified form.
<jcowan> beach: So it's your view that only Ada, APL, APT (a numerical control language), Basic, C, C++, Cobol, Common Lisp, Dibol, Forth, Fortran, Mumps/M, PANCM, Pascal, PL/B (aka Databus), PL/I, Rexx, Smalltalk, and SQL are fit for purpose?
<jcowan> (oh, also C# and ISLisp)
<_death> jcowan: you can narrow it to Common Lisp :)
<jcowan> That would cause a pretty serious slaughter among the leaders of programming projects.
shrdlu68 has joined #lisp
<jcowan> (Prolog and Modula-2 as well)
<jcowan> and of course Scheme
<_death> jcowan: if the dictum is not taken literally, I think the sentiment is agreeable
<_death> jcowan: I think you can add JavaScript there though, which shows that it's not the whole story ;)
<skidd0> makomo: it's been a while since i tried it out
<skidd0> so i can't recall specifics
<skidd0> i know i didn't find many 1:1 alternatives to some vim plugins I like
<skidd0> I understand org-mode is amazing and powerful
<skidd0> but it wasn't like vim-wiki
asymptotically has quit [Remote host closed the connection]
asymptotically has joined #lisp
varjag has joined #lisp
nly has quit [Read error: Connection reset by peer]
<jcowan> _death: The question is then what counts as an independent organization. ISO, ANSI, IEEE certainly, but that doesn't get you very far nowadays
<sukaeto> in the case of Ada, the "[compiler writers] can not influence [the standard]" clause might rule it out
<sukaeto> given that GNAT, at least, indirectly influences the standard
<jcowan> I note that later versions of Ada are self-standardized, as Scheme is nowadays
<sukaeto> (some of the stuff they add percolates up into newer standards)
doubledup has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
<jcowan> Oh, no, I'm wrong, there is still an ISO standard
FreeBirdLjj has joined #lisp
shrdlu68 has quit [Ping timeout: 276 seconds]
<sukaeto> yeah, Ada 2012 is the latest revision. I believe there'll be a new one in 2020. I was just pointing out that some of the things adopted by the standard over the years were originally extra libraries offered by a particular implementation
<sukaeto> anyway, this isn't #ada so I'll shut up :-)
FreeBirdLjj has quit [Ping timeout: 260 seconds]
<makomo> skidd0: hm, this is the first time i heard of vim-wiki. taking a quick look and it seems like 0.01% of what org-mode offers you :-)
python476 has quit [Ping timeout: 252 seconds]
warweasle_afk is now known as warweasle
<skidd0> yeah, i don't need or want that 99.99
<skidd0> tho I suppose that's a hasty conclusion
<skidd0> as I didn't dig long enough to see all that 99
<makomo> skidd0: well, then just don't use it :-), but sooner or later i think you'll want to use at least some of it
<skidd0> does it use some odd file format for notes?
<skidd0> or is it plain text
<makomo> hm, odd in what sense? it has its own markup, just like vim-wiki basically
<makomo> yeah, of course
<skidd0> if i build a bunch of notes in org mode
<skidd0> can none emacs users use those notes?
<skidd0> and does it export to html?
<makomo> skidd0: for example, i have all of my phone contacts stored in an org-mode file (and it's readable as well, trust me). using org-vcard, i export the contacts into a vcard format and import them on my phone. easy peasy
<makomo> skidd0: i didn't get "can none emacs users use those notes?"
<skidd0> i must be way too young
<makomo> skidd0: yes, it exports to html, latex, ascii, utf-8, etc. etc.
<skidd0> the concept of none-phone-stored contacts bewilders me
<skidd0> makomo: i just meant, do my other devs need to use emacs to make use of the notes
nly has joined #lisp
<makomo> i'm using org-mode to store them because (1) i don't want to store them in the cloud and (2) it serves as a backup if my phone dies or i acidentally format it (which i did once...)
<skidd0> which, if it exports to html and stores as plain text, no, they'll be fine with w/e
<skidd0> makomo: ah, privacy
<skidd0> and redundancy
<makomo> basically :-)
<makomo> skidd0: yeah, correct. if someone else wants to work on org-mode files, they can use any text editor, but they'll have the best experience with emacs of course
<sukaeto> yeah, org-mode docs *are* plain text.
<makomo> but it wouldn't be much different with vim-wiki either
<skidd0> right
<sukaeto> you just won't get the convenient controls or pretty markup in non-emacs
<makomo> except that maybe vim-wiki is simpler and has less features, so it would be easier to do "bare handed"
<skidd0> i think part of it too is that I don't like "living in my editor"
<makomo> you don't have to live in it of course, but where else would you take your notes? :-D
<skidd0> makomo: I've got this e-ink tablet
<skidd0> otherwise, yeah, better digital note taking software would be a priority
<skidd0> and org-mode would likely fit the bill better than most
<makomo> skidd0: oh, that's neat i guess, but i was thinking of "notes" in the "plain text" sense. i'm not sure what i would go with if i stored my hand-written stuff (such as notebooks) digitally
<skidd0> I'd like to keep everything plain text, but I need too many doodles, graphs, etc.
<makomo> yeah, that's tricky
<skidd0> further, i've had classes where "laptops aren't allowed"
<makomo> i just scan all of my notebooks at the end of the year :-)
<skidd0> i'd hate to build up a system then not be able to use it
<skidd0> makomo: oh but that's so tedius!
<skidd0> tedious*
<makomo> yeah, i agree to a certain extent i guess
<skidd0> we're programmers, after all
<skidd0> DRY
<makomo> well, i didn't repeat myself, the scanner did it for me :D
<skidd0> does it flip all the notebook pages for you?
<cgay> I've had classes where laptops weren't invented.
<makomo> true, not quite :D
<skidd0> cgay, what do you think young programmers are missing in their education today?
<skidd0> compared to the gray-beards of yore
<skidd0> I'm trying to milk my education for all it's worth. But i get the sense that there are major holes
josemanuel has joined #lisp
iskander has joined #lisp
<cgay> not sure and I have to run. :)
<skidd0> no worries
* pjb is wondering what kind of cheese you can make from the milk milked from an education…
<LdBeth> Good morning everybody
<LdBeth> skidd0: history education
<skidd0> LdBeth: what kind of history?
<skidd0> like the developments in CS over the years?
<skidd0> the people behind the developments?
<skidd0> any good books?
<LdBeth> About how the ideas commonly seen today began and evolved
nanozz has quit [Ping timeout: 268 seconds]
<skidd0> like OOP?
<skidd0> and functional?
<skidd0> data structs?
<LdBeth> Exactly:)
<LdBeth> Could be even in wider range such as hardware
Lord_of_Life_ has joined #lisp
<skidd0> see that's what bothers me
<skidd0> they teach "here's a linked list" but none of the context around why it was designed
<skidd0> the history
<skidd0> I suppose it's all "too new"
<skidd0> but i'd much rather take a History of CS 101, 201, etc than general chemistry 101
Lord_of_Life has quit [Ping timeout: 276 seconds]
<skidd0> I still will never understand general education requirements
<skidd0> besides padding university wallets
<Bike> you should read TAOCP
<Bike> knuth is quite scrupulous about finding things in history
<Bike> linked lists in particular go back to herbert simon, iirc
<Bike> that would be in the first volume
<Bike> it's not a full history exactly, but it's at least a starting point, which is more than what most math texts do
<skidd0> TAOCP, SICP
<LdBeth> That’s why giving reference is useful to readers
<skidd0> Let over Lambda
<skidd0> I've got a lot of fun reading ahead of me
<oni-on-ion> Lisp, Aikido, and Jazz
<skidd0> post graduation
<skidd0> I saw that one
<skidd0> i added it to my LISP List
<skidd0> soon to be processed ;]
<oni-on-ion> apparently the guy is taking it further into big talks and such, ive only seen the original article, but personally very relate
<Josh_2> skidd0: Hackers: Heroes of the Computer Revolution good book
Lycurgus has joined #lisp
lnostdal has quit [Read error: Connection reset by peer]
<skidd0> adding that to the list
<Josh_2> It's a long one
<skidd0> thanks Bike, LdBeth, oni-on-ion, and Josh_2
<oni-on-ion> also this i came across last night, half-read but very enjoy much inspire, not language-specific, from linus torvalds https://www.brynmawr.edu/cs/resources/beauty-of-programming
<TMA> skidd0: from my experience: the missing things are patience and the ability to think out a bigger chunk of code without trying to actually run it on a computer A bigger chunk of code is on the order of APPEND (two list version only) for this purpose
<oni-on-ion> TMA: *be* the compiler!
<LdBeth> That’s like not allow one to do search while programming
<skidd0> oni-on-ion: I saw that linked on HN the other day
<skidd0> i also gave it a read
<oni-on-ion> skidd0: ah nice =) what did you think?
<skidd0> it's a nice perspective to keep in mind
<oni-on-ion> LdBeth: it is a very useful skill for C coding. especially back in the day when the edit-compile-run cycle was a big taxing
<skidd0> TMA do you mean like, mentally walk through the types, the methods, why it *should* work?
<skidd0> and then it's just a matter of writting it down in the language?
<oni-on-ion> it feels good to write a bunch of bug free code and see it happen all at once than small increments of carefully asking the compiler for guidance at each baby step
<skidd0> ah
<skidd0> that must be nice
<skidd0> I am not at that level in Lisp yet
<skidd0> but I'm confident doing similar in Python
<LdBeth> You don’t need that level in lisp
<skidd0> how so?
<oni-on-ion> well since the computer can be seen as an external manifestation of our existing sequential computation abilities, all u need is to have no life, and its like english where it becomes natural. where we can "see" ahead, to know how someone will react, in real time while we are talking [programming]
<TMA> skidd0: actually perform _any_ reasoning about the code. normally it is just woodoo programming -- change this or that based off some random snippet from the internet -- and try it -- without any mental model
<oni-on-ion> skidd0: i am only on that level for C/c++/objc and Haskell and somewhat Ocaml and smalltalk, really.
<skidd0> oh well yeah
<oni-on-ion> its like watching a movie where we can be almost sleeping and still see whats happening. when we read a book that is challenging we need to internalise stuff and digest and visualise and let our mind become changes etc.
<skidd0> the only time i end up trying out 'snippets' is when i've hit a wall trying to reason through the issue
<oni-on-ion> sorry for terrible english
<skidd0> oni-on-ion: you're fine man
<oni-on-ion> ok ty=)
<LdBeth> skidd0: the general idea is programming should be friendly enough for people from other fields to utilize it
<TMA> some people are like the ancients though, thinking before doing, but I seem to encounter mostly the described kind
<skidd0> LdBeth: you mean other fields should also be able to program?
<skidd0> or that programs should be usable in other fields
<skidd0> I'd like to say I'm a think then do type
<LdBeth> It does not require to learn the theory behind to use it
<skidd0> but when first dipping into the water, i'm certainly more likely to flap my arms around
<skidd0> than conceptualize swimming before ever having *done* it
<oni-on-ion> TMA i often wonder how much time is spent thinking back in the day, zoning out, really getting into the zone of creativity..
<jasom> I think doing it properly requires having a mental model, and then changing the mental model whenever reality contradicts the mental model. Some people never really form a mental model, others insist on not making any changes until their mental model is 100% correct; one results in bugs, the other results in low productivity.
vlatkoB has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
<skidd0> so there's a balance
grumble has quit [Quit: Didn't like XP. Going back to Win 2k for my IRC VM. It's bigger, it's bolder, it's rougher, it's tougher. In other words, sucker, there is no other!]
<LdBeth> A mental model can just be a black box
<jasom> right. I see a function called "rename-file" and I assume it renames a file. If I observe it *not* doing so then I need to do some more investigation.
<pjb> Conceptualizing swimming: https://www.youtube.com/watch?v=3AIInqUwQE8
<jasom> perhaps it silenty fails when the rename target exists, for example. That would be surprising and require an update to my mental model.
<jasom> It's totally okay to have an incomplete and wrong mental model as long as you are on the alert for evidence that contradicts it.
<oni-on-ion> always good to keep mental model in sync with reality , never really a time where it is good to not do that unless we are going insane.
<jasom> oni-on-ion: if your mental model needs to be perfectly in sync with reality then that greatly constrains the complexity of problems you can tackle.
grumble has joined #lisp
<Josh_2> pjb: that's like a how to basic video xD
<LdBeth> So one more thing, a good programmer should be lazy
<oni-on-ion> jasom: yep, definately. im almost stuck in the present moment =(
<Josh_2> I guess I win on the lazy front
<oni-on-ion> im almost deathly afraid of getting immersed in anything. will look into that
<oni-on-ion> (irony.)
<oni-on-ion> "when you cant play the game any more, coach"
<skidd0> LdBeth: and impatient
<skidd0> LdBeth: and have hubris
<skidd0> pjb: great video
<jasom> humble hubris though, if that's not a contradiction in terms. Act as though you are right while remembering you are probably wrong about at least something.
<jasom> If you wait until you know everything before you act as if you know everything, then you won't ever act.
<oni-on-ion> frantic frugality
<oni-on-ion> yes jasom, yes.
glassofethanol has joined #lisp
glassofethanol has left #lisp [#lisp]
<jasom> OTOH if you continue to act as if your initial thought was correct *after* reality has shown you to be wrong, you're not acting with hubris, but just stupidity.
<russellw> jasom, that is a great summary
<jasom> anyways... lisp
<skidd0> jasom: humble hubris has lead me straight into imposter syndrome
<skidd0> but yes.. lisp
<oni-on-ion> yeah no this is important though =) because with lisp we got to be careful to not let it destroy our minds with its power
<oni-on-ion> i would like to just add, that hindsight is 20/20, its near-impossible to figure out or define what is currently going on, without destruction and murder of it.
groovy2shoes has quit [Ping timeout: 276 seconds]
shrdlu68 has joined #lisp
dueyfinster has joined #lisp
<jcowan> skidd0: The point of general education requirements is that a university is not, nor is it intended to be, a vocational training school.
<Josh_2> it is now
<skidd0> that's the rub man
<skidd0> they sold it to all my generation as "you want a job programming? to to college to become one"
<Josh_2> University is a vocational training school nowaday
<skidd0> when I am now realizing I should have gone to a technical school
dddddd has quit [Ping timeout: 244 seconds]
<oni-on-ion> vocational = living in dorm?
<Josh_2> skidd0: more generally "U wanna be well off, you gotta go university"
<Josh_2> bunch of tosh
<skidd0> after signing your life away to debt
<Josh_2> yah
<skidd0> this is a tender topic for me tho
<skidd0> i'll abstain
<Josh_2> well I'm at uni doing what is obviously a vocational course xD
<Josh_2> my fault ofcourse :) anyways, that's offtopic so I'll stop
josemanuel has quit [Quit: leaving]
Jesin has joined #lisp
<pfdietz> In light of Griggs vs. Duke Power, it's surprising employers in the US still can ask if you have a college degree. https://en.wikipedia.org/wiki/Griggs_v._Duke_Power_Co.
<oni-on-ion> itym nukem
asymptotically has quit [Quit: Leaving]
<skidd0> pfdietz: thank you for that link
<skidd0> tho it's not ask if you have a degree
<skidd0> it's "shred every app that doesn't"
<skidd0> and it'd be hard to ever 'prove' that
relaxed has quit [Quit: ⠠⠵]
doubledup has quit [Quit: Leaving]
<phoe> I have just defined a method that removes itself
<phoe> This is one of the most paradoxical and silly things I've done
<jasom> pfdietz: if you want to continue talk, Griggs v. Duke is actually part of why colleges are now a gateway
<jasom> *continue talk in ##lisp
<jasom> s/##lisp/##lispcafe
<jasom> s/##lisp/#lispcafe
<jasom> pfdietz: if you want to continue talk in #lispcafe, I can't type today
<Shinmera> phoe: Why would that be paradoxical?
<phoe> Shinmera: it's not, I just didn't think that I'd ever find this to be useful
<Shinmera> paradoxical would be a program that clears itself out of the icache as it's being executed.
<phoe> ....hm, I don't think we can achieve that with standard Common Lisp
<phoe> unless we literally define a program that cleans up all parts of Lisp that are no longer needed in its execution
<phoe> ...and the last thing it does is (fmakunbound 'fmakunbound)
warweasle has quit [Quit: rcirc on GNU Emacs 24.4.1]
frodef has quit [Ping timeout: 260 seconds]
frodef has joined #lisp
relaxed has joined #lisp
<jcowan> Lambda, the ultimate treeshaker
cage_ has quit [Quit: Leaving]
scymtym has quit [Ping timeout: 276 seconds]
<phoe> okay
<phoe> (progn (set-macro-character #\( nil) (fmakunbound 'progn) (fmakunbound 'set-macro-character) (fmakunbound 'fmakunbound))
Kundry_Wag has joined #lisp
<phoe> Unless you have some symbol macros bound just in case, I think that's a finishing move
sjl has quit [Ping timeout: 246 seconds]
orivej has joined #lisp
* jcowan binds [ and ] just to thwart such eeeevil moves
flazh has quit [Quit: flazh]
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
edgar-rft has joined #lisp
sjl has joined #lisp
shrdlu68 has quit [Ping timeout: 252 seconds]
anamorphic has quit [Quit: Leaving]
Lord_of_Life_ is now known as Lord_of_Life
Lord_of_Life has quit [Changing host]
Lord_of_Life has joined #lisp
dddddd has joined #lisp
Roy_Fokker has joined #lisp
<russellw> do I understand correctly that princ does the same thing as write-string?
<Shinmera> You do not.
<russellw> Okay, what's the difference? At least if you are going to standard output, they both write all the characters of the string?
<Bike> write-string only writes strings
<Shinmera> write-string only accepts strings. princ is a shorthand for write with print-escape and print-readably being false
<russellw> ah! So if the argument is a string, do they do the same thing?
<Bike> not sure. i think princ in the middle of something else might hit print circle and stuff
<Shinmera> or in other words, write-string copies the contents of a string to the character stream. princ prints a representation of an object to the stream
<Shinmera> russellw: whether they do the same thing or not is irrelevant. They're there for different purposes.
<russellw> Okay so they do the same thing if the argument is a string, but are there for different purposes, that's fine
astronavt has joined #lisp
<jasom> (write-string 1) for example is not expected to work. (princ 1) is expected to work
Lycurgus has quit [Quit: Exeunt]
astronavt has quit [Quit: Leaving]
<aeth> russellw: You can think of the print functions as having three layers of abstraction (although terpri seems to occupy the bottom two layers). The bottom layer is write-foo (where write-foo is writing to a character stream and not a byte-stream). The middle layer is prinfoo. The top layer is format.
quipa has quit [Ping timeout: 272 seconds]
<russellw> aeth, cool. But does Lisp distinguish between character and byte streams? If so, are character streams implemented on top of byte streams? If so, does that mean byte streams are a fourth level of abstraction?
<Bike> yes, not in any way you can deal with, no
<russellw> fair enough
<aeth> Oh, I should clarify that write-foo on a character stream expects strings or characters, with the exception of write-sequence, which for character-streams expects sequences of characters (so '(#\A #\B #\C) is apparently valid there)
rmrenner has quit [Quit: Leaving]
<aeth> prinfoo and format foo could handle conversions, and could be built on something of the lower level
<aeth> s/format foo/format stream foo/
<aeth> Character streams are... well, they're complicated because encoding is complicated.
<aeth> Strings are afaik potentially complicated.
<aeth> In practice they're probably just utf32 or something, though.
<aeth> But now you have the situation where your string is utf32 and your character stream is reading/writing utf8 or something along those lines.
DGASAU has quit [Remote host closed the connection]
<Bike> what are you talking about
<aeth> Bike: why character streams can't expose a lower level
rpg has quit [Quit: Textual IRC Client: www.textualapp.com]
<jasom> russellw: many implemenations provide bivalent streams (character & byte), and there are 3rd party libraries that implement bivalent streams on top of byte streams.
<aeth> afaik (write-string "abc") could be taking in #(00 00 00 97 00 00 00 98 00 00 00 99) and writing #(97 98 99)
<jasom> russellw: e.g. sbcl's *standard-output* will accept both write-byte and write-char.
<jasom> aeth: lisp actually allows more metadata on characters than just the character code IIRC
<russellw> Yeah, that stuff is a headache in every language, so lisp certainly cannot be blamed for the headache
<aeth> jasom: I'm assuming that if it's the byte representation of the string, the metadata is probably at the start, once. Similar to how you can get ([un]signed-byte 64) arrays without boxing
<jasom> of course utf-32 leaves room for 8 bits of metadata should the implementation wish to use it.
<aeth> oh, and I say *could* be writing #(97 98 99) because when (with-output-to-string (*standard-output*) (write-string "abc")) it'll be writing the longer 00 00 00 97 ...
<jasom> russellw: anyways see http://edicl.github.io/flexi-streams/ for portable flexible streams. Note that there is some performance overhead though.
<aeth> but yes this assumption of layout is extremely non-portable!
<aeth> I assume what's comme is internal storage as utf32 and external non-string reading/writing as utf8, but that doesn't have to be the case, and I think some implementations have the encoding configurable. (For the rest I guess you have to use things like babel and work with byte streams?)
<aeth> s/comme/common/
<aeth> the readline random e,a,b,f,etc. strikes again
Bike has quit [Ping timeout: 256 seconds]
scymtym has joined #lisp
nullniverse has joined #lisp
slyrus1 has quit [Quit: slyrus1]
dueyfinster has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
ravndal has quit [Quit: WeeChat 2.2]
astronavt has joined #lisp
warweasle has joined #lisp
jack_rabbit has joined #lisp
mange has joined #lisp
flazh has joined #lisp
python476 has joined #lisp
Essadon has quit [Quit: Qutting]
varjag has quit [Quit: ERC (IRC client for Emacs 26.1)]
emaczen has quit [Read error: Connection reset by peer]
moei has quit [Quit: Leaving...]
olopierpa has joined #lisp
igemnace has quit [Quit: WeeChat 2.2]
frodef has quit [Ping timeout: 244 seconds]
skidd0 has quit [Quit: WeeChat 2.2]
robotoad has quit [Quit: robotoad]
emaczen has joined #lisp
LiamH has quit [Quit: Leaving.]
makomo has quit [Ping timeout: 244 seconds]
angavrilov has quit [Remote host closed the connection]
pjb has quit [Remote host closed the connection]
rumbler31 has joined #lisp
rumbler31 has quit [Ping timeout: 245 seconds]
Bike has joined #lisp
rumbler31 has joined #lisp
warweasle has quit [Quit: rcirc on GNU Emacs 24.4.1]
scottj has joined #lisp
python476 has quit [Ping timeout: 252 seconds]
rumbler31 has quit [Remote host closed the connection]
ryan_vw has joined #lisp
robotoad has joined #lisp