freenode/lisp - IRC Chatlog
Search
9:07:23
JuanDaugherty
anybody know of a work with shrdlu besides the evident stuff, tsgouros, the resurrection 10 ya, e.g. a port to sbcl
9:08:06
jackdaniel
ryanwatkins: this may be related: https://sourceforge.net/p/sbcl/mailman/message/34821303/
9:09:11
beach
ryanwatkins: You can use the Cleavir compiler framework and define a WebAssembly backend for the intermediate format.
9:56:02
White_Flame
flip214: I don't think parenscript would help. There's no JS-isms in webasm, so converting to JS is a sidetrack
9:57:21
White_Flame
It will be interesting to see if webasm will allow you to specify your own ABIs, multiple environmental stacks, etc, in a way that's sensibly fast. I think that it's also supposed to support GC languages in the future; whether it will offer its own GC or just tools tob uild one, I'm not sure
10:50:37
dxtr
I'm getting some issues with äåö in filenames (Don't ask me why someone has put that in the filename)
10:55:26
beach
I just created a file named åäö with two lines of text in it. Then I did an (open "åäö" :direction input) and I was able to read the contents.
11:00:21
beach
That seems correct then. If you send those characters by a network, they are going to be converted to UTF-8.
11:00:36
dxtr
I am PUTing a file with ZS3 (Which I think is using drakma under the hood) and somewhere along the lines it isn't doing the correct thing with åäö
11:01:42
H4ns
dxtr: you'll have to encode the name in the url properly, and that is somewhat of a pain. i think your safest bet is to encode the name externally and make drakma not try to encode the url. there is an option for that.
11:05:09
Xach
That is not to say there are no bugs, but at least it is not a completely unknown situation
11:05:23
H4ns
dxtr: drakma has a url-encode function in utils.lisp which also accepts an external format.
11:15:31
Xach
dxtr: the encoding comes into play when converting to and from sequences of non-characters.
11:22:18
Xach
dxtr: in common lisp, nesting defuns is never done. if you want local functions, flet or labels are the things to use.
11:54:17
dxtr
I even tried (remove-if) with (lambda (c) (find (char-downcase c) "åäö" :test #'char-equal))
11:55:52
jdz
dxtr: also, why do you do CHAR-DOWNCASE if you use CHAR-EQUAL (which is case-insensitive)?
12:12:04
scymtym
dxtr: lparallel is a somewhat high-level library for parallelizing code. it allows constructs like (pmapc #'upload list-of-files) which calls upload on elements of list-of-files from multiple threads in parallel
12:19:53
shaftoe
creates a project template for a command line app, including makefile for standalone executable
12:20:04
dxtr
So with 8 threads I'm using about 25% CPU on all cores and the bandwidth is spiking around 6MB/s both up and down
12:32:13
dxtr
I like to buy these kinds of books to support the author - even though I mainly use the online resource if it's available
12:32:49
shaftoe
i figure there's so few good, recent Lisp books out there, better buy and support the authors
12:33:19
dxtr
I was about to say I'm tight on money right now but then I realized I got my paycheck today
12:36:07
axion
I used to chat with him quite a bit, but recently he has ignored me, even though quite active on Twitter.
12:49:46
Xach
dxtr: thanks, though I would imagine most of what takes time is network transfer, not computation.
13:50:00
dlowe
((let ((a (make-array (length str) :fill-pointer (length str) :initial-contents str))) (setf (fill-pointer a) (1- (length a))) ...)
14:27:17
Xach
dxtr: babel is one easy option. then you can use (babel:string-to-octets string :encoding <something meaningful to you>)
14:33:30
l04m33
dxtr: If you're working with sbcl, (sb-ext:string-to-octets string :external-format :utf8) should do
14:37:09
oleo
i tried it with (setf climi::*default-text-style* (make-text-style :sans-serif :roman :large)) but it doesn't work....
14:39:51
beach
Some of those functions ought to work: (setf medium-text-style) (setf medium-default-text-style)
14:41:11
jackdaniel
I think clim delibaretely customizes its text style in the application (what is understandable)
14:44:53
beach
oleo: works for me: (setf (medium-text-style *standard-output*) (make-text-style :sans-serif :bold 20))
14:57:14
nyef
ISTR something about SBCL thread records possibly hanging around until GC? It's been a while since I looked at that part of the runtime, though.
15:11:18
beach
jackdaniel: Speaking of which, we should think about standardizing the place in the file system for putting configuration files for McCLIM applications.
15:12:06
beach
jackdaniel: Last time this came up, GNU/Linux did not have a standard place, but now there is ~/.config, right?
15:13:45
H4ns
beach: fare has researched that comprehensively once and i think if you want to do the right thing, what he found is probably best. (fsvo "right" and "best").
15:18:50
beach
As long as we make a decision, and as long as it is not contrary to current practice, I don't care what the exact decision is.
15:20:26
jackdaniel
it works on Windows to afair (its not xdg standard on windows, gives reasonable windows-specific alternatives)
15:22:19
jackdaniel
here is a spec: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
15:26:19
jackdaniel
listener is a separate application, so if it has config, it should have its own directory
15:26:25
beach
I want to know whether the configuration file for (say) Climacs is directly under ~/.config or in ~/.config/mcclim
15:26:31
_death
maybe have it configurable, so that there can be multiple apps using mcclim with different configurations
15:27:36
beach
Actually, I probably would like an entire directory. And I would like to know not only where to put it, but what to name it.
15:29:42
_death
what I mean is that climacs conf, which may include mcclim conf, could be ~/.config/climacs
15:30:02
nyef
beach: There's often application-specific hidden directories in the user home directory.
15:31:09
nyef
The .d suffix is often used when there can be both a plain file (without the suffix) and a directory.
15:31:19
dlowe
it's not just in the user's directory. You can find it in plenty of places in /etc too
15:32:11
iago
usually on linux systems .d suffix means a directory to drop config files to be loaded by an application, as example /etc/httpd/conf is where apache stores its main configuracion /etc/http/conf.d all files there will be loaded by it
15:32:39
jdz
And it is usually the main config file that has a line to look for additional files in .d directory.
15:33:44
jdz
Then there is also apache/nginx convention of available configurations and enabled configurations (which are symlinks to available configurations).
16:25:41
didi
Is it possible that calling 2+ times (slot-accessor-fn object) performs better than saving the slot value like (let ((slot-value (slot-accessor-fn object))) ...) and using `slot-value' 2+ times?
16:30:32
didi
|3b|: I don't have the code anymore, but this puzzles me. I thought about SBCL's manual chapter 6.1 slot access.
16:31:22
|3b|
most likely case i could think of is if extra variable causes bad register alloc in a tight loop
16:32:21
|3b|
possibly something involving the extra variable causing creation of a closure that wouldn't have otherwise been needed
16:34:51
White_Flame
I tend to often pull special variable values into local lexical variables, just to micro-optimize things
16:34:58
|3b|
in either case i think it would be more about making something else slow than the actual variable access being slower
17:28:57
Balooga
I haven't been involved in a while, so I'm unsure of exactly what the differences are between the 1.2 and 2 SDL releases.
17:37:08
beach
oleo: I don't know. And I don't know that it is even possible. We had a very depressing discussion before about configuration, so I gave up thinking about it.
17:44:52
failproofshark
the author(s) of cl-sdl2 are there and could probably give you a better description
17:54:32
oleo
beach: nope, i looked into my https://github.com/wbooze/mcclim-stuff/blob/master/mcclim-20141217-git/Apps/Listener/listener.lisp file
18:02:53
oleo
beach: right 3 things prompt-size, read-frame-command method and the stream-present :around method, when using a (with-drawing-options (stream :text-size bla) ..... there i can change all the fonts to one fixed degree for input and output and all is aligned then
18:03:49
oleo
beach: without touching the source i'd have to write my own methods in the clim-listener package which overwrite those......
19:14:28
pebblexe
I just think optima is weird because I have to wrap it in a funcall... (funcall (optima:match 1 (1 (lambda () (format t "hello!")))))
19:17:28
dlowe
(defparameter +my-matcher+ (optima:match ...)) (defun do-matching (x) (funcall +my-matcher+ x))