freenode/#lisp - IRC Chatlog
Search
20:28:02
anamorphic
Do any of the various documentation utils let you reference an image file (e.g. diagrams) from within doc strings?
20:51:12
jackdaniel
docstrings are strings. you may create a library which can interpret a special syntax, but for CL it will be a bunch of letters anyway
20:53:23
dim
I think anamorphic is asking specifically about such syntax supporting utilities that would read the docstrings etc
21:01:00
fisxoj
it's not markdown, but I've been working on https://github.com/fisxoj/coo that works with docstrings that are restructured text
21:01:31
fisxoj
it's not super usable, yet, I just found https://github.com/eudoxia0/docparser and need to incorporate that
21:29:27
z3t0
How do I go down a line in the slime repl? Pressing enter causes the code to be evaluated
22:59:59
jiby
I'm fighting with string ~basics. Objective is getting regex "[abc]" from list of #\[ '(#\a #\b #\c) #\]
23:01:32
jiby
so I'd need to give it a sequence-of-char? it doesn't like (concatenate 'string '(#\[) char-list '(#\[)) either
0:20:20
no-defun-allowed
what was that program that typeset mathematical equations using boxes and stuff in the terminal?
2:18:08
Bike
clschool is for learning the language, lisp is for when you've learned the language but not really
4:40:06
aeth
elderK: Meanwhile a question about e.g. "what web libraries should I use?" would belong here
4:44:17
aeth
There are also channels for specific topics, e.g. #lispgames so questions aren't just in one of the two
5:02:35
elderK
beach: Is there a place that details the method combination types? CLHS tells me about +, and, progn, etc. But there doesn't seem to be a page that actually describes how these combinations function.
5:03:43
beach
Oh, those are trivial. The effective method is just (<operator> method1 method2 .... methodn)
5:05:44
specbot
Built-in Method Combination Types: http://www.lispworks.com/reference/HyperSpec/Body/07_ffd.htm
5:10:41
elderK
Thanks beach. I was reading that last night but got kind of confused. I'll give it a another shot.
6:36:02
fiddlerwoaroof
Anyways, depending on how much information you want elderK, Didier Verna has a recent paper on method combinations
6:37:28
beach
He defines a different mechanism, called "method combinators". But he doesn't really provide a solution to the enigmas of the AMOP and the Common Lisp HyperSpec as to how to define method combinations.
6:38:36
beach
However, I figured out how to do it in the context of SICL, and the solution provides a behavior that is consistent with both the AMOP and the Common Lisp HyperSpec, and it doesn't have the strangeness of the PCL solution.
6:39:23
beach
So, Didier and I are going to write a joint paper about it, and submit it to ELS 2019.
6:40:08
beach
I mean, what would you do with this: (defclass t () () (:metaclass built-in-class)) outside SICL?
6:40:36
fiddlerwoaroof
I was thinking more of using it to get predictable MOP behavior across implementations
6:40:55
beach
fiddlerwoaroof: Yes, they are, during bootstrapping, because I use first-class global environments to make such definitions operational.
6:41:30
beach
I don't see how you can reasonably redefine any native MOP classes in any implementation.
6:43:13
beach
The minute I do, I lose all my nice tools in a more comfortable environment than UNIX.
6:43:38
beach
So the current plan is to create a fairly complete SICL system inside a host Common Lisp implementation and debug most of the code like that first.
6:44:17
fiddlerwoaroof
So, can I do something like load SICL in a host lisp and then dump an image that runs a sicl toplevel?
6:44:50
no-defun-allowed
i know some assembler but after you run out of registers then what do you do? how do you juggle between regs and the stack/heap?
6:45:06
beach
fiddlerwoaroof: I suppose that would be possible fairly soon, but I hadn't considered that.
6:45:53
beach
no-defun-allowed: Yes, you implement a register allocator that decides where to put lexical variables at various points in time. Typically the stack frame is used as backing memory.
6:46:02
loke`
(SBCL specific answer is acceptable) If I build a standalong application by dumping it, and then it's later started the source files have moved. Is there a way for me to tell the Lisp runtime what the new source location is?
6:46:58
fiddlerwoaroof
At least, that's what I generally do: open the .asd in Emacs, C-c C-k + then (ql:quickload :my-system)
6:47:22
loke`
(the application is very large, constiging of all of Maxima as well as McCLIM, so loading the asd is not fast)
6:47:45
loke`
I'm trying to package it up into a single directory that can be launched from anywhere
6:47:50
fiddlerwoaroof
Maybe a bit, you might be able to update ASDF's notion of where the system lives some other way
6:48:58
fiddlerwoaroof
So, I just went through a bunch of work to package a smallish app as a redistributable executable
6:49:19
fiddlerwoaroof
Here's the CircleCI build setup: https://github.com/fiddlerwoaroof/daydreamer/blob/master/.circleci/config.yml
6:49:56
fiddlerwoaroof
With minor tweaks you can make CFFI statically link all the ffi dependencies into the image.
6:50:24
fiddlerwoaroof
Although if you have non-source assets, I suppose that won't work very well.... maybe logical pathnames or a configuration prompt would help in that case?
6:52:30
fiddlerwoaroof
If you use cloudformation, you should be able to download a binary of that from the github releases and run ./daydreamer -s to get a list of all your CF stacks
6:56:52
fiddlerwoaroof
loke`: this might work, https://common-lisp.net/project/asdf/asdf.html#Using-logical-pathnames-1
6:58:15
fiddlerwoaroof
That is, adjusting your system definition to use logical pathnames and then figuring out how to set it up before running the app. That might also be a huge can of worms, but this seems to be the sort of thing they were meant to solve.
7:38:53
beach
loke`: What if you just pre-loaded all files that Maxima might need (except user defined files of course)?