freenode/#lisp - IRC Chatlog
Search
21:35:22
pfdietz
In asdf, would it be considered better form to write a method for around-compile-hook, or call-with-around-compile-hook?
21:57:46
pfdietz
Does this combinator have a name: (c f g) ==> (lambda (x) (funcall f (lambda () (funcall g x))))
21:59:09
pfdietz
f and g are hook functions. They have no return value that matters. They're executed to set up an environment in which to call their arg, which is a thunk.
22:01:23
jackdaniel
back at the question about sequence copies: subseq guarantees a copy of the same type
22:11:05
xsperry
pfdietz, g has no return value that matters, yet you are passing the return value of g as a second argument to f?
22:12:04
pillton
xsperry: The function f may invoke the function argument to obtain the return value.
23:09:19
asarch
In fact, I wrote a shell script to render it into PDF: https://github.com/asarch/pcl
2:13:39
hectorhonn
what is the difference between (in-package "abc") and (in-package :abc) and (in-package #:abc)?
2:15:25
White_Flame
oh, and "abc" is probably wrong, because :abc and #:abc imply the string name "ABC"
2:17:35
aeth
hectorhonn: all of the non-string ways, including potentially some others you didn't list, will (probably, it depends on your settings but by default) translate to "ABC"
2:19:25
aeth
The only time you ever want to modify stuff like that is if you're implementing a case-sensitive language within CL, which, of course, can have issues at the interface between the two.
2:20:11
aeth
For all practical purposes, CL is a case-insensitive language that upcases unless you escape with || like '|foo| because you'd break too much code if you switched modes.
2:22:09
hectorhonn
aeth: not sure if you are replying to me, i meant this as in "abc" vs :abc vs #:abc
2:22:38
aeth
hectorhonn: "abc" will produce the package "abc" aka :|abc| or #:|abc| whereas :abc and #:abc will produce the package "ABC"
2:22:52
White_Flame
btw, are you learning for the first time, or digging into some of the edge case specifics? For the former, #clschool is probably more appropriate
2:23:29
aeth
hectorhonn: The way CL does its (mostly) case insensitive behavior is by upcasing, so if you want to literally refer to something you either have to upcase the string manually or you have to do (symbol-name 'foo)
2:34:57
pillton
hectorhonn: The reason for all the "don't go here talk" is because of readtable-case, *print-case* and the specification of the COMMON-LISP package. (in-package #:abc) gives the illusion of writing case insensitive code but you end up in a world of hurt anyway because the COMMON-LISP package and all of its exported symbols are specified to be upper case.
2:35:31
pillton
hectorhonn: Things become even worse when you consider multiple users and using libraries written using different non default readtable-case and *print-case*.
4:41:48
LdBeth
ACTION uploaded an image: 螢幕快照 2019-01-14 下午8.41.17.png (570KB) < https://matrix.org/_matrix/media/v1/download/matrix.org/qgwtUgNeUPqGJVaNeqCeprde >
8:01:56
verisimilitude
You should in all cases where case isn't an issue prefer the uninterned symbol, hectorhonn.
8:03:28
verisimilitude
I still find myself here, because I still use #ada and why not lurk here as well?
8:12:53
hectorhonn
hmm, how to put this? i want to write the tests in the source file itself, then i can press c-x c-e directly without changing buffers
8:13:35
hectorhonn
verisimilitude: why so? lisp has no static checking, i have no idea if i break anything else when i change something somewhere
8:15:17
verisimilitude
Generally, you should have well-defined boundaries and, depending on the nature of the code, will find it simple to make changes or at the least get put in the debugger when they're invalid.
8:15:46
verisimilitude
I just find them overrated, hectorhonn, but you may think differently. It's just my opinion.
8:17:53
xsperry
I wouldn't want to maintain a large project without unit tests, especially one written in dynamically typed language
8:18:08
verisimilitude
Perhaps the best comment I can make is how there's a difference between actually testing software and this ``testing'' of software.
8:19:01
xsperry
what is this units thing mentioned earlier? is that irc bot thing, or actual lisp library?