freenode/#lisp - IRC Chatlog
Search
1:58:17
jasom
krwq: I haven't inspected it for correctness, but https://github.com/Shinmera/crypto-shortcuts wraps ironclad with easier-to-use functions
2:24:55
Bike
you can treat numbers (actually integers) _sort of like_ vectors, but they're not actually vectors, in lisp terms
2:27:23
krwq
ok, i would forget about negative, they have conventions for bits, but non-negative should be interchangable with bit vectors imo
2:43:46
Bike
well one chapter is called "numbers, characters, and strings" so there's three right there
2:55:01
Bike
okay, okay, what? "some random name from a class"? "some random places"? do you have some concreate examples of what's confusing you, maybe?
3:02:09
Bike
there's no limit on N for (unsigned-byte N), for instance. (I mean, you'll run out of memory at some point)
3:03:51
|3b|
ACTION was about to paste http://www.lispworks.com/documentation/HyperSpec/Body/04_bc.htm
3:04:50
|3b|
4-3 is the list of ones that can have parameters, 4-4 is ones that have to have parameters
3:13:25
|3b|
http://www.lispworks.com/documentation/HyperSpec/Body/04_cg.htm#classtypecorrespondence 4-8 has a list of types that are also classes
6:54:09
elderK
Hey guys, I recently felt like tinkering with Lisp again and did some reading of the CLHS.
6:54:37
elderK
The specs say that it's up to the implementation whether a slot accessor is setfable?
7:04:41
elderK
dmh: I get the feeling this CLHS page was rushed or is kinda... wrong. If you follow the syntax spec for defstruct, you'd think they you can only specify a *single* option for slots.
7:06:21
elderK
dmh: I'm not even sure how you'd go about implementing a setf for defstruct. I mean, structures are different from objects, right? They're not just some "cut down" version of CLOS classes?
7:08:12
dmh
installing something from planet and finishing a project in a day and then not touching either for a month :-)
7:10:29
elderK
Which, of course, complicates things a fair bit if you want to make your RT things reasonably efficient.
7:12:46
elderK
(I figured I'm make a minimal binding for SDL2 and make a simple 2D 'game' where you just move yer dude around the screen. Nothing complex.)
7:13:44
elderK
CFFI seems pretty nice - I played with it a couple years back, the groveller and stuff.
7:13:55
dmh
i was causing something to greatly fuck up and couldnt figure itout. lost those sources to a like 10 year old SSD pooping out
7:14:56
elderK
I've lost track of how much time I spent creating my own implementation of records and objects and stuff in Scheme.
7:15:43
elderK
Years and years ago, I was scheming in a big way - reading tons of whitepapers and stuff. But, whenever I tried to do something *real*, like say, write a program to analyze ELF binaries, I just... found it very painful.
7:18:11
elderK
I used to play with Racket back when it was called PLT Scheme. I never really liked it much - sure, it had Planet and stuff but... I don't know, it didn't feel like Scheme.
7:18:28
elderK
So I migrated to Chicken pretty fast. The fantastic community of #chicken kept me using it :)
7:20:38
elderK
It's sad, really. Like, at my last job, I would tell interested friends about CL, Scheme, Standard ML, etc.
7:22:07
elderK
It's kind of depressing, tbh. I used to believe you needed to be *great* at programming and stuff to get a job.
7:22:45
elderK
The majority of programmers at the company - who possessed degrees - didn't even remember when they should use what data structures, everything was just a linked list.
7:28:00
elderK
I.e. You complete some project, written nicely, maintainable, extensible. You're done well before the deadline.
7:43:00
elderK
I WOULD read some existing libraries for this - but, it's... like... You don't want to jump into the deep end straight away, you know?
8:51:28
phoe
beach: This guide is why I asked, actually. It is nothing that I can see used contemporarily.
8:53:36
beach
That one has several problems in it, including some highly personal taste being recommended, rather than agreed-upon conventions.
9:22:20
edgar-rft
elderK: a copy of the common-lisp.net repository is here: <https://github.com/fare/asdf>
12:43:16
malice
Is this the proper approach and I've done some stupid mistake, or is the problem more complex or my approach wrong?
12:47:03
Bike
(defmacro debug-break (&rest args) (if *debug* `(break ,@args) nil)), then there will be breaks only if *debug* was true at compile time
12:47:22
malice
I didn't want to put it in code, just to use in REPL to try out the stuff. I'm not used to leaving hacks in the code.
12:48:03
malice
May I know why it won't work though? I thought that the call to BREAK would call my function, as the global definition is shadowed by the local one?
12:50:25
malice
Bike: so to make things clear, were this some other function, non-locked, e.g. #'FOO, the code would work?
12:52:54
Bike
if you do want something like 'special functions', you can just do like (defun foo (&rest args) (apply *foo* args)) and then bind *foo*
13:19:16
|3b|
instead of messing with the BREAK, you could add a handler to pick the continue restart automatically
13:27:44
elderK
Guys, when you're writing a new program, like, creating your own ASDF system and all, do you link your project's directory into wherever ASDF's source registry is?
13:28:45
elderK
After skimming the ASDF3 manual, I've just placed a bunch of prereq systems in ~/.local/share/common-lisp/sources. SBCL's happy and can find them all.
13:38:37
jmarciano
When I use my own ASDF system, how do I prevent this appearing WARNING: DEFUN/DEFMACRO: redefining function IN-USER-CONFIGURATION-DIRECTORY in /home/data1/protected/.cache/common-lisp/clisp-2.49+-unix-x64/home/data1/protected/lib/lisp/quicklisp/dists/quicklisp/software/uiop-3.1.7/backward-driver.fas, was defined in /home/data1/protected/lib/lisp/quicklisp/cache/asdf-fasls/0ktqad/asdf.fas -- do I need to clear Quicklisp cache?
13:40:54
jmarciano
I know what you mean thanks. Is this related to my private project or quicklisp cache?