freenode/#lisp - IRC Chatlog
Search
17:43:21
_berke_
how can I get a summary description of what a system is in quicklisp? ql:system-apropos gives a list but only with the names
17:43:39
Xach
_berke_: Unfortunately there isn't a good way right now, aside from googling the name and "lisp"
17:44:48
_berke_
thanks. any recommendations for a system providing a set data structure? (eg tree-based)
17:50:39
ukari
is there any way to detect if a expersion is in a lambda-list when it comes from defmacro's form?
18:17:48
shka
just functional vector (radix tree), functional dictionary (hamt) and metric space set (egnat)
18:18:03
jsjolen`
Hi, just out of curiosity: Why can't SBCL compile (let ((x 0)) (dotimes (i 1000) (incf x))) this down to (setf x 1000) (off-by-1 mistakes excluded)?
18:22:18
MichaelRaskin
If you need that optimisation, maybe you should use Maxima first to simplify your calculations, then write Lisp code for SBCL…
18:23:27
shka
jsjolen`: honestly though, code for that needs to be maintained and feature does not look whole lot useful
18:24:00
White_Flame
well, you never know what macros might generate in terms of degenerately collapsable code
18:24:20
jsjolen`
I don't need it, I'm just legit curious as to why it doesn't do that. Whether it's because it's actually deviously difficult to solve for the general case (heck, what would the general case be tehre?) for all languages or for CL in particular
18:25:50
MichaelRaskin
Well, if you have macros known to generate arithmetic expressions, feeding the output to Maxima is feasible… Maintaining a computer algebra system inside compiler sounds like a duplication of work.
18:28:45
jsjolen`
Sure. Also, if you do think of it as 'that formula' then it's easy to see that it's a bit silly to implement that specific kind of optimization in the compiler, it'd be more apt to fit it into a sum-function along with compiler macros (for example)
18:30:53
Bike
intuitively i'd say it's rare for people to write code like "do this n times" if it could be "do this once, n times as much"
18:32:04
White_Flame
the difficulty in this particular case is proving the scope of the variable being mutated, as being fully owned by the loop
18:32:37
White_Flame
as well has knowing which operations have which side effects, and being able to execute them safely at compile-time
18:32:50
aeth
Bike: But the more optimizations the compiler has, the more people's idiomatic styles can change.
18:33:19
aeth
e.g. if you're writing very fast CL, you're probably only going to use type declarations for sequences and numbers because the type inference is probably going to solve the rest.
18:33:34
aeth
But if the compiler didn't do any of that you'd say that idiomatic high-performance CL types everything
18:46:25
aeth
MichaelRaskin: but then someone would have to update the size and type of a field in an old COBOL or mainframe assembly program from the 1980s or earlier.
18:47:19
MichaelRaskin
aeth: 6-digit PINs in 1980s? What were they used for? I thought card PINs are 4-digit (for physical presence case)
18:58:49
MichaelRaskin
So, did the talk launch a new round of «how many turing complete facilities does CL have»?
18:59:22
Xof
(b) a chance to use my pet favourite feature: dynamically scoped named-by-symbol functions
19:01:24
Xof
are the restarts still active while executing the body of the restart function, I wonder?
19:13:17
pjb
method-qualifiers is a symbol exported by CL! There's no need to make this code SBCL-specific!
19:15:36
Bike
method-qualifiers and function-keywords are the functions where you're like, why is this in cl instead of mop
19:18:40
Bike
also, (restart-case (find-restart 'x) (x ())) => "Unhandled memory fault" in sbcl, that's nice
19:28:04
Bike
you don't need state to be shared either, so just `(restart-bind ... (lambda () (let ((state (call-method ...)))...))
20:09:24
White_Flame
a register had 2 fields it could be broken up into, the "address" part, and "decrement" part
20:44:38
phoe
is this a method combination that sets state based on method calls and then uses restarts to find its next state?
20:46:39
rme
"First – and understand this, Harry, 'cause it's very important – not all wizards are good."
20:49:49
jasom
I happen to like cooperatively scheduled lightweight threads as a programming model, so the lack of them (or continuations which are nearly isomorphic to that) in CL has always bothered me a bit. cl-cont works, but code walkers tend to bitrot.
20:50:30
White_Flame
yeah, I'd love to have lightweight threads that share the dynamic bindings of their launchers
20:50:54
MichaelRaskin
Trust the Lizard: Agnostic Lizard is a codewalker written in a way that has a chance not to bitrot
20:58:20
jmercouris
shrdlu68: have you heard that one song "it's all just a bunch of history repeating" I want to say it is by propellerheads
20:58:35
Bike
define method combination, the lisp operator with the highest complication/usedness ratio
20:59:49
fe[nl]ix
jasom: green threads have to be integrated deeply with the runtime for them to be efficient
21:00:38
Xof
now, I hope that all implementors use this as a challenge to implement invoke-restart efficiently
21:00:41
fe[nl]ix
jasom: and the efficiency considerations end up affecting the language semantics, as in Erlang and Go
21:01:45
MichaelRaskin
Xof: extrapolating from the fact that remove-duplicates is sometimes quadratic…
21:07:07
jmercouris
Your scientists were so preoccupied with whether or not they could, they didn’t stop to think if they should
21:08:07
Xof
shrdlu68: I apologise for your déja vu. I've been here, on and off, for ~18 years; there's a decent chance I've said the same things once or twice
21:09:10
jmercouris
perhaps you could just jump the pc to a random location and begin execution, hope that you are in the right place, I mean, sometimes you will be
21:11:57
jmercouris
there's that whole business with the telomeres, but try not to think about that ;)
21:12:50
Mutex7
Sounds like forever to me. Am only a recent CS grad. New to lispy things as well. Kinda hard to imagine coding for that long.
21:17:59
Mutex7
Even if you get a job programming, it's really hard to convince people to use lisp :(
21:21:12
jmercouris
people are afraid of it, foreign syntax, lots of industry promises in AI, none fulfilled
22:03:44
White_Flame
Xach: if I deploy an image, built with quicklisp, then at runtime on another box I want to dynamically load through QL more stuff.. is the ability to install QL only in the quicklisp:quickstart stuff from the initial file, or can I test & install from inside the "normal" ql package running on a foreign machine?
22:14:41
White_Flame
(I know I asked something similar a long time ago, but given the complexity we never went down that path. It's become more necessary now)
22:49:30
pillton
minion: memo for equwal: Specialization store can dispatch on arity. https://github.com/markcox80/specialization-store/wiki/Tutorial-2:-Optional,-Keyword-and-Rest-Arguments#rest-arguments
23:03:34
White_Flame
how fun to try to debug: A function with declared result type NIL returned: BORDEAUX-THREADS:CONDITION-WAIT
1:23:13
p_l
vsync: if you want to go, best is to make reservations *now*, or ASAP, so you have ready-made excuse for a whole year of planning meetings
1:23:49
p_l
The only reason I ended up going was that someone bothered me about tickets for so long that I ended up buying the plane tickets in january
1:26:33
p_l
vsync: well, you don't have to be on any committee, just saying that it gives you a pre-baked reason to go :P
1:28:22
rme
p_l: I'll be interested to know. I'm sure there's a fair amount of PPC bitrot, but maybe resurrecting the port wouldn't be too terribly difficult.
1:31:12
p_l
rme: Raptor Computing Systems is getting more and more hardware free, and VMs are something they can provide quite easily (they are even building their own cloud/VPS setup)
3:39:22
ealfonso
I'm on a relatively old debian and I'm getting this quicklisp error when loading a dependency cffi-toolchain https://pastebin.com/HTyd7PfS my ql is recent: "2017-03-06", installed directly and not via apt-get. this doesn't happen on a newer system. any idea why or what I may need to update?
3:42:25
defunkydrummer
ealfonso: if the error is on UIOP then perhaps the ASDF version you have is old... ?
3:46:13
ealfonso
PuercoPop yes, SBCL 1.2.4.debian. This doesn't seem to happen on SBCL 1.3.14.debian. I'll try upgrading
3:47:48
PuercoPop
ealfonso: don't install from debian. It is really old. Use whatever SBCL apt-get installed to bootstrap SBCL from source. You just have to run sh make.sh --prefix=/usr/local --fancy and uninstall the APT version before you do the sudo make install
3:48:21
PuercoPop
also make sure that you haven't pulled any libraries with apt-get. They are bound to give you unnecessary trouble
3:54:40
defunkydrummer
ealfonso: Or, if you are a lazy noobie as me, you can just download and install Portacle, and everything will work smoothly from the get go