freenode/#lisp - IRC Chatlog
Search
19:44:30
beginner_supreme
I mean vlime, it's like slime but for vim. Similar to the slimv project except slimv is written in python, while vlime is a mix of CL and C
19:45:59
beginner_supreme
I'd love to but I saw C-c C-x C-h C-<insert letters> and my brain cache had a few misses
19:47:52
_death
beginner_supreme: it has emacs already configured and you drop straight into a CL repl
19:50:36
beginner_supreme
So far I've been using a regular editor without the repl server connection.
19:50:59
phenoble
beginner_supreme: you should try spacemacs (an emacs distribution) with evil (a vim emulation). Both together do away with what many would consider, Emacs' unintuitive keybindings.
19:53:30
beginner_supreme
I'll look into portacle and spacemacs (disclaimer: I don't use vim either - it just seemed less steep a learning curve)
19:55:37
_death
I don't know if the curve is that steep... especially if you're going to learn Lisp anyway
19:57:51
phenoble
_death, beginner_supreme: The steepness might also depend on how satisfied you are with the default configurations of vim and emacs. I know that I wasn't, so,... 2 years later I'm on freenode in #lisp.
19:58:28
oleo
i'm not sure why an explicit upgrade of asdf after loading quicklisp makes so much problems
19:59:01
oleo
but this way quicklisp can decide if it wants to upgrade stuff from the asdf in common-lisp/source/asdf
19:59:58
beginner_supreme
Anyways, thanks for the great conversation everyone, till next time [possibly with other nicknames, don't feel like registering yet]
20:04:50
aeth
Imagine if beginner_supreme registered and continued using that name for decades, while becoming one of the biggest experts in Lisp.
20:39:38
pjb
aeth: well it would be a major inconvenience, since he used _ instead of - in his nameā¦
20:47:43
aeth
pjb: well the lisp community is the only community I know of in Freenode not to use -'s in channel names
20:48:22
aeth
I know it's because - is something like a namespace in Freenode and they're all (afaik) independent, but it's still kind of funny
22:07:05
aeth
I wonder if a normally AOT Lisp could JIT FFI to increase CFFI performance. Apparently JIT CFFI function calls have lower overhead than equivalent C function calls. https://news.ycombinator.com/item?id=17171252
22:39:45
ZigPaw
but the difference is probably insignificant (like few cycles). If you need to gain so few cycles, you are probably better off inlining the function (and it might be done by JIT I think). But I'm not an expert.
23:27:17
LdBeth
oleo (IRC): there is a ncurses IDE largely based on climacs, https://github.com/cxxxr/lem
23:29:18
p_l
(tl;dr one level of indirection less due to not using relocation/PLT and instead dynamically loading addresses into known space)
23:42:16
aeth
It would be interesting to benchmark. SBCL was not included in any of these benchmarks for some reason even though that's what everyone's interested in.
4:52:28
pillton
CFFI works from ECL. CFFI allows you to load a shared object library and invoke functions inside it.
4:56:20
pillton
black_13: I have used CFFI on windows to invoke foreign functions. The only thing that I haven't done is tried cffi:load-foreign-library on windows.
5:00:48
pillton
The user manual is there. Start here https://common-lisp.net/project/cffi/manual/html_node/defcfun.html#defcfun
5:36:34
duncan_bayne
Possibly stupid question: is there an idiomatic way of accessing data in lists that are neither alists nor plists? Specifically, in the form: '(("Name" ("first" "Duncan" "last" "Bayne")) ("Phone" ("area" "01" "number" "123456")))
5:42:18
White_Flame
you can generally use FIND for custom cases, but many of these functions have :key or :test style optional parameters to configure what you want
5:45:50
White_Flame
the Alexandria library has WHEN-LET* which allows you to cascade multiple forms, continuing if each step yields non-NIL
5:46:20
duncan_bayne
White_Flame: thanks - that was the sanity-check I needed, I'm new to CL and was afraid I was missing something. Happy to roll my own here
5:47:32
White_Flame
yes, for ("Name" ("first" "Duncan" "last" "Bayne")), the CAR is "Name" and the CDR is (("first" "Duncan" "last" "Bayne"))
5:48:10
White_Flame
also, to be more idiomatic, you should probably use symbols, like (:first "Duncan" :last "Bayne") or something
5:51:11
duncan_bayne
Right I'll head off to #clnoobs, because my attempts to use a-list functions on that structure have so far been failures
5:55:53
duncan_bayne
beach: Sorry, didn't mean to be ignoring you, have been looking into your example
5:56:10
pillton
Maybe lisp is like coffee baristas. You need to find the really old and grumpy baristas to get a good coffee.
5:57:18
jackdaniel
black_13: like any other foreign function. I'd use cffi, but ffi interfaces are documented too (ECL's FFI has an API defined in UFFI)
6:06:18
duncan_bayne
beach: Yep, (assoc "Phone" the-list :test #'string-equal) => ("Phone" ("area" "01" "number" "123456"))
6:09:26
duncan_bayne
White_Flame: yes; this list is being returned by a library that is deserializing it from JSON
6:10:20
White_Flame
the library might also have transforms that it can apply to object keys, where you could intern the strings into symbols, preferrably changing their case to Lisp default
6:12:17
duncan_bayne
flip214: yes, because the assoc example provided by beach returns a list of strings, which doesn't play nice with getf
6:22:53
duncan_bayne
Yeah, that's what I mean; getf is no help with the data structure returned by the library, because (eq "foo" "foo") => NIL
7:16:42
flip214
If I have a JAR file created via ABCL, is there already something to decompile that back to CL sources?
7:29:33
White_Flame
unless the source code is literally included, reversing the process is not really programmatically reliable
7:30:53
flip214
I also have a few __loader__._ files -- these include the function names and docstrings in many (SYSTEM:FSET ...) calls
7:31:22
easye
flip214: How'd you create the JAR? If via ASDF-JAR there should still be Lisp source along with the fasls.
7:34:33
knobo
Could I get some feedback on my first package using cffi, please? https://github.com/knobo/cl-sysinfo