freenode/#lisp - IRC Chatlog
Search
19:07:01
jmercouris
dfsadsfasdf: I'm also a python developer, so if you wish to frame some questions in python terms, I can help, kind of, I'm still quite new to lisp myself
19:07:03
pjb
dfsadsfasdf: the point of using sexps, besides the macros (which were invented 4 years after the sexps), is that they allow you to write operators and functions that merge smoothly in the flow of lisp syntax.
19:07:26
pjb
_death: well, already if you have to work with control codes, you should work on binary streams, not on character streams…
19:10:21
_death
pjb: I tend to agree, but I wouldn't see it as disasterous to use characters (i.e. (defconstant eot (code-char 4)) and work with that) if you assume an ASCII-based implementation will be used
19:11:07
jmercouris
pjb: Why for example, would we not look at char arrays, and to find last character iterate byte by byte till we find the control character for the end?
19:11:15
pjb
_death: 1- (code-char 4) may return nil, even if the implementation supports an ascii external-format.
19:12:08
_death
pjb: you're saying it may return nil because you don't see it as a character.. which again points to the need to read the ASCII standard I guess
19:12:39
pjb
jmercouris: there's no binary data in lisp. There are integers, and there's the subtype bit = (member 0 1) so you could say that this is binary. But there is the notion of binary stream which is streams of bytes which are subtypes of integer.
19:13:05
pjb
And there are character streams, and a serializer/deserializer to convert between (some) lisp objects and character streams.
19:13:42
jmercouris
wouldn't a binary stream be a stream of bits, since you said that bytes don't exist?
19:14:01
pjb
Basically, if you read and memorized the clhs, those discussions would mostly disappear.
19:14:02
_death
pjb: yes, but I already qualified with the assumption of an "ascii-based implementation".. a fuzzy term that can be used to win an argument :)
19:14:47
pjb
_death: what's defined is that there may be an external format that may use the ascii code to encode the cl standard characters.
19:15:08
Bike
maybe han unification can be involved here too somehow. just imagine the possibilities.
19:15:17
jmercouris
importance of course being an arbitrary measure, so what is important to me may not be important to you etc
19:15:41
_death
pjb: ok.. I will (re?)read the cliki page, and the ascii standard.. maybe this weekend
19:15:42
pjb
_death: so if you say something that doesn't exist such as "ascii-based implementation" I hear an "implementation that has an external format using the ascii encoding". And this doesn't imply that the internal char-code/code-char uses the ascii coding system.
19:16:22
pjb
jmercouris: indeed, you can use :element-type 'bit and read and write bit by bit. But it's also able to read and wites bytes of more than one bit.
19:17:30
pjb
Hey, again today, I hear they overestimated the cost of a railways, because they confused miles and km!
19:17:34
jmercouris
Okay, so what is the big issue here? that ascii is not being used internally, and therefore a control code may appear erroneously as a character if coerced to a char?
19:19:24
jmercouris
_death: What is the implication of your sentence? I don't understand the complete meaning
19:19:51
jmercouris
are you saying the definition of a bit by which I operate is a simplification of something more complex?
19:20:12
pjb
jmercouris: the big issue is that of conformance (and portability). The point here is that we cannot make the assumption that (code-char 4) will return anything related to the ASCII control code 4, and that after (with-open-file (ascii-stream "foo" :element-type 'character :external-format *ascii-external-format* :direction :output :if-does-not-exist :supersede) (princ (code-char 4) ascii-stream)) there's: no guarantee that the b
19:21:18
pjb
jmercouris: in information theory, bit is the unit of information. A lisp bit may contain more or less than one bit of information.
19:22:27
pjb
jmercouris: for example, if we consider: 4*1000 and I tell you that I got a bit valued 0 from that bit-vector, you get 3/4 bit of information about the position of that bit, since you can exclude the position 0 for this bit 0.
19:22:52
Bike
an intuitive way to think of it is, say you have a fair coin and flip it. the information about which way it landed is obviously a bit's worth. but what if the coin is weighted, so that it lands on heads more often? intuitively, there is some amount of informing going on if i tell you it landed heads, but less than a bit.
19:23:30
pjb
If you live in a place where the sky is blue 90% of the time, and grey 10% of the time (during the day), if you ask "Is the sky blue?" and I answer you "yes", you don't get 1 bit of information, but only 0.1 bit.
19:24:03
jmercouris
how did I not get a full bit of information? I was interested in the state, 2 possibilities, I got one of them
19:25:21
pjb
Bremermann's limit = 2e50 bit/kg/s ; in a human brain: 1e18 bit/kg/s ; there's some margin…
19:25:38
pjb
Bremermann's Limit is the maximum computational speed of a self-contained system in the material universe.
19:26:34
pjb
Well, it's still quite frightnening: it means that there's no physical impossibility for an artificial (or even natural) intelligence that is astronomically smarter than us.
19:27:24
pjb
jmercouris: yes, but since the states are not equiprobable, the 1 bit of data didn't convey 1 bit of information. You learned less, because the bit of data just confirmed what was the most probable.
19:27:31
jmercouris
are you afraid that this potentially superbeing would turn your life into pure suffering or something?
19:28:12
jmercouris
I think with time we are nicer to animals, in the future I predict more niceness
19:28:20
pjb
jmercouris: yes, basically it's the Vogon problem. They just decide to build a hypergalactic highway bypass over the Solar system…
19:28:46
pjb
We're nice to animals, but when you build a highway, we don't care about the ants and worms destroyed…
19:29:19
jmercouris
jackdaniel: Okay, so you are arguing that, in the past, humans behaved nicer to animals?
19:29:20
pjb
We cannot generalize, it's a question of civilization and different people have different levels of civilization.
19:31:15
jmercouris
at any rate, read at your own leisure and reply later, best of luck catching up with work
19:31:52
jmercouris
jackdaniel: I'm not sure what I did to give you this opinion of myself, but, I apologize
19:33:05
jackdaniel
you seem to assert I have some particular opinion here – I'm just saying that I'm not interesting in defending my point
19:33:44
jmercouris
it's okay to feel this way about me, I am just letting you know, if at any point I bothered you, I did not mean so
19:51:34
shrdlu68
1.7 bits sounds like a measure of entropy. I doubt jmercouris is simplifying anything.
20:47:01
shka
doing this naive way, gives me Value #<SIMPLE-DATE:DATE 18-01-2018> can not be converted to an SQL literal. error
21:03:23
aeth
Looks like postgres itself can accept any format but recommends ISO 8601. https://www.postgresql.org/docs/current/static/datatype-datetime.html#DATATYPE-DATETIME-DATE-TABLE
22:42:40
Shinmera
When I update things it's typically a series of reconnects because I never seem to be able to do anything without also breaking twenty things in the process.
22:43:42
jmercouris
This is the quintissential: http://weknowmemes.com/wp-content/uploads/2012/09/my-code-doesnt-work-i-have-no-idea-why.jpg
22:43:59
Shinmera
Yeah, well, the system administrator part of me dies a little every time it happens
22:44:21
jmercouris
it's alright, you're an engineer, not a sysadmin, don't give into the devops hype
22:47:59
jmercouris
I can't think of a clever proverb, but I'm sure one day you'll hit your zero downtime goals :D
1:07:19
pfdietz
So, how DO quicklisp's systems get curated? Is there a way to tell if they're good or not?
1:08:09
jasom
pfdietz: the default distribution merely checks that they have some open-source license *and* that they build on sbcl
1:08:51
pfdietz
The problem is they can interfere with each other. Just building in isolation isn't enough.
1:13:44
jasom
pfdietz: I think asdf has made some changes to how readtables are modified; it was made less aggressive to to breaking some systems that assumed loading system X would modify the readtable as a side-effect, so I don't know what the final outcome of that was.
1:14:27
jasom
pfdietz: in general the curation is very minimal, so there is no guarantee of quality or completeness
1:15:10
Xach
Well, it does lately. I added a lot of stuff without asking at the start, to bootstrap...
1:40:52
aeth
Fortunately, most of the probable nickname collisions are libraries that do the exact same thing, probably wrapping the exact same C library.
1:46:19
pfdietz
At this point, I mostly care "does loading this system ruin my lisp session". Purely internal quality is less of a concern.
1:47:46
aeth
Without care, a modest sized application could be using dozens, which also probably means duplicated functionality (e.g. 3 JSON libraries or something)
1:52:16
aeth
pfdietz: It looks like I use "::" twice, to declare a type that's not exported and to fix a performance bug in ECL, i.e. (setf cffi::*cffi-ecl-method* :c/c++)
6:26:51
phoe
I want to write a paper extending CLIM2's idea of protocols and extending your extensions of this idea.
6:27:27
phoe
But with >9000 other papers on software development, engineering, software modularity and software interfaces, I don't think it would be any kind of significant contribution.
6:30:44
beach
Most work in software engineering etc. assumes an object-oriented model of type Java, with single dispatch and methods in classes.
6:31:07
beach
Therefore, some work that is related to generic functions etc could very well be unique.