freenode/#lisp - IRC Chatlog
Search
4:20:22
Bike
you could also do (list* (first foo) (second foo) 42 (nthcdr 3 foo)), but i mean, ugh, man
4:20:55
aeth
I don't need anything particularly fancy, I just am temporarily using lists for some data structure I haven't discovered yet
4:21:31
aeth
And it looks like I want to make two or more copies of a list, with only one or two differences
4:35:49
Fare
* wonders if his current ASDF work is worth presenting at ELS... just how many times can I present work on ASDF???
4:41:47
beach
Fare: I don't think the program chair (whoever that will turn out to be) will have the ambition of turning ELS into a highly filtering event. Therefore I think there is room for a paper on ASDF progress/ideas.
4:42:46
PuercoPop
beach: btw nice work on SICL's loop. I was reading the code today and is the most understandable loop implementation I've found
4:44:24
PuercoPop
and it doesn't appear to use CLOS for much so I'm thinking it could be adapated for JSCL replacing the defmethod with typecase/cond. I'll attempt it one of this days
4:46:20
PuercoPop
For the parsing you use combinatory parsing and use defclass as record. For code generation you use a generic functions
4:47:19
beach
I am currently working on a version of the sequence functions that I am hoping will be fast, maintainable, and portable. With a bit of luck, I'll present it at ELS.
4:47:30
PuercoPop
and I don't see any around methods so, the generic functions could be adapted to normal funs with a typecase for each version (not ideal)
5:00:46
beach
My version of the sequence functions requires a "sufficiently smart compiler". As it turns out, the SBCL compiler is sufficiently smart, and now the pressure is on to make the Cleavir compiler sufficiently smart as well.
5:09:37
Bike
seems like all that has to be done is extend type inference to array types, and maybe have an inline for typep -> typeq.
5:14:51
Bike
i guess for variations in test and so on you just need a compiler macro to inline the call.
5:16:51
beach
It duplicates the body for specific combinations of the two, in particular EQ and EQL.
5:17:22
beach
Similarly, there is a special case for certain KEY functions such as IDENTITY, CAR, and CDR.
5:17:53
Bike
does it need to be specific to eq and eql? i feel like FIND is basic enough that you could always inline it
5:19:48
beach
Maybe. But it gets messy with things like :FROM-END. A compiler macro could make such a decision.
5:28:30
Bike
of course, this just reminds me that cleavir can't inline functions with &key lambda lists right now
5:37:28
beach
A compiler macro would replace such a call with one with no &key anyway I would think.
6:45:44
ack006
i literally cried my eyes out when i read this excercise (highschool outreach project, 1999!) and the example solution: https://www.cs.umd.edu/Outreach/hsContest99/questions/node8.html
6:47:30
ack006
iirc this is taken almost literally from some mit ai class, except the fact that lisp has left the building.
6:53:24
ack006
original paper: http://www.grantjenks.com/wiki/_media/ideas:tree-to-tree_editing_problem.pdf
8:05:15
beaky
so mccarthy in his history of lisp outlines what it would take to obsolete lisp. have there been any serious efforts to conceive of such a superlisp
8:20:50
JuanDaugherty
http://www-formal.stanford.edu/jmc/history/lisp/node6.html i take it; with the practical domination proviso, prolly not
11:00:28
Jucaa
An acquaintance pointed me actually not quite know what the subject of that channel, but he pointed out to me as being about artificial intelligence etc, would it?
11:14:08
|3b|
beach: Jucaa said something in the past using same phrase that google translate thought was Portuguese, so thought it might be regional slang, and a searching for portuguese internet slang found a list including the term
11:25:20
|3b|
Jucaa: you could also try #lisp-br #lisp-pt or #lisp-es not sure any of those are about artificial intelligence in general though
13:06:08
msmith
hello all. I assumed that when you start another process in sbcl via sb-ext::run-program from slime, control would be returned like if you spawned a new thread. Was this an incorrect assumption?
13:07:24
Xach_
msmith: i don't recall the default, but if :wait is nil, the call returns an object you can check for the process status.
13:09:09
msmith
I start it without the wait argument but the program that is run has an infinite loop.
13:11:26
msmith
Xach_: I ran it with wait as nil and it performed as you described which is the desired behavior. I think :-).
13:12:52
msmith
Xach_: The end goal is to be able to send data to the process via a stream, preferrably reading and to file descriptors.
13:16:51
|3b|
then (sb-ext:process-output foo) where foo is return from run-program, similar for sb-ext:process-input
13:39:46
pipping
msmith: there's also uiop:run-program/uiop:launch-program, which is meant to be a portable wrapper around e.g. (sb-ext:run-program ... :wait t) and (sb-ext:run-program ... :wait nil)
13:42:36
|3b|
(might have been a windows specific problem though, don't remember... not that i got things to work right anyway since the program i wanted to run didn't like being run that way on windows)
13:46:25
|3b|
so need ugly hacks at best to get access to its in/out, and even then you only get 1 text-mode window
13:48:34
|3b|
* crashes lisp too much to run my editor in same image, unless it has very good state crash recovery
13:50:45
|3b|
then there's all the random emacs bits i'd miss or need to spend time reimplementing, and i'm already a few stacks of yaks away from even being at the point of displaying the result anyway without replacing my editor:p
13:53:44
dlowe
Seems to me like some person with more time than me could mash Qt/GTK and guile elisp together to make an emacs that's more sane under the hood.
13:55:12
|3b|
* also doesn't have the time for the other option of hacking a shared-mem or whatever backend for gnu emacs
13:56:13
dlowe
though after using emacs in daemon mode exclusively, I think a system with editor server/clients is the way to go.
13:57:03
|3b|
* also considers trying to control it over a socket and just dump screen contents back as fairly raw text, but i don't know enough elisp/emacs to tell how hard that would be
13:59:03
foom
I thought emacsclient just sent the TTY to the server, and the server ran the whole thing
13:59:13
|3b|
sshing from windows to emacs running on linux connecting to lisp on windows is ugly, but would probably work fairly easily
14:00:21
|3b|
and even the linux-on-win10 thing sounded like it would not be much better than remote emacs
14:01:00
|3b|
* tried cygwin, its pty emulation didn't work with normal sbcl host, anbd was flaky even when i tried it from another cygwin emacs
14:03:32
pipping
|3b|: https://gitlab.common-lisp.net/asdf/asdf/blob/master/test/test-run-program-unix.script#L194-621 should give you an impression what run-program/launch-program can currently do
14:04:25
foom
Maybe because my display has a compositor, so everything's buffered anyways? (I dunno how this crap works, but that sounds plausible)