Channel: prev | nextHour: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23Date: prev | index
lispThursday, 28 August, 2008
Style: cnoolb | irssi | clog | f00f | sexp
Filter: Quit-off | Join-off | Part-off | Nick-off | Mode-off | Topic-off | Ignore-filter-words-off | Url-only-off
Highlight: From-me | To-me | My-highlights
 
nameQuit with message ("Little by little, one travels far.").00:00:04
sileniusQuit with message ("Leaving").00:02:31
sileniusQuit with message ("Leaving").00:02:32
Odin-Quit.00:07:42
<S11001001>greetings lispers00:08:35
<drewc>greeting SÉ.00:11:18
*Draggor applauds drewc00:11:33
<drewc>(code-char #b11001001) => #\LATIN_CAPITAL_LETTER_E_WITH_ACUTE :)00:12:07
<asdf25_>is there something other than "export LC_CTYPE=en_US.UTF-8" i might need to do to get sbcl to use utf-8? i still get :ascii for (stream-external-format *standard-output*)00:12:09
<drewc>asdf25_: LANG=en_CA.UTF-8 ?00:14:05
<drewc>er, US, but you get the idea.00:14:19
<asdf25_>still :ascii00:15:33
<asdf25_>not sure why it's not working on this system, i have :utf-8 working on my other computer and don't remember doing anything to enable it00:16:00
<drewc>odd.00:16:02
<asdf25_>both are ubuntu00:16:12
<drewc>what does 'locale' say?00:16:26
<drewc>(dpmn00:16:33
<drewc>erk00:16:35
<drewc>sorry00:16:38
<asdf25_>shows a lot of LC_ things whose value is "en_US.UTF-8"00:17:23
<asdf25_>and LC_ALL=00:17:33
BW^-Quit with message (Read error: 110 (Connection timed out)).00:17:55
<drewc>hrm... that should work.00:19:17
<drewc>(member :sb-unicode *features*) ?00:19:34
<asdf25_>yeah it's in there00:20:06
<drewc>me has no clue :|00:20:19
<drewc>err .. /me has ..00:20:29
davazpQuit with message (Remote closed the connection).00:23:06
YuuhiQuit with message ("ERC Version 5.3 (IRC client for Emacs)").00:23:50
slyrus_Quit with message (Read error: 110 (Connection timed out)).00:24:12
cash-pQuit with message ("Off like a prom dress").00:28:44
dstatyvkaLeft.00:28:45
bombshelter13Entered.00:31:05
<S11001001>I seem to remember having to set LC_CTYPE as well as LC_ALL to get everything to speak UTF-800:33:10
borism_Quit with message (wolfe.freenode.net irc.freenode.net).00:34:02
<asdf25_>ok found the problem00:34:50
manic12_Entered.00:34:52
<asdf25_>i didn't have language-pack-en ubuntu package installed somehow00:35:14
borism_Entered.00:35:21
blbrownEntered.00:35:38
mooglenorphQuit with message (Connection timed out).00:37:48
UtopiahGHMLQuit with message (Read error: 113 (No route to host)).00:39:38
<drewc>asdf25_: you know i thought of that but dismissed it because it's never happend to me on ubuntu. my apologies for not blurting it out anyway :)00:39:53
blinksEntered.00:40:25
blinksLeft.00:40:28
<asdf25_>yeah, i don't understand how it wasn't installed by default, it causes lots of warning messages in apt-get00:40:43
UtopiahGHML_Entered.00:41:23
NshagQuit with message ("Quitte").00:41:49
UtopiahGHML_Quit with message (Read error: 104 (Connection reset by peer)).00:42:32
UtopiahGHML_Entered.00:42:48
UtopiahGHML_Changed name to UtopiahGHML.00:44:42
LostInTheWorldQuit with message (Connection timed out).00:45:50
*Xach gets a tiny bit closer to a clbuild-style easy one-click wigflip-style hunchentoot setup00:48:23
tritcheyEntered.00:51:52
drdoQuit with message (Read error: 110 (Connection timed out)).00:52:20
dialtoneQuit with message ("leaving").00:52:21
MyomaQuit with message (Read error: 113 (No route to host)).00:55:59
travis|awayChanged name to travisbemann.00:56:53
mikeschEntered.00:57:24
lispmQuit.00:58:24
felipeQuit with message (Client Quit).01:03:47
<hefner>stylish.01:03:53
mikeschQuit.01:04:38
mikeschQuit.01:04:38
vcgomesChanged name to vcgomes[away].01:10:13
vcgomesChanged name to vcgomes[away].01:10:14
amnesiacQuit with message ("Leaving").01:16:58
amnesiacQuit with message ("Leaving").01:16:58
milos_Quit with message (Dead socket).01:21:46
bryteiseQuit with message (Read error: 110 (Connection timed out)).01:22:05
borism_Quit with message (wolfe.freenode.net irc.freenode.net).01:22:39
emmaQuit with message (kubrick.freenode.net irc.freenode.net).01:22:55
creddyQuit with message (kubrick.freenode.net irc.freenode.net).01:22:55
slash_Quit with message (wolfe.freenode.net irc.freenode.net).01:22:55
emmaQuit with message (wolfe.freenode.net irc.freenode.net).01:22:55
dv_Quit with message (wolfe.freenode.net irc.freenode.net).01:22:55
cpc26Quit with message (wolfe.freenode.net irc.freenode.net).01:22:55
ruedigerQuit with message (wolfe.freenode.net irc.freenode.net).01:22:55
creddyQuit with message (wolfe.freenode.net irc.freenode.net).01:22:56
JaskoQuit with message (wolfe.freenode.net irc.freenode.net).01:22:56
kreuterQuit with message (wolfe.freenode.net irc.freenode.net).01:22:56
bobrown``Quit with message (wolfe.freenode.net irc.freenode.net).01:22:56
KrystofQuit with message (wolfe.freenode.net irc.freenode.net).01:22:56
mcxxQuit with message (wolfe.freenode.net irc.freenode.net).01:22:56
jazenQuit with message (wolfe.freenode.net irc.freenode.net).01:22:56
BaloogaQuit with message (wolfe.freenode.net irc.freenode.net).01:22:56
borism_Entered.01:25:25
UtopiahGHMLQuit with message ("zzzzleeeep").01:26:10
slash_Entered.01:26:13
foomQuit with message (Read error: 110 (Connection timed out)).01:26:24
neomageQuit with message (Read error: 110 (Connection timed out)).01:26:33
dcrawfordQuit with message (Read error: 110 (Connection timed out)).01:26:33
bfeinQuit with message (Read error: 110 (Connection timed out)).01:26:37
iborQuit with message (Read error: 110 (Connection timed out)).01:27:33
foomEntered.01:27:44
dcrawfordEntered.01:27:58
neomageEntered.01:28:05
bfeinEntered.01:28:15
fxrQuit with message (Remote closed the connection).01:28:59
manuel_Entered.01:29:38
drdoEntered.01:30:04
<drewc>clhs rational01:31:16
<drewc>minion: cliki?01:31:30
<drewc>ssh root@common-lisp.net01:31:53
<drewc>doh01:31:55
<specbot>http://www.lispworks.com/reference/HyperSpec/Body/a_ration.htm01:32:12
<minion>cliki: CLiki is a free collaborative hypertext (Web) authoring program, written in Common Lisp. http://www.cliki.net/cliki01:32:13
<drewc>gah!01:32:17
<drewc>minion: test?01:32:43
<minion>test: See Test Framework. http://www.cliki.net/test01:32:44
cpapeQuit with message ("ERC Version 5.2 (IRC client for Emacs)").01:33:26
nimalanEntered.01:34:24
BrianRiceQuit with message (Read error: 104 (Connection reset by peer)).01:34:24
kleppariQuit with message (Read error: 110 (Connection timed out)).01:35:53
borism_Quit with message (wolfe.freenode.net irc.freenode.net).01:36:40
bombshelter13Quit with message (Remote closed the connection).01:39:16
gonzojiveQuit.01:39:28
bombshelter13Quit with message (Remote closed the connection).01:39:29
dtoQuit with message (Remote closed the connection).01:40:33
BucciaratiQuit with message (Read error: 110 (Connection timed out)).01:41:33
borismEntered.01:41:56
BucciaratiQuit with message (Read error: 110 (Connection timed out)).01:42:11
luanmaEntered.01:42:13
dtoEntered.01:42:34
BrianRiceEntered.01:43:14
yangsxEntered.01:44:50
anekosChanged name to awayekos.01:45:45
anekosChanged name to awayekos.01:45:58
BrianRice-mbEntered.01:46:35
BrianRiceQuit with message (Read error: 104 (Connection reset by peer)).01:46:35
e271Quit with message (Read error: 104 (Connection reset by peer)).01:46:37
borismQuit with message (wolfe.freenode.net irc.freenode.net).01:47:13
borismEntered.01:48:13
BrianRice-mbQuit with message (Read error: 104 (Connection reset by peer)).01:49:07
BucciaratiEntered.01:49:14
BrianRiceEntered.01:49:57
yeohEntered.01:50:55
borismQuit with message (wolfe.freenode.net irc.freenode.net).01:51:31
vcgomes[away]Changed name to vcgomes.01:51:36
vcgomes[away]Changed name to vcgomes.01:51:37
borismEntered.01:52:16
jfm3Entered.01:54:03
<manuel_>hey01:55:30
<sykopomp>hai01:55:53
<jfm3>Hello again #lisp. I fould like to FORMAT three strings, such that if a string is empty no space is printed. For example if S1 is "foo", S2 is "", and S3 is "bar", (FORMAT NIL *GNAR* S1 S2 S3) => "foo bar" (not "foo bar"). I'm looking at the hyperspec but it doesn't look like there's a way to do this already. I can use ~/, but I'm guessing there is a better way?01:56:19
AthasQuit with message (Remote closed the connection).01:56:46
BrianRiceQuit with message (Read error: 104 (Connection reset by peer)).01:56:47
BrianRiceEntered.01:57:19
milanjQuit with message ("This computer has gone to sleep").01:59:03
mldQuit with message (Remote closed the connection).02:00:14
<drewc>jfm3: i pasted this for you earlier WRT SERIAL columns and o/r layers : http://paste.lisp.org/display/6597602:00:15
mcxxEntered.02:00:31
dv_Entered.02:00:31
cpc26Entered.02:00:31
ruedigerEntered.02:00:31
creddyEntered.02:00:31
JaskoEntered.02:00:31
kreuterEntered.02:00:31
bobrown``Entered.02:00:31
KrystofEntered.02:00:31
jazenEntered.02:00:31
BaloogaEntered.02:00:31
<jfm3>drewc: Thanks!02:00:36
<drewc>i've used that with clsql as well as my own home-grown NIH o/r mapping.02:00:37
<drewc>this one is mine, but should be easy enough to translate to any other sql syntax02:00:59
windedgeEntered.02:01:15
<drewc>as for your FORMAT question, i bet there is a way, but i don't know it :)02:01:47
larsen_Entered.02:02:19
<jfm3>drewc: Cool. S-SQL expressions are Elephant, right? I can't get that to build.02:02:24
<drewc>nah, in this case it's cl-postgres, and the syntax is ROFL.02:02:48
REPLeffectQuit with message (Excess Flood).02:03:10
<drewc>ROFL being my own non-macro-ized SQL syntax.02:03:22
<drewc>(relational objects for lisp)02:03:32
REPLeffectEntered.02:03:35
<jfm3>Hadn't come across that one yet.02:03:51
lynx`Entered.02:04:02
<drewc>it's not released, or available outside of the one project i'm currently working on.02:04:24
<drewc>that said, if you want it you can have it :)02:04:39
borismQuit with message (wolfe.freenode.net irc.freenode.net).02:05:03
<drewc>I do things the right way! :)02:05:04
<drewc>(there is no right way to do an O/R mapping .. but hey, i try)02:05:21
cwennerQuit with message ("Ex-Chat").02:06:30
lynx`Quit with message (Client Quit).02:07:05
lynx`Entered.02:07:47
emmaEntered.02:09:23
psyquarkQuit with message ("Leaving").02:10:25
xah_leeEntered.02:10:44
<xah_lee>how do i write hash table to disk? and read it back?02:10:55
borismEntered.02:12:20
<sykopomp>xah_lee: look up cl-store02:14:10
nurv101Quit with message (Remote closed the connection).02:15:08
<xah_lee>sykopomp: thx. not in emacs cl package. :(02:15:09
<sykopomp>xah_lee: it's a library.02:15:21
<xah_lee>oh, look up the web?02:15:32
aiurEntered.02:15:38
<sykopomp>yes02:15:48
<sykopomp>:P02:15:49
<xah_lee>kk. thx.02:15:56
<tsuru> /whois xah_lee02:15:59
<tsuru>oh spacebar02:16:08
<tsuru>you mess me up everytime02:16:21
<sykopomp>I can't seem to find any info on microthreads/protothreads in lisp implementations.. am I failing at the googles?02:17:32
Reini_UrbanEntered.02:19:18
Reini_UrbanChanged name to rurban.02:19:20
Reini_UrbanChanged name to rurban.02:19:20
<drewc>sykopomp: no, not really. see call/cc and green treads, or the connection machine and *lisp, or what is it that you are trying to do?02:21:20
<sykopomp>drewc: I'm only looking for hope.02:21:40
<sykopomp>Perhaps some change.02:21:43
<sykopomp>But Hope and Change.02:21:46
*jfm3 longs for continuations.02:22:02
<drewc>sykopomp: vote obama?02:22:05
<sykopomp>drewc: :D02:22:11
<drewc>jfm3: see arnesi02:22:13
*drewc uses continuations every day in CL.02:22:27
<sykopomp>drewc: it would just be nice to be able to spawn thousands of threads without drowning/exploding.02:23:06
<drewc>actually, there are many delimited continuation implementations for cl02:23:24
<jfm3>drewc: How often do the prohibited forms trip you up? I don't think I'm a Lisp Whiz enough to make sure I don't call/cc somewhere I shouldn't with arnesi.02:23:50
<drewc>sykopomp: why threads? why not co-processes or continuations?02:24:03
<drewc>jfm3: just don't use unwind-protect or non-local returns.02:24:21
<drewc>jfm3: in other words, don't worry about it, cause the walker will error on forms it does not support.02:24:41
<sykopomp>because I have no idea how to use co-processes or continuations. But if that lets you spawn thousands of parallel processes running with little overhead, I'll take them.02:24:43
<drewc>sykopomp: my point exactly :)02:24:57
<sykopomp>drewc: what's the practical difference between co-processes and continuations, then?02:25:19
<drewc>the former can be implemented via the latter.02:25:32
<sykopomp>oh02:25:40
<drewc>but not vice-versa :)02:25:43
<sykopomp>continuations look kinda unclean and hard to use, though :(02:26:29
<drewc>not really.... just hard to grasp.02:26:51
<drewc>easy to use!02:26:57
<jfm3>sykopomp: I personally think they're about as clean as it gets.02:27:03
bptQuit with message (Read error: 104 (Connection reset by peer)).02:27:04
<Riastradh>If continuations were hard to use, then they wouldn't be used every day in nearly every programming language in existence.02:27:26
<jfm3>It's very much like natural language. You just stop talking about one thing, get back to it later maybe, and start talking about another.02:27:54
attila_lendvaiQuit with message (Read error: 113 (No route to host)).02:27:56
attila_lendvaiQuit with message (Read error: 113 (No route to host)).02:27:56
bptEntered.02:28:04
lemonodor_Entered.02:28:40
<S11001001>hello out there, bitbucket...02:28:58
lemonodor_Quit with message (Client Quit).02:29:03
<drewc>greetings SÉ.02:29:16
<drewc>jfm3: that is one of the better explanations of continuations i've heard :)(02:30:02
<jfm3>Anytime I can make an actual honest contribution to #lisp, I consider it a significant victory, so thanks drewc.02:31:18
tritchey_Entered.02:31:55
<jfm3>So if I blow it and call/cc deep inside of an unwind-protect, arnesi will complain at compile time, or just trash things miserably at run time?02:32:15
<drewc>you simply cant do it02:32:28
<drewc>well, you can-ish.... but no.02:32:37
ruedigerQuit with message ("This computer has gone to sleep").02:32:54
<drewc>basically, the code walker is not going to allow unwind-protect within a (with-call/cc ...) form. However, you can encapsulate the U-P in it's own function, and it should 'just work'.02:33:34
mattreplEntered.02:33:57
<jfm3>I'll have to give it a go.02:34:08
<drewc>the best way to use arnesi is to do as much as possible in 'normal' functions, and only walk/transform/interpret code that actually needs to use call/cc02:34:20
amnesiacEntered.02:35:16
ReiniUrbanQuit with message (Read error: 110 (Connection timed out)).02:35:30
ReiniUrbanQuit with message (Read error: 110 (Connection timed out)).02:35:31
sephtEUROPEQuit with message (Read error: 110 (Connection timed out)).02:43:27
larsen_Quit with message (Read error: 110 (Connection timed out)).02:43:38
lemonodorQuit with message (Read error: 113 (No route to host)).02:43:38
yeohQuit with message ("ChatZilla 0.9.83 [Firefox 3.0.1/2008070208]").02:45:00
jtoyEntered.02:46:12
<dan_b>oh. gnnn. I am DUMB02:46:53
<dan_b>a 32 bit sbcl binary dist is not the best idea ever on amd6402:47:11
tritcheyQuit with message (Read error: 110 (Connection timed out)).02:47:31
tritcheyQuit with message (Read error: 110 (Connection timed out)).02:47:31
psyquarkEntered.02:50:40
<wgl>dan_b: what happens?02:50:59
<dan_b>very little, on a system without 32 bit compatibility libs02:51:48
<wgl>Ah!02:52:18
xyblorEntered.02:54:23
<xyblor>Does anyone use clhs.el instead of hyperspec.el?02:55:27
*hefner has not done a hyperspec lookup from emacs since the days of ilisp =/02:57:29
<xyblor>hefner: what do you use instead?02:58:23
*Xach uses a browser bookmark all the time02:58:35
<jfm3>I bound C-h l to a function that calls w3m on lispdoc.com with a search term of whatever dot is on. Would that help?02:58:39
<hefner>xyblor: I just keep the clhs symbol index in my bookmark toolbar.02:58:58
<Riastradh>Xach hosts some CGI script that knows the index of the HyperSpec, and I have a shortcut to that.02:59:01
<Riastradh>At least, I think it's Xach. I haven't seen its URI for a long time, so I could be misremembering.02:59:24
<Xach>Riastradh: that's also what i use almost exclusively02:59:40
<hefner>xyblor: not because I think it's a superior approach, just because slime came along, shuffled all the key bindings around, and I never reacquired the habit02:59:51
lemonodorEntered.03:01:25
<lisppaste>jfm3 pasted "lispdoc emacs defun" at http://paste.lisp.org/display/6598503:01:53
haiweiEntered.03:01:55
bucciaEntered.03:03:13
<xyblor>jfm3: that's a lot more concise than hyperspec.el03:03:52
BucciaratiQuit with message (Read error: 110 (Connection timed out)).03:04:37
BucciaratiQuit with message (Read error: 110 (Connection timed out)).03:04:37
salexQuit with message ("ERC Version 5.2 (IRC client for Emacs)").03:05:45
<drewc>jfm3: yoink!03:05:49
<jfm3>I have a feeling hyperspec.el is more integrated into SLIME.03:07:34
H4nsEntered.03:08:04
<jfm3>Like those little hints that pop up in the minibuffer when you're type space after a name in the function position.03:08:05
AdamantQuit with message (Read error: 104 (Connection reset by peer)).03:08:34
AdamantEntered.03:09:04
tritchey_Quit with message (Remote closed the connection).03:12:04
tritchey_Quit with message (Remote closed the connection).03:12:04
tritcheyEntered.03:12:36
dmiles_afkQuit with message (Read error: 104 (Connection reset by peer)).03:15:44
dmiles_afkEntered.03:15:52
<drewc>if tar.gz'ing up a directory and copying that is so much faster, than why doesn't scp bloody well do the when i scp -r .03:16:22
<joshe>I usually pipe tar through ssh rather than use scp -r03:17:11
<dan_b>it would be against the unix philosophy03:17:58
isomer``Entered.03:18:27
<dan_b>why join small well-written single-purpose apps together when you can make each implemetn half-assed replacement for the others03:18:36
isomerQuit with message (Nick collision from services.).03:18:51
isomer``Changed name to isomer.03:18:53
the_unmakerEntered.03:19:42
<the_unmaker>is lisp a good isea for web development?03:20:00
<the_unmaker>idea03:20:04
<drewc>the_unmaker: Mu.03:20:11
<dan_b>no, having a coherent plan for what the web site does and how it works is the good idea for web development03:21:01
<dan_b>choice of implementation language is chickenfeed by comparison03:21:25
<the_unmaker>really?03:22:14
lemonodorQuit.03:22:55
<xyblor>Aren't there some languages inherently unsuited to web development?03:23:10
<the_unmaker>drewc: mu?03:23:11
the_unmakerChanged name to empherorr_ghavin.03:24:08
empherorr_ghavinChanged name to empheror_gavino.03:24:29
<hefner>hooray, an rgb image output record that doesn't use the pixmap-spewing clim rgb-images03:24:59
<empheror_gavino>http://community.schemewiki.org/?Beyond-Lisp this mu?03:25:02
H4ns1Quit with message (Read error: 110 (Connection timed out)).03:25:46
haiweiQuit with message ("Leaving.").03:25:54
haiweiEntered.03:26:22
impulse32Entered.03:28:10
scott`Quit with message (Read error: 110 (Connection timed out)).03:28:46
scott`Quit with message (Read error: 110 (Connection timed out)).03:28:47
nimalanQuit.03:29:30
RennMaxQuit with message (Read error: 104 (Connection reset by peer)).03:29:36
mavQuit with message (Remote closed the connection).03:30:15
iborEntered.03:30:55
xyblorQuit with message ("ERC Version 5.2 (IRC client for Emacs)").03:34:04
BrianRiceQuit.03:36:06
nowheremanQuit with message (Read error: 110 (Connection timed out)).03:36:35
scott`Entered.03:39:53
mathrickQuit with message (Read error: 110 (Connection timed out)).03:40:17
njsg_Entered.03:42:49
asdf25_Quit with message ("Ex-Chat").03:44:32
tltstcQuit.03:45:03
tltstcQuit.03:45:03
bucciaQuit with message (Read error: 110 (Connection timed out)).03:45:30
bucciaQuit with message (Read error: 110 (Connection timed out)).03:45:30
mrsoloQuit with message ("Leaving").03:47:43
holycowQuit with message (Remote closed the connection).03:48:17
holycowEntered.03:49:13
<drewc>holy shit, the_unmaker is gavino. my whole world makes sense.03:49:19
jlfEntered.03:49:45
<empheror_gavino>drewc: hello, I am reformed, and what are you up to lately?03:50:09
mattreplQuit.03:52:09
mattreplQuit.03:52:09
<drewc>bout 5'10"03:53:58
<empheror_gavino>har03:54:57
<empheror_gavino>drewc: would you use clisp on linux for building a dynamic website?03:55:19
<drewc>empheror_gavino: try it for yourself and tell me what you think.03:55:50
dtoQuit with message (Remote closed the connection).03:56:00
manuel_Quit.03:57:04
<empheror_gavino>(learn lisp cl-emb cl-who html)03:57:08
<S11001001>empheror_gavino: actually, the idea for the web was implemented in Lisp 20 years before Berners-Lee *supposedly* invented the web03:57:24
<empheror_gavino>S11001001: no kidding?03:57:34
<S11001001>so any Lisp, including CLISP, is a good choice03:57:38
<empheror_gavino>S11001001: link?03:57:42
njsgQuit with message (Read error: 110 (Connection timed out)).03:58:12
<S11001001>sorry, the whole thing was covered up after the AI winter fiasco so as to not interfere with Berners-Lee's deployment03:58:13
<S11001001>remember, this was pre-WWW as we know it, so not really documented on the web03:58:26
<drewc>S11001001: only 20? hello Englebart?03:58:40
<S11001001>sorry drewc, I get my dates confused sometimes03:58:54
<hefner>Englebart was a CIA agent03:58:58
<drewc>:)03:59:26
<empheror_gavino>S11001001: I see simple requests from a broswer as not really coplex, yet as a unix admin supporting LAMP apps woa nelly there is anthill chaos sometimes if anyone changes even one file.04:00:16
<empheror_gavino>I have such a huge ego I think I can learn lisp and avoid having to learn java.04:00:43
<empheror_gavino><====hates convention04:01:55
*drewc holds his tongue and gets back to work.04:02:35
<empheror_gavino>so pcl is more straightforwrd than grahams ansi common lisp?04:02:51
<hefner>overlooking the minor deficiencies of the clim gadget layer, and noting that instantiating everything gets a bit too verbose and there's some obvious opportunities for a coat of sugar, I wonder how closely such a thing would resemble accepting-values04:02:53
<hefner>or the mythical accepting-values-pane04:03:09
vcgomesChanged name to vcgomes[away].04:05:59
vcgomesChanged name to vcgomes[away].04:05:59
drdoQuit with message (Read error: 110 (Connection timed out)).04:08:19
<S11001001>empheror_gavino: both are very good04:08:55
<empheror_gavino>S11001001: sometimes reading graham, I get the feeling I missed something, i jsut went from p37 back to 1904:09:33
<empheror_gavino>like the examples he gievs I'm like wtf?? until I sorta see that a previous example is sort of a conditional and04:10:12
<S11001001>yes, that can happen with any educational situation04:10:23
<empheror_gavino>then the new code sort of makes sense in that only one of the two lines following the first gets executed04:10:36
<empheror_gavino>but alas then the folloing two lines might contain sublines and I get lost again04:10:58
<empheror_gavino>aggk!04:11:00
iborQuit with message (Read error: 110 (Connection timed out)).04:11:31
BucciaratiEntered.04:12:17
milos_Entered.04:15:50
ths_Entered.04:16:09
<S11001001>for example, when I started with Lisp, I kept asking "what sort of object should I use for an ad-hoc structure containing two objects?" I did a lot of research into serialization techniques before discovering the facilities already provided by Lisp for such techniques04:16:13
<empheror_gavino>S11001001: reading where in the hyperspec?04:16:48
<empheror_gavino>S11001001: one programmer I know said never read books read the spec......not sure If Im strong enuf for that..04:17:07
<S11001001>not really in one place; you'll learn about these techniques as you continue in your studies04:17:34
holycowQuit with message (Remote closed the connection).04:18:03
<S11001001>also, as the spec has been published as a book, I'm not sure such advice can be taken seriously :)04:18:11
holycowEntered.04:20:19
<empheror_gavino>I have winston+horn, graham ansi common, and pcl online, and an older book a programmers guide to common lisp by tartar04:21:02
<drewc>empheror_gavino: if graham is too hard to grasp, can i suggest Touretzky? My wife was able to learn quite a bit of programming and lisp using it as a text.04:21:07
<empheror_gavino>oh yes i forgot about that one04:21:18
<empheror_gavino>my main nightmare is how i will get to linux from common lisp04:21:31
<empheror_gavino>and then way down the line can I have lisp on multiple boxes work together04:21:47
<jfm3>empheror_gavino: (sb-ext:process-output (sb-ext:run-program ...))04:22:30
<drewc>your real problem is that you never bother to do anything but worry about what might or might not be possible to someone who knows what they are doing, thus preventing you from ever knowing what is and is not possible.04:23:06
<sykopomp>my girlfriend was using gentle intro to learn. She seemed to have a pretty easy time with it.04:23:41
<empheror_gavino>drewc: perhaps04:23:51
<empheror_gavino>ok off to read ill leave ye be for now04:24:02
<empheror_gavino>S11001001: thx +jf +sk04:24:25
empheror_gavinoLeft.04:24:28
asdf25Entered.04:24:48
LostInTheWorldEntered.04:26:53
<lisppaste>asdf25 pasted "clsql encoding error" at http://paste.lisp.org/display/6599304:27:46
<asdf25>i'm getting this error trying to query strings in latin1 encoding in a mysql database, does anyone know if there's a way i can read them?04:28:35
pkhuongEntered.04:31:58
spdr__Quit with message (Read error: 60 (Operation timed out)).04:32:10
thsQuit with message (Read error: 110 (Connection timed out)).04:32:33
<S11001001>asdf25: easy way: use uffi-compat in cffi instead, and bind cffi:*default-foreign-encoding* to a Babel encoding name in the context of your database calls04:33:21
<jfm3>clsql is biting me too. I do CREATE-VIEW-FROM-CLASS, then DROP-VIEW-FROM-CLASS, but the table never goes away.04:33:31
<drewc>asdf25: or, even, start your SBCL with the same encoding as your database.04:33:57
<drewc>jfm3: don't use clsql to manage your tables.04:34:12
<drewc>jfm3: actually, don't use clsql at all :)04:34:28
<S11001001>drewc: I don't think so; glancing at the code briefly, uffi assumes utf-8 always if sb-unicode04:34:44
<S11001001>whereas cffi lets you set the foreign string encoding directly04:35:03
<jfm3>drewc: I wanted to use Elephant but I lost that wrestling match as well.04:35:21
<drewc>jfm3: use postmodern04:35:33
<drewc>S11001001: so, don't use sb-unicode with a latin1 database.04:36:01
<drewc>or, use a utf-8 database.04:36:18
<pkhuong>S11001001: i think pjb has some badness to work around that issue for clsql/sbcl.04:37:47
<asdf25>thanks i'll try the cffi thing, do you know what specifically i should set *default-foreign-encoding* to? i don't see any documentation at http://common-lisp.net/project/babel/04:37:51
<drewc>i know i'm not helping, but hey.04:37:55
iborEntered.04:38:15
<S11001001>asdf25: when you get babel, you'll find a list in one of the lisp files04:38:19
<asdf25>ok04:38:24
<S11001001>and you can say (babel:list-character-encodings) to get that list :)04:38:55
*drewc spent way too long mucking trying to get lisp, C and oracle speaking the same encoding to even want to think about it anymore.04:43:16
Reaver_1Entered.04:48:02
tritcheyQuit.04:48:07
tritcheyQuit.04:48:07
rmathewsEntered.04:49:49
Philonous1Entered.04:54:26
blbrownQuit with message ("Ex-Chat").04:55:15
<asdf25>hooray got it to work, thanks again04:59:16
DawgmatixEntered.05:00:55
PhilonousQuit with message (Connection timed out).05:08:22
<beach>good morning05:10:13
awayekosChanged name to anekos.05:16:21
awayekosChanged name to anekos.05:16:21
envi^officeQuit with message ("Leaving").05:16:23
envi^officeQuit with message ("Leaving").05:16:23
bucciaEntered.05:17:34
nimalanEntered.05:17:50
envi^officeEntered.05:23:43
BucciaratiQuit with message (Read error: 110 (Connection timed out)).05:24:39
BucciaratiQuit with message (Read error: 110 (Connection timed out)).05:24:40
tcrEntered.05:27:35
iborQuit with message ("Leaving.").05:33:33
DraggorQuit with message (Read error: 110 (Connection timed out)).05:33:48
<S11001001>good evening beach05:34:19
<hnaz>moin05:36:18
<hnaz>I am searching the standard for a certain behaviour, but until now without success05:36:54
<hnaz>can someone tell me why (list (values)) has the value (nil)?05:37:09
<hnaz>shouldn't a list without contents be the empty list?05:37:26
athosEntered.05:37:32
<beach>hnaz: (values) is evaluated in a context where one value is required. Then an additional value of NIL is supplied.05:38:13
<hnaz>ah, cool05:39:06
<beach>hnaz: In a function call such as (f e1 e2 ... en), the function will be called with n arguments no matter what.05:39:08
<hnaz>but (list) is fine, isn't it?05:39:29
<beach>sure.05:39:34
<hnaz>hmhm *thinking*05:40:31
<beach>hnaz: with a behavior like the one you are suggesting, it would be very hard indeed to compile Lisp to efficient machine code.05:41:42
<beach>hnaz: you could almost never verify that a function is called with the right number of arguments, for instance.05:42:12
<hnaz>uh, okay. implications I can not see due to lack of collateral knowledge ;)05:43:18
<pkhuong>hnaz: you can have the behaviour you're looking for with multiple-value-call.05:44:40
<beach>hnaz: Well, think about it. The compiler sees (cons (f x) (g y)). It knows that cons expects its first value in register 1 and its second value in register 2, so that's how it generates the code.05:44:47
<beach>hnaz: however, if (f x) might return no values, and this would imply that the value if (g y) (if any) should be in register 1 instead, then all of that stuff would have to be done at runtime intead of at compile time.05:45:38
<beach>hnaz: one of the things I like about Common Lisp (as opposed to so-called "scripting languages") is that the designers of Common Lisp pushed it as far as they could, but didn't go further than what can be efficiently compiled.05:47:02
<hnaz>beach: ah, I get it now05:49:42
<hnaz>pkhuong: thanks05:50:03
BucciaratiEntered.05:52:38
asdf25Quit with message (Read error: 110 (Connection timed out)).05:55:23
tiesjeEntered.05:56:57
<S11001001>How often does the multiple-value count have to be updated? Every time an expression delivers values to its continuation? Or is there some optimization I'm not thinking of?05:57:37
<S11001001>(in a theoretical compiled Lisp optimizing for single-value returns by putting remaining values in a side buffer)05:58:06
werdan7Quit with message (Nick collision from services.).05:58:57
<beach>S11001001: [not sure I understand], in general it is undecidable how many values an expression is going to return, but in many cases it can be statically determined.05:59:13
bucciaQuit with message (Read error: 110 (Connection timed out)).05:59:47
bucciaQuit with message (Read error: 110 (Connection timed out)).05:59:47
<beach>S11001001: (if (= (ackermann 6 7) 12) 'hello (values))05:59:59
<S11001001>well that won't ever return now will it ;)06:00:19
<beach>Not any time soon if the compiler executes arbitrary expressions, which is why it generally doesn't.06:00:52
<beach>Does anyone have any suggestions with respect to how FORMAT should verify that directives are properly nested. The approach for interpreting and compiling directives is "table-driven" in that code for each directive is decentralized. But the nesting thing seems to require some central mechanism.06:01:48
<pkhuong>S11001001: sbcl does some magic with the direction bit, so that the common case of returning 1 value doesn't have to do anything special.06:02:43
<S11001001>I'm thinking about delay of values removal, considering that only a fixed set of primitives can retrieve the rest-values.06:02:59
<beach>S11001001: if the values are in registers, just leave them there if they are not needed.06:03:32
<pkhuong>S11001001: tail calls preserve multiple return values, so there's nothing special to do there either.06:04:09
<beach>S11001001: Movitz for instance, puts the values in a fixed vector accessible from a register. They are just discarded by leaving them there.06:04:13
<beach>(though from time to time, it needs to be cleared for the GC).06:04:25
<S11001001>but there's too much separation between where the values are received by the primitive and where they are first delivered to some continuation06:04:25
bucciaEntered.06:05:05
<pkhuong>S11001001: no, there isn't. The only way multiple values can propagate is either with an explicit call to values, or through tail calls.06:05:14
<S11001001>yes, and that's straightforward enough06:05:56
<pkhuong>... and m-v-prog1!06:06:09
<S11001001>let's say you have (defun x () (y) 42) , (defun y (values 55 66))06:06:43
<S11001001>sorry, y is a thunk06:06:51
<sykopomp>Has there been any effort put into writing some kind of framework that helps generate a hyperspec-like site for API documentation?06:06:54
<S11001001>so y sticks (66) in a vector06:07:07
<pkhuong>then x calls y, and then returns 42. Whatever it has to do to return 42 will make sure only the right number of values is considered as returned.06:07:25
<S11001001>x ignores the result of calling y, and returns 4206:08:00
<pkhuong>sykopomp: there's edi weitz's tool, which he uses for his own wonderfully documented projects.06:08:02
<S11001001>if I don't clear out the vector in x's code, then whoever called x receives two values06:08:23
<beach>S11001001: no06:08:32
<pkhuong>S11001001: no, whoever called x received however many values x signalled there is. Whatever remains after in the vector is irrelevant; just don't look at it.06:08:51
<beach>S11001001: x will indicate (by setting a flag) that there is only one value there.06:09:02
<S11001001>okay, so on the compiled level, I cannot just communicate a value; I always have to communicate the number of values as well.06:09:38
<sykopomp>pkhuong: wonderful. I'll play with this :)06:09:42
<beach>S11001001: and if x was called in a context that only requires a single value, then that flag won't even have to be checked.06:09:43
<beach>S11001001: yes, but there are some optimizations for that.06:10:00
<pkhuong>S11001001: somehow. Doesn't have to be an actual number in the common case of exactly 1 return value.06:10:14
<tcr>sykopomp: I used CFFI's manual texinfo file as a start point.06:10:40
<beach>S11001001: like, every function always supplies one value in a fixed place (and it will be NIL, if it returns (values)), so that a calling context that needs a single value can just go get it in that place.06:10:41
athosQuit with message (Read error: 60 (Operation timed out)).06:10:59
<S11001001>okay06:11:47
<S11001001>thanks beach, pkhuong for talking this out with me06:12:05
<beach>anytime06:12:11
BucciaratiQuit with message (Read error: 110 (Connection timed out)).06:12:28
BucciaratiQuit with message (Read error: 110 (Connection timed out)).06:12:28
DraggorEntered.06:13:24
abendEntered.06:14:12
<xah_lee>hi beach06:14:15
<pkhuong>S11001001: you might find the disassemblies in SBCL interesting. It's a concrete implementation of (values) filling a location with NIL, !1 return value setting a flag, and an arg count location being used when anything but 1 value is returned. x86 isn't ideal, though ;)06:14:16
<beach>for FORMAT, I could introduce a new general mechanism by which any directive can indicate whether there is a corresponding closing directive that has to nest properly, but this seems overkill.06:19:44
<beach>Though perhaps that will work.06:20:17
<beach>And things are complicated by the fact that ~< is used for two different directives.06:20:57
<tsuru>it's not called a beast without reason :D06:21:38
<beach>That makes it fun as well though.06:22:09
milos_Quit with message (Read error: 60 (Operation timed out)).06:23:19
rollerQuit with message (Read error: 113 (No route to host)).06:23:25
<beach>There just weren't enough matching character pairs in ASCII for all directive. We have [] {} and <>, and that's it.06:24:18
<tsuru>and fun for those of us bored and looking for news specifically aimed at them06:24:34
<beach>heh06:24:53
rollerEntered.06:25:07
ManateeLazyCatEntered.06:26:04
xan_Entered.06:29:12
<slyrus>evening06:36:36
<beach>hello slyrus06:36:50
<slyrus>hey beach. how's FORMAT?06:37:26
<beach>slyrus: Fine. I did a major overhaul yesterday. Now I am thinking about nested directives.06:38:04
<pkhuong>beach: are you writing a format, or a formatter? (interpreter or compiler)06:39:08
<beach>Currently, a directive can only have its usual modifiers and its parameters. Clearly, a directive also needs to have other slots, say to hold a sequence of sub-directives.06:39:16
<beach>pkhuong: both06:39:21
<beach>pkhuong: I use a sufficiently rich representation of directives as they are found in the control string, that is then used by the compiler.06:40:01
<beach>pkhuong: in fact, I think the compiler is going to be more interesting.06:40:11
<pkhuong>beach: i think the compiler part is more interesting too. I'd probably have focused on the compiler, with EVAL as a band aid until I got around to writing an interpreter.06:41:12
replor_Entered.06:42:09
<beach>pkhuong: Interesting idea. I am currently writing them in parallel, and testing the compiler only by visual inspection of the result.06:42:10
AshyIsMeQuit with message ("Leaving").06:42:14
AshyIsMeEntered.06:42:30
ManateeLazyCatQuit with message (Remote closed the connection).06:43:40
Reaver_11Entered.06:44:44
jeddhaberstroQuit.06:44:55
*beach resists the temptation of yet-again over-engineering some program.06:46:16
<sohail>beach, that is a sign of maturity I think :-)06:46:49
yeohEntered.06:47:01
<beach>sohail: but over-engineering is more fun!06:47:02
DawgmatixQuit.06:47:23
<sohail>maturity is probably the ability to have fun and still get work done :-)06:47:31
<beach>... perhaps Unicode has more matching character pairs than ASCII and perhaps someone will want to extend FORMAT with them, and perhaps someone will want to overload ~[ when the closing ~] has a @ modifier :)06:47:48
<rme>maturity is the ability to get work done while not having fun06:48:12
<beach>sohail: Yeah, but you see, it's only part of my goal to get work done. The other part of me is the professor who needs to exploit different solutions in order to tell the students what to do.06:49:03
<sohail>I thought professors only pose questions06:49:13
<beach>sohail: Well, I am sort of a fake professor.06:49:32
<Krystof>no, we profess too06:49:34
<beach>OK, I think I'll just special-case the code for nested directives, so that FORMAT can only be extended with "simple" directives (parameters, modifiers).06:53:45
<beach>This will solve the problem with multiple uses of ~< as well.06:54:12
vtlEntered.06:54:18
goofQuit with message (Remote closed the connection).06:54:24
<tic>Morning fellow Lispers!06:55:53
<tic>beach, FORMAT coming along well?06:56:11
<beach>hello tic!06:56:14
<beach>tic: Reasonably! You would have to check the logs, rather than my repeating what I just said. :)06:56:41
<beach>tic: do you want to do the floating-point printers?06:57:05
<tic>beach, interesting about the compiler.06:57:14
<sohail>hey you know what would be cool06:57:35
<sohail>distributed bug trackers06:57:38
<mvilleneuve>good morning06:57:50
<beach>hello mvilleneuve06:57:54
<tic>beach, that would be good practice, sure! (But not until Tuesday next week, though)06:58:09
<beach>tic: I am guessing that a vast majority of uses of FORMAT use constant control strings. This will make the compiler important.06:58:34
<beach>tic: I'll leave them for you.06:58:46
*Draggor bugs sohail, "Release? O:)"06:59:44
replorQuit with message (Connection timed out).06:59:45
<tic>beach, [compiler] indeed.07:00:03
<tic>beach, floats: yup.07:00:33
Reaver_1Quit with message (Read error: 110 (Connection timed out)).07:00:56
<sohail>Draggor, argh07:01:46
<sohail>doing it now07:02:01
<Draggor>Hehe, sorry to be a pest07:02:48
<sohail>no, please do07:03:17
<sohail>I want someone else to use it and see if it actually works07:03:25
mikeschEntered.07:03:28
<Draggor>I've got the big 3 platforms to test on too07:03:49
<Draggor>sbcl and clisp as my weapons of choice07:04:06
<sohail>well we'll see how much you curse me after I publish the repo07:05:20
<beach>tic: here's the plan: steal Krystof's implementation of the Burger & Dybvig algorithm, but redo all the directives.07:05:24
<sohail>as of now, it probably only "works" on sbcl :-)07:05:28
<sohail>on linux07:05:32
<sohail>and even that, you need sbcl 1.0.15 as the later versions for some reason started dying with heap errors07:05:59
mathrickEntered.07:06:18
<tic>beach, oh, better yet. code theft is done by SBCL, I presume?07:07:47
sykopomp`Entered.07:08:14
<Draggor>sohail: I can make that work, about to reload a machine fresh, so I can use that as my test bed.07:08:28
<beach>tic: Krystof says "don't take the code of the directives themselves".07:08:35
<beach>tic: but yeah, the implementation of the algorithm is in SBCL.07:08:54
<sohail>Draggor, great!07:08:57
<Draggor>sohail: Oh sweet, I already have that version on a server!07:09:09
<tic>beach, alright. what's the rationale behind not taking the code of the directives themselves? (SBCL-specificness?)07:09:23
*Draggor sets X to start downloading07:09:27
Reaver_1Entered.07:09:31
<sohail>Draggor, sweet!07:09:33
<beach>tic: apparently they might be wrong.07:09:40
sverrejQuit with message (Read error: 110 (Connection timed out)).07:09:40
bryteiseEntered.07:09:41
<Draggor>I probably won't be able to poke at this until, y'know, I get to work in 9 hours07:09:50
<tic>beach, oh.07:09:55
<sohail>Draggor -_-07:11:51
<sohail>well where can I message you to let you know where to get it form?07:12:06
<sohail>otherwise I'll forget until you ask me again and I am here07:12:17
<Draggor>sohail: I've got the various IM networks, email addresses, etc07:12:51
<sohail>what's your email?07:13:14
<Krystof>sbcl's format is basically portable, and has been lifted a couple of times (by piso, and maybe by OpenMCL)07:14:16
<Draggor>