00:04:07 DalekBaldwin [~user@74.212.183.186] has joined #lisp 00:05:50 did bill clementson's old blog disappear off the face of the web? 00:06:03 I can't even get any cached google results for it 00:06:49 Vicfred [~Vicfred@187.206.71.155] has joined #lisp 00:06:59 Try archive.org? 00:08:19 malbertife [~malbertif@host199-53-dynamic.16-87-r.retail.telecomitalia.it] has joined #lisp 00:08:33 yeah I'm trying that too... I'm just wondering if he pulled a _why or something 00:10:04 -!- malbertife [~malbertif@host199-53-dynamic.16-87-r.retail.telecomitalia.it] has quit [Client Quit] 00:17:48 -!- cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has quit [Read error: Connection reset by peer] 00:17:55 cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has joined #lisp 00:22:36 -!- edgar-rft [~GOD@HSI-KBW-109-193-013-113.hsi7.kabel-badenwuerttemberg.de] has quit [Quit: computation stopped into paranoid deadlock] 00:28:46 DalekBaldwin: yes, google becomes less and less useful with time. 00:28:47 abunchofdollarsi [~abunchofd@l33t.csail.mit.edu] has joined #lisp 00:29:35 If I define a function in one package, and then another function in a different package passing a symbol into this first function; should I not be able to compare the symbols because they are interned differently or something? 00:29:59 You should be able to compare them. 00:30:19 I see; it 'seems' like eq is telling me that they are not equal. 00:30:22 Depending on the function you use to compare, symbols with the same name in different package may or not compare similar. 00:30:28 I see. 00:30:35 eq and eql tell whether the two symbols are the same. 00:30:41 identical. 00:31:04 Same result with equalp. 00:31:12 The question is whether you want them to be the same or not? Despite the string= name. 00:31:21 I want them to be the same. 00:31:35 guyal [~anonymous@108-235-117-64.lightspeed.sntcca.sbcglobal.net] has joined #lisp 00:31:39 I also just want to understand what exactly is going on. 00:31:41 Yes, you could compare them with string= (case sensitive) or string-equal (case insensitive). 00:32:07 If you want to have the same symbol in both package, you can export it from one and use the package in the other, or import it into the other package. 00:32:19 I see that makes sense, I think. 00:32:23 It's kind of like a typed enum. 00:33:37 What happens, is when the lisp readers reads abc, it looks at the (readtable-case *readtable*) to know what to do with the string "abc". With the default *readtable*, the value of (readtable-case *readtable*) is :upcase, which tells the reader to use (string-upcase "abc") which gives "ABC" as the first argument to intern. The second argument is the package bound to *package*. 00:34:18 premiere30 [~premiere3@37.9.56.12] has joined #lisp 00:34:18 Do I then need to use find-symbol in order to access this symbol frmo the other package? 00:34:22 Now, what symbol is returned by (intern "ABC" *package*) depends on the *package*, its package use list, the symbols it has imported, and the symbols that are already interned. 00:34:22 After exporting it that is. 00:35:04 You can use find-symbol or qualify them with the package name: (in-package :package-2) 'package-1::symbol 00:35:36 (in-package :package-2) (import 'package-1::symbol) (eq 'symbol 'package-1::symbol) --> T ; if no error was found by import. 00:35:41 So the 'real' name of a symbol is ::. 00:35:48 Because the quote is telling it not to evaluate? 00:36:19 So it follows that all symbols besides gensyms and ones I explicity uninterned are interned in a package. 00:36:23 No. A symbol has a name, and may have a home package, and can be interned in various packages, and can be visible (thru package use lists) in various packages. 00:36:39 Hmm I see. 00:36:46 The quote is irrelevant here, what matters is the lisp reader calling INTERN. 00:36:59 But the quote isn't irrelevant, right? 00:37:03 It's telling it not to evaluate. 00:37:07 (intern "SYMBOL" (find-package "PACKAGE-1")) would be equivalent. 00:37:21 yes ' prevents evaluation. 00:37:30 'package-1::symbol 00:37:33 That syntax. 00:37:40 If there was no quote, it would think it was a variable or something. 00:37:46 Yes. 00:38:13 Does the 'reader' (or something) automatically expand nonscoped symbols into the current package then? 00:38:25 Try: (defun package-1::fun (x) (if (eq 'package-1::sym x) 'win 'lose)) (package-1::fun 'sym) (package-1::fun 'package-1::sym) 00:38:47 You can say it like that, but what it does, is to call INTERN. 00:39:04 Okay; the quote stops it from calling INTERN. 00:39:14 clhs intern says: intern enters a symbol named string into package. If a symbol whose name is the same as string is already accessible in package, it is returned. If no such symbol is accessible in package, a new symbol with the given name is created and entered into package as an internal symbol, or as an external symbol if the package is the KEYWORD package; package becomes the home package of the created symbol. 00:39:15 00:39:28 -!- Vicfred [~Vicfred@187.206.71.155] has quit [Quit: Leaving] 00:39:33 No, the lisp reader reads things before the quote is considered! 00:39:50 Try: (read) RET 'package-1::symbol RET 00:40:01 compare with: (read) RET package-1::symbol RET 00:40:38 The relevant part in the description of intern above is: "If a symbol whose name is the same as string is already accessible in package, it is returned." 00:40:42 The key word is accessible. 00:41:04 See definition of accessible: http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_a.htm 00:41:09 Awesome. 00:41:10 Thanks. 00:41:27 third definition. 00:42:35 The thing is that symbols can be accessible either because they're interned (import makes it interned, so a symbol can be interned in several packages, but it has at most one home package), OR because they're on the export list of a package that is used. (There are also variants with shadowing imports, etc). 00:42:45 It's a little complex, I admit. 00:43:23 I think it's just odd to me that the reader is calling INTERN. 00:43:38 Now, the syntax package::symbol just makes the lisp reader use (find-package (string-upcase "package")) instead of *package* in the call to intern. 00:43:53 and package:symbol does the same, but checking that the symbol is exported from package. 00:43:54 Because that syntax is expanded by the reader? 00:44:56 abunchofdollarsi: indeed, this is an important feature. (length (let (ss) (dosymbol (s *package*) (push s ss)))) '(hello world) (length (let (ss) (dosymbol (s *package*) (push s ss)))) --> may return a different result. 00:45:03 boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has joined #lisp 00:45:26 It's not that "syntax is expanded" it's just that it's the lisp reader that interprets the syntax. 00:45:36 Check http://www.lispworks.com/documentation/HyperSpec/Body/02_.htm 00:46:04 And in particular http://www.lispworks.com/documentation/HyperSpec/Body/02_ce.htm 00:46:23 Awesome. 00:46:51 Reader deals with syntax and read macros. 00:46:54 Yes. 00:47:20 Makes much sense now. 00:47:32 And this is done before evaluating the sexp. If you call (READ) in a program, there's no evaluation done, just reading. 00:47:43 read or read-from-string 00:47:54 (read-from-string "package-1::symbol") 00:48:08 For some meaning of 'evaluation'. 00:48:11 (read-from-string "(Hello world)") 00:48:14 Because there is something approaching transformation. 00:48:19 for eval and compile. 00:48:28 Yes; okay. 00:48:36 But you're right that you could have a program implementing its own kind of evaluation. 00:48:55 We call that domain specific languages, or interpreters, or compilers. 00:49:29 But the thing is that you can use the lisp reader, along with the lisp printer, to serialize/deserialize lisp data into data files. 00:50:16 (with-open-file (out "/tmp/data" :direction :output :if-does-not-exist :create :if-exists :supersede) (prin1 '(hello 42 #(a vector 3.0) "Hi" (a sublist)) out)) 00:50:26 (with-open-file (inp "/tmp/data") (read)) 00:50:41 (with-open-file (inp "/tmp/data") (read inp)) 00:50:46 Yes; 00:50:47 -!- foreignFunction [~niksaak@ip-4761.sunline.net.ua] has quit [Quit: Leaving.] 00:51:11 The only thing when you do that, is that #. let you evaluate expressions at read time. 00:51:26 That's cool. 00:51:31 So if somebody puts #.(delete-file "/some/important/file") or worse in your data file, it's bad. 00:51:49 Injection. 00:51:53 To prevent that, you can use (let ((*read-eval* nil)) (read inp)) 00:52:05 when *read-eval* is nil, #. doesn't work. 00:52:42 (with-open-file (inp "/tmp/data") (let ((*read-eval* nil)) (read inp))) 00:53:23 check the function: com.informatimago.common-lisp.cesarum.utility:include 00:53:40 It is designed to be used as: #.(include "some-file.lisp") in lisp files. 00:55:09 So when you load such a file, there's a run-time that evaluates the load expression. then a read time that reads forms from that file. then a run-time that evaluates the #. expression (include ) then a read time that read the included file, then a run-time that evaluates the returned expression :-) 00:55:46 each evaluation involving a macroexpansion time, to expand the expressions before evalating them. 00:56:57 The semantics of CL make the distinction between those different times, read-time, load time, compilation time, macroexpansion time, run-time. But in practice they're interwoven closely. 00:58:35 These different execution windows are there so we can have macros; or we get macros because there are these different windows. 00:58:50 antonv [5d7d2a42@gateway/web/freenode/ip.93.125.42.66] has joined #lisp 01:04:29 -!- Sagane [~Sagane@177.100-226-89.dsl.completel.net] has quit [Read error: Connection reset by peer] 01:04:39 -!- shridhar [Shridhar@nat/redhat/x-spfxcawmowcecsds] has quit [Quit: shridhar] 01:10:14 prxq__ [~mommer@x2f6d01c.dyn.telefonica.de] has joined #lisp 01:13:21 -!- prxq_ [~mommer@x2f6cb07.dyn.telefonica.de] has quit [Ping timeout: 245 seconds] 01:17:38 nisstyre [~yours@oftn/member/Nisstyre] has joined #lisp 01:20:10 danielszmulewicz [~danielszm@109.226.23.62] has joined #lisp 01:34:22 -!- nialo [~nialo@ool-18bbb124.dyn.optonline.net] has quit [] 01:34:33 -!- desophos [~desophos@n163h87.dhcp.oxy.edu] has quit [Read error: Connection reset by peer] 01:35:10 abunchofdollarsi: those different phases are distinguished so we may specify the semantics of CL clearly. 01:35:24 But it's all only functions calling functions inside the system. 01:35:48 But are macros a consequence of those semantics; or are those semantics a consequence of wanting macros? 01:35:59 Yes. 01:36:03 Okay. 01:36:20 Well, macros started by a hack :-) 01:37:01 And today I read about 'fexpr'; but CL does without them. 01:37:27 motiondude [~motionman@unaffiliated/motionman] has joined #lisp 01:37:44 But mostly now semantically, it's just a clause in the abstract eval algorithm: (defun .eval (form environment) (cond  ((macro-function (first form)) (.eval (macroexpand form environment) environment)) ) 01:38:05 Yes, because macros replace fexpr with cleaner semantics. 01:39:25 desophos [~desophos@n163h87.dhcp.oxy.edu] has joined #lisp 01:42:01 p9 [~void@dhcp-130-58-195-191.swarthmore.edu] has joined #lisp 01:44:36 drl [~lat@125.167.129.21] has joined #lisp 01:46:45 -!- axion [~axion@btnund-ai01-74-214-214-174.utma.com] has quit [Ping timeout: 248 seconds] 01:48:41 abunchofdollarsi: check the "Story of Mac" in PCL: http://www.gigamonkeys.com/book/macros-defining-your-own.html 01:48:54 -!- seg [~seg@fsf/member/seg] has quit [Ping timeout: 256 seconds] 01:54:38 teggi [~teggi@123.20.109.99] has joined #lisp 01:55:51 -!- desophos [~desophos@n163h87.dhcp.oxy.edu] has quit [Read error: Connection reset by peer] 01:56:32 -!- gzg [~user@75-132-28-10.dhcp.stls.mo.charter.com] has quit [Read error: Connection reset by peer] 02:00:18 ltbarcly [~textual@pool-71-116-67-9.snfcca.dsl-w.verizon.net] has joined #lisp 02:00:44 axion [~axion@btnund-ai01-74-214-214-174.utma.com] has joined #lisp 02:00:46 desophos [~desophos@n163h87.dhcp.oxy.edu] has joined #lisp 02:01:40 -!- zacharias [~aw@unaffiliated/zacharias] has quit [Read error: Operation timed out] 02:03:05 pjb, that's good. 02:04:53 -!- ltbarcly [~textual@pool-71-116-67-9.snfcca.dsl-w.verizon.net] has quit [Ping timeout: 248 seconds] 02:04:53 -!- cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has quit [Read error: Connection reset by peer] 02:05:19 -!- axion [~axion@btnund-ai01-74-214-214-174.utma.com] has quit [Read error: Operation timed out] 02:05:57 cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has joined #lisp 02:09:37 -!- abunchofdollarsi [~abunchofd@l33t.csail.mit.edu] has quit [Quit: Leaving] 02:11:07 ASau` [~user@p54AFE8B5.dip0.t-ipconnect.de] has joined #lisp 02:13:45 -!- p9 [~void@dhcp-130-58-195-191.swarthmore.edu] has left #lisp 02:14:08 -!- ASau [~user@p5083DF33.dip0.t-ipconnect.de] has quit [Ping timeout: 240 seconds] 02:15:08 -!- oleo [~oleo@xdsl-78-35-134-25.netcologne.de] has quit [Ping timeout: 240 seconds] 02:15:49 oleo [~oleo@xdsl-87-79-197-13.netcologne.de] has joined #lisp 02:17:31 zacharias [~aw@unaffiliated/zacharias] has joined #lisp 02:24:01 -!- antonv [5d7d2a42@gateway/web/freenode/ip.93.125.42.66] has quit [Quit: Page closed] 02:24:24 nilsi_ [~nilsi@121.236.116.138] has joined #lisp 02:27:23 -!- jack_rabbit [~jack_rabb@c-98-253-60-75.hsd1.il.comcast.net] has quit [Quit: Leaving] 02:28:44 kliph [~user@unaffiliated/kliph] has joined #lisp 02:30:27 ltbarcly [~textual@pool-71-116-67-9.snfcca.dsl-w.verizon.net] has joined #lisp 02:31:12 -!- drdo [~drdo@2a02:2498:e000:20::16f:2] has quit [Ping timeout: 260 seconds] 02:33:21 drdo [~drdo@2a02:2498:e000:20::16f:2] has joined #lisp 02:34:38 -!- cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has quit [Read error: Connection reset by peer] 02:34:46 cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has joined #lisp 02:35:36 axion [~axion@btnund-ai01-74-214-214-174.utma.com] has joined #lisp 02:38:41 jack_rabbit [~jack_rabb@c-98-253-60-75.hsd1.il.comcast.net] has joined #lisp 02:38:42 -!- cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has quit [Read error: Connection reset by peer] 02:38:53 -!- jack_rabbit [~jack_rabb@c-98-253-60-75.hsd1.il.comcast.net] has quit [Remote host closed the connection] 02:39:46 cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has joined #lisp 02:41:10 |JRG| [~user@dynamic-adsl-94-34-245-243.clienti.tiscali.it] has joined #lisp 02:55:25 -!- REPLeffect [~REPLeffec@69.54.115.254] has quit [Ping timeout: 245 seconds] 02:56:16 -!- boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has quit [Remote host closed the connection] 02:56:17 -!- nilsi_ [~nilsi@121.236.116.138] has quit [Read error: Connection reset by peer] 02:56:53 boogie [~boogie@wsip-98-172-168-236.sd.sd.cox.net] has joined #lisp 02:57:35 nilsi_ [~nilsi@58.209.41.17] has joined #lisp 02:58:02 -!- ltbarcly [~textual@pool-71-116-67-9.snfcca.dsl-w.verizon.net] has quit [Quit: Computer has gone to sleep.] 03:00:18 -!- cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has quit [Read error: Connection reset by peer] 03:00:25 cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has joined #lisp 03:00:39 -!- desophos [~desophos@n163h87.dhcp.oxy.edu] has quit [Ping timeout: 272 seconds] 03:05:23 beach [~user@ABordeaux-651-1-66-80.w90-55.abo.wanadoo.fr] has joined #lisp 03:05:42 Good morning everyone! 03:06:56 -!- sohail_ [~sohail@69-196-176-62.dsl.teksavvy.com] has quit [Quit: This computer has gone to sleep] 03:08:29 REPLeffect [~REPLeffec@69.54.115.254] has joined #lisp 03:12:22 -!- echo-area [~user@123.120.244.251] has quit [Remote host closed the connection] 03:15:20 -!- nilsi_ [~nilsi@58.209.41.17] has quit [Remote host closed the connection] 03:15:40 yacks [~py@103.6.159.103] has joined #lisp 03:19:40 jack_rabbit [~kyle@c-98-253-60-75.hsd1.il.comcast.net] has joined #lisp 03:20:33 ltbarcly [~textual@pool-71-116-67-9.snfcca.dsl-w.verizon.net] has joined #lisp 03:25:17 Munksgaard [~philip@80-71-132-106.u.parknet.dk] has joined #lisp 03:25:40 seg [~seg@fsf/member/seg] has joined #lisp 03:30:29 -!- nisstyre [~yours@oftn/member/Nisstyre] has quit [Quit: Leaving] 03:30:30 -!- cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has quit [Read error: Connection reset by peer] 03:30:57 -!- drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has quit [Remote host closed the connection] 03:31:14 cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has joined #lisp 03:31:34 drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has joined #lisp 03:35:37 -!- drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has quit [Ping timeout: 240 seconds] 03:40:55 drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has joined #lisp 03:42:04 -!- LiamH [~none@pool-173-76-205-219.bstnma.fios.verizon.net] has quit [Quit: Leaving.] 03:47:31 -!- axion [~axion@btnund-ai01-74-214-214-174.utma.com] has quit [Ping timeout: 272 seconds] 03:51:13 desophos [~desophos@n163h87.dhcp.oxy.edu] has joined #lisp 03:52:26 -!- seg [~seg@fsf/member/seg] has quit [Read error: Operation timed out] 03:54:08 -!- Guest17906 [~sy@host-94-20-107-208.midco.net] has quit [Ping timeout: 240 seconds] 03:54:08 -!- cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has quit [Read error: Connection reset by peer] 03:54:42 -!- zophy [~sy@host-94-20-107-208.midco.net] has quit [Ping timeout: 256 seconds] 03:54:45 cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has joined #lisp 04:01:14 axion [~axion@btnund-ai01-74-214-214-174.utma.com] has joined #lisp 04:09:13 -!- ltbarcly [~textual@pool-71-116-67-9.snfcca.dsl-w.verizon.net] has quit [Quit: Computer has gone to sleep.] 04:10:01 quazimodo [~quazimodo@d110-32-231-40.bla800.nsw.optusnet.com.au] has joined #lisp 04:13:49 didi [~user@unaffiliated/didi/x-1022147] has joined #lisp 04:13:54 -!- Bike [~Glossina@gannon-wless-gw.resnet.wsu.edu] has quit [Quit: Reconnecting] 04:14:10 Bike [~Glossina@gannon-wless-gw.resnet.wsu.edu] has joined #lisp 04:17:51 gzg [~user@75-132-28-10.dhcp.stls.mo.charter.com] has joined #lisp 04:17:59 -!- bananagram [~bot@c-76-30-158-226.hsd1.tx.comcast.net] has quit [Read error: Operation timed out] 04:20:50 -!- quazimodo [~quazimodo@d110-32-231-40.bla800.nsw.optusnet.com.au] has quit [Ping timeout: 245 seconds] 04:20:50 -!- teggi [~teggi@123.20.109.99] has quit [Read error: Connection reset by peer] 04:21:13 teggi [~teggi@123.20.109.99] has joined #lisp 04:24:03 Guest17906 [~sy@host-94-20-107-208.midco.net] has joined #lisp 04:24:21 -!- zenoli [~pk@109.201.154.155] has quit [Ping timeout: 245 seconds] 04:24:44 -!- desophos [~desophos@n163h87.dhcp.oxy.edu] has quit [Read error: Connection reset by peer] 04:26:10 zenoli [~pk@109.201.154.144] has joined #lisp 04:27:19 -!- DalekBaldwin [~user@74.212.183.186] has quit [Ping timeout: 240 seconds] 04:28:46 desophos [~desophos@n163h87.dhcp.oxy.edu] has joined #lisp 04:30:15 ltbarcly [~textual@pool-71-116-67-9.snfcca.dsl-w.verizon.net] has joined #lisp 04:34:02 what is the best place to list jobs that involve common lisp? 04:37:24 ejohnson [~Thunderbi@c-67-181-201-173.hsd1.ca.comcast.net] has joined #lisp 04:39:11 -!- ejohnson [~Thunderbi@c-67-181-201-173.hsd1.ca.comcast.net] has quit [Client Quit] 04:41:10 zophy [~sy@host-94-20-107-208.midco.net] has joined #lisp 04:48:05 -!- CrazyEddy [~beakerman@wrongplanet/CrazyEddy] has quit [Ping timeout: 265 seconds] 04:49:52 -!- cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has quit [Read error: Connection reset by peer] 04:49:59 cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has joined #lisp 04:54:28 fe[nl]ix: Still looking for me? 04:55:37 fe[nl]ix: Feel free to send me an email. 04:58:00 -!- cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has quit [Read error: Connection reset by peer] 04:58:23 cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has joined #lisp 05:03:33 CrazyEddy [~Ptychospe@wrongplanet/CrazyEddy] has joined #lisp 05:04:24 alezost [~user@128-70-199-112.broadband.corbina.ru] has joined #lisp 05:19:03 angavrilov [~angavrilo@217.71.227.190] has joined #lisp 05:19:24 ltbarcly monster.com? 05:19:39 xk05 [~xk05@30.176-62-69.ftth.swbr.surewest.net] has joined #lisp 05:19:40 theos: hardy har har 05:19:57 ltbarcly i dont understand that 05:20:14 I thought you were being facetious, sorry 05:23:26 -!- drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has quit [Remote host closed the connection] 05:23:26 http://lispjobs.wordpress.com/ 05:23:54 oh, thats exactly what I was looking for, thanks! 05:25:22 there are many websites. just google "common lisp jobs" 05:28:38 I know there are a lot, I was wondering if there was one that people think of as the 'real' one, for example in Python community the 'python jobs board' is http://www.python.org/community/jobs/ 05:28:49 all the rests of the python jobs boards are also rans 05:28:56 I mean, seriously, I've heard of google :) 05:31:40 gravicappa [~gravicapp@ppp91-77-188-200.pppoe.mtu-net.ru] has joined #lisp 05:32:28 -!- xk05 [~xk05@30.176-62-69.ftth.swbr.surewest.net] has quit [Read error: Connection reset by peer] 05:42:13 xk05 [~xk05@30.176-62-69.ftth.swbr.surewest.net] has joined #lisp 05:44:46 -!- NihilistDandy [~ND@c-24-147-92-50.hsd1.vt.comcast.net] has quit [] 05:48:02 -!- kliph [~user@unaffiliated/kliph] has quit [Ping timeout: 240 seconds] 05:49:20 -!- kpreid [~kpreid@50-196-148-101-static.hfc.comcastbusiness.net] has quit [Quit: Quitting] 05:49:43 kpreid [~kpreid@50-196-148-101-static.hfc.comcastbusiness.net] has joined #lisp 05:55:44 mrSpec [~Spec@77-254-192-217.adsl.inetia.pl] has joined #lisp 05:55:47 -!- mrSpec [~Spec@77-254-192-217.adsl.inetia.pl] has quit [Changing host] 05:55:47 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 05:56:51 STilda [~STilda@188.162.167.38] has joined #lisp 06:00:51 STilda2 [~STilda@188.162.167.38] has joined #lisp 06:01:02 -!- STilda [~STilda@188.162.167.38] has quit [Ping timeout: 240 seconds] 06:04:19 STilda [~STilda@188.162.167.38] has joined #lisp 06:05:57 -!- STilda2 [~STilda@188.162.167.38] has quit [Ping timeout: 272 seconds] 06:09:05 namtsui [~user@c-76-21-124-173.hsd1.ca.comcast.net] has joined #lisp 06:09:41 STilda2 [~STilda@188.162.167.38] has joined #lisp 06:11:03 -!- xk05 [~xk05@30.176-62-69.ftth.swbr.surewest.net] has quit [Quit: Leaving] 06:11:13 -!- STilda [~STilda@188.162.167.38] has quit [Ping timeout: 265 seconds] 06:14:06 -!- premiere30 [~premiere3@37.9.56.12] has quit [Ping timeout: 256 seconds] 06:15:02 STilda [~STilda@188.162.167.38] has joined #lisp 06:16:15 -!- STilda2 [~STilda@188.162.167.38] has quit [Ping timeout: 245 seconds] 06:16:46 -!- antgreen [~green@dsl-173-206-165-73.tor.primus.ca] has quit [Read error: Operation timed out] 06:20:25 premiere30 [~premiere3@37.9.56.12] has joined #lisp 06:22:20 -!- STilda [~STilda@188.162.167.38] has quit [Ping timeout: 265 seconds] 06:23:19 -!- gravicappa [~gravicapp@ppp91-77-188-200.pppoe.mtu-net.ru] has quit [Ping timeout: 272 seconds] 06:25:54 -!- didi [~user@unaffiliated/didi/x-1022147] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 06:30:01 antgreen [~green@64.56.254.121] has joined #lisp 06:30:34 STilda [~STilda@188.162.167.38] has joined #lisp 06:33:42 STilda2 [~STilda@188.162.167.38] has joined #lisp 06:34:48 -!- STilda [~STilda@188.162.167.38] has quit [Ping timeout: 240 seconds] 06:36:31 -!- zophy [~sy@host-94-20-107-208.midco.net] has quit [Quit: Leaving] 06:37:03 -!- boogie [~boogie@wsip-98-172-168-236.sd.sd.cox.net] has quit [Remote host closed the connection] 06:39:27 Hi. How can defmacro be a macro itself? What is the core of whole these macros which has to be a part of language itslef? 06:40:06 special forms 06:40:38 http://www.nhplace.com/kent/Papers/Special-Forms.html 06:40:43 ` - this one? 06:40:51 -!- danielszmulewicz [~danielszm@109.226.23.62] has quit [Quit: danielszmulewicz] 06:40:57 backquote is a reader macro, not a form, let alone a special operator 06:40:59 -!- Guest17906 [~sy@host-94-20-107-208.midco.net] has quit [Ping timeout: 248 seconds] 06:41:28 you don't need special forms for defmacro per se. you just need something that can set a macro function. (defmacro foo ...) can expand into (setf (macro-function foo) ...something...) which expands into (%set-macro-function 'foo ...something...) or whatever, and %set-macro-function can be a normal function. 06:42:44 thank for the link, will read and come later 06:43:49 -!- igotnolegs- [~igotnoleg@71-219-131-138.slkc.qwest.net] has quit [Quit: Textual IRC Client: http://www.textualapp.com/] 06:43:53 we at least need a macroexpansion phase of compilation 06:44:05 sure. 06:44:25 but all that has to do is call macro functions. 06:45:44 ok, and we can get the same effect ourselfs if we ready to parse lisp files and do this expansions "by hand". Am I right? 06:47:04 yup. (defun macroexpand (form env) (let ((mf (macro-function (car form) env))) (if mf (values (funcall *macroexpand-hook* mf form env) t) (values form nil)))) basically. 06:47:58 wau 06:48:16 oudeis [~oudeis@62.18.151.64] has joined #lisp 06:48:44 mishoo [~mishoo@93.113.190.121] has joined #lisp 06:49:17 so macros can be made completely on top of core of lisp? 06:49:32 that is very intersting 06:49:52 Well, it depends on what you consider the core to be. 06:52:29 if you consider it to include eval, then not really. 06:53:37 ehu [~ehu@ip167-22-212-87.adsl2.static.versatel.nl] has joined #lisp 06:54:37 drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has joined #lisp 06:59:04 -!- premiere30 [~premiere3@37.9.56.12] has quit [Ping timeout: 265 seconds] 06:59:07 STilda [~STilda@188.162.167.38] has joined #lisp 06:59:33 in my mind there are two things: core language level and library level. 07:00:00 -!- STilda2 [~STilda@188.162.167.38] has quit [Ping timeout: 245 seconds] 07:00:21 where are macros? 07:00:28 -!- oudeis [~oudeis@62.18.151.64] has quit [Ping timeout: 240 seconds] 07:00:38 STilda: There are few things in Common Lisp that can be considered library level, i.e., that you can remove and everything else still works. 07:01:57 STilda: The SEQUENCE functions come to mind. 07:02:32 Well the compiler and evaluator need to know about macros. Is that "core" enough 07:03:58 -!- drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has quit [Ping timeout: 256 seconds] 07:05:54 ok, I have to go but will come later, thank for answers 07:11:26 -!- STilda [~STilda@188.162.167.38] has quit [Read error: Connection reset by peer] 07:17:29 nilsi_ [~nilsi@58.209.41.17] has joined #lisp 07:21:55 gravicappa [~gravicapp@ppp91-77-172-99.pppoe.mtu-net.ru] has joined #lisp 07:22:43 stassats [~stassats@wikipedia/stassats] has joined #lisp 07:25:36 -!- stassats [~stassats@wikipedia/stassats] has quit [Client Quit] 07:30:24 stassats [~stassats@wikipedia/stassats] has joined #lisp 07:32:48 oudeis [~oudeis@62.18.183.58] has joined #lisp 07:33:58 -!- bgs100 [~nitrogen@unaffiliated/bgs100] has quit [Quit: bgs100] 07:44:33 Gwzz [~Gwzz@cpe-174-100-142-0.neo.res.rr.com] has joined #lisp 07:45:40 -!- Gwzz [~Gwzz@cpe-174-100-142-0.neo.res.rr.com] has left #lisp 07:46:12 dtw [~dtw@pdpc/supporter/active/dtw] has joined #lisp 07:51:35 nilsi__ [~nilsi@58.209.41.17] has joined #lisp 07:54:03 -!- nilsi_ [~nilsi@58.209.41.17] has quit [Ping timeout: 248 seconds] 07:55:40 maxter [~maxter@gaffeless.chaperon.volia.net] has joined #lisp 07:57:18 -!- ltbarcly [~textual@pool-71-116-67-9.snfcca.dsl-w.verizon.net] has quit [Quit: Computer has gone to sleep.] 08:00:39 drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has joined #lisp 08:04:53 -!- drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has quit [Ping timeout: 248 seconds] 08:08:50 ltbarcly [~textual@pool-71-116-67-9.snfcca.dsl-w.verizon.net] has joined #lisp 08:16:41 -!- maxter [~maxter@gaffeless.chaperon.volia.net] has quit [Ping timeout: 272 seconds] 08:16:44 maxter_ [~maxter@sundownness.lullaby.volia.net] has joined #lisp 08:18:19 Nuupi [~IceChat9@dsl-vntbrasgw1-50dc6e-235.dhcp.inet.fi] has joined #lisp 08:20:46 Davidbrcz [~david@88.115.137.88.rev.sfr.net] has joined #lisp 08:28:55 -!- effy_ is now known as effy 08:30:21 -!- nug700 [~nug700@209-181-102-38.phnx.qwest.net] has quit [Quit: bye] 08:31:43 stepnem [~stepnem@internet2.cznet.cz] has joined #lisp 08:35:16 -!- stassats [~stassats@wikipedia/stassats] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 08:36:25 -!- zacharias [~aw@unaffiliated/zacharias] has quit [Ping timeout: 272 seconds] 08:37:11 -!- ericmathison [~ericmathi@172-15-249-133.lightspeed.irvnca.sbcglobal.net] has quit [Ping timeout: 265 seconds] 08:46:01 -!- motiondude [~motionman@unaffiliated/motionman] has quit [Quit: tschüß] 08:47:58 jewel [~jewel@105-236-130-25.access.mtnbusiness.co.za] has joined #lisp 08:48:57 [6502] [4e0cf06c@gateway/web/freenode/ip.78.12.240.108] has joined #lisp 08:49:39 <[6502]> Hi. Somehow I expected (reduce #'+ L) to have a special code path, but seems not at least on SBCL. Is it a stupid idea? 08:50:07 [6502]: why? 08:50:45 <[6502]> or reduce being also a compiler macro handling (function x) in a special way, that is 08:51:18 <[6502]> capisce: (reduce #'+ L) is a lot slower and conses a lot more than hand-coding a list-summing function 08:51:26 -!- nilsi__ [~nilsi@58.209.41.17] has quit [Remote host closed the connection] 08:51:27 hiroakip [~hiroaki@77-23-26-6-dynip.superkabel.de] has joined #lisp 08:52:07 nilsi_ [~nilsi@5.254.149.180] has joined #lisp 08:52:07 [6502]: how about (apply #'+ L)? 08:52:26 <[6502]> capisce: you cannot use apply for arbitrary long lists 08:52:30 rszeno [~rszeno@79.114.103.222] has joined #lisp 08:52:51 right 08:53:39 <[6502]> capisce: let me time that too anyway 08:53:50 why does (reduce #'+ L) cons a lot? 08:56:09 <[6502]> capisce: (apply #'+ L) is better than reduce but worse than writing an explicit loop 08:56:22 <[6502]> capisce: probably building the arglist for calling the function 08:56:34 *[6502]* is just wildguessing 08:57:36 add^_ [~user@m176-70-201-126.cust.tele2.se] has joined #lisp 08:57:59 <[6502]> capisce: (defun sum (L) (let ((s (car L))) (dolist (x (cdr L)) (incf s x)) x)) does no consing at all 08:58:15 <[6502]> capisce: (defun sum (L) (let ((s (car L))) (dolist (x (cdr L)) (incf s x)) s)) does no consing at all 09:01:14 drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has joined #lisp 09:01:52 in sbcl reduce doesn't cons too 09:04:43 <[6502]> rszeno: on my pc sbcl with (time (dotimes (i 1000000) (reduce #'+ L))) conses 1.5 billions bytes when L is the list (0 1 2 ... 99) 09:05:41 -!- drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has quit [Ping timeout: 248 seconds] 09:05:49 i just tryed, (defun rp (args) (reduce #'+ args)) 09:05:59 <[6502]> hmmm 09:06:00 then (profile rp) and (report) 09:06:15 doesn't report any consing just one call 09:06:44 let me try with dotimes 09:08:53 -!- danlentz [~danlentz@c-68-37-70-235.hsd1.nj.comcast.net] has quit [Remote host closed the connection] 09:10:22 gabnet [~gabnet@ACaen-652-1-246-31.w90-17.abo.wanadoo.fr] has joined #lisp 09:10:50 <[6502]> rszeno: one call to reduce you mean? the problem is reduce, that will call + once per element (-1) 09:11:33 <[6502]> rszeno: I was just expecting that reduce #'+ was handled specially, but I was wrong 09:12:18 i apologise for delay, i was on a chat 09:13:07 seems it cons here too with dotimes, 155,640 consed for 100 loops with 100 elements 09:13:19 zacharias [~aw@unaffiliated/zacharias] has joined #lisp 09:13:49 i only wrap dotimes in a defun to profile it 09:13:58 xani [~user@178.183.140.9.dsl.dynamic.t-mobile.pl] has joined #lisp 09:14:28 i'm not sure if is reduce fault or dotimes, i need to do more tests, :) 09:14:44 <[6502]> can an arglist be reused in CL? 09:19:43 [6502]: Hi. I noticed in the logs that back in February, you had some questions about SICL. In case you still have some, I will try to be around a bit more often from now on. 09:25:04 Karl_dscc [~localhost@p5B2B21D9.dip0.t-ipconnect.de] has joined #lisp 09:26:49 <[6502]> beach: back then I was contributing to a project aiming to make a full CL implementation in javascript. Since then I've however matured the idea that this is nonsense from a practical point of view. 09:27:12 CL is a bit of an awkward match to javascript. 09:27:27 [6502]: I see. No problem. Just thought I would let you know. 09:27:38 zacharias_ [~aw@unaffiliated/zacharias] has joined #lisp 09:27:41 I think that CL might have profited from an idea like having unbound as a value. 09:30:44 -!- zacharias [~aw@unaffiliated/zacharias] has quit [Ping timeout: 256 seconds] 09:31:09 josemanuel [~josemanue@214.Red-81-37-172.dynamicIP.rima-tde.net] has joined #lisp 09:32:24 <[6502]> beach: i was trying to implement a better reader/writer and I thought about trying to use SICL. What surprised me is that SICL reader was using loop and clos... 09:32:39 Yes, I know. I read your remarks. 09:33:01 -!- zacharias_ is now known as zacharias 09:33:29 -!- josemanuel [~josemanue@214.Red-81-37-172.dynamicIP.rima-tde.net] has quit [Client Quit] 09:34:01 leo2007 [~leo@222.131.217.101] has joined #lisp 09:34:50 <[6502]> Why is this http://paste.lisp.org/+2ZNY consing? 09:39:17 -!- oudeis [~oudeis@62.18.183.58] has quit [Ping timeout: 248 seconds] 09:40:03 oudeis [~oudeis@62.18.74.32] has joined #lisp 09:41:49 <[6502]> paste lisp org colorization is broken? 09:41:59 <[6502]> paste.lisp.org colorization is broken? 09:42:35 "Consing is not undiluted evil, since programs do things other than consing, and appropriate consing can speed up the real work." from cmucl docs, :) 09:45:02 benny [~user@i577A8CB9.versanet.de] has joined #lisp 09:45:09 -!- leo2007 [~leo@222.131.217.101] has quit [Ping timeout: 240 seconds] 09:45:28 -!- rszeno [~rszeno@79.114.103.222] has left #lisp 09:45:35 [6502]: It doesn't cons on my machine. 09:46:09 -!- desophos [~desophos@n163h87.dhcp.oxy.edu] has quit [Quit: Leaving] 09:46:25 rszeno [~rszeno@79.114.103.222] has joined #lisp 09:46:43 -!- axion [~axion@btnund-ai01-74-214-214-174.utma.com] has quit [Ping timeout: 272 seconds] 09:47:03 <[6502]> beach: doh... it's #'+ that was consing. Sorry for wasting your time guys... 09:47:40 Executing (myreduce #'+ *a*) is not consing here. 09:47:58 ... where *a* is a list of 1000000 1's. 09:49:22 <[6502]> hmmm 09:51:13 i don't think is relevent out of the context where is used 09:51:32 leo2007 [~leo@li513-148.members.linode.com] has joined #lisp 09:51:55 in fact what must be optimized is the whole code 09:52:53 <[6502]> rszeno: I know where this is heading to... "and may be the code itself is solving a problem that should not exist in the first place" 09:52:54 [6502]: CL:REDUCE is not consing either when called like that. 09:53:09 -!- Davidbrcz [~david@88.115.137.88.rev.sfr.net] has quit [Ping timeout: 248 seconds] 09:53:53 <[6502]> beach: indeed reduce called on myop doesn't conses 09:54:26 <[6502]> beach: on my sbcl version seems calling #'+ conses (inlined + doesn't, however) 09:54:31 danielszmulewicz [~danielszm@109.66.204.213] has joined #lisp 09:54:33 Here, (reduce #'+ *a*) is not consing. 09:54:51 [same *a* as above] 09:55:02 <[6502]> 1.0.44 is probably very old 09:55:04 Shinmera [~linus@xdsl-188-155-176-171.adslplus.ch] has joined #lisp 09:55:34 i use 1.0.40 and doesn't cons 09:55:36 I have 1.1.8 it seems. 09:56:18 I get no consing for that form 09:57:48 settings, optimize, debug, something must be different 09:59:26 chris_l [~quassel@p57A5CD0B.dip0.t-ipconnect.de] has joined #lisp 09:59:40 axion [~axion@btnund-ai01-74-214-214-174.utma.com] has joined #lisp 10:00:26 nilsi__ [~nilsi@58.209.41.17] has joined #lisp 10:01:41 -!- jack_rabbit [~kyle@c-98-253-60-75.hsd1.il.comcast.net] has quit [Quit: Leaving] 10:01:50 drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has joined #lisp 10:01:59 jack_rabbit [~jack_rabb@c-98-253-60-75.hsd1.il.comcast.net] has joined #lisp 10:03:39 -!- nilsi_ [~nilsi@5.254.149.180] has quit [Ping timeout: 248 seconds] 10:04:18 -!- nilsi__ [~nilsi@58.209.41.17] has quit [Remote host closed the connection] 10:05:33 nilsi_ [~nilsi@5.254.150.216] has joined #lisp 10:06:40 -!- oudeis [~oudeis@62.18.74.32] has quit [Ping timeout: 245 seconds] 10:06:53 -!- drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has quit [Ping timeout: 272 seconds] 10:09:30 -!- gabnet [~gabnet@ACaen-652-1-246-31.w90-17.abo.wanadoo.fr] has quit [Quit: Leaving.] 10:10:11 Sagane [~Sagane@177.100-226-89.dsl.completel.net] has joined #lisp 10:15:31 <[6502]> rszeno: i tried on my mac mini (1.0.23) and conses and also my pc at the office (1.0.50) conses. If you just start SBCL and paste exactly this "(defvar *A* (list)) (dotimes (i 1000) (push 1 *A*)) (time (reduce #'+ *A*))" you see no consing? 10:16:33 let me try 10:17:20 16384 consed 10:17:26 <[6502]> oh... ok 10:19:06 Okasu [~1@unaffiliated/okasu] has joined #lisp 10:19:16 <[6502]> food time... l8r 10:19:23 -!- [6502] [4e0cf06c@gateway/web/freenode/ip.78.12.240.108] has quit [Quit: Page closed] 10:21:25 oudeis [~oudeis@62.18.74.32] has joined #lisp 10:26:15 -!- oudeis [~oudeis@62.18.74.32] has quit [Ping timeout: 272 seconds] 10:27:55 -!- danielszmulewicz [~danielszm@109.66.204.213] has quit [Quit: danielszmulewicz] 10:30:11 [6502] maybe i'm wrong but i guess time is guilty for consing 10:30:18 danielszmulewicz [~danielszm@109.66.204.213] has joined #lisp 10:30:48 Consing is just placing a future GC debt. 10:31:07 You need to consider the whole-program economy to see if it's profitable or not. 10:31:33 how do you perform such considerations? 10:31:41 -!- Mon_Ouie [~Mon_Ouie@subtle/user/MonOuie] has quit [Ping timeout: 272 seconds] 10:31:49 Profiling, generally. 10:31:55 foreignFunction [~niksaak@ip-4761.sunline.net.ua] has joined #lisp 10:32:03 -!- foreignFunction [~niksaak@ip-4761.sunline.net.ua] has quit [Client Quit] 10:33:00 foreignFunction [~niksaak@ip-4761.sunline.net.ua] has joined #lisp 10:33:55 i use to profile with sbcl and cmucl, information for both help me to take decisions what to inline and what not but this after all is working as i expect 10:34:46 in fact before inlining i try to improve the code if i can, :) 10:37:12 zickzackv [~faot@p4FC97744.dip0.t-ipconnect.de] has joined #lisp 10:41:05 -!- leo2007 [~leo@li513-148.members.linode.com] has quit [Ping timeout: 272 seconds] 10:41:52 -!- zickzackv [~faot@p4FC97744.dip0.t-ipconnect.de] has quit [Ping timeout: 264 seconds] 10:44:15 -!- Beetny [~Beetny@ppp118-208-146-136.lns20.bne1.internode.on.net] has quit [Ping timeout: 272 seconds] 10:45:14 Mon_Ouie [~Mon_Ouie@subtle/user/MonOuie] has joined #lisp 10:47:09 -!- ehaliewicz [~user@50-0-51-11.dsl.static.sonic.net] has quit [Ping timeout: 272 seconds] 10:50:04 -!- Munksgaard [~philip@80-71-132-106.u.parknet.dk] has quit [Ping timeout: 256 seconds] 10:52:19 hitecnologys [~hitecnolo@109.120.54.126] has joined #lisp 11:02:20 drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has joined #lisp 11:05:49 stassats [~stassats@wikipedia/stassats] has joined #lisp 11:06:40 -!- drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has quit [Ping timeout: 245 seconds] 11:07:30 motiondude [~motionman@unaffiliated/motionman] has joined #lisp 11:09:59 klltkr [~klltkr@unaffiliated/klltkr] has joined #lisp 11:15:24 -!- teggi [~teggi@123.20.109.99] has quit [Remote host closed the connection] 11:18:00 -!- Karl_dscc [~localhost@p5B2B21D9.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 11:18:10 -!- foreignFunction [~niksaak@ip-4761.sunline.net.ua] has quit [Quit: Leaving.] 11:18:50 oudeis [~oudeis@62.18.74.32] has joined #lisp 11:19:58 foreignFunction [~niksaak@ip-4761.sunline.net.ua] has joined #lisp 11:22:56 -!- chris_l [~quassel@p57A5CD0B.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 11:27:42 -!- danielszmulewicz [~danielszm@109.66.204.213] has quit [Quit: danielszmulewicz] 11:31:25 danielszmulewicz [~danielszm@bzq-109-66-204-213.red.bezeqint.net] has joined #lisp 11:32:31 maxter__ [~maxter@gaffeless.chaperon.volia.net] has joined #lisp 11:36:06 -!- ltbarcly [~textual@pool-71-116-67-9.snfcca.dsl-w.verizon.net] has quit [Quit: Computer has gone to sleep.] 11:36:17 -!- maxter_ [~maxter@sundownness.lullaby.volia.net] has quit [Ping timeout: 272 seconds] 11:42:38 Munksgaard [~philip@shop3.diku.dk] has joined #lisp 11:44:31 -!- oudeis [~oudeis@62.18.74.32] has quit [Quit: This computer has gone to sleep] 11:48:01 maxpeck [~a@unaffiliated/maxpeck] has joined #lisp 11:48:19 Davidbrcz [~david@88.115.137.88.rev.sfr.net] has joined #lisp 11:54:21 -!- danielszmulewicz [~danielszm@bzq-109-66-204-213.red.bezeqint.net] has quit [Quit: danielszmulewicz] 11:56:16 Snipe_p [~Deep@cri75-4-78-192-205-120.fbxo.proxad.net] has joined #lisp 11:56:19 Hello 11:56:26 danielszmulewicz [~danielszm@109.66.204.213] has joined #lisp 11:57:07 -!- danielszmulewicz [~danielszm@109.66.204.213] has quit [Remote host closed the connection] 12:00:23 someone knows an artificial intelligence book's using lisp ? 12:00:56 oudeis [~oudeis@62.18.74.32] has joined #lisp 12:01:47 Snipe_p: yes 12:02:27 Snipe_p: http://norvig.com/paip.html 12:02:52 minion: tell Snipe_p about paip 12:02:53 paip: No definition was found in the first 5 lines of http://www.cliki.net/paip 12:02:53 drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has joined #lisp 12:03:10 minion: tell Snipe_p about paradigms of artificial intelligence programming 12:03:11 Snipe_p: please stop playing with me... i am not a toy 12:03:15 Ah. 12:03:42 minion is a bot ? :D 12:03:56 kiuma [~kiuma@2-230-138-74.ip202.fastwebnet.it] has joined #lisp 12:03:59 minion: are you a bot? 12:03:59 i'm not a bot. i prefer the term ``electronically composed''. 12:05:35 is it written in lisp ? :D 12:06:21 LiamH [~none@pool-173-76-205-219.bstnma.fios.verizon.net] has joined #lisp 12:06:33 Snipe_p: sure 12:07:38 -!- gzg [~user@75-132-28-10.dhcp.stls.mo.charter.com] has quit [Remote host closed the connection] 12:07:57 -!- drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has quit [Ping timeout: 272 seconds] 12:07:59 Snipe_p: https://github.com/stassats/lisp-bots 12:10:24 that made me notice that it had a Makefile 12:10:28 which was pretty useless 12:11:42 README is fascinating also 12:12:07 > lisppaste requires a recent SBCL 0.8, araneida 0.80 12:12:30 Yeah, recent... 12:12:36 minion: version? 12:12:36 This is the minion bot, running on a X86-64 (QEMU Virtual CPU version 1.0) and running under SBCL 1.1.6. 12:14:49 can I have links of sites where we can learn lisp ? 12:15:49 -!- Davidbrcz [~david@88.115.137.88.rev.sfr.net] has quit [Ping timeout: 272 seconds] 12:15:56 I can* 12:16:08 Snipe_p: http://www.gigamonkeys.com/book/ 12:16:14 minion: where can I learn lisp 12:16:14 i like lisp... i'm written in it 12:17:05 and I know that there is a search engine where there are all lisp functions 12:17:05 minion: Is lisp like a unicycle ridden by an enraged bear? 12:17:05 maybe 12:17:28 minion: tell Snipe_p about clhs 12:17:29 Snipe_p: please look at clhs: To look up a symbol in the HyperSpec, try saying "clhs symbol". For more information on the HyperSpec see http://www.cliki.net/CLHS . 12:21:42 ggole [~ggole@106-68-53-165.dyn.iinet.net.au] has joined #lisp 12:28:41 -!- Okasu [~1@unaffiliated/okasu] has quit [Quit: leaving] 12:29:25 josemanuel [~josemanue@109.Red-83-43-2.dynamicIP.rima-tde.net] has joined #lisp 12:34:55 Snipe_p: http://l1sp.org/html/ 12:36:27 -!- |JRG| [~user@dynamic-adsl-94-34-245-243.clienti.tiscali.it] has quit [Ping timeout: 272 seconds] 12:36:28 -!- stassats [~stassats@wikipedia/stassats] has quit [Remote host closed the connection] 12:37:37 -!- Patzy [~something@lns-bzn-51f-81-56-151-137.adsl.proxad.net] has quit [Ping timeout: 272 seconds] 12:38:12 Patzy [~something@lns-bzn-51f-81-56-151-137.adsl.proxad.net] has joined #lisp 12:39:55 -!- maxter__ [~maxter@gaffeless.chaperon.volia.net] has quit [Ping timeout: 248 seconds] 12:46:30 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3810.pdf <-- not lisp, and I will shut up afterwards, but holy shit, Stroustrup is astonishingly clueless and incompetent. How did C++ ever get used? 12:49:40 AT&T, B2B. 12:50:09 Nobody's ever been fired to buy IBM (then Microsoft). 12:51:27 Some processors (and microprocessors) had range checking instructions 40+ years ago. The 680x0 has it. 12:51:53 It cost almost nothing to check array bounds, and with nowaday pipelined processors, it really would cost nothing. 12:52:19 Even x86 has bounds checking instructions (although not very well designed ones). 12:53:05 nha [~prefect@koln-5d814e52.pool.mediaWays.net] has joined #lisp 12:53:17 I'm not sure about "no cost", since there would be a power cost and that matters more these days. 12:53:17 ggole: which ones ? 12:53:24 But it seems affordable. 12:53:29 BOUND, iirc. 12:53:42 -!- Snipe_p is now known as Stendhal 12:54:17 "BOUND determines if the first operand (array index) is within the bounds of an array specified the second operand (bounds operand)." 12:54:36 I can't read that document. I guess at least it "justified" Stroustrup's pay for this month 12:54:47 However, "This instruction executes as described in compatibility mode and legacy mode. It is not valid in 64-bit mode." 12:54:54 "too boring". 12:55:56 ggole: well, the thing is that with risc-like processors, specialized instructions like that become less interesting. 12:55:57 -!- nilsi_ [~nilsi@5.254.150.216] has quit [Read error: Connection reset by peer] 12:56:22 nilsi_ [~nilsi@5.254.150.216] has joined #lisp 12:56:44 They're just normal instructions in the pipeline flow, and with the data flow analysis of the processor, can easily be run in parallel. 12:56:53 ggole: somehow Java seems to be doing just fine even in the face of power argument 12:56:58 -!- oudeis [~oudeis@62.18.74.32] has quit [Quit: This computer has gone to sleep] 12:57:07 and I'm not convinced adding array bound checks would actually increase the power usage 12:57:12 Remember that we have a feed back loop: intel designs its processor according to the program that are run on them. 12:57:15 -!- josemanuel [~josemanue@109.Red-83-43-2.dynamicIP.rima-tde.net] has quit [Quit: Saliendo] 12:57:16 since then a lot of other code gets simplified 12:57:18 -!- nilsi_ [~nilsi@5.254.150.216] has quit [Read error: Connection reset by peer] 12:57:32 in particular, all the ifs needed to implement array bound checking by hand 12:57:55 People tend to leave those out. :) 12:58:08 oh yes, because crashing code is really power-efficient 12:58:13 And optimising compilers tend to leave them out, too (which is a happy occurence). 12:58:26 "optimising"? 12:58:29 nilsi_ [~nilsi@5.254.150.216] has joined #lisp 12:58:34 ggole: not everybody :-) 12:58:35 how is "your code segfaults now" an optimisation? 12:59:06 Bounds-check elimination is an important optimisation in any compiler for a high level language. 12:59:30 Of course it can only be done conservatively. 12:59:44 which is the point 12:59:52 if it's built into the language, it can be optimised away 12:59:57 if you have to code it by hand, it cannot 13:00:17 so *not* having those checks in practice costs more as CPUs and compilers advance 13:00:46 that's the old story with C, and even more so with C++, which isn't even good at things C is sorta competent at 13:01:17 Bounds-check by default, (possibly with a civilised way to turn them off) is certainly the way to go. 13:02:19 (declare (speed 3) (safety 0)) 13:02:55 oudeis [~oudeis@62.18.74.32] has joined #lisp 13:03:17 That's one approach. Another is to have an explicit unsafe-subscript operation. 13:03:23 yeah 13:03:27 drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has joined #lisp 13:03:38 (The trick is to give it an annoyingly verbose name, so that people don't use it without a good reason.) 13:04:07 annoying names for fun and profit 13:04:25 mathrick, (declare (optimize ...)) 13:04:53 dtw: oh yes, true. I rarely use that in my code, so I tend to get the syntax wrong on the first try 13:05:38 maxter__ [~maxter@gaffeless.chaperon.volia.net] has joined #lisp 13:06:43 stassats [~stassats@wikipedia/stassats] has joined #lisp 13:07:42 lyanchih [~lyanchih@114-34-99-241.HINET-IP.hinet.net] has joined #lisp 13:07:51 -!- drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has quit [Ping timeout: 265 seconds] 13:08:48 ggole: i would assume that BOUND is actually slower than doing it with simpler instructions 13:08:53 [JRG] [c209f2f0@gateway/web/freenode/ip.194.9.242.240] has joined #lisp 13:09:05 the most interesting problem space where just a smart compiler doesn't help immediately are truly constrained systems (ie. embedded ones), where you have 2KB RAM and that's it 13:10:19 I don't think you can tackle it with CL as such, but perhaps a well-defined subset that leaves out the dynamic aspects (so that you don't have to carry all the compiler machinery with you and can compile directly to machine code) would be appropriate here 13:10:26 ggole: and in fact, there's no BOUND on x86-64 13:10:47 ggole already noted that :) 13:11:05 which hints that nobody used it 13:11:13 Nobody did. 13:11:20 It was for implementing Pascal, I think 13:11:24 yeah, but the question is whether that was because of C or not 13:11:28 Along with other deprecated stuff like ENTER 13:11:41 has anyone tried subsetting CL for that kind of direct compilation? 13:12:01 And yes, BOUND is almost certainly slower than a well-predicted jump. 13:12:08 nilsi__ [~nilsi@58.209.41.17] has joined #lisp 13:12:16 Unless you run your code on an actual 8086 or something. 13:12:27 I guess GOAL could be seen as a type of subsetting? I'm not sure how CL-like it was 13:14:58 *stassats* checked Agner, on haswell, BOUND is terribly slow 13:15:29 it's just implemented in microcode for compatibility 13:15:50 Yeah, there's a bunch of ancient junk sitting around 13:15:59 -!- jewel [~jewel@105-236-130-25.access.mtnbusiness.co.za] has quit [Quit: Leaving] 13:15:59 -!- nilsi_ [~nilsi@5.254.150.216] has quit [Ping timeout: 272 seconds] 13:16:32 either way guaranteed bound checking simplifies other code and lets the compiler omit that code when appropriate, so there's no reason not to do it 13:16:52 Again, intel designs its processors according to what programs, ie compilers use. 13:17:17 yeah 13:17:21 If suddenly 90% of the programs used BOUND, they would extra optimize it. 13:17:22 where are my tag checks? 13:17:56 nobody would use BOUND since the simpler instructions are already fast enough 13:18:28 we're talking about a different historical course in CPU design really 13:18:31 -!- kcj [~casey@unaffiliated/kcj] has quit [Ping timeout: 272 seconds] 13:18:41 C did what C did, so CPUs went towards doing those things fast 13:19:11 costing us a few decades of interesting compiler research, really 13:20:31 i don't really C as being that big of an influence 13:20:50 i lost "see" somewhere there 13:21:04 Half of the problem with C is that it overspecifies the hell out of everything 13:21:23 So it's very hard for a compiler to, say, specialise representations for a particular processor 13:21:49 stassats: PTRAN was underway around the time C took off. That's automatic parallelism, ie. the hot topic in languages right now, being worked on practically 30 years ago 13:21:57 subsequently the project was halted 13:22:20 what does C have to do with it? 13:22:35 -!- oudeis [~oudeis@62.18.74.32] has quit [Ping timeout: 240 seconds] 13:22:40 Everything! 13:22:41 it also influenced the ideas about acceptability of garbage collection, and generally letting the language be expressive enough to let the compiler do interesting optimisations 13:23:18 stassats: a lot! When everyone shifted to making C compilers, and making those behave at all acceptably, the momentum elsewhere was lost 13:23:31 because C needs a lot of research just to stop sucking completely 13:23:45 It's the reason NeXTSTEP and therefore Cocoa and iOS are written in Objective-C instead of Lisp! Interface Builder was a lisp program, and they could have used lisp to develop the NeXTSTEP->OpenStep->Cocoa->iOS framework. 13:24:04 Instead because of the influence of C, they rewrote Interface Builder into Objective-C. 13:24:59 STilda [~STilda@188.162.167.38] has joined #lisp 13:25:04 If I were Mandrake, I'd do anything to prevent AT&T touching computers and compilers. 13:25:16 and i don't see why you're talking about it in the channel about CL, which is not known for its ability to be well optimized 13:25:39 I dunno, SBCL seems to be doing a fine job of optimising it 13:25:44 but that's all connected 13:26:03 Even silly languages like Javascript can be optimised if you work hard enough 13:26:05 if the research was in making CL fast, we'd have CPUs which are fast at CL, instead of being fast at C 13:26:28 and the interesting compiler research I mentioned would've made CL plenty fast 13:26:35 that's what those decades lost mean 13:26:52 If there was the same commercial interest in CL that there is in Javascript, CL would be screaming fast 13:27:10 i don't see how you can extrapolate it to lost decades 13:27:21 CL is dangerous because it takes power from the organization and gives it to the individual 13:27:28 people want to write programs, not compilers 13:27:57 compilers are also code, and code that gets written, and which everyone depends on 13:28:07 so if people write their code in C, C compiler research happens 13:28:21 if people wrote their code in CL, CL compiler research would've happened instead 13:28:54 A fair chunk is more or less language independent though 13:28:57 -!- STilda [~STilda@188.162.167.38] has quit [Read error: Connection reset by peer] 13:28:59 seeing CL as completely disconnected and independent of C being the dominant force is very naïve 13:29:36 STilda [~STilda@188.162.167.38] has joined #lisp 13:30:41 ggole: yes and no. If your standard language is sucky and introduces idiotic issues like aliasing everywhere, the research goes into fighting that rather than actually interesting issues well-designed languages would have 13:31:31 the sum total of compiler work happening is not infinite, and it is partitioned according to what language is most used, and what its issues are most pressing 13:31:43 in C, these issues are all bland and really self-inflicted 13:32:05 Almost every language has aliasing, so it's not like that research is locked into a C-specific silo 13:32:32 few languages have aliasing all over on the byte level like C does 13:32:36 Also see how research into implementing obscure languages like Self efficiently was pressed into heavy commercial use. 13:32:42 sohail [~sohail@unaffiliated/sohail] has joined #lisp 13:32:48 True, but the issue still turns up. 13:33:32 of course, but it's not an all-encompassing capital-P Problem you spend your brainpower on just to be able to optimise it somewhat 13:33:48 I think most of the effort in implementing C (let alone C++!) is smashing your head against the brick wall that is the standard anyway. 13:33:59 And that's not really research. 13:34:14 trying to implement it efficiently kinda is 13:34:21 i don't see how CL is a more worthy language to have more research 13:34:55 the portable CL has so many issues when it really comes to matching the hardware, it won't beat C no matter what you do 13:35:42 -!- lyanchih [~lyanchih@114-34-99-241.HINET-IP.hinet.net] has quit [Quit: lyanchih] 13:35:52 stassats: see where SBCL managed to end up with what little funded work it's had in the last decade. Now multiply that by the man-hours poured down the C and C++ sink. Visual Studio, Borland, Intel, IBM all have top-notch compiler people working on making C(++) behave 13:35:59 bananagram [~bot@c-76-30-158-226.hsd1.tx.comcast.net] has joined #lisp 13:36:04 well, Borland had those people 13:36:09 they're elsewhere now 13:36:22 And now, Javascript. 13:36:25 yes 13:36:36 and what is this discussion is about? that C killed innovation? let's chastise its authors? 13:36:40 i don't get it anymore 13:37:00 Yes. and CL killed lisp. and  13:37:33 mathrick: SBCL is not really that advanced, it's just better than many other dynamic languages 13:37:38 which is not a high bar 13:38:10 stassats: which is my point! 13:39:07 It'd be interesting to step into a parallel world and see what Python and Ruby would look like if designed from the start by competent implementors 13:39:07 we'd have much more interesting languages (quite possibly different and better than CL) if C didn't happen 13:39:29 and why is it a sink? i don't complain about having all the software written in C 13:39:36 mathrick: is that a fact? 13:39:55 it's a very strong hunch based on what happened before and after C 13:40:58 C is as much a language as it is a culture, too. A culture of "really bad, but sorta works so whatever" 13:41:05 (cue Worse is Better) 13:41:13 That said, it's a general movement. unix also reduced os research and diversity. MS-Windows and IBM-PC also reduced diversity in personal computer architectures. etc. 13:41:30 yeah 13:41:35 and what's the point of whining about C? 13:41:42 In a way, even the Internet reduced diversity in networking technology and protocols. 13:41:51 but Unix and C are really kinda one thing 13:41:56 Well, there's always a point in whining about C. 13:42:11 whining gets you nowhere 13:42:39 by the time poured into whining, you could be researching optimizing compilers for CL 13:42:46 I started a project named LEP for now, which aim to write a free(dom) OS in Common Lisp (based on the Linux kernel until a Linus writes one in Movitz). 13:43:05 pjb: cool, got a web site or similar? 13:43:12 Movitz is not moving anywhere, really, and kinda going backwards 13:43:30 it starts the task of writing a good kernel by having to write a good CL first 13:43:32 http://git.informatimago.com/viewgit/index.php?a=viewblob&p=public/lep&h=a69157ccabbbb85cbcbf0012e37c7138702fa195&hb=2c4e5228cc0dae14e16b396431e3e4ba1555f737&f=README 13:43:40 the bootable SBCL project was much more interesting 13:44:09 mathrick: why not? they started the task of writnig a unix kernel by having to write a good B first. They named it C. 13:44:33 pjb: also Linux is really tied into doing things the C way. My own thinking about Lisp-based OS was to go with an L4 (Fiasco, because it has actual security built-in) 13:44:43 pjb: and see where that got us 13:44:52 SBCL is already a good CL 13:44:54 let's use that 13:44:58 As long as a CL implementation works on such a kernel 13:45:01 hurd? 13:45:05 Indeed. 13:45:08 rszeno: it's based on Mach and sucks 13:45:15 L4 is a real microkernel 13:45:18 it works, it's fast 13:45:25 not worst the linux kernel, :) 13:45:30 Anyways, I'll be concentrating on gathering existing userland lisp programs at first. 13:45:38 We had a X11 server written in lisp no? 13:45:58 rszeno: yes, especially given that linux is a monolithic kernel through and through 13:46:05 *stassats* never seen any actual results from all the "let's rewrite everything in CL" boasting 13:46:12 -!- sohail [~sohail@unaffiliated/sohail] has quit [Quit: This computer has gone to sleep] 13:46:18 *hitecnologys* thinks that instead of arguing what is better, we should design Lisp machine first 13:46:35 but mach is a really, really starting point for a microkernel. It's the textbook failed microkernel 13:46:46 clxs 13:46:50 sohail [~sohail@69-196-176-62.dsl.teksavvy.com] has joined #lisp 13:46:50 -!- sohail [~sohail@69-196-176-62.dsl.teksavvy.com] has quit [Changing host] 13:46:51 sohail [~sohail@unaffiliated/sohail] has joined #lisp 13:47:00 hitecnologys: too bad it will be slower and more expensive than an intel chip 13:47:33 stassats: sure 13:47:49 soon chips will get more expensive then you think 13:48:35 stassats: but if Intel (or AMD, or someone else) designs one, it may compete with other stuff 13:48:37 pjb: I did give it some thought, and I'm quite convinced L4 is about the best you can start. It gives you all the interesting parts of a kernel without deciding about things you want to be able to decide about, like Linux does, and it's really good and has been used a lot for marrying different userlands under one kernel 13:48:55 hitecnologys: there's no money to be made in this 13:48:56 so basically L4 + SBCL as the governor 13:49:04 which also forms the LispOS layer 13:49:15 drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has joined #lisp 13:49:25 -!- theos [~theos@unaffiliated/theos] has quit [Disconnected by services] 13:49:35 and (a) linux for drivers, that don't exist in Lisp (another problem with Movitz) 13:49:49 theos [~theos@unaffiliated/theos] has joined #lisp 13:49:50 stassats: yeah, and this problem makes me sad. 13:50:02 which might or might not be used to implement a POSIX userland for code that doesn't exist in Lisp 13:50:13 -!- drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has quit [Read error: Connection reset by peer] 13:51:12 pjb: for a LispOS to be practical in 2013, it has to have ways to use the code not written in Lisp, while allowing to port as much over to Lisp as possible as time goes 13:51:25 hitecnologys: why? are the current CPUs not fast enough? 13:52:14 lisp machines died partially because general-purpose CPUs got fast enough to be acceptable without being as horribly expensive as the purpose-designed Lisp CPUs 13:52:16 stassats: nope, it's because I never actually saw working Lisp machine and I'd like to see one. 13:52:51 (it's still a pity we lost locatives when moving over to CL, though) 13:53:22 Basically, the reason is "why not?". 13:53:26 if you want to improve CL, don't ruminate about things of the past or write OSes or invent lisp machines, just write more useful code 13:54:13 abunchofdollarsi [~abunchofd@l33t.csail.mit.edu] has joined #lisp 13:54:22 why not? 13:54:34 If you just want to play around, you could try to get an emulator working 13:54:38 I don't see how trying to write a *practical* Lispish OS is not writing more code 13:54:46 IIRC Genera has been somewhat successfully emulated. 13:54:51 How would you print symbols with no packages? 13:54:55 I did this, https://gist.github.com/burrows-labs/7069971 13:55:04 ggole: yeah, I improved the VM builder a lot 13:55:04 ggole: nah, emulator is not cool at all. 13:55:09 clhs *print-escape* 13:55:09 http://www.lispworks.com/reference/HyperSpec/Body/v_pr_esc.htm 13:55:32 Yes that's better. 13:55:35 hitecnologys, ggole: https://github.com/mathrick/opengenera 13:55:51 That's probably what I was thinking of. 13:56:11 ggole: I was designing my own Lisp machine for this purpose but I stopped working on this project because I had absolutely no free time. 13:58:10 danlentz [~danlentz@c-68-37-70-235.hsd1.nj.comcast.net] has joined #lisp 13:59:08 imagine you already have a lisp machine, you wouldn't use a computer without any programs, would you? you can write programs right now without having to write OSes and designing microchips, and solve the problems you have with them now, not in ten years 13:59:09 mathrick: looks pretty interesting, I'll try playing with it. Thanks. 13:59:20 and you're less likely to run out of money or lose interest 13:59:48 lduros [~user@fsf/member/lduros] has joined #lisp 14:00:09 Having a lisp machine might reduce drag. 14:00:11 and performance is not the only criteria by which you measure an implementation 14:00:25 stassats: that's confining yourself to the local maximum though, and has the same problems any strictly greedy strategy has 14:00:27 stassats: and that's what I'm doing now. 14:00:46 every once in a while someone needs to do the slightly less practical thing to widen the landscape 14:01:03 SBCL has a lot of things to improve besides performance 14:01:46 mathrick: I don't necessarily aim for "practical". If you want "practical" you just use ubuntu or MacOSX. 14:01:51 and, again, I want to make a practical Lisp OS. Starting with the practical problem of writing a practical Emacs in CL. Which is this-january project, not next decade one 14:02:18 mathrick: Android basically only supports Java. 14:02:22 and it's successful. 14:02:24 I intend to proceed by, well, writing code until the scope has been widened to a practical Lisp OS 14:02:27 a NDK can come later. 14:02:42 less talk, more code 14:02:45 I personally think we need to implement threading in Emacs before writing it in CL. 14:02:46 pjb: Android doesn't intend to be a PC OS though, and Android is made by google 14:02:49 That said, until we have all the services written in lisp, some essntial ones like the X server might have to be imported. 14:02:49 you're not google 14:02:55 :-) 14:02:57 -!- Patzy [~something@lns-bzn-51f-81-56-151-137.adsl.proxad.net] has quit [Ping timeout: 265 seconds] 14:03:12 hitecnologys: you're confusing "emacs" with "gnu emacs" 14:03:21 I'm talking about the former, not the latter 14:03:37 Patzy [~something@lns-bzn-51f-81-56-151-137.adsl.proxad.net] has joined #lisp 14:03:46 mathrick: did the former one have threading? 14:03:48 gnu emacs stinks and I want to abandon it as soon as possible 14:03:59 "emacs" is a class of applications 14:04:16 it's an idea, much like "CL implementation" 14:04:24 Ah, you meant that. 14:05:40 mathrick: so, your emacs clone will be done by next january? in what state is it already? 14:05:42 pjb: the problem is you can't do *anything* of interest with pure Lisp userspace right now, so you will have to solve that problem either way. And if you do, why not solve it well and make it easy to move both ways? 14:05:47 -!- acieroid` is now known as acieroid 14:06:02 abunchofdollarsi: you're confusing atoms and symbols. (atom 42) --> T (string 42) : error. 14:06:04 -!- ASau` is now known as ASua 14:06:05 stassats: no, next january is when I'll have time to start on porting Climacs to CLIM3/CLIMatis 14:06:05 -!- ASua is now known as ASau 14:06:14 s/on// 14:06:16 oh my 14:06:16 14:06:21 mathrick: there are a lot of pure lisp applications already existing. 14:06:42 pjb: yeah, please show me the browser with a useful DOM/JS runtime :) 14:06:47 pjb, thanks. 14:06:56 if you don't have that, you don't have an OS in 2013 14:07:23 and a browser is similar in scope to the OS itself 14:08:09 i need to shoot a new video of my not-emacs-clone-but-a-slime-killer-with-no-name 14:08:17 you do 14:08:42 mathrick: again, don't aim for practical. a browser with javascript only serves to display advertisement. A browser without javascript is much better. 14:08:44 weren't you working on SLIME itself though? Why are you killing it? 14:08:58 pjb: uh, I don't think you've used any wobsights recently 14:09:05 attila_lendvai [~attila_le@92.47.254.8] has joined #lisp 14:09:05 -!- attila_lendvai [~attila_le@92.47.254.8] has quit [Changing host] 14:09:05 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 14:09:14 1) install noscript in FF 2) don't whitelist anything 3) observe how everything breaks 14:09:25 and nowadays, even safari on ios 5 crashes on most web sites with javascript! 14:09:29 (or just disable JS completely) 14:09:40 drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has joined #lisp 14:09:41 clhs doesn't break. 14:09:47 What else do you need to read? :-) 14:09:56 mathrick: i was, because it's not easy to improve by much without some radical changes 14:09:58 jewel [~jewel@105-236-130-25.access.mtnbusiness.co.za] has joined #lisp 14:10:14 stassats: ah, so kinda like my being fed up with GNU Emacs I guess 14:10:17 zeus [~user@S0106001111de1fc8.cg.shawcable.net] has joined #lisp 14:10:26 out of curiosity, was it in any way related to nrepl and the nrepl protocol? 14:10:27 who isn't? 14:10:49 no, it's not related to anything 14:10:58 i don't even know what nrepl is 14:11:14 ok, i'll shoot a video once i'll have a working auto-completion 14:11:26 clojure SLIME killer, which happened because slime+clojure was a moving target 14:11:32 stassats: please do! 14:11:59 sexy videos of local auto-completion in your area. Chat tonight! 14:11:59 Wow, very interesting discussion. Too bad I was away for most of it. 14:12:09 -!- sohail [~sohail@unaffiliated/sohail] has quit [Quit: This computer has gone to sleep] 14:12:20 hey beach 14:12:26 I'm not used to you being online :) 14:12:27 Hi mathrick. 14:12:50 Yeah, I have mixed feeling about it myself :) 14:12:55 haha 14:13:21 where are you stationed now anyway? Bordeaux or Vietnam? 14:14:24 in the mean time, you can watch some old classics: "arglist display" http://www.youtube.com/watch?v=eNFgKMF_UeE and "Interactive restarts" http://www.youtube.com/watch?v=Ur0pNQiuKjo 14:14:28 -!- Sagane [~Sagane@177.100-226-89.dsl.completel.net] has quit [Ping timeout: 240 seconds] 14:14:35 mathrick: Bordeaux. 14:14:57 pjb: I like your document about LEP. 14:15:09 -!- Natch [~Natch@c-cdcee155.25-4-64736c10.cust.bredbandsbolaget.se] has quit [Remote host closed the connection] 14:15:12 beach: and what happened to your (semi?) permanent move to Vietnam? Did that go through? 14:15:23 I was there for 7 months. 14:15:41 pjb: btw, what's "detached type tags"? You store tags in a separate memory area and look up by pointer address? 14:16:44 beach: ah, cool. And what now, are you going to repeat that? I'm guessing the teaching obligations kinda put a damper on how long you can stay there, no? 14:16:53 -!- lduros [~user@fsf/member/lduros] has quit [Remote host closed the connection] 14:17:10 mathrick: No, but my wife is against it. 14:17:14 mathrick: yes. 14:17:18 beach: oh, I see 14:17:28 beach: I thought you both liked it in there 14:17:28 mathrick: Also, I think the entire thing in VN is going down the tube. 14:17:33 aw 14:17:45 pjb: that sounds really expensive 14:17:45 Yes, but let's talk about Lisp instead. 14:18:21 mathrick: a little. 14:18:26 pjb: another thing is that signals and the POSIX idea of process is not a very good unit of abstraction, and neither is a "binary" as Unix has it 14:18:49 similarly, commandlines should be killed with extreme prejudice 14:19:01 That's indeed a problem. Notice however that Android deals with it. It's an existance proof for a solution. 14:19:12 sohail [~sohail@69-196-176-62.dsl.teksavvy.com] has joined #lisp 14:19:12 -!- sohail [~sohail@69-196-176-62.dsl.teksavvy.com] has quit [Changing host] 14:19:12 sohail [~sohail@unaffiliated/sohail] has joined #lisp 14:19:16 mathrick: I think "detached type tags" refers to page-tagging 14:19:24 it's a version. 14:19:39 ggole: but in this case, I want to type tag C data. 14:19:54 yes, and that's really the only sensible way to implement those things. You need the OS to have a good idea of what entry points there are, and really a "library" should be the only unit of compartmentalisation 14:19:59 Where you organise things by pages, stashing interesting info at the beginning of each page. Recovering the info associated with an object involves truncating its address to page size. 14:20:22 struct {char c,int i,char* s} str; --> typetag str_type[]={tchar,tint,tstring}; 14:20:29 oudeis [~oudeis@62.18.203.150] has joined #lisp 14:20:29 what is "commandline" today in Unix should become different entry points to those libraries, with a UI suited towards human consumption 14:21:40 pjb: How long ago did you write the page on LEP? Are you still doing active work on it? 14:21:51 Well, cli has the advantage of being easily scriptable 14:22:13 beach: "active" as in the usual lisp pace / lack of time :-) 14:22:16 -!- abunchofdollarsi [~abunchofd@l33t.csail.mit.edu] has quit [Quit: Leaving] 14:22:23 pjb: right away I can see problems with introspection there, because there's no way to recover {c, i, s} members given a *str 14:22:30 But I improved it during last month. 14:23:03 pjb: that's why you design functions for that, but it should be just the usual functions in a real language (CL in this case) 14:23:08 mathrick: it's useful only for the FFI. So it should be entirely controlled by the lisp system. 14:23:15 CLI is a horrible programming language and a shitty UI 14:23:18 As soon as you starting trying to build nontrivial things, the CLI tools start to hurt. 14:23:19 pjb: Is there anything I can read to determine what you have, how much of it works, and what you are doing next? 14:23:41 and it leads to "GUI wrappers" which have all the robustness and elegance of trying to parse unstructured strings 14:23:48 Consider what is required for extracting, say, every argument of a certain type from strace output. 14:24:06 we already have an abstraction for scripting 14:24:10 it's called "functions" 14:24:33 beach: for now, it's embodied into a script lepbootstrap.lisp http://git.informatimago.com/viewgit/index.php?a=viewblob&p=public/lep&h=606b149c379d351a853f1a311a06aaf25b7fcb06&hb=2c4e5228cc0dae14e16b396431e3e4ba1555f737&f=install/lepbootstrap.lisp 14:24:45 MoHaX [~luke@178.120.139.79] has joined #lisp 14:25:08 Karl_dscc [~localhost@p5DD9D614.dip0.t-ipconnect.de] has joined #lisp 14:25:12 This builds a directory structure with a CL implementation as /sbin/init so it can be booted in a VM. 14:25:17 Functions can (usually) only be called within the process, on the same machine, within the same language. 14:25:27 So they aren't as stark an abstraction boundary as Unix streams. 14:25:28 pjb: Thanks. I'll check it out. 14:25:39 pjb: 3) "But since the system wouldn't contain the usual C libraries set" <-- this sentence is unfinished 14:25:51 since it wouldn't contain the C libraries, how'd it work? 14:25:56 -!- mtd [~martin@ops-13.xades.com] has quit [Quit: leaving] 14:26:13 -!- oleo [~oleo@xdsl-87-79-197-13.netcologne.de] has quit [Read error: Operation timed out] 14:26:36 ggole: it's not a problem when the OS knows what functions there are. Android does and it works just fine, on a way higher level than CLI "commands" 14:26:43 that's the point 14:27:03 "binaries" are a useless concept and actively harmful 14:27:04 Android achieves that by picking a language and tailoring the system to it. 14:27:08 yes 14:27:16 It's a workable approach. 14:27:18 which a LispOS would also do 14:27:19 But it isn't the Unix approach. 14:27:23 Indeed. 14:27:32 the Unix approach is to be really bad no matter the language 14:27:42 rather than being good in some language and workable in others 14:28:13 and anyway, you can structure the entry points however, that's another design to be made really 14:28:19 we get it, you don't like unix 14:28:25 but you need to abandon the pretense of "CLI" being worth anything 14:28:45 because it only leads to creation of really, really bad languages (called shells) 14:28:51 mathrick: ok, let's just ignore this sentence for the moment, it would require a different development :-) 14:29:18 pjb: well yeah, but it's a crucial point. It's *the* problem to solve for a practical OS :) 14:29:28 (and I'm not interested in completely impractical ones) 14:29:35 beach: the idea is to do http://informatimago.com/linux/emacs-on-user-mode-linux.html for CL, as a starting point. 14:29:50 Then of course the problem is to avoid redoing a POSIX/unix like system in CL. 14:29:57 -!- maxpeck [~a@unaffiliated/maxpeck] has quit [Quit: leaving] 14:30:08 That's where time and imagination are needed to design a different kind of system. 14:30:21 The idea of a command line is fine: it's the commands and how they work together that are poor 14:30:25 stassats: you pass the perception roll :) 14:30:52 (I wouldn't object to a graphical command interface, but I've never seen one worth a damn.) 14:30:56 ggole: no, it's mixing up causes and effects. You don't want a commandline, you want a scriptable environment 14:30:57 mathrick: the point is that the constraint I'd want to impose myself is to only use CL sources, so that the entire system can be built using only CL. 14:31:08 much better scriptable environments result if you drop commandline 14:31:16 A natural language command line interface would be good. :-) 14:31:25 My shell is eliza. 14:31:52 pjb: I want a system which I can use, which is a more interesting problem to solve for me. And which *eventually* can be composed of only CL, but which can be usable long before that 14:32:02 otherwise you run into "boil the ocean" problem 14:32:10 pjb: I am pretty slow, so need to take more time to look at what you have done so far. 14:32:11 mathrick: but this is a solved problem: you can use MacOSX or GNU/linux. 14:32:12 and these usually don't end up well 14:32:32 pjb: but I don't want to. What use is making a new OS if I can't and wouldn't want to use it myself? 14:32:54 if I were perfectly happy with Linux, I wouldn't be looking for another OS 14:33:13 i don't want to use computers, i want to lay on the beach and sip daiquiris 14:33:14 beach: the script basically just sets up directories, copies needed libraries (cf. ldd lx86cl64), and generate an executable image for /sbin/init. 14:33:14 oleo [~oleo@xdsl-84-44-152-52.netcologne.de] has joined #lisp 14:33:30 beach: the next step to make it usable is to call mount to remount / in rw mode. 14:33:36 pjb: Yes, I read that much, but I am not sure I know what it means :) 14:33:39 stassats: does beach consent to your lying on him? 14:33:42 from this point you can boot a kernel + CL and do whatever you want. 14:33:52 mathrick: what an original joke 14:33:57 also I would use computers anyway 14:34:12 so having a sensible OS is definitely interesting to me 14:34:24 You could put it on a USB stick, and use it to boot a computer with only CL running on it, no other service or daemon or library. 14:34:50 pjb: I have given a lot of thought to what the API would look like for a LispOS. Maybe we can talk about it sometime. 14:34:51 (Ah, I copy also ~/quicklisp and the sources of ccl). 14:35:00 breakds [~breakds@c-24-0-146-43.hsd1.nj.comcast.net] has joined #lisp 14:35:06 pjb: Oh, I see. 14:35:09 Yes, that will be interesting. We could create something new. 14:35:36 I have a pretty good idea of what the replacement of the file system would look like for instance. 14:35:59 stassats: besides, computers are used for solving problems. More interesting problems can be solved better and easier (resulting in, amongst other things, less need for sitting at the computer) if the environment is helpful 14:36:26 and OSs do matter. If they didn't, we'd all still use MS-DOS 14:36:33 mathrick: with mobile computers (and soon wearable computesr), there's much less sitting done at the computer. 14:36:45 and much more need for intelligent OS 14:36:55 mathrick: however, the problem with that is that the problems solved are solved not by the users, and not necessarily in the best interests of the users. 14:37:23 -!- oudeis [~oudeis@62.18.203.150] has quit [Quit: This computer has gone to sleep] 14:37:24 a computer is a tool. The better the tool, the easier it is to apply it 14:38:19 -!- drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has quit [Remote host closed the connection] 14:38:22 Also consider for example, a human secretary: a good natural intelligence, able to learn new algorithms and tasks. You can teach her (ie. program her) to do anything her hardware allows. 14:38:24 good thing we have mathrick to make the computer better 14:38:29 pjb: I think we should exchange ideas a bit more. Any idea how to do that? By email? I suppose we could do it here when things are calm anyway. 14:38:36 that's why I'm interested in practical OS. I don't want to write it just to write it, but because I want that tool to be useful for myself and others (who don't necessarily share my interest in computers themselves), and I haven't been satisfied with the offerings available 14:38:48 However, it seems to me that it takes a lot of time, and you don't usually teach algorithm as complex as we do with computers, using textual programming languages. 14:38:55 nor do I think they're going in a direction likely to satisfy me in the foreseeable future 14:39:35 beach: I see you have this lisp-project http://dept-info.labri.fr/~strandh/Lisp-projects/index.html ; do you have any collaboration framework around it? 14:39:54 stassats: I don't understand your beef. According to you, all that's needed is writing more code, but every time I identify areas which, in my opinion, need applied code, you're offended by... whatever it is you're offended by 14:39:56 pjb: No, and that page is a bit old. 14:40:03 I thought so. 14:40:19 pjb: OK, let me do the following: I'll update that page, and let you know when I'm done. 14:40:25 We could start by email, and I'd set up a mailling list if needed. 14:40:29 mathrick: i'm just tired of all the big talks of how people are going to revolutionize all the aspects of computers 14:40:35 pjb: OK, let's start by email. 14:40:37 less talk, more code 14:40:46 beach: Perhaps we should start a common project on common-lisp.net 14:41:04 pjb: That might be a bit premature as of now. 14:41:16 yes. 14:41:17 pjb: But if it turns out we have enough in common, sure why not. 14:41:21 what was the saying? "unwritten code has no bugs and runs at the speed of mouth"? 14:41:29 stassats: *just* code without any idea what to use it for is no solution either, and as I said, my first step is to write all the code to make Climacs my primary editor 14:41:58 nothing revolutionary there, just plain old GNU emacs sucking horribly 14:42:07 mathrick: talking is needed, otherwise you may end just redoing what's already done, just like Linus did. 14:42:14 what I said 14:42:20 -!- dtw [~dtw@pdpc/supporter/active/dtw] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 14:42:22 "*just* code without any idea what to use it for is no solution either" 14:43:08 beach, pjb: whatever happens, I want to stay updated 14:43:09 oudeis [~oudeis@62.18.203.150] has joined #lisp 14:43:20 mathrick: Of course. 14:44:05 stassats: aside, wasn't it you who made the bootable SBCL hack? 14:44:15 no, it was nyef 14:44:22 ah 14:45:05 pjb: have you looked into that? Why wouldn't that be a better base for pure CL userland than Linux? 14:47:11 Perhaps, but what about the drivers? The kernel provides them, the hardware abstraction layer. 14:47:37 you don't need drivers if your OS is beautiful 14:47:39 On the other hand, we could run a bare CL on a virtualized hardware layer. 14:47:42 :-) 14:47:53 chris_l [~quassel@p57A5CD0B.dip0.t-ipconnect.de] has joined #lisp 14:48:02 pjb: kinda my idea with L4 14:48:12 -!- sohail [~sohail@unaffiliated/sohail] has quit [Quit: This computer has gone to sleep] 14:48:13 L4 is the virtualisation layer, SBCL is the driver 14:48:17 a slave Linux for drivers 14:48:28 -!- maxter__ [~maxter@gaffeless.chaperon.volia.net] has quit [Quit: Konversation terminated!] 14:48:34 plus https://www.usenix.org/conference/hotdep-08/reverse-engineering-drivers-safety-and-portability for porting 14:48:48 I'll have a look at it. 14:48:54 -!- sellout- [~Adium@c-98-245-81-139.hsd1.co.comcast.net] has quit [Quit: Leaving.] 14:49:23 it's a really clever approach that has a lot of promise 14:50:19 maxter [~maxter@gaffeless.chaperon.volia.net] has joined #lisp 14:54:42 STilda2 [~STilda@188.162.167.38] has joined #lisp 14:56:00 -!- STilda [~STilda@188.162.167.38] has quit [Ping timeout: 256 seconds] 14:58:35 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 272 seconds] 14:58:36 pjb: On one of your pages, you mention replacing or wrapping libc. Independently of the method chosen, it would be good to have a Lisp API for system calls. 14:58:41 Sagane [~Sagane@177.100-226-89.dsl.completel.net] has joined #lisp 15:00:52 Indeed. 15:01:56 kcj [~casey@unaffiliated/kcj] has joined #lisp 15:04:40 beach: how does one manage to get a visa to stay in vietnam for 7 months? 15:05:06 capisce: The organization I worked for handled that. 15:05:45 STilda [~STilda@188.162.167.38] has joined #lisp 15:05:47 lyanchih [~lyanchih@114-34-99-241.HINET-IP.hinet.net] has joined #lisp 15:05:58 -!- STilda2 [~STilda@188.162.167.38] has quit [Ping timeout: 240 seconds] 15:06:24 beach: I see 15:07:17 -!- bananagram [~bot@c-76-30-158-226.hsd1.tx.comcast.net] has quit [Ping timeout: 248 seconds] 15:07:19 sellout- [~Adium@c-98-245-81-139.hsd1.co.comcast.net] has joined #lisp 15:09:03 -!- oudeis [~oudeis@62.18.203.150] has quit [Quit: This computer has gone to sleep] 15:12:42 -!- sellout- [~Adium@c-98-245-81-139.hsd1.co.comcast.net] has quit [Quit: Leaving.] 15:13:31 STilda2 [~STilda@188.162.167.38] has joined #lisp 15:13:54 sellout- [~Adium@c-98-245-81-139.hsd1.co.comcast.net] has joined #lisp 15:14:03 Sagane_ [~Sagane@177.100-226-89.dsl.completel.net] has joined #lisp 15:14:26 -!- sellout- [~Adium@c-98-245-81-139.hsd1.co.comcast.net] has quit [Client Quit] 15:14:35 -!- STilda [~STilda@188.162.167.38] has quit [Ping timeout: 248 seconds] 15:16:10 -!- Sagane [~Sagane@177.100-226-89.dsl.completel.net] has quit [Ping timeout: 240 seconds] 15:18:35 -!- Shinmera [~linus@xdsl-188-155-176-171.adslplus.ch] has quit [Ping timeout: 272 seconds] 15:20:03 puchacz [~puchacz@46-65-36-47.zone16.bethere.co.uk] has joined #lisp 15:21:01 hi, about iolib - I downloaded 0.8 version from http://common-lisp.net/project/iolib/download.shtml and I wanted to use it in quicklisp/local-project 15:21:41 I copied asdf2-compat/*.asd to src/ and it complains 15:21:55 Component :IOLIB/SOCKETS not found, required by 15:21:57 # 15:22:47 I opened iolib.socket.asd and indeed it says: asdf:defsystem :iolib.sockets :depends-on :depends-on (:iolib/sockets) 15:22:51 what's going on please? 15:25:14 You need to download iolib/sockets too. 15:25:43 Perhaps try (ql:quickload :iolib), it downloads the dependencies automatically. 15:25:52 But then, it's 0.7.3 15:25:54 puchacz: 1) you need to use a very recent ASDF, 2) iolib probably doesn't work with quicklisp/local-project 15:25:56 STilda [~STilda@188.162.167.38] has joined #lisp 15:26:10 I use the old symlink farm method and that works well 15:26:48 ok, thanks pjb and fe[nl]ix 15:26:50 drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has joined #lisp 15:27:08 -!- STilda2 [~STilda@188.162.167.38] has quit [Ping timeout: 240 seconds] 15:27:36 btw, I know it is FREEnode, but does anybody happen to know if iolib works with lispworks personal? 15:27:56 nisstyre [~yours@oftn/member/Nisstyre] has joined #lisp 15:27:58 puchacz: I haven't tested it on LW for a few years 15:28:45 I have no idea 15:28:55 -!- maxter [~maxter@gaffeless.chaperon.volia.net] has quit [Quit: Konversation terminated!] 15:31:47 Sagane [~Sagane@177.100-226-89.dsl.completel.net] has joined #lisp 15:33:47 -!- MoHaX [~luke@178.120.139.79] has quit [Ping timeout: 248 seconds] 15:33:52 luke_ [~luke@178.120.129.175] has joined #lisp 15:33:57 -!- Sagane_ [~Sagane@177.100-226-89.dsl.completel.net] has quit [Ping timeout: 248 seconds] 15:34:19 -!- Patzy [~something@lns-bzn-51f-81-56-151-137.adsl.proxad.net] has quit [Ping timeout: 240 seconds] 15:35:08 Patzy [~something@lns-bzn-51f-81-56-151-137.adsl.proxad.net] has joined #lisp 15:35:23 -!- xan__ [~xan@80.174.78.193.dyn.user.ono.com] has quit [Ping timeout: 248 seconds] 15:35:57 -!- Mon_Ouie [~Mon_Ouie@subtle/user/MonOuie] has quit [Ping timeout: 272 seconds] 15:37:44 lduros [~user@fsf/member/lduros] has joined #lisp 15:39:40 abunchofdollarsi [~abunchofd@l33t.csail.mit.edu] has joined #lisp 15:39:57 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 15:40:11 I don't 'get' the y combinator, it essentially looks like they've done this: https://gist.github.com/burrows-labs/7071205 15:40:28 Is there something else going on? 15:41:10 Devi777 [~Devi777@c-8f3ae353.024-10-73746f12.cust.bredbandsbolaget.se] has joined #lisp 15:41:16 Shinmera [~linus@xdsl-188-155-176-171.adslplus.ch] has joined #lisp 15:42:33 -!- lyanchih [~lyanchih@114-34-99-241.HINET-IP.hinet.net] has quit [Quit: lyanchih] 15:42:41 dtw [~dtw@pdpc/supporter/active/dtw] has joined #lisp 15:44:22 lyanchih [~lyanchih@114-34-99-241.HINET-IP.hinet.net] has joined #lisp 15:45:11 -!- axion [~axion@btnund-ai01-74-214-214-174.utma.com] has quit [Read error: Operation timed out] 15:48:43 STilda2 [~STilda@188.162.167.38] has joined #lisp 15:49:47 -!- STilda [~STilda@188.162.167.38] has quit [Ping timeout: 248 seconds] 15:50:09 -!- yroeht [~yroeht@horgix.fr] has quit [Ping timeout: 272 seconds] 15:50:51 -!- impulse [~impulse@65.95.106.223] has quit [Ping timeout: 245 seconds] 15:54:25 STilda [~STilda@188.162.167.38] has joined #lisp 15:56:13 -!- STilda2 [~STilda@188.162.167.38] has quit [Ping timeout: 272 seconds] 15:56:16 xan_ [~xan@80.224.236.116.dyn.user.ono.com] has joined #lisp 15:56:51 -!- abeaumont [~abeaumont@77.231.228.45] has quit [Remote host closed the connection] 15:59:54 STilda2 [~STilda@188.162.167.38] has joined #lisp 15:59:58 abunchofdollarsi: Yes. There is something else going on 16:00:26 Sagane_ [~Sagane@177.100-226-89.dsl.completel.net] has joined #lisp 16:00:31 Besides making it "lambda-calculusy", ie currying + removing undefined references and some abstracting? 16:00:41 arnas [arnsa@78-63-18-208.static.zebra.lt] has joined #lisp 16:00:42 abunchofdollarsi: Yes. 16:00:49 ? 16:01:05 abunchofdollarsi: The idea is to create a way to recurse, without being able to refernce functions that has not yet been defined 16:01:15 -!- CrazyEddy [~Ptychospe@wrongplanet/CrazyEddy] has quit [Ping timeout: 245 seconds] 16:01:16 axion [~axion@btnund-ai01-74-214-214-174.utma.com] has joined #lisp 16:01:18 Yes; "removing undefined references" 16:01:24 In your example, FACTORIAL references OTHER before it's defined 16:01:39 -!- STilda [~STilda@188.162.167.38] has quit [Ping timeout: 272 seconds] 16:02:06 I.e. define a recursive function using only FLET 16:02:13 Yes. 16:02:40 But that seems like an exercise in getting the idea to be legally expressed in lambda calculus; not describing recursion. 16:03:08 abunchofdollarsi: It's important when proving the turing-completeness of lambda-calculus 16:03:17 -!- Sagane [~Sagane@177.100-226-89.dsl.completel.net] has quit [Ping timeout: 248 seconds] 16:03:48 I believe that could be true; but it's not really telling me anything about what recursion 'is'. Just what it 'can' look like in lambda calculus. 16:04:28 abunchofdollarsi: sure. Y-combinator is not about teching anyone what recursion is... The classing factorial example is a good enough example of that 16:04:49 Y-combinator is just a way of implementing recursion in pura lambda calculus 16:04:50 That's not what I mean. 16:05:02 I don't want to be taught how to use recursion to solve an algorithm. 16:05:04 I want to know what it is. 16:05:29 Beach, glad to have you back! 16:05:38 what do you mena "what it is"? Recursion is not some divine magic. It's merely the act of calling oneself 16:06:00 -!- breakds [~breakds@c-24-0-146-43.hsd1.nj.comcast.net] has quit [Quit: Konversation terminated!] 16:06:15 And a table is 5 pieces of wood nailed together. 16:06:19 Beach, whatever happened to your McClim replacement project? 16:06:36 abunchofdollarsi: Sure. 16:06:43 -!- ASau [~user@p54AFE8B5.dip0.t-ipconnect.de] has quit [Ping timeout: 272 seconds] 16:06:46 That's unsatisfactory. 16:07:01 abunchofdollarsi: Do you have an actual question? 16:07:19 A table is also a manifestation of the carpenter's know how, and an emergence of physical properties local to atomic and subatomic particles. 16:07:22 -!- LiamH [~none@pool-173-76-205-219.bstnma.fios.verizon.net] has quit [Quit: Leaving.] 16:07:28 What is recursion? 16:07:49 abunchofdollarsi: the act of a function calling itself. I don't know how I can be more clear. 16:08:08 I'm ready to start day two of carpenter's school. 16:08:17 Now tell me. 16:09:04 arenz [~arenz@HSI-KBW-109-193-252-079.hsi7.kabel-badenwuerttemberg.de] has joined #lisp 16:09:29 Recursion is defining something in terms of itself. It's not really much more complicated than that. 16:10:29 Well it's at least a little more complicated than that. 16:10:46 ie, that example I posted, factorial isn't defined in terms of itself in it's function body, just in the execution path. 16:11:21 abunchofdollarsi: Your example did nothing more than split the implementation up into two functions. Implementation detail. 16:11:32 ASau [~user@p54AFE8B5.dip0.t-ipconnect.de] has joined #lisp 16:11:34 That's 'mutual recursion': defining things in terms of each other. 16:11:48 Okay; so there is some additional nomenclature indication it could be a little more complicated. 16:12:18 abunchofdollarsi: Not really. In mutual recursion, one of the the sides can always be inlined, and thus bring you back to plain old recursion. 16:12:30 Are there pieces to recursion? 16:12:38 Does it have constituent parts. 16:13:05 yes, three, :) 16:13:16 Do tell. 16:13:52 name, termination condition and what to do next 16:14:03 -!- fikusz [~fikusz@catv-89-132-137-62.catv.broadband.hu] has quit [Quit: Leaving] 16:14:16 There isn't necessarily a termination condition or a name. 16:14:21 rszeno: You don't need a termination condition 16:14:25 well one of they way you can do because is also mutual recursion 16:14:29 Where does the (* n (factorial (1- n))) fall into those categories? 16:14:36 The multiplication part. 16:14:40 (Although they are almost always present.) 16:14:46 in math no but in programing yes 16:15:02 rszeno: No. An infitie loop has no termination condition 16:15:21 *an infinite loop won't meet it's termination condition. 16:15:42 abunchofdollarsi: It _has_ not termination condition 16:16:02 Joreji [~thomas@vpn-ho1.unidsl.de] has joined #lisp 16:16:05 if n =1 return 1 else return n * fact n -1 16:16:13 Okasu [~1@unaffiliated/okasu] has joined #lisp 16:16:15 for (int i = 0; i < 0; i++) {do something} 16:16:22 Plainly has a termination condition and is an infinite loop. 16:16:39 yes can be done iterative 16:16:56 (defun foo () (foo))  where is the termination condition there? 16:17:03 Sure that example doesn't. 16:17:13 is suppose the condition to have a meaning, :) 16:17:25 'An infinite loop has no termination condition' implies that no infinite loops have termination conditions; which isn't true. 16:17:49 But more importantly; where does the multiplication of factorial fit into your 3 pieces recursion model. 16:17:55 you apply fol to anything? 16:18:40 ehaliewicz [~user@50-0-51-11.dsl.static.sonic.net] has joined #lisp 16:19:00 abunchofdollarsi: If the termination condition can be proven to never fire (as it would have to be), the entire termination condition can be eliminated by static analysis, and thus doesn't exist from the point of view of mathematics. 16:19:04 -!- nilsi__ [~nilsi@58.209.41.17] has quit [Remote host closed the connection] 16:19:15 "implementation detail" 16:19:26 And it can't always be proven anyways. 16:19:34 yes this is programming in fact, :) 16:19:47 -!- drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has quit [Remote host closed the connection] 16:19:50 abunchofdollarsi: no. Your never-true termination condition is the implementation detail. You're the one who want to dive into CS. 16:19:50 Davidbrcz [~david@88.115.137.88.rev.sfr.net] has joined #lisp 16:19:58 Right. 16:20:05 abunchofdollarsi: If it can't be proven, it's not infinite. 16:20:22 (defun test (x) (if (not (expressable-as-sum-of-two-primes-p x)) nil (test (+ x 2)))) 16:20:24 Does that terminate? 16:20:29 proven to be infinite at run time = infinite ? 16:20:35 compile time* 16:21:02 ggole: You'd have to implement expressable-as-sum-of-two-primes-p first :-) 16:21:16 True, but that's not the essential difficulty at hand. 16:21:22 for (int i = getchar(); i > 0; ++i) {do something} 16:21:27 whoops 16:21:38 ZaFrost [~varren@176.14.46.93] has joined #lisp 16:21:38 for (int i = getchar(); i < 0; ++i) { do something } 16:21:46 if you start with 2*n+1 for any n or not? 16:22:01 Can't be determined at compile time; as exit condition; and can be infinite loop. 16:22:14 s/as/has 16:22:36 abunchofdollarsi: no. You need the exit condition, thus it's not a pure infinite loop 16:22:50 (the file handle may be closed) 16:22:52 What? 16:23:12 Okay so now you are saying 'only pure infinite loops are infinite' 16:23:18 -!- cory786 [~cory@75-22-101-128.lightspeed.dblnoh.sbcglobal.net] has quit [Remote host closed the connection] 16:23:34 abunchofdollarsi: Yes. From the point of view of mathematical analysis, yes. 16:23:37 'infinite loops in impure functions are not infinite' 16:23:43 abunchofdollarsi, if you understand induction you can't have problem with recursion 16:23:45 Which is what you wanted to talk about 16:24:13 Math that agrees with that statement is not useful to this problem then. 16:24:34 rszeno, I understand how to write a recursive function/ 16:24:47 And I also know how to build a table out of 5 pieces of wood. 16:25:04 yes why not? if you know the language you use 16:25:08 Sure. 16:25:40 You are telling me that recursion is calling yourself? 16:26:16 yes 16:26:19 Okay. 16:26:52 So lambda calculus shows how to represent recursive behavior with their lexicon, right? 16:26:58 could be mutual recursions too, using two or more functions 16:27:09 So either their lexicon lets me call myself, or it's not showing me recursion. 16:27:19 yes, fixed point 16:27:21 And if it's letting me call myself; its not showing me anything the code doesn't. 16:27:29 yCrazyEdd [~contracti@wrongplanet/CrazyEddy] has joined #lisp 16:27:31 And if it's doing something else, it's not recursion. 16:27:36 The idea isn't limited to function calls. Types can also recurse. 16:28:01 'The type is defined in terms of itself' 16:28:04 -!- Kabaka [~Kabaka@botters/kabaka] has quit [Remote host closed the connection] 16:28:21 -!- sid_cypher [sid@s0.barwen.ch] has quit [Ping timeout: 248 seconds] 16:28:25 true, function in general, types too 16:28:32 Which only works because the compilers themselves are using a sufficiently strong type system to figure out what is happening. 16:28:56 sid_cypher [sid@s0.barwen.ch] has joined #lisp 16:29:40 drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has joined #lisp 16:29:56 -!- yCrazyEdd is now known as CrazyEddy 16:30:01 -!- Devi777 [~Devi777@c-8f3ae353.024-10-73746f12.cust.bredbandsbolaget.se] has quit [Remote host closed the connection] 16:30:04 The way we 'use' recursion, is not what recursion 'is'. 16:30:06 You don't need a type system to implement a compiler with a type system, if that's what you are getting at. 16:30:12 Well that's my question at any rate. 16:30:23 No. 16:31:13 So, what is your question? :) 16:31:18 What is recursion? 16:31:44 I think abunchofdollarsi is the one stuck in an infinite loop 16:32:10 Procedural or declarative recursion? 16:32:16 Sounds like you think I should be terminated. 16:32:26 abunchofdollarsi: No. 16:32:32 Zhivago, explain the difference. 16:32:53 abunchofdollars, why do you want to have an answer? what you do with it? 16:33:20 Well, procedural recursion is where a procedure proceeds over itself -- step by step. 16:33:33 That sounds like what recursion looks like. 16:33:35 So a procedural loop is recursive, for example. 16:33:54 rszeno, hold it close. 16:34:31 Declarative recursion is where a parameterized entity is defined in terms of something including itself, with perhaps the parameter changed. 16:34:54 I think that conflating the two might be what is causing the problems in the above discussion. 16:35:10 -!- xani [~user@178.183.140.9.dsl.dynamic.t-mobile.pl] has quit [Remote host closed the connection] 16:37:41 fikusz [~fikusz@catv-89-132-137-62.catv.broadband.hu] has joined #lisp 16:38:34 What do parameters have to do with it? 16:38:45 -!- Munksgaard [~philip@shop3.diku.dk] has quit [Ping timeout: 245 seconds] 16:39:11 Well, without a parameter you cannot have convergance. 16:39:29 -!- lyanchih [~lyanchih@114-34-99-241.HINET-IP.hinet.net] has quit [Quit: lyanchih] 16:39:41 And you can always simulate that with a constant parameter. 16:39:45 Take nat = Z | S nat: there are no arguments to nat 16:40:54 If I asked you what green was, you wouldn't tell me it's what we paint the grass with. 16:40:59 -!- Joreji [~thomas@vpn-ho1.unidsl.de] has quit [Ping timeout: 248 seconds] 16:41:53 -!- matko [~matko@ip82-139-127-72.lijbrandt.net] has quit [Remote host closed the connection] 16:42:25 It's a bit hard to know how to answer. Do you want an definition within some formal system, maybe set theory? 16:42:36 Maybe? What does that sound like. 16:42:40 (You'd have to ask somebody who knew more about set theory for that, though.) 16:43:25 Are there other things like recursion? 16:43:39 Does it have a phylum. 16:44:20 fractals, :) 16:44:26 maybe 16:44:57 Kabaka [~Kabaka@botters/kabaka] has joined #lisp 16:44:58 drl: Thanks! 16:45:35 drl: CLIM3 and its implementation CLIMatis are well on the way. Available on GitHub. 16:47:14 That is good news! I'll check it out. 16:47:23 drl: They are not finished though. 16:47:40 I still have to decide how to adapt presentations and presentation types to CLIM3. 16:47:49 loke`, https://gist.github.com/burrows-labs/7071205 16:47:58 But the low-level layer is pretty much done. 16:48:21 So essentially I can get something lambda calculus likes if I split my recursion into two functions and have both functions take both functions as parameters. 16:49:17 this is mutual recursion 16:50:22 Yes. 16:50:40 What is the y combinator doing that that isnt doing? 16:50:40 I'm moving source files from my CL application under an src/ subdirectory, what's the best way to reflect that change in the .asd file? 16:51:29 1. it take any function as argument and 2. produce a function 16:51:56 Y combinator essentially seems to work by inducing mutual recursion. 16:52:03 But with name hackery. 16:52:04 -!- ARRRRk is now known as rk[sun] 16:52:05 -!- Corvidium [~cosman246@c-24-143-118-11.customer.broadstripe.net] has quit [Ping timeout: 245 seconds] 16:52:16 yes 16:52:26 Actually it's the y-combinator that doesn't need names to work. 16:52:30 dim: Under :componentes, move the list to something like this: (:components ((:module "src" :components ((:file ..))))) 16:52:52 That's kind of the point (it's a combinator, after all). 16:52:58 But essentially I have to do the name hackery first; and then y combinator will work. 16:53:01 bgs100 [~nitrogen@unaffiliated/bgs100] has joined #lisp 16:53:34 It's not that the y combinator doesn't need names; its that it doesn't understand them so I have to do hand waving. 16:53:38 No. Names are entirely unnecessary. Abstraction (in the lambda calculus sense) is all you need. 16:53:43 yeah thanks loke` 16:53:56 Well names lead to cleaner code. 16:54:05 Sure. 16:54:16 names create confusions, :) 16:54:18 But they aren't computationally necessary. 16:54:29 In the lambda calculus system. 16:54:57 no, in general 16:55:08 I don't know what general computation is. 16:55:35 imo, most of the problems in programmings is about scope and protecting names 16:55:44 Of course once you show that a turing complete system doesn't need names, 'You don't _need_ names'. 16:55:54 And typos. 16:56:25 Programming is semantic bookkeeping. 16:56:42 -!- cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has quit [Ping timeout: 256 seconds] 16:58:22 if you want to reduce things to other things you will end with formal systems and rewriting, :) 17:00:00 -!- Okasu [~1@unaffiliated/okasu] has quit [Quit: leaving] 17:01:41 eudoxia [~eudoxia@r186-52-149-216.dialup.adsl.anteldata.net.uy] has joined #lisp 17:03:07 Beach, Looks good! How long until we can download clim3 using quicklisp? 17:04:15 -!- hitecnologys [~hitecnolo@109.120.54.126] has quit [Quit: hitecnologys] 17:05:08 -!- Shinmera [~linus@xdsl-188-155-176-171.adslplus.ch] has quit [Ping timeout: 240 seconds] 17:05:33 Shinmera [~linus@xdsl-188-155-176-171.adslplus.ch] has joined #lisp 17:05:33 -!- Shinmera [~linus@xdsl-188-155-176-171.adslplus.ch] has quit [Client Quit] 17:06:15 maxter [~maxter@gaffeless.chaperon.volia.net] has joined #lisp 17:06:31 -!- namtsui [~user@c-76-21-124-173.hsd1.ca.comcast.net] has quit [Ping timeout: 272 seconds] 17:08:20 meiji11 [~user@75.158.41.148] has joined #lisp 17:12:02 ck`` [~ck@dslb-094-219-251-096.pools.arcor-ip.net] has joined #lisp 17:12:43 Shinmera [~linus@xdsl-188-155-176-171.adslplus.ch] has joined #lisp 17:15:38 gmcastil [~user@75-145-122-2-Colorado.hfc.comcastbusiness.net] has joined #lisp 17:18:29 seg [~seg@fsf/member/seg] has joined #lisp 17:22:19 STilda [~STilda@188.162.167.38] has joined #lisp 17:23:54 -!- STilda2 [~STilda@188.162.167.38] has quit [Ping timeout: 256 seconds] 17:24:15 -!- eudoxia [~eudoxia@r186-52-149-216.dialup.adsl.anteldata.net.uy] has quit [Quit: Leaving] 17:26:13 -!- milosn [~milosn@user-5af509ea.broadband.tesco.net] has quit [Ping timeout: 246 seconds] 17:26:54 -!- angavrilov [~angavrilo@217.71.227.190] has quit [Remote host closed the connection] 17:28:49 -!- [JRG] [c209f2f0@gateway/web/freenode/ip.194.9.242.240] has quit [Ping timeout: 250 seconds] 17:31:51 -!- luke_ [~luke@178.120.129.175] has quit [Ping timeout: 272 seconds] 17:32:07 STilda2 [~STilda@188.162.167.38] has joined #lisp 17:33:15 -!- STilda [~STilda@188.162.167.38] has quit [Ping timeout: 248 seconds] 17:35:33 MoHaX [~luke@178.120.55.115] has joined #lisp 17:39:07 nug700 [~nug700@209-181-102-38.phnx.qwest.net] has joined #lisp 17:39:55 STilda [~STilda@188.162.167.38] has joined #lisp 17:40:53 -!- STilda2 [~STilda@188.162.167.38] has quit [Ping timeout: 248 seconds] 17:42:59 luke_ [~BSD@178.120.55.115] has joined #lisp 17:43:25 -!- MoHaX [~luke@178.120.55.115] has quit [Quit: Leaving] 17:43:48 kliph [~user@unaffiliated/kliph] has joined #lisp 17:44:17 milosn [~milosn@user-5af50904.broadband.tesco.net] has joined #lisp 17:44:20 didi [~user@unaffiliated/didi/x-1022147] has joined #lisp 17:44:23 -!- chris_l [~quassel@p57A5CD0B.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 17:44:36 -!- Karl_dscc [~localhost@p5DD9D614.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 17:44:53 -!- gmcastil [~user@75-145-122-2-Colorado.hfc.comcastbusiness.net] has quit [Ping timeout: 272 seconds] 17:46:22 -!- lduros [~user@fsf/member/lduros] has quit [Remote host closed the connection] 17:46:23 yroeht [~yroeht@horgix.fr] has joined #lisp 17:49:00 drl: Well, I am in a long period of work on other things, so it is not making progress right now, but maybe the work of mathrick will change that. 17:49:46 STilda2 [~STilda@188.162.167.38] has joined #lisp 17:49:58 -!- beach [~user@ABordeaux-651-1-66-80.w90-55.abo.wanadoo.fr] has left #lisp 17:50:10 Corvidium [~cosman246@D-173-250-187-210.dhcp4.washington.edu] has joined #lisp 17:50:46 hopefully 17:50:51 -!- STilda [~STilda@188.162.167.38] has quit [Ping timeout: 248 seconds] 17:51:03 -!- Patzy [~something@lns-bzn-51f-81-56-151-137.adsl.proxad.net] has quit [Read error: Operation timed out] 17:51:50 Patzy [~something@lns-bzn-51f-81-56-151-137.adsl.proxad.net] has joined #lisp 17:51:55 Mon_Ouie [~Mon_Ouie@subtle/user/MonOuie] has joined #lisp 17:55:28 STilda [~STilda@188.162.167.38] has joined #lisp 17:57:27 -!- STilda2 [~STilda@188.162.167.38] has quit [Ping timeout: 272 seconds] 18:00:21 -!- didi [~user@unaffiliated/didi/x-1022147] has quit [Ping timeout: 272 seconds] 18:00:49 -!- Kabaka [~Kabaka@botters/kabaka] has quit [Ping timeout: 240 seconds] 18:00:58 gabnet [~gabnet@ACaen-652-1-246-31.w90-17.abo.wanadoo.fr] has joined #lisp 18:01:32 STilda2 [~STilda@188.162.167.38] has joined #lisp 18:01:34 -!- ggole [~ggole@106-68-53-165.dyn.iinet.net.au] has quit [] 18:02:04 -!- STilda [~STilda@188.162.167.38] has quit [Ping timeout: 240 seconds] 18:06:09 Kabaka [~Kabaka@botters/kabaka] has joined #lisp 18:06:55 STilda [~STilda@188.162.167.38] has joined #lisp 18:08:05 -!- STilda2 [~STilda@188.162.167.38] has quit [Ping timeout: 248 seconds] 18:09:49 abunchofdollarsi: For more about recursion and self reference, you could read "I am a Strange Loop" from Hofstadter. (Same author as "Gödel, Escher, Bach: An Eternal Golden Braid", the most important book of the XX century). 18:10:00 jrghiglia [~user@dynamic-adsl-94-34-136-79.clienti.tiscali.it] has joined #lisp 18:10:13 Thanks. 18:11:07 cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has joined #lisp 18:14:42 sellout- [~Adium@c-98-245-81-139.hsd1.co.comcast.net] has joined #lisp 18:15:55 -!- luke_ [~BSD@178.120.55.115] has quit [Ping timeout: 272 seconds] 18:16:36 oudeis [~oudeis@62.18.167.169] has joined #lisp 18:16:59 Munksgaard [~philip@80-71-132-106.u.parknet.dk] has joined #lisp 18:19:01 _5kg [~zifeitong@60.191.2.238] has joined #lisp 18:21:01 daat418 [~daat@131.106.110.176] has joined #lisp 18:21:27 -!- arnas [arnsa@78-63-18-208.static.zebra.lt] has quit [] 18:21:54 luke_ [~BSD@178.120.206.13] has joined #lisp 18:25:35 boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has joined #lisp 18:26:43 STilda2 [~STilda@188.162.167.38] has joined #lisp 18:28:19 -!- STilda [~STilda@188.162.167.38] has quit [Ping timeout: 265 seconds] 18:29:33 NihilistDandy [~ND@c-24-147-92-50.hsd1.vt.comcast.net] has joined #lisp 18:30:17 MoALTz__ [~no@host86-142-120-246.range86-142.btcentralplus.com] has joined #lisp 18:32:37 -!- seg [~seg@fsf/member/seg] has quit [Ping timeout: 248 seconds] 18:33:27 -!- MoALTz_ [~no@host86-142-120-246.range86-142.btcentralplus.com] has quit [Ping timeout: 252 seconds] 18:36:54 STilda [~STilda@188.162.167.38] has joined #lisp 18:37:37 -!- STilda [~STilda@188.162.167.38] has quit [Read error: Connection reset by peer] 18:38:08 -!- STilda2 [~STilda@188.162.167.38] has quit [Ping timeout: 256 seconds] 18:41:24 -!- MoALTz__ [~no@host86-142-120-246.range86-142.btcentralplus.com] has quit [Quit: brb] 18:41:42 MoALTz [~no@host86-142-120-246.range86-142.btcentralplus.com] has joined #lisp 18:42:06 -!- arenz [~arenz@HSI-KBW-109-193-252-079.hsi7.kabel-badenwuerttemberg.de] has quit [Ping timeout: 256 seconds] 18:42:37 dat recursion https://gist.github.com/burrows-labs/7073504 18:46:19 -!- Codynyx [~cody@c-75-72-187-16.hsd1.mn.comcast.net] has quit [Ping timeout: 272 seconds] 18:46:31 -!- dtw [~dtw@pdpc/supporter/active/dtw] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 18:47:20 Codynyx [~cody@c-75-72-187-16.hsd1.mn.comcast.net] has joined #lisp 18:48:46 -!- Davidbrcz [~david@88.115.137.88.rev.sfr.net] has quit [Quit: Leaving] 18:49:23 -!- Sagane_ [~Sagane@177.100-226-89.dsl.completel.net] has quit [Ping timeout: 272 seconds] 18:49:49 Davidbrcz [~david@88.115.137.88.rev.sfr.net] has joined #lisp 18:51:20 abunchofdollarsi: the y-combinator does something very important for recursion. 18:51:41 Tell more. 18:51:46 You see, in lambda calculus, the functions don't have names. They're all _anonymous_. 18:51:56 Yes. 18:52:18 But to be able to call a function you either need to build it with lambda, or have it passed as parameter. 18:52:30 Yes. 18:52:35 Passing a parameter is giving a name to that argument. 18:52:49 And to call oneself, one has to have a name. 18:53:19 This is what the y-combinator does. It gives a name to a specific function by passing this function as argument to itself. 18:53:35 IMO, that's hand waving away function names to make "recursion" work with function application of one argument functions. 18:53:41 It's just recursion with additional constraints. 18:53:44 Doesn't tell me what recursion is. 18:53:54 It's not the number of arguments. 18:54:00 Well that's part of it. 18:54:04 Because they all only take one arg. 18:54:09 But yes the naming is the main point. 18:54:44 "This is what recursion looks like in a weaker type system" 18:54:51 (defun y (fun) (lambda (x) (funcall fun fun x))) (funcall (y (lambda (myself x) (if (zerop x) 1 (* x (funcall myself myself (1- x)))))) 4) 18:55:19 Well, we're talking about untyped lambda calculus. 18:55:38 But more importantly, what lambda calculus exposes, is the naming, the difference between mathematical objects and their names. 18:55:46 nydel [nydel@gateway/shell/blinkenshell.org/x-xmoeppsguplsvxcg] has joined #lisp 18:55:53 That's interesting. 18:56:27 This impacts quite strongly lisp, with the introduction of symbols. In no other language are identifiers first class objects. (Even in lambda calculus, they are not). 18:56:40 It doesn't show you the difference it just shows you the difference is there.. 18:56:41 I think. 18:57:07 Because it's still unclear what the 'math thing' is. 18:57:07 Again, have a look at "I am a Strange Loop". 18:57:10 Okay. 18:57:36 But indeed, you could dig deeper from the mathematical point of view. 18:57:59 It's the same problem that we find in set theory, with the set of all sets. 18:58:12 m7w [~chatzilla@178.172.214.126] has joined #lisp 18:58:14 When we give this definition in English, we use symbols that name the thing that we are definining. 18:58:19 This leads to paradoxes. 18:58:58 Lambda calculus avoid paradoxes, because you cannot name the thing that you are defining while you are defining it, since the only way to define an object in lambda calculus is anonymously. 18:59:07 Are we trying to figure out how to say it, or why we can't say it without paradoxes? 18:59:19 Then we use the y combinator to give a name to the thing that we just created. 18:59:33 Similarly, you may have fun trying to implement a circular list in lambda calculus. 18:59:33 Ohh that's cool. 19:00:47 The YC creates a name through stable function generation? 19:00:54 Names are stable. 19:03:12 -!- mathrick [~mathrick@85.218.134.11] has quit [Quit: Leaving] 19:04:04 mathrick [~mathrick@94.144.63.82] has joined #lisp 19:04:38 If you mean that they "always" refer to the same thing, yes. 19:05:07 -!- oudeis [~oudeis@62.18.167.169] has quit [Quit: This computer has gone to sleep] 19:05:54 -!- ezakimak [~nick@72.250.219.55] has quit [Ping timeout: 252 seconds] 19:07:30 -!- ck`` [~ck@dslb-094-219-251-096.pools.arcor-ip.net] has quit [Ping timeout: 245 seconds] 19:07:31 But in (fg.g(f(xy.x))f(xy.y))(z.z) f names z.z and z names either xy.x or xy.y depending where f is applied. 19:08:29 Denommus [~user@unaffiliated/denommus] has joined #lisp 19:08:34 hi 19:09:29 There's no ambiguity however, because you can substitute and applying the rules, -substitutde z by z1 and z2: (g.g((z1.z1)(xy.x))(z2.z2)(xy.y)) so you can see that indeed, z1 always names (xy.x) and z2 always names (xy.y). 19:10:13 desophos [~desophos@n163h85.dhcp.oxy.edu] has joined #lisp 19:10:34 In layman terms, there's no assignment in lambda calculus, it's a purely functional language :-) 19:12:33 When you say 'f names /lz.z'; that means f is the same thing as /lz.z? 19:18:57 eudoxia [~eudoxia@r190-135-20-15.dialup.adsl.anteldata.net.uy] has joined #lisp 19:19:25 Yes. It means you can substitute z.z for any occurence of f in that scope. http://en.wikipedia.org/wiki/Lambda_calculus#.CE.B1-conversion 19:19:57 -!- gabnet [~gabnet@ACaen-652-1-246-31.w90-17.abo.wanadoo.fr] has quit [Quit: Leaving.] 19:20:03 It's the -reduction. 19:20:15 lduros [~user@fsf/member/lduros] has joined #lisp 19:21:23 Computation is actually this reduction, this substitution of names by what they name, (followed by a simplification to let us understand the result :-)). 19:21:56 updated my Allgero5 game library bindings: https://github.com/resttime/cl-liballegro 19:22:17 supports passing the allegro color structure by value with cffi-libffi 19:23:01 and suddenly, live programming is a new thing 19:23:13 though i should reimplement the structure into lisp 19:23:14 I wish people noticed that all the "trendy" things are already in Lisp 19:23:24 to remove dependency n libffi stuff 19:24:44 live programming eh? 19:24:51 first thing that comes to mind is Overtone 19:24:57 jtza8 [~jtza8@105-236-65-220.access.mtnbusiness.co.za] has joined #lisp 19:25:57 or, you know, SLIME and swank 19:26:51 -!- ZaFrost [~varren@176.14.46.93] has quit [Ping timeout: 272 seconds] 19:27:28 true, though live programming seems to have a musical context when i see someone mention it 19:27:51 at least for me 19:28:24 maybe you use live programming naturally and don't notice it 19:29:57 lmj` [~lmj`@c-71-234-75-161.hsd1.ct.comcast.net] has joined #lisp 19:29:58 well it's kind of associated with the demoscene, isn't it? performance art sorta stuff 19:30:02 Live programming always carries a connotation of some kind of "product" other than code execution. GUIs, music, whatever 19:30:31 I don't know 19:30:48 I think having a running image and compiling code into this image can be seen as live programming 19:30:56 which is what lispers do in SLIME anyway 19:31:16 you could do it in live programming but i think there's a performance element. 19:31:31 NihilistDandy: it does? 19:31:40 I meant to say "for me" 19:31:45 But forgot to actually type those words 19:31:49 -!- nha [~prefect@koln-5d814e52.pool.mediaWays.net] has quit [Ping timeout: 272 seconds] 19:31:55 also, most programs have some kind of i/o, so 19:32:30 Can asdf's compile-op, load-op, prepare-op be relied upon? It looks like some behavior is not right, or at least unexpected. https://gist.github.com/lmj/7af84c9e3f23e2aa746d 19:34:16 The general issue here is whether to do feature-checking by executing code at compile/load time, or to check a library version with prepare-op or whatnot. 19:34:35 There are pros and cons in either case. 19:35:13 what's not expected in that? 19:35:25 -!- lduros [~user@fsf/member/lduros] has quit [Read error: Connection reset by peer] 19:35:53 Bike: compile-op :before is called after compilation; maybe there is some explanation that makes sense. 19:36:55 In any case I'd probably use prepare-op, but I'm uneasy since I apparently don't understand compile-op. 19:37:35 if one would create a lisp OS nowadays, would he use a single image and process with multiple threads, or multiple separated processes and images? 19:37:52 ltbarcly [~textual@pool-71-116-67-9.snfcca.dsl-w.verizon.net] has joined #lisp 19:38:31 lmj`: oh, i see... yeah, that seems wrong, the manual doesn't say anything about prepare-op compiling the system itself. 19:39:29 lmj`: what exactly did you call for the result? 19:40:00 Bike: just (asdf:load-system "foo") 19:40:09 after cleaning fasls 19:41:02 hm. strange. 19:41:22 Feature-checking by executing code always works, is independent of asdf, but does extra stuff (consing, etc) that may be unexpected. On the other hand, checking versions with asdf (obviously) makes things asdf-dependent, is seemingly more fragile, but does not fancy/surprising stuff during load or compile. 19:43:28 Bike: I only pasted the tail-end after compile/load of trivial-garbage. (I just chose some project to have a dependency.) 19:44:48 didi [~user@unaffiliated/didi/x-1022147] has joined #lisp 19:50:11 -!- uzo1 [~uzo@adsl-108-73-162-131.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 272 seconds] 19:50:54 mtd [~martin@ops-13.xades.com] has joined #lisp 19:54:46 prepare-op was only introduced at the end of last year, so that's a reason to avoid it. 19:55:37 it seems like prepare-op ought to just cause a load-op on trivial-garbage, that it does more seems weird/possibly buggy 19:55:55 It looks like depending upon as little as possible from ASDF is the way to go. 19:56:24 -!- danlentz [~danlentz@c-68-37-70-235.hsd1.nj.comcast.net] has quit [Remote host closed the connection] 19:57:29 sohail [~sohail@69-196-176-62.dsl.teksavvy.com] has joined #lisp 19:57:29 -!- sohail [~sohail@69-196-176-62.dsl.teksavvy.com] has quit [Changing host] 19:57:29 sohail [~sohail@unaffiliated/sohail] has joined #lisp 19:58:13 -!- sellout- [~Adium@c-98-245-81-139.hsd1.co.comcast.net] has quit [Quit: Leaving.] 19:58:39 -!- gravicappa [~gravicapp@ppp91-77-172-99.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 19:59:49 -!- yacks [~py@103.6.159.103] has quit [Quit: Leaving] 20:00:27 -!- didi [~user@unaffiliated/didi/x-1022147] has quit [Ping timeout: 248 seconds] 20:00:55 -!- drmeister [~drmeister@pool-173-59-25-58.phlapa.fios.verizon.net] has quit [Remote host closed the connection] 20:00:57 seg [~seg@fsf/member/seg] has joined #lisp 20:01:03 -!- klltkr [~klltkr@unaffiliated/klltkr] has quit [Ping timeout: 272 seconds] 20:05:54 yacks [~py@103.6.159.103] has joined #lisp 20:06:24 -!- ltbarcly [~textual@pool-71-116-67-9.snfcca.dsl-w.verizon.net] has quit [Quit: Computer has gone to sleep.] 20:06:58 -!- eudoxia [~eudoxia@r190-135-20-15.dialup.adsl.anteldata.net.uy] has quit [Remote host closed the connection] 20:08:44 -!- kbtr [~kbtr@li198-73.members.linode.com] has quit [Quit: leaving] 20:09:03 kbtr [~kbtr@li198-73.members.linode.com] has joined #lisp 20:09:42 -!- maxter [~maxter@gaffeless.chaperon.volia.net] has quit [Quit: Konversation terminated!] 20:13:00 maxter [~maxter@gaffeless.chaperon.volia.net] has joined #lisp 20:13:10 _anna [~wde@79.103.146.153.dsl.dyn.forthnet.gr] has joined #lisp 20:13:18 -!- sohail [~sohail@unaffiliated/sohail] has quit [Quit: This computer has gone to sleep] 20:18:05 pjb: http://dslab.epfl.ch/pubs/revnic <-- this is a newer paper from the reveng people I linked earlier 20:18:09 sohail [~sohail@unaffiliated/sohail] has joined #lisp 20:18:56 I believe they automated it and expanded the coverage of what can be extracted at the price of some loss in generality for each instance of the tool 20:19:46 zickzackv [~faot@p4FC97744.dip0.t-ipconnect.de] has joined #lisp 20:21:18 -!- boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has quit [Remote host closed the connection] 20:21:37 sellout- [~Adium@c-98-245-81-139.hsd1.co.comcast.net] has joined #lisp 20:24:31 -!- zacharias [~aw@unaffiliated/zacharias] has quit [Quit: Bye!] 20:26:56 -!- Corvidium [~cosman246@D-173-250-187-210.dhcp4.washington.edu] has quit [Ping timeout: 256 seconds] 20:31:46 mathrick: btw I'm curious, is there a specific reason why you want to base your port on Hemlock instead of Portable Hemlock? 20:32:14 Karl_dscc [~localhost@p5DD9D614.dip0.t-ipconnect.de] has joined #lisp 20:32:48 lduros [~user@fsf/member/lduros] has joined #lisp 20:33:47 -!- lmj` [~lmj`@c-71-234-75-161.hsd1.ct.comcast.net] has quit [Quit: Lost terminal] 20:33:59 -!- ehaliewicz [~user@50-0-51-11.dsl.static.sonic.net] has quit [Ping timeout: 272 seconds] 20:34:17 namtsui [~user@c-76-21-124-173.hsd1.ca.comcast.net] has joined #lisp 20:34:47 -!- Denommus [~user@unaffiliated/denommus] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 20:35:00 -!- rszeno [~rszeno@79.114.103.222] has quit [Quit: Leaving.] 20:35:49 -!- sirdancealot [~sirdancea@194.228.11.188] has quit [Ping timeout: 248 seconds] 20:40:47 -!- motiondude [~motionman@unaffiliated/motionman] has quit [Quit: tschüß] 20:41:16 -!- zickzackv [~faot@p4FC97744.dip0.t-ipconnect.de] has quit [Ping timeout: 264 seconds] 20:42:10 didi [~user@unaffiliated/didi/x-1022147] has joined #lisp 20:46:44 kpreid_ [~kpreid@50-196-148-102-static.hfc.comcastbusiness.net] has joined #lisp 20:46:48 -!- kpreid [~kpreid@50-196-148-101-static.hfc.comcastbusiness.net] has quit [Ping timeout: 240 seconds] 20:46:48 -!- kpreid_ is now known as kpreid 20:47:20 segv- [~mb@95-91-243-165-dynip.superkabel.de] has joined #lisp 20:48:05 -!- Munksgaard [~philip@80-71-132-106.u.parknet.dk] has quit [Read error: Operation timed out] 20:53:18 k0001 [~k0001@host184.190-136-197.telecom.net.ar] has joined #lisp 20:53:25 mathrick: thanks. 20:55:18 oudeis [~oudeis@62.18.177.79] has joined #lisp 20:55:46 -!- desophos [~desophos@n163h85.dhcp.oxy.edu] has quit [Remote host closed the connection] 20:57:11 PuercoPop: wha? I never mentioned hemlock specifically that I can recall 20:57:51 Munksgaard [~philip@80-71-132-106.u.parknet.dk] has joined #lisp 21:00:50 -!- Patzy [~something@lns-bzn-51f-81-56-151-137.adsl.proxad.net] has quit [Remote host closed the connection] 21:00:57 Patzy [~something@lns-bzn-51f-81-56-151-137.adsl.proxad.net] has joined #lisp 21:01:07 -!- oudeis [~oudeis@62.18.177.79] has quit [Ping timeout: 272 seconds] 21:04:07 -!- Nuupi [~IceChat9@dsl-vntbrasgw1-50dc6e-235.dhcp.inet.fi] has quit [Quit: On the other hand, you have different fingers.] 21:04:26 desophos [~desophos@n163h87.dhcp.oxy.edu] has joined #lisp 21:06:05 -!- segv- [~mb@95-91-243-165-dynip.superkabel.de] has quit [Remote host closed the connection] 21:09:25 -!- desophos [~desophos@n163h87.dhcp.oxy.edu] has quit [Read error: Operation timed out] 21:10:50 -!- sohail [~sohail@unaffiliated/sohail] has quit [Quit: This computer has gone to sleep] 21:12:27 -!- Davidbrcz [~david@88.115.137.88.rev.sfr.net] has quit [Ping timeout: 248 seconds] 21:15:03 -!- kcj [~casey@unaffiliated/kcj] has quit [Read error: Operation timed out] 21:17:10 mathrick: hmm you are right. I might have imagined Hemlock there because I was trying to get it running earlier today 21:18:41 -!- prxq__ [~mommer@x2f6d01c.dyn.telefonica.de] has quit [Quit: Leaving] 21:18:41 -!- cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has quit [Read error: Connection reset by peer] 21:19:29 cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has joined #lisp 21:19:57 Devi777 [~Devi777@c-8f3ae353.024-10-73746f12.cust.bredbandsbolaget.se] has joined #lisp 21:21:15 PuercoPop: aye, I looked at hemlock at a high level to see what it supported, but that's it. I'm not planning on using any code from it, and it was not a particularly good emacs either way 21:21:42 -!- Shinmera [~linus@xdsl-188-155-176-171.adslplus.ch] has quit [Quit: brb] 21:22:00 Shinmera [~linus@xdsl-188-155-176-171.adslplus.ch] has joined #lisp 21:22:35 -!- alezost [~user@128-70-199-112.broadband.corbina.ru] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 21:24:53 -!- maxter [~maxter@gaffeless.chaperon.volia.net] has quit [Quit: Konversation terminated!] 21:25:50 -!- kiuma [~kiuma@2-230-138-74.ip202.fastwebnet.it] has quit [Ping timeout: 245 seconds] 21:26:10 mathrick: Emacs is not a good emacs (btw I think people say emacsen to avoid the confusion). But then I again I'm left wondering "Ok so callbacks and presentation as properties of strings doesn't seem like a good idea, but where would I put them if not". 21:26:50 emacsen is plural though 21:27:11 PuercoPop: I already have a base for Climacs though, it's called Climacs :)\ 21:27:52 Corvidium [~cosman246@c-24-143-118-11.customer.broadstripe.net] has joined #lisp 21:28:29 boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has joined #lisp 21:29:00 also beach has done interesting work on the buffer data structures, which makes it better than both (P)Hemlock and Goatee 21:30:24 *PuercoPop* nods 21:30:52 I think P Hemlock used a double linked lists of lines for a buffer 21:31:29 ericmathison [~ericmathi@172-15-249-133.lightspeed.irvnca.sbcglobal.net] has joined #lisp 21:31:36 apparently SBCL doesn't support --compress-core on osx, is there some chance to see that happening or should I script around that? 21:33:55 I'm gonna have to install cvs to checkout Climacs out apparently 21:35:08 -!- k0001 [~k0001@host184.190-136-197.telecom.net.ar] has quit [Ping timeout: 240 seconds] 21:35:12 PuercoPop: I made a quick & dirty git repo, though if you just want to poke it, quicklisp has it 21:35:24 -!- jrghiglia [~user@dynamic-adsl-94-34-136-79.clienti.tiscali.it] has quit [Read error: Connection reset by peer] 21:35:51 thanks for the tip 21:36:41 -!- ericmathison [~ericmathi@172-15-249-133.lightspeed.irvnca.sbcglobal.net] has quit [Ping timeout: 272 seconds] 21:38:02 -!- puchacz [~puchacz@46-65-36-47.zone16.bethere.co.uk] has quit [Quit: Konversation terminated!] 21:38:24 hmm I'm getting the same error that with hemlock something about a name-service-error unknown host 21:38:45 igotnolegs- [~igotnoleg@67-2-121-41.slkc.qwest.net] has joined #lisp 21:39:35 -!- Munksgaard [~philip@80-71-132-106.u.parknet.dk] has quit [Ping timeout: 245 seconds] 21:39:44 -!- boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has quit [Remote host closed the connection] 21:42:11 -!- fourier [~fourier@fsf/member/fourier] has quit [Read error: Connection reset by peer] 21:42:21 PuercoPop: paste the exact error? 21:42:25 fourier [~fourier@fsf/member/fourier] has joined #lisp 21:43:02 dim: how does that work anyway? It's not documented anywhere, and only listed in buildapp with no specifics given 21:43:25 well I just don't know 21:45:09 jrghiglia [~user@dynamic-adsl-94-34-136-79.clienti.tiscali.it] has joined #lisp 21:45:22 what I know is that the resulting image is like 20MB rather than 100MB where I've tried it, and the resulting image just work 21:45:26 -!- Stendhal [~Deep@cri75-4-78-192-205-120.fbxo.proxad.net] has quit [] 21:46:02 -!- Shinmera [~linus@xdsl-188-155-176-171.adslplus.ch] has quit [Quit: leaving] 21:46:03 sure: http://paste.lisp.org/display/139549 21:46:44 -!- axion [~axion@btnund-ai01-74-214-214-174.utma.com] has quit [Ping timeout: 272 seconds] 21:48:24 (declare (ignorable ...)) --- thanks again CL! 21:49:17 ezakimak [~nick@72.250.219.55] has joined #lisp 21:49:25 -!- CrazyEddy [~contracti@wrongplanet/CrazyEddy] has quit [Ping timeout: 248 seconds] 21:49:40 PuercoPop: hmm, tried it in SLIME? If so, what hostname is it trying to look up? 21:50:27 boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has joined #lisp 21:50:29 I tried it outside of slime, just on sbcl on the tty 21:51:15 ehaliewicz [~user@50-0-51-11.dsl.static.sonic.net] has joined #lisp 21:51:47 ok added the slime backtrace now 21:52:14 sirdancealo2 [~sirdancea@194.228.11.188] has joined #lisp 21:52:32 it appears to be when executing (process-name "Climacs") 21:53:29 Natch [~Natch@c-cdcee155.25-4-64736c10.cust.bredbandsbolaget.se] has joined #lisp 21:56:43 -!- didi [~user@unaffiliated/didi/x-1022147] has quit [Ping timeout: 248 seconds] 21:58:06 PuercoPop: well, NIL is not a very good hostname, so that's not surprising, the question is where it's gettting NIL and why. Can you step through PROCESS-NAME 21:58:40 k0001 [~k0001@host184.190-136-197.telecom.net.ar] has joined #lisp 21:59:53 mathrick: I am not an expert slime user, how do I do that? 22:00:27 -!- mishoo [~mishoo@93.113.190.121] has quit [Ping timeout: 248 seconds] 22:00:56 axion [~axion@btnund-ai01-74-214-214-174.utma.com] has joined #lisp 22:01:20 PuercoPop: ah wait, I was looking at the wrong part, the stacktrace has more info 22:01:39 (SB-BSD-SOCKETS:GET-HOST-BY-NAME "tmp/launch-QIUM5S/org.macosforge.xquartz") 22:01:42 this is the problem 22:02:11 it's mismanaging the X server stuff it seems 22:02:22 I have absolutely no idea if CLX works on OSX, sorry 22:02:43 just to make sure, you do have the X server installed, right? 22:03:42 it seems to me that it should be /tmp/ and it's somehow making it a relative pathname instead, but I'm not entirely sure 22:03:45 -!- hiroakip [~hiroaki@77-23-26-6-dynip.superkabel.de] has quit [Ping timeout: 245 seconds] 22:03:54 mathrick: yeah. (as much as the Quartz Suck) 22:04:31 PuercoPop: while you have it in the debugger, can you try ls /tmp/launch-QIUM5S/org.macosforge.xquartz ? 22:04:36 does that file exist? 22:04:51 or whatever filename it errored on in case you've restarted it already 22:05:18 ahh, no the one that exists has a :0 22:05:26 ah 22:05:28 for the display: /tmp/launch-QIUM5S/org.macosforge.xquartz:0 22:05:34 yeah, that'd be why 22:05:47 it's probably trying to split it into a host:port pair 22:05:53 which is not how it works on OSX apparently 22:06:38 I'm clueless about CLX on OSX, as I said, and I can't really assist you much with that, other than general debugging / stepping tips 22:07:11 PuercoPop: navigate on the frame in the stacktrace you want to be able to step, then press V to see the source 22:07:23 -!- seg [~seg@fsf/member/seg] has quit [Ping timeout: 248 seconds] 22:07:26 C-u C-c C-c to recompile it with maximum debugging enabled 22:07:36 then try again 22:07:51 v should now show you the precise source line you're in 22:08:02 (rather than just the entire defun) 22:08:33 s and n step, though that part is honestly pretty shaky and fails rather often in my experience 22:08:55 stepping won't do much when you've received an error, though, so you need to TRACE it first 22:09:58 (trace CLIM-CLX::INITIALIZE-CLX :break t) should do 22:10:14 then you'll get dropped into the debugger when it invokes that 22:10:38 again, make sure it's recompiled with maximum debugging, v and try stepping through it to see where it goes astray 22:11:47 PuercoPop: ah, sorry, it's (trace CLIM-CLX::INITIALIZE-CLX :break t :methods t) I think, since it's a method 22:12:18 ok, I was tracing process name but I think your idea seems better 22:12:35 yeah, PROCESS-NAME is not where it actually happens 22:12:44 it's clearly messing up trying to open X display 22:13:17 mathrick: it says it is not a valid funtion name (I did put the :methods t) 22:14:05 really? What does it say isn't valid? 22:14:39 actually, that's not even where it happens 22:15:04 PuercoPop: (trace CLIM:FIND-FRAME-MANAGER :break t) 22:15:10 ericmathison [~ericmathi@174.47.7.78] has joined #lisp 22:15:13 that's where it first messes up I think 22:15:19 -!- stepnem [~stepnem@internet2.cznet.cz] has quit [Ping timeout: 272 seconds] 22:15:31 mathrick: ok It was my mistake of appending #' to the name 22:15:36 ah yes, don't do that 22:15:45 TRACE is a special form 22:18:21 ok, it breaks how do I step? It appears to be parsing it correctly on the initialize-clx call 22:18:28 ltbarcly [~textual@pool-71-116-67-9.snfcca.dsl-w.verizon.net] has joined #lisp 22:18:36 OPTIONS = (:HOST "tmp/launch-QIUM5S/org.macosforge.xquartz" :DISPLAY-ID 0 :SCREEN-ID 0 ...) 22:18:56 -!- benny [~user@i577A8CB9.versanet.de] has quit [Remote host closed the connection] 22:19:15 benny [~user@i577A8CB9.versanet.de] has joined #lisp 22:22:55 -!- ltbarcly [~textual@pool-71-116-67-9.snfcca.dsl-w.verizon.net] has quit [Ping timeout: 245 seconds] 22:22:56 PuercoPop: :host is already wrong since the filename includes :0 you said 22:23:05 CrazyEddy [~inchoatio@wrongplanet/CrazyEddy] has joined #lisp 22:23:17 PuercoPop: you step with s and n, but it has to be recompiled with max debugging before it works correctly 22:23:27 seg [~seg@fsf/member/seg] has joined #lisp 22:23:38 so you'll need to restart it after you recompile it 22:24:19 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Quit: mrSpec] 22:24:52 I think it's just not prepared for a socket file in $DISPLAY 22:26:07 -!- Devi777 [~Devi777@c-8f3ae353.024-10-73746f12.cust.bredbandsbolaget.se] has quit [Remote host closed the connection] 22:27:02 -!- jtza8 [~jtza8@105-236-65-220.access.mtnbusiness.co.za] has quit [Remote host closed the connection] 22:27:10 didi [~user@unaffiliated/didi/x-1022147] has joined #lisp 22:27:39 when you say restart you mean like restart-inferior-lisp? I did the C-u C-C-C-C, the forms that I did that now look green 22:28:06 how do I change the value of the variable? 22:28:11 PuercoPop: no, I mean just rerun to make it trace again 22:28:24 you have to keep the image or else it will lose the recompiled definitions 22:28:45 Jubb [~Jubb@pool-71-178-197-128.washdc.fios.verizon.net] has joined #lisp 22:28:54 danlentz [~danlentz@c-68-37-70-235.hsd1.nj.comcast.net] has joined #lisp 22:29:01 DataLinkDroid [~DataLinkD@120.153.15.47] has joined #lisp 22:29:01 PuercoPop: cursor on the frame, e (eval in lexical environment), then (setf whatever ...) 22:29:09 -!- foreignFunction [~niksaak@ip-4761.sunline.net.ua] has quit [Ping timeout: 272 seconds] 22:29:46 JPeterson [~JPeterson@81-233-152-121-no83.tbcn.telia.com] has joined #lisp 22:30:17 foreignFunction [~niksaak@ip-4761.sunline.net.ua] has joined #lisp 22:31:32 -!- [1]JPeterson [~JPeterson@81-233-152-121-no83.tbcn.telia.com] has quit [Ping timeout: 260 seconds] 22:32:45 breakds [~breakds@c-24-0-146-43.hsd1.nj.comcast.net] has joined #lisp 22:32:57 -!- _anna [~wde@79.103.146.153.dsl.dyn.forthnet.gr] has quit [Ping timeout: 272 seconds] 22:33:22 -!- m7w [~chatzilla@178.172.214.126] has quit [Ping timeout: 265 seconds] 22:35:42 and after that I just retry? 22:36:08 depends on what you just changed, but probably not 22:36:16 either step further, or continue (c) 22:36:52 PuercoPop: if it's any consolation, it's exceedingly easy to make it break into debugger even on linux, where it technically works :) 22:37:21 especially since it's been last worked on 3 years ago or so, and most of SWANK no longer matches its idea 22:39:41 ah so you want to to change the value before the error 22:39:41 -!- cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has quit [Read error: Connection reset by peer] 22:40:06 cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has joined #lisp 22:40:26 yeah, once it errors you're toast, you cannot tell it to continue 22:41:45 -!- seg [~seg@fsf/member/seg] has quit [Read error: Connection reset by peer] 22:42:02 seg [~seg@fsf/member/seg] has joined #lisp 22:42:10 Btw thanks for walking me through this slime functionality 22:42:22 you're welcome, it's not exactly discoverable 22:42:35 -!- ehu [~ehu@ip167-22-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 248 seconds] 22:44:27 desophos [~desophos@n163h87.dhcp.oxy.edu] has joined #lisp 22:49:52 -!- sellout- [~Adium@c-98-245-81-139.hsd1.co.comcast.net] has quit [Ping timeout: 240 seconds] 22:49:52 -!- cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has quit [Read error: Connection reset by peer] 22:50:23 cmm [~cmm@bzq-79-180-126-11.red.bezeqint.net] has joined #lisp 22:50:57 -!- lduros [~user@fsf/member/lduros] has quit [Read error: Connection reset by peer] 22:51:59 sellout- [~Adium@97-118-121-18.hlrn.qwest.net] has joined #lisp 22:54:23 aja apparently the poriblem is in protocol, for some reason it is bound to :|| 22:54:44 and according to documenttion it expects :tcp :DNA :CHAOS 22:55:35 milosn_ [~milosn@user-5af50d46.broadband.tesco.net] has joined #lisp 22:57:30 -!- milosn [~milosn@user-5af50904.broadband.tesco.net] has quit [Ping timeout: 245 seconds] 22:58:01 -!- yroeht [~yroeht@horgix.fr] has quit [Ping timeout: 272 seconds] 22:58:05 PuercoPop: that's because it cannot match the protocol (hence :||, aka zero-length symbol). It'd need to support :UNIX 22:58:36 so I guess you're not getting it to run immediately on OSX 23:00:50 -!- seg [~seg@fsf/member/seg] has quit [Ping timeout: 245 seconds] 23:02:36 I've been wanting to install linux of this laptop but have been procrastinating on getting an external harddrive to save my data. Going to try with protocol unix as a last ditch effort 23:03:05 btw this CLIM is a like a spec/API for a widget library that has different backends? 23:07:33 ok the exact function it fails is on get-host-by-name, with the file as argument. Anyway it was nice to learn more features of slime. Thanks a lot. 23:11:05 namccarty [~namccarty@74-131-94-214.dhcp.insightbb.com] has joined #lisp 23:12:55 btw this CLIM is a like a spec/API for a widget library that has different backends? <-- yeah 23:13:01 -!- namccarty [~namccarty@74-131-94-214.dhcp.insightbb.com] has left #lisp 23:13:39 seg [~seg@fsf/member/seg] has joined #lisp 23:15:27 So is there any advantage to tie it to CLX? Wwouldn't an OpenGL backend be the most portable? (Don't really know much about graphics, just curious) 23:18:50 -!- abunchofdollarsi [~abunchofd@l33t.csail.mit.edu] has quit [Quit: Leaving] 23:37:05 dbfffff [~dbfffff@adsl-ull-183-164.45-151.net24.it] has joined #lisp 23:37:58 sohail [~sohail@69-196-176-62.dsl.teksavvy.com] has joined #lisp 23:37:58 -!- sohail [~sohail@69-196-176-62.dsl.teksavvy.com] has quit [Changing host] 23:37:58 sohail [~sohail@unaffiliated/sohail] has joined #lisp 23:39:00 haz1 [~haz@94.10.218.126] has joined #lisp 23:42:03 dmiles_afk [~dmiles@c-98-246-180-47.hsd1.or.comcast.net] has joined #lisp 23:42:49 -!- seg [~seg@fsf/member/seg] has quit [Read error: Operation timed out] 23:48:45 you want to use opengl for the windowing system? 23:49:04 eli [~eli@racket/eli] has joined #lisp 23:50:35 IIUC OpenGL is for graphics. So you still need to handle input. 23:51:00 Yes. You use something else for the input, e.g. SDL, when you rite an app with OpenGL. 23:53:50 more to the point, i mean, opengl needs to be hooked to something that gets it a window and so on, and that something is... a windowing system. 23:54:14 -!- ericmathison [~ericmathi@174.47.7.78] has quit [Ping timeout: 240 seconds] 23:54:52 Not necessarily. 23:55:02 What if it's run in fullscreen mode or something? 23:55:04 Bike: you are right, I hadn't considered other parts of the API that CLX provides. It just that X support in Mac OSX sucks. I got cffi-gtk+3 working earlier this week and when I took a screenshot I discovered there is a bug that takes away focus of the application, permanently and it was not specific to gtk+ 23:55:29 aeth: then you tell the windowing system that you want to run in full screen. 23:56:13 opengl and windowing systems do totally different things. 23:56:24 PuercoPop: what's gtk have to do with clim? 23:56:31 Bike: Really? I know way back in MS-DOS days you could have an application (let's call it "Wolfenstein 3D") and this "Wolfenstein 3D" can be launched from the console and then load up the beautiful graphics. 23:56:47 DOS doesn't have a windowing system. 23:56:49 Perhaps Unix/Linux behave differently. 23:58:41 ZaFrost [~varren@95-26-16-185.broadband.corbina.ru] has joined #lisp 23:59:14 Bike: Nothing, I was just talking about support Mac OSX through X 23:59:34 oh. yeah, i think it's not so good. 23:59:45 i think there's a clim backend to mac's thing but it's probably ancient like the rest of it 23:59:52 -!- boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has quit [Remote host closed the connection]