freenode/lisp - IRC Chatlog
Search
4:08:15
|3b|
you could try killing all worker threads, exiting repl, and saving from *inferior-lisp*
4:52:21
Colleen
Unknown command. Possible matches: 8, time, deny, set, say, mop, get, tell, roll, help,
5:00:19
beach
And what does your interpreter have to do with CLISP? Are you trying to copy what they did?
5:05:21
LdBeth
Since a very bare bone lisp interpreter such as ulisp can barely fit into Ardurino chip
5:07:12
fragamus
the interpreter needs to be tiny but the code for common lisp can be on a regular storage device
5:13:42
LdBeth
I don’t get the point, since if a large storage is available there’s no need for a lisp interpreter to load a Common Lisp
5:14:14
fragamus
well the lisp program will be small and won't link to much and won't do a lot of alloc
5:22:22
pjb
fragamus: lisp.run is in a place that depends on the installation of clisp. For example, it can be something like: /usr/local/lib/clisp-2.49.93+/base/lisp.run
5:22:46
pjb
fragamus: The best is to get the sources of clisp and to configure and compile them yourself.
5:23:48
pjb
fragamus: clisp implementation is made much more complex than what you want, because it has to deal with two stacks: a normal C stack, and a lisp VM stack.
5:24:31
pjb
fragamus: see https://clisp.sourceforge.io/impnotes/ and https://clisp.sourceforge.io/impnotes/internals.html
5:28:02
tourjn
alt-x package-list-packages show me several slimes which is most popular one? I have two slim-mode two slime and a lot of slime-*.
5:44:14
beach
I wonder how many toy interpreters for toy versions of Lisp there are out there. And I wonder how many of them are actually used.
5:44:35
pjb
tourjn: My personnal preference is to use the slime provided by quicklisp, since slime needs a swank, and it's better if it comes from the same version.
5:45:33
pjb
fragamus: + have a look at https://www.informatimago.com/articles/usenet.html#Compilation
5:48:14
mfiano
Toy Lisp interpreters comes up more often on the Lisp Discord server. Though it is quite a bit more active of a forum than here
5:49:35
no-defun-allowed
(My theory is they can't be bugged to write a parser for their favourite language, since that 60% rarely follows any Lisp semantics.)
6:13:08
jeosol
|3b|: didnt get it to work. Just reran the procedure on terminal and saved the image that way
6:15:08
jackdaniel
how would you define a type denoting a homogenous sequence? something like '(sequence* integer)
6:30:06
Shinmera
There's two answers, either you can't, or you write a type expander that generates a global function to use in satisfies for that particular element type.
6:32:25
jackdaniel
but elt is a parameter of the type, not something known at the type definition time
6:33:37
jackdaniel
I don't follow, symbol given to "satisfies" denotes only a function accepting one argument - the object
6:34:52
jackdaniel
so if we compile it to a predicate checking for integer sequence, then this function will check for `every integerp` and that's it
7:49:26
no-defun-allowed
must have been their very short story, though I think using a hash is cheating the word count metric
7:49:44
jiny
clisp -c quicklisp.lisp left me a output file named quicklisp.fas . what does this mean?
7:50:42
jiny
clisp -c quicklisp.lisp left me a output file named quicklisp.fas . what does this mean?
7:51:19
ck_
jiny: look up 'fasl file', it stands for fast load and contains -- who'd have guessed -- compilation output.
8:24:57
tourjin
clisp -c myfile.lisp print out Wrote file /cygdrive/c/work/myfile.fas message. what does this mean? how can I run myfile.fas?
8:29:07
pjb
tourjin: what about reading some documentation? https://clisp.sourceforge.io/impnotes/ https://clisp.sourceforge.io/impnotes/clisp.html
8:31:00
saturn2
if you're just getting started you might find this easier https://portacle.github.io/
8:32:01
pjb
jackdaniel: that doesn't really work. That seem to work. But conformingly, it's quite difficult to make it work. Because you need to ensure that the function is available both in the compilation environment, and in the execution environment. It's rather delicated to do it correctly and conformingly. Also, notice that you want to generate function names, for your randome type specifiers, and you need to keep some consistency b
8:40:25
beach
jackdaniel: Jim Newton's PhD dissertation was largely about type descriptors for sequences. It is a great document.
8:50:25
jackdaniel
For now I'll define it to check for a sequence, this type annotation is primarily meant for a programmer reading the code, not for the compiler
10:39:08
ck_
you should probably obtain the key you want to verify with first. gpg --receive-keys <id>, or something.
10:43:55
ck_
I tried to tell you that you need to obtain the public key you want to verify with, first.
10:44:28
ck_
To do this, locate the human interface device typically located between you and the monitor, open a terminal, and enter into this terminal:
10:49:00
tourjin
gpg: WARNING: This key is not certified with a trusted signature! but but it succeded. thank you.
10:52:43
tourjin
D7A3489DDEFE32B7D0E7CC61307965AB028B5FF7 where did this come from? can I make my own key ID?
10:59:44
scymtym
tourjin: in a nutshell, Xach signs Quicklisp with his signature. your computer doesn't know what Xach's signature is like, so you have to download it (receive-key). then you get a warning that the key is not trusted because anybody could upload a key and claim that it is Xach's key. that trust can only be established by meeting someone in person and have them attest that the key is really Xach's (potentially indirectly through a "web of
12:31:23
eigenhombre
Complete newbie question here, still trying to get my head around how packages/systems/ASDF/Quicklisp works. I'm using SBCL + Emacs for my environment. When I use a library from Quicklisp, say `cl-ppcre`, is it expected that I would have to add, say, `(ql:quickload :cl-ppcre)` in my `.sbclrc`? I'm finding that otherwise, when I start my SLIME REPL in Emacs, my code doesn't know where `cl-ppcre` is even if it's in my
12:33:49
beach
eigenhombre: The typical way is to write your application code using an ASDF system definition.
12:36:44
jmercouris
just a point of clarification: You don't have to quickload cl-ppcre in your sbclrc, you can just quickload your project
12:37:42
thijso
So, put a symlink to your own project's asd file in ~/quicklisp/local-projects, the in slime do (ql:quickload :your-project) and it should pick up the libraries from quicklisp like cl-ppcre and others.
12:37:50
beach
eigenhombre: It looks like you are getting plenty of help, so I'll be quiet. Others know better than I do.
12:38:10
eigenhombre
I do have the symlink, but that's for libraries I make, right, not Quicklisp dependencies? Ah, I'll try `quickload`ing my project...
12:38:37
Bike
i mean if you don't actually load your project the asd has nothing to do with your system.
12:40:10
eigenhombre
Got it. Do Emacs people do a separate `ql:quickload` of the current system (that they're developing on) at the REPL then, whenever they make changes to e.g. dependencies?
12:48:58
eigenhombre
yes, it's `slime-repl-set-package` - I have that working now for a minimal project w/ no deps. lemme try adding a dependency...
12:49:17
ralt
I'm surprised dim hasn't written pllisp, similar to https://www.postgresql.org/docs/9.5/plpython.html
12:50:06
Bike
just to make sure you're clear on this... adding something to the file will not itself change anything in lisp. lisp doesn't continually poll your files or anything. you have to go through and tell lisp to load something
12:51:23
thijso
ACTION thinks maybe he shoud figure out how to get swank running in his app on the phone, so he doesn't have a >1.5 minute roundtrip to debug it
12:52:26
eigenhombre
Bike: I get that -- thank you. I'm trying to figure out the best workflow. I got `slime-repl-set-package` to work on a brand new ASDF project (created with `cl-project:makeproject`). However, when I add e.g. `"arrow-macros"` to `depends-on` in the ASD file, it does not find the dependency yet (e.g. when I `slime-set-package` again). Still trying to figure that out.
12:53:17
Bike
there's a distinction between packages and systems. systems are collections of code in file and etc. packages are just namespaces for symbols.
12:54:22
Bike
setting the package just means telling lisp that it should understand unqualified symbol names to be in such and such package/namespace.
13:05:06
eigenhombre
Everyone, I was just able to clean up my dependencies on a multi-file project and get that all working smoothly, thanks to your suggestions ... thanks again.
15:39:21
drmeister
What do folks usually do when they want to write a function that returns a shallow copy of instances of a class?
15:40:07
drmeister
I'm implementing a genetic algorithm to mutate a complex object and it's going to be useful to make shallow copies of instances of a class. If I change the class I want the shallow copier to keep up to date.
15:41:11
drmeister
Every one of those lipid molecules is represented by an instance of a class called ga-lipid. I want to shallow copy the slots of ga-lipid.
15:42:05
minion
The URL https://gitlab.common-lisp.net/users/sign_in?secret=d703f907 will be valid until 15:45 UTC.
15:42:10
drmeister
https://stackoverflow.com/questions/11067899/is-there-a-generic-method-for-cloning-clos-objects
15:53:05
minion
The URL https://gitlab.common-lisp.net/users/sign_in?secret=9eebcba6 will be valid until 16:00 UTC.