freenode/lisp - IRC Chatlog
Search
3:55:26
beach
I should not have been so cranky yesterday. I think Xach and phoe have good points. There are obstacles to Common Lisp use that are straightforward to remove, and that would be a desirable thing to do.
3:56:26
beach
It may require time and energy that nobody here has, but it is still important to make the distinction between those obstacles, and others that can't be removed that easily.
3:57:45
beach
So, given the available time and the energy, it is clearly not pointless to remove the simple obstacles. Whether doing that will significantly increase the use of Common Lisp is mostly an orthogonal issue.
4:02:33
dbotton
identifying who are candidates to be attracted to invest their own time or finding ways to encourage businesses
4:03:48
beach
Oh, and I should say that I personally don't see it as high priority to attract more people at all cost.
4:04:43
beach
Yes, I would much rather see a few devoted people willing to learn sophisticated stuff.
4:11:20
beach
Several people here are working on improving the development tools. jackdaniel, scymtym, and many more are working on McCLIM. I think McCLIM is the key to many other good tools.
4:12:35
dbotton_
I wrote the defacto standard for windows dev for Ada and thought that was key, then created Gnoga a gui using a browser as a rendering engine
4:13:20
beach
jackdaniel is working on Clostrum. heisig is working on Trucler. Bike and karlosz are doing great work on Cleavir.
4:16:21
dbotton_
but as you have to perhaps find the project that reaches the individuals you think would be ideal
4:21:39
beach
dbotton_: I have a slightly different take on things, I think. Rather than attempting to attract more people at all cost, I am hoping to decrease the collective maintenance burden of existing experienced people, so as to improve the collective productivity.
4:22:47
beach
Like if McCLIM becomes truly excellent (and I am convinced it will), then more people will spend time using Common Lisp for their GUI programs, rather than wasting time on combinations of Common Lisp and languages with totally different semantics.
4:23:27
beach
When these people start using pure Common Lisp solutions, they will contribute to more Common Lisp libraries and such.
4:25:04
ldbeth`
I it hard to convincing people get used to event based GUI toolkit such as Qt to use stream based CLIM
4:25:23
beach
And if Cleavir becomes truly excellent, then more Common Lisp implementations might decide to use it, thereby making it possible to pool resources for compiler improvements.
4:26:28
beach
ldbeth`: That's why I have imagined writing (and I think jackdaniel is doing it) a McCLIM manual that describes CLIM bottom-up, so that people who want event-driven GUIs can quit reading after chapter 2.
4:27:16
beach
ldbeth`: The "mistake" with existing CLIM documentation is that it shows the stream-based style first.
4:28:59
beach
dbotton_: Yes, but we have the advantage of CLOS. So we can make things implementation independent, yet easy to customize, I think much easier than what is possible in other languages.
4:29:23
aeth
dbotton_: But the largest of the popular languages tend to have multiple popular implementations. C, C++, JavaScript... Really, Java is the outlier there.
4:30:04
aeth
(Actually, Java has two major implementations. The JVM Java for desktops/servers and the Android version of Java.)
4:30:19
dbotton_
c and c++ acutally considering size of community don't have that many implementations
4:30:47
aeth
CL really only has two big implementations (SBCL and CCL). The rest fit various niches.
4:31:43
ldbeth`
it is very good to be able to use CL in CL compiler development, imagining an APL compiler company doesn't not require the employees to be proficient in APL but must can write efficient C code
4:34:02
dbotton_
So centralize and show - technical articles, marketing materials (why use Lisp for your business, showing the speed of dev, etc), interesting projects, etc
4:34:21
aeth
(And C, like CL, has various niche compilers. C++ is apparently too hard to make compilers for, so it's not quite as common.)
4:35:36
beach
dbotton_: Exactly! And I think we are on to something. It appears that with Common Lisp, we are able to accomplish great stuff with only a handful of people, whereas it seems that other languages need entire groups of people and commercial support to do even things like adding a feature to the language (which they must do because they have complicated syntax and no macros) every 3 years or so.
4:38:11
dbotton_
I started reading phoe's book and really love the angle and the fact that all the major advanced features are actually just normal extensions of the base language
4:38:51
dbotton_
who would believe that the condition system could be implemented as a library and not need compiler support
4:39:34
pillton
beach: Docker is a portable image format which allows you to bundle your application in a container to make it easier to deploy. The container is supposed to have everything needed to run your application.
4:40:34
beach
dbotton_: The condition system, yes. But also CLOS is mainly a library, except for some very minor additions to CLtL1 required, like funcallable standard objects.
4:42:33
pillton
beach: In order to create an image you need to write a Docker file which provides instructions on how to create the image. In CL, you just load the system with ASDF and save the image using save-lisp-and-die.
4:43:04
ldbeth
However it is still not very gracefully if you need external C libs for your CL programs
4:46:56
dbotton_
that article is well known I am sure, but is the marketing approach that works, even 17 years later has a good angle
4:48:13
dbotton_
push the technical angle to peak interest in the right developers and peak business interest that the language has real advantages
4:51:53
beach
dbotton_: If I remember correctly, ViaWeb was sold to Yahoo, who turned it into Yahoo Store by rewriting everything in some other language. I forget which.
4:53:55
beach
Why do you think Clasp is important? I am not questioning its importance, but I would like to know your reason for saying that.
4:54:51
beach
My take on Clasp is that drmeister thought it would be better to make C++ usable from Common Lisp than to rewrite CANDO and all the other chemistry libraries in Common Lisp.
4:56:53
beach
And why is that desirable, unless you are one of the people or companies who want to take free stuff and then commercialize it for your own profit?
5:00:26
dbotton_
most rewrites are because employees think they have better chance for next job with those skills
5:00:52
beach
Let me repeat this again: It is amazing how much time and energy people are willing to spend in order to avoid learning and using Common Lisp.
5:01:18
dbotton_
that is why universities drop languages that help actually develop a programmer in to something more
5:12:55
drmeister
But it passes all but a few of the ANSI tests. Currently we are improving the compiler to improve performance.
5:13:19
drmeister
Yes - I haven't had time to update that. I've been focused on other things for the past 8 months.
5:15:34
no-defun-allowed
What makes using LLVM your code "useful many years from now", may I ask? SBCL is also public domain or BSD licensed if it's still a license thing.
5:16:32
drmeister
no-defun-allowed: If that is a question for me I don't know if using LLVM does - although it does allow us to interoperate with C++ code.
5:16:42
no-defun-allowed
Not to say you shouldn't use Clasp, but an older implementation would probably cause less headaches to set up.
5:17:23
dbotton_
and for me a possibility for using it on platforms not supported by other compilers
5:17:37
no-defun-allowed
drmeister: Yes, I was wondering what the relationship dbotton_ appeared to have between LLVM and stability.
5:18:04
drmeister
dbotton_: We are about to generalize things so that we can run on any backend that llvm has. Currently we are tied to x86_64
5:18:34
no-defun-allowed
drmeister: I suppose "more commonly used implementation" would be more accurate, but I don't want to make it sound like usage and ease of use are related.
5:18:37
drmeister
LLVM has a lot of investment in it - it's a slow - but pretty good compiler backend library.
5:19:39
drmeister
It would have been hell to achieve C++ interoperability with other Common Lisp implementations because of peculiarities of C++ - and C++ is a moving target.
5:19:42
beach
drmeister: I am betting that it is a very complex one too, partly due to the fact that it is written in a language without sophisticated development facilities like GC and CLOS.
5:19:56
no-defun-allowed
Some people have said that Clozure is nicer to work in, though it's less commonly used than SBCL, for example. And telling someone to use what's most frequently used is a good way to cause stagnation.
5:20:04
drmeister
Why maintain C++ interoperability - there are a lot of C++ libraries I want to use.
5:22:16
drmeister
beach: Yes - but there are a lot of people working on LLVM - and they do the massive amount of work it takes to move it forward.
5:22:40
drmeister
It's still slow, slow, slow. SBCL is a much faster compiler and it generates really good code.
5:23:05
beach
Sure, but it seems to be moving forward in all the ways that I see with C++ itself and other languages, making it a moving target as well.
5:23:20
no-defun-allowed
dbotton_: Also, you may get a kick out of the support grid on http://www.sbcl.org/platform-table.html
5:23:59
beach
So I am wondering whether it takes that massive amount of work because it is complicated, and meant to be used to compile a complicated moving target language.
5:25:18
drmeister
I don't know - it's a large software library written in C++ - I'd be surprised if it was fast and efficient and easy to maintain.
5:26:33
drmeister
I try not to complain about the stuff I use - I'm just glad it's there and I didn't have to write it.
5:29:32
drmeister
dbotton_: I really just care about one thing - I want to write software that works five, ten, twenty years later. That way I can build stuff over a long time that keeps working. There are only a few languages that support that. Fortran, C, C++, Common Lisp.
5:31:07
dbotton_
We were talking about Lisp and have the elements for success and that I believe is the most important point
5:31:40
drmeister
I've lost way too much code because I wrote it in poor choices like Python, TCL, and Smalltalk etc.
5:31:44
dbotton_
that my investment in a language will be there years from now, ie I can compile and run what I wrote 20 years ago
5:33:02
drmeister
Right - and I think C++ is a reasonable domain specific language for working with tightly packed structures - but I don't want to write anything too complicated or exploratory in it.
5:34:18
drmeister
I didn't think Clasp would be as much work as it turned out to be. Writing an efficient language implementation is HARD.