freenode/#lisp - IRC Chatlog
Search
19:36:29
Marcy
I can't get slime to load quicklisp automagically, the closest thing I could find to an answer was here: http://slime-devel.common-lisp.narkive.com/o9d9bm37/different-behavior-ccl-w-slime#post2 which seems to indicate that slime isn't loading my CLISP init file correctly, but further searching isn't turning up results for me.
19:37:05
Xach
Marcy: do you want quicklisp to load when you start clisp, or only when you start slime?
19:38:12
Marcy
It loads fine into CLISP, and slime has CLISP as my inferior-lisp-program. I'd like for it to load when I start slime.
19:43:09
Xach
Marcy: are you up for pasting some stuff? if so, what's in your clisp init file? and what's in your *inferior-lisp* buffer at the start? maybe there are some clues.
19:46:45
Xach
As a meta comment, clisp is not good and I would recommend something else. But it is still an interesting puzzle.
19:51:12
Marcy
Xach: I'm new and on windows, and am having trouble finding it again. I knew where it was last night...
19:52:50
jasom
Marcy: if you just want to get up and running on emacs, and don't mind using sbcl, I've got a "just unzip it to run" packge of emacs/slime/quicklisp/sbcl here: https://github.com/jasom/lispstick-automate/releases/download/1.0/lispstick-sbcl-1.3.9-emacs-24.5.zip
19:54:04
Marcy
jasom: my .emacs file appears to be empty, with the exception of the ql loading code. And I don't have a specific attachment to CLISP other than, "it's what I started with"
19:55:43
Marcy
jasom: I set up my slime using QL through CLISP on the command line, so it's all magic to me.
20:01:16
Marcy
jasom: http://paste.lisp.org/display/355606 Looking at this closer, I'm not actually writing my .emacs file, because of reasons? But emacs is loading the same file when I load it across sessions.
20:02:45
jasom
Marcy: that's fine, I just wanted to check that nothing was passing options to clisp to tell it to *not* load your initialization file. That's on the second line of the .emacs
20:10:01
Marcy
Xach: https://pastebin.com/m0Jx9QAr here's my CLISP init file; why is it bad? Is there a place I can dig around to find out more about implementations?
20:11:45
Xach
Marcy: clisp has some virtues but they are outweighed by its flaws. it is not very fast, it has some deviations from the spec, it is not released very often, it is unmaintained or lightly maintained, and it does not have many users to help other users.
20:12:45
Xach
SBCL is popular and actively used and developed. CCL is pretty good, though development has slowed quite a bit. other implementations have their virtues and vices too.
20:13:56
osune
it seems the users settle for sbcl for general stuff and ECL for the embedded side (?)
20:14:07
Xach
for example, i don't use abcl, but it runs on the jvm, and if that was a constraint for me, i'm glad it is actively developed
20:14:30
Shinmera
ACTION wonders how to divide CL implementations into the different vices of Pride, Envy, Wrath, Sloth, Greed, Gluttony, and Lust
20:16:56
Marcy
Haskell introduced me to the REPL, and I don't want to use anything without it, but oh gosh getting build environments working as a beginner in whatever language is rough.
20:17:37
Shinmera
You could also just use a packaged deal like Lispstick or Portacle, which has been shown to you.
20:18:01
rpg
ABCL is handy if you want to script a Java program, but if you just want to run CL code, and want something free, you should probably use CCL or SBCL.
20:18:12
Xach
Everything new smacks you with all the weird stuff that longtime users just ignore/accept/take for granted.
20:19:55
Marcy
Shinmera: I'll take a look at both of those, but neither showed up when I googled "learn lisp" :p Scala has a similar issue, except lisp has not blown up when I tried to do stuff in the preferred IDE. I couldn't get hello_world to work in Scala's IDE : /
20:20:41
Shinmera
And a lot of people still continue to put out tutorials that try to do things from scratch.
20:21:50
osune
well apart from lispstick, which i didn't know about until now. there was no other option until last weak, to be fair ...
20:22:24
Shinmera
there was lispbox, but it hasn't been maintained in forever and never quite run right on all systems either.
20:25:38
jasom
Speaking of niche uses of lisps not named sbcl or ccl, has anyone written a plugin for a non-lisp program using ECL?
20:25:48
Shinmera
I made Portacle in preparation for writing my book. The idea that people would have to go through an error-prone, long, and besides-the-point manual setup before they could get started lisping is absolutely disgusting to me.
20:26:44
jasom
Shinmera: that's also why I created my tool for generating .zip files for windows and my script for configuring slime on linux
20:27:18
Shinmera
osune: https://www.reddit.com/r/lisp/comments/6zhc2m/the_portacle_common_lisp_ide_10_released/dmvd619/
20:27:38
dlowe
Shinmera: there was always the demo version of lispworks. Though portacle is much better, so thanks.
20:28:59
osune
Shinmera: what can you do about native grep support in portacle ? asking for a friend ...
20:29:37
jasom
osune: I also used shell scripts for exactly the same reason for generating lispstick: https://github.com/jasom/lispstick-automate
20:30:55
Shinmera
jasom: Oh, so you use Wine to build. Interesting. Did you encounter any issues with that?
20:31:26
osune
jasom: yeah but see this days where people speak of dockers and flatpaks 'n fancy stuff , using plain shell seems exotic for modern standards
20:32:01
jasom
If I need incremental builds and dependency management, I switch to redo, which is just a fancy interface for shell scripts
20:32:51
Shinmera
osune: One of the requirements for Portacle was to avoid container technology, so that rules out Docker. I didn't know of flatpack at the time, but I doubt it would easily solve my issue, and would only handle Linux anyway.
20:33:24
jasom
Shinmera: sbcl works as good, if not better, under wine as native windows, and the only other thing I was doing was scripting .msi files, which wine does fine as well
20:33:51
jasom
There are supposedly crazy corner-cases of .msi files that wine can't handle, but I've not run into them in my time using it
20:34:32
Shinmera
Currently portacle is already wired to MSYS2, so seeing if Wine would work as an alternative host would require a good bit of work.
20:36:12
jasom
Shinmera: mainly I don't have a windows machine everywhere I go, and wine is much faster than a VM
20:38:26
jasom
back when I was maintaining a native-windows application written in lisp, I used wine for building executable imags as well; so much nicer than .bat files, and I never had time to learn powershell
20:40:38
Shinmera
https://github.com/portacle/portacle/commit/06e124851fb11efd0495b99bfeafb2bdce9a8fe8
20:42:15
Shinmera
I initially used scripts to handle the wrapping of executables, but that turned out to be a mistake in the long run, especially on Windows. Hence the launcher application.
21:35:22
edgar-rft
JohnTalent: the error seems to be that (SDL2-EXAMPLES:BASIC-TEST *POSIX-ARGV*) was called with one argument, but wants exactly zero arguments. Everything else must be looked-up in the definition of the SDL2-EXAMPLES:BASIC-TEST function.
21:41:54
ralt
how can I make a macro that will give me the proper docstring when using multiple args? e.g. with (defmacro foo (vars &body body)), I'd like "vars" to be decomposed into proper arguments in the docstring, such that I can do (foo (#| get proper docstring there |#
22:46:40
edgar-rft
JohnTalent: you call it with the argument *POSIX-ARGV*, so even if *POSIX-ARGV* is NIL, it's a *one* argument, a symbol-name.
22:54:12
edgar-rft
Sorry, now I understand: in prerend.lisp you write (sdl2-examples:basic-test) and then buildapp turns it in dumper-2SKVI5f7.lisp into (sdl2-examples:basic-test *posix-argv*), then it looks like a bug in buildapp
22:56:04
JohnTalent
edgar-rft: Ah okay. Off the top of the head, is the source available for buildapp?
22:57:06
JohnTalent
edgar-rft: When you run hello-lines it gives you a REPL. I type (sdl2-examples:basic-test) and everything works without issues.
22:59:07
JohnTalent
perhaps it's looking for an eclosure to the series of lists I provided in preresnd.lisp but I'd rather look at the source.
22:59:45
edgar-rft
AFAIK the source is <https://github.com/xach/buildapp>, but I never used buildapp, so don't ask me too man details :-)
23:05:26
edgar-rft
The normal way is not to create stand-alone executables, so you're outside the ANSI spec, everthing depends on the SBCL internals.
23:08:39
edgar-rft
I usually start with dumb-simple things like (print "hello") lines and stuff like that
23:13:21
edgar-rft
but it would be interesting where the *POSIX-ARGV* argument (probably holding the command-line arguments) comes from
23:22:16
edgar-rft
To me it looks like buildapp tries to insert a handler for command-line arguments. Look at the (defun main (argv) ...) examples at <https://www.xach.com/lisp/buildapp/>
23:45:01
edgar-rft
JohnTalent: in a stand-alone executable it's up to *you* to start a REPL if you want one.
23:52:56
mfiano
If you are trying to dump an executable of a game/sdl render, a lot of groundwork has to be done
0:03:34
mfiano
At a bare minimum, you'll have to make the sdl thread main, and somehow control how assets are resolved, since they would otherwise refer to the host system's path locations without any work done.
0:06:02
JohnTalent
what assets does cl-sdl2 require besides tg, sdl-ffi etc. Are these the sort requirements you refer to?
0:34:50
whoman
guys. i think i have a serious problem. i cant un-haskell myself while im trying to lisp. i dont know if its because i am old after hiatus, or if i should just persevere
0:43:47
whoman
i think lisp is a good and possibly eternal idea. it can be implemented from memory; haskell is a magic proprietary mystery. i depended on laziness a lot. i think i can learn more about lisp optimization and lean on sbcl/etc a bit more
0:55:33
shrdlu68
whoman: Can't relate. I've been thinking of learning haskell for a while now, though.
1:01:29
whoman
it has really affected and improvde my approach and internalizing of problems and concepts
1:04:34
Bike
haskell isn't proprietary, is it? it has a standard and the main compiler is named after a school.
1:14:59
whoman
Bike, yes, i mean as an idea. the lisp "idea" is much more compact. so if all the computers exploded, for eg.
1:17:15
Bike
HM is pretty easy as type inference goes, and other than that it's just lambda calculus with some more shit thrown in, same as lisp
1:17:48
whoman
if all source code disappeared, im imagining ghc one of the more difficult compilers for replacing from scratch
1:19:21
whoman
like a basic working implementation if we had to get back to punch cards for a week or two
1:43:54
aeth
I think anyone here with enough time could write a near-complete implementation of Common Lisp that is 10x to 30x slower than SBCL.
2:04:58
drmeister
Should shared-initialize be being called on generic functions repeatedly when starting up? I'm seeing that in Clasp - it is unexpected.
2:06:26
loke
“The generic function shared-initialize is used to fill the slots of an instance using initargs and :initform forms. It is called when an instance is created, when an instance is re-initialized, when an instance is updated to conform to a redefined class, and when an instance is updated to conform to a different class”
2:07:23
drmeister
Well, I wrote an :after method on shared-initialize for generic functions. I wanted it to initialize a slot based on the lambda-list of the generic function.
2:09:42
drmeister
That is troublesome to obtain - this is happening when Clasp is starting up. Checking...
2:23:43
drmeister
It's called by reinitialize-instance - on second thought it's probably not a good way to initialize this slot.
2:24:04
drmeister
I need to initialize a new slot for generic functions based on the number of required arguments it has.
2:24:26
drmeister
I want to initialize this slot just once, when the generic function is first created. Where would one do this?
2:33:29
loke
drmeister: I'm more curious as to why reinitialize-instance is called when you add a new method?
2:46:19
loke
The defmethod macro itself calls ENSURE_GENERIC-FUNCTION... The defmethod macro expands into a call to INSTALL-METHOD with also calls ENSURE-GENERIC-FUNCTION.
2:58:57
drmeister
There may be - I've got problems much later - when methods are being defined and wiping out the specializer-profile slot that I added.
3:00:35
drmeister
I can't seem to find the point where the lambda-list is defined and the generic-function is initialized for the first time.
3:04:56
drmeister
The lambda-list doesn't appear to be defined in some cases - although I may have done something wrong.
5:00:51
lexicall
hi, I wonder is there an elegant way to call a method of super class? In order to do that I have to use CHANGE-CLASS but I think it's quite ugly.
5:20:18
jasom
I'm seeing 44MB uncompressed for a fairly simple image on x86_64, and I rememberd that number being higher...
5:51:40
scottj
iqubic: fwiw when it happened I think they said a 24 hour cooling off period so maybe message the op that banned you.