rumbler31 has quit [Read error: Connection reset by peer]
_main_ has joined #lisp
_main_ has quit [Read error: Connection reset by peer]
<_death>
I wonder if it makes sense to want finalize to take a size hint
__main__ has quit [Ping timeout: 268 seconds]
<AeroNotix>
aeth: I've brought this up in here once or twice before. Biggest consensus is that there's no need to make further language/standard changes as everything realistically can be plonked in a library
fikka has quit [Ping timeout: 264 seconds]
<aeth>
AeroNotix: Some libraries require implementation support for an efficient implementation (or any implementation at all), though.
<AeroNotix>
aeth: sure but most interesting and widely applicable features don't
<AeroNotix>
threads, for example.
<aeth>
AeroNotix: well, I'd say unicode characters/strings are an interesting and widely applicable feature that needs implementation support
<AeroNotix>
ascii 4 lyfe
<aeth>
It's very important to support Unicode so that you can use Emoji. (You also can use Unicode for non-English languages!)
<jasom>
aeth: that reminds me, I need to portabilify the sb-unicode package; it is almost indep already and provides a lot of unicode features that are really useful.
<aeth>
jasom: Yes, please. I need that for cl-scheme
<aeth>
At the moment I only support Unicode in SBCL there
smurfrobot has quit [Remote host closed the connection]
brendyn has joined #lisp
fikka has joined #lisp
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.1)]
<aeth>
There's also a very trivial portability library (possibly already written several times over) that could be useful for other things that languages implemented in CL could use, such as float-nan-p (and the ability to get NaN at all, for languages where you can write a literal NaN, such as modern Scheme... that's one place where I fail r7rs conformance tests)
__main__ has joined #lisp
markong has quit [Ping timeout: 248 seconds]
pilfink has quit [Quit: ERC (IRC client for Emacs 25.3.1)]
eivarv has quit [Quit: Sleep]
jmercouris has quit [Ping timeout: 248 seconds]
earl-ducaine has joined #lisp
smasta has joined #lisp
smasta has quit [Ping timeout: 248 seconds]
nirved has quit [Quit: Leaving]
<emaczen>
aeth: Wait I can enable inline-generic-functions just by pushing it onto *features*?
Karl_Dscc has joined #lisp
<aeth>
I think it also requires the library.
<emaczen>
aeth: I'm amazed
<aeth>
And unfortunately the library is LLGPL, which could complicate building standalone binaries because then you'd be entering unknown legal territory.
<emaczen>
What is the point of the library if we can't even freely use it then?
<aeth>
The LLGPL is a preamble to the LGPL with Lisp-specific "clarifications" that may or may not be a good idea, but it effectively becomes a custom license that's neither FSF nor OSI approved. It would be clearer just to use LGPL, but that would essentially unambiguously forbid standalone all-in-one binaries, then, afaik.
Oladon has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
<aeth>
The older the library, the more likely it is to use the LLGPL, which imo is the worst thing to happen to the Lisp ecosystem. I am not a lawyer, but your lawyer might say do not use custom FOSS licenses. And, really, imo any situation where "talk to a lawyer" somehow becomes part of using a library is a bad thing, no matter what the lawyer winds up saying.
<aeth>
And the FSF definitely knows about Lisp. There are two GNU Common Lisps (CLISP, GCL) and at least three GNU Schemes (Guile, Kawa, MIT).
<aeth>
(And Emacs Lisp, of course)
warweasle has joined #lisp
<emaczen>
I'm definitely going to have to ask about this again...
<emaczen>
I have some software I would like to release too
<fdund>
exit
fdund has quit [Quit: Lost terminal]
smasta has joined #lisp
<aeth>
Imo, for libraries use a permissive license unless you only want (A)GPLed software to use it. For applications, choosing between copyleft and permissive is your choice, depending on what you want. Copyleft is most useful for large, nontrivial applications if you're concerned about a commerical fork (or, if you require copyright assignment, you can sell exceptions for commerical software and be the only permitted commerical fork... this is t
lemonpepper24 has joined #lisp
<aeth>
this is the business model for some companies)
<aeth>
The GPL does not prevent freeloading commercial forks, though. e.g. Oracle Linux is a fork of Red Hat Enterprise Linux.
JenElizabeth has joined #lisp
JenElizabeth has quit [Remote host closed the connection]
<aeth>
The LGPL (not the LLGPL please!) is another option for libraries, but until someone gets clarification from the FSF (I think they have an email for this sort of thing), afaik the best we have to go off of is the Java LGPL article, where it says that JAR-based distribution for libraries is okay under the LGPL. Thus, it looks like the LGPL could prevent distrubtion of Lisp apps that put everything in one binary.
JenElizabeth has joined #lisp
<emaczen>
Are there executables built with (sb-ext:save-lisp-and-die ...) binaries?
<emaczen>
Are the*
papachan has quit [Quit: WeeChat 2.0.1]
<aeth>
The only Lisp executables I'm aware of are the web browser written by jmercouris and some games produced by the #lispgames community.
Norvic_ has quit [Quit: Leaving]
<emaczen>
aeth: What do you call the file that is produced with (sb-ext:save-lisp-and-die ...)
<aeth>
I think most Lisp applications require a host CL.
mathrick has quit [Read error: Connection reset by peer]
* jasom
wrote an implementation of redo in lisp that was a standalone executable
ikki has quit [Ping timeout: 265 seconds]
JenElizabeth has quit [Remote host closed the connection]
rumbler31 has joined #lisp
<jasom>
it gets recursively invoked, so startup time was important
zooey has quit [Ping timeout: 255 seconds]
rumbler31 has quit [Ping timeout: 256 seconds]
<aeth>
emaczen: 'saved image'?
jmercouris has joined #lisp
zooey has joined #lisp
<jasom>
emaczen: save-lisp-and-die makes an image; it's also an executable if :executable t is passed.
<aeth>
Okay, then, that makes it easy. 'saved image' and 'saved executable image'
<jasom>
there's a regex tutorial program that is a lisp executable
dddddd has quit [Remote host closed the connection]
<jmercouris>
What are you guys working on right now? Anyone interested in sharing their lisp projects?
marusich has quit [Ping timeout: 255 seconds]
rumbler31 has joined #lisp
marusich has joined #lisp
schoppenhauer has quit [Ping timeout: 256 seconds]
heurist__ has joined #lisp
schoppenhauer has joined #lisp
<beach>
Good morning everyone!
<beach>
minion: Please tell jmercouris about SICL.
<minion>
jmercouris: SICL: SICL is a (perhaps futile) attempt to re-implement Common Lisp from scratch, hopefully using improved programming and bootstrapping techniques. See https://github.com/robert-strandh/SICL
<beach>
minion: Please tell jmercouris about Cleavir.
<minion>
jmercouris: Cleavir: A project to create an implementation-independent compilation framework for Common Lisp. Currently Cleavir is part of SICL, but that might change in the future
<jmercouris>
beach: I'm more curious about how you trained minion
<jmercouris>
do you run minion?
<aeth>
That's a hard act to follow.
<beach>
minion: help
<minion>
There are multiple help modules. Try ``/msg minion help kind'', where kind is one of: "lookups", "helping others", "adding terms", "aliasing terms", "forgetting", "memos", "avoiding memos", "nicknames", "goodies", "eliza", "advice", "apropos", "acronyms".
<aeth>
Not just the projects, but also the bot knowing the projects.
<beach>
minion: help adding terms
<minion>
To add a term, say something like ``minion: add "term" as: the definition''. I will remember the definition.
<jmercouris>
Yeah sure, but did you use an alias?
<jmercouris>
Ok so you just added a term
<ahungry>
This isn't Common Lisp, but it's in the lisp family and probably has some overlap with CL user's tooling (Emacs), new mode I just finished an mvp of: https://github.com/ahungry/redditor-mode
<jmercouris>
ahungry: That's amazing
<jmercouris>
beach: The difference between cleavir and sicl isn't exactly so "clear cut" to me
<jmercouris>
What is a "compilation framework"?
<jmercouris>
I thought you were bootstrapping off SBCL
<beach>
jmercouris: SICL is a complete implementation of Common Lisp.
<beach>
jmercouris: Cleavir is a compiler that can be used by any implementation that so wishes.
<beach>
So SICL uses Cleavir.
<jmercouris>
So Cleavir implements a way to compile that isn't tied to a vendor's extensions
<jmercouris>
yeah?
shka has joined #lisp
<jmercouris>
Without using vendor specific extensions, are there enough functions and accessors to persist a lisp image?
<beach>
Most Common Lisp compilers could be characterized like that. The specificity of Cleavir is that it can be customized to the specific representations and data structures of any Common Lisp implementation.
<jmercouris>
so Cleavir has to be "ported" to an implementation?
<jmercouris>
it doesn't just use the functions, data types, and accessors defined in the lisp standard
<beach>
Customized. By the use of methods and subclasses. Just like any other CLOS-based software.
<jmercouris>
Okay, so using entirely standard features
<beach>
I think you are missing the point... (sorry)...
<beach>
Most compilers for Common Lisp are written with a single implementation in mind.
<jmercouris>
If I am missing the point, please explain
<beach>
So the specific implementation details are spread all over the code.
<jmercouris>
Okay, so far so good
<beach>
Cleavir turns those details into generic functions and classes that can be altered by the implementation, using subclassing and methods.
<jmercouris>
Okay so yeah, it has to be ported
<jmercouris>
you are effectively making an API for compilation
<beach>
Customized.
FreeBirdLjj has joined #lisp
<beach>
Yes, sort of.
<jmercouris>
ported, customized, I think we're on the same page :)
<jmercouris>
Do you plan on extending this to produce standalone binaries?
<jmercouris>
E.g. bundling the kernel and image together in an "executable" bundle?
<beach>
That would be an implementation-specific decision and nothing for Cleavir.
<jmercouris>
I think that would be THE killer feature to convince an implementation to port Cleavir
<jmercouris>
If you extended the spec in this way
<beach>
For SICL, the plan is to stick most of the system in a shared library, so that small executables can be produced for those who are obsessed about that.
<jmercouris>
I've obviously thought way less about this than you, but that's just an outsider perspective
<beach>
SBCL can already produce "standalone" binaries.
<jmercouris>
Yeah, but many other implementations cannot
<jmercouris>
at least not easily
<jmercouris>
it's usually a huge pain
<beach>
Either way, that feature is related to the implementation, so Cleavir can't do anything about it.
<jmercouris>
You could make a third tool, and call it Compilr
<jmercouris>
or Bundlr
rumbler31 has quit [Remote host closed the connection]
smurfrobot has joined #lisp
<beach>
A thing like that would be VERY implementation specific. I see no way to make it generic.
<jmercouris>
I guess your goals are more research oriented than anything, so I imagine it doesn't really interst you
<jmercouris>
It doesn't have to be generic, it could just be a tool to simplify the process
<beach>
I have no interest in digging into the details of every free Common Lisp implementation if that is what you mean.
<beach>
But I do have a practical system in mind.
<jmercouris>
again, a standard "way" of bundling for the end user, and then handling the implementation specific details
<jmercouris>
an abstraction of sorts
<beach>
I have absolutely no idea how to even think about creating such a thing, other than a generic function CREATE-BINARY that each implementation would have to define a method on.
<jmercouris>
yeah, that's it exactly
<jmercouris>
you would define those methods like +sbcl... etc, and then a user can just say (create-binary :with-name "binary-name" ...)
<jmercouris>
it would just do those operations for the user
<jmercouris>
would be really useful I think
<beach>
I have around 100 or so projects that I consider much more useful.
<jmercouris>
what's 101 :P
<beach>
The top 5 will last my remaining lifetime, so I don't often look further down the list.
<jmercouris>
oh well
<jmercouris>
so ist das leben
<beach>
Or in the words of my brother-in-law: "Life's a bitch, and then you die."
<jmercouris>
Those are stolen words, and incorrect
smasta has joined #lisp
<jmercouris>
Life is what you make of it
<beach>
Oh, OK.
<jmercouris>
Nothing more, nothing less
Timzi has joined #lisp
Timzi has quit [Quit: ERC (IRC client for Emacs 25.3.1)]
smasta has quit [Ping timeout: 248 seconds]
aphprentice has joined #lisp
milanj_ has quit [Quit: This computer has gone to sleep]
<beach>
The other thing about Cleavir is that it uses the full Common Lisp language in order for the code to be maintainable and modular. Whereas for instance the SBCL compiler does not use generic functions, because it is needed when CLOS is not available. This fact makes the SBCL compiler much harder to maintain.
<beach>
Same thing with SICL, it uses the full Common Lisp language to implement most of its features. So for instance SICL LOOP uses generic functions and classes in its expansion code.
<jmercouris>
beach: I see, so it has an advantage in the way that it is bootstrapped
<jmercouris>
yes?
damke_ has joined #lisp
<beach>
It will have. I am making very slow progress on the bootstrapping phase.
<beach>
But the main advantage is in maintainability.
<jmercouris>
have you thought about paying developers to work on it?
<beach>
I have, yes.
<jmercouris>
and what did you conclude?
<beach>
There are very few people that have the required knowledge and that are also available for work. But when I find one, I'll consider this option.
damke has quit [Ping timeout: 263 seconds]
<jmercouris>
People can be trained
krwq has joined #lisp
<jmercouris>
And when you train one, they can train another, and then bam, exponential knowledge share
<jmercouris>
sure, there are losses the further from the source, but if everything is well documented, mistakes can be corrected
<jmercouris>
beach: rme is looking for a job, I would say he is a suitable candidate
<jmercouris>
I wouldn't know, but you could interview him if he wishes it
<jmercouris>
and you wish it as well of course
<beach>
I can't afford to pay someone for full-time work. And I certainly can't afford the typical fees in the US or western EU.
<jmercouris>
You can't afford them *now*
<beach>
?
<jmercouris>
but if you made a business case for your work, you could secure a grant, or investment money
<beach>
Yeah, that won't happen.
<jmercouris>
it is my belief that you can amplify your efforts through teams of people
<jmercouris>
You know nothing about business, but you are so confident
<beach>
Definitely.
<beach>
It won't happen because I am not going to try.
<jmercouris>
I'll give you this, you are possibly the best Lisp coder in existence right now, but I don't think you know anything about business
<jmercouris>
Why won't you try? are you afraid of failure?
<beach>
I know some. I have had 2 US companies and 1 French company in the past.
<jmercouris>
If you care about the completion of your project, you'd give it a really good hard think
<jmercouris>
Forming 3 organizations is not a measure of business knowledge
<jmercouris>
I'm not trying to be a jerk or anything
<beach>
One thing I don't like is when people put words in my mouth. I don't care about the completion of my project enough to manage a business.
<jmercouris>
beach: You don't care about the completion of your project that you work on every day?
<jmercouris>
Ah, this is surprising to me
<beach>
See?
<jmercouris>
Why work on something if you don't care about it's completion?
<jmercouris>
its*
asarch has joined #lisp
<jmercouris>
Furthermore, if you don't care about completion, why would you have thought about paying developers?
<jmercouris>
I put no words in your mouth, I just add 1+1 to make 2
<beach>
jmercouris: I am a researcher. I get partial results as my papers show. Clasp has already implemented fast generic function dispatch and it uses Cleavir. That's good enough for me.
<beach>
It may use first-class global environments in the future.
<beach>
All those things are my research results.
<jmercouris>
This is admirable, but it is also not a rebuttal to what I said
<jmercouris>
I don't mean to upset or anything, if I am bothering you, tell me and I will stop, I just enjoy controversial topics
<jmercouris>
to see if I can learn something, or understand how you think, so I say provocative things
<jmercouris>
it's a bad habit on my part, but I am just too curious about others
fikka has quit [Ping timeout: 248 seconds]
<beach>
Like water off a duck's back.
<jmercouris>
Ok, good :)
<beach>
I would like to see my numerous projects finished, of course. But that is not my highest priority, and if the cost of getting there is too high, then it just won't happen.
<beach>
Part of the reason it is not high priority is that very few people care about my projects anyway.
<jmercouris>
So if more people cared about them, would you care more about them?
damke has joined #lisp
<beach>
Possibly.
<jmercouris>
Do you care about humanity as a whole?
<jmercouris>
The so called "betterment" of the human race?
damke_ has quit [Ping timeout: 264 seconds]
<beach>
Sure, and I do my part, not only for computing, but also for the environment, for the economy, etc. But I am quite pessimistic about the future. But that's off topic.
wigust has quit [Ping timeout: 256 seconds]
jfb4 has quit [Ping timeout: 256 seconds]
<jmercouris>
So, if I understand, you think the impact of your projects is not significant enough based on a proxy measure of overall interest?
<jmercouris>
And since this is not inline with your goal of bettering the world, why invest oneself fully into it?
<beach>
As long as the ELS referees accept my papers, I feel my salary is justified.
jfb4 has joined #lisp
<jmercouris>
So you are satisfied with the amount of positive impact you currently produce, and therefore there is no need to necessarily complete your projects?
smurfrobot has quit [Remote host closed the connection]
<beach>
Sounds about right.
<jmercouris>
That sounds like a key to happiness
<jmercouris>
Others chase and chase unattainable goals, but being satisfied, that is tricky
<beach>
My current strategy is to extract some "modules" from SICL and Cleavir (and other projects) to independent repositories, and to write tests and documentation for them.
<jmercouris>
After all, you are only one man
fikka has joined #lisp
<jmercouris>
I feel one step closer to understanding you, thanks for sharing
<beach>
Sure.
damke_ has joined #lisp
damke has quit [Ping timeout: 264 seconds]
jfb4 has quit [Ping timeout: 256 seconds]
jfb4 has joined #lisp
asarch has quit [Quit: Leaving]
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
Kevslinger has quit [Quit: Connection closed for inactivity]
mathrick has joined #lisp
heurist__ has quit [Ping timeout: 248 seconds]
jmercouris has quit [Ping timeout: 265 seconds]
heurist__ has joined #lisp
<stylewarning>
beach, I might be down to (co?)sponsor a student to help implement some of your research
marusich has quit [Ping timeout: 255 seconds]
<stylewarning>
beach, currently doing that with a student doing PLT. (:
marusich has joined #lisp
red-dot has joined #lisp
smurfrobot has joined #lisp
sz0 has quit [Quit: Connection closed for inactivity]
<beach>
stylewarning: Oh, great!
aene has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
fikka has joined #lisp
damke has joined #lisp
nika has quit [Quit: Leaving...]
damke_ has quit [Ping timeout: 264 seconds]
smurfrobot has quit [Remote host closed the connection]
rippa has joined #lisp
lemonpepper24 has quit [Ping timeout: 240 seconds]
damke_ has joined #lisp
damke has quit [Ping timeout: 264 seconds]
damke_ has quit [Ping timeout: 264 seconds]
zooey has quit [Ping timeout: 255 seconds]
zooey has joined #lisp
nika has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
smasta has joined #lisp
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
red-dot has joined #lisp
smasta has quit [Ping timeout: 256 seconds]
sz0 has joined #lisp
fikka has joined #lisp
rumbler31 has joined #lisp
ahungry has quit [Remote host closed the connection]
zooey has quit [Remote host closed the connection]
zooey has joined #lisp
smasta has joined #lisp
rumbler31 has quit [Ping timeout: 240 seconds]
Guest17599 has joined #lisp
damke_ has joined #lisp
krwq has quit [Remote host closed the connection]
whoman has quit [Remote host closed the connection]
vlatkoB has joined #lisp
Guest17599 has quit [Quit: Leaving]
d4ryus1 is now known as d4ryus
shifty has joined #lisp
damke has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
murii has joined #lisp
lnostdal has quit [Ping timeout: 264 seconds]
<aeth>
beach: Is there any chance that your fast CLOS will one day replace PCL in implementations like SBCL? (I assume that you either already beat its performance or will eventually.) I'm not sure anyone on the planet knows more about CLOS than you.
shka has quit [Ping timeout: 248 seconds]
<phoe>
aeth: ask scymtym for some preliminary tests he did on fast GF dispatch.
<phoe>
(AFAIR it was him)
<aeth>
Replacing the current dispatch system in SBCL with a faster one would bring an immediate improvement to so many people, e.g. gray streams.
<aeth>
Gray streams are everywhere.
<aeth>
And a faster CLOS in general would change the architecture of so many things, probably.
Arcaelyx has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<aeth>
I wasn't aware of that one, I always use the CCL one
<aeth>
thanks
heurist has quit [Ping timeout: 264 seconds]
oleo has joined #lisp
rumbler31 has quit [Ping timeout: 264 seconds]
<aeth>
hmm
<aeth>
Maybe I should spend more time to proofread before I write things that are permanently logged on many different websites.
zooey has quit [Ping timeout: 255 seconds]
<Shinmera>
I doubt spelling and grammar are going to be the things people will judge you for.
zooey has joined #lisp
<aeth>
Then I'm even worse off!
<Shinmera>
Basically if you don't want people to judge you just don't say anything ever :^)
damke_ has joined #lisp
<Shinmera>
Personally I think some random people judging me doesn't really matter much.
<aeth>
The problem with IRC is that I'm usually on it when I'm too exhausted to program. So if you want to judge me at my sharpest, read my code, I guess.
<jackdaniel>
good morning
<oleo>
good morning
<aeth>
Oh, hey, it's morning here too... technically. Good morning.
<oleo>
ya slightly sunny winter morning
heurist has joined #lisp
<oleo>
eheh
<aeth>
The Sun is going to come up here in a few hours.
damke has quit [Ping timeout: 264 seconds]
FreeBird_ has joined #lisp
<phoe>
good morning
<Shinmera>
aeth: I didn't know you read tabloids
FreeBirdLjj has quit [Ping timeout: 256 seconds]
<aeth>
I hope I'm never famous. People might judge me by the source code I write, but 90% of it is when I didn't know better. I just don't have time to replace it all.
mishoo has joined #lisp
damke has joined #lisp
smurfrobot has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
smurfrobot has quit [Ping timeout: 240 seconds]
krasnal has joined #lisp
<aeth>
Shinmera: Are you working on any interesting Lisp projects?
<Shinmera>
Depends on what you deem interesting
fikka has quit [Ping timeout: 240 seconds]
<aeth>
On your Github, you appear to be the author of literally everything.
<Shinmera>
Oh dear I hope I'm not
<aeth>
tons of libraries, including some that I've used
<aeth>
How are you so productive?
<Shinmera>
Lots of people ask me that and I don't know what to say beyond that I'm terrible at everything else.
orivej has joined #lisp
fikka has joined #lisp
jfb4 has quit [Ping timeout: 248 seconds]
milanj_ has joined #lisp
jfb4 has joined #lisp
<JuanDaugherty>
check ur pockets
<JuanDaugherty>
it's easy to be productive if you stay immersed in work, particularly work you do under your own control and for yourself
<JuanDaugherty>
slaving for dolts, that's the hard
arbv has joined #lisp
knobo2 has joined #lisp
msb has quit [Read error: Connection reset by peer]
msb has joined #lisp
wigust has joined #lisp
eivarv has joined #lisp
zaquest has quit [Quit: Leaving]
makomo has joined #lisp
random-nick has joined #lisp
jack_rabbit has quit [Ping timeout: 265 seconds]
jack_rabbit has joined #lisp
zaquest has joined #lisp
razzy` has quit [Ping timeout: 248 seconds]
fikka has quit [Ping timeout: 268 seconds]
fikka has joined #lisp
Karl_Dscc has joined #lisp
red-dot has quit [Read error: Connection reset by peer]
red-dot has joined #lisp
fikka has quit [Ping timeout: 265 seconds]
jfb4 has quit [Ping timeout: 248 seconds]
smurfrobot has joined #lisp
jfb4 has joined #lisp
eivarv has quit [Quit: Sleep]
fikka has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
smurfrobot has quit [Ping timeout: 248 seconds]
nirved has joined #lisp
fikka has joined #lisp
hexfive has quit [Quit: WeeChat 1.9.1]
fikka has quit [Ping timeout: 268 seconds]
milanj_ has quit [Quit: This computer has gone to sleep]
FreeBird_ has quit [Remote host closed the connection]
razzy` has joined #lisp
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
fikka has joined #lisp
smurfrobot has joined #lisp
pjb has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
smurfrobot has quit [Ping timeout: 268 seconds]
<beach>
Here is a very very preliminary suggestion for the layout of different windows in Clordane. Comments are welcome. http://metamodular.com/fig-layout.pdf
fikka has joined #lisp
<beach>
The backtrace window is present not only when an error has been signaled, but also when the program has stopped at a breakpoint.
<beach>
Time for a break. I'll read your possible comments when I get back.
<phoe>
I'd switch the REPL and the error message windows. Makes more sense when the left side is where all the trouble is, and the right side is there you can do stuff to fix it.
<phoe>
Or rather, the left side is immutable (the stack is read-only, so is the error message), the right side is mutable (you can edit code and evaluate things in the REPL).
fikka has quit [Ping timeout: 240 seconds]
<Shinmera>
I'd also move the message above the trace, since people usually care about the message first
<beach>
In general, there won't be any message.
<phoe>
It might be a SLIME influence, but I don't think I need a separate window for the error message. It can be printed above the stacktrace in its window, just as in the SLIME debugger.
<beach>
In general, there won't be any message.
<phoe>
What does the layout look like without any message, then?
<Shinmera>
When there /is/ a message I'd want it to pop in above the backtrace.
Achylles has joined #lisp
<beach>
phoe: The space for the message would be empty.
<beach>
But yeah, I see your point.
<phoe>
I generally think people enjoy allocated but unused space on their screen as much as they enjoy allocated but unused space in their memory.
<beach>
The error message window could be a transient window above the backtrace.
red-dot has joined #lisp
<phoe>
I see. Okay.
<beach>
Great. I'll work with that and come back with an improved suggestion.
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
fikka has quit [Ping timeout: 268 seconds]
ak5 has quit [Read error: Connection reset by peer]
shrdlu68 has quit [Ping timeout: 265 seconds]
ak5 has joined #lisp
puchacz_ has joined #lisp
puchacz has quit [Ping timeout: 240 seconds]
shrdlu68 has joined #lisp
fikka has joined #lisp
brendyn has quit [Ping timeout: 268 seconds]
damke_ has joined #lisp
<flip214>
when creating a new file but stopping the process with Ctrl-C, the file gets removed again.
<flip214>
Is there a flag for W-O-F (resp. OPEN) to _leave_ the file in the filesystem?
<flip214>
Is that :RENAME-AND-DELETE instead of :SUPERSEDE?
<flip214>
ah yes, that's better.
<flip214>
I still need a handler to flush the file, though...
fikka has quit [Ping timeout: 264 seconds]
red-dot has joined #lisp
EvW has quit [Ping timeout: 255 seconds]
omilu has joined #lisp
kjeldahl has quit [Ping timeout: 240 seconds]
pagnol has quit [Ping timeout: 248 seconds]
fikka has joined #lisp
shifty has quit [Ping timeout: 265 seconds]
<phoe>
puchacz_: not really
<phoe>
(or character null) instead of (or character nil)
<puchacz_>
phoe: yes, just discovered it :)
<phoe>
the type NIL contains nothing.
<puchacz_>
it did not compile function calls with nil with previous declaration
fikka has quit [Ping timeout: 276 seconds]
<puchacz_>
by the way, can I create a package with functions named like unicode/string-downcase, and then import this package shadowing string-downcase from common lisp?
<beach>
You can shadow any name, but you are not allowed to redefine the Common Lisp function. Shadowing means you have the same SYMBOL-NAME but a different SYMBOL-PACKAGE for the names.
<phoe>
puchacz_: create FOO:SYMBOL-NAME and then (:shadowing-import-from #:foo #:symbol-name)
<puchacz_>
sorry, I don't understand
<beach>
phoe: It looked to me like puchacz_ wanted to replace the standard function.
FreeBirdLjj has quit [Remote host closed the connection]
<puchacz_>
is it even possible what I want, i.e. to have name like "string-downcase" to refer to different function?
<phoe>
beach: yes.
<phoe>
puchacz_: depends
<phoe>
CL:STRING-DOWNCASE cannot be redefined
<phoe>
BUT
<puchacz_>
the reason is that lispworks' standard string-downcase does not handle unicode
<beach>
puchacz_: The consequences of trying to do that are undefined.
<phoe>
you can import a symbol named STRING-DOWNCASE from another package.
shrdlu68 has quit [Ping timeout: 264 seconds]
<phoe>
and use this one.
shrdlu68 has joined #lisp
<puchacz_>
if I do so, will unqualified symbol STRING-DOWNCASE in source file text refer to my function?
<phoe>
then inside MY-PACKAGE, unqualified STRING-DOWNCASE will mean FOO:STRING-DOWNCASE
<phoe>
which is a symbol that you control.
<puchacz_>
is it defined by standard and therefore totally safe?
<phoe>
yes
<puchacz_>
ok, tks
<phoe>
it is absolutely portable code.
JuanDaugherty has quit [Quit: Ex Chat]
Achylles has quit [Ping timeout: 255 seconds]
fikka has joined #lisp
fikka has quit [Ping timeout: 255 seconds]
fikka has joined #lisp
eivarv has joined #lisp
papachan has quit [Ping timeout: 256 seconds]
makomo has joined #lisp
fikka has quit [Ping timeout: 265 seconds]
eivarv has quit [Quit: Sleep]
rumbler31 has joined #lisp
FreeBirdLjj has joined #lisp
fikka has joined #lisp
FreeBirdLjj has quit [Ping timeout: 268 seconds]
fikka has quit [Ping timeout: 248 seconds]
Achylles has joined #lisp
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
eivarv has joined #lisp
red-dot has joined #lisp
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Ping timeout: 264 seconds]
rumbler31 has quit [Remote host closed the connection]
Vicfred has joined #lisp
fikka has joined #lisp
varjag has joined #lisp
Oladon has quit [Read error: Connection reset by peer]
FreeBirdLjj has joined #lisp
lnostdal has joined #lisp
shrdlu68 has quit [Ping timeout: 248 seconds]
Oladon has joined #lisp
lnostdal has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 240 seconds]
smasta has joined #lisp
shrdlu68 has joined #lisp
FreeBirdLjj has quit [Ping timeout: 255 seconds]
FreeBirdLjj has joined #lisp
smasta has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
FreeBirdLjj has quit [Ping timeout: 260 seconds]
shrdlu68 has quit [Ping timeout: 240 seconds]
lnostdal has joined #lisp
fikka has quit [Ping timeout: 260 seconds]
FreeBirdLjj has joined #lisp
fikka has joined #lisp
shrdlu68 has joined #lisp
makomo has quit [Ping timeout: 248 seconds]
FreeBirdLjj has quit [Ping timeout: 256 seconds]
wigust has quit [Read error: Connection reset by peer]
FreeBirdLjj has joined #lisp
<borodust>
Xach: is that good enough README (i know it's not exactly very helpful) to get included into main quicklisp? https://github.com/borodust/claw#claw
<borodust>
*main dist
smurfrobot has joined #lisp
FreeBirdLjj has quit [Ping timeout: 240 seconds]
wigust has joined #lisp
<phoe>
borodust: Xach doesn't care if it has a readme
<phoe>
Xach cares if your project has the author/description/license fields filled in the ASD file and if it builds on SBCL x64 Linux without errors
<borodust>
phoe: well, the guide states that it should have one :)
<jackdaniel>
actually offical requirement is that it builds on "at least on two CL implementations"
<borodust>
exactly at the same line where author/description/license is mentioned :)
<borodust>
Xach: this is still asdf library, it's just that it doesn't really contain author/description...
<borodust>
actually, i'll fix that
<borodust>
but still
FreeBirdLjj has joined #lisp
rumbler31 has joined #lisp
FreeBirdLjj has quit [Ping timeout: 260 seconds]
<borodust>
no, it's probably not... dammit
rumbler31 has quit [Ping timeout: 255 seconds]
Arcaelyx has joined #lisp
<borodust>
quicklisp doesn't install itself to handle requires
<puchacz_>
hi again, I wanted to have (:shadowing-import-from #:unicode-hack :#char-equal ... etc) as symbol-macro, but it is not expanded in defpackage form
<puchacz_>
neither is standard macro
<beach>
puchacz_: Symbol macros are expanded only in a context of evaluation.
FreeBirdLjj has joined #lisp
<beach>
puchacz_: But you can use the #. reader macro perhaps.
<puchacz_>
how would it work? regular macro, but in defpackage form prefix it with #. like #.(expand-unicode-hack) ?
<puchacz_>
ah, READER macro. never done it :)
fikka has joined #lisp
<beach>
#.(do-the-thing)
<puchacz_>
no, got you. sorry - rollback last comment
<puchacz_>
yeah
<beach>
where do-the-thing is a function that returns what you want.
<puchacz_>
it seems to work, tks beach
<beach>
Anytime.
<puchacz_>
;-)
FreeBirdLjj has quit [Ping timeout: 265 seconds]
jonh has joined #lisp
alexmlw has quit [Quit: alexmlw]
alexmlw has joined #lisp
alexmlw has quit [Client Quit]
<ebzzry>
Is there a table that shows the benchmarks of the major CL implementations?
<ebzzry>
Which is generally faster nowadays, SBCL or CCL?
<Shinmera>
SBCL for resulting code, CCL for compilation.
<phoe>
SBCL for quick code, CCL for quick compilation time
<phoe>
the first is nice in deployment, the second is nice in development
<Shinmera>
That's literally what I said.
<phoe>
yep
<phoe>
but I'm using SBCL 100% of the time and never had too many issues with compilation times on SBCL.
<Shinmera>
Waiting minutes for ironclad to compile is a bother.
<phoe>
all I notice is, when I quickload a new system, or a system after a Quicklisp dist update, then it can take a minute or two-- this.
<Shinmera>
Even mid-sized projects suffer.
<phoe>
Luckily it happens rarely.
<ebzzry>
thanks
<scymtym>
since a few releases ago, SBCL should be substantially faster at compiling ironclad. faster than previous SBCL releases, that is. i don't know about CCL compiling ironclad
<scymtym>
also, choosing an implementation for development solely based on compilation speed seems ill-advised
<phoe>
...this is dangerously heading towards a SBCL versus CCL debate
broccolistem has joined #lisp
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
red-dot has joined #lisp
JonSmith has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 265 seconds]
turkja has quit [Ping timeout: 240 seconds]
safe has joined #lisp
<jackdaniel>
I use all three (ECL included) to ensure that I didn't rely on some implementation-specific behavior
<jackdaniel>
fwiw compilation time is important during development
makomo has quit [Quit: WeeChat 1.9.1]
Folkol has joined #lisp
smasta has quit [Ping timeout: 248 seconds]
rumbler31 has joined #lisp
fikka has joined #lisp
smurfrobot has joined #lisp
drewc_ has joined #lisp
drewc has quit [Ping timeout: 248 seconds]
fikka has quit [Ping timeout: 240 seconds]
rumbler31 has quit [Ping timeout: 276 seconds]
smurfrobot has quit [Ping timeout: 248 seconds]
malice has joined #lisp
fikka has joined #lisp
scymtym has quit [Ping timeout: 255 seconds]
safe has quit [Read error: Connection reset by peer]
ebzzry has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 260 seconds]
eazar001 has joined #lisp
anunnaki has joined #lisp
fikka has joined #lisp
anunnaki is now known as vertigo
smasta has joined #lisp
fikka has quit [Ping timeout: 264 seconds]
FreeBirdLjj has joined #lisp
sonologico has joined #lisp
stux|RC has quit [Remote host closed the connection]
FreeBirdLjj has quit [Ping timeout: 240 seconds]
scymtym has joined #lisp
FreeBirdLjj has joined #lisp
smasta has quit [Ping timeout: 240 seconds]
chens``` has joined #lisp
FreeBirdLjj has quit [Ping timeout: 256 seconds]
fikka has joined #lisp
ak5 has quit [Quit: WeeChat 2.0.1]
chens`` has quit [Ping timeout: 240 seconds]
FreeBirdLjj has joined #lisp
nika has quit [Quit: Leaving...]
fikka has quit [Ping timeout: 260 seconds]
pagnol has joined #lisp
FreeBirdLjj has quit [Ping timeout: 265 seconds]
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
fikka has joined #lisp
ikki has quit [Ping timeout: 264 seconds]
FreeBirdLjj has joined #lisp
red-dot has joined #lisp
earl-ducaine has quit [Remote host closed the connection]
<puchacz_>
why use different lisps like SBCL and CCL?
smasta has joined #lisp
<malice>
these aren't different lisps
<malice>
these are different compilers.
<malice>
Some of them excel at different things (e.g. SBCL isn't very good at debugging but generates quite fast code)
<malice>
Some are more popular than other, some might work at platform you need, plus personal preference.
FreeBirdLjj has quit [Ping timeout: 256 seconds]
<puchacz_>
so areas they differ are: debugging, deployment on different platforms, anything else that is important?
<beach>
puchacz_: Some Common Lisp implementation target specific application types. For example, ECL is good for communicating with C code, and Clasp is good for communicating with C++ code.
<beach>
puchacz_: Some others are extremely portable, like CLISP because they can function with a bytecode interpreter, so do not need to be retargeted for different architectures.
<malice>
Speed, interoperability with other languages, bugs, perhaps some OS interfaces, perhaps MOP implementations, implementation-dependant things and probably bunch of other I don't remember right now
<malice>
puchacz_: Is there some problem that motivates your questions?
<puchacz_>
malice: just looked up at SBCL vs CCL debate
<puchacz_>
and looked at benchmarks
<puchacz_>
the link
<malice>
The nice thing is that you have many different implementations, so you can just pick the one you like!
<puchacz_>
so from the benchmarks, I understand SBCL (because everybody uses it and quicklisp is checked against it AFAIK), lispworks (because it has stepper and it can deliver to many platforms) and ABCL (because you can script around java)
<_death>
you can also find hidden assumptions by trying your programs on different implementations
<malice>
Note that some implementations might be commercial and require payment, like LispWorks or Franz's compiler.
fikka has quit [Ping timeout: 260 seconds]
rumbler31 has joined #lisp
<puchacz_>
is clisp viable? last release 7 or 8 years ago
<malice>
Not really, I believe there was some effort to bring it up to date, but I'm not sure if that succeeded, though I may be wrong.
<malice>
Last time I tried to compile it, there were some errors.
drewc_ is now known as drewc
FreeBirdLjj has joined #lisp
rumbler31 has quit [Ping timeout: 276 seconds]
fikka has joined #lisp
<phoe>
clisp has seen some recent commits, but unless you really need to use it, don't.
FreeBirdLjj has quit [Ping timeout: 248 seconds]
<_death>
clisp served me well in my first CL year or two
fikka has quit [Ping timeout: 264 seconds]
makomo has joined #lisp
wheelsucker has joined #lisp
<makomo>
hello everyone
fikka has joined #lisp
<jackdaniel>
as an example: clisp is the only CL which runs on minix3, ecl is in fact libecl.so and you may attach CL (and introduce live recompilation) to C/C++ application and mezzano is a whole operating system which provides CL as the language to communicate with it
zazzerino has joined #lisp
smasta has quit [Ping timeout: 260 seconds]
sz0 has quit [Quit: Connection closed for inactivity]
stux|RC has joined #lisp
red-dot has quit [Read error: Connection reset by peer]
red-dot has joined #lisp
<malice>
Is it incorrect to say that in CL you call a method? Should you say that you call a generic function instead?
<Bike>
calling a generic function is probably more correct, yeah
<Bike>
the trick is that any generic function call can involve multiple methods
<malice>
That's true. I also meant a general context; I am aware that e.g. #'call-next-method calls, in fact, a method, and not a gf.
<phoe>
you may call a method, sure, mop:method-function returns you something that you can funcall
<phoe>
but in most general cases you want to call GFs instead of specific methods.
<malice>
Right. Thanks.
JonSmith has joined #lisp
drcode has quit [Read error: Connection reset by peer]
JonSmith has quit [Ping timeout: 265 seconds]
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
red-dot has joined #lisp
<pjb>
puchacz_: why do you use clang instead of gcc?
eivarv has quit [Quit: Sleep]
krwq has joined #lisp
DeadTrickster has quit [Remote host closed the connection]
<puchacz_>
pjb: I don't program in C or C++ :-)
<puchacz_>
so I use neither
Ven`` has joined #lisp
DeadTrickster has joined #lisp
Karl_Dscc has quit [Remote host closed the connection]
eivarv has joined #lisp
<malice>
MOP isn't part of CL spec, right?
<shka>
malice: right
<shka>
well, only minor parts are
fortitude is now known as fortitude_
EvW1 has quit [Ping timeout: 255 seconds]
<phoe>
MOP isn't a part of the CL standard.
fortitude has joined #lisp
<phoe>
But it is so useful that everyone* implements it anyway.
<phoe>
*for a sane definition of everyone
marusich has left #lisp ["Leaving"]
marusich has joined #lisp
<Bike>
the extent to which they implement it varies
<Bike>
method-function probably works most places, though
FreeBirdLjj has joined #lisp
<Bike>
but calling a method by itself outside of a gf context is a weird th ing to do.
safe has joined #lisp
FreeBirdLjj has quit [Ping timeout: 256 seconds]
eivarv has quit [Quit: Sleep]
Achylles has quit [Ping timeout: 248 seconds]
zaquest has joined #lisp
FreeBirdLjj has joined #lisp
LocaMocha is now known as Sauviun
Sauviun is now known as Sauvin
fortitude__ has joined #lisp
FreeBirdLjj has quit [Ping timeout: 265 seconds]
zazzerino has quit [Quit: ERC (IRC client for Emacs 25.1.1)]
damke has joined #lisp
zazzerino has joined #lisp
fortitude has quit [Ping timeout: 240 seconds]
damke_ has quit [Ping timeout: 264 seconds]
ckonstanski has quit [Quit: bye]
ckonstanski has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
FreeBirdLjj has joined #lisp
fortitude has joined #lisp
eivarv has joined #lisp
fortitude__ has quit [Ping timeout: 265 seconds]
EvW has joined #lisp
FreeBirdLjj has quit [Ping timeout: 256 seconds]
ikki has joined #lisp
mishoo has quit [Ping timeout: 240 seconds]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
krwq has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
fikka has joined #lisp
fortitude has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 240 seconds]
FreeBirdLjj has quit [Ping timeout: 268 seconds]
FreeBirdLjj has joined #lisp
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
red-dot has joined #lisp
jfb4 has quit [Ping timeout: 265 seconds]
vlatkoB has quit [Remote host closed the connection]
fikka has joined #lisp
jfb4 has joined #lisp
FreeBirdLjj has quit [Ping timeout: 248 seconds]
eivarv has quit [Ping timeout: 255 seconds]
fikka has quit [Ping timeout: 256 seconds]
ikki has quit [Ping timeout: 248 seconds]
fikka has joined #lisp
dieggsy has joined #lisp
dieggsy has quit [Remote host closed the connection]
eivarv has joined #lisp
EvW has quit [Remote host closed the connection]
EvW1 has joined #lisp
knobo3 has joined #lisp
knobo2 has quit [Ping timeout: 240 seconds]
BitPuffin has quit [Remote host closed the connection]
puchacz_ is now known as puchacz
puchacz has quit [Quit: Konversation terminated!]
ikki has joined #lisp
stux|RC has quit [Ping timeout: 240 seconds]
Jesin has joined #lisp
dieggsy has joined #lisp
stux|RC has joined #lisp
dented42 has joined #lisp
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]