freenode/#lisp - IRC Chatlog
Search
22:30:13
fourier
so obiviously since i have filled the hash table in (eval-when) it is different from initial value
22:34:16
fourier
the real problem is that hash tables doesn't have any construction-time initializer list
22:36:12
fourier
that is exactly a problem: how to create a constant hash table with pre-defined set of key/value
22:41:01
fourier
no the version with let doesn't help, same error, but the number of objects is the same now
22:44:13
fourier
interesting, its hard to understand why exactly are they not equal. keys are the strings so should be no problems
22:44:14
Shinmera
For this little number of values a hash table is unlikely to be much faster anyway.
22:45:33
fourier
Bike: yes it looks like you up to something, probably since I recompile a file the values of #'myparser-1 are changed as well
22:46:04
Shinmera
Also fun thing about define-constant: https://irclog.tymoon.eu/freenode/%23sbcl?around=1518617175#1518617175
22:57:05
fourier
ok off for now, will think about all organization tomorrow. the problem is even more annoying as it seems to work with LW but fail with SBCL :(
1:13:52
minion
verisimilitude, memo from ldb: seem you used something like `&aux (&optional ...)' in `cl-ecma-48', but Clozure CL I use complains about that because lambda list keywords are specially treated in ccl
1:16:18
verisimilitude
Now, I'll double check, but I don't believe lambda list keywords are barred from being BOUND, since they're not FBOUND.
1:18:58
verisimilitude
>If an external symbol of the COMMON-LISP package is not defined as a standardized function, macro, or special operator, it is allowed to lexically bind it as a function (e.g., with flet), to declare the ftype of that binding, and (in implementations which provide the ability to do so) to trace that binding.
1:20:25
verisimilitude
>If an external symbol of the COMMON-LISP package is not globally defined as a standardized dynamic variable or constant variable, it is allowed to lexically bind it and to declare the type of that binding, and it is allowed to locally establish it as a symbol macro (e.g., with symbol-macrolet).
1:22:29
verisimilitude
So, the issue is with CCL and I'm reluctant to change a program purely because an implementation is defective.
1:23:16
Bike
i think a lambda list like that is confusing because it does different things if the lambda list is destructuring
2:25:10
rme
"All symbols whose names begin with & are conventionally reserved for use as lambda-list keywords and should not be used as variable names. Implementations of Common Lisp are free to provide additional lambda-list keywords."
2:25:35
sjl
Shinmera: does 3d-vectors have a way to get the distance between two vectors that doesn't require allocation/mutation? (vlength (v- v1 v2)) works but conses
2:26:19
sjl
I could write it myself but figured I might have missed it since the docs claim "It contains most of the vector operations one would usually expect out of such a library" ;)
2:33:23
verisimilitude
It doesn't seem like there's an equivalent restriction in the HyperSpec, rme.
3:24:47
ldb
verisimilitude: seems CCL use MEMQ to match lambda list keywords. see `verify-lambda-list' https://github.com/Clozure/ccl/blob/003917cbbce90b7a7b5fa4bf90e9fe424e5637e9/level-1/l1-clos-boot.lisp
3:28:45
krwq
what's currently recommended way to setup tests? I used to add perform method which loads the system and does symbol-call in my asd file but after upgrading sbcl I'm getting warnings about deprecated recursive use of (ASDF/OPERATE:OPERATE 'ASDF/LISP-ACTION:LOAD-OP...
3:34:55
verisimilitude
What's your opinion on this issue, ldb; do you think CCL violates the standard by disallowing this?
3:45:31
ldb
verisimilitude: CCL's code base is quite old, and since CLTL2 mentioned that and CLHS seems has no spec about it, I won't consider it as violation. One more reason I discourage to use `&' prefixed words as variables is it confuses syntax highliting.
3:46:46
verisimilitude
I found that more interesting than anything; so much of the Emacs Common Lisp syntax highlighting is unintelligent to the point of amusing more than frustrating.
3:55:02
verisimilitude
Then again, I'm also careful to change idioms and whatnot to ``writing'' rather than ``speaking'' or ``talking'' when using a medium like this.
3:57:30
verisimilitude
How would one pronounce ``ugt'', anyway; I'd figure ``ugh'' with a hard ``t'' sound at the end.
4:44:02
verisimilitude
The cl-ecma-48.lisp file is updated, but I've not updated the cl-ecma-48.tgz file, yet.
4:46:16
verisimilitude
I was careful to double check my searching and replacing, but do tell me if it doesn't work, which means I made a mistake somewhere with that.
4:47:01
verisimilitude
Then again, you were probably loading that to load ACUTE-TERMINAL-CONTROL, I suppose.
6:08:23
asarch
One stupid question: how would you create a function at runtime? Can you give me please an example
6:24:12
verisimilitude
Actually, that's an old version of the code; I suppose I forgot to upload the latest version.
6:43:14
minion
verisimilitude: SICL: SICL is a (perhaps futile) attempt to re-implement Common Lisp from scratch, hopefully using improved programming and bootstrapping techniques. See https://github.com/robert-strandh/SICL
6:43:20
minion
verisimilitude: Cleavir: A project to create an implementation-independent compilation framework for Common Lisp. Currently Cleavir is part of SICL, but that might change in the future
6:50:05
beach
The code generator of the compiler will obviously contain a few lines of assembler, of course.
6:51:16
beach
LdBeth: I don't think I have a published paper on the basic organization of SICL or Cleavir. I am waiting until I have a more complete system.
6:55:00
verisimilitude
I also have ambitions to eventually create a Common Lisp system, but I'm currently working on a machine code development environment, so that's a ways away.
6:56:12
verisimilitude
The machine code development environment is in-progress, which prevents me from using it to work on a Common Lisp implementation is what is meant.
6:57:17
beach
verisimilitude: I am trying to figure out how developing a Common Lisp system would depend on a machine code environment.
6:57:35
beach
verisimilitude: It is far from done, but it would probably use something like that, yes.
6:57:56
verisimilitude
So, I intend to write most of the COMMON-LISP package in Common Lisp, implementing primitives and whatnot in machine code.
6:58:11
verisimilitude
Will this implementation provide its own mechanism to exit; if so, I'll add it to SHUT-IT-DOWN already.
6:58:34
loke
Is there a way to print a symbol using the conventions of readtable-case :INVERT, without actually changing the readtable?
6:58:35
beach
verisimilitude: Let's discuss that in a few years when I have made some more progress.
6:59:05
verisimilitude
Writing a language entirely in itself can be interesting, but I find it much easier to simply write the base in something else.
7:00:33
verisimilitude
I find it much easier to think about having precise control over the compiled result if it's not written in itself.
7:01:59
verisimilitude
This is my website; I don't currently have any material on this planned Common Lisp implementation, however.
7:03:33
beach
verisimilitude: If you have any questions about SICL, I'll be happy to answer them. But right now, I am off to run some errands.
7:03:45
loke
verisimilitude: I do, but I find it a bit ugly. But perhaps I have the wrong sense of æthetics.
7:04:26
verisimilitude
A brief summary of a sentence or so, if possible, would be appreciated, when you get the time, beach.
7:14:39
phoe
verisimilitude: SICL is a highly modular CL implementation written in CL and bootstrapped from CL.
7:15:31
verisimilitude
I use Emacs with Ghostscript to read PDFs, but my GuixSD X11 Emacs is currently defective; I'm using no-x Emacs, currently.
7:23:12
verisimilitude
I would just run X11 and Emacs, but there are a few other things I sometimes need to do that prevent that right now.
7:33:20
LdBeth
Even you’re still young physically, you mind gets older(and mature) when you start using CL
10:04:51
Shinmera
I have yet to see an explanation as to why anyone would ever push NIL onto features to begin with.
10:08:53
phoe
Shinmera: (pushnew nil *features*) is a magical way to break a lot of Lisp code in unexplainable ways
10:08:57
jackdaniel
just as C is easier to read because you don't have to count the parenthesis ;) I'd say it is a matter of getting used to it, but #+NIL being semantically wrong is a fact from the specification standpoint and the programmer's desired effect
10:10:43
phoe
and if I wanted to use code that's only incorrect in some circumstances rather than code that's correct period, I'd be using Javascript
10:12:54
Shinmera
phoe: Whether people write correct code or not has nothing to do with the language.
10:22:41
Shinmera
Personally I just comment things out. With expand-region bound to C-q, that's just as quick as C-q M-;