jackdaniel changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <http://cliki.net/> <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | SBCL 1.5.4, CMUCL 21b, ECL 16.1.3, CCL 1.11.5, ABCL 1.5.0
Volt_ has joined #lisp
kajo has quit [Ping timeout: 245 seconds]
kajo has joined #lisp
superkumasan has quit [Ping timeout: 276 seconds]
makomo has quit [Ping timeout: 276 seconds]
lucasb has quit [Quit: Connection closed for inactivity]
shifty has joined #lisp
Codaraxis_ has joined #lisp
Codaraxis has quit [Ping timeout: 265 seconds]
nydel has joined #lisp
nydel has quit [Changing host]
nydel has joined #lisp
lxbarbosa has joined #lisp
kapitanfind-us has quit [Remote host closed the connection]
sz0 has joined #lisp
Oladon has quit [Quit: Leaving.]
gxt has joined #lisp
igemnace has quit [Quit: WeeChat 2.6]
flubberhead has quit [Quit: Leaving]
Codaraxis_ has quit [Ping timeout: 264 seconds]
bitmapper has quit [Ping timeout: 265 seconds]
ebzzry has quit [Ping timeout: 240 seconds]
semz has quit [Ping timeout: 264 seconds]
semz has joined #lisp
semz has joined #lisp
semz has quit [Changing host]
chuculain has joined #lisp
<chuculain> minion: registration, please?
chuculain has quit [Remote host closed the connection]
Codaraxis has joined #lisp
superkumasan has joined #lisp
Codaraxis_ has joined #lisp
semz has quit [Ping timeout: 245 seconds]
Codaraxis has quit [Ping timeout: 276 seconds]
jeosol25 has joined #lisp
orivej has quit [Ping timeout: 240 seconds]
Volt_ has quit [Ping timeout: 268 seconds]
semz has joined #lisp
_paul0 has quit [Remote host closed the connection]
_paul0 has joined #lisp
_paul0 has quit [Remote host closed the connection]
_paul0 has joined #lisp
ebrasca has quit [Remote host closed the connection]
sz0 has quit [Quit: Connection closed for inactivity]
<markasoftware> so, i have read that packages, interns, etc are all things that are only relevant duing the (read) step. But functions, like (intern) and (use-package) and (in-package), affect this. So how does the reader evaluate these functions before (eval)?
sukaeto has quit [Quit: WeeChat 1.6]
slyrus has joined #lisp
slyrus__ has quit [Ping timeout: 240 seconds]
<no-defun-allowed> When loading a file, the forms are read one at a time, so (in-package :foo) 'bar will change the package to foo, then produce foo::bar.
<no-defun-allowed> When compiling a file, then we need to get into eval-when which allows code to choose when it is evaluated.
<no-defun-allowed> clhs eval-when
slyrus_ has joined #lisp
slyrus has quit [Ping timeout: 240 seconds]
slyrus__ has joined #lisp
slyrus_ has quit [Ping timeout: 240 seconds]
Volt_ has joined #lisp
<pjb> markasoftware: read chapter 2.
lxbarbosa has quit [Remote host closed the connection]
anewuser has quit [Quit: anewuser]
<no-defun-allowed> pjb: You're not helping.
<no-defun-allowed> When compiling, EVAL usually isn't called except in EVAL-WHEN forms.
<no-defun-allowed> When loading, each form is read one at a time, with their side effects happening after each.
Oddity has quit []
jeosol25 has quit [Ping timeout: 260 seconds]
clothespin has joined #lisp
Fare has quit [Ping timeout: 276 seconds]
sukaeto has joined #lisp
jeosol75 has joined #lisp
vlatkoB has joined #lisp
PuercoPope has quit [Remote host closed the connection]
<beach> Good morning everyone!
<beach> no-defun-allowed: The number of dangling participles per time unit is impressive. :)
<beach> markasoftware: Do you mean "how is it even possible for READ to evaluate something?", or do you mean "at which point does READ evaluate these forms?"
gravicappa has joined #lisp
raghavgururajan has joined #lisp
<no-defun-allowed> beach: I seem to repeat specifiers like "now" and "each" at the beginning and end of words frequently, but that's impressive to me too.
<no-defun-allowed> And also, good morning beach!
<beach> I see. But that's not considered a grammar error, whereas a dangling participle is.
<beach> Granted, IRC is not considered formal writing.
<no-defun-allowed> So "EVAL usually when compiling isn't called except in EVAL-WHEN forms" would be more correct?
<no-defun-allowed> Oops, "EVAL usually isn't called when compiling, except in EVAL-WHEN forms"
<fiddlerwoaroof> Is something like this the typical way to implement a continue restart? https://plaster.tymoon.eu/view/1531#1531
Oddity has joined #lisp
<beach> no-defun-allowed: Avoid the participle altogether: When a file is compiled...
<no-defun-allowed> Right.
<beach> fiddlerwoaroof: That looks strange. the RESTART-CASES parameter is not used.
<fiddlerwoaroof> Sorry, it's vestigial code
<fiddlerwoaroof> I updated the paste
<beach> That's the general structure I guess. In Cleavir, we do (loop while <problem> do (restart-case (error ....) (continue () <fix-the-problem>)))
orivej has joined #lisp
Berra has joined #lisp
<fiddlerwoaroof> Interesting, I generally try to keep functions that signal conditions and functions that bind restarts separate
<beach> I haven't given it that much thought. You may be right.
fanta1 has joined #lisp
dale has quit [Quit: My computer has gone to sleep]
libertyprime has joined #lisp
retropikzel has joined #lisp
exit70 has joined #lisp
count3rmeasure has joined #lisp
sauvin has joined #lisp
gravicappa has quit [Ping timeout: 268 seconds]
zymurgy has joined #lisp
dale has joined #lisp
gxt has quit [Remote host closed the connection]
hiroaki has quit [Ping timeout: 240 seconds]
<Berra> And from what I can tell it evaluates ``1 into '1
<Berra> This isn't inline with how Scheme or Common Lisp actually does it. I know they can be considered equal to some degree, but not exactly.
dddddd has quit [Remote host closed the connection]
karlosz has joined #lisp
fanta1 has quit [Quit: fanta1]
ggole has joined #lisp
karlosz has quit [Quit: karlosz]
libertyprime has quit [Ping timeout: 265 seconds]
libertyprime has joined #lisp
zaquest has quit [Remote host closed the connection]
libertyprime has quit [Remote host closed the connection]
retropikzel has quit [Remote host closed the connection]
dale has quit [Quit: My computer has gone to sleep]
davisr has quit [Ping timeout: 240 seconds]
ebzzry has joined #lisp
ebzzry has quit [Read error: Connection reset by peer]
MichaelRaskin has joined #lisp
lemoinem has quit [Killed (card.freenode.net (Nickname regained by services))]
lemoinem has joined #lisp
exit70 has quit [Remote host closed the connection]
retropikzel has joined #lisp
raghavgururajan has quit [Remote host closed the connection]
fanta1 has joined #lisp
count3rmeasure has quit [Quit: Leaving]
gxt has joined #lisp
fanta1 has quit [Client Quit]
raghavgururajan has joined #lisp
fanta1 has joined #lisp
raghavgururajan has quit [Read error: Connection reset by peer]
raghavgururajan has joined #lisp
<beach> Berra: So, do you have a remark or a question relating to that?
shka_ has joined #lisp
jonatack has quit [Ping timeout: 276 seconds]
shifty has quit [Ping timeout: 240 seconds]
<Berra> beach: Yeah quite vague statement, I agree. But that's because I'm quite lost as to how I _should_ implement it..
<Berra> beach: I'm getting the behavior of nested unquotes completely wrong and I'm a bit stuck as to why.
<Berra> `1 -> 1 and ``1 -> `1
<Berra> But anything I write that makes sense to me ```1 -> 1 - which is incorrect.
<pjb> Berra: (read-from-string "```1") abcl, ccl return 1; clisp, ecl, sbcl return ```1 ; all are wrong according to 2.4.6. which specifies that `basic is equivalent to 'basic, so ```1 should be read as '''1 ie (quote (quote (quote 1)))
<pjb> (listp '```1) #| --> nil |# it should be T.
ebzzry has joined #lisp
sarna has joined #lisp
zaquest has joined #lisp
<Berra> pjb: Hmm, ok. Thank you, that's helpful. Will read more. And reference the difference with Scheme as well
Volt_ has quit [Ping timeout: 265 seconds]
jonatack has joined #lisp
Codaraxis_ has quit [Read error: Connection reset by peer]
Codaraxis_ has joined #lisp
Finnfinn has joined #lisp
enrio has joined #lisp
DGASAU has quit [Ping timeout: 245 seconds]
fe[nl]ix has quit [Quit: No Ping reply in 180 seconds.]
fe[nl]ix has joined #lisp
jonatack_ has joined #lisp
jonatack has quit [Ping timeout: 268 seconds]
rippa has joined #lisp
jonatack_ has quit [Ping timeout: 240 seconds]
nika has joined #lisp
jonatack_ has joined #lisp
<beach> Berra: You can also check how it is done in other implementations.
jonatack_ has quit [Read error: Connection reset by peer]
<beach> Berra: The main difficulty is in expanding the macro form that the reader produces as a result.
jonatack_ has joined #lisp
jonatack_ has quit [Client Quit]
jonatack has joined #lisp
easye has quit [Remote host closed the connection]
easye has joined #lisp
Codaraxis_ has quit [Read error: Connection reset by peer]
Codaraxis_ has joined #lisp
cartwright has quit [Remote host closed the connection]
ebzzry has quit [Ping timeout: 240 seconds]
cartwright has joined #lisp
jonatack has quit [Remote host closed the connection]
jonatack has joined #lisp
X-Scale has quit [Ping timeout: 240 seconds]
Volt_ has joined #lisp
fanta1 has quit [Quit: fanta1]
raghavgururajan has quit [Remote host closed the connection]
superkumasan has quit [Ping timeout: 276 seconds]
xuxuru has joined #lisp
Lycurgus has joined #lisp
jonatack has quit [Read error: Connection reset by peer]
awsyoos has joined #lisp
<awsyoos> Hello is anyone here familiar with Conway's Game of Life?
<beach> Sure.
<awsyoos> OK, well I was trying to make an implementation in Common Lisp, and I thought I'd ask about spawning extra cells if there are 3 neighbours to that cell.
<awsyoos> I made a function that counts the nighbours, what's next?
<awsyoos> (defun neighbour-p (arr x y)
<awsyoos> (+ (aref arr (- x 1) (- y 1))
<awsyoos> (aref arr (- x 1) (+ y 1))
<awsyoos> (aref arr (+ x 1) (+ y 1))
<awsyoos> (aref arr (+ x 1) (- y 1))
<awsyoos> (aref arr (- x 1) y)
<awsyoos> (aref arr (+ x 1) y)
<awsyoos> (aref arr x (+ y 1))
<awsyoos> (aref arr x (- y 1))))
<awsyoos> Here's the counting neighbours function.
<beach> Please use a past site for code with more than a single line.
<awsyoos> Sure.
<beach> Next, you apply the rules of the game.
<beach> The simplest thing is to use a second array for the next generation.
<awsyoos> oh
<awsyoos> I'm on it.
zaquest has quit [Read error: Connection reset by peer]
Mandus has quit [Quit: WeeChat 2.4]
ym has joined #lisp
zaquest has joined #lisp
awsyoos has quit [Quit: leaving]
FreeBirdLjj has joined #lisp
sarna has quit [Remote host closed the connection]
superkumasan has joined #lisp
varjag has joined #lisp
X-Scale has joined #lisp
xuxuru has quit [Quit: xuxuru]
mn3m has joined #lisp
v0|d has quit [Ping timeout: 268 seconds]
krid has joined #lisp
krid has quit [Client Quit]
synaps3 has joined #lisp
synaps3 has quit [Changing host]
synaps3 has joined #lisp
Lycurgus has quit [Quit: Exeunt]
wxie has joined #lisp
varjag has quit [Ping timeout: 240 seconds]
raghavgururajan has joined #lisp
xkapastel has joined #lisp
mn3m has quit [Ping timeout: 246 seconds]
gareppa has joined #lisp
gareppa has quit [Remote host closed the connection]
Fare has joined #lisp
synaps3 has quit [Quit: Leaving]
<thijso> So jackdaniel told me I wasn't allowed to call myself an idiot. So I won't. Out loud, at least... Just a public service announcement that if you're working on an Android app, before spending 2+ days debugging lowlevel stuff in ECL sockets.lisp and sbcl.lisp, sprinkling logging statements everywhere and recompiling a million times, check that you actually have set the correct app permissions on android to use
<thijso> INTERNET. You know, for sockets, and the like...
<thijso> Excuse me while I go cry in a corner for a while
lucasb has joined #lisp
raghavgururajan has quit [Read error: Connection reset by peer]
_paul0 has quit [Read error: Connection reset by peer]
__vlgvrs has joined #lisp
dddddd has joined #lisp
gareppa has joined #lisp
superkumasan has quit [Ping timeout: 240 seconds]
saravia has joined #lisp
<_death> thijso: did the error message not help? if not, maybe make it helpful
cartwright has quit [Remote host closed the connection]
clothespin has quit [Ping timeout: 265 seconds]
cartwright has joined #lisp
skidd0 has joined #lisp
igemnace has joined #lisp
<p_l> _death: I don't recall it being easy to get error message for that
<skidd0> is there a way i can 'monitor' a special var for when it changes?
<Shinmera> Not directly, no.
<skidd0> thanks
<Shinmera> A special variable might also not change at all, but rather be rebound dynamically.
<skidd0> can you expand on that?
<skidd0> isn't rebinding changing it?
patlv has joined #lisp
<Shinmera> The value of the variable does not change, it just has a binding with a new value in the bound context.
<skidd0> oh in a lexical scope
<skidd0> like a let binding
<Shinmera> No, in a dynamic scope.
<skidd0> oh
<thijso> _death: well, the code died somewhere in shared-initialize :after for inet-socket in ecl/contrib/sockets/sockets.lisp and on android you don't get into the debugger, so I had to log stuff to logcat
<Shinmera> (defvar *bar* 1) (defun foo () (print *bar*)) (foo) (let ((*bar* 2)) (foo)) (foo) ; => 1 2 1
<thijso> so no real error message to track down... I ended up finding out I got EACCESS from the ffi socket call...
<skidd0> Shinmera: i see
<skidd0> thank you
<skidd0> so a let binding is dynamic scope
<Shinmera> No
<Shinmera> special variables have dynamically scoped bindings.
<Shinmera> any variable that isn't special has lexical scope.
<Shinmera> This is why special variables are usually named with earmuffs, because the semantics of binding it are very different.
<skidd0> so a let binding on a special var makes use of a special's dynamic scope
<skidd0> ?
<Shinmera> rather it creates a dynamically scoped binding.
<skidd0> so that the special holds the value of the let binding only within the let statement
<Shinmera> yes
<_death> thijso: what happens when after EACCESS is returned?
<skidd0> Shinmera: what about here: https://pastebin.com/4NTigvMb
<skidd0> it prints "one" "two" "one"
<Shinmera> these are lexical bindings, and you're evaluating their values within their lexical scope.
<skidd0> ah okay
<Shinmera> note that above I used a function binding to escape the lexical scope and show the effect of the dynamic scope.
<skidd0> oh right, i see
<skidd0> i could not do that with var-1
<Shinmera> Yes.
gxt has quit [Ping timeout: 260 seconds]
<skidd0> because it does not exist outside the lexical scope
<thijso> _death: the thread dies, and the app just continues in the non-ndk thread, so you get the app screen...
gareppa has quit [Quit: Leaving]
<thijso> And yes, that should not happen, but I have no idea at the moment how to fix that...
<thijso> And, a caveat, that's what I *think* happens, based on the logs that end up in logcat, and where they suddenly just stop...
wxie has quit [Ping timeout: 245 seconds]
pfdietz43 has joined #lisp
jonatack has joined #lisp
jonatack has quit [Client Quit]
jonatack has joined #lisp
varjag has joined #lisp
aindilis has quit [Ping timeout: 265 seconds]
aindilis has joined #lisp
nika has quit [Remote host closed the connection]
superkumasan has joined #lisp
clothespin has joined #lisp
patlv has quit [Remote host closed the connection]
patlv has joined #lisp
nadare has quit [Quit: leaving]
pfdietz43 has quit [Ping timeout: 260 seconds]
patlv has quit [Ping timeout: 246 seconds]
jonatack has quit [Ping timeout: 268 seconds]
jonatack has joined #lisp
gravicappa has joined #lisp
ebzzry has joined #lisp
Fare has quit [Ping timeout: 240 seconds]
patlv has joined #lisp
Fare has joined #lisp
Inline__ has joined #lisp
Inline has quit [Ping timeout: 264 seconds]
xkapastel has quit [Quit: Connection closed for inactivity]
vaporatorius has joined #lisp
<White_Flame> are there any gotchas to watch out for when specializing methods on defstruct types?
<_death> no
<beach> I don't think so.
<Shinmera> well it only works if the type of the structure is not list or vector.
<White_Flame> I'm in a state where the dispatch complains there is no primary method, where there clearly is one, at least syntactically
<White_Flame> and yeah, no :type funkage either
<Shinmera> are you sure you're in the right package and didn't typo the names?
<White_Flame> yeah, no typo. defstruct and defmethod are in teh same file with no package change
<_death> you can inspect the generic function to see which methods it contains
<beach> White_Flame: You can use the SLIME inspector on the generic function to check the methods.
<White_Flame> I did DESCRIBE, and it matches
<_death> there may be a gotcha to redefining structs though.. did you do that?
<White_Flame> ah, I've been beating on this but I don't think I redefined it recently. let me cycle the image
shifty has joined #lisp
<White_Flame> yep, it seems to advance past that now. sheesh. thanks
<White_Flame> (what is this, windows? reboot and try again!)
<Shinmera> don't use structures until you're sure it works and sure it needs to be structures, etc.
<_death> if you had redefined the method (and everything else that uses struct accessors/constructors etc.) it would likely have worked
<White_Flame> I've been recompiling the file, but some older redefinition error with teh various restarts for how to run the redefinition might not have been right or something
patlv has quit [Ping timeout: 240 seconds]
shifty has quit [Ping timeout: 268 seconds]
easye has quit [Remote host closed the connection]
shifty has joined #lisp
raghavgururajan has joined #lisp
pfdietz61 has joined #lisp
<pfdietz61> I tend to just reload systems rather than individual files. If you've set up the dependencies correctly then code that uses a structure gets redefined. This doesn't save you from existing structure objects becoming invalid, though.
nika has joined #lisp
gravicappa has quit [Ping timeout: 268 seconds]
jonatack_ has joined #lisp
specbot has quit [Read error: No route to host]
minion has quit [Read error: Connection reset by peer]
jonatack has quit [Ping timeout: 240 seconds]
specbot has joined #lisp
minion has joined #lisp
nika has quit [Ping timeout: 268 seconds]
jonatack_ has quit [Quit: jonatack_]
jonatack has joined #lisp
gravicappa has joined #lisp
jonatack has quit [Ping timeout: 265 seconds]
aindilis has quit [Read error: Connection reset by peer]
aindilis has joined #lisp
gareppa has joined #lisp
adolby_ has joined #lisp
adolby has quit [Ping timeout: 252 seconds]
frgo has quit []
nika has joined #lisp
frgo has joined #lisp
makomo has joined #lisp
nika has quit [Ping timeout: 265 seconds]
stepnem has quit [Ping timeout: 264 seconds]
stepnem has joined #lisp
stepnem has quit [Read error: Connection reset by peer]
stepnem has joined #lisp
aindilis has quit [Read error: Connection reset by peer]
cosimone has joined #lisp
aindilis has joined #lisp
slyrus_ has joined #lisp
slyrus__ has quit [Ping timeout: 265 seconds]
stepnem has quit [Ping timeout: 240 seconds]
stepnem has joined #lisp
ozzloy has quit [Ping timeout: 240 seconds]
stepnem has quit [Ping timeout: 265 seconds]
stepnem has joined #lisp
anewuser has joined #lisp
aindilis has quit [Read error: Connection reset by peer]
aindilis has joined #lisp
jackhill has quit [Ping timeout: 250 seconds]
xkapastel has joined #lisp
gareppa has quit [Quit: Leaving]
orivej has quit [Ping timeout: 246 seconds]
aindilis has quit [Read error: Connection reset by peer]
jackhill has joined #lisp
stepnem has quit [Ping timeout: 240 seconds]
clothespin has quit [Ping timeout: 252 seconds]
stepnem has joined #lisp
aindilis has joined #lisp
Codaraxis_ has quit [Read error: Connection reset by peer]
Codaraxis_ has joined #lisp
markasoftware has quit [Ping timeout: 250 seconds]
aindilis has quit [Read error: Connection reset by peer]
skidd0 has quit [Quit: WeeChat 2.6]
gareppa has joined #lisp
karswell has quit [Remote host closed the connection]
Berra has quit [Remote host closed the connection]
stepnem has quit [Read error: Connection reset by peer]
stepnem has joined #lisp
jonatack has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
Fare has quit [Ping timeout: 264 seconds]
Fare has joined #lisp
FreeBirdLjj has quit [Ping timeout: 252 seconds]
davisr has joined #lisp
stepnem_ has joined #lisp
stepnem has quit [Ping timeout: 276 seconds]
pfdietz61 has quit [Ping timeout: 260 seconds]
hiroaki has joined #lisp
stepnem_ has quit [Read error: Connection reset by peer]
aindilis has joined #lisp
stepnem has joined #lisp
bitmapper has joined #lisp
EvW has joined #lisp
marusich has joined #lisp
manualcrank has joined #lisp
gareppa has quit [Quit: Leaving]
FreeBirdLjj has joined #lisp
nika has joined #lisp
nika has quit [Client Quit]
FreeBirdLjj has quit [Ping timeout: 245 seconds]
stepnem_ has joined #lisp
stepnem has quit [Ping timeout: 246 seconds]
patlv has joined #lisp
FreeBirdLjj has joined #lisp
wire_wolf has joined #lisp
clothespin has joined #lisp
shifty has quit [Ping timeout: 265 seconds]
FreeBirdLjj has quit [Ping timeout: 276 seconds]
FreeBirdLjj has joined #lisp
saravia has quit [Ping timeout: 240 seconds]
enrio has quit [Ping timeout: 268 seconds]
FreeBirdLjj has quit [Ping timeout: 246 seconds]
patlv has quit [Ping timeout: 240 seconds]
Fare has quit [Ping timeout: 265 seconds]
stepnem_ has quit [Ping timeout: 250 seconds]
stepnem has joined #lisp
FreeBirdLjj has joined #lisp
retropikzel has quit [Remote host closed the connection]
stepnem has quit [Read error: Connection reset by peer]
stepnem has joined #lisp
seok has joined #lisp
<seok> What is this stream encoding error?
<seok> the character with code 8198 cannot be encoded.
FreeBirdLjj has quit [Ping timeout: 268 seconds]
<seok> when writing to a file
FreeBirdLjj has joined #lisp
stepnem has quit [Ping timeout: 246 seconds]
stepnem_ has joined #lisp
<MichaelRaskin> Apparently you are trying to write to a file as to a character stream with external-format not permitting to encode the Unicode range you use
<pjb> You have a chinese character in your file: (princ #\u8198) #| 膘 --> #\U+8198 |#
gareppa has joined #lisp
dgtlcmo has joined #lisp
<dgtlcmo> Hi!
<dgtlcmo> Does anyone have a Symbolics Space Cadet or Knight LISP Machine keyboard?
dgtlcmo has quit [Read error: Connection reset by peer]
cosimone has quit [Quit: Terminated!]
FreeBirdLjj has quit [Ping timeout: 265 seconds]
dgtlcmo has joined #lisp
stepnem has joined #lisp
stepnem_ has quit [Ping timeout: 268 seconds]
<pjb> dgtlcmo: you can build your own keyboard.
<dgtlcmo> pjb: with special hall effect sensors?
<p_l> dgtlcmo: there are suppliers still available, but not the microcom
<p_l> *microswitch
<aap> building a space cadet or knight keyboard is probably gonna be pretty expensive
FreeBirdLjj has joined #lisp
<dgtlcmo> im interested because I think the keyboard layout supports LISP better. For instance, I'm suspect that the function of the key to the left of tab, was M-x in modern emacs
<p_l> it wasn't
<dgtlcmo> so challening interacting with emacs using this iMac BT keyboard
<p_l> dgtlcmo: for redoing Mac keyboard into more of lisp keyboard, look at steve losh's blog. Let me check the link for you
<p_l> replace KeyRemap4MacBook with Karabinier Elements
gareppa has quit [Quit: Leaving]
<dgtlcmo> i'm reading
Fare has joined #lisp
<ck_> I second the Karabiner recommendation
<ck_> thanks for the blog link, p_l
<dgtlcmo> I'm tryiing to find out a function of finger positioning on a LISP machine keyboard like Symbolics to the Z/Emacs function
FreeBirdLjj has quit [Ping timeout: 240 seconds]
<dgtlcmo> is Karabiner elements safe? Scared of a keylogger
<p_l> dgtlcmo: get a full-size PC keyboard, put (from spacebar out): ctrl, alt, super, hyper
<p_l> and attempt using emacs keys using opposite hand for modifiers
<dgtlcmo> For the iMac BT keyboard. I think based on my observations CAPS LOCK -> Meta. LeftCtrl, LeftOpt -> Ctrl. LeftArrow, Uparrow, DownArrow -> Ctrl.
FreeBirdLjj has joined #lisp
<p_l> anyway, the above is the layout that was driving Emacs keybinds
<dgtlcmo> p_l: can you clarify "the above"?
<p_l> that said, a lot of the oldest keybindings are essentially "one guy went around the lab and gathered what configurations people had"
<p_l> dgtlcmo: the layout of hyper-super-meta-ctrl-spacebar-ctrl-meta-super-hyper
<dgtlcmo> I have a hard time believing Meta had it's original functionality on the space bar row
<dgtlcmo> I think Meta is more likely ALT MODE on the Space Cadet
<p_l> alt mode was separate key, iirc
<p_l> also, there was no difference for left/right modifiers
gravicappa has quit [Ping timeout: 240 seconds]
<seok> hm..
<seok> but I don't have any chinese characters in the string
<dgtlcmo> p_l: if that knight keyboard were to work with current Emacs keybindings ppl would get carpal tunnel
<p_l> this keyboard was used with "Knight TV" system, which provided video consoles (with graphics et al) to MIT-AI KA10 machines (it didn't work with later KL10A/KS10 systems)
<dgtlcmo> the Meta and Ctrl requires to rotate the hand from the home position
<p_l> dgtlcmo: not if they used it the way it's supposed to be used
<p_l> no it doesn't involve rotation
<dgtlcmo> p_l: what way is that?
<p_l> you move *opposite* hand
<p_l> for example, for C-x C-f
<dgtlcmo> ohh
<p_l> use right hand (linear move) to hold Control, use left hand to hit x and f
<dgtlcmo> so it does involve rotation
nowhere_man has joined #lisp
<p_l> no rotation, move whole hand
<p_l> linearly
FreeBirdLjj has quit [Ping timeout: 250 seconds]
stepnem has quit [Read error: Connection reset by peer]
stepnem has joined #lisp
<seok> how do I check if my string contains invalid character to write to file?
<phoe> I've managed to build and deploy a SBCL+Qtools GUI application across three different OSes using Travis CI as build environment. https://i.imgur.com/KcmikRR.png
<dgtlcmo> here are two overlays
<p_l> dgtlcmo: https://en.wikipedia.org/wiki/Space-cadet_keyboard#/media/File:Space-cadet.jpg <--- this is keyboard from symbolics lm-2
<dgtlcmo> over the imac keyboard
Domaldel has joined #lisp
<Shinmera> When is this discussion going to be about Common Lisp?
Domaldel has quit [Client Quit]
<p_l> phoe: can you share the resulting app file from macOS?
<dgtlcmo> Shinmera: apologies, I really didn't have another place to go to for these questions
<dgtlcmo> Shinmera: this seems closest relation
vlatkoB has quit [Remote host closed the connection]
<p_l> #lispcafe might be better
<phoe> p_l: no app file just yet. I only have a raw binary, without wrapping it in a nice .app format.
<p_l> I honestly didn't send you there because I looked at it more from "history of lisp environments" perspective
<dgtlcmo> p_l: irc is so dead, thats why I sought a wider audience
<p_l> phoe: I recently tried to get qtools running on mac 10.14 and failed horribly
<fiddlerwoaroof> dgtlcmo: binding shift to parens was lifechanging
<phoe> p_l: I have got it to run on 10.12. You could check if my binary runs on 10.14.
<p_l> phoe: I need the libs too
<p_l> a copy of them, preferably packaged into app
saravia has joined #lisp
<phoe> p_l: they're bundled in my ZIP.
<p_l> ok
FreeBirdLjj has joined #lisp
<dgtlcmo> so the suggestion is to use Karabiner-Elements and modify the keyboard to my liking?
<p_l> yes
<dgtlcmo> how are others developing LISP efficiently with a keyboard on iMac and Macbooks?
<dgtlcmo> I assume through Emacs... but with what bindings.
<fiddlerwoaroof> I use evil-mode plus a custom keymap to make paredit more ergonomic
anewuser has quit [Ping timeout: 245 seconds]
<fiddlerwoaroof> I've been slowly learning how to use emacs without evil mode, but I find vim-style keybindings a lot more pleasant than modifiers everywhere
<dgtlcmo> fiddlerwoaroof: I considered EVIL, however I was hoping LISPers had close ties to the Emacs bindings for some scientifically based reason...
<dgtlcmo> fiddlerwoaroof: I agree. I used VIM for years with great efficiency on Agol dialects of code. I'm trying to swim with LISP dialects now...
cosimone has joined #lisp
<dgtlcmo> cosimone: i like your nick
<cosimone> dgtlcmo: thank you, what do you like about it in particular?
stepnem_ has joined #lisp
joast has quit [Ping timeout: 240 seconds]
stepnem has quit [Ping timeout: 268 seconds]
<dgtlcmo> cosimone: 0 and 180 degrees
<dgtlcmo> p_l: what type of interface do you develop lisp on?
<cosimone> dgtlcmo: lol never thought about it that way
<dgtlcmo> cosimone: they should be teaching kids how to construct the cos sin tables instead of providing the the function btw
FreeBirdLjj has quit [Ping timeout: 240 seconds]
<dgtlcmo> p_l: the knight keyboard layout allows rotation of the opposite hand pinky to ctrl. meta on the knight requires lifting the hand up
<dgtlcmo> p_l: I'm unsure how the Knight keyboard allowed use of meta without moving the hands off the rest
<p_l> don't fixate on not moving your hands
freedom has joined #lisp
wire_wolf has quit [Ping timeout: 250 seconds]
FreeBirdLjj has joined #lisp
<dgtlcmo> p_l: ok so to remap my iMac keyboard like a Knight, I would need to drop arrow key functionality and replace left, up, down as control. meta is off the edge of the imac keyboard, so i would probably leave meta as the command key.
<dgtlcmo> is there any other way with apple bundled utilities to remap keys? I'm worried that Karabiner-Elements could be a key logger... just being cautious
<pjb> of course.
<dgtlcmo> i think I could somehow create a keyboard definition
<p_l> you can't
<dgtlcmo> p_l: why not?
<p_l> or at least, few years back Apple would block it
<dgtlcmo> p_l: is that proprietary
<p_l> dgtlcmo: no, apple just doesn't want you to do it
<pjb> dgtlcmo: see the variables mac-command-modifier mac-option-modifier mac-command-key-is-meta mac-reverse-ctrl-meta
<p_l> dgtlcmo: a friend of mine wanted custom norwegian layout, different from the one provided by apple
<dgtlcmo> pjb: in emacs? by the way I'm running emacs in a virtualbox debian host... scared of that running on my mac osx environment as well. trying to keep it clean
<p_l> dgtlcmo: he told me that to run his custom keyboard layout he had to delete all other layout definitions
<pjb> dgtlcmo: don't be scared, get it from: https://emacsformacosx.com
<dgtlcmo> pjb: lol sure :)
<dgtlcmo> pjb: it's advertised like candy there :)
FreeBirdLjj has quit [Ping timeout: 250 seconds]
<pjb> dgtlcmo: Alternatively, you can run an X11 emacs with X11.app, but then keyboard layout is complicated by the X layer.
<pjb> dgtlcmo: the advantage of this configuration, is that you get the exact same emacs configuration on linux than on macos. But since the keys go thru one more layer, responsiveness is sometimes a little worse (but not as bad as on MS-Windows).
<pjb> emacsformac is very nice.
<pjb> It's just GNU emacs compiled for macOS.
FreeBirdLjj has joined #lisp
<dgtlcmo> pjb: yeah thats what i'm doing which makes everything more complicated
<dgtlcmo> pjb: I'm trying both, through x and just as a terminal session
<saravia> hello lisp, here my exwm configuration https://notabug.org/saravia/emacs-personal maybe your can improve my basic .emacs.d ×D
<seok> which library should i use to write lisp objects to file?
<phoe> seok: depends; serialization is hard to generalize
<phoe> check if cl-conspack solves the problem you face
<phoe> if not, come back for more
<pjb> seok: if your lisp objects are printable readably then you can use CL:PRINT and CL:READ.
ggole has quit [Quit: Leaving]
<p_l> also CL:WRITE ?
<phoe> that's the simple thing, yeah, just read and write them if they're simple data
<phoe> if you have unreadable stuff such as standard-instances though, you might want something more advanced
FreeBirdLjj has quit [Ping timeout: 264 seconds]
Codaraxis_ has quit [Read error: Connection reset by peer]
Codaraxis_ has joined #lisp
saravia has quit [Remote host closed the connection]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
saravia has joined #lisp
stepnem_ has quit [Ping timeout: 240 seconds]
<p_l> dgtlcmo: btw, input sources != keyboard mappings. Especially systemwide ones that apply to everything :)
stepnem has joined #lisp
joast has joined #lisp
slyrus has joined #lisp
<dgtlcmo> pjb: watching it now
cow81 has joined #lisp
<dgtlcmo> pjb: it's not an identical layout. mighting some keys from the left
cow81 has quit [Remote host closed the connection]
dgtlcmo has quit [Quit: Lost terminal]
slyrus_ has quit [Ping timeout: 276 seconds]
hiroaki has quit [Ping timeout: 246 seconds]
Codaraxis_ has quit [Read error: Connection reset by peer]
Codaraxis_ has joined #lisp
FreeBirdLjj has joined #lisp
dgtlcmo has joined #lisp
space_otter has joined #lisp
FreeBirdLjj has quit [Ping timeout: 276 seconds]
synaps3 has joined #lisp
synaps3 has quit [Changing host]
synaps3 has joined #lisp
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Ping timeout: 276 seconds]
FreeBirdLjj has joined #lisp
freedom has quit [Remote host closed the connection]
Inline__ has quit [Quit: Leaving]
makomo has quit [Quit: WeeChat 2.4]
FreeBirdLjj has quit [Ping timeout: 246 seconds]
Inline has joined #lisp
saravia has quit [Quit: Leaving]
saravia has joined #lisp
FreeBirdLjj has joined #lisp
<dgtlcmo> p_l: I posted the keyboard question on stackexchange. Hopefully someone can provide guidance there as well. https://apple.stackexchange.com/questions/373639/script-to-change-keyboard-bindings-quickly-for-emacs
raghavgururajan has quit [Remote host closed the connection]
<dgtlcmo> I think it will be challenging to rebind the arrow keys unless some modifier can be used while in OSX to use ghjk with it
<p_l> karabinier elements can do it
<p_l> and no, it's not a keylogger, though it does access the keyboard input directly
FreeBirdLjj has quit [Ping timeout: 276 seconds]
saravia has quit [Read error: Connection reset by peer]
cosimone_ has joined #lisp
saravia has joined #lisp
cosimone has quit [Ping timeout: 250 seconds]
saravia has quit [Read error: Connection reset by peer]
FreeBirdLjj has joined #lisp
saravia has joined #lisp
dale has joined #lisp
khisanth_ has quit [Ping timeout: 240 seconds]
FreeBirdLjj has quit [Ping timeout: 252 seconds]
EvW has quit [Ping timeout: 245 seconds]
<seok> hm..
FreeBirdLjj has joined #lisp
<seok> Yeah, read and writes are not working
<seok> I have a huge hashtable so I can't read the error message lol.
<seok> emacs freezes all the time trying to print error
xkapastel has quit [Quit: Connection closed for inactivity]
<no-defun-allowed> What implementation is that? All I can think of don't print the contents of the hash table (maybe for that reason).
<space_otter> are hash tables affected by *print-length*?
shka_ has quit [Ping timeout: 245 seconds]
FreeBirdLjj has quit [Ping timeout: 264 seconds]
stepnem_ has joined #lisp
<p_l> they don't have a read-form, iirc
stepnem has quit [Ping timeout: 265 seconds]
<p_l> you might want to write a custom serializer? Maybe something that will generate a function call that creates the hashtable content
khisanth_ has joined #lisp
<space_otter> you're right, printing a hash gives #< ... >
<space_otter> i've printed 4 million element arrays in slime before and emacs didn't freeze
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Ping timeout: 252 seconds]
Fare has quit [Ping timeout: 250 seconds]
FreeBirdLjj has joined #lisp
slyrus_ has joined #lisp
superkumasan has quit [Ping timeout: 264 seconds]
slyrus has quit [Ping timeout: 240 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
jmercouris has joined #lisp
madage has joined #lisp
FreeBirdLjj has joined #lisp
jmercouris has quit [Remote host closed the connection]
jonatack has quit [Remote host closed the connection]
jonatack has joined #lisp
<seok> the character with code 8198 seems not be a chinese character
<seok> :/
<seok> I am trying to write json to file
<seok> the character with code 8198 cannot be encoded.
count3rmeasure has joined #lisp
<seok> keep getting this
FreeBirdLjj has quit [Remote host closed the connection]
synaps3 has quit [Read error: Connection reset by peer]
synaps3 has joined #lisp
<space_otter> what are you using to write json? is it not escaping unicode characters?
<seok> i am just encoding to json with yason
<seok> then using str:to-file
wire_wolf has joined #lisp
<p_l> check external encoding of the write stream. Which implementation?
<seok> sbcl
<seok> how do i check that?
atgreen has joined #lisp
<p_l> I don't remember the accessor to check, but ensure you open the file with :external-format :utf-8
Oladon has joined #lisp
stepnem_ has quit [Ping timeout: 245 seconds]
stepnem has joined #lisp
synaps3 has quit [Read error: Connection reset by peer]
synaps3 has joined #lisp
synaps3 has joined #lisp
synaps3 has quit [Changing host]
aamukastemato has joined #lisp
FreeBirdLjj has joined #lisp
aamukastemato has quit [Client Quit]
FreeBirdLjj has quit [Remote host closed the connection]
shifty has joined #lisp
orivej has joined #lisp
karlosz has joined #lisp
synaps3 has quit [Ping timeout: 250 seconds]
superkumasan has joined #lisp
akoana has joined #lisp
cosimone_ has quit [Ping timeout: 268 seconds]
varjag has quit [Ping timeout: 268 seconds]
wire_wolf has quit [Quit: Leaving]
stepnem_ has joined #lisp
stepnem has quit [Ping timeout: 265 seconds]
orivej has quit [Ping timeout: 265 seconds]
permagreen has quit [Remote host closed the connection]
Fare has joined #lisp
saravia has quit [Ping timeout: 265 seconds]
FreeBirdLjj has joined #lisp
adolby_ has quit [Ping timeout: 240 seconds]
Volt_ has quit [Ping timeout: 276 seconds]
FreeBirdLjj has quit [Ping timeout: 250 seconds]
saravia has joined #lisp
lucasb has quit [Quit: Connection closed for inactivity]