libera/#sbcl - IRC Chatlog
Search
14:41:06
stassats`
"If the file named by filespec is successfully loaded, load returns true." what does it mean to be successfully loaded?
14:44:16
stassats`
so you can't throw from load because you don't know if there's load-time-value used or not
14:44:45
karlosz
you can;t use load-time-value with deterministic results if you throw from it somewhere
14:45:58
stassats`
does that mean you can't call functions that have load-time-value before the fasl has finished loading?
14:46:56
karlosz
to write protable code you must write LTV forms such that they execute the same way regardless of how they are ordered to other top level forms
14:49:47
karlosz
how does the user know that the program they wrote is using + correctly with the right argument types?
14:51:33
karlosz
did you engage in this socratic dialog to tell me you don't like the way LTV is specified?
14:53:11
karlosz
either explcitly with THROW or as a natural by product of whatever the lisp file is doing (artihmetic errors, exception situations, i.o problems ....)
14:53:48
karlosz
if i write a script to query the file system and the file system returns an exception i should be able to handle that exception outside the LOAD
14:54:26
karlosz
so you should suspend at least some expectation that it will always do the expected thing
14:55:53
karlosz
if i call a function FOO and it throws an exception you would accept that as normal behavior right
14:55:59
stassats`
what can be said about LOAD that exited non locally? are all effects that happen after the exit discarded?
14:56:41
karlosz
if i write a lisp file that has (print "foo" )(print "bar") (print "cake") (foo) ...
14:56:57
stassats`
if there's a top level defun after THROW, does the definition of that defun not exist?
14:57:59
karlosz
its sitting in the fasl but the fasl loader never got to executing the load-toplevel action of the DEFUN
15:00:45
stassats`
in what order things are allowed to happen, which do not produce visible behavior
15:01:12
stassats`
if functions in the same file can't be redefined at runtime how does that square with exceptions?
15:02:01
karlosz
i.e. it really matters more what the loader executes, not what has been done at compile time
15:02:44
karlosz
i think mayve we should even get rid of compile time warnings for duplicate definitions entirely and only warn at load time
16:40:16
Krystof
I don't think we should get rid of compile-time warnings for duplicate definitions within the same file, even if we can't make them 100% correct, because users should have a clear way of not having the warnings: to declaim the name of the function notinline (or to not have redefinitions)
16:41:00
Krystof
I believe that compile-time warnings are more useful than load-time ones, because there is plenty of software out there that notices and surfaces compile-time warnings (slime, asdf) to the user, whereas not very much that I know of considers warnings at load-time
20:38:29
stassats
actual simd should be even better, and read-sequence into simple-base-string better still
20:53:41
stassats
with avx2 i can widen an 8-bit to 32-bit array with one instruction and with store it with one instruction
20:54:27
stassats
right now i tried 64-bit load and four 64-bit stores with DPB+LDB for shifting the bits
21:28:14
phoe
by removing support for windows newline conventions from everywhere else as a minor incompatible change?
21:29:42
stassats
and i don't want to do anything to the :ascii and :latin-1 external formats, so people who them for speed might get disappointed
21:31:33
stassats
and non-ascii utf8 would remain at the same speed for now, that's too complicated for me