freenode/lisp - IRC Chatlog
Search
15:04:01
dlowe
Part of the value of a new spec layout is that you can keep the spec as is and append notes to it.
16:34:04
malice
I want to test it across different implementations and want to quickload my package and test it. I want to do using the same interface for all implementations.
16:34:40
malice
I'm trying with .ros script, but it's both kind of ugly, and does not work for me - and debugging it looks tiresome...
16:37:59
Xach
Maybe there is a reddit, stack overflow, or twitter community that would answer things?
16:38:16
malice
I actually see some tutorial on their github that I have overlooked, so I will try that.
16:50:06
phoe_
easye: the URL is always the same, http://phoe.tymoon.eu/clus. it won't be visible for 15 more minutes though as the script only pulls changes every full hour.
16:52:46
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".
16:53:22
minion
add httpcliki.netclus": An error was encountered in lookup: Parse error:URI "http://www.cliki.net/add%20httpcliki.netclus\"?source" contains illegal character #\" at position 44..
16:53:41
minion
add "httpcliki.netclus": An error was encountered in lookup: Parse error:URI "http://www.cliki.net/add%20\"httpcliki.netclus\"?source" contains illegal character #\" at position 27..
16:57:48
minion
oleo: direct your attention towards clus: CLUS is the Common Lisp UlstraSpec, a modern and corrected specification of the Common Lisp language and related material. See http://phoe.tymoon.eu/clus for the current state of the project
17:00:27
beach
Last time I looked, minion was unable to parse the new Cliki format, giving an error message every time.
17:03:15
Xach
ACTION remembers when pcl was added with a date to make it clear when in the future it was coming out
17:03:58
minion
Flexichain: No definition was found in the first 5 lines of http://www.cliki.net/Flexichain
17:04:33
beach
Apparently, the Cliki syntax was modified, and the minion maintainer was not happy with it, vowing not to teach minion how to parse it.
17:06:26
phoe_
It's weird, but I expect to have the full dictionaries parsed and somewhat fixed before March.
17:08:54
beach
phoe_: Anyway, if you prefer for people to see that error message from minion, you can remove the term I added and instead create a Cliki page.
17:09:18
minion
minion: please look at clus: CLUS is the Common Lisp UlstraSpec, a modern and corrected specification of the Common Lisp language and related material. See http://phoe.tymoon.eu/clus for the current state of the project
17:12:57
phoe_
fouric: it's still without concepts and glossary, not hyperlinked properly/enough, pretty bug-ridden and unpolished
17:13:26
phoe_
the links on the sidebar will link to chapters, and I'm not doing chapters until I've done dictionaries.
17:15:50
phoe_
also about nobody using them, d'oh - I can see #clasp struggling with COMPILE-FILE and LOAD all the time
17:17:26
Bike
if you're doing structures, there's that weird ambiguity with :type that came up here a couple days back
17:18:38
phoe_
and it's not about telling you to STFU, since I don't want you to to be quiet about it
17:29:44
beach
I think someone in #clim expressed an interest a while ago, but I am not sure something really happened.
17:33:33
beach
A web browser seemed like a reasonable project at the time, but now there are so many standards to support and for which one needs to track updates.
17:35:09
beach
Maybe this is the one project where I would think that using FFI to import functionality that we do not yet have natively would be a good idea.
17:35:51
oleo
you just need to bind them and enable them in the browser, giving the option to disable or totally discard them too probably...
17:36:08
beach
... in the way it handles traditional but incorrect HTML, which is common on web pages.
17:38:00
beach
oleo: Already, implementing all the elements of a standard is hard. Figuring out exactly what violations of a standard to support and what to do with them is way much harder.
17:43:05
beach
gilberth is an excellent hacker, but sometimes his code is a bit hard to follow, in particular when he doesn't document it, or when he writes his comments in German.
17:45:55
oleo
like get the standards and implement one on the go for the system to use....and if the standards get changed upon registering a change update the implementation of the standards locally etc...
20:09:23
Xach
can anyone figure out this failure? http://report.quicklisp.org/2017-02-22/failure-report/trivial-ws.html#trivial-ws-client
20:39:53
mood
Xach: trivial-ws-client depends on websocket-driver, which used to depend on cl-async. It stopped doing so 3 days ago
20:50:57
jasom
TIL there is a 2am. 1am is a stripped down fiveAM, and 2am is 1am plus some extra features...
20:59:12
drmeister
Hey - does anyone use docker and would have some time to answer some questions? I'm trying to build and deploy Clasp as a docker container and I have a few questions.
21:04:09
jasom
TruePika 2017-02-21 00:43:17 beach phoe_: You need an instance, but you can use the class prototype, so you don't need to make a new instance.
21:09:34
alecigne
Hi all. Would you know a library for Common Lisp that I could use to write text on image files (jpeg or png for example)? I use SBCL. Thanks :)
21:14:22
TruePika
I'm not sure there's a single library for watermarking, but it should be possible with a font render library and an image access library
21:15:36
Xach
alecigne: When I wanted to do that, I generated a watermark file in lisp, and combined it by calling imagemagick.
21:16:05
Xach
alecigne: i used a system like that to make hundreds of thousands of watermarked graphics on the fly, no issues.
21:16:45
Xach
for very very large files, i found imagemagick too slow, so i wrote a small C program that combines images (including watermarks). it has a somewhat unfriendly command-line, though.
21:18:46
TruePika
of note, you need to have e.g. "-alpha" and "remove" as seperate entries in the list, so they bind to consecutive ARGV (versus having an argument that contains a space)
21:24:02
alecigne
I was looking at opticl today, but I don't know if it can composite (not talking about text here)
21:25:24
alecigne
That's what I was thinking but it might be out of my league (I'll look into it though)
21:31:40
Xach
Hmm, Allegro Express takes rather less fiddling to try than I remember from last time. Download and run, no license file or anything.
21:41:19
jasom
TruePika: https://github.com/ds26gte/scmindent is setup to work with vim I think. Not as smart as slime but better than vim's lisp mode (which is in turn better than nearly all non-emacs lisp indentors)
21:42:00
TruePika
jasom: I normally use whatever Limp uses, which I know is different from the default lisp mode
21:46:29
TruePika
I'm too used to my Limp setup; F12 to go to/from REPL, '\cl' to compile+load file, etc.
21:48:14
TruePika
and if emacs doesn't use lock files like #P".*.swp" I have to rewrite lots of .gitignore files
21:49:19
TruePika
...though, granted, these aren't in repos themselves (partially since I don't know what files need to be ignored in emacs-based setups)
21:52:09
TruePika
the client doesn't work nicely on Windows systems without window compositing (esp. Win7 w/o Aero)
21:58:12
fiddlerwoaroof
One thing I haven't satisfactorily figured out is how to get paredit-wrap-sexp to wrap from the beginning of the current word, rather than from the cursor
21:58:50
fiddlerwoaroof
I have a sort of hacky solution that sends the cursor forward a word and then back a word before invoking the wrap function, but it's not really ideal
22:00:26
TruePika
I don't know of anyone nearby who started with Emacs (and heck, from what I've heard, one of Pierce College's (community college) classes has a section on Vim)
22:03:28
TruePika
I'm sure emacs would have been fine if I had e.g. a Space Cadet, versus an IBM-compatible
22:05:24
TruePika
varjag: sounds like Virus, the Vi implementation used on NAO for config file editing
22:06:03
prxq
i don't think that many people use Vi for serious stuff. It's mostly editing config files and stuff.
22:07:22
fiddlerwoaroof
prxq: I'm not really sure, but it's definitely really nice for serious stuff
22:14:55
jasom
prxq: that reminds me, I need to work on my geany plugin for lisp; with a little tweaking it could become a netbeans plugin I bet.
22:20:21
jasom
antoszka: spacemacs felt like an "uncanny valley" to me; to close to vim, but also too far.
22:21:34
fiddlerwoaroof
Just starting from evil mode and a fairly simple set of keymappings works really well
22:27:29
antoszka
i've always hated the limited non-modal editing possibilities of vim in insert mode
22:28:02
prxq
If all I knew was netbeans, eclipse, or visual studio, the idea of moving to vi would probably seem utterly ridiculous (slightly less of emacs, but still)
22:33:20
fiddlerwoaroof
I did a tiny bit of Android development with Intellij, and I realized that having something to autocomplete the boilerplate almost makes Java a bearable language
22:34:28
prxq
without an ide it's a language so crappy as to be completely out of the question. But then - blinkenlights and mouse-driven prgramming make for a phase change
22:35:25
TruePika
I don't understand why it is so widely used, when better alternatives can be developed
22:35:52
TruePika
I mean, one of my sisters was taught Java in high school, and she's completly put off programming now
22:37:08
TruePika
Pretty much the only selling point for Java is the platform-independant bytecode, but that can be replicated for any language
22:37:38
pillton
I mean, one of my sisters was taught math in high school, and she's completely put off math now.
22:38:44
aeth
You don't even need platform-independent bytecode, just compile a language to CL. It's large and capable enough, and then you have access to all of Quicklisp.
22:39:10
fiddlerwoaroof
Yeah, but "all of Quicklisp" is a drop in the bucket compared to what's available on the JVM
22:39:26
aeth
Afaik, though, the problem with Java isn't the language (mostly... it does have some verbosity issues), it's that Java is the language that was taking off right when design pattern overuse was taking off.
22:40:42
TruePika
prxq: nowadays, but that's partially because of the large number of devs that use it
22:41:38
fiddlerwoaroof
Also, you get things like a GC that is well-tested and that people have spent millions of dollars on
22:56:42
fiddlerwoaroof
The main problem is that they don't really reflect the state of the art anymore, as far as I'm aware
23:31:01
foom
Xach: well, I have lots of experience with sbcl's being non-optimal. CCL's I have less experience with; it might be at the very least a better-working stop-the-world single-threaded generational gc. (I don't know). But, either way, that's still far from what anyone would call a good GC these days.
23:34:01
pjb
I'm still have to encounter a situation where the particular gc algorithm is a problem.
23:34:42
fiddlerwoaroof
I suspect it would be places where latency is the most important consideration
23:35:12
foom
Reading about the huge advanced made in Go's GC implementation over a few releases can give a pretty nice picture of what a modern GC can be expected to do.
23:35:50
fiddlerwoaroof
foom: from what I understand, Go's gc isn't really "good" so much as it's been tuned for a very specific set of uses
23:38:12
libreman
Is there any better way to interact with couchdb than clouchdb? It seems to contain a lot of bugs and the code quality is also quite poor.
23:38:53
foom
fiddlerwoaroof: I'm not going to argue about the definition of "good", but, let's just say it has a lot of goodness in it.
23:39:43
drmeister
Hey folks - I thought I'd toss this out if anyone is interested and has free time for a little Common Lisp project.
23:40:29
drmeister
Clasp's compiler doesn't currently signal warnings for unknown special variables or functions - nor does it match calls to lambda lists.
23:41:15
drmeister
If you or anyone you know might be interested in beefing up this aspect of Clasp's Common Lisp compiler (which runs Cleavir) - I'd love to talk with you.
23:41:46
drmeister
Nice error messages and warnings would be really helpful rather than discovering problems at runtime.
23:42:56
Bike
cleavir already signals both of those, you just want it to assume things about missing variables/warnings. with functions that involves waiting for the compilation unit, but variables can be immediate if you just warn in the handler
23:46:14
raydeejay
I started reading Communicating Sequential Processes and I'm trying to implement the first examples in CL... does this look sound?
23:46:40
Bike
it would actually warn now if there's an explicit declaim ftype, but declaim ftype doesn't work on clasp
23:51:34
Bike
well, you might want to make the warning clearer, like "found an unbound variable, assuming it's special" kind of thing, but yeah essentially
23:54:08
Xach
i am a-wrasslin with all implementations today, and their treatment of DIRECTORY and symlinks (which might be dead). does clasp copy ecl in its directory interface?
0:01:40
Xach
drmeister: I mean the standard cl:directory function, which is almost always augmented by implementations with new arguments.
0:05:56
Xach
drmeister: Ok. I'm curious about two things - is there a way to not resolve symlinks? and what happens to dead symlinks?
0:07:25
drmeister
I can't answer those questions off the top of my head. But here's an example of the differences between ECL and Clasp...
0:10:20
Xach
but in my case, i need to go against that standard behavior, and most (maybe all?) implementations enable that.
0:12:40
Xach
drmeister: it varies by implementation. on sbcl, it's :resolve-symlinks nil. on ecl, it's the same.
0:12:57
drmeister
This is clasp's directory lambda list: (mask &key (resolve-symlinks t) &allow-other-keys)
0:14:27
drmeister
Yes - clasp pays attention to the :resolve-symlinks argument and acts accordingly.
0:17:22
drmeister
Clasp may have a problem in that it returns /private/etc for (directory "/*") where ECL doesn't
0:18:16
Xach
drmeister: if you do (directory "/etc/*.*" :resolve-symlinks nil) do you get ("/private/etc/..." ...) or ("/etc/..." ...)?
0:21:11
drmeister
Is what clasp is doing non-conformant - or does this count as implementation dependent behavior?
0:21:42
Xach
very implementation-dependent. but it seems to go against the intent of the argument - it looks like it *is* resolving symlinks, just a symlink at a higher level
0:21:55
drmeister
Also, as a rule, I try to reproduce what ECL does because it simplifies things like this.
0:24:58
drmeister
This is clasp: https://github.com/drmeister/clasp/blob/dev/src/core/unixfsys.cc#L1358
0:39:25
myrkraverk
That is, can I "use" something in a package only if the user already ql:quickload;ed it?
0:42:21
myrkraverk
Does ql:quickload have something to propagate such options to the system/package?
0:43:37
myrkraverk
Specifically, I'm wondering if a user can specify flexichains as on optional dependency on my punycode decoder.
0:44:28
myrkraverk
Though even if I haven't yet done some benchmarks, I'm thinking about making it some sort of an optional thing; not a requirement.
0:45:47
myrkraverk
Maybe I can have punycode use some sort of plugins and punycode+flexychains load it with that plugin.
0:47:17
myrkraverk
I just have to do some experimentation and see if I can come up with a sane plugin API.
0:48:17
myrkraverk
In other news, I have finished the decoder implementation; now I just have to splice in flexichains (and maybe plugins) for some sort of efficient string building.
0:57:18
myrkraverk
"punycode-decode doesn't implement it at all." <-- also lies. There is a decoder in the source.
1:41:07
TruePika
these are base methods for a base class; they'll _work_ for properly-defined subclasses, but it is best to have a version specifically for each subclass which is optimized to its architecture