freenode/lisp - IRC Chatlog
Search
6:09:02
beach
It only indicates symbols that have no package prefix and that are not in CL and not in *package*
6:11:54
loke
I guess I have th rethink the design a bit then. I'll have to inetgrate this thing with the running Lisp runtime. There is a SLIME API for that. This is a good time to learn that API I think. :-)
6:13:28
beach
loke: This was supposed to be a quick thing, and if it no longer is, don't feel you have to do the additional work.
6:20:58
minion
BusFactor1: SICL: SICL is a (perhaps futile) attempt to re-implement Common Lisp from scratch, hopefully using improved programming and bootstrapping techniques. See https://github.com/robert-strandh/SICL
6:22:31
BusFactor1
I started writing a bit about my 'typers' idea that i've been using in my synthesizer: https://github.com/BusFactor1Inc/typers
6:23:21
minion
BusFactor1: Cleavir: A project to create an implementation-independent compilation framework for Common Lisp. Currently Cleavir is part of SICL, but that might change in the future
6:24:37
beach
BusFactor1: Cleavir is currently used in SICL, but also in Clasp. And there are some plans to write a Cleavir-based compiler for ECL.
6:25:14
beach
BusFactor1: I attempted to use a subset, but it was too painful to program, so now I use the full language.
6:36:58
beach
BusFactor1: This idea of using a subset of Common Lisp, or even a language other than Common Lisp, to implement a Common Lisp system made me think about bootstrapping and such. I am still not finished thinking it through, but there is likely to be some interesting conclusions once I am done.
6:39:45
beach
Even a maintained system such as SBCL is written in a subset in some respect. The compiler does not use generic functions and standard classes.
6:40:26
beach
Presumably, this way of doing it is a leftover from the way of creating a Common Lisp system by having a CLtL1 implementation with PCL added to it later on.
6:44:19
beach
Now I am wondering, is there any existing Common Lisp implementation that was entirely written after the standard was published?
6:52:26
beach
Yes, maybe mezzano is a candidate. Also Movitz now that I think about it. Don't know how much they borrowed from others, though.
7:24:23
beach
If an implementation supports positive and negative zeros as distinct values, then (eql 0.0 -0.0) returns false. Otherwise, when the syntax -0.0 is read it is interpreted as the value 0.0, and so (eql 0.0 -0.0) returns true.
7:26:48
TruePika
ACTION feels like the only reason why the signum page uses eql for the -0.0 case is so that implementations without signed zeroes still hold
7:27:26
beach
TruePika: I don't know about CCL, and you are probably right. But everything you said before that is incorrect, as far as I can tell. The Common Lisp HyperSpec does not say that (signum -0.0) should be -0.0.
7:28:49
TruePika
"If an implementation supports positive and negative zeros as distinct values, then (eql 0.0 -0.0) returns false."
7:36:19
TruePika
since (zerop -0.0) is true, (signum -0.0) should be -0.0, if the statement is correct
7:45:08
TruePika
CCL is giving a negative zero, but I'd think it would be a complex with a positive real component
7:52:28
beach
This page says that the class definition is available at compile time, but what would be a good, implementation-independent, way of checking, at compile time, whether the class has been defined?
7:53:23
Bike
"The compiler must make the class definition available to be returned by find-class when its environment argument is a value received as the environment parameter of a macro."
7:53:29
beach
It says that the class definition is available to find-class when given an environment argument that is the environment parameter of a macro.
7:55:14
flip214
beach: a macro can get &environment, and find-class takes an optional environment argument
7:56:19
flip214
so, if I understand correctly, you've got a file with (defclass) and (some-macro-call), and when doing compile-file against that the macro can't see the class?
7:56:21
beach
I tried (eval-when (:compile-toplevel) (macrolet ((mac (&environment env)))) (format *trace-output* "~s" (find-class 'foo nil (mac))))
8:02:31
beach
When I do this: (eval-when (:compile-toplevel) (macrolet ((mac (&environment env) (find-class 'hello nil env))) (format *trace-output* "~s~%" (mac))))
8:02:57
flip214
my (defclass) expands into a (EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-KERNEL::%COMPILER-DEFCLASS 'FOO4 'NIL 'NIL 'NIL))
8:05:45
Bike
and compiler defclass seems to just register it as a type name, rather than touch find-class at all, but i'm not sure there
8:41:50
aeth
Now I have to enable-paredit-mode on slime/etc. after I run ~/quicklisp/slime-helper.el
8:56:17
aeth
Also, unrelatedly, my game engine now hangs while compiling. It takes minutes at 100% single-threaded CPU, which is really strange for SBCL. It hangs on a very small file whose only updated dependency is alexandria. The only change in alexandria is rcurry. It uses curry and lerp.
8:59:15
aeth
This very messy temporary code that I wouldn't even use if it had always taken 1 minute to compile the file. https://gitlab.com/zombie-raptor/zombie-raptor/blob/e839ed04068d57ad2b02d65c2db614fb69d7061d/text/font.lisp
9:44:04
phoe_
type-specifier---any type specifier except values, or a type specifier list whose first element is either function or values.
9:44:38
phoe_
(or "any type specifier except values" "a type specifier list whose first element is either function or values")
9:45:21
phoe_
any type specifier except (or "values" "a type specifier list whose first element is either function or values")
10:01:09
flip214
type-specifier---any type specifier, except 'values' or a type specifier list starting with either 'function' or 'values'
10:03:30
phoe_
pushed - the change will take an hour to go live though since tymoon.eu only pulls the git version on full hours.
10:12:39
flip214
phoe_: not really. a line now and then isn't comparable in any way to the effort you spend here!!
11:05:21
sirkmatija_
Cl-charm get-char function doesn't detect keypresses, unless I hold the key down for longer time or press it multiple times. I have evaled both enable-raw-input and enable-non-blocking-mode. Anybody knows where is the problem? Thanks in advance
11:06:50
sirkmatija_
Oh, I also use get-char with :ignore-error t and loop it until it returns non-nil output (key char)
11:51:05
jurov
can anyone confirm I'm reading the example right - the let form sets current package to sample-package, but still reads *some-symbol* in common-lisp-user ?
12:35:53
drmeister
Clasp generates compile time warnings about undefined variables and style warnings for undefined functions.
12:43:54
Fare
apparently, my SNAPL submission was (1) trying to say too much, and (2) not backed by implementation enough.
12:52:07
edgar-rft
phoe_: There is no thank-you condition specified in ANSI CL. Now it's time to add one!
13:14:57
ogamita
(define-condition thank-you (condition) ()) (handler-bind ((condition (lambda (c) (invoke-restart (find-restart (class-name (class-of c)) c))))) (with-simple-restart (thank-you "Thank you!") (signal 'thank-you) 42))
14:26:21
phoe_
...or maybe it's just me who has gained enough TeX/DokuWiki/RegEx experience to be able to do it effectively
14:28:11
phoe_
\editornote{KMP: Still need to reconcile some confusion in the uses of "generalized reference" and "place." I think one was supposed to refer to the abstract concept, and the other to an object (a form), but the usages have become blurred.}
14:38:04
Xach
drmeister: I think it depends on the project. my impression is that it doesn't run them in most cases.
15:41:59
pebblexe
can anyone help me with this ssl error using dexador? https://gist.github.com/pebblexe/5aae4979637c919eb77e3a9695bfaaad
16:20:30
drmeister
I wasn't thinking of purpose - just does it. It sounds like it's so ridiculous an idea that it would prompt questions like "What would be the purpose of such a design"
16:56:28
flip214
drmeister: "generic function cache" as in "at that location the most probable calls are (in order) X, Y, Z"?
17:08:05
beach
flip214: More like "a set of signatures that have already been used in a call, and for which I have already calculated their associated effective methods".
17:23:48
phoe
God damn it, I'd have sent an important paper today instead of waiting for the damn notification that wasn't coming.
17:25:30
beach
You are not supposed to wait around for the notification. Normally, you should have plenty of time to accommodate the referee remarks (provided your paper was accepted).
17:26:39
flip214
phoe: If you'd like a review of the paper (what is it about?), I may be volunteering. beach knows my performance, if you need some second opinion about me.
17:27:46
phoe
So I don't know what I should write on the paper to my university - whether I'm going as a speaker or an attendee.
17:27:46
flip214
well, perhaps you want another independent look anyway, and be it only for next year's try?