<Ober>
ahh found one more portable, but requires ghc, which no doubt is more common than cc
thinkpad has joined #lisp
rpg has joined #lisp
cromachina has joined #lisp
thebardian has joined #lisp
thebardian has left #lisp ["ERC (IRC client for Emacs 27.0.50)"]
yeticry has joined #lisp
osune has quit [Remote host closed the connection]
warweasle has joined #lisp
eSVG has quit [Ping timeout: 276 seconds]
_rumbler31 has quit [Ping timeout: 276 seconds]
EvW has quit [Ping timeout: 240 seconds]
resttime has joined #lisp
mson has quit [Quit: Connection closed for inactivity]
SuperJen has quit [Remote host closed the connection]
SuperJen has joined #lisp
zachk has quit [Quit: night]
eSVG has joined #lisp
markong has quit [Ping timeout: 240 seconds]
vancan1ty has quit [Ping timeout: 240 seconds]
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sjl has quit [Quit: WeeChat 1.9.1]
orivej_ has joined #lisp
orivej has quit [Ping timeout: 276 seconds]
kmb has quit [Quit: kmb]
quazimodo has quit [Ping timeout: 248 seconds]
fikka has quit [Ping timeout: 240 seconds]
tlaxkit has quit [Quit: ¡Adiós!]
Colleen has quit [Ping timeout: 240 seconds]
warweasle has quit [Quit: Leaving]
quazimodo has joined #lisp
nullman has quit [Ping timeout: 268 seconds]
nullman has joined #lisp
eSVG has quit [Ping timeout: 276 seconds]
papachan has quit [Quit: WeeChat 1.9.1]
fikka has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
xale has joined #lisp
yain has quit [Ping timeout: 240 seconds]
bigos has joined #lisp
d4ryus1 has joined #lisp
jameser has joined #lisp
d4ryus has quit [Ping timeout: 276 seconds]
dieggsy has joined #lisp
Niac has joined #lisp
wigust has joined #lisp
mparashar has joined #lisp
vancan1ty has joined #lisp
eSVG has joined #lisp
mparashar has quit [Ping timeout: 248 seconds]
dieggsy has quit [Remote host closed the connection]
borodust has quit [Quit: Leavin']
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Jesin has quit [Quit: Leaving]
Jesin has joined #lisp
bmgxc9 has joined #lisp
pmc_ has quit [Quit: Leaving]
fikka has joined #lisp
bigos has quit [Remote host closed the connection]
pjb has quit [Remote host closed the connection]
pjb has joined #lisp
damke_ has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
damke has quit [Ping timeout: 240 seconds]
SuperJen has quit [Ping timeout: 276 seconds]
vancan1ty has quit [Ping timeout: 276 seconds]
JenElizabeth has joined #lisp
brendyn has joined #lisp
pjb has quit [Ping timeout: 264 seconds]
milanj has quit [Quit: This computer has gone to sleep]
terpri has quit [Remote host closed the connection]
bkst has quit [Remote host closed the connection]
varjag has joined #lisp
varjag has quit [Ping timeout: 264 seconds]
jameser has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jameser has joined #lisp
shka has joined #lisp
turkja has quit [Ping timeout: 240 seconds]
Reinhilde is now known as Ellenor
Bike has quit [Quit: Lost terminal]
kushal has quit [Ping timeout: 240 seconds]
<resttime>
OMGOMGOMG I legit legit might be able to get lisp on satellite hardware. For testing stuff while on ground highly likely if I can compile/get implementation for the right architecture, flying it in space is becoming possibly too since the people I'm talking to are actually okay about it just for me :D
nicdev has quit [Read error: Connection reset by peer]
jameser has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<beach>
Good morning everyone!
turkja has joined #lisp
test1600 has joined #lisp
<koenig>
resttime: That's very cool!
<resttime>
Yeah, I'm definitely feeling totally excited. I'm just picturing a scenario of connecting to the REPL like all the way up there if possible (Although maybe not? since comms might be too iffy)
<resttime>
I can pretend I'm Deep Space 1 lol
pierpa has quit [Quit: Page closed]
svetlyak40wt has joined #lisp
dddddd_ has quit [Remote host closed the connection]
theBlackDragon has quit [Ping timeout: 268 seconds]
fikka has quit [Ping timeout: 248 seconds]
theBlackDragon has joined #lisp
<jackdaniel>
so that means that I didn't made a mistake there?
danieli has joined #lisp
<devon>
I'd guess the ...> arrow points the wrong way as SSCL is a complete product and I don't know whether the later Lisp-to-C product ever made it out of Beta.
danieli has quit [Changing host]
danieli has joined #lisp
<jackdaniel>
I don't think Lisp-to-C translator has some code from Star Sapphire, if it is the component of the latter
<jackdaniel>
so I'd say the direction is right here
<devon>
Arrows normally indicate time and SSCL precedes Lisp-to-C
<devon>
SSCL is an interpreter written in C. Most likely Lisp-to-C is written in SSCL
<jackdaniel>
arrows are not about timeline, note clasp <--> ecl (even if clasp is ecl's fork)
<jackdaniel>
many changes has been backported
<devon>
Ok, if not ancestry, what do the arrows indicate?
<jackdaniel>
sharing of the code, it's said in the legend
<jackdaniel>
so if A is component of B, then B by definition shares code with A
<jackdaniel>
if there are two implementations with common roots which dross-pollute, they share code with each other
<jackdaniel>
s/dross/cross/
<jackdaniel>
etc
smurfrobot has quit []
<sjl>
does "B shares code with A" means "some A's code is used by B" or "some of B's code is used by A"?
<devon>
Um, are you saying C ...> A means C = A + B in your graph?
<sjl>
"shares" is a bit ambiguous directionallu
<sjl>
I think, judging by the directionality of the other kinds of arrows, that A --> B means "B contains some of A's code"
<devon>
We can be quite certain SSCL contains little or no LtC code.
<sjl>
the legend says it means "B shares code with A", which might be interpreted the other way though. If "sjl shares coffee with jackdaniel" it's reasonable to expect that I've given you some of my coffee.
<jackdaniel>
it's more code from A -----> appears in B
thinkpad has quit [Ping timeout: 268 seconds]
<devon>
We can be certain code from SSCL appears in LtC.
<jackdaniel>
if SSCL is a product which says, that it features LtC, then LtC is its component
<sjl>
Right
<devon>
LtC is a separate product.
<sjl>
So A --> B means "B contains some code from A"
EvW1 has quit [Ping timeout: 255 seconds]
terpri has joined #lisp
mejja has joined #lisp
<devon>
Change SSCL to SBCL and CtL to QuickLisp; we get QL ...> SBCL
shifty has joined #lisp
fikka has joined #lisp
<jackdaniel>
diagram is on cc-4 license, feel free to correct it to your liking
sellout has joined #lisp
<jackdaniel>
in my concept this information is correct
<devon>
lol, I can't make heads nor tails of your concept, which is why I ask.
<jackdaniel>
these things happen, I think I did best I can to explain myself
<devon>
if CtL ...> SSCL then SBCL ---> CMUCL
EvW has joined #lisp
<devon>
As thanks for making the graph, my gift to you is this bug report.
<beach>
devon: What makes you conclude that "if CtL ...> SSCL then SBCL ---> CMUCL"?
<devon>
I wrote some of that code so by that same logic you can write SSCL --> Devon
EvW has quit [Ping timeout: 240 seconds]
<beach>
I wasn't wondering about SSCL --> Devon, but about SBCL ---> CMUCL.
<beach>
But it is not that important to me. No need to answer.
k-stz has joined #lisp
<devon>
Lol, just a misleading graph on the internet, ho-hum. I'd like to see libre-licened source code to the Sapiens Software products - Star Sapphire Common Lisp & Lisp-to-C.
zmt00 has joined #lisp
<devon>
licened/licensed
FreeBirdLjj has quit [Remote host closed the connection]
<jackdaniel>
I get that you disagree. and thank you for your generous gift :)
ketralnis has quit [Quit: Coyote finally caught me]
Kundry_Wag has joined #lisp
<jackdaniel>
is there some pattern matching mechanism, or it's more about commands? (I can't find it at first glance)
<Shinmera>
There's no NLP in it right now because I haven't had the time for that.
wigust_ has quit [Ping timeout: 240 seconds]
<Shinmera>
If that's what you're after. Chat bot is a bit of an ambiguous term.
BitPuffin|osx has quit [Ping timeout: 248 seconds]
<jackdaniel>
I'm not after anything particular, I'm poking the web about various ideas for a user interface
<jackdaniel>
and application interactions
<Shinmera>
Maiden's commands agent is a bit "special" in that it does prefix matches, but the prefixes can have spaces
<Shinmera>
so most commands look a bit more natural than usual.
<jackdaniel>
fwiw from my quick look at elizee implementation in cliki-bot there is no NLP but rather simple pattern matching
<Shinmera>
Well pattern matching is a form of NLP. Just very primitive :)
<jackdaniel>
pattern matching may be used for many tasks, not only natural language processing
<Shinmera>
Sure.
* jackdaniel
groks (shallowly) maiden
<Shinmera>
Colleen: help notify on join
<Colleen>
Command Syntax: notify on join TARGET &STRING MESSAGE
<Colleen>
Documentation: Send a notification message that will be displayed as soon as the user joins a channel the bot is on again.
<Shinmera>
You can do stuff like ^ with the commands. Nothing super fancy, but it's been serviceable so far.
<jackdaniel>
as of Colleen, I never can remember how to call memo on it, so it usually ends in a few tries
<Shinmera>
It's just "notify person bla bla bla", which I consider less obtuse than "memo for persona: bla bla", where you have to remember the : for it to work.
teddy_error has joined #lisp
<koenig>
Holy cow, Maiden is exactly what I've been looking around for! Thanks for the discussion on this.
<Shinmera>
Where I do agree is that if you want to find a command for something, the help it gives is horrible. The "closest match" stuff is based on a really primitive distance algorithm that sucks badly for natural language.
<Shinmera>
As in, it considers "a" closer to "foo" than "foo bar", which is really not what you want.
<Shinmera>
koenig: What do you want to do?
shka has joined #lisp
rippa has joined #lisp
<jackdaniel>
take over the world of course, who doesn't ;_)
<koenig>
I just wanted an IRC bot in CL that I could build from, to have a bot but also to improve CL skills/knowledge. I'm a very advanced programmer but a neophyte in CL.
<Shinmera>
Alright
borodust has joined #lisp
<koenig>
I wanted something that had an abstract sense of Events, though. My goal would be to overload libev, actually. But it looks like the Event abstraction in Maiden could do exactly that.
<Shinmera>
Maiden is a bit over-engineered in some aspects, but I won't try to shush away potential users :)
CrazyEddy has joined #lisp
<koenig>
Actually, I don't quite see how Events are implemented, and have to jump on a call in 15 minutes so probably don't have much time to look. But I'll enjoy digging around in this code. Thanks!
<Shinmera>
Events are implemented by the underlying Deeds library.
kmb has joined #lisp
<koenig>
I'm sure this is all in Quicklisp, right?
<Shinmera>
Yes
<koenig>
Very fine business. I'm excited.
<shka>
good evening
<jackdaniel>
cześć
osune has joined #lisp
turkja has quit [Ping timeout: 264 seconds]
damke_ has quit [Ping timeout: 240 seconds]
<pjb>
koenig: there are several IRC bots written in CL around. For example botihn. Ask it in #hn
<phoe>
Funny, this is the documentation page that is linked from the github repo that this page links to.
<shrdlu68>
Heh, like the english dictionary defines "entity" using "thing" and then define "thing" using "entity".
<Bike>
thing: something you can talk about at the Althing. easy
<shrdlu68>
Or "object". It just runs out of words at some point.
<phoe>
a being
<phoe>
a unit of existence
Karl_Dscc has joined #lisp
dyelar has quit [Quit: Leaving.]
<shrdlu68>
Just realized that is it didn't have some cicular definitions it would be infinite.
<shrdlu68>
s/is/if/
<phoe>
so existence either is circular, or it is infinite
* phoe
ponders, takes this to #lispcafe
<whoman>
same ! no diff!
* whoman
follows
damke has joined #lisp
mson has joined #lisp
damke_ has quit [Ping timeout: 240 seconds]
rm8 has joined #lisp
damke has quit [Ping timeout: 240 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
teddy_error has quit [Quit: Peace ☮︎]
damke has joined #lisp
damke_ has joined #lisp
damke has quit [Ping timeout: 240 seconds]
<phoe>
I have a list that always follows the form (FOO BAR BAZ QUUX), basically a list of four values. Can I somehow use this knowledge to shorten the writing of (destructuring-bind (foo bar baz quux) list (make-instance 'fred :foo foo :bar bar :baz baz :quux quux))?
<phoe>
Other than writing an explicit constructor function?
<Shinmera>
What's wrong with just a constructor?
<tfb>
This sounds like a canonical case for an after method on INITIALIZE-INSTANCE
<phoe>
It's a lot of keywords the moment my class has eight or more slots.
<phoe>
At least it's a lot of keywords for me.
<phoe>
Though, I could always go (apply #'make-fred list) in such a case.
<tfb>
phoe: (make-instance 'fred :from ...)
<phoe>
tfb: !
<phoe>
now this is a pretty nifty idea. Thanks!
<Bike>
i'd just write (defun make-fred-from-list (list) (destructuring-bind ...)) and inline it.
LocaMocha has quit [Ping timeout: 268 seconds]
attila_lendvai has joined #lisp
klltkr has joined #lisp
attila_lendvai has quit [Changing host]
attila_lendvai has joined #lisp
gabot has quit [Ping timeout: 248 seconds]
gabot has joined #lisp
zaquest has quit [Quit: Leaving]
OUT_61h_al has joined #lisp
orivej has quit [Ping timeout: 240 seconds]
<shka>
phoe: use plist instead and apply
<sjl>
phoe: archive.org has edi's docs if you need them.
<tfb>
phoe: I think the Real Programmer's approach would be (apply #'make-instance 'fred (mapcan #'list kw-list val-list))
<tfb>
inscrutable, fragile and slow
<Bike>
how mean
<Xach>
Yikes. I used his docs all the time.
* Xach
ponders a mirror
<tfb>
Bike: I didn't mean anyone else's code!
<tfb>
I meant mine
<tfb>
(which was intentionally arcane, or trying to be)
zaquest has joined #lisp
knicklux has joined #lisp
_paul0 has quit [Remote host closed the connection]
_paul0 has joined #lisp
<phoe>
shka: I don't want a plist, my function returns a list of values.
<pjb>
com.informatimago.objcl "Objective-CL" is a layer above the Clozure CL Objective-C bridge providing an "Objective-CL" syntax (similar to Objective-C, using brackets and @ and smalltalk-like syntax).
<Younder>
Just had all kid of hel with a gcc-70 which i wanted for open acc. Should have chrooted it
<Younder>
7.0
gargaml has joined #lisp
<pjb>
Eventually, the Objective-CL syntax should be able to work above the Objective-CL bridge as well as above the Clozure CL Objective-C bridge.
<pjb>
or perhaps even integrate its own bridge.
scymtym_ has quit [Ping timeout: 255 seconds]
gigetoo has quit [Ping timeout: 268 seconds]
gigetoo has joined #lisp
Tobbi has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
Kundry_Wag has joined #lisp
svetlyak40wt has quit [Ping timeout: 264 seconds]
<nyef>
Shinmera: "Maiden" and "Deeds"? Would I be doing you an unkindness if I suspected a St. Trinians reference here?
rawste has joined #lisp
svetlyak40wt has joined #lisp
svetlyak_ has joined #lisp
svetlyak_ is now known as svetlyak40wt_
svetlyak40wt has quit [Ping timeout: 248 seconds]
eudoxia has quit [Quit: Leaving]
svetlyak40wt_ has quit [Ping timeout: 240 seconds]
quazimodo has joined #lisp
<osune>
I have a question regarding the package internal symbols context and macros: this is in the context of StumpWM. StumpWm exports a macro called add-hook, which adds a hook function to a list. These function are called in the context of which package, if I use add-hook from with in my own package?
<Bike>
is *package* relevant here? that's the only "package context" there is
<Bike>
like, does your hook use *package*, as by interning symbols?
<jasom>
osune: symbols are already resolved to packages before the macro runs
<osune>
Bike: no it does not it uses only external symbols; so no using directive in my package
<jasom>
osune: as soon as a symbol is read, it is interned into the current package. The first "A" was read when macro1's definition was read, the second "A" was read when reading the macroexpand form.
<osune>
jasom: that clears it up for me. the situation with foo:: was clear to me, but the situation for bar:: not so much. thanks!
svetlyak40wt has quit [Ping timeout: 240 seconds]
<Shinmera>
nyef: You would.
<osune>
so that means I don't have to make my-hook-functions external nor do I have to write my-module::my-hook-function.
<jasom>
osune: correct. Also note that macros which use only internal symbols and symbols from the CL package are hygienic when used in other packages.
isoraqathedh has quit [Remote host closed the connection]
<osune>
jasom: you mean used in the sense of the package option ?
<osune>
eg (:use :cl)
<jasom>
osune: I mean invoked
<jasom>
oh the "used" was "invoked" the "use" was rather loose to mean generate symbols in the expansion
<jasom>
If it were permitted to flet cl:list, then this following (stupid) macro would be unhygienic: (defmacro listm (&rest args) `(cl:list ,@args))
Shinmera has quit [Quit: しつれいしなければならないんです。]
<pjb>
You can always shadow it.
<whoman>
pjb, okay thank you =) i worked a little with gnu objc runtime
<jasom>
pjb: but that dosen't change the behavior of listm
mson has quit [Quit: Connection closed for inactivity]
<mfiano>
Why does `(loop :for x :in "hello" :collect x)` properly error, but `(loop :for x :on "hello" :collect x)` not? I thought that `ON` requires a cons?
<jasom>
"It checks for the end of the list as if by using atom."
<jasom>
(atom "hello") => T
<pjb>
(defun atom (x) (not (consp x)))
<pjb>
so as if by using atom, should rather be as if using consp…
<mfiano>
Thanks
<jasom>
pjb: you can submit that change to the committee for the next ISO standard :P
trounoir2 has joined #lisp
Colleen has quit [Quit: Colleen]
<pjb>
jasom: well the clhs formulation is correct. checking for the end of the list is checking for the stop condition, and indeed, atom is the stop condition predicate for list traversal.
Shinmera has joined #lisp
<pjb>
but usually we use while loops, so you'd rather (loop while (consp l) do …) instead of (loop until (atom l) do …)
Ven has joined #lisp
Ven is now known as Guest67933
zulu_inuoe has joined #lisp
astronavt has joined #lisp
trounoir2 has left #lisp ["Quitte"]
scymtym has joined #lisp
osune has quit [Remote host closed the connection]
fikka has joined #lisp
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
fikka has quit [Ping timeout: 240 seconds]
python476 has quit [Ping timeout: 258 seconds]
papachan has quit [Quit: WeeChat 1.9.1]
<murii>
I have a question. Does it really matter the location of the inserted value after appending it a list? Eg: list1: (a b c d) list2: (v l a d) output: (d a l v a b c d)
<murii>
appending it to a list*
orivej has joined #lisp
<Xach>
yes
<murii>
why?
nowhereman_ has joined #lisp
<Xach>
Because the output you gave is not an appending operation. it is a transform + append.
<Xach>
If you want to call it something else, that would be ok.
<murii>
like insert?
<Xach>
Maybe
<Xach>
Depends on the context
<murii>
nah, insert required an index
<murii>
add perhaps
<murii>
Okay, thanks for the help
astronavt has quit [Remote host closed the connection]
astronavt has joined #lisp
astronavt has quit [Remote host closed the connection]
<Xach>
Is this for homework?
<Xach>
(i ask because it seems like kind of an odd output)
<murii>
for my interpretar
<murii>
I can't figure out how to make the damn append
nowhere_man has quit [Ping timeout: 268 seconds]
<Xach>
Murii: well, usually it's by finding the last cons, and putting the head cons of a copy of the second list in place of the terminating nil.
<Xach>
well, with a copy of the first too.
<Xach>
or
<Xach>
Murii: is your interpreter written in Lisp also?
<murii>
C
<Xach>
Are lists based on two-element structures like conses?
<murii>
you can code a lot of things in it already
<murii>
Xach: yes
<murii>
car and cons
<Bike>
car and cdr?
<murii>
yes
<murii>
sorry
<murii>
I'm tired
<Xach>
Murii: well, you can copy the lists and tweak the final cons of the leading list.
<murii>
that's what I'm trying to do :)
rawste has quit [Quit: ZZZzzz…]
<Bike>
(defun append2 (x y) (let ((result (copy-list x))) (setf (cdr (last result)) y) result)) would do it, i think
<Shinmera>
Would traverse twice too, but yeah.
<Bike>
not the most efficient way to do it
Kaisyu has joined #lisp
<Shinmera>
(defun append2 (a b) (if (null a) b (let* ((h (list (first a))) (c h)) (dolist (e a) (setf c (setf (cdr c) (list e)))) (setf (cdr c) b) h)))
<murii>
hold up a sec
<murii>
I don't have all these functions implemented
<murii>
heh
<murii>
thanks anyway!
<jasom>
Murii: copy-list last and rpcld are all easy to implement though, and all you need for the first suggestion
<Shinmera>
Don't need much for the second one either
<murii>
I made it work
<murii>
thanks for the help!
klltkr has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<jasom>
Murii: I should probably also point out that #lisp is specifically for Common Lisp questions, and something like ##lisp is probably a better forum for questions like these