Bike changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language<http://cliki.net/> logs:<https://irclog.whitequark.org/lisp,http://ccl.clozure.com/irc-logs/lisp/> | SBCL 1.4.0, CMUCL 21b, ECL 16.1.3, CCL 1.11.5
damke has joined #lisp
BitPuffin has quit [Remote host closed the connection]
damke_ has quit [Ping timeout: 264 seconds]
makomo has quit [Ping timeout: 260 seconds]
doesthiswork has joined #lisp
wxie has joined #lisp
wxie has quit [Remote host closed the connection]
<jeosol_> what is the better way to create function name at runtime. For get-cell-p0 function I am doing something like: (intern (format nil "GET-CELL-P~A" 0), I need to create other corresponding functions like get-cell-p1, get-cell-p2, etc
Mutex7 has quit [Quit: Leaving]
markong has quit [Ping timeout: 263 seconds]
<Bike> well, usually you don't do that. if you do do that, something like that is fine, though you should use an explicit package and prefer find-symbol.
<jeosol_> These functions are defined by a macro when I start the application. Then depending on the argument to another function, I have to pick one of get-cell-p1, get-cell-p2, etc
<Bike> you cana't define the functions earlier?
<jeosol_> @bike, what I mean is that, I need to call get-cell-p0, or get-cell-p1, as follows (funcall (intern (format nil "GET-CELL-P~A" 0)) I J K) -- this if for get-cell-p0. The get-cell-? functions have been defined earlier by a macro and take three
<jeosol_> arguments i j k
nonlinear has quit [Remote host closed the connection]
<Bike> but you have to select which at runtime in that way?
<Bike> i mean, you could also put the functions in a vector and index into it, or the like.
trocado has quit [Ping timeout: 256 seconds]
phantomwizard has quit [Quit: phantomwizard]
fisxoj has joined #lisp
<Bike> or just have a get-cell that takes another argument for the index.
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 246 seconds]
<jeosol_> @bike, that sounds imilar to what I do already: (LOOP FOR POINT ACROSS #(0 1 2 3) COLLECT (FUNCALL (INTERN (FORMAT NIL "GET-CELL-P~A" POINT)) I J K))
<jeosol_> that is the snippet inside the function that calls get-cell-?
<jeosol_> I guess the way I am making the call to get-cell-? is not "kosher"
<Xach> in that situation i'd use find-symbol instead of intern
<Bike> it's not a matter of being kosher, there's just easier ways to do it
<Bike> you could have (defvar *get-cell-functions* (vector ...)) and then just (funcall (aref *get-cell-functions* point) i j k), for example
<jeosol_> I see. much cleaner
karswell has quit [Ping timeout: 264 seconds]
python476 has quit [Ping timeout: 260 seconds]
trocado has joined #lisp
<Bike> or just have like (defun get-cell-p (point i j k) (case point ...)) if they're similar enough
borei1 has joined #lisp
fikka has quit [Ping timeout: 264 seconds]
<jeosol_> I adjusted the macro to use the first format. I just packed the functions into the defvar. they have similar syntax. basically, the functions are extracting vertices from a polygon
Tristam has quit [Read error: Connection timed out]
Oladon has joined #lisp
Achylles has joined #lisp
shifty has quit [Ping timeout: 260 seconds]
PlasmaStar has quit [Ping timeout: 264 seconds]
PlasmaStar has joined #lisp
siraben has joined #lisp
warweasle has joined #lisp
vtomole has joined #lisp
damke has quit [Ping timeout: 265 seconds]
damke has joined #lisp
roca has joined #lisp
roca has quit [Remote host closed the connection]
roca has joined #lisp
quazimodo has joined #lisp
dtornabene has quit [Quit: Leaving]
Pierpa has joined #lisp
fikka has joined #lisp
wigust has quit [Ping timeout: 264 seconds]
roca has quit [Ping timeout: 260 seconds]
jonh has left #lisp ["WeeChat 1.4"]
Achylles has quit [Remote host closed the connection]
d4ryus1 has joined #lisp
d4ryus has quit [Ping timeout: 240 seconds]
SaganMan has joined #lisp
Fare has joined #lisp
warweasle has quit [Quit: Leaving]
Kundry_Wag has joined #lisp
dmiles[m] has joined #lisp
Fare has quit [Ping timeout: 240 seconds]
dddddd has quit [Remote host closed the connection]
Kundry_Wag has quit [Ping timeout: 264 seconds]
nika has joined #lisp
vtomole has quit [Quit: Page closed]
trocado has quit [Ping timeout: 256 seconds]
milanj has quit [Quit: This computer has gone to sleep]
fikka has quit [Ping timeout: 240 seconds]
Fare has joined #lisp
dmiles has quit [Ping timeout: 260 seconds]
xrash has joined #lisp
tempestnox has joined #lisp
mareskeg has joined #lisp
mareskeg has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
Arcaelyx has quit [Quit: Textual IRC Client: www.textualapp.com]
zacts has quit [Quit: WeeChat 1.9.1]
zacts has joined #lisp
damke has quit [Ping timeout: 264 seconds]
damke has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 260 seconds]
Fare has quit [Ping timeout: 240 seconds]
shifty has joined #lisp
<beach> Good morning everyone!
borei1 has quit [Remote host closed the connection]
<Pierpa> Already 5am! time flies.
<Pierpa> Good morning!
<SaganMan> Morning peeps
<SaganMan> 5AM? you must be somewhere in europe pierpa?
<Pierpa> yes, in Italy
<SaganMan> nice
<Pierpa> no, Nice is in France!
<SaganMan> pierpa: do you do lisp for fun?
<Pierpa> (sorry couldn't resist :)
<Pierpa> yes, for fun
<SaganMan> pierpa: still beats living in a third world nation
<onion> can defadvice be done with CLOS ?
<Pierpa> defadvice is not CL. So, check your implementation docs
<fouric> onion: defadvice is an emacs thing, right? you install a function to be run before/after another one?
<onion> *can defadvice done with plain CLOS :around etc.? i know it is part of lispworks and emacs. and i suppose LW wouldnt have it if it could be done with plain CLOS.
<Pierpa> not only emacs. Some CL implementations have an advice system
<beach> onion: You may have to explain what defadvice does, since it is not standard Common Lisp.
<Pierpa> beach, it allows to have some CLOS functionality over non-generic functions. Meant for debugging purposes.
<Pierpa> beach: ^
fikka has quit [Ping timeout: 246 seconds]
<beach> Thanks.
<Pierpa> for example, it allows to patch functions which we don't have the source of, with pre/post methods, and the like
<fouric> my eyes
surya has joined #lisp
<epony> close em
<epony> morning people
<beach> Hello epony.
<epony> sun is bright
<epony> lovely beach
<beach> onion: So what is your question? Do you want to implement defadvice in systems that don't have it?
dead_scream[m]xt has joined #lisp
dead_scream[m]xt has quit [Client Quit]
fikka has joined #lisp
DataLinkDroid has quit [Quit: Ex-Chat]
nsrahmad has joined #lisp
<beach> Oh well.
nsrahmad has quit [Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )]
Pixel_Outlaw has quit [Quit: Leaving]
schoppenhauer has quit [Ping timeout: 260 seconds]
schoppenhauer has joined #lisp
Kundry_Wag has joined #lisp
BlueRavenGT has quit [Ping timeout: 263 seconds]
Kundry_Wag has quit [Ping timeout: 264 seconds]
nowhere_man has joined #lisp
fikka has quit [Ping timeout: 260 seconds]
shrdlu68 has joined #lisp
fikka has joined #lisp
fisxoj has quit [Quit: fisxoj]
smokeink has joined #lisp
wxie has joined #lisp
blisp[m] has joined #lisp
<blisp[m]> Finally. Hey everyone
<blisp[m]> Voidengineer here. aka cryptonarauder aka evilangel. Ive seen some shit. Dont ask lol
<blisp[m]> Been dying to get back on here. Got some great ideas. Starting with a block list processor.
nowhere_man has quit [Ping timeout: 264 seconds]
Oladon has quit [Quit: Leaving.]
<Pierpa> what is a block list processor?
wxie has quit [Remote host closed the connection]
Pierpa has quit [Quit: Page closed]
smokeink has quit [Ping timeout: 256 seconds]
fikka has quit [Ping timeout: 264 seconds]
lnostdal has quit [Ping timeout: 268 seconds]
eri` has joined #lisp
* stacksmith gets popcorn and waits patiently for an explanation.
fikka has joined #lisp
orivej has quit [Ping timeout: 260 seconds]
<stacksmith> Oh I get it. It processes block lists!
quazimodo has quit [Ping timeout: 265 seconds]
damke_ has joined #lisp
quazimodo has joined #lisp
damke has quit [Ping timeout: 264 seconds]
Pierpa has joined #lisp
nika has quit [Quit: Leaving...]
surya has quit [Remote host closed the connection]
<beach> Here is a nice little project for someone who needs practice with CLOS: Design a protocol for input methods, and implement a few common ones. I am particularly interested in latin-1 and the telex input method for Vietnamese. Such a library would be immensely useful. I would use it in Second Climacs, and in various CLIM applications. And jmercouris can use it in the Next browser.
<beach> It is not entirely trivial, because it must be possible to obtain effects such as the underlining of "preliminary" characters as Emacs does, and to handle erasing correctly.
smokeink has joined #lisp
lagagain has joined #lisp
<jackdaniel> afair there is some multilingual support in CLIM-TOS wrt input methods
<beach> Interesting.
shka has joined #lisp
rippa has joined #lisp
<beach> So the person taking on this project should study what CLIM-TOS does. :)
<jackdaniel> right, that's why I have mentioned it
<beach> Sure.
<jackdaniel> I'm refining my pane hirerachy introspection tool
<jackdaniel> now I have "live" preview in the "drawn" representation
<beach> Nice tool.
<shrdlu68> I love how active this channel is.
<jackdaniel> shrdlu68: what do you mean?
<shrdlu68> You don't realize what a nice community CL has until you go into other languages' channels.
* beach thanks for the advice and will stay out of those channels.
<shrdlu68> I've never had a question go unanswered here, people try to at least acknowledge questions/comments.
<beach> Sure.
<onion> beach: hmmmm, i've been thinking of something like that for a while, input methods/touch keyboard. and it came up again recently, i will check out CLIM-TOS =)
<onion> jackdaniel: what are you working on?
<beach> onion: jackdaniel is doing a fantastic job maintaining and improving McCLIM.
<onion> ohhh
FreeBirdLjj has joined #lisp
<beach> onion: Since jackdaniel started doing that, several other people are now helping out as well. I am very pleased with the way things are going.
SaganMan has quit [Ping timeout: 240 seconds]
<onion> that is great to hear. CLIM-TOS i notice is an implementation from allegro? i notice theres a few, are they all wrong licenses or too old or not portable ?
Kundry_Wag has joined #lisp
<jackdaniel> onion: currently debugging mirror panes and protocols associated with them
<beach> onion: We started McCLIM way before CLIM-TOS was made available.
<jackdaniel> well, actually franz/clim2 was made available, clim-tos is fork to make it work on sbcl and ccl
<beach> onion: And McCLIM is a better implementation than the commercial ones anyway.
<jackdaniel> I hack on both, though McCLIM is way more complete (and I like it more)
<beach> onion: We started McCLIM way before the commercial CLIM implementations were made available.
<jackdaniel> http://hellsgate.pl/files/9f02a348 – application on the left "mimics" pane hierarchy on the right
Kundry_Wag has quit [Ping timeout: 265 seconds]
<jackdaniel> still need to fix scaling to map better the proportions
<jackdaniel> when I change the application which I do preview, preview updates as well
<beach> Some nice tools you got there.
<jackdaniel> yes, I plan to polish it a little and add to clim-examples
<onion> oh nice! going to update my sources and then poke around TOS version and see what i can learn. i would like to work with japanese and right-to-left hebrew and other text stuff, it seems, and i am not sure that emacs is the place for it
<jackdaniel> this will be very useful for writing new backends
<jackdaniel> (as a debugging tool)
<jackdaniel> notice that "composite" panes are also drawn in the preview
<jackdaniel> despite being invisible in real application
<onion> (my first project was gnustep to which i draw a lot of parallels with mcclim . touch-enabled is where i am looking toward)
<beach> GNUstep is written in C++, right?
<pjb> Objective-C
<onion> and clim3 is considered incomplete? i remember asking before
<beach> Oh, right.
<beach> onion: Yes, I have abandoned it for the time being.
<onion> yeah GNUstep implements OPENSTEP for the most part, where is no Cocoa Touch on iPhones .
<onion> now*
<beach> onion: There is a major design flaw that I need to fix first.
<onion> beach: ohh, in clim3 the standard or implementation ? would it be silly to ask if 2 and 3 are both useful seperately.. ? hmm
<onion> or can they be implemented together ~
<beach> CLIM3 is a specification. CLIMatis is the implementation I worked on in parallel with the specification.
<beach> It is very different from CLIM II.
<onion> ah! hmmm
AntiSpamMeta_ has joined #lisp
AntiSpamMeta_ is now known as AntiSpamMeta
AntiSpamMeta has quit [Killed (kornbluth.freenode.net (Nickname regained by services))]
<onion> so the flaw is in climatic, or the spec?
<onion> climatis*
lagagain has quit [Ping timeout: 240 seconds]
adulteratedjedi has quit [Ping timeout: 240 seconds]
drmeister has quit [Ping timeout: 240 seconds]
stylewarning has quit [Ping timeout: 240 seconds]
splittist has quit [Ping timeout: 240 seconds]
<beach> In the specification. I didn't allow for non-contiguous regions for output records.
splittist has joined #lisp
weltung_ has joined #lisp
drmeister has joined #lisp
rvirding_ has joined #lisp
koenig1 has joined #lisp
adulteratedjedi has joined #lisp
jerme_ has quit [Read error: Connection reset by peer]
weltung has quit [Read error: Connection reset by peer]
rvirding has quit [Read error: Connection reset by peer]
kilimanjaro has quit [Read error: Connection reset by peer]
lagagain has joined #lisp
koenig has quit [Read error: Connection reset by peer]
stylewarning has joined #lisp
jerme_ has joined #lisp
kilimanjaro has joined #lisp
koisoke has quit [Ping timeout: 240 seconds]
mrm has quit [Ping timeout: 240 seconds]
anunnaki has quit [Ping timeout: 240 seconds]
sshirokov has quit [Ping timeout: 240 seconds]
lagagain has quit [Changing host]
lagagain has joined #lisp
stylewarning has joined #lisp
stylewarning has quit [Changing host]
jerme_ has joined #lisp
jerme_ has quit [Changing host]
kilimanjaro has joined #lisp
kilimanjaro has quit [Changing host]
rvirding_ is now known as rvirding
kilimanjaro has joined #lisp
kilimanjaro has joined #lisp
kilimanjaro has quit [Changing host]
weltung_ is now known as weltung
drot_ has quit [Ping timeout: 240 seconds]
caffe has quit [Ping timeout: 240 seconds]
raskolni1ov has quit [Ping timeout: 240 seconds]
raskolnikov has joined #lisp
mrm has joined #lisp
anunnaki has joined #lisp
sshirokov has joined #lisp
caffe has joined #lisp
caffe is now known as Guest7580
drot_ has joined #lisp
koisoke has joined #lisp
quazimodo has quit [Read error: Connection reset by peer]
kilimanjaro has quit [Ping timeout: 240 seconds]
jerme_ has quit [Ping timeout: 240 seconds]
jerme_ has joined #lisp
kilimanjaro has joined #lisp
jerme_ has joined #lisp
kilimanjaro has joined #lisp
getha has quit [Ping timeout: 240 seconds]
jerme_ has quit [Changing host]
kilimanjaro has quit [Changing host]
kilimanjaro has joined #lisp
kilimanjaro has quit [Changing host]
kilimanjaro has joined #lisp
troydm1 has quit [Ping timeout: 240 seconds]
vlatkoB has joined #lisp
thijso has joined #lisp
quazimodo has joined #lisp
orivej has joined #lisp
larsen has quit [Ping timeout: 240 seconds]
larsen has joined #lisp
_whitelogger has joined #lisp
phantomwizard has joined #lisp
troydm1 has joined #lisp
ramus has quit [Ping timeout: 240 seconds]
ramus has joined #lisp
mikaelj has quit [Ping timeout: 260 seconds]
SaganMan has joined #lisp
mikaelj has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
makomo has joined #lisp
<jackdaniel> yet another pic (this one is actually an accident - a bug propagated surrounding-output-with-border "upwards"): https://pbs.twimg.com/media/DYjqsfiX0AEgSKx.jpg
<beach> Nice though.
fikka has joined #lisp
<jackdaniel> hm, after a thought - it is not a bug, it is just it "covered" rectangle drawn before it (because there is a pane name it top-left corner and "dot" in bottom-right) - both surrounded by a border
mishoo has joined #lisp
random-nick has joined #lisp
wxie has joined #lisp
<beach> I am guessing that tools like that are going to turn out to be invaluable for debugging pane hierarchies. At the moment I just use Clouseau on the application frame, but that is quite a tedious technique.
orivej has quit [Ping timeout: 268 seconds]
mishoo has quit [Ping timeout: 240 seconds]
<jackdaniel> that's why I'm writing it :)
<beach> Indeed. :)
<jackdaniel> I've already found some bugs thanks to that (because it is easier to "see" the problem than deduce it)
onion has quit [Quit: WeeChat 1.9.1]
<beach> I can imagine.
<jackdaniel> person with enough time could hack it into something for prototyping clim application layouts too I suppose
<beach> That's an interesting idea.
mflem has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
wxie has quit [Remote host closed the connection]
damke has joined #lisp
wxie has joined #lisp
milanj has joined #lisp
cage_ has joined #lisp
damke_ has quit [Ping timeout: 263 seconds]
<blisp[m]> Which lisp are you guys running on android?
<blisp[m]> Lol that reminds me of a quote from Pineapple Express. Have you ever seen the back of a dollar bill man well have you ever seen the back of a dollar bill on weed
<blisp[m]> Lol
<jackdaniel> blisp[m]: ECL works on android, you may look for it in google play
<jackdaniel> EQL5 project provides nice gui for it
<blisp[m]> oh good.
<blisp[m]> Fdroid or play?
<Shinmera> SBCL, CLISP, and LispWorks also work, but aren't available as apps, as far as I know.
<jackdaniel> it's not in fdroid yet, but apk is possible to download
<blisp[m]> Word thanks
<Shinmera> CCL works too, I think.
<Shinmera> Anything with ARM64 support, really.
<jackdaniel> fwiw lispworks has app (not sure if it is available in any store though)
<blisp[m]> Does anyone know why there's no clisp FreeBSD
<blisp[m]> Is it the license?
<beach> blisp[m]: You are aware that CLISP is an implementation of Common Lisp, right.
<jackdaniel> doubtfully, maybe they decided they do not need that many CL implementations
<beach> And not an abbreviation for it.
<blisp[m]> Hey beach
<blisp[m]> Yup i am
<beach> Just checking.
Kundry_Wag has joined #lisp
<blisp[m]> Im just curious is there are any FreeBSD users in here you know why there's no clisp in ports
<beach> Why in particular are you looking for CLISP?
<Shinmera> no users is my guess.
<blisp[m]> Well honestly no real reason just that I started with it and I was surprised to see that it wasn't there
<blisp[m]> I thought it might make it better lisp for scripting actually
Kundry_Wag has quit [Ping timeout: 240 seconds]
<blisp[m]> Beach, what's the status of your list OS is it working well enough to provide any significant advantage over a non list OS especially for doing tasks that lisp was made for? And lastly what's the chances that it would support something like opencl?
damke has quit [Ping timeout: 264 seconds]
<blisp[m]> Are you still wanted to be super purist I would just write my own opencl implementation in lisp but I don't like to reinvent the wheel all the time
<beach> blisp[m]: I assume you are referring to the LispOS in my specification?
<blisp[m]> I'm sorry Google is a little drunk tonight
<beach> It doesn't exist.
<blisp[m]> What about the one mezzanine or something like that
<blisp[m]> Mezano no se
<beach> What is opencl?
wigust has joined #lisp
<blisp[m]> Open compute
<blisp[m]> For hashing etc
<blisp[m]> Weird so I thought mezzano was yours. Steven looks like it's under active development
<beach> I am afraid I don't know what you are talking about. Sorry.
damke has joined #lisp
<blisp[m]> Loool
<beach> Mezzano is actively developed, yes, but I am not one of the developers.
<blisp[m]> I remember you telling me many years ago that you were riding a common list operating system I was asking about that
<blisp[m]> Oh then i dont want it
<blisp[m]> Ill wait for yours lol
cage_ has quit [Remote host closed the connection]
cage_ has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
jmarciano has joined #lisp
xrash has quit [Read error: Connection reset by peer]
<cess11_> blisp[m]: For scripting BSD you might want to give picolisp a shot.
milanj has quit [Quit: This computer has gone to sleep]
Murii|osx has joined #lisp
fikka has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
yeticry has quit [Quit: leaving]
yeticry has joined #lisp
orivej has joined #lisp
doesthiswork has quit [Remote host closed the connection]
wxie has quit [Remote host closed the connection]
<pjb> blisp[m]: clisp runs on FreeBSD. That the FreeBSD people don't care for making a clisp package is their problem. You can just fetch the sources of clisp and compile it on any system you care to use.
mishoo has joined #lisp
random-nick has quit [Read error: Connection reset by peer]
jmarciano has quit [Ping timeout: 248 seconds]
fikka has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
loginoob has joined #lisp
<Pierpa> Afaiu, LW sells a runtime for Android and then a regular LW can deliver apps for it. It's not a development system which runs on android.
fikka has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
FreeBirdLjj has joined #lisp
random-nick has joined #lisp
rumble has joined #lisp
grumble is now known as Guest75212
rumble is now known as grumble
Guest75212 has quit [Killed (tolkien.freenode.net (Nickname regained by services))]
Karl_Dscc has joined #lisp
Fare has joined #lisp
FreeBirdLjj has quit [Ping timeout: 256 seconds]
fikka has quit [Ping timeout: 256 seconds]
<blisp[m]> Pjb sup meng. Thanks am doing so now. I think freebsd needs package maintainers
<blisp[m]> Oh good thats fine too and fits their use case
FreeBirdLjj has joined #lisp
pyface has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
dddddd has joined #lisp
SaganMan has quit [Quit: WeeChat 1.6]
fikka has quit [Ping timeout: 240 seconds]
<Younder> Ubuntu is boring, but well maintained and reasonably secure. I like Qubes OS, but the lack of NVIDIA support is unacceptable to me.
nowhere_man has joined #lisp
makomo has quit [Ping timeout: 260 seconds]
siraben has quit [Ping timeout: 264 seconds]
davsebamse has quit [Quit: leaving]
mprelude has joined #lisp
warweasle has joined #lisp
cage_ has quit [Read error: Connection reset by peer]
cage_ has joined #lisp
wigust has quit [Ping timeout: 260 seconds]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 268 seconds]
fikka has joined #lisp
ebzzry has joined #lisp
<ebzzry> Is there a LispWorks channel?
Fare has quit [Ping timeout: 260 seconds]
raskolnikov has quit [Quit: leaving]
<phoe> ebzzry: LW has its own support forums.
<ebzzry> phoe: ok
easye has joined #lisp
tomlukeywood has joined #lisp
<pjb> there's a lw maillist.
lambda-p has joined #lisp
Kundry_Wag has joined #lisp
eri` has quit [Remote host closed the connection]
Kundry_Wag has quit [Ping timeout: 256 seconds]
Fare has joined #lisp
lambda-p has quit [Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org]
milanj has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
loginoob has quit [Ping timeout: 240 seconds]
damke_ has joined #lisp
loginoob has joined #lisp
Achylles has joined #lisp
damke has quit [Ping timeout: 265 seconds]
Fare has quit [Ping timeout: 240 seconds]
varjagg has joined #lisp
markong has joined #lisp
<Younder> 1200 EUR for a Hobbyist LispWorks edition witch you can't use commercially, has no maintenance and no service.. These people need a reality check!
cage_ has quit [Ping timeout: 256 seconds]
<Shinmera> I'm quite sure they know about running their own business better than you.
msb has quit [Read error: Connection reset by peer]
scymtym has quit [Ping timeout: 256 seconds]
<Younder> Now you pay 1400 EUR for a professional version for which you have at lets a chance to make the money back. It they had sold the Hobbyist version for 200 EUR, then a hobbyist decides to take the product commercially and pays 1200 EUR ekstra for that, now that would make sense.
msb has joined #lisp
<Younder> Shinmera, It is not like other company's charge that much. They seem stuck. They sell in small quantity so the need to charge a lot. Because of their high price they don't make many sales. Catch 22
<Shinmera> I'm quite sure they know about running their own business better than you.
scymtym has joined #lisp
<Younder> Shinmera, Well we all choose what we put our faith in.
igemnace has joined #lisp
<Shinmera> I don't have faith, I just know that you know much less about it than they do.
mprelude has quit [Quit: WeeChat 2.0.1]
<Younder> How so? You don't know me either. Now you are just being derogative.
<Shinmera> You don't know their audience, their sales, their structure, nothing. You're an outsider.
<jackdaniel> pricing discussions / business advices belong to ---> #lispcafe :)
fikka has joined #lisp
<pjb> Younder: if you compare the price/features of MoCL, I would say that Hobbyist LispWorks Ed is worth it.
onion has joined #lisp
<Pierpa> Still, no possibile maintenance, even paying extra. This is a bummer
onion is now known as whoman
siraben has joined #lisp
whoman is now known as onion
koenig1 is now known as koenig
tomlukeywood has quit [Quit: tomlukeywood]
Pierpa has left #lisp [#lisp]
Pierpa has joined #lisp
<beach> ebzzry: It would be very strange if there were a channel on Freenode dedicated to a commercial software product.
Murii|osx has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
<shka> beach: reality is so often strange
disumu has joined #lisp
Murii|osx has joined #lisp
doesthiswork has joined #lisp
Kundry_Wag has joined #lisp
nefercheprure is now known as TMA
mareskeg has joined #lisp
SaganMan has joined #lisp
Kundry_Wag has quit [Ping timeout: 248 seconds]
TCZ has joined #lisp
Fare has joined #lisp
mareskeg has quit [Ping timeout: 260 seconds]
TCZ has quit [Quit: Leaving]
loginoob has quit [Remote host closed the connection]
oleo has joined #lisp
roca has joined #lisp
roca has quit [Remote host closed the connection]
roca has joined #lisp
<phoe> Younder: if they're still in the market, it most likely means something
<Younder> phoe, yeah, old, faithful, professional customers. Their product is after all quite good.
fisxoj has joined #lisp
roca has quit [Quit: roca]
<ebzzry> beach: I agree.
<ebzzry> The x86_64 pro license for Linux is _expensive_.
<beach> How much?
<Pierpa> There's software which costs 500000 EUR per seat, it's much simpler than a cl development system, and which I suspect that sells more copies than lw...
shrdlu68 has quit [Ping timeout: 256 seconds]
<Pierpa> Correction: 500KEUR per seat per year
<Pierpa> In a professional environment, lw practically is free
Fare has quit [Ping timeout: 240 seconds]
<beach> Sounds right.
<Xach> That is my experience as well.
ckonstanski has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 268 seconds]
Kundry_Wag has joined #lisp
disumu has quit [Remote host closed the connection]
__Myst__ has joined #lisp
<__Myst__> Hi. I'm trying to write a lisp interpreter
<__Myst__> I was wondering a bit of a weird question
<__Myst__> In lisp, is there any case where something is mutable?
josemanuel has joined #lisp
<beach> __Myst__: Yes, almost all cases.
Kundry_Wag has quit [Ping timeout: 260 seconds]
<__Myst__> Can you provide an example? For some reason, I have the conception that most things in LISP are immutable.
<Shinmera> Note that, in this channel, Lisp means Common Lisp.
<beach> __Myst__: in case you wonder, this channel is dedicated to Common Lisp.
damke has joined #lisp
<__Myst__> Shinmera: That's fine, I'm trying to implement a Common Lisp-like niterpreter.
<beach> __
<Bike> well, in common lisp most things are mutable.
Fare has joined #lisp
<__Myst__> I'm obviously not trying to get 100% semantics because that would be hard + this is just a toy project
<beach> __Myst__: (let ((x (list 'a 'b))) (setf (car x) 'c))
<__Myst__> Wow, that's actually kind of crazy.
<beach> __Myst__: Common Lisp is not a functional language in that sense.
<__Myst__> Am I correct in thinking that integers, booleans and strings are immutable??
<Shinmera> strings are mutable.
<__Myst__> awesome!
<random-nick> what happened with the person that was writing a Common Lisp interpreter as an assignment?
<__Myst__> So I should provide mutability for strings and cons?
<Shinmera> I recommend learning CL before trying to write an interpreter.
<shka> obiously
<__Myst__> Shinmera: I know *some* CL; I've not delved into it too deep
<__Myst__> Not deep enough to write an interperter it seems
damke_ has quit [Ping timeout: 263 seconds]
<Shinmera> If you don't know an example of a mutation you've not delved at all
<beach> __Myst__: And arrays, and standard objects, and structs.
<shka> __Myst__: what (setf (car a) 5) does you think?
<Shinmera> beach: and packages, and symbols, and ....
<random-nick> __Myst__: strings are just a vector of characters
<__Myst__> shka: `a.car = 5`
<__Myst__> (in some pseudolanguage)
<shka> so why do you ask if lists are mutable?
<shka> they clearly are
makomo has joined #lisp
<__Myst__> I'd never seen that before honestly, but I can assume what it means
<Shinmera> minion: tell __Myst__ about pcl
<minion> __Myst__: look at pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005).
<__Myst__> Is there a good guide on the "internals" so to speak of CL so I can better learn this stuff?
<shka> then you don't know lisp
<Younder> Reading up would help. 'List in small pieces' by Quinnec covers design of scheme and lisp compilers and interpreters.
<beach> __Myst__: You have some studying to do it seems.
<__Myst__> Sure seems like it
<shka> anyway, common lisp is not that easy to implement, perhaps try scheme instead
<__Myst__> Scheme is easier?
fikka has joined #lisp
<__Myst__> Might be interesting to first implement Scheme then once I got a proper version of that try CL
<beach> __Myst__: Much. But it also has mutable objects.
<__Myst__> Thank you to all who have helped me.
<beach> Good luck.
<Shinmera> CL is a monumental effort to implement.
<beach> Shinmera: Nah! :)
* beach is just joking.
<shka> I did that on Thursday.
<onion> does that include CLOS? ._.
<Shinmera> beach: Unfortunately quite a few people stumble in here thinking that it is in fact not monumental :/
<beach> CLOS is not that complicated in fact. Or at least I don't think so.
<onion> ahh=)
<__Myst__> Shinmera: like me =P
<beach> Shinmera: Yeah, I know. I actually did know what I took it on.
<Shinmera> beach: I trust you did, you have a wealth of experience already.
Fare has quit [Ping timeout: 256 seconds]
<beach> Yes, I was not the least surprised to see that it was hard. :)
<random-nick> the only thing that might be difficult about scheme is closures and continuations
<beach> It is always a trade-off. It gets harder if you want good performance.
<random-nick> and making it do something useful
<Shinmera> __Myst__: You might also be interested in MAL, though it is off-topic here. https://github.com/kanaka/mal
<Pierpa> And closures are exactly the same in cl
roca has joined #lisp
<stacksmith> As in lexical?
nowhereman has joined #lisp
nowhere_man has quit [Ping timeout: 260 seconds]
nowhereman is now known as Guest41808
<stacksmith> beach: what was the hardest part for you?
<stacksmith> In terms of a technical challenge (as opposed to the drudgery of all the loose ends and the sheer volume)
Fare has joined #lisp
<jackdaniel> regarding full-blown continuations it is the fact that you store execution state as data
<jackdaniel> that means that most of the time you must use heap for it (not the stack)
<stacksmith> Has everyone given up on spaghetti at this point?
puchacz has joined #lisp
<puchacz> hi, it does not feel right to use (format s "~a" it) to print character by character to a stream, where s is inside (with-output-to-string (s)....)
<puchacz> I am sure there is something like print-character that does not print #\space but actual space
<Bike> clhs write-char
<puchacz> Bike, tks
<jackdaniel> puchacz: like (princ #\space) ?
<jackdaniel> (princ #\space s)
<shka> stacksmith: spaghetti?
<puchacz> jackdaniel - yes, they both do what I want. thanks :)
<beach> stacksmith: There have been no surprises so far. But the hardest part is definitely the organization of the compiler so as to obtain good performance.
Fare has quit [Ping timeout: 240 seconds]
<stacksmith> shka: spagghetti stack, which is more of a tree...
<shka> that's about continuations?
<pjb> you can write a simple CL compiler easily enough, if you target a lisp VM. Take for example clisp. The compiler is a single source file.
<stacksmith> yeah
fikka has quit [Ping timeout: 268 seconds]
<stacksmith> beach: are you using an off-the-shelf GC?
<beach> stacksmith: No. I invented that one.
<stacksmith> generational?
<beach> Two generations. Per-thread nurseries and one global generation.
<beach> Concurrent and parallel.
<stacksmith> Nice.
<beach> I haven't written the code yet, though.
<beach> But that code should be fairly simple.
neso_ has joined #lisp
<beach> The hard part is debugging all the concurrent stuff.
Tobbi has left #lisp ["Leaving"]
neso_ has quit [Client Quit]
<stacksmith> beach: have you looked at Self? There were some nice ideas there, in-line polymorphic caches and such. At the time code size was troublesome, but that's not an issue anymore...
d4ryus1 is now known as d4ryus
<beach> stacksmith: I am aware of Self, but haven't studied the specific compilation techniques in depth.
<beach> stacksmith: Yes, I am betting that code size is no longer a problem in order to simplify the compiler.
fikka has joined #lisp
<stacksmith> The polymorphic caches could accelerate dynamic dispatch, and they are pretty simple.
<beach> stacksmith: I already invented a dispatch technique that is now used in Clasp, and SICL.
<stacksmith> Ah.
<beach> It is very simple, but the tough part is the invalidation when things change.
<stacksmith> Funny how that's always the hard part...
<beach> stacksmith: Hard enough to give me a published paper. :)
<beach> Oh, and for Common Lisp, I wanted the test for an object being obsolete to be free.
<beach> And that's the case here.
<beach> Obsolete, as in its class having changed after it was created.
<beach> This paper describes the nursery collector, in case you are interested: http://metamodular.com/sliding-gc.pdf
roca has quit [Ping timeout: 256 seconds]
<shka> good paper, btw
<beach> Thanks shka.
<beach> Writing papers is a job that can be learned. :)
<beach> Of course, some ideas are needed first.
Fare has joined #lisp
<shka> i guess, so, haven't been in touch with academic publications ever since i finished master degree
<beach> But ideas tend to come automatically when one works with a problem for a long period of time.
damke_ has joined #lisp
<shka> recently i attempted to help my colleague with his thesis, and oh my god, he had like huge stock piles of papers all from circa 0.5 IF journals
<shka> now i consider myself to be any expert in bad papers
<beach> Heh.
<ebzzry> (Thank you for your inputs.)
<beach> shka: True, there is a lot of bad writing out there, as Steven Pinker correctly points out.
<stacksmith> beach: thanks for the links. Enjoyable reading.
damke has quit [Ping timeout: 265 seconds]
<beach> stacksmith: Pleasure. Glad you like it.
<shka> beach: that's literally Pulp Science
<beach> Sorry, what is?
<shka> those quickly written, by the numbers, bad papers
<beach> Ah, yes.
<beach> Some of them are bad, even though they took considerable effort to write. Again, as Steven Pinker points out. :)
<beach> stacksmith: Oh and the other VERY HARD part is bootstrapping. I will figure it out eventually, but it is taking a lot of time.
<shka> I have to go, have a good evening
<beach> Take care shka.
<stacksmith> Bootstrapping is always an issue... I think SBCL fork was largely about that - and look at the mess today.
smokeink has quit [Ping timeout: 264 seconds]
<beach> That is definitely what SBCL was about. I am trying to take things one step further by not using any C code at all.
<beach> I haven't looked at SBCL in detail, so I can't say whether it is messy or not.
<stacksmith> Well, I should say it seems pretty complicated.
<beach> I can believe it.
<Bike> i doubt there's a way to do it that isn't in some way complicated
<stacksmith> You kind of need a whole lot of Lisp to implement Lisp...
<beach> stacksmith: Yes, I use full Common Lisp + closer-mop.
<beach> Bike: I am convinced you are right.
<beach> By using first-class global environments, I am hoping to avoid the technique that SBCL uses of renaming the packages. And by bootstrapping from a full Common Lisp, I can use the CLOS machinery for stuff that would otherwise require special code.
mrm has quit [Changing host]
mrm has joined #lisp
milanj_ has joined #lisp
warweasle has quit [Quit: Leaving]
milanj has quit [Ping timeout: 256 seconds]
__Myst__ has quit [Ping timeout: 256 seconds]
<beach> Like, I can write (defclass symbol (t) ((%name ...) (%package ...)) :metaclass built-in-class)
wigust has joined #lisp
asarch has joined #lisp
Fare has quit [Ping timeout: 248 seconds]
siraben has quit [Ping timeout: 240 seconds]
roca has joined #lisp
butterthebuddha has quit [Max SendQ exceeded]
Kundry_Wag has joined #lisp
butterthebuddha has joined #lisp
cltlt has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
EvW has joined #lisp
cltlt has quit [Remote host closed the connection]
puchacz has quit [Quit: Konversation terminated!]
sjl has joined #lisp
gvaerg has joined #lisp
ebzzry has quit [Read error: Connection reset by peer]
gvaerg has quit [Client Quit]
<drmeister> I want to define a type... (deftype molecule-type () '(member protein ligand ion solvent))
gvaerg has joined #lisp
gvaerg has quit [Client Quit]
ebzzry has joined #lisp
gvaerg has joined #lisp
<drmeister> I have a property-list slot in my MOLECULE class and I want to set the :TYPE property that way. That will lose type info.
<drmeister> Hmm - I should probably have a 'type' slot for the molecule.
Murii|osx has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
<drmeister> And not rely on a property list for something fundamental like this that can have one of a limited set of values.
<beach> Why is the type called MOLECULE-TYPE rather than just MOLECULE.
<beach> It sounds like it is a type of a type.
<drmeister> I hadn't thought of that. Thank you.
Murii|osx has joined #lisp
<drmeister> I should also have an 'undefined' value for when it hasn't been defined yet.
<Shinmera> Slots can be unbound.
<drmeister> Oh - right.
<drmeister> Bike: Did you set up something to expose setf functions for C++ methods?
ebzzry has quit [Read error: Connection reset by peer]
<Bike> yeah.
<Bike> wait. no.
nsrahmad has joined #lisp
ebzzry has joined #lisp
<drmeister> Functions only right now - got it.
EvW has quit [Ping timeout: 240 seconds]
gvaerg2 has joined #lisp
<drmeister> I think we are gonna want one for C++ methods. Or we have something to define reader, writer and read-write accessors.
<drmeister> To do things in a more Common Lispy way.
gvaerg has quit [Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )]
epony has quit [Quit: QUIT]
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
<Bike> i've already wanted it a few times, yes
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
u20180318 has joined #lisp
yeticry has quit [Ping timeout: 264 seconds]
yeticry has joined #lisp
gvaerg2 has quit [Remote host closed the connection]
disumu has joined #lisp
attila_lendvai has quit [Read error: Connection reset by peer]
dddddd has quit [Remote host closed the connection]
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
willmichael has quit [Ping timeout: 256 seconds]
Oladon has joined #lisp
attila_lendvai has quit [Read error: Connection reset by peer]
mflem has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
attila_lendvai has joined #lisp
ebzzry has quit [Remote host closed the connection]
nsrahmad has quit [Quit: Leaving]
FreeBirdLjj has quit [Remote host closed the connection]
milanj_ has quit [Quit: This computer has gone to sleep]
shifty has quit [Ping timeout: 265 seconds]
flazh1 has quit [Quit: flazh1]
Kundry_Wag has joined #lisp
roca has quit [Quit: roca]
jsjolen has joined #lisp
<jsjolen> Hi! Is there a way to check where a Quicklisp provided system comes from? (I want to know if a particular system is from a fork or the original author)
<jsjolen> I tried inspecting objects returned from ql:system-apropos-list but I didn't find the relevant data
Kundry_Wag has quit [Ping timeout: 240 seconds]
<Bike> where, as in like its place on github or gitlab or whatnot?
<jsjolen> Bike:Exactly, where the source code was obtained
<Bike> hm, i don't know how to do it automatically, but it's all in https://github.com/quicklisp/quicklisp-projects/tree/master/projects
<jsjolen> Thank you, might be something worthy a pull request then :-)
puchacz has joined #lisp
<puchacz> hi, can somebody evaluate (ql:quickload "ironclad") in SBCL please?
<puchacz> I am getting error on this source: 0: [RETRY] Retry compiling #<IRONCLAD-SOURCE-FILE "ironclad" "src" "public-key" "ed448">.
tomlukeywood has joined #lisp
damke has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
<stacksmith> Does anyone know why lambda list keywords are not keywords?
Younder has quit [Remote host closed the connection]
<Shinmera> Probably because keywords are usually reserved for either key-value pairs, or for specific tokens of their own. Lambda list keywords are markers of a different kind of structure.
Younder has joined #lisp
flazh has joined #lisp
<stacksmith> I suppose that is one reason.
Satou has joined #lisp
SaganMan has quit [Quit: WeeChat 1.6]
comborico1611 has joined #lisp
warweasle has joined #lisp
jsjolen has left #lisp ["ERC (IRC client for Emacs 24.5.1)"]
Bike has quit [Ping timeout: 240 seconds]
<puchacz> st00pid compiler..... I changed #() to #.(make-array 0 :element-type '(unsigned-byte 8)) and it works
<Shinmera> It's not a stupid compiler, the software is wrong.
<puchacz> ironclad?
<Shinmera> Yes.
Bike has joined #lisp
attila_lendvai has quit [Quit: Leaving.]
<Shinmera> #( produces a simple-vector, which has an explicit element-type of T.
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
<puchacz> Shinmera, ah, I see
<puchacz> so not the same thing
ferada has left #lisp [#lisp]
Pierpa_ has joined #lisp
Pierpa has quit [Ping timeout: 260 seconds]
damke_ has joined #lisp
damke has quit [Ping timeout: 265 seconds]
makomo has quit [Ping timeout: 240 seconds]
ebrasca has joined #lisp
<stacksmith> Sanity check: I am considering writing a with- macro that creates an environment for dealing with a complicated data structure. I was considering swinging in the package native to it with (use-package) for the body... Am I asking for trouble?
jason_m has joined #lisp
<random-nick> stacksmith: that would not work
<random-nick> all the symbols in the macro would get read as the current package
<random-nick> because the reader reads the whole expression at once
wigust- has joined #lisp
<random-nick> which is why you never see use-package as a non-toplevel form
<random-nick> s/as the current package/in the current package/
<stacksmith> Ah.
wigust has quit [Ping timeout: 260 seconds]
<stacksmith> Is there another way to do this? It seems reasonable to not have to type the package over and over inside an environments made specifically for that task...
EvW has joined #lisp
Oladon has quit [Quit: Leaving.]
<stacksmith> A reader macro I suppose...
trocado has joined #lisp
chatchat1 has joined #lisp
<Pierpa_> Your macro could substitute symbols in whatever package with other symbols in the correct package?
<stacksmith> I was just thinking that...
<Pierpa_> Won't win any elegance prize, though
chatchatt has quit [Ping timeout: 248 seconds]
<jackdaniel> slap eval on top of that and define classes that way
<stacksmith> Actually not too bad, because I can use the same symbols in different environments for different structures that require similar treatment... Kind of generic protocol...
<Shinmera> I wrote a library that does something like that. https://github.com/Shinmera/deferred
<Shinmera> I never ended up using it though
<stacksmith> If I had a penny for every library I wrote that I never ended up using, I'd have not quite enough for a cup of coffee.
<onion> 1.70...
pjb has quit [Quit: Going back to work.]
<jackdaniel> if I hade a penny for every library I wrote I'd end up with two pennies
<stacksmith> Wise. I have to take something for my OCD.
Murii|osx has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
<Shinmera> I'd have several pennies.
Achylles has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
<bjorkintosh> does anyone still use cmucl or is it dead?
<Shinmera> It's still receiving updates.
<bjorkintosh> I see.
Oladon has joined #lisp
Arcaelyx has joined #lisp
z3t0 has joined #lisp
z3t0 has quit [Remote host closed the connection]
Murii|osx has joined #lisp
z3t0 has joined #lisp
troydm1 has quit [Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset]
troydm has joined #lisp
makomo has joined #lisp
markong has quit [Read error: Connection reset by peer]
pchrist has quit [Quit: leaving]
pchrist has joined #lisp
nopf has joined #lisp
arbv has joined #lisp
tomlukeywood has quit [Quit: tomlukeywood]
chatchat1 has quit [Ping timeout: 240 seconds]
makomo_ has joined #lisp
moei has quit [Quit: Leaving...]
chatchatt has joined #lisp
comborico1611 has quit [Quit: Konversation terminated!]
loginoob has joined #lisp
milanj_ has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
z3t0 has quit [Remote host closed the connection]
smurfrobot has joined #lisp
fikka has joined #lisp
Patternmaster has quit [Ping timeout: 264 seconds]
Kundry_Wag has joined #lisp
Baggers has joined #lisp
attila_lendvai has quit [Read error: Connection reset by peer]
Kundry_Wag has quit [Ping timeout: 263 seconds]
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
SmolenskKuhwwaaa has joined #lisp
phantomwizard has quit [Ping timeout: 248 seconds]
earl-ducaine has quit [Ping timeout: 240 seconds]
earl-ducaine has joined #lisp
CodeOrangutan has joined #lisp
moei has joined #lisp
Patternmaster has joined #lisp
arbv has quit [Ping timeout: 252 seconds]
arbv has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
sabrac has joined #lisp
dddddd has joined #lisp
z3t0 has joined #lisp
smurfrobot has quit [Remote host closed the connection]
attila_lendvai has quit [Read error: Connection reset by peer]
Satou has quit [Quit: Cya soon guys!]
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
CodeOrangutan has quit [Quit: Page closed]
<sabrac> shimera: ?
jcowan has joined #lisp
damke has joined #lisp
<jcowan> I have heard it said that compiler macros are a Bad Thing (or at least do not deliver on their apparent promises), but I can't find the argument now. Does anyone have an idea where or who?
SmolenskKuhwwaaa has quit [Quit: SmolenskKuhwwaaa]
damke_ has quit [Ping timeout: 265 seconds]
fikka has joined #lisp
<Pierpa_> Never heard this. Where did you hear it?
Mutex7 has joined #lisp
Kundry_Wag has joined #lisp
Guest41808 has quit [Ping timeout: 240 seconds]
Guest41808 has joined #lisp
<bjorkintosh> jcowan, is it this, perhaps? http://www.mschaef.com/blog/tech/lisp/defmacro-coupling.html
<jcowan> Pierpa_: If I remembered that I would just go there, but I can't remember
<Pierpa_> Right. Sorry.
<jcowan> bjorkintosh: I'll read that in detail, but I do remember it was specifically about define-compiler-macro, not defmacro in general.
Kundry_Wag has quit [Ping timeout: 246 seconds]
DataLinkDroid has joined #lisp
<loginoob> is there something in emacs so that i can rapidly access online documentation of any lisp function or variable with few keystrokes?
<bjorkintosh> loginoob, are you using slime?
trocado has quit [Ping timeout: 240 seconds]
<loginoob> bjorkintosh: yes
<ecraven> you can definitely do that with slime
<bjorkintosh> loginoob, are you already aware of this then? https://common-lisp.net/project/slime/doc/html/Documentation.html
<loginoob> bjorkintosh: aware but never read it because its been only a week since i started learning lisp
<bjorkintosh> well then.
<bjorkintosh> see if it answers your question.
<loginoob> ok :)
Pixel_Outlaw has joined #lisp
<ecraven> loginoob: M-x slime-hyperspec-lookup may be relevant
attila_lendvai has quit [Read error: Connection reset by peer]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
<loginoob> ohh cool ecraven thank you
trocado has joined #lisp
<bjorkintosh> loginoob, it was on that page I linked, btw.
<bjorkintosh> alternatively, you can map a key to it, to make it even easier.
<bjorkintosh> like f1 or f6 or something like that.
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
<loginoob> bjorkintosh: yes i saw that
<loginoob> also tried M-x slime-describe-symbol
<loginoob> :) thank you for the help. I'll learn them and try them
vlatkoB has quit [Remote host closed the connection]
funnel has quit [Read error: Connection reset by peer]
fikka has quit [Ping timeout: 240 seconds]
funnel has joined #lisp
comborico1611 has joined #lisp
Murii|osx has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
Guest41808 has quit [Ping timeout: 264 seconds]
fikka has joined #lisp
smurfrobot has joined #lisp
comborico1611 has quit [Quit: Konversation terminated!]
Chream has joined #lisp
z3t0 has quit [Remote host closed the connection]
z3t0 has joined #lisp
fikka has quit [Ping timeout: 264 seconds]
phantomwizard has joined #lisp
sabrac has quit [Quit: Konversation terminated!]
puchacz has quit [Quit: Konversation terminated!]
shka has quit [Ping timeout: 264 seconds]
fikka has joined #lisp
EvW has quit [Ping timeout: 240 seconds]
loginoob has quit [Quit: Lost terminal]
random-nick has quit [Ping timeout: 256 seconds]
phantomwizard has quit [Quit: phantomwizard]
EvW has joined #lisp
attila_lendvai has quit [Read error: Connection reset by peer]
zch has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
phantomwizard has joined #lisp
fikka has quit [Ping timeout: 264 seconds]
fikka has joined #lisp
z3t0 has quit [Remote host closed the connection]
Murii|osx has joined #lisp
<stylewarning> hello friends
<makomo> hello
<stylewarning> how is lisp hacking
<Shinmera> good
fikka has quit [Ping timeout: 246 seconds]
<Shinmera> but also bad
<stylewarning> why
<zch> Why would you use a top-level LET for function definitions? For example, here is some code (not mine) that has function definitions inside a let and has some local variables as well: https://0x0.st/sadA.txt - I'm just curious as to why not have top-level function definitions and either a LET inside those definitions for variables you're working with or introducing global variables.
<stylewarning> Shinmera: does some CFFI code have you feeling sad
<jackdaniel> zch: because there are other functions and you don't want to pollute global environment
<jackdaniel> if you don't like extra nesting, you may use &aux
<jackdaniel> which basically works like top-level let
<stylewarning> aux is different, no?
<stylewarning> the function closes over the value which is kept across invocations
<_death> zch: there may be small perf gains, but personally I don't like that style and just use a global
fikka has joined #lisp
<zch> I found it interesting, since I've never seen anyone code like that before (im a nooby programmer)
<jackdaniel> stylewarning: regarding lisp hacking, I've created a debugging tool for clim pane hierarchies, check it out: http://hellsgate.pl/files/43a9c4f5
<stylewarning> jackdaniel: consider it as spooky as you please, but i saw that this morning :)
<zch> Thanks for the explanation, jackdaniel.
<jackdaniel> I can manipulate sizes and positions of each pane in the gadget on the left (window on the right is an actual application-frame)
<_death> also, in this case where it's only used in this one function, you could use a simple LET inside the function with LOAD-TIME-VALUE
<jackdaniel> well, you didn't see this version
<stylewarning> ah :)
<jackdaniel> but sure, the idea is the same
<jackdaniel> I've just added drag-and-drop
<jackdaniel> plus some other conveniances
comborico1611 has joined #lisp
phantomwizard has quit [Quit: phantomwizard]
<Shinmera> stylewarning: Things aren't progressing as fast as I'd like and I haven't released a library in month
<Shinmera> s
<jackdaniel> stylewarning: regarding aux - it works like a top-level let as far as I know
__Myst__ has joined #lisp
<stylewarning> I've been super excited about jackdaniel's completion of Thrift for CL. I think it opens up so many possibilities for using Lisp programs as microservices.
<jackdaniel> I've just tested it in the repl with: `(defun xxx (a &aux (b 42)) (print b) (incf b) (if (> a 4) (xxx (1- a) )))'
Guest41808 has joined #lisp
<stylewarning> jackdaniel: CLHS says otherwise: http://www.lispworks.com/documentation/HyperSpec/Body/03_dae.htm
<jackdaniel> most of the implementation was done by Mr James Anderson, we just cleaned it up and pursued merge mainstream
Murii|osx has quit [Quit: Textual IRC Client: www.textualapp.com]
<stylewarning> (lambda (&aux (x a)) ...) ==> (lambda () (let* ((x a)) ...))
<jackdaniel> ah, that's what you meant
<jackdaniel> I misunderstood
jmercouris has joined #lisp
jmercouris has quit [Remote host closed the connection]
<jackdaniel> but it still works as top-level let*
<jackdaniel> either way, it's late here, I'll re-read tomorrow (I'm too tired to process), goodnight \o
tempestnox has quit [Quit: WeeChat 1.6]
tomlukeywood has joined #lisp
<_death> jackdaniel: your function should only print 42s
khrbt has left #lisp [#lisp]
<jackdaniel> yes, that was my point
<_death> cool... good night
damke_ has joined #lisp
dumb0 has joined #lisp
Kundry_Wag has joined #lisp
damke has quit [Ping timeout: 265 seconds]
fikka has quit [Ping timeout: 256 seconds]
tomlukeywood has quit [Quit: tomlukeywood]
fikka has joined #lisp
u20180318 has left #lisp [#lisp]
Kundry_Wag has quit [Ping timeout: 240 seconds]
khrb_t has joined #lisp
<khrb_t> uname -a
markong has joined #lisp
smurfrobot has quit [Remote host closed the connection]
dumb0 has quit [Quit: Leaving]
dumbo has joined #lisp
xxp has joined #lisp
attila_lendvai has quit [Read error: Connection reset by peer]
Guest41808 has quit [Ping timeout: 240 seconds]
Guest41808 has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
dumbo has quit [Quit: Leaving]
asarch has quit [Quit: Leaving]
dumb0 has joined #lisp
<jcowan> I think what I have sorta figured out is that a compiler macro should be associated with a function, not with the function's name
comborico1611 has quit [Quit: Konversation terminated!]
wigust- has quit [Read error: Connection reset by peer]
dandon9JI8VM has joined #lisp
dandon9JI8VM has quit [Remote host closed the connection]
isBEKaml has joined #lisp
<_death> I suppose in a Scheme attitude it makes sense.. but in practice what will it give you that the current approach, with a compiler-macrolet operator, is lacking? assuming (setf (fdefinition ...) ...) is quite rare
chatchat1 has joined #lisp
chatchatt has quit [Ping timeout: 256 seconds]
shifty has joined #lisp
jibanes has quit [Ping timeout: 265 seconds]
jibanes has joined #lisp
Karl_Dscc has quit [Remote host closed the connection]
<jcowan> yes, probably nothing much, since compiler macros are only applied during direct calls
<jcowan> however, compiler-macrolet is not standard
smurfrobot has joined #lisp
<Bike> do any implementations have a compiler macrolet?
jason_m has quit [Ping timeout: 240 seconds]
disumu has quit [Remote host closed the connection]
<Bike> also, if you didn't get an answer on why compiler macxros aren't great, it's just because most optimizations require more information than just surface syntax.
dumb0 has quit [Quit: Leaving]
Oladon has quit [Quit: Leaving.]
<Shinmera> Type inference most notably.
<_death> I don't know of any implementation with compiler-macrolet.. wishful thinking
Baggers has quit [Remote host closed the connection]
jasom has quit [Quit: WeeChat 1.9.1]
fisxoj has quit [Quit: fisxoj]
makomo_ has quit [Quit: WeeChat 2.0.1]
<jcowan> ah, that's a relief
smurfrobot has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
<pillton> Why would you need compiler-macrolet?
moei has quit [Read error: Connection reset by peer]
moei has joined #lisp
Kundry_Wag has quit [Ping timeout: 256 seconds]
<Bike> compiler macro for a local function, or an optimization that only makes sense locally
<pillton> Couldn't that just be done with macrolet?
<Bike> but then you coouldn't call it
siraben has joined #lisp
mishoo has quit [Ping timeout: 240 seconds]
Kaisyu has joined #lisp
hiroaki has quit [Ping timeout: 252 seconds]
<pillton> I'm struggling with why you would want a local compiler macro for a local function which is also invoked as a function object.
<Bike> it's exotic, certainly
<Bike> maybe you have a with- macro that makes some local function available, and sometimes it can be compiled easier
<Bike> like call-next-method
<pillton> But who does (mapcar #'call-next-method ..)?
<Bike> dunno. maybe someone.
<Bike> apply call-next-method does happen t hough.
<pillton> Oh right. Compiler macros are only invoked in (funcall ...).
* pillton gets a broom for the cobwebs.
<Bike> (apply #'call-next-method args...) could be inlined as (funcall next-method-function (list* args...) more-methods), incidentally
<Bike> i doubt anyone bothers tho
Kundry_Wag has joined #lisp
xxp has left #lisp ["ERC (IRC client for Emacs 25.3.2)"]
Kundry_Wag has quit [Ping timeout: 264 seconds]
siraben has quit [Ping timeout: 256 seconds]
jibanes has quit [Ping timeout: 256 seconds]
jibanes has joined #lisp
ebzzry has joined #lisp
<jcowan> Bike: when you say "most optimizations", you are talking about bog-standard compiler optimizations, not things like optimizing (+) to 0, right?
nowhere_man has joined #lisp
<Bike> i mean most optimizations
<Bike> for +, for example, you want to reduce that to zero, and reduce (+ a) to a, and probably (+ a b c) to (+/2 a (+/2 b c)) or such
attila_lendvai has quit [Quit: Leaving.]
<Bike> but you also want to constant fold and maybe group numbers of the same kind together, and you can't do that syntactically
<jcowan> constant folding certainly looks feasible
<Bike> (let ((a 19)) (+ 1 a))
<Bike> at the time of the compiler macro expansion, you lack information that a is constant
<jcowan> well, okay, you can't do value propagation followed by constant folding, but the problem is with the value propagation
<Bike> that's a pretty important problem.
<jcowan> I don't disagree
<fiddlerwoaroof> should quicklisp rebind *print-case* inside of quickload? It's probably not ideal to mess with people's settings like that, but a bunch of libraries seem to assume that *print-case* is :upcase in their macros, which often leads to mysterious breakages.
Guest41808 has quit [Ping timeout: 260 seconds]
Kaisyu7 has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
<Bike> wait, you mean quicklisp does rebind it now?
<jcowan> one example I've seen is optimizing exponentially growing functions when their arguments are fixnums
<fiddlerwoaroof> No, I should say that it doesn't
<Bike> in that case i'd say what you're describing is not quicklisp's problem
<jcowan> fiddlerwoaroof: What actually depends in a macro on the setting of *print-case*?
<fiddlerwoaroof> Some libraries do things like deriving function names from a symbol
<fiddlerwoaroof> e.g. they take 'FOO and derive #'MAKE-FOO
<fiddlerwoaroof> This frequently is done incorrectly because the library author only ever tests with *print-case* :upcase
siraben has joined #lisp
<Bike> jcowan: not sure what you mean
fisxoj has joined #lisp
<fiddlerwoaroof> While, in an ideal world this wouldn't be a problem, I'd generally prefer to have quicklisp temporarily normalize the value of *print-case* rather than having the library break mysteriously later on.
siraben has quit [Client Quit]
<Bike> but of course compiler macros aren't useless, it's just that they're not capable of describing all or probably even most function-specific optimizations
Kaisyu7 has joined #lisp
<fiddlerwoaroof> I only ever notice this because I set *print-case* to :capitalize in .sbclrc
<Bike> i really don't think this is quicklisp's problem. you can rebind it yourself, or you can file bugs with the libraries
<fiddlerwoaroof> Sure, it's not quicklisp's problem, strictly speaking, but it might be a useful feature
<fiddlerwoaroof> but, whatever
<Bike> asdf does have some tuff for binding around an action