freenode/#lisp - IRC Chatlog
Search
4:10:09
resttime
Sup, I've been writing small bits of Common Lisp to test a C++ daemon I'm writing that's going to be on a satellite which got me imagining lisp in space so I'm curious if it's possible to protect against random bitflips in space due to radiation with whatever is available.
4:11:50
resttime
Like could a random bitflip screw up a type and cause devastating errors throughout the whole lisp image or make the garbage collector delete the wrong memory?
4:13:04
resttime
An example to kind of protect against this in C is to represent a flag for example is reprsentating ON/OFF with a UINT16 instead of a single bit
4:14:15
resttime
But anyways, I don't know anything about this for lisp, like is it enough to use T and Nil?
4:15:39
Bike
you'd have to specifically think about it. i mean, like you could do the popcnt booleans in lisp as well
4:16:44
resttime
Errr but again this is going into implentation territory I dunno about so I'm here to ask :)
4:17:33
antonv
hi, who knows, what cl-tbree version is better / newer: https://sourceforge.net/projects/cl-btree/ or https://github.com/danlentz/cl-btree ?
4:18:14
pjb
resttime: you can write your own implementation, or patch an existing implementation, to add redundancy in the internal representations.
4:18:55
resttime
pjb: Supposedly yeah, but still protection is pretty important that stuff is still implemented like that. Example being multiple copies of data of polling data (there's been discussion about something like partitioning to store multiple copise of samefile on disk etc on satellite)
4:20:27
resttime
I wonder if there's some source of the lisp that ran on other space hardware and/or technical specifications of them somewhere
4:20:29
pjb
For example, there have been lisp implementations where there were no (obvious) type tag. Instead, data of a given type was stored all in the same memory page. So the type depended on the address. Then you would have to protect bits in pointers!
4:22:23
pjb
resttime: but seriously, it shouldn't be too hard to patch an implementation to do that.
4:26:36
Zhivago
I like the dylan approach which had the type tags point at the objects, allowing the tags to be elided where static inference was sufficient.
4:40:07
resttime
This seems like the right place to snoop around in lol: https://github.com/sbcl/sbcl/blob/master/src/compiler/generic/early-objdef.lisp
4:53:21
resttime
I probably need to rethink the premise :/ there's really only so much redundancy that can be added on before getting pedantic.
4:54:57
resttime
There's some C code which does do the whole bitflip protection thing so I'll ask those guys why they decided why they put it there
5:01:49
resttime
harovali1: You can check out roswell if you'd like, it's an implementation manager+more if the archlinux support isn't good enough
6:16:22
turkja
trying to get linedit installed on a debian box... what heck is going on, any idea? I get errors like this: "Just performed compiling #<MADEIRA-PORT "linedit" "ports" "ccl"> but failed to mark it done"
6:26:53
turkja
Just performed compiling #<MADEIRA-PORT "linedit" "ports" "ccl"> but failed to mark it done.
7:18:50
beach
greyavenger: It is easy to choose the wrong tools, so if you need help, you should say so.
7:44:19
Shinmera
stacksmith: uiop:launch-program works fine enough for async processes. I recently switched simple-inferiors to use it instead of external-program.
9:08:19
Shinmera
Can't use lisp if you want to let people install a lisp without a lisp already on the system.
9:21:56
resttime
Is the static-vectors library for sharing lisp simple arrays to C functions without copying it to C memory?
9:26:29
resttime
Thanks, I'm looking into the source for SBCL and it seemed different from another way which seemed to be done by 'pinning' the object against the garbage collector and then passing a pointer to it or something
9:27:13
Shinmera
Well, pinning isn't necessarily enough. The memory representation for the elements must match that of C oo
9:30:52
resttime
Hmmm, would you happen to know if SBCL is an implementation which cleans up these static vectors with the GC? (something mentioned in the readme, although it advises to not rely on it)
11:31:32
turkja
so it looks like ASDF 3.3.1 doesn't like what is in the linedit.asd: (:madeira-port "ccl" :when :ccl)
12:16:09
johnnymacs
In the sense that one programs on a purely reversible computer so that that processor won't consume any energy
12:17:20
phoe
do you want to run your computer without a battery and not plugged into a power socket?
12:18:37
Shinmera
Reversible computing as I understand it means that the state can always be rolled back or "reversed in time" in some fashion. Energy has nothing to do with that.
12:20:14
phoe
Following wikipedia, if reversible computing is an art of bypassing Landauer's principle, then it is not a matter of language but a matter of computer architecture
12:20:36
phoe
contemporary computers use irreversible computation and are therefore subject to Landauer's principle
12:21:05
phoe
and I bet that whatever language you use to program quantum computers, you can write yourself a Lisp there as well.
12:21:06
Shinmera
Anyhoo, turing equivalence says that if quantum computers are turing machines, then you can run lisp on them if you want :shrug:
12:24:04
phoe
and unless you have a reversible computer, all languages are equally unusable for reversible computing
12:26:09
phoe
it's the machine underneath that operates, the language only instructs it how to do it
12:28:09
johnnymacs
With the addition and the subtraction I can find out what the initial two terms were
12:28:57
johnnymacs
My research involves finding programming languages that can do anything that is possible for a language to do
12:29:28
phoe
all Turing-complete languages can do everything all other Turing-complete languages can do
12:30:07
phoe
so you can implement Lisp in Brainfuck and Brainfuck in C and C in Pascal and Pascal on a hypothetical bounded Turing machine and a hypothetical bounded Turing machine in Lisp
12:30:40
johnnymacs
It is true that with a turing machine you'd get a machine that can solve any math problem. However there are guarantees that you will not get. For example being turing complete gives you no guarantees as to how fast the computation will get done. Or as to how easy it will be to express the computation.
12:31:01
phoe
and this is not a Common Lisp problem because Common Lisp is a Turing-complete language.
12:31:06
johnnymacs
Being turing complete also gives no guarantees as to what features the machine will come preinstalled with.
12:32:17
phoe
no, it is a query about hyper-Turing-completeness, and is about computability more than Lisp itself.
12:32:40
johnnymacs
My point is the reason I don't go ask this in #javascript is that javascript is already out of the race
12:32:58
jackdaniel
I understand nothing from all this - either it is very close to nonsense or I'm too primitive to comprehend
12:33:06
jdz
The Common Lisp that is implemented in a browser in JavaScript is no longer a Common Lisp?
12:33:33
johnnymacs
There are features to a computer besides the limit of the computations it can do
12:34:51
phoe
But you can implement a Turing-complete language in any other Turing-complete language.
12:34:57
Josh_2
The quote goes something like this "every significantly complex programming project will have at some point implemented a lisp"
12:34:58
jdz
johnnymacs: so there you have it -- lisp can implement reversible computing, as you just said.
12:36:17
johnnymacs
To be purely reversible all of your hardware and software from the bottom of your stack to the top of the stack has to be reversible
12:36:30
Shinmera
13:26:55 Shinmera | Can we just say Lisp isn't suitable and move on to more fruitful topics
12:36:56
johnnymacs
There are machines in existence which are reversible in the hardware. They are called quantum computers
12:37:56
phoe
It is concerned about hypertheoretical Lisp dialects tha nobody created yet and almost no one has computers to run it on anyway.
12:38:05
jackdaniel
#lispcafe for reversible computing! ;-) but seriously, it fits nowhere near #lisp channel
12:39:44
Shinmera
Unfortunately the universe is mostly deterministic, so we'd just relive the last 10 minutes again over and over.
12:40:54
jackdaniel
I don't get the "mostly" part, it either is or isn't (and my belief is that it is not deterministic)
12:40:56
phoe
Shinmera: if the universe is reversible, then we can relive the last 10 minutes forever and still be unaware of it repeating
12:41:51
Shinmera
jackdaniel: Quantum mechanics says it isn't, but the fluctuations smoothen out with scale, so it is deterministic if you don't zoom in too much.
12:43:02
jackdaniel
Shinmera: taking into account chaos theory, even small changes may influence a big picture
12:49:49
paule32
the problem i see: how to iterate dynamical - e.g. Menu1 has 3 items, Menu2 has 4 ..
15:26:29
jmercouris
Hey everyone, I just made another release of my browser https://www.reddit.com/r/lisp/comments/7dlnif/next_browser_ver_004_with_binary/
15:26:55
jmercouris
This one includes a lot of updates from feedback that I got from the community here about how to improve my code. There's still a long way to go, don't get me wrong, but it's slowly getting better and more mature
15:27:17
jmercouris
I'm looking for anyone who would like to help work on a GTK release with me, or just leave a star on github, thank you for your time