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
milanj has quit [Ping timeout: 272 seconds]
dented42 has joined #lisp
frodef has quit [Ping timeout: 260 seconds]
<_death> Demosthenex: some progress on TUI https://adeht.org/casts/tui.html
<jasom> Demosthenex: you can just no load slime-repl in your slime-contribs
<jasom> s/no/not
<Demosthenex> jasom: it's the buffering
<Demosthenex> if i use cl-charm's get-char it works
<Demosthenex> read-char is just waiting for enter
<jasom> ah
dented42 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<Demosthenex> _death: cool!
<Demosthenex> i'm trying to tinker with the idea of a simple text input field with optional autocompletion
<Demosthenex> i was trying to be backend agnostic, which is why i went for read-char
Kundry_Wag has joined #lisp
<Demosthenex> i was also tinkering with threads and mailboxes for async input. i wanted to allow a clock or background update to the screen while waiting for input, i thought it'd be important for popup autocomplete
<_death> atm I use with-timeout for that
<Demosthenex> i thought having an input thread with some hooks might work, going for event driven
lnostdal has joined #lisp
<jasom> Most GUIs are written with an event loop; unless you have a reason to think that's the wrong way to do it...
<Demosthenex> i don't disagree
Roy_Fokker has quit [Read error: Connection reset by peer]
<Demosthenex> and again, i'm only trying to make an input form, not an interactive environment
<jasom> Demosthenex: If you are having things like background updates, that might not be true anymore
Kundry_Wag has quit [Ping timeout: 252 seconds]
<Demosthenex> jasom: true, but y only intent is for allowing autocomplete to not block input while it updates the list of completions
<Demosthenex> i hate apps that freeze inputs, ever.
Kundry_Wag has joined #lisp
dented42 has joined #lisp
<Demosthenex> back tomorrow =]
dented42 has quit [Client Quit]
Kundry_Wag has quit [Ping timeout: 252 seconds]
pjb has quit [Ping timeout: 260 seconds]
quazimodo has quit [Ping timeout: 245 seconds]
orivej has quit [Ping timeout: 252 seconds]
quazimodo has joined #lisp
astronavt_ has joined #lisp
astronavt has quit [Ping timeout: 246 seconds]
dented42 has joined #lisp
dented42 has quit [Client Quit]
wigust has quit [Ping timeout: 252 seconds]
dented42 has joined #lisp
astronavt__ has joined #lisp
dented42 has quit [Client Quit]
astronavt_ has quit [Ping timeout: 260 seconds]
dddddd has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Read error: Connection reset by peer]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 260 seconds]
reverse_light has quit [Ping timeout: 260 seconds]
nullniverse has joined #lisp
Kaisyu has joined #lisp
khisanth_ has quit [Ping timeout: 240 seconds]
asarch has joined #lisp
Fare has joined #lisp
Kundry_Wag has joined #lisp
<asarch> One stupid question: why in slime if I press , the option to quit from SBCL does not appear?
dented42 has joined #lisp
<AeroNotix> asarch: because there are more than one commands you can enter with `,`
<AeroNotix> quit is an option, as well as a few others.
<AeroNotix> `,` just gives you the prompt to enter the command you wish to execute
Kundry_Wag has quit [Ping timeout: 246 seconds]
<asarch> I mean, if I press it, the , appears in the SBCL REPL
<asarch> Not in the command line of Emacs
<AeroNotix> Oh, do you have lisp forms in the repl already?
<AeroNotix> `,` only works with a blank repl prompt
<asarch> Well, I press M-x slime, wait to connect, and then I press , and... nothing :-(
dented42 has quit [Client Quit]
<AeroNotix> asarch: does it never connect for you?
<asarch> This is SBCL 1.4.5.openbsd, an implementation of ANSI Common Lisp.
<asarch> Well, SBCL works fine
<AeroNotix> I acknowledge you use OpenBSD
esrse has joined #lisp
<asarch> GNU Emacs 25.3.1
<AeroNotix> asarch: SBCL works fine with M-x slime or SBCL works fine outside of Emacs?
<asarch> It works fine in both cases
<asarch> In the terminal window emulator and in the Emacs
<AeroNotix> In the slime repl, type C-h k , RET
<asarch> , runs the command self-insert-command (found in global-map), which is
<asarch> an interactive built-in function in ‘C source code’....
<asarch> And some more text
<AeroNotix> Weird
<asarch> Maybe it is the Slime version
<AeroNotix> just check you have the latest slime version, just to be sure
<asarch> Ok
<asarch> (sb-ext:exit) also works fine
<AeroNotix> asarch: `,` isn't just for exiting, FYI
<AeroNotix> any way, it looks like `,` in your prompt isn't set to the right elisp function
<asarch> I see
<asarch> Maybe I would need to add it to ~/.emacsrc
<AeroNotix> add what to that file?
Kundry_Wag has joined #lisp
<asarch> The correct key mapped to that elisp function
dented42 has joined #lisp
Kundry_Wag has quit [Ping timeout: 252 seconds]
Achylles has quit [Ping timeout: 252 seconds]
siraben has joined #lisp
khisanth_ has joined #lisp
<no-defun-allowed> cl-vep demo went well
<no-defun-allowed> many laughs were made
<no-defun-allowed> minion: tell beach maybe going to els 2020 would be more feasible :/
<minion> beach: watch out, you'll make krystof angry
<no-defun-allowed> what
<no-defun-allowed> minion: help message
rumbler31 has joined #lisp
jjman has joined #lisp
milanj has joined #lisp
rumbler31 has quit [Ping timeout: 252 seconds]
robotoad has quit [Quit: robotoad]
mange has quit [Ping timeout: 244 seconds]
dented42 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
xrash has quit [Ping timeout: 260 seconds]
argoneus has quit [Read error: Connection reset by peer]
nirved_ has quit [Read error: Connection reset by peer]
nirved_ has joined #lisp
argoneus has joined #lisp
fortitude_ has quit [Ping timeout: 252 seconds]
Kundry_Wag has joined #lisp
nullniverse has quit [Ping timeout: 244 seconds]
Kundry_Wag has quit [Ping timeout: 260 seconds]
robotoad has joined #lisp
zigpaw has quit [Remote host closed the connection]
ober has joined #lisp
shelvick has quit [Remote host closed the connection]
pjb has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
warweasle has quit [Quit: rcirc on GNU Emacs 24.4.1]
<no-defun-allowed> minions pls
<no-defun-allowed> minion: help memo
<minion> To send a memo, say something like ``minion: memo for nick: the memo''. I'll remember the memo for any nick which is the same as the given nick, +/- differences in punctuation, and any nick which is an alias for it, and give it to them when they next speak.
<no-defun-allowed> minion: memo for beach: maybe going to els 2020 would be more reasonable. (sorry, can't say good morning, two hour school end of term assembly.)
<minion> Remembered. I'll tell beach when he/she/it next speaks.
<no-defun-allowed> ty
housel has quit [Remote host closed the connection]
housel has joined #lisp
troydm has quit [Ping timeout: 240 seconds]
Kundry_Wag has joined #lisp
astronavt__ is now known as astronavt
Kundry_Wag has quit [Ping timeout: 260 seconds]
Kundry_Wag has joined #lisp
makomo has quit [Ping timeout: 252 seconds]
<beach> Good morning everyone!
<minion> beach, memo from no-defun-allowed: maybe going to els 2020 would be more reasonable. (sorry, can't say good morning, two hour school end of term assembly.)
<beach> no-defun-allowed: Sure, no rush.
Kundry_Wag has quit [Ping timeout: 252 seconds]
pjb has quit [Ping timeout: 260 seconds]
Kundry_Wag has joined #lisp
Pixel_Outlaw has quit [Quit: Leaving]
Kundry_Wag has quit [Ping timeout: 245 seconds]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 252 seconds]
pjb has joined #lisp
pierpal has quit [Quit: Poof]
asarch has quit [Read error: Connection reset by peer]
pierpal has joined #lisp
rtypo has quit [Ping timeout: 245 seconds]
creat has quit [Ping timeout: 264 seconds]
creat has joined #lisp
slyrus1 has joined #lisp
Fare has quit [Ping timeout: 260 seconds]
slyrus has quit [Ping timeout: 240 seconds]
slyrus1 is now known as slyrus
Fare has joined #lisp
Bike has quit [Quit: Lost terminal]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Read error: Connection reset by peer]
Kundry_Wag has joined #lisp
slyrus1 has joined #lisp
troydm has joined #lisp
Kundry_Wag has quit [Ping timeout: 272 seconds]
mkolenda has quit [Ping timeout: 240 seconds]
energizer has quit [Remote host closed the connection]
energizer has joined #lisp
pjb has quit [Ping timeout: 240 seconds]
mkolenda has joined #lisp
heisig has joined #lisp
Kundry_Wag has joined #lisp
slyrus1 has quit [Ping timeout: 252 seconds]
Kundry_Wag has quit [Ping timeout: 252 seconds]
<no-defun-allowed> hi, i'm back
<no-defun-allowed> morning beach
<beach> Hey no-defun-allowed. Like I said, no rush.
<no-defun-allowed> i'll have a year's break between high school and university so that'd be a better time
<beach> Definitely.
ober has left #lisp ["ERC (IRC client for Emacs 26.1)"]
<no-defun-allowed> ober on, ober off
v0|d has quit [Read error: Connection reset by peer]
<no-defun-allowed> can i make sbcl's garbage collector more aggresive in when it collects?
<oni-on-ion> clhs gc
<specbot> Couldn't find anything for gc.
<beach> You can call it explicitly.
<no-defun-allowed> i calculated the memory footprint for my hash table to be around 250mb for 25 frames of 1080x720 but (room) reported around 1gb
<no-defun-allowed> nvm, it's in the manual
<oni-on-ion> o_o
<no-defun-allowed> (sb-ext:bytes-consed-between-gcs is the magic function btw)
<oni-on-ion> ouu
<no-defun-allowed> i've lowered it from 256mb to 64mb
<beach> millibits?
<beach> Which reminds me, the electric company here now sells electricity in units of Kelvin-Watt-Henry.
<no-defun-allowed> my bad, 256MB -> 64MB
* no-defun-allowed adjusts readtable-case
<beach> ... or so the commercial on TV says, at least.
<no-defun-allowed> back in my day we were lucky to get one microbit of memory in our systems...
<no-defun-allowed> nowadays GCs throw around 256 megabytes like it's nothing
Kundry_Wag has joined #lisp
<oni-on-ion> Khw? =)
SaganMan has quit [Read error: Connection reset by peer]
Kundry_Wag has quit [Ping timeout: 246 seconds]
jxy has quit [Ping timeout: 252 seconds]
jxy has joined #lisp
Kundry_Wag has joined #lisp
ebzzry has joined #lisp
Kundry_Wag has quit [Ping timeout: 244 seconds]
<no-defun-allowed> i forgot what i typed into cl-vep to make it work
zigpaw has joined #lisp
Kundry_Wag has joined #lisp
<no-defun-allowed> oops, .mov not .mkv.
Kundry_Wag has quit [Ping timeout: 244 seconds]
emaczen has joined #lisp
dented42 has joined #lisp
Inline has quit [Quit: Leaving]
dented42 has quit [Client Quit]
siraben has quit [Ping timeout: 252 seconds]
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #lisp
<no-defun-allowed> there's still some not inlined + and *s according to sb-sprof
suskeyhose has quit [Remote host closed the connection]
dxtr has quit [Ping timeout: 240 seconds]
nirved_ is now known as nirved
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 260 seconds]
scottj has quit [Quit: leaving]
robotoad has quit [Quit: robotoad]
Kundry_Wag has joined #lisp
jack_rabbit has joined #lisp
phoe has joined #lisp
dxtr has joined #lisp
Kundry_Wag has quit [Ping timeout: 246 seconds]
SenasOzys has quit [Remote host closed the connection]
SenasOzys has joined #lisp
lemonpepper24 has quit [Ping timeout: 240 seconds]
Fare has quit [Ping timeout: 272 seconds]
astronavt has quit [Ping timeout: 240 seconds]
vlatkoB has joined #lisp
robotoad has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 260 seconds]
shrdlu68 has joined #lisp
SenasOzys has quit [Ping timeout: 272 seconds]
milanj has joined #lisp
scymtym has quit [Ping timeout: 272 seconds]
Kundry_Wag has joined #lisp
mrSpec has joined #lisp
<LdBeth> good evening
Kundry_Wag has quit [Ping timeout: 272 seconds]
<no-defun-allowed> hi LdBeth
<no-defun-allowed> okay, no function calls to +, * and truncate now :)
nirved has quit [Ping timeout: 272 seconds]
ebrasca has quit [Read error: Connection reset by peer]
nirved has joined #lisp
robotoad has quit [Quit: robotoad]
pjb has joined #lisp
makomo has joined #lisp
scymtym has joined #lisp
<shka_> good morning
trittweiler has joined #lisp
nirved has quit [Ping timeout: 272 seconds]
nirved has joined #lisp
Kundry_Wag has joined #lisp
esrse has quit [Ping timeout: 272 seconds]
Kundry_Wag has quit [Ping timeout: 252 seconds]
makomo has quit [Quit: WeeChat 2.2]
orivej has joined #lisp
<no-defun-allowed> morning shka_
makomo has joined #lisp
makomo has quit [Client Quit]
makomo has joined #lisp
frgo has quit [Remote host closed the connection]
pjb has quit [Ping timeout: 252 seconds]
ober has joined #lisp
<makomo> morning
Kundry_Wag has joined #lisp
housel has quit [Read error: Connection reset by peer]
Kundry_Wag has quit [Ping timeout: 240 seconds]
Kundry_Wag has joined #lisp
<no-defun-allowed> hi makomo
<makomo> hey :-)
Kaisyu7 has quit [Quit: ERC (IRC client for Emacs 26.1)]
<no-defun-allowed> ok so the cl-decentralise event loop should bind some variable names and will evaluate some cond-like forms
Kundry_Wag has quit [Ping timeout: 260 seconds]
<no-defun-allowed> how should i go about it? there's upwards of ten variables that will be bound (mapping to five possible event forms) and they're all mutually exclusive
frgo has joined #lisp
frgo has quit [Ping timeout: 252 seconds]
<no-defun-allowed> maybe putting each form in its own let could help me enforce using the correct variables for the correct types but the user would have to specify which type they're listening on
ober has left #lisp ["ERC (IRC client for Emacs 26.1)"]
frgo has joined #lisp
<LdBeth> #'no-defun-allowed: bound them into a struct?
Kundry_Wag has joined #lisp
<LdBeth> something like a single threaded object
Kundry_Wag has quit [Ping timeout: 252 seconds]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 252 seconds]
<flip214> Xof: this exactly, thank you so much!
v0|d has joined #lisp
<no-defun-allowed> idk, there'll only be one per event loop
<no-defun-allowed> binding feels more natural
orivej has quit [Ping timeout: 252 seconds]
zfree has quit [Remote host closed the connection]
marvin2 has quit [Ping timeout: 260 seconds]
Kundry_Wag has joined #lisp
pierpal has quit [Ping timeout: 272 seconds]
Kundry_Wag has quit [Ping timeout: 252 seconds]
razzy has joined #lisp
Kundry_Wag has joined #lisp
nsrahmad has joined #lisp
Kundry_Wag has quit [Ping timeout: 252 seconds]
gpiero has joined #lisp
orivej has joined #lisp
nsrahmad has quit [Remote host closed the connection]
zooey has quit [Ping timeout: 256 seconds]
zooey has joined #lisp
Colleen has joined #lisp
aeth has quit [Read error: Connection reset by peer]
Kundry_Wag has joined #lisp
steiner has joined #lisp
aeth has joined #lisp
Kundry_Wag has quit [Read error: Connection reset by peer]
pjb has joined #lisp
Kundry_Wag has joined #lisp
schweers has joined #lisp
Kundry_Wag has quit [Ping timeout: 260 seconds]
anewuser has quit [Quit: anewuser]
milanj has quit [Quit: This computer has gone to sleep]
regreg has quit [Ping timeout: 244 seconds]
zfree has joined #lisp
Achylles has joined #lisp
ober has joined #lisp
varjag has joined #lisp
pjb has quit [Ping timeout: 252 seconds]
Kundry_Wag has joined #lisp
varjag has quit [Ping timeout: 252 seconds]
dddddd has joined #lisp
Kundry_Wag has quit [Ping timeout: 246 seconds]
FreeBirdLjj has joined #lisp
Kaisyu has quit [Quit: Connection closed for inactivity]
rumbler31 has joined #lisp
FreeBirdLjj has quit [Ping timeout: 244 seconds]
rumbler31 has quit [Ping timeout: 260 seconds]
light2yellow has joined #lisp
mingus has quit [Ping timeout: 240 seconds]
m00natic has joined #lisp
mingus has joined #lisp
Kundry_Wag has joined #lisp
Lycurgus has joined #lisp
frodef has joined #lisp
Kundry_Wag has quit [Ping timeout: 252 seconds]
orivej has quit [Ping timeout: 252 seconds]
orivej_ has joined #lisp
<xificurC> I got lost in reasoning about a double backticked form. What would be a good resource to read about how backquote is processed? If there was a part about double backquotes or macro-writing-macros that would be even better
<no-defun-allowed> I think the cl-d protocol is sussed out now. I've finished an event loop macro and I'm going to write all the cl-d primitive requests tomorrow.
<shka_> eh, honestly, try to avoid double `
<shka_> it is very difficult to understand
<shka_> ideally, you should use functions to expand macro body
<no-defun-allowed> Yeah, if there's a loop or second stage I give that to another function.
scymtym has quit [Ping timeout: 260 seconds]
scymtym has joined #lisp
<xificurC> you mean write a function that generates the nested part?
<no-defun-allowed> Yes.
<no-defun-allowed> cl-decentralise's event-loop uses a make-event which matches the event forms and e-l simply loops over with some gensyms too.
<xificurC> one wants to torture self, one is told not to
<shka_> xificurC: yes, exactly
<shka_> keep it simple :-)
<xificurC> but, but, isn't there *more* enlightenment when... oh well, ok
<shka_> also, debugging macros that were written in torturish way is very, very, very hard
<shka_> so it is beneficial to write this cleanly
tfeb has joined #lisp
Kundry_Wag has joined #lisp
light2yellow has quit [Quit: WeeChat 2.2]
Kundry_Wag has quit [Ping timeout: 252 seconds]
pierpal has joined #lisp
<xificurC> wow, even this way I suck. Off to meditate
<makomo> xificurC: i actually have a writeup regarding double backquotes
<splittist> xificurC: you can also read Appendix C of CLtL2 https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node367.html#BACKQUOTESIMULATOR
<makomo> it's part of my personal notes, i.e. i don't have a blog, but i might rework it a bit and send it
<makomo> xificurC: it becomes really simple once you start to see the "patterns" imo. it's just like any other concept really
Kundry_Wag has joined #lisp
<makomo> xificurC: oh, perhaps also take a look at the two comments i posted here: https://www.reddit.com/r/learnlisp/comments/98gssu/sbcl_inserting_comma_in_macro_transformation/
<makomo> they might not be 100% precise, but i tried my best. suggestions welcome. :-) it's not meant to be a tutorial on backquote though, but i did mention some general techniques/things
<makomo> what splittist is also very useful, as Steele himself describes a few patterns
<makomo> such as ',' and so on
<makomo> posted*
Kundry_Wag has quit [Read error: Connection reset by peer]
Kundry_Wag has joined #lisp
<makomo> xificurC: erm, i mean't ,', :-)
<makomo> xificurC: also, take a look at Bawden's paper https://web.archive.org/web/20170701182144/http://repository.readscheme.org/ftp/papers/pepm99/bawden.pdf . it mentions a funny anecdote about steele as well :-)
Kundry_Wag has quit [Ping timeout: 245 seconds]
<makomo> xificurC: after you start to understand it better (or perhaps you can do it in parallel), i would recommend studying ONCE-ONLY (i prefer Alexandria's version to the one found in PCL) https://github.com/keithj/alexandria/blob/master/macros.lisp#L30
<makomo> here you'll find patterns/idioms like ,,@ and ,,
Fare has joined #lisp
orivej_ has quit [Ping timeout: 240 seconds]
pierpal has quit [Ping timeout: 260 seconds]
Kundry_Wag has joined #lisp
pjb has joined #lisp
Kundry_Wag has quit [Ping timeout: 252 seconds]
frgo has quit [Remote host closed the connection]
Achylles has quit [Ping timeout: 264 seconds]
orivej has joined #lisp
milanj has joined #lisp
Achylles has joined #lisp
Kundry_Wag has joined #lisp
frgo has joined #lisp
pierpal has joined #lisp
frgo has quit [Remote host closed the connection]
frgo has joined #lisp
pjb has quit [Ping timeout: 252 seconds]
Kundry_Wag has quit [Ping timeout: 252 seconds]
pierpal has quit [Quit: Poof]
<russellw> http://www.lispworks.com/documentation/lw61/CLHS/Body/f_coerce.htm#coerce doesn't explicitly say you can coerce a list of characters to a string, but one of the examples implies it, and it works in SBCL. Is it something that can be relied on, in portable code?
pierpal has joined #lisp
<beach> russellw: A string is a vector of characters, and it is possible to coerce a list to a vector.
<beach> russellw: So, the result type is STRING which is a recognizable subtype of VECTOR.
<russellw> ah! so the part about sequences, is intended to imply that, if one knows about the relationship between the kinds of vectors? Okay, thanks!
<beach> Sure.
SaganMan has joined #lisp
Inline has joined #lisp
Inline has quit [Read error: Connection reset by peer]
Inline has joined #lisp
Lycurgus has quit [Ping timeout: 260 seconds]
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #lisp
<dim> I'm discovering (coerce "," 'character), looks useful
<Inline> heh
random-nick has joined #lisp
<Inline> string-character conversion ?
<beach> A string of length 1 is a character designator.
<Shinmera> dim: useful for what?
beach has quit [Disconnected by services]
<xificurC> I did it with a function, finally works :)
<xificurC> now to read the suggestions
beach has joined #lisp
heisig has quit [Ping timeout: 244 seconds]
eminhi has joined #lisp
eminhi has quit [Client Quit]
asarch has joined #lisp
Kundry_Wag has joined #lisp
nirved has quit [Ping timeout: 244 seconds]
<xificurC> makomo: re alexandria - no. I mean... no. Not today
Kundry_Wag has quit [Ping timeout: 260 seconds]
Bike has joined #lisp
nirved has joined #lisp
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #lisp
LiamH has joined #lisp
Arcaelyx has joined #lisp
makomo has quit [Ping timeout: 272 seconds]
nirved has quit [Ping timeout: 240 seconds]
warweasle has joined #lisp
SenasOzys has joined #lisp
makomo has joined #lisp
pierpal has quit [Ping timeout: 252 seconds]
rtypo has joined #lisp
Younder has joined #lisp
cage_ has joined #lisp
varjag has joined #lisp
gravicappa has joined #lisp
housel has joined #lisp
zfree has quit [Quit: zfree]
zfree has joined #lisp
dale_ has joined #lisp
dale_ is now known as dale
<makomo> xificurC: it's a nice exercise :D
shka_ has quit [Quit: WeeChat 1.9.1]
Achylles has quit [Quit: Leaving]
pierpal has joined #lisp
mkolenda has quit [Remote host closed the connection]
mkolenda has joined #lisp
scymtym has quit [Ping timeout: 260 seconds]
paule32 has joined #lisp
<paule32> hello
<paule32> i have following code:
<paule32> but get:
<paule32> *** - SETQ: '(GENITIV '(DES BAKTERIUMS '(DER BAKTERIEN)) (SUBSTANTIV SÄCHLICH LEBEWESEN)) is no symbol.
<paule32> i use clisp
<Bike> because you have (setq variable thing thing thing) which is invalid syntax
<Bike> you've been around here what, two years? you need to seriously reevaluate your process.
<makomo> those quotes within quotes don't look good either
astronavt has joined #lisp
flazh has quit [Quit: flazh]
SaganMan has quit [Quit: WeeChat 1.6]
astronavt_ has joined #lisp
<paule32> ah, ok
<paule32> sbcl says: The variable BAKTERIUM is unbound.
<Bike> i think you need a dedicated teacher in person or something
<Bike> whatever you're doing now is not sufficient
astronavt has quit [Ping timeout: 246 seconds]
pjb has joined #lisp
varjag has quit [Ping timeout: 252 seconds]
orivej has quit [Ping timeout: 252 seconds]
varjag has joined #lisp
dale has quit [Quit: dale]
gector has quit [Read error: Connection reset by peer]
gector has joined #lisp
varjag has quit [Ping timeout: 264 seconds]
frodef has quit [Ping timeout: 252 seconds]
nirved has joined #lisp
itruslove has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
paule32 has quit [Ping timeout: 240 seconds]
housel has quit [Remote host closed the connection]
housel has joined #lisp
Kundry_Wag has quit [Ping timeout: 272 seconds]
Kundry_Wag has joined #lisp
flazh has joined #lisp
orivej has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
pjb has quit [Ping timeout: 250 seconds]
varjag has joined #lisp
bradcomp has joined #lisp
robotoad has joined #lisp
gravicappa has quit [Ping timeout: 260 seconds]
zigpaw has quit [Remote host closed the connection]
varjag has quit [Ping timeout: 246 seconds]
Lycurgus has joined #lisp
itruslove has joined #lisp
jjman has quit [Quit: WeeChat 1.6]
<Demosthenex> _death: so i found the mailbox lib, which defines a simple object for locked inter-thread communication
jack_rabbit has quit [Ping timeout: 252 seconds]
<AeroNotix> Demosthenex: which library is that
scymtym has joined #lisp
Lycurgus has quit [Quit: Exeunt]
<dim> Shinmera: re (coerce "/" 'character), see https://github.com/dimitri/pgloader/issues/835#issuecomment-421627350 where I've been using (aref ... 0) instead, because I'm not exposing reader macrology in pglaoder's command language
zfree has quit [Quit: zfree]
gravicappa has joined #lisp
shifty has quit [Ping timeout: 260 seconds]
gpiero has quit [Remote host closed the connection]
<AeroNotix> Can I turn GC off in SBCL temporarily?
<beach> That sounds like a risky thing to do.
<AeroNotix> beach: I'm not doing it in "real" code. I want to verify a theory, for debugging
Kundry_Wag has joined #lisp
<beach> I mean, if, while running your application, you run out of space in one generation and the GC is disabled, then the system will fail. And if you don't run out of space, then the GC won't run.
<AeroNotix> What kind of failure do you mean? Crash?
<AeroNotix> I'm fine with a crash.
<jackdaniel> it will put your pc on fire
<jackdaniel> :-)
<AeroNotix> fine with that, too
<beach> So just trace GC and if it runs, consider it a crash.
<beach> (trace GC :break t) could work.
Kundry_Wag has quit [Read error: Connection reset by peer]
<AeroNotix> okay
Kundry_Wag has joined #lisp
shka_ has joined #lisp
<Bike> i don't think "natural" gcs in sbcl necessarily call ext:gc
<Bike> there's a without-gcing internal thing you could mess with
nsrahmad has joined #lisp
schweers has quit [Ping timeout: 252 seconds]
Fare has quit [Ping timeout: 240 seconds]
<AeroNotix> i'll give it a go
<AeroNotix> hmm, well there goes that theory. I was trying to see why two threads operating on two different hardware memory transactions were occasionally failing
<AeroNotix> (assuming sb-sys:without-gcing works as expected)
nsrahmad has quit [Remote host closed the connection]
pjb has joined #lisp
Denommus has joined #lisp
<shka_> AeroNotix: what are you doing?
<AeroNotix> shka_: attempting to write code using stmx/rtm features
pjb has quit [Ping timeout: 252 seconds]
gravicappa has quit [Ping timeout: 260 seconds]
<shka_> good
<Demosthenex> AeroNotix: mailbox
<AeroNotix> Demosthenex: found it, thanks
<shka_> maybe i should checkout smtx as well
<shka_> but petalisp goes first
<Demosthenex> if i create a thread in a let inside a function, when i leave the let scope is the thread killed?
<shka_> Demosthenex: no
<shka_> you need to either kill it or wait for join
<Demosthenex> shka_: k, so i'm using destroy at the end for now then
<AeroNotix> Demosthenex: destoying threads is a bad idea
shrdlu68 has quit [Ping timeout: 252 seconds]
astronavt_ has quit [Quit: Leaving]
astronavt has joined #lisp
Denommus has quit [Ping timeout: 260 seconds]
<Demosthenex> AeroNotix: i heard that, i may put in a lock to signal when to exit
<Demosthenex> _death: https://bpaste.net/show/5db6bd9c1964 i've been able to get async input working with other screen updates going
<Demosthenex> don't understand why the cursor is always going to the end of the clock though
<Demosthenex> i'm deliberately moving it, and also trying to protect and restore the position
marvin2 has joined #lisp
pjb has joined #lisp
<AeroNotix> Demosthenex: that code is definitely buggy
<AeroNotix> You shouldn't destroy threads that potentially will hold locks
<Demosthenex> AeroNotix: that's a good thought, but it spends 99% of its time sleeping, and its a POC by a noob ;]
<Demosthenex> i'll look at making a global var to signal stop to other threads
<AeroNotix> Demosthenex: that's one way to do it
<Demosthenex> is there a better way to tell looping threads to quit?
<AeroNotix> Demosthenex: I prefer using a different method of thread synchronization: channels
<AeroNotix> but almost all channel libraries in CL aren't to my liking.
<AeroNotix> a globally thread-safe var should work for a POC
<Demosthenex> doesn't need to be thread safe, if it's only set once but read many
<pjb> Demosthenex: you could use a global special variable, but there's no guarantee that they're writable atomically.
<AeroNotix> pjb: this
<Demosthenex> pjb: if i make a var, it's just to be checked before the next loop (ie: (loop until *quit* do ....)
<AeroNotix> I mention thread-safe just so it's clear that it should be thread safe, setting a variable *should* be fine, without explicit locking but ymmv. I'm not clear on whether setf is atomic.
<pjb> It really depends on the platform, on the hardware.
<Demosthenex> i do understand that for important cross thread comms, it matters ;]
<pjb> Now it's easy to add a mutex.
<Demosthenex> i still haven't figured out why the cursor is on the clock :P
<Demosthenex> ah, it was the refresh screen always going to the end
<Demosthenex> not the clock print
<Demosthenex> https://bpaste.net/show/668b79f059a3 added your global, and now cursor preserves
Fare has joined #lisp
orivej has quit [Ping timeout: 240 seconds]
Cymew has quit [Ping timeout: 250 seconds]
m00natic has quit [Remote host closed the connection]
cl-arthur has joined #lisp
DGASAU has quit [Read error: Connection reset by peer]
Fare has quit [Ping timeout: 252 seconds]
DGASAU has joined #lisp
<whartung> even if the global write is atomic, doesn’t mean the other threads will see the change due to caching on the cores.
Fare has joined #lisp
<jackdaniel> one of the perks of atomic operations is that they invalidate all caches
<jackdaniel> disadventage is that such operation is around 80x slower than normal write
<jackdaniel> (I saw an blog post which goes into details, 80x stuck in my head)
<jackdaniel> s/an/a/
Fare has quit [Ping timeout: 272 seconds]
<pjb> jackdaniel: using locks should have the same effect on the caches…
<jackdaniel> looking at the article https://spcl.inf.ethz.ch/Publications/.pdf/atomic-bench.pdf I see 30x penalty
<jackdaniel> pjb: I was referring to what whartung said
<pjb> Yes. They are two different things.
<jackdaniel> I don't have opinion what is a good solution because I didn't read the whole backlog
<pjb> atomic writes don't require locks.
<pjb> That said, it's true that you can often merge locks, but it would increase parallelism to keep one lock per data, if they're independent.
<AeroNotix> not entirely an expert but you can try to use transactional memory with more coarse grained locks and let the cpu figure out chances for data parallelism
<pjb> Demosthenex: for example, you are trying to access a unique resource, the screen. Instead of accessing it from multiple threads, have a single thread own it and access it, and multiple threads communicating with this screen management thread. This can be more efficient, since the screen management thread can then serialize and optimize the requests, and those requests can be built in parallel my the other threads.
<AeroNotix> I'm just starting to use "real" transactional memory
<AeroNotix> pjb: sounds like a poor man's actor
<pjb> Exactly. This is how I would rather use thread, seeing them as actors.
<AeroNotix> There's a few reasonably decent actor libraries that abstract this kind of interface
<AeroNotix> a lot of my time in CL is spent trying to make it behave like Erlang :)
<jackdaniel> LFE gives you lisp and erlang from what I've heard
<AeroNotix> jackdaniel: it's absolutely rubbish
<AeroNotix> it combines the worst of both worlds (imho)
<jackdaniel> that's not a nice thing to say about a language
<AeroNotix> well I've used LFE and Erlang extensively, I dunno, I feel like I understand them both well enough to say whether they bring anything useful to the table
<ober> ^^
<AeroNotix> ober: ?
<ober> +1
<ober> AeroNotix: have you tried Elixir?
<AeroNotix> ober: not in anger
<AeroNotix> I keep meaning to delve into it
<AeroNotix> Just that erlang is "dayjob" stuff and if I have free time I'd prefer to spend it with CL
<AeroNotix> anyway
<AeroNotix> OT
<AeroNotix> Anyone used STMX?
<AeroNotix> I don't think this behaviour is only visible with stmx, it may be just a quirk of how rtm works. I've got a single threaded loop that continually sets a variable to a random value.
<AeroNotix> Despite nothing else (in my code, at least) accessing that variable, sometimes the transaction rolls back.
<AeroNotix> I, at first, thought it could be the gc interfering with the variable, tried using sb-sys:without-gcing but it didn't change the behaviour
jmercouris has joined #lisp
<whartung> also, to highlight pjb’s idea of a single controlling thread, the screen is a spectacularly low bandwidth device. Far cheaper to stuff something on a queue and have the controlling thread update, than to have everyone try it and wait for the screen to update.
<whartung> if the controlling thread is using something like curses, it can batch all of the updates in to one hit to the display, something competenig threads potentially can not do
<AeroNotix> https://gist.github.com/AeroNotix/fd0d7c4d62ac35ff2095d7bfcd6ab8de here's the code. set-it is a macro cause I've extracted this from a test suite where set-it being a macro makes sense.
<Shinmera> dim: (char string 0) would be better than eiter aref or coerce, in my opinion
<pjb> To complement what whartung is saying, you should have a look at how emacs on the terminal does it! You'd be surprised.
<AeroNotix> Not to mention that it'll subjectively make the code far easier to reason about and understand
<AeroNotix> instead of minute instances of locking/unlocking. You would have send-to-screen type operations that don't care how the screen handles that operation
<whartung> you still have locking and unlocking, but theyre ideally faster since you’re only fighting over a queue, vs a slow display.
<AeroNotix> whartung: indeed, but the individual instances of locking can be abstracted into the "screen" API
<whartung> naturally, but they always could have.
<AeroNotix> sure, it's a conceptual thing rather than a technical one
tfeb has quit []
TMA has quit [Ping timeout: 276 seconds]
orivej has joined #lisp
<Demosthenex> pjb: so the casier demo is just like the mailboxes i'm using, and really i don't need anything deep, i just wanted async input while taking forms data so i can have popup combo boxes display autocompletion options without stopping
suskeyhose has joined #lisp
igemnace has quit [Quit: WeeChat 2.2]
Fare has joined #lisp
<LdBeth> weekend!
Fare has quit [Ping timeout: 260 seconds]
meepdeew has joined #lisp
<pjb> Demosthenex: I don't know. I've got my own mailbox synchronization abstration here: https://framagit.org/patchwork/mclgui/blob/master/mailbox.lisp but it locks the recipient until the sender posts a message.
<pjb> So right, this is also the point I wanted to mention: usually, threads will be waiting on a queue or a mailbox like this, to receive a message and process it. So it's natural and easy to define a quit message to have the thread stop.
<whartung> Isn’t this lparallels bally wick? job queues to run tasks?
<pjb> it's a little like using pipes.
<whartung> your mailbox?
<whartung> bloking queue 1 item deep?
<pjb> in general.
meepdeew has quit [Ping timeout: 260 seconds]
zigpaw has joined #lisp
sauvin has quit [Read error: Connection reset by peer]
<whartung> is that your own personal gitlab pjb?
<pjb> yes.
<AeroNotix> btw in the area of self-hosted git sites, check out gitea and gogs. Far superior to gitlab (IMHO!!)
<dlowe> still one of my favorite tech poems: http://www.thecodelesscode.com/case/234
FreeBirdLjj has joined #lisp
<whartung> 4GB of ram to host a web site on top of a source code repo…
<AeroNotix> whartung: honestly, try gitea/gogs. mine's running in 20mb ram right now
<AeroNotix> a bit more featureful than cgit, not much more hungry
FreeBirdLjj has quit [Ping timeout: 260 seconds]
Fare has joined #lisp
<whartung> right now I use SVN hosted on a drop box drive.
<oni-on-ion> i got my git repo sync'd with dropbox
Essadon has joined #lisp
Essadon has quit [Client Quit]
Essadon has joined #lisp
Arcaelyx_ has joined #lisp
Arcaelyx has quit [Ping timeout: 252 seconds]
AroPar has joined #lisp
AroPar has quit [Remote host closed the connection]
Fare has quit [Ping timeout: 240 seconds]
Jesin has joined #lisp
warweasle has quit [Quit: soon]
Jesin has quit [Remote host closed the connection]
cage_ has quit [Quit: Leaving]
Jesin has joined #lisp
Fare has joined #lisp
random-nick has quit [Read error: Connection reset by peer]
random-nick has joined #lisp
orivej has quit [Ping timeout: 260 seconds]
nowhere_man has quit [Ping timeout: 252 seconds]
angavrilov has quit [Remote host closed the connection]
<jasom> jackdaniel: Most lisp-in-X are rubbish, mainly because it's relaly easy to make a bad one, but very hard to make a good one.
<plathrop> every lisp I've written in lisp has turned out to be okay /troll
<jackdaniel> bold opinion (one of these which are easy to make;)
oni-on-ion has quit [Read error: No route to host]
<aeth> I'm having a hard enough time writing Scheme-in-Common-Lisp and Scheme's the closest Lisp to CL that's not Emacs Lisp or essentially obsolete. The hard part is getting the exact semantic match while preserving performance. Pseudoscheme never tried to do this, hence the "pseudo".
<jasom> jackdaniel: which part is bold? I think it's relatively intuitive that the larger the distance between the difficulty of doing something poorly and the difficulty of doing something well, the more times something will be done poorly. I know it's easy to do one badly because I have done so.
<aeth> I can't imagine doing a Lisp-in-Foo that is not just Foo with s-expressions because the semantic mismatch would be even greater than Scheme-on-CL
rumbler31 has joined #lisp
<plathrop> welll... every language has to be written in another language. So it has to be possible to write good Lisp-in-Foo for *some* values of Foo
asarch has quit [Quit: Leaving]
<aeth> plathrop: hence "while preserving performance"
SaganMan has joined #lisp
<pfdietz> Even "lisp is assembler" requires tricky tricks.
<plathrop> I'm just being overly pedantic about "doing a Lisp-in-Foo" == "Foo with s-expressions"
<jackdaniel> bold, that /most/ are /rubbish/. first suggests you have compared at least a few, second that they are worthless (given some objective(?) metric)
<aeth> jackdaniel: It's actually the least bold claim that most $thing_on_the_internet are rubbish
<jackdaniel> so it sounds like an opinion easy to state, hard to verify
<aeth> That definitely includes software post-Github
<plathrop> I'll make an even bolder claim. All software is terrible.
<jackdaniel> and I'll go to sleep
<jackdaniel> good night :)
<aeth> Well it's easy to verify informally, it's hard to objectively define.
<aeth> The problem with bad software is it doesn't (usually) have a test suite to express how bad it is.
<aeth> (And even then, the bad decisions could be architectural)
<plathrop> (especially any software I had a hand in creating)
<jackdaniel> aeth: informal verification fails short: take randomly person from this channel they'll say: python is rubbish; take randomly person from python channel they'll say: lisp is dead ;)
<aeth> plathrop: No one has time to write good software.
<aeth> jackdaniel: People actually can use Python for serious projects, so it's not rubbish in the context here. I would guess that there are thousands and thousands of hobby Lisps and "Lisps" out there and maybe 20-30 are usable.
<aeth> The problem is, you'd need to try to write a project in $foo to find out that it's not a usable language implementation sometimes.
<aeth> It's very easy to make a Lisp, so I don't think it's controversial that there are many.
<aeth> s/make a Lisp/make a toy Lisp/
<pfdietz> Even fewer purport to be Common Lisps.
<rtypo> hi, is it possible to expand this code? (i'm using sbcl, emacs, slime)
<rtypo> i'm a newbie, doing ch 8 from "Praise for..."
<pfdietz> (macroexpand '(test-*)), perhaps?
<jasom> rtypo: if test-+ is a macro, then you can move the cursor and do a slime-macroexpand
rumbler31 has quit [Remote host closed the connection]
<djeis[m]> You should be able to run the macroexpand keybinding again on that subform, yea
<plathrop> aeth: truth. I'm experiencing that now at $DAYJOB
<rtypo> yes, i'm doing slime-expand over 'test-arithmetic, then 'combine-results
frodef has joined #lisp
<rtypo> (and it works, in the same window)
<rtypo> but for some reason it doesn't on the 'test-+ and 'test-*
<jasom> rtypo: it's entirely possible (perhaps even likely) that it's a function though
<pfdietz> Or, macroexpand on the deftest form that defines test-*.
<jasom> actually we can be fairly certain it's a function, since deftest (in this case) expands to a defun and test-+ is defined with deftest as well
<rtypo> pfdietz: yes that works
<jasom> rtypo: you cam probably hit M-. on it to jump to the deftest definition
<rtypo> jasom: this works as well
<rtypo> i kind of wished it expanded insite the window tho :D
<rtypo> jasom: ah, so that's why it doesn't work as the others
<djeis[m]> There’s a package called macrostep which lets you do inline macroexpansion.
<jasom> djeis[m]: test-+ isn't a macro
<djeis[m]> Ah, that’d do it.
<rtypo> i suppose that's my lack of understanding, i thought it's a macro
<rtypo> so 'test-arithmetic is a macro, but 'test-+ is not?
<jasom> rtypo: test-arithmetic is a function
<jasom> rtypo: deftest is a macro
<rtypo> ahh! i see
<jasom> deftest is a macro that defines a function
papachan has quit [Quit: WeeChat 2.2]
<jasom> or more pedantically deftest is a macro that expands to a function definition.
<rtypo> i got it now. thanks
<rtypo> i can expand "(deftest test-+ ...", but not "(test-+)"
<rtypo> alright
<pfdietz> Correct
joast has quit [Ping timeout: 272 seconds]
jmercouris has quit [Remote host closed the connection]
nckx has quit [Quit: Updating my GNU GuixSD server — gnu.org/s/guix]
<pfdietz> Is there a portable implementation of the Common Lisp reader (in Common Lisp) anywhere? That is, I want to be able to modify it so I don't want to use any CL's builtin reader.
<pfdietz> Ok
<_death> pjb also wrote one
<pfdietz> Want I want this for is this: I want to be able to trawl lisp sources for code fragments to use in testing, but I don't want to actually have to load the code, so packages may not be defined. So I want a reader that can skip over package names it doesn't know without completely aborting.
igemnace has joined #lisp
rjid has joined #lisp
<pfdietz> I had done this by hacking sbcl's reader, but I'd prefer a portable solution.
rjid has left #lisp [#lisp]
<jasom> pfdietz: I think climacs has a way to read possibly incomplete lisp source code
Bike has quit [Ping timeout: 256 seconds]
<jasom> http://metamodular.com/incremental-parsing.pdf <-- there's the paper I was thinking of, not sure if there is currently useful code
bradcomp has left #lisp ["WeeChat 2.2"]
Jesin has quit [Quit: Leaving]
<jasom> And here's the code for parsing lisp that that paper is intending to do better than: https://github.com/robert-strandh/Climacs/tree/master/Syntax/Lisp
Jesin has joined #lisp
Roy_Fokker has joined #lisp
jack_rabbit has joined #lisp
frodef has quit [Ping timeout: 260 seconds]
shka_ has quit [Ping timeout: 252 seconds]
Kundry_Wag has quit [Remote host closed the connection]
orivej has joined #lisp
joast has joined #lisp
<no-defun-allowed> Good morning
Bike has joined #lisp
<LdBeth> Morning
jkordani_ has joined #lisp
<makomo> evening :-)
Pixel_Outlaw has joined #lisp
jkordani has quit [Ping timeout: 260 seconds]
hitchhikingcoder has joined #lisp
hitchhikingcoder has quit [Remote host closed the connection]
Essadon has quit [Quit: Qutting]
oni-on-ion has joined #lisp
hitchhikingcoder has joined #lisp
nowhere_man has joined #lisp
orivej has quit [Ping timeout: 272 seconds]
Fare has quit [Ping timeout: 272 seconds]
meepdeew has joined #lisp
orivej has joined #lisp
meepdeew has quit [Ping timeout: 252 seconds]
anewuser has joined #lisp
rumbler31 has joined #lisp
hitchhikingcoder has quit [Quit: hitchhikingcoder]
LiamH has quit [Quit: Leaving.]
Fare has joined #lisp
kooga has quit [Ping timeout: 276 seconds]
robotoad has quit [Read error: Connection reset by peer]
robotoad has joined #lisp
Fare has quit [Ping timeout: 246 seconds]
kenu has joined #lisp
<kenu> hi
<kenu> I am trying to query db with postmodern's doquery, but it doesnt preserve upper cases in column names
<kenu> is it possible to get columns with uppercases at all? :)
mutenewt has joined #lisp
<aeth> If it's using symbols it has to assume that the user is probably going to say foo, which gets translated into FOO, and want it to represent "foo". |foo| would be how to get case-sensitivity, but if it assumes upcasing and then downcases it that wouldn't help
<aeth> Perhaps it's overridable, but that at least explains why it is doing what it is doing
ober has left #lisp ["ERC (IRC client for Emacs 26.1)"]
willmichael has joined #lisp
<aeth> I can't find anything in the documentation about case
<jasom> it's possible it's case-inverting, le tme check
mutenewt has quit [Quit: Leaving]
<jasom> I think you can just use "ColumnName" rather than a symbol
<jasom> And you definitely can set postmodern:*downcase-symbols* to nil and use '|ColumnName|
mutenewt has joined #lisp
<jasom> s/postmodern:/s-sql:
la_mettrie has joined #lisp
<jasom> though since most of the forms get expanded a macroexpand time you'll have to be smart about how you set that.
la_mettrie has left #lisp [#lisp]
lnostdal has quit [Read error: Connection reset by peer]
random-nick has quit [Ping timeout: 240 seconds]
<kenu> after setting that *downcase-symbols* to NIL I get
<kenu> Database error 42703: column users.userid does not exist
<kenu> HINT: Perhaps you meant to reference the column "users.userId".
<kenu> QUERY: (SELECT users.userId FROM users)
<kenu> before settin it QUERY: was (SELECT users.userid FROM users)
mutenewt has quit [Quit: Leaving]
<jasom> ah "All identifiers (including column names) that are not double-quoted are folded to lower case in PostgreSQL."
<kenu> and that's how I cal it: (doquery (:select '|users.userId| ...
<jasom> so there is no point to enabling *downcase-symbols*
<jasom> you'll need to do (:select "users.userID" ...)
varjag has joined #lisp
<jasom> I'm wrong again
<kenu> (doquery (:select "users.userId" :from 'users) (x)
<kenu> (format t "~s~%" x))
<jasom> you need to set s-sql:*escape-sql-names-p* to T as well
<kenu> and I get literally "users.usersId" printed for every row in db instead of the actual value
<jasom> yeah, I misread the s-sql documentation
<jasom> though I object to their :auto implementation for escaping; it ought to escape any names with upper case characters for just this reason...
robotoad has quit [Quit: robotoad]
<kenu> works :D thanks a lot!
<jasom> they ought to provide a case-inverting version IMO, that would allow you to do 'users '|users.userId| or 'users.user\Id
<jasom> they ought to provide a case-inverting version IMO, that would allow you to do 'users '|USERS.USERiD| or 'users.user\id
<aeth> I'm disappointed you didn't invert everything. "THEY OUGHT TO PROVIDE ..."
<whartung> am I to understand you’re doing case sensitive SQL?
varjag has quit [Quit: ERC (IRC client for Emacs 26.1)]
varjag has joined #lisp
<jasom> kenu: it does look like the better solution is to just change your schema to be users.user_id
<jasom> then you cna do 'user-id
<whartung> I know I’m old school, but case sensitve SQL — man, life’s too short.
* whartung loves that he can use - in lisp-variable-names
vxe has joined #lisp
<aeth> The greatest evil in programming language syntax is forbidding foo-bar-baz just so someone can write "x-y" instead of "x - y", which makes everything slightly harder to read.
<aeth> "Whitespace significant" languages make the *wrong* whitespace the significant part.
<whartung> I just love that I don’t have to use SHIFT to get expressive-variable-names
<whartung> heh lol yea
<aeth> even if - and _ were inverted, - is just easier to read
<whartung> I think so
<whartung> and easier to type
<aeth> and camelCase is only fine for short names with no acronyms, making it ironically the worst decision for something like Java
<whartung> I use short names in other language becaueCamelCaseIsAPainToType compared-to-variables-with-dashes-which-is-easy
<aeth> "let's use camelCase in a language with long names full of acronyms like ID and XML"
omilu has quit [Ping timeout: 264 seconds]
<kenu> @jasom there is already some js code queryng that db and I don't feel like changing it
<jasom> aeth: also ironic is that standard python style already recommends spaces around binops, so if you follow the style, then x-y could be unambiguously an identifier
<whartung> all the chording and shifting is why I’m not a fan of emacs — just hard on my wrists, and I’m not really interested in remapping everything to make it easier.
<jasom> whartung: fortunately someone already did all the remapping, and they called it "evil-mode"
<oni-on-ion> whartung: try to type slower, or perhaps remap caps lock to control; that is what i have done. but i still dont really like it honestly.
<aeth> jasom: Two things are imo a necessary part of style. Spaces around those operators and parentheses when mixing multiple operators so the reader and writer of the file don't need to have the precedence rules memorized. i.e. x + (c * y)
<whartung> I’ve remapped caps lock.
<aeth> jasom: and if you consistently always use that style then (+ x (* c y)) isn't *that* different.
<whartung> it’s the extension and hoop jumping of the fingers I thnk, not so much the speed
<whartung> what’s evil-mode?
<whartung> is that vi in emacs?
<jasom> whartung: more like vim in emacs, but yes.
<oni-on-ion> whartung: hmm try switch up hands? ie. right shift or right alt, i dont use them as often as i should but i started to more and more.
<whartung> wait, there’s a shift key on the right? lol
<whartung> :)
<jasom> whartung: I've tried several vim layers for emacs over the years and evil is the only one that didn't cause my muscle memory to get annoyed every few minutes.
<jasom> I find thumb for alt helps a lot, fwiw
<whartung> I would like to have tried the Canon Cat with its LEAP keys.
<oni-on-ion> whartung: hehe. mine is missing at the moment but i still poke into the little rubber thing +)
<oni-on-ion> i was next thinking of moving the spacebar elsewhere. like maybe if TopLeft of keyboard was backspace, and TopRight was space....
<whartung> yea. on my mac, the CMD key is the “thumb” key, but taht’s not mapped to meta in Aquaemacs (which is a macification of emacs) that I use.
<jasom> I've seen space remapped to be space only when not chorded I think
<whartung> that wold be intersting, meta-space word forward, ctl-space word backwards
<whartung> or something silly like that
<whartung> though in some places shift-backspace is not backspace, and then I rage and bonk things...
<whartung> I try not to go for massive customizations of, well, anything, because it’s One More Thing I have to manage and take care of and port across versions, and workstations, and then get all sort of muscle memory that doesn’t work on the kiosk at the hotel.
<whartung> (it’s amazing how close emacs is to a canon cat and the “Humane Interface” and yet, how far away it is at the same time.
rumbler3_ has joined #lisp
<oni-on-ion> if we can imagine something better, surely we could implement it.
Fare has joined #lisp
cl-arthur has quit [Quit: Lost terminal]
marvin2 has quit [Ping timeout: 252 seconds]
rumbler31 has quit [Ping timeout: 252 seconds]
Pixel_Outlaw has quit [Ping timeout: 252 seconds]
Blackbeard has joined #lisp
vlatkoB has quit [Remote host closed the connection]
Pixel_Outlaw has joined #lisp
varjag has quit [Ping timeout: 246 seconds]
jack_rabbit has quit [Ping timeout: 252 seconds]