freenode/#lisp - IRC Chatlog
Search
19:04:50
sabrac
Is there a way to correctly conditionally compile methods depending on whether a library is loaded?
19:14:13
_death
assuming your code is also in a system, you can have a system that depends on both, or use asdf-system-connections
19:24:50
rk[ghost]
i found 'postmodern', but before i play around.. i thought i would just ask.. any preferences on cl library for interfacing with postgresql?
19:29:30
rk[ghost]
sabrac: well, that is good enough for me. as i imagine if i have specific questions, you'll have reliable answers ;P
19:29:37
sabrac
I am in the process of updating postmodern to handle a lot of the newer postgresql features if you intend on using those
19:30:27
rk[ghost]
however, a friend wants to learn databases, and i figure it is probably about time i learn postgres as it seems like the best open source SQL db
19:34:24
sabrac
I have some postmodern examples at https://sites.google.com/site/sabraonthehill/postmodern-examples, but it will not teach you sql.
19:34:58
rk[ghost]
i am familiar (although in my past) with MySQL and i have done SQLlite for a couple of toys.
19:35:56
rk[ghost]
although, inner/outer joins and all that jazz completely escapes me, i recall how to do general queries (maybe) and how to design the tables themselves.
19:55:44
ckonstanski
I have only used clsql. I'm interested in postmodern, but I've written too many apps that had to connect to multiple databases of differing types (within the same app). That's where clsql shines because it supports many database engines.
20:00:29
attila_lendvai
there's also hu.dwim.rdbms although it only has one thoroughly tested backend, which is for postgres. oracle has also been used in production by another team
20:27:23
attila_lendvai
so, how do I touch a file? is there anything simpler than a with-open-file for writing?
20:30:40
attila_lendvai
didn't you mean :direction :output :if-exists :append :if-does-not-exist :error (it assumes the file exists and needs to be touch'd)
20:46:29
attila_lendvai
I need the contents to remain intact. I only want to update the last modified time
20:48:45
ckonstanski
Uses /bin/sh as the shell I think. Careful on systems that actually use /bin/sh as opposed to symlinking it to /bin/bash.
20:56:27
attila_lendvai
this is incredibly annoying... I can't even find a kludge to do it without leaving the standard. there's not even (setf file-length)...
21:05:09
attila_lendvai
I ended up using UIOP's with-staging-pathname and copy the file contents to a new file. *shakes head*
21:13:02
ckonstanski
Maybe you hate the idea of (uffi:run-shell-command) but looking at its implementation might provide some ideas.
21:19:12
attila_lendvai
yes, I hate the idea of exec'ing a binary for something as simple as touch'ing a file. I hate it, and I also want it to be on record... :)
21:22:21
attila_lendvai
syscalls, except when you're on windows... I don't want to go down on that road. it's much more bumpy than a spurious copy-file
21:25:19
pjb
attila_lendvai: you can also call MS-Windows functions. Just use #+windows #-windows ;-)
1:18:24
pillton
Xach: The twitter link found in the "Planet Lisp is back on twitter" article is wrong.
2:04:29
p_l
Never expected it, but sometimes I'm pining for DISASSEMBLE on a lisp machine... For teaching new people about computation
3:32:35
aeth
(defun foo (x) (1+ x)) (disassemble #'foo) ; only three instructions in CLISP, but 12 in SBCL
3:34:41
aeth
Alternatively, you could use disassemble on a machine with a simpler to understand instruction set, rather than x86 with its Turing-complete MOV.
3:38:13
Bike
mov is turing complete because it has indirections and indexing, which are pretty common on other processors as well.