freenode/#lisp - IRC Chatlog
Search
10:11:53
borodust
Xach: latest ccl ("Version 1.11.5/v1.11.5 (LinuxX8664)") seems to bork ~/quicklisp/local-projects/system-index.txt
10:12:33
borodust
I nailed it down to (ql::matching-directory-files "~/quicklisp/local-projects/" (lambda (file) t)) returning different results for sbcl and ccl
10:24:50
borodust
Xach: ah, i see why :/ ccl's directory-entries calls merge-pathnames with :follow-links nil
10:25:45
jackdaniel
borodust: not a solution, but a workaround: issuing ql:register-local-projects from sbcl should make things work on ccl too
10:26:41
borodust
jackdaniel: yeah i did that so far this way, but i use #'write-asdf-manifest-file and call to it overwrite system-index.txt :/
10:46:17
light2yellow
is there a way to splice a list without comma and comma-at? for example, how do I create (a 1 2 3 c) if (setq b '(1 2 3)) ? what would be the equvalent of `(a ,@b c) ?
10:53:23
light2yellow
jackdaniel: no high-level goal, just reading about macros and wondering what would be a substitute in normal expressions not prefixed by backquote, since I feel like splicing might be a useful thing
10:55:58
ecraven
light2yellow: it's very instructive, especially since CL has macroexpand-1. unfortunately, most Schemes miss that one :-/
10:58:27
edgar-rft
light2yellow, you might be interested in <https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node367.html>
12:16:35
knobo
I tried css-lite, I did not like it as I need to look in the source for documentation.
12:41:01
drmeister
antoszka: Hello! Yes we got home fine - it was a very smooth trip. I hope it was the same for you.
12:42:43
drmeister
antoszka, phoe, jasom, p_l, shrdlu68: Thanks - I'll check out lparallel and or use a queue. We have Bordeaux threads working.
13:25:29
Xach
mfiano: http://report.quicklisp.org/2018-04-30/failure-report/gamebox-math.html#gamebox-math
13:31:34
jackdaniel
can someone try to load serapeum on the newest ql release? I have an error: `The function SERAPEUM::KEY is undefined.'
13:44:26
jackdaniel
same problem on ecl. I'll try on a separate user account later (without polluted asdf's registry)
13:47:46
knobo
With enhancement: better handling of unknown keyword arguments, which I have been wating for a couple of years :)
14:04:22
mfiano
Xach: This is strange. Even if I touch package.lisp as to force a full recompile, I do not get an error. However if I quickload with :verbose t, warnings become errors.
14:05:15
Xach
mfiano: the best way to catch is to use :verbose t all the time or set *quicklisp-verbose*
14:06:50
jackdaniel
I'm puzzled, I've cleaned cache, removed local-projects and common-lisp/ and I still have this weird issue
14:08:13
Xach
mfiano: when you ql:quickload something, by default, you don't see cl:warnings. if you asdf:load or use quickload verbose, you do.
14:12:11
Xach
From my perspective, I wish there was a really easy way to say "build verbosely and don't catch warnings when building local things but build quietly and catch warnings when building quicklisp-provided things"
14:55:43
jasom
drmeister: one of my first mentors taught me that communicating via queues is hard to mess up. Being hard to mess up is worth its weight in gold when it comes to concurrency
14:56:55
jasom
lparallel's channels are less general-purpose than a queue, but if they do what you need they are even easier.
15:07:42
phoe
"enhancement: namestrings can now be computed for certain pathnames that previously did not have namestrings because of #\. characters in their name and/or type components. "
15:32:38
Xof
Xach: (handler-bind ((warning (lambda (x) (if (quicklisp-provided-p *current-system*) (muffle-warning x) nil)))) ...) ?
15:37:26
Xach
I was thinking about doing something with *compile-file-truename* and if it's in the quicklisp path structure but I don't remember where I landed on that.
15:37:53
Petit_Dejeuner
Is there an easy way to determine the endianess of the machine? All I found in uiop was some stuff for reading little endian bytes.
15:38:15
Xof
the way I'm thinking aloud about is finding the current operation / component and using that
15:38:40
Xach
Petit_Dejeuner: I don't know offhand, but I'm curious - what would you do with that info?
15:41:00
Xof
*systems-being-operated* unfortunately does not have the property we would like -- it doesn't tell us the innermost system
15:41:42
Xof
and it's not clear to me whether you as quicklisp author are allowed to write methods on asdf:operate
15:41:47
Petit_Dejeuner
Xach: I'm trying to write a lisp library equivalent to the following python library. https://docs.python.org/2/library/struct.html
15:42:47
Petit_Dejeuner
I wanted to do something like cl-ppcre where there was a sexpr and text notation, so I want the text notation to be as python comaptible as possible.
15:42:48
Xof
(if you are, you could write an around method that binds a special to the component being operated on, and test for that being in quicklisp's path)
15:43:14
Petit_Dejeuner
Even though I don't see the point of a "native" byte order and figure people could determine that on their own. :/
15:43:43
Xach
Petit_Dejeuner: you could spawn python, pack in "native" order, and check the bytes you get back :)
15:44:10
Petit_Dejeuner
lol, might as well just write a python script and have my library call it at that point
15:56:27
puchacz
I understand there are 2 levels of quoting, either preserving whitespace (rare) or not preserving whitespace (common)
15:57:08
puchacz
not sure if text into attributes needs to be quoted in the same way as text sitting in text nodes
16:06:19
mfiano
Now that Lisp Game Jam 2018 is over, everyone can show a little support and vote for their favorites for the next 3 days before the results are public: https://itch.io/jam/lisp-game-jam-2018/entries
17:09:25
Xach
And it recognizes some of the common ways to slurp documentation in, but not format nil.
18:02:52
ym
Are there attempts to crossbreed SBCL with Linux so that first process started by kernel would be SBCL?
18:05:36
aeth
I'm not aware of any top-down approach because to be practical, as dlowe said, you'd have to start further up in the "top" part
18:13:18
White_Flame
ym: but that would just get you a raw framebuffer. McCLIM would be what draws on top of that
18:14:50
jackdaniel
ym: but to provide example of some adventages, you may watch this video (first 12m: https://youtu.be/RBOrllTA-yc)
18:15:09
ym
White_Flame, all I want is a raw framebuffer (well, with SIMD-optimized rendering, but SBCL has SIMD support, so that's no problem).
18:20:18
ym
IIRC there is X server implementation in CL, but I don't think about it yet. All I want is, ghm, SBCL minimalistic environment with DRM graphics output linux /dev/input as input etc. For my personal nearly-embedded needs.
18:55:52
TMA
is there a SOAP web service client in quicklisp besides hu.dwim.utils/soap? (or more documentation than http://quickdocs.org/hu.dwim.util/api, which is sparse and does not cover the soap/XML part at all)
19:14:01
yoel
Petit_Dejeuner: If u r still looking for Python's struct alternative, take a look at userial
20:05:15
thorondor[m]
hello. I've noticed that ECL is quite slower than SBCL/CCL. Why is it? Is it just that the C compilation in ECL cannot compete with the assembler of SBCL/CCL. Or there are also other factors?
20:06:20
Xach
thorondor[m]: i think there have been many many more person-years of effort put into making sbcl compile to efficient code than ecl.
20:06:45
Xach
I would be somewhat surprised if there was an inherent problem with the compile-to-c approach that effort could not overcome
20:10:33
thorondor[m]
ECL approach is very attractive as it make it very easily portable, but I noticed some slowness
20:39:02
jackdaniel
according to the comparison I've read from '90 KCL (which is ancestor of ECL) was comparable in speed with back-in-a-day CMU CL
20:40:22
pierpa
for the sake of comparison, you may check other lisp-like languages which compile through C. One such language which produces fast code is Biglo, for example.
20:40:29
jackdaniel
but KCL family was most of its lineage a few men effort, so I think that what Xach said makes sense: most of it boils down to man-hours
20:41:27
jackdaniel
compiling to C has some drawbacks, but also has some adventages. one of the adventages is that gcc also performs certain optimizations (not much though - abstraction prevents some of possibilities)
20:41:48
jackdaniel
clasp achives a similar thing by compiling with LLVM (which also optimizes things)
20:42:22
jackdaniel
of course both (ECL and Clasp) have their own compilers with optimizations of their own
20:50:09
jackdaniel
sorry, paper with comparison was written for EcoLisp, direct ancestor of ECL – http://pages.di.unipi.it/attardi/Paper/LUV94.pdf
20:50:51
jackdaniel
I thought I saw it in the original KCL paper (http://www.softwarepreservation.com/projects/LISP/kcl/paper/kcl-paper.ps)
20:51:41
jackdaniel
of course this is archeology, but very intresting and useful if you plan to dig in ECL's innards
20:59:19
thorondor[m]
btw, after updating ECL from gitlab, I cannot see debugging locals in stack frames from SLIME. although I'm not 100% it was because of the ECL upgrade
21:00:34
jackdaniel
that's not enough details for me. if you decide to report an issue, please include comparison between two builds (last release and develop build) and description what has changed/ how to reproduce that easily
21:38:56
jmercouris
fe[nl]ix: sorry for not clarifying, I didn't mean a hosting provider (I too use Gandi, great company), I mean for software to serve DNS
21:43:13
fe[nl]ix
jmercouris: DNS is so complicated nowadays that you definitely don't want your own server
21:44:49
drmeister
What do folks recommend in the following situation - I've got a grammar that I'm putting together that looks like the following:
21:45:33
drmeister
A bunch of lists of symbols. I've got this special symbol 'CYCLE and I should prefix it with the package that it's defined within.
21:46:50
drmeister
But I forget to do that sometimes and then it's not recognized properly. I was thinking of recognizing any symbol with (string-equal (string sym) "CYCLE")) - is that a bad idea?
21:47:48
drmeister
I could use the :cycle keyword symbol instead - but everything else is keyword symbols.
21:51:14
drmeister
A molecule-part can be a symbol or a list with the form (name :label label) or ((name1 name2 name3 ...) :label label)
21:53:05
jmercouris
fe[nl]ix: it's complex, but it is the easiest way for me to do adblocking, I might just append to the hosts file for now, pointing to 0.0.0.0
22:04:41
thorondor[m]
drmeister: I think using (string-equal (string sym) "CYCLE")) could be OK. I think that same technique is used in LOOP macro for example
22:05:59
drmeister
thorondor[m]: Thank you. Is that how the LOOP macro handles all of its loop keywords?