jmercouris has quit [Read error: Connection reset by peer]
hubvu has joined #commonlisp
jmercouris has joined #commonlisp
splittist has joined #commonlisp
conjunctive has joined #commonlisp
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
iisi has quit [Ping timeout: 245 seconds]
ullbeking_ has quit [Ping timeout: 245 seconds]
iisi has joined #commonlisp
ullbeking_ has joined #commonlisp
peterhil has joined #commonlisp
Inline has joined #commonlisp
akoana has quit [Quit: leaving]
s-liao has joined #commonlisp
igemnace has quit [Quit: WeeChat 3.3]
random-nick has quit [Ping timeout: 250 seconds]
rotateq has quit [Ping timeout: 260 seconds]
s-liao has quit [Ping timeout: 256 seconds]
thomaslewis has joined #commonlisp
notzmv has quit [Ping timeout: 268 seconds]
thomaslewis has left #commonlisp [#commonlisp]
notzmv has joined #commonlisp
Oladon has joined #commonlisp
thomaslewis has joined #commonlisp
karlosz has quit [Quit: karlosz]
s-liao has joined #commonlisp
gpiero_ has joined #commonlisp
gpiero has quit [Ping timeout: 250 seconds]
waleee has quit [Quit: WeeChat 3.3]
s-liao has quit [Ping timeout: 256 seconds]
s-liao has joined #commonlisp
prxq_ has joined #commonlisp
prxq has quit [Ping timeout: 268 seconds]
Devon has quit [Ping timeout: 245 seconds]
pdietz has quit [Ping timeout: 256 seconds]
Oladon has quit [Quit: Leaving.]
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 260 seconds]
karlosz has joined #commonlisp
poselyqualityles has joined #commonlisp
CrashTestDummy2 has joined #commonlisp
CrashTestDummy has quit [Ping timeout: 245 seconds]
<beach>
Good morning everyone!
<phantomics>
Morning beach
lisp123 has joined #commonlisp
<Guest74>
well that's interesting, my inferior-lisp says fatal error encountered in SBCL pid 2117 tid 6661: and yet my window manager is still running.
karlosz has quit [Quit: karlosz]
semz has quit [Ping timeout: 250 seconds]
lisp123 has quit [Quit: Leaving...]
s-liao has quit [Ping timeout: 256 seconds]
tyson2 has quit [Remote host closed the connection]
gko has quit [Remote host closed the connection]
semz has joined #commonlisp
s-liao has joined #commonlisp
Guest74 has quit [Ping timeout: 240 seconds]
Jing has joined #commonlisp
kuao has quit [Quit: Connection closed for inactivity]
s-liao has quit [Ping timeout: 256 seconds]
poselyqualityles has quit [Ping timeout: 245 seconds]
s-liao has joined #commonlisp
lisp123 has joined #commonlisp
s-liao has quit [Ping timeout: 256 seconds]
Oladon has joined #commonlisp
gko has joined #commonlisp
<susam>
Good morning, beach!
rain3 has joined #commonlisp
s-liao has joined #commonlisp
s-liao has quit [Client Quit]
s-liao has joined #commonlisp
NeoCron has joined #commonlisp
Doraemon has quit [Ping timeout: 268 seconds]
elderK has quit [Quit: Connection closed for inactivity]
aartaka has joined #commonlisp
s-liao has quit [Quit: Client closed]
notzmv has quit [Ping timeout: 240 seconds]
lisp123 has quit [Quit: Leaving...]
poselyqualityles has joined #commonlisp
slyrus has quit [Quit: Leaving]
pve has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
poselyqualityles has quit [Ping timeout: 245 seconds]
X-Scale` has joined #commonlisp
X-Scale has quit [Ping timeout: 268 seconds]
X-Scale` is now known as X-Scale
slyrus has joined #commonlisp
nature has joined #commonlisp
gaqwas has joined #commonlisp
lisp123 has joined #commonlisp
varjagg has joined #commonlisp
varjagg has quit [Remote host closed the connection]
Oladon has quit [Quit: Leaving.]
Alfr has quit [Ping timeout: 256 seconds]
edgar-rft has quit [Quit: Leaving]
Lycurgus has joined #commonlisp
notzmv has joined #commonlisp
s-liao has joined #commonlisp
ns12 has joined #commonlisp
<ns12>
Can defstruct be implemented using CLOS?
<lisp123>
ns12: Of course, its very easy to do so
<lisp123>
(there might be some minor points I am missing)
<ecraven>
I've implemented something like tinyclos in a normal Scheme, and the main task was generic functions, once those work, it's just more implementing
<beach>
ns12: Adding CLOS to a pre-ANSI Common Lisp system mainly requires the addition of funcallable-standard-object.
<beach>
ns12: What is the reason for your question?
<ns12>
Are there libraries that provide standard compliant structures, but with extra features?
<ns12>
beach: I want to write a standards compliant defstruct implementation as a challenge.
<beach>
ns12: The macro only? Assuming the implementation already has a STRUCTURE-OBJECT and a STRUCTURE-CLASS? That's just a matter of macrology.
<beach>
I said "just", but it's pretty messy actually.
<ns12>
I still have much to learn about Common Lisp, so this might be some kind of long-term project.
<beach>
I see.
<ns12>
I have read many Common Lisp programs, written some programs in Common Lisp, read PAIP, ANSI Common Lisp, Practical Common Lisp, and parts of the HyperSpec. But I still feel a overwhelmed by the flexibility of this wonderful language.
voltron has joined #commonlisp
srji_ has quit [Quit: leaving]
srji has joined #commonlisp
<ns12>
I will probably try to read CLtL, but I am concerned that it is not 100% ANSI Common Lisp. Is there some kind of document that summarizes the differences between CLtL and ANSI Common Lisp?
<beach>
ns12: The only remedy I can think of for being overwhelmed is to practice more and read even more.
ebrasca has joined #commonlisp
<beach>
ns12: One of the documents you may be interested in at some point is the AMOP. It explains how CLOS works, and also how it can be implemented.
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 250 seconds]
Lord_of_Life_ is now known as Lord_of_Life
rotateq has joined #commonlisp
yournick has joined #commonlisp
shka has joined #commonlisp
yournick has quit [Ping timeout: 265 seconds]
voltron has quit [Remote host closed the connection]
x88x88x has joined #commonlisp
x88x88x has quit [Client Quit]
eomyulkes has joined #commonlisp
eomyulkes has quit [Client Quit]
x88x88x has joined #commonlisp
<ns12>
beach: Thanks for the advice.
attila_lendvai has joined #commonlisp
cage has joined #commonlisp
aartaka has quit [Ping timeout: 240 seconds]
aartaka has joined #commonlisp
x88x88x has quit [Ping timeout: 240 seconds]
Devon has joined #commonlisp
pranavats has left #commonlisp [Error from remote client]
attila_lendvai has quit [Ping timeout: 245 seconds]
voltron has joined #commonlisp
varjagg has joined #commonlisp
voltron has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
voltron has joined #commonlisp
taiju has quit [Ping timeout: 256 seconds]
random-nick has joined #commonlisp
voltron has quit [Remote host closed the connection]
aeth has quit [Ping timeout: 256 seconds]
aeth has joined #commonlisp
s-liao has quit [Ping timeout: 256 seconds]
voltron has joined #commonlisp
<pve>
Hi, is there a big difference between doing (eval `(defmethod foo ...)) and creating the method "manually" followed by (add-method #'foo my-new-method)?
X-Scale` has joined #commonlisp
X-Scale has quit [Ping timeout: 240 seconds]
X-Scale` is now known as X-Scale
<lisp123>
pve: that is a good equestion, that I'm also keen on
<lisp123>
if you are speaking in terms of writing these forms in a file, then obviously, the latter is faster
<lisp123>
but working in a live, running image, given that defmethod is already a top-level form, my suspicion is that they might be the same
<lisp123>
and the former is easier to read
<lisp123>
keen to get a "correct" answer
<pve>
lisp123: when you say "faster", what do you mean?
<pve>
do you mean faster to make and install the method?
<lisp123>
defmethod is a macro, so some of its work will be done in compile time vs. load time
<lisp123>
whereas eval is a function so everything happens during run time
<lisp123>
Sorry, I guess you were referring to doing the parts of defmethod manaully in your latter part --> so what I just said may not apply directly, but to the extent there are any macros within those parts, it will be faster
tyson2 has joined #commonlisp
<pve>
lisp123: yes, I mean (make-instance some-method-class ... ) and the whole make-method-lambda deal
<lisp123>
I see. Will wait for someone else to respond, but in the meantime (I have to jet), here's the source of defmethod (https://plaster.tymoon.eu/view/2730#2730)
shka has quit [Quit: Konversation terminated!]
shka has joined #commonlisp
igemnace has joined #commonlisp
taiju has joined #commonlisp
pdietz has joined #commonlisp
voltron has quit [Remote host closed the connection]
igemnace has quit [Remote host closed the connection]
dra has joined #commonlisp
pranavats has joined #commonlisp
etiago- has quit [Ping timeout: 250 seconds]
taiju has quit [Read error: Connection reset by peer]
etiago has joined #commonlisp
taiju has joined #commonlisp
McParen has joined #commonlisp
mingus has joined #commonlisp
<beach>
pve: Using EVAL, you can't have the method function be a closure.
nature has quit [Remote host closed the connection]
azimut has joined #commonlisp
paule32 has quit [Quit: Leaving]
azimut_ has quit [Ping timeout: 276 seconds]
nature has joined #commonlisp
Inline has quit [Quit: Leaving]
nature has quit [Client Quit]
Inline has joined #commonlisp
Inline has quit [Remote host closed the connection]
lagash has joined #commonlisp
anddam has quit [Quit: WeeChat 3.3]
<pjb>
ns12: com.informatimago.common-lisp.cesarum.utility:define-structure-class implements the defstruct API using CLOS, so I would say it qualify as a library providing standard compliant structures, but with extra features.
<pjb>
ns12: you could rename it ns12-cl:defstruct if you want.
Inline has joined #commonlisp
green__ has joined #commonlisp
<pjb>
pve: and perhaps other implementation specific details your implementation defmethod does…
green_ has quit [Ping timeout: 268 seconds]
aartaka has quit [Ping timeout: 245 seconds]
peterhil has quit [Ping timeout: 265 seconds]
aartaka has joined #commonlisp
s-liao has quit [Quit: Client closed]
jealousmonk has joined #commonlisp
peterhil has joined #commonlisp
Guest74 has joined #commonlisp
anddam has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
green_ has joined #commonlisp
green__ has quit [Ping timeout: 250 seconds]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
<Guest74>
so I'm revisiting and cleaning up my ioctl stuff and see that i've kept c style names for structs and constants. I'm wondering if I should keep them exactly like this since that's what all the manuals/tutorials on the internet say, or lispify them?
<pjb>
Guest74: depends. I split by ffi stuff in two layers. a lower layer where I stick to C, and a higher layer, where I lispify.
<Guest74>
I've thought of that, but since they're just ioctls and not actual ffi to a library I'm wondering if that's even worth it.
<Guest74>
I'm also wondering if it's a terrible idea to replace all foreign structs with just static-vectors and then have lisp side functions to access the array as the struct slots. I'm not sure if that is more work, or faster for setting/getting.
x88x88x has joined #commonlisp
ebrasca has quit [Read error: Connection reset by peer]
Lycurgus has quit [Quit: Exeunt]
Devon has quit [Ping timeout: 250 seconds]
<Guest74>
anybody know how to translate this to lisp from c? 1000000000UL/a I have no idea what's going on in the c.
<pjb>
It's just (/ 1000000000 a)
<pjb>
if a is an int type, (truncate 1000000000 a)
shka has quit [Quit: Konversation terminated!]
<pjb>
Guest74: type: /nick somehonestnick
<Guest74>
if it's not?
<pjb>
then just (/ 1000000000 a)
<Guest74>
how does a real fit into an unsignedlong?
<Guest74>
maybe doesn't matter, doesn't seem to be used anywhere anyways.
Alfr has joined #commonlisp
shka has joined #commonlisp
<semz>
Guest74: If a is a float or double, 1000000000 would be converted to that first. / does the same thing in CL if a is a floating-point number.
<semz>
If you translate C names to Lisp names, I'd recommend being extra careful that your scheme is consistent and intuitive though; speaking from experience, it's infuriating when you have to look up how each name was translated in the manual when you're familiar with the underlying foreign API.
aartaka has quit [Ping timeout: 265 seconds]
<beach>
On the rare occasions that I had to use a Lisp interface to a C library, I found it infuriating to have to consult the manual for the C library at all. I expected a consistent, well documented Lisp interface that did not refer to the underlying C library or its concepts.
<Guest74>
semz: that's what I was thinking.
<Guest74>
beach: it's not a foreign library, it's just ioctls. How do you handle interfacing with the linux kernel?
<beach>
I haven't given any thought to that. But some day I guess I will have to, given that I want a Lisp-y POSIX library at some point.
<Guest74>
I figure the lispy interface should be built on ioctls, since, as far as i understand, that's how you interact with the kernel. the ioctl level being not so lispy.
<Guest74>
I figure the person writing the lispy interface wouldn't mind the c-ness of the ioctl interface since all documentation for the kernel is written that way.
dra has quit [Quit: Leaving]
<Guest74>
though at the same time, I'd also like to change things like DRM_IOCTL_MODE_GETRESOURCES to drm-ioctl:mode-getresources , which kinda makes sens to me. But then how for do I go? drm-ioctl:mode-get-resources?
<Guest74>
and since they're constants, do i go even further? drm-ioctl:+mode-get-resources+
<beach>
The "get" suggests a function, not a constant.
<beach>
But I guess in the IOCTL it kind of is a function designator.
<beach>
I might create one Lisp function for each type of IOCTL, rather than maintaining the interface. But I think you are saying that that's someone else's job.
<Guest74>
yes, I figure in the higher level library, the equivalent of libdrm in c, it would just be a function, and no trace of ioctls would be seen.
<Guest74>
lol, preferably. I suspect that would be more work and I'd rather just start using the parts I need. However, I would like to at least standardize the lisp representation of ioctls.
nature has joined #commonlisp
peterhil has quit [Remote host closed the connection]
peterhil has joined #commonlisp
green__ has joined #commonlisp
amb007 has quit [Ping timeout: 260 seconds]
amb007 has joined #commonlisp
x88x88x has quit [Ping timeout: 268 seconds]
green_ has quit [Ping timeout: 256 seconds]
Guest74 has quit [Quit: Connection closed]
amb007 has quit [Ping timeout: 260 seconds]
amb007 has joined #commonlisp
tyson2 has joined #commonlisp
edgar-rft has joined #commonlisp
etiago has quit [Read error: Connection reset by peer]
tyson2 has quit [Remote host closed the connection]
etiago has joined #commonlisp
tyson2 has joined #commonlisp
<semz>
Is there a recommended way to document/enforce crucial assumptions for a piece of code? I use (eval-when (:compile-toplevel :load-toplevel :execute) (unless (precondition-holds-p) (error "FOO isn't supported because BAR."))), but maybe there's a better way.
theBlackDragon has quit [Ping timeout: 256 seconds]
<jcowan>
Sometimes reading *less* is wiser. Learning CL by reading the whole spec is only for crazies like me.
<semz>
This is under the assumption that there isn't a portable fallback implementation, of course.
<semz>
And that lacking the feature under consideration would be lethal.
theBlackDragon has joined #commonlisp
x88x88x has joined #commonlisp
Catie has joined #commonlisp
Inline has quit [Quit: Leaving]
taiju has quit [Ping timeout: 250 seconds]
varjagg has quit [Ping timeout: 260 seconds]
<Alfr>
semz, if it's a system you're testing for and you're using asdf, there's :depends-on. Further, is it fatal at compile/load time or is it permissible for what's missing to be loaded later?
thomaslewis has joined #commonlisp
<Alfr>
semz, CL also an assert macro, if all you want to do is signal an error.
taiju has joined #commonlisp
McParen has left #commonlisp [#commonlisp]
<Alfr>
(You'll have to keep the eval-when, if it's needed.)
thomaslewis has left #commonlisp [#commonlisp]
<semz>
Alfr: In this case, it would make the code incorrect, but it would probably load.
<semz>
Oh right, assert can specify the error message.
<semz>
Or hm, that seems to be tied to places, which doesn't always apply here.
karlosz has joined #commonlisp
x88x88x has quit [Quit: Using Circe, the loveliest of all IRC clients]
x88x88x has joined #commonlisp
rain3 has quit [Ping timeout: 268 seconds]
aartaka has joined #commonlisp
<jcowan>
People underestimate how BIG Posix actually is when they set out to provide a non-thin library. By actual count: 81 headers, 1191 interfaces, and 51 data types.
<jcowan>
"interfaces" are functions/macros
taiju has quit [Ping timeout: 260 seconds]
karlosz has quit [Quit: karlosz]
taiju has joined #commonlisp
Alfr has quit [Killed (erbium.libera.chat (Nickname regained by services))]
Alfr has joined #commonlisp
karlosz has joined #commonlisp
x88x88x has quit [Quit: Using Circe, the loveliest of all IRC clients]
karlosz has quit [Client Quit]
<shka>
well, it is OS interface, larger size should not be a surprise
X-Scale has quit [Ping timeout: 250 seconds]
<jackdaniel>
people overestimate how big the os interface must be ,)
<shka>
mmm, i guess
tyson2 has quit [Remote host closed the connection]
poselyqualityles has joined #commonlisp
Inline has joined #commonlisp
tyson2 has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
varjagg has joined #commonlisp
x88x88x has joined #commonlisp
hobo has quit [Ping timeout: 268 seconds]
Everything has joined #commonlisp
tyson2 has joined #commonlisp
green_ has joined #commonlisp
thomaslewis has joined #commonlisp
green__ has quit [Ping timeout: 256 seconds]
atgreen has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
green_ has quit [Ping timeout: 250 seconds]
x88x88x has quit [Quit: Using Circe, the loveliest of all IRC clients]
amb007 has quit [Ping timeout: 245 seconds]
green_ has joined #commonlisp
atgreen has quit [Ping timeout: 268 seconds]
green__ has joined #commonlisp
amb007 has joined #commonlisp
green_ has quit [Ping timeout: 260 seconds]
raeda has joined #commonlisp
green_ has joined #commonlisp
green__ has quit [Ping timeout: 240 seconds]
<Alfr>
semz, the list of places can be empty, they're only needed if you want the continue restart to ask for new values.
<semz>
I see.
<semz>
Amusingly/annoyingly enough, SBCL complains about dead code if the assertion is true at compile time.
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
Everything has quit [Ping timeout: 268 seconds]
green__ has joined #commonlisp
theothornhill has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
Guest74 has joined #commonlisp
green_ has quit [Ping timeout: 260 seconds]
<jackdaniel>
I find it the most annoying that it complains about &optional and &key parameters in the same lambda list
<Guest74>
jcowan: thankfully I'm not doing any of that. Only graphics related stuff, but anybody can use the ioctl macros to make kernel interface headers easy to convert.
<jackdaniel>
like - duh, I know
<Guest74>
I don't know why but i had a lot of optional then key stuff, but now i just find it annoying.
green_ has joined #commonlisp
<jackdaniel>
you don't always have control over the specification
<Xach>
i do like that you can patch things like that out fairly easily
<Guest74>
jd: that's when you write a new specification :)
<jackdaniel>
that's not how stable api works
<Guest74>
I don't know what that means :)
<jackdaniel>
I know
cage has quit [Quit: rcirc on GNU Emacs 27.1]
<Guest74>
I wish there was an easy way to change all calls across a bunch of systems.
green__ has quit [Ping timeout: 250 seconds]
<Guest74>
cause i do keep changing my api.
<Guest74>
s
x88x88x has joined #commonlisp
x88x88x has quit [Remote host closed the connection]
Devon has joined #commonlisp
x88x88x has joined #commonlisp
aartaka has quit [Ping timeout: 245 seconds]
x88x88x has quit [Remote host closed the connection]
x88x88x has joined #commonlisp
x88x88x has quit [Remote host closed the connection]
nature has quit [Ping timeout: 245 seconds]
x88x88x has joined #commonlisp
aartaka has joined #commonlisp
varjagg has quit [Quit: @]
<Guest74>
I've just noticed that when a package has a . in it slime onlydisplays what's after the period when in the package. Is this supposed to be like this?
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
shka has quit [Ping timeout: 268 seconds]
poselyqualityles has quit [Ping timeout: 245 seconds]
thomaslewis has joined #commonlisp
<pjb>
Guest74: type: /nick somehonestnick
<pjb>
somehonestnick: yes.
<rotateq>
pjb: hehe
thomaslewis has left #commonlisp [#commonlisp]
poselyqualityles has joined #commonlisp
<Guest74>
pjb: have you seen the nicks on here???
<pjb>
choose a better one.
<rotateq>
what about them?
<Guest74>
mines as 'honest' as any of them.
<rotateq>
ahh sure. and mnemonic :)
<Guest74>
probably the most literally accurate as well.
aartaka has quit [Ping timeout: 250 seconds]
<etimmons>
How? I doubt anyone here would really consider you a guest any more
<theothornhill>
I'm working on a compiler where I have an AST, and a hash-table with keys as type names pointing to ast nodes. I want to access both of these regularly from other functions. What is best practice here? I was thinking of creating a macro such as `with-ensured-ast` that either returns a memoized ast and hash-table or initializes one. Or I could suck it up and ensure that all functions that need them get them as parameters.
<theothornhill>
Is dynamically binding it the way to go?
<theothornhill>
Now i just remember to (let ((*schema* (build-schema "..."))) ...) everytime I do things
<semz>
I'd probably go for a dynamic variable, especially if that table is essentially global during the compilation.
<theothornhill>
Yeah, it is. So you just decide the entry point, bind it and hope for the best?
<White_Flame>
+1 for defvar. It's side-band contextual information for your accessing calls
jpl01 has joined #commonlisp
<theothornhill>
Ok thanks, I'll get back to it then :)
<semz>
Yes. If you want a little less hoping during development, it might help to set the variable's default value to something that cannot possibly do anything but blow up instantly.
<White_Flame>
btw, I'd also make a with-ensured-ast which creates the dynamic bindings for you
<semz>
e.g. NIL if it's a hashtable, or :invalid if it's a list. Not always possible though, depending on the intended type.
<White_Flame>
DEFVAR can actually leave the value unbound, too
<theothornhill>
Yeah, I was just putting that off until I made a decision
<White_Flame>
well, bound with no value, or whatever it's properly worded as
<theothornhill>
Well the ast is just an instance of an object and the table a table, so nil will break things nicely
<semz>
Neat, that avoids the edge case where there is no good value.
thomaslewis has joined #commonlisp
thomaslewis has left #commonlisp [#commonlisp]
<Guest74>
etimmons: it's like a low slashdot id before they sold out. I'm the 74th guest! this will be mint in a few years.
ec has joined #commonlisp
Bike has joined #commonlisp
tyson2 has joined #commonlisp
cosimone has quit [Quit: ERC (IRC client for Emacs 27.1)]
x88x88x has quit [Ping timeout: 240 seconds]
shka has joined #commonlisp
ec has quit [Remote host closed the connection]
ec has joined #commonlisp
akoana has joined #commonlisp
Bike has quit [Quit: Connection closed]
random-nick has quit [Ping timeout: 256 seconds]
taiju has quit [Ping timeout: 260 seconds]
dra has joined #commonlisp
<phantomics>
quick question: is there a standard way in CL to make a rational number other than (/ x y)? In SBCL, there's a sb-kernel function called (build-rational) that does this, but I can't find anything that's implementation-independent
<Guest74>
rational
<Guest74>
rationalize
<phantomics>
Those take a single argument converting a number to rational, I was talking about a function that takes the numerator and denominator as its args
<semz>
if you're building them from integers, / seems like the obvious way
<rotateq>
phantomics: and when you use something like (/ (the integer x) (the integer y)) ?
ec has quit [Ping timeout: 276 seconds]
<phantomics>
Using (/ x y) gets you the rational, wasn't sure if there were problems with that method since utilities within SBCL use (build-rational x y)
form_feed has joined #commonlisp
<semz>
it's probably that / is generic and needs to be built from something implementation-dependent
<phantomics>
Then I suppose using / outside of the internal functions of an implementation is fine
pve has quit [Quit: leaving]
<Guest74>
jackdaniel: seeing as how you're a fan of stable things maybe you can help me out. For linux keysyms I can't decide how to handle keysyms that have an upper and lower case. e.g. |Greek-IOTA| |Greek-iota| . I'm not a fan of having everything having pipes, but not too comfortable with only some having pipes. wondering if should make those go to
<Guest74>
something like GREEK-SMALL-LETTER-IOTA
gaqwas has quit [Ping timeout: 245 seconds]
theothornhill has quit [Ping timeout: 268 seconds]