libera/#commonlisp - IRC Chatlog
Search
15:37:28
jcowan
mfiano: I have not noticed that my cat is specially drawn to me when I am doing Lisp as opposed to Python, so I think this "neighborhood cats" theory is probably wrong
15:47:24
pjb
or, we could invent a programming language syntax where any balanced parenthesis would be a syntax error.
15:51:38
mfiano
I dunno, haskell goes a little out of its way here to avoid looking like a lisp with the $ precedence operator
15:53:32
mfiano
I'm sure it does. I was just joking at the seemingly only existence for this infix precedence operator is to avoid parens and make it confusing to even mathematicians to look at.
16:03:27
mfiano
Does anyone know if there was a lot of tension between the haskell and CL parties during the standardization period, when haskell showed up on the map? I remember about 20 years ago I was banned from some haskell channel for asking the question about this operator trying not to look like that other research language being standardized?
16:22:26
jcowan
mfiano: I'd say banning is over the top, but I am careful about what I say on #haskell on the rare occasions I join it, as I don't especially want to attract the attention of a meany. That said, the person to ask is probably a standardizer and it would help if you are having a drink/coffee with them rather than ask an embarrassing question in a public place.
16:22:59
jcowan
(This does not mean that I am opposed to OT or that I refuse to answer embarrassing questions about R7RS standardization.)
16:34:56
jcowan
I kept myself off freenode#lisp for a long time because of the attacks of a similar meany who I do not choose to name (but an important person in the CL community).
16:44:12
mfiano
I honestly have no idea what we are talking about, unless we no longer have a surplus of six streams.
19:15:00
gendl__
Hi, is there a way from inside a CL to detect whether swank is running and if so, on what port it's listening
19:23:17
semarie
gendl__: swank::*servers* might be a way. => "A list ((server-socket port thread) ...) describing the listening sockets. Used to close sockets on server shutdown or restart."
19:58:05
Josh_2
yitzi: with shasht how can I dynamically append keys to a json object? I have a hash table and I want to serialize that as part of an object, not as separate object
19:59:46
Josh_2
I have (shasht:with-json-object stream (shasht:print-json-key-value ...) ;;my hash (maphash (lambda (key val) (shasht:print-json-key-value ..))) .. next hash ..) but I get no output from the hash tables
20:01:42
yitzi
Do you have some code somewhere... or a paste I can look at? I think I understand what you mean...just want to be sure.
20:09:58
yitzi
If you are doing this a lot you could write a general print method that automatically does this for hash table slots.
20:11:17
yitzi
If you look in write.lisp there is a print-json-mop function that you could tweak. Just an idea.
20:11:52
Josh_2
There is a lot of variable information for that class so I decided I'd store it as JSON in postgres rather than tweak my db everytime I come up with a new key
20:14:03
Josh_2
Each slot is a column and the hash tables are jsonb, but when the end user receives a serialized version of the class I wanted the key/vals from those 3 hash tables appended rather than as slot name -> object pairs
21:38:36
Josh_2
When telling another service about the current configured timezone in my system, whats the best way? Should I just use the offset relative to UTC? Along with the location used?
2:06:09
elderK
It's been a pretty long time since I posted here: There seem to be some neat new developments floating about like rpav's cl-autowrap and c2ffi.
2:06:46
elderK
I was wondering if there are any good resources, bar the GitHub page itself, describing how to best use cl-autowrap?
2:06:46
elderK
Could anyone give me a rundown as to why I'd want to use it vs. CFFI's groveler and stuff?
2:07:17
phoe
elderK: a brief and bad example of cl-autowrap is https://github.com/phoe/cl-lzma/blob/master/cl-lzma.lisp
2:08:00
elderK
Also, as a kind of side question: How do you debug your programs? I'm curious as to how you say, step through a Lisp program.
2:08:00
elderK
On YouTube, I've seen some people edit quite complex programs through SLIME. Say Baggers with his graphics videos.
2:08:00
elderK
I was wondering how this works if you have a multithreaded program? Do you have one thread dedicated to running the REPL? Is it simpler than that, more complex?
2:09:06
phoe
depending on the structure of your program, maybe the erroring thread can "forward" the condition to another thread and wait for it to get somewhat handled there - but that is something of a more complex approach where you also don't have the stack visible by default in the slime debugger
2:09:22
phoe
so probably the best way is to let the thread crash and enter the debugger at which point you can, well, debug that thread
2:09:26
elderK
Interesting. I was curious how like, recompiling parts of a program would work in a multithreaded environment.
2:10:15
phoe
if you have anything more complex than that, like needing to replace several bindings at once, you may need to stop other threads before doing this
2:10:33
elderK
I've recently decided I'd like to start moving to CL for pretty much all my personal projects. I'm starting to grow a little disenchanted with modern C++ and stuff. Sure, it's great and has lots of features but keeping up to date is increasingly hard and template metaprogramming remains black magic.
2:10:33
elderK
CL seems much more inviting: The metaprogramming language is the same as the core language.