freenode/#lisp - IRC Chatlog
Search
4:18:17
holycow
anyone know of any interactive music generator programs done in common lisp? not scheme or the like?
4:53:35
LdBeth
If you are interested in sound synthesis, Common Lisp Music is where worth to look at
5:33:26
beach
Me? Fine as usual. Yesterday I created the #sicl channel to avoid polluting #clasp with my own stuff.
5:38:31
beach
Many people work way too hard. They think that, when they are tired in the evening, they have had a good day of work. I personally try to let the computer do as much work for me as possible.
5:38:36
no-defun-allowed
i got the channel implementation finished in cl-decentralise so i have to write some kind of async handler for it and also some uses for the system.
5:39:12
no-defun-allowed
i'll make a looping macro of some kind which reads a block, and runs thunks based on what channels it belongs to
5:40:29
no-defun-allowed
blockchains are way too costly and federation is really boring and is effectively centralisation but with more servers
5:41:18
no-defun-allowed
(also matrix.org sucks and i want to make a better solution for running the decentralised web of things)
5:42:43
no-defun-allowed
federation is really boring and is effectively centralisation but with more servers
5:46:09
no-defun-allowed
cl-decentralise lives at https://gitlab.com/netfarm.gq/cl-decentralise, it's in an organisation cause there'll be projects built on top and i have friends who like the idea
5:46:55
no-defun-allowed
beach: is there a way to teach minion your program exists so you can look like a badass and say "minion, tell foo what cl-bar is" like you do?
5:47:52
minion
There are multiple help modules. Try ``/msg minion help kind'', where kind is one of: "lookups", "helping others", "adding terms", "aliasing terms", "forgetting", "memos", "avoiding memos", "nicknames", "goodies", "eliza", "advice", "apropos", "acronyms".
5:48:03
minion
To add a term, say something like ``minion: add "term" as: the definition''. I will remember the definition.
5:48:57
minion
To make me forget something, say something like ``minion: forget term''. I'll forget what I know about that term or nickname.
5:49:12
no-defun-allowed
minion: add "cl-decentralise" as: cl-decentralise is a consensus building protocol designed for fast prototyping and development.
5:51:18
no-defun-allowed
back when cl-d was a python project and it was much larger and fuzzier, people complained i wasn't going fast enough.
5:52:02
no-defun-allowed
turns that if you rush things to meet quotas ideas aren't fleshed out properly and are incomplete
5:52:48
no-defun-allowed
the original project, nettle, tried to manage a tree of objects using parent-child links and children were never verified.
5:53:39
no-defun-allowed
this meant that anyone could modify children instead of just the linker. with my demonstration system for cl-d i'll split the object into automatically generated "unsigned" parts and "signed" user parts
5:55:33
no-defun-allowed
it's strange how people do web projects honestly. many make the interface and single-server logic without understanding how they will send it to other servers.
5:56:15
no-defun-allowed
maybe it's cause no one hired back end devs or the interface has to look amazing the first time to hook people in
5:59:54
beach
no-defun-allowed: Not my domain, but it sounds like you have good ideas with respect to traditional ways of doing things.
6:02:51
no-defun-allowed
re "strange order of design": it's like someone took SICP's wishful thinking and applied it to a whole project
6:09:14
no-defun-allowed
"problem solving methodology? more like problem starting methology: the book"
6:17:06
no-defun-allowed
at school we're taught "analysis, plan, design, evaluate" or words to those meanings
6:21:10
beach
I won't tell you the name of the book because it is so witty (in my opinion) that someone might steal it before I get the book out.
7:02:08
beach
I wrote this page on "uniform reference semantics" several years ago, but there have been some recent questions about what it means, so here is a link: http://metamodular.com/Software-engineering/uniform-reference-semantics.html
8:16:10
flip214
best time might be in winter... then I'd spend a week in Bordeaux or so, having +20°C more than here ;)
8:16:47
flip214
oh, and BTW, I rebased all the SICL typo commits into one-commit-per-file and did a PR.
8:19:48
beach
flip214: January and February are generally rotten here when it comes to the weather. December is usually nice, though.
8:32:38
shka_
why do you have parent slot here? https://github.com/robert-strandh/Clump/blob/master/2-3-tree/2-3-tree.lisp
8:40:52
beach
shka_: It is not strictly necessary. I have written versions without the parent reference. But in certain applications, you might want to avoid inserting and deleting elements by always starting the search at the root.
8:41:40
beach
shka_: For example, let's say you are implementing an editor buffer and you want to keep lines of text in the leaves.
8:42:29
beach
... then you can keep a pointer to the current line and when it splits, you can use the parent pointer to accomplish the new insertion.
8:50:00
shka_
jackdaniel has this nifty reader macro that simply turns [foo bar] into (funcall foo bar)
8:53:28
heisig
You can also write a with-functions macro that generates appropriate FLET bindings, such that (with-functions (g) BODY) turns into (flet ((g (&rest args) (apply g args))) BODY).
9:05:11
jackdaniel
the most useful macro I have is the one ripped from cmuutils, namely the collecting macro
9:07:55
jackdaniel
at least Alan Perlis did, it is a paraphrase. original was: "Syntactic sugar causes cancer of the semi-colons"
9:53:06
beach
A third one is to have a generic function LEAF-CLASS that dispatches on the container class. The MOP does things like that.
11:20:59
frgo
Question (off topic): What kind of API authoring tools (Non-REST) and code generation tools are there that you guys are considering good stuff?
11:46:50
frgo
Shinmera: Some editor that allows me to create and maintain an API spec for functional APIs during design phase and then generate code from that API spec for a set of languages.
11:47:43
Shinmera
Then I can only say that everything I've seen that advertises to do this is a catastrophe in practise.
11:48:26
frgo
Me too, so far. All the tools that are kind of doing the trick are for REST APIs. I don't need that yet.
11:55:22
jackdaniel
what is nice such protocol may be used to interoperate between different languages (i.e Go vs CL)
12:12:04
pjb
frgo: but actually, any generator can be good, for example, cl-ometa. or just your own custom macros.
13:25:01
AeroNotix
Are there any webrtc libraries available? A quick google doesn't turn up anything
14:45:54
loke
Well, remember that the issue I had was to find out a way to extend DEFINE-COMMAND such that it's possible to know the presentation type?
14:53:38
loke
I type the command "Copy to clipboard" and it will prompt me for an object to copy. At this point, all objects become clickable (since the command is specialised on T)
14:54:27
loke
I click the command, then it records the actual object. Once I press return, it simply calls the COM-COPY-TO-CLIPBOARD function with this object as argument.
14:55:01
loke
The issue, I think, is that the knowledge of the presentation type is lost at the point of clicking on the object. Everything after that only deals with the object.
14:59:46
loke
I was wondering why when I clicked on a Maxima equation, the copy-to-clipboard thing decided to copy the Lisp Sexp form... Turns out that since i have multiple presentaton-translators, once of which being the Maxima-expression-to-CLIM:EXPRESSION (so that I can insert maxima equations into the Lisp REPL), it decided to apply that translator when I clicked on the object.
15:04:41
loke
What if instead of specialising on T, I let com-copy-to-copy-to-clipboard specialise on some speaicl object, let's call it CLIPBOARD-OBJECT-WRAPPER or something like that. I can then have a single translator that translates any object T into a CLIPBOARD-OBJECT-WRAPPER byt simply instnatiating it like so: (make-instance clipboard-bject-wrapper :object OBJ)