freenode/#lisp - IRC Chatlog
Search
20:59:55
aeth
People use CLISP because it was the most recommended implementation 10 years ago, and lots of people read things from 10 years ago.
21:01:23
aeth
It also (1) has a REPL with readline in the terminal without any hacking so it's approachable to people who aren't using emacs+slime and (2) has "C" in the name.
21:02:13
phoe_
but CLISP includes readline bindings, so it has a pleasant REPL where arrow keys work and such.
21:02:36
phoe_
4) it is an interpreter and has good support for unix commands, so can be fast and useful for scripting.
21:03:05
phoe_
CLISP has the nice repl out of the box, for other implementations you need to use rlwrap or such.
21:06:28
aeth
For an alternative view to the FSF's, you may want to look into what defenders of the GPLv2 (e.g. Linus) said back during the GPLv3 release controversy.
21:06:52
aeth
New GPLv2 projects are released as "GPLv2 or later" so they're not explicitly GPLv3-incompatible, though.
21:07:45
jmercouris
Yeah, Linus is actually the reason I'm very carefully considering which license to release under
21:08:17
jmercouris
if I have contributors to my project under License X, can I change the License at a latter time, or must I have all rights to all submitted work like the FSF does?
21:08:28
aeth
The third non-FSF approach to the GPL is the commercial approach where vendors require copyright assignment and sell an identical proprietary version of their library. I don't think there's an ideological view behind this, it's just a business model.
21:08:32
jmercouris
I'm just worried I'm going to make a bad license decision and it will be a pain later
21:08:58
jmercouris
I also am kind of taking the Shinmeraesque view point a little bit, that likely if someone wants to they can just steal my code regardless of the license, but I still feel like I should set the "correct" license
21:09:36
jmercouris
aeth: So wait, you are telling me they SELL their GPL software? why wouldn't someone just download it and use it?
21:09:36
aeth
jmercouris: You can go from a GPL-compatible license to the GPL. It's trickier going the other direction, especially since no one wants to do copyright assignment because of e.g. what Oracle did to Sun's projects.
21:10:05
phoe_
jmercouris: they have the copyright, they can release two versions of the code with different licenses.
21:10:09
jmercouris
I wish I could dual license with BSD and have a clause that says you cannot use it for commercial purposes or something
21:10:15
aeth
"GPLv2 or later" or "GPLv3 or later" isn't a technicality, it's a necessity if you want to change licenses later on.
21:10:25
phoe_
one is GPL and you don't need to pay for it, the other is proprietary and you need to pay fro it.
21:10:50
phoe_
jmercouris: feel free to, there are a few commonly used non-commercial licenses around.
21:13:00
aeth
jmercouris: The GPL doesn't stop people from using it for commercial purposes (e.g. Red Hat or Oracle or Canonical or even Google) and there's a network loophole to the GPL that the AGPL attempts to fix (i.e. if you make your Foo library I can make a commercial Foo as a Service website and since I'm not distributing binaries of your Foo, it's allowed)
21:13:28
aeth
In fact, forbidding commercial use (e.g. half of the Creative Commons licenses) is explicitly not allowed under the open source definition.
21:13:47
aeth
The idea of the GPL is to just make it unattractive for commerical use, not forbid it.
21:14:44
phoe_
Wrong, the idea of GPL is to make sure the users of the software have the four freedoms defined as essential by the FSF.
22:13:39
jmercouris
aeth: You are correct, certainly it does not prohibit that use, but I am developing an application, not a library, so it'd be hard to spin it into something else
22:34:05
aeth
jmercouris: I'm not sure what the difference between an application and a library really is, especially in a language like Lisp.
22:34:54
jmercouris
I always think I have my mind made up, but then a conversation like this makes me start all over again mentally
22:41:00
aeth
Josh_2: An application is (probably too simply) a library with an entry point. In Lisp, you're free to ignore the entry point and directly access things, even private things. You could probably even do this on a saved lisp image that isn't tree shaken.
22:41:15
aeth
An application would have to be pretty fragile with globals everywhere, etc., to have nothing useful to someone else.
0:04:01
jmercouris
republican_devil: I don't know what Xach uses, but Shinmera has a framework called radiance, is quite nice
0:46:34
drmeister
I believe that ASDF is using the system clang compiler and I need it to use a different clang compiler
0:52:14
drmeister
ASDF does compile C source - correct? I see the pzmq library generates a grovel__grovel.c file - that is compiled somehow to a .o file.
0:54:32
jfe
drmeister: unfortunately i'm an amateur on asdf. but i had a question for you. the other day i asked why compilers aren't more frequently written in high-level languages like lisp. if i understand correctly, you wrote the clasp compiler in c++. why did you choose c++ instead of lisp?
1:02:13
drmeister
jfe: I did not write the clasp compiler in C++. Clasp has one interpreter written in C++ and two compilers written in Common Lisp.
1:05:56
jfe
drmeister: ah, i see. i listened to your presentation of clasp at google and must have misheard. thanks.
1:06:46
drmeister
Clasp interoperates with C++ (links with C++ libraries and C++ calls interleave with CL calls).
2:24:25
Xach
didi: i do it when i think someone might want to in-package to use no prefixes, but don't want to mess with implementation stuff. but it's also trivial to make a new package that uses PACKAGE
2:28:17
Ober
how do you get the line number of the offending error on sbcl when compiling and you hit the restarts/debugger?
2:30:46
didi
Oh, tip: it got nicer once I added (declaim (optimize (speed 0) debug safety)) to my ~/.sbclrc
2:37:59
Ober
rototilling a bunch of code back into a single file, but can't find the line where it's bombing on
2:54:07
loke
phoe: Seems to be as though he might be trying to redeclare a class from a standard class into a metaclass.
2:58:23
Ober
allegro built it fine, lw gave this error which seems more useful. Layout for class #<MANARDB:MM-METACLASS FILES 41B0C43E23> has changed from ((VALUE 0 8 MMAP-POINTER T) (IDX 8 8 MMAP-POINTER T))
3:12:23
drmeister
Ironclad generates a different MD5 digest than C++ code that I have and MD5 hash generators on the web - what am I doing wrong?
3:14:57
drmeister
The C++ code (My md5) and the MD5 calculator generate the same result. Ironclad - something different.
3:18:36
froggey
drmeister: I had a similar problem, it turned out my sin implementation wasn't accurate enough to build a table MD5 needed
3:28:16
phoe
drmeister: https://en.wikipedia.org/wiki/MD5 has the precomputed values, you could perhaps check if your sine gives you same hex numbers
3:38:23
drmeister
It's weird though - when calculate the integer value - it's fine. It's just when I convert it to a hex string that it zeros the last digits.
3:47:27
phoe
AFAIK you need to explicitly pass double-floats to sin, otherwise it pops out single floats that are not precise enough.
3:48:32
phoe
drmeister: (format nil "~x" (floor (* (expt 2 32) (sin (coerce 1.0 'double-float))))) ;=> "D76AA478"
4:02:13
drmeister
I wrote a function to generate the table and ran it in Clasp and Sbcl - I get the same results.
4:04:56
drmeister
(defun ccc () (let ((*print-base* 16)) (print (loop for i from 0 below 64 collect (truncate (* 4294967296 (abs (sin (float (1+ i) 0.0d0)))))))))