freenode/lisp - IRC Chatlog
Search
8:27:01
nyingen_
I'm using a couchdb interface lib called clouchdb, which lets me define view functions using parenscript. These are compiled to javascript and sent to the couchdb server encoded in JSON
8:27:45
nyingen_
If I write for example "\s+" in a regex, parenscript escapes it to "\\s+", and then the JSON encoder escapes that to "\\\\s+"
8:28:14
nyingen_
I'm not sure what to do about it. Maybe hack the JSON encoder (which is internal to clouchdb) to add a flag turning off backslash escaping?
8:28:36
nyingen_
Using cl-interpol does not help because the problem is the extra escaping done by the JSON encoder
8:35:45
nyingen_
Parenscript seems to support injecting raw JS strings into its output, so that could possibly work
10:47:35
minion
heisig, memo from no-defun-allowed: I'm not sure if I'll be awake when you come online but happy third birthday to Petalisp!
10:52:46
shka_
heisig: yeah, it is great, i am glad that you showed it to me, just not what i need right now
10:53:00
jackdaniel
at least nothing ready to be commited, I have plenty of junk which hardly compiles itself
11:44:21
heisig
gjvc: Assuming you use ASDF and Quicklisp, you probably want to put your project in ~/quicklisp/local-projects .
11:47:21
gjvc
i am working on ~/work/GATE/genesis/src/lisp/gate/genesis/bootstrap/foo/bar.lisp and i have an sbcl wrapper in ~/work/GATE/genesis/bin/ which loads a userinit.lisp file containing quicklisp settings
11:48:24
gjvc
the only problem i've really got stumped on is when *load-truename* returns /tmp/something in slime and path merges then don't work
11:51:02
gjvc
also, i find I have to compile/evaluate the ql:quickload lines in my source before slime wil compile the whoel file
12:01:23
heisig
gjvc: I am not sure what you are up to. Usually, you just need a short .asd file in your project and then a single call to ql:quickload.
12:02:29
gjvc
ok, i have one of those. oh---wait you mean i write the .asd file and use ql:quickload to load the project via *that* ?
12:04:40
heisig
The easy way is to make symlinks from your project directories to ~/quicklisp/local-projects.
12:05:58
heisig
The other way would be to tweak some Quicklisp or ASDF variables, but I forgot which ones.
12:09:23
heisig
gjvc: Here is how the local-projects mechanism works: http://blog.quicklisp.org/2018/01/the-quicklisp-local-projects-mechanism.html
12:13:25
pjb
gjvc: (push #P"/path/to/your/sources/" #| <- mind the final / for your directory! |# asdf:*central-registry*) (ql:quikload :your-system)
12:15:07
gjvc
lrwxrwxrwx. 1 gjvc gjvc 49 May 20 13:14 genesis -> home/gjvc/work/GATE/genesis/src/lisp/gate/genesis
12:30:39
pjb
You can use relative links too; I have: ~/quicklisp/local-projects/com/informatimago -> ../../../src/public/lisp/
13:25:02
shka_
would calling lenses as described here https://docs.racket-lang.org/lens/lens-intro.html using CL language as "First class accessors" is valid description?
13:33:15
ggole
They don't mutate though, they return a copy with the specified part given a different value
13:59:58
flip214
any library suggestions for converting text or an URL to a QR or other machine-readable code?
15:28:56
vt240
Hi, anyone know what is a fast way to read/write large vectors of double floats to a little-endian binary file?
15:34:54
gaze___
any lispworks gurus here? I'm curious if funcall still works well after a tree shake
15:45:48
pjb
(defparameter *my-functions* (list (function a) (function b) (function c))) (funcall (aref #(a b c) (random 3))) should work.
15:46:46
pjb
And how hard you make it for it to find what function name will ever be used in funcall.
15:52:14
gaze___
I understand that APIs can change underneath a codebase such that the codebase won't run anymore
15:52:37
gaze___
and I understand that people might just not... work on the codebase, or use the codebase or whatever
15:53:30
gaze___
but people use 60-year old milling machines and lathes, and people use theorems and techniques that are a hundred years old or whatever
15:56:06
gaze___
lisp libraries are some of the few where people just decide that the library is "done." That's it. It does what it needs to.
16:11:43
katco
a few years ago i downloaded and used a PoS tagging library written in the 70s, unmodified
16:13:02
katco
part of the reason my personal projects use CL is because it's the best way i can think of to build a corpus of work and not have it degrade out from under me. i can actually build on it to create bigger and better things
16:23:34
katco
sorry oni-on-ion, i'm unsure what you're trying to say. i think we're saying the same thing?
16:25:59
oni-on-ion
katco, responding to gaze___ on bit rot. then thinking about what you said about building a corpus
17:05:37
gaze___
I've found myself becoming a software luddite where I just wanna distribute tiny executables dependent upon code written when people were performance and code size were important... writing guis based on win32 or whatever
17:13:58
pjb
gaze___: we've not all decided. Some fools have decided to shoot in their feet, by making incompatible changes. Their problems. If you use CL on Linux, you were good 30 years ago, and you'll be good in 30 years.
17:16:07
gaze___
yeah seriously. It's like a lisp image is an oasis from the javascript nonsense and everything proximitized by it
17:16:37
pjb
And most applications don't need a GUI, and 80% of those needing a GUI only need it for output so it can be a CLI generating pictures or movies…
17:17:18
pjb
And even if you think users need a GUI for input, you'll be happier if you can take text input and process batch instead of interactive.
17:17:42
gaze___
I soooorta agree. Having a gui for running scientific experiments interactively is very nice
17:18:06
gaze___
or having a gui for tweaking parameters on a virtual synthesizer for making music is very nice
17:18:34
gaze___
do I wanna open a config file and write in +100 Hz cutoff on my filters to tweak them so they sound right? no.
17:19:43
pjb
Or if you want to manage thousands of sounds at once, you bet you want to do it with a script.
17:25:43
gaze___
this feels like my mom telling me "we have that at home" when what we have at home isn't actually the thing I want.